From nobody Mon Mar 23 00:24:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffDSZ2Zp7z6WJXb for ; Mon, 23 Mar 2026 00:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffDSY6Kl0z3tTX for ; Mon, 23 Mar 2026 00:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774225469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Id/pLZAwxr7WpnR39bHC8KINrbK/UkiBK6nMYXl3eU8=; b=gpLX7wCR+36lhW3x4HYkLdd7XCuxk7PU4KHBr3l8gdKjHDN2nIJdGkRDDtAXCCHrI7WBMs RPPvPMlvkYwCVM8NFmN0y4GnoDY5MDLm2Da7kiU3sUPsNdUD+/J7mJv31H6nqIRj5U/71J Iw3vic+5Qo/I8a7AGE+aIofnnnOkIhGZXIS5GAsXgvIY/L9U6xgg15PID0VJOMHOtKnSIs QyxM51fVt2G6E3fUy1qScl4KW0U8vv/Eb8sU1aLBL4FQL61iunxg+jjeuFv4zfLqlW0E79 ZOZLq1nCg8ivsrhHcEcqwck0xcx3sFR+MvDr+Lce9zE3yZU//zI8VJ7ikZgzag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774225469; a=rsa-sha256; cv=none; b=YaVXu0RHdLC6VZejyDdB3auOBJ1Q1mveybnV/6C/a0D7LMOgGtA3J5t+RZU+ICNEXZWmvN Zwf1xPNGDNUq83a+bJI9CepWxgbIzXT/KbQieKH74W9J7TfH4+l8C9jHntHxR2qnU00zjE 8ephysaIdTIsLCHD1emqWaWkr+n1GB9ECxWXuBvsvJhm42lIFOJvDhNwOBUU6MPRX6+ABg VrAUesy1LgNrMv+bnxRqWb8ttrMT+vIq6fOl6/cAqFy670hUErs2Zi59EeofRWGEt9/rca Gs5XGvZatyd71ruser4kR2ZKQpSN187vq/0GQkvBUQYJVSubzFVqiiUhW8e83Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774225469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Id/pLZAwxr7WpnR39bHC8KINrbK/UkiBK6nMYXl3eU8=; b=u2uxYQJianWCgOBCfZKHE7ZTspliAUdlRKkCU6HSft/D6XIC0XwwgRZZM08fYAnd62pBeE AYNDu11CsMA4byozFbvAyefRpiA+dQBK4tMJz2KxaKkozHDgzwTm3Mv92sBPtg6fGuNNWO EvvSX9O1y50fMyj/EkgXUVX+1rbzOHiIDYyXf12yQP6TKJ4ocNGWnLYIV6coKBQPW9/qzj ydRhdAGVGgz+PegPzjyjY0uLxboHYcRQ9xhdDaw6e6Rzf4OK1AaWPicGG/j0DGAmjiyH64 OusZvxSx07fMt/TxlUB4nm+Nv+tINq9lGkTGVWslxaxNMeo2+jzBgB+kwtGu/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 4ffDSY4BHnz890 for ; Mon, 23 Mar 2026 00:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ef4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 00:24:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f0d5f46a1e42 - main - mlx5: postpone freeing the completed command entity to taskqueue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0d5f46a1e42b801d96447e544cc3820612748b1 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 00:24:24 +0000 Message-Id: <69c08838.39ef4.24865d44@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f0d5f46a1e42b801d96447e544cc3820612748b1 commit f0d5f46a1e42b801d96447e544cc3820612748b1 Author: Konstantin Belousov AuthorDate: 2026-03-10 07:32:00 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-23 00:23:53 +0000 mlx5: postpone freeing the completed command entity to taskqueue because cancel_delayed_work_sync() might need to sleep, which cannot be done in the interrupt thread where the completion runs. Sponsored by: Nvidia networking MFC after: 1 week --- sys/dev/mlx5/driver.h | 1 + sys/dev/mlx5/mlx5_core/mlx5_cmd.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/driver.h b/sys/dev/mlx5/driver.h index cdefe7e013f6..ba6714c5c7b6 100644 --- a/sys/dev/mlx5/driver.h +++ b/sys/dev/mlx5/driver.h @@ -890,6 +890,7 @@ struct mlx5_cmd_work_ent { u16 op; u8 busy; bool polling; + struct work_struct freew; }; struct mlx5_pas { diff --git a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c index 86c721a83cb7..e314a04c294f 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c @@ -802,6 +802,15 @@ static void cb_timeout_handler(struct work_struct *work) mlx5_cmd_comp_handler(dev, 1UL << ent->idx, MLX5_CMD_MODE_EVENTS); } +static void +cmd_free_work(struct work_struct *work) +{ + struct mlx5_cmd_work_ent *ent = container_of(work, + struct mlx5_cmd_work_ent, freew); + + free_cmd(ent); +} + static void complete_command(struct mlx5_cmd_work_ent *ent) { struct mlx5_cmd *cmd = ent->cmd; @@ -856,7 +865,8 @@ static void complete_command(struct mlx5_cmd_work_ent *ent) free_msg(dev, ent->in); err = err ? err : ent->status; - free_cmd(ent); + INIT_WORK(&ent->freew, cmd_free_work); + schedule_work(&ent->freew); callback(err, context); } else { complete(&ent->done); From nobody Mon Mar 23 05:31:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffMGb5mgpz6Wcbq for ; Mon, 23 Mar 2026 05:31: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffMGb2JG7z3Ppv for ; Mon, 23 Mar 2026 05:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774243879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/bTw5rezKIWXzn1fVr8zJ3A0OcwNGcvj8syt0db+vQ=; b=mlIDf40XJiyzgRQuORom3HqTqpu9fDI1Ku3C5pa1rPQEUlgqB8zC7Vt+mj7z+0FspH+EMq XFo7fMyks97X1PTo5RwfUEkI/JpafFMrxoT4waXW8yLyGS3vrfYdjBlJeKpHDEOGFCZPgJ quYOvPn/7ubO0xLgeFUw5QwQZ+LNMM8/HfTPOXfGX9Q8eeLTwEAoPf5leF4BkuvMupRAHg hSr5ob/JfzzZlpc85WWp5rw2Ocl/VGfR60OtuC6MbQ7w6KDYdES/v/aIu7IDFAZhmfOneO vDMkXX6H7TG5wwQO7AluCYYlIZwivbaXK6qeyG/kwEkeY309Hxu5YtaGjde1fA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774243879; a=rsa-sha256; cv=none; b=uNLuao7g9pox+2yb7TCt3qtwcKrsrH2F0diWzm5LyE/IO3J6m9eyP9ICVZgVrefq75EYqB z/hslf8MrMBVUU8Mp1Zi5A5X0AZXtz3HJ3KPbhjZy/tZXLcbzSj1joISKNjrm8vg0N57Tl RhyrRCEHLc3wH3C0CBs9ylLxqFVCI+Fh12PAgEG7C65/iB647BQXIfuwI0QZrFbH6rJLMu Kyx48IRqcE4swrz10ksv38wIx6wBi9K47SDiHQ5QADZblzW4e7HO5tKyBIRWUBGn4/8MYk OzXyeXIv9CdyXounBq6nBYl1TmjrP+RCgzA+eXH/YporcYE5tJgnGa4uVbvumQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774243879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/bTw5rezKIWXzn1fVr8zJ3A0OcwNGcvj8syt0db+vQ=; b=yoYO2CN/KmCkOhuOwwV+VuFreaFrhdAXpjEDPAykAoWTZ9ALQJaW+WCV+PceLwAWuYkJZD 8P9Ow7zjvsuL0zctUr3RIBE87U4w3fOODfw5p754FYqb64MdvxwcouvFaKlZYVDLyM+cHA EqqScYImdpGNiCeFwAJtTA4UYybTCEDHU42VGe1fKOamlLpbs5TOwx1eJFPlV5oLob6cgH QtvXGJF0V8I/PrdBmDcU/uhv2ZrbCRu/z7/85C1Y+UVbyHkeZrNaW43N4STMuCf3lya8+V Q3bX7aDu3TLDaEkctr//PfxvkV941q1K/0DyJQ4vCRMDoDC3629Qk8CxPR1/ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffMGb1kCXzZYy for ; Mon, 23 Mar 2026 05:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32f93 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 05:31:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: e23f0deceac4 - main - mdo.1: Cross-reference with security.7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e23f0deceac4fb77c14066d4a76074548ee75fc4 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 05:31:14 +0000 Message-Id: <69c0d022.32f93.29a27980@gitrepo.freebsd.org> The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=e23f0deceac4fb77c14066d4a76074548ee75fc4 commit e23f0deceac4fb77c14066d4a76074548ee75fc4 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-03-22 07:31:44 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-03-23 05:30:21 +0000 mdo.1: Cross-reference with security.7 MFC after: 3 days Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D56024 --- share/man/man7/security.7 | 3 ++- usr.bin/mdo/mdo.1 | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index 0685da5db437..4cbe4b3090b8 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 1, 2024 +.Dd March 22, 2026 .Dt SECURITY 7 .Os .Sh NAME @@ -1099,6 +1099,7 @@ Enables mapping of simultaneously writable and executable pages for .Xr chflags 1 , .Xr find 1 , .Xr md5 1 , +.Xr mdo 1 , .Xr netstat 1 , .Xr openssl 1 , .Xr proccontrol 1 , diff --git a/usr.bin/mdo/mdo.1 b/usr.bin/mdo/mdo.1 index 1de694c69e40..c1a0295535df 100644 --- a/usr.bin/mdo/mdo.1 +++ b/usr.bin/mdo/mdo.1 @@ -9,7 +9,7 @@ .\" at Kumacom SARL under sponsorship from the FreeBSD .\" Foundation. .\" -.Dd November 26, 2025 +.Dd March 22, 2026 .Dt MDO 1 .Os .Sh NAME @@ -232,7 +232,8 @@ mdo -k --euid root --svuid root id .Sh SEE ALSO .Xr su 1 , .Xr setcred 2 , -.Xr mac_do 4 +.Xr mac_do 4 , +.Xr security 7 .Sh HISTORY The .Nm From nobody Mon Mar 23 06:42:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffNrz28wjz6Whrx for ; Mon, 23 Mar 2026 06:42:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffNrz12Qbz3Vvt for ; Mon, 23 Mar 2026 06:42:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774248163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUBrt4659aQx2XVPfBa0fPS2Io2Cx2sDfVkG0BGqByw=; b=c4e753HJJV7iPfqZUm1OLCyr/FpC+eDZKWH/uuSp8hPU/+OBJqj/DFL3HWz17OlvJ4WOoa 24OynJrG4/vh6eKP0G27nYAun24IddsFEoxELTal7v+cwkq5aqqEOsq2puPX50f2jDwxce HQR47q4f1CMVXOGG6IHJC77uTKO4y+Q0nXKXpLOg9MrHLzTLlrvpgVgh50pjiA+yHtQ/g+ RazXuFpoJkG0QU7koO7t5X84zB+s5aeoALsfnRizz+6fmpITdEfecKNJR8VbdpFRB2XYqf grFyhNHdNZonh8lnFfJS3ZIxKoZRzZDnbbIwb/JAH0cDH1CR57hEaNjEwJOaxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774248163; a=rsa-sha256; cv=none; b=a3dAi5pE1h5Zssn0NmlOp4tvA1jXhZprYFqZTLyQrJzZSw5WQNk0AEG+TH3I+ZC+Rf7GGF uMxC+Jv3fnrHxuhTOcbFNN0HYXSb3xD4M1hzeCePSjpAz77+o6UYtQpHOijZ5UCkyhzQDF 9vy0NkefqdCyik3vNFLsotuNE6oh99svsLVU0a86C90EyTD/wVho2fRhsupVXfdYrPjtoQ JSkf6OpxxYauuJKIlVQB5Su8hyqGQvSwJzqHX05IByjOIWqpD+ArOfyZrCH91/3Ok1KD3C 3Good/Qon7n9RocHgyb81NBlD1qVTrODFXQz8F6OgIyxDq3Ht1Ld9ggrBXwU0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774248163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUBrt4659aQx2XVPfBa0fPS2Io2Cx2sDfVkG0BGqByw=; b=kFHzB48eFYNMAjY+D4ZsZVOw71p9wkPF67qltOKiUq2yocg5omSY/VmYYeIbrYAZsNJmex TpvytMPKuK5PfkAEQ9NCJjUI4mdpUhyXN/Uz+pcQwpU0eMQexcMTTWhrKjKL8wnB0Q3SQr DQvxa7fQJxnE+R6GxLEXRKtNKld/94VVnSlmIpX+RJsJsX4WWg2vS8/XVuffIislwT5SJ9 lp1AoY/znmH4O4C7k65wSs82mvaj9cnZlTIZl4TLFCOCX59M/u5vVVDjfxwjbRbpUYSvjM NgxMZHZD9zNEQHOKbMv1fW/Gs2+hopDvYxKt6W+iHoDin1gJ++Kir74XCNxBhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffNrz0VxXzcG4 for ; Mon, 23 Mar 2026 06:42:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38bf9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 06:42:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 8d99314a044c - main - mtree: Add missing entries List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d99314a044cfb58183087894592c3ec5be99be6 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 06:42:43 +0000 Message-Id: <69c0e0e3.38bf9.3506b43c@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8d99314a044cfb58183087894592c3ec5be99be6 commit 8d99314a044cfb58183087894592c3ec5be99be6 Author: Jose Luis Duran AuthorDate: 2026-03-23 06:41:59 +0000 Commit: Jose Luis Duran CommitDate: 2026-03-23 06:41:59 +0000 mtree: Add missing entries Add missing mtree directory entries. Without them, the resulting worldstage METALOG file would produce an invalid (incomplete) mtree specification file. Reviewed by: ivy Differential Revision: https://reviews.freebsd.org/D56013 --- etc/mtree/BSD.debug.dist | 8 ++++++++ etc/mtree/BSD.tests.dist | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index 5eabea923cbd..8c333be48201 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -49,6 +49,12 @@ .. krb5 plugins + kdb + .. + preauth + .. + tls + .. .. .. libxo @@ -57,6 +63,8 @@ .. ossl-modules .. + virtual_oss + .. .. libexec bsdinstall diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index bb1e40e69ba0..884a5aba18f1 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -85,6 +85,8 @@ cddl lib .. + oclo + .. sbin .. usr.bin @@ -461,6 +463,8 @@ .. libutil .. + libutil++ + .. libxo .. msun From nobody Mon Mar 23 10:52:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffVRH0hNhz6Vpsd; Mon, 23 Mar 2026 10:54:19 +0000 (UTC) (envelope-from Sarah.Walker2@arm.com) Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffVRF6LVdz3Wwg; Mon, 23 Mar 2026 10:54:17 +0000 (UTC) (envelope-from Sarah.Walker2@arm.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=arm.com header.s=selector1 header.b=AKIK48VX; dkim=pass header.d=arm.com header.s=selector1 header.b=AKIK48VX; dmarc=pass (policy=none) header.from=arm.com; arc=pass ("microsoft.com:s=arcselector10001:i=2"); spf=pass (mx1.freebsd.org: domain of Sarah.Walker2@arm.com designates 2a01:111:f403:c201::6 as permitted sender) smtp.mailfrom=Sarah.Walker2@arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=SFCgU/9x+EWs5a8aarHyX+ClyQvPt8Lp7cYxGtcpIO1UcBsxmL3G09YfeSeQX8lMGxItbllCNMksuR+Av8fhA90tNJvTcbt+/IWd1TvFc9FVaZkyGWA7+mJ769QCo3pIHh1EtSMQPKxMqNMjF+t/jEkT4byEQBFLkV1wD9dzS1iupdO//uakunuSWqZ4ji8BRhjmvqsMd8rk2IINUhzLqViSf1C3tRWqS/aHLKbcTxpuIu4u7L7FFkQnO0ZCxThGeuwCUQ9rZxSEGYLBM/HY8YFd7DX39sqL11R4Z3CFmdrAM8lC9zhcbmNQquxD9We/WOhUYYmlzqzbWNz72h23PA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oLPmOVxIpyhZl3wt436KyfBBEUMjydzw4UvQQHgUJwI=; b=t3VtsCPyQkg1HdfDxmd6xJrLzRpVeMGls1fo9cJiVGdu3+TT9/O0CWNexwL7DJd9GViRun02L6k9nK9oT3wtM7I+PXyqRj3mYbOTm6CgoY24d3uzCif70QpDagy195G9PMta9CNE8wQynx1v2Y9hEiIYZWRML01JYsGWf6aZHjouzbJ4WobcxKu79/MRdDGJljqykS/ih3TSRtKgvFuZe2BknT7kvQfBYf9K4Zclxvb9R2ys2bZ74ozKSbprfS5RHU+HlYpP/PfqKqdiNw7bOzQqpvD6QHAT276HWBijXnwryB0BP0xIOcrhaZGAtWOc4DwrVOjg84r8pygVj87yLQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=freebsd.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oLPmOVxIpyhZl3wt436KyfBBEUMjydzw4UvQQHgUJwI=; b=AKIK48VXQJxSqgKKwoOtxscUmB+59dH+aNf5vbfzgEUFRpN/SEe7+hOUbH5DR0oxpDjBjo8iOhRFsQsLvt0rKGG+h/sARge2sU3ELvk3LPyZOnhPqHY0mia1rE2tMuA85Am4s1tI9bsjSN/D53jrQqDxGGYah4uoJNPm7nrSCw8= Received: from DB8PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:10:110::13) by DU5PR08MB10756.eurprd08.prod.outlook.com (2603:10a6:10:51e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 10:54:05 +0000 Received: from DU2PEPF0001E9C1.eurprd03.prod.outlook.com (2603:10a6:10:110:cafe::fd) by DB8PR04CA0003.outlook.office365.com (2603:10a6:10:110::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Mon, 23 Mar 2026 10:54:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DU2PEPF0001E9C1.mail.protection.outlook.com (10.167.8.70) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Mon, 23 Mar 2026 10:54:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CQfKFBScPuJr8+xPg/QVNn4CaKnbHd0N7WqS6itEjrrkuJD6oxyfrPKj8sGYHql2PeiKJcHZoIkQf6aREjteAz5f2KLCUb8pVeUfGm20wsVZImIPG7D7mKg/8ExZDAmpHpp88PUFORbVYgBwOiP5yeuPPetRAzTk+sqHNkYaIMHcNOBa8+hKVTI4jh3hwGgVQdkNz3UgyAnOsWOptiwMnj6WM0VwjGKENqJrU6G0GSRwOP4X6BarA29ssZKxvhjnpLnHrSc7F2kQpFF5Q0SaBb291O4VU29yywlPH4gd4Ew+GMNuq+LPW1eiSR6vUSla60UaK9nZj3b8wduHuwL8BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oLPmOVxIpyhZl3wt436KyfBBEUMjydzw4UvQQHgUJwI=; b=iX/LicDfo6m7Ts3rde8OWA4cL5QcZI1rbuDKYWtgToaw+pYexn8wS9YsBow69p1bGTtOXK5ImGSm1E3mKXhAGcDtG6jKVnsCgRDL0G57oSLoFAaCSb6aQkvSRSngbqVXGy+V6QOVodt6v7lhzoF2D8SDFTF39ty2ZrC35ai5qnPPGI//iC0zJazB6xdGGK6dAIZ7QVIQU9SJs/5CRk5pFD80Mn9DPIGqbbrd8TOf0CPeLbAyC48DpeUpGvWPl2xHTCfCBsfOBz786ONqNEl7zYbKr9aoQHXxetBJbzK61p17fltfqfbkv2ZEHJbDkE+wwsCaGdqcKNr2QjdvaXaXjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oLPmOVxIpyhZl3wt436KyfBBEUMjydzw4UvQQHgUJwI=; b=AKIK48VXQJxSqgKKwoOtxscUmB+59dH+aNf5vbfzgEUFRpN/SEe7+hOUbH5DR0oxpDjBjo8iOhRFsQsLvt0rKGG+h/sARge2sU3ELvk3LPyZOnhPqHY0mia1rE2tMuA85Am4s1tI9bsjSN/D53jrQqDxGGYah4uoJNPm7nrSCw8= Received: from AS1PR08MB7636.eurprd08.prod.outlook.com (2603:10a6:20b:478::11) by GV1PR08MB7683.eurprd08.prod.outlook.com (2603:10a6:150:62::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 10:52:58 +0000 Received: from AS1PR08MB7636.eurprd08.prod.outlook.com ([fe80::358d:e4bf:8a24:ee12]) by AS1PR08MB7636.eurprd08.prod.outlook.com ([fe80::358d:e4bf:8a24:ee12%6]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 10:52:58 +0000 From: Sarah Walker To: Jessica Clarke , Andrew Turner CC: "src-committers@FreeBSD.org" , "dev-commits-src-all@FreeBSD.org" , "dev-commits-src-main@FreeBSD.org" Subject: Re: git: 1d13d938fe6c - main - virtio: Ensure power-of-two alignment for indirect queue Thread-Topic: git: 1d13d938fe6c - main - virtio: Ensure power-of-two alignment for indirect queue Thread-Index: AQHctgCWZSVMo+x3+kO0T1bDvMdTdrWymCkAgATKTQCABJd6Gg== Date: Mon, 23 Mar 2026 10:52:58 +0000 Message-ID: References: <69b939d7.26113.1aca36de@gitrepo.freebsd.org> <8F587FE2-CF54-4605-9CD6-581FC1D98D34@freebsd.org> <52B83EF2-4427-44ED-8486-B513189DA4AA@freebsd.org> In-Reply-To: <52B83EF2-4427-44ED-8486-B513189DA4AA@freebsd.org> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS1PR08MB7636:EE_|GV1PR08MB7683:EE_|DU2PEPF0001E9C1:EE_|DU5PR08MB10756:EE_ X-MS-Office365-Filtering-Correlation-Id: 94888da7-eae1-4298-071b-08de88ca8016 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info-Original: r4x8mXMw/l7yLHWNm5vyu/zIlJj9EZfV8yImI4NUHorwH9KjbD9QK6f7+eu5DebNhVBxikFvkvHMWWqEKloxDDTNTi8KmBnOas0QR6lrABw3hAH5Saaw8DddRUrFg1xGqZjtQ1+tBW3iLVebyd56w1FH6To3AbFR+FfcOMwNG+rU58NpLWeIziMCh4q6XLJp1VozNXtiCe7xluMMm0ZMlRCuTXXs9Ds/jHbDz5ZfP04kccGzaqTMYaJCFgwieJWD4bv/INyrLD817OfZC2O0cd4AkxhwipI06D0Di/njWe5elVmuFnYJofqCkRlEKNSoxJ5ov8ojpelb1AmYIE4DTIUoI2wBvRo9kTTk0U6CfsGAgRT4T88m0Sri/NU5N9RmwyiKDP9Iso4A7uQ1AuxvGkn5CiAtvH1T0sJnHpZnFUGkvAxud+3cM2cyv3jXK9UZERKziIQTFJHXDArbD4ugC90uNPqkS5Y+aT9PcpTnFse1XPoOlmzdSrxvWWG9wEEbqCjpy4aW7gjkCJJoXTf88xZ4J8Qgd2vGL1zUuLCJm4FNv/Qv9FBIGGkCSsGixx5SmszCvNCPKz1IX1q0+6UJbJmGR4YlA8vgTDZ4qwcpJixvpvKHcC+xC0wxSxVkPiu5YqSkIctPf/64eM/u0YozB1i/J6zcJEVKh/K+ORbQDAtweeOXUHg6wFIuAsDMbAyy+QWTIaVcDAQ3qCriukVI/VdqyGihZ6Kj/pnQE9m1AQ1WdUpBzkoGtV9wnDPzd/P1nfL0oMnz4lxx0JiYWXDudnbl/EEs5bFPzB22f70YWzwG+oJibJ2380zIvD8e4yt7 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS1PR08MB7636.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: hew6nHoZg7+F2k9DIMeZ6EHLNioRg9Gxlr+kbglrnevGneXqa6r5XOJ4k0yvCRNnYWnmlVIwKW2cWXG+JuAMUuXJKG3w7xZDBQplKNHrnWPDZ97hpMBFQsj/jpFnCFtMEWvs4Ztxv7xHb93IL1VpIwKW/wpHHR7H8N4U1/acD3KgXVWgE0Buf74usX1cfcRnMU91z0uGOGjurdw67ow7iPS134iKNbbjzRyVm1mb32qZ8S+ROLY4z6KiHJfqVdU3JwYzEfsK/mzxuXvY1kfVDT14ESNIF9q3wKw27vYjgf+16umVGwk66kfCMBs4A2rkIrocDs7SwrScg9mL3gUcdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7683 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9C1.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3fad6f5f-023b-4605-e138-08de88ca5870 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|14060799003|36860700016|35042699022|13003099007|7053199007|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: ZWuXxsNVNNAiO38qofk7MVa/iYp8U2ZizcdOHRH75GWMTI4uUxQHTU60BQhrK1mEA+l0F6cRm/Kl20JYgjPG4aHGrsLrFhaAWu+19TnAdUz0cLMxQmxcpUfIeqqPtwzb7Mwg0lccFLfeL1nnz6yKC7rE1NLdA3KUOMZnukMEvCcXRIuTiRmdNOHCczq370mOn059NuEac+CkHSQnI8KVrHRqN3ERKFs8s/tKbkaLsfxZz2OHsi5Lwt+OW5fsGLfzQWSbh6g6qP1mQHCtR4vGA+Fv11jaC4mz7cx6VwtIlhTWjTa9Mvd9eYYNcOxyedi8oTUM7OS9Xo05WcVsTply71SKKMKnYnP9JclBKZH0K+3swVWN6HjPcSXrxWx4m0a2jhmIUDbAuiJBU9alMwyiGIrhdEqgA29mCvD+zhzzn4qWeCQ5jS88sg/K5PPeAIbrl/YlMSLCPKc/hx7V3xGkloiImpiNMvrvfu+lPq8JM8rQlhdQvwRwcDZwjHI6Vv1/P/op3LAfi2vAacwQ3fi4OKoAK9xmpQo+x6ZyB+3rwDjvoHGG/LfeB64Bm7ESN9kkliFS8wG8X4+pQi1KURh3GC6sOnF9wIxGsfRopcq/Yvm21hq9YwQup1E9gJaY1CUWYfnw2ju2zKe7pjob0hAKoniejFsD87OPZXYLbl29XKf+jA3krIXjYKk87u1FhCNA9VXwYW5YC4oJajAiQzS4Pr6BxlomwJ8c/ASfYnvDOkWhHnKXOaW5H7MM5B3WlIkQwJAKSs/GhIzKSgrk68zqhqIFOFqYnci4s5fItOaviLM= X-Forefront-Antispam-Report: CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(14060799003)(36860700016)(35042699022)(13003099007)(7053199007)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JXAdgnPOkTR87m7vWcF4GaVxc8lrcnrbZlqmwhpKEXAem5fpihQiW2Hp3yIpYt2MFfwn5IOX79ei39YRJ0GmhvfDF7yMNDuoZI6nImbWX3h22AM3xvz14AupHap0o8dld/QGFohZFR1Jjd6iNfaGKkYOTagNM+L4Sg9yEVref2ZnEMmiF3d0gkk8T0w/kw4oe3eiNWG+SdULGaHo7+6E85mNqW/qxbXnuyfKZs7gg0Bq/r2D8Ow2SRsUXwGdUuqkf7Tos3+xR1KgTdnWEPuEpGMrThnnCdlMUJH8TuJrJMJM+rR4VaTbsPgKuHi7q+JM/kEW5HINKoDXp1O0fRw0dNKF5efyXk4ciRhDaipHyzGHZh80tYjEFKmwfweB2lmuoFPW375YBNC1RL+p0eUTLFKzH5iGlB+Vr29YoTy+6sGMs7/PI7Nx8fdE4hipef/n X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2026 10:54:04.5872 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94888da7-eae1-4298-071b-08de88ca8016 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF0001E9C1.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10756 X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; DWL_DNSWL_LOW(-1.00)[arm.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector10001:i=2]; NEURAL_HAM_SHORT(-1.00)[-0.995]; DMARC_POLICY_ALLOW(-0.50)[arm.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f403:c000::/51]; R_DKIM_ALLOW(-0.20)[arm.com:s=selector1]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_FIVE(0.00)[5]; DKIM_TRACE(0.00)[arm.com:+] X-Rspamd-Queue-Id: 4ffVRF6LVdz3Wwg X-Spamd-Bar: ----- On 17 Mar 2026, at 11:34, Jessica Clarke wrote: > > On 17 Mar 2026, at 11:24, Andrew Turner wrote: >> >> The branch main has been updated by andrew: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D1d13d938fe6c7639d2bb4cb52= 48a1f81275b6891 >> >> commit 1d13d938fe6c7639d2bb4cb5248a1f81275b6891 >> Author: Sarah Walker >> AuthorDate: 2026-03-17 10:54:30 +0000 >> Commit: Andrew Turner >> CommitDate: 2026-03-17 10:56:27 +0000 >> >> virtio: Ensure power-of-two alignment for indirect queue >> >> Some platforms enforce power-of-two alignment for bus_dma tags. Roundi= ng up >> the natural size may result in over-alignment, but should be safe. >> >> PR: 293770 >> Reviewed by: andrew >> Fixes: c499ad6f997c ("virtio: Use bus_dma for ring and indire= ct buffer allocations") >> Sponsored by: Arm Ltd >> Differential Revision: https://reviews.freebsd.org/D55843 >> --- >> sys/dev/virtio/virtqueue.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c >> index b7fdb4703ccb..10b5179bd3d5 100644 >> --- a/sys/dev/virtio/virtqueue.c >> +++ b/sys/dev/virtio/virtqueue.c >> @@ -341,7 +341,7 @@ virtqueue_init_indirect(struct virtqueue *vq, int in= direct_size) >> align =3D size; > > Why is this the alignment in the first place? Pre-busdma it just used > malloc with no explicit alignment. Given: > > size =3D indirect_size * sizeof(struct vring_desc); > > can=92t this get quite large? Except VIRTIO_MAX_INDIRECT looks to be > rather stale, tied to the malloc rather than busdma world=85 Apologies, I was playing safe with the alignment. I've opened a review at h= ttps://reviews.freebsd.org/D56038 to change it to align to a single descrip= tor (16 bytes). Sarah IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you. From nobody Mon Mar 23 11:16:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffVwn2tWpz6VrG7 for ; Mon, 23 Mar 2026 11:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffVwn2NZwz3lyp for ; Mon, 23 Mar 2026 11:16:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774264585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zeV2R+7wg75zyv9RPzF8IQAgCDHdpWjeolYNuvcXDTg=; b=tO2wkiod0jqx4fZF4d3GAjF7tcc5aup9TsfbAXaLChtvtaErwz3Fj3xAKIoSECt1U9cNOF ib19L8A/Zo6yDCkYoHmsHTa7uZ3fwgyoKBzJtQdFIU6PpgrlH8T+6WjDdBi7jJVkqTVWif rbYANsQn9nIolWWCODkNhO7QDsGbMYxboOt6Kb4czCVhzZGwf2ncZBB31mmdvC6iwVo0FR RIwtgDaMLCpaCu+iWd6VeLRlNZpPtmcIP7Y4hvnBD9dF7PdwRXf4d6wC/1qJWmId6d132D MFKj8szDHJjLsSkqf4NJUqMEz2lv5NFjf2crUillZS03O+cCwwXVN2e4vqTp1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774264585; a=rsa-sha256; cv=none; b=g4YmZxOruTXH6CfAIP7Hl5gXjmiMubzv4I13ZodGF5FQlXoJH4R7zvAgBYRtz79qkWLUOT lQQhaHkVq8PpHp7T2CdueaoZU3f58oicLZZ1cIBe1a9HJLiho+XWU2Obp4qXQrxID2FWPB Z+lSCVMTuNbxM0ddrcQIT6Pu97lz4+kcRmUgbTAajvgL8NSlOUubkYztprf93LWVcNYIcZ 1VS6gh4L4OWkAbAwzMjqVqX7QHgBv3j+od1f+59rA+XLllHw/cR0PLpQjd2ANfw232OspY vlLCaBaNb93k3Zab/pvDmeYaAOsZNtSXCDmBRRwaxzocBwkt/jjqJYbFPaG4Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774264585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zeV2R+7wg75zyv9RPzF8IQAgCDHdpWjeolYNuvcXDTg=; b=SX5HNOdEMNaxEvK4+pjwm8uS5O53J+c19u4ki9YDDyAVzMcSfwCz8rW0LktAgwIs5Y3Rx1 VeZ1vOIvoFczz3lxJCRXPkfiVYesYxGoFZDIRL6dTSzOF0Aaupipk9cw1khy/Qz5ta297R ZKHnUNJ40NTaF0YNURKpR2cZR26zyaqA6WuJHhvUVJaYbTwd1PBnsZs3RCqBAoBTyWOBGs 20sEPeDCUZtKa0W0txSbPXv1wJLnl3t03sUEj/piKq2rH+D32xrQnndCSxE/2OGPykXkXZ Qqp8LvXUgATo/rl1UMVjyKV700RNlGxysireyRd+eVKaHtaUq725vn8gMrLQxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffVwn1vXDzlb0 for ; Mon, 23 Mar 2026 11:16:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 382de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 11:16:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 4f8a1b4dffa8 - main - stress2: Added syzkaller reproducers. Update the exclude file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f8a1b4dffa8a6fa5fbe7fce05278792afd83a82 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 11:16:25 +0000 Message-Id: <69c12109.382de.5ee99536@gitrepo.freebsd.org> The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=4f8a1b4dffa8a6fa5fbe7fce05278792afd83a82 commit 4f8a1b4dffa8a6fa5fbe7fce05278792afd83a82 Author: Peter Holm AuthorDate: 2026-03-23 11:15:29 +0000 Commit: Peter Holm CommitDate: 2026-03-23 11:15:29 +0000 stress2: Added syzkaller reproducers. Update the exclude file --- tools/test/stress2/misc/all.exclude | 13 +- tools/test/stress2/misc/syzkaller90.sh | 228 +++++++++++++++++ tools/test/stress2/misc/syzkaller91.sh | 217 ++++++++++++++++ tools/test/stress2/misc/syzkaller92.sh | 265 +++++++++++++++++++ tools/test/stress2/misc/syzkaller93.sh | 137 ++++++++++ tools/test/stress2/misc/syzkaller94.sh | 185 ++++++++++++++ tools/test/stress2/misc/syzkaller95.sh | 453 +++++++++++++++++++++++++++++++++ tools/test/stress2/misc/syzkaller96.sh | 162 ++++++++++++ tools/test/stress2/misc/syzkaller97.sh | 194 ++++++++++++++ tools/test/stress2/misc/syzkaller98.sh | 268 +++++++++++++++++++ tools/test/stress2/misc/syzkaller99.sh | 143 +++++++++++ 11 files changed, 2262 insertions(+), 3 deletions(-) diff --git a/tools/test/stress2/misc/all.exclude b/tools/test/stress2/misc/all.exclude index a802f7c21cb1..9ec5bffde0f6 100644 --- a/tools/test/stress2/misc/all.exclude +++ b/tools/test/stress2/misc/all.exclude @@ -22,6 +22,7 @@ gjournal3.sh panic: Bio not on queue 20171225 gjournal4.sh CAM stuck in vmwait 20180517 gnop10.sh Waiting for fix 20230319 gnop13.sh https://people.freebsd.org/~pho/stress/log/log0386.txt 20221113 +gnop3.sh CAM stuck in vmwait 20260219 gnop7.sh Waiting for patch commit 20190820 gnop8.sh Waiting for patch commit 20201214 gnop9.sh Waiting for patch commit 20201214 @@ -29,8 +30,6 @@ graid1_3.sh Hang seen 20250915 graid1_8.sh Known issue 20170909 graid1_9.sh panic: Bad effnlink 20180212 gunion.sh CAM stuk in vmwait 20251226 -ifconfig.sh https://people.freebsd.org/~pho/stress/log/log0626.txt 20251217 -ifconfig2.sh Hang in ifnet_de, vlan_sx and sbwait 20250114 lockf5.sh Spinning threads seen 20160718 maxvnodes2.sh https://people.freebsd.org/~pho/stress/log/log0083.txt 20210329 memguard.sh https://people.freebsd.org/~pho/stress/log/log0088.txt 20210402 @@ -71,10 +70,18 @@ syzkaller16.sh zonelimit issue 20210722 syzkaller28.sh panic: About to free ctl:0x... so:0x... and its in 1 20201120 syzkaller55.sh https://people.freebsd.org/~pho/stress/log/log0533.txt 20240702 syzkaller59.sh Page fault 20220625 +syzkaller68.sh Can not unload zfs.ko after this test 20260206 syzkaller80.sh panic 20250711 syzkaller82.sh panic: m_apply, length > size of mbuf chain 20250724 syzkaller85.sh panic: Assertion uio->uio_resid < 0 failed 20250928 -syzkaller89.sh panic: MNT_DEFERRED requires MNT_RECURSE | MNT_FORCE 20241224 +syzkaller90.sh panic: general protection fault 20260318 +syzkaller91.sh Kernel page fault with the following non-sleepable locks held 20260318 +syzkaller92.sh Kernel page fault with the following non-sleepable locks held 20260318 +syzkaller93.sh panic: _free(0): addr 0xfffff802f7e5a7b8 slab 0xfffffffffffffff 20260318 +syzkaller94.sh panic: ata_action: ccb 0xfffff80347e777b8, func_code 0x1 should 20260318 +syzkaller95.sh Kernel page fault with the following non-sleepable locks held 20260318 +syzkaller97.sh panic: cam_periph_ccbwait: proceeding with incomplete ccb 20260318 +syzkaller98.sh panic: dst_m 0xfffffe00130fd920 is not wired 20260318 quota3.sh https://people.freebsd.org/~pho/stress/log/log0604.txt 20250728 quota6.sh https://people.freebsd.org/~pho/stress/log/log0456.txt 20240707 truss3.sh WiP 20200915 diff --git a/tools/test/stress2/misc/syzkaller90.sh b/tools/test/stress2/misc/syzkaller90.sh new file mode 100755 index 000000000000..f7ff78ff5f65 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller90.sh @@ -0,0 +1,228 @@ +#!/bin/sh + +# cpuid = 4; apic id = 04 +# instruction pointer = 0x20:0xffffffff803a1e9c +# stack pointer = 0x28:0xfffffe0202e4c930 +# frame pointer = 0x28:0xfffffe0202e4c970 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, long 1, def32 0, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 90315 (repro20) +# rdi: fffff803157b7000 rsi: 0000000000000004 rdx: ffffffff81250a83 +# rcx: 0000000000000010 r8: 000000000000000e r9: 1627af6b9da6f5a7 +# rax: 0000000000000010 rbx: fffff803157b7000 rbp: fffffe0202e4c970 +# r10: fffff803157b70c8 r11: fffff807cf9bfcd0 r12: 0000000000000001 +# r13: fffff803157b7048 r14: fffff800035e0ac0 r15: 6e3642f32a3ae6f2 +# trap number = 9 +# panic: general protection fault +# cpuid = 4 +# time = 1773820163 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0202e4c6b0 +# vpanic() at vpanic+0x136/frame 0xfffffe0202e4c7e0 +# panic() at panic+0x43/frame 0xfffffe0202e4c840 +# trap_fatal() at trap_fatal+0x68/frame 0xfffffe0202e4c860 +# calltrap() at calltrap+0x8/frame 0xfffffe0202e4c860 +# --- trap 0x9, rip = 0xffffffff803a1e9c, rsp = 0xfffffe0202e4c930, rbp = 0xfffffe0202e4c970 --- +# xpt_action_default() at xpt_action_default+0x80c/frame 0xfffffe0202e4c970 +# cam_periph_runccb() at cam_periph_runccb+0xec/frame 0xfffffe0202e4cac0 +# passsendccb() at passsendccb+0x160/frame 0xfffffe0202e4cb30 +# passdoioctl() at passdoioctl+0x3a1/frame 0xfffffe0202e4cb80 +# passioctl() at passioctl+0x22/frame 0xfffffe0202e4cbc0 +# devfs_ioctl() at devfs_ioctl+0xd1/frame 0xfffffe0202e4cc10 +# VOP_IOCTL_APV() at VOP_IOCTL_APV+0x51/frame 0xfffffe0202e4cc40 +# vn_ioctl() at vn_ioctl+0x160/frame 0xfffffe0202e4ccb0 +# devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe0202e4ccd0 +# kern_ioctl() at kern_ioctl+0x2a1/frame 0xfffffe0202e4cd40 +# sys_ioctl() at sys_ioctl+0x12f/frame 0xfffffe0202e4ce00 +# amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe0202e4cf30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0202e4cf30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x823e9deca, rsp = 0x820edf228, rbp = 0x820edf250 --- +# KDB: enter: panic +# [ thread pid 90315 tid 851795 ] +# Stopped at kdb_enter+0x33: movq $0,0x15e9d32(%rip) +# db> x/s version +# version: FreeBSD 16.0-CURRENT #0 main-n284537-a8b9a05d3cad-dirty: Tue Mar 17 09:39:44 CET 2026 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +# Reproducer obtained from: Jiaming Zhang +# Bug 293888 - Fatal trap NUM: general protection fault while in kernel mode in cam_periph_runccb + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + // openat\$pass_pass_cdevsw arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 70 61 73 73 30 00} (length 0xb) + // } + // flags: open_flags = 0x2 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_pass_pass_cdevsw + memcpy((void*)0x200000000000, "/dev/pass0\000", 11); + res = syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, + /*file=*/0x200000000000ul, /*flags=O_RDWR*/ 2, /*mode=*/0); + if (res != -1) + r[0] = res; + // ioctl\$CAMIOCOMMAND_pass_cdevsw arguments: [ + // fd: fd_pass_pass_cdevsw (resource) + // cmd: const = 0xc4e01a02 (8 bytes) + // arg: ptr[inout, ccb\$pass_cdevsw] { + // union ccb\$pass_cdevsw { + // nvmeio: ccb_nvmeio\$pass_cdevsw { + // ccb_h: ccb_hdr\$pass_cdevsw { + // pinfo: cam_pinfo\$pass_cdevsw { + // priority: int32 = 0x8 (4 bytes) + // generation: int32 = 0x6 (4 bytes) + // index: int32 = 0xb406 (4 bytes) + // } + // pad = 0x0 (4 bytes) + // xpt_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0x100000000 (8 bytes) + // priority: int32 = 0x70 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // sim_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0x7 (8 bytes) + // priority: int32 = 0x81 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // periph_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0x8000000000000000 (8 bytes) + // priority: int32 = 0xffffffc0 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // retry_count: int16 = 0xa5f (2 bytes) + // alloc_flags: int16 = 0xb (2 bytes) + // pad = 0x0 (4 bytes) + // cbfcnp: intptr = 0x3ff (8 bytes) + // func_code: int32 = 0x10 (4 bytes) + // status: int32 = 0x3 (4 bytes) + // path: intptr = 0xe10 (8 bytes) + // path_id: int32 = 0x8 (4 bytes) + // target_id: int32 = 0x7fffffff (4 bytes) + // target_lun: int64 = 0x4 (8 bytes) + // flags: int32 = 0xe (4 bytes) + // xflags: int32 = 0x130d (4 bytes) + // periph_priv: buffer: {5c d8 48 b0 e1 42 d0 a6 b0 73 4f 56 fb 07 + // 08 b5} (length 0x10) sim_priv: buffer: {0f c0 f1 57 fc dc a5 76 + // 71 ad 9f 46 0c eb b2 fc} (length 0x10) qos: buffer: {7a 6f cd f8 + // b3 f0 65 53 2e 65 18 29 70 c1 63 f1} (length 0x10) timeout: + // int32 = 0x8000 (4 bytes) pad = 0x0 (4 bytes) softtimeout: + // timeval { + // sec: intptr = 0x6 (8 bytes) + // usec: intptr = 0x9 (8 bytes) + // } + // } + // payload: buffer: {ec d6 eb 0c 55 29 7e 1e f2 e6 3a 2a f3 42 36 6e + // a7 f5 a6 9d 6b af 27 16 0d 12 f7 c7 a6 d3 dc 8d 89 88 c3 75 c4 2c + // a8 fb 0a 90 70 3d c6 5a 63 b8 ac 32 e2 21 4b 36 13 0e 64 c1 86 b2 + // 38 66 cc bf 6d c9 86 33 8c eb a1 fa b5 dd 55 c8 76 04 6d c2 b8 20 + // 31 11 5f 24 8b f4 d7 00 7c 7a 4f 00 4e fd 2f 0f 57 bc c2 00 22 b1 + // 23 4f 4b 19 c7 9a 47 1e b0 ea 60 87 f3 88 71 9d d1 e4 dd 15 da bf + // 0d 03 34 d9 32 bf b5 80 9f 72 80 dc 37 b2 0e 79 d3 96 93 12 50 0c + // 77 0b d9 9d 0c 93 0c b2 c8 03 bc 75 14 5a c0 50 dc 3f d3 92 ee 07 + // b5 a9 f2 85 76 a7 36 8d 6f 71 fb 8a cb ee 8c 0c 77 8d 81 b0 02 38 + // 70 4a 3d c9 1a f5 4f 91 e6 a1 14 93 3e be a0 e8 7a 69 33 cc e4 d2 + // 8c 88 af c9 05 d4 74 b0 87 a3 34 3b 0c 9e d4 42 bd 8e 03 24 91 2c + // 94 1f 5b 88 7c 0c b2 07 af 68 43 d0 5b cb f9 b2 64 ce b6 c9} + // (length 0x100) + // } + // } + // } + // ] + *(uint32_t*)0x200000000140 = 8; + *(uint32_t*)0x200000000144 = 6; + *(uint32_t*)0x200000000148 = 0xb406; + *(uint64_t*)0x200000000150 = 0x100000000; + *(uint32_t*)0x200000000158 = 0x70; + *(uint64_t*)0x200000000160 = 7; + *(uint32_t*)0x200000000168 = 0x81; + *(uint64_t*)0x200000000170 = 0x8000000000000000; + *(uint32_t*)0x200000000178 = 0xffffffc0; + *(uint16_t*)0x200000000180 = 0xa5f; + *(uint16_t*)0x200000000182 = 0xb; + *(uint64_t*)0x200000000188 = 0x3ff; + *(uint32_t*)0x200000000190 = 0x10; + *(uint32_t*)0x200000000194 = 3; + *(uint64_t*)0x200000000198 = 0xe10; + *(uint32_t*)0x2000000001a0 = 8; + *(uint32_t*)0x2000000001a4 = 0x7fffffff; + *(uint64_t*)0x2000000001a8 = 4; + *(uint32_t*)0x2000000001b0 = 0xe; + *(uint32_t*)0x2000000001b4 = 0x130d; + memcpy((void*)0x2000000001b8, + "\x5c\xd8\x48\xb0\xe1\x42\xd0\xa6\xb0\x73\x4f\x56\xfb\x07\x08\xb5", + 16); + memcpy((void*)0x2000000001c8, + "\x0f\xc0\xf1\x57\xfc\xdc\xa5\x76\x71\xad\x9f\x46\x0c\xeb\xb2\xfc", + 16); + memcpy((void*)0x2000000001d8, + "\x7a\x6f\xcd\xf8\xb3\xf0\x65\x53\x2e\x65\x18\x29\x70\xc1\x63\xf1", + 16); + *(uint32_t*)0x2000000001e8 = 0x8000; + *(uint64_t*)0x2000000001f0 = 6; + *(uint64_t*)0x2000000001f8 = 9; + memcpy( + (void*)0x200000000200, + "\xec\xd6\xeb\x0c\x55\x29\x7e\x1e\xf2\xe6\x3a\x2a\xf3\x42\x36\x6e\xa7\xf5" + "\xa6\x9d\x6b\xaf\x27\x16\x0d\x12\xf7\xc7\xa6\xd3\xdc\x8d\x89\x88\xc3\x75" + "\xc4\x2c\xa8\xfb\x0a\x90\x70\x3d\xc6\x5a\x63\xb8\xac\x32\xe2\x21\x4b\x36" + "\x13\x0e\x64\xc1\x86\xb2\x38\x66\xcc\xbf\x6d\xc9\x86\x33\x8c\xeb\xa1\xfa" + "\xb5\xdd\x55\xc8\x76\x04\x6d\xc2\xb8\x20\x31\x11\x5f\x24\x8b\xf4\xd7\x00" + "\x7c\x7a\x4f\x00\x4e\xfd\x2f\x0f\x57\xbc\xc2\x00\x22\xb1\x23\x4f\x4b\x19" + "\xc7\x9a\x47\x1e\xb0\xea\x60\x87\xf3\x88\x71\x9d\xd1\xe4\xdd\x15\xda\xbf" + "\x0d\x03\x34\xd9\x32\xbf\xb5\x80\x9f\x72\x80\xdc\x37\xb2\x0e\x79\xd3\x96" + "\x93\x12\x50\x0c\x77\x0b\xd9\x9d\x0c\x93\x0c\xb2\xc8\x03\xbc\x75\x14\x5a" + "\xc0\x50\xdc\x3f\xd3\x92\xee\x07\xb5\xa9\xf2\x85\x76\xa7\x36\x8d\x6f\x71" + "\xfb\x8a\xcb\xee\x8c\x0c\x77\x8d\x81\xb0\x02\x38\x70\x4a\x3d\xc9\x1a\xf5" + "\x4f\x91\xe6\xa1\x14\x93\x3e\xbe\xa0\xe8\x7a\x69\x33\xcc\xe4\xd2\x8c\x88" + "\xaf\xc9\x05\xd4\x74\xb0\x87\xa3\x34\x3b\x0c\x9e\xd4\x42\xbd\x8e\x03\x24" + "\x91\x2c\x94\x1f\x5b\x88\x7c\x0c\xb2\x07\xaf\x68\x43\xd0\x5b\xcb\xf9\xb2" + "\x64\xce\xb6\xc9", + 256); + syscall(SYS_ioctl, /*fd=*/r[0], /*cmd=*/0xc4e01a02ul, + /*arg=*/0x200000000140ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c || exit 1 + +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core +exit 0 diff --git a/tools/test/stress2/misc/syzkaller91.sh b/tools/test/stress2/misc/syzkaller91.sh new file mode 100755 index 000000000000..7f11fe33a6ca --- /dev/null +++ b/tools/test/stress2/misc/syzkaller91.sh @@ -0,0 +1,217 @@ +#!/bin/sh + +# Kernel page fault with the following non-sleepable locks held: +# exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffff80006ad2cd0) locked @ cam/scsi/scsi_pass.c:1766 +# stack backtrace: +# #0 0xffffffff80c4787c at witness_debugger+0x6c +# #1 0xffffffff80c49189 at witness_warn+0x4c9 +# #2 0xffffffff81131d8c at trap_pfault+0x8c +# #3 0xffffffff811015a8 at calltrap+0x8 +# #4 0xffffffff8039de7c at cam_periph_runccb+0xec +# #5 0xffffffff803d9160 at passsendccb+0x160 +# #6 0xffffffff803d8821 at passdoioctl+0x3a1 +# #7 0xffffffff803d8102 at passioctl+0x22 +# #8 0xffffffff80a413b1 at devfs_ioctl+0xd1 +# #9 0xffffffff81204821 at VOP_IOCTL_APV+0x51 +# #10 0xffffffff80cf0890 at vn_ioctl+0x160 +# #11 0xffffffff80a41a7e at devfs_ioctl_f+0x1e +# #12 0xffffffff80c4e3c1 at kern_ioctl+0x2a1 +# #13 0xffffffff80c4e0bf at sys_ioctl+0x12f +# #14 0xffffffff811327d9 at amd64_syscall+0x169 +# #15 0xffffffff81101e9b at fast_syscall_common+0xf8 +# +# +# Fatal trap 12: page fault while in kernel mode +# cpuid = 9; apic id = 09 +# fault virtual address = 0x50 +# fault code = supervisor read data, page not present +# instruction pointer = 0x20:0xffffffff803a1e9c +# stack pointer = 0x28:0xfffffe01001f2930 +# frame pointer = 0x28:0xfffffe01001f2970 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, long 1, def32 0, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 3759 (syzkaller91) +# rdi: fffff80006ac0800 rsi: 0000000000000004 rdx: ffffffff81250a83 +# rcx: 0000000000000010 r8: 0000000000000008 r9: 0000000000000000 +# rax: 0000000000000010 rbx: fffff80006ac0800 rbp: fffffe01001f2970 +# r10: fffff80006ac08c8 r11: 0000000000000001 r12: 0000000000000001 +# r13: fffff80006ac0848 r14: fffff80006b9d2c0 r15: 0000000000000000 +# trap number = 12 +# panic: page fault +# cpuid = 9 +# time = 1773832077 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01001f2660 +# vpanic() at vpanic+0x136/frame 0xfffffe01001f2790 +# panic() at panic+0x43/frame 0xfffffe01001f27f0 +# trap_pfault() at trap_pfault+0x422/frame 0xfffffe01001f2860 +# calltrap() at calltrap+0x8/frame 0xfffffe01001f2860 +# --- trap 0xc, rip = 0xffffffff803a1e9c, rsp = 0xfffffe01001f2930, rbp = 0xfffffe01001f2970 --- +# xpt_action_default() at xpt_action_default+0x80c/frame 0xfffffe01001f2970 +# cam_periph_runccb() at cam_periph_runccb+0xec/frame 0xfffffe01001f2ac0 +# passsendccb() at passsendccb+0x160/frame 0xfffffe01001f2b30 +# passdoioctl() at passdoioctl+0x3a1/frame 0xfffffe01001f2b80 +# passioctl() at passioctl+0x22/frame 0xfffffe01001f2bc0 +# devfs_ioctl() at devfs_ioctl+0xd1/frame 0xfffffe01001f2c10 +# VOP_IOCTL_APV() at VOP_IOCTL_APV+0x51/frame 0xfffffe01001f2c40 +# vn_ioctl() at vn_ioctl+0x160/frame 0xfffffe01001f2cb0 +# devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe01001f2cd0 +# kern_ioctl() at kern_ioctl+0x2a1/frame 0xfffffe01001f2d40 +# sys_ioctl() at sys_ioctl+0x12f/frame 0xfffffe01001f2e00 +# amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe01001f2f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01001f2f30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x823e6feca, rsp = 0x820c6d558, rbp = 0x820c6d580 --- +# KDB: enter: panic +# [ thread pid 3759 tid 100348 ] +# Stopped at kdb_enter+0x33: movq $0,0x15e9d32(%rip) +# db> x/s version +# version: FreeBSD 16.0-CURRENT #0 main-n284537-a8b9a05d3cad-dirty: Tue Mar 17 09:39:44 CET 2026 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +# Reproducer obtained from: Jiaming Zhang +# [Bug 293890] Fatal trap NUM: page fault while in kernel mode in cam_periph_runccb + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + // openat\$pass_pass_cdevsw arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 70 61 73 73 30 00} (length 0xb) + // } + // flags: open_flags = 0x2 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_pass_pass_cdevsw + memcpy((void*)0x200000000100, "/dev/pass0\000", 11); + res = syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, + /*file=*/0x200000000100ul, /*flags=O_RDWR*/ 2, /*mode=*/0); + if (res != -1) + r[0] = res; + // ioctl\$CAMIOCOMMAND_pass_cdevsw arguments: [ + // fd: fd_pass_pass_cdevsw (resource) + // cmd: const = 0xc4e01a02 (8 bytes) + // arg: ptr[inout, ccb\$pass_cdevsw] { + // union ccb\$pass_cdevsw { + // ccb_h: ccb_hdr\$pass_cdevsw { + // pinfo: cam_pinfo\$pass_cdevsw { + // priority: int32 = 0x5 (4 bytes) + // generation: int32 = 0x2 (4 bytes) + // index: int32 = 0x3 (4 bytes) + // } + // pad = 0x0 (4 bytes) + // xpt_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0xb (8 bytes) + // priority: int32 = 0x6 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // sim_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0x8 (8 bytes) + // priority: int32 = 0x6 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // periph_links: camq_entry\$pass_cdevsw { + // links_next: intptr = 0xfe (8 bytes) + // priority: int32 = 0x6 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // retry_count: int16 = 0x3 (2 bytes) + // alloc_flags: int16 = 0x5 (2 bytes) + // pad = 0x0 (4 bytes) + // cbfcnp: intptr = 0xbfc (8 bytes) + // func_code: int32 = 0x10 (4 bytes) + // status: int32 = 0x4 (4 bytes) + // path: intptr = 0x5 (8 bytes) + // path_id: int32 = 0x0 (4 bytes) + // target_id: int32 = 0x2 (4 bytes) + // target_lun: int64 = 0x7e2 (8 bytes) + // flags: int32 = 0x8 (4 bytes) + // xflags: int32 = 0x3 (4 bytes) + // periph_priv: buffer: {bc 09 6b 26 d7 02 3b 02 06 84 bf 81 a9 85 11 + // 50} (length 0x10) sim_priv: buffer: {a5 da 75 ef af 1d 7f d5 40 94 + // 02 67 14 f6 36 17} (length 0x10) qos: buffer: {74 70 33 74 c5 58 + // 85 93 b4 d5 75 39 9f 79 94 a4} (length 0x10) timeout: int32 = 0x2 + // (4 bytes) pad = 0x0 (4 bytes) softtimeout: timeval { + // sec: intptr = 0x6e (8 bytes) + // usec: intptr = 0x400 (8 bytes) + // } + // } + // } + // } + // ] + *(uint32_t*)0x200000000240 = 5; + *(uint32_t*)0x200000000244 = 2; + *(uint32_t*)0x200000000248 = 3; + *(uint64_t*)0x200000000250 = 0xb; + *(uint32_t*)0x200000000258 = 6; + *(uint64_t*)0x200000000260 = 8; + *(uint32_t*)0x200000000268 = 6; + *(uint64_t*)0x200000000270 = 0xfe; + *(uint32_t*)0x200000000278 = 6; + *(uint16_t*)0x200000000280 = 3; + *(uint16_t*)0x200000000282 = 5; + *(uint64_t*)0x200000000288 = 0xbfc; + *(uint32_t*)0x200000000290 = 0x10; + *(uint32_t*)0x200000000294 = 4; + *(uint64_t*)0x200000000298 = 5; + *(uint32_t*)0x2000000002a0 = 0; + *(uint32_t*)0x2000000002a4 = 2; + *(uint64_t*)0x2000000002a8 = 0x7e2; + *(uint32_t*)0x2000000002b0 = 8; + *(uint32_t*)0x2000000002b4 = 3; + memcpy((void*)0x2000000002b8, + "\xbc\x09\x6b\x26\xd7\x02\x3b\x02\x06\x84\xbf\x81\xa9\x85\x11\x50", + 16); + memcpy((void*)0x2000000002c8, + "\xa5\xda\x75\xef\xaf\x1d\x7f\xd5\x40\x94\x02\x67\x14\xf6\x36\x17", + 16); + memcpy((void*)0x2000000002d8, + "\x74\x70\x33\x74\xc5\x58\x85\x93\xb4\xd5\x75\x39\x9f\x79\x94\xa4", + 16); + *(uint32_t*)0x2000000002e8 = 2; + *(uint64_t*)0x2000000002f0 = 0x6e; + *(uint64_t*)0x2000000002f8 = 0x400; + syscall(SYS_ioctl, /*fd=*/r[0], /*cmd=*/0xc4e01a02ul, + /*arg=*/0x200000000240ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c || exit 1 + +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core +exit 0 diff --git a/tools/test/stress2/misc/syzkaller92.sh b/tools/test/stress2/misc/syzkaller92.sh new file mode 100755 index 000000000000..428fdaa8815d --- /dev/null +++ b/tools/test/stress2/misc/syzkaller92.sh @@ -0,0 +1,265 @@ +#!/bin/sh + +# Kernel page fault with the following non-sleepable locks held: +# exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xfffff8000365ecd0) locked @ cam/scsi/scsi_pass.c:1973 +# stack backtrace: +# #0 0xffffffff80c4787c at witness_debugger+0x6c +# #1 0xffffffff80c49189 at witness_warn+0x4c9 +# #2 0xffffffff81131d8c at trap_pfault+0x8c +# #3 0xffffffff811015a8 at calltrap+0x8 +# #4 0xffffffff803d8e3e at passdoioctl+0x9be +# #5 0xffffffff803d8102 at passioctl+0x22 +# #6 0xffffffff80a413b1 at devfs_ioctl+0xd1 +# #7 0xffffffff81204821 at VOP_IOCTL_APV+0x51 +# #8 0xffffffff80cf0890 at vn_ioctl+0x160 +# #9 0xffffffff80a41a7e at devfs_ioctl_f+0x1e +# #10 0xffffffff80c4e3c1 at kern_ioctl+0x2a1 +# #11 0xffffffff80c4e0bf at sys_ioctl+0x12f +# #12 0xffffffff811327d9 at amd64_syscall+0x169 +# #13 0xffffffff81101e9b at fast_syscall_common+0xf8 +# +# +# Fatal trap 12: page fault while in kernel mode +# cpuid = 11; apic id = 0b +# fault virtual address = 0x50 +# fault code = supervisor read data, page not present +# instruction pointer = 0x20:0xffffffff803a1e9c +# stack pointer = 0x28:0xfffffe01000d5af0 +# frame pointer = 0x28:0xfffffe01000d5b30 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, long 1, def32 0, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 4511 (syzkaller92) +# rdi: fffff8016ace27b8 rsi: fffff8016ace2f60 rdx: 0000000000000010 +# rcx: 0000000000000010 r8: fffff8000602ad80 r9: ffffffff8226dee8 +# rax: 0000000000000010 rbx: fffff8016ace27b8 rbp: fffffe01000d5b30 +# r10: fffff8016ace27b8 r11: fffff80066e42cd0 r12: fffff8016ace27b8 +# r13: 0000000000000016 r14: fffff80003676200 r15: 0000000000000000 +# trap number = 12 +# panic: page fault +# cpuid = 11 +# time = 1773833440 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01000d5820 +# vpanic() at vpanic+0x136/frame 0xfffffe01000d5950 +# panic() at panic+0x43/frame 0xfffffe01000d59b0 +# trap_pfault() at trap_pfault+0x422/frame 0xfffffe01000d5a20 +# calltrap() at calltrap+0x8/frame 0xfffffe01000d5a20 +# --- trap 0xc, rip = 0xffffffff803a1e9c, rsp = 0xfffffe01000d5af0, rbp = 0xfffffe01000d5b30 --- +# xpt_action_default() at xpt_action_default+0x80c/frame 0xfffffe01000d5b30 +# passdoioctl() at passdoioctl+0x9be/frame 0xfffffe01000d5b80 +# passioctl() at passioctl+0x22/frame 0xfffffe01000d5bc0 +# devfs_ioctl() at devfs_ioctl+0xd1/frame 0xfffffe01000d5c10 +# VOP_IOCTL_APV() at VOP_IOCTL_APV+0x51/frame 0xfffffe01000d5c40 +# vn_ioctl() at vn_ioctl+0x160/frame 0xfffffe01000d5cb0 +# devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe01000d5cd0 +# kern_ioctl() at kern_ioctl+0x2a1/frame 0xfffffe01000d5d40 +# sys_ioctl() at sys_ioctl+0x12f/frame 0xfffffe01000d5e00 +# amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe01000d5f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01000d5f30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x824057eca, rsp = 0x820f14468, rbp = 0x820f14490 --- +# KDB: enter: panic +# [ thread pid 4511 tid 100357 ] +# Stopped at kdb_enter+0x33: movq $0,0x15e9d32(%rip) +# db> x/s version +# version: FreeBSD 16.0-CURRENT #0 main-n284537-a8b9a05d3cad-dirty: Tue Mar 17 09:39:44 CET 2026 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> reset + +# Reproducer obtained from: Jiaming Zhang +# [Bug 293892] Fatal trap NUM: page fault while in kernel mode in passsendccb + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef SYS_aio_readv +#define SYS_aio_readv 579 +#endif + +uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + // rfork arguments: [ + // flags: rfork_flags = 0x14014 (8 bytes) + // ] + syscall(SYS_rfork, /*flags=RFLINUXTHPN|RFSIGSHARE|RFFDG|RFPROC*/ 0x14014ul); + // freebsd11_fhstatfs arguments: [ + // fhp: nil + // buf: nil + // ] + syscall(SYS_freebsd11_fhstatfs, /*fhp=*/0ul, /*buf=*/0ul); + // socket\$inet_tcp arguments: [ + // domain: const = 0x2 (8 bytes) + // type: const = 0x1 (8 bytes) + // proto: const = 0x0 (1 bytes) + // ] + // returns sock_tcp + syscall(SYS_socket, /*domain=*/2ul, /*type=*/1ul, /*proto=*/0); + // openat\$bpf arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 62 70 66 00} (length 0x9) + // } + // flags: open_flags = 0x8408 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_bpf + memcpy((void*)0x200000000980, "/dev/bpf\000", 9); + res = syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, + /*file=*/0x200000000980ul, + /*flags=O_TRUNC|O_NOCTTY|O_APPEND*/ 0x8408, /*mode=*/0); + if (res != -1) + r[0] = res; + // aio_readv arguments: [ + // iocb: ptr[in, aiocb] { + // aiocb { + // aio_fildes: fd (resource) + // pad = 0x0 (4 bytes) + // aio_offset: int64 = 0x81 (8 bytes) + // aio_buf: ptr[in, buffer] { + // buffer: {fa} (length 0x1) + // } + // aio_nbytes: len = 0x1 (8 bytes) + // spare: array[int32] { + // int32 = 0xffff (4 bytes) + // int32 = 0x7 (4 bytes) + // } + // spare2: intptr = 0x1 (8 bytes) + // aio_lio_opcode: lio_opcodes = 0x18 (4 bytes) + // aio_reqprio: int32 = 0x1ff (4 bytes) + // aiocb_private: aiocb_private { + // status: intptr = 0x37 (8 bytes) + // error: intptr = 0x24 (8 bytes) + // kernelinfo: nil + // } + // aio_sigevent: sigevent { + // notify: sigev_notify = 0x0 (4 bytes) + // signo: int32 = 0x13 (4 bytes) + // val: union sigval { + // sigval_int: int32 = 0x6 (4 bytes) + // } + // u: union sigevent_u { + // ke_flags: evflags = 0x8000 (2 bytes) + // } + // } + // } + // } + // ] + *(uint32_t*)0x200000000040 = r[0]; + *(uint64_t*)0x200000000048 = 0x81; + *(uint64_t*)0x200000000050 = 0x200000000000; + memset((void*)0x200000000000, 250, 1); + *(uint64_t*)0x200000000058 = 1; + *(uint32_t*)0x200000000060 = 0xffff; + *(uint32_t*)0x200000000064 = 7; + *(uint64_t*)0x200000000068 = 1; + *(uint32_t*)0x200000000070 = 0x18; + *(uint32_t*)0x200000000074 = 0x1ff; + *(uint64_t*)0x200000000078 = 0x37; + *(uint64_t*)0x200000000080 = 0x24; + *(uint64_t*)0x200000000088 = 0; + *(uint32_t*)0x200000000090 = 0; + *(uint32_t*)0x200000000094 = 0x13; + *(uint32_t*)0x200000000098 = 6; + *(uint16_t*)0x2000000000a0 = 0x8000; + syscall(SYS_aio_readv, /*iocb=*/0x200000000040ul); + // openat\$bpf arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 62 70 66 00} (length 0x9) + // } + // flags: open_flags = 0x800 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_bpf + memcpy((void*)0x200000000040, "/dev/bpf\000", 9); + syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0x200000000040ul, + /*flags=O_EXCL*/ 0x800, /*mode=*/0); + // sigaction arguments: [ + // signo: int32 = 0x6b (4 bytes) + // act: ptr[in, sigaction] { + // sigaction { + // sigaction_u: nil + // sa_flags: sigaction_flags = 0x0 (4 bytes) + // sa_mask: sigset { + // mask: array[int32] { + // int32 = 0x4 (4 bytes) + // int32 = 0x10 (4 bytes) + // int32 = 0x492d (4 bytes) + // int32 = 0x3 (4 bytes) + // } + // } + // pad = 0x0 (4 bytes) + // } + // } + // oact: nil + // ] + *(uint64_t*)0x200000000040 = 0; + *(uint32_t*)0x200000000048 = 0; + *(uint32_t*)0x20000000004c = 4; + *(uint32_t*)0x200000000050 = 0x10; + *(uint32_t*)0x200000000054 = 0x492d; + *(uint32_t*)0x200000000058 = 3; + syscall(SYS_sigaction, /*signo=*/0x6b, /*act=*/0x200000000040ul, + /*oact=*/0ul); + // openat\$pass_pass_cdevsw arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 70 61 73 73 30 00} (length 0xb) + // } + // flags: open_flags = 0x2 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_pass_pass_cdevsw + memcpy((void*)0x200000000100, "/dev/pass0\000", 11); + res = syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, + /*file=*/0x200000000100ul, /*flags=O_RDWR*/ 2, /*mode=*/0); + if (res != -1) + r[1] = res; + // ioctl\$CAMIOQUEUE_pass_cdevsw arguments: [ + // fd: fd_pass_pass_cdevsw (resource) + // cmd: const = 0x20001a04 (8 bytes) + // arg: ptr[in, ptr[in, ccb\$pass_cdevsw]] { + // nil + // } + // ] + *(uint64_t*)0x200000000000 = 0; + syscall(SYS_ioctl, /*fd=*/r[1], /*cmd=*/0x20001a04ul, + /*arg=*/0x200000000000ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c || exit 1 + +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core +exit 0 diff --git a/tools/test/stress2/misc/syzkaller93.sh b/tools/test/stress2/misc/syzkaller93.sh new file mode 100755 index 000000000000..208b90d78516 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller93.sh @@ -0,0 +1,137 @@ +#!/bin/sh + +# (pass0:ahcich1:0:0:0): xpt_action_default: CCB type 0x380 0x380 not supported +# panic: _free(0): addr 0xfffff802f7e5a7b8 slab 0xffffffffffffffff with unknown cookie 3 +# cpuid = 8 +# time = 1773835096 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00ffe5fc60 +# vpanic() at vpanic+0x136/frame 0xfffffe00ffe5fd90 +# panic() at panic+0x43/frame 0xfffffe00ffe5fdf0 +# free() at free+0x213/frame 0xfffffe00ffe5fe30 +# xpt_release_ccb() at xpt_release_ccb+0x50/frame 0xfffffe00ffe5fe60 +# xpt_done_process() at xpt_done_process+0x3e0/frame 0xfffffe00ffe5fea0 +# xpt_done_td() at xpt_done_td+0x145/frame 0xfffffe00ffe5fef0 +# fork_exit() at fork_exit+0x82/frame 0xfffffe00ffe5ff30 +# fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00ffe5ff30 +# --- trap 0, rip = 0, rsp = 0, rbp = 0 --- +# KDB: enter: panic +# [ thread pid 4 tid 100122 ] +# Stopped at kdb_enter+0x33: movq $0,0x15e9d32(%rip) +# db> x/s version +# version: FreeBSD 16.0-CURRENT #0 main-n284537-a8b9a05d3cad-dirty: Tue Mar 17 09:39:44 CET 2026 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +# Reproducer obtained from: Jiaming Zhang +# [Bug 293893] panic: _free(NUM): address ADDR(ADDR) has not been allocated + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + // openat\$pass_pass_cdevsw arguments: [ + // fd: const = 0xffffffffffffff9c (8 bytes) + // file: ptr[in, buffer] { + // buffer: {2f 64 65 76 2f 70 61 73 73 30 00} (length 0xb) + // } + // flags: open_flags = 0x2 (4 bytes) + // mode: const = 0x0 (4 bytes) + // ] + // returns fd_pass_pass_cdevsw + memcpy((void*)0x200000000100, "/dev/pass0\000", 11); + res = syscall(SYS_openat, /*fd=*/0xffffffffffffff9cul, + /*file=*/0x200000000100ul, /*flags=O_RDWR*/ 2, /*mode=*/0); + if (res != -1) + r[0] = res; + // sendfile arguments: [ + // fd: fd (resource) + // s: sock_in (resource) + // offset: intptr = 0x4 (8 bytes) + // nbytes: int64 = 0x4 (8 bytes) + // hdtr: ptr[in, sf_hdtr] { + // sf_hdtr { + // headers: ptr[in, array[iovec_in]] { + // array[iovec_in] { + // iovec_in { + // addr: nil + // len: len = 0x0 (8 bytes) + // } + // iovec_in { + // addr: ptr[in, buffer] { + // buffer: {} (length 0x0) + // } + // len: len = 0x0 (8 bytes) + // } + // } + // } + // hdr_cnt: len = 0x2 (4 bytes) + // pad = 0x0 (4 bytes) + // trailers: nil + // trl_cnt: len = 0x0 (4 bytes) + // pad = 0x0 (4 bytes) + // } + // } + // sbytes: nil + // flags: sf_flags = 0x1 (8 bytes) + // ] + *(uint64_t*)0x200000001ac0 = 0x200000000280; + *(uint64_t*)0x200000000280 = 0; + *(uint64_t*)0x200000000288 = 0; + *(uint64_t*)0x200000000290 = 0x200000000380; + *(uint64_t*)0x200000000298 = 0; + *(uint32_t*)0x200000001ac8 = 2; + *(uint64_t*)0x200000001ad0 = 0; + *(uint32_t*)0x200000001ad8 = 0; + syscall(SYS_sendfile, /*fd=*/(intptr_t)-1, /*s=*/(intptr_t)-1, /*offset=*/4ul, + /*nbytes=*/4ul, /*hdtr=*/0x200000001ac0ul, /*sbytes=*/0ul, + /*flags=SF_NODISKIO*/ 1ul); + // ioctl\$CAMIOQUEUE_pass_cdevsw arguments: [ + // fd: fd_pass_pass_cdevsw (resource) + // cmd: const = 0x20001a04 (8 bytes) + // arg: ptr[in, ptr[in, ccb\$pass_cdevsw]] { + // nil + // } + // ] + *(uint64_t*)0x200000000240 = 0; + syscall(SYS_ioctl, /*fd=*/r[0], /*cmd=*/0x20001a04ul, + /*arg=*/0x200000000240ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c || exit 1 + +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core +exit 0 diff --git a/tools/test/stress2/misc/syzkaller94.sh b/tools/test/stress2/misc/syzkaller94.sh new file mode 100755 index 000000000000..ae37ad964964 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller94.sh @@ -0,0 +1,185 @@ +#!/bin/sh + +# panic: ata_action: ccb 0xfffff80347e777b8, func_code 0x1 should not be allocated from UMA zone +# cpuid = 1 +# time = 1773837671 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0100044980 +# vpanic() at vpanic+0x136/frame 0xfffffe0100044ab0 +# panic() at panic+0x43/frame 0xfffffe0100044b10 +# ata_action() at ata_action+0x3bd/frame 0xfffffe0100044b30 +# passdoioctl() at passdoioctl+0x9be/frame 0xfffffe0100044b80 +# passioctl() at passioctl+0x22/frame 0xfffffe0100044bc0 +# devfs_ioctl() at devfs_ioctl+0xd1/frame 0xfffffe0100044c10 +# VOP_IOCTL_APV() at VOP_IOCTL_APV+0x51/frame 0xfffffe0100044c40 +# vn_ioctl() at vn_ioctl+0x160/frame 0xfffffe0100044cb0 +# devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe0100044cd0 +# kern_ioctl() at kern_ioctl+0x2a1/frame 0xfffffe0100044d40 +# sys_ioctl() at sys_ioctl+0x12f/frame 0xfffffe0100044e00 +# amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe0100044f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0100044f30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x823bc5eca, rsp = 0x820d83df8, rbp = 0x820d83e20 --- +# KDB: enter: panic +# [ thread pid 4628 tid 100215 ] +# Stopped at kdb_enter+0x33: movq $0,0x15e9d32(%rip) +# db> x/s version +# version: FreeBSD 16.0-CURRENT #0 main-n284537-a8b9a05d3cad-dirty: Tue Mar 17 09:39:44 CET 2026 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +# Reproducer obtained from: Jiaming Zhang +# Bug 293895 - panic: ata_action: ccb ADDR, func_code XXX should not be allocated from UMA zone + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include *** 1391 LINES SKIPPED *** From nobody Mon Mar 23 14:41:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTc0rf7z6W5rD for ; Mon, 23 Mar 2026 14:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffbTb6GfNz44lH for ; Mon, 23 Mar 2026 14:41:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2uXhNeXlTt2qqom6TQZ4WD8o5l+frlTW5nCzlwjL73I=; b=brQQiOlpU9trnafJ8tIVSVefW8bP2TLnJUjKGTA+dUeMFN+mzdQVBdyKCpmD6pEnKJ2v9N U6H+/e3hwcB8GPnBRuCkJR5PKgOmaxTyr1R/8Ay9YPsKbR4chlgKkbop6pnL0Z2Kh7WUZK q3nJ66Q9zQvvblN8zSjMtnprTfQKt9mSlmhuxZnriE4bugZakbaO5N5jU0r0zvHkgGpWlE ia6UxfATjBGUkBnTvrp0YGy681V6ySCIQnNQ3vo8G1/UeapTzwDBal2WKrzgaMoSe92kZt 6R8VrQxGgeuqjO27sEO3nrHy3JqOoTBiGQm77pTOGuv/5Rz3B8Z4GQCcohc9+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774276899; a=rsa-sha256; cv=none; b=L1/00suaFz9LPVXB/S1G6LACHZqneMdHbh8xJ/AQgkihxgAXG+Yu10lZzS3UcOdWlnMZqe ntb34CD7zM+6hl3ZJIDsEAoTuylVh94upwRBl9P2cz76HEz5gP2HLpzAFIBzVdrWA0Mzn6 1qvqFq4cMZU5R9QQZM8WSQ1P2GMVX7ZmBAxE1eKDgzPKGNosNr8oot4IGyxdkVNKLxruSn uHWQxheFJzNjHzlBwaPzuOuK6O1dK2f/co98swwuVL61tn9KIHP33L0TImWM/JY8ebRzQ5 wF/lokrYTaVN1KXIykKWlly8iRlRgMQOpZW5hXSnvaGjAEAvCBAI/SNW7161vQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2uXhNeXlTt2qqom6TQZ4WD8o5l+frlTW5nCzlwjL73I=; b=xjp+61gnXglfOAf89PBebuJGLyXLRbEqK5aU5mp3Z3XHV2l1sWHQx1UJBkw7tm7NdRG4VP EzhrF7OQ028bsFtUhqC2KYFzYUCP7sTOBG2D8di7aNMGgoZLFiEzc552KF+mgx5pXCvaXk jsqyECQH7p5NeD6yK20LvU2A9Vmo8Oo9XVGMMrsLcFqR1J8GzAX94ManfoTLUv90AgLx8I aPcG8DVYhW1ZLgLswCKh2Zz5O74xVGQJ2vzDGYHeoWDeBi6OGg7TQf6SWS7BWnJaweFHcg D3jSxxHHKaVdlyFCI5/jor38zVS3yQQI+i7VyDKKYe2sdnSRnbAhaa88yGZoQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTb5ldwzsLM for ; Mon, 23 Mar 2026 14:41:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c5f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 14:41:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mariusz Zaborski Subject: git: 09c5bb35425b - main - nvmf: Fix null ptr reference List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oshogbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09c5bb35425bc70573c007e7f7e82be286677a87 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 14:41:39 +0000 Message-Id: <69c15123.1c5f3.4bdb26d4@gitrepo.freebsd.org> The branch main has been updated by oshogbo: URL: https://cgit.FreeBSD.org/src/commit/?id=09c5bb35425bc70573c007e7f7e82be286677a87 commit 09c5bb35425bc70573c007e7f7e82be286677a87 Author: Mariusz Zaborski AuthorDate: 2026-03-23 14:37:28 +0000 Commit: Mariusz Zaborski CommitDate: 2026-03-23 14:37:28 +0000 nvmf: Fix null ptr reference Reported by: Nikolay Denev Reviewed by: imp, jhb Differential Revision: https://reviews.freebsd.org/D55863 --- sys/dev/nvmf/controller/nvmft_controller.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/nvmf/controller/nvmft_controller.c b/sys/dev/nvmf/controller/nvmft_controller.c index 1618c1f96dac..4c1b28b89265 100644 --- a/sys/dev/nvmf/controller/nvmft_controller.c +++ b/sys/dev/nvmf/controller/nvmft_controller.c @@ -227,7 +227,7 @@ nvmft_handoff_io_queue(struct nvmft_port *np, enum nvmf_trtype trtype, if (ctrlr == NULL) { mtx_unlock(&np->lock); printf("NVMFT: Nonexistent controller %u for I/O queue %u from %.*s\n", - ctrlr->cntlid, qid, (int)sizeof(data->hostnqn), + cntlid, qid, (int)sizeof(data->hostnqn), data->hostnqn); nvmft_connect_invalid_parameters(qp, cmd, true, offsetof(struct nvmf_fabric_connect_data, cntlid)); From nobody Mon Mar 23 14:41:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTh1wdKz6W655 for ; Mon, 23 Mar 2026 14:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffbTh1WF2z44NN for ; Mon, 23 Mar 2026 14:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=05J7Mn2+YLEJa7v4r5fzvW3fD15qjl5jFq3+GB+bpcA=; b=AVIlDih2pwrYbn5SDMqFjH6OohkC6u4TiVTjpSc4SxAKRXn3EAYQshqP4k0ws7zexMDwmE sPrDdbR3j8bJ7jj4MQFyzmQH/A4LWkv2XOrfFXfKNf/PhTpspDrPt3ctEhEhpLz921xqPl k2x5UNT6F/KBxAFojpbHPzah6CpgLM+kS9hlSL1fHpaHJw7opmhGDWS8oSFPH6EPPgJhVq TGbofwZ5SpT/ocpu6o839kMwktEx0dHuQuZTLn+Kmcy9jkZK+9DEB/Pse17YFZBJyQtDZr uhahEsZLgi4TOs9boScnqJ8S/V00xptqdb9AXVR4Hc/9QabhDruFlZdBWls9uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774276904; a=rsa-sha256; cv=none; b=VoJk/crKpqjokcbyi2wFzNC8+SPXICM+2Iywo2R5FtLd3vKpeDSVNOQvXi7g/5ezeZXDRN j5ZotAq1qCyHQ2kjk+RYE+vOalJyuz/wL/1YIXTaCpIcyh5Fwhx2HPfA+FvebDZPBrBkkq N75uA+oKoDa7MSm2o0IkUX3InR/u/TBz2lMHZ02EMH/ueCX70k4/N3dYXRiKD9w358yiSH H2ITA5KFGDW1Tm2rGtOShHp4XXkEqjqvu01XLXF4Oujp/yHrOGiapsiDwZEACCOuarfrC/ Jh6C0+ZNJfsohaDTV606aYJj+ajBDBUAwyodw8V5dJ8TOQMYiaAF7ouq6a4wuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=05J7Mn2+YLEJa7v4r5fzvW3fD15qjl5jFq3+GB+bpcA=; b=PX2CcWSGpqkL9RIKerbNj5JhJYGieu/nLgWGd6KFMfko8W4BwFlrVkbryOi6O/7fMO6ZeL 7lZ6SNBhqrZFsgL0D8u3ur+ut9vDWDcqsk885KiUHQZCPxej9L7IH6D0MhbK7s9G8JpvNW 8IioRu+vqlcXMdo2Ia8Ps1VuNA40e6C1SJU5GEWhd8a7W/ONbSVAsWpZkHij9LH205Ev4V 6a8LmckIrgQvI9qxjP5MZ9Gb5vDUuJ4j4sBq2kyZscr0qQu4xZgVdgDDe7r7HO8BLsruf0 7uoVRwRX81W089hSX/L9xJ3Dc16RmV1QvmomFFkfMd4JeY+t/PxTQplmshyA1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTg75QczsWK for ; Mon, 23 Mar 2026 14:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e64a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 14:41:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mariusz Zaborski Subject: git: 20b99e3a1479 - main - capsicum-test: remove stale file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oshogbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20b99e3a147963c6ef715112bd38e349c7a5a459 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 14:41:38 +0000 Message-Id: <69c15122.1e64a.7b8682f2@gitrepo.freebsd.org> The branch main has been updated by oshogbo: URL: https://cgit.FreeBSD.org/src/commit/?id=20b99e3a147963c6ef715112bd38e349c7a5a459 commit 20b99e3a147963c6ef715112bd38e349c7a5a459 Author: Mariusz Zaborski AuthorDate: 2026-03-02 07:41:21 +0000 Commit: Mariusz Zaborski CommitDate: 2026-03-23 14:34:34 +0000 capsicum-test: remove stale file --- tests/sys/capsicum/linux.cc | 1500 ------------------------------------------- 1 file changed, 1500 deletions(-) diff --git a/tests/sys/capsicum/linux.cc b/tests/sys/capsicum/linux.cc deleted file mode 100644 index 091bf395237a..000000000000 --- a/tests/sys/capsicum/linux.cc +++ /dev/null @@ -1,1500 +0,0 @@ -// Tests of Linux-specific functionality -#ifdef __linux__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // Requires e.g. libcap-dev package for POSIX.1e capabilities headers -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "capsicum.h" -#include "syscalls.h" -#include "capsicum-test.h" - -TEST(Linux, TimerFD) { - int fd = timerfd_create(CLOCK_MONOTONIC, 0); - - cap_rights_t r_ro; - cap_rights_init(&r_ro, CAP_READ); - cap_rights_t r_wo; - cap_rights_init(&r_wo, CAP_WRITE); - cap_rights_t r_rw; - cap_rights_init(&r_rw, CAP_READ, CAP_WRITE); - cap_rights_t r_rwpoll; - cap_rights_init(&r_rwpoll, CAP_READ, CAP_WRITE, CAP_EVENT); - - int cap_fd_ro = dup(fd); - EXPECT_OK(cap_fd_ro); - EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_ro)); - int cap_fd_wo = dup(fd); - EXPECT_OK(cap_fd_wo); - EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_wo)); - int cap_fd_rw = dup(fd); - EXPECT_OK(cap_fd_rw); - EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rw)); - int cap_fd_all = dup(fd); - EXPECT_OK(cap_fd_all); - EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rwpoll)); - - struct itimerspec old_ispec; - struct itimerspec ispec; - ispec.it_interval.tv_sec = 0; - ispec.it_interval.tv_nsec = 0; - ispec.it_value.tv_sec = 0; - ispec.it_value.tv_nsec = 100000000; // 100ms - EXPECT_NOTCAPABLE(timerfd_settime(cap_fd_ro, 0, &ispec, NULL)); - EXPECT_NOTCAPABLE(timerfd_settime(cap_fd_wo, 0, &ispec, &old_ispec)); - EXPECT_OK(timerfd_settime(cap_fd_wo, 0, &ispec, NULL)); - EXPECT_OK(timerfd_settime(cap_fd_rw, 0, &ispec, NULL)); - EXPECT_OK(timerfd_settime(cap_fd_all, 0, &ispec, NULL)); - - EXPECT_NOTCAPABLE(timerfd_gettime(cap_fd_wo, &old_ispec)); - EXPECT_OK(timerfd_gettime(cap_fd_ro, &old_ispec)); - EXPECT_OK(timerfd_gettime(cap_fd_rw, &old_ispec)); - EXPECT_OK(timerfd_gettime(cap_fd_all, &old_ispec)); - - // To be able to poll() for the timer pop, still need CAP_EVENT. - struct pollfd poll_fd; - for (int ii = 0; ii < 3; ii++) { - poll_fd.revents = 0; - poll_fd.events = POLLIN; - switch (ii) { - case 0: poll_fd.fd = cap_fd_ro; break; - case 1: poll_fd.fd = cap_fd_wo; break; - case 2: poll_fd.fd = cap_fd_rw; break; - } - // Poll immediately returns with POLLNVAL - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_EQ(0, (poll_fd.revents & POLLIN)); - EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); - } - - poll_fd.fd = cap_fd_all; - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_NE(0, (poll_fd.revents & POLLIN)); - EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); - - EXPECT_OK(timerfd_gettime(cap_fd_all, &old_ispec)); - EXPECT_EQ(0, old_ispec.it_value.tv_sec); - EXPECT_EQ(0, old_ispec.it_value.tv_nsec); - EXPECT_EQ(0, old_ispec.it_interval.tv_sec); - EXPECT_EQ(0, old_ispec.it_interval.tv_nsec); - - close(cap_fd_all); - close(cap_fd_rw); - close(cap_fd_wo); - close(cap_fd_ro); - close(fd); -} - -FORK_TEST(Linux, SignalFDIfSingleThreaded) { - if (force_mt) { - GTEST_SKIP() << "multi-threaded run clashes with signals"; - } - pid_t me = getpid(); - sigset_t mask; - sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); - - // Block signals before registering against a new signal FD. - EXPECT_OK(sigprocmask(SIG_BLOCK, &mask, NULL)); - int fd = signalfd(-1, &mask, 0); - EXPECT_OK(fd); - - cap_rights_t r_rs; - cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); - cap_rights_t r_ws; - cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); - cap_rights_t r_sig; - cap_rights_init(&r_sig, CAP_FSIGNAL); - cap_rights_t r_rssig; - cap_rights_init(&r_rssig, CAP_FSIGNAL, CAP_READ, CAP_SEEK); - cap_rights_t r_rssig_poll; - cap_rights_init(&r_rssig_poll, CAP_FSIGNAL, CAP_READ, CAP_SEEK, CAP_EVENT); - - // Various capability variants. - int cap_fd_none = dup(fd); - EXPECT_OK(cap_fd_none); - EXPECT_OK(cap_rights_limit(cap_fd_none, &r_ws)); - int cap_fd_read = dup(fd); - EXPECT_OK(cap_fd_read); - EXPECT_OK(cap_rights_limit(cap_fd_read, &r_rs)); - int cap_fd_sig = dup(fd); - EXPECT_OK(cap_fd_sig); - EXPECT_OK(cap_rights_limit(cap_fd_sig, &r_sig)); - int cap_fd_sig_read = dup(fd); - EXPECT_OK(cap_fd_sig_read); - EXPECT_OK(cap_rights_limit(cap_fd_sig_read, &r_rssig)); - int cap_fd_all = dup(fd); - EXPECT_OK(cap_fd_all); - EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rssig_poll)); - - struct signalfd_siginfo fdsi; - - // Need CAP_READ to read the signal information - kill(me, SIGUSR1); - EXPECT_NOTCAPABLE(read(cap_fd_none, &fdsi, sizeof(struct signalfd_siginfo))); - EXPECT_NOTCAPABLE(read(cap_fd_sig, &fdsi, sizeof(struct signalfd_siginfo))); - int len = read(cap_fd_read, &fdsi, sizeof(struct signalfd_siginfo)); - EXPECT_OK(len); - EXPECT_EQ(sizeof(struct signalfd_siginfo), (size_t)len); - EXPECT_EQ(SIGUSR1, (int)fdsi.ssi_signo); - - // Need CAP_FSIGNAL to modify the signal mask. - sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); - sigaddset(&mask, SIGUSR2); - EXPECT_OK(sigprocmask(SIG_BLOCK, &mask, NULL)); - EXPECT_NOTCAPABLE(signalfd(cap_fd_none, &mask, 0)); - EXPECT_NOTCAPABLE(signalfd(cap_fd_read, &mask, 0)); - EXPECT_EQ(cap_fd_sig, signalfd(cap_fd_sig, &mask, 0)); - - // Need CAP_EVENT to get notification of a signal in poll(2). - kill(me, SIGUSR2); - - struct pollfd poll_fd; - poll_fd.revents = 0; - poll_fd.events = POLLIN; - poll_fd.fd = cap_fd_sig_read; - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_EQ(0, (poll_fd.revents & POLLIN)); - EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); - - poll_fd.fd = cap_fd_all; - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_NE(0, (poll_fd.revents & POLLIN)); - EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); -} - -TEST(Linux, EventFD) { - int fd = eventfd(0, 0); - EXPECT_OK(fd); - - cap_rights_t r_rs; - cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); - cap_rights_t r_ws; - cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rws; - cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rwspoll; - cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); - - int cap_ro = dup(fd); - EXPECT_OK(cap_ro); - EXPECT_OK(cap_rights_limit(cap_ro, &r_rs)); - int cap_wo = dup(fd); - EXPECT_OK(cap_wo); - EXPECT_OK(cap_rights_limit(cap_wo, &r_ws)); - int cap_rw = dup(fd); - EXPECT_OK(cap_rw); - EXPECT_OK(cap_rights_limit(cap_rw, &r_rws)); - int cap_all = dup(fd); - EXPECT_OK(cap_all); - EXPECT_OK(cap_rights_limit(cap_all, &r_rwspoll)); - - pid_t child = fork(); - if (child == 0) { - // Child: write counter to eventfd - uint64_t u = 42; - EXPECT_NOTCAPABLE(write(cap_ro, &u, sizeof(u))); - EXPECT_OK(write(cap_wo, &u, sizeof(u))); - exit(HasFailure()); - } - - sleep(1); // Allow child to write - - struct pollfd poll_fd; - poll_fd.revents = 0; - poll_fd.events = POLLIN; - poll_fd.fd = cap_rw; - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_EQ(0, (poll_fd.revents & POLLIN)); - EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); - - poll_fd.fd = cap_all; - EXPECT_OK(poll(&poll_fd, 1, 400)); - EXPECT_NE(0, (poll_fd.revents & POLLIN)); - EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); - - uint64_t u; - EXPECT_NOTCAPABLE(read(cap_wo, &u, sizeof(u))); - EXPECT_OK(read(cap_ro, &u, sizeof(u))); - EXPECT_EQ(42, (int)u); - - // Wait for the child. - int status; - EXPECT_EQ(child, waitpid(child, &status, 0)); - int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - - close(cap_all); - close(cap_rw); - close(cap_wo); - close(cap_ro); - close(fd); -} - -FORK_TEST(Linux, epoll) { - int sock_fds[2]; - EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, sock_fds)); - // Queue some data. - char buffer[4] = {1, 2, 3, 4}; - EXPECT_OK(write(sock_fds[1], buffer, sizeof(buffer))); - - EXPECT_OK(cap_enter()); // Enter capability mode. - - int epoll_fd = epoll_create(1); - EXPECT_OK(epoll_fd); - - cap_rights_t r_rs; - cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); - cap_rights_t r_ws; - cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rws; - cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rwspoll; - cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); - cap_rights_t r_epoll; - cap_rights_init(&r_epoll, CAP_EPOLL_CTL); - - int cap_epoll_wo = dup(epoll_fd); - EXPECT_OK(cap_epoll_wo); - EXPECT_OK(cap_rights_limit(cap_epoll_wo, &r_ws)); - int cap_epoll_ro = dup(epoll_fd); - EXPECT_OK(cap_epoll_ro); - EXPECT_OK(cap_rights_limit(cap_epoll_ro, &r_rs)); - int cap_epoll_rw = dup(epoll_fd); - EXPECT_OK(cap_epoll_rw); - EXPECT_OK(cap_rights_limit(cap_epoll_rw, &r_rws)); - int cap_epoll_poll = dup(epoll_fd); - EXPECT_OK(cap_epoll_poll); - EXPECT_OK(cap_rights_limit(cap_epoll_poll, &r_rwspoll)); - int cap_epoll_ctl = dup(epoll_fd); - EXPECT_OK(cap_epoll_ctl); - EXPECT_OK(cap_rights_limit(cap_epoll_ctl, &r_epoll)); - - // Can only modify the FDs being monitored if the CAP_EPOLL_CTL right is present. - struct epoll_event eev; - memset(&eev, 0, sizeof(eev)); - eev.events = EPOLLIN|EPOLLOUT|EPOLLPRI; - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_ADD, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_ADD, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_ADD, sock_fds[0], &eev)); - EXPECT_OK(epoll_ctl(cap_epoll_ctl, EPOLL_CTL_ADD, sock_fds[0], &eev)); - eev.events = EPOLLIN|EPOLLOUT; - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_MOD, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_MOD, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_MOD, sock_fds[0], &eev)); - EXPECT_OK(epoll_ctl(cap_epoll_ctl, EPOLL_CTL_MOD, sock_fds[0], &eev)); - - // Running epoll_pwait(2) requires CAP_EVENT. - eev.events = 0; - EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_ro, &eev, 1, 100, NULL)); - EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_wo, &eev, 1, 100, NULL)); - EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_rw, &eev, 1, 100, NULL)); - EXPECT_OK(epoll_pwait(cap_epoll_poll, &eev, 1, 100, NULL)); - EXPECT_EQ(EPOLLIN, eev.events & EPOLLIN); - - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_DEL, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_DEL, sock_fds[0], &eev)); - EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_DEL, sock_fds[0], &eev)); - EXPECT_OK(epoll_ctl(epoll_fd, EPOLL_CTL_DEL, sock_fds[0], &eev)); - - close(cap_epoll_ctl); - close(cap_epoll_poll); - close(cap_epoll_rw); - close(cap_epoll_ro); - close(cap_epoll_wo); - close(epoll_fd); - close(sock_fds[1]); - close(sock_fds[0]); -} - -TEST(Linux, fstatat) { - int fd = open(TmpFile("cap_fstatat"), O_CREAT|O_RDWR, 0644); - EXPECT_OK(fd); - unsigned char buffer[] = {1, 2, 3, 4}; - EXPECT_OK(write(fd, buffer, sizeof(buffer))); - cap_rights_t rights; - int cap_rf = dup(fd); - EXPECT_OK(cap_rf); - EXPECT_OK(cap_rights_limit(cap_rf, cap_rights_init(&rights, CAP_READ, CAP_FSTAT))); - int cap_ro = dup(fd); - EXPECT_OK(cap_ro); - EXPECT_OK(cap_rights_limit(cap_ro, cap_rights_init(&rights, CAP_READ))); - - struct stat info; - EXPECT_OK(fstatat(fd, "", &info, AT_EMPTY_PATH)); - EXPECT_NOTCAPABLE(fstatat(cap_ro, "", &info, AT_EMPTY_PATH)); - EXPECT_OK(fstatat(cap_rf, "", &info, AT_EMPTY_PATH)); - - close(cap_ro); - close(cap_rf); - close(fd); - - int dir = open(tmpdir.c_str(), O_RDONLY); - EXPECT_OK(dir); - int dir_rf = dup(dir); - EXPECT_OK(dir_rf); - EXPECT_OK(cap_rights_limit(dir_rf, cap_rights_init(&rights, CAP_READ, CAP_FSTAT))); - int dir_ro = dup(fd); - EXPECT_OK(dir_ro); - EXPECT_OK(cap_rights_limit(dir_ro, cap_rights_init(&rights, CAP_READ))); - - EXPECT_OK(fstatat(dir, "cap_fstatat", &info, AT_EMPTY_PATH)); - EXPECT_NOTCAPABLE(fstatat(dir_ro, "cap_fstatat", &info, AT_EMPTY_PATH)); - EXPECT_OK(fstatat(dir_rf, "cap_fstatat", &info, AT_EMPTY_PATH)); - - close(dir_ro); - close(dir_rf); - close(dir); - - unlink(TmpFile("cap_fstatat")); -} - -// fanotify support may not be available at compile-time -#ifdef __NR_fanotify_init -TEST(Linux, FanotifyIfRoot) { - GTEST_SKIP_IF_NOT_ROOT(); - int fa_fd = fanotify_init(FAN_CLASS_NOTIF, O_RDWR); - EXPECT_OK(fa_fd); - if (fa_fd < 0) return; // May not be enabled - - cap_rights_t r_rs; - cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); - cap_rights_t r_ws; - cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rws; - cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rwspoll; - cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); - cap_rights_t r_rwsnotify; - cap_rights_init(&r_rwsnotify, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_NOTIFY); - cap_rights_t r_rsl; - cap_rights_init(&r_rsl, CAP_READ, CAP_SEEK, CAP_LOOKUP); - cap_rights_t r_rslstat; - cap_rights_init(&r_rslstat, CAP_READ, CAP_SEEK, CAP_LOOKUP, CAP_FSTAT); - cap_rights_t r_rsstat; - cap_rights_init(&r_rsstat, CAP_READ, CAP_SEEK, CAP_FSTAT); - - int cap_fd_ro = dup(fa_fd); - EXPECT_OK(cap_fd_ro); - EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_rs)); - int cap_fd_wo = dup(fa_fd); - EXPECT_OK(cap_fd_wo); - EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_ws)); - int cap_fd_rw = dup(fa_fd); - EXPECT_OK(cap_fd_rw); - EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rws)); - int cap_fd_poll = dup(fa_fd); - EXPECT_OK(cap_fd_poll); - EXPECT_OK(cap_rights_limit(cap_fd_poll, &r_rwspoll)); - int cap_fd_not = dup(fa_fd); - EXPECT_OK(cap_fd_not); - EXPECT_OK(cap_rights_limit(cap_fd_not, &r_rwsnotify)); - - int rc = mkdir(TmpFile("cap_notify"), 0755); - EXPECT_TRUE(rc == 0 || errno == EEXIST); - int dfd = open(TmpFile("cap_notify"), O_RDONLY); - EXPECT_OK(dfd); - int fd = open(TmpFile("cap_notify/file"), O_CREAT|O_RDWR, 0644); - close(fd); - int cap_dfd = dup(dfd); - EXPECT_OK(cap_dfd); - EXPECT_OK(cap_rights_limit(cap_dfd, &r_rslstat)); - EXPECT_OK(cap_dfd); - int cap_dfd_rs = dup(dfd); - EXPECT_OK(cap_dfd_rs); - EXPECT_OK(cap_rights_limit(cap_dfd_rs, &r_rs)); - EXPECT_OK(cap_dfd_rs); - int cap_dfd_rsstat = dup(dfd); - EXPECT_OK(cap_dfd_rsstat); - EXPECT_OK(cap_rights_limit(cap_dfd_rsstat, &r_rsstat)); - EXPECT_OK(cap_dfd_rsstat); - int cap_dfd_rsl = dup(dfd); - EXPECT_OK(cap_dfd_rsl); - EXPECT_OK(cap_rights_limit(cap_dfd_rsl, &r_rsl)); - EXPECT_OK(cap_dfd_rsl); - - // Need CAP_NOTIFY to change what's monitored. - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_ro, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_wo, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_rw, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); - EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); - - // Need CAP_FSTAT on the thing monitored. - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd_rs, NULL)); - EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd_rsstat, NULL)); - - // Too add monitoring of a file under a dfd, need CAP_LOOKUP|CAP_FSTAT on the dfd. - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd_rsstat, "file")); - EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd_rsl, "file")); - EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd, "file")); - - pid_t child = fork(); - if (child == 0) { - // Child: Perform activity in the directory under notify. - sleep(1); - unlink(TmpFile("cap_notify/temp")); - int fd = open(TmpFile("cap_notify/temp"), O_CREAT|O_RDWR, 0644); - close(fd); - exit(0); - } - - // Need CAP_EVENT to poll. - struct pollfd poll_fd; - poll_fd.revents = 0; - poll_fd.events = POLLIN; - poll_fd.fd = cap_fd_rw; - EXPECT_OK(poll(&poll_fd, 1, 1400)); - EXPECT_EQ(0, (poll_fd.revents & POLLIN)); - EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); - - poll_fd.fd = cap_fd_not; - EXPECT_OK(poll(&poll_fd, 1, 1400)); - EXPECT_EQ(0, (poll_fd.revents & POLLIN)); - EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); - - poll_fd.fd = cap_fd_poll; - EXPECT_OK(poll(&poll_fd, 1, 1400)); - EXPECT_NE(0, (poll_fd.revents & POLLIN)); - EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); - - // Need CAP_READ to read. - struct fanotify_event_metadata ev; - memset(&ev, 0, sizeof(ev)); - EXPECT_NOTCAPABLE(read(cap_fd_wo, &ev, sizeof(ev))); - rc = read(fa_fd, &ev, sizeof(ev)); - EXPECT_OK(rc); - EXPECT_EQ((int)sizeof(struct fanotify_event_metadata), rc); - EXPECT_EQ(child, ev.pid); - EXPECT_NE(0, ev.fd); - - // TODO(drysdale): reinstate if/when capsicum-linux propagates rights - // to fanotify-generated FDs. -#ifdef OMIT - // fanotify(7) gives us a FD for the changed file. This should - // only have rights that are a subset of those for the original - // monitored directory file descriptor. - cap_rights_t rights; - CAL_ALL(&rights); - EXPECT_OK(cap_rights_get(ev.fd, &rights)); - EXPECT_RIGHTS_IN(&rights, &r_rslstat); -#endif - - // Wait for the child. - int status; - EXPECT_EQ(child, waitpid(child, &status, 0)); - rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - - close(cap_dfd_rsstat); - close(cap_dfd_rsl); - close(cap_dfd_rs); - close(cap_dfd); - close(dfd); - unlink(TmpFile("cap_notify/file")); - unlink(TmpFile("cap_notify/temp")); - rmdir(TmpFile("cap_notify")); - close(cap_fd_not); - close(cap_fd_poll); - close(cap_fd_rw); - close(cap_fd_wo); - close(cap_fd_ro); - close(fa_fd); -} -#endif - -TEST(Linux, inotify) { - int i_fd = inotify_init(); - EXPECT_OK(i_fd); - - cap_rights_t r_rs; - cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); - cap_rights_t r_ws; - cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rws; - cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); - cap_rights_t r_rwsnotify; - cap_rights_init(&r_rwsnotify, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_NOTIFY); - - int cap_fd_ro = dup(i_fd); - EXPECT_OK(cap_fd_ro); - EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_rs)); - int cap_fd_wo = dup(i_fd); - EXPECT_OK(cap_fd_wo); - EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_ws)); - int cap_fd_rw = dup(i_fd); - EXPECT_OK(cap_fd_rw); - EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rws)); - int cap_fd_all = dup(i_fd); - EXPECT_OK(cap_fd_all); - EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rwsnotify)); - - int fd = open(TmpFile("cap_inotify"), O_CREAT|O_RDWR, 0644); - EXPECT_NOTCAPABLE(inotify_add_watch(cap_fd_rw, TmpFile("cap_inotify"), IN_ACCESS|IN_MODIFY)); - int wd = inotify_add_watch(i_fd, TmpFile("cap_inotify"), IN_ACCESS|IN_MODIFY); - EXPECT_OK(wd); - - unsigned char buffer[] = {1, 2, 3, 4}; - EXPECT_OK(write(fd, buffer, sizeof(buffer))); - - struct inotify_event iev; - memset(&iev, 0, sizeof(iev)); - EXPECT_NOTCAPABLE(read(cap_fd_wo, &iev, sizeof(iev))); - int rc = read(cap_fd_ro, &iev, sizeof(iev)); - EXPECT_OK(rc); - EXPECT_EQ((int)sizeof(iev), rc); - EXPECT_EQ(wd, iev.wd); - - EXPECT_NOTCAPABLE(inotify_rm_watch(cap_fd_wo, wd)); - EXPECT_OK(inotify_rm_watch(cap_fd_all, wd)); - - close(fd); - close(cap_fd_all); - close(cap_fd_rw); - close(cap_fd_wo); - close(cap_fd_ro); - close(i_fd); - unlink(TmpFile("cap_inotify")); -} - -TEST(Linux, ArchChangeIfAvailable) { - const char* prog_candidates[] = {"./mini-me.32", "./mini-me.x32", "./mini-me.64"}; - const char* progs[] = {NULL, NULL, NULL}; - char* argv_pass[] = {(char*)"to-come", (char*)"--capmode", NULL}; - char* null_envp[] = {NULL}; - int fds[3]; - int count = 0; - - for (int ii = 0; ii < 3; ii++) { - fds[count] = open(prog_candidates[ii], O_RDONLY); - if (fds[count] >= 0) { - progs[count] = prog_candidates[ii]; - count++; - } - } - if (count == 0) { - GTEST_SKIP() << "no different-architecture programs available"; - } - - for (int ii = 0; ii < count; ii++) { - // Fork-and-exec a binary of this architecture. - pid_t child = fork(); - if (child == 0) { - EXPECT_OK(cap_enter()); // Enter capability mode - if (verbose) fprintf(stderr, "[%d] call fexecve(%s, %s)\n", - getpid_(), progs[ii], argv_pass[1]); - argv_pass[0] = (char *)progs[ii]; - int rc = fexecve_(fds[ii], argv_pass, null_envp); - fprintf(stderr, "fexecve(%s) returned %d errno %d\n", progs[ii], rc, errno); - exit(99); // Should not reach here. - } - int status; - EXPECT_EQ(child, waitpid(child, &status, 0)); - int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - close(fds[ii]); - } -} - -FORK_TEST(Linux, NamespaceIfRoot) { - GTEST_SKIP_IF_NOT_ROOT(); - pid_t me = getpid_(); - - // Create a new UTS namespace. - EXPECT_OK(unshare(CLONE_NEWUTS)); - // Open an FD to its symlink. - char buffer[256]; - sprintf(buffer, "/proc/%d/ns/uts", me); - int ns_fd = open(buffer, O_RDONLY); - - cap_rights_t r_rwlstat; - cap_rights_init(&r_rwlstat, CAP_READ, CAP_WRITE, CAP_LOOKUP, CAP_FSTAT); - cap_rights_t r_rwlstatns; - cap_rights_init(&r_rwlstatns, CAP_READ, CAP_WRITE, CAP_LOOKUP, CAP_FSTAT, CAP_SETNS); - - int cap_fd = dup(ns_fd); - EXPECT_OK(cap_fd); - EXPECT_OK(cap_rights_limit(cap_fd, &r_rwlstat)); - int cap_fd_setns = dup(ns_fd); - EXPECT_OK(cap_fd_setns); - EXPECT_OK(cap_rights_limit(cap_fd_setns, &r_rwlstatns)); - EXPECT_NOTCAPABLE(setns(cap_fd, CLONE_NEWUTS)); - EXPECT_OK(setns(cap_fd_setns, CLONE_NEWUTS)); - - EXPECT_OK(cap_enter()); // Enter capability mode. - - // No setns(2) but unshare(2) is allowed. - EXPECT_CAPMODE(setns(ns_fd, CLONE_NEWUTS)); - EXPECT_OK(unshare(CLONE_NEWUTS)); -} - -static void SendFD(int fd, int over) { - struct msghdr mh; - mh.msg_name = NULL; // No address needed - mh.msg_namelen = 0; - char buffer1[1024]; - struct iovec iov[1]; - iov[0].iov_base = buffer1; - iov[0].iov_len = sizeof(buffer1); - mh.msg_iov = iov; - mh.msg_iovlen = 1; - char buffer2[1024]; - mh.msg_control = buffer2; - mh.msg_controllen = CMSG_LEN(sizeof(int)); - struct cmsghdr *cmptr = CMSG_FIRSTHDR(&mh); - cmptr->cmsg_level = SOL_SOCKET; - cmptr->cmsg_type = SCM_RIGHTS; - cmptr->cmsg_len = CMSG_LEN(sizeof(int)); - *(int *)CMSG_DATA(cmptr) = fd; - buffer1[0] = 0; - iov[0].iov_len = 1; - int rc = sendmsg(over, &mh, 0); - EXPECT_OK(rc); -} - -static int ReceiveFD(int over) { - struct msghdr mh; - mh.msg_name = NULL; // No address needed - mh.msg_namelen = 0; - char buffer1[1024]; - struct iovec iov[1]; - iov[0].iov_base = buffer1; - iov[0].iov_len = sizeof(buffer1); - mh.msg_iov = iov; - mh.msg_iovlen = 1; - char buffer2[1024]; - mh.msg_control = buffer2; - mh.msg_controllen = sizeof(buffer2); - int rc = recvmsg(over, &mh, 0); - EXPECT_OK(rc); - EXPECT_LE(CMSG_LEN(sizeof(int)), mh.msg_controllen); - struct cmsghdr *cmptr = CMSG_FIRSTHDR(&mh); - int fd = *(int*)CMSG_DATA(cmptr); - EXPECT_EQ(CMSG_LEN(sizeof(int)), cmptr->cmsg_len); - cmptr = CMSG_NXTHDR(&mh, cmptr); - EXPECT_TRUE(cmptr == NULL); - return fd; -} - -static int shared_pd = -1; -static int shared_sock_fds[2]; - -static int ChildFunc(void *arg) { - // This function is running in a new PID namespace, and so is pid 1. - if (verbose) fprintf(stderr, " ChildFunc: pid=%d, ppid=%d\n", getpid_(), getppid()); - EXPECT_EQ(1, getpid_()); - EXPECT_EQ(0, getppid()); - - // The shared process descriptor is outside our namespace, so we cannot - // get its pid. - if (verbose) fprintf(stderr, " ChildFunc: shared_pd=%d\n", shared_pd); - pid_t shared_child = -1; - EXPECT_OK(pdgetpid(shared_pd, &shared_child)); - if (verbose) fprintf(stderr, " ChildFunc: corresponding pid=%d\n", shared_child); - EXPECT_EQ(0, shared_child); - - // But we can pdkill() it even so. - if (verbose) fprintf(stderr, " ChildFunc: call pdkill(pd=%d)\n", shared_pd); - EXPECT_OK(pdkill(shared_pd, SIGINT)); - - int pd; - pid_t child = pdfork(&pd, 0); - EXPECT_OK(child); - if (child == 0) { - // Child: expect pid 2. - if (verbose) fprintf(stderr, " child of ChildFunc: pid=%d, ppid=%d\n", getpid_(), getppid()); - EXPECT_EQ(2, getpid_()); - EXPECT_EQ(1, getppid()); - while (true) { - if (verbose) fprintf(stderr, " child of ChildFunc: \"I aten't dead\"\n"); - sleep(1); - } - exit(0); - } - EXPECT_EQ(2, child); - EXPECT_PID_ALIVE(child); - if (verbose) fprintf(stderr, " ChildFunc: pdfork() -> pd=%d, corresponding pid=%d state='%c'\n", - pd, child, ProcessState(child)); - - pid_t pid; - EXPECT_OK(pdgetpid(pd, &pid)); - EXPECT_EQ(child, pid); - - sleep(2); - - // Send the process descriptor over UNIX domain socket back to parent. - SendFD(pd, shared_sock_fds[1]); - - // Wait for death of (grand)child, killed by our parent. - if (verbose) fprintf(stderr, " ChildFunc: wait on pid=%d\n", child); - int status; - EXPECT_EQ(child, wait4(child, &status, __WALL, NULL)); - - if (verbose) fprintf(stderr, " ChildFunc: return 0\n"); - return 0; -} - -#define STACK_SIZE (1024 * 1024) -static char child_stack[STACK_SIZE]; - -// TODO(drysdale): fork into a user namespace first so GTEST_SKIP_IF_NOT_ROOT can be removed. -TEST(Linux, PidNamespacePdForkIfRoot) { - GTEST_SKIP_IF_NOT_ROOT(); - // Pass process descriptors in both directions across a PID namespace boundary. - // pdfork() off a child before we start, holding its process descriptor in a global - // variable that's accessible to children. - pid_t firstborn = pdfork(&shared_pd, 0); - EXPECT_OK(firstborn); - if (firstborn == 0) { - while (true) { - if (verbose) fprintf(stderr, " Firstborn: \"I aten't dead\"\n"); - sleep(1); - } - exit(0); - } - EXPECT_PID_ALIVE(firstborn); - if (verbose) fprintf(stderr, "Parent: pre-pdfork()ed pd=%d, pid=%d state='%c'\n", - shared_pd, firstborn, ProcessState(firstborn)); - sleep(2); - - // Prepare sockets to communicate with child process. - EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); - - // Clone into a child process with a new pid namespace. - pid_t child = clone(ChildFunc, child_stack + STACK_SIZE, - CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); - EXPECT_OK(child); - EXPECT_PID_ALIVE(child); - if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); - - // Ensure the child runs. First thing it does is to kill our firstborn, using shared_pd. - sleep(1); - EXPECT_PID_DEAD(firstborn); - - // But we can still retrieve firstborn's PID, as it's not been reaped yet. - pid_t child0; - EXPECT_OK(pdgetpid(shared_pd, &child0)); - EXPECT_EQ(firstborn, child0); - if (verbose) fprintf(stderr, "Parent: check on firstborn: pdgetpid(pd=%d) -> child=%d state='%c'\n", - shared_pd, child0, ProcessState(child0)); - - // Now reap it. - int status; - EXPECT_EQ(firstborn, waitpid(firstborn, &status, __WALL)); - - // Get the process descriptor of the child-of-child via socket transfer. - int grandchild_pd = ReceiveFD(shared_sock_fds[0]); - - // Our notion of the pid associated with the grandchild is in the main PID namespace. - pid_t grandchild; - EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); - EXPECT_NE(2, grandchild); - if (verbose) fprintf(stderr, "Parent: pre-pdkill: pdgetpid(grandchild_pd=%d) -> grandchild=%d state='%c'\n", - grandchild_pd, grandchild, ProcessState(grandchild)); - EXPECT_PID_ALIVE(grandchild); - - // Kill the grandchild via the process descriptor. - EXPECT_OK(pdkill(grandchild_pd, SIGINT)); - usleep(10000); - if (verbose) fprintf(stderr, "Parent: post-pdkill: pdgetpid(grandchild_pd=%d) -> grandchild=%d state='%c'\n", - grandchild_pd, grandchild, ProcessState(grandchild)); - EXPECT_PID_DEAD(grandchild); - - sleep(2); - - // Wait for the child. - EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); - int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - - close(shared_sock_fds[0]); - close(shared_sock_fds[1]); - close(shared_pd); - close(grandchild_pd); -} - -int NSInit(void *data) { - // This function is running in a new PID namespace, and so is pid 1. - if (verbose) fprintf(stderr, " NSInit: pid=%d, ppid=%d\n", getpid_(), getppid()); - EXPECT_EQ(1, getpid_()); - EXPECT_EQ(0, getppid()); - - int pd; - pid_t child = pdfork(&pd, 0); - EXPECT_OK(child); - if (child == 0) { - // Child: loop forever until terminated. - if (verbose) fprintf(stderr, " child of NSInit: pid=%d, ppid=%d\n", getpid_(), getppid()); - while (true) { - if (verbose) fprintf(stderr, " child of NSInit: \"I aten't dead\"\n"); - usleep(100000); - } - exit(0); - } - EXPECT_EQ(2, child); - EXPECT_PID_ALIVE(child); - if (verbose) fprintf(stderr, " NSInit: pdfork() -> pd=%d, corresponding pid=%d state='%c'\n", - pd, child, ProcessState(child)); - sleep(1); - - // Send the process descriptor over UNIX domain socket back to parent. - SendFD(pd, shared_sock_fds[1]); - close(pd); - - // Wait for a byte back in the other direction. - int value; - if (verbose) fprintf(stderr, " NSInit: block waiting for value\n"); - read(shared_sock_fds[1], &value, sizeof(value)); - - if (verbose) fprintf(stderr, " NSInit: return 0\n"); - return 0; -} - -TEST(Linux, DeadNSInitIfRoot) { - GTEST_SKIP_IF_NOT_ROOT(); - - // Prepare sockets to communicate with child process. - EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); - - // Clone into a child process with a new pid namespace. - pid_t child = clone(NSInit, child_stack + STACK_SIZE, - CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); - usleep(10000); - EXPECT_OK(child); - EXPECT_PID_ALIVE(child); - if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); - - // Get the process descriptor of the child-of-child via socket transfer. - int grandchild_pd = ReceiveFD(shared_sock_fds[0]); - pid_t grandchild; - EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); - if (verbose) fprintf(stderr, "Parent: grandchild is %d state='%c'\n", grandchild, ProcessState(grandchild)); - - // Send an int to the child to trigger its termination. Grandchild should also - // go, as its init process is gone. - int zero = 0; - if (verbose) fprintf(stderr, "Parent: write 0 to pipe\n"); - write(shared_sock_fds[0], &zero, sizeof(zero)); - EXPECT_PID_ZOMBIE(child); - EXPECT_PID_GONE(grandchild); - - // Wait for the child. - int status; - EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); - int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - EXPECT_PID_GONE(child); - - close(shared_sock_fds[0]); - close(shared_sock_fds[1]); - close(grandchild_pd); - - if (verbose) { - fprintf(stderr, "Parent: child %d in state='%c'\n", child, ProcessState(child)); - fprintf(stderr, "Parent: grandchild %d in state='%c'\n", grandchild, ProcessState(grandchild)); - } -} - -TEST(Linux, DeadNSInit2IfRoot) { - GTEST_SKIP_IF_NOT_ROOT(); - - // Prepare sockets to communicate with child process. - EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); - - // Clone into a child process with a new pid namespace. - pid_t child = clone(NSInit, child_stack + STACK_SIZE, - CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); - usleep(10000); - EXPECT_OK(child); - EXPECT_PID_ALIVE(child); - if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); - - // Get the process descriptor of the child-of-child via socket transfer. - int grandchild_pd = ReceiveFD(shared_sock_fds[0]); - pid_t grandchild; - EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); - if (verbose) fprintf(stderr, "Parent: grandchild is %d state='%c'\n", grandchild, ProcessState(grandchild)); - - // Kill the grandchild - EXPECT_OK(pdkill(grandchild_pd, SIGINT)); - usleep(10000); - EXPECT_PID_ZOMBIE(grandchild); - // Close the process descriptor, so there are now no procdesc references to grandchild. - close(grandchild_pd); - - // Send an int to the child to trigger its termination. Grandchild should also - // go, as its init process is gone. - int zero = 0; - if (verbose) fprintf(stderr, "Parent: write 0 to pipe\n"); - write(shared_sock_fds[0], &zero, sizeof(zero)); - EXPECT_PID_ZOMBIE(child); - EXPECT_PID_GONE(grandchild); - - // Wait for the child. - int status; - EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); - int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - EXPECT_EQ(0, rc); - - close(shared_sock_fds[0]); - close(shared_sock_fds[1]); - - if (verbose) { - fprintf(stderr, "Parent: child %d in state='%c'\n", child, ProcessState(child)); - fprintf(stderr, "Parent: grandchild %d in state='%c'\n", grandchild, ProcessState(grandchild)); - } -} - *** 534 LINES SKIPPED *** From nobody Mon Mar 23 14:47:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbcf4Qhrz6W5qk for ; Mon, 23 Mar 2026 14:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffbcf2B7jz45dr for ; Mon, 23 Mar 2026 14:47:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774277266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/qDIHDSVrIoheoYz6aWWCV4kC5qFLOped+NPOvJ4Ac=; b=KIejnQq0AoQhi1RX7cUCexTzGKQf58HDpNvcIbP/XrFPgx+nm/e3sjV47K65XKDdKzqfK5 Mzv0Jwc2NeNvwr9fInfDeJsTNyj6LH7ZvKPP3ZjEc265Oh7j4+Gz6WkbFEJGCh4gSyukoS DWLxjTBNRC29LJ9rQsgPRpvgDBu2m8lqN5zF9EKoewLA1MRk3Z4zk9XHv8bqaVA757Xkx/ mRAD5GKQ1Fc92m7HEftYeICNLlNVUBZ27DB7NL+JpPAdjIXRsVsHEQV8hmYDtzmbOxuK7N PHuN7KK+JcF/mfsXqUoEMM/bJRJdFShEWnbY26sY7ng3swOqt0/t614tz1IgHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774277266; a=rsa-sha256; cv=none; b=nlbkapNU6iCFrLw8jOzOvFhH2BvDINWTR+/RO9/5lGtI6XdIr9Mg2wO4Er/ojivhsrOM/4 zhDk8SyYEtO4ZKkT+hc51A/Aa8jGQ33vALHPj/vcLK1NTVd6kMsGRIfvuLiSFjbrIOW9I4 l2eLOwvBlj7grR0CdcRhCea1TYXDjOWGH/Q100ZIecCpERTiELmbGbfu0PdcDPmp4aPgQp crBMWWRK1a/jRYytrhzt5CrHIfvLdJ9iiHX7NKO+CTgJsZ36INOzNqqSBH6CxjdGcIM8vi aZXAn2/4OSTQUMZxWEyV5sAJb5vWP/iqePASn3TSn8JxIAq/MskdgSfIh/BcBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774277266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/qDIHDSVrIoheoYz6aWWCV4kC5qFLOped+NPOvJ4Ac=; b=pjn2sd07lR+rA4DKPZVr9trSg2fp5qrcyqIGijJhHcnLufJbWqbYjki2zuI8SJUHzJlHFW KQWYbmVFxzy2lT/fA5V+1zHRw1ZOxKx5lqAnjtTd9s1F3uvhYrMe4d108rXaLtDRLy3HRe uYwupxX2KdZV7ERQusvLUGTmIS3VVIKo1k8fva3NrqT9k350mkISjXIT/Abp7zJmJg0opJ KnZcU7K2RYXMAhVsYktaH28HVx8ER6ee0g9K5lQHRYzSIO+FKKv7UUewvgf5pDlr29DyIU q9PnGI1h8i3qEmD94Hl/iHBHz4MCK7xG7Hdd+jAHzyUa6zYrfi6WDl6T0yVIkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffbcf1RGSzsBB for ; Mon, 23 Mar 2026 14:47:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bbe1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 14:47:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mariusz Zaborski Subject: git: fce6921464b5 - main - Revert "capsicum-test: remove stale file" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oshogbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fce6921464b5b21836a304d0460c69db4a6f3942 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 14:47:40 +0000 Message-Id: <69c1528c.1bbe1.69ce59f7@gitrepo.freebsd.org> The branch main has been updated by oshogbo: URL: https://cgit.FreeBSD.org/src/commit/?id=fce6921464b5b21836a304d0460c69db4a6f3942 commit fce6921464b5b21836a304d0460c69db4a6f3942 Author: Mariusz Zaborski AuthorDate: 2026-03-23 14:44:34 +0000 Commit: Mariusz Zaborski CommitDate: 2026-03-23 14:45:13 +0000 Revert "capsicum-test: remove stale file" This was unintended, sorry. This reverts commit 20b99e3a147963c6ef715112bd38e349c7a5a459. --- tests/sys/capsicum/linux.cc | 1500 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1500 insertions(+) diff --git a/tests/sys/capsicum/linux.cc b/tests/sys/capsicum/linux.cc new file mode 100644 index 000000000000..091bf395237a --- /dev/null +++ b/tests/sys/capsicum/linux.cc @@ -0,0 +1,1500 @@ +// Tests of Linux-specific functionality +#ifdef __linux__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // Requires e.g. libcap-dev package for POSIX.1e capabilities headers +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "capsicum.h" +#include "syscalls.h" +#include "capsicum-test.h" + +TEST(Linux, TimerFD) { + int fd = timerfd_create(CLOCK_MONOTONIC, 0); + + cap_rights_t r_ro; + cap_rights_init(&r_ro, CAP_READ); + cap_rights_t r_wo; + cap_rights_init(&r_wo, CAP_WRITE); + cap_rights_t r_rw; + cap_rights_init(&r_rw, CAP_READ, CAP_WRITE); + cap_rights_t r_rwpoll; + cap_rights_init(&r_rwpoll, CAP_READ, CAP_WRITE, CAP_EVENT); + + int cap_fd_ro = dup(fd); + EXPECT_OK(cap_fd_ro); + EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_ro)); + int cap_fd_wo = dup(fd); + EXPECT_OK(cap_fd_wo); + EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_wo)); + int cap_fd_rw = dup(fd); + EXPECT_OK(cap_fd_rw); + EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rw)); + int cap_fd_all = dup(fd); + EXPECT_OK(cap_fd_all); + EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rwpoll)); + + struct itimerspec old_ispec; + struct itimerspec ispec; + ispec.it_interval.tv_sec = 0; + ispec.it_interval.tv_nsec = 0; + ispec.it_value.tv_sec = 0; + ispec.it_value.tv_nsec = 100000000; // 100ms + EXPECT_NOTCAPABLE(timerfd_settime(cap_fd_ro, 0, &ispec, NULL)); + EXPECT_NOTCAPABLE(timerfd_settime(cap_fd_wo, 0, &ispec, &old_ispec)); + EXPECT_OK(timerfd_settime(cap_fd_wo, 0, &ispec, NULL)); + EXPECT_OK(timerfd_settime(cap_fd_rw, 0, &ispec, NULL)); + EXPECT_OK(timerfd_settime(cap_fd_all, 0, &ispec, NULL)); + + EXPECT_NOTCAPABLE(timerfd_gettime(cap_fd_wo, &old_ispec)); + EXPECT_OK(timerfd_gettime(cap_fd_ro, &old_ispec)); + EXPECT_OK(timerfd_gettime(cap_fd_rw, &old_ispec)); + EXPECT_OK(timerfd_gettime(cap_fd_all, &old_ispec)); + + // To be able to poll() for the timer pop, still need CAP_EVENT. + struct pollfd poll_fd; + for (int ii = 0; ii < 3; ii++) { + poll_fd.revents = 0; + poll_fd.events = POLLIN; + switch (ii) { + case 0: poll_fd.fd = cap_fd_ro; break; + case 1: poll_fd.fd = cap_fd_wo; break; + case 2: poll_fd.fd = cap_fd_rw; break; + } + // Poll immediately returns with POLLNVAL + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_EQ(0, (poll_fd.revents & POLLIN)); + EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); + } + + poll_fd.fd = cap_fd_all; + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_NE(0, (poll_fd.revents & POLLIN)); + EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); + + EXPECT_OK(timerfd_gettime(cap_fd_all, &old_ispec)); + EXPECT_EQ(0, old_ispec.it_value.tv_sec); + EXPECT_EQ(0, old_ispec.it_value.tv_nsec); + EXPECT_EQ(0, old_ispec.it_interval.tv_sec); + EXPECT_EQ(0, old_ispec.it_interval.tv_nsec); + + close(cap_fd_all); + close(cap_fd_rw); + close(cap_fd_wo); + close(cap_fd_ro); + close(fd); +} + +FORK_TEST(Linux, SignalFDIfSingleThreaded) { + if (force_mt) { + GTEST_SKIP() << "multi-threaded run clashes with signals"; + } + pid_t me = getpid(); + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, SIGUSR1); + + // Block signals before registering against a new signal FD. + EXPECT_OK(sigprocmask(SIG_BLOCK, &mask, NULL)); + int fd = signalfd(-1, &mask, 0); + EXPECT_OK(fd); + + cap_rights_t r_rs; + cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); + cap_rights_t r_ws; + cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); + cap_rights_t r_sig; + cap_rights_init(&r_sig, CAP_FSIGNAL); + cap_rights_t r_rssig; + cap_rights_init(&r_rssig, CAP_FSIGNAL, CAP_READ, CAP_SEEK); + cap_rights_t r_rssig_poll; + cap_rights_init(&r_rssig_poll, CAP_FSIGNAL, CAP_READ, CAP_SEEK, CAP_EVENT); + + // Various capability variants. + int cap_fd_none = dup(fd); + EXPECT_OK(cap_fd_none); + EXPECT_OK(cap_rights_limit(cap_fd_none, &r_ws)); + int cap_fd_read = dup(fd); + EXPECT_OK(cap_fd_read); + EXPECT_OK(cap_rights_limit(cap_fd_read, &r_rs)); + int cap_fd_sig = dup(fd); + EXPECT_OK(cap_fd_sig); + EXPECT_OK(cap_rights_limit(cap_fd_sig, &r_sig)); + int cap_fd_sig_read = dup(fd); + EXPECT_OK(cap_fd_sig_read); + EXPECT_OK(cap_rights_limit(cap_fd_sig_read, &r_rssig)); + int cap_fd_all = dup(fd); + EXPECT_OK(cap_fd_all); + EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rssig_poll)); + + struct signalfd_siginfo fdsi; + + // Need CAP_READ to read the signal information + kill(me, SIGUSR1); + EXPECT_NOTCAPABLE(read(cap_fd_none, &fdsi, sizeof(struct signalfd_siginfo))); + EXPECT_NOTCAPABLE(read(cap_fd_sig, &fdsi, sizeof(struct signalfd_siginfo))); + int len = read(cap_fd_read, &fdsi, sizeof(struct signalfd_siginfo)); + EXPECT_OK(len); + EXPECT_EQ(sizeof(struct signalfd_siginfo), (size_t)len); + EXPECT_EQ(SIGUSR1, (int)fdsi.ssi_signo); + + // Need CAP_FSIGNAL to modify the signal mask. + sigemptyset(&mask); + sigaddset(&mask, SIGUSR1); + sigaddset(&mask, SIGUSR2); + EXPECT_OK(sigprocmask(SIG_BLOCK, &mask, NULL)); + EXPECT_NOTCAPABLE(signalfd(cap_fd_none, &mask, 0)); + EXPECT_NOTCAPABLE(signalfd(cap_fd_read, &mask, 0)); + EXPECT_EQ(cap_fd_sig, signalfd(cap_fd_sig, &mask, 0)); + + // Need CAP_EVENT to get notification of a signal in poll(2). + kill(me, SIGUSR2); + + struct pollfd poll_fd; + poll_fd.revents = 0; + poll_fd.events = POLLIN; + poll_fd.fd = cap_fd_sig_read; + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_EQ(0, (poll_fd.revents & POLLIN)); + EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); + + poll_fd.fd = cap_fd_all; + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_NE(0, (poll_fd.revents & POLLIN)); + EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); +} + +TEST(Linux, EventFD) { + int fd = eventfd(0, 0); + EXPECT_OK(fd); + + cap_rights_t r_rs; + cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); + cap_rights_t r_ws; + cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rws; + cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rwspoll; + cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); + + int cap_ro = dup(fd); + EXPECT_OK(cap_ro); + EXPECT_OK(cap_rights_limit(cap_ro, &r_rs)); + int cap_wo = dup(fd); + EXPECT_OK(cap_wo); + EXPECT_OK(cap_rights_limit(cap_wo, &r_ws)); + int cap_rw = dup(fd); + EXPECT_OK(cap_rw); + EXPECT_OK(cap_rights_limit(cap_rw, &r_rws)); + int cap_all = dup(fd); + EXPECT_OK(cap_all); + EXPECT_OK(cap_rights_limit(cap_all, &r_rwspoll)); + + pid_t child = fork(); + if (child == 0) { + // Child: write counter to eventfd + uint64_t u = 42; + EXPECT_NOTCAPABLE(write(cap_ro, &u, sizeof(u))); + EXPECT_OK(write(cap_wo, &u, sizeof(u))); + exit(HasFailure()); + } + + sleep(1); // Allow child to write + + struct pollfd poll_fd; + poll_fd.revents = 0; + poll_fd.events = POLLIN; + poll_fd.fd = cap_rw; + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_EQ(0, (poll_fd.revents & POLLIN)); + EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); + + poll_fd.fd = cap_all; + EXPECT_OK(poll(&poll_fd, 1, 400)); + EXPECT_NE(0, (poll_fd.revents & POLLIN)); + EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); + + uint64_t u; + EXPECT_NOTCAPABLE(read(cap_wo, &u, sizeof(u))); + EXPECT_OK(read(cap_ro, &u, sizeof(u))); + EXPECT_EQ(42, (int)u); + + // Wait for the child. + int status; + EXPECT_EQ(child, waitpid(child, &status, 0)); + int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + + close(cap_all); + close(cap_rw); + close(cap_wo); + close(cap_ro); + close(fd); +} + +FORK_TEST(Linux, epoll) { + int sock_fds[2]; + EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, sock_fds)); + // Queue some data. + char buffer[4] = {1, 2, 3, 4}; + EXPECT_OK(write(sock_fds[1], buffer, sizeof(buffer))); + + EXPECT_OK(cap_enter()); // Enter capability mode. + + int epoll_fd = epoll_create(1); + EXPECT_OK(epoll_fd); + + cap_rights_t r_rs; + cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); + cap_rights_t r_ws; + cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rws; + cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rwspoll; + cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); + cap_rights_t r_epoll; + cap_rights_init(&r_epoll, CAP_EPOLL_CTL); + + int cap_epoll_wo = dup(epoll_fd); + EXPECT_OK(cap_epoll_wo); + EXPECT_OK(cap_rights_limit(cap_epoll_wo, &r_ws)); + int cap_epoll_ro = dup(epoll_fd); + EXPECT_OK(cap_epoll_ro); + EXPECT_OK(cap_rights_limit(cap_epoll_ro, &r_rs)); + int cap_epoll_rw = dup(epoll_fd); + EXPECT_OK(cap_epoll_rw); + EXPECT_OK(cap_rights_limit(cap_epoll_rw, &r_rws)); + int cap_epoll_poll = dup(epoll_fd); + EXPECT_OK(cap_epoll_poll); + EXPECT_OK(cap_rights_limit(cap_epoll_poll, &r_rwspoll)); + int cap_epoll_ctl = dup(epoll_fd); + EXPECT_OK(cap_epoll_ctl); + EXPECT_OK(cap_rights_limit(cap_epoll_ctl, &r_epoll)); + + // Can only modify the FDs being monitored if the CAP_EPOLL_CTL right is present. + struct epoll_event eev; + memset(&eev, 0, sizeof(eev)); + eev.events = EPOLLIN|EPOLLOUT|EPOLLPRI; + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_ADD, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_ADD, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_ADD, sock_fds[0], &eev)); + EXPECT_OK(epoll_ctl(cap_epoll_ctl, EPOLL_CTL_ADD, sock_fds[0], &eev)); + eev.events = EPOLLIN|EPOLLOUT; + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_MOD, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_MOD, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_MOD, sock_fds[0], &eev)); + EXPECT_OK(epoll_ctl(cap_epoll_ctl, EPOLL_CTL_MOD, sock_fds[0], &eev)); + + // Running epoll_pwait(2) requires CAP_EVENT. + eev.events = 0; + EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_ro, &eev, 1, 100, NULL)); + EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_wo, &eev, 1, 100, NULL)); + EXPECT_NOTCAPABLE(epoll_pwait(cap_epoll_rw, &eev, 1, 100, NULL)); + EXPECT_OK(epoll_pwait(cap_epoll_poll, &eev, 1, 100, NULL)); + EXPECT_EQ(EPOLLIN, eev.events & EPOLLIN); + + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_ro, EPOLL_CTL_DEL, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_wo, EPOLL_CTL_DEL, sock_fds[0], &eev)); + EXPECT_NOTCAPABLE(epoll_ctl(cap_epoll_rw, EPOLL_CTL_DEL, sock_fds[0], &eev)); + EXPECT_OK(epoll_ctl(epoll_fd, EPOLL_CTL_DEL, sock_fds[0], &eev)); + + close(cap_epoll_ctl); + close(cap_epoll_poll); + close(cap_epoll_rw); + close(cap_epoll_ro); + close(cap_epoll_wo); + close(epoll_fd); + close(sock_fds[1]); + close(sock_fds[0]); +} + +TEST(Linux, fstatat) { + int fd = open(TmpFile("cap_fstatat"), O_CREAT|O_RDWR, 0644); + EXPECT_OK(fd); + unsigned char buffer[] = {1, 2, 3, 4}; + EXPECT_OK(write(fd, buffer, sizeof(buffer))); + cap_rights_t rights; + int cap_rf = dup(fd); + EXPECT_OK(cap_rf); + EXPECT_OK(cap_rights_limit(cap_rf, cap_rights_init(&rights, CAP_READ, CAP_FSTAT))); + int cap_ro = dup(fd); + EXPECT_OK(cap_ro); + EXPECT_OK(cap_rights_limit(cap_ro, cap_rights_init(&rights, CAP_READ))); + + struct stat info; + EXPECT_OK(fstatat(fd, "", &info, AT_EMPTY_PATH)); + EXPECT_NOTCAPABLE(fstatat(cap_ro, "", &info, AT_EMPTY_PATH)); + EXPECT_OK(fstatat(cap_rf, "", &info, AT_EMPTY_PATH)); + + close(cap_ro); + close(cap_rf); + close(fd); + + int dir = open(tmpdir.c_str(), O_RDONLY); + EXPECT_OK(dir); + int dir_rf = dup(dir); + EXPECT_OK(dir_rf); + EXPECT_OK(cap_rights_limit(dir_rf, cap_rights_init(&rights, CAP_READ, CAP_FSTAT))); + int dir_ro = dup(fd); + EXPECT_OK(dir_ro); + EXPECT_OK(cap_rights_limit(dir_ro, cap_rights_init(&rights, CAP_READ))); + + EXPECT_OK(fstatat(dir, "cap_fstatat", &info, AT_EMPTY_PATH)); + EXPECT_NOTCAPABLE(fstatat(dir_ro, "cap_fstatat", &info, AT_EMPTY_PATH)); + EXPECT_OK(fstatat(dir_rf, "cap_fstatat", &info, AT_EMPTY_PATH)); + + close(dir_ro); + close(dir_rf); + close(dir); + + unlink(TmpFile("cap_fstatat")); +} + +// fanotify support may not be available at compile-time +#ifdef __NR_fanotify_init +TEST(Linux, FanotifyIfRoot) { + GTEST_SKIP_IF_NOT_ROOT(); + int fa_fd = fanotify_init(FAN_CLASS_NOTIF, O_RDWR); + EXPECT_OK(fa_fd); + if (fa_fd < 0) return; // May not be enabled + + cap_rights_t r_rs; + cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); + cap_rights_t r_ws; + cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rws; + cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rwspoll; + cap_rights_init(&r_rwspoll, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_EVENT); + cap_rights_t r_rwsnotify; + cap_rights_init(&r_rwsnotify, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_NOTIFY); + cap_rights_t r_rsl; + cap_rights_init(&r_rsl, CAP_READ, CAP_SEEK, CAP_LOOKUP); + cap_rights_t r_rslstat; + cap_rights_init(&r_rslstat, CAP_READ, CAP_SEEK, CAP_LOOKUP, CAP_FSTAT); + cap_rights_t r_rsstat; + cap_rights_init(&r_rsstat, CAP_READ, CAP_SEEK, CAP_FSTAT); + + int cap_fd_ro = dup(fa_fd); + EXPECT_OK(cap_fd_ro); + EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_rs)); + int cap_fd_wo = dup(fa_fd); + EXPECT_OK(cap_fd_wo); + EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_ws)); + int cap_fd_rw = dup(fa_fd); + EXPECT_OK(cap_fd_rw); + EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rws)); + int cap_fd_poll = dup(fa_fd); + EXPECT_OK(cap_fd_poll); + EXPECT_OK(cap_rights_limit(cap_fd_poll, &r_rwspoll)); + int cap_fd_not = dup(fa_fd); + EXPECT_OK(cap_fd_not); + EXPECT_OK(cap_rights_limit(cap_fd_not, &r_rwsnotify)); + + int rc = mkdir(TmpFile("cap_notify"), 0755); + EXPECT_TRUE(rc == 0 || errno == EEXIST); + int dfd = open(TmpFile("cap_notify"), O_RDONLY); + EXPECT_OK(dfd); + int fd = open(TmpFile("cap_notify/file"), O_CREAT|O_RDWR, 0644); + close(fd); + int cap_dfd = dup(dfd); + EXPECT_OK(cap_dfd); + EXPECT_OK(cap_rights_limit(cap_dfd, &r_rslstat)); + EXPECT_OK(cap_dfd); + int cap_dfd_rs = dup(dfd); + EXPECT_OK(cap_dfd_rs); + EXPECT_OK(cap_rights_limit(cap_dfd_rs, &r_rs)); + EXPECT_OK(cap_dfd_rs); + int cap_dfd_rsstat = dup(dfd); + EXPECT_OK(cap_dfd_rsstat); + EXPECT_OK(cap_rights_limit(cap_dfd_rsstat, &r_rsstat)); + EXPECT_OK(cap_dfd_rsstat); + int cap_dfd_rsl = dup(dfd); + EXPECT_OK(cap_dfd_rsl); + EXPECT_OK(cap_rights_limit(cap_dfd_rsl, &r_rsl)); + EXPECT_OK(cap_dfd_rsl); + + // Need CAP_NOTIFY to change what's monitored. + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_ro, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_wo, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_rw, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); + EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd, NULL)); + + // Need CAP_FSTAT on the thing monitored. + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd_rs, NULL)); + EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY|FAN_EVENT_ON_CHILD, cap_dfd_rsstat, NULL)); + + // Too add monitoring of a file under a dfd, need CAP_LOOKUP|CAP_FSTAT on the dfd. + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd_rsstat, "file")); + EXPECT_NOTCAPABLE(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd_rsl, "file")); + EXPECT_OK(fanotify_mark(cap_fd_not, FAN_MARK_ADD, FAN_OPEN|FAN_MODIFY, cap_dfd, "file")); + + pid_t child = fork(); + if (child == 0) { + // Child: Perform activity in the directory under notify. + sleep(1); + unlink(TmpFile("cap_notify/temp")); + int fd = open(TmpFile("cap_notify/temp"), O_CREAT|O_RDWR, 0644); + close(fd); + exit(0); + } + + // Need CAP_EVENT to poll. + struct pollfd poll_fd; + poll_fd.revents = 0; + poll_fd.events = POLLIN; + poll_fd.fd = cap_fd_rw; + EXPECT_OK(poll(&poll_fd, 1, 1400)); + EXPECT_EQ(0, (poll_fd.revents & POLLIN)); + EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); + + poll_fd.fd = cap_fd_not; + EXPECT_OK(poll(&poll_fd, 1, 1400)); + EXPECT_EQ(0, (poll_fd.revents & POLLIN)); + EXPECT_NE(0, (poll_fd.revents & POLLNVAL)); + + poll_fd.fd = cap_fd_poll; + EXPECT_OK(poll(&poll_fd, 1, 1400)); + EXPECT_NE(0, (poll_fd.revents & POLLIN)); + EXPECT_EQ(0, (poll_fd.revents & POLLNVAL)); + + // Need CAP_READ to read. + struct fanotify_event_metadata ev; + memset(&ev, 0, sizeof(ev)); + EXPECT_NOTCAPABLE(read(cap_fd_wo, &ev, sizeof(ev))); + rc = read(fa_fd, &ev, sizeof(ev)); + EXPECT_OK(rc); + EXPECT_EQ((int)sizeof(struct fanotify_event_metadata), rc); + EXPECT_EQ(child, ev.pid); + EXPECT_NE(0, ev.fd); + + // TODO(drysdale): reinstate if/when capsicum-linux propagates rights + // to fanotify-generated FDs. +#ifdef OMIT + // fanotify(7) gives us a FD for the changed file. This should + // only have rights that are a subset of those for the original + // monitored directory file descriptor. + cap_rights_t rights; + CAL_ALL(&rights); + EXPECT_OK(cap_rights_get(ev.fd, &rights)); + EXPECT_RIGHTS_IN(&rights, &r_rslstat); +#endif + + // Wait for the child. + int status; + EXPECT_EQ(child, waitpid(child, &status, 0)); + rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + + close(cap_dfd_rsstat); + close(cap_dfd_rsl); + close(cap_dfd_rs); + close(cap_dfd); + close(dfd); + unlink(TmpFile("cap_notify/file")); + unlink(TmpFile("cap_notify/temp")); + rmdir(TmpFile("cap_notify")); + close(cap_fd_not); + close(cap_fd_poll); + close(cap_fd_rw); + close(cap_fd_wo); + close(cap_fd_ro); + close(fa_fd); +} +#endif + +TEST(Linux, inotify) { + int i_fd = inotify_init(); + EXPECT_OK(i_fd); + + cap_rights_t r_rs; + cap_rights_init(&r_rs, CAP_READ, CAP_SEEK); + cap_rights_t r_ws; + cap_rights_init(&r_ws, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rws; + cap_rights_init(&r_rws, CAP_READ, CAP_WRITE, CAP_SEEK); + cap_rights_t r_rwsnotify; + cap_rights_init(&r_rwsnotify, CAP_READ, CAP_WRITE, CAP_SEEK, CAP_NOTIFY); + + int cap_fd_ro = dup(i_fd); + EXPECT_OK(cap_fd_ro); + EXPECT_OK(cap_rights_limit(cap_fd_ro, &r_rs)); + int cap_fd_wo = dup(i_fd); + EXPECT_OK(cap_fd_wo); + EXPECT_OK(cap_rights_limit(cap_fd_wo, &r_ws)); + int cap_fd_rw = dup(i_fd); + EXPECT_OK(cap_fd_rw); + EXPECT_OK(cap_rights_limit(cap_fd_rw, &r_rws)); + int cap_fd_all = dup(i_fd); + EXPECT_OK(cap_fd_all); + EXPECT_OK(cap_rights_limit(cap_fd_all, &r_rwsnotify)); + + int fd = open(TmpFile("cap_inotify"), O_CREAT|O_RDWR, 0644); + EXPECT_NOTCAPABLE(inotify_add_watch(cap_fd_rw, TmpFile("cap_inotify"), IN_ACCESS|IN_MODIFY)); + int wd = inotify_add_watch(i_fd, TmpFile("cap_inotify"), IN_ACCESS|IN_MODIFY); + EXPECT_OK(wd); + + unsigned char buffer[] = {1, 2, 3, 4}; + EXPECT_OK(write(fd, buffer, sizeof(buffer))); + + struct inotify_event iev; + memset(&iev, 0, sizeof(iev)); + EXPECT_NOTCAPABLE(read(cap_fd_wo, &iev, sizeof(iev))); + int rc = read(cap_fd_ro, &iev, sizeof(iev)); + EXPECT_OK(rc); + EXPECT_EQ((int)sizeof(iev), rc); + EXPECT_EQ(wd, iev.wd); + + EXPECT_NOTCAPABLE(inotify_rm_watch(cap_fd_wo, wd)); + EXPECT_OK(inotify_rm_watch(cap_fd_all, wd)); + + close(fd); + close(cap_fd_all); + close(cap_fd_rw); + close(cap_fd_wo); + close(cap_fd_ro); + close(i_fd); + unlink(TmpFile("cap_inotify")); +} + +TEST(Linux, ArchChangeIfAvailable) { + const char* prog_candidates[] = {"./mini-me.32", "./mini-me.x32", "./mini-me.64"}; + const char* progs[] = {NULL, NULL, NULL}; + char* argv_pass[] = {(char*)"to-come", (char*)"--capmode", NULL}; + char* null_envp[] = {NULL}; + int fds[3]; + int count = 0; + + for (int ii = 0; ii < 3; ii++) { + fds[count] = open(prog_candidates[ii], O_RDONLY); + if (fds[count] >= 0) { + progs[count] = prog_candidates[ii]; + count++; + } + } + if (count == 0) { + GTEST_SKIP() << "no different-architecture programs available"; + } + + for (int ii = 0; ii < count; ii++) { + // Fork-and-exec a binary of this architecture. + pid_t child = fork(); + if (child == 0) { + EXPECT_OK(cap_enter()); // Enter capability mode + if (verbose) fprintf(stderr, "[%d] call fexecve(%s, %s)\n", + getpid_(), progs[ii], argv_pass[1]); + argv_pass[0] = (char *)progs[ii]; + int rc = fexecve_(fds[ii], argv_pass, null_envp); + fprintf(stderr, "fexecve(%s) returned %d errno %d\n", progs[ii], rc, errno); + exit(99); // Should not reach here. + } + int status; + EXPECT_EQ(child, waitpid(child, &status, 0)); + int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + close(fds[ii]); + } +} + +FORK_TEST(Linux, NamespaceIfRoot) { + GTEST_SKIP_IF_NOT_ROOT(); + pid_t me = getpid_(); + + // Create a new UTS namespace. + EXPECT_OK(unshare(CLONE_NEWUTS)); + // Open an FD to its symlink. + char buffer[256]; + sprintf(buffer, "/proc/%d/ns/uts", me); + int ns_fd = open(buffer, O_RDONLY); + + cap_rights_t r_rwlstat; + cap_rights_init(&r_rwlstat, CAP_READ, CAP_WRITE, CAP_LOOKUP, CAP_FSTAT); + cap_rights_t r_rwlstatns; + cap_rights_init(&r_rwlstatns, CAP_READ, CAP_WRITE, CAP_LOOKUP, CAP_FSTAT, CAP_SETNS); + + int cap_fd = dup(ns_fd); + EXPECT_OK(cap_fd); + EXPECT_OK(cap_rights_limit(cap_fd, &r_rwlstat)); + int cap_fd_setns = dup(ns_fd); + EXPECT_OK(cap_fd_setns); + EXPECT_OK(cap_rights_limit(cap_fd_setns, &r_rwlstatns)); + EXPECT_NOTCAPABLE(setns(cap_fd, CLONE_NEWUTS)); + EXPECT_OK(setns(cap_fd_setns, CLONE_NEWUTS)); + + EXPECT_OK(cap_enter()); // Enter capability mode. + + // No setns(2) but unshare(2) is allowed. + EXPECT_CAPMODE(setns(ns_fd, CLONE_NEWUTS)); + EXPECT_OK(unshare(CLONE_NEWUTS)); +} + +static void SendFD(int fd, int over) { + struct msghdr mh; + mh.msg_name = NULL; // No address needed + mh.msg_namelen = 0; + char buffer1[1024]; + struct iovec iov[1]; + iov[0].iov_base = buffer1; + iov[0].iov_len = sizeof(buffer1); + mh.msg_iov = iov; + mh.msg_iovlen = 1; + char buffer2[1024]; + mh.msg_control = buffer2; + mh.msg_controllen = CMSG_LEN(sizeof(int)); + struct cmsghdr *cmptr = CMSG_FIRSTHDR(&mh); + cmptr->cmsg_level = SOL_SOCKET; + cmptr->cmsg_type = SCM_RIGHTS; + cmptr->cmsg_len = CMSG_LEN(sizeof(int)); + *(int *)CMSG_DATA(cmptr) = fd; + buffer1[0] = 0; + iov[0].iov_len = 1; + int rc = sendmsg(over, &mh, 0); + EXPECT_OK(rc); +} + +static int ReceiveFD(int over) { + struct msghdr mh; + mh.msg_name = NULL; // No address needed + mh.msg_namelen = 0; + char buffer1[1024]; + struct iovec iov[1]; + iov[0].iov_base = buffer1; + iov[0].iov_len = sizeof(buffer1); + mh.msg_iov = iov; + mh.msg_iovlen = 1; + char buffer2[1024]; + mh.msg_control = buffer2; + mh.msg_controllen = sizeof(buffer2); + int rc = recvmsg(over, &mh, 0); + EXPECT_OK(rc); + EXPECT_LE(CMSG_LEN(sizeof(int)), mh.msg_controllen); + struct cmsghdr *cmptr = CMSG_FIRSTHDR(&mh); + int fd = *(int*)CMSG_DATA(cmptr); + EXPECT_EQ(CMSG_LEN(sizeof(int)), cmptr->cmsg_len); + cmptr = CMSG_NXTHDR(&mh, cmptr); + EXPECT_TRUE(cmptr == NULL); + return fd; +} + +static int shared_pd = -1; +static int shared_sock_fds[2]; + +static int ChildFunc(void *arg) { + // This function is running in a new PID namespace, and so is pid 1. + if (verbose) fprintf(stderr, " ChildFunc: pid=%d, ppid=%d\n", getpid_(), getppid()); + EXPECT_EQ(1, getpid_()); + EXPECT_EQ(0, getppid()); + + // The shared process descriptor is outside our namespace, so we cannot + // get its pid. + if (verbose) fprintf(stderr, " ChildFunc: shared_pd=%d\n", shared_pd); + pid_t shared_child = -1; + EXPECT_OK(pdgetpid(shared_pd, &shared_child)); + if (verbose) fprintf(stderr, " ChildFunc: corresponding pid=%d\n", shared_child); + EXPECT_EQ(0, shared_child); + + // But we can pdkill() it even so. + if (verbose) fprintf(stderr, " ChildFunc: call pdkill(pd=%d)\n", shared_pd); + EXPECT_OK(pdkill(shared_pd, SIGINT)); + + int pd; + pid_t child = pdfork(&pd, 0); + EXPECT_OK(child); + if (child == 0) { + // Child: expect pid 2. + if (verbose) fprintf(stderr, " child of ChildFunc: pid=%d, ppid=%d\n", getpid_(), getppid()); + EXPECT_EQ(2, getpid_()); + EXPECT_EQ(1, getppid()); + while (true) { + if (verbose) fprintf(stderr, " child of ChildFunc: \"I aten't dead\"\n"); + sleep(1); + } + exit(0); + } + EXPECT_EQ(2, child); + EXPECT_PID_ALIVE(child); + if (verbose) fprintf(stderr, " ChildFunc: pdfork() -> pd=%d, corresponding pid=%d state='%c'\n", + pd, child, ProcessState(child)); + + pid_t pid; + EXPECT_OK(pdgetpid(pd, &pid)); + EXPECT_EQ(child, pid); + + sleep(2); + + // Send the process descriptor over UNIX domain socket back to parent. + SendFD(pd, shared_sock_fds[1]); + + // Wait for death of (grand)child, killed by our parent. + if (verbose) fprintf(stderr, " ChildFunc: wait on pid=%d\n", child); + int status; + EXPECT_EQ(child, wait4(child, &status, __WALL, NULL)); + + if (verbose) fprintf(stderr, " ChildFunc: return 0\n"); + return 0; +} + +#define STACK_SIZE (1024 * 1024) +static char child_stack[STACK_SIZE]; + +// TODO(drysdale): fork into a user namespace first so GTEST_SKIP_IF_NOT_ROOT can be removed. +TEST(Linux, PidNamespacePdForkIfRoot) { + GTEST_SKIP_IF_NOT_ROOT(); + // Pass process descriptors in both directions across a PID namespace boundary. + // pdfork() off a child before we start, holding its process descriptor in a global + // variable that's accessible to children. + pid_t firstborn = pdfork(&shared_pd, 0); + EXPECT_OK(firstborn); + if (firstborn == 0) { + while (true) { + if (verbose) fprintf(stderr, " Firstborn: \"I aten't dead\"\n"); + sleep(1); + } + exit(0); + } + EXPECT_PID_ALIVE(firstborn); + if (verbose) fprintf(stderr, "Parent: pre-pdfork()ed pd=%d, pid=%d state='%c'\n", + shared_pd, firstborn, ProcessState(firstborn)); + sleep(2); + + // Prepare sockets to communicate with child process. + EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); + + // Clone into a child process with a new pid namespace. + pid_t child = clone(ChildFunc, child_stack + STACK_SIZE, + CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); + EXPECT_OK(child); + EXPECT_PID_ALIVE(child); + if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); + + // Ensure the child runs. First thing it does is to kill our firstborn, using shared_pd. + sleep(1); + EXPECT_PID_DEAD(firstborn); + + // But we can still retrieve firstborn's PID, as it's not been reaped yet. + pid_t child0; + EXPECT_OK(pdgetpid(shared_pd, &child0)); + EXPECT_EQ(firstborn, child0); + if (verbose) fprintf(stderr, "Parent: check on firstborn: pdgetpid(pd=%d) -> child=%d state='%c'\n", + shared_pd, child0, ProcessState(child0)); + + // Now reap it. + int status; + EXPECT_EQ(firstborn, waitpid(firstborn, &status, __WALL)); + + // Get the process descriptor of the child-of-child via socket transfer. + int grandchild_pd = ReceiveFD(shared_sock_fds[0]); + + // Our notion of the pid associated with the grandchild is in the main PID namespace. + pid_t grandchild; + EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); + EXPECT_NE(2, grandchild); + if (verbose) fprintf(stderr, "Parent: pre-pdkill: pdgetpid(grandchild_pd=%d) -> grandchild=%d state='%c'\n", + grandchild_pd, grandchild, ProcessState(grandchild)); + EXPECT_PID_ALIVE(grandchild); + + // Kill the grandchild via the process descriptor. + EXPECT_OK(pdkill(grandchild_pd, SIGINT)); + usleep(10000); + if (verbose) fprintf(stderr, "Parent: post-pdkill: pdgetpid(grandchild_pd=%d) -> grandchild=%d state='%c'\n", + grandchild_pd, grandchild, ProcessState(grandchild)); + EXPECT_PID_DEAD(grandchild); + + sleep(2); + + // Wait for the child. + EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); + int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + + close(shared_sock_fds[0]); + close(shared_sock_fds[1]); + close(shared_pd); + close(grandchild_pd); +} + +int NSInit(void *data) { + // This function is running in a new PID namespace, and so is pid 1. + if (verbose) fprintf(stderr, " NSInit: pid=%d, ppid=%d\n", getpid_(), getppid()); + EXPECT_EQ(1, getpid_()); + EXPECT_EQ(0, getppid()); + + int pd; + pid_t child = pdfork(&pd, 0); + EXPECT_OK(child); + if (child == 0) { + // Child: loop forever until terminated. + if (verbose) fprintf(stderr, " child of NSInit: pid=%d, ppid=%d\n", getpid_(), getppid()); + while (true) { + if (verbose) fprintf(stderr, " child of NSInit: \"I aten't dead\"\n"); + usleep(100000); + } + exit(0); + } + EXPECT_EQ(2, child); + EXPECT_PID_ALIVE(child); + if (verbose) fprintf(stderr, " NSInit: pdfork() -> pd=%d, corresponding pid=%d state='%c'\n", + pd, child, ProcessState(child)); + sleep(1); + + // Send the process descriptor over UNIX domain socket back to parent. + SendFD(pd, shared_sock_fds[1]); + close(pd); + + // Wait for a byte back in the other direction. + int value; + if (verbose) fprintf(stderr, " NSInit: block waiting for value\n"); + read(shared_sock_fds[1], &value, sizeof(value)); + + if (verbose) fprintf(stderr, " NSInit: return 0\n"); + return 0; +} + +TEST(Linux, DeadNSInitIfRoot) { + GTEST_SKIP_IF_NOT_ROOT(); + + // Prepare sockets to communicate with child process. + EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); + + // Clone into a child process with a new pid namespace. + pid_t child = clone(NSInit, child_stack + STACK_SIZE, + CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); + usleep(10000); + EXPECT_OK(child); + EXPECT_PID_ALIVE(child); + if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); + + // Get the process descriptor of the child-of-child via socket transfer. + int grandchild_pd = ReceiveFD(shared_sock_fds[0]); + pid_t grandchild; + EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); + if (verbose) fprintf(stderr, "Parent: grandchild is %d state='%c'\n", grandchild, ProcessState(grandchild)); + + // Send an int to the child to trigger its termination. Grandchild should also + // go, as its init process is gone. + int zero = 0; + if (verbose) fprintf(stderr, "Parent: write 0 to pipe\n"); + write(shared_sock_fds[0], &zero, sizeof(zero)); + EXPECT_PID_ZOMBIE(child); + EXPECT_PID_GONE(grandchild); + + // Wait for the child. + int status; + EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); + int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + EXPECT_PID_GONE(child); + + close(shared_sock_fds[0]); + close(shared_sock_fds[1]); + close(grandchild_pd); + + if (verbose) { + fprintf(stderr, "Parent: child %d in state='%c'\n", child, ProcessState(child)); + fprintf(stderr, "Parent: grandchild %d in state='%c'\n", grandchild, ProcessState(grandchild)); + } +} + +TEST(Linux, DeadNSInit2IfRoot) { + GTEST_SKIP_IF_NOT_ROOT(); + + // Prepare sockets to communicate with child process. + EXPECT_OK(socketpair(AF_UNIX, SOCK_STREAM, 0, shared_sock_fds)); + + // Clone into a child process with a new pid namespace. + pid_t child = clone(NSInit, child_stack + STACK_SIZE, + CLONE_FILES|CLONE_NEWPID|SIGCHLD, NULL); + usleep(10000); + EXPECT_OK(child); + EXPECT_PID_ALIVE(child); + if (verbose) fprintf(stderr, "Parent: child is %d state='%c'\n", child, ProcessState(child)); + + // Get the process descriptor of the child-of-child via socket transfer. + int grandchild_pd = ReceiveFD(shared_sock_fds[0]); + pid_t grandchild; + EXPECT_OK(pdgetpid(grandchild_pd, &grandchild)); + if (verbose) fprintf(stderr, "Parent: grandchild is %d state='%c'\n", grandchild, ProcessState(grandchild)); + + // Kill the grandchild + EXPECT_OK(pdkill(grandchild_pd, SIGINT)); + usleep(10000); + EXPECT_PID_ZOMBIE(grandchild); + // Close the process descriptor, so there are now no procdesc references to grandchild. + close(grandchild_pd); + + // Send an int to the child to trigger its termination. Grandchild should also + // go, as its init process is gone. + int zero = 0; + if (verbose) fprintf(stderr, "Parent: write 0 to pipe\n"); + write(shared_sock_fds[0], &zero, sizeof(zero)); + EXPECT_PID_ZOMBIE(child); + EXPECT_PID_GONE(grandchild); + + // Wait for the child. + int status; + EXPECT_EQ(child, waitpid(child, &status, WNOHANG)); + int rc = WIFEXITED(status) ? WEXITSTATUS(status) : -1; + EXPECT_EQ(0, rc); + + close(shared_sock_fds[0]); + close(shared_sock_fds[1]); + + if (verbose) { + fprintf(stderr, "Parent: child %d in state='%c'\n", child, ProcessState(child)); *** 538 LINES SKIPPED *** From nobody Mon Mar 23 15:08:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4P5zpgz6W723 for ; Mon, 23 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffc4P4wJnz46xN for ; Mon, 23 Mar 2026 15:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FyPvAE72tZRjKpgpXNYPpMECbZQ6TTI364rNvIT9AGw=; b=pL3D/XDLqJxI96I4DdoYgPGxfTEpdm6LhB505NBz6zki/6FCifs68sC3GzvbrenJSOCMIu w7yTIGdghDqZ+5jq0zR2Rx5+PmITrjS2CWaHwkBxMRNkom8Hee3fQp6AmRXc6a3cMP+e6H qyeJ/HoQsd4DKEs7PvmK8buunrydRXdRzHuTZr6foHldgWp+g+uc701tCVGvz4NwqFfBqK QHttb5SkzKP26vPEPhly7VTVLK7C1h8D/22MPHEduWxOLWrYJFawNcFObw3RBuAqsiMejb 8BQUgI4yE1NKfW4lfc4DEDNQb7uk5kiY0UeY9rx3G60/Pd9ekfz7HUvp+tsHfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774278501; a=rsa-sha256; cv=none; b=U3+/of+Dqg53spPy2/byEcIdFCA1mtf5A0gKCXkm22OZ1fC8QgULLTUhQ6yUBPHmSPsWkm POwEN1kDBIQoiFrMHqTwGeUUq0BHiJ0Mr8O8Wgf9bHKylicFx5jPP34VJeih+Lsf3cWNu/ xOF6sL4KJk7glkNnSl+ydRQxnYAoWkeW/9oqCJFoISL4oTdjTcsAeA0rUe7aqqNCIUO+Ox 9r9oKPymsEyfLB3XaGCT+KrSi35Zgxt8qWet9fRa8knNGqmyPeQ1DHn8yLwQMO/ksf2vB2 4X5z8j9hEjv8MasU+iWh1C1/ANBkfsNmjSI2QYK9yxju9O6WV5N9fa2t99l5wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FyPvAE72tZRjKpgpXNYPpMECbZQ6TTI364rNvIT9AGw=; b=PBBsurUNUSu0JbNOJHpEwQDr42u2WN+9+8gTuX+x5MIpdBkiDjQv0IlKPF1DHjM/lTKEAb b+LG4fF9epBKqhCstQXUoDo+hYOuDoiWkIzi3GNV7/H9ZaDv7AK65l9b4NobPr1olQVZD6 Q4DEh9jS/FCt2AONYlBGgt/0HL3lAksEF0X1a5vKmMbu2QWFVK4V02yNmCbER/qVlCgb70 BpXOecIP/EnhHc9jRFAGcCmSLMnX/NoqOIMPrmBCnNwIuHH/8ZF51/hEJBF6Ye5KDJC2h1 VUN/wK5ce5wCMrizjSLhQW6dRfJvKbqOHZ9aCyFkjSo3L8T2QF9NFix9ADCi2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4P3shfztNt for ; Mon, 23 Mar 2026 15:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dcf2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 15:08:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 9b6ebd80ca83 - stable/15 - yes: Add tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9b6ebd80ca83749496512ed373a2b9b6fbe5e920 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 15:08:21 +0000 Message-Id: <69c15765.1dcf2.295e8cbf@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9b6ebd80ca83749496512ed373a2b9b6fbe5e920 commit 9b6ebd80ca83749496512ed373a2b9b6fbe5e920 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-11 03:44:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-22 17:32:40 +0000 yes: Add tests MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55802 (cherry picked from commit 67728a18b9c18e55cc60e063380825b80f25b1b9) --- etc/mtree/BSD.tests.dist | 2 + usr.bin/yes/Makefile | 4 ++ usr.bin/yes/tests/Makefile | 4 ++ usr.bin/yes/tests/yes_test.sh | 85 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 84534aaaf180..666f852970a0 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1263,6 +1263,8 @@ yacc .. .. + yes + .. .. usr.sbin certctl diff --git a/usr.bin/yes/Makefile b/usr.bin/yes/Makefile index b1d4075b5917..545c95d00624 100644 --- a/usr.bin/yes/Makefile +++ b/usr.bin/yes/Makefile @@ -1,3 +1,7 @@ +.include + PROG= yes +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests .include diff --git a/usr.bin/yes/tests/Makefile b/usr.bin/yes/tests/Makefile new file mode 100644 index 000000000000..874a1bc21751 --- /dev/null +++ b/usr.bin/yes/tests/Makefile @@ -0,0 +1,4 @@ +PACKAGE= tests +ATF_TESTS_SH= yes_test + +.include diff --git a/usr.bin/yes/tests/yes_test.sh b/usr.bin/yes/tests/yes_test.sh new file mode 100644 index 000000000000..f4c04e186536 --- /dev/null +++ b/usr.bin/yes/tests/yes_test.sh @@ -0,0 +1,85 @@ +# +# Copyright (c) 2026 Klara, Inc. +# +# SPDX-License-Identifier: BSD-2-Clause +# + +atf_test_case none +none_head() +{ + atf_set "descr" "No arguments" +} +none_body() +{ + atf_check \ + -o inline:"y\ny\ny\ny\ny\n" \ + -x "yes | head -5" +} + +atf_test_case one +one_head() +{ + atf_set "descr" "One argument" +} +one_body() +{ + local y="Hello, world!" + atf_check \ + -o inline:"${y}\n${y}\n${y}\n${y}\n${y}\n" \ + -x "yes '${y}' | head -5" +} + +atf_test_case multi +multi_head() +{ + atf_set "descr" "Multiple arguments" +} +multi_body() +{ + set -- The Magic Words are Squeamish Ossifrage + local y="$*" + atf_check \ + -o inline:"${y}\n${y}\n${y}\n${y}\n${y}\n" \ + -x "yes $* | head -5" +} + +atf_test_case argv +argv_head() +{ + atf_set "descr" "Verify that argv is unmolested" +} +argv_body() +{ + yes y >/dev/null & + local pid=$! + atf_check -o inline:"yes y\n" ps -o args= $pid + kill $pid + wait +} + +atf_test_case stdout +stdout_head() +{ + atf_set descr "Error writing to stdout" +} +stdout_body() +{ + ( + trap "" PIPE + # Give true(1) some time to exit. + sleep 1 + yes 2>stderr + echo $? >result + ) | true + atf_check -o inline:"1\n" cat result + atf_check -o match:"stdout" cat stderr +} + +atf_init_test_cases() +{ + atf_add_test_case none + atf_add_test_case one + atf_add_test_case multi + atf_add_test_case argv + atf_add_test_case stdout +} From nobody Mon Mar 23 15:08:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4R13slz6W6HN for ; Mon, 23 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffc4Q5hKbz470f for ; Mon, 23 Mar 2026 15:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278502; h=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=B+E8MLYa/Ux3ia19NJTMugGYrKBF3WrRl0u29fPG7HA=; b=gomXnbZT6RPuGDLJma3oUX9qy0vaI6BapxP/V1BIeUa3uBgXFJLKbZYVEINR7WKCpNv4Y1 BRydCQZnQLqavqGnJHOQSal+elLLRJyUYto4/ZCBSRziTGDW0tBg5mDOebUlFO16ytZang DF9rK00o4ymctSwBgqB4sDPc4Y6fYqgiFGvFemVoxp1pf8f3Ucv4q4jJCBfkHOm7GU9Yne 2Gd8po0+8KCmV3U7zFFLlKU0CGMFbgmraNMshVbl7hPO9m8bJ3MedVejQMi6xOSVFjvGYg BPBQxKWHrDhexqR/zkKPY55KiV55YB4adc0rXMqOH3pGkrif2MiS3Sw6jZW4og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774278502; a=rsa-sha256; cv=none; b=X9IcF3Znb3y44PmDWn1dROui0GLxGrh3XoiXk+1Jh+AT/oTJvPs42DPX8mF2kidQpSqcMM T48PCQ+vboLHfLxXcTMv2Gyjvl1t6u4EIlgopI7HQ/H+uIuzmELdWRoY1MfdfWHLThbPDf tiwecnp+Jhjg8hCwY/a7WPMZgFJpl7rgBJCgpPBdDhCsaaNl9ONEKPQvGNZQszXvK8+iCd kazWeCkkh40SnAz/PgshpvQUUdzTz5L0wv/9lg4KJKgFBPYX+A4HHwo1dNiYa8wCWfkfp1 Cgln+UNwt9e/cSHRaJMrlGzdyR4Yf2nkCvvTyUx3P0N9OgCpyHFJlQf7fZyPoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278502; h=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=B+E8MLYa/Ux3ia19NJTMugGYrKBF3WrRl0u29fPG7HA=; b=CkG2TAyv8+uUdEGy5w16zBjuUuXAYXQTmaWz79Peq5annq+rjH7g7nFw5Rhf3EcGWKsIsU EhN47Mq/o2tuAo+JU/lJEk9MT44przFajfaRaIKBjcAySp+VmvLCx4iHG+PLWuM4GtT3Oj 71fwq+XbQw6Fl7KyVtwpCaNHFRm3av8FJ3+WxyPudhLJxOdG9k9dAI4Fr2Bzu15hhDut8h vdXHR/fXRjXcMvBAuYk26WAAQBXcoUfnLmB2yxNx7cQ0w9PnscDl+R0l/S2oTeSFZrd5Jf DrKxgeI/gSL+kh6RnJ2K4vTlCddPm10HIyDfArlRiRADNKaoSb7S2GkqZjN66g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4Q4kWpztDH for ; Mon, 23 Mar 2026 15:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ef3a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 15:08:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christos Longros From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: c988f316d6c6 - stable/15 - resolver.5: document six previously undocumented options List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c988f316d6c6146debc92ca16e46a0eff6ad88c6 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 15:08:22 +0000 Message-Id: <69c15766.1ef3a.11598259@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c988f316d6c6146debc92ca16e46a0eff6ad88c6 commit c988f316d6c6146debc92ca16e46a0eff6ad88c6 Author: Christos Longros AuthorDate: 2026-03-15 15:17:04 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-22 17:32:40 +0000 resolver.5: document six previously undocumented options Document the edns0, inet6, insecure1, insecure2, no-check-names, and rotate options which are parsed by res_init(3) but were not described in the resolver(5) man page. MFC after: 1 week Signed-off-by: Christos Longros Reviewed by: des Differential Revision: https://reviews.freebsd.org/D55864 (cherry picked from commit 462a1f6197fa3de63e0eca2835b1d5b0bc6a3bbb) --- share/man/man5/resolver.5 | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/share/man/man5/resolver.5 b/share/man/man5/resolver.5 index 9f8c0d689a0a..4dd3f8c93a99 100644 --- a/share/man/man5/resolver.5 +++ b/share/man/man5/resolver.5 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 23, 2022 +.Dd March 15, 2026 .Dt RESOLVER 5 .Os .Sh NAME @@ -170,6 +170,38 @@ the allowed maximum is .Dv RES_MAXRETRY (see .In resolv.h ) . +.It Sy edns0 +Sets +.Dv RES_USE_EDNS0 . +Attach an OPT pseudo-RR for the EDNS0 extension, +as specified in RFC 2671. +This allows the resolver to advertise a larger UDP receive buffer size, +permitting responses larger than the original 512-byte limit. +.It Sy inet6 +Sets +.Dv RES_USE_INET6 . +Causes +.Xr gethostbyname 3 +to look up AAAA records before A records +and to map IPv4 responses into IPv6 addresses. +The use of this option is discouraged. +.It Sy insecure1 +Sets +.Dv RES_INSECURE1 . +Disables the check that the response was received from the +same server to which the query was sent. +Use of this option is a security risk and is not recommended. +.It Sy insecure2 +Sets +.Dv RES_INSECURE2 . +Disables the check that the response contains a query +matching the one that was sent. +Use of this option is a security risk and is not recommended. +.It Sy no-check-names +Sets +.Dv RES_NOCHECKNAME . +Disables the check of incoming host names for invalid characters +such as underscore, non-ASCII, or control characters. .It Sy no_tld_query tells the resolver not to attempt to resolve a top level domain name, that is, a name that contains no dots. @@ -179,6 +211,12 @@ the resolver from obeying the standard and .Sy search rules with the given name. +.It Sy rotate +Sets +.Dv RES_ROTATE . +Causes the resolver to round-robin among the configured name servers, +distributing the query load instead of always trying the first +listed server. .It Sy reload-period : Ns Ar n The resolver checks the modification time of .Pa /etc/resolv.conf From nobody Mon Mar 23 15:08:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4S45gjz6W7Gb for ; Mon, 23 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffc4S0J0Jz470m for ; Mon, 23 Mar 2026 15:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mIQqclkVbn1B524fSRkhccvG2Hn8C9S31zHjvvdF05A=; b=gOrxyOvxM3drNMLKQ+CAEWjKPiLRBBI0oWNG00AYsGI0Z5JcgO+cOzRq6/XCG+JNKUGYSd w1dZ6CrRM2NHR5Zmj9E/cS2e95PH9M4Zvq2Oy01yA/Urmcce5glGssr68wjTN1ZlxigPc1 4RWJ5yFc2dGBXE1MVtd50NbIElT3L8RxbOGq67paJhB53u1edVpbnnxDnvkW+h29hV1xwh ETeB3Z2ABI4rgjpRaDIEXi7ETHCaL5GhBwWaTMbPvCvFBddZRb/gdrI5hR4Ue3HYjhki/z VsshH6IeDwUVqhASIpF4rCEcGBTsWDYcN2LMCYfLJTq3dstRHr81XPcRouWBBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774278504; a=rsa-sha256; cv=none; b=FV2IOQXoeUVfFsrBEtLhxasGprwrQTpX7Ssg0FWHvzILP4LCBUjl3FtlQ7dUqkOhjd7UoB Yk/f5VZ8hGpO0hMcIFysKegF1P5OOCqrSlROuiRwakBXM5PY8l2oVjmOcOCFIVpeKnxZbR RGVFqmzvBSi+v7Uyu1fMqvvlMlkA+gB1154X2mwq9UBGK8pggwC8eYiHCB/j6XoiTvYiXF dSZ8rDv2rS/u3i5yokT5VOQ1K7VC3FvD+jvFiYDIbmnUfqCLSFShkBwuOfu8hRBwvz2VX+ G2ps+k93WFV0pmOB3vpgoHeUie3p6mseRKwxU9V1sYAAkYI/8VSyYHiibmkf3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mIQqclkVbn1B524fSRkhccvG2Hn8C9S31zHjvvdF05A=; b=mVbcEBn7Si+1yqr6edgsAWtpTIzNTo0TnyfueD3ylqatvesgPZugyEx7K1ZjZCXsR2Qy0o PmgHcD0NEWP/fcOHsh56fNhzTTMjFESPfEZqM3j5iH4rb1MO/s5JUVMKxhJe3cCr80d/XR pPzB/OHY1g+SpenBH6g51joNrZAzY0pRQG+Yn17/w0304B8yrFdhPa6vIjkcEUW8TDqGV3 gtSpbLyhaVYGgbvnbeivMWpBXzA/f9zCDWui7FAgm0d6tVSekU25w2cyh2p6zGFd9PnUuy zc0OHSRsbpRPEfB1Ol4JBaQhNnZd16ARK7VJS983VuDQ7REYaJBIJMCaDrAuBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4R56N8zsC9 for ; Mon, 23 Mar 2026 15:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20faa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 15:08:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 47caac85ec51 - stable/15 - queue.h: Reorder STAILQ_INSERT_TAIL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 47caac85ec51e2f3fefc976a5e110f444693b657 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 15:08:23 +0000 Message-Id: <69c15767.20faa.56367333@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=47caac85ec51e2f3fefc976a5e110f444693b657 commit 47caac85ec51e2f3fefc976a5e110f444693b657 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-16 20:36:56 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-22 17:32:41 +0000 queue.h: Reorder STAILQ_INSERT_TAIL The current implementation briefly violates the tail invariant. This is not usually an issue, but if an insert is in flight when a panic occurs, we may then trip the invariant while dumping core. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: obiwac, olce, jhb Differential Revision: https://reviews.freebsd.org/D55819 (cherry picked from commit aa15df4597053c0e95a15b2a7036296999cd562a) --- sys/sys/queue.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index aa6453889e6b..e2603bc664c3 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -499,9 +499,10 @@ struct { \ #define STAILQ_INSERT_TAIL(head, elm, field) do { \ QMD_STAILQ_CHECK_TAIL(head); \ + __typeof__((head)->stqh_last) prevlast = (head)->stqh_last; \ STAILQ_NEXT((elm), field) = NULL; \ - *(head)->stqh_last = (elm); \ (head)->stqh_last = &STAILQ_NEXT((elm), field); \ + *prevlast = (elm); \ } while (0) #define STAILQ_LAST(head, type, field) \ From nobody Mon Mar 23 15:08:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4T6cwYz6W7Gg for ; Mon, 23 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffc4T3gzlz47KL for ; Mon, 23 Mar 2026 15:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uZofXd3OXvTppFHznaHBxo+EALDNK7IvQ5Gm1df0DZ8=; b=xIwf73hXohhu5aZ88SF7rK+xYdbJUPYYRentjmyZ/ZohQjyLIQ+cW7ClmtIeXxx4w8kpxg Sl2yXSOUvZAxua0K17O/ZfAXhmfkaYgnrvETuKVPa4ueUh7ClDRaxfSB+tba4dAyrIST8H 2O8vG59ni6zNZJlz5Gavd12FhyUhyYTnLTBrU7qqbW78Lf/zATwptF5Ek4UkhlBk5VXobV UAbV3Tboe+s/7ExK6SzBatsEseO6KT0zb15vPBCC80uWd2cNnQlwjrWAlYXauWoztqBK+Z ocvS8gNWa48dpVtcwxSznE3A/DarBtO2G07yAC6XE1kIPeepMUO6+BDp1xfKGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774278505; a=rsa-sha256; cv=none; b=Ub8T1X0mix2tNsYi9olp/1JZGwjSoVMtyoHFxiOS6CdiH+LGVbn3REtrIFc6vMQMn6Qakn jrLQRoMeejGS9RKeYO0630JTEbR2FvbS3XhAyoX8YQJATRqra3ZS2fAY7f8n6xL95A0uEY +1PyIqrCWVPY5QhAz9aAiejDqdgnOu7LCDkhsdAXTVB7Yy6Uz8hdvLO2YvZ2F3exBPoBrM ishJLkscjiPP4hCipGGOddTaOP0y3BRuLBUkdUARYElikw0ZLRCGLtdGEV900u8IDEhAi0 eclUt4EHjG8lceq6HSqHL3ijX1x3NRwXiQlleNj2jQ5RyBOtTdjXZUbtsFs8Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774278505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uZofXd3OXvTppFHznaHBxo+EALDNK7IvQ5Gm1df0DZ8=; b=xpwwI5pM7h3Ynw8Zmk65C7v3qWGKEA11FYmGPwLmBNNr8VDzd8whwh+UkBvB0td5kz5nwb RLs85aRBT7pWK7Ec/JrNMg5nozKy2aqRM1yCAVzUtLGPkWGYl3lQfgPdja+rcXNcul6byq kAnYLDwzhXS2dw03STNAY6r0GFR2ecGMYApaLt3xs7CLQY2g53lZtkPNilgv7AeFxJ5ymt +5CerY32Uh/QnCANXAgntzj81uOkguOLdsJ3gsjntG1+FkH1gs5ShyJTva8cGuet24hCyQ ndSbbt2hnneU7sGZvGCrROL6QMQDdbgd2b/ZiaoqFPR/LM+CTBGGm1ZCRzVQKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffc4T2wQ3zsvj for ; Mon, 23 Mar 2026 15:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dc64 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 15:08:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: f2e600ff156d - stable/15 - yes: Completely overengineer List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f2e600ff156d6ac80630b199c3781ac3c1527a9c Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 15:08:20 +0000 Message-Id: <69c15764.1dc64.13379aa0@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f2e600ff156d6ac80630b199c3781ac3c1527a9c commit f2e600ff156d6ac80630b199c3781ac3c1527a9c Author: Dag-Erling Smørgrav AuthorDate: 2026-03-10 10:18:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-22 17:32:39 +0000 yes: Completely overengineer If we're going to overengineer this, we may as well go all the way. * If multiple arguments are given, concatenate them into a space- separated list like GNU coreutils does. * When duplicating the expletive, do so exponentially. * Most importantly, don't modify the memory that argv points to. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude Differential Revision: https://reviews.freebsd.org/D55617 (cherry picked from commit cf74b63d61b49db848ecc20b87e7ee5f16671320) yes: Add missing header This is a no-op on FreeBSD due to namespace pollution. MFC after: 1 week Sponsored by: Klara, Inc. Fixes: cf74b63d61b4 ("yes: Completely overengineer") (cherry picked from commit ba7439f0a9604b15bfef8084816f34d55eb6bdf2) --- usr.bin/yes/yes.1 | 6 +++-- usr.bin/yes/yes.c | 76 +++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/usr.bin/yes/yes.1 b/usr.bin/yes/yes.1 index 8ed8beab0d28..689031345dc3 100644 --- a/usr.bin/yes/yes.1 +++ b/usr.bin/yes/yes.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 4, 2014 +.Dd March 2, 2026 .Dt YES 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd be repetitively affirmative .Sh SYNOPSIS .Nm -.Op Ar expletive +.Op Ar expletive ... .Sh DESCRIPTION The .Nm @@ -42,6 +42,8 @@ utility outputs or, by default, .Dq y , forever. +If multiple arguments are given, they are concatenated into a single +space-separated string. .Sh SEE ALSO .Xr jot 1 , .Xr seq 1 diff --git a/usr.bin/yes/yes.c b/usr.bin/yes/yes.c index d9e896b6ea27..86022c82f453 100644 --- a/usr.bin/yes/yes.c +++ b/usr.bin/yes/yes.c @@ -31,44 +31,76 @@ #include #include +#include #include #include #include +/* + * Default expletive + */ +#define EXP "y\n" +#define EXPLEN strlen(EXP) + +/* + * Optimum and maximum buffer size. The optimum is just a little less + * than the default value of kern.ipc.pipe_mindirect; writing more than + * that is significantly slower, but we want to get as close as possible + * to minimize the number of system calls. The maximum is enough for a + * maximal command line plus a newline and terminating NUL. + */ +#define OPTBUF 8190 +#define MAXBUF (ARG_MAX + 2) + int main(int argc, char **argv) { - char buf[8192]; - char y[2] = { 'y', '\n' }; - char * exp = y; - size_t buflen = 0; - size_t explen = sizeof(y); - size_t more; - ssize_t ret; + static char buf[MAXBUF] = EXP; + char *end = buf + sizeof(buf), *exp, *pos = buf + EXPLEN; + size_t buflen, explen = EXPLEN; + ssize_t wlen = 0; if (caph_limit_stdio() < 0 || caph_enter() < 0) err(1, "capsicum"); - if (argc > 1) { - exp = argv[1]; - explen = strlen(exp) + 1; - exp[explen - 1] = '\n'; - } + argc -= 1; + argv += 1; - if (explen <= sizeof(buf)) { - while (buflen < sizeof(buf) - explen) { - memcpy(buf + buflen, exp, explen); - buflen += explen; + /* Assemble the expletive */ + if (argc > 0) { + /* Copy positional arguments into expletive buffer */ + for (pos = buf, end = buf + sizeof(buf); + argc > 0 && pos < end; argc--, argv++) { + /* Separate with spaces */ + if (pos > buf) + *pos++ = ' '; + exp = *argv; + while (*exp != '\0' && pos < end) + *pos++ = *exp++; } - exp = buf; - explen = buflen; + /* This should not be possible, but check anyway */ + if (pos > end - 2) + pos = end - 2; + *pos++ = '\n'; + explen = pos - buf; } - more = explen; - while ((ret = write(STDOUT_FILENO, exp + (explen - more), more)) > 0) - if ((more -= ret) == 0) - more = explen; + /* + * Double until we're past OPTBUF, then reduce buflen to exactly + * OPTBUF. It doesn't matter if that's not a multiple of explen; + * the modulo operation in the write loop will take care of that. + */ + for (buflen = explen; buflen < OPTBUF; pos += buflen, buflen += buflen) + memcpy(pos, buf, buflen); + if (explen < OPTBUF && buflen > OPTBUF) + buflen = OPTBUF; + /* Dump it to stdout */ + end = (pos = buf) + buflen; + do { + pos = buf + (pos - buf + wlen) % explen; + wlen = write(STDOUT_FILENO, pos, end - pos); + } while (wlen > 0); err(1, "stdout"); /*NOTREACHED*/ } From nobody Mon Mar 23 15:42:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffcqh4vYkz6W9cj for ; Mon, 23 Mar 2026 15:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffcqh27rdz4F23 for ; Mon, 23 Mar 2026 15:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774280544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZC/B1GQDRJrhGlBxlWf4E20TxbTUi4mhdd+Aa7v0fzc=; b=qvmI70/v0dbGPZx0Dt1tJzj3j0HIytFZUQBl/4Z7gmCO0JzisvwO4mS+xvS4lHy5BktGzC nl4HNvPev08uPfAS4VJbFBZHtv6w5cl8gHVtG50S7ZDSSMO2NuMMFC4k67v0bH3C+k847E 4vAN0xBQMMXem29vGhC0cQ0nAwd+GttdGSer2rrq3Gu23cZddQwMCagV294YQpaRoAvKlw 9SZmdt86Ok5PkKjAs7HRSyPLPGArgiVhS1noyUxI4oXwLufyC38DGZtFwRK5r5Sd3pXxAs +U+WH0AenTAu0dCubOmEiNfeSCe5lmyFDuD8NqKTKp9FJhqMbPhWfVE8rLoKOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774280544; a=rsa-sha256; cv=none; b=y2sqKzL0o9VlWhtR6cJVBlcYPAVM064cWHX/wZhGAo6fsJwA7SFn4MDABwOTtio6Xkhd6K C9bJFcmj+mKOTROP4xcxgjzabt0SPZ4zNT5QyUTrer2iYyW6kJXtcRskosmQCnVQ9Q7cOr qR1IVNK2cRqmTd2h0bYrB2sKl6sLAOZRTJf/W94nkoM7e3d8tFM/q8y0dk79lb0c0sEx3T SG90qE3FET7W+Xnyk6d01rU+y8cJCzWaukTRdkhbDK8BTdcWFGAbR1mZwneRJ04FN3nSyw AEt2Q6xoPP9pER7rNY6x/Bl4c6UppvbC3HMuWXf4W4hoOOQe6rCtpjZA/R1GYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774280544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZC/B1GQDRJrhGlBxlWf4E20TxbTUi4mhdd+Aa7v0fzc=; b=SVY3PPr1ZneDO49NpJCZZW3xHJxHC8Pkp0Og5LBY6dfKmxzXaFdaJdx7eHhog3+SWIn0RG rzrwmWTZnUne4n1/kYU9+dfTjjdA759X20sXzSI1mlHdjeO3yXXDlGxiMo31waJDNQHzlJ cKL9uzIF5LQAgC1gEPGGtwMzmys2T8/tc7K5IGENqCgOJowCbprzqS8bX1qKy3ogFCgI06 ufEULQusz6a4pSWrvS2807vbMSfTwEk1cPEn+N0dd7GvY0PVDr5//G570//zedlDkxQRgA DgbgaezN79oWVTXZkLNcCTAhBV45G7bXtqdhn1H84sCZvi8x9R7D61I6g+cjZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffcqh1jkbzv0b for ; Mon, 23 Mar 2026 15:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24707 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 15:42:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: b5b9517bfe39 - main - libcbor: Update to 0.13.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5b9517bfe394e55088f5a05882eabae7e9b7b29 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 15:42:23 +0000 Message-Id: <69c15f5f.24707.389dfe42@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b5b9517bfe394e55088f5a05882eabae7e9b7b29 commit b5b9517bfe394e55088f5a05882eabae7e9b7b29 Merge: fce6921464b5 0427abbc78cf Author: Ed Maste AuthorDate: 2026-03-23 15:41:51 +0000 Commit: Ed Maste CommitDate: 2026-03-23 15:41:51 +0000 libcbor: Update to 0.13.0 Sponsored by: The FreeBSD Foundation contrib/libcbor/.circleci/config.yml | 93 +++-- contrib/libcbor/.cirrus.yml | 9 +- contrib/libcbor/.clang-format | 2 +- contrib/libcbor/.github/workflows/fuzz-pr.yml | 2 +- contrib/libcbor/.github/workflows/fuzz.yml | 2 +- contrib/libcbor/.gitignore | 6 +- contrib/libcbor/.vscode/settings.json | 6 + contrib/libcbor/BUILD | 58 +++ contrib/libcbor/Bazel.md | 100 ----- contrib/libcbor/CHANGELOG.md | 81 +++- contrib/libcbor/CMakeLists.txt | 341 +++++++++++------ contrib/libcbor/CONTRIBUTING.md | 17 + contrib/libcbor/Doxyfile | 2 +- contrib/libcbor/MODULE.bazel | 1 + contrib/libcbor/README.md | 53 ++- contrib/libcbor/doc/source/api.rst | 14 +- .../doc/source/api/item_reference_counting.rst | 1 + .../libcbor/doc/source/api/streaming_encoding.rst | 2 +- .../api/{type_0_1.rst => type_0_1_integers.rst} | 0 .../api/{type_2.rst => type_2_byte_strings.rst} | 2 +- .../source/api/{type_3.rst => type_3_strings.rst} | 2 +- .../source/api/{type_4.rst => type_4_arrays.rst} | 2 +- .../doc/source/api/{type_5.rst => type_5_maps.rst} | 0 .../doc/source/api/{type_6.rst => type_6_tags.rst} | 7 +- .../api/{type_7.rst => type_7_floats_ctrls.rst} | 9 +- contrib/libcbor/doc/source/conf.py | 4 +- contrib/libcbor/doc/source/development.rst | 18 +- contrib/libcbor/doc/source/getting_started.rst | 76 +++- contrib/libcbor/doc/source/index.rst | 4 +- contrib/libcbor/doc/source/internal.rst | 6 +- contrib/libcbor/doc/source/requirements.in | 5 + contrib/libcbor/doc/source/requirements.txt | 114 ++++-- .../libcbor/doc/source/standard_conformance.rst | 2 +- contrib/libcbor/doc/source/tutorial.rst | 66 ++++ contrib/libcbor/doc/source/using.rst | 174 --------- contrib/libcbor/examples/CMakeLists.txt | 19 +- contrib/libcbor/examples/bazel/MODULE.bazel | 13 + contrib/libcbor/examples/bazel/WORKSPACE | 19 - contrib/libcbor/examples/bazel/src/BUILD | 10 +- contrib/libcbor/examples/bazel/src/hello_test.cc | 10 +- .../examples/bazel/third_party/libcbor.BUILD | 21 -- .../bazel/third_party/libcbor/cbor/configuration.h | 2 +- contrib/libcbor/examples/cbor2cjson.c | 3 +- contrib/libcbor/examples/cbor_sequence.c | 109 ++++++ contrib/libcbor/examples/cjson2cbor.c | 32 +- contrib/libcbor/examples/crash_course.c | 183 +++++++++ contrib/libcbor/examples/sort.c | 12 +- contrib/libcbor/examples/streaming_array.c | 3 +- contrib/libcbor/examples/streaming_parser.c | 8 +- contrib/libcbor/misc/asan_suppressions.osx.supp | 3 + contrib/libcbor/misc/hooks/pre-commit | 9 +- contrib/libcbor/misc/update_version.py | 14 +- contrib/libcbor/oss-fuzz/build.sh | 10 +- contrib/libcbor/oss-fuzz/cbor_load_fuzzer.cc | 2 +- contrib/libcbor/release.sh | 20 +- contrib/libcbor/src/CMakeLists.txt | 108 ++++-- contrib/libcbor/src/cbor.c | 196 ++++++++-- contrib/libcbor/src/cbor.h | 11 + contrib/libcbor/src/cbor/arrays.c | 53 +-- contrib/libcbor/src/cbor/arrays.h | 3 +- contrib/libcbor/src/cbor/bytestrings.c | 44 +-- contrib/libcbor/src/cbor/bytestrings.h | 26 +- contrib/libcbor/src/cbor/callbacks.c | 86 ++--- contrib/libcbor/src/cbor/callbacks.h | 68 ++-- contrib/libcbor/src/cbor/common.c | 82 ++-- contrib/libcbor/src/cbor/common.h | 138 ++++--- contrib/libcbor/src/cbor/encoding.c | 80 ++-- contrib/libcbor/src/cbor/encoding.h | 71 ++-- contrib/libcbor/src/cbor/floats_ctrls.c | 94 ++--- contrib/libcbor/src/cbor/floats_ctrls.h | 53 +-- .../libcbor/src/cbor/internal/builder_callbacks.c | 160 ++++---- .../libcbor/src/cbor/internal/builder_callbacks.h | 54 +-- contrib/libcbor/src/cbor/internal/encoders.c | 47 +-- contrib/libcbor/src/cbor/internal/encoders.h | 10 +- contrib/libcbor/src/cbor/internal/loaders.c | 16 +- contrib/libcbor/src/cbor/internal/loaders.h | 8 +- contrib/libcbor/src/cbor/internal/stack.c | 10 +- contrib/libcbor/src/cbor/internal/stack.h | 10 +- contrib/libcbor/src/cbor/ints.c | 98 ++--- contrib/libcbor/src/cbor/ints.h | 48 +-- contrib/libcbor/src/cbor/maps.c | 36 +- contrib/libcbor/src/cbor/maps.h | 26 +- contrib/libcbor/src/cbor/serialization.c | 75 ++-- contrib/libcbor/src/cbor/serialization.h | 31 +- contrib/libcbor/src/cbor/streaming.c | 11 +- contrib/libcbor/src/cbor/strings.c | 56 +-- contrib/libcbor/src/cbor/strings.h | 37 +- contrib/libcbor/src/cbor/tags.c | 26 +- contrib/libcbor/src/cbor/tags.h | 48 +-- contrib/libcbor/src/libcborConfig.cmake.in | 3 + contrib/libcbor/test/CMakeLists.txt | 36 +- contrib/libcbor/test/array_encoders_test.c | 14 +- contrib/libcbor/test/array_test.c | 50 +-- contrib/libcbor/test/bad_inputs_test.c | 20 +- contrib/libcbor/test/bytestring_encoders_test.c | 6 +- contrib/libcbor/test/bytestring_test.c | 46 +-- contrib/libcbor/test/callbacks_test.c | 75 ++-- contrib/libcbor/test/cbor_serialize_test.c | 272 +++++++------- contrib/libcbor/test/cbor_stream_decode_test.c | 110 +++--- contrib/libcbor/test/copy_test.c | 411 +++++++++++++++++++-- contrib/libcbor/test/float_ctrl_encoders_test.c | 34 +- contrib/libcbor/test/float_ctrl_test.c | 41 +- contrib/libcbor/test/fuzz_test.c | 12 +- contrib/libcbor/test/map_encoders_test.c | 6 +- contrib/libcbor/test/map_test.c | 76 ++-- contrib/libcbor/test/memory_utils_test.c | 10 +- contrib/libcbor/test/negint_encoders_test.c | 12 +- contrib/libcbor/test/negint_test.c | 14 +- contrib/libcbor/test/pretty_printer_test.c | 64 ++-- contrib/libcbor/test/stack_over_limit_test.c | 8 +- contrib/libcbor/test/stream_expectations.c | 50 +-- contrib/libcbor/test/stream_expectations.h | 50 +-- contrib/libcbor/test/string_encoders_test.c | 6 +- contrib/libcbor/test/string_test.c | 62 ++-- contrib/libcbor/test/tag_encoders_test.c | 4 +- contrib/libcbor/test/tag_test.c | 36 +- contrib/libcbor/test/test_allocator.c | 16 +- contrib/libcbor/test/test_allocator.h | 8 +- contrib/libcbor/test/uint_encoders_test.c | 12 +- contrib/libcbor/test/uint_test.c | 22 +- contrib/libcbor/test/unicode_test.c | 4 +- 121 files changed, 3254 insertions(+), 2039 deletions(-) diff --cc contrib/libcbor/.cirrus.yml index 948ae23b4a98,000000000000..beaea2a0b6ee mode 100644,000000..100644 --- a/contrib/libcbor/.cirrus.yml +++ b/contrib/libcbor/.cirrus.yml @@@ -1,26 -1,0 +1,25 @@@ +freebsd_task: + install_script: + - ASSUME_ALWAYS_YES=yes pkg bootstrap -f && pkg install -y cmocka cmake ninja + build_script: + - mkdir build + - cd build + - cmake -GNinja -DWITH_TESTS=ON - -DCBOR_CUSTOM_ALLOC=ON + -DCMAKE_BUILD_TYPE=Debug + -DSANITIZE=OFF + .. + - ninja -j $(sysctl -n hw.ncpu) + test_script: + - cd build + - ctest -VV + matrix: + # From gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images - - name: freebsd-13-2 ++ - name: freebsd-13-4 + freebsd_instance: - image_family: freebsd-13-2 - - name: freebsd-14-0 ++ image_family: freebsd-13-4 ++ - name: freebsd-14-2 + freebsd_instance: - image_family: freebsd-14-0 ++ image_family: freebsd-14-2 + - name: freebsd-15-0-snap + freebsd_instance: + image_family: freebsd-15-0-snap diff --cc contrib/libcbor/.clang-format index de0dc5e77907,000000000000..09a8bc907ac8 mode 100644,000000..100644 --- a/contrib/libcbor/.clang-format +++ b/contrib/libcbor/.clang-format @@@ -1,151 -1,0 +1,151 @@@ +--- +Language: Cpp +# BasedOnStyle: Google +AccessModifierOffset: -1 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Left +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: true +AllowShortLoopsOnASingleLine: true +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: true +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true - DerivePointerAlignment: true ++DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^' + Priority: 2 + - Regex: '^<.*\.h>' + Priority: 1 + - Regex: '^<.*' + Priority: 2 + - Regex: '.*' + Priority: 3 +IncludeIsMainRegex: '([-_](test|unittest))?$' +IndentCaseLabels: true +IndentPPDirectives: None +IndentWidth: 2 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Never +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Left +RawStringFormats: + - Language: Cpp + Delimiters: + - cc + - CC + - cpp + - Cpp + - CPP + - 'c++' + - 'C++' + CanonicalDelimiter: '' + BasedOnStyle: google + - Language: TextProto + Delimiters: + - pb + - PB + - proto + - PROTO + EnclosingFunctions: + - EqualsProto + - EquivToProto + - PARSE_PARTIAL_TEXT_PROTO + - PARSE_TEST_PROTO + - PARSE_TEXT_PROTO + - ParseTextOrDie + - ParseTextProtoOrDie + CanonicalDelimiter: '' + BasedOnStyle: google +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 2 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Auto +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 8 +UseTab: Never +... + diff --cc contrib/libcbor/.gitignore index 61f88a874965,000000000000..cfc2f906bd0a mode 100644,000000..100644 --- a/contrib/libcbor/.gitignore +++ b/contrib/libcbor/.gitignore @@@ -1,16 -1,0 +1,18 @@@ - build +*~ +nbproject +.idea +doxygen_docs +*/*.out +cmake-build-debug +venv +**.DS_Store - .vscode ++.vscode/tmp ++.vscode/c_cpp_properties.json ++doc/build +# No top-level requirements, see doc/source +requirements.txt +examples/bazel/bazel-bazel +examples/bazel/bazel-bin +examples/bazel/bazel-out +examples/bazel/bazel-testlogs ++**MODULE.bazel.lock diff --cc contrib/libcbor/.vscode/settings.json index 000000000000,1efd1526d101..1efd1526d101 mode 000000,100644..100644 --- a/contrib/libcbor/.vscode/settings.json +++ b/contrib/libcbor/.vscode/settings.json diff --cc contrib/libcbor/BUILD index 000000000000,5035c90f756b..5035c90f756b mode 000000,100644..100644 --- a/contrib/libcbor/BUILD +++ b/contrib/libcbor/BUILD diff --cc contrib/libcbor/CONTRIBUTING.md index 9bd42a06b6dc,000000000000..c0f0da6029ca mode 100644,000000..100644 --- a/contrib/libcbor/CONTRIBUTING.md +++ b/contrib/libcbor/CONTRIBUTING.md @@@ -1,35 -1,0 +1,52 @@@ +# Contributing to libcbor + +libcbor is maintained by [@PJK](https://github.com/PJK) in his spare time on a best-effort basis. + +Community contributions are welcome as long as they align with the [project priorities](https://github.com/PJK/libcbor#main-features) and [goals](https://libcbor.readthedocs.io/en/latest/development.html#goals) and follow the guidelines described below. + +## Principles + +**Bug reports and questions:** Bug reports and specific technical questions are always welcome. Feel free to open an [issue](https://github.com/PJK/libcbor/issues). + +**Incremental improvements:** Bug fixes (including build scripts, examples, test, typos, CI/CD config, etc.) and documentation improvements (fixes of typos, inaccuracies, out of date content, etc.) are always welcome. Feel free to open a [PR](https://github.com/PJK/libcbor/pulls). + +**New features:** I am looking to keep the scope of libcbor small. If you would like to add a feature, please open an issue with your proposal (or reach out to me privately) to discuss if the feature fits into libcbor before opening a PR. + +**Major changes:** Please open an issue with your proposal (or reach out to me privately) to discuss if the improvement fits into cbor before opening a PR. + +## Pull Request Process + +1. Ensure that all CI checks pass +2. Check that the PR is complete and of good quality + - Include a descriptive summary of the change. If the PR addresses an open issue, please link it. + - Code changes: Add tests + - If necessary: Update documentation, including any links +3. Code changes: Update [the changelog](https://github.com/PJK/libcbor/blob/master/CHANGELOG.md). Do *not* change the version number. + +## Interactions + +I work on libcbor on a best effort basis. The typical response time is a few days. + +If you do not receive a response in a few weeks, feel free to ping the PR or issue. + ++## Coding style ++ ++C++ code: `./clang-format.sh`. ++ ++Function Doxygen strings: ++```c ++/** An example short description ++ * ++ * @param item The item to fooify. Describe any expectations on it (e.g."must ++ * be a valid array") and reference counting manipulation. ++ * Multi-line descriptions are OK where necessary. ++ * @param target_item Short description, always with a full stop. ++ * @return Has fooification succeeded? List any special cases. ++ */ ++ bool foo(cbor_item_t *item, cbor_item_t *target_item); ++``` ++ +## Resources + +- [Development documentation](https://libcbor.readthedocs.io/en/latest/development.html) + diff --cc contrib/libcbor/MODULE.bazel index 000000000000,fbc208ab2397..fbc208ab2397 mode 000000,100644..100644 --- a/contrib/libcbor/MODULE.bazel +++ b/contrib/libcbor/MODULE.bazel diff --cc contrib/libcbor/README.md index ea54bed9437b,000000000000..62d37b6b957d mode 100644,000000..100644 --- a/contrib/libcbor/README.md +++ b/contrib/libcbor/README.md @@@ -1,121 -1,0 +1,152 @@@ +# [libcbor](https://github.com/PJK/libcbor) + +[![CircleCI](https://circleci.com/gh/PJK/libcbor/tree/master.svg?style=svg)](https://circleci.com/gh/PJK/libcbor/tree/master) +[![Documentation Status](https://readthedocs.org/projects/libcbor/badge/?version=latest)](https://readthedocs.org/projects/libcbor/?badge=latest) +[![latest packaged version(s)](https://repology.org/badge/latest-versions/libcbor.svg)](https://repology.org/project/libcbor/versions) +[![codecov](https://codecov.io/gh/PJK/libcbor/branch/master/graph/badge.svg)](https://codecov.io/gh/PJK/libcbor) + +**libcbor** is a C library for parsing and generating [CBOR](https://cbor.io/), the general-purpose schema-less binary data format. + +## Main features - - Complete [IETF RFC 8949 (STD 94)](https://www.rfc-editor.org/info/std94) conformance - - Robust platform-independent C99 implementation - - Layered architecture offers both control and convenience - - Flexible memory management - - No shared global state - threading friendly - - Proper handling of UTF-8 - - Full support for streams & incremental processing - - Extensive documentation and test suite - - No runtime dependencies, small footprint - ++ ++- Complete CBOR [IETF RFC 8949 (STD 94)](https://www.rfc-editor.org/info/std94) specification conformance (previously known as [RFC 7049](https://www.rfc-editor.org/info/rfc7049)) ++- Supports CBOR Sequences ([RFC 8742](https://datatracker.ietf.org/doc/html/rfc8742)) ++- Robust platform-independent C99 implementation, tested on ++ - Linux, OS X, Windows, BSD ++ - x86(_64), arm(64), mips(el), riscv64 ++- Layered architecture offers both control and convenience ++- Flexible memory management ++- No shared global state - threading friendly ++- Proper handling of UTF-8 ++- Full support for streams & incremental processing ++- Extensive documentation and test suite ++- No runtime dependencies, small footprint ++ ++## References ++ ++libcbor is most prominently used in: ++ ++- Yubico's [libfido2](https://developers.yubico.com/libfido2/) 2FA security key implementation ++- Amazon's [AWS C SDK](https://github.com/awslabs/aws-c-common) ++- Gnome [fwdup](https://github.com/fwupd/fwupd/blob/main/meson.build#L339) ++- Alibaba's [Inclavare librats](https://github.com/inclavare-containers/librats) ++- [QEMU](https://wiki.qemu.org/ChangeLog/9.2) ++- [ITK](https://docs.itk.org/projects/wasm/en/latest/introduction/parts.html) ++ ++It found its way into many open source an proprietary projects. If you run among others [OpenSSH](https://www.matbra.com/2020/02/17/using-fido2-with-ssh.html), [Microsoft PowerShell](https://github.com/PowerShell/libcbor), [SteamOS](https://github.com/randombk/steamos-teardown/blob/5a37d977fae55d9c41eaf1d07528fa965740bb26/docs/packages.md?plain=1#L461), or [MySQL](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-34.html) -- you might be indirectly running libcbor too. ++ ++Also, thank you for the shout out in ! ++ +## Getting started + +### Compile from source + +```bash +git clone https://github.com/PJK/libcbor +cmake -DCMAKE_BUILD_TYPE=Release libcbor +make +make install +``` + +### Homebrew + +```bash +brew install libcbor +``` + +### Ubuntu 18.04 and above + +```bash +sudo add-apt-repository universe +sudo apt-get install libcbor-dev +``` + +### Fedora & RPM friends + +```bash +yum install libcbor-devel +``` + - ### Others ++### Include git repository using using CMake ++ ++See e.g. . ++ ++## Include git repository using Bazel ++ ++See . ++ ++### Others + +
+ Packaged libcbor is available from 15+ major repositories. Click here for more detail + + [![Packaging status](https://repology.org/badge/vertical-allrepos/libcbor.svg)](https://repology.org/project/libcbor/versions) +
+ +## Usage example + +```c +#include +#include + +int main(void) { + /* Preallocate the map structure */ + cbor_item_t* root = cbor_new_definite_map(2); + /* Add the content */ + bool success = cbor_map_add( + root, (struct cbor_pair){ + .key = cbor_move(cbor_build_string("Is CBOR awesome?")), + .value = cbor_move(cbor_build_bool(true))}); + success &= cbor_map_add( + root, (struct cbor_pair){ + .key = cbor_move(cbor_build_uint8(42)), + .value = cbor_move(cbor_build_string("Is the answer"))}); + if (!success) return 1; + /* Output: `length` bytes of data in the `buffer` */ + unsigned char* buffer; + size_t buffer_size; + cbor_serialize_alloc(root, &buffer, &buffer_size); + + fwrite(buffer, 1, buffer_size, stdout); + free(buffer); + + fflush(stdout); + cbor_decref(&root); +} +``` + +## Documentation ++ ++Crash course: ++ +Get the latest documentation at [libcbor.readthedocs.org](http://libcbor.readthedocs.org/) + +## Contributions + +Bug reports and contributions are welcome. Please see [CONTRIBUTING.md](https://github.com/PJK/libcbor/blob/master/CONTRIBUTING.md) for more info. + +Kudos to all the [contributors](https://github.com/PJK/libcbor/graphs/contributors)! + +## License ++ +The MIT License (MIT) + +Copyright (c) Pavel Kalvoda, 2014-2020 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --cc contrib/libcbor/doc/source/requirements.in index 000000000000,000ba6286d17..000ba6286d17 mode 000000,100644..100644 --- a/contrib/libcbor/doc/source/requirements.in +++ b/contrib/libcbor/doc/source/requirements.in diff --cc contrib/libcbor/doc/source/tutorial.rst index 000000000000,81859ccb2192..81859ccb2192 mode 000000,100644..100644 --- a/contrib/libcbor/doc/source/tutorial.rst +++ b/contrib/libcbor/doc/source/tutorial.rst diff --cc contrib/libcbor/examples/bazel/MODULE.bazel index 000000000000,5d14df5cf761..5d14df5cf761 mode 000000,100644..100644 --- a/contrib/libcbor/examples/bazel/MODULE.bazel +++ b/contrib/libcbor/examples/bazel/MODULE.bazel diff --cc contrib/libcbor/examples/cbor_sequence.c index 000000000000,02c43185ff58..02c43185ff58 mode 000000,100644..100644 --- a/contrib/libcbor/examples/cbor_sequence.c +++ b/contrib/libcbor/examples/cbor_sequence.c diff --cc contrib/libcbor/examples/crash_course.c index 000000000000,4bd9f9379d26..4bd9f9379d26 mode 000000,100644..100644 --- a/contrib/libcbor/examples/crash_course.c +++ b/contrib/libcbor/examples/crash_course.c diff --cc contrib/libcbor/misc/asan_suppressions.osx.supp index 000000000000,5503d9412a53..5503d9412a53 mode 000000,100644..100644 --- a/contrib/libcbor/misc/asan_suppressions.osx.supp +++ b/contrib/libcbor/misc/asan_suppressions.osx.supp From nobody Mon Mar 23 16:41:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fff7f4xz6z6WDfj for ; Mon, 23 Mar 2026 16:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fff7f3qzCz4KVd for ; Mon, 23 Mar 2026 16:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774284078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=es7zcS0zZdOBE/0VDhP1n0p2R3bjSfI+P+4x3deIct0=; b=AzI/Dqx8IxWi2QyQgFzdESJKauuy7NekDeWrmYi5vTrY5NjafIWtaIJ+QCeqQIYVxCsifu 7UO4rLoJpWoSHeZOugtJfNzp/tW7F/DCuzvm84zCrsEeySurXeXtJdTsla/PJTk093EPT7 j3iEJ8WIly8xIFgfxu35Ul7S9ZysmRVPM1j6wcZxdl1hgT7Dnq1HGFXUptgpxF6Pjs5bMV t8qTtepy9C3u0lf4VGFvzxJP4VWq+8wHmTKxTXUvIVDc9WjnyOxh5CQX2/lDvwo1DZ/78K iV4tB4h/Lpl2ogmfWFLgKRMyZtvvCFD4bMXjDugHAdX3rkY1SdIGapi/Ye6xoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774284078; a=rsa-sha256; cv=none; b=koTPCEhh24RlFa2gT4EYlt3oBJuFOkDugaHYGKh3WfP05CaTFIjtlY/ihDQxa2el3rcRQS pV6HQOuA7fmNwQXcTJ3nmw/fHHmNPwG2iMvMoaB7FL6JoC5q8amadzP7RMESjzxearnswW kldfQKcIeASfBnl22sZGZGn3mXOhH6J8SjMMrQD4s6YrSoQHJBa4hBm1QbN+G4Av7/A2Gc hLUxvR9AWyCHplnWI5h1Kn3ZsU3fav4ZhVRf3ESWih7Maj+rtm/iAtxkE+gedBFkh+Mopk buzcPJH6ruwWVa/dByxIADAW10Npgh30TfklljJinJmdupyQVAX65NrmB0KfbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774284078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=es7zcS0zZdOBE/0VDhP1n0p2R3bjSfI+P+4x3deIct0=; b=i/hqF/qA7FmRgt0vvPabwmRtxNkBTYXE/i2YjCcxLIEbCeCe0bs/nogM8ZxS9qE5FDO6h3 bsTVM69W8ZmCq1dmY9HOzSWFz29EBVzEcV0GseFyMRXWKtbtka41n2LXDSyg6uWOyQLAnF 4fNnb/WjDswTWQFGCBd5/kJxlz/OJOg1XlBx8aWTW9DME2d0VLLi9+7UcZm9KmoPsPK7yB gwzA/B2vpvAs65djqUiXpXQVlTHT02T6dFxNOVw3yIXjJgfTYWAhhPK57Qi2ZclvxnCFDr ofIGJmwJYGW4RH+tIGspkuOzkwk+mXugYgsx6kq3maeUFq57XriTUJyU+0UjKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fff7f3PJ1zvxs for ; Mon, 23 Mar 2026 16:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32c2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 16:41:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b24b533d4b28 - stable/15 - release: Remove not-NO_ROOT cases List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b24b533d4b28d0f5232d0e1a406778813375e6d9 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 16:41:18 +0000 Message-Id: <69c16d2e.32c2a.363d5bc7@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b24b533d4b28d0f5232d0e1a406778813375e6d9 commit b24b533d4b28d0f5232d0e1a406778813375e6d9 Author: Ed Maste AuthorDate: 2025-12-11 17:16:53 +0000 Commit: Ed Maste CommitDate: 2026-03-23 16:40:36 +0000 release: Remove not-NO_ROOT cases We always use NO_ROOT for release artifact builds, so remove the alternate code paths. For the first step we set NO_ROOT unconditionally in cases that invoke submakes, and turn NO_ROOT being unset into an error in lover-level targets so that we can catch potential out-of-tree build scripts (or missed in-tree cases) that expect to run not-NO_ROOT builds. The second step will be to remove those entirely. Reviewed by: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54179 (cherry picked from commit 54e006369c9aab4f3a22f026eb6924c0f9cafda8) --- release/release.sh | 4 +- release/scripts/pkg-stage.sh | 14 +--- release/tools/azure.conf | 13 +-- release/tools/ec2.conf | 8 +- release/tools/vagrant.conf | 10 +-- release/tools/vmimage.subr | 192 ++++++++++++++++++------------------------- 6 files changed, 92 insertions(+), 149 deletions(-) diff --git a/release/release.sh b/release/release.sh index f0226e4cd3c5..480d6b34f191 100755 --- a/release/release.sh +++ b/release/release.sh @@ -200,9 +200,7 @@ env_check() { WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ XZ_THREADS=${XZ_THREADS} NOPKGBASE=${NOPKGBASE}" - if [ -n "${NO_ROOT}" ]; then - RELEASE_RMAKEFLAGS="${RELEASE_RMAKEFLAGS} NO_ROOT=1 WITHOUT_QEMU=1" - fi + RELEASE_RMAKEFLAGS="${RELEASE_RMAKEFLAGS} NO_ROOT=1 WITHOUT_QEMU=1" return 0 } # env_check() diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index f76675543ac5..5c4ec76150da 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -4,8 +4,6 @@ set -e -unset NO_ROOT - export ASSUME_ALWAYS_YES="YES" export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" @@ -56,15 +54,13 @@ usage() while getopts N opt; do case "$opt" in - N) NO_ROOT=1 ;; + N) ;; *) usage ;; esac done PKG_ARGS="--rootdir ${ROOTDIR}" -if [ $NO_ROOT ]; then - PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1" -fi +PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1" PKGCMD="/usr/sbin/pkg ${PKG_ARGS}" if [ ! -x /usr/local/sbin/pkg ]; then @@ -121,10 +117,8 @@ ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg ${PKGCMD} repo ${PKG_REPODIR} -if [ $NO_ROOT ]; then - mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \ - grep '^./packages[/ ]' >> $ROOTDIR/METALOG -fi +mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \ + grep '^./packages[/ ]' >> $ROOTDIR/METALOG # Always exit '0', even if pkg(8) complains about conflicts. exit 0 diff --git a/release/tools/azure.conf b/release/tools/azure.conf index 4fa6ba4d924d..7a4f0b5027cf 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -34,17 +34,8 @@ vm_extra_pre_umount() { # builds this is unnecessary as pkg will not be installed to # begin with. if [ -z "${NO_ROOT}" ]; then - mount -t devfs devfs ${DESTDIR}/dev - - # The firstboot_pkgs rc.d script will download the repository - # catalogue and install or update pkg when the instance first - # launches, so these files would just be replaced anyway; removing - # them from the image allows it to boot faster. - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg delete -f -y pkg - umount ${DESTDIR}/dev - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi pw -R ${DESTDIR} usermod root -h - diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index b8a7bac2ce00..4e1260903e06 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -26,12 +26,8 @@ ec2_common() { # unprivileged builds this is unnecessary as pkg will not be # installed to begin with. if [ -z "${NO_ROOT}" ]; then - mount -t devfs devfs ${DESTDIR}/dev - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg delete -f -y pkg - umount ${DESTDIR}/dev - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi # Turn off IPv6 Duplicate Address Detection; the EC2 networking diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 37eff7a899ab..f14a9e8cb6fc 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -15,14 +15,8 @@ export VM_RC_LIST="firstboot_freebsd_update firstboot_pkgs growfs" vagrant_common () { if [ -z "${NO_ROOT}" ]; then - # The firstboot_pkgs rc.d script will download the repository - # catalogue and install or update pkg when the instance first - # launches, so these files would just be replaced anyway; - # removing them from the image allows it to boot faster. - pkg -c ${DESTDIR} clean -y -a - pkg -c ${DESTDIR} delete -f -y pkg - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi # Vagrant instances use DHCP to get their network configuration. diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 38c1540484cd..97bf52205c93 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -41,21 +41,19 @@ cleanup() { metalog_add_data() { local file mode type - if [ -n "${NO_ROOT}" ]; then - file=$1 - if [ -f ${DESTDIR}/${file} ]; then - type=file - mode=${2:-0644} - elif [ -d ${DESTDIR}/${file} ]; then - type=dir - mode=${2:-0755} - else - echo "metalog_add_data: ${file} not found" >&2 - return 1 - fi - echo "${file} type=${type} uname=root gname=wheel mode=${mode}" >> \ - ${DESTDIR}/METALOG + file=$1 + if [ -f ${DESTDIR}/${file} ]; then + type=file + mode=${2:-0644} + elif [ -d ${DESTDIR}/${file} ]; then + type=dir + mode=${2:-0755} + else + echo "metalog_add_data: ${file} not found" >&2 + return 1 fi + echo "${file} type=${type} uname=root gname=wheel mode=${mode}" >> \ + ${DESTDIR}/METALOG } vm_create_base() { @@ -103,9 +101,7 @@ vm_install_base() { pkg_cmd="${PKG_CMD} --rootdir ${DESTDIR} --repo-conf-dir ${PKGBASE_REPO_DIR} -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes -o ABI=${PKG_ABI} -o INSTALL_AS_USER=yes " - if [ -n "${NO_ROOT}" ]; then - pkg_cmd="$pkg_cmd -o METALOG=METALOG" - fi + pkg_cmd="$pkg_cmd -o METALOG=METALOG" $pkg_cmd update selected=$(vm_base_packages_list | vm_extra_filter_base_packages) $pkg_cmd install -U -r FreeBSD-base $selected @@ -126,14 +122,12 @@ vm_install_base() { etcupdate extract -B \ -M "TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" \ -s ${WORLDDIR} -d ${DESTDIR}/var/db/etcupdate \ - -L /dev/stdout ${NO_ROOT:+-N} - if [ -n "${NO_ROOT}" ]; then - # Reroot etcupdate's internal METALOG to the whole tree - sed -n 's,^\.,./var/db/etcupdate/current,p' \ - ${DESTDIR}/var/db/etcupdate/current/METALOG | \ - env -i LC_COLLATE=C sort >> ${DESTDIR}/METALOG - rm ${DESTDIR}/var/db/etcupdate/current/METALOG - fi + -L /dev/stdout -N + # Reroot etcupdate's internal METALOG to the whole tree + sed -n 's,^\.,./var/db/etcupdate/current,p' \ + ${DESTDIR}/var/db/etcupdate/current/METALOG | \ + env -i LC_COLLATE=C sort >> ${DESTDIR}/METALOG + rm ${DESTDIR}/var/db/etcupdate/current/METALOG echo '# Custom /etc/fstab for FreeBSD VM images' \ > ${DESTDIR}/etc/fstab @@ -209,40 +203,25 @@ vm_extra_install_packages() { if [ -z "${VM_EXTRA_PACKAGES}" ]; then return 0 fi - if [ -n "${NO_ROOT}" ]; then - for pkg in ${VM_EXTRA_PACKAGES}; do - INSTALL_AS_USER=yes \ - ${PKG_CMD} \ - -o ABI=${PKG_ABI} \ - -o METALOG=${DESTDIR}/METALOG.pkg \ - -o REPOS_DIR=${PKG_REPOS_DIR} \ - -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ - -r ${DESTDIR} \ - install -y -r ${PKG_REPO_NAME} $pkg - done + for pkg in ${VM_EXTRA_PACKAGES}; do INSTALL_AS_USER=yes \ - ${PKG_CMD} \ + ${PKG_CMD} \ -o ABI=${PKG_ABI} \ + -o METALOG=${DESTDIR}/METALOG.pkg \ -o REPOS_DIR=${PKG_REPOS_DIR} \ -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ -r ${DESTDIR} \ - autoremove -y - if [ -n "${NOPKGBASE}" ]; then - metalog_add_data ./var/db/pkg/local.sqlite - fi - else - if [ -n "${WITHOUT_QEMU}" ]; then - return 0 - fi - - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg bootstrap -y - for p in ${VM_EXTRA_PACKAGES}; do - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg install -y ${p} - done - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg autoremove -y + install -y -r ${PKG_REPO_NAME} $pkg + done + INSTALL_AS_USER=yes \ + ${PKG_CMD} \ + -o ABI=${PKG_ABI} \ + -o REPOS_DIR=${PKG_REPOS_DIR} \ + -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ + -r ${DESTDIR} \ + autoremove -y + if [ -n "${NOPKGBASE}" ]; then + metalog_add_data ./var/db/pkg/local.sqlite fi return 0 @@ -276,18 +255,11 @@ vm_emulation_cleanup() { } vm_extra_pkg_rmcache() { - if [ -n "${NO_ROOT}" ]; then - ${PKG_CMD} \ - -o ASSUME_ALWAYS_YES=yes \ - -o INSTALL_AS_USER=yes \ - -r ${DESTDIR} \ - clean -y -a - else - if [ -e ${DESTDIR}/usr/local/sbin/pkg ]; then - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/local/sbin/pkg clean -y -a - fi - fi + ${PKG_CMD} \ + -o ASSUME_ALWAYS_YES=yes \ + -o INSTALL_AS_USER=yes \ + -r ${DESTDIR} \ + clean -y -a return 0 } @@ -306,57 +278,55 @@ buildfs() { done < ${DESTDIR}/METALOG.pkg fi - if [ -n "${NO_ROOT}" ]; then - # Check for any directories in the staging tree which weren't - # recorded in METALOG, and record them now. This is a quick hack - # to avoid creating unusable VM images and should go away once - # the bugs which produce such unlogged directories are gone. - grep type=dir ${DESTDIR}/METALOG | - cut -f 1 -d ' ' | - sort -u > ${DESTDIR}/METALOG.dirs - ( cd ${DESTDIR} && find . -type d ) | - sort | - comm -23 - ${DESTDIR}/METALOG.dirs > ${DESTDIR}/METALOG.missingdirs - if [ -s ${DESTDIR}/METALOG.missingdirs ]; then - echo "WARNING: Directories exist but were not in METALOG" - cat ${DESTDIR}/METALOG.missingdirs - fi - while read DIR; do - metalog_add_data ${DIR} - done < ${DESTDIR}/METALOG.missingdirs - - if [ -z "${NOPKGBASE}" ]; then - # Add some database files which are created by pkg triggers; - # at some point in the future the tools which create these - # files should probably learn how to record them in METALOG - # (which would simplify no-root installworld as well). - metalog_add_data ./etc/login.conf.db - metalog_add_data ./etc/passwd - metalog_add_data ./etc/pwd.db - metalog_add_data ./etc/spwd.db 600 - metalog_add_data ./var/db/services.db - fi + # Check for any directories in the staging tree which weren't + # recorded in METALOG, and record them now. This is a quick hack + # to avoid creating unusable VM images and should go away once + # the bugs which produce such unlogged directories are gone. + grep type=dir ${DESTDIR}/METALOG | + cut -f 1 -d ' ' | + sort -u > ${DESTDIR}/METALOG.dirs + ( cd ${DESTDIR} && find . -type d ) | + sort | + comm -23 - ${DESTDIR}/METALOG.dirs > ${DESTDIR}/METALOG.missingdirs + if [ -s ${DESTDIR}/METALOG.missingdirs ]; then + echo "WARNING: Directories exist but were not in METALOG" + cat ${DESTDIR}/METALOG.missingdirs + fi + while read DIR; do + metalog_add_data ${DIR} + done < ${DESTDIR}/METALOG.missingdirs - if [ -n "${MISSING_METALOGS}" ]; then - # Hack to allow VM configurations to add files which - # weren't being added to METALOG appropriately. This - # is mainly a workaround for the @sample bug and it - # should go away before FreeBSD 15.1 ships. - for P in ${MISSING_METALOGS}; do - metalog_add_data ${P} - done - fi + if [ -z "${NOPKGBASE}" ]; then + # Add some database files which are created by pkg triggers; + # at some point in the future the tools which create these + # files should probably learn how to record them in METALOG + # (which would simplify no-root installworld as well). + metalog_add_data ./etc/login.conf.db + metalog_add_data ./etc/passwd + metalog_add_data ./etc/pwd.db + metalog_add_data ./etc/spwd.db 600 + metalog_add_data ./var/db/services.db + fi - # Sort METALOG file; makefs produces directories with 000 permissions - # if their contents are seen before the directories themselves. - env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted - mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + if [ -n "${MISSING_METALOGS}" ]; then + # Hack to allow VM configurations to add files which + # weren't being added to METALOG appropriately. This + # is mainly a workaround for the @sample bug and it + # should go away before FreeBSD 15.1 ships. + for P in ${MISSING_METALOGS}; do + metalog_add_data ${P} + done fi + # Sort METALOG file; makefs produces directories with 000 permissions + # if their contents are seen before the directories themselves. + env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted + mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + case "${VMFS}" in ufs) cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ - ${VMBASE} .${NO_ROOT:+/METALOG} + ${VMBASE} ./METALOG ;; zfs) cd ${DESTDIR} && ${MAKEFS} -t zfs ${MAKEFSARGS} \ @@ -376,7 +346,7 @@ buildfs() { -o fs=zroot/var/log\;setuid=off\;exec=off \ -o fs=zroot/var/mail\;atime=on \ -o fs=zroot/var/tmp\;setuid=off \ - ${VMBASE} .${NO_ROOT:+/METALOG} + ${VMBASE} ./METALOG ;; *) echo "Unexpected VMFS value '${VMFS}'" From nobody Mon Mar 23 16:41:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fff7k6Tfgz6WDqn for ; Mon, 23 Mar 2026 16:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fff7k4lMSz4Kgt for ; Mon, 23 Mar 2026 16:41:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774284082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qrx/j6/xEMHYF1i4x++R9V4VwMypXd7bCdfMcVbyvDs=; b=qu0YPjkSrmNa1mTTegOrG3EKdVRSbEakZERRM6vrUTEWh3gucakwy3HS/PlR+teZvn3PYU Luii/HBUZPyp65W+fM8rrK3jwKoM30MqE4hG/SBfo5Pg0ieexyo7QKERDw8yW2ywQ12W05 9FVWQlR4SNw3kl4ECqs3bZ469U72FvnBpCiB1+BOAlI4OUWR5O8xt4E8O4bbaibLAZxnyA rHTJmrwHewy92ZnhlBOLdYL8/vIcSpWCkQg60GcV+uRBzYgEfLkcHWCgluaKQEDQmlsXwZ zAUSyEpu794MTNU+p+t+HjNyTEqyKlZRIiL85wnpxd8KVuYdbWiPRt8LefKuYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774284082; a=rsa-sha256; cv=none; b=NnZGCCbWkQBoqwNjQ0iF5zFZ7iuYk+E4kLy1QwsaNgix83CDYj9S/H7wDDWDnuAfSvYl9M KdStxh89Ho8yEAtj0G1XbIFrIePrqh1YmYnSxPbPEoQdh5CHlSHO6Fne20Gv4gNv7dvXSr xCATM1BvlsWAraBf8Q80+Z9i3VbF9mPRtfsujCaJFK/3ZgEtZ6RHD8V7olGSd20C03p+To yld5gqgenT26DQgA7rzBJLCIvnEf6Yx537bfv+TjEounWOj7sRX2wTt4IvHr3zput1Jf5p rWk2bHLT8XaQJqUQZ822u22h6WQ340OElDSjSvHIFLUejQ8b6isM5FKXjdXOnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774284082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qrx/j6/xEMHYF1i4x++R9V4VwMypXd7bCdfMcVbyvDs=; b=p4NIrFEbp9pucSHlBxMv+06yiUVLI7RJ981WXlNqWv2D8C3puiWfvsqzNScHW4vcx/L2LE 0CksisgBI0HZiW+KQh+ohI0P1jDebNsoq+FaMGCc4rGaLEqAYwaaGxsJ6eu+ppl5M6BLhE r2jWsJ9Ge9/3jKsyZ+tjv1XXR5nBejJDpLgHn/tIiIrrJ/il8fcX5vi934ia3WOkj/Euqv h4ecGo7WcwAZVn8fUgrroJlpRKEznffsde11ZwvpcdcJ9D3XP7kGS2wTWDoS/E23LmWI2B id/srs/ZBMWZlQ1yPBwoTMpAKFDnMaICyL8ZQ2yZlWzQj3ngdnd5nRZ5HamD1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fff7k3nwPzwmD for ; Mon, 23 Mar 2026 16:41:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32848 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 16:41:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 61f0453b3aa7 - stable/15 - release: Use make's `:H` rather than `/..` List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 61f0453b3aa71e640a42085f67ce556ca3283c6c Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 16:41:17 +0000 Message-Id: <69c16d2d.32848.5c02b834@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=61f0453b3aa71e640a42085f67ce556ca3283c6c commit 61f0453b3aa71e640a42085f67ce556ca3283c6c Author: Ed Maste AuthorDate: 2025-12-26 16:36:43 +0000 Commit: Ed Maste CommitDate: 2026-03-23 16:40:35 +0000 release: Use make's `:H` rather than `/..` In general we want to strip subdir components, rather than appending `..`s. Reviewed by: lwhsu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54373 (cherry picked from commit 3949c2b8c4691a6dff8be7b38805d56faab91187) --- release/Makefile | 4 ++-- release/Makefile.vm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/release/Makefile b/release/Makefile index 2469385408ee..c6112faff947 100644 --- a/release/Makefile +++ b/release/Makefile @@ -40,7 +40,7 @@ # TARGET/TARGET_ARCH: architecture of built release # -WORLDDIR?= ${.CURDIR}/.. +WORLDDIR?= ${.CURDIR:H} PORTSDIR?= /usr/ports .include "${WORLDDIR}/share/mk/bsd.compat.pre.mk" @@ -62,7 +62,7 @@ DISTDIR= dist # Define OSRELEASE by using newvers.sh .if !defined(OSRELEASE) || empty(OSRELEASE) .for _V in TYPE BRANCH REVISION -${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo $$${_V} +${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR:H}/sys/conf/newvers.sh); echo $$${_V} .endfor .for _V in ${TARGET_ARCH} .if !empty(TARGET:M${_V}) diff --git a/release/Makefile.vm b/release/Makefile.vm index 142fd6e7bdf5..3e5f4936b518 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -73,7 +73,7 @@ CLOUDWARE?= ${CLOUDWARE_GEN} .for _V in TYPE BRANCH REVISION . if !defined(${_V}) || empty(${_V}) -${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo $$${_V} +${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR:H}/sys/conf/newvers.sh); echo $$${_V} . endif .endfor From nobody Mon Mar 23 17:00:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fffYY23mmz6WFQN; Mon, 23 Mar 2026 17:00:17 +0000 (UTC) (envelope-from bapt@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fffYY1YvCz4Lyr; Mon, 23 Mar 2026 17:00:17 +0000 (UTC) (envelope-from bapt@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774285217; h=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=MDEoVBM1Kzt0Tb0Ce7ZfApYXt/Va6F/zXfgzRW8JsmE=; b=yUppmv/oh/WhzpVTQGXP/1QczRIUPn2GOt2DY62CBptJ5EmovUL7RnQxBmkuYOHGEAE/ml 4ifskl32og7tDlJ2EV3lTLP8P4w3IFZb2Jhx1iGMaXzxiH5fegj3biBl83pwieNfxhy8v1 4DmoFfqlzy+QrA8Y22069ELigkGnK3RPa+tpQuTmIjpZQ4mnLkziDcGiRC2k7OwRr+MWVD NK93KUEXdwAWbr+NJR2i9M6mZ/u4OFs9pibVL2qATNDKH+nQhIKrgIaMg18dQHAuG6ispK NREm0rjjb+a91OQL+CtQfQn2hUbfRwKdPtcDSIUSgc/tXjAnaBgrdaPCMXaMMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774285217; a=rsa-sha256; cv=none; b=QEEn1tx6y27cVQ2LOYcfFhJ1Iw7Ls/eMxCFgK/5ulOJPwbvmk/KVgJ6y4fuCm08PBjZsuQ Yy1tjEACWVexU5zcyRiHatM3izrzbnaBAsOpbPeJccmhalzhaYM2o6gYXAstmidUzX4gOc QPvwC0+in3filT+hQH2IV/jSogya5gjbqbrPMROaqTmfhFVj3jrVHJUe0zBfZp+R9AlpO9 S2IdcbKpHnEOWF3sCRR8TpCNsfYlUWyGgpfzsEmSMR0CCD261LKR6xL6kwQ9ROud6Jx6C4 /avfx+88k1mE4igWtiI7w+/rXGIYFRl1ZcVG+hdEDN292xuzhBhPyxv7TAjTCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774285217; h=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=MDEoVBM1Kzt0Tb0Ce7ZfApYXt/Va6F/zXfgzRW8JsmE=; b=ybpUn1SjWt192LsSeMpXJ/4FkmBpeqtUVrpSLNs9epOWWfYBRMvyn8vzvHLqOekx88fjzU G+PngG7/wF52W9Zewf3ghpLpYiTMaDq6oUtcrHkcE8e5InUTVI0GrOKrP9wsQg0X20V+fN i70rD0o0QeMwu9s911emZYugDe9GbS6OfyAssCkUCr/J1FgEfBdxUWP6IufmmxzCJgrUhZ 71PcC4WES3mYMteXV8nQM7TEN4+9QTRGGNSWm0mlUeTRa5ZBaLYmaPR7CsVbn0XWrsZSud Eb/btsG6t+jYLeLvPs2pY9GgIAUoHUNrxlpSQS/KhWPFCsh2YP+41iKa80RglQ== Received: from b.nours.eu (b.nours.eu [IPv6:2001:41d0:303:5e39::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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fffYY09Kkz14tL; Mon, 23 Mar 2026 17:00:16 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by b.nours.eu (Postfix, from userid 1001) id 23A0E7FFCE; Mon, 23 Mar 2026 18:00:12 +0100 (CET) Date: Mon, 23 Mar 2026 18:00:12 +0100 From: Baptiste Daroussin To: "Enji Cooper (yaneurabeya)" Cc: Shawn Webb , Jessica Clarke , A FreeBSD User , Philip Paeps , Enji Cooper , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 14b9955e57cc - main - libcrypto: compile all PIC objects with -DOPENSSL_PIC Message-ID: References: <69bc9a33.3bd51.5811996c@gitrepo.freebsd.org> <61743F2C-2561-4BAC-81F2-02B8A85B8755@freebsd.org> <20260320201441.333c83c0@thor.sb211.local> <6E6DB2FA-3E78-40B6-BFDB-2BDD240C5CED@freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Sun 22 Mar 08:54, Enji Cooper (yaneurabeya) wrote: > > > On Mar 20, 2026, at 12:22 PM, Shawn Webb wrote: > > … > > > Good catch on the SHARED_CFLAGS. I'll give that a try. > > Please try the latest version of :main. I reverted this commit and reintroduced the correct version of this change in 3797fe720a37ff9fb5b20546494ef1c4a6c01541 . > Incremental builds remain broken, which is why the cluster is not producing any packages anymore for head, we need to add something which does the cleanup or wait for me to manually fix this on the cluster, but I don't know, when I'll have the bandwidth for this. Bapt From nobody Mon Mar 23 17:02:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fffcd4M8Dz6WFqs for ; Mon, 23 Mar 2026 17:02:57 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fffcZ6hsSz4MNy for ; Mon, 23 Mar 2026 17:02:54 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-486fe36cfabso16575375e9.1 for ; Mon, 23 Mar 2026 10:02:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774285373; x=1774890173; 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=+9TnMtzWzPLOO8k7SOsmRcxCquB2ro+Nl/DRva+OVuQ=; b=jlhdWOTkTHTHSpBAKLJ9wccX/4/EqrkxBG/Y9P+r01qqXmCpYRZOISDYpLc8ROqFsc MN23JJy/Aje0i1nUNWiZ3elVyCLPgbpby0XYBzKJBVVnRFYIqyZIlYSt0ql+tu1Moktz TBOePpaPm3PSzd9DyU0ztEGWgOgcKzJ15y09g6g06mb3YSzRxFNnJYfCWqdqmWyZ+/dV mrdENgHPuqg5JubiY+r2irFo7z9YCrbeLva1wPBBh5ykVcLV4Fm3RzoJ0Z9BGHDQ2K7f 1NWphbxN6qoSi0KYKPrbPQUAhzDy+CXCcSUrcTrDn5kcuiR793LAuxlH387L5N0E1Yz3 tzaA== X-Forwarded-Encrypted: i=1; AJvYcCWaEsNouuTpoRMmok+87ZzA+H+dH9EpZMaMEiiZRBf5dU8MgWDD4pEh+YKdwr4egO0PlZDyzPgwDoU2ffmDL3MAWo3h@freebsd.org X-Gm-Message-State: AOJu0YzZxez1sP7BSmOl1mDeCYZd38qZxs+znQnp6Tc3EnCiPm6nkf+n U6D8C7dGgc50jj5kD5Nx506nAvL60+stlzzR8wb+E/NJb8EOGTAuRgzWhcQdk7lfC7w= X-Gm-Gg: ATEYQzy/Zk9c1EbRlonwq+zTNlrxZoChCJQrqC/Xn8QMU9w1HkjFTZ9u36iHtxWfqLl rSwEscA5DOThZz6zekXUef1luufiOcKf/7J08uaGsdEXGvPyeAmnAdW5Jorrb4oQq05sj7R32rI 54fFXA0Kn9DuFif0XszIkj7pXpvGOCHJl1INgBTGl6olRI1quwa1mMQuMjG+1IEASF1aURVd3F5 hV134JCCPC9tLjPEq2MxV8laOrVLmCvZJ4tu8HHDd5nvdkx61TJlEjYv3IbYBvqQ1zTG05QQAI1 Nz7CuU7ES4Dxqf+sHBWV3iUuDUSJXmgseNx4HQAEWVlmzeXhKiHxbgfpjTO3YqaLSJTE2Xuc/2V vk2EN11bTebQUbiN4qP0Q7U7Uz24IljBoDmCY8GHlkaZGPkejnAuadg9CsdRoxS1KoDgSOFGalX +u90zavRCrOFQ+F8ooVKXebAEaNIMhjTpVsfgD8l1/1jGeKknouxJismCYpHvykcaH X-Received: by 2002:a05:600c:529a:b0:485:3e00:944a with SMTP id 5b1f17b1804b1-4870f1fc5fdmr4802365e9.9.1774285372891; Mon, 23 Mar 2026 10:02:52 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe7dc4a2sm330065515e9.5.2026.03.23.10.02.50 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Mar 2026 10:02:50 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 3797fe720a37 - main - libcrypto: compile all PIC objects with -DOPENSSL_PIC -fPIC From: Jessica Clarke In-Reply-To: <69bf4832.41a59.1df6e724@gitrepo.freebsd.org> Date: Mon, 23 Mar 2026 17:02:38 +0000 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: <69bf4832.41a59.1df6e724@gitrepo.freebsd.org> To: Enji Cooper X-Mailer: Apple Mail (2.3864.400.21) X-Spamd-Result: default: False [-2.67 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.77)[-0.771]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEFALL_USER(0.00)[jrtc27]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.41:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; TO_DN_EQ_ADDR_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.41:from] X-Rspamd-Queue-Id: 4fffcZ6hsSz4MNy X-Spamd-Bar: -- On 22 Mar 2026, at 01:38, Enji Cooper wrote: >=20 > The branch main has been updated by ngie: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D3797fe720a37ff9fb5b20546494ef1c4= a6c01541 >=20 > commit 3797fe720a37ff9fb5b20546494ef1c4a6c01541 > Author: Enji Cooper > AuthorDate: 2026-03-22 00:39:16 +0000 > Commit: Enji Cooper > CommitDate: 2026-03-22 01:38:49 +0000 >=20 > libcrypto: compile all PIC objects with -DOPENSSL_PIC -fPIC >=20 > This change modifies the libcrypto PIC objects to always compile = with > `-DOPENSSL_PIC -fPIC` to restore parity with the upstream build = process. > This ensures that the legacy provider is built with parity to the > upstream legacy provider. >=20 > MFC after: 12 days > Tested with: `make check` (legacy provider), `make = universe` > Fixes: 14b9955e > Differential Revision: https://reviews.freebsd.org/D44896 > --- > secure/lib/libcrypto/Makefile | 6 ------ > secure/lib/libcrypto/Makefile.inc | 3 +++ > 2 files changed, 3 insertions(+), 6 deletions(-) >=20 > diff --git a/secure/lib/libcrypto/Makefile = b/secure/lib/libcrypto/Makefile > index 738de3479987..9d484e9d480c 100644 > --- a/secure/lib/libcrypto/Makefile > +++ b/secure/lib/libcrypto/Makefile > @@ -687,12 +687,6 @@ SUBDIR.${MK_TESTS}=3D tests >=20 > .include >=20 > -.if ${MACHINE} =3D=3D "powerpc" > -# Work around "relocation R_PPC_GOT16 out of range" errors > -PICFLAG=3D -fPIC > -.endif > -PICFLAG+=3D -DOPENSSL_PIC > - > .if defined(ASM_${MACHINE_CPUARCH}) > .PATH: ${SRCTOP}/sys/crypto/openssl/${MACHINE_CPUARCH} > .if defined(ASM_amd64) > diff --git a/secure/lib/libcrypto/Makefile.inc = b/secure/lib/libcrypto/Makefile.inc > index 73c650d590ff..8f22d501e005 100644 > --- a/secure/lib/libcrypto/Makefile.inc > +++ b/secure/lib/libcrypto/Makefile.inc > @@ -12,6 +12,9 @@ CFLAGS+=3D -I${LCRYPTO_SRC}/providers/common/include > CFLAGS+=3D -I${LCRYPTO_SRC}/providers/fips/include > CFLAGS+=3D -I${LCRYPTO_SRC}/providers/implementations/include >=20 > +PICFLAG=3D -fPIC > +PICFLAG+=3D -DOPENSSL_PIC > + > .SUFFIXES: .pc > .PATH.pc: ${LCRYPTO_SRC}/exporters This isn=E2=80=99t what PICFLAG is for. Is there a reason you can=E2=80=99= t use SHARED_CFLAGS? Jessica From nobody Mon Mar 23 17:36:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffgMW4rqjz6WHZl for ; Mon, 23 Mar 2026 17:36: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffgMW2rQHz4Q9M for ; Mon, 23 Mar 2026 17:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774287399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O3eF6I4Gx7fhS8Cqkseck4lWJFuX2rikZO86XmYsWL8=; b=NkEn45ZTzLhGNgKpfa8dYLb/E+MxwMi8Z/+ruLhLC5e8BAEQEOMl+x+dlNad1qWNtjBXpN ZKe0RfNu0+igYL8K31Er0+lDwz9trFjgOEozhed0cfJoRalSwBixdtqSrz3247nQ0+/oc6 lkKnFEiqXtCWzxgsBzgKAeN9pkrOIih0JJBdjWFqruTfCnzr1WdW/LVvCq5SljBiiqAIZF v3zeCYu6pozHh6c8XUf1ohvzPZllUdc5CDVfeVD9CErMFw4a+yHZ3LjirPsQ9N0eGf1FBx Dyy+q62yFjwjROsN7vIgWBxIrZcXKuJfIgDF/iRpBAmEKOr/EJSqvAA0RcBP4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774287399; a=rsa-sha256; cv=none; b=DWIDS8FHHhiEJq1ySJGU4Xnktpw2cIA4JsMojsZbYMbs16N8Nsz2ar8Vl4WdxYz3YybEpc a4D8UQ1Yh/rFZlqjT0R7zP2oMyDsnEJAeMgtvqGHXnuuFC1uqnyTIxA+zhE1nVRAztA6Oz qQ//2Yxu4oiaEDR6DO7bS7KEoZfSVicy1fTQ6fmq6oEyWnnxhi2dbGv+Xw1iICZ8oW2R6t 624dCo52gFNEg4Fz7N10gIg1QGdVYkhTAY2SL4xU6hZbHQOX4u7lr350IUKGOBvKZeJXpi jyLLF4ZxjUZLSYC6HUQC10Ox9z4F/jwIZTSf3wMJ31dL7HV6AJdZcM87pfwLpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774287399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O3eF6I4Gx7fhS8Cqkseck4lWJFuX2rikZO86XmYsWL8=; b=ViHzxY1bc4X6lNA0PEdkpl9oG9nRDfEnXHIjcdKOlL7uzFWPpN8AimRoTCelA3T800sdfa JoPnzKEY8ww0VNfeQrfU4xm53qtHUYuEonT+iGTLC5GIfioeMaOXAIebWi68chQkB/AG3E AIqko094k4OYV/0n8RFN9tZjOwZhvqcSKCvIjpkQR1drclix+vUB3WZXWn0Eix+j4oL3sR 2nGFuthMWsIRScOBQWEF8PmfOfSpjqriD/ArArIOMS/MgDJM7Asi5bcR/12n1Dsa8VuXw/ bsANkp0M78SWTocW1JM04EdLlaQ92Az4Lxe29uQUm9LfGM3rzum1I3JFcSwn5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffgMW2SL7zxlx for ; Mon, 23 Mar 2026 17:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38606 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 17:36:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 47402c9422ec - main - cross-build: Provide mempcpy when building on macOS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47402c9422ec6c9ba76d96414f5a08bd35a9e1fd Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 17:36:34 +0000 Message-Id: <69c17a22.38606.23d3192f@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=47402c9422ec6c9ba76d96414f5a08bd35a9e1fd commit 47402c9422ec6c9ba76d96414f5a08bd35a9e1fd Author: Jessica Clarke AuthorDate: 2026-03-23 16:56:09 +0000 Commit: Jessica Clarke CommitDate: 2026-03-23 16:56:09 +0000 cross-build: Provide mempcpy when building on macOS We could patch the tzcode config to not use it, but it's simple to provide an implementation of it and avoid spreading cross-build bootstrapping special cases. Fixes: ff2c98b30b57 ("tzcode: Update to 2026a") MFC after: 1 week --- tools/build/Makefile | 3 +++ tools/build/cross-build/include/mac/string.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/tools/build/Makefile b/tools/build/Makefile index 161b8f635c6d..604885dea4c8 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -253,6 +253,9 @@ SYSINCS+= ${SRCTOP}/sys/sys/linker_set.h .if ${.MAKE.OS} == "Darwin" # Standalone implementation of secure_getenv(), not available on MacOS. SRCS+= secure_getenv.c +# macOS currently lacks mempcpy +.PATH: ${LIBC_SRCTOP}/string +SRCS+= mempcpy.c .endif # ${MAKE.OS} == "Darwin" # Provide the same arc4random implementation on Linux/macOS diff --git a/tools/build/cross-build/include/mac/string.h b/tools/build/cross-build/include/mac/string.h index 58464f1f9834..8a36bb1f392d 100644 --- a/tools/build/cross-build/include/mac/string.h +++ b/tools/build/cross-build/include/mac/string.h @@ -37,6 +37,8 @@ #include_next +void *(mempcpy)(void * __restrict, const void * __restrict, size_t); + /* * strchrnul is provided by macOS 15.4 and later. However, there is * no good way to detect the current host version at compile time, so From nobody Mon Mar 23 20:22:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2Z4KLKz6WT90 for ; Mon, 23 Mar 2026 20:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffl2Z35SBz3VVc for ; Mon, 23 Mar 2026 20:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297334; h=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=SwJpx8FUTMfkcyW9I4iX+9H9MFeVJWyF/xW1lcccQUU=; b=dGwiOUWXYqgb8+VnJEQHp7isGjuuqRXf28c07RWGF9x8awEswiCPhDvoWne4IPBBuVeFDh KHtkFlVy4M5Hi2vK1EhE4zLyGT2SBQywUdwymhBjgPG0i3OntyJbfYZc0xXND6YqrEQ/Jp kQzRpfY0GZx649lSD3VRr8tDPNwHa9Qa2GvrbtPgHMifo/bse5crh1fJBWQzhJ6aggL8t/ fqwzhRqK14gx7XuDVgTumJ0H7n/qlCmi51gYWhyHCbgfAV5jCKh8KfyTL60YIeKTJb2o92 njlFkm/cXkN8lrE8mzyhLrYezSiTH//Bb+x54jFdiC1IbC9x/dBsIMJ7xK1aVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774297334; a=rsa-sha256; cv=none; b=NecdC+yAbWZWau64zNRj1RY2OGz99W0NKuOiBqgCdnIhxV5bjVLWNjx7wIGkLr2YWgxw/G x/GNXwVq9rcvJVeCxfH9cKRc+uuN6+HZ1MW+MVeOMT84pKu0WgLqWW7QEzZGe5nZj0wvT1 GEP98DqZPvViZZ9EXHd9uOpdwKN2cXuC4ABoIZs0Yf3O91n9AOwWZM4dIJx3fa5pSgtimf WgjWrngX0JY8t6KV9U8pxqxRzyTZwDu0aJ4RntLNnQYY+LxxHklI714Sln8TQXBocR76Yh LuxuGK2Ras/nZMY7fMuzl5wgAz/OepQ/RxqaUQx/pX7aeGwX0NUYk6QkAPMB+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=1774297334; h=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=SwJpx8FUTMfkcyW9I4iX+9H9MFeVJWyF/xW1lcccQUU=; b=O9CUG+2+JtEhGR1N+cePHAUS4X+tCL9FVufRM+iJnetGx3C7B+nCA7b8ZhWioXfTry+axl lUnU3YWC9vvMcdNnjrzoMAG1fKL0kKt7ueKAsai6LT/tIhHBObdwTJj6VI9MqKVwBU1+SB Z8rh3YTHm7opmCxoYNCk14SqPtNAKXYd9F4zHFVUETIXzE9fodkaGuEix2wMrrZJsPlkiR Mmw0SrTLD8ljfUI3Ko4orj8ipxLIslSPig9ZHc6zuX2xBQ8lgKHAoZUkW65deiQJc2ka2a M5epXkNncAVoi7/7FudGZ/+XoK+vn9uuWW6I9jW8gTJ6kvC7EU8B0AkFuHm8oQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2Z2dkbz13fV for ; Mon, 23 Mar 2026 20:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18dce by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 20:22:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ali Mashtizadeh From: Mitchell Horne Subject: git: 39515d8b623a - main - hwpmc: Use rdtsc instead of rdtscp for timestamps List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39515d8b623a2be39d0c42a537fd9a17c417ff6e Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 20:22:14 +0000 Message-Id: <69c1a0f6.18dce.494c23c4@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=39515d8b623a2be39d0c42a537fd9a17c417ff6e commit 39515d8b623a2be39d0c42a537fd9a17c417ff6e Author: Ali Mashtizadeh AuthorDate: 2026-03-23 20:21:21 +0000 Commit: Mitchell Horne CommitDate: 2026-03-23 20:21:21 +0000 hwpmc: Use rdtsc instead of rdtscp for timestamps No need for a barrier here, we are inside an NMI handler and executing a number of serializing instructions with stronger semantics. Reducing this overhead will increase our maximum safe sampling rate. Tested by: Paulo Fragoso Reviewed by: mhorne MFC after: 1 week Sponsored by: Netflix Pull Request: https://github.com/freebsd/freebsd-src/pull/2076 --- sys/dev/hwpmc/hwpmc_mod.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c index fb1fdf832398..6133b52b516f 100644 --- a/sys/dev/hwpmc/hwpmc_mod.c +++ b/sys/dev/hwpmc/hwpmc_mod.c @@ -818,11 +818,9 @@ pmc_force_context_switch(void) uint64_t pmc_rdtsc(void) { -#if defined(__i386__) || defined(__amd64__) - if (__predict_true(amd_feature & AMDID_RDTSCP)) - return (rdtscp()); - else - return (rdtsc()); +#if defined(__i386__) + /* Unfortunately get_cyclecount on i386 uses cpu_ticks. */ + return (rdtsc()); #else return (get_cyclecount()); #endif From nobody Mon Mar 23 20:22:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2b5WFJz6WTBN for ; Mon, 23 Mar 2026 20:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffl2b3VyNz3VVf for ; Mon, 23 Mar 2026 20:22:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297335; h=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=IRcmnsdxc8q2uoTenhaZFmk2o0JvE/F8s4ak3A4o7B4=; b=cRZNCMJrxoHqo308lG3By1mz8IaDCdHHMkwAv9EryZN2MoDFrLTrSof2sKoKT9BeCYh0u/ e/DDQ0/WLdPd4dWfwAbYFpyOk0y0Yn+kDNbDl7uu21AAh0/eByMednMmFlZITwpRHdjeC+ TJ50CmSbf7yWvq5yxQI7uye7ZDzqCUj1quS+TdWdV2kkesvd0bf1hHHCI2bLlyhcD5nacs tIaOh4IZNyFSa7YsBKE1FVcoEBEcm1ab4j5GoJdRxY2xYQA+mCmWz8zmLjJcrVSf6y2Ujd qH93z53O5oWRHOALt0aqgHf9+zsgPL+BAVdhciUpOKIWxLMEZ4dSn2pd8/yPrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774297335; a=rsa-sha256; cv=none; b=OnURD4oacVPJuaQs2cVWOzljZSVzfqP2/Az7rPZyWkUm2IAgIu6eek432tA6PfpZYJDQD+ EfAHIXSMWt2Th1mKXa2svdVIrDBo8C03rZejh4B2zkccvc+COO63c5ebHupsx0lxQEVGTi lQJNJJWKI/MZJjmGmHkin6WG1Z5D0FKnt6DHiUM7nR3Fy3xmVXdIVGftu2Qif3ClwRe3fN uh6wvRCBxVGcV2GTOyhRLv+CR1rYF7Zb4zFlIF+/qA1phDxJLIWw33YxxuY40QXV66Vdy4 72Z4Ls27odIQ6bR5wBR8jI5Z4mABYthoHDz4YcGpk9sfek8Td6vjoqdDfdBsdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297335; h=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=IRcmnsdxc8q2uoTenhaZFmk2o0JvE/F8s4ak3A4o7B4=; b=NKeiAoFkdIlpv5Lm0a7hEQtVoazDEfdZk1Dx2CwH4/50skM4pNSDNlhPglAGSZ/BoIabuw p0GTIbKR4tW0Z86b91xzHc+CV0ZAlSnBf7fpeQ5aXMVxKJP6tgEbE29BNw1CxmT+3+FStj wo7EXPZY6R6d+iBjvD+3Da5DRmJLPQw6uy6labMyXNuCLil9dFXmrj4N4gLXfqSPlxHcSV A1HqaWsiMSme0JI42wzsz3joxxHm3zyC7ZEGG69TMo95tsroNa8/IjOnRCxoDQbFbu4NYo 6/YzQ24bi88RiSk7xTplmZNo49Nn8OGv3Z+PmYEwOSX613EOUDKjU3BeOa3YXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2b334yz13fX for ; Mon, 23 Mar 2026 20:22:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47fb8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 20:22:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ali Mashtizadeh From: Mitchell Horne Subject: git: df47355fae72 - main - libpmc: Add support for IBS qualifiers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df47355fae720fd8f63f36a50c8933f8342483d2 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 20:22:15 +0000 Message-Id: <69c1a0f7.47fb8.263fa653@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=df47355fae720fd8f63f36a50c8933f8342483d2 commit df47355fae720fd8f63f36a50c8933f8342483d2 Author: Ali Mashtizadeh AuthorDate: 2026-03-18 04:27:09 +0000 Commit: Mitchell Horne CommitDate: 2026-03-23 20:21:28 +0000 libpmc: Add support for IBS qualifiers Add support to libpmc for parsing the IBS qualifiers and computing the ctl register value as a function of the qualifiers and the sample rate. This includes all of the flags available up to AMD Zen 5. Along side these user facing changes I included the documentation for AMD IBS. Reviewed by: mhorne Sponsored by: Netflix Pull Request: https://github.com/freebsd/freebsd-src/pull/2081 --- lib/libpmc/Makefile | 1 + lib/libpmc/libpmc.c | 71 ++++++++++++++++++---- lib/libpmc/pmc.3 | 7 +++ lib/libpmc/pmc.amd.3 | 1 + lib/libpmc/pmc.core.3 | 1 + lib/libpmc/pmc.core2.3 | 1 + lib/libpmc/pmc.iaf.3 | 1 + lib/libpmc/pmc.ibs.3 | 150 ++++++++++++++++++++++++++++++++++++++++++++++ lib/libpmc/pmc.soft.3 | 1 + lib/libpmc/pmc.tsc.3 | 1 + lib/libpmc/pmc.ucf.3 | 1 + sys/dev/hwpmc/hwpmc_ibs.h | 19 +++++- 12 files changed, 244 insertions(+), 11 deletions(-) diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile index 590f719ebff4..442efdc3d9c0 100644 --- a/lib/libpmc/Makefile +++ b/lib/libpmc/Makefile @@ -74,6 +74,7 @@ MAN+= pmc.haswell.3 MAN+= pmc.haswelluc.3 MAN+= pmc.haswellxeon.3 MAN+= pmc.iaf.3 +MAN+= pmc.ibs.3 MAN+= pmc.ivybridge.3 MAN+= pmc.ivybridgexeon.3 MAN+= pmc.sandybridge.3 diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index ceba40aa7b39..ebb642e8d16b 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -696,7 +696,7 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, struct pmc_op_pmcallocate *pmc_config) { char *e, *p, *q; - uint64_t ctl; + uint64_t ctl, ldlat; pmc_config->pm_caps |= (PMC_CAP_SYSTEM | PMC_CAP_EDGE | PMC_CAP_PRECISE); @@ -714,23 +714,74 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, return (-1); } + /* IBS only supports sampling mode */ + if (!PMC_IS_SAMPLING_MODE(pmc_config->pm_mode)) { + return (-1); + } + /* parse parameters */ - while ((p = strsep(&ctrspec, ",")) != NULL) { - if (KWPREFIXMATCH(p, "ctl=")) { - q = strchr(p, '='); - if (*++q == '\0') /* skip '=' */ + ctl = 0; + if (pe == PMC_EV_IBS_FETCH) { + while ((p = strsep(&ctrspec, ",")) != NULL) { + if (KWMATCH(p, "l3miss")) { + ctl |= IBS_FETCH_CTL_L3MISSONLY; + } else if (KWMATCH(p, "randomize")) { + ctl |= IBS_FETCH_CTL_RANDOMIZE; + } else { return (-1); + } + } - ctl = strtoull(q, &e, 0); - if (e == q || *e != '\0') + if (pmc_config->pm_count < IBS_FETCH_MIN_RATE || + pmc_config->pm_count > IBS_FETCH_MAX_RATE) + return (-1); + + ctl |= IBS_FETCH_INTERVAL_TO_CTL(pmc_config->pm_count); + } else { + while ((p = strsep(&ctrspec, ",")) != NULL) { + if (KWMATCH(p, "l3miss")) { + ctl |= IBS_OP_CTL_L3MISSONLY; + } else if (KWPREFIXMATCH(p, "ldlat=")) { + q = strchr(p, '='); + if (*++q == '\0') /* skip '=' */ + return (-1); + + ldlat = strtoull(q, &e, 0); + if (e == q || *e != '\0') + return (-1); + + /* + * IBS load latency filtering requires the + * latency to be a multiple of 128 and between + * 128 and 2048. The latency is stored in the + * IbsOpLatThrsh field, which only contains + * four bits so the processor computes + * (IbsOpLatThrsh+1)*128 as the value. + * + * AMD PPR Vol 1 for AMD Family 1Ah Model 02h + * C1 (57238) 2026-03-06 Revision 0.49. + */ + if (ldlat < 128 || ldlat > 2048) + return (-1); + ctl |= IBS_OP_CTL_LDLAT_TO_CTL(ldlat); + ctl |= IBS_OP_CTL_L3MISSONLY | IBS_OP_CTL_LATFLTEN; + } else if (KWMATCH(p, "randomize")) { + ctl |= IBS_OP_CTL_COUNTERCONTROL; + } else { return (-1); + } + } - pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; - } else { + if (pmc_config->pm_count < IBS_OP_MIN_RATE || + pmc_config->pm_count > IBS_OP_MAX_RATE) return (-1); - } + + ctl |= IBS_OP_INTERVAL_TO_CTL(pmc_config->pm_count); } + + pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; + return (0); } diff --git a/lib/libpmc/pmc.3 b/lib/libpmc/pmc.3 index 9a5b599759ff..cb28e0b786b9 100644 --- a/lib/libpmc/pmc.3 +++ b/lib/libpmc/pmc.3 @@ -224,6 +224,11 @@ performance measurement architecture version 2 and later. Programmable hardware counters present in CPUs conforming to the .Tn Intel performance measurement architecture version 1 and later. +.It Li PMC_CLASS_IBS +.Tn AMD +Instruction Based Sampling (IBS) counters present in +.Tn AMD +Family 10h and above. .It Li PMC_CLASS_K8 Programmable hardware counters present in .Tn "AMD Athlon64" @@ -491,6 +496,7 @@ following manual pages: .It Em "PMC Class" Ta Em "Manual Page" .It Li PMC_CLASS_IAF Ta Xr pmc.iaf 3 .It Li PMC_CLASS_IAP Ta Xr pmc.atom 3 , Xr pmc.core 3 , Xr pmc.core2 3 +.It Li PMC_CLASS_IBS Ta Xr pmc.ibs 3 .It Li PMC_CLASS_K8 Ta Xr pmc.amd 3 .It Li PMC_CLASS_TSC Ta Xr pmc.tsc 3 .El @@ -542,6 +548,7 @@ Doing otherwise is unsupported. .Xr pmc.haswelluc 3 , .Xr pmc.haswellxeon 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.ivybridge 3 , .Xr pmc.ivybridgexeon 3 , .Xr pmc.sandybridge 3 , diff --git a/lib/libpmc/pmc.amd.3 b/lib/libpmc/pmc.amd.3 index 047b31aa78bb..75c6331b000f 100644 --- a/lib/libpmc/pmc.amd.3 +++ b/lib/libpmc/pmc.amd.3 @@ -777,6 +777,7 @@ and the underlying hardware events used. .Xr pmc.core 3 , .Xr pmc.core2 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmc.tsc 3 , .Xr pmclog 3 , diff --git a/lib/libpmc/pmc.core.3 b/lib/libpmc/pmc.core.3 index b4fa9ab661a4..4c41e7c7ad3b 100644 --- a/lib/libpmc/pmc.core.3 +++ b/lib/libpmc/pmc.core.3 @@ -786,6 +786,7 @@ may not count some transitions. .Xr pmc.atom 3 , .Xr pmc.core2 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmc.tsc 3 , .Xr pmclog 3 , diff --git a/lib/libpmc/pmc.core2.3 b/lib/libpmc/pmc.core2.3 index 86604b7ff16c..7e544fad43b6 100644 --- a/lib/libpmc/pmc.core2.3 +++ b/lib/libpmc/pmc.core2.3 @@ -1101,6 +1101,7 @@ and the underlying hardware events used. .Xr pmc.atom 3 , .Xr pmc.core 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmc.tsc 3 , .Xr pmc_cpuinfo 3 , diff --git a/lib/libpmc/pmc.iaf.3 b/lib/libpmc/pmc.iaf.3 index eaf45db140f5..c3528e472103 100644 --- a/lib/libpmc/pmc.iaf.3 +++ b/lib/libpmc/pmc.iaf.3 @@ -125,6 +125,7 @@ CPU, use the event specifier .Xr pmc.atom 3 , .Xr pmc.core 3 , .Xr pmc.core2 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmc.tsc 3 , .Xr pmc_cpuinfo 3 , diff --git a/lib/libpmc/pmc.ibs.3 b/lib/libpmc/pmc.ibs.3 new file mode 100644 index 000000000000..69b90b84556c --- /dev/null +++ b/lib/libpmc/pmc.ibs.3 @@ -0,0 +1,150 @@ +.\" Copyright (c) 2016 Ali Mashtizadeh. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd March 15, 2026 +.Dt PMC.IBS 3 +.Os +.Sh NAME +.Nm pmc.ibs +.Nd Instruction Based Sampling for +.Tn AMD +CPUs +.Sh LIBRARY +.Lb libpmc +.Sh SYNOPSIS +.In pmc.h +.Sh DESCRIPTION +AMD Instruction Based Sampling (IBS) was introduced with the K10 family of +CPUs. +AMD IBS is an alternative approach that samples instructions or micro-ops and +provides a per-instruction or micro-op breakdown of the sources of stalls. +.Pp +Unlike traditional counters, IBS can only be used in the sampling mode and +provides extra data embedded in the callchain. +IBS events set the PMC_F_MULTIPART flag to signify multiple payload types are +contained in the callchain. +The first 8 bytes of the callchain contain four tuples with a one byte type and +a one byte length field. +The regular PMC callchain can be found following the multipart payload. +.Pp +IBS only provides two events that analyze instruction fetches and instruction +execution. +The instruction fetch (ibs-fetch) event provides data on the processor +front-end including reporting instruction cache and TLB events. +The instruction execution (ibs-op) event provides data on the processor +execution including reporting mispredictions, data cache and TLB events. +You should use the AMD PMC counters documented in +.Xr pmc.amd 3 +to analyze stalls relating instruction issue including reservation contention. +.Pp +A guide to analyzing IBS data is provided in Appendix G of the +.Rs +.%B "Software Optimization Guide for AMD Family 10h and 12h Processors" +.%N "Publication No. 40546" +.%D "February 2011" +.%Q "Advanced Micro Devices, Inc." +.Re +A more recent document should be used for decoding all of the flags and fields +in the IBS data. +For example, see the AMD Zen 5 documentation +.Rs +.%B "Processor Programming Reference (PPR) for AMD Family 1Ah Model 02h" +.%N "Publication No. 57238" +.%D "March 6, 2026" +.%Q "Advanced Micro Devices, Inc." +.Re +.Ss PMC Features +AMD IBS supports the following capabilities. +.Bl -column "PMC_CAP_INTERRUPT" "Support" +.It Em Capability Ta Em Support +.It PMC_CAP_CASCADE Ta \&No +.It PMC_CAP_EDGE Ta Yes +.It PMC_CAP_INTERRUPT Ta Yes +.It PMC_CAP_INVERT Ta \&No +.It PMC_CAP_READ Ta \&No +.It PMC_CAP_PRECISE Ta Yes +.It PMC_CAP_SYSTEM Ta Yes +.It PMC_CAP_TAGGING Ta \&No +.It PMC_CAP_THRESHOLD Ta \&No +.It PMC_CAP_USER Ta \&No +.It PMC_CAP_WRITE Ta \&No +.El +.Pp +By default AMD IBS enables the edge, interrupt, system and precise flags. +.Ss Event Qualifiers +Event specifiers for AMD IBS can have the following optional +qualifiers: +.Bl -tag -width "ldlat=value" +.It Li l3miss +Configure IBS to only sample if an l3miss occurred. +.It Li ldlat= Ns Ar value +Configure the counter to only sample events with load latencies above +.Ar ldlat . +IBS only supports filtering latencies that are a multiple of 128 and between +128 and 2048. +Load latency filtering can only be used with ibs-op events and imply the +l3miss qualifier. +.It Li randomize +Randomize the sampling rate. +.El +.Ss AMD IBS Events Specifiers +The IBS event class provides only two event specifiers: +.Bl -tag -width indent +.It Li ibs-fetch Xo +.Op ,l3miss +.Op ,randomize +.Xc +Collect performance samples during instruction fetch. +The +.Ar randomize +qualifier randomly sets the bottom four bits of the sample rate. +.It Li ibs-op Xo +.Op ,l3miss +.Op ,ldlat= Ns Ar ldlat +.Op ,randomize +.Xc +Collect performance samples during instruction execution. +The +.Ar randomize +qualifier, upon reaching the maximum count, restarts the count with a value +between 1 and 127. +.El +.Pp +You may collect both events at the same time. +N.B. AMD discouraged doing so with certain older processors, stating that +sampling both simultaneously perturbs the results. +Please see the processor programming reference for your specific processor. +.Sh SEE ALSO +.Xr pmc 3 , +.Xr pmc.amd 3 , +.Xr pmc.soft 3 , +.Xr pmc.tsc 3 , +.Xr pmclog 3 , +.Xr hwpmc 4 +.Sh HISTORY +AMD IBS support was first introduced in +.Fx 16.0 . +.Sh AUTHORS +AMD IBS support and this manual page were written +.An Ali Mashtizadeh Aq Mt ali@mashtizadeh.com +and sponsored by Netflix, Inc. diff --git a/lib/libpmc/pmc.soft.3 b/lib/libpmc/pmc.soft.3 index 08d5af63d02d..f58b3e8ffa26 100644 --- a/lib/libpmc/pmc.soft.3 +++ b/lib/libpmc/pmc.soft.3 @@ -90,6 +90,7 @@ Write page fault. .Xr pmc.corei7 3 , .Xr pmc.corei7uc 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.tsc 3 , .Xr pmc.ucf 3 , .Xr pmc.westmereuc 3 , diff --git a/lib/libpmc/pmc.tsc.3 b/lib/libpmc/pmc.tsc.3 index 4834d897f90c..73e2377df0c7 100644 --- a/lib/libpmc/pmc.tsc.3 +++ b/lib/libpmc/pmc.tsc.3 @@ -62,6 +62,7 @@ maps to the TSC. .Xr pmc.core 3 , .Xr pmc.core2 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmclog 3 , .Xr hwpmc 4 diff --git a/lib/libpmc/pmc.ucf.3 b/lib/libpmc/pmc.ucf.3 index a7cea6bb57f9..37ee0f87a951 100644 --- a/lib/libpmc/pmc.ucf.3 +++ b/lib/libpmc/pmc.ucf.3 @@ -88,6 +88,7 @@ offset C0H under device number 0 and Function 0. .Xr pmc.corei7 3 , .Xr pmc.corei7uc 3 , .Xr pmc.iaf 3 , +.Xr pmc.ibs 3 , .Xr pmc.soft 3 , .Xr pmc.tsc 3 , .Xr pmc.westmere 3 , diff --git a/sys/dev/hwpmc/hwpmc_ibs.h b/sys/dev/hwpmc/hwpmc_ibs.h index 4449b44c8368..01fc88648558 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.h +++ b/sys/dev/hwpmc/hwpmc_ibs.h @@ -67,6 +67,18 @@ #define IBS_CTL_LVTOFFSETVALID (1ULL << 8) #define IBS_CTL_LVTOFFSETMASK 0x0000000F +/* + * The minimum sampling rate was selected to match the default used by other + * counters that was also found to be experimentally stable by providing enough + * time between consecutive NMIs. The maximum sample rate is determined by + * setting all available counter bits, i.e., all available bits except the + * bottom four that are zero extended. + */ +#define IBS_FETCH_MIN_RATE 65536 +#define IBS_FETCH_MAX_RATE 1048560 +#define IBS_OP_MIN_RATE 65536 +#define IBS_OP_MAX_RATE 134217712 + /* IBS Fetch Control */ #define IBS_FETCH_CTL 0xC0011030 /* IBS Fetch Control */ #define IBS_FETCH_CTL_L3MISS (1ULL << 61) /* L3 Cache Miss */ @@ -82,7 +94,8 @@ #define IBS_FETCH_CTL_ENABLE (1ULL << 48) /* Enable */ #define IBS_FETCH_CTL_MAXCNTMASK 0x0000FFFFULL -#define IBS_FETCH_CTL_TO_LAT(_c) ((_c >> 32) & 0x0000FFFF) +#define IBS_FETCH_INTERVAL_TO_CTL(_c) (((_c) >> 4) & 0x0000FFFF) +#define IBS_FETCH_CTL_TO_LAT(_c) (((_c) >> 32) & 0x0000FFFF) #define IBS_FETCH_LINADDR 0xC0011031 /* Fetch Linear Address */ #define IBS_FETCH_PHYSADDR 0xC0011032 /* Fetch Physical Address */ @@ -95,12 +108,16 @@ /* IBS Execution Control */ #define IBS_OP_CTL 0xC0011033 /* IBS Execution Control */ +#define IBS_OP_CTL_LATFLTEN (1ULL << 63) /* Load Latency Filtering */ #define IBS_OP_CTL_COUNTERCONTROL (1ULL << 19) /* Counter Control */ #define IBS_OP_CTL_VALID (1ULL << 18) /* Valid */ #define IBS_OP_CTL_ENABLE (1ULL << 17) /* Enable */ #define IBS_OP_CTL_L3MISSONLY (1ULL << 16) /* L3 Miss Filtering */ #define IBS_OP_CTL_MAXCNTMASK 0x0000FFFFULL +#define IBS_OP_CTL_LDLAT_TO_CTL(_c) ((((ldlat) >> 7) - 1) << 59) +#define IBS_OP_INTERVAL_TO_CTL(_c) ((((_c) >> 4) & 0x0000FFFFULL) | ((_c) & 0x07F00000)) + #define IBS_OP_RIP 0xC0011034 /* IBS Op RIP */ #define IBS_OP_DATA 0xC0011035 /* IBS Op Data */ #define IBS_OP_DATA_RIPINVALID (1ULL << 38) /* RIP Invalid */ From nobody Mon Mar 23 20:22:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2f2HDdz6WT92 for ; Mon, 23 Mar 2026 20:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffl2d5h8Vz3V8x for ; Mon, 23 Mar 2026 20:22:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297337; h=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=qJy4Gt4pEK8J0VywH8h6jxae38PiNkzqcGo5cBzyCWg=; b=GfbJaFWWpyqft6uwRqSdbxWoVoKx3nMt29/86rgjBGc19G83wyOPGRYeGk/n9XrBA9nRka dCgMHwbV9rS4NBqigs4FbRfDoQvbyR1A71JQXVDcVdUrwoSLEl0muV39jiTRQKC8qsvDKb AVd8ygLLLJbptq/MO/tIny1b38bMaANBLGTK9go11c7wyNPEzge73fqlW960cTdvyhlTaY AYdmBpbYWv96ljCeiJhTf3w+RBTTSx7cwyZhXPAc7t28FSXKW6/h3d5bdALcl1iVqwpJAN fXdHyTpvmLu6keZCnIUh9A64FSep+7ZnbKm5DEeZ9xOfZSsh7xB/TfMH2oDzyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774297337; a=rsa-sha256; cv=none; b=w0nUAsFLifZpRAFAiRSRuX2rAUWO7yT5TtDTd+Nxs+s2p4adN55AM9iedOmA3BxPQJ5QWJ 5uEt25VYLxu96jFAfu7sxgJtlG6zeNCB2gwaQyc44Jwm27+VYK8KZciT9Z2fAwkBaR8Ifx eNKjJtT4BXg2SR/LC1aPWk1W1qVvEZHzoxGFbsbIyPzlbL4Wb+vJNQdcoWk7pvCtFiKtVp VzrAbiJ3VPifyYpMCUbjnu5OlE3NS35fiQIizbzk6c1iCad/qyesxZdTUwNGAWvQ3euu+q nbQU9+Z7KunWA/DuIe5YFs7aZNc896tBM8S7n3o2NGPDNf3cDcsAzUZEAoul5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297337; h=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=qJy4Gt4pEK8J0VywH8h6jxae38PiNkzqcGo5cBzyCWg=; b=HUyeci7Nfsm2s1115m1n5JjU9xYWVQYqWaZHx7tGnzg8e2BDT/egdo16vcvu958meIlgT/ ZbhvsFV6GQRFEjh73qAN9eLR3CTqRaH48u0wYi6q7K0jJlBAIkNVx5cn61rNQN9G45QBWQ K1wo/q4l/4TmKhTPTFK6+McuxJ6aualu1qFwi0UbEXWxHCziyci9zpgzVyuppYKpRLP0CL AFsHf/ltN3vQQgsMsnamVeaNC/u+xFRp74vBXKwQlSdtK4RVzd2QxcucS+ZxxNHsY835YT OfyeCrE5J6fGi9AY835LjIGP/JJ7/qGVoANXfiLvAIDLE/7pvPoQym07bM9ogg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2d4JfPz12tv for ; Mon, 23 Mar 2026 20:22:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47232 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 20:22:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Paulo Fragoso From: Mitchell Horne Subject: git: 2318ea10a3af - main - hwpmc.4: correct stale default values and update diagnostics List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2318ea10a3afb66c51078483f74c1a622811a619 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 20:22:17 +0000 Message-Id: <69c1a0f9.47232.5528270a@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=2318ea10a3afb66c51078483f74c1a622811a619 commit 2318ea10a3afb66c51078483f74c1a622811a619 Author: Paulo Fragoso AuthorDate: 2026-03-23 20:17:54 +0000 Commit: Mitchell Horne CommitDate: 2026-03-23 20:21:28 +0000 hwpmc.4: correct stale default values and update diagnostics The default values documented for kern.hwpmc.logbuffersize (4KB) and kern.hwpmc.nbuffers_pcpu (64) have been incorrect since 2981a3420cb1 (2018), which updated the compiled defaults but did not update the man page. - Correct logbuffersize default from 4KB to 256KB, add 16MB maximum - Correct nbuffers_pcpu default from 64 to 32, document 32MB per-CPU product limit with kern.hwpmc.logbuffersize - Update DIAGNOSTICS section to reflect current warning messages Reviewed by: mhorne MFC after: 1 week Sponsored by: NLINK (nlink.com.br) Differential Revision: https://reviews.freebsd.org/D56050 --- share/man/man4/hwpmc.4 | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/share/man/man4/hwpmc.4 b/share/man/man4/hwpmc.4 index 1ab690e5009c..5b3e9a195b8c 100644 --- a/share/man/man4/hwpmc.4 +++ b/share/man/man4/hwpmc.4 @@ -445,7 +445,8 @@ The default is 16. The size in kilobytes of each log buffer used by .Nm Ns 's logging function. -The default buffer size is 4KB. +The default buffer size is 256KB. +The maximum value is 16MB. .It Va kern.hwpmc.mincount Pq integer, read-write The minimum sampling rate for sampling mode PMCs. The default count is 1000 events. @@ -453,10 +454,15 @@ The default count is 1000 events. The size of the spin mutex pool used by the PMC driver. The default is 32. .It Va kern.hwpmc.nbuffers_pcpu Pq integer, read-only -The number of log buffers used by +The number of log buffers per CPU used by .Nm for logging. -The default is 64. +The default is 32. +The product of +.Va kern.hwpmc.nbuffers_pcpu +and +.Va kern.hwpmc.logbuffersize +must not exceed 32MB per CPU. .It Va kern.hwpmc.nsamples Pq integer, read-only The number of entries in the per-CPU ring buffer used during sampling. The default is 512. @@ -522,16 +528,23 @@ was not configured with the required configuration option .It "hwpmc: tunable hashsize=%d must be greater than zero." A negative value was supplied for tunable .Va kern.hwpmc.hashsize . -.It "hwpmc: tunable logbuffersize=%d must be greater than zero." +.It "hwpmc: logbuffersize=%d must be greater than zero and less than or equal to %d, resetting to %d." A negative value was supplied for tunable .Va kern.hwpmc.logbuffersize . -.It "hwpmc: tunable nlogbuffers=%d must be greater than zero." +.It "hwpmc: nbuffers_pcpu=%d must be greater than zero, resetting to %d." A negative value was supplied for tunable -.Va kern.hwpmc.nlogbuffers . +.Va kern.hwpmc.nbuffers_pcpu . .It "hwpmc: tunable nsamples=%d out of range." The value for tunable .Va kern.hwpmc.nsamples was negative or greater than 65535. +.It "hwpmc: nbuffers_pcpu=%d * logbuffersize=%d exceeds %dMB per CPU limit, resetting to defaults (%d * %d)." +The product of tunables +.Va kern.hwpmc.nbuffers_pcpu +and +.Va kern.hwpmc.logbuffersize +exceeds the maximum per-CPU memory limit. +Both tunables are reset to their compiled defaults. .El .Sh DEBUGGING The From nobody Mon Mar 23 20:22:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2d00cMz6WTBW for ; Mon, 23 Mar 2026 20:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffl2c4Nd3z3V8p for ; Mon, 23 Mar 2026 20:22:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297336; h=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=cNS7RYADXUbth2E8DBsN3w1KP02D1BzXBRLkneMFzMI=; b=mgOF+c4R85p2++n+xk4l850RsjLapI7XvSEi2YB+MZtlacE5p5ez21E1N/+cPV0UFdjwZ6 m7Cap57RV2yaoW3zoXFGe8GSQH0IXO5qCyCJa3CsiZB8yK7Oj5jUBmwFVux+OAA2Of1iOt iQCVMHN7k1OTT2Il9XJmbuZO9TYu4NNgu6o5sPFf76HdOp93xFXOnvI1/paT89SyiGwc5c VjSujji61t/WpPHggFVhkNIPbxTLjnBWzyu/q03UKHCUrV5X8bzvQyxZjE55SR5DeG26Av 4Y/2x7oLAN7MrIe7avJ/qjv/1zZrwD+9L0SGEe9t+6QI+f8TAQm/pBJ1yBI0Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774297336; a=rsa-sha256; cv=none; b=eS6LupHDevIMN7bi6qNokFKcTItJCkqfGyde4PGgGm0/lRh0ipxqYx/gFdRXwkYpIhI2ka dLZx9bAYM4Xj7DI2r+3pkMUOrnxubMyWYqqU9GrBAj+D2yFxM5axp2PhOCXc/RNMRwpqWU hZp/vEPbKavOUHIAO9u7cpV+Hy1R0PPkS0EbXhilKupxser6tGgv624gkrUl4SO6mNXfjp Cr/3FXdKZo9C4XQarBIjHO0LCmBbGMYNum31B9/3LhUdzd46fMlIMiIodZO5ifu89ve2Zm taVzR5hfp/ps6hrME/JWsifuQPeAC9wMuLcr+rvModeDMNJw1xXHHzHUq2EgVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774297336; h=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=cNS7RYADXUbth2E8DBsN3w1KP02D1BzXBRLkneMFzMI=; b=XIHvGRb3KBAELOTaK6rpSp52AV+frRlLK53Xl6hvXQtueNtCm2RrM682NRiPLzDhe81+Yn DyGo0L+cu4tfb7iRayPgZ91pbQjGdRiCrpKD76Qwka03feOfArJpPVU4+aQ/qMv3tl6Sat FhTJ3fN9MSBvg2fbOYtHMF/CRboAuue2LJ8nx5hC6E259e5N6HsRR787paYyy3poocJpRG lCMbmVSHJ+nrhUdlJZacky+HSfFlXF0SRBFX+5OW3GhGo6FJ7VUGJCE9CYTbmImd8hNEvc bxJLDW1w32Ip1AImQJTw0L/wKd8s0B/1dZVSQ3GFq6dRwgZ9e8b0BjDmmP9/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 4ffl2c3sjlz12pN for ; Mon, 23 Mar 2026 20:22:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47d70 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 20:22:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Paulo Fragoso From: Mitchell Horne Subject: git: b3a18736ec2f - main - hwpmc: improve diagnostic messages for invalid tunables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3a18736ec2fc2bd097995dedd8d09e79bcb2056 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 20:22:16 +0000 Message-Id: <69c1a0f8.47d70.6a6a8fe5@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=b3a18736ec2fc2bd097995dedd8d09e79bcb2056 commit b3a18736ec2fc2bd097995dedd8d09e79bcb2056 Author: Paulo Fragoso AuthorDate: 2026-03-23 14:54:18 +0000 Commit: Mitchell Horne CommitDate: 2026-03-23 20:21:28 +0000 hwpmc: improve diagnostic messages for invalid tunables Replace printf() with log(LOG_WARNING, ...) in pmclog_initialize() so that tunable validation failures are visible in dmesg and /var/log/messages rather than only on the early console. Also improve the messages to report both the invalid value and the default it resets to, making it easier for users to understand why their tunable was ignored. While here, adjust some whitespacing/style. Reviewed by: Ali Mashtizadeh , mhorne MFC after: 1 week Sponsored by: NLINK (nlink.com.br) Differential Revision: https://reviews.freebsd.org/D56029 --- sys/dev/hwpmc/hwpmc_logging.c | 35 ++++++++++++++++++++++++++--------- sys/sys/pmc.h | 2 ++ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_logging.c b/sys/dev/hwpmc/hwpmc_logging.c index 8fd7ef06a977..4f507523b6ab 100644 --- a/sys/dev/hwpmc/hwpmc_logging.c +++ b/sys/dev/hwpmc/hwpmc_logging.c @@ -58,6 +58,7 @@ #include #include #include +#include #if defined(__i386__) || defined(__amd64__) #include @@ -1236,24 +1237,39 @@ pmclog_initialize(void) struct pmclog_buffer *plb; int domain, ncpus, total; - if (pmclog_buffer_size <= 0 || pmclog_buffer_size > 16*1024) { - (void) printf("hwpmc: tunable logbuffersize=%d must be " - "greater than zero and less than or equal to 16MB.\n", - pmclog_buffer_size); + if (pmclog_buffer_size <= 0 || + pmclog_buffer_size > PMC_LOG_BUFFER_SIZE_MAX) { + log(LOG_WARNING, + "hwpmc: logbuffersize=%d must be greater than zero " + "and less than or equal to %d, resetting to %d\n", + pmclog_buffer_size, PMC_LOG_BUFFER_SIZE_MAX, + PMC_LOG_BUFFER_SIZE); + pmclog_buffer_size = PMC_LOG_BUFFER_SIZE; } if (pmc_nlogbuffers_pcpu <= 0) { - (void) printf("hwpmc: tunable nlogbuffers=%d must be greater " - "than zero.\n", pmc_nlogbuffers_pcpu); + log(LOG_WARNING, + "hwpmc: nbuffers_pcpu=%d must be greater than zero, " + "resetting to %d\n", + pmc_nlogbuffers_pcpu, PMC_NLOGBUFFERS_PCPU); + pmc_nlogbuffers_pcpu = PMC_NLOGBUFFERS_PCPU; } - if (pmc_nlogbuffers_pcpu*pmclog_buffer_size > 32*1024) { - (void) printf("hwpmc: memory allocated pcpu must be less than 32MB (is %dK).\n", - pmc_nlogbuffers_pcpu*pmclog_buffer_size); + + if (pmc_nlogbuffers_pcpu * pmclog_buffer_size > + PMC_NLOGBUFFERS_PCPU_MEM_MAX) { + log(LOG_WARNING, + "hwpmc: nbuffers_pcpu=%d * logbuffersize=%d exceeds " + "%dMB per CPU limit, resetting to defaults (%d * %d)\n", + pmc_nlogbuffers_pcpu, pmclog_buffer_size, + PMC_NLOGBUFFERS_PCPU_MEM_MAX / 1024, + PMC_NLOGBUFFERS_PCPU, PMC_LOG_BUFFER_SIZE); + pmc_nlogbuffers_pcpu = PMC_NLOGBUFFERS_PCPU; pmclog_buffer_size = PMC_LOG_BUFFER_SIZE; } + for (domain = 0; domain < vm_ndomains; domain++) { ncpus = pmc_dom_hdrs[domain]->pdbh_ncpus; total = ncpus * pmc_nlogbuffers_pcpu; @@ -1270,6 +1286,7 @@ pmclog_initialize(void) pmc_plb_rele_unlocked(plb); } } + mtx_init(&pmc_kthread_mtx, "pmc-kthread", "pmc-sleep", MTX_DEF); } diff --git a/sys/sys/pmc.h b/sys/sys/pmc.h index 4c160c000dab..b9242aafb19c 100644 --- a/sys/sys/pmc.h +++ b/sys/sys/pmc.h @@ -661,7 +661,9 @@ struct pmc_op_caps { #define PMC_HASH_SIZE 1024 #define PMC_MTXPOOL_SIZE 2048 #define PMC_LOG_BUFFER_SIZE 256 +#define PMC_LOG_BUFFER_SIZE_MAX (16 * 1024) #define PMC_NLOGBUFFERS_PCPU 32 +#define PMC_NLOGBUFFERS_PCPU_MEM_MAX (32 * 1024) #define PMC_NSAMPLES 256 #define PMC_CALLCHAIN_DEPTH 128 #define PMC_THREADLIST_MAX 128 From nobody Mon Mar 23 21:12:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffm8F4rMkz6WWBd for ; Mon, 23 Mar 2026 21:12:13 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb12b.google.com (mail-yx1-xb12b.google.com [IPv6:2607:f8b0:4864:20::b12b]) (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 4ffm8F2KBfz3b41 for ; Mon, 23 Mar 2026 21:12:13 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yx1-xb12b.google.com with SMTP id 956f58d0204a3-64ed548c2f6so776936d50.1 for ; Mon, 23 Mar 2026 14:12:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774300327; cv=none; d=google.com; s=arc-20240605; b=jj9MzhAQahLo4IhKftAnDglyxCS4uaPtx/LxgxBvh6RUeaTTD7kqcLVQVJUA/1siyd ZRVv8zhtMoZygx+8w/ZjGg9oGkuk8fC2ruFFQXW5t64Q582j14RfrX6kp4mdsQfEYziQ 84vJvMXchcPapXkP88LndKd3Y1NdFSo9UKIcwI0WQxNlGFaCuxrdcSWxEXZAwrBIrDHP x0gGePGKyNld4gLu3wYquIIJZAoPTY0Q0N9ftbI2Fphp9Jbh6cYvHcskUcCX4dvMEU2/ m0TMGLVlgc/uoEhrOqUtrugssFkyANscARwxFk4W2B9NAR1DmWpM+XhogDFruij1h1VF s4dg== 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:references:in-reply-to :mime-version:dkim-signature; bh=ypp//fydBngpu3JSseK4uMU0q2senNS8STUIcmuq0fI=; fh=vt9NfWkDTjF9XD2ixh0qt/W29cOSb6Lr6/S7uMafzcI=; b=NjxUB2JfAV9Kh5C1jb1W84G8iiVQ84h6PRGJ6/08VLEY3dnFlX9w2f7sgiocijIO4M qjpXLQvpc+JR0gpa/9oydYpnNz3oGEfGu70EgiYJFVr1knAwq6I1Yfijp9H5OG+adkBj cjnVsFrvp9YVVhpUWzPoNu7oe59mXZXkzfeI50DkdA9W9zggTnzDJ7ISILJqpU9NPlp/ xE9kcRj30LEoAvRlROjWIhDdTEaPDG77foSBLkBB/qLneY+Wwisyz3sp2iwzgfOn4D3T Xdi/Lus0PC6mGLz06ArZZj1t+HhIbk9gekEtQ4rALq7jcc3pBmpkNXRbk8EZSOxWV+Qe gL+Q==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774300327; x=1774905127; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ypp//fydBngpu3JSseK4uMU0q2senNS8STUIcmuq0fI=; b=pbkOybn5vFsQGYT2NzJWUlFIaySHEz8bEpC2xVWC8564dF3qc4USxci8GX0ttvuB+R N9/HBFiDfotkA+TnZ+b93LIFe5PoOulIgNc6Hz0oifjkvJIQZgLfGhg2k4UFe5oEfGTm +Wii2RgqmQgEriAcU/RJWqHDRTozxrrJVuGoL3qF7xt1Vi0hvRITzF4KXHMu+YFZBd9Z sQV4+NDgC9BQRSJawHxe7LCgcgGYQl+i7+j1lgAet00Kx1864CCx3Ki/3l4zEtlJA0Or PmpBHBOcVsE8fALiyGrv0bo+5lQOxE+GnxuOt8vqqCwdzBrxwLd8ywYOGqsf7KGS90up aUdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774300327; x=1774905127; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ypp//fydBngpu3JSseK4uMU0q2senNS8STUIcmuq0fI=; b=hledxs8P7RSXNVJaEFLLXC8OQCeFv6N5ify2xZNFUtMd2ypwNwXlXQOCuFyLjUsSmu R6HuhIiF2K3xzy33YHjFSDS1pvFQmhsLOwmwHxIFSEsjXy8w8dKaMuWZHpXgeDChUHvY SDVjELboVJbZydC70brdjeAQEmaYXJel4E2ZUWupJefRpGRhiBSp0GeAFY+bRW64Mw2t xvf/UCksuMI3jftJUnzL+ykQOvSOIYQnJhGPTECAyd1iPRCQ6LmIE1qaF9Jh4hLL47a/ +FeU/MjNLeaSIud+FY0hRfaw9YNXMoRlwcNdpefeXxO4LA6HLBqYpUpfkRXaV4MKtxnu b7sQ== X-Forwarded-Encrypted: i=1; AJvYcCUUUIigy3GcoqrI6BmAuPumTWGDlfHBrvOimy/rCby5RCYG2Rxd0K94v1U9dahQpX+qKpv/oEt7vPZxoJZy6IXdA1pD@freebsd.org X-Gm-Message-State: AOJu0YxxKGKKuHbdd1lyDxmOV4+NAKe9VByknSLu5PPpdRU/bmNgH+wk rya6OlIxlnXDbENCub1Dkz3DVc+DbXK6x2NyHF8n37cQc3SKrt0XJQTUF9q8386uvMW/EjGfZD9 yXNjlgOqD8BJGzL3UKLMYOKWpdB26GjUX9A== X-Gm-Gg: ATEYQzxd8u2dpd0HCNNCEhvjeiCYM9rWPJrt4HKsjjrDMAhgq5kqNsbS5+GLQ5Qe+Ku mZRLZ7BRDz3x4zGehZDWoabh+rS4b7pfJpp/F4MXQ1JJhX0OSAg0dyPSL0qblt/Sl9WjDPJBEHW aegP2N8p8a6QELWsft0z4DhFNOJZRG0Vo2h2Oc/xNi6Q5qcF72PXPPiKA3Y0/E5ZgWZgfFMyAS2 2UTcSxXH9UZmF8pEQmfr1gIrVeNEbSjiWxIOh8kUMQ3foYKuZbLIQdn5/AJyDWa0Qx3bX2Q3JZa GcLIdsX1z/LAjznTXTDzdc2JOA1AorfJPlfx0Nqs X-Received: by 2002:a05:690c:89:b0:79a:b49a:cb14 with SMTP id 00721157ae682-79ab49ad764mr56074557b3.24.1774300327016; Mon, 23 Mar 2026 14:12:07 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7011:8a8b:b0:50c:dae0:cfcc with HTTP; Mon, 23 Mar 2026 14:12:05 -0700 (PDT) In-Reply-To: <69c1a0f7.47fb8.263fa653@gitrepo.freebsd.org> References: <69c1a0f7.47fb8.263fa653@gitrepo.freebsd.org> From: Oliver Pinter Date: Mon, 23 Mar 2026 22:12:05 +0100 X-Gm-Features: AaiRm51h_fpoibvE2DPLadfr0E6gVFv-IichNCqU0Xpif72VkTj4knaClGWSFhE Message-ID: Subject: Re: git: df47355fae72 - main - libpmc: Add support for IBS qualifiers To: Mitchell Horne Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Ali Mashtizadeh Content-Type: multipart/alternative; boundary="000000000000b77e57064db77c73" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4ffm8F2KBfz3b41 X-Spamd-Bar: ---- --000000000000b77e57064db77c73 Content-Type: text/plain; charset="UTF-8" On Monday, March 23, 2026, Mitchell Horne wrote: > The branch main has been updated by mhorne: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > df47355fae720fd8f63f36a50c8933f8342483d2 > > commit df47355fae720fd8f63f36a50c8933f8342483d2 > Author: Ali Mashtizadeh > AuthorDate: 2026-03-18 04:27:09 +0000 > Commit: Mitchell Horne > CommitDate: 2026-03-23 20:21:28 +0000 > > libpmc: Add support for IBS qualifiers > > Add support to libpmc for parsing the IBS qualifiers and computing the > ctl register value as a function of the qualifiers and the sample rate. > This includes all of the flags available up to AMD Zen 5. Along side > these user facing changes I included the documentation for AMD IBS. > > Reviewed by: mhorne > Sponsored by: Netflix > Pull Request: https://github.com/freebsd/freebsd-src/pull/2081 > --- > lib/libpmc/Makefile | 1 + > lib/libpmc/libpmc.c | 71 ++++++++++++++++++---- > lib/libpmc/pmc.3 | 7 +++ > lib/libpmc/pmc.amd.3 | 1 + > lib/libpmc/pmc.core.3 | 1 + > lib/libpmc/pmc.core2.3 | 1 + > lib/libpmc/pmc.iaf.3 | 1 + > lib/libpmc/pmc.ibs.3 | 150 ++++++++++++++++++++++++++++++ > ++++++++++++++++ > lib/libpmc/pmc.soft.3 | 1 + > lib/libpmc/pmc.tsc.3 | 1 + > lib/libpmc/pmc.ucf.3 | 1 + > sys/dev/hwpmc/hwpmc_ibs.h | 19 +++++- > 12 files changed, 244 insertions(+), 11 deletions(-) > > diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile > index 590f719ebff4..442efdc3d9c0 100644 > --- a/lib/libpmc/Makefile > +++ b/lib/libpmc/Makefile > @@ -74,6 +74,7 @@ MAN+= pmc.haswell.3 > MAN+= pmc.haswelluc.3 > MAN+= pmc.haswellxeon.3 > MAN+= pmc.iaf.3 > +MAN+= pmc.ibs.3 > MAN+= pmc.ivybridge.3 > MAN+= pmc.ivybridgexeon.3 > MAN+= pmc.sandybridge.3 > diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c > index ceba40aa7b39..ebb642e8d16b 100644 > --- a/lib/libpmc/libpmc.c > +++ b/lib/libpmc/libpmc.c > @@ -696,7 +696,7 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, > struct pmc_op_pmcallocate *pmc_config) > { > char *e, *p, *q; > - uint64_t ctl; > + uint64_t ctl, ldlat; > > pmc_config->pm_caps |= > (PMC_CAP_SYSTEM | PMC_CAP_EDGE | PMC_CAP_PRECISE); > @@ -714,23 +714,74 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, > return (-1); > } > > + /* IBS only supports sampling mode */ > + if (!PMC_IS_SAMPLING_MODE(pmc_config->pm_mode)) { > + return (-1); > + } > + > /* parse parameters */ > - while ((p = strsep(&ctrspec, ",")) != NULL) { > - if (KWPREFIXMATCH(p, "ctl=")) { > - q = strchr(p, '='); > - if (*++q == '\0') /* skip '=' */ > + ctl = 0; > + if (pe == PMC_EV_IBS_FETCH) { > + while ((p = strsep(&ctrspec, ",")) != NULL) { > + if (KWMATCH(p, "l3miss")) { > + ctl |= IBS_FETCH_CTL_L3MISSONLY; > + } else if (KWMATCH(p, "randomize")) { > + ctl |= IBS_FETCH_CTL_RANDOMIZE; > + } else { > return (-1); > + } > + } > > - ctl = strtoull(q, &e, 0); > - if (e == q || *e != '\0') > + if (pmc_config->pm_count < IBS_FETCH_MIN_RATE || > + pmc_config->pm_count > IBS_FETCH_MAX_RATE) > + return (-1); > + > + ctl |= IBS_FETCH_INTERVAL_TO_CTL(pmc_config->pm_count); > + } else { > + while ((p = strsep(&ctrspec, ",")) != NULL) { > + if (KWMATCH(p, "l3miss")) { > + ctl |= IBS_OP_CTL_L3MISSONLY; > + } else if (KWPREFIXMATCH(p, "ldlat=")) { > + q = strchr(p, '='); > + if (*++q == '\0') /* skip '=' */ > + return (-1); > + > + ldlat = strtoull(q, &e, 0); > + if (e == q || *e != '\0') > + return (-1); > + > + /* > + * IBS load latency filtering requires the > + * latency to be a multiple of 128 and > between > + * 128 and 2048. The latency is stored in > the > + * IbsOpLatThrsh field, which only contains > + * four bits so the processor computes > + * (IbsOpLatThrsh+1)*128 as the value. > + * > + * AMD PPR Vol 1 for AMD Family 1Ah Model > 02h > + * C1 (57238) 2026-03-06 Revision 0.49. > + */ > + if (ldlat < 128 || ldlat > 2048) > + return (-1); > + ctl |= IBS_OP_CTL_LDLAT_TO_CTL(ldlat); > + ctl |= IBS_OP_CTL_L3MISSONLY | > IBS_OP_CTL_LATFLTEN; > + } else if (KWMATCH(p, "randomize")) { > + ctl |= IBS_OP_CTL_COUNTERCONTROL; > + } else { > return (-1); > + } > + } > > - pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; > - } else { > + if (pmc_config->pm_count < IBS_OP_MIN_RATE || > + pmc_config->pm_count > IBS_OP_MAX_RATE) > return (-1); > - } > + > + ctl |= IBS_OP_INTERVAL_TO_CTL(pmc_config->pm_count); > } > > + > + pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; > + > return (0); > } > > diff --git a/lib/libpmc/pmc.3 b/lib/libpmc/pmc.3 > index 9a5b599759ff..cb28e0b786b9 100644 > --- a/lib/libpmc/pmc.3 > +++ b/lib/libpmc/pmc.3 > @@ -224,6 +224,11 @@ performance measurement architecture version 2 and > later. > Programmable hardware counters present in CPUs conforming to the > .Tn Intel > performance measurement architecture version 1 and later. > +.It Li PMC_CLASS_IBS > +.Tn AMD > +Instruction Based Sampling (IBS) counters present in > +.Tn AMD > +Family 10h and above. > .It Li PMC_CLASS_K8 > Programmable hardware counters present in > .Tn "AMD Athlon64" > @@ -491,6 +496,7 @@ following manual pages: > .It Em "PMC Class" Ta Em "Manual Page" > .It Li PMC_CLASS_IAF Ta Xr pmc.iaf 3 > .It Li PMC_CLASS_IAP Ta Xr pmc.atom 3 , Xr pmc.core 3 , Xr pmc.core2 3 > +.It Li PMC_CLASS_IBS Ta Xr pmc.ibs 3 > .It Li PMC_CLASS_K8 Ta Xr pmc.amd 3 > .It Li PMC_CLASS_TSC Ta Xr pmc.tsc 3 > .El > @@ -542,6 +548,7 @@ Doing otherwise is unsupported. > .Xr pmc.haswelluc 3 , > .Xr pmc.haswellxeon 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.ivybridge 3 , > .Xr pmc.ivybridgexeon 3 , > .Xr pmc.sandybridge 3 , > diff --git a/lib/libpmc/pmc.amd.3 b/lib/libpmc/pmc.amd.3 > index 047b31aa78bb..75c6331b000f 100644 > --- a/lib/libpmc/pmc.amd.3 > +++ b/lib/libpmc/pmc.amd.3 > @@ -777,6 +777,7 @@ and the underlying hardware events used. > .Xr pmc.core 3 , > .Xr pmc.core2 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmc.tsc 3 , > .Xr pmclog 3 , > diff --git a/lib/libpmc/pmc.core.3 b/lib/libpmc/pmc.core.3 > index b4fa9ab661a4..4c41e7c7ad3b 100644 > --- a/lib/libpmc/pmc.core.3 > +++ b/lib/libpmc/pmc.core.3 > @@ -786,6 +786,7 @@ may not count some transitions. > .Xr pmc.atom 3 , > .Xr pmc.core2 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmc.tsc 3 , > .Xr pmclog 3 , > diff --git a/lib/libpmc/pmc.core2.3 b/lib/libpmc/pmc.core2.3 > index 86604b7ff16c..7e544fad43b6 100644 > --- a/lib/libpmc/pmc.core2.3 > +++ b/lib/libpmc/pmc.core2.3 > @@ -1101,6 +1101,7 @@ and the underlying hardware events used. > .Xr pmc.atom 3 , > .Xr pmc.core 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmc.tsc 3 , > .Xr pmc_cpuinfo 3 , > diff --git a/lib/libpmc/pmc.iaf.3 b/lib/libpmc/pmc.iaf.3 > index eaf45db140f5..c3528e472103 100644 > --- a/lib/libpmc/pmc.iaf.3 > +++ b/lib/libpmc/pmc.iaf.3 > @@ -125,6 +125,7 @@ CPU, use the event specifier > .Xr pmc.atom 3 , > .Xr pmc.core 3 , > .Xr pmc.core2 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmc.tsc 3 , > .Xr pmc_cpuinfo 3 , > diff --git a/lib/libpmc/pmc.ibs.3 b/lib/libpmc/pmc.ibs.3 > new file mode 100644 > index 000000000000..69b90b84556c > --- /dev/null > +++ b/lib/libpmc/pmc.ibs.3 > @@ -0,0 +1,150 @@ > +.\" Copyright (c) 2016 Ali Mashtizadeh. All rights reserved. Isn't this 2026? > +.\" > +.\" Redistribution and use in source and binary forms, with or without > +.\" modification, are permitted provided that the following conditions > +.\" are met: > +.\" 1. Redistributions of source code must retain the above copyright > +.\" notice, this list of conditions and the following disclaimer. > +.\" 2. Redistributions in binary form must reproduce the above copyright > +.\" notice, this list of conditions and the following disclaimer in the > +.\" documentation and/or other materials provided with the > distribution. > +.\" > +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE > LIABLE > +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > GOODS > +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > +.\" SUCH DAMAGE. > +.\" > +.Dd March 15, 2026 > +.Dt PMC.IBS 3 > +.Os > +.Sh NAME > +.Nm pmc.ibs > +.Nd Instruction Based Sampling for > +.Tn AMD > +CPUs > +.Sh LIBRARY > +.Lb libpmc > +.Sh SYNOPSIS > +.In pmc.h > +.Sh DESCRIPTION > +AMD Instruction Based Sampling (IBS) was introduced with the K10 family of > +CPUs. > +AMD IBS is an alternative approach that samples instructions or micro-ops > and > +provides a per-instruction or micro-op breakdown of the sources of stalls. > +.Pp > +Unlike traditional counters, IBS can only be used in the sampling mode and > +provides extra data embedded in the callchain. > +IBS events set the PMC_F_MULTIPART flag to signify multiple payload types > are > +contained in the callchain. > +The first 8 bytes of the callchain contain four tuples with a one byte > type and > +a one byte length field. > +The regular PMC callchain can be found following the multipart payload. > +.Pp > +IBS only provides two events that analyze instruction fetches and > instruction > +execution. > +The instruction fetch (ibs-fetch) event provides data on the processor > +front-end including reporting instruction cache and TLB events. > +The instruction execution (ibs-op) event provides data on the processor > +execution including reporting mispredictions, data cache and TLB events. > +You should use the AMD PMC counters documented in > +.Xr pmc.amd 3 > +to analyze stalls relating instruction issue including reservation > contention. > +.Pp > +A guide to analyzing IBS data is provided in Appendix G of the > +.Rs > +.%B "Software Optimization Guide for AMD Family 10h and 12h Processors" > +.%N "Publication No. 40546" > +.%D "February 2011" > +.%Q "Advanced Micro Devices, Inc." > +.Re > +A more recent document should be used for decoding all of the flags and > fields > +in the IBS data. > +For example, see the AMD Zen 5 documentation > +.Rs > +.%B "Processor Programming Reference (PPR) for AMD Family 1Ah Model 02h" > +.%N "Publication No. 57238" > +.%D "March 6, 2026" > +.%Q "Advanced Micro Devices, Inc." > +.Re > +.Ss PMC Features > +AMD IBS supports the following capabilities. > +.Bl -column "PMC_CAP_INTERRUPT" "Support" > +.It Em Capability Ta Em Support > +.It PMC_CAP_CASCADE Ta \&No > +.It PMC_CAP_EDGE Ta Yes > +.It PMC_CAP_INTERRUPT Ta Yes > +.It PMC_CAP_INVERT Ta \&No > +.It PMC_CAP_READ Ta \&No > +.It PMC_CAP_PRECISE Ta Yes > +.It PMC_CAP_SYSTEM Ta Yes > +.It PMC_CAP_TAGGING Ta \&No > +.It PMC_CAP_THRESHOLD Ta \&No > +.It PMC_CAP_USER Ta \&No > +.It PMC_CAP_WRITE Ta \&No > +.El > +.Pp > +By default AMD IBS enables the edge, interrupt, system and precise flags. > +.Ss Event Qualifiers > +Event specifiers for AMD IBS can have the following optional > +qualifiers: > +.Bl -tag -width "ldlat=value" > +.It Li l3miss > +Configure IBS to only sample if an l3miss occurred. > +.It Li ldlat= Ns Ar value > +Configure the counter to only sample events with load latencies above > +.Ar ldlat . > +IBS only supports filtering latencies that are a multiple of 128 and > between > +128 and 2048. > +Load latency filtering can only be used with ibs-op events and imply the > +l3miss qualifier. > +.It Li randomize > +Randomize the sampling rate. > +.El > +.Ss AMD IBS Events Specifiers > +The IBS event class provides only two event specifiers: > +.Bl -tag -width indent > +.It Li ibs-fetch Xo > +.Op ,l3miss > +.Op ,randomize > +.Xc > +Collect performance samples during instruction fetch. > +The > +.Ar randomize > +qualifier randomly sets the bottom four bits of the sample rate. > +.It Li ibs-op Xo > +.Op ,l3miss > +.Op ,ldlat= Ns Ar ldlat > +.Op ,randomize > +.Xc > +Collect performance samples during instruction execution. > +The > +.Ar randomize > +qualifier, upon reaching the maximum count, restarts the count with a > value > +between 1 and 127. > +.El > +.Pp > +You may collect both events at the same time. > +N.B. AMD discouraged doing so with certain older processors, stating that > +sampling both simultaneously perturbs the results. > +Please see the processor programming reference for your specific > processor. > +.Sh SEE ALSO > +.Xr pmc 3 , > +.Xr pmc.amd 3 , > +.Xr pmc.soft 3 , > +.Xr pmc.tsc 3 , > +.Xr pmclog 3 , > +.Xr hwpmc 4 > +.Sh HISTORY > +AMD IBS support was first introduced in > +.Fx 16.0 . > +.Sh AUTHORS > +AMD IBS support and this manual page were written > +.An Ali Mashtizadeh Aq Mt ali@mashtizadeh.com > +and sponsored by Netflix, Inc. > diff --git a/lib/libpmc/pmc.soft.3 b/lib/libpmc/pmc.soft.3 > index 08d5af63d02d..f58b3e8ffa26 100644 > --- a/lib/libpmc/pmc.soft.3 > +++ b/lib/libpmc/pmc.soft.3 > @@ -90,6 +90,7 @@ Write page fault. > .Xr pmc.corei7 3 , > .Xr pmc.corei7uc 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.tsc 3 , > .Xr pmc.ucf 3 , > .Xr pmc.westmereuc 3 , > diff --git a/lib/libpmc/pmc.tsc.3 b/lib/libpmc/pmc.tsc.3 > index 4834d897f90c..73e2377df0c7 100644 > --- a/lib/libpmc/pmc.tsc.3 > +++ b/lib/libpmc/pmc.tsc.3 > @@ -62,6 +62,7 @@ maps to the TSC. > .Xr pmc.core 3 , > .Xr pmc.core2 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmclog 3 , > .Xr hwpmc 4 > diff --git a/lib/libpmc/pmc.ucf.3 b/lib/libpmc/pmc.ucf.3 > index a7cea6bb57f9..37ee0f87a951 100644 > --- a/lib/libpmc/pmc.ucf.3 > +++ b/lib/libpmc/pmc.ucf.3 > @@ -88,6 +88,7 @@ offset C0H under device number 0 and Function 0. > .Xr pmc.corei7 3 , > .Xr pmc.corei7uc 3 , > .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , > .Xr pmc.soft 3 , > .Xr pmc.tsc 3 , > .Xr pmc.westmere 3 , > diff --git a/sys/dev/hwpmc/hwpmc_ibs.h b/sys/dev/hwpmc/hwpmc_ibs.h > index 4449b44c8368..01fc88648558 100644 > --- a/sys/dev/hwpmc/hwpmc_ibs.h > +++ b/sys/dev/hwpmc/hwpmc_ibs.h > @@ -67,6 +67,18 @@ > #define IBS_CTL_LVTOFFSETVALID (1ULL << 8) > #define IBS_CTL_LVTOFFSETMASK 0x0000000F > > +/* > + * The minimum sampling rate was selected to match the default used by > other > + * counters that was also found to be experimentally stable by providing > enough > + * time between consecutive NMIs. The maximum sample rate is determined > by > + * setting all available counter bits, i.e., all available bits except the > + * bottom four that are zero extended. > + */ > +#define IBS_FETCH_MIN_RATE 65536 > +#define IBS_FETCH_MAX_RATE 1048560 > +#define IBS_OP_MIN_RATE 65536 > +#define IBS_OP_MAX_RATE 134217712 > + > /* IBS Fetch Control */ > #define IBS_FETCH_CTL 0xC0011030 /* IBS Fetch Control */ > #define IBS_FETCH_CTL_L3MISS (1ULL << 61) /* L3 Cache Miss */ > @@ -82,7 +94,8 @@ > #define IBS_FETCH_CTL_ENABLE (1ULL << 48) /* Enable */ > #define IBS_FETCH_CTL_MAXCNTMASK 0x0000FFFFULL > > -#define IBS_FETCH_CTL_TO_LAT(_c) ((_c >> 32) & 0x0000FFFF) > +#define IBS_FETCH_INTERVAL_TO_CTL(_c) (((_c) >> 4) & 0x0000FFFF) > +#define IBS_FETCH_CTL_TO_LAT(_c) (((_c) >> 32) & 0x0000FFFF) > > #define IBS_FETCH_LINADDR 0xC0011031 /* Fetch Linear Address > */ > #define IBS_FETCH_PHYSADDR 0xC0011032 /* Fetch Physical > Address */ > @@ -95,12 +108,16 @@ > > /* IBS Execution Control */ > #define IBS_OP_CTL 0xC0011033 /* IBS Execution > Control */ > +#define IBS_OP_CTL_LATFLTEN (1ULL << 63) /* Load Latency > Filtering */ > #define IBS_OP_CTL_COUNTERCONTROL (1ULL << 19) /* Counter Control */ > #define IBS_OP_CTL_VALID (1ULL << 18) /* Valid */ > #define IBS_OP_CTL_ENABLE (1ULL << 17) /* Enable */ > #define IBS_OP_CTL_L3MISSONLY (1ULL << 16) /* L3 Miss Filtering > */ > #define IBS_OP_CTL_MAXCNTMASK 0x0000FFFFULL > > +#define IBS_OP_CTL_LDLAT_TO_CTL(_c) ((((ldlat) >> 7) - 1) << 59) > +#define IBS_OP_INTERVAL_TO_CTL(_c) ((((_c) >> 4) & 0x0000FFFFULL) | > ((_c) & 0x07F00000)) > + > #define IBS_OP_RIP 0xC0011034 /* IBS Op RIP */ > #define IBS_OP_DATA 0xC0011035 /* IBS Op Data */ > #define IBS_OP_DATA_RIPINVALID (1ULL << 38) /* RIP Invalid */ > > --000000000000b77e57064db77c73 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Monday, March 23, 2026, Mitchell Horne <mhorne@freebsd.org> wrote:
The branch main has been updated by mhorne:

URL: https://cgit.FreeBSD.org/src/commit/?id=3Ddf47355fae720fd8f63f36a50c8933f8342483d2

commit df47355fae720fd8f63f36a50c8933f8342483d2
Author:=C2=A0 =C2=A0 =C2=A0Ali Mashtizadeh <mashti@uwaterloo.ca>
AuthorDate: 2026-03-18 04:27:09 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2026-03-23 20:21:28 +0000

=C2=A0 =C2=A0 libpmc: Add support for IBS qualifiers

=C2=A0 =C2=A0 Add support to libpmc for parsing the IBS qualifiers and comp= uting the
=C2=A0 =C2=A0 ctl register value as a function of the qualifiers and the sa= mple rate.
=C2=A0 =C2=A0 This includes all of the flags available up to AMD Zen 5.=C2= =A0 Along side
=C2=A0 =C2=A0 these user facing changes I included the documentation for AM= D IBS.

=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 mhorne
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Netflix
=C2=A0 =C2=A0 Pull Request:=C2=A0 =C2=A0https://github.com/freebsd/freebsd-src/pull/2081
---
=C2=A0lib/libpmc/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/libpmc.c=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 71 ++++++++++++= ++++++----
=C2=A0lib/libpmc/pmc.3=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A07 ++= +
=C2=A0lib/libpmc/pmc.amd.3=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.core.3=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.core2.3=C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.iaf.3=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.ibs.3=C2=A0 =C2=A0 =C2=A0 | 150 ++++++++++++++++++++++= ++++++++++++++++++++++++
=C2=A0lib/libpmc/pmc.soft.3=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.tsc.3=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
=C2=A0lib/libpmc/pmc.ucf.3=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
=C2=A0sys/dev/hwpmc/hwpmc_ibs.h |=C2=A0 19 +++++-
=C2=A012 files changed, 244 insertions(+), 11 deletions(-)

diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile
index 590f719ebff4..442efdc3d9c0 100644
--- a/lib/libpmc/Makefile
+++ b/lib/libpmc/Makefile
@@ -74,6 +74,7 @@ MAN+=3D pmc.haswell.3
=C2=A0MAN+=3D=C2=A0 pmc.haswelluc.3
=C2=A0MAN+=3D=C2=A0 pmc.haswellxeon.3
=C2=A0MAN+=3D=C2=A0 pmc.iaf.3
+MAN+=3D=C2=A0 pmc.ibs.3
=C2=A0MAN+=3D=C2=A0 pmc.ivybridge.3
=C2=A0MAN+=3D=C2=A0 pmc.ivybridgexeon.3
=C2=A0MAN+=3D=C2=A0 pmc.sandybridge.3
diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c
index ceba40aa7b39..ebb642e8d16b 100644
--- a/lib/libpmc/libpmc.c
+++ b/lib/libpmc/libpmc.c
@@ -696,7 +696,7 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec,
=C2=A0 =C2=A0 =C2=A0struct pmc_op_pmcallocate *pmc_config)
=C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 char *e, *p, *q;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0uint64_t ctl;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0uint64_t ctl, ldlat;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 pmc_config->pm_caps |=3D
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (PMC_CAP_SYSTEM | PMC_CAP_EDGE | = PMC_CAP_PRECISE);
@@ -714,23 +714,74 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (-1);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* IBS only supports sampling mode */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (!PMC_IS_SAMPLING_MODE(pmc_config->p= m_mode)) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (-1);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* parse parameters */
-=C2=A0 =C2=A0 =C2=A0 =C2=A0while ((p =3D strsep(&ctrspec, ","= ;)) !=3D NULL) {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (KWPREFIXMATCH(p= , "ctl=3D")) {
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0q =3D strchr(p, '=3D');
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (*++q =3D=3D '\0') /* skip '=3D' */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ctl =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (pe =3D=3D PMC_EV_IBS_FETCH) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while ((p =3D strse= p(&ctrspec, ",")) !=3D NULL) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (KWMATCH(p, "l3miss")) {
+=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=A0ctl |=3D IBS_FETCH_CTL_L3MISSONLY; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} else if (KWMATCH(p, "randomize")) {
+=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=A0ctl |=3D IBS_FETCH_CTL_RANDOMIZE;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} else {
=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 return (-1);
+=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=A0ctl =3D strtoull(q, &e, 0);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (e =3D=3D q || *e !=3D '\0')
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (pmc_config->= pm_count < IBS_FETCH_MIN_RATE ||
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pmc_c= onfig->pm_count > IBS_FETCH_MAX_RATE)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0return (-1);
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ctl |=3D IBS_FETCH_= INTERVAL_TO_CTL(pmc_config->pm_count);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while ((p =3D strse= p(&ctrspec, ",")) !=3D NULL) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (KWMATCH(p, "l3miss")) {
+=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=A0ctl |=3D IBS_OP_CTL_L3MISSONLY;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} else if (KWPREFIXMATCH(p, "ldlat=3D")) {
+=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=A0q =3D strchr(p, '=3D');
+=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=A0if (*++q =3D=3D '\0') /* skip= '=3D' */
+=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=A0return (-= 1);
+
+=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=A0ldlat =3D strtoull(q, &e, 0);
+=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=A0if (e =3D=3D q || *e !=3D '\0'= ;)
+=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=A0return (-= 1);
+
+=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 * IBS load latency filtering require= s the
+=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 * latency to be a multiple of 128 an= d between
+=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 * 128 and 2048.=C2=A0 The latency is= stored in the
+=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 * IbsOpLatThrsh field, which only co= ntains
+=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 * four bits so the processor compute= s
+=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 * (IbsOpLatThrsh+1)*128 as the value= .
+=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 * AMD PPR Vol 1 for AMD Family 1Ah M= odel 02h
+=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 * C1 (57238) 2026-03-06 Revision 0.4= 9.
+=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=A0if (ldlat < 128 || ldlat > 2048= )
+=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=A0return (-= 1);
+=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=A0ctl |=3D IBS_OP_CTL_LDLAT_TO_CTL(ldla= t);
+=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=A0ctl |=3D IBS_OP_CTL_L3MISSONLY | IBS_= OP_CTL_LATFLTEN;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} else if (KWMATCH(p, "randomize")) {
+=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=A0ctl |=3D IBS_OP_CTL_COUNTERCONTROL; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0} else {
=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 return (-1);
+=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=A0pmc_config->pm_md.pm_ibs.ibs_ctl |=3D ctl;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (pmc_config->= pm_count < IBS_OP_MIN_RATE ||
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pmc_c= onfig->pm_count > IBS_OP_MAX_RATE)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 return (-1);
-=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=A0ctl |=3D IBS_OP_INT= ERVAL_TO_CTL(pmc_config->pm_count);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pmc_config->pm_md.pm_ibs.ibs_ctl |=3D c= tl;
+
=C2=A0 =C2=A0 =C2=A0 =C2=A0 return (0);
=C2=A0}

diff --git a/lib/libpmc/pmc.3 b/lib/libpmc/pmc.3
index 9a5b599759ff..cb28e0b786b9 100644
--- a/lib/libpmc/pmc.3
+++ b/lib/libpmc/pmc.3
@@ -224,6 +224,11 @@ performance measurement architecture version 2 and lat= er.
=C2=A0Programmable hardware counters present in CPUs conforming to the
=C2=A0.Tn Intel
=C2=A0performance measurement architecture version 1 and later.
+.It Li PMC_CLASS_IBS
+.Tn AMD
+Instruction Based Sampling (IBS) counters present in
+.Tn AMD
+Family 10h and above.
=C2=A0.It Li PMC_CLASS_K8
=C2=A0Programmable hardware counters present in
=C2=A0.Tn "AMD Athlon64"
@@ -491,6 +496,7 @@ following manual pages:
=C2=A0.It Em "PMC Class"=C2=A0 =C2=A0 =C2=A0 Ta Em "Manual P= age"
=C2=A0.It Li PMC_CLASS_IAF=C2=A0 =C2=A0 Ta Xr pmc.iaf 3
=C2=A0.It Li PMC_CLASS_IAP=C2=A0 =C2=A0 Ta Xr pmc.atom 3 , Xr pmc.core 3 , = Xr pmc.core2 3
+.It Li PMC_CLASS_IBS=C2=A0 =C2=A0 Ta Xr pmc.ibs 3
=C2=A0.It Li PMC_CLASS_K8=C2=A0 =C2=A0 =C2=A0Ta Xr pmc.amd 3
=C2=A0.It Li PMC_CLASS_TSC=C2=A0 =C2=A0 Ta Xr pmc.tsc 3
=C2=A0.El
@@ -542,6 +548,7 @@ Doing otherwise is unsupported.
=C2=A0.Xr pmc.haswelluc 3 ,
=C2=A0.Xr pmc.haswellxeon 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.ivybridge 3 ,
=C2=A0.Xr pmc.ivybridgexeon 3 ,
=C2=A0.Xr pmc.sandybridge 3 ,
diff --git a/lib/libpmc/pmc.amd.3 b/lib/libpmc/pmc.amd.3
index 047b31aa78bb..75c6331b000f 100644
--- a/lib/libpmc/pmc.amd.3
+++ b/lib/libpmc/pmc.amd.3
@@ -777,6 +777,7 @@ and the underlying hardware events used.
=C2=A0.Xr pmc.core 3 ,
=C2=A0.Xr pmc.core2 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmclog 3 ,
diff --git a/lib/libpmc/pmc.core.3 b/lib/libpmc/pmc.core.3
index b4fa9ab661a4..4c41e7c7ad3b 100644
--- a/lib/libpmc/pmc.core.3
+++ b/lib/libpmc/pmc.core.3
@@ -786,6 +786,7 @@ may not count some transitions.
=C2=A0.Xr pmc.atom 3 ,
=C2=A0.Xr pmc.core2 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmclog 3 ,
diff --git a/lib/libpmc/pmc.core2.3 b/lib/libpmc/pmc.core2.3
index 86604b7ff16c..7e544fad43b6 100644
--- a/lib/libpmc/pmc.core2.3
+++ b/lib/libpmc/pmc.core2.3
@@ -1101,6 +1101,7 @@ and the underlying hardware events used.
=C2=A0.Xr pmc.atom 3 ,
=C2=A0.Xr pmc.core 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmc_cpuinfo 3 ,
diff --git a/lib/libpmc/pmc.iaf.3 b/lib/libpmc/pmc.iaf.3
index eaf45db140f5..c3528e472103 100644
--- a/lib/libpmc/pmc.iaf.3
+++ b/lib/libpmc/pmc.iaf.3
@@ -125,6 +125,7 @@ CPU, use the event specifier
=C2=A0.Xr pmc.atom 3 ,
=C2=A0.Xr pmc.core 3 ,
=C2=A0.Xr pmc.core2 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmc_cpuinfo 3 ,
diff --git a/lib/libpmc/pmc.ibs.3 b/lib/libpmc/pmc.ibs.3
new file mode 100644
index 000000000000..69b90b84556c
--- /dev/null
+++ b/lib/libpmc/pmc.ibs.3
@@ -0,0 +1,150 @@
+.\" Copyright (c) 2016 Ali Mashtizadeh.=C2=A0 All rights reserved.

Isn't this 2026?
=C2=A0
+.\"
+.\" Redistribution and use in source and binary forms, with or withou= t
+.\" modification, are permitted provided that the following condition= s
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright=
+.\"=C2=A0 =C2=A0 notice, this list of conditions and the following di= sclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyri= ght
+.\"=C2=A0 =C2=A0 notice, this list of conditions and the following di= sclaimer in the
+.\"=C2=A0 =C2=A0 documentation and/or other materials provided with t= he distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&= #39;' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,= THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULA= R PURPOSE
+.\" ARE DISCLAIMED.=C2=A0 IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR= S BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONS= EQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE= GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPT= ION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRAC= T, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN= ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILI= TY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd March 15, 2026
+.Dt PMC.IBS 3
+.Os
+.Sh NAME
+.Nm pmc.ibs
+.Nd Instruction Based Sampling for
+.Tn AMD
+CPUs
+.Sh LIBRARY
+.Lb libpmc
+.Sh SYNOPSIS
+.In pmc.h
+.Sh DESCRIPTION
+AMD Instruction Based Sampling (IBS) was introduced with the K10 family of=
+CPUs.
+AMD IBS is an alternative approach that samples instructions or micro-ops = and
+provides a per-instruction or micro-op breakdown of the sources of stalls.=
+.Pp
+Unlike traditional counters, IBS can only be used in the sampling mode and=
+provides extra data embedded in the callchain.
+IBS events set the PMC_F_MULTIPART flag to signify multiple payload types = are
+contained in the callchain.
+The first 8 bytes of the callchain contain four tuples with a one byte typ= e and
+a one byte length field.
+The regular PMC callchain can be found following the multipart payload. +.Pp
+IBS only provides two events that analyze instruction fetches and instruct= ion
+execution.
+The instruction fetch (ibs-fetch) event provides data on the processor
+front-end including reporting instruction cache and TLB events.
+The instruction execution (ibs-op) event provides data on the processor +execution including reporting mispredictions, data cache and TLB events. +You should use the AMD PMC counters documented in
+.Xr pmc.amd 3
+to analyze stalls relating instruction issue including reservation content= ion.
+.Pp
+A guide to analyzing IBS data is provided in Appendix G of the
+.Rs
+.%B "Software Optimization Guide for AMD Family 10h and 12h Processor= s"
+.%N "Publication No. 40546"
+.%D "February 2011"
+.%Q "Advanced Micro Devices, Inc."
+.Re
+A more recent document should be used for decoding all of the flags and fi= elds
+in the IBS data.
+For example, see the AMD Zen 5 documentation
+.Rs
+.%B "Processor Programming Reference (PPR) for AMD Family 1Ah Model 0= 2h"
+.%N "Publication No. 57238"
+.%D "March 6, 2026"
+.%Q "Advanced Micro Devices, Inc."
+.Re
+.Ss PMC Features
+AMD IBS supports the following capabilities.
+.Bl -column "PMC_CAP_INTERRUPT" "Support"
+.It Em Capability Ta Em Support
+.It PMC_CAP_CASCADE Ta \&No
+.It PMC_CAP_EDGE Ta Yes
+.It PMC_CAP_INTERRUPT Ta Yes
+.It PMC_CAP_INVERT Ta \&No
+.It PMC_CAP_READ Ta \&No
+.It PMC_CAP_PRECISE Ta Yes
+.It PMC_CAP_SYSTEM Ta Yes
+.It PMC_CAP_TAGGING Ta \&No
+.It PMC_CAP_THRESHOLD Ta \&No
+.It PMC_CAP_USER Ta \&No
+.It PMC_CAP_WRITE Ta \&No
+.El
+.Pp
+By default AMD IBS enables the edge, interrupt, system and precise flags.<= br> +.Ss Event Qualifiers
+Event specifiers for AMD IBS can have the following optional
+qualifiers:
+.Bl -tag -width "ldlat=3Dvalue"
+.It Li l3miss
+Configure IBS to only sample if an l3miss occurred.
+.It Li ldlat=3D Ns Ar value
+Configure the counter to only sample events with load latencies above
+.Ar ldlat .
+IBS only supports filtering latencies that are a multiple of 128 and betwe= en
+128 and 2048.
+Load latency filtering can only be used with ibs-op events and imply the +l3miss qualifier.
+.It Li randomize
+Randomize the sampling rate.
+.El
+.Ss AMD IBS Events Specifiers
+The IBS event class provides only two event specifiers:
+.Bl -tag -width indent
+.It Li ibs-fetch Xo
+.Op ,l3miss
+.Op ,randomize
+.Xc
+Collect performance samples during instruction fetch.
+The
+.Ar randomize
+qualifier randomly sets the bottom four bits of the sample rate.
+.It Li ibs-op Xo
+.Op ,l3miss
+.Op ,ldlat=3D Ns Ar ldlat
+.Op ,randomize
+.Xc
+Collect performance samples during instruction execution.
+The
+.Ar randomize
+qualifier, upon reaching the maximum count, restarts the count with a valu= e
+between 1 and 127.
+.El
+.Pp
+You may collect both events at the same time.
+N.B. AMD discouraged doing so with certain older processors, stating that<= br> +sampling both simultaneously perturbs the results.
+Please see the processor programming reference for your specific processor= .
+.Sh SEE ALSO
+.Xr pmc 3 ,
+.Xr pmc.amd 3 ,
+.Xr pmc.soft 3 ,
+.Xr pmc.tsc 3 ,
+.Xr pmclog 3 ,
+.Xr hwpmc 4
+.Sh HISTORY
+AMD IBS support was first introduced in
+.Fx 16.0 .
+.Sh AUTHORS
+AMD IBS support and this manual page were written
+.An Ali Mashtizadeh Aq Mt ali@masht= izadeh.com
+and sponsored by Netflix, Inc.
diff --git a/lib/libpmc/pmc.soft.3 b/lib/libpmc/pmc.soft.3
index 08d5af63d02d..f58b3e8ffa26 100644
--- a/lib/libpmc/pmc.soft.3
+++ b/lib/libpmc/pmc.soft.3
@@ -90,6 +90,7 @@ Write page fault.
=C2=A0.Xr pmc.corei7 3 ,
=C2=A0.Xr pmc.corei7uc 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmc.ucf 3 ,
=C2=A0.Xr pmc.westmereuc 3 ,
diff --git a/lib/libpmc/pmc.tsc.3 b/lib/libpmc/pmc.tsc.3
index 4834d897f90c..73e2377df0c7 100644
--- a/lib/libpmc/pmc.tsc.3
+++ b/lib/libpmc/pmc.tsc.3
@@ -62,6 +62,7 @@ maps to the TSC.
=C2=A0.Xr pmc.core 3 ,
=C2=A0.Xr pmc.core2 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmclog 3 ,
=C2=A0.Xr hwpmc 4
diff --git a/lib/libpmc/pmc.ucf.3 b/lib/libpmc/pmc.ucf.3
index a7cea6bb57f9..37ee0f87a951 100644
--- a/lib/libpmc/pmc.ucf.3
+++ b/lib/libpmc/pmc.ucf.3
@@ -88,6 +88,7 @@ offset C0H under device number 0 and Function 0.
=C2=A0.Xr pmc.corei7 3 ,
=C2=A0.Xr pmc.corei7uc 3 ,
=C2=A0.Xr pmc.iaf 3 ,
+.Xr pmc.ibs 3 ,
=C2=A0.Xr pmc.soft 3 ,
=C2=A0.Xr pmc.tsc 3 ,
=C2=A0.Xr pmc.westmere 3 ,
diff --git a/sys/dev/hwpmc/hwpmc_ibs.h b/sys/dev/hwpmc/hwpmc_ibs.h
index 4449b44c8368..01fc88648558 100644
--- a/sys/dev/hwpmc/hwpmc_ibs.h
+++ b/sys/dev/hwpmc/hwpmc_ibs.h
@@ -67,6 +67,18 @@
=C2=A0#define IBS_CTL_LVTOFFSETVALID=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(1ULL= << 8)
=C2=A0#define IBS_CTL_LVTOFFSETMASK=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x000= 0000F

+/*
+ * The minimum sampling rate was selected to match the default used by oth= er
+ * counters that was also found to be experimentally stable by providing e= nough
+ * time between consecutive NMIs.=C2=A0 The maximum sample rate is determi= ned by
+ * setting all available counter bits, i.e., all available bits except the=
+ * bottom four that are zero extended.
+ */
+#define IBS_FETCH_MIN_RATE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= 65536
+#define IBS_FETCH_MAX_RATE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= 1048560
+#define IBS_OP_MIN_RATE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 65536
+#define IBS_OP_MAX_RATE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 134217712
+
=C2=A0/* IBS Fetch Control */
=C2=A0#define IBS_FETCH_CTL=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 0xC0011030 /* IBS Fetch Control */
=C2=A0#define IBS_FETCH_CTL_L3MISS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= (1ULL << 61) /* L3 Cache Miss */
@@ -82,7 +94,8 @@
=C2=A0#define IBS_FETCH_CTL_ENABLE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= (1ULL << 48) /* Enable */
=C2=A0#define IBS_FETCH_CTL_MAXCNTMASK=C2=A0 =C2=A0 =C2=A0 =C2=A00x0000FFFF= ULL

-#define IBS_FETCH_CTL_TO_LAT(_c)=C2=A0 =C2=A0 =C2=A0 =C2=A0((_c >> 3= 2) & 0x0000FFFF)
+#define IBS_FETCH_INTERVAL_TO_CTL(_c)=C2=A0 (((_c) >> 4) & 0x000= 0FFFF)
+#define IBS_FETCH_CTL_TO_LAT(_c)=C2=A0 =C2=A0 =C2=A0 =C2=A0(((_c) >>= 32) & 0x0000FFFF)

=C2=A0#define IBS_FETCH_LINADDR=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 0xC0011031 /* Fetch Linear Address */
=C2=A0#define IBS_FETCH_PHYSADDR=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A00xC0011032 /* Fetch Physical Address */
@@ -95,12 +108,16 @@

=C2=A0/* IBS Execution Control */
=C2=A0#define IBS_OP_CTL=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A00xC0011033 /* IBS Execution Control */
+#define IBS_OP_CTL_LATFLTEN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (1ULL= << 63) /* Load Latency Filtering */
=C2=A0#define IBS_OP_CTL_COUNTERCONTROL=C2=A0 =C2=A0 =C2=A0 (1ULL << = 19) /* Counter Control */
=C2=A0#define IBS_OP_CTL_VALID=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(1ULL << 18) /* Valid */
=C2=A0#define IBS_OP_CTL_ENABLE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 (1ULL << 17) /* Enable */
=C2=A0#define IBS_OP_CTL_L3MISSONLY=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (1ULL= << 16) /* L3 Miss Filtering */
=C2=A0#define IBS_OP_CTL_MAXCNTMASK=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x000= 0FFFFULL

+#define IBS_OP_CTL_LDLAT_TO_CTL(_c)=C2=A0 =C2=A0 ((((ldlat) >> 7) - = 1) << 59)
+#define IBS_OP_INTERVAL_TO_CTL(_c)=C2=A0 =C2=A0 =C2=A0((((_c) >> 4) = & 0x0000FFFFULL) | ((_c) & 0x07F00000))
+
=C2=A0#define IBS_OP_RIP=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A00xC0011034 /* IBS Op RIP */
=C2=A0#define IBS_OP_DATA=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 0xC0011035 /* IBS Op Data */
=C2=A0#define IBS_OP_DATA_RIPINVALID=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(1ULL= << 38) /* RIP Invalid */

--000000000000b77e57064db77c73-- From nobody Mon Mar 23 21:56:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffn7C6nWZz6WYqB for ; Mon, 23 Mar 2026 21:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffn7C3s2Dz3fnk for ; Mon, 23 Mar 2026 21:56:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774302983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sp2I2ujZSh5Wp3W36GtWzQv3Fmir4H6BqFm+evDhb3I=; b=dfLJmcBcq00vWjOrr4wvzERtkXbSv4zZfcREnqoTlVz51KrrRPkZpyQii1amJPuH0N6118 /OctZyCX2T130vSh3iVEnJXi3EGeDokyFFVQujhz3JZFoR2OOwrs0z41Ke4eo2n1PX0jdg cSYslLN4NiOd8GleRzgDqmRw+mWvOdNYPTUKSTHvRT7MjPYnQLIZIhdJ80lwjunDgNcw/u lo/QY0/jieypIhO7J+GX976JWinkPtFOC9mX2BlaqOe4wJ86t4FO6V3Qf3gfwRweAnfSHP HhLJ+R+Szm8+S31pIDPRUvua9GdJn/dmmhaynrwhZJnyZaZfnC/fIEFuE7/DoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774302983; a=rsa-sha256; cv=none; b=Q9nU4XfgOEqndozbNN1VgV4lCm4FCp4YdWEo1h4zFcdUPja2rWZOwfaYYJI1VdN0phsJPL U1S0mLeRfMWzkJkpExPrWnheP8YT5dT1ZgkyzqW/VeVxH6zlNuBzsb0ft0VpNjMRVPcXGo VerRsCHR4m1w325DoUhzbYqVwyoXuZqj123algYLRcqyTJb2SxfKN+I3bebrB4WoHk9hMT Hdyo3XQfpBLdqsVSkjQ9CAhIZ1EQuJYUJakv+Fiwi/e//T+c+msZMhdWJrbde+ctBRNRN/ PSrE6zbGHhqGvG0WIE9N+3rnMhDUHkOFyBF/4nZ/5fWo/MaauK1A1jLq/StJHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774302983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sp2I2ujZSh5Wp3W36GtWzQv3Fmir4H6BqFm+evDhb3I=; b=LSckgKzSw77KbKzCRmjhE5HFJrLB/9zbKdFC/luCtdcnPNWrI95a/5rTbo+dz/NgWKYB4Z mF05kVwUCcIEbcQIGzZJlI2tbvuTkeyYCqNKuZnZM0DkKqfdGMYSEqOuyIThhQKyVbSgxm ZaEthQaOSinct6GsdPB9Pkgy4GjU8HvFMu7bVaBlbW0dOV3sJkmq3hlFlcXkpzXQFBFvd0 fummuMvlT2t1Jy1yMwDZYfAvsSwu+k22Io9imiQArh0I3F3hbk/OBMvJjlZ1A/JJJ/1OMA 6j6/+xcXdu1hpwKL0WxPK0QTwXajfQQp1m1qhFLt1A3bCfnW6KdpqoBHMUfFjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffn7C3FWbz15gq for ; Mon, 23 Mar 2026 21:56:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23ac1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Mar 2026 21:56:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 73f72ca08dbb - main - tcp: make TCP_TRK_TRACK_FLG_* flags visible to userland programs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73f72ca08dbb13ad186e6b33420015d51d0d5b17 Auto-Submitted: auto-generated Date: Mon, 23 Mar 2026 21:56:18 +0000 Message-Id: <69c1b702.23ac1.6c1a3a13@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=73f72ca08dbb13ad186e6b33420015d51d0d5b17 commit 73f72ca08dbb13ad186e6b33420015d51d0d5b17 Author: Gleb Smirnoff AuthorDate: 2026-03-23 21:55:59 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-23 21:55:59 +0000 tcp: make TCP_TRK_TRACK_FLG_* flags visible to userland programs These flags are used in BBLog entries. --- sys/netinet/tcp_var.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 8dff330cb46b..a3a42b68c26b 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -85,6 +85,15 @@ #define TCP_EI_BITS_RST_IN_FR 0x200 /* a front state reset */ #define TCP_EI_BITS_2MS_TIMER 0x400 /* 2 MSL timer expired */ +#define TCP_TRK_TRACK_FLG_EMPTY 0x00 /* Available */ +#define TCP_TRK_TRACK_FLG_USED 0x01 /* In use */ +#define TCP_TRK_TRACK_FLG_OPEN 0x02 /* End is not valid (open range request) */ +#define TCP_TRK_TRACK_FLG_SEQV 0x04 /* We had a sendfile that touched it */ +#define TCP_TRK_TRACK_FLG_COMP 0x08 /* Sendfile as placed the last bits (range req only) */ +#define TCP_TRK_TRACK_FLG_FSND 0x10 /* First send has been done into the seq space */ +#define TCP_TRK_TRACK_FLG_LSND 0x20 /* We were able to set the Last Sent */ +#define MAX_TCP_TRK_REQ 5 /* Max we will have at once */ + #if defined(_KERNEL) #include #include @@ -136,15 +145,6 @@ struct sackhint { STAILQ_HEAD(tcp_log_stailq, tcp_log_mem); -#define TCP_TRK_TRACK_FLG_EMPTY 0x00 /* Available */ -#define TCP_TRK_TRACK_FLG_USED 0x01 /* In use */ -#define TCP_TRK_TRACK_FLG_OPEN 0x02 /* End is not valid (open range request) */ -#define TCP_TRK_TRACK_FLG_SEQV 0x04 /* We had a sendfile that touched it */ -#define TCP_TRK_TRACK_FLG_COMP 0x08 /* Sendfile as placed the last bits (range req only) */ -#define TCP_TRK_TRACK_FLG_FSND 0x10 /* First send has been done into the seq space */ -#define TCP_TRK_TRACK_FLG_LSND 0x20 /* We were able to set the Last Sent */ -#define MAX_TCP_TRK_REQ 5 /* Max we will have at once */ - struct tcp_sendfile_track { uint64_t timestamp; /* User sent timestamp */ uint64_t start; /* Start of sendfile offset */ From nobody Tue Mar 24 02:47:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbN5xL2z6VxXY for ; Tue, 24 Mar 2026 02:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffvbN5BMwz47Gf for ; Tue, 24 Mar 2026 02:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XXKXHG/aZ1h+JdTvmGXyEQV+bVoefCLtezw1DuOn5S4=; b=cwQ72/842U+CgGuJp5JTgAVBFrLTsJrjGRaPnfBJeA6Ag3fihL1haFtpL84QQvfTXMjllg pgPa/1Bm5k48ixqGRLBBfETG1cq8Cvwooy4P6iPyswYfUwrZeBbC0L+zsWNPzfvS14GleO GFSVvQ82C4rjFfWwHsP9WAH8wuO4yywshhtU5UCsZIOz2xI40LP4T7/oc7koJ5TT2isy9d Jg495o2YqqUZpUCbXthqpG9nU4gtza3K4qvqiwDdr1uCYRjHC91o5UVR+99wkLMTufn69b rW43gpSeolkaC4ovP/jAr/xMbigRNxT49LwqC6zADY45PoqoWZXWCdRmzmbUVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774320464; a=rsa-sha256; cv=none; b=S+jrh4XXAzT4PboXZlNt14NWz42su9tdktL5YzznMpTXzgOniqSJsKoaQ3np4AnIg5eunT OHbbpv5zuyzw2fyWEvXGPQ29kUCYxiWzsZuOvU9mijT7gPFTSy69qWqfCP2bTWylENe/Xz Y8uGt66AtOR/mEsfGzBtZe1Wmd13DmB9UOTCwDYSGnQlGl25P9fyWe+kIH7GiEbbr+V+hC hjw0atsR8gp4sKOfmuMydf1JegGoDPrYzahi47F8AcSb/qIx+KzD67g+qsNbu4VWl+vmyc a3qGnMOQAZN9r1o2PpRMiZeFrS+lOUm59dKIZMnCKx/uArUuQdCjweH6+aRcZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XXKXHG/aZ1h+JdTvmGXyEQV+bVoefCLtezw1DuOn5S4=; b=CACaq5VuXTSeMilvLq57F1OSnbZOpWdAul9NrLG9QmYTbtcyx5p59Siw4lhWZHGIilHkGf vqoiyvREo3OI4wRmKM5iW8BpDqRvDb4Hgj4A+WrEqywBKmK6Gck4w8LeZefascTgNsKHpQ kxsgc5GEUJZPLLh1CAQVb/+awfM2J+PGmfCuyrC32dPRkfdXPxyDH5xB8LBR17mWo/ju7W w6I9Z/tnwTyOT0f4JS86k2pQor1ftSR068RjezkG9iMHE49+Td7IvyP68kRZt0dUVSyivI Due6mcd8K6a/KttoMowFm/7CNhCboFpQol3QqMAK3EzOV/p4f7XW1ZoZNVLPAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbN4lVwz1DrK for ; Tue, 24 Mar 2026 02:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21536 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 02:47:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c11fe9fbf450 - stable/15 - Revert "vmimage.subr: pkg autoremove after pkg install" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c11fe9fbf45061f56bed316101ca7a8dc4ed8254 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 02:47:44 +0000 Message-Id: <69c1fb50.21536.1103805c@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c11fe9fbf45061f56bed316101ca7a8dc4ed8254 commit c11fe9fbf45061f56bed316101ca7a8dc4ed8254 Author: Colin Percival AuthorDate: 2026-03-21 16:00:15 +0000 Commit: Colin Percival CommitDate: 2026-03-23 17:29:01 +0000 Revert "vmimage.subr: pkg autoremove after pkg install" This reverts commit 6a13aeac3c1f98db7cf156f24a4d6bc8d3c321f6. The "bogus dependencies being installed" issue was traced down to pkg confusion surrounding libclang_rt.asan-i386.so linking to a 32-bit libgcc_s.so.1, and a more minimal workaround of "install clibs-lib32" has been applied, so this hack is no longer required. MFC after: 3 days Sponsored by: Amazon (cherry picked from commit 4b29bf721ef09c399f3e4a4ab5ca9f549c5b1550) --- release/tools/vmimage.subr | 7 ------- 1 file changed, 7 deletions(-) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 97bf52205c93..56acbc359936 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -213,13 +213,6 @@ vm_extra_install_packages() { -r ${DESTDIR} \ install -y -r ${PKG_REPO_NAME} $pkg done - INSTALL_AS_USER=yes \ - ${PKG_CMD} \ - -o ABI=${PKG_ABI} \ - -o REPOS_DIR=${PKG_REPOS_DIR} \ - -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ - -r ${DESTDIR} \ - autoremove -y if [ -n "${NOPKGBASE}" ]; then metalog_add_data ./var/db/pkg/local.sqlite fi From nobody Tue Mar 24 02:47:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbQ1Wv9z6VxCg for ; Tue, 24 Mar 2026 02:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffvbP62C2z47Q9 for ; Tue, 24 Mar 2026 02:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1R1Q9rTnbcyziERg7btgYDWvT0FcneVwv6672GWd9xM=; b=rL36EaVXHafFrRhrM0IrrYCoCz50rbBlVbwtsAZOtIJJLxRNFd6/CXKNFeVEnv9+yt6ZtI hzZyf+7DTIS7iKqqSsAAPHE3WNcikudYKICLgUhVD9GJ4o12+3U9qe/rlxC8Wu0TiGKFeV pqzMJAtAZ/Hd4zEvunxowXIfdopF5SvTDHlc+7Ga62Vmyh49nmI8IscE6EqCqCmkuXlr9N n00yd66XqrZQQ7i4MKk93gKyD/K87DH+reLCPnWamjzC12rsXdqh235VfGPpMsCerthatc qMcVSC2ffmVFlya1PtGDAUVsyCpyjE/2inGn6SYu0PNsfUBwlwHiMqila65V7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774320465; a=rsa-sha256; cv=none; b=MI7tpr7b8TJlEJviR42KvxNbiNX5NDjj8vdj08apPryqBYFSmNeKvlB35wMRWuYmHC6M1m mG742ThcfJI7Zfr2OsJu9D3cV4uoF5nn4rNMwo0+hgfR0eRRI9IbASuPIhQMXHt79OlDba xLT5mOJEWVF8RtgMlvai/Y+wi0WK63JX79EV3wORuQ9kgUK8Xr6TpoK1LSOX9SyH83Xqmh 63ZtlKv0kg6bDtS5YKadoX//dOyCgkMHvU4lbQLacpVsL8ITuxuG68mMg15k9HYFjBOaSS 4O0chTPkefgf9ENcfxvbRkiGwWjtVH7E2B2Zd5jwLsq0dbLttJVxfkaH5/ighw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1R1Q9rTnbcyziERg7btgYDWvT0FcneVwv6672GWd9xM=; b=jGlOlAifIOulMaPIOIvvgHKT8jdQClBUC5txLJj4Npt0HNoJFwuisSGeXuRXwhfUHN7DKM fHvF/DruugyGlmES5Lh5PYywfAgICDMqZZ6zL+MtLIHD8IDJigd9ycULl+TgXt5WqqyhOI sh4opauBMk/+dW9tcLaXvIK3pnQ/nhEyE+9xIefF36k+kNmjt1M/t3TpQEZS3et+OkrSpz 5ptED31QLLBgw+I0GI8kj70ZBrO0E3ZuPt1z8kneBZD06qNi/zjcIAF3vfvXAPHa+J6LNA REbqGcE9JrZUylvJT3YcUkqOQKcaRqx5YJKxPVQnf01lSyB21XDM+fvTkB8zGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbP5V81z1DrL for ; Tue, 24 Mar 2026 02:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f1f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 02:47:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 37aa41dde130 - stable/15 - EC2: Remove stale comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 37aa41dde130ad1cf4d39e08a6d3a06108889c27 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 02:47:45 +0000 Message-Id: <69c1fb51.1f1f6.28815aa5@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=37aa41dde130ad1cf4d39e08a6d3a06108889c27 commit 37aa41dde130ad1cf4d39e08a6d3a06108889c27 Author: Colin Percival AuthorDate: 2026-03-21 16:06:37 +0000 Commit: Colin Percival CommitDate: 2026-03-23 17:29:01 +0000 EC2: Remove stale comment MFC after: 3 days Sponsored by: Amazon (cherry picked from commit 118699732de1ec99b06d5d73ee61b1b74842c1de) --- release/tools/ec2.conf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 4e1260903e06..dc1818219816 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -21,10 +21,6 @@ export VMSIZE=8000m export NOSWAP=YES ec2_common() { - # Delete the pkg package and the repo database; they will likely be - # long out of date before the EC2 instance is launched. In - # unprivileged builds this is unnecessary as pkg will not be - # installed to begin with. if [ -z "${NO_ROOT}" ]; then echo "ERROR: NO_ROOT not set" >&2 exit 1 From nobody Tue Mar 24 02:47:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbS6T3Rz6VxYv for ; Tue, 24 Mar 2026 02:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffvbS4nq1z47Xd for ; Tue, 24 Mar 2026 02:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjKEJSE6MXWPcE/vyR1+UxMf/HQ56loxrEQsP5unWNY=; b=spJYz9BZJNtk7S8j+SNTDFKMQ+IszDFg3b1U8U03+vBbyBtxNzqbeSe8wP6IjBjwZd8ImF ajHoiwVZj6kSVgPMNJhU41edHT9GLMtRnuwLD/+mgZpynbZI4ABR25TK+tWz4pjcLCUu/L W6z2hcSs8IyETZZY0OTduE8cjVXo614oBOei/P1cD67oiIk+f5EwJGOI3uxVch/EWRY4qS +PUQr+StMs9MJ13AYxzdbnctnVzbXnhUuVhLO8HDuuD7g8mw/s1dF5cr2TkxzBdkuKvJHq Zz6Nxcj9bJOjdChMdMafNrBD0odNPRhxwgnmcnqI+bdXTUUD7o6M4wafMPcdng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774320468; a=rsa-sha256; cv=none; b=yamnNJVSfmLdiMPaWEiWKpSamrYg1SfAKLniqGGRDHezsOzcciqnNnT1TBzOje8HpeBkw+ s/MTV1lcJ9egLHTkzSk72NxyXN6zfMrxSL07bH9k7Lp9JdaLnLSFKN+aFSzTIRswwAE4oa +i3reJWRpr0Ij9JJ5iUPeh23t+LL7wkLEkW+r6j4VZ9jx+JR1NGLtJnJPKNSk3j49WZCvN u2+1riom0LzYxtGyv4ZBguN2ytNWU/7ysXJ7iJo2DqTnkoFrzAh7wQq/XgO8tXrCFrPu4N D1WoFlaRDdxkDG+OifFq//kpUMKsl8TZCuDYKNtP0aZF1/+ZDg8fq5ODDFjAZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774320468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjKEJSE6MXWPcE/vyR1+UxMf/HQ56loxrEQsP5unWNY=; b=ioJerTW+xmWbQiyW7baW6yEKn8gSUzkr2YLfOlIiamFzUbib1Pq21+G+pgzabVXxWr5vce aYeFbibvGkWiyKZBO5zPzQljUuEzGOkr15ejMG6Iw3NE7/JaiV7PIhTC5gvTVZYxHosNrv ZJycE2/WGwmi7Vt1alWTr1DScJ4G703M8PxP1ykoHQHMFIV3n1W6sSHb9gYJ7frwsTlGvT 9gsbH+PVj6pB/U8K5408Aa8kqihPSed2zEkdEBJi4isammlDnBj35qt7eLiRXONKP73hLj Cu44skW2ctFlGTTZtOYutylQiO2bCqYk/clboWYF27IignyJYsTjc24bpj3NlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffvbS46hlz1FLy for ; Tue, 24 Mar 2026 02:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21835 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 02:47:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c69792a3272e - stable/15 - EC2: Add clibs-lib32 pkg to small/builder images List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c69792a3272e211d05c278aa9c1590556b1a0f39 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 02:47:43 +0000 Message-Id: <69c1fb4f.21835.2fb82992@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c69792a3272e211d05c278aa9c1590556b1a0f39 commit c69792a3272e211d05c278aa9c1590556b1a0f39 Author: Colin Percival AuthorDate: 2026-03-20 00:24:55 +0000 Commit: Colin Percival CommitDate: 2026-03-23 17:29:01 +0000 EC2: Add clibs-lib32 pkg to small/builder images The FreeBSD-clang package on amd64 contains libclang_rt.asan-i386.so, which links to the 32-bit version of libgcc_s.so.1. It is not clear if that file belongs in FreeBSD-clang or if it should be placed into a different package. For unknown reasons, pkg *sometimes* recognizes this and decides that it needs to install a package to supply libgcc_s.so.1:32. In particular, when we initially install the VM with 'pkg install [long list of FreeBSD-* packages]', pkg does not recognize that it wants this; but the *next* time 'pkg install' runs, it decides that it needs libgcc_s.so.1:32 -- even though that particular library is not needed by the particular package we're trying to install -- and goes looking for it... and ends up picking gcc12-devel as a provider. Later in the EC2 image building process, we run 'pkg autoremove' (which was added during 15.0 to get rid of the "bogus dependencies" which were added while installing other packages) and pkg is once again confused: It decides that gcc12-devel is an automatic port which is not required by anything else, but upon determining that it should be removed it then determines that FreeBSD-clang depends upon a port which is being removed and deletes FreeBSD-clang as well. It's not clear what is breaking in pkg, but as a temporary workaround add the FreeBSD-clibs-lib32 package to the "small" and "builder" EC2 image flavours in order to satisfy the libgcc_s.so.1 demand. This commit should be reverted if libclang_rt.asan-i386.so moves out of FreeBSD-clang, (i.e. if it becomes possible to install a 32-bit-free amd64 system) or when the pkg issue is resolved (i.e. pkg consistently recognizes the shared library dependency and installs clibs-lib32 automatically as a FreeBSD-clang dependency). MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55978 (cherry picked from commit cfe0b7d37e552d78762c029f5b15e0f36d9d0d38) --- release/tools/ec2-builder.conf | 1 + release/tools/ec2-small.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf index 3b0344f9eb9a..a272ea49a426 100644 --- a/release/tools/ec2-builder.conf +++ b/release/tools/ec2-builder.conf @@ -17,6 +17,7 @@ vm_extra_filter_base_packages() { -e '.*-dbg$' \ -e '.*-lib32$' \ -e '^FreeBSD-set-tests' + echo FreeBSD-clibs-lib32 } # Packages to install into the image we're creating. In addition to packages diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf index 6564a59c2cf6..c1a05f98356f 100644 --- a/release/tools/ec2-small.conf +++ b/release/tools/ec2-small.conf @@ -20,6 +20,7 @@ vm_extra_filter_base_packages() { -e '.*-dbg$' \ -e '.*-lib32$' \ -e '^FreeBSD-set-tests' + echo FreeBSD-clibs-lib32 } # Packages to install into the image we're creating. In addition to packages From nobody Tue Mar 24 06:03:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxl1SVlz6WBJP for ; Tue, 24 Mar 2026 06:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffzxl0rV3z3Sty for ; Tue, 24 Mar 2026 06:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332235; h=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=Yet2W67GmkjtFA2g0e2lRP6BEAwrrlfHXixZexlZszo=; b=DnLcZvFPmbT8Gf8hBoj+6EJVIgJivstVE+GEfkWHkMWukzNCaQWm52fwWWoWBMpkE0HxlM e5MKsfMEg2ppkB99HLBrSV43qRe5VLnphJbkIDXOtyZKXEv0fufNZ5p/Iu9XpDdMNYPTMX 7o3vJcJBIu6uqYE23P34U+3rRXEv7OsyIQ2K5e2n4//WDmp1qO1pnM9xPZwxe/J5XVaNgb 5lA05h3IY/snzdS0UevM/iKDe2GQN/c+pk7MI4d8mp/8xWhbsBl+3dF1/SsgfdQuIku5Xc SsRP69e2J2JpaxvzPdkm9gzySnPM7TzmhF/1nI5PqYoTA/x6m8UwCLxuome4Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774332235; a=rsa-sha256; cv=none; b=WvTLYzgEYkuGoveFonJvjDluzjorCHa8CmJFTcU2HZZFLEr2HNl2ltlKMfw5iLj3BQXfSm jVY4NqK+McQ0M9wqEcWEeg97wBkt+XFOkvs7vN3aDt9DX5vaBgNBvAnI89P1hF/I7iR2kg U4XRZeuVAx0rpf0j1UzKLeipZjT6jCLQQPftKvBCxX8Xcfi59RlIqgo2RL/94Kr9+xMivE s0VXIKAi6TvtnDo76fLvB/v7YB5coxYvYVASSV63Rz5RoEdVHqlDVv+OabQdv1AkaUGwi8 /SDeYJLTPIfYXnhml/W81/yZkCPD+PjdlAbGWDPhHrY5rGdgAtj48EmC9z+NrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332235; h=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=Yet2W67GmkjtFA2g0e2lRP6BEAwrrlfHXixZexlZszo=; b=NXakpVfa4GUZd/iSPM5FqSJYHCNguC+v/GKbVPJRriAbEyRVadl5AD2Rbx3E+oHgiTIXyj YzeDmGF/DZotFYE/RxHtKrBdh0eRyGK7HX9mV16ZqzvS2yC005KWYXy3Mv5J3ObOXxcQkO LDfd6Fv353vujA1m1FHfRWJ4m0pLKCNpAXXQqfXS+234R/6CmFQL8nysTs83atYJvEP5oQ hp3VpO+SqCtP/9lx4FuAoPMlUimuRtKeGxfTS8g46Eet/jLftEjGNe4gwrsUwxNckXfBA9 1dh/mZNodAICZkRY/rW95s89TfbueEcxCglOLmAOi7oBaVRxxvx4nQdlpVDdfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxl03GHz1KpR for ; Tue, 24 Mar 2026 06:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f5f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 06:03:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Michael Gmelin From: Kristof Provost Subject: git: 1fa873c93c8b - main - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 1fa873c93c8b08561c53107c7b90c53dfad30ddc Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 06:03:54 +0000 Message-Id: <69c2294a.3f5f8.2a9a0f10@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1fa873c93c8b08561c53107c7b90c53dfad30ddc commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 04:27:20 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. MFC after: 1 week Reviewed by: kp --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 12a2189207f1..fa331449fcf9 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1359,6 +1359,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Tue Mar 24 06:03:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxm3YG8z6WB3x for ; Tue, 24 Mar 2026 06:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffzxm1DJ8z3Srq for ; Tue, 24 Mar 2026 06:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sz9aXOdNH+dE7tmiT0M95pC43sZ/3qJfB4bIA6OrLOI=; b=HqFisGLKhGAnpjNz4wjOpX05U8x8i8feqLsSiFuldczW8YzvaGqu3tMAf+52o5fuK50+5m RsjxmXm8bTdlT77MJRPtH0u4mQiNwmXOij0gULKAYoweqMfCXCRE014VCVnxxAGFAgH5VP jG1rEVuuT2gAV1LNwYMznq8IW4lR6nKR/y9ekCs1aOGu7amHjBDee82hR+AMJeLLnJr/l7 K7//HO05lH2Ne5c+VC4ptzFn8dhqsKLuTHdibMdsNLPdCZtCL2r3jEDz7y8ojDHfKTJavO rW3JNhTyRk0EWWnwliZnS16dlAFyX+B+StxI0OhR1O5wtWawntdUwYGLi+cQVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774332236; a=rsa-sha256; cv=none; b=lMysrSHrrhbIyaMdoA1521HxP8tRRs2Wo3yGhoigFTxPlLXoqPpx7Hep7yMqj+Ymn/PLkj H4V6JQQe7hme8RjcI3zOPUAW25zzQPzHH37SsKbVPoG38Ok/EymLqyf7Fz8YsSQg8mPcDR +UMTvWLEnx0sMqj2W5s3l94sdX37pzOSvebUtAePfUGjOta57BjmHZ56ltq6YH3xFH72qF H6ODeQ5lp+MeP7W2SVKSzFvE9mycZ740riCnCER6zC9VZUMPW2Ymxm4zKwa+Ea1LbI0hFj kdsQLz6IAd+RrHarZggeZgautF9TjkR/K7m3GWaeg5aNoiiukl/s8ir781yAXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sz9aXOdNH+dE7tmiT0M95pC43sZ/3qJfB4bIA6OrLOI=; b=aFyw0WQ/64T5p6oORS/LqhDPhUIPmIfGR7MUWtlUJIwJU7y3Nvwd9uR6Z03oWVjYHzhVnd W13CFhhoLXrI5oFbNRzMQ2NsJHSSwUKSdF3tORtKV+xzncrEFa4SLMopfpluAHVDECS4/J 5PksDKjDuGERlTvwK2Ms1k35x/eNZtGElNsfAwaSp3yB3jIm/JtHnu+8f8VGoUn+A+e/XC eVAzVb5bx59LE0azTaOgrZgnwwcF3Eq306vOdBH6IWVV4tQV5gEiLTqTmGhXnL9uiJLCI+ LrRYokMo2zlx68LajysR0re8g06As5G7GoMQhftx5jjauMchCQrLVV3p1sSyuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxm0r41z1L3n for ; Tue, 24 Mar 2026 06:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e2f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 06:03:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: ab74151e8d09 - main - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: ab74151e8d097b263237942c0b12277098bc9533 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 06:03:56 +0000 Message-Id: <69c2294c.3e2f4.58d2f16d@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ab74151e8d097b263237942c0b12277098bc9533 commit ab74151e8d097b263237942c0b12277098bc9533 Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 04:27:20 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index e955068d014b..f6d973de7cf4 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -451,6 +451,43 @@ any_if_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "enable_disable" @@ -462,4 +499,5 @@ atf_init_test_cases() atf_add_test_case "received_on" atf_add_test_case "optimize_any" atf_add_test_case "any_if" + atf_add_test_case "addr_range" } From nobody Tue Mar 24 06:03:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxn4TnSz6WBJR for ; Tue, 24 Mar 2026 06:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffzxn2Khxz3T0m for ; Tue, 24 Mar 2026 06:03:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hy2c+evir0z/QTsFCPke+T6pmo/MFfep8nV4FvIPfIQ=; b=CDaO983FTsq1LV/E/uI8oKooBqED19k3mJ2azQzq8tUNmODJx7il0LIpv/HArrnC5rpepj +mM8vPwmNyoC2vJNsnS1O8dAdRZj6yTYHJqrJB80mC1lz/vy1xeJjRzQPUVn2VLlZWJfMC tnpaDk7M/+yeWpHDUkeLKE1d4QmTd9+FDVcPnebzJ6X+6L/NX/qKWwXE1Dv+pQ8aOj/n1N mK6EWz3w6bxn2xBwqHqqqyBHmYR+spTHqodgbTbvMEBvFpaRUpFU4XKJUlVxejgczYEndv bi4WDuHpA+BXzQlu/JYRY8zfN1zkPQuf4Ig+LWt1WfX3WHCJdAudNXLyesR+4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774332237; a=rsa-sha256; cv=none; b=XnD2Vqzo9cuqjaw8JNBu34fERpZZHF+agNCDSmWEj+A6sa+xLdrKHqRRQFawF0vPxC8Xgj BDnkmeCXMGIKlSPCT7E+uziYqvXUsnYioSowopc4HVFQaUTbj96VIGyTPU1iw7KhbUIZCA ZC/qx7uPDewNHYnosXM5KL4AxwSZ02P5qjoOWLtzaCIOVb4kr+u318SVjsnJVQ9A7A41Dg R4TGSqI2U+A3YDZRhDOktSTiRyHxlcW61Fc89MOD5DcpKRrsGDZsm7lwCsOx2r4cALMQpE 9jFsyXP3k8kx2G91KM+9rmTDtZbXnb4n6Pf9AgzX4Il2U6eaVBb7f3Jd+O0CCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hy2c+evir0z/QTsFCPke+T6pmo/MFfep8nV4FvIPfIQ=; b=gtV4Gj8qdhlxqNXXlEeSNJMIEgkzpEclGmkGYqBwVrioDonmtc7J3QQIAUJ1i3rZWrVu6P F9kODCxYTec7mLAw1Qi+zpTlrPfMyvtDWXBPyETKG3AGmW1+XirbZPOPB4qS0XSkIUwcc1 +LawMirgoIZVpUNLjJFnij1miKjKeh+an2yl21i8EyioV6SP/p6UP4y5xzSC90xJLdh1ba FUTNM1r5wwobrvqZNyIUNJKDqHMlgmpbt2TqcKC6E43qoV2wgOKZ9KP9lSDltm/FIj9G6B w+rvUIP289El7ekU+ccuYgZzURNWZkH6o+pOFF4A/noGMgqVr1p0Mtrq9DxNsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxn1fXVz1L10 for ; Tue, 24 Mar 2026 06:03:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e058 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 06:03:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 66d66dd0f6f8 - main - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 66d66dd0f6f83926980fc1d68dd366c0057350c5 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 06:03:57 +0000 Message-Id: <69c2294d.3e058.4f1c6b50@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=66d66dd0f6f83926980fc1d68dd366c0057350c5 commit 66d66dd0f6f83926980fc1d68dd366c0057350c5 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 04:27:20 +0000 pfctl: always warn if a duplicate rule was detected MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 5a4668416b5b..a7bba4055b06 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2615,13 +2615,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rdr); From nobody Tue Mar 24 06:03:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxq5SB0z6WB9Q for ; Tue, 24 Mar 2026 06:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ffzxp6FTPz3SvG for ; Tue, 24 Mar 2026 06:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNBRPKn9U4lCeGBL8CI4I8bwfFTg3eooVK4XUs/rFpc=; b=yc3z1LEBNeMCUSTGv/8VnzMzppfoiaF2cF9u0JRzES6bMQG0PxW1ubrDAVP4CVy27eSfCZ gBQ3goXLsIx0KaMo1BYu5bOCxmpTMyJFwEiFwGrKtROBTlULHB7asBGE8kF+r9tEbbWazN 50euxYOGaKI0vdpZVSxknICCmCVYYgb9A/9lznhb5Zwb5j/2sDRs/BT7lWU9yayWluUYPi wDpZUE4rEdgzPLmruM/cio4oeyhd81HbI//9wogyG5KWFLaPm1m1LOltKyRfX8X6N3utaK eMCOc1KeMmqNd1+IbK3OZ0UdPvl5Z9aaY8yhhIWNwmMg9fkNzoEvfQvZNFgA5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774332238; a=rsa-sha256; cv=none; b=IBLzkln8WlnHfr1kIPjtRSd6Lx0FaOrA/EUbOFR+ZqpWT1oxFGYDfyBSYEP5MrIdheawTW CIWk8TfrZsqQERM8Y72csSun44Boqmcyqropy1h96iP4Z+79HLFhXN1jbJ95SgBdQ4DFEL SEPmZ2gvu6lCCO2h4Wqgout7DHXFaf3kAPbASlrwpl13pzcu4Er1PevqaO7DVOwrkZ0opr p2W6JyLVQKzgojeha9NHFGN+tO5P3XgTZYjw9Z18lIDDyGsytrOR9XGWHVWE0vUM6j8BNy yIW9lP3wZabD19AtdiirHlQt7odhQkNTHRh0s3TR4S/D9dCPms59UAht5m72ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNBRPKn9U4lCeGBL8CI4I8bwfFTg3eooVK4XUs/rFpc=; b=acBxOWAHKSRCwvXA6seImg0946U97J7PKUdU+qHp7SrDWBkW4ustbCOt6GVoOToyEIVcQj wPaVzUhUX4xY/NpExqyVNHoBPpNR/zBkCqaKMYSSilOw+PZEzDNp1QYGPPZz10SnVRkWDx e4jONA/BVtbTaX9ePwIyVZy66QIVzU4VeqORGmsIlzSApq2OBrEqejwVkYh2h3FqbNNjwI LWFkPRumlahsptsY2kv9t+TEhl02LWWWzVmFnkSeloX7E59787edyAh8uypQQxvj/KsTlf Xl39fMEuk7KvbEzB3bqrRrxBWTuNStG+KH88fsJYw0BWPJouo3N9gTYtqH2ocQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxp2VSKz1LJB for ; Tue, 24 Mar 2026 06:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f5fd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 06:03:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c6bcf6e6fd50 - main - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: c6bcf6e6fd507d952a48226b51cc161b8ef972a2 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 06:03:58 +0000 Message-Id: <69c2294e.3f5fd.464c6cae@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c6bcf6e6fd507d952a48226b51cc161b8ef972a2 commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2 Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 04:27:21 +0000 pf: include all elements when hashing rules MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 106 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 97 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index fa331449fcf9..a2e12b3065d0 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1364,6 +1364,13 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NONE: + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1372,6 +1379,30 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + PF_MD5_UPD(pool, cur->af); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); + PF_MD5_UPD(pool, ipv6_nexthop_af); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1382,39 +1413,96 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); PF_MD5_UPD_STR(rule, rcv_ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->nat); + pf_hash_pool(ctx, &rule->rdr); + pf_hash_pool(ctx, &rule->route); + PF_MD5_UPD_HTONL(rule, pktrate.limit, y); + PF_MD5_UPD_HTONL(rule, pktrate.seconds, y); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, max_pkt_size, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); - PF_MD5_UPD(rule, rcvifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + PF_MD5_UPD(rule, naf); + PF_MD5_UPD(rule, rcvifnot); + PF_MD5_UPD(rule, statelim.id); + PF_MD5_UPD_HTONL(rule, statelim.limiter_action, y); + PF_MD5_UPD(rule, sourcelim.id); + PF_MD5_UPD_HTONL(rule, sourcelim.limiter_action, y); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Tue Mar 24 06:44:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg0s648VGz6WDpF for ; Tue, 24 Mar 2026 06:44: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg0s62QwJz3Xdx for ; Tue, 24 Mar 2026 06:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774334698; h=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=2fgUyY/1dpIvRilQPsKGYShFSXaKhAo1vmExcHfEp9I=; b=qLMJzlTrI2QAuWZSBlCO3IZlcoULcKe+kan1s6fOBbcPhLEDowzdlZuraZDKz7PPhWi6Bz YTTzhjGhypkf9nhOmXZrbD8bjzMFrEWXXd+pZ20HajfbvDpQNjA3E8GMBqV4LKIvURTLEs rrx9d9KTP3tg2jn7rnQWcGSWyPqy3Jl00cToYfMgEc2iO7RsJbhHgJccOBWU50IS8pdjrQ fkf4f2lnYhEd1vwzJN6w8ge0drLfpSGYq6H1SCTe8Zx7+iFpEJSgkWI2y/MPZnskKy5ieo NhxNHAfsPhnl0Zum5rDvkEoZ90hyRP13u6vxLuBzBERtOmUCrByXetpMy4MS7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774334698; a=rsa-sha256; cv=none; b=oyIwwFvlkxcvw9CCEaxDWODPAUbtAtZohbuCAJARXqG6tekvyPeX0b+zWvK7454Azynq5N UK/Br1skJCbVL1q3BPejo7AhHqTtIozLs7++sznckfWsQlQsuTyUfkE0I4nvI4EkNozXda fO7bgvFcAmyK35+TCpoODZTtbvPPrKOfob5EiQ4sJkhibmHfiMadoXjXT7oeCUW0CJC8RL SFIBA1SCBucgkDWs//3bLmr7ZX24rdBmN2abAOoqRwX+/zavF+qd0D2dNKwJzfp+qOy4U8 r1wCesd5izTFY9PVzt0e1R41pHXkEJf9NgqMN+QeO+vc5xdbDgJQsbUiUNKLiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774334698; h=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=2fgUyY/1dpIvRilQPsKGYShFSXaKhAo1vmExcHfEp9I=; b=WNVAubaJLXb+ORrnWuCs4aJk0FEffpMYfGMMd7zEa2WwZ8t4n+SZDsAq5p9QPOAvdXFxNW 9UNXynuEfuGplrhj8rSZFIqLz/wlQYeby69XK2aESMNsMA+EhDMgq9tkoEbj1yOP7b0q13 9Z+coB9kV4mZruwLXU2UVuYCDRNh1lhWO0rDSmcYs5Z4MFHyWdS2yqMuBnIsb+07/18C/H TTIy9/zv7DqSz30MTBoT/8WDBZf3Hr3lxsLpQdDIQfunYqinrLw/kk6JckC5uCLKASJS/h 9XLTU/H+mxnHPG6e6j965TnjL4b6M5Q+ffbE9uIkrPA0B4N1zOOOLlZ6lMLlqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg0s60Qgnz1Lbd for ; Tue, 24 Mar 2026 06:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 426fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 06:44:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Majed Alkhaleefah From: Aymeric Wibo Subject: git: c586944fa208 - main - hid/hgame: Fix desync in hgame_dpad_cb() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c586944fa20899ab0f6b58b550e753d13d889c5b Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 06:44:52 +0000 Message-Id: <69c232e4.426fe.64e62e4b@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=c586944fa20899ab0f6b58b550e753d13d889c5b commit c586944fa20899ab0f6b58b550e753d13d889c5b Author: Majed Alkhaleefah AuthorDate: 2026-03-24 06:37:09 +0000 Commit: Aymeric Wibo CommitDate: 2026-03-24 06:37:19 +0000 hid/hgame: Fix desync in hgame_dpad_cb() hgame_dpad_cb() previously exited early whenever conflicting directions were input (e.g., UP + DOWN) without saving said input to the hgame_softc state. This led to a desync between the driver and the gamepad. This patch instead handles conflicting inputs by cancelling them out with each other. Remove early return. Calculate axis value by subtraction. Reviewed by: obiwac Approved by: obiwac Differential Revision: https://reviews.freebsd.org/D55849 --- sys/dev/hid/hgame.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/sys/dev/hid/hgame.c b/sys/dev/hid/hgame.c index 8dde6b5550c9..693c5afee034 100644 --- a/sys/dev/hid/hgame.c +++ b/sys/dev/hid/hgame.c @@ -134,28 +134,20 @@ hgame_dpad_cb(HIDMAP_CB_ARGS) data = ctx.data; switch (HIDMAP_CB_UDATA64) { case HUG_D_PAD_UP: - if (sc->dpad_down) - return (ENOMSG); - evdev_push_abs(evdev, ABS_HAT0Y, (data == 0) ? 0 : -1); sc->dpad_up = (data != 0); + evdev_push_abs(evdev, ABS_HAT0Y, sc->dpad_down - sc->dpad_up); break; case HUG_D_PAD_DOWN: - if (sc->dpad_up) - return (ENOMSG); - evdev_push_abs(evdev, ABS_HAT0Y, (data == 0) ? 0 : 1); sc->dpad_down = (data != 0); + evdev_push_abs(evdev, ABS_HAT0Y, sc->dpad_down - sc->dpad_up); break; case HUG_D_PAD_RIGHT: - if (sc->dpad_left) - return (ENOMSG); - evdev_push_abs(evdev, ABS_HAT0X, (data == 0) ? 0 : 1); sc->dpad_right = (data != 0); + evdev_push_abs(evdev, ABS_HAT0X, sc->dpad_right - sc->dpad_left); break; case HUG_D_PAD_LEFT: - if (sc->dpad_right) - return (ENOMSG); - evdev_push_abs(evdev, ABS_HAT0X, (data == 0) ? 0 : -1); sc->dpad_left = (data != 0); + evdev_push_abs(evdev, ABS_HAT0X, sc->dpad_right - sc->dpad_left); break; } break; From nobody Tue Mar 24 08:02:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg2ZY5NRhz6WKWb for ; Tue, 24 Mar 2026 08:02: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg2ZY4Smtz3fdk for ; Tue, 24 Mar 2026 08:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774339349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NtPbZ0ebAOcQDXo9ZN1HuJFEWy8winyXG+N73QxyUKw=; b=wkHBIFvhEJpehju7J/h0wlNf60NO0pyU4rXAoL0xIfYk6a8u30s+e8cDcTe95ah4b7Kfzf WsU77HJKgoSDcweqncxriLZrmXligCWpsS9QA7rP6AIuYSk+m9Hf0ZdJd2iVtdrSzbgqGx fSSGziJxV2NOb1SibgX1LnlNANxnX1h9YosMny5WhUqSB+ZCdKWDDW8x4nIMknzKI0IAW5 09EKucMo8YQnj8QT96oUcKUoKDkFwhY+MWhUIiWmsFQxR+alX9Oyn68w7F+YaFVdp3AphK gJ/Y+WGagiyJlCyQkjLO1ML3X+ScQbhg616+terCaTq7zwua6Eb4f15qm4KfQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774339349; a=rsa-sha256; cv=none; b=re/2jN26LtOb0aOTmTRNaXDLGOB0Vn4ac4BFWNEa3Sixj32So79QHSzvubPL/nbTaqLtdz HFl2Fq99EPhWq23ys0lafzBEyOmjJZq6l2GHpADMpf876TZPtSjmSkF3JEJ/0RE2botKjK XIq8Bl50YaI25heMBPClG5+/nUSKwgaOcUFUEkk13nK09KKSycKmLYh1s6k7WVMe+XrCLD HsRl5ZgZ+f3REV1Ya0hwvoda0/MfwbTtJ6HPAgBQmQ5I63MZNGiXQOK76trGu+soesn7nA gDB1kiOEBMZ4zy5J0nMuq5Vge9YwfbT/nKeUitVn8UihhEPvbtmwdEw06GeJaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774339349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NtPbZ0ebAOcQDXo9ZN1HuJFEWy8winyXG+N73QxyUKw=; b=lFn4yfmd7d9cJHOuP6KuuPceMaM5TvRhEPWfSULr+GKI5Ze786uVXadp+QE25T1RNvU3Vv i/wc5oRqWIsJ/mzZ8eCrOYLDJqnIpzFAJgSwWiQFiI5I5+aduehKGiqoRZDCguXHNLm8UN Qk4Eo3ZVWfGHKXnQZL+FGnpR4b6q/6Qc1LRMBjocmOALAG7KFyRSNtKCnhaRIPgpGT+gFH Z2CM7TqXdrewjNP6mw7hz/uPv6N/aFrfn6vcSTXCj04MWIrpjBvZiduCuWsgg7mUeQT6Ps qyrwh0+j2nxBtMd+DjUsr0kMmzk69ysEOTh5GLyYAvfpQRtbSR7A4UG7cYj7Iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg2ZY41CTz1PNP for ; Tue, 24 Mar 2026 08:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a1c2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 08:02:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: d8a8c890a1a3 - main - acpi_spmc: Fix checking expected DSMs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8a8c890a1a3a003dbd12ec0235304db7fbe9e6e Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 08:02:29 +0000 Message-Id: <69c24515.1a1c2.55d8515d@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=d8a8c890a1a3a003dbd12ec0235304db7fbe9e6e commit d8a8c890a1a3a003dbd12ec0235304db7fbe9e6e Author: Aymeric Wibo AuthorDate: 2026-03-24 07:25:50 +0000 Commit: Aymeric Wibo CommitDate: 2026-03-24 08:00:58 +0000 acpi_spmc: Fix checking expected DSMs Previously was or'ing the indices of the DSMs directly, not their corresponding bits. This commit rectifies this. Reviewed by: olce Approved by: olce Fixes: c5daa5a4c32c ("acpi_spmc: Add system power management controller driver") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/https://reviews.freebsd.org/D56062 --- sys/dev/acpica/acpi_spmc.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/dev/acpica/acpi_spmc.c b/sys/dev/acpica/acpi_spmc.c index a961b4a188dc..d6d4f2d34f2f 100644 --- a/sys/dev/acpica/acpi_spmc.c +++ b/sys/dev/acpica/acpi_spmc.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2024-2025 The FreeBSD Foundation + * Copyright (c) 2024-2026 The FreeBSD Foundation * * This software was developed by Aymeric Wibo * under sponsorship from the FreeBSD Foundation. @@ -86,8 +86,9 @@ static struct dsm_set intel_dsm_set = { 0xc4eb40a0, 0x6cd2, 0x11e2, 0xbc, 0xfd, {0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66}, }, - .dsms_expected = DSM_GET_DEVICE_CONSTRAINTS | DSM_DISPLAY_OFF_NOTIF | - DSM_DISPLAY_ON_NOTIF | DSM_ENTRY_NOTIF | DSM_EXIT_NOTIF, + .dsms_expected = (1 << DSM_GET_DEVICE_CONSTRAINTS) | + (1 << DSM_DISPLAY_OFF_NOTIF) | (1 << DSM_DISPLAY_ON_NOTIF) | + (1 << DSM_ENTRY_NOTIF) | (1 << DSM_EXIT_NOTIF), }; SYSCTL_INT(_debug_acpi_spmc, OID_AUTO, intel_dsm_revision, CTLFLAG_RW, @@ -102,9 +103,10 @@ static struct dsm_set ms_dsm_set = { 0x11e00d56, 0xce64, 0x47ce, 0x83, 0x7b, {0x1f, 0x89, 0x8f, 0x9a, 0xa4, 0x61}, }, - .dsms_expected = DSM_DISPLAY_OFF_NOTIF | DSM_DISPLAY_ON_NOTIF | - DSM_ENTRY_NOTIF | DSM_EXIT_NOTIF | DSM_MODERN_ENTRY_NOTIF | - DSM_MODERN_EXIT_NOTIF, + .dsms_expected = (1 << DSM_DISPLAY_OFF_NOTIF) | + (1 << DSM_DISPLAY_ON_NOTIF) | (1 << DSM_ENTRY_NOTIF) | + (1 << DSM_EXIT_NOTIF) | (1 << DSM_MODERN_ENTRY_NOTIF) | + (1 << DSM_MODERN_EXIT_NOTIF), }; static struct dsm_set amd_dsm_set = { @@ -124,9 +126,9 @@ static struct dsm_set amd_dsm_set = { 0xe3f32452, 0xfebc, 0x43ce, 0x90, 0x39, {0x93, 0x21, 0x22, 0xd3, 0x77, 0x21}, }, - .dsms_expected = AMD_DSM_GET_DEVICE_CONSTRAINTS | AMD_DSM_ENTRY_NOTIF | - AMD_DSM_EXIT_NOTIF | AMD_DSM_DISPLAY_OFF_NOTIF | - AMD_DSM_DISPLAY_ON_NOTIF, + .dsms_expected = (1 << AMD_DSM_GET_DEVICE_CONSTRAINTS) | + (1 << AMD_DSM_ENTRY_NOTIF) | (1 << AMD_DSM_EXIT_NOTIF) | + (1 << AMD_DSM_DISPLAY_OFF_NOTIF) | (1 << AMD_DSM_DISPLAY_ON_NOTIF), }; SYSCTL_INT(_debug_acpi_spmc, OID_AUTO, amd_dsm_revision, CTLFLAG_RW, @@ -252,7 +254,7 @@ static void acpi_spmc_check_dsm_set(struct acpi_spmc_softc *sc, ACPI_HANDLE handle, struct dsm_set *dsm_set) { - const uint64_t dsms_supported = acpi_DSMQuery(handle, + uint64_t dsms_supported = acpi_DSMQuery(handle, (uint8_t *)&dsm_set->uuid, dsm_set->revision); /* @@ -261,6 +263,7 @@ acpi_spmc_check_dsm_set(struct acpi_spmc_softc *sc, ACPI_HANDLE handle, */ if ((dsms_supported & 1) == 0) return; + dsms_supported &= ~1; if ((dsms_supported & dsm_set->dsms_expected) != dsm_set->dsms_expected) { device_printf(sc->dev, "DSM set %s does not support expected " From nobody Tue Mar 24 09:34:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg4cy5Y9Fz6WQRc for ; Tue, 24 Mar 2026 09:34: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg4cy50bjz3nW0 for ; Tue, 24 Mar 2026 09:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774344882; h=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=BGNLaRiDrtuOUjEHknDvpA9XXr7jOMePN0Weec37DWM=; b=tO1s/qFqNj2LMFigk8nPhQxE31b4XlAplCDebNXkp34QjulM4urPIdvFeqjuVUpqupfFSH 5Q7jzxPQVBO1OLGt5a4yTxEKuYOxUvvqOib7J/FuScGJkllVD8ZzGcN1nmLldT4J/Bqmxa 4JNdfoyKue+/9OcR173kZCNucb3ThwaT10DTPQxGe/HMYKEh51MOfMr6WecgL3vJGMmowo mjkJ3MyMxeuKt+zGwAixucfGYqw5E3PMF0rjt662FHW3JOC0x1RM5de2zRgi61/hQRuevy eHWG9MA0CmFjWV6IqA/DmhSu5A5Vvnz8sjp0arxdGpVZthRzKBkxaaSZbz0Owg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774344882; a=rsa-sha256; cv=none; b=k0jBiOmOCaUqw3Md4hMZVjE37GlpdsdTQ8R2YieNEN+CpmrKdvF8pjEixTSQdR9iITuvFB 6g11eP4v68LwH9l607vvKtpX9t4OcbckGn4NMoHNhtvqadt1HGqNLGJTerYYIacUpkhB0y FBm14hcpZlMCAu9df0PTNBfEgUqAdI7YrZ8HBafbg+vq5304zfOk1S4ZN3lyoOQxyUDNX+ SnNRxd0WulwC9U49w/nOK5+kxiM8R/yJTaHkClsiWRwv09SNMqWTI2EW4xQHrBFXksJxJy UBeHYMXkFGozCTF+5JqWdZIzIYwvbgGyl0gt0cOjO6xEF+DtLgCI/r5Gh7UHkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774344882; h=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=BGNLaRiDrtuOUjEHknDvpA9XXr7jOMePN0Weec37DWM=; b=GIJQQQJzEViuRdN0ZVwnyEsbwKG4D6m+2A4r1Px3/9FYC7jVt9IGvChYE0vrHAiBxvxCR/ eLPD4Bq9acPkVx6CPvH0xrHEYQRwCMot/mtXzZKSgpqzV/pPsFHR/H1bgUOo9F8Xy7ML0s voKQklgYipdGL5YCahxCMnhUDPt4WlLWr3q+MI5XptOm55k4Gh28QStyNC6uaN/vtliTTh oHYWf4Gm+oFVRb+x49iV9X+Ep1gvpIiYov/fazRdTXNf4GvF5LCbnmClutJMOD3W9ZszYa iMFELejVwZNgnC18+RpBuwYRl3+Eldx4d1mBsapkYtdTXfGVFMH87fDvpEVWfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg4cy4b2Lz1R7d for ; Tue, 24 Mar 2026 09:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 261ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 09:34:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Boris Lytochkin From: Andrey V. Elsukov Subject: git: a9b93531788c - stable/15 - ipfw: add support for masked ip-address lookups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a9b93531788cc125c928cc3488975f0330f75137 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 09:34:42 +0000 Message-Id: <69c25ab2.261ef.63d11cdf@gitrepo.freebsd.org> The branch stable/15 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=a9b93531788cc125c928cc3488975f0330f75137 commit a9b93531788cc125c928cc3488975f0330f75137 Author: Boris Lytochkin AuthorDate: 2026-03-01 18:54:24 +0000 Commit: Andrey V. Elsukov CommitDate: 2026-03-24 09:31:11 +0000 ipfw: add support for masked ip-address lookups Current radix-based implementation of lookup tables in ipfw does not support non-contiguous prefixes while this type of lookup is needed to write CPU-effective firewall configurations. For some of the cases we can reach the goal using a masked table lookup by adding masked (e.g. zero non-significant bits) records into a table and then zero non-significant bits in lookup key prior to making a table lookup. Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D53694 (cherry picked from commit 32cd3ee5901ea33d41ff550e5f40ce743c8d4165) --- sbin/ipfw/ipfw.8 | 151 ++++++-- sbin/ipfw/ipfw2.c | 193 ++++++++-- sbin/ipfw/tests/test_add_rule.py | 243 +++++++++++- sys/netinet/ip_fw.h | 81 +++- sys/netpfil/ipfw/ip_fw2.c | 231 ++++++----- sys/netpfil/ipfw/ip_fw_sockopt.c | 32 ++ sys/netpfil/ipfw/ip_fw_table.c | 26 +- tests/atf_python/sys/netpfil/ipfw/insn_headers.py | 37 +- tests/atf_python/sys/netpfil/ipfw/insns.py | 179 ++++++++- tests/atf_python/sys/netpfil/ipfw/ioctl.py | 1 + tests/atf_python/sys/netpfil/ipfw/ioctl_headers.py | 41 +- tests/sys/netpfil/common/utils.subr | 3 + tests/sys/netpfil/ipfw/Makefile | 6 +- tests/sys/netpfil/ipfw/lookup.sh | 428 +++++++++++++++++++++ tests/sys/netpfil/ipfw/lookup_inetd.conf | 1 + 15 files changed, 1418 insertions(+), 235 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index c6eedbccb2f8..b72341c685e7 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,5 +1,5 @@ .\" -.Dd December 29, 2025 +.Dd March 1, 2026 .Dt IPFW 8 .Os .Sh NAME @@ -1430,8 +1430,7 @@ The second format with multiple addresses) is provided for convenience only and its use is discouraged. .It Ar addr : Oo Cm not Oc Bro -.Cm any | me | me6 | -.Cm table Ns Pq Ar name Ns Op , Ns Ar value +.Cm any | me | me6 | Ar table-ref .Ar | addr-list | addr-set .Brc .Bl -tag -width indent @@ -1443,26 +1442,32 @@ Matches any IP address configured on an interface in the system. Matches any IPv6 address configured on an interface in the system. The address list is evaluated at the time the packet is analysed. -.It Cm table Ns Pq Ar name Ns Op , Ns Ar value +.El +.It Ar table-ref : +A table lookup can be specified in one of the following ways: +.Bl -tag -width indent +.It table Ns Pq Ar name Ns Matches any IPv4 or IPv6 address for which an entry exists in the lookup table .Ar number . -If an optional 32-bit unsigned +.It table Ns Pq Ar name , Ns Ar value +Matches any IPv4 or IPv6 address for which an entry exists in the lookup table +.Ar number +and 32-bit unsigned .Ar value -is also specified, an entry will match only if it has this value. -If +specified matchess entry value. +.It table Ns Pq Ar name , Ns Ar value-type Ns = Ns Ar value +Matches any IPv4 or IPv6 address for which an entry exists in the lookup table +.Ar number +and 32-bit unsigned .Ar value -is specified in form -.Ar valtype=value , -then specified value type field will be checked. -It can be -.Ar skipto, pipe, fib, nat, dscp, tag, divert, netgraph, limit, nh4 -and -.Ar mark. - +specified matches corresponding +.Ar value-type +field for the record found. +.El +.Pp See the .Sx LOOKUP TABLES section below for more information on lookup tables. -.El .It Ar addr-list : ip-addr Ns Op , Ns Ar addr-list .It Ar ip-addr : A host or subnet address specified in one of the following ways: @@ -1683,9 +1688,9 @@ and IPsec encapsulating security payload headers .It Cm fib Ar fibnum Matches a packet that has been tagged to use the given FIB (routing table) number. -.It Cm flow Ar table Ns Pq Ar name Ns Op , Ns Ar value -Search for the flow entry in lookup table -.Ar name . +.It Cm flow Ar table-ref +Search for the flow entry in lookup table specified by +.Ar table-ref . If not found, the match fails. Otherwise, the match succeeds and .Cm tablearg @@ -1701,16 +1706,16 @@ Matches IPv6 packets containing any of the flow labels given in .Ar labels . .Ar labels is a comma separated list of numeric flow labels. -.It Cm dst-mac Ar table Ns Pq Ar name Ns Op , Ns Ar value -Search for the destination MAC address entry in lookup table -.Ar name . +.It Cm dst-mac Ar table-ref +Search for the destination MAC address entry in lookup table specified by +.Ar table-ref . If not found, the match fails. Otherwise, the match succeeds and .Cm tablearg is set to the value extracted from the table. -.It Cm src-mac Ar table Ns Pq Ar name Ns Op , Ns Ar value -Search for the source MAC address entry in lookup table -.Ar name . +.It Cm src-mac Ar table-ref +Search for the source MAC address entry in lookup table specified by +.Ar table-ref . If not found, the match fails. Otherwise, the match succeeds and .Cm tablearg @@ -1928,8 +1933,10 @@ set of parameters as specified in the rule. One or more of source and destination addresses and ports can be specified. -.It Cm lookup Bro Cm dst-ip | dst-port | dst-mac | src-ip | src-port | src-mac | uid | -.Cm jail | dscp | mark | rulenum Brc Ar name +.It Cm lookup Bro Cm dst-ip | dst-ip4 | dst-ip6 | dst-port | dst-mac | src-ip | +.Cm src-ip4 | src-ip6 | src-port | src-mac | uid | jail | dscp | mark | +.Cm rulenum +.Brc Ns Oo : Ns Ar bitmask Oc Ar name Search an entry in lookup table .Ar name that matches the field specified as argument. @@ -1938,8 +1945,56 @@ Otherwise, the match succeeds and .Cm tablearg is set to the value extracted from the table. .Pp +If an optional +.Ar bitmask +is specified, value of the field is altered by bitwize AND with +.Ar bitmask +and resulting value is being searched instead of the original one. +The +.Ar bitmask +is accepted in the following formats: +.Bl -enum -width indent +.It +In a dotted-quad form, e.g. 127.88.34.0. +This form can be used for IPv4 lookups as well as for all numeric lookup +types. +.It +As a 32-bit number, e.g. 0xf00baa1 or 255. +This form can be used for IPv4 lookups as well as for all numeric lookup +types. +.It +As an IPv6 address when specified alongwith +.Cm dst-ip6 +or +.Cm src-ip6 +field. +If used, the rule will match IPv6 packets only. +Example: src-ip6:afff:ff00:ffff:ffff:0:0:0:0f0f. +.It +As a Ethernet mac address when specified alongwith +.Cm dst-mac +or +.Cm src-mac +field. E.g. 00:11:22:33:44:55. +.El +.Pp +The +.Ar bitmask +can not be specified for +.Cm dst-ip +or +.Cm src-ip +as these field specifiers lookup both IPv4 and IPv6 addresses. +.Pp This option can be useful to quickly dispatch traffic based on certain packet fields. +The +.Ar bitmask +allows to implement wildcard lookups by inserting into table masked prefix and +appying +.Ar bitmask +upon each lookup. +.Pp See the .Sx LOOKUP TABLES section below for more information on lookup tables. @@ -2002,7 +2057,7 @@ However, this option doesn't imply an implicit .Cm check-state in contrast to .Cm keep-state . -.It Cm recv | xmit | via Brq Ar ifX | Ar ifmask | Ar table Ns Po Ar name Ns Oo , Ns Ar value Oc Pc | Ar ipno | Ar any +.It Cm recv | xmit | via Brq Ar ifX | Ar ifmask | Ar table-ref | Ar ipno | Ar any Matches packets received, transmitted or going through, respectively, the interface specified by exact name .Po Ar ifX Pc , @@ -2020,8 +2075,8 @@ See also the .Sx EXAMPLES section. .Pp -Table -.Ar name +A lookup table specified by +.Ar table-ref may be used to match interface by its kernel ifindex. See the .Sx LOOKUP TABLES @@ -4357,7 +4412,8 @@ Capture messages from .Xr route 4 socket, that were logged using rules with .Cm log Cm logdst Ar rtsock -opcode. Optional +opcode. +Optional .Ar filter-comment can be specified to show only those messages, that were logged by rules with specific rule comment. @@ -4712,10 +4768,41 @@ In the following example per-interface firewall is created: The following example illustrate usage of flow tables: .Pp .Dl "ipfw table fl create type flow:src-ip,proto,dst-ip,dst-port" -.Dl "ipfw table fl add 2a02:6b8:77::88,tcp,2a02:6b8:77::99,80 11" +.Dl "ipfw table fl add 2001:db8:77::88,tcp,2001:db8:77::99,80 11" .Dl "ipfw table fl add 10.0.0.1,udp,10.0.0.2,53 12" .Dl ".." .Dl "ipfw add 100 allow ip from any to any flow 'table(fl,11)' recv ix0" +.Pp +The following example illustrate masked table lookups to aid uniform client +distribution among multiple NAT instances: +.Bd -literal -offset indent +# Configure NAT instances +ipfw nat 10 config ip 192.0.2.0 +ipfw nat 11 config ip 192.0.2.1 +ipfw nat 12 config ip 192.0.2.2 +ipfw nat 13 config ip 192.0.2.3 + +ipfw table mynats create type addr valtype nat +# Map external NAT address to NAT instance +ipfw table mynats add 192.0.2.0 10 +ipfw table mynats add 192.0.2.1 11 +ipfw table mynats add 192.0.2.2 12 +ipfw table mynats add 192.0.2.3 13 + +# Map last 2 bits of client's IP address to NAT instance +ipfw table mynats add 0.0.0.0 10 +ipfw table mynats add 0.0.0.1 11 +ipfw table mynats add 0.0.0.2 12 +ipfw table mynats add 0.0.0.3 13 + +# In -> Out NAT, zero out all bits in a client's IP exept +# 2 least significant prior to table lookup +ipfw add nat tablearg ip from 10.0.0.0/24 to any + lookup src-ip4:0.0.0.3 mynats +# Out -> In NAT +ipfw add nat tablearg ip from any to 192.0.2.0/30 + lookup dst-ip mynats +.Ed .Ss SETS OF RULES To add a set of rules atomically, e.g.\& set 18: .Pp diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 27ccaea2c78f..9e8171a65d62 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -313,6 +313,10 @@ static struct _s_x rule_action_params[] = { static struct _s_x lookup_keys[] = { { "dst-ip", LOOKUP_DST_IP }, { "src-ip", LOOKUP_SRC_IP }, + { "dst-ip6", LOOKUP_DST_IP6 }, + { "src-ip6", LOOKUP_SRC_IP6 }, + { "dst-ip4", LOOKUP_DST_IP4 }, + { "src-ip4", LOOKUP_SRC_IP4 }, { "dst-port", LOOKUP_DST_PORT }, { "src-port", LOOKUP_SRC_PORT }, { "dst-mac", LOOKUP_DST_MAC }, @@ -338,6 +342,7 @@ static struct _s_x tvalue_names[] = { { "fib", TVALUE_FIB }, { "nat", TVALUE_NAT }, { "nh4", TVALUE_NH4 }, + { "nh6", TVALUE_NH6 }, { "dscp", TVALUE_DSCP }, { "limit", TVALUE_LIMIT }, { "mark", TVALUE_MARK }, @@ -1311,12 +1316,27 @@ print_flags(struct buf_pr *bp, char const *name, const ipfw_insn *cmd, } static void -print_tvalue(struct buf_pr *bp, const ipfw_insn_table *cmd) +print_tvalue(struct buf_pr *bp, const ipfw_insn_lookup *cmd) { + char maskbuf[INET6_ADDRSTRLEN]; const char *name; name = match_value(tvalue_names, IPFW_TVALUE_TYPE(&cmd->o)); - bprintf(bp, ",%s=%u", name != NULL ? name: "", cmd->value); + switch(IPFW_TVALUE_TYPE(&cmd->o)) { + case TVALUE_NH6: + if (inet_ntop(AF_INET6, &insntoc(&cmd->o, lookup)->ip6, + maskbuf, sizeof(maskbuf)) == NULL) + strcpy(maskbuf, ""); + bprintf(bp, ",%s=%s", name != NULL ? name: "", + maskbuf); + return; + case TVALUE_NH4: + bprintf(bp, ",%s=%s", name != NULL ? name: "", + inet_ntoa(cmd->ip4)); + return; + } + bprintf(bp, ",%s=%u", name != NULL ? name: "", + cmd->u32); } @@ -1327,11 +1347,14 @@ static void print_ip(struct buf_pr *bp, const struct format_opts *fo, const ipfw_insn_ip *cmd) { + char maskbuf[INET6_ADDRSTRLEN]; + const uint32_t *a = insntoc(cmd, u32)->d; struct hostent *he = NULL; const struct in_addr *ia; - const uint32_t *a = ((const ipfw_insn_u32 *)cmd)->d; - uint32_t len = F_LEN(&cmd->o); + const ipfw_insn_lookup *l = insntoc(cmd, lookup); + const char *key; char *t; + uint32_t len = F_LEN(&cmd->o); bprintf(bp, " "); switch (cmd->o.opcode) { @@ -1340,32 +1363,65 @@ print_ip(struct buf_pr *bp, const struct format_opts *fo, bprintf(bp, "me"); return; - case O_IP_DST_LOOKUP: - if ((len == F_INSN_SIZE(ipfw_insn_kidx) || - len == F_INSN_SIZE(ipfw_insn_table)) && - IPFW_LOOKUP_TYPE(&cmd->o) != LOOKUP_NONE) { - const char *key; - - key = match_value(lookup_keys, - IPFW_LOOKUP_TYPE(&cmd->o)); - t = table_search_ctlv(fo->tstate, - insntoc(&cmd->o, kidx)->kidx); - if (len == F_INSN_SIZE(ipfw_insn_table)) { - bprintf(bp, "lookup %s:%#x %s", - (key != NULL ? key : ""), - insntoc(&cmd->o, table)->value, t); - } else - bprintf(bp, "lookup %s %s", key != NULL ? key: - "", t); + case O_TABLE_LOOKUP: { + key = match_value(lookup_keys, + IPFW_LOOKUP_TYPE(&cmd->o)); + t = table_search_ctlv(fo->tstate, + insntoc(&cmd->o, kidx)->kidx); + if (IPFW_LOOKUP_MASKING(&cmd->o) == 0 || + len != F_INSN_SIZE(ipfw_insn_lookup)) { + bprintf(bp, "lookup %s %s", + (key != NULL ? key : ""), t); return; } - /* FALLTHROUGH */ + switch (IPFW_LOOKUP_TYPE(&cmd->o)) { + case LOOKUP_DST_IP6: + case LOOKUP_SRC_IP6: + if (inet_ntop(AF_INET6, &l->ip6, + maskbuf, sizeof(maskbuf)) == NULL) + strcpy(maskbuf, ""); + bprintf(bp, "lookup %s:%s %s", key, maskbuf, t); + break; + case LOOKUP_DST_IP: + case LOOKUP_SRC_IP: + case LOOKUP_DST_IP4: + case LOOKUP_SRC_IP4: + bprintf(bp, "lookup %s:%s %s", key, + inet_ntoa(l->ip4), t); + break; + case LOOKUP_DST_MAC: + case LOOKUP_SRC_MAC: + bprintf(bp, "lookup %s:%s %s", key, + ether_ntoa((const struct ether_addr *)&l->mac), t); + break; + default: + bprintf(bp, "lookup %s:%#x %s", + (key != NULL ? key : ""), + l->u32, t); + } + return; + } + case O_IP_DST_LOOKUP: case O_IP_SRC_LOOKUP: t = table_search_ctlv(fo->tstate, insntoc(&cmd->o, kidx)->kidx); + /* + * XXX: compatibility layer, to be removed. + * Properly show rules loaded into new kernel modules by + * an old ipfw binary. + */ + if (IPFW_LOOKUP_MASKING(&cmd->o) != 0 && + len == F_INSN_SIZE(ipfw_insn_table)) { + key = match_value(lookup_keys, + IPFW_LOOKUP_TYPE(&cmd->o)); + bprintf(bp, "lookup %s:%#x %s", + (key != NULL ? key : ""), + insntoc(&cmd->o, table)->value, t); + return; + } bprintf(bp, "table(%s", t); - if (len == F_INSN_SIZE(ipfw_insn_table)) - print_tvalue(bp, insntoc(&cmd->o, table)); + if (IPFW_LOOKUP_MATCH_TVALUE(&cmd->o) != 0) + print_tvalue(bp, l); bprintf(bp, ")"); return; } @@ -1470,15 +1526,14 @@ static void print_mac_lookup(struct buf_pr *bp, const struct format_opts *fo, const ipfw_insn *cmd) { - uint32_t len = F_LEN(cmd); char *t; bprintf(bp, " "); t = table_search_ctlv(fo->tstate, insntoc(cmd, kidx)->kidx); bprintf(bp, "table(%s", t); - if (len == F_INSN_SIZE(ipfw_insn_table)) - print_tvalue(bp, insntoc(cmd, table)); + if (IPFW_LOOKUP_MATCH_TVALUE(cmd) != 0) + print_tvalue(bp, insntoc(cmd, lookup)); bprintf(bp, ")"); } @@ -1643,6 +1698,8 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, case O_IP_SRC_SET: if (state->flags & HAVE_SRCIP) bprintf(bp, " src-ip"); + /* FALLTHROUGH */ + case O_TABLE_LOOKUP: print_ip(bp, fo, insntoc(cmd, ip)); break; case O_IP_DST: @@ -1767,8 +1824,8 @@ print_instruction(struct buf_pr *bp, const struct format_opts *fo, s = table_search_ctlv(fo->tstate, insntoc(cmd, kidx)->kidx); bprintf(bp, " flow table(%s", s); - if (F_LEN(cmd) == F_INSN_SIZE(ipfw_insn_table)) - print_tvalue(bp, insntoc(cmd, table)); + if (IPFW_LOOKUP_MATCH_TVALUE(cmd) != 0) + print_tvalue(bp, insntoc(cmd, lookup)); bprintf(bp, ")"); break; case O_IPID: @@ -3304,8 +3361,11 @@ pack_table(struct tidx *tstate, const char *name) return (pack_object(tstate, name, IPFW_TLV_TBL_NAME)); } +/* + * Parse table(NAME, value) and table(NAME,key=value) + */ static void -fill_table_value(ipfw_insn *cmd, char *s) +fill_table_value(ipfw_insn_lookup *cmd, char *s) { char *p; int i; @@ -3322,8 +3382,20 @@ fill_table_value(ipfw_insn *cmd, char *s) p = s; } - IPFW_SET_TVALUE_TYPE(cmd, i); - insntod(cmd, table)->value = strtoul(p, NULL, 0); + IPFW_SET_TVALUE_TYPE(&cmd->o, i); + + if (i == TVALUE_NH6) { + if (inet_pton(AF_INET6, p, &cmd->ip6) != 1) + errx(EX_USAGE, "invalid IPv6 address provided"); + /* mask in a dotted-quad notation */ + } else if (strchr(p, '.') != NULL) { + if (inet_aton(p, &cmd->ip4) != 1) + errx(EX_USAGE, "invalid IPv4 address provided"); + if (i == TVALUE_NH4) + return; + cmd->u32 = ntohl(cmd->u32); + } else + cmd->u32 = strtoul(p, NULL, 0); } void @@ -3344,9 +3416,11 @@ fill_table(ipfw_insn *cmd, char *av, uint8_t opcode, struct tidx *tstate) cmd->opcode = opcode; if (p) { - cmd->len |= F_INSN_SIZE(ipfw_insn_table); - fill_table_value(cmd, p); + cmd->len |= F_INSN_SIZE(ipfw_insn_lookup); + IPFW_SET_LOOKUP_MATCH_TVALUE(cmd, 1); + fill_table_value(insntod(cmd, lookup), p); } else { + /* table(NAME) */ IPFW_SET_LOOKUP_TYPE(cmd, LOOKUP_NONE); cmd->len |= F_INSN_SIZE(ipfw_insn_kidx); } @@ -4125,6 +4199,38 @@ get_divert_port(const char *arg, const char *action) return (ntohs(s->s_port)); } +static void +get_lookup_bitmask(int ltype, ipfw_insn_lookup *cmd, const char *src) +{ + struct ether_addr *mac; + const char *macset = "0123456789abcdefABCDEF:"; + + if (ltype == LOOKUP_SRC_IP6 || ltype == LOOKUP_DST_IP6) { + if (inet_pton(AF_INET6, src, &cmd->ip6) != 1) + errx(EX_USAGE, "invalid IPv6 mask provided"); + return; + } else if (ltype == LOOKUP_SRC_MAC || ltype == LOOKUP_DST_MAC) { + if (strspn(src, macset) != strlen(src) || + (mac = ether_aton(src)) == NULL) + errx(EX_DATAERR, "Incorrect MAC address"); + + bcopy(mac, cmd->mac, ETHER_ADDR_LEN); + return; + /* mask in a dotted-quad notation */ + } else if (strchr(src, '.') != NULL) { + if (inet_aton(src, &cmd->ip4) != 1) + errx(EX_USAGE, "invalid dotted-quad mask provided"); + switch (ltype) { + case LOOKUP_SRC_IP4: + case LOOKUP_DST_IP4: + return; + } + cmd->u32 = ntohl(cmd->u32); + return; + } + cmd->u32 = strtoul(src, NULL, 0); +} + /* * Parse arguments and assemble the microinstructions which make up a rule. * Rules are added into the 'rulebuf' and then copied in the correct order @@ -5447,13 +5553,13 @@ read_options: case TOK_LOOKUP: { /* optional mask for some LOOKUP types */ - ipfw_insn_table *c = insntod(cmd, table); + ipfw_insn_lookup *c = insntod(cmd, lookup); char *lkey; if (!av[0] || !av[1]) errx(EX_USAGE, "format: lookup argument tablenum"); - cmd->opcode = O_IP_DST_LOOKUP; + cmd->opcode = O_TABLE_LOOKUP; lkey = strsep(av, ":"); i = match_token(lookup_keys, lkey); @@ -5470,18 +5576,21 @@ read_options: case LOOKUP_DSCP: case LOOKUP_MARK: case LOOKUP_RULENUM: + case LOOKUP_SRC_MAC: + case LOOKUP_DST_MAC: + case LOOKUP_SRC_IP6: + case LOOKUP_DST_IP6: + case LOOKUP_SRC_IP4: + case LOOKUP_DST_IP4: break; default: errx(EX_USAGE, "masked lookup is not supported " "for %s", lkey); } - cmd->len |= F_INSN_SIZE(ipfw_insn_table); - c->value = strtoul(*av, NULL, 0); - if (c->value == 0) - errx(EX_USAGE, - "all-zeroes bitmask for lookup " - "is meaningless"); + cmd->len |= F_INSN_SIZE(ipfw_insn_lookup); + IPFW_SET_LOOKUP_MASKING(cmd, 1); + get_lookup_bitmask(i, c, *av); } else { cmd->len |= F_INSN_SIZE(ipfw_insn_kidx); } diff --git a/sbin/ipfw/tests/test_add_rule.py b/sbin/ipfw/tests/test_add_rule.py index c2c4bf0b360c..4360c5f87c15 100755 --- a/sbin/ipfw/tests/test_add_rule.py +++ b/sbin/ipfw/tests/test_add_rule.py @@ -37,7 +37,11 @@ from atf_python.sys.netpfil.ipfw.insns import InsnProto from atf_python.sys.netpfil.ipfw.insns import InsnReject from atf_python.sys.netpfil.ipfw.insns import InsnTable from atf_python.sys.netpfil.ipfw.insns import InsnU32 +from atf_python.sys.netpfil.ipfw.insns import InsnKidx +from atf_python.sys.netpfil.ipfw.insns import InsnLookup from atf_python.sys.netpfil.ipfw.insns import IpFwOpcode +from atf_python.sys.netpfil.ipfw.insn_headers import IpFwTableLookupType +from atf_python.sys.netpfil.ipfw.insn_headers import IpFwTableValueType from atf_python.sys.netpfil.ipfw.ioctl import CTlv from atf_python.sys.netpfil.ipfw.ioctl import CTlvRule from atf_python.sys.netpfil.ipfw.ioctl import IpFwTlvType @@ -153,14 +157,226 @@ class TestAddRule(BaseTest): NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), ], "insns": [ - InsnU32(IpFwOpcode.O_IP_SRC_LOOKUP, u32=1), - InsnU32(IpFwOpcode.O_IP_DST_LOOKUP, u32=2), + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnKidx(IpFwOpcode.O_IP_DST_LOOKUP, kidx=2), InsnEmpty(IpFwOpcode.O_ACCEPT), ], }, }, id="test_tables", ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup dst-ip BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_DST_IP), + ), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_no_mask", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup mark:0xf00baa1 BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_MARK, bitmask=True), + bitmask=0xf00baa1), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_u32_mask", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup src-mac:1a:2b:3c:4d:5e:6f BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_SRC_MAC, bitmask=True), + bitmask="1a:2b:3c:4d:5e:6f"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_mac_mask", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup dst-ip4:1715004 BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_DST_IP4, bitmask=True), + bitmask="60.43.26.0"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_dst_ip4_numeric", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup src-ip4:0.0.0.255 BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_SRC_IP4, bitmask=True), + bitmask="0.0.0.255"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_src_ip4_addr", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup jail:0.0.252.128 BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_JAIL, bitmask=True), + bitmask=64640), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_jail_addr", + ), + pytest.param( + { + "in": "add allow ip from table(AAA) to any lookup dst-ip6:ffff:ffff:f00:baaa:b00c:: BBB", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=2, name="BBB"), + ], + "insns": [ + InsnKidx(IpFwOpcode.O_IP_SRC_LOOKUP, kidx=1), + InsnLookup(IpFwOpcode.O_TABLE_LOOKUP, + kidx=2, + arg1=InsnLookup.compile_arg1(lookup_type=IpFwTableLookupType.LOOKUP_DST_IP6, bitmask=True), + bitmask="ffff:ffff:f00:baaa:b00c::"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_lookup_dst_ip6", + ), + pytest.param( + { + "in": "add allow ip from table(AAA,16777215) to any", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + ], + "insns": [ + InsnLookup(IpFwOpcode.O_IP_SRC_LOOKUP, + kidx=1, + arg1=InsnLookup.compile_arg1(value_type=IpFwTableValueType.TVALUE_TAG), + value=16777215), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_check_value_legacy", + ), + pytest.param( + { + "in": "add allow ip from table(AAA,nat=1231) to any", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + ], + "insns": [ + InsnLookup(IpFwOpcode.O_IP_SRC_LOOKUP, + kidx=1, + arg1=InsnLookup.compile_arg1(value_type=IpFwTableValueType.TVALUE_NAT), + value=1231), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_check_value_nat", + ), + pytest.param( + { + "in": "add allow ip from table(AAA,nh4=10.20.30.40) to any", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + ], + "insns": [ + InsnLookup(IpFwOpcode.O_IP_SRC_LOOKUP, + kidx=1, + arg1=InsnLookup.compile_arg1(value_type=IpFwTableValueType.TVALUE_NH4), + value="10.20.30.40"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_check_value_nh4", + ), + pytest.param( + { + "in": "add allow ip from table(AAA,nh6=ff02:1234:b00c::abcd) to any", + "out": { + "objs": [ + NTlv(IpFwTlvType.IPFW_TLV_TBL_NAME, idx=1, name="AAA"), + ], + "insns": [ + InsnLookup(IpFwOpcode.O_IP_SRC_LOOKUP, + kidx=1, + arg1=InsnLookup.compile_arg1(value_type=IpFwTableValueType.TVALUE_NH6), + value="ff02:1234:b00c::abcd"), + InsnEmpty(IpFwOpcode.O_ACCEPT), + ], + }, + }, + id="test_tables_check_value_nh6", + ), pytest.param( { "in": "add allow ip from any to 1.2.3.4 // test comment", @@ -183,7 +399,7 @@ class TestAddRule(BaseTest): ], "insns": [ InsnIp(IpFwOpcode.O_IP_DST, ip="1.2.3.4"), - InsnU32(IpFwOpcode.O_EXTERNAL_ACTION, u32=1), + InsnKidx(IpFwOpcode.O_EXTERNAL_ACTION, kidx=1), Insn(IpFwOpcode.O_EXTERNAL_DATA, arg1=123), ], }, @@ -192,20 +408,20 @@ class TestAddRule(BaseTest): ), pytest.param( { - "in": "add eaction ntpv6 AAA ip from any to 1.2.3.4", + "in": "add eaction nptv6 AAA ip from any to 1.2.3.4", "out": { "objs": [ - NTlv(IpFwTlvType.IPFW_TLV_EACTION, idx=1, name="ntpv6"), + NTlv(IpFwTlvType.IPFW_TLV_EACTION, idx=1, name="nptv6"), NTlv(0, idx=2, name="AAA"), ], "insns": [ InsnIp(IpFwOpcode.O_IP_DST, ip="1.2.3.4"), - InsnU32(IpFwOpcode.O_EXTERNAL_ACTION, u32=1), - InsnU32(IpFwOpcode.O_EXTERNAL_INSTANCE, u32=2), + InsnKidx(IpFwOpcode.O_EXTERNAL_ACTION, kidx=1), + InsnKidx(IpFwOpcode.O_EXTERNAL_INSTANCE, kidx=2), ], }, }, - id="test_eaction_ntp", + id="test_eaction_nptv6", ), pytest.param( { @@ -228,7 +444,7 @@ class TestAddRule(BaseTest): ], "insns": [ InsnComment(comment="test comment"), - InsnU32(IpFwOpcode.O_CHECK_STATE, u32=1), + InsnKidx(IpFwOpcode.O_CHECK_STATE, kidx=1), ], }, }, @@ -242,9 +458,9 @@ class TestAddRule(BaseTest): NTlv(IpFwTlvType.IPFW_TLV_STATE_NAME, idx=1, name="OUT"), ], "insns": [ - InsnU32(IpFwOpcode.O_PROBE_STATE, u32=1), + InsnKidx(IpFwOpcode.O_PROBE_STATE, kidx=1), Insn(IpFwOpcode.O_PROTO, arg1=6), - InsnU32(IpFwOpcode.O_KEEP_STATE, u32=1), + InsnKidx(IpFwOpcode.O_KEEP_STATE, kidx=1), InsnEmpty(IpFwOpcode.O_ACCEPT), ], }, @@ -260,7 +476,7 @@ class TestAddRule(BaseTest): ], "insns": [ Insn(IpFwOpcode.O_PROTO, arg1=6), - InsnU32(IpFwOpcode.O_KEEP_STATE, u32=1), + InsnKidx(IpFwOpcode.O_KEEP_STATE, kidx=1), InsnEmpty(IpFwOpcode.O_ACCEPT), ], }, @@ -373,6 +589,9 @@ class TestAddRule(BaseTest): pytest.param( ("skipto 42", InsnU32(IpFwOpcode.O_SKIPTO, u32=42)), id="skipto_42" ), + pytest.param( + ("skipto 4200", InsnU32(IpFwOpcode.O_SKIPTO, u32=4200)), id="skipto_4200" + ), pytest.param( ("netgraph 42", Insn(IpFwOpcode.O_NETGRAPH, arg1=42)), id="netgraph_42" ), diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h index 51e68c310915..1c5bc9517c0f 100644 --- a/sys/netinet/ip_fw.h +++ b/sys/netinet/ip_fw.h @@ -216,8 +216,8 @@ enum ipfw_opcodes { /* arguments (4 byte each) */ O_VERREVPATH = 36, /* none */ O_VERSRCREACH = 37, /* none */ - O_PROBE_STATE = 38, /* v0:arg1=kidx, v1:kidx=kidx */ - O_KEEP_STATE = 39, /* v0:arg1=kidx, v1:kidx=kidx */ + O_PROBE_STATE = 38, /* kidx=kidx */ + O_KEEP_STATE = 39, /* kidx=kidx */ O_LIMIT = 40, /* ipfw_insn_limit */ O_LIMIT_PARENT = 41, /* dyn_type, not an opcode. */ @@ -228,13 +228,12 @@ enum ipfw_opcodes { /* arguments (4 byte each) */ O_LOG = 42, /* ipfw_insn_log */ O_PROB = 43, /* u32 = match probability */ - O_CHECK_STATE = 44, /* v0:arg1=kidx, v1:kidx=kidx */ + O_CHECK_STATE = 44, /* kidx=kidx */ O_ACCEPT = 45, /* none */ O_DENY = 46, /* none */ O_REJECT = 47, /* arg1=icmp arg (same as deny) */ O_COUNT = 48, /* none */ - O_SKIPTO = 49, /* v0:arg1=next rule number */ - /* v1:kidx= next rule number */ + O_SKIPTO = 49, /* u32= next rule number */ O_PIPE = 50, /* arg1=pipe number */ O_QUEUE = 51, /* arg1=queue number */ O_DIVERT = 52, /* arg1=port number */ @@ -248,10 +247,12 @@ enum ipfw_opcodes { /* arguments (4 byte each) */ * More opcodes. */ O_IPSEC = 58, /* has ipsec history */ - O_IP_SRC_LOOKUP = 59, /* v0:arg1=table number, u32=value */ - /* v1:kidx=name, u32=value, arg1=key */ - O_IP_DST_LOOKUP = 60, /* arg1=table number, u32=value */ - /* v1:kidx=name, u32=value, arg1=key */ + O_IP_SRC_LOOKUP = 59, /* kidx=name */ + /* lookup: kidx=name, arg1=key */ + /* and flags, bitmask */ + O_IP_DST_LOOKUP = 60, /* kidx=name */ + /* lookup: kidx=name, arg1=key */ + /* and flags, bitmask */ O_ANTISPOOF = 61, /* none */ O_JAIL = 62, /* u32 = id */ O_ALTQ = 63, /* u32 = altq classif. qid */ *** 1427 LINES SKIPPED *** From nobody Tue Mar 24 10:38:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62816Dtz6WTlL for ; Tue, 24 Mar 2026 10: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6276wHJz3sDT for ; Tue, 24 Mar 2026 10: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=1774348688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9j+v4XY1nyulPEBR7VLF5qE5sZODB1wbH0pliS946QU=; b=xQNqKYBHTdRr4NEJdlsE0KqpfZPOo0inj4TtmOq9Lf0inU6+mk8MdTukz6pnGDvzNrjKUM LNxGwush894tSm+K81cpMT1EhvzLk3UFPCNC/qgixMS+bCoy//74+8ziujv7urYexXnd/u VGaYC58EJMJtjvJnUyVuRnJ6oq/TMCx30tLoNMdTWqFR/T9z5So/6vTvdQ/xUU6tlwFpkZ UZ3XtcaXoqbTyBmtYId2SiHLIiuwV4Mq9A71kg2N0AdT/bGuuQHXxz6dHUh/X0incXYUwL hhHU9fg5n2sPaKdFcZAYZF+U2WasDevX7AYE8Hk/H+Ni8hDL8/ATz07UEu5eKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348688; a=rsa-sha256; cv=none; b=Mc4fmVLR8x6UBKEDoaG0uJSl46hAu6oaz6tNWcSySFHsNq7O+VhmaXLppkLnsw5p44v1wX OoEJR5Z3vvxDDmhfVZJalzZYo/EsI+r+W0CQXUlcZeIdGRqZUE04/yYFY9Y7oPSaUcze9R Pr5S1aFk3+JOSGYl31j0cWvipEAlAcDBwJsOtOfTt0fDcYa31n//Mqgo7MmdMLq3q2XNS0 dXjbUqM03/tkv8oiftPxvGT1zRWDkXm3pJpEt3XaMH3rVqQSekT4pI670zFk8f5rIxgoeW lRGNQriM4IDaerWYdqCeXpf5mMjFuZkeABU++kpBQYso3hpNDu9Fz5Dg12Mg1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9j+v4XY1nyulPEBR7VLF5qE5sZODB1wbH0pliS946QU=; b=mrF0YTzcHUKzdEgKg+T14Xzim0CQ/1yPiHKSLbUIaMaYMt2inLU09Izzqy6YfDwI1RNbKh Mfh+AZm/yvXQVwXZiCzM/2j6MRqZAVImxleNp5WLQLq55juuV49TDZ2PoSNopUSrzXtQjx ni7dsEzfHJErrJWPcDEI4KIIYERSZ27gzA1AgNsTBdWlNGdGsubw6AksFfvjqeB3fZa53l gOfM5jW9IfsVnfFVc17B9mhmAR51/AFxPMMN7bh2SJdzmfBUE4yguQq8VPUpP+0k9upVEn +V2ESWzaLqz34VRgLvUrzw9r1iHUZ81dJl/scvpHZquPIOqg0FckT0ZxX63Lew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6276DSszVV for ; Tue, 24 Mar 2026 10:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34504 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 6ad94d549eb2 - main - libpmc/pmu-events: Add support for new json fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ad94d549eb2286d791abd5634400d8ef36d8259 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:07 +0000 Message-Id: <69c2698f.34504.59dddf1c@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=6ad94d549eb2286d791abd5634400d8ef36d8259 commit 6ad94d549eb2286d791abd5634400d8ef36d8259 Author: Bojan Novković AuthorDate: 2026-03-21 14:37:44 +0000 Commit: Bojan Novković CommitDate: 2026-03-24 10:34:12 +0000 libpmc/pmu-events: Add support for new json fields This change adds support for three new Intel fields to jevents.c: - MetricThreshold - MetricgroupNoGroup - DefaultMetricgroupName Reviewed by: ali_mashtizadeh.com, mhorne Differential Revision: https://reviews.freebsd.org/D56017 MFC after: 1 week --- lib/libpmc/pmu-events/jevents.c | 24 ++++++++++++++++++++++++ lib/libpmc/pmu-events/pmu-events.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c index b129b3706832..facec3361c70 100644 --- a/lib/libpmc/pmu-events/jevents.c +++ b/lib/libpmc/pmu-events/jevents.c @@ -71,8 +71,11 @@ struct json_event { char *perpkg; char *aggr_mode; char *metric_expr; + char *metric_threshold; char *metric_name; char *metric_group; + char *metric_group_nogroup; + char *default_metric_group; char *deprecated; char *metric_constraint; }; @@ -379,10 +382,16 @@ static int print_events_table_entry(void *data, struct json_event *je) fprintf(outfp, "\t.aggr_mode = \"%d\",\n", convert(je->aggr_mode)); if (je->metric_expr) fprintf(outfp, "\t.metric_expr = \"%s\",\n", je->metric_expr); + if (je->metric_threshold) + fprintf(outfp, "\t.metric_threshold = \"%s\",\n", je->metric_threshold); if (je->metric_name) fprintf(outfp, "\t.metric_name = \"%s\",\n", je->metric_name); if (je->metric_group) fprintf(outfp, "\t.metric_group = \"%s\",\n", je->metric_group); + if (je->metric_group_nogroup) + fprintf(outfp, "\t.metric_group_nogroup = \"%s\",\n", je->metric_group_nogroup); + if (je->default_metric_group) + fprintf(outfp, "\t.default_metric_group = \"%s\",\n", je->default_metric_group); if (je->deprecated) fprintf(outfp, "\t.deprecated = \"%s\",\n", je->deprecated); if (je->metric_constraint) @@ -404,8 +413,11 @@ struct event_struct { char *perpkg; char *aggr_mode; char *metric_expr; + char *metric_threshold; char *metric_name; char *metric_group; + char *metric_group_nogroup; + char *default_metric_group; char *deprecated; char *metric_constraint; }; @@ -434,8 +446,11 @@ struct event_struct { op(perpkg); \ op(aggr_mode); \ op(metric_expr); \ + op(metric_threshold); \ op(metric_name); \ op(metric_group); \ + op(metric_group_nogroup); \ + op(default_metric_group); \ op(deprecated); \ } while (0) @@ -711,10 +726,16 @@ static int json_events(const char *fn, addfield(map, &je.metric_name, "", "", val); } else if (json_streq(map, field, "MetricGroup")) { addfield(map, &je.metric_group, "", "", val); + } else if (json_streq(map, field, "MetricgroupNoGroup")) { + addfield(map, &je.metric_group_nogroup, "", "", val); + } else if (json_streq(map, field, "DefaultMetricgroupName")) { + addfield(map, &je.default_metric_group, "", "", val); } else if (json_streq(map, field, "MetricConstraint")) { addfield(map, &je.metric_constraint, "", "", val); } else if (json_streq(map, field, "MetricExpr")) { addfield(map, &je.metric_expr, "", "", val); + } else if (json_streq(map, field, "MetricThreshold")) { + addfield(map, &je.metric_threshold, "", "", val); } else if (json_streq(map, field, "ArchStdEvent")) { addfield(map, &arch_std, "", "", val); for (s = arch_std; *s; s++) @@ -866,8 +887,11 @@ free_strings: free(je.deprecated); free(je.unit); free(je.metric_expr); + free(je.metric_threshold); free(je.metric_name); free(je.metric_group); + free(je.metric_group_nogroup); + free(je.default_metric_group); free(je.metric_constraint); free(arch_std); diff --git a/lib/libpmc/pmu-events/pmu-events.h b/lib/libpmc/pmu-events/pmu-events.h index d9edbfba7ceb..1a158a5f16f2 100644 --- a/lib/libpmc/pmu-events/pmu-events.h +++ b/lib/libpmc/pmu-events/pmu-events.h @@ -24,8 +24,11 @@ struct pmu_event { const char *perpkg; const char *aggr_mode; const char *metric_expr; + const char *metric_threshold; const char *metric_name; const char *metric_group; + const char *metric_group_nogroup; + const char *default_metric_group; const char *deprecated; const char *metric_constraint; }; From nobody Tue Mar 24 10:38:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62923hQz6WTQ3 for ; Tue, 24 Mar 2026 10:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6290SCYz3sMq for ; Tue, 24 Mar 2026 10:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vcqo5/xMiaWNYCl/XN9gfQxOuR4HgCfIAAqjT9wNq+0=; b=AxIZJOov0vzjPOnmqoBsnqHA8p2hUU3YAL3+Kta4jghhmfofRCe13j3fRIsxJNRfDIykjr j+QPWEZ9BmdXgNV4+dWmLfBXRrAUpS1hWQvfyuhAlAelvVKBEhnd2qmnrZJkngWhtcKRz5 VT9hM3w46oaLiSd4fL0bhw+gQOLdZPM7fHpFQhWDYnP6Hy1JVtnCDEzN/Q6+CVmh9ZeoBj 0nZWDuFHWpS/Zx+xetogsaIbOjpV1Q9TRoG6un18gmkL629lHxtrTK+Grjb/3gVZt9HMCD SjcTrnLrns0fDs2RTjGKpF9wbpo0Z0/3mhePiILmrLHMxrvBapg/837vry178g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348689; a=rsa-sha256; cv=none; b=gIpl/zAnIYaB2Q0sq+oUT5qK/V/SO59duK94ZWm6OfTXBoaBiwhDNeLynYfLGlGssNoSdi 2/CvKIAtZ+0rB99camuGkD5QdZQXuBHUPEoTkMwzPGstIcgbdHefTX9BHZvZuqvliQchZa ewOGZI+x3Z/WeJCEx5FCtdAIdhVG1JjGp/9sJIbg9S2nK/10tm0ozpPW3HzqZYtgL9tdZY awhZtsfqXLA+zNCNfFurwoughwxfFD6XYQR0DDpXiUeCdkJ+nGVWwJH368t5qIQeytb9UR Bs+8z8JV0e39pqkaoKCpgYbg/ou6s1+ufi1tjTu126RUvU1IvdI7vgl8BFWnMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vcqo5/xMiaWNYCl/XN9gfQxOuR4HgCfIAAqjT9wNq+0=; b=jmKLBofvC0534Qvmh8G95rdkNikG+Hm+kzFyJEsjpAARDYmiuAivm7AI4tWj7Vcj40BJtp cF8ZOZFStdU4Ucxj+P3Qr/Rg6DXllVZ++MGbJpV4zdDOkrmS15fck4cq9dlWwqrDXppwPt c84FNgLPEnT4lQQSXGcG1X1obRvwengrk6TcWZKKFo+S5KflVTC8FgPqviAyszP5AcKKtG FaGUSEEn0YdU8mC+5DLarMuN7SnadrEe3eI+iJOi1PaupoS5xeqgkOYOF/PrcXdxTp2ZC4 bBZ9b21PlvBn5ra5KvqwDcO4MxLdlzgYftKX5gBD28A9ZK8upWNeoJCU60bfuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62900bQzmw for ; Tue, 24 Mar 2026 10:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 336a7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: c09ccfc2665b - main - libc/db: Remove unused hash functions in hash_func.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: c09ccfc2665bef0d81d1db4e3713e4f2a0b5a064 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:08 +0000 Message-Id: <69c26990.336a7.5610b64d@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=c09ccfc2665bef0d81d1db4e3713e4f2a0b5a064 commit c09ccfc2665bef0d81d1db4e3713e4f2a0b5a064 Author: Bojan Novković AuthorDate: 2026-03-13 11:03:26 +0000 Commit: Bojan Novković CommitDate: 2026-03-24 10:34:55 +0000 libc/db: Remove unused hash functions in hash_func.c Prune unused code hidden behind 'notdef', bringing us in sync with the changes in OpenBSD. Despite the `__default_hash` function pointer having external linkage, no ABI change is expected since it was never exported. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55842 Reviewed by: allanjude, des MFC after: 2 weeks --- lib/libc/db/hash/extern.h | 2 +- lib/libc/db/hash/hash_func.c | 107 +------------------------------------------ 2 files changed, 2 insertions(+), 107 deletions(-) diff --git a/lib/libc/db/hash/extern.h b/lib/libc/db/hash/extern.h index d3850752ad3a..690219d30606 100644 --- a/lib/libc/db/hash/extern.h +++ b/lib/libc/db/hash/extern.h @@ -54,7 +54,7 @@ void __reclaim_buf(HTAB *, BUFHEAD *); int __split_page(HTAB *, u_int32_t, u_int32_t); /* Default hash routine. */ -extern u_int32_t (*__default_hash)(const void *, size_t); +u_int32_t __default_hash(const void *, size_t); #ifdef HASH_STATISTICS extern int hash_accesses, hash_collisions, hash_expansions, hash_overflows; diff --git a/lib/libc/db/hash/hash_func.c b/lib/libc/db/hash/hash_func.c index 529180b7698d..29597a04d3c0 100644 --- a/lib/libc/db/hash/hash_func.c +++ b/lib/libc/db/hash/hash_func.c @@ -39,114 +39,9 @@ #include "page.h" #include "extern.h" -#ifdef notdef -static u_int32_t hash1(const void *, size_t) __unused; -static u_int32_t hash2(const void *, size_t) __unused; -static u_int32_t hash3(const void *, size_t) __unused; -#endif -static u_int32_t hash4(const void *, size_t); - -/* Default hash function. */ -u_int32_t (*__default_hash)(const void *, size_t) = hash4; - -#ifdef notdef -/* - * Assume that we've already split the bucket to which this key hashes, - * calculate that bucket, and check that in fact we did already split it. - * - * EJB's original hsearch hash. - */ -#define PRIME1 37 -#define PRIME2 1048583 - -u_int32_t -hash1(const void *key, size_t len) -{ - u_int32_t h; - u_int8_t *k; - - h = 0; - k = (u_int8_t *)key; - /* Convert string to integer */ - while (len--) - h = h * PRIME1 ^ (*k++ - ' '); - h %= PRIME2; - return (h); -} - -/* - * Phong Vo's linear congruential hash - */ -#define dcharhash(h, c) ((h) = 0x63c63cd9*(h) + 0x9c39c33d + (c)) - -u_int32_t -hash2(const void *key, size_t len) -{ - u_int32_t h; - u_int8_t *e, c, *k; - - k = (u_int8_t *)key; - e = k + len; - for (h = 0; k != e;) { - c = *k++; - if (!c && k > e) - break; - dcharhash(h, c); - } - return (h); -} - -/* - * This is INCREDIBLY ugly, but fast. We break the string up into 8 byte - * units. On the first time through the loop we get the "leftover bytes" - * (strlen % 8). On every other iteration, we perform 8 HASHC's so we handle - * all 8 bytes. Essentially, this saves us 7 cmp & branch instructions. If - * this routine is heavily used enough, it's worth the ugly coding. - * - * Ozan Yigit's original sdbm hash. - */ -u_int32_t -hash3(const void *key, size_t len) -{ - u_int32_t n, loop; - u_int8_t *k; - -#define HASHC n = *k++ + 65599 * n - - n = 0; - k = (u_int8_t *)key; - if (len > 0) { - loop = (len + 8 - 1) >> 3; - - switch (len & (8 - 1)) { - case 0: - do { /* All fall throughs */ - HASHC; - case 7: - HASHC; - case 6: - HASHC; - case 5: - HASHC; - case 4: - HASHC; - case 3: - HASHC; - case 2: - HASHC; - case 1: - HASHC; - } while (--loop); - } - - } - return (n); -} -#endif /* notdef */ - /* Chris Torek's hash function. */ u_int32_t -hash4(const void *key, size_t len) +__default_hash(const void *key, size_t len) { u_int32_t h, loop; const u_int8_t *k; From nobody Tue Mar 24 10:38:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62D2btxz6WTqV for ; Tue, 24 Mar 2026 10:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62C758Gz3sbk for ; Tue, 24 Mar 2026 10:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZ7kffC+Ik11nTP33Dnmk2DCDleLLDD4Ohu/pdOBYs0=; b=K15dVVIZEU+LGC4bR+B+8eeVeHzPB2zJBjh17LIA8lNc9O5PxYVzLp6aLh84lFr65O3+m1 jorIaQMuWkTRafv3onlDe4x9anTy/Fl2xkSHzhYyKcYQaiGR8vt2RpZ3y14OVn5lAixNqo aF+3Ps9fnTJ2bhXCMlFHHRkmcs44YZuzPJ0oA/gpeo5Q38GPCN70WQI5JWxImHJTs0Hscp c6PdDDdTGnoYV09Yu+MefKuPz6bJSDQHk37A7WBiQcO819C9xyMMbDalAMPuk1nkswgylq Y8PKsBfKsTec316CJWWW5XIvBHMp+HWl9NLebvEpfRdavt10GqfiJFSTzTvJgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348692; a=rsa-sha256; cv=none; b=JHcAPTPdYdIpUm87/bcXeMggFUM3Irq8+3D0rf/v2v0trMSSCVi84FhBWkq3IPDpokmdMP RYdMgEGSC7C72trdA3tnMJSJFGQk/29n4Sojpxvh3qA0pl7dmGhs+K4rBnSCACYBFobvu2 bVqPQwhcfykKhhn9wKYTVQv2uzQ9eEznLEGqVdlI4/JH9bvkwVz30o+eTqyMxz0ANx4JVr BKUj/KPalJyk4ddFjOh8lqbDvostM4eaViVMVxlg/LR7qP14JU+tzZE3R5l/ztb8K407ND 29yncvoluQ7A2nfZoBodGwAsoYegx3u7u8NwfxFD524JnX0hpb4D5FLXjIXc5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZ7kffC+Ik11nTP33Dnmk2DCDleLLDD4Ohu/pdOBYs0=; b=Mxq0lUm0ugpE5ayoK2g/LCwL296WoQv5RHN273u7v9n91UDj0O8jhn+OeSr0hlUMkViGbn ipEkFyVMvlYQQ5RkYmnQXtjBy2U4V4Lm1lilhzEulZS5k8jGnkGbeSe5gBUfQMs9WCqZnu 6dwGk1vQrZCpkt4T12hx6Tbc85A6RW/6fYE4W0pm0/RD6r1//WrzcRt6zVpnU1N++qlC8W RS0Rsf6yoCuDlf59/gevpGhIZ19TJXjW85X+2zMkPE6mRmOgK1/TfTUc6zxtnqk/VOU/Qa oWmaojUXqNiDrhAYebD/1aAMOL5iRT3srA/52kS3O4LrwNSKZuUXVvZJyg7Dow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62C5pHLzVW for ; Tue, 24 Mar 2026 10:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33cbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: cb9e24221672 - main - pmc: Import Intel Meteor Lake events List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb9e24221672a7f77c858518c292c1eac09b3740 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:06 +0000 Message-Id: <69c2698e.33cbe.4b7aa0b5@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=cb9e24221672a7f77c858518c292c1eac09b3740 commit cb9e24221672a7f77c858518c292c1eac09b3740 Author: Bojan Novković AuthorDate: 2026-03-02 21:45:11 +0000 Commit: Bojan Novković CommitDate: 2026-03-24 10:33:01 +0000 pmc: Import Intel Meteor Lake events Obtained from: Intel perfmon (JSON event definitions) Tested by: bms, olivier MFC after: 1 week Reviewed by: ali_mashtizadeh.com, mhorne Differential Revision: https://reviews.freebsd.org/D55641 --- lib/libpmc/pmu-events/arch/x86/mapfile.csv | 3 + .../pmu-events/arch/x86/meteorlake/cache.json | 1733 ++++++++++++ .../arch/x86/meteorlake/floating-point.json | 368 +++ .../pmu-events/arch/x86/meteorlake/frontend.json | 623 +++++ .../pmu-events/arch/x86/meteorlake/memory.json | 499 ++++ .../arch/x86/meteorlake/mtl-metrics.json | 2825 ++++++++++++++++++++ .../pmu-events/arch/x86/meteorlake/other.json | 90 + .../pmu-events/arch/x86/meteorlake/pipeline.json | 2096 +++++++++++++++ .../arch/x86/meteorlake/uncore-cache.json | 20 + .../arch/x86/meteorlake/uncore-interconnect.json | 66 + .../arch/x86/meteorlake/uncore-memory.json | 160 ++ .../arch/x86/meteorlake/uncore-other.json | 10 + .../arch/x86/meteorlake/virtual-memory.json | 377 +++ sys/dev/hwpmc/hwpmc_intel.c | 6 + sys/sys/pmc.h | 1 + 15 files changed, 8877 insertions(+) diff --git a/lib/libpmc/pmu-events/arch/x86/mapfile.csv b/lib/libpmc/pmu-events/arch/x86/mapfile.csv index f2211e1e1753..40e859b25f19 100644 --- a/lib/libpmc/pmu-events/arch/x86/mapfile.csv +++ b/lib/libpmc/pmu-events/arch/x86/mapfile.csv @@ -52,6 +52,9 @@ GenuineIntel-6-BA,v1,alderlake,core GenuineIntel-6-BF,v1,alderlake,core GenuineIntel-6-8F,v1,sapphirerapids,core GenuineIntel-6-BE,v1,alderlaken,core +GenuineIntel-6-AA,v1,meteorlake,core +GenuineIntel-6-AC,v1,meteorlake,core +GenuineIntel-6-B5,v1,meteorlake,core AuthenticAMD-23-[012][0-9A-F],v2,amdzen1,core AuthenticAMD-23-[[:xdigit:]]+,v1,amdzen2,core AuthenticAMD-25-[0245][[:xdigit:]],v1,amdzen3,core diff --git a/lib/libpmc/pmu-events/arch/x86/meteorlake/cache.json b/lib/libpmc/pmu-events/arch/x86/meteorlake/cache.json new file mode 100644 index 000000000000..6419bc36f249 --- /dev/null +++ b/lib/libpmc/pmu-events/arch/x86/meteorlake/cache.json @@ -0,0 +1,1733 @@ +[ + { + "BriefDescription": "Counts the number of request that were not accepted into the L2Q because the L2Q is FULL.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x31", + "EventName": "CORE_REJECT_L2Q.ANY", + "PublicDescription": "Counts the number of (demand and L1 prefetchers) core requests rejected by the L2Q due to a full or nearly full w condition which likely indicates back pressure from L2Q. It also counts requests that would have gone directly to the XQ, but are rejected due to a full or nearly full condition, indicating back pressure from the IDI link. The L2Q may also reject transactions from a core to insure fairness between cores, or to delay a cores dirty eviction when the address conflicts incoming external snoops. (Note that L2 prefetcher requests that are dropped are not counted by this event.) Counts on a per core basis.", + "SampleAfterValue": "200003", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of L1D cacheline (dirty) evictions caused by load misses, stores, and prefetches.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x51", + "EventName": "DL1.DIRTY_EVICTION", + "PublicDescription": "Counts the number of L1D cacheline (dirty) evictions caused by load misses, stores, and prefetches. Does not count evictions or dirty writebacks caused by snoops. Does not count a replacement unless a (dirty) line was written back.", + "SampleAfterValue": "200003", + "UMask": "0x1", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "L1D.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.HWPF_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x20", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of cache lines replaced in L1 data cache.", + "Counter": "0,1,2,3", + "EventCode": "0x51", + "EventName": "L1D.REPLACEMENT", + "PublicDescription": "Counts L1D data line replacements including opportunistic replacements, and replacements that require stall-for-replace or block-for-replace.", + "SampleAfterValue": "100003", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EdgeDetect": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.FB_FULL_PERIODS", + "PublicDescription": "Counts number of phases a demand request has waited due to L1D Fill Buffer (FB) unavailability. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Number of cycles a demand request has waited due to L1D due to lack of L2 resources.", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.L2_STALLS", + "PublicDescription": "Counts number of cycles a demand request has waited due to L1D due to lack of L2 resources. Demand requests include cacheable/uncacheable demand load, store, lock or SW prefetch accesses.", + "SampleAfterValue": "1000003", + "UMask": "0x4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Number of L1D misses that are outstanding", + "Counter": "0,1,2,3", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING", + "PublicDescription": "Counts number of L1D misses that are outstanding in each cycle, that is each cycle the number of Fill Buffers (FB) outstanding required by Demand Reads. FB either is held by demand loads, or it is held by non-demand loads and gets hit at least once by demand. The valid outstanding interval is defined until the FB deallocation by one of the following ways: from FB allocation, if FB is allocated by demand from the demand Hit FB, if it is allocated by hardware or software prefetch. Note: In the L1D, a Demand Read contains cacheable or noncacheable demand loads, including ones causing cache-line splits and reads due to page walks resulted from any request type.", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Cycles with L1D load Misses outstanding.", + "Counter": "0,1,2,3", + "CounterMask": "1", + "EventCode": "0x48", + "EventName": "L1D_PEND_MISS.PENDING_CYCLES", + "PublicDescription": "Counts duration of L1D miss outstanding in cycles.", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2 cache lines filling L2", + "Counter": "0,1,2,3", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.ALL", + "PublicDescription": "Counts the number of L2 cache lines filling the L2. Counting does not cover rejects.", + "SampleAfterValue": "100003", + "UMask": "0x1f", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of cache lines filled into the L2 cache that are in Exclusive state", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.E", + "PublicDescription": "Counts the number of cache lines filled into the L2 cache that are in Exclusive state. Counts on a per core basis.", + "SampleAfterValue": "1000003", + "UMask": "0x4", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cache lines filled into the L2 cache that are in Forward state", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.F", + "PublicDescription": "Counts the number of cache lines filled into the L2 cache that are in Forward state. Counts on a per core basis.", + "SampleAfterValue": "1000003", + "UMask": "0x10", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cache lines filled into the L2 cache that are in Modified state", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.M", + "PublicDescription": "Counts the number of cache lines filled into the L2 cache that are in Modified state. Counts on a per core basis.", + "SampleAfterValue": "1000003", + "UMask": "0x8", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cache lines filled into the L2 cache that are in Shared state", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x25", + "EventName": "L2_LINES_IN.S", + "PublicDescription": "Counts the number of cache lines filled into the L2 cache that are in Shared state. Counts on a per core basis.", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of L2 cache lines that are evicted due to an L2 cache fill", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.NON_SILENT", + "PublicDescription": "Counts the number of L2 cache lines that are evicted due to an L2 cache fill. Increments on the core that brought the line in originally.", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Modified cache lines that are evicted by L2 cache when triggered by an L2 cache fill.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.NON_SILENT", + "PublicDescription": "Counts the number of lines that are evicted by L2 cache when triggered by an L2 cache fill. Those lines are in Modified state. Modified lines are written back to L3", + "SampleAfterValue": "200003", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of L2 cache lines that are silently dropped due to an L2 cache fill", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.SILENT", + "PublicDescription": "Counts the number of L2 cache lines that are silently dropped due to an L2 cache fill. Increments on the core that brought the line in originally.", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Non-modified cache lines that are silently dropped by L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.SILENT", + "PublicDescription": "Counts the number of lines that are silently dropped by L2 cache. These lines are typically in Shared or Exclusive state. A non-threaded event.", + "SampleAfterValue": "200003", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Cache lines that have been L2 hardware prefetched but not used by demand accesses", + "Counter": "0,1,2,3", + "EventCode": "0x26", + "EventName": "L2_LINES_OUT.USELESS_HWPF", + "PublicDescription": "Counts the number of cache lines that have been prefetched by the L2 hardware prefetcher but not used by demand access when evicted from the L2 cache", + "SampleAfterValue": "200003", + "UMask": "0x4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of demand and prefetch transactions that the External Queue (XQ) rejects due to a full or near full condition.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x30", + "EventName": "L2_REJECT_XQ.ANY", + "PublicDescription": "Counts the number of demand and prefetch transactions that the External Queue (XQ) rejects due to a full or near full condition which likely indicates back pressure from the IDI link. The XQ may reject transactions from the L2Q (non-cacheable requests), BBL (L2 misses) and WOB (L2 write-back victims).", + "SampleAfterValue": "200003", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_RQSTS.REFERENCES]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.ALL", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.REFERENCES]", + "SampleAfterValue": "200003", + "UMask": "0xff", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of L2 Cache Accesses that resulted in a Hit from a front door request only (does not include rejects or recycles), per core event", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x24", + "EventName": "L2_REQUEST.HIT", + "SampleAfterValue": "200003", + "UMask": "0x2", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_RQSTS.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of total L2 Cache Accesses that resulted in a Miss from a front door request only (does not include rejects or recycles), per core event", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x24", + "EventName": "L2_REQUEST.MISS", + "SampleAfterValue": "200003", + "UMask": "0x1", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_RQSTS.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_REQUEST.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_RQSTS.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of L2 Cache Accesses that miss the L2 and get BBL reject short and long rejects, per core event", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x24", + "EventName": "L2_REQUEST.REJECTS", + "SampleAfterValue": "200003", + "UMask": "0x4", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "L2 code requests", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_CODE_RD", + "PublicDescription": "Counts the total number of L2 code requests.", + "SampleAfterValue": "200003", + "UMask": "0xe4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Demand Data Read access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_DATA_RD", + "PublicDescription": "Counts Demand Data Read requests accessing the L2 cache. These requests may hit or miss L2 cache. True-miss exclude misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0xe1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Demand requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_MISS", + "PublicDescription": "Counts demand requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x27", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Demand requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_DEMAND_REFERENCES", + "PublicDescription": "Counts demand requests to L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xe7", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2_RQSTS.ALL_HWPF", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_HWPF", + "SampleAfterValue": "200003", + "UMask": "0xf0", + "Unit": "cpu_core" + }, + { + "BriefDescription": "RFO requests to L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.ALL_RFO", + "PublicDescription": "Counts the total number of RFO (read for ownership) requests to L2 cache. L2 RFO requests include both L1D demand RFO misses as well as L1D RFO prefetches.", + "SampleAfterValue": "200003", + "UMask": "0xe2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2 cache hits when fetching instructions, code reads.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_HIT", + "PublicDescription": "Counts L2 cache hits when fetching instructions, code reads.", + "SampleAfterValue": "200003", + "UMask": "0xc4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2 cache misses when fetching instructions", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.CODE_RD_MISS", + "PublicDescription": "Counts L2 cache misses when fetching instructions.", + "SampleAfterValue": "200003", + "UMask": "0x24", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Demand Data Read requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_HIT", + "PublicDescription": "Counts the number of demand Data Read requests initiated by load instructions that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Demand Data Read miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.DEMAND_DATA_RD_MISS", + "PublicDescription": "Counts demand Data Read requests with true-miss in the L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. An access is counted once.", + "SampleAfterValue": "200003", + "UMask": "0x21", + "Unit": "cpu_core" + }, + { + "BriefDescription": "All requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HIT", + "PublicDescription": "Counts all requests that hit L2 cache. [This event is alias to L2_REQUEST.HIT]", + "SampleAfterValue": "200003", + "UMask": "0xdf", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2_RQSTS.HWPF_MISS", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.HWPF_MISS", + "SampleAfterValue": "200003", + "UMask": "0x30", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Read requests with true-miss in L2 cache [This event is alias to L2_REQUEST.MISS]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.MISS", + "PublicDescription": "Counts read requests of any type with true-miss in the L2 cache. True-miss excludes L2 misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.MISS]", + "SampleAfterValue": "200003", + "UMask": "0x3f", + "Unit": "cpu_core" + }, + { + "BriefDescription": "All accesses to L2 cache [This event is alias to L2_REQUEST.ALL]", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.REFERENCES", + "PublicDescription": "Counts all requests that were hit or true misses in L2 cache. True-miss excludes misses that were merged with ongoing L2 misses. [This event is alias to L2_REQUEST.ALL]", + "SampleAfterValue": "200003", + "UMask": "0xff", + "Unit": "cpu_core" + }, + { + "BriefDescription": "RFO requests that hit L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_HIT", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that hit L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0xc2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "RFO requests that miss L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.RFO_MISS", + "PublicDescription": "Counts the RFO (Read-for-Ownership) requests that miss L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x22", + "Unit": "cpu_core" + }, + { + "BriefDescription": "SW prefetch requests that hit L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_HIT", + "PublicDescription": "Counts Software prefetch requests that hit the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0xc8", + "Unit": "cpu_core" + }, + { + "BriefDescription": "SW prefetch requests that miss L2 cache.", + "Counter": "0,1,2,3", + "EventCode": "0x24", + "EventName": "L2_RQSTS.SWPF_MISS", + "PublicDescription": "Counts Software prefetch requests that miss the L2 cache. Accounts for PREFETCHNTA and PREFETCHT0/1/2 instructions when FB is not full.", + "SampleAfterValue": "200003", + "UMask": "0x28", + "Unit": "cpu_core" + }, + { + "BriefDescription": "L2 writebacks that access L2 cache", + "Counter": "0,1,2,3", + "EventCode": "0x23", + "EventName": "L2_TRANS.L2_WB", + "PublicDescription": "Counts L2 writebacks that access L2 cache.", + "SampleAfterValue": "200003", + "UMask": "0x40", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Cycles when L1D is locked", + "Counter": "0,1,2,3", + "EventCode": "0x42", + "EventName": "LOCK_CYCLES.CACHE_LOCK_DURATION", + "PublicDescription": "This event counts the number of cycles when the L1D is locked. It is a superset of the 0x1 mask (BUS_LOCK_CLOCKS.BUS_LOCK_DURATION).", + "SampleAfterValue": "2000003", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of cacheable memory requests that miss in the LLC. Counts on a per core basis.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.MISS", + "PublicDescription": "Counts the number of cacheable memory requests that miss in the Last Level Cache (LLC). Requests include demand loads, reads for ownership (RFO), instruction fetches and L1 HW prefetches. If the core has access to an L3 cache, the LLC is the L3 cache, otherwise it is the L2 cache. Counts on a per core basis.", + "SampleAfterValue": "200003", + "UMask": "0x41", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Core-originated cacheable requests that missed L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.MISS", + "PublicDescription": "Counts core-originated cacheable requests that miss the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x41", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of cacheable memory requests that access the LLC. Counts on a per core basis.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.REFERENCE", + "PublicDescription": "Counts the number of cacheable memory requests that access the Last Level Cache (LLC). Requests include demand loads, reads for ownership (RFO), instruction fetches and L1 HW prefetches. If the core has access to an L3 cache, the LLC is the L3 cache, otherwise it is the L2 cache. Counts on a per core basis.", + "SampleAfterValue": "200003", + "UMask": "0x4f", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Core-originated cacheable requests that refer to L3 (Except hardware prefetches to the L3)", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x2e", + "EventName": "LONGEST_LAT_CACHE.REFERENCE", + "PublicDescription": "Counts core-originated cacheable requests to the L3 cache (Longest Latency cache). Requests include data and code reads, Reads-for-Ownership (RFOs), speculative accesses and hardware prefetches to the L1 and L2. It does not include hardware prefetches to the L3, and may not count other types of requests to the L3.", + "SampleAfterValue": "100003", + "UMask": "0x4f", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an instruction cache or TLB miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.ALL", + "SampleAfterValue": "1000003", + "UMask": "0x7f", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cycles the core is stalled due to an instruction cache or TLB miss which hit in the L2 cache.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.L2_HIT", + "PublicDescription": "Counts the number of cycles the core is stalled due to an instruction cache or Translation Lookaside Buffer (TLB) miss which hit in the L2 cache.", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cycles the core is stalled due to an instruction cache or TLB miss which missed in the L2 cache.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.L2_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x7e", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an ICACHE or ITLB miss which hit in the LLC. If the core has access to an L3 cache, an LLC hit refers to an L3 cache hit, otherwise it counts zeros.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.LLC_HIT", + "SampleAfterValue": "1000003", + "UMask": "0x6", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an ICACHE or ITLB miss which hit in the LLC, no snoop was required. LLC provides the data. If the core has access to an L3 cache, an LLC hit refers to an L3 cache hit, otherwise it counts zeros.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.LLC_HIT_NOSNOOP", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an ICACHE or ITLB miss which missed all the caches. If the core has access to an L3 cache, an LLC miss refers to an L3 cache miss, otherwise it is an L2 cache miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.LLC_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x78", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an ICACHE or ITLB miss which missed all the caches. DRAM, MMIO or other LOCAL memory type provides the data. If the core has access to an L3 cache, an LLC miss refers to an L3 cache miss, otherwise it is an L2 cache miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x35", + "EventName": "MEM_BOUND_STALLS_IFETCH.LLC_MISS_LOCALMEM", + "SampleAfterValue": "1000003", + "UMask": "0x50", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to an L1 demand load miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.ALL", + "SampleAfterValue": "1000003", + "UMask": "0x7f", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cycles the core is stalled due to a demand load which hit in the L2 cache.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.L2_HIT", + "PublicDescription": "Counts the number of cycles a core is stalled due to a demand load which hit in the L2 cache.", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of cycles the core is stalled due to a demand load which missed in the L2 cache.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.L2_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x7e", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to a demand load miss which hit in the LLC. If the core has access to an L3 cache, an LLC hit refers to an L3 cache hit, otherwise it counts zeros.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.LLC_HIT", + "SampleAfterValue": "1000003", + "UMask": "0x6", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to a demand load miss which hit in the LLC, no snoop was required. LLC provides the data. If the core has access to an L3 cache, an LLC hit refers to an L3 cache hit, otherwise it counts zeros.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.LLC_HIT_NOSNOOP", + "SampleAfterValue": "1000003", + "UMask": "0x2", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to a demand load miss which hit in the LLC, a snoop was required, the snoop misses or the snoop hits but NO_FWD. LLC provides the data. If the core has access to an L3 cache, an LLC hit refers to an L3 cache hit, otherwise it counts zeros.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.LLC_HIT_SNOOP", + "SampleAfterValue": "1000003", + "UMask": "0x4", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled due to a demand load miss which missed all the local caches. If the core has access to an L3 cache, an LLC miss refers to an L3 cache miss, otherwise it is an L2 cache miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.LLC_MISS", + "SampleAfterValue": "1000003", + "UMask": "0x78", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled to a demand load miss and the data was provided from an unknown source. If the core has access to an L3 cache, an LLC miss refers to an L3 cache miss, otherwise it is an L2 cache miss.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.LLC_MISS_LOCALMEM", + "SampleAfterValue": "1000003", + "UMask": "0x50", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of unhalted cycles when the core is stalled to a store buffer full condition", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0x34", + "EventName": "MEM_BOUND_STALLS_LOAD.SBFULL", + "SampleAfterValue": "1000003", + "UMask": "0x80", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Retired load instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_LOADS", + "PublicDescription": "Counts all retired load instructions. This event accounts for SW prefetch instructions of PREFETCHNTA or PREFETCHT0/1/2 or PREFETCHW. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x81", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired store instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ALL_STORES", + "PublicDescription": "Counts all retired store instructions. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x82", + "Unit": "cpu_core" + }, + { + "BriefDescription": "All retired memory instructions.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.ANY", + "PublicDescription": "Counts all retired memory instructions - loads and stores. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x83", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions with locked access.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.LOCK_LOADS", + "PublicDescription": "Counts retired load instructions with locked access. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x21", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_LOADS", + "PublicDescription": "Counts retired load instructions that split across a cacheline boundary. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x41", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired store instructions that split across a cacheline boundary.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.SPLIT_STORES", + "PublicDescription": "Counts retired store instructions that split across a cacheline boundary. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x42", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_LOADS", + "PublicDescription": "Number of retired load instructions with a clean hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x9", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired store instructions that hit the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_HIT_STORES", + "PublicDescription": "Number of retired store instructions that hit in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0xa", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_LOADS", + "PublicDescription": "Number of retired load instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x11", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired store instructions that miss the STLB.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd0", + "EventName": "MEM_INST_RETIRED.STLB_MISS_STORES", + "PublicDescription": "Number of retired store instructions that (start a) miss in the 2nd-level TLB (STLB). Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x12", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Completed demand load uops that miss the L1 d-cache.", + "Counter": "0,1,2,3", + "EventCode": "0x43", + "EventName": "MEM_LOAD_COMPLETED.L1_MISS_ANY", + "PublicDescription": "Number of completed demand load requests that missed the L1 data cache including shadow misses (FB hits, merge to an ongoing L1D miss)", + "SampleAfterValue": "1000003", + "UMask": "0xfd", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions whose data sources were HitM responses from shared L3", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were HitM responses from shared L3. Available PDIST counters: 0", + "SampleAfterValue": "20011", + "UMask": "0x4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS", + "PublicDescription": "Counts the retired load instructions whose data sources were L3 hit and cross-core snoop missed in on-pkg core cache. Available PDIST counters: 0", + "SampleAfterValue": "20011", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions whose data sources were hits in L3 without snoops required", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE", + "PublicDescription": "Counts retired load instructions whose data sources were hits in L3 without snoops required. Available PDIST counters: 0", + "SampleAfterValue": "100003", + "UMask": "0x8", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd2", + "EventName": "MEM_LOAD_L3_HIT_RETIRED.XSNP_NO_FWD", + "PublicDescription": "Counts retired load instructions whose data sources were L3 and cross-core snoop hits in on-pkg core cache. Available PDIST counters: 0", + "SampleAfterValue": "20011", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions which data sources missed L3 but serviced from local dram", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd3", + "EventName": "MEM_LOAD_L3_MISS_RETIRED.LOCAL_DRAM", + "PublicDescription": "Retired load instructions which data sources missed L3 but serviced from local DRAM. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired instructions with at least 1 uncacheable load or lock.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_MISC_RETIRED.UC", + "PublicDescription": "Retired instructions with at least one load to uncacheable memory-type, or at least one cache-line split locked access (Bus Lock). Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Number of completed demand load requests that missed the L1, but hit the FB(fill buffer), because a preceding miss to the same cacheline initiated the line to be brought into L1, but data is not yet ready in L1.", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.FB_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop was load missed in L1 but hit FB (Fill Buffers) due to preceding miss to the same cache line with data not ready. Available PDIST counters: 0", + "SampleAfterValue": "100007", + "UMask": "0x40", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions with L1 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L1 data cache. This event includes all SW prefetches and lock instructions regardless of the data source. Available PDIST counters: 0", + "SampleAfterValue": "1000003", + "UMask": "0x1", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions missed L1 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L1_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L1 cache. Available PDIST counters: 0", + "SampleAfterValue": "200003", + "UMask": "0x8", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions with L2 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_HIT", + "PublicDescription": "Counts retired load instructions with L2 cache hits as data sources. Available PDIST counters: 0", + "SampleAfterValue": "200003", + "UMask": "0x2", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions missed L2 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L2_MISS", + "PublicDescription": "Counts retired load instructions missed L2 cache as data sources. Available PDIST counters: 0", + "SampleAfterValue": "100021", + "UMask": "0x10", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions with L3 cache hits as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_HIT", + "PublicDescription": "Counts retired load instructions with at least one uop that hit in the L3 cache. Available PDIST counters: 0", + "SampleAfterValue": "100021", + "UMask": "0x4", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Retired load instructions missed L3 cache as data sources", + "Counter": "0,1,2,3", + "Data_LA": "1", + "EventCode": "0xd1", + "EventName": "MEM_LOAD_RETIRED.L3_MISS", + "PublicDescription": "Counts retired load instructions with at least one uop that missed in the L3 cache. Available PDIST counters: 0", + "SampleAfterValue": "50021", + "UMask": "0x20", + "Unit": "cpu_core" + }, + { + "BriefDescription": "Counts the number of load ops retired that hit in the L3 cache in which a snoop was required and modified data was forwarded.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_UOPS_MISC_RETIRED.L3_HIT_SNOOP_HITM", + "SampleAfterValue": "1000003", + "UMask": "0x8", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of load ops retired that hit in the L3 cache in which a snoop was required and no data was forwarded.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_UOPS_MISC_RETIRED.L3_HIT_SNOOP_NO_FWD", + "SampleAfterValue": "1000003", + "UMask": "0x20", + "Unit": "cpu_atom" + }, + { + "BriefDescription": "Counts the number of load ops retired that hit in the L3 cache in which a snoop was required and non-modified data was forwarded.", + "Counter": "0,1,2,3,4,5,6,7", + "EventCode": "0xd4", + "EventName": "MEM_LOAD_UOPS_MISC_RETIRED.L3_HIT_SNOOP_WITH_FWD", + "SampleAfterValue": "1000003", + "UMask": "0x10", + "Unit": "cpu_atom" + }, *** 8030 LINES SKIPPED *** From nobody Tue Mar 24 10:38:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62w4lJcz6WTtv for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62w1XJhz3tMX for ; Tue, 24 Mar 2026 10:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upkvuEi2kWQpPJDDL9dMifi+Jcp4NlmX10vBnxuy40w=; b=E8M9KBiNwPrhFCovw5nioj7WSaj9EMsrceMHDjEFJueG+xnsOEQv6dgbttOokcalmATkZa UE2S7KqmjEsJgTWMD7LEEZLZwsZSunpTwk2guABkIW7EajewcU1IncygPjhbnkKexGop5n w/rbKfIagKQ1d5Fe2WSWJrBEMy9aY2YHEQWETokPpr3JDTxhBkuiFurxdBGzMP4FZRanFX mpvW16jtvWDg1Jf3qtzL3sbjzuN3EDeqLi5et1vGyCWfeAIlosc7boaTAU3FGUqttE1fSM 9HRQPHcKYuieRFyHzD1jGRiX38PpTwRBdxmbCJv8fa+2FTm7tuuJKxeYs0kSwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348728; a=rsa-sha256; cv=none; b=lYhVKyYXIHLbLP+qExrmZRxas/SyRYUjJ+SE/6ToP9FTW41ZwASSa456sZajhmyB4RVOfe d5FxSkpINHgeeymsP+iS5frj1MmC/a9+xDi8cRi8lvnXQuGlN6V23zF9bHX6H0g/dRUhzx i9HYfA0XYAHPceGgtbNtFxG25QHe0CaC3sZf9hAqjeWSm5d84Tqe3BFloaLhHY4lMFs2ER R2RIGYmWlgbJQC6NSmY6idPAPL9Ab7QuZkl1QbcRwZ1SDxy/U6zZxcS1bxdiq6kbZY7MRO Y7LQd3yLKoDdX9i/N4QOrmtVTfsc45qkkgp0cwveZdro33JFPycNmm97Jy0HJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upkvuEi2kWQpPJDDL9dMifi+Jcp4NlmX10vBnxuy40w=; b=cSlmEVbY9Wm/cDRB7Kq/y3sSDhG3q+z+H5MPGZG/WOw1gNh2CwHxh+GKcsyWOsXxocJo/O F3xNbRRqtZe0iMLoD+O7C7lUA2CtekndnuiBjjHBcuWJHDfJwxWUfmxwIbBLWNBTQJnpeE JVlAop85DEvy2ItBtgY8M7VgxJy7gUy3p/JnxSUMU90OK3zAt/sr1Oh9CmEt2Ldt5Us5mi 1XBZLayriiKtoAtES2Gbqe0mOk2rCp8hIFEDFLfyoLNrcBTrvtPYBVfg1IkT3LH2RRRAPq LGtyDld1dbP77Wq6W4foQDxSDiNhz2JPZEi2KxILduAyDKFE9ScUjINSSASgAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62w122jzQS for ; Tue, 24 Mar 2026 10:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 328f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: e67dbccc7004 - main - snd_uaudio: Rename umidi_probe() to umidi_attach() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e67dbccc70046a6f6d8f34c11fd01972b22920c5 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:48 +0000 Message-Id: <69c269b8.328f8.58fd435c@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=e67dbccc70046a6f6d8f34c11fd01972b22920c5 commit e67dbccc70046a6f6d8f34c11fd01972b22920c5 Author: Christos Margiolis AuthorDate: 2026-03-24 10:30:42 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:39 +0000 snd_uaudio: Rename umidi_probe() to umidi_attach() This performs an attach, not probe. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55900 --- sys/dev/sound/usb/uaudio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 7f49bae9ce5e..f0c3936a503f 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -556,7 +556,7 @@ static int umidi_open(struct usb_fifo *, int); static int umidi_ioctl(struct usb_fifo *, u_long cmd, void *, int); static void umidi_close(struct usb_fifo *, int); static void umidi_init(device_t dev); -static int umidi_probe(device_t dev); +static int umidi_attach(device_t dev); static int umidi_detach(device_t dev); static int uaudio_hid_probe(struct uaudio_softc *sc, struct usb_attach_arg *uaa); @@ -1101,7 +1101,7 @@ uaudio_attach(device_t dev) } if (sc->sc_midi_chan.valid) { - if (umidi_probe(dev)) { + if (umidi_attach(dev)) { goto detach; } device_printf(dev, "MIDI sequencer.\n"); @@ -5987,7 +5987,7 @@ static struct usb_fifo_methods umidi_fifo_methods = { }; static int -umidi_probe(device_t dev) +umidi_attach(device_t dev) { struct uaudio_softc *sc = device_get_softc(dev); struct usb_attach_arg *uaa = device_get_ivars(dev); From nobody Tue Mar 24 10:38:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62x4MhRz6WV00 for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62x24jNz3tDq for ; Tue, 24 Mar 2026 10:38:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FfKPpR+U0pe1ru82dL7a5IMPJg7uzmnxjDXcCU46ln0=; b=TX0hpfjLNhrvK0LioePTpP73vm4pM8szN4hfNMLJQDdiXNllDgGy3AgvB/TbChZcmVLPX/ /wTv+K8YoAlCTZC1Pb0zfTrxiLXk+H+YVDylKe9PkC32P6gMlNOBI3TG0Jtk7w5FjOPKC6 E0B9p7wHXrMRe4KOKwiXG7Uln+fQc4Azx7SZXc5oDHVcCwwy9BH07RNy5LkqzvoVnQiXgV ChJa9czIxfjzeATAXwol4Sr/ww4kFZfkerVMleor+H5L7ShRZQowRZciyyFh5SN2f4K7+R oUCBRnJRkv46PgAq/SstOOK63zUCXrfkX/EiZqyxxzuXKg454Av/7XAOwVJ/KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348729; a=rsa-sha256; cv=none; b=he5ouTUa1V3kEDDj0YTN9QpLFQXiY+G91skVjqjTUD4JDB6oe0kqveXWQe3JIzG5vy20A7 KhjmAk46AuCaahQX+nXUkdvxhLz9OxMBeTTeGAdkACF7C4V8SoSQkxzk9S9IhrqJIj34W/ KMdkXfrt0BI7q/dpL6GS756f3vyGMElnnzzhP9l+xePWNu2K/stu+LPjIQTadb+PvLVe1o nr7kv5biwDZydrkrKjZ5L7sZ6JKfi6x+b+atVUXmJecGaewUVCc+tuwDO3uriONid09AKp +9q1Ff2ACj3JBVn7p6hcQPVTgRnombI/al/YNWgeAhTUD4iCpNJkgkArLXLBIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FfKPpR+U0pe1ru82dL7a5IMPJg7uzmnxjDXcCU46ln0=; b=XEJbLmvYqbgUjol75br9ytBdRwOPSDZQduIUlmnzY//NHyHT6aOmbzu+3zoGbVGJy5As9c 58dupwNtmsNqCRYV/mhDwcRBEI6plsItGE8REQgNTA7hLBkUTEkUwWuneBwVkYZmVZBEdz t9aIATGkPvS1NtqCtsNKUJ5TWHShqdVJdZgLbPvi9fP1sRD5A4+4p/ILGCAb7lofW66zkA +SO6JOBL08gRo5WwzhH7GX7XtgJPnaM0/AQwSgaaSJHL67N+9kFkdmWb13Gy6H/TvnENiX KscELH8hO/hEmSGUpgspxgiuEdClwA09MZVAQjhFNyx0kLNZXnPmMUvRwL7/3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62x1h1Kzb2 for ; Tue, 24 Mar 2026 10:38:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33531 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 0a7749d9436e - main - snd_uaudio: Rename uaudio_hid_probe() to uaudio_hid_attach() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a7749d9436e111c882a16eed1531267943186b4 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:49 +0000 Message-Id: <69c269b9.33531.74e40225@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0a7749d9436e111c882a16eed1531267943186b4 commit 0a7749d9436e111c882a16eed1531267943186b4 Author: Christos Margiolis AuthorDate: 2026-03-24 10:30:51 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:39 +0000 snd_uaudio: Rename uaudio_hid_probe() to uaudio_hid_attach() This makes more sense. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/usb/uaudio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index f0c3936a503f..12e01599b200 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -558,7 +558,7 @@ static void umidi_close(struct usb_fifo *, int); static void umidi_init(device_t dev); static int umidi_attach(device_t dev); static int umidi_detach(device_t dev); -static int uaudio_hid_probe(struct uaudio_softc *sc, +static int uaudio_hid_attach(struct uaudio_softc *sc, struct usb_attach_arg *uaa); static void uaudio_hid_detach(struct uaudio_softc *sc); @@ -1138,7 +1138,7 @@ uaudio_attach(device_t dev) bus_attach_children(dev); if (uaudio_handle_hid) { - if (uaudio_hid_probe(sc, uaa) == 0) { + if (uaudio_hid_attach(sc, uaa) == 0) { device_printf(dev, "HID volume keys found.\n"); } else { device_printf(dev, "No HID volume keys found.\n"); @@ -6174,7 +6174,7 @@ tr_setup: } static int -uaudio_hid_probe(struct uaudio_softc *sc, +uaudio_hid_attach(struct uaudio_softc *sc, struct usb_attach_arg *uaa) { void *d_ptr; From nobody Tue Mar 24 10:38:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62y45vfz6WTwR for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62y2wGhz3tKD for ; Tue, 24 Mar 2026 10:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=516AWKOnDETSQOWuLwFM1CtMIgwGDh0KyuDvmgOQu9g=; b=iri5hsBTgzdXxZ8s3c3U3hMhLj1mremja3MckXAV41xnmnqprOl6/Bqu27n00KcVH+xq2J opaY/u1n4bhEjcZRpYTchtnR9dmHau9aW9qeQGAt020i+XRIMGvJZ5aayTW83k4Hb+C9gm 0I7ohCc8CqRtgOhtvjfljX5lnzVxWhi0dzcCCned+j+cjEt3ayImIsiMc1dUjY5HHYD3Z5 Ej8Xqa97H+Ny/prmhHk8X7LUaWgJjtiJ04pTe/3KmZ7c2BL/KU61FHSn00Z2KcDWCVaQfM 53PbjkQmMUpGtTRm4gP/ioQCxxcLqyM6J/4elFV/iFOoRaZVD51rBQtmBS62Lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348730; a=rsa-sha256; cv=none; b=BhOuNgUD51BEb80E3qXzuc45INtEKjXYnM88HkuT7I0WPUFKiAqUyzSupoFavtXMcF0kJL wJtx2AJT3gx+7/yUfcD3NMyTqFQL8LRUMEzdZlHmrRlrKxbvDwG/ByaxUyNC7mfylGPC1Z y62AspSo0bftP0cUJLuBgnj2FO0JFikAwb5rBjfa4iikfMEM8WgdvQrxdEZIIJqNzQYCa/ t4rCG2kd54OZSc+HgE65OrstT7yd4W33JYCZXfsUq0tOI4rjiwzSxwB5dzYUQnKsNHyo+Y uTW/HqdbGlSjo51VhO9Mwl7aqIQM0yYRs+T1d7r/kxTMjXzH0Z5a5zaN5nEbHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=516AWKOnDETSQOWuLwFM1CtMIgwGDh0KyuDvmgOQu9g=; b=FAA8AuZXIK4Mvj46rGZTXALpbfFEtBwidPxyKK9Cufxg9jc5LAKtTUmV9LQTPb7tvm1Q+M gclI2HrUzebSzZcaIGWLRcC8BywoWuDJnHHcjeVFXKALUypU/5yGdUYUK5XZybD5u08bNa tMDtlXXLUiA0hG7J/VSNgFct+hJCRglcUeALwohJfAgkUH+yWV6a0WQUHQHq9I3tDCzpyH ErYRW33++ioL2zi//vAvA7WX89O1kYfWn5jKsK/xg8Z48c53Nyx86s4fsRIknv4YC+YtZT odJjICXVRtALzjqWXjHdDvUaoZ6PTtAdvzvm336Qowr2fK0daskFe31JrnYgLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62y2N57z1SWH for ; Tue, 24 Mar 2026 10:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33724 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 039477d3e7e7 - main - snd_uaudio: Simplify chan->curr_cable calculation in uaudio_bulk_write_callback() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 039477d3e7e72285174d83b973e58cea8de85280 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:50 +0000 Message-Id: <69c269ba.33724.724d23ea@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=039477d3e7e72285174d83b973e58cea8de85280 commit 039477d3e7e72285174d83b973e58cea8de85280 Author: Christos Margiolis AuthorDate: 2026-03-24 10:30:58 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:39 +0000 snd_uaudio: Simplify chan->curr_cable calculation in uaudio_bulk_write_callback() Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55918 --- sys/dev/sound/usb/uaudio.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 12e01599b200..b74cba611b24 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -5805,9 +5805,7 @@ tr_setup: } } - chan->curr_cable++; - if (chan->curr_cable >= chan->max_emb_jack) - chan->curr_cable = 0; + chan->curr_cable %= chan->max_emb_jack; if (chan->curr_cable == start_cable) { if (tr_any == 0) From nobody Tue Mar 24 10:38:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62z5FJ9z6WTpj for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62z3cP9z3tKL for ; Tue, 24 Mar 2026 10:38:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YpF5Z+DQJMWNXYvJy7CXO+hKFnPjHeU7dgIwG0n5v8I=; b=XLsviDtGcCobK1M6i+dWQR0epCyb3MXcIc/9pxE244nnSOHomLzjFJhPLT5zv/Lm8ierpv XX5kLo+7/ULGjzLjT6LnYnELSVLFmUvP3dvHPdUdNAiMnv9TB7dG5sFUzafGq3gW0gqPH8 dMbv7ihfs8XDWVN18EU4usJS2dAB/kZA1/bl+h3dY8ZQp0igUh4oOBH2mlbdQP//agv1gL LXtdyRQQmHqG2+tD8HlM6dyGlBwToZZNbF0LZJLQwhsAwTSSFMrYqDlovYTPIQDcbZajkQ arDiOjQfyXjhrMQsJnsvFd7nfB8ckW2o6F8PN5Agy8ry5L9dNBY6U5aCbKofqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348731; a=rsa-sha256; cv=none; b=qTtbrDXdrCpzoI37y2awSokeWCBNgrKvCuzS/EELOmsKjjelhpDXOGuFTAfG5THxbBvYT+ m3X7MKJ0kosG+9VYx6anDLnrKRp56BSGDLnPE1cFJLkV9wl4agTXlDKhBkZkatkSz3SWZ3 sDP7iYk6MT/VdQb/v/qFMPbn3L1MWySB2jZpdSgqC19gIYusAS6XCC2dDFKzyUXHkL8Kn5 7KM4xae9zg6Fmgp+ohEdy6gNRVHgOTZSMQUDCY3lX0LzhXXGdSNVrZ6sInE+fjSWihuBia has+3Yx9zbkKuLIvWbKiMmlc/lgIjShodlWnuGKgRVTqkOy7WMr/Z6ljji0JwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YpF5Z+DQJMWNXYvJy7CXO+hKFnPjHeU7dgIwG0n5v8I=; b=I1dvFgfls/MvUApi2VGFNvJuW3nUw8RHt4po0/FWcmZuW9BgKKzsLihAA6UUOaOQnB/zgi hYtchW9P7c9zEa0fLVAKaEfsaB8P7cS9rZpXaUO4sZ0DknzAPF38qi3ScBmZHn2FeJMnAE tt51OMN2RsGAImR+UfcjpytC8ZdAJTjOliMiAJouTUB9rOQLKHMu79pzSXYI7F8fngGW5S vprwyujB1CHWglUWtegjYfg8rlQWbto0nguDmMyxgpgU07P0RBIUbmVLvRsQwZRBuI9pPQ v2Jk2/NK5F3f6HgNtzmHARw1dHtvpuiVLlGsXHI3dGYNpp0vANHKqdVU6JqWBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg62z39P5zq3 for ; Tue, 24 Mar 2026 10:38:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3379e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: a49e925489fb - main - sound: Match midi_write() return values with midi_read() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a49e925489fba23878b3004b2bff7549dc2f2bcb Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:51 +0000 Message-Id: <69c269bb.3379e.1d9f87e5@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a49e925489fba23878b3004b2bff7549dc2f2bcb commit a49e925489fba23878b3004b2bff7549dc2f2bcb Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:08 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Match midi_write() return values with midi_read() Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55920 --- sys/dev/sound/midi/midi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c index 4fd0e3dcf134..e70f76a44ed9 100644 --- a/sys/dev/sound/midi/midi.c +++ b/sys/dev/sound/midi/midi.c @@ -421,7 +421,7 @@ midi_write(struct cdev *i_dev, struct uio *uio, int ioflag) int used; char buf[MIDI_WSIZE]; - retval = 0; + retval = EIO; if (m == NULL) goto err0; From nobody Tue Mar 24 10:38:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6305w77z6WTpl for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6304t49z3tSN for ; Tue, 24 Mar 2026 10:38:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhA6IqdNmVLchML7lvuGTGy/Pwpb/FABsNu0+our2q8=; b=PFwdRhfgSGsQ66NHra5nmpYKISjifLncymNeT1h+KY2mStQ7QuYmicayylXpHqvTrE4bFD 3IBatsZwOzhfW0CCELv7VUJ9sehdPtRpMRY/zcXas37wVWqXlk2U7mUefvwnXAFSNBEDPe wbgtpPxFCJER9GKJZyNtvxV+aHWxfaXba5/vqOaMfgcJtWgJ1Uwy8XEUeyibdmQulSzMS6 8Ict/txSpouMH1h1qJRPNfAFCU+6omTau5ZDYA5UdgscjKQ+kJdb9EnphrJiz6TFi8UiCr nibdHJZt2NC7YwruPtYaH318tt67f/Yz3Joq4jwIXv5L0A73p34aRnvCo/86Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348732; a=rsa-sha256; cv=none; b=u1qWLjRUylpbc7pDt290NcxsCa0FVJNMhuwfwttiZ7I8OogmF1bceeNyXpiZDbiD3MwQH0 4dIJiLV8m3uqZqHGA4gsMO+eV1Rgl2L/BKFzsbU3dssbuHVljsBO5Aj5NDgqSKROOlgOf6 3ussFYaSOWrnD4s7ZK537BSK8tGVtr4k5BHA1pwerGLKJw1lkPfC/Q1OhOvarlfy/mJdWR EOJ9BaFXKbJ9JJzPGfu3kpwJmzkjrtR7eElUARLMkOIcdc+iD2rhrIGqdOc3PsdqEVfvBW i8fwz5YstQHgQVP3TInxABHou6BjkmU/3Tn3cGIFdJ/Qflqmx+5SQyQfWIqRBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhA6IqdNmVLchML7lvuGTGy/Pwpb/FABsNu0+our2q8=; b=rClAVCEYgEycDgiRvuLZC+qRUS5TiP/P6h5BMNC8HzFMKh9Adm5tm06SmDAJrmjVkdlLy+ D2uo1dXQXAw87rqgXK2JaGp7pLfIr1/siJhKQGBa/e0a/8rB2QhPj2Bfb2/zkjgwv/4RMW d/cLVtFmzM8M7zrH2jarGwAvVaqmn3Lh1GYVcbeWzL0PHxyfCB3/HmEPTRmFrh/HB2WRJe /bJv11wTrwe1AXkNJklFUNBoktcHYOyzKsi7I1lzzCuGwhnE3gtd/j/9t9ofmYsz28ixZf PXeZ0wa2bUd0SBKY3fpWoQ0EyRkcIu20QQupJ7yzdkQnbZsex3GYZtEs3KDuNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6303zFHzb3 for ; Tue, 24 Mar 2026 10:38:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 337a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: a2fd964a9582 - main - snd_uaudio: Retire UAUDIO_MAX_CHAN() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2fd964a95829c0225031fb317202d4acc2d6ce9 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:52 +0000 Message-Id: <69c269bc.337a2.1bdd4c79@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a2fd964a95829c0225031fb317202d4acc2d6ce9 commit a2fd964a95829c0225031fb317202d4acc2d6ce9 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:12 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 snd_uaudio: Retire UAUDIO_MAX_CHAN() It's a no-op. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55924 --- sys/dev/sound/usb/uaudio.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index b74cba611b24..dd8aa8c9fafe 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -155,7 +155,6 @@ SYSCTL_INT(_hw_usb_uaudio, OID_AUTO, debug, CTLFLAG_RWTUN, #define MAKE_WORD(h,l) (((h) << 8) | (l)) #define BIT_TEST(bm,bno) (((bm)[(bno) / 8] >> (7 - ((bno) % 8))) & 1) -#define UAUDIO_MAX_CHAN(x) (x) #define MIX(sc) ((sc)->sc_mixer_node) union uaudio_asid { @@ -1993,7 +1992,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev, uint16_t wFormat; wFormat = UGETW(asid.v1->wFormatTag); - bChannels = UAUDIO_MAX_CHAN(asf1d.v1->bNrChannels); + bChannels = asf1d.v1->bNrChannels; bBitResolution = asf1d.v1->bSubFrameSize * 8; if (asf1d.v1->bSamFreqType == 0) { @@ -2074,8 +2073,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev, else chan_alt->usb_cfg = uaudio_cfg_play; - chan_alt->sample_size = (UAUDIO_MAX_CHAN(channels) * - p_fmt->bPrecision) / 8; + chan_alt->sample_size = (channels * p_fmt->bPrecision) / 8; chan_alt->channels = channels; if (ep_dir == UE_DIR_IN && From nobody Tue Mar 24 10:38:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63225Bqz6WTrY for ; Tue, 24 Mar 2026 10:38:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6315Ts5z3tQQ for ; Tue, 24 Mar 2026 10:38:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RGBbTVq8KQjX4H+OanXtiyrcnoL9qEtN087w9tsWS3k=; b=UNIXNMgyb8HPMVF1EQJY3IdlUYypOrMa8g7eWra5PtArjiFMWteoMG/qPCf/7h1gV10bT1 c+okqiMyzOHL2ZnYn0JNm9wS1K0eIJIj6Zib6b6TfVm8FSdl2jXfgNcuIypdypXFQJg5py yNK3DDieU7jFH7Srr3jSYQHY0QQPoaqcaQwsdrGSSm2yWSkJWb79VtHYVSb9hCXktkCQyU nZS3G2v6POwrpHda60XVvPD4Izl9morNim0STQ5OPAieaHGHAdyRsx6jQ8ZTCiOpSvbK9w MSbZBpgQU/sihsyNpInm/5iYGjxHtUu3jKDc/D4EEjDl9WMnkvkMTr01BGs1NQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348733; a=rsa-sha256; cv=none; b=Veo83BPi50d3qblCF1BgdArWOFXjfNirWqOitGQBPiu+Iu6BbB+8/115h1LmIYD32EHol2 2Plzzas5NFANFY2xKGIPmTy0wdGf7Tb8yrj36PBWcE0DXsWATKFazSHAV9YrwLZBaift7h qPZbySB0siI7fprdrt9A4Kfbzp8R58UZYcUlhkSOyKT/hC5FSauwbHl4yoD4c1KhFLkd+g sNPU4b8qu7De9Z1QWscJc/LYtxnpZJO21N+Wxsn9AMDsW1SPi8RhlJRyd3qonXuvVSeC3K aD0AXIvIA4LgR2dDM/D283i7F4Q7ACnhAyOABPcfnTZQoZE4JYJ2Ou1aVPywmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RGBbTVq8KQjX4H+OanXtiyrcnoL9qEtN087w9tsWS3k=; b=igtplNtrYrmljP1LdVPh9FliW7Si6tsVPFYRbVrqVa6alCDz97qO6w1rqhp8pMCZnG1IDU o3BknbJHZoBIpiyRfEsogVIuHNgCtMkZdp7TP/Vt8uuXeh8FGFMFelOZHQGqfbmC4ZziqF rZnSiS5bformlEmubo+DBna6LX08oz0khgVTY/NW3RJKqTCdWkY7ApG8DFcc9UdPiUciqE R2sLY1Dd9SzNzjvNCR7FXn1I6nyabTq5XxA5JdaRi2Tp+OXoKdwv3+B1HaBNJ/cTgcTyir IAZ7AB0CNdgaBKD/QenYHMkfHpwEXbalWvayA9oCvWVDFm/8cel/qQcrTm7row== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6314lYszb5 for ; Tue, 24 Mar 2026 10:38:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33ffe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 5d311c75324a - main - sound: Retire SND_DEBUG List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d311c75324a205f3cd8a8a404a25ebdadb18b54 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:53 +0000 Message-Id: <69c269bd.33ffe.2db57696@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=5d311c75324a205f3cd8a8a404a25ebdadb18b54 commit 5d311c75324a205f3cd8a8a404a25ebdadb18b54 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:17 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Retire SND_DEBUG Not useful anymore. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55932 --- sys/conf/NOTES | 5 ----- sys/conf/options | 1 - sys/dev/sound/pcm/feeder_chain.c | 2 +- sys/dev/sound/pcm/feeder_mixer.c | 16 ---------------- 4 files changed, 1 insertion(+), 23 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 98c63d9bb7f7..adcaf4699c19 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2157,10 +2157,6 @@ envvar hint.gusc.0.flags="0x13" # # Following options are intended for debugging/testing purposes: # -# SND_DEBUG Enable extra debugging code that includes -# sanity checking and possible increase of -# verbosity. -# # SND_DIAGNOSTIC Similar in a spirit of INVARIANTS/DIAGNOSTIC, # zero tolerance against inconsistencies. # @@ -2182,7 +2178,6 @@ envvar hint.gusc.0.flags="0x13" # SND_OLDSTEREO Only 2 channels are allowed, effectively # disabling multichannel processing. # -options SND_DEBUG options SND_DIAGNOSTIC options SND_FEEDER_MULTIFORMAT options SND_FEEDER_FULL_MULTIFORMAT diff --git a/sys/conf/options b/sys/conf/options index 4aeb15a489ea..d3890d5b3a9e 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -915,7 +915,6 @@ CFI_ARMEDANDDANGEROUS opt_cfi.h CFI_HARDWAREBYTESWAP opt_cfi.h # Sound options -SND_DEBUG opt_snd.h SND_DIAGNOSTIC opt_snd.h SND_FEEDER_MULTIFORMAT opt_snd.h SND_FEEDER_FULL_MULTIFORMAT opt_snd.h diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c index 4ec50d810253..8129d7e90bfd 100644 --- a/sys/dev/sound/pcm/feeder_chain.c +++ b/sys/dev/sound/pcm/feeder_chain.c @@ -126,7 +126,7 @@ static uint32_t *feeder_chain_formats[FEEDER_CHAIN_LAST] = { static int feeder_chain_mode = FEEDER_CHAIN_DEFAULT; -#if defined(_KERNEL) && defined(SND_DEBUG) && defined(SND_FEEDER_FULL_MULTIFORMAT) +#if defined(_KERNEL) && defined(SND_FEEDER_FULL_MULTIFORMAT) SYSCTL_INT(_hw_snd, OID_AUTO, feeder_chain_mode, CTLFLAG_RWTUN, &feeder_chain_mode, 0, "feeder chain mode " diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 8c58e1c8ef33..13342094966b 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -174,14 +174,6 @@ feed_mixer_rec(struct pcm_channel *c) CHN_UNLOCK(ch); continue; } -#ifdef SND_DEBUG - if ((c->flags & CHN_F_DIRTY) && VCHAN_SYNC_REQUIRED(ch)) { - if (vchan_sync(ch) != 0) { - CHN_UNLOCK(ch); - continue; - } - } -#endif bs = ch->bufsoft; if (ch->flags & CHN_F_MMAP) sndbuf_dispose(bs, NULL, sndbuf_getready(bs)); @@ -270,14 +262,6 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, CHN_UNLOCK(ch); continue; } -#ifdef SND_DEBUG - if ((c->flags & CHN_F_DIRTY) && VCHAN_SYNC_REQUIRED(ch)) { - if (vchan_sync(ch) != 0) { - CHN_UNLOCK(ch); - continue; - } - } -#endif if ((ch->flags & CHN_F_MMAP) && !(ch->flags & CHN_F_CLOSING)) sndbuf_acquire(ch->bufsoft, NULL, sndbuf_getfree(ch->bufsoft)); From nobody Tue Mar 24 10:38:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6336Rvlz6WV2Z for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63265Q3z3tdV for ; Tue, 24 Mar 2026 10:38:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z49f0mO3Kjyjig9Wd87XJs8PkzWKTCe1lyKflMI/1H4=; b=Mq3nEvdIxZshaEm1lhzNj1sQki04cWnTJmjIGuzu8C86qPpTbtcaIycVnilcui68GSmzJ7 FFgGEcLXgZGYZwLxommhgt3zi8+7QspCIyLvZVkk1SKvehL01r566uLtY4WloIpHTPVxs4 7B1wbX0L0TnpKayW2pJ77BA0l40ff35GWmXesF9FaH+MtFMosDS2ForctOtIkmahXGhROM KySaoITy1JgKUuAkABAYUaKgliCa34J4h2stBclpW4bFH4STiezZF0WImXLRA8hR/KsoZD TP+Forhi3WM8LV5HXQFpY3hvwsIuAYN8MLAJUH5v4ZTXES8lAFpYgXw6ei8udg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348734; a=rsa-sha256; cv=none; b=W2RXTzWKkKNw7n3WwRIz65oOKmsiW4vGFE9B0h0o3llj2aY83A3u5mpmmFU2KqaGZlJfBk 8oAkkuOrhZqQ4wPrmkxrhbFWPjGfgYWEdLkUxKOoRiw807oaqZ6FQFOa7vs/036RUMRsUt W07IbEsDVLGl6HQ5xPhe+5yHO08rPfW4r8AggkoCAS2iC2Tww1A2+YMtVQwE54ryXfk5vy AkjVszCdQW49r0j6/yX1Fcl8GuYMswE6oJ/KtIpgCj6SQkcouciVrt/V2mps1bxuNopNko QvkCK6WzOS7LxBMoPKt9ngR+PzobvF+MsyBgrtwOqLZhNpW53+s8SrE3Pem3DA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z49f0mO3Kjyjig9Wd87XJs8PkzWKTCe1lyKflMI/1H4=; b=iZtGyyfZdfbatTfsnOOSFszAY3/kEfMxHW5AZw7chFOLfm2+SaDGWjoyzqcxINroKgi3IB lj6Uqtd/qVq7zPRViGQtj0A8hoBYIS6Kn2Wli/hpXdexFGkVUM2fhtjYZWu3NJkrwXnmQ5 yI9E+POXJOGRG6cjsNtYTDj1PIVT7D3wjsyHHZIKrSOqmvOG38GcWvv7Jnn+nlcT0e/oJf 4y+cZAxg1RJ40hmHDGZkOEl5iHjERa14upGvPaaDu2oRhtBn4DHSSBxtHo6N0WaKL/dsM8 TwboFDMTmq+6XuPQj1+v9klGDmOSPr8uzEeYvzrcwybwAOZ0KCZUOELL7XBwlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6325WzfzQT for ; Tue, 24 Mar 2026 10:38:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32451 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: bf0e5d987ecd - main - sound: Retire SND_OLDSTEREO List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf0e5d987ecd2cbec2200e100bad6d6e724e9315 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:54 +0000 Message-Id: <69c269be.32451.6eed8bdc@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=bf0e5d987ecd2cbec2200e100bad6d6e724e9315 commit bf0e5d987ecd2cbec2200e100bad6d6e724e9315 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:22 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Retire SND_OLDSTEREO This is a legacy option and does not serve a good purpose anymore. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55933 --- sys/conf/NOTES | 4 ---- sys/conf/options | 1 - sys/dev/sound/pcm/matrix.h | 3 --- 3 files changed, 8 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index adcaf4699c19..51a621c16111 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2175,15 +2175,11 @@ envvar hint.gusc.0.flags="0x13" # integer/arithmetic. Slight increase of dynamic # range at a cost of possible slowdown. # -# SND_OLDSTEREO Only 2 channels are allowed, effectively -# disabling multichannel processing. -# options SND_DIAGNOSTIC options SND_FEEDER_MULTIFORMAT options SND_FEEDER_FULL_MULTIFORMAT options SND_FEEDER_RATE_HP options SND_PCM_64 -options SND_OLDSTEREO # # Cardbus diff --git a/sys/conf/options b/sys/conf/options index d3890d5b3a9e..b6bf90899d89 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -920,7 +920,6 @@ SND_FEEDER_MULTIFORMAT opt_snd.h SND_FEEDER_FULL_MULTIFORMAT opt_snd.h SND_FEEDER_RATE_HP opt_snd.h SND_PCM_64 opt_snd.h -SND_OLDSTEREO opt_snd.h X86BIOS diff --git a/sys/dev/sound/pcm/matrix.h b/sys/dev/sound/pcm/matrix.h index e2798c651536..ff5f05e477e4 100644 --- a/sys/dev/sound/pcm/matrix.h +++ b/sys/dev/sound/pcm/matrix.h @@ -29,10 +29,7 @@ #ifndef _SND_MATRIX_H_ #define _SND_MATRIX_H_ -#undef SND_MULTICHANNEL -#ifndef SND_OLDSTEREO #define SND_MULTICHANNEL 1 -#endif /* * XXX = unused, but part of the definition (will be used someday, maybe). From nobody Tue Mar 24 10:38:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63420Q9z6WV0C for ; Tue, 24 Mar 2026 10:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg634037dz3tQr for ; Tue, 24 Mar 2026 10:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiBZrQNdDZVBQeSFo0JrswJT9Tr0htQtujzMyRkRs0Y=; b=h3NJyy9Rp+E1BXN/xlkZ9OELTEVA+PaTIRUcIocS4bTaAIcXOUDNc9g4US/t3txnL3MhBa gZhgLjzR75k26YW9KAtWdkAwHZ1FiPpofuTJe+CCRd402Iv+X9q03XYAuC95Ns0ZigVuau a30FLc/4LInzgp74xn8+oKCkYewfXgJyWTNMV58ennAu/ElywSwRB9lq2LloIltqqILm83 5AU0LPmFfyrXyaYbQcm1n0CsMT9E8n5dotuHbxKzSJWcwGsAK96lam3cqXWbVp9IiusCP8 Op+6A5a8vHqjqlgVA4fLK8jaZtGEBthBkVI8uCPbj72xl7MAWk+Ow2XjL9b5Uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348736; a=rsa-sha256; cv=none; b=VpBJ0u4mukUgW7b4Okr8eK4ZR/SK+2l6knMQL2cPEBWA56k8W+Yku4SFnExBnMfe2Lhu3T aSe+llDvFcPmmAUAwnQvGj0vti3WPkz1SKaN2xcNl9EfQBOBLwwIptSO9rz5cXOWFgzXF8 K19F9iOnMUDZKJHcXSvfbDDgzP7SZ/sB1pk0DtNNz/0a5ci/zIJhUsLHIcGP0PaWlKcxd1 XAgv4rhUmnurqsPEnNhiErBIluhaAUt6sZ/CIVP3R4/zkU2BpKYh2jcCB4pjoqzT/tNnBk bp5RCRFy9JoMKAtKJ4EkhT891nfU/HdCTRN2yrrqRq6iCBbOpU+6fhZrV1D3jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiBZrQNdDZVBQeSFo0JrswJT9Tr0htQtujzMyRkRs0Y=; b=YlDoGs89bt/LtgU+MIBhJwBLmMFRcgiZyyxuoLMZ/S3BDLmTFZGZ0RWnk2nfDR2XzDFyo0 DFnGJ51cQ7SQ6rlwwNjwk8gMwtUAcuqbBctDdeXroKMUJqQ0DkyC7c6J2hUFAMln8eOEji rpzKzcNKQKfamIW6bOhzHFWoceLsX+jr3qR9OkUUa2S7u8YCbTGUIhNBUdM0uFkAkbtYYI ASJwtcTg6PQfIREYplp1+znXij5vnh0r8C2A6QhSPsYO7eSoxp+qgau80C2OQpzdoKv047 RMHYyACX8swJHYOXUMrMjc4vCZDOOSd7x/tL0kdsY7tJjf+teF8sxE9DP9dBRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6336YmPzn1 for ; Tue, 24 Mar 2026 10:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 326b4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 712bd9b2750a - main - sound: Retire SND_MULTICHANNEL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 712bd9b2750a71ad7f8b6bebc5177c47d33a6364 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:55 +0000 Message-Id: <69c269bf.326b4.6ca666a0@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=712bd9b2750a71ad7f8b6bebc5177c47d33a6364 commit 712bd9b2750a71ad7f8b6bebc5177c47d33a6364 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:26 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Retire SND_MULTICHANNEL SND_MULTICHANNEL is always defined, so SND_CHN_MAX will also always be 8. Apart from the fact that there is no other place in the code that touches SND_MULTICHANNEL, there is also no good reason nowadays to set SND_CHN_MAX to 2. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55934 --- sys/dev/sound/pcm/matrix.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/dev/sound/pcm/matrix.h b/sys/dev/sound/pcm/matrix.h index ff5f05e477e4..f4a79fdc3b30 100644 --- a/sys/dev/sound/pcm/matrix.h +++ b/sys/dev/sound/pcm/matrix.h @@ -29,8 +29,6 @@ #ifndef _SND_MATRIX_H_ #define _SND_MATRIX_H_ -#define SND_MULTICHANNEL 1 - /* * XXX = unused, but part of the definition (will be used someday, maybe). */ @@ -173,12 +171,7 @@ #define SND_CHN_T_END SND_CHN_T_TBR #define SND_CHN_T_STEP 1 #define SND_CHN_MIN 1 - -#ifdef SND_MULTICHANNEL #define SND_CHN_MAX 8 -#else -#define SND_CHN_MAX 2 -#endif /* * Multichannel interleaved volume matrix. Each calculated value relative From nobody Tue Mar 24 10:38:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6364fKjz6WTpx for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6361Bcwz3tX6 for ; Tue, 24 Mar 2026 10:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sDczM9W7+r6OuOfme7CVgy5MBeSkffzu6JdZddbfL9E=; b=ij0yaDCy6+aTTBJqCYHa3Dp1sN2PsNT8uGd3sggxOzfW9GnMkMZ9nMP8+lrhYujizNaxjo gYs2QiDj4q3Ras5tJk4SSNTFUpkSaD5fW5YyXNkMZOO+6Ot+02kWQwvhGTqswTBzxsrQkL 4DYEeUpec9d/mUSA7kQ17qjiCq9la8hDnyJtyNk/O71pVV7C8li6RbXZTZ6wnHVZVLk7Ql v/zUaPev89mPdn+i37enQn3QNFksXUvuEh18dRyA9GgF+3aI9ZqSv8w35sxy+XaSVGZ0dK zcnhPYS3CAIch0dtk7Ho76NK2Gi7+FxgeAcA7qki1PMsXhCnhCjD/jhkqRdgew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348738; a=rsa-sha256; cv=none; b=qL5TiMg5Y3Kf3Bk4VtMfdnA42BNreiVWmt9AEtnUg94mH8wgLp483E1yMPHs5Ga7KE8MUQ +fL8LOYZxqasaYCnKoH+c/DEts8r0IfTTe8F91Xb76UyUmNyXj8U/q4hKWSWKrwIo7TyS8 m0ptxpth7oB1wrmuGEevaJOFop+G+9IHoeDrW83XbYUzzANRX2yuwObDXjM4LrYW9Dedod OYCZdhfqALbanL/ZN4cuyWww23wUyIzSN25GUP0Kb5G7pO1z4jLFVHLkaVny8qb+4Ry/yY knkBQkyqKDq8AdvFN2FJsljFB5f+WpcjatnaPzwLzG6uyIUsyBvAZkQa8QnnIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sDczM9W7+r6OuOfme7CVgy5MBeSkffzu6JdZddbfL9E=; b=GHvwkkPVnUEC1oaCgk2mamdj/Tdo+U5tX+YkLO9LkuJcUrSJNlDZGl52q/07MpwLxTdnyI ZszuItXc2RfxlGNK5zl4vzDkg77zyzEfZWHJthVPJIbV0jTHRyZVr8zYUFM30VcB48+1R/ XhdZsh6SBmxDabvcK4aKf9kFqOiHV5bPqYqeV86fVOh4sj35PWZDiyjzrl7zaa6j5b+KKM sSEc+BCigcuF4ZkSCNmHv99xi0rpVbuuce4lRghuUB78Js82I5tRTNQEnoWP3Q+TTplQxd 9lLw5lu5FumXNuySwjPo8akj6NAEpTuUjSgi2tnjMIYbYzuJ8ig9seKtfUMxKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6360nwxzdV for ; Tue, 24 Mar 2026 10:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32540 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 9318336f2af1 - main - sound: Retire SND_FEEDER_MULTIFORMAT and SND_FEEDER_FULL_MULTIFORMAT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9318336f2af134b26adcb217f78f70bfdcf5f222 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:58 +0000 Message-Id: <69c269c2.32540.3ef7f97f@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=9318336f2af134b26adcb217f78f70bfdcf5f222 commit 9318336f2af134b26adcb217f78f70bfdcf5f222 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:34 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Retire SND_FEEDER_MULTIFORMAT and SND_FEEDER_FULL_MULTIFORMAT There is no reason to have these legacy controls anymore, all these formats can be handled just fine nowadays. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55937 --- sys/conf/NOTES | 8 -------- sys/conf/options | 2 -- sys/dev/sound/pcm/feeder.h | 18 ------------------ sys/dev/sound/pcm/feeder_chain.c | 12 +----------- sys/dev/sound/pcm/feeder_mixer.c | 3 --- sys/dev/sound/pcm/feeder_rate.c | 12 ++++-------- sys/dev/sound/pcm/feeder_volume.c | 12 ++++-------- 7 files changed, 9 insertions(+), 58 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 51a621c16111..f1ac46f5f087 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2160,12 +2160,6 @@ envvar hint.gusc.0.flags="0x13" # SND_DIAGNOSTIC Similar in a spirit of INVARIANTS/DIAGNOSTIC, # zero tolerance against inconsistencies. # -# SND_FEEDER_MULTIFORMAT By default, only 16/32 bit feeders are compiled -# in. This options enable most feeder converters -# except for 8bit. WARNING: May bloat the kernel. -# -# SND_FEEDER_FULL_MULTIFORMAT Ditto, but includes 8bit feeders as well. -# # SND_FEEDER_RATE_HP (feeder_rate) High precision 64bit arithmetic # as much as possible (the default trying to # avoid it). Possible slowdown. @@ -2176,8 +2170,6 @@ envvar hint.gusc.0.flags="0x13" # range at a cost of possible slowdown. # options SND_DIAGNOSTIC -options SND_FEEDER_MULTIFORMAT -options SND_FEEDER_FULL_MULTIFORMAT options SND_FEEDER_RATE_HP options SND_PCM_64 diff --git a/sys/conf/options b/sys/conf/options index b6bf90899d89..53b1f61a6e0b 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -916,8 +916,6 @@ CFI_HARDWAREBYTESWAP opt_cfi.h # Sound options SND_DIAGNOSTIC opt_snd.h -SND_FEEDER_MULTIFORMAT opt_snd.h -SND_FEEDER_FULL_MULTIFORMAT opt_snd.h SND_FEEDER_RATE_HP opt_snd.h SND_PCM_64 opt_snd.h diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 1f106787ee83..834df463295d 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -163,21 +163,3 @@ int feeder_matrix_oss_get_channel_order(struct pcmchan_matrix *, unsigned long long *); int feeder_matrix_oss_set_channel_order(struct pcmchan_matrix *, unsigned long long *); - -/* - * By default, various feeders only deal with sign 16/32 bit native-endian - * since it should provide the fastest processing path. Processing 8bit samples - * is too noisy due to limited dynamic range, while 24bit is quite slow due to - * unnatural per-byte read/write. However, for debugging purposes, ensuring - * implementation correctness and torture test, the following can be defined: - * - * SND_FEEDER_MULTIFORMAT - Compile all type of converters, but force - * 8bit samples to be converted to 16bit - * native-endian for better dynamic range. - * Process 24bit samples natively. - * SND_FEEDER_FULL_MULTIFORMAT - Ditto, but process 8bit samples natively. - */ -#ifdef SND_FEEDER_FULL_MULTIFORMAT -#undef SND_FEEDER_MULTIFORMAT -#define SND_FEEDER_MULTIFORMAT 1 -#endif diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c index 8129d7e90bfd..4fc846f77496 100644 --- a/sys/dev/sound/pcm/feeder_chain.c +++ b/sys/dev/sound/pcm/feeder_chain.c @@ -66,13 +66,7 @@ struct feeder_chain_desc { #define FEEDER_CHAIN_FULLMULTI 4 #define FEEDER_CHAIN_LAST 5 -#if defined(SND_FEEDER_FULL_MULTIFORMAT) #define FEEDER_CHAIN_DEFAULT FEEDER_CHAIN_FULLMULTI -#elif defined(SND_FEEDER_MULTIFORMAT) -#define FEEDER_CHAIN_DEFAULT FEEDER_CHAIN_MULTI -#else -#define FEEDER_CHAIN_DEFAULT FEEDER_CHAIN_LEAN -#endif /* * List of preferred formats that might be required during @@ -126,7 +120,7 @@ static uint32_t *feeder_chain_formats[FEEDER_CHAIN_LAST] = { static int feeder_chain_mode = FEEDER_CHAIN_DEFAULT; -#if defined(_KERNEL) && defined(SND_FEEDER_FULL_MULTIFORMAT) +#if defined(_KERNEL) SYSCTL_INT(_hw_snd, OID_AUTO, feeder_chain_mode, CTLFLAG_RWTUN, &feeder_chain_mode, 0, "feeder chain mode " @@ -589,12 +583,8 @@ feeder_chain(struct pcm_channel *c) case FEEDER_CHAIN_LEAN: case FEEDER_CHAIN_16: case FEEDER_CHAIN_32: -#if defined(SND_FEEDER_MULTIFORMAT) || defined(SND_FEEDER_FULL_MULTIFORMAT) case FEEDER_CHAIN_MULTI: -#endif -#if defined(SND_FEEDER_FULL_MULTIFORMAT) case FEEDER_CHAIN_FULLMULTI: -#endif break; default: feeder_chain_mode = FEEDER_CHAIN_DEFAULT; diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 13342094966b..be78b0cffb64 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -43,9 +43,6 @@ #include "snd_fxdiv_gen.h" #endif -#undef SND_FEEDER_MULTIFORMAT -#define SND_FEEDER_MULTIFORMAT 1 - struct feed_mixer_info { uint32_t format; uint32_t channels; diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 66b846e5c6df..4431d9bfe6ed 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -620,15 +620,14 @@ z_feed_sinc_polyphase_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ Z_DECLARE_SINC(SIGN, BIT, ENDIAN) \ Z_DECLARE_SINC_POLYPHASE(SIGN, BIT, ENDIAN) -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == LITTLE_ENDIAN Z_DECLARE(S, 16, LE) Z_DECLARE(S, 32, LE) #endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == BIG_ENDIAN Z_DECLARE(S, 16, BE) Z_DECLARE(S, 32, BE) #endif -#ifdef SND_FEEDER_MULTIFORMAT Z_DECLARE(S, 8, NE) Z_DECLARE(S, 24, LE) Z_DECLARE(S, 24, BE) @@ -641,7 +640,6 @@ Z_DECLARE(U, 24, BE) Z_DECLARE(U, 32, BE) Z_DECLARE(F, 32, LE) Z_DECLARE(F, 32, BE) -#endif enum { Z_RESAMPLER_ZOH, @@ -670,15 +668,14 @@ static const struct { uint32_t format; z_resampler_t resampler[Z_RESAMPLER_LAST]; } z_resampler_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == LITTLE_ENDIAN Z_RESAMPLER_ENTRY(S, 16, LE), Z_RESAMPLER_ENTRY(S, 32, LE), #endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == BIG_ENDIAN Z_RESAMPLER_ENTRY(S, 16, BE), Z_RESAMPLER_ENTRY(S, 32, BE), #endif -#ifdef SND_FEEDER_MULTIFORMAT Z_RESAMPLER_ENTRY(S, 8, NE), Z_RESAMPLER_ENTRY(S, 24, LE), Z_RESAMPLER_ENTRY(S, 24, BE), @@ -691,7 +688,6 @@ static const struct { Z_RESAMPLER_ENTRY(U, 32, BE), Z_RESAMPLER_ENTRY(F, 32, LE), Z_RESAMPLER_ENTRY(F, 32, BE), -#endif }; #define Z_RESAMPLER_TAB_SIZE \ diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index e43b2594c7e0..ba3c14f4769e 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -74,15 +74,14 @@ feed_volume_##SIGN##BIT##ENDIAN(int *vol, int *matrix, \ } while (--count != 0); \ } -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == LITTLE_ENDIAN FEEDVOLUME_DECLARE(S, 16, LE) FEEDVOLUME_DECLARE(S, 32, LE) #endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == BIG_ENDIAN FEEDVOLUME_DECLARE(S, 16, BE) FEEDVOLUME_DECLARE(S, 32, BE) #endif -#ifdef SND_FEEDER_MULTIFORMAT FEEDVOLUME_DECLARE(S, 8, NE) FEEDVOLUME_DECLARE(S, 24, LE) FEEDVOLUME_DECLARE(S, 24, BE) @@ -95,7 +94,6 @@ FEEDVOLUME_DECLARE(U, 24, BE) FEEDVOLUME_DECLARE(U, 32, BE) FEEDVOLUME_DECLARE(F, 32, LE) FEEDVOLUME_DECLARE(F, 32, BE) -#endif struct feed_volume_info { uint32_t bps, channels; @@ -115,15 +113,14 @@ static const struct { uint32_t format; feed_volume_t apply; } feed_volume_info_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == LITTLE_ENDIAN FEEDVOLUME_ENTRY(S, 16, LE), FEEDVOLUME_ENTRY(S, 32, LE), #endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) +#if BYTE_ORDER == BIG_ENDIAN FEEDVOLUME_ENTRY(S, 16, BE), FEEDVOLUME_ENTRY(S, 32, BE), #endif -#ifdef SND_FEEDER_MULTIFORMAT FEEDVOLUME_ENTRY(S, 8, NE), FEEDVOLUME_ENTRY(S, 24, LE), FEEDVOLUME_ENTRY(S, 24, BE), @@ -136,7 +133,6 @@ static const struct { FEEDVOLUME_ENTRY(U, 32, BE), FEEDVOLUME_ENTRY(F, 32, LE), FEEDVOLUME_ENTRY(F, 32, BE), -#endif }; #define FEEDVOLUME_TAB_SIZE ((int32_t) \ From nobody Tue Mar 24 10:38:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6352Mm1z6WTvF for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6350LgQz3tQy for ; Tue, 24 Mar 2026 10:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVYaK60lJkMnWfRgzsG7RTBcYqdzMY2TVt3AvjxnYWU=; b=bsa3919J5cE4JnduDCOcAt3r2NrjE1ASNQp6GRH/zCMidOarXGlIkQ5zWVcCdKhcxqZV6o 4g6RMYflhMU86/P4VjRHggyFYMhbeiECOntfAwQm5hri6+WJfBbt120odZVWgFTd1JOtwQ tzZy7TGB36ykUC1k3FJSDqy5aCTsx1T86n0ds9Jznblsek51k0PgZk1rMd7ndCNp/lR+MI 4pH7vDgsQ5tambqKE7PYyniWZFHS9wEi65qx/cJh2e6/XrKaJqFMFgRxCI2IsYeYWZE4Ip DBjzIUFOpebKRU35aD7Xy1EQPdwUnN30lXId4DobfbmWl/4LTXDLl/BxkmDDww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348737; a=rsa-sha256; cv=none; b=wAANF7WqFHVFh68EhyGxNTc1wMcHTdPnD7BKDO/dMTEv4rwvG9qLsYhnoZ+nF+ckwKOiFH 24RyFDK1t+JlB4D3rks8wc/8gGy9YssMtCVnMuRK50lLpyqxTaCdGN4fgsf2RjV6r+ls3P OTX74rBETdItns/oTrKvTdF5cP/XviulleNFlaJ2NfbfG0C6xojtXs3uajhJMmORxqlPoh 9qIc2dFWgiegJDzPxjzB3s8PWtWkh9KPZr2w/YbVc1ggVOOwd7NUTplMq4WPkN3YStpKrj VKNPAFRJ1QflyC+ZIpBYZZ7QibizcO3Klr1lBL3BAWJctCmZm7haQclNzF8BXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVYaK60lJkMnWfRgzsG7RTBcYqdzMY2TVt3AvjxnYWU=; b=EgaWrFj00Vy1+I2+CWbR7c4BYQjffuzaTfZWpeBiFz/bp4Q8ktmQ1tF28RATZ8ttvhi2Ub hcOr06W4VICx8ZR90BEwuATRLPAssAWCSgiAsUMw6zesb92qM0VVk+jSWIy63x3o0vLtrI 6hR6kjmmeHarnk9ZIHft1w57Ic2z27EBpfNVh0kfOCv6bBXC1w/NFhdNsb5x9uMqJb634m bK2jGemrwXtEWjuOhOUbmEAybpbg+6YZskdCd+NMmmlqrVVsHaCbDbjiSIjf9skHqjjBpg rsUjHDAOZsqfSw3ZTPXiXb/SPnfT9YoIWQIA60IVdTj9TRevB9XtISjKgJZISA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63472LyzVY for ; Tue, 24 Mar 2026 10:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32744 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 12633057f591 - main - sound: Retire unused Z_MULTIFORMAT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12633057f5914a533df81030b553d6bd47681d87 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:56 +0000 Message-Id: <69c269c0.32744.2adbdaa3@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=12633057f5914a533df81030b553d6bd47681d87 commit 12633057f5914a533df81030b553d6bd47681d87 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:29 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Retire unused Z_MULTIFORMAT Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/pcm/feeder_rate.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index aee164840c4a..66b846e5c6df 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -102,8 +102,6 @@ #define Z_PARANOID 1 -#define Z_MULTIFORMAT 1 - #ifdef _KERNEL #undef Z_USE_ALPHADRIFT #define Z_USE_ALPHADRIFT 1 From nobody Tue Mar 24 10:38:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6375Qfmz6WTwv for ; Tue, 24 Mar 2026 10:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6372Ph5z3tqf for ; Tue, 24 Mar 2026 10:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XRGlolryK9y3rB1UGxqLR4NTXS6lEmViMVWEbENS7MU=; b=hDVHIUt6BWQmXMJLx2YlMI0lLe4JSKD2QTgoAlF26xREgqH6uYVxFvc12N9SmLL/4n3ZLD G+hDIhUMGZsPsoR2AGBPvrSSg9KIc7pf/MdvZZvFXlpuMI5oWCh8m136mEsXgPfBYU3h0d AJlxu8kE4zaYySxNopwTxrQNwvDCPayBK+RlGrecVOmVAZDaV01wha9/4JkwkMICQk64LC dY+jyi8N0IwpEbk1JF56Yaga++/WBgqayV+B4D7u7Q0dCtOJy2t/Yp+jWLINdSLdYmDALE Qwgh3nH0t0WLg8GaMVMTLDWDQiNuw5gI4fpdHc1RVWOqTafJgZ9bw5/AqQMK3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348739; a=rsa-sha256; cv=none; b=xD5y6UkcK4j1/i11W9k0tAyXAspQoRVKB0b0WqmMT2E8TLOx9+CD3m8h5U7L8+/3MiGiiH pspHT93N3bFhHPxYR2TSKBI2PqkpIvWP6Ypo5+Zt3kVkuNTzumO6OMDitDLFH36HweOfhD x49N3Q5AARtRAA62iuP52WOolD+P+MC0W2CUa3+FjgO7qkcNdF7OtcXGfidCodoVCmUSM0 23h24YdXmS37/qYWRMMYlpjjSjFwBjDeV5rXyc1JGKuhKXedJsEhNxlroRUwU7r0dlLCzw o8mey4sCF4o3tZVbusCzPTLrT3666r0DOs2KgMCGAQy0mEEHayWANRks5o0taA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XRGlolryK9y3rB1UGxqLR4NTXS6lEmViMVWEbENS7MU=; b=tzhKNZQZIgTpSBD4o5roOSNqeXPsPMGHnomFwxu+tmriOa4CEkI8MGCMHcFH3QuoNhJJUS 1QxHSjnM973txq8mHp4nsVJ/xDqfMXZUmnUDBpvOg39ij2UGKi3G5Dr9stVIOgKvi4XxeC pINwbiZqlFV1AN1P9wzNCgIdU5dvEkAjW6uMOOPDgtjwf8iJXK0FjrO1rqPCzq4d+lOic5 wGVq0uz5Ul6++FJaU8kSucx69ldrIPenN4Aj1uaPvSsTpftD2piTH2hg/wktZsLeeJIB6R dBme1so/ILj7ktFu6xHOFSINVmj/aDpCG3hMNDueXhAumqjQMyN0cgQxEpgLXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6371nLYzQY for ; Tue, 24 Mar 2026 10:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 336ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 6755f558c1d7 - main - sound: Remove endianness checks for format table declarations List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 6755f558c1d7d22cac5b123082fdb2ac080c228d Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:59 +0000 Message-Id: <69c269c3.336ab.30892ea7@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=6755f558c1d7d22cac5b123082fdb2ac080c228d commit 6755f558c1d7d22cac5b123082fdb2ac080c228d Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:39 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Remove endianness checks for format table declarations This a legacy thing that is not needed anymore. We can support all of them just fine. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55939 --- sys/dev/sound/pcm/feeder_rate.c | 8 -------- sys/dev/sound/pcm/feeder_volume.c | 8 -------- 2 files changed, 16 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 4431d9bfe6ed..03bdbbc789bd 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -620,14 +620,10 @@ z_feed_sinc_polyphase_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ Z_DECLARE_SINC(SIGN, BIT, ENDIAN) \ Z_DECLARE_SINC_POLYPHASE(SIGN, BIT, ENDIAN) -#if BYTE_ORDER == LITTLE_ENDIAN Z_DECLARE(S, 16, LE) Z_DECLARE(S, 32, LE) -#endif -#if BYTE_ORDER == BIG_ENDIAN Z_DECLARE(S, 16, BE) Z_DECLARE(S, 32, BE) -#endif Z_DECLARE(S, 8, NE) Z_DECLARE(S, 24, LE) Z_DECLARE(S, 24, BE) @@ -668,14 +664,10 @@ static const struct { uint32_t format; z_resampler_t resampler[Z_RESAMPLER_LAST]; } z_resampler_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN Z_RESAMPLER_ENTRY(S, 16, LE), Z_RESAMPLER_ENTRY(S, 32, LE), -#endif -#if BYTE_ORDER == BIG_ENDIAN Z_RESAMPLER_ENTRY(S, 16, BE), Z_RESAMPLER_ENTRY(S, 32, BE), -#endif Z_RESAMPLER_ENTRY(S, 8, NE), Z_RESAMPLER_ENTRY(S, 24, LE), Z_RESAMPLER_ENTRY(S, 24, BE), diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index ba3c14f4769e..5f40816b4065 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -74,14 +74,10 @@ feed_volume_##SIGN##BIT##ENDIAN(int *vol, int *matrix, \ } while (--count != 0); \ } -#if BYTE_ORDER == LITTLE_ENDIAN FEEDVOLUME_DECLARE(S, 16, LE) FEEDVOLUME_DECLARE(S, 32, LE) -#endif -#if BYTE_ORDER == BIG_ENDIAN FEEDVOLUME_DECLARE(S, 16, BE) FEEDVOLUME_DECLARE(S, 32, BE) -#endif FEEDVOLUME_DECLARE(S, 8, NE) FEEDVOLUME_DECLARE(S, 24, LE) FEEDVOLUME_DECLARE(S, 24, BE) @@ -113,14 +109,10 @@ static const struct { uint32_t format; feed_volume_t apply; } feed_volume_info_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN FEEDVOLUME_ENTRY(S, 16, LE), FEEDVOLUME_ENTRY(S, 32, LE), -#endif -#if BYTE_ORDER == BIG_ENDIAN FEEDVOLUME_ENTRY(S, 16, BE), FEEDVOLUME_ENTRY(S, 32, BE), -#endif FEEDVOLUME_ENTRY(S, 8, NE), FEEDVOLUME_ENTRY(S, 24, LE), FEEDVOLUME_ENTRY(S, 24, BE), From nobody Tue Mar 24 10:39:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63859rsz6WTwy for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6382vtBz3tYW for ; Tue, 24 Mar 2026 10:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ZRF6R0qLX4NpDMmhPzZmJ1HNxwkY1yHC+feY4l+qnU=; b=lRWi2JLHBPHe3HArWMuMSPekiibla8c2jQ/XlWyzw2C3D0Zi4++MBkgLR9GmRGIN6qvy1s DhvTd4hccm+dSnlzwoXDnrfFcjE0YYF8XPZ7zBfdZAjJck4FnKCBBKn3qMfhAQIS2uKLrA MvgnTIRHmz9pRpSyV47SunjrEqnd4HyBwlUd5g9UHoeC0vT7APXYWmsneIK99y9yLrAw0D ScccBojYJhsG9tFRDT9SlPlvHEiieU4TTU9IsFGA/jNRcNFunT6DnnxhItzr9nqTNjU3PI gCqJ2+00uXIaL+VAITLyNW1YwAtWjyLFu+IHFIEN3HXvqUyIXtpqyrxbbUNZBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348740; a=rsa-sha256; cv=none; b=S3KeAmc6bulpJIZdFV618gmybrCVikEbd6fKj+JaOMq7qzLP54+eBw43j36wuVhF2i7YgP vTZMfakd0FlhssTVZWuYph2JJzUBc9fcP4hS2/vY3CyiJdUkHqxy25lVraj/v+0LXkWbE4 5cJXbpBWdzfVLpJh6r1k3zyWXsd4dSAT1TJ28cik6tFQ0J5jSsOhpLheaRYiCHEbDjgA97 POVqCU3fZBs8vZtimcNf/W+X6IPN18Cr7FFKemP4GP62A1MgjJWPKS6bS4KVZMyCP8SdbX t+W/EIe7+y7T30vsCq/RTG2i0AxfSuCfxw9BKaM22k70wgoxbFuiIjZraESUAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ZRF6R0qLX4NpDMmhPzZmJ1HNxwkY1yHC+feY4l+qnU=; b=ONfwfimiJ9903HhBN1xxvN+ZCs5GCvoAZFLRIn0uL1q6gfx3u6HeA9AkmxVmjz2bVWwiSu YZ5yaLtePedgITGJEJUaf3hhEp1xOPf4ihRyulagn/a7UPPCV6b14zHl7HlnJruo28yDDQ YtE51UMGxxsCImSFkTPjplS8DJl7tLnjMDCKK3PPxcS/C85kY8nQX2GamzPZuX5kp1c5YR ms54yOq/4N2WJHCKjr5HU/wdwxfXra85zNJHc7e4rH+cX6dsPbiKpfyOR/B0v1tapCLff2 DLGCQzA/sKf7bve+31OqTtHRx97kc8cxcKjHB9+eDdnf6RHdINRGiOcn4hlUYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6382RVPzn2 for ; Tue, 24 Mar 2026 10:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32aab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: b9f9fc473eb5 - main - sound: Do not create root feeder in chn_init() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9f9fc473eb56273978df4d4c889acba2862b21c Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:00 +0000 Message-Id: <69c269c4.32aab.3c8290a3@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b9f9fc473eb56273978df4d4c889acba2862b21c commit b9f9fc473eb56273978df4d4c889acba2862b21c Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:43 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:40 +0000 sound: Do not create root feeder in chn_init() The feeder chain gets destroyed when feeder_chain() is called, which is after the chn_reset() call in chn_init() further down for primary chans, or vchan_create() for vchans. This makes the root feeder creation in chn_init() essentially a no-op. Remove it altogether and let feeder_chain() after chn_reset() take care of creating the feeder properly. It creates the root one as well. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55941 --- sys/dev/sound/pcm/channel.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index b74f76fd21ca..5e7c5772af01 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -1144,7 +1144,6 @@ chn_init(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls, int dir, void *devinfo) { struct pcm_channel *c; - struct feeder_class *fc; struct snd_dbuf *b, *bs; char buf[CHN_NAMELEN]; int err, i, direction, *vchanrate, *vchanformat; @@ -1217,17 +1216,6 @@ chn_init(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls, chn_vpc_reset(c, SND_VOL_C_PCM, 1); CHN_UNLOCK(c); - fc = feeder_getclass(FEEDER_ROOT); - if (fc == NULL) { - device_printf(d->dev, "%s(): failed to get feeder class\n", - __func__); - goto fail; - } - if (feeder_add(c, fc, NULL)) { - device_printf(d->dev, "%s(): failed to add feeder\n", __func__); - goto fail; - } - b = sndbuf_create(c, "primary"); bs = sndbuf_create(c, "secondary"); if (b == NULL || bs == NULL) { From nobody Tue Mar 24 10:39:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63C0fWvz6WTrt for ; Tue, 24 Mar 2026 10:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63B4TpPz3ttN for ; Tue, 24 Mar 2026 10:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49JB1EYtRTZZrv1gMOMnzpeGoGw4jBPpMglcEfhVaJE=; b=OPutUZ4P4AH6IL/mzQ+AAlIwbtPDle3WSzPcbF4PZaD0NzSf2trzSVkKdQ3jKYrrIXemOm cJbYi4L8SK/tww7HCNR/ZW+TUYdCW7liX/ZojCAnQxtKJ6IBbO6Lidj1zx4FQQU4nvnQ8R X+Rhb+mYA3/Bpk7immlXvSAOlatqII21rNMylPKdR1nyCG/DwwgFitvV7M/apTLYiDN1Yb 03kV+2iYdH+qjnvzGohQiyCBVeVB1xHvAAmr6i5gB+3gadJ7WL81iOaGsTdZO6Jta4D9yI m1Zl62W75cNkuE4P7kQgv02c0YtA7bo6JYnOHbOTjXJ1+yNebGgiDZ2yPE1dXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348742; a=rsa-sha256; cv=none; b=mVickomJFcVAgr0b3cYgcN0vUGhZORkSMAW5X7NnQ+BzAtOG/8Zb7ZZ1nzskZ+pPokJHml QhlOYDHumyq+yNL5Xz8cjPDNzHmhyaucXnkQ5SxMECMmhM9xmLPdWx6W/HyqYgFbDHApaU AzYGP2PimTFP5avcogm5Pjnyj5WKV9EqUYqtUjlXIFnYplg8WBWcDtg7dhRDhqXj+9j0Hc Qvh/kl28aF17lfYlGqa9qrf/2J6BGJiRqckVNThP177vC0nKBz95f0ppjSpqyQ8IAbg3Vg 2WhPB7x8hZ9xbnPz1UPXWRkEQ6AmAe7nARl+md3EAIJ0bKCzxbMmolm7Zigwxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49JB1EYtRTZZrv1gMOMnzpeGoGw4jBPpMglcEfhVaJE=; b=uXf1iITKcX7rwDuBJU/9sj2TjeNVWw6lcOuMaXBfU3dpICMvdB9CLhGXdwJCv1e1RCcSz6 9uhGhhcwHoIg6dRJnHh+HyrY/loO+Z65YnR8ODetSkWc305MU5hwVPZopvR6Ol3ZL/yYQT 6ef7107UcB6MdoNebHmekOBn8bzXQ2smcaTW7+vCqXCcwJqfYpABj+SjjBYTB2Gij3tOoh s+GLJ6awbR6s+lJm7ZeVczK+TkrTr2l1cbiTRcllF5hJsI/p8ntfg9roU3Pz5LwtyEBAaX F8VuuNHb1ANR1a+G3b8BT02xjCUeVLYuNiDsd5wwzH1LRTjDYaWQiHOc3/1qJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63B42CMzVZ for ; Tue, 24 Mar 2026 10:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3381d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 0b7f9597024a - main - sound: Always use chn_getvolume_matrix() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b7f9597024a0061b1e6c544d78bc2ed9392bd89 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:02 +0000 Message-Id: <69c269c6.3381d.68e4b9d4@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0b7f9597024a0061b1e6c544d78bc2ed9392bd89 commit 0b7f9597024a0061b1e6c544d78bc2ed9392bd89 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:53 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Always use chn_getvolume_matrix() There is no reason not to use it. We do it already with CHN_SETVOLUME(). chn_getvolume_matrix() is the same as the non-INVARIANTS CHN_GETVOLUME(), just without the additional KASSERT chn_getvolume_matrix() provides. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55990 --- sys/dev/sound/pcm/channel.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 6415f5c88984..0ccce2971c3a 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -307,11 +307,7 @@ int chn_getrates(struct pcm_channel *c, int **rates); int chn_syncdestroy(struct pcm_channel *c); #define CHN_SETVOLUME(...) chn_setvolume_matrix(__VA_ARGS__) -#if defined(SND_DIAGNOSTIC) || defined(INVARIANTS) #define CHN_GETVOLUME(...) chn_getvolume_matrix(__VA_ARGS__) -#else -#define CHN_GETVOLUME(x, y, z) ((x)->volume[y][z]) -#endif #define CHN_GETMUTE(x, y, z) ((x)->muted[y][z]) From nobody Tue Mar 24 10:39:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6396Zwxz6WV4p for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6393pHpz3ttG for ; Tue, 24 Mar 2026 10:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se7DFOKituQ1/peRn6t7NpnzFjfxGevWexBGjDCNE54=; b=qJXTS45TmHM6GBDimlpELbBM/uFIjjYi1h0p8nVBPZS1gOx7+4zZoiavXzI21eaC1LnRaw nUn0jkrrokVmx42tsRllcxx4k3jSOB7cblr1DtUfgxELHV9ttgPO1l4RYUgZKweIiOK3dU xCitmGF0Xqwoc4N9AQ3v1aKvR8A+G7xhqKEfxL0XGtC6RQ1i4iVdk/RQMQ4JNo9Zzatr0/ lu3hK4Ut3oUBTST+Rxi3wxrPWqze9l5e1Eu/yuiXy4JT5rb4355d7/FL8yR7IDOyC6RPiA +ojed+tCXXY+jLMhqcLIUE5VUxnqrNQnsaltjimlYY1CDayBhAKwpYwvIElmJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348741; a=rsa-sha256; cv=none; b=vKsIB6dXa5Zg2MUG2TNR+okJdxL8X/rmCYU1VySKSw2eXEKNdUkeeSvNl7hshwIrPxu9eN aQJaJJFIrQV/TceZy77gtOL+bUY6BMNMTVzH0kevIDB/w+a+Ib/L/BIp5W53OB8G2zug1h kBrk6ve5zkgtaDcwUwFw9SYaLLzcnX0+a9O9UjM+edwJ1eG0gkD79wjST7Z+3c5qFwj4nw NT5/8wM22xupYPxgGSSxTAiZlcfPj/TeoPzkuVsRsRpzqlq0Ax22jyJfUKSXof+rR96kBR EZExhSmIt8d9EPuqCu++jGXc6I2Dr3RGfX0vcDR7JnFhUqnE66p2CYtJyPsXXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se7DFOKituQ1/peRn6t7NpnzFjfxGevWexBGjDCNE54=; b=I4sJIRHZkaMCQ0lFSh9ilRvoDzhCyGNc9zgkrjOpkaOBOnvSGf6UV4Z2uQLmD4O+NNF0Ao 06nzmZSpPCEJdEbeuh1Go4ehlfbE3bvkjnenXQOouljFCcUcRnqjbVDbaRCn1xWA/ojwV7 CLXmLtsdUawmZOR/EsgturzPWjNuwiQFIQ+i+cZA6qFvNz7uVAwFSJYpw9L6K8jjtskxER /cXZTygawpOYWkXI+Lw65dYLOwydr8G/ld8K7TnNczSCnsisa483oycs5E7bOqNaJNhlam D9cMjiAF78NghVLk9cJZxHcTj8S7tyRWONTvuYBM3BPpbqDLXDrs2PINGNZt9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6393F8hzb9 for ; Tue, 24 Mar 2026 10:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32455 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 4324e0fa71f8 - main - sound: Remove SND_DIAGNOSTIC section in buffer.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 4324e0fa71f85f274013100d912584a042c9909e Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:01 +0000 Message-Id: <69c269c5.32455.45b18ca3@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4324e0fa71f85f274013100d912584a042c9909e commit 4324e0fa71f85f274013100d912584a042c9909e Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:48 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Remove SND_DIAGNOSTIC section in buffer.c The purpose of this has not been documented, but it seems like it makes it possible to view the maximum number of bytes that passed to sndbuf_feed(), as well as the maximum number of cycles taken inside its main loop. These do not seem particularly useful anymore. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55989 --- sys/dev/sound/pcm/buffer.c | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c index 1db9e5661dc8..0c574ae2908c 100644 --- a/sys/dev/sound/pcm/buffer.c +++ b/sys/dev/sound/pcm/buffer.c @@ -506,29 +506,11 @@ sndbuf_dispose(struct snd_dbuf *b, u_int8_t *to, unsigned int count) return 0; } -#ifdef SND_DIAGNOSTIC -static uint32_t snd_feeder_maxfeed = 0; -SYSCTL_UINT(_hw_snd, OID_AUTO, feeder_maxfeed, CTLFLAG_RD, - &snd_feeder_maxfeed, 0, "maximum feeder count request"); - -static uint32_t snd_feeder_maxcycle = 0; -SYSCTL_UINT(_hw_snd, OID_AUTO, feeder_maxcycle, CTLFLAG_RD, - &snd_feeder_maxcycle, 0, "maximum feeder cycle"); -#endif - /* count is number of bytes we want added to destination buffer */ int sndbuf_feed(struct snd_dbuf *from, struct snd_dbuf *to, struct pcm_channel *channel, struct pcm_feeder *feeder, unsigned int count) { unsigned int cnt, maxfeed; -#ifdef SND_DIAGNOSTIC - unsigned int cycle; - - if (count > snd_feeder_maxfeed) - snd_feeder_maxfeed = count; - - cycle = 0; -#endif KASSERT(count > 0, ("can't feed 0 bytes")); @@ -544,16 +526,8 @@ sndbuf_feed(struct snd_dbuf *from, struct snd_dbuf *to, struct pcm_channel *chan break; sndbuf_acquire(to, to->tmpbuf, cnt); count -= cnt; -#ifdef SND_DIAGNOSTIC - cycle++; -#endif } while (count != 0); -#ifdef SND_DIAGNOSTIC - if (cycle > snd_feeder_maxcycle) - snd_feeder_maxcycle = cycle; -#endif - return (0); } From nobody Tue Mar 24 10:39:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63D0rDTz6WTvW for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63C5Gnxz3tld for ; Tue, 24 Mar 2026 10:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDdGiwsPofik/3QUu6qbO6MiGQ5CFvzyw/rrWNmFBZc=; b=MNuI4qHbXTnk6omKdVFwVNKMNDQqXgPvN24nlyzms4BF1fqCO0ljSKnk8MHlH9iR2ZeLrn O4wR3WlPRucZGCkwiblKeO2zUPQD1SmM99qV8RCQcMvVdfegdm9UAfJ/KUxVuL38CGVe98 EM5cjx311DzAQSBWegtYOIvcyIS/KrNP175ysSkhhLrVTqJ+29VuB5T1JP6H3/662plA3q g/DF7pcKsoi48b2sWUR6dotGJgjhk1j5DKM0NQJfMnYE8PIKtpCTa1DvypdwFzTYnQEtXG Iedc65HQnNmIZUAxtti3AU9WR/e94VZrqS3no0+DlM39E2HAfCRyYnAkCKsktg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348743; a=rsa-sha256; cv=none; b=ee92cWQbIa3rtxRCijzGlxUjLL7p3HfhLXTj1EEftrEulEn/F3dHY79JI25UU/zVrNliFg iXVWivKkWzxmAPgmoCNBmnrWJatNPlziFmOgBXWok0f3zWNjQ1kFemH5g4rxxO/lAid1wj 4GHlrV6VPZWnIetqbZVlWo7jGZy3LGSbNjZKJOmgoAhsq7GKgiIOr2UWoiLL+XCAu5B8qe VcV/zchkaPkjIXoOqwYTsSyGb1k/ktUWJqfznB3LdMe5RNsgd+/SCY5+gFisMMcrdi3uSx NSq260v4cBZ7IPiL3HMSpOOoywSOghRdUxiJYk2tuluOIPO4pVl2gSX7Ie54sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDdGiwsPofik/3QUu6qbO6MiGQ5CFvzyw/rrWNmFBZc=; b=WAwGzOcgkZPSCgHp34ckTEYyVKSKrBuIHdUZv4q6gsiAxvhWTgd7A8iOiiJdo2dXMD6Qv5 7lix/luAcj7c2hyc1oPTP7961zFY8N99roGPxIuwsYYuG+m1OhxC9qzUPF8cIvOZ2CPt1V 0683VuuGlH88yLO9frwJvFqRzbObsidQo4nwiFWECG3PhlSkNYCkcOxaoBigBtNELX7HHp tOiK9G0vEjHxoOwM5FWeTdoYb7TkN/axDc/Uv+KR3xn41bu2aDbvtVyE/BiQBAa4HtH7VO G8SksR+Gi3iKtsIhu+m4idiS7CkxPVyckGfffOesvNTOhTDyeJNCrishrdEWKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63C4mgkzbB for ; Tue, 24 Mar 2026 10:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3398d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: f190fad18c38 - main - sound: Retire CHN_GETVOLUME() and use chn_getvolume_matrix() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f190fad18c385c184cb3600b7e24a362858a1911 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:03 +0000 Message-Id: <69c269c7.3398d.7b3a5cd0@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f190fad18c385c184cb3600b7e24a362858a1911 commit f190fad18c385c184cb3600b7e24a362858a1911 Author: Christos Margiolis AuthorDate: 2026-03-24 10:31:59 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Retire CHN_GETVOLUME() and use chn_getvolume_matrix() CHN_GETVOLUME() is just a wrapped around chn_getvolume_matrix() anyway, so use it directly. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55991 --- sys/dev/sound/pcm/channel.h | 1 - sys/dev/sound/pcm/dsp.c | 8 ++++---- sys/dev/sound/pcm/mixer.c | 4 ++-- sys/dev/sound/sndstat.c | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 0ccce2971c3a..22c2bf5a4d3e 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -307,7 +307,6 @@ int chn_getrates(struct pcm_channel *c, int **rates); int chn_syncdestroy(struct pcm_channel *c); #define CHN_SETVOLUME(...) chn_setvolume_matrix(__VA_ARGS__) -#define CHN_GETVOLUME(...) chn_getvolume_matrix(__VA_ARGS__) #define CHN_GETMUTE(x, y, z) ((x)->muted[y][z]) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index c1e836691ac7..4af0430feca9 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -618,17 +618,17 @@ dsp_ioctl_channel(struct dsp_cdevpriv *priv, struct pcm_channel *ch, case SOUND_MIXER_PCM: if (ch->direction != PCMDIR_PLAY) break; - *(int *)arg = CHN_GETVOLUME(ch, + *(int *)arg = chn_getvolume_matrix(ch, SND_VOL_C_PCM, SND_CHN_T_FL); - *(int *)arg |= CHN_GETVOLUME(ch, + *(int *)arg |= chn_getvolume_matrix(ch, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; break; case SOUND_MIXER_RECLEV: if (ch->direction != PCMDIR_REC) break; - *(int *)arg = CHN_GETVOLUME(ch, + *(int *)arg = chn_getvolume_matrix(ch, SND_VOL_C_PCM, SND_CHN_T_FL); - *(int *)arg |= CHN_GETVOLUME(ch, + *(int *)arg |= chn_getvolume_matrix(ch, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; break; case SOUND_MIXER_DEVMASK: diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 55b61ccb4911..6ed2d0c3ce5c 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1142,9 +1142,9 @@ mixer_ioctl_channel_proc: center = (left + right) >> 1; chn_setvolume_multi(c, SND_VOL_C_PCM, left, right, center); } else if ((cmd & ~0xff) == MIXER_READ(0)) { - *(int *)arg = CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FL); + *(int *)arg = chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FL); *(int *)arg |= - CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; + chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; } CHN_UNLOCK(c); diff --git a/sys/dev/sound/sndstat.c b/sys/dev/sound/sndstat.c index b0ac7f7d0824..c28a932c784e 100644 --- a/sys/dev/sound/sndstat.c +++ b/sys/dev/sound/sndstat.c @@ -487,9 +487,9 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) c->feedcount); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_XRUNS, c->xruns); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_LEFTVOL, - CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FL)); + chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FL)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_RIGHTVOL, - CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FR)); + chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FR)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT, c->bufhard->fmt); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE, From nobody Tue Mar 24 10:39:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63F4lX4z6WTxF for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63D67tSz3td0 for ; Tue, 24 Mar 2026 10:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=066qLbPU9XeZv+axhND/vsSK7C4wvw/4NzYESNzbCFQ=; b=NLW3cDPyLaJgC/mv0w48scVCxfYGiEBkL90lr4YM0Gb4fhMDotoWs3LSIrSbQu2DnteOui jMyHfOXiHCXi4aohbf65LgNbyu8X7q2fXtMXKlw00jZxPxyyMAK/s31vo+YnHRNpTPD2dw QtOhARxJLw/0zNXjpq8H5u37t9VrdOmGKNIDioyoZ16nS4EsZPzlah7iiQFUK9Hve+6AvW iBf/rz+Qlk0imtrPco+bOInQCUidxbDFpFoJkqtf/cwgh4laqG1fKPBoDkvU3FjrC0i4Bf BcKNOJse6IDfXko3UIJPi5ZUnTKz2Be8Y0kF/15yrE4dDZJqPRhagZoy7bjWTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348744; a=rsa-sha256; cv=none; b=hnUnGEGX7X+sy2wX+RJCEHFs0RiaFwfCyD2fQsSrJdcYyt0eYeCENmLgdldJYaK/wNme5h 5I3ysZqgezBtPpKGTLLEid3YgDWEeTlD9pOGvDYIRuXanq1DOIoY+BH1HCEDrAUF1LnrRG HhyKsE/DtsId3YqCqBHmmecyvSXy2r0DgsRbsx7EnkMBPzxnnFuZwQa5rVzNKqRnKZR84v oEtzHjOAgsVGIql4470zMvVIHDASvxFBSjGQBqFkYr24PfOMKYFC5l3IoMrfel7JkoYxAk HDm8g8hPFFsie58tbwFWPKCPnmqABO2cSx6puWS9b+1vQMuc1SuWY570w/ltfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=066qLbPU9XeZv+axhND/vsSK7C4wvw/4NzYESNzbCFQ=; b=jJPPnjkE23Un0BtJLajztiQnG5m6jimVccO13nCAl4F1WJ1Qm0TDUq9Tz+qbPeicNAin++ jPCCiCukOaqEfoS5SZJv8CEuDyjF4E5Y5iKgm1eC/KaWCCgagN5nHU/iDECOIuKZC+BUDF RtD87x5iVe+B9RzucTZfUHQEHx92h07klWnggCEGp9KIRLhzH9vlDTtgnq+aqEh5PRnxQY XdASSOo9x3jqnSeYqRjiIs3KsQshQOsheL71r7PAKix2YHv5C6Buf8pqOApmHOxc1lXD1S cC4kvd8/cBL4qU9y/85W5N33/wMwTNgCf78o1hNiDkAiOjkaaKMznbC5yN/R0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63D5ZwDzdX for ; Tue, 24 Mar 2026 10:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34508 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 127aa056fea0 - main - sound: Retire CHN_SETVOLUME() and use chn_setvolume_matrix() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 127aa056fea0714116952efb7664956e0f2b69cd Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:04 +0000 Message-Id: <69c269c8.34508.21ac81d3@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=127aa056fea0714116952efb7664956e0f2b69cd commit 127aa056fea0714116952efb7664956e0f2b69cd Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:04 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Retire CHN_SETVOLUME() and use chn_setvolume_matrix() CHN_SETVOLUME() is just a wrapped around chn_setvolume_matrix() anyway, so use it directly. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55992 --- sys/dev/sound/pcm/channel.c | 4 ++-- sys/dev/sound/pcm/channel.h | 2 -- sys/dev/sound/pcm/matrix.h | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index 5e7c5772af01..67bbfba28177 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -143,7 +143,7 @@ chn_vpc_proc(int reset, int db) PCM_ACQUIRE(d); CHN_FOREACH(c, d, channels.pcm) { CHN_LOCK(c); - CHN_SETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_VOL_0DB, db); + chn_setvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_VOL_0DB, db); if (reset != 0) chn_vpc_reset(c, SND_VOL_C_PCM, 1); CHN_UNLOCK(c); @@ -1635,7 +1635,7 @@ chn_vpc_reset(struct pcm_channel *c, int vc, int force) return; for (i = SND_CHN_T_BEGIN; i <= SND_CHN_T_END; i += SND_CHN_T_STEP) - CHN_SETVOLUME(c, vc, i, c->volume[vc][SND_CHN_T_VOL_0DB]); + chn_setvolume_matrix(c, vc, i, c->volume[vc][SND_CHN_T_VOL_0DB]); } static u_int32_t diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 22c2bf5a4d3e..0375bbfb006d 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -306,8 +306,6 @@ int chn_notify(struct pcm_channel *c, u_int32_t flags); int chn_getrates(struct pcm_channel *c, int **rates); int chn_syncdestroy(struct pcm_channel *c); -#define CHN_SETVOLUME(...) chn_setvolume_matrix(__VA_ARGS__) - #define CHN_GETMUTE(x, y, z) ((x)->muted[y][z]) #ifdef OSSV4_EXPERIMENT diff --git a/sys/dev/sound/pcm/matrix.h b/sys/dev/sound/pcm/matrix.h index f4a79fdc3b30..ffac162f41a1 100644 --- a/sys/dev/sound/pcm/matrix.h +++ b/sys/dev/sound/pcm/matrix.h @@ -176,8 +176,7 @@ /* * Multichannel interleaved volume matrix. Each calculated value relative * to master and 0db will be stored in each CLASS + 1 as long as - * chn_setvolume_matrix() or the equivalent CHN_SETVOLUME() macros is - * used (see channel.c). + * chn_setvolume_matrix() is used (see channel.c). */ #define SND_VOL_C_MASTER 0 #define SND_VOL_C_PCM 1 From nobody Tue Mar 24 10:39:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63G6KHJz6WV38 for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63F71K2z3tpL for ; Tue, 24 Mar 2026 10:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEQ969xxvzrffjO6kvOE+slt7sLx5ODCcW/DMMk2lrA=; b=y3QYR/QVldgsfDi/UnvAVPCMj/vZuQyHbIRbNH/lggcbHUK3q51W5yWAoCgfNhNZMgugd2 q7HnaEwAwYxIPJhmp+VioQf3jkmnugormo0meIOiaofUZd3en8zN6AVfXmrCNDDQHcGvBS eq60DmkCPoju9kGIulr2Xy4Q48S7EihhI6UGAWvG4SEShcwNsf8LWma7M4KoHPqkZha9yR fiI5qOvcvc28bNiwQB/I0JR1KhAT68417gjQl6yXXUbxeILecLBMfx3BOYL1IdEKZfZc8c She+wgasFJbUToIXSvzvzYX0YdVFSF9kfhMUcQohIkm/wr+TEwwPACPJ3IMgZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348746; a=rsa-sha256; cv=none; b=n1u6vU/OUXbDj6Fu2q02CFpkjy4lOyHvc3A4+EkVm1QQORD3sDkpIwipsj9CtZ9AfRPhGy Fj++nTUI3gra3osm4B4zwYwJU/tgqpErKt94FP5cH1ipNj74Ha6R+bnpXAC71xnC/7A0KW 8NogiLxNw4w40TWrsoIegoTwYQ4a0BOaMcDBIaybmQRrSaMPXp8VcYlCCjUWAiM0NFDDqV f9WhWZpamJuWZZLg09f7R4bUPYYbYCJjnHUgzjxEpzH+AqUjsGO/A/rkwESOj3f+DGLrUe 577Vaq+/zGQAodsnveOB6gpPV8mFQS24Qp7k2lJnf9mF3a6V3MI4Hzs+bATphQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEQ969xxvzrffjO6kvOE+slt7sLx5ODCcW/DMMk2lrA=; b=S3kc+e1i6t39uLm5ngAmNxWE8F6iVoG2GYvmCvONTOx3yFu4LCKItzhP0D0E6SCnrV5EWP RkqrZK+PPl17EKmN4Yq+UMeeXShiBMNxf5LPA2hsQkXS9IhArvHpmaSq4Z32vaPRoylYI6 jBZulSGYqYroWvFCWpJpTVzV3+PWwNJaWTFFThBz9AivZoojbMCpCUGnfyL4wBgmCezwPF DoxtSIL6DnCkDxQTO3QZt+emiZ3zsJUHduEFuaYkcrR/ynR86WWL4Rz1IZsg+ILSpImsGg SLR2IFidiCNv+YqGbAGZny1ZLUYMrxMAl9327AUS8N10MzFrV+xQ+eY4E9h+LQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63F6PLGzVb for ; Tue, 24 Mar 2026 10:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32459 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: d171d5b8b5ac - main - sound: Retire CHN_GETMUTE() and use chn_getmute_matrix() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d171d5b8b5acb145efb41a57a2a8f3cded59a484 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:05 +0000 Message-Id: <69c269c9.32459.828b324@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d171d5b8b5acb145efb41a57a2a8f3cded59a484 commit d171d5b8b5acb145efb41a57a2a8f3cded59a484 Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:08 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Retire CHN_GETMUTE() and use chn_getmute_matrix() chn_getmute_matrix() does what CHN_GETMUTE() does, but with a few additional checks. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55993 --- sys/dev/sound/pcm/channel.h | 2 -- sys/dev/sound/pcm/dsp.c | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 0375bbfb006d..dbacbdd894f9 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -306,8 +306,6 @@ int chn_notify(struct pcm_channel *c, u_int32_t flags); int chn_getrates(struct pcm_channel *c, int **rates); int chn_syncdestroy(struct pcm_channel *c); -#define CHN_GETMUTE(x, y, z) ((x)->muted[y][z]) - #ifdef OSSV4_EXPERIMENT int chn_getpeaks(struct pcm_channel *c, int *lpeak, int *rpeak); #endif diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 4af0430feca9..797bfba81023 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -607,8 +607,9 @@ dsp_ioctl_channel(struct dsp_cdevpriv *priv, struct pcm_channel *ch, case MIXER_READ(0): switch (j) { case SOUND_MIXER_MUTE: - mute = CHN_GETMUTE(ch, SND_VOL_C_PCM, SND_CHN_T_FL) || - CHN_GETMUTE(ch, SND_VOL_C_PCM, SND_CHN_T_FR); + mute = chn_getmute_matrix(ch, + SND_VOL_C_PCM, SND_CHN_T_FL) || + chn_getmute_matrix(ch, SND_VOL_C_PCM, SND_CHN_T_FR); if (ch->direction == PCMDIR_REC) { *(int *)arg = mute << SOUND_MIXER_RECLEV; } else { From nobody Tue Mar 24 10:39:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63H5l91z6WTs8 for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63H0jmyz3tpc for ; Tue, 24 Mar 2026 10:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pzzvqnc+it3lAc1JGMByIilP6uIl9Japm0CKSWjqefc=; b=X0eYdd5jIvuJZnkpjCxXo7WbtsK4Zpp2XafAR20lz+F+amTfTsiNVAOqKe6pD5lXF3IY9d EhnGckIlaonlpbB23N2nDdY8u8UDgH7xyp4eRwC6uaE+/5o1oVYaF8SSD5oCUxIvu5JFgC TPGu+YcrK9d/zTZZFugeL1dIE3hjiq1cw+3aUroRwrVUAcRc6R/AFF1FDIi7csYJH2rpca jcncZjbE/RZN5FVfXGRT7AEv+6leIgAxs+cljd9hdM6Bz2JLN4M4kO0UuepQFYDDKZxRAb bjo/8tUsNSPhjUXEtrECgyWVXTyxkhrj06nQKLwPYe5OymcBq6KJ+aMBBY5JnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348747; a=rsa-sha256; cv=none; b=Rp4M+S/+72SDMSpfIAM0NSqYcgWd8NUKiOXZq0A4Se19OwmD3jGy0EPHEOJ4+bmkGkYeYL XtCV4pQ1Tw0COpr6PAkRauF+Uog5xkp8F2lbQ1zJpurd5Dy8NExE8i7BhS82w+VVPkLXSF /U0+SiQY7pJpVYHm58RZD4bNtWrHH97rkxIP2vJPZe6LxN0/Ew+Ugwu6Ui8IqsdtFVlXeG wq3hSyfAVKUVyq8Kg+rzTO88d5e84PBFUR91B8zcfP8/RXDsmI3ITYVo3/uqeAVcABVRiy gUJBYHBAVfIMXII4Aqo+vu0fVN/x6pOE7D8M3VdlX6sK9xfrj09NMnmCSqUkpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pzzvqnc+it3lAc1JGMByIilP6uIl9Japm0CKSWjqefc=; b=oM6Oqn03v4/GTFbczMm5DFApvJEWx4KL92ldvo+U9+5QhrI6ZUhdNAbzO60WVlg86NWTzU dYy5s18PzcLJt4w/tmIUHeLPQC+6X/e/fu6nPWhEyhNIBCXF2CJqjEIKcbob/l9XuVdK7e QAByrqI6ucKbmhHAU3SUEuU4Fl51DiEwLA9SJQFuoTrBpnEZWmBl1LB4kYOyRZ4hbRAqQ6 +6giN8H3AfuNvC0klsnQ+OL7ETS5QXtkby+Uog0UhpWb45lGCKnjEK3w4Db8cl4d2GSgDL cJfzXVN915qYnzN2CafHXFcd6Hq+NApHoUfiqxvugiHQNbv5nug45SExvb6TIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63H08QXzq7 for ; Tue, 24 Mar 2026 10:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 328fc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 72e85a4d977e - main - snd_dummy: Add to sys/conf/files and sys/conf/NOTES List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72e85a4d977eff23fcd2b12a3513f0e8fd2ac332 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:07 +0000 Message-Id: <69c269cb.328fc.1f47684d@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=72e85a4d977eff23fcd2b12a3513f0e8fd2ac332 commit 72e85a4d977eff23fcd2b12a3513f0e8fd2ac332 Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:13 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 snd_dummy: Add to sys/conf/files and sys/conf/NOTES Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56040 --- sys/conf/NOTES | 2 ++ sys/conf/files | 1 + 2 files changed, 3 insertions(+) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index f1ac46f5f087..136a795cc83c 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2089,6 +2089,7 @@ device sound # snd_cs4281: Crystal Semiconductor CS4281 PCI. # snd_csa: Crystal Semiconductor CS461x/428x PCI. (except # 4281) +# snd_dummy: Dummy testing driver. # snd_emu10k1: Creative EMU10K1 PCI and EMU10K2 (Audigy) PCI. # snd_emu10kx: Creative SoundBlaster Live! and Audigy # snd_envy24: VIA Envy24 and compatible, needs snd_spicds. @@ -2118,6 +2119,7 @@ device snd_atiixp device snd_cmi device snd_cs4281 device snd_csa +device snd_dummy device snd_emu10k1 device snd_emu10kx device snd_envy24 diff --git a/sys/conf/files b/sys/conf/files index c6151b0b73cf..15cec09192bc 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3209,6 +3209,7 @@ dev/sound/midi/mpu401.c optional sound dev/sound/midi/mpu_if.m optional sound dev/sound/midi/mpufoi_if.m optional sound dev/sound/sndstat.c optional sound +dev/sound/dummy.c optional sound dev/spibus/acpi_spibus.c optional acpi spibus dev/spibus/ofw_spibus.c optional fdt spibus dev/spibus/spibus.c optional spibus \ From nobody Tue Mar 24 10:39:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63J31bHz6WV4y for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63J1LXyz3tvH for ; Tue, 24 Mar 2026 10:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rMQDk27PZEHUZqY4GnQSTal7RfBO13op11wWCRA7hDM=; b=SrKwPl3l7nDMiUgMZWK7gwCGvE/yM9M0IkzFWXBGArudWt8HoH0/Ar2f7ADqz3ab3HTN3O OkvEdSU2hy3cspPpcpt7kcjkpwZSc3nYazeepkJguqHerDVOr0m9/zAXcIsfG+V+FSkpNX Lh+lNUZBWoC6/aD/CDOC+wgBpsPPt6Gbqlt3+W0FfRtVl1N5VpEECvlFfP0BDy6/2PG4Fe 6bQASk8TWr3iYPOOegkHR7ehIeZJNO4rFJ6IX6CysUWFr62MIcgQfZRjcgNwxqWTSERBrq mU72MRIqeD9H5Tnce87Dex7DUzGIAPotdmoyhTCvH6nJ7dyKeZqbllR1Kmh8+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348748; a=rsa-sha256; cv=none; b=IkIqwB9OBcrF7tAqVuY4PtPqGzERIwdDy536EpaLtkr6jfxwdF9dsLq2aEbLiijpv1p/gS tddlvpIUqXCPPy8ceqQJJVlsickA/Pv4sF9qn0x9edIVszFsQ/kt0a2n7EUYijjAOH1/Z7 li5CbckFTY+9o05xrFPvf5oHjM4I6dBHSZ3x+z2/5m8SPzqebwte2belnx4qNcngy+LElk uRWPpO+13hlS8O8gnTnLVErIpsPq3N8Lx9SgFRvpvFU8g/E3mBia50Q6ysG3sghfj7J2el UPYBtfTMIbZSo+Sx/rG0QNjxCl4WZE9lT4bhmw2XAe8PoYtpvOo3e95nuo8bvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rMQDk27PZEHUZqY4GnQSTal7RfBO13op11wWCRA7hDM=; b=Iid/01G1ScfH5VEnVRuaSqTj/NkGtwVY3PRZTXRBVNdBOaJv3nqtVJw9qO92NuBS7SLKX8 gkf/KcN1wKbbUm3NOGogttUavK6QqUWxEmBXHsqa0GBC4boKsTruLPHKTSopF9Lq7HY75R JvvpoE6Oo8dzJLNLDimbdHV7nHjj02ZYCyUrMw86jtgJKqVskoZ5bc1Fyp71RyIMcEY737 2tayo/Rj7pBao2Cuglc86fypOGDbETLrAsMJIGUnX3jGU9UKsnsi3NaG+GsrWD7MwN5xg5 iZITYQcxue64kKMqHJuXM9ixn7rZAix2jJbmOqw3W7sTFL17RtlT9v52RXaL3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63J0vJrzn7 for ; Tue, 24 Mar 2026 10:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 337a6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 0ee951519316 - main - sound: Remove most Z_RATE_* aliases List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ee95151931688e3d321ea7fb13e037b211a40ba Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:08 +0000 Message-Id: <69c269cc.337a6.280b5359@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0ee95151931688e3d321ea7fb13e037b211a40ba commit 0ee95151931688e3d321ea7fb13e037b211a40ba Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:17 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Remove most Z_RATE_* aliases They introduce an extra level of abstraction for no reason at all. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56041 --- sys/dev/sound/pcm/feeder_rate.c | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 03bdbbc789bd..8c69f0b4f3c2 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -89,17 +89,6 @@ #define Z_RATE_DEFAULT 48000 -#define Z_RATE_MIN FEEDRATE_RATEMIN -#define Z_RATE_MAX FEEDRATE_RATEMAX -#define Z_ROUNDHZ FEEDRATE_ROUNDHZ -#define Z_ROUNDHZ_MIN FEEDRATE_ROUNDHZ_MIN -#define Z_ROUNDHZ_MAX FEEDRATE_ROUNDHZ_MAX - -#define Z_RATE_SRC FEEDRATE_SRC -#define Z_RATE_DST FEEDRATE_DST -#define Z_RATE_QUALITY FEEDRATE_QUALITY -#define Z_RATE_CHANNELS FEEDRATE_CHANNELS - #define Z_PARANOID 1 #ifdef _KERNEL @@ -149,9 +138,9 @@ struct z_info { z_resampler_t z_resample; }; -int feeder_rate_min = Z_RATE_MIN; -int feeder_rate_max = Z_RATE_MAX; -int feeder_rate_round = Z_ROUNDHZ; +int feeder_rate_min = FEEDRATE_RATEMIN; +int feeder_rate_max = FEEDRATE_RATEMAX; +int feeder_rate_round = FEEDRATE_ROUNDHZ; int feeder_rate_quality = Z_QUALITY_DEFAULT; static int feeder_rate_polyphase_max = Z_POLYPHASE_MAX; @@ -220,10 +209,10 @@ sysctl_hw_snd_feeder_rate_round(SYSCTL_HANDLER_ARGS) if (err != 0 || req->newptr == NULL || val == feeder_rate_round) return (err); - if (val < Z_ROUNDHZ_MIN || val > Z_ROUNDHZ_MAX) + if (val < FEEDRATE_ROUNDHZ_MIN || val > FEEDRATE_ROUNDHZ_MAX) return (EINVAL); - feeder_rate_round = val - (val % Z_ROUNDHZ); + feeder_rate_round = val - (val % FEEDRATE_ROUNDHZ); return (0); } @@ -1408,21 +1397,21 @@ z_resampler_set(struct pcm_feeder *f, int what, int32_t value) info = f->data; switch (what) { - case Z_RATE_SRC: + case FEEDRATE_SRC: if (value < feeder_rate_min || value > feeder_rate_max) return (E2BIG); if (value == info->rsrc) return (0); info->rsrc = value; break; - case Z_RATE_DST: + case FEEDRATE_DST: if (value < feeder_rate_min || value > feeder_rate_max) return (E2BIG); if (value == info->rdst) return (0); info->rdst = value; break; - case Z_RATE_QUALITY: + case FEEDRATE_QUALITY: if (value < Z_QUALITY_MIN || value > Z_QUALITY_MAX) return (EINVAL); if (value == info->quality) @@ -1439,7 +1428,7 @@ z_resampler_set(struct pcm_feeder *f, int what, int32_t value) return (0); info->quality = oquality; break; - case Z_RATE_CHANNELS: + case FEEDRATE_CHANNELS: if (value < SND_CHN_MIN || value > SND_CHN_MAX) return (EINVAL); if (value == info->channels) @@ -1461,13 +1450,13 @@ z_resampler_get(struct pcm_feeder *f, int what) info = f->data; switch (what) { - case Z_RATE_SRC: + case FEEDRATE_SRC: return (info->rsrc); - case Z_RATE_DST: + case FEEDRATE_DST: return (info->rdst); - case Z_RATE_QUALITY: + case FEEDRATE_QUALITY: return (info->quality); - case Z_RATE_CHANNELS: + case FEEDRATE_CHANNELS: return (info->channels); } From nobody Tue Mar 24 10:39:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63K5yZSz6WTsH for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63K2Kdfz3tmS for ; Tue, 24 Mar 2026 10:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SGI+ciXk0pv+DvMHI+TzK9F0SLZFggdu7gL8+jWGnfI=; b=BTao/jOSHTPwlPamT8xLguwV+y/j53RbM7g0Sj1hZUfRl5m5oXsAczaSnwzdi3GeKRtxIv 1hi4nQcrQ2u8LtQxA3b/EqcEYusj8RCPbQtIfTniEjAFDBf2opkJbpuCZrU2Up4pnKCZc8 W21fuhCnArn0DFjhBiGqRlJ8G02DvDkPNMQyIpzfruMBioEcXOutr7zA/G9Stbu4aHdaQ0 tJLr27Lx50ZqEvRBThmOReD7JSZ0exS7F4bgHCn1GnjgPUrBZVo68pDxxtAh1TdE6XwJMP dCNO3ly61C9WV6boG19oWlf6N4oeWu/Z+0l6rsgph+CyUSV8WMhiZ7P3Mx6z7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348749; a=rsa-sha256; cv=none; b=vAefDZldIdrz3WTo2tcCBAQaH9wU+Yv0+mr3P/+r/kBcWppab4ya8EmduVjILavhIkiCL0 /83Jthe2Kvk5FBObNBaqeyxJoTfsZL2WdZ0PPh8fhcMFJOM/du7nPnNwL534YheTLq27U2 R7HVxdTrfSo7rzE1ZyR/D3TIUV1vNTpLrFuDoN6yXWjKCbu4B8olWt1dISvuuMTIuTEC9k g95p4NLzbvMlx7BTzgBd4bElHDTqRDo2xHJ44SVzItmo7xFMoH0MftZPKYO29jUQYOzyFm gKHnP/TB7qslittjxf880slOw51oFUXhrlU/7DYVznWDSe0dnVDMaqQDAC/JdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SGI+ciXk0pv+DvMHI+TzK9F0SLZFggdu7gL8+jWGnfI=; b=NafknMpZ+FDGo87KNsMdQilvjTCgsyRGlyGAVpk2LZ3/N0ByMU+/Yd2bd91vkEFyn0IaQ6 XjT6RfEAFFE7s0/Zql/g/SzC7qSAEZ+ouPntEt1NOZP5ZRzKbxttCtb/iqN48owKAr2fRx Ueswnkw+72H/4qs3B4VgDYmeLgfXvi2C4w3ShBpyYej9OdIUjk82mnlDjMBNY6PiEfvcLh UTuZAhw3ArXWV6E08KiVj4iS6CO8616+VkcZURhiCKT2tzntX0WhEpZHTnSD8G6yNM3/JY dKI+4b+jOpGg/hz0eYCQ1ocFdtXp9SGUMIjXJPMi2MR57tBZ7ZL7bn4HPoA9/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 4fg63K1f8lzsC for ; Tue, 24 Mar 2026 10:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33728 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 6b91c8d5d2c3 - main - sound: Retire Z_PARANOID List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6b91c8d5d2c35c4c6231eb172b514f95ce6e10d7 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:09 +0000 Message-Id: <69c269cd.33728.3eec0842@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=6b91c8d5d2c35c4c6231eb172b514f95ce6e10d7 commit 6b91c8d5d2c35c4c6231eb172b514f95ce6e10d7 Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:22 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Retire Z_PARANOID It is always defined. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56042 --- sys/dev/sound/pcm/feeder_rate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 8c69f0b4f3c2..173f7811f547 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -89,8 +89,6 @@ #define Z_RATE_DEFAULT 48000 -#define Z_PARANOID 1 - #ifdef _KERNEL #undef Z_USE_ALPHADRIFT #define Z_USE_ALPHADRIFT 1 @@ -703,7 +701,6 @@ z_resampler_reset(struct z_info *info) info->quality = Z_QUALITY_MAX; } -#ifdef Z_PARANOID static int32_t z_resampler_sinc_len(struct z_info *info) { @@ -741,9 +738,6 @@ z_resampler_sinc_len(struct z_info *info) return (len); } -#else -#define z_resampler_sinc_len(i) (Z_IS_SINC(i) ? Z_SINC_LEN(i) : 1) -#endif #define Z_POLYPHASE_COEFF_SHIFT 0 From nobody Tue Mar 24 10:39:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63L6FrLz6WTxT for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63L2p3zz3vB3 for ; Tue, 24 Mar 2026 10:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GeuO9NkxUUs3rHp0VzuzoGicsA5cHBvrpWA74qgvurY=; b=vKxoF0JE1vGkw2AvbHF87kkSGwzKdPnF1z6JfsocSMo7TjJYEEP2kwMfUH2GVSjzdFjgqb RojFbcGOFWzNQlq+pb1Zt5orj4vGAla9qvRF8j76J58T7k25fE3aYyzus6/DBvvUxlUt8n SsTDFHNQZJTZbSBNr8xmP/P32U5DqU51nP5DVts7Y7Kdcze3YNFdgBzSgnVYCApMorO/Xc Uaqq9ZxK8/vcboW+0yCfmNcjuth0ylxGxY3W25MKoVfJgm7U4pmNKp22gSqSFOcBe7sWff +XVXSSK3jAjPUszQ8xiSBR/M6JHLlDGfRgC7y7HO4Z7tcc/twohtEOvo++aIbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348750; a=rsa-sha256; cv=none; b=uZFxcF75486qZBGsMM34Oq+sK77ISEhVe+qvBeUq7z6Glzk1vSiwA/BBPHJUdCw9u3kjd9 yjtrL1ZGZILxc8CQdnLJr3Xd+R1Uq6wIwOFAPXbBthuCrSiunYabi5+1K0D+U38lSdhjWG obyr/dU5QLM0I20Umi8eoI820NwvFR35OHhqAM3hzpX0kdn/VtRmEShOM0ZZMQK0QpjXGC rF4G6KIquHmw3yAQkE7js5hJBf3BG7Ai+SY7SfrjKwj+B0sQa9I5HqrI5Ol7dCm59aonF4 Ydu2p6Di7L+rI5V5zwh39cBv8kEQq70gBDnwQ3f5qzpQQBWWYG51/F//y30Ttw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GeuO9NkxUUs3rHp0VzuzoGicsA5cHBvrpWA74qgvurY=; b=C7mdJnPKRIobWUAAsRYfQQhrXOMzqaAPysLzFs3JG+AMMbWE6kygPJNnM6byraWYQeRmiN ywRsUkWc5/aqNKQK1mIE3utqnRrSMm8YH//MFKHGr8kUgEAJFCuStX6mpuuW7gwif1ljKh KKVw+0INqjU37jII8zVl+39ztgFF3+wOvOH9oySqJHdBHIN9CewrWZE2jvyiQtjZd/cr19 QDj9lisVMfbq1W9wRFUOFQ10xOtpyTuxBi6lroaOAcDL4qQK6QzXA1lLGSs9YDwrtHw0W8 jSBwo7XLYvqLLn4+2He1kXsxOYPdtuZFbXuFpBmmrXp6OO6WY9MaImVLbPB+lw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63L2LHYzq8 for ; Tue, 24 Mar 2026 10:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34600 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 71c46c8c901b - main - sound: Retire unused emu10k1-mkalsa.sh List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71c46c8c901be2a6e0708c912f0d766d49e5b335 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:10 +0000 Message-Id: <69c269ce.34600.5c4ab656@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=71c46c8c901be2a6e0708c912f0d766d49e5b335 commit 71c46c8c901be2a6e0708c912f0d766d49e5b335 Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:26 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Retire unused emu10k1-mkalsa.sh It is a legacy script which is no longer used. Its utility is also unknown. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56043 --- sys/tools/sound/emu10k1-mkalsa.sh | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/sys/tools/sound/emu10k1-mkalsa.sh b/sys/tools/sound/emu10k1-mkalsa.sh deleted file mode 100644 index c6a2ba462560..000000000000 --- a/sys/tools/sound/emu10k1-mkalsa.sh +++ /dev/null @@ -1,20 +0,0 @@ - -GREP=${GREP:-grep} -CC=${CC:-cc} -AWK=${AWK:-awk} -MV=${MV:=mv} -RM=${RM:=rm} -IN=$1 -OUT=$2 - -trap "${RM} -f $OUT.tmp" EXIT - -$GREP -v '#include' $IN | \ -$CC -E -D__KERNEL__ -dM - | \ -$AWK -F"[ (]" ' -/define/ { - print "#ifndef " $2; - print; - print "#endif"; -}' > $OUT.tmp -${MV} -f $OUT.tmp $OUT From nobody Tue Mar 24 10:39:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63M6LDyz6WVB2 for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63M3ZVnz3tvt for ; Tue, 24 Mar 2026 10:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kWbh1CKN3KA2CbuP6tB1ERNDdQ4Awj27+9nVUGiROFs=; b=B/oNiZcv/ld5jHqTBZBYv2NohF2NCZnhxJTULjcnu8okAD/BVMTtaiCVdlgPKGel+oMiHQ S+nDEC0WpoYc3WhRhgTSKc+5qjxW8FWkN6lQlfbAdyYwOdsMekIlovPy74l+CKRNNGtxQW 2iavBdBuUdZ3yE2TkpplEcJbU7LCoCTG0yYKhDFDTcpT3xA0vWVv8KN81eG00eqKoxJbbh 5FiwWphzQ3e+RgCz3R7R437zMFRxd2TAKNNLHhnsWuFvngckgVAQiKYc3F1PuM7IH8VcEi T44ldjBa4TMaMo+Z8X+W6fJR0yGtiLzcxTvI2UqgBql7xwtU1nHOXYSo0daNBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348751; a=rsa-sha256; cv=none; b=mWFAFTAb+q3CFDOPnpXlBP7M9WCM5P3aIiIvAY1c4Qvvy4ybJuqp8OTskANiFOPK6C1FRt +Io1mo502dHVfIkrQVx0lMP+kfMOJJ3EK8ArCnuFrVVLi0KFS6/YE8BDBSPzTvsNSnTx+B 8U0E1o383DzRprk46RYmf5J0B58sQglCPDV07LBf/c7Vz29YqH29Te21ieapGdoIEWUSkI ve1g+IqDU5uTOvW00+S4BJ5f5wFH1cHM01HnBdoXwyKj4a7U9Q5EhVNPHPSs0OA7DXpLu3 Oy00yQi/Z6E4JERymsZcbKSmyex+pG1nXvtbbLZVFkPbHe0QDC6VFPzmVZBQlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kWbh1CKN3KA2CbuP6tB1ERNDdQ4Awj27+9nVUGiROFs=; b=I7lzOCCxXjC5Lckr0J3A1QqdqyYeN8pbygu3fTYh+rP2ozn8z3NYnjSVkGhR/xCBVzzq0p jWBwox9TaEyqhg8Be3wH3wZB4HBmUKBDeitL6A9jppYKIqoxtZxFsJ/tpR+yjRxu2XZVW8 xGxxuOkkucJVfvSOyyzynhkN3GPwM4RuvR650PdrKSHeTe3CQ8hSuNfAN/Cv8qj/bN9896 0K1ek33MyDmvgQy9cFpls5T2zhPL5uXJUfc7u6iQaOsriM1jPGhxnXioYBZwH4HaMpTYwo o1uDUzwTTeIccOYPRV9xG9EWO23d6JsiJe8pOmSZ8LNpnT8Lvrdha5a3HFKPhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63M38yWzMX for ; Tue, 24 Mar 2026 10:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33f46 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: edad981e1e86 - main - sound: Address some XXX comments regarding AC'97 IDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: edad981e1e8673b6dd14656fe75b9f239fb777ce Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:11 +0000 Message-Id: <69c269cf.33f46.3ca98a22@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=edad981e1e8673b6dd14656fe75b9f239fb777ce commit edad981e1e8673b6dd14656fe75b9f239fb777ce Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:31 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:41 +0000 sound: Address some XXX comments regarding AC'97 IDs These seem harmless to address. Not sure why the original author did not just assign the appropriate names if he knew they were wrong. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56044 --- sys/dev/sound/pcm/ac97.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/ac97.c b/sys/dev/sound/pcm/ac97.c index 14ff2f6a62ab..85f1f7ccf4d0 100644 --- a/sys/dev/sound/pcm/ac97.c +++ b/sys/dev/sound/pcm/ac97.c @@ -125,12 +125,7 @@ static const struct ac97_vendorid ac97vendorid[] = { { 0x57454300, "Winbond" }, { 0x574d4c00, "Wolfson" }, { 0x594d4800, "Yamaha" }, - /* - * XXX This is a fluke, really! The real vendor - * should be SigmaTel, not this! This should be - * removed someday! - */ - { 0x01408300, "Creative" }, + { 0x01408300, "SigmaTel" }, { 0x00000000, NULL } }; @@ -238,12 +233,7 @@ static struct ac97_codecid ac97codecid[] = { { 0x594d4800, 0x00, 0, "YMF743", 0 }, { 0x594d4802, 0x00, 0, "YMF752", 0 }, { 0x594d4803, 0x00, 0, "YMF753", 0 }, - /* - * XXX This is a fluke, really! The real codec - * should be STAC9704, not this! This should be - * removed someday! - */ - { 0x01408384, 0x00, 0, "EV1938", 0 }, + { 0x01408384, 0x00, 0, "STAC9704", 0 }, { 0, 0, 0, NULL, 0 } }; From nobody Tue Mar 24 10:39:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63P1Fb5z6WV3f for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63N4WnSz3vBq for ; Tue, 24 Mar 2026 10:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAUvba+rZPPIqLG2KvkhD7iaC1JpOouVQvcTXf95Li4=; b=geS/CYnoviVhbj0fqb9r9mUIPp2nrUchkNDPAc90blj7msGkDp028rKYrOGJopXzUhM+7t fRnXIXogwxOHUFUtZr2zFjII3W+r1JlpcTdkR5qk+NeSEPdcZdNGdiLJFLdkj1Gd9+ozq+ F9x+y0lVL5a9Ct/3K+ZsU5+1IR3JFrxU5S9TUR8bt9z06ra74hbxspiO0RLjvjrbwi3wDH kTw44/+4JLKqW59Z5Z4kFU/bcriaStrtszbIPaanoScmE6OAVWrplYmJYVmwGtgByoK0Za 1/JuaLidZruzaTcK7IOmc5aWs6xFZesjuV9citDEeup4kmrN/pOiv+xhIRA4pA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348752; a=rsa-sha256; cv=none; b=U2LUX9Q9Tt6QGzfvo/8cah58pebs3rMg66YeAcmD3/CwF5UWrAz8P9ucrsmouW79NvG/Fr 2W1H6f96XaeR3eAAavE4Hkzu0c0p4PyNidQsLa3648LpdI+iqaORlLf84Cr7XcHdIOnkEF JDZm85WLZtrLyC9byD2QZElPdTEUu5u9o0sn8kvqUa7LuMHQo/WfTXfKaDAsXUYVuMCltH yRdRN2vbpoNLzcYVgo23lu25VEQamJIBaNN+iukqmcVzryK7Whq0f8DMpNeT9nz1bP4JcB pQzB1z/nIpWve4TegY+vHp+ZHZsb9NMmfoLU932d6pOBBz9637Tgm12NNT/UlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAUvba+rZPPIqLG2KvkhD7iaC1JpOouVQvcTXf95Li4=; b=A/ptxFEfBgGr/mcDgXFHKcWRDozrCIPM/W3Wsd+EzhFy837gS4SAFbHsotiDRRx1ogKsal ZuRU25SputuArRjBHljcI54EOGe0dmHQX/O9DFVLl7lGJDUh9iyUmDAxee/dMO9lpG0gfX SWXsP1QIi8ozjS+oHGLbNWJzOgwnAR7sSZe5kZCOmQRhJdg4HL2hn7qtQQM3zk5/GF39Y3 B+r1OA0cZCiAGxNXNpULx317syEw3zczu4lM9yQQ6d4L4zOzh8K9EbX7IsDObdtkke8qXP gDackJQh0iAQUL/7ck+nt4v10eNwSLyBitOAEnlNNj63PdnxuKeV/GqgQIT7Gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63N3x7GzVd for ; Tue, 24 Mar 2026 10:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 334b0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: d048cec5fb41 - main - sound: Remove dead code in pcm/ac97.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: d048cec5fb41cf9529dd0b637a51c7ee72b59b3b Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:12 +0000 Message-Id: <69c269d0.334b0.65b3404c@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d048cec5fb41cf9529dd0b637a51c7ee72b59b3b commit d048cec5fb41cf9529dd0b637a51c7ee72b59b3b Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:36 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:42 +0000 sound: Remove dead code in pcm/ac97.c ac97_uninitmixer() does not exist also. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56045 --- sys/dev/sound/pcm/ac97.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/sound/pcm/ac97.c b/sys/dev/sound/pcm/ac97.c index 85f1f7ccf4d0..73a1e0280e56 100644 --- a/sys/dev/sound/pcm/ac97.c +++ b/sys/dev/sound/pcm/ac97.c @@ -1094,10 +1094,6 @@ ac97mix_uninit(struct snd_mixer *m) if (codec == NULL) return -1; - /* - if (ac97_uninitmixer(codec)) - return -1; - */ ac97_destroy(codec); return 0; } From nobody Tue Mar 24 10:39:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63Q0VSMz6WV0n for ; Tue, 24 Mar 2026 10:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg63P5SxRz3vC6 for ; Tue, 24 Mar 2026 10:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8S+5C5KQvGYzXXJlAgXp7VJQZF6ODV5yupN/pPr6hVA=; b=pgAQrvjUyveSy2dtpHhxtdnZaBcBPCROJlV911jSLuHVM3jPKiYr6okJic5VtJFB8UZ0qn h9IBtI6WVIr8X14NpFrABrriIMqbfFCipEB+cd16az8w/dkxMU1opAjlKEbagQWLApw+T+ fx1cX7oCz1tl5Qul+VLsWTqzH2Dj9+QaVwDIQGHH5m1Jkf9MYsDeudqVPtR7tyaOm7wuDO OrO7tvFEREWYJ6my6hD/+0B7qPVavknASd/EzpBSpv4YBGSxsZuvUteIJ7LxrKhC37IePk ycyfBwV0o4EllNI7m2l3e8smEZVZFfcQk/SXuo2m8luIpS0fBheuhXTDVkxo1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348753; a=rsa-sha256; cv=none; b=O8/QcscrghMO0zbTb4z/kULfTtX64h/g/fZfm2SGIbGr4g/GyxFyUmu86FmTCeTnqcH2lP 9mYxwmSdyUqr2MdVIalk5evcbF4KbpO+WaaTcSex/ZGHFoW6DvzAOl3gIsDfD7n1wfVeAK Q2GOCYbYqX6Ei1Yd3gPyOD6NxHTWF2PXlXQ3vtH+tEWOhWOdKHlhUfqc4glxfnvNu0nviy Any4E/va2E1OkMQswWxMKE+U22qtp67vJhcTGNqujJ5QTmaiqqV4G3vvkz+Lh2fQ2TIVTd SG3x4TxmSK9NYLcrxHu6ZZoVWFln/67eO6SuLmRDBe93qT2EJaZxFbVGn/U1JQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8S+5C5KQvGYzXXJlAgXp7VJQZF6ODV5yupN/pPr6hVA=; b=r74UOfTte5qnCmuC38BRhbKrxr3x4J/nf3JN0u8quuE7rqZbNE41561tWk3tE4ylvaN84P EQ4JD1zNOzZvwTi0DMYGHSDSu4h/adS0XGCpcsTvwbw8rHDMrZAfYpKWX7L9FBMCwBbBXs N5ErjE/QIzwEZE84+0C9iD/Bxh8yQwO7yIWMAJsfCkx9NibutrmWx+RZ4XCKytqEzWqgUM mbvLbZtjPlUE/SCIQc8BXfx1fcBToQTg4WVPAc5KQbmBS1p4wWHJfhLgWQgluBqs+w8qap LGw/DbX6ZlstQ7ClP5DiZEZ/OV+iPVv3iT/wDlDAjq5u2z/vTU0aZpXmcMV9wQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg63P4mB4z1SWN for ; Tue, 24 Mar 2026 10:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 344de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:39:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 2e1cf242292a - main - sound: Remove unimplemented chn_reinit() definition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e1cf242292a33a71839c512d222115d36f8fd40 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:39:13 +0000 Message-Id: <69c269d1.344de.1d412f0e@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=2e1cf242292a33a71839c512d222115d36f8fd40 commit 2e1cf242292a33a71839c512d222115d36f8fd40 Author: Christos Margiolis AuthorDate: 2026-03-24 10:32:38 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 10:38:42 +0000 sound: Remove unimplemented chn_reinit() definition Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/pcm/channel.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index dbacbdd894f9..f964480369a1 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -255,7 +255,6 @@ struct pcm_channel { #include "channel_if.h" -int chn_reinit(struct pcm_channel *c); int chn_write(struct pcm_channel *c, struct uio *buf); int chn_read(struct pcm_channel *c, struct uio *buf); u_int32_t chn_start(struct pcm_channel *c, int force); From nobody Tue Mar 24 10:59:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6VS2kwTz6WWJv for ; Tue, 24 Mar 2026 10:59: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6VS24J4z45tK for ; Tue, 24 Mar 2026 10:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774349952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2trl2+mOxcKDu+Z4393LiBzCctBtYZiUPlDTdY4ZlY=; b=ZPv4ayx9Ax1CoIlp6l3iUDlZvyG/FjXJwsdU1RdN5G8wcS4I+igkPJi13dpgRBoSStEcGB ul5lyaIwq1rYEvzRUrpT4/Fej58/LWYq6dbc1dbGVhPmHbq+od/TzIdOt5vLu75mCDFMo4 FiIlCZZNVgaban0X+FnxQL8FX3pqEC8qIBD6XqA1jEomcqIcW2xWSyEHzsHbTgMu4ql77Q hlUY/9Ra649KviEuvYJzZ9PxB1U5BLBQGXC+5GleLjpywXiaYvSUCN3QErhC2opoz26d6b 6hy247t8dYpcUle9Lf2sY15nds7x8PGgu6j+Qw7ov9uXI4bRsRo3rWGtCj+xkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774349952; a=rsa-sha256; cv=none; b=CzocYgi6IR2PGbmIlqTLeskoxCUFCMKEfnlr69sRjm41C9ePyb8M8InfTFjkxTrRnqtENr NFe1V4k9wVSHdmyF5+WncIMYVzaxJjzqlDMys3tH4xL8rQyI4uEbKM6nRnnY44rLR3gZ3t +6us9Dlpt8/6IoWw2Jk5PIOTkVkU0sMrG1w50Dn5KR0jSo8VWeiGxy3XWoONSasE10qYfV ZNWh+/qI7P67xsfIRSdVJ6gun4eIJoS35+aP+CUVRzKXJNlp9yQfYhI8odjPVgcLOt8XLQ rRvm3eUpFsgBc7wuu5OkG8UA+zgWaE8oFRmiiKdeEeq04czRPzLIhR0X0KHxHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774349952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2trl2+mOxcKDu+Z4393LiBzCctBtYZiUPlDTdY4ZlY=; b=YKep7iAbSRDegB422nNWFjfX/Oo6MAC5Gentb6jZZA3CNCMIRacvbLclJ41lhKCbOUXx6h 2fRzPHmLqnq6wav0M8eDUmHVIFAYV1LHD8ODNx/HgM9H09B2Q3SY/Vs3fOGdlM8OWNo52l Tws9R5RwKg956tmzbZk+ymrD6S7Qoe3+44sZZoVWk3lnVSwjbB02vdwEaukXSVHnQG9LxE xnGKHpnzryys6KWxVqmxMtRDzROG71gNYN+YrCEghd9MxX24qq/2mHvqsI91bNFQZ0THNa SXmZtCePqlytAuW01ruljkmT/hLOJhBCYu2WaGlZC4Iz7JCGTv8dOW6GcQq7JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6VS1b3qz1Ft for ; Tue, 24 Mar 2026 10:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36617 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:59:06 +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: 828de702ada8 - main - syslogd: Allow killing when in foreground List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 828de702ada854b5f09f447ba06e4e08e976ba07 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:59:06 +0000 Message-Id: <69c26e7a.36617.4648dbbe@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=828de702ada854b5f09f447ba06e4e08e976ba07 commit 828de702ada854b5f09f447ba06e4e08e976ba07 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-24 10:58:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-24 10:58:53 +0000 syslogd: Allow killing when in foreground Normally, syslogd reacts only to SIGTERM, and ignores SIGINT and SIGQUIT unless in debug mode. Extend that to also apply when running in the foreground. Take this opportunity to comment the event loop. MFC after: 1 week Reviewed by: jfree Differential Revision: https://reviews.freebsd.org/D55886 --- usr.sbin/syslogd/syslogd.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index 1b894ae54fc6..dcc74b1a93c1 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -781,15 +781,21 @@ main(int argc, char *argv[]) case EVFILT_SIGNAL: switch (ev.ident) { case SIGHUP: + /* Reload */ init(true); break; case SIGINT: case SIGQUIT: + /* Ignore these unless -F and / or -d */ + if (!Foreground && !Debug) + break; + /* FALLTHROUGH */ case SIGTERM: - if (ev.ident == SIGTERM || Debug) - die(ev.ident); + /* Terminate */ + die(ev.ident); break; case SIGALRM: + /* Mark and flush */ markit(); break; } From nobody Tue Mar 24 11:03:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6bz2xKpz6WWKg for ; Tue, 24 Mar 2026 11:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg6bz25DVz46Fx for ; Tue, 24 Mar 2026 11:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774350239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=slZQeZbqLM0V/+wWDQ7hfXwKgO9MTjiIlFWkfqJ/cK8=; b=Dm04JxPsvNhD9wM0UhfC6YUNt4ZWkLld1CwtwF+IsVKeiHOs8rojn0Kb/k3mPwXJGNRhAE qXieDLL9CQqOKqjsPsjHTdoLvXOZuOCfAs+XH2btnVkE+WZ9Pu93qqCjs3GZ8p/5Dz18Ky fsfICHSFNIln8BFJbI0lkPka2ZSLND6PACGzxGmwr5ZqUBR6DSu1Atu6pAEj8WltnvytIw YuER1daVDokdUosOfvO5Ji1S66Q9oKWys0qvOSoiPU49TU11dkgKIIYjfTcCaCeGdP0wSl 1MWzKiL6RMcn2jHtSyCMofrmTCXkUGRYN5M1KZ8aznusNBcTVQHzzgXbPppPQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774350239; a=rsa-sha256; cv=none; b=iJka+OJPdDj4abdZkuWn+lq/fdEOBJn2nZi9uy6EXz0Q5ffpPZ9GYWUOSvHjWakL30ndmk B/nQkIvIweGP/hphsurqobpXY8T6w+9TwAcv/CwdsvTJdUM/LplSA6/q8DkM+iiAQWEuOe sqarxw5qAbchuP9jZtn51oTrL0/VLofHAwGhNNJQijjbIOd0BvS9dQXzCcozIEcRU375+k xArG2OL6AA0Edf4sReMk1FMUfhzUO2MJul6H9tb91g/h+tn4or0t0vsCYIS1eSgicRvLxA A6TSQFNAoIArhuYYa5EISJM/68C7f0VpQa43GOFMICv4loXNXuJ2BZ/d1yrRSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774350239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=slZQeZbqLM0V/+wWDQ7hfXwKgO9MTjiIlFWkfqJ/cK8=; b=asMTmIMDT1SDY/jTXqnkXQXG67+n639H3GG6EKsxVWB0E/k0a8FMzH5Q4h7nb6OKaHBpB5 FvwlPcNJUNPeJs9kl8z1G1OXAo8FbLKF1lJ5PHJv8D2L/s8rkE2VzBpmo01+rOxwym0dtV O4X6SsYUlR2G18zel2ypIntHOBRmnNIOLuA+jIQrABr3X26OTZkn9eS0L7zqU28MFFw0jv AvGVFat1nf9lTR8PYhNJqlrCMQfxMo5+D0xLDvBdnqNvjaRsR72JON3R0Ph0QGUBWbUgfl ylvVoVcAHv0ngDTKH7WUpdie02soYZRcUaKyoI29PPPkdfvBna/keABajh/8Kg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6bz1cHcz16Q for ; Tue, 24 Mar 2026 11:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a04 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 11:03: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: fa03f93e8829 - main - file: Parse some UFS2 flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: fa03f93e8829a7689101303fbe9fb06654ca14ed Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 11:03:59 +0000 Message-Id: <69c26f9f.37a04.61173521@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fa03f93e8829a7689101303fbe9fb06654ca14ed commit fa03f93e8829a7689101303fbe9fb06654ca14ed Author: Dag-Erling Smørgrav AuthorDate: 2026-03-24 11:02:32 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-24 11:02:32 +0000 file: Parse some UFS2 flags This allows libmagic to recognize the FS_DOSOFTDEP, FS_SUJ, FS_GJOURNAL, FS_ACLS, and FS_NFS4ACLS flags on a UFS2 file system. Accepted upstream as 482259e5e952. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56010 --- contrib/file/magic/Magdir/filesystems | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/file/magic/Magdir/filesystems b/contrib/file/magic/Magdir/filesystems index a15e5e74d971..78e9a31bd0e7 100644 --- a/contrib/file/magic/Magdir/filesystems +++ b/contrib/file/magic/Magdir/filesystems @@ -1640,6 +1640,11 @@ >1112 lelong x pending inodes to free %d, >712 lequad x system-wide uuid %0llx, >60 lelong x minimum percentage of free blocks %d, +>1312 lelong&0xa 0x2 soft updates, +>1312 lelong&0xa 0xa soft updates journaling, +>1312 lelong&0x40 0x40 GEOM journaling, +>1312 lelong&0x10 0x10 POSIX.1e ACLs, +>1312 lelong&0x100 0x100 NFSv4 ACLs, >128 lelong 0 TIME optimization >128 lelong 1 SPACE optimization From nobody Tue Mar 24 11:29:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg7B41mwWz6WY1p for ; Tue, 24 Mar 2026 11:30: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg7B36r5Dz49RP for ; Tue, 24 Mar 2026 11:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774351803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4r++sjFwWLZESWonTyaWxa6+C73SvOg9bt3gPDnTcB4=; b=ozIrsGj+/EQIwVWl3d3PLUMIeXEoeUUh2kVCprElqvTkjya9OjbcHpp5vpXmA+mBBNAbaq Wmjpz1zpjrOICG8mJduFKA/1Uj42lG0+K/aB6L3WO4ZMuyMAQ9FsC51B+c5LggHfI7nDu0 98Ls5NrHwQszVroD3EILtAApOPb/YWys+2ZlSZYV6m9NTfE13aJthalR/FFaVf/n9BsGSF gZvuDAEl3fg/AtlYX7lYFAmA6zyU+vrLOZU9pzBHp0UBAlFJeHj7xlbvwDRUZ8uvvukyzl HmckR0Ig8QoVNi8DLtM5yfseFX5hTzfHkJLXNNJROmeHgOFcoZQuxJXSt/mncA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774351803; a=rsa-sha256; cv=none; b=lBpqrWRddyz+1Z5fopXpZTKLkm7bO9EZnRjYi5mcA63lonjHXS+sU6sxOaem1FNUe1jz+X uj3zJtrHMTtQolPY94fRc01gsMNc448J741TWZFRKrgYpQLgmWAry8yngtu1JPvWazXmSD 5IYnYfo9isX/FRt2n9dFukVsX0+COh1zKtBUe6omgMxPJ3hnwNPlqRUjYwKTNfIB41luT8 XbyCKveHpBbhjxDXpyXuISXw4fNHM1mhp5nZN7YXwV5GCcZi1f27rqfVIE6l6tFoh1RYmj XB1+QkLCHZpTFQFJuOy1cFq9oP7MtmIxNsfMWS2t0TXhvvvbJjxqZ8aShSh34w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774351803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4r++sjFwWLZESWonTyaWxa6+C73SvOg9bt3gPDnTcB4=; b=VCJOfb+bFQ6YUcrApaOYyltNYawDdMqPIsEv9MNZ60JcL69Ws21KdH8S0As16PDg2N1BlM vvys35BS+7jqSDzws8kZQ8Olkj9yB2E5uoqJD5MTFnRwa2BaPeQPI57BN6PKJFo8k8r9yh mDdXEjbW2tqt45sSVzsxRCVqJHD2LuU/85gK00MknnsvdNs7aGi7TelljpcfmXfvsYN2Y0 zK/H6EJH5qceYB4fJsEIOx/+p56EtsSD5InIKkkizkmpax1DpUd9SMrXGa/2LtQnVBfF7U 8BHWe5gqdWPa1MyweL3zccsLxoABUFNKFI9JIDU9HKbIKMFEAr0DuLWoQF9buw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg7B36047z292 for ; Tue, 24 Mar 2026 11:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3960b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 11:29: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: e6a77f81d1eb - main - cd9660: Partial style sweep of Rock Ridge code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: e6a77f81d1eb345f6a8c827ecf555b88996c8763 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 11:29:58 +0000 Message-Id: <69c275b6.3960b.4a52f652@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6a77f81d1eb345f6a8c827ecf555b88996c8763 commit e6a77f81d1eb345f6a8c827ecf555b88996c8763 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-24 11:29:37 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-24 11:29:37 +0000 cd9660: Partial style sweep of Rock Ridge code This mostly just fixes indentation and continuations and adds spaces after commas and around binary operators and parentheses around return values, but cd9660_rrip_extref() was so egregiously unreadable I rewrote it. Note that this was done manually, so I may have missed a few spots, and I made no attempt to fix over-long lines. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55865 --- sys/fs/cd9660/cd9660_rrip.c | 186 +++++++++++++++++++++++--------------------- 1 file changed, 96 insertions(+), 90 deletions(-) diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c index d0b0008d10b2..6e91f1abb9d2 100644 --- a/sys/fs/cd9660/cd9660_rrip.c +++ b/sys/fs/cd9660/cd9660_rrip.c @@ -88,7 +88,7 @@ cd9660_rrip_attr(ISO_RRIP_ATTR *p, ISO_RRIP_ANALYZE *ana) ana->inop->inode.iso_gid = isonum_733(p->gid); ana->inop->inode.iso_links = isonum_733(p->links); ana->fields &= ~ISO_SUSP_ATTR; - return ISO_SUSP_ATTR; + return (ISO_SUSP_ATTR); } static void @@ -96,7 +96,7 @@ cd9660_rrip_defattr(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) { /* But this is a required field! */ printf("RRIP without PX field?\n"); - cd9660_defattr(isodir,ana->inop,NULL,ISO_FTYPE_RRIP); + cd9660_defattr(isodir, ana->inop, NULL, ISO_FTYPE_RRIP); } /* @@ -188,7 +188,7 @@ cd9660_rrip_slink(ISO_RRIP_SLINK *p, ISO_RRIP_ANALYZE *ana) ana->fields = 0; ana->outbuf -= *ana->outlen; *ana->outlen = 0; - return 0; + return (0); } memcpy(outbuf, inbuf, wlen); @@ -201,9 +201,9 @@ cd9660_rrip_slink(ISO_RRIP_SLINK *p, ISO_RRIP_ANALYZE *ana) if (!isonum_711(p->flags)) { ana->fields &= ~ISO_SUSP_SLINK; - return ISO_SUSP_SLINK; + return (ISO_SUSP_SLINK); } - return 0; + return (0); } /* @@ -259,7 +259,7 @@ cd9660_rrip_altname(ISO_RRIP_ALTNAME *p, ISO_RRIP_ANALYZE *ana) ana->fields &= ~ISO_SUSP_ALTNAME; ana->outbuf -= *ana->outlen - wlen; *ana->outlen = 0; - return 0; + return (0); } memcpy(ana->outbuf, inbuf, wlen); @@ -267,18 +267,17 @@ cd9660_rrip_altname(ISO_RRIP_ALTNAME *p, ISO_RRIP_ANALYZE *ana) if (!cont) { ana->fields &= ~ISO_SUSP_ALTNAME; - return ISO_SUSP_ALTNAME; + return (ISO_SUSP_ALTNAME); } - return 0; + return (0); } static void cd9660_rrip_defname(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) { - isofntrans(isodir->name,isonum_711(isodir->name_len), - ana->outbuf,ana->outlen, - 1,isonum_711(isodir->flags)&4, ana->imp->joliet_level, - ana->imp->im_flags, ana->imp->im_d2l); + isofntrans(isodir->name, isonum_711(isodir->name_len), + ana->outbuf, ana->outlen, 1, isonum_711(isodir->flags)&4, + ana->imp->joliet_level, ana->imp->im_flags, ana->imp->im_d2l); switch (*ana->outbuf) { default: break; @@ -287,7 +286,7 @@ cd9660_rrip_defname(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) /* FALLTHROUGH */ case 0: /* outlen is 1 already */ - strcpy(ana->outbuf,".."); + strcpy(ana->outbuf, ".."); break; } } @@ -299,8 +298,8 @@ static int cd9660_rrip_pclink(ISO_RRIP_CLINK *p, ISO_RRIP_ANALYZE *ana) { *ana->inump = isonum_733(p->dir_loc) << ana->imp->im_bshift; - ana->fields &= ~(ISO_SUSP_CLINK|ISO_SUSP_PLINK); - return *p->h.type == 'C' ? ISO_SUSP_CLINK : ISO_SUSP_PLINK; + ana->fields &= ~(ISO_SUSP_CLINK | ISO_SUSP_PLINK); + return (*p->h.type == 'C' ? ISO_SUSP_CLINK : ISO_SUSP_PLINK); } /* @@ -312,7 +311,7 @@ cd9660_rrip_reldir(ISO_RRIP_RELDIR *p, ISO_RRIP_ANALYZE *ana) /* special hack to make caller aware of RE field */ *ana->outlen = 0; ana->fields = 0; - return ISO_SUSP_RELDIR|ISO_SUSP_ALTNAME|ISO_SUSP_CLINK|ISO_SUSP_PLINK; + return (ISO_SUSP_RELDIR | ISO_SUSP_ALTNAME | ISO_SUSP_CLINK | ISO_SUSP_PLINK); } static int @@ -323,60 +322,61 @@ cd9660_rrip_tstamp(ISO_RRIP_TSTAMP *p, ISO_RRIP_ANALYZE *ana) ptime = p->time; /* Check a format of time stamp (7bytes/17bytes) */ - if (!(*p->flags&ISO_SUSP_TSTAMP_FORM17)) { - if (*p->flags&ISO_SUSP_TSTAMP_CREAT) + if (!(*p->flags & ISO_SUSP_TSTAMP_FORM17)) { + if (*p->flags & ISO_SUSP_TSTAMP_CREAT) { ptime += 7; - - if (*p->flags&ISO_SUSP_TSTAMP_MODIFY) { - cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_mtime, - ISO_FTYPE_RRIP); + } + if (*p->flags & ISO_SUSP_TSTAMP_MODIFY) { + cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_mtime, + ISO_FTYPE_RRIP); ptime += 7; - } else + } else { memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec)); - - if (*p->flags&ISO_SUSP_TSTAMP_ACCESS) { - cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_atime, - ISO_FTYPE_RRIP); + } + if (*p->flags & ISO_SUSP_TSTAMP_ACCESS) { + cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_atime, + ISO_FTYPE_RRIP); ptime += 7; - } else + } else { ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime; - - if (*p->flags&ISO_SUSP_TSTAMP_ATTR) - cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_ctime, - ISO_FTYPE_RRIP); - else + } + if (*p->flags & ISO_SUSP_TSTAMP_ATTR) { + cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_ctime, + ISO_FTYPE_RRIP); + } else { ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime; - + } } else { - if (*p->flags&ISO_SUSP_TSTAMP_CREAT) + if (*p->flags & ISO_SUSP_TSTAMP_CREAT) { ptime += 17; - - if (*p->flags&ISO_SUSP_TSTAMP_MODIFY) { - cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_mtime); + } + if (*p->flags & ISO_SUSP_TSTAMP_MODIFY) { + cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_mtime); ptime += 17; - } else + } else { memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec)); - - if (*p->flags&ISO_SUSP_TSTAMP_ACCESS) { - cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_atime); + } + if (*p->flags & ISO_SUSP_TSTAMP_ACCESS) { + cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_atime); ptime += 17; - } else + } else { ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime; - - if (*p->flags&ISO_SUSP_TSTAMP_ATTR) - cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_ctime); - else + } + if (*p->flags & ISO_SUSP_TSTAMP_ATTR) { + cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_ctime); + } else { ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime; + } } ana->fields &= ~ISO_SUSP_TSTAMP; - return ISO_SUSP_TSTAMP; + return (ISO_SUSP_TSTAMP); } static void cd9660_rrip_deftstamp(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) { - cd9660_deftstamp(isodir,ana->inop,NULL,ISO_FTYPE_RRIP); + cd9660_deftstamp(isodir, ana->inop, NULL, ISO_FTYPE_RRIP); } /* @@ -395,7 +395,7 @@ cd9660_rrip_device(ISO_RRIP_DEVICE *p, ISO_RRIP_ANALYZE *ana) else ana->inop->inode.iso_rdev = makedev(high, minor(low)); ana->fields &= ~ISO_SUSP_DEVICE; - return ISO_SUSP_DEVICE; + return (ISO_SUSP_DEVICE); } /* @@ -404,12 +404,12 @@ cd9660_rrip_device(ISO_RRIP_DEVICE *p, ISO_RRIP_ANALYZE *ana) static int cd9660_rrip_idflag(ISO_RRIP_IDFLAG *p, ISO_RRIP_ANALYZE *ana) { - ana->fields &= isonum_711(p->flags)|~0xff; /* don't touch high bits */ + ana->fields &= isonum_711(p->flags) | ~0xff; /* don't touch high bits */ /* special handling of RE field */ - if (ana->fields&ISO_SUSP_RELDIR) - return cd9660_rrip_reldir(/* XXX */ (ISO_RRIP_RELDIR *)p,ana); + if (ana->fields & ISO_SUSP_RELDIR) + return (cd9660_rrip_reldir(/* XXX */ (ISO_RRIP_RELDIR *)p, ana)); - return ISO_SUSP_IDFLAG; + return (ISO_SUSP_IDFLAG); } /* @@ -421,7 +421,7 @@ cd9660_rrip_cont(ISO_RRIP_CONT *p, ISO_RRIP_ANALYZE *ana) ana->iso_ce_blk = isonum_733(p->location); ana->iso_ce_off = isonum_733(p->offset); ana->iso_ce_len = isonum_733(p->length); - return ISO_SUSP_CONT; + return (ISO_SUSP_CONT); } /* @@ -430,7 +430,7 @@ cd9660_rrip_cont(ISO_RRIP_CONT *p, ISO_RRIP_ANALYZE *ana) static int cd9660_rrip_stop(ISO_SUSP_HEADER *p, ISO_RRIP_ANALYZE *ana) { - return ISO_SUSP_STOP; + return (ISO_SUSP_STOP); } /* @@ -439,16 +439,18 @@ cd9660_rrip_stop(ISO_SUSP_HEADER *p, ISO_RRIP_ANALYZE *ana) static int cd9660_rrip_extref(ISO_RRIP_EXTREF *p, ISO_RRIP_ANALYZE *ana) { - if ( ! ((isonum_711(p->len_id) == 10 - && bcmp((char *)p + 8,"RRIP_1991A",10) == 0) - || (isonum_711(p->len_id) == 10 - && bcmp((char *)p + 8,"IEEE_P1282",10) == 0) - || (isonum_711(p->len_id) == 9 - && bcmp((char *)p + 8,"IEEE_1282", 9) == 0)) - || isonum_711(p->version) != 1) - return 0; - ana->fields &= ~ISO_SUSP_EXTREF; - return ISO_SUSP_EXTREF; + size_t len = isonum_711(p->len_id); + char *data = (char *)(p + 1); + + if ((len == 10 && memcmp(data, "RRIP_1991A", len) == 0) || + (len == 10 && memcmp(data, "IEEE_P1282", len) == 0) || + (len == 9 && memcmp(data, "IEEE_1282", len) == 0)) { + if (isonum_711(p->version) == 1) { + ana->fields &= ~ISO_SUSP_EXTREF; + return (ISO_SUSP_EXTREF); + } + } + return (0); } static int @@ -471,7 +473,7 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana, if (!(isonum_711(isodir->name_len)&1)) pwhead++; isochar(isodir->name, pwhead, ana->imp->joliet_level, &c, NULL, - ana->imp->im_flags, ana->imp->im_d2l); + ana->imp->im_flags, ana->imp->im_d2l); /* If it's not the '.' entry of the root dir obey SP field */ if (c != 0 || isonum_733(isodir->extent) != ana->imp->root_extent) @@ -491,16 +493,16 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana, while (pend >= phead + 1) { if (isonum_711(phead->version) == 1) { for (ptable = table; ptable->func; ptable++) { - if (*phead->type == *ptable->type - && phead->type[1] == ptable->type[1]) { - result |= ptable->func(phead,ana); + if (phead->type[0] == ptable->type[0] && + phead->type[1] == ptable->type[1]) { + result |= ptable->func(phead, ana); break; } } if (!ana->fields) break; } - if (result&ISO_SUSP_STOP) { + if (result & ISO_SUSP_STOP) { result &= ~ISO_SUSP_STOP; break; } @@ -530,7 +532,7 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana, /* what to do now? */ break; phead = (ISO_SUSP_HEADER *)(bp->b_data + ana->iso_ce_off); - pend = (ISO_SUSP_HEADER *) ((char *)phead + ana->iso_ce_len); + pend = (ISO_SUSP_HEADER *)((char *)phead + ana->iso_ce_len); } else break; } @@ -541,10 +543,10 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana, * (attribute/time stamp) */ for (ptable = table; ptable->func2; ptable++) - if (!(ptable->result&result)) - ptable->func2(isodir,ana); + if (!(ptable->result & result)) + ptable->func2(isodir, ana); - return result; + return (result); } /* @@ -572,9 +574,9 @@ cd9660_rrip_analyze(struct iso_directory_record *isodir, struct iso_node *inop, analyze.inop = inop; analyze.imp = imp; - analyze.fields = ISO_SUSP_ATTR|ISO_SUSP_TSTAMP|ISO_SUSP_DEVICE; + analyze.fields = ISO_SUSP_ATTR | ISO_SUSP_TSTAMP | ISO_SUSP_DEVICE; - return cd9660_rrip_loop(isodir,&analyze,rrip_table_analyze); + return (cd9660_rrip_loop(isodir, &analyze, rrip_table_analyze)); } /* @@ -582,8 +584,8 @@ cd9660_rrip_analyze(struct iso_directory_record *isodir, struct iso_node *inop, */ static RRIP_TABLE rrip_table_getname[] = { { "NM", BC cd9660_rrip_altname, cd9660_rrip_defname, ISO_SUSP_ALTNAME }, - { "CL", BC cd9660_rrip_pclink, 0, ISO_SUSP_CLINK|ISO_SUSP_PLINK }, - { "PL", BC cd9660_rrip_pclink, 0, ISO_SUSP_CLINK|ISO_SUSP_PLINK }, + { "CL", BC cd9660_rrip_pclink, 0, ISO_SUSP_CLINK | ISO_SUSP_PLINK }, + { "PL", BC cd9660_rrip_pclink, 0, ISO_SUSP_CLINK | ISO_SUSP_PLINK }, { "RE", BC cd9660_rrip_reldir, 0, ISO_SUSP_RELDIR }, { "RR", BC cd9660_rrip_idflag, 0, ISO_SUSP_IDFLAG }, { "CE", BC cd9660_rrip_cont, 0, ISO_SUSP_CONT }, @@ -604,20 +606,20 @@ cd9660_rrip_getname(struct iso_directory_record *isodir, char *outbuf, analyze.maxlen = NAME_MAX; analyze.inump = inump; analyze.imp = imp; - analyze.fields = ISO_SUSP_ALTNAME|ISO_SUSP_RELDIR|ISO_SUSP_CLINK|ISO_SUSP_PLINK; + analyze.fields = ISO_SUSP_ALTNAME | ISO_SUSP_RELDIR | ISO_SUSP_CLINK | ISO_SUSP_PLINK; *outlen = 0; isochar(isodir->name, isodir->name + isonum_711(isodir->name_len), - imp->joliet_level, &c, NULL, imp->im_flags, imp->im_d2l); + imp->joliet_level, &c, NULL, imp->im_flags, imp->im_d2l); tab = rrip_table_getname; if (c == 0 || c == 1) { - cd9660_rrip_defname(isodir,&analyze); + cd9660_rrip_defname(isodir, &analyze); analyze.fields &= ~ISO_SUSP_ALTNAME; tab++; } - return cd9660_rrip_loop(isodir,&analyze,tab); + return (cd9660_rrip_loop(isodir, &analyze, tab)); } /* @@ -636,6 +638,7 @@ cd9660_rrip_getsymname(struct iso_directory_record *isodir, char *outbuf, u_short *outlen, struct iso_mnt *imp) { ISO_RRIP_ANALYZE analyze; + int ret; analyze.outbuf = outbuf; analyze.outlen = outlen; @@ -645,7 +648,8 @@ cd9660_rrip_getsymname(struct iso_directory_record *isodir, char *outbuf, analyze.imp = imp; analyze.fields = ISO_SUSP_SLINK; - return (cd9660_rrip_loop(isodir,&analyze,rrip_table_getsymname)&ISO_SUSP_SLINK); + ret = cd9660_rrip_loop(isodir, &analyze, rrip_table_getsymname); + return (ret & ISO_SUSP_SLINK); } static RRIP_TABLE rrip_table_extref[] = { @@ -664,21 +668,23 @@ cd9660_rrip_offset(struct iso_directory_record *isodir, struct iso_mnt *imp) { ISO_RRIP_OFFSET *p; ISO_RRIP_ANALYZE analyze; + int ret; imp->rr_skip0 = 0; p = (ISO_RRIP_OFFSET *)(isodir->name + 1); - if (bcmp(p,"SP\7\1\276\357",6)) { + if (memcmp(p, "SP\7\1\276\357", 6) != 0) { /* Maybe, it's a CDROM XA disc? */ imp->rr_skip0 = 15; p = (ISO_RRIP_OFFSET *)((char *)p + 15); - if (bcmp(p,"SP\7\1\276\357",6)) - return -1; + if (memcmp(p, "SP\7\1\276\357", 6) != 0) + return (-1); } analyze.imp = imp; analyze.fields = ISO_SUSP_EXTREF; - if (!(cd9660_rrip_loop(isodir,&analyze,rrip_table_extref)&ISO_SUSP_EXTREF)) - return -1; + ret = cd9660_rrip_loop(isodir, &analyze, rrip_table_extref); + if ((ret & ISO_SUSP_EXTREF) == 0) + return (-1); - return isonum_711(p->skip); + return (isonum_711(p->skip)); } From nobody Tue Mar 24 13:38:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgB2H3dr3z6WhHC for ; Tue, 24 Mar 2026 13:38: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgB2H24QRz3Q3m for ; Tue, 24 Mar 2026 13:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774359511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mr77Lmozt+k5Vmu8HT5uMg6CZyEmmamuODXD2bgEyqs=; b=lJpAW53Bhk961pjdbBwXoRWdxLf7C25uiQsFBe7y+ws29LumzcCZVLVH7S5LLhDxBo+mBG MtRHXfV9GUb2EgGnx+ylL62tcCtlrODsoh5nXewLJDlrPWB7sHol1SqoijRIWXuHef1x9x TVTeYGKgV5Y1PTRAMq+bG5nBfSCLCK16dof/9GMzHTKFbTDfTdelWd1Q5T0aBYGVMjdcEe dU5Mpkc/MTTEDlrOv2jF8SumGvEpbpq2DLleYPmc2WQVMxzg99cLnwweRke4oSslxIQ/hn hDAKapO/D8tfisbbJhbq2i+l8Daasw0NAMXc2RyD7leQOenuxh5751hwTxWCdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774359511; a=rsa-sha256; cv=none; b=Wh4hjEgHnh+DdC6yhVetWBoULnEdSi2l7l2zrAVZwf3cGg/vU6bDaNUruaaK6+qNCTkLRV fmP6QF3Q67CVY6sFsjy3AuhAo+gJ8uQfvBvm28R6Bs2qxRg1OO3rZDv8Hph9+8GMpupyyE SeebkIuXecO6QHPQIN0t+gMWpLmY7kYXezvhuWb1G89V057tAlKU2F/DMXKhEUuRscdAkg QmRgJuCZfzacDuP6nQyoIUmYKVcOqXHxM7Y5+QtHaWD86na0ZsbFJMvowMqm7LpdJSEnb0 rwXAKDq4Q31uEgmGLRy3XLkTvwOT+iWn7uzmhE3ZpPCpBXboQ3qqSqj5ps2tjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774359511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mr77Lmozt+k5Vmu8HT5uMg6CZyEmmamuODXD2bgEyqs=; b=Y3K4c/wkDvvZPh9+WvXPcDl63OqtPXAeO0+ofOE0wnTerkQuzyBkSYuZwCwUJn3W4lFhct kXW73DVTE+M7quPNdJXLqV2gXCt3qUMQv68CgopjRzYaIlfVBqrtvEjf3t300vGEj0jvDr A5wO0/UOmIT1KJBPpzE0aFDPbyCEEDKfeZQsblSWn/OTYECefkt0o+zJEAbx4ssSY9yB0W gJ0ecvliKFj0xTX0w4dO9quhUo9lxfW+VE9mOdLY8jfLLSF/H71TfGQ45hyCzytKopV1iW GDDYBQhdejP9sx4a/FPucvsvGwo80KqnEbpnsZsSuwnTEhEntHnEPIyQAULMBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgB2H1YpLz5b0 for ; Tue, 24 Mar 2026 13:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45d3b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 13:38:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: cbac897a7b05 - main - in6_mcast: Acquire ref to ifp and exit epoch earlier in sysctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbac897a7b057427cfaab12cc143144eadd1e80d Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 13:38:26 +0000 Message-Id: <69c293d2.45d3b.d21545b@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=cbac897a7b057427cfaab12cc143144eadd1e80d commit cbac897a7b057427cfaab12cc143144eadd1e80d Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-23 18:38:46 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-24 13:37:23 +0000 in6_mcast: Acquire ref to ifp and exit epoch earlier in sysctl This patch reduces the number of witness warnings during ifmcstat(8) calls. Reviewed by: glebius, zlei Differential Revision: https://reviews.freebsd.org/D56052 --- sys/netinet6/in6_mcast.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 4e770079e64e..7942faefd568 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -2806,9 +2806,9 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) ifindex = name[0]; NET_EPOCH_ENTER(et); - ifp = ifnet_byindex(ifindex); + ifp = ifnet_byindex_ref(ifindex); + NET_EPOCH_EXIT(et); if (ifp == NULL) { - NET_EPOCH_EXIT(et); CTR2(KTR_MLD, "%s: no ifp for ifindex %u", __func__, ifindex); return (ENOENT); @@ -2821,7 +2821,7 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) retval = sysctl_wire_old_buffer(req, sizeof(uint32_t) + (in6_mcast_maxgrpsrc * sizeof(struct in6_addr))); if (retval) { - NET_EPOCH_EXIT(et); + if_rele(ifp); return (retval); } @@ -2856,7 +2856,7 @@ sysctl_ip6_mcast_filters(SYSCTL_HANDLER_ARGS) } IN6_MULTI_LIST_UNLOCK(); IN6_MULTI_UNLOCK(); - NET_EPOCH_EXIT(et); + if_rele(ifp); return (retval); } From nobody Tue Mar 24 13:49:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgBGl1SZhz6Wj45; Tue, 24 Mar 2026 13:49:19 +0000 (UTC) (envelope-from mhorne@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgBGl0d84z3Rd9; Tue, 24 Mar 2026 13:49:19 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774360159; h=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=KNiBY1lytCSp5Z0xU7o+8C+F4amquV2oijPH0l6Py9c=; b=Ifq+06ApQWrvlE3p2/OrPtfJEvm9G7cYpqsDDalzU/QPDSwZEoCY9JjmbG6tojNKbjFmrJ KlOZ6/jTatUYXdhAF4VOIiWEUG+rVLDrAxUYus2btlEIkjt1L+Y2CVWO6FxPR7amq5Zpmj u/e7zU7unLovHdDjqoOa19RU9hrJpQturK6r8LZZ3TvuvrG3DczxFY6N9U80w6IGcxK7+d r/CA+1ekIWqqT2ClujcFHYTGw4ib6tkGBhzvoc5m/80CACTASBjrP1HxyiHJeEPmaorfYV dZdygyhxQNs6RzoDaiTe8t45KgGe3ZvcpKp//LE1kmkgnGLzMqGcFtJqv8MVKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774360159; a=rsa-sha256; cv=none; b=sAxgtqo3r5xUkXIHbem+2ifD1pvpGGGjk/0460Xb9OdhcWPy+JDIiS/Q1TXPbAZhO0HvRt ukraQt7T+sBbUMMuI2xmfY0h7ftpMVKLFwYqw/6eUGhE4lSYzc9xpZJD4KFFMWHd3NG+WR jSNFioSwMOdEwj0B9lBPWFsjjiuZhmeY7VNyPkUAf3fctF3lDwXEWtWqqXQygbKQlGs/Sd pBabbBClfrEsyuUu43+gBA4bc5cif0n1YoyQvy9WlXhWeQl8OQbCm97KbG/BfeewFU43KN ny2uZg6H5LswVqEJ0ArY6RZFMj77lfWfWePVLAqRQK8wMmejc5jGhdvHLaZLjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774360159; h=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=KNiBY1lytCSp5Z0xU7o+8C+F4amquV2oijPH0l6Py9c=; b=Dmjd5e4emM616YXJ2IJTrSstctww12AQdUOpDzIQLg//alfX3oZzJWTp9gFYkc7XPmVdrs jhnYMg16RJsYz0YmxWbAXAxDPWHIyiZiCRtmhEYUhTqFOfWjlZwF9Kbhdh67h0Y+kYqH/+ ViJGHAX4WT7gn2l3xmzhu8SCf87OxaaC8zHD/J9HpecFteZIoldsxzJ9SCJARQbfYcLsZj npcAqbnm6yXXGX9LhJFRd54oAFmeB3su8Rn7GDiKsyXQLDinfcWHD/d4ATB2n3I4cU8yhf E/QVtUSKRO+Ltzls/grI7ku3wlOX6sHEebUlvqP/erWxebClRJunetUvlCabZQ== Received: from [192.168.2.224] (chtwpe0124w-47-54-102-213.pppoe-dynamic.high-speed.pei.bellaliant.net [47.54.102.213]) (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: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fgBGk63sYz3vp; Tue, 24 Mar 2026 13:49:18 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <366f1427-0447-4344-bab3-5d700956d6a9@freebsd.org> Date: Tue, 24 Mar 2026 10:49:17 -0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: df47355fae72 - main - libpmc: Add support for IBS qualifiers To: Oliver Pinter Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Ali Mashtizadeh References: <69c1a0f7.47fb8.263fa653@gitrepo.freebsd.org> Content-Language: en-CA From: Mitchell Horne In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 3/23/26 18:12, Oliver Pinter wrote: > > > On Monday, March 23, 2026, Mitchell Horne > wrote: > > The branch main has been updated by mhorne: > > URL: https://cgit.FreeBSD.org/src/commit/? > id=df47355fae720fd8f63f36a50c8933f8342483d2 cgit.FreeBSD.org/src/commit/? > id=df47355fae720fd8f63f36a50c8933f8342483d2> > > commit df47355fae720fd8f63f36a50c8933f8342483d2 > Author:     Ali Mashtizadeh > > AuthorDate: 2026-03-18 04:27:09 +0000 > Commit:     Mitchell Horne > CommitDate: 2026-03-23 20:21:28 +0000 > >     libpmc: Add support for IBS qualifiers > >     Add support to libpmc for parsing the IBS qualifiers and > computing the >     ctl register value as a function of the qualifiers and the > sample rate. >     This includes all of the flags available up to AMD Zen 5.  Along > side >     these user facing changes I included the documentation for AMD IBS. > >     Reviewed by:    mhorne >     Sponsored by:   Netflix >     Pull Request:   https://github.com/freebsd/freebsd-src/pull/2081 > > --- >  lib/libpmc/Makefile       |   1 + >  lib/libpmc/libpmc.c       |  71 ++++++++++++++++++---- >  lib/libpmc/pmc.3          |   7 +++ >  lib/libpmc/pmc.amd.3      |   1 + >  lib/libpmc/pmc.core.3     |   1 + >  lib/libpmc/pmc.core2.3    |   1 + >  lib/libpmc/pmc.iaf.3      |   1 + >  lib/libpmc/pmc.ibs.3      | 150 +++++++++++++++++++++++++++++++++++ > +++++++++++ >  lib/libpmc/pmc.soft.3     |   1 + >  lib/libpmc/pmc.tsc.3      |   1 + >  lib/libpmc/pmc.ucf.3      |   1 + >  sys/dev/hwpmc/hwpmc_ibs.h |  19 +++++- >  12 files changed, 244 insertions(+), 11 deletions(-) > > diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile > index 590f719ebff4..442efdc3d9c0 100644 > --- a/lib/libpmc/Makefile > +++ b/lib/libpmc/Makefile > @@ -74,6 +74,7 @@ MAN+= pmc.haswell.3 >  MAN+=  pmc.haswelluc.3 >  MAN+=  pmc.haswellxeon.3 >  MAN+=  pmc.iaf.3 > +MAN+=  pmc.ibs.3 >  MAN+=  pmc.ivybridge.3 >  MAN+=  pmc.ivybridgexeon.3 >  MAN+=  pmc.sandybridge.3 > diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c > index ceba40aa7b39..ebb642e8d16b 100644 > --- a/lib/libpmc/libpmc.c > +++ b/lib/libpmc/libpmc.c > @@ -696,7 +696,7 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, >      struct pmc_op_pmcallocate *pmc_config) >  { >         char *e, *p, *q; > -       uint64_t ctl; > +       uint64_t ctl, ldlat; > >         pmc_config->pm_caps |= >             (PMC_CAP_SYSTEM | PMC_CAP_EDGE | PMC_CAP_PRECISE); > @@ -714,23 +714,74 @@ ibs_allocate_pmc(enum pmc_event pe, char *ctrspec, >                 return (-1); >         } > > +       /* IBS only supports sampling mode */ > +       if (!PMC_IS_SAMPLING_MODE(pmc_config->pm_mode)) { > +               return (-1); > +       } > + >         /* parse parameters */ > -       while ((p = strsep(&ctrspec, ",")) != NULL) { > -               if (KWPREFIXMATCH(p, "ctl=")) { > -                       q = strchr(p, '='); > -                       if (*++q == '\0') /* skip '=' */ > +       ctl = 0; > +       if (pe == PMC_EV_IBS_FETCH) { > +               while ((p = strsep(&ctrspec, ",")) != NULL) { > +                       if (KWMATCH(p, "l3miss")) { > +                               ctl |= IBS_FETCH_CTL_L3MISSONLY; > +                       } else if (KWMATCH(p, "randomize")) { > +                               ctl |= IBS_FETCH_CTL_RANDOMIZE; > +                       } else { >                                 return (-1); > +                       } > +               } > > -                       ctl = strtoull(q, &e, 0); > -                       if (e == q || *e != '\0') > +               if (pmc_config->pm_count < IBS_FETCH_MIN_RATE || > +                   pmc_config->pm_count > IBS_FETCH_MAX_RATE) > +                       return (-1); > + > +               ctl |= IBS_FETCH_INTERVAL_TO_CTL(pmc_config->pm_count); > +       } else { > +               while ((p = strsep(&ctrspec, ",")) != NULL) { > +                       if (KWMATCH(p, "l3miss")) { > +                               ctl |= IBS_OP_CTL_L3MISSONLY; > +                       } else if (KWPREFIXMATCH(p, "ldlat=")) { > +                               q = strchr(p, '='); > +                               if (*++q == '\0') /* skip '=' */ > +                                       return (-1); > + > +                               ldlat = strtoull(q, &e, 0); > +                               if (e == q || *e != '\0') > +                                       return (-1); > + > +                               /* > +                                * IBS load latency filtering > requires the > +                                * latency to be a multiple of 128 > and between > +                                * 128 and 2048.  The latency is > stored in the > +                                * IbsOpLatThrsh field, which only > contains > +                                * four bits so the processor computes > +                                * (IbsOpLatThrsh+1)*128 as the value. > +                                * > +                                * AMD PPR Vol 1 for AMD Family 1Ah > Model 02h > +                                * C1 (57238) 2026-03-06 Revision 0.49. > +                                */ > +                               if (ldlat < 128 || ldlat > 2048) > +                                       return (-1); > +                               ctl |= IBS_OP_CTL_LDLAT_TO_CTL(ldlat); > +                               ctl |= IBS_OP_CTL_L3MISSONLY | > IBS_OP_CTL_LATFLTEN; > +                       } else if (KWMATCH(p, "randomize")) { > +                               ctl |= IBS_OP_CTL_COUNTERCONTROL; > +                       } else { >                                 return (-1); > +                       } > +               } > > -                       pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; > -               } else { > +               if (pmc_config->pm_count < IBS_OP_MIN_RATE || > +                   pmc_config->pm_count > IBS_OP_MAX_RATE) >                         return (-1); > -               } > + > +               ctl |= IBS_OP_INTERVAL_TO_CTL(pmc_config->pm_count); >         } > > + > +       pmc_config->pm_md.pm_ibs.ibs_ctl |= ctl; > + >         return (0); >  } > > diff --git a/lib/libpmc/pmc.3 b/lib/libpmc/pmc.3 > index 9a5b599759ff..cb28e0b786b9 100644 > --- a/lib/libpmc/pmc.3 > +++ b/lib/libpmc/pmc.3 > @@ -224,6 +224,11 @@ performance measurement architecture version 2 > and later. >  Programmable hardware counters present in CPUs conforming to the >  .Tn Intel >  performance measurement architecture version 1 and later. > +.It Li PMC_CLASS_IBS > +.Tn AMD > +Instruction Based Sampling (IBS) counters present in > +.Tn AMD > +Family 10h and above. >  .It Li PMC_CLASS_K8 >  Programmable hardware counters present in >  .Tn "AMD Athlon64" > @@ -491,6 +496,7 @@ following manual pages: >  .It Em "PMC Class"      Ta Em "Manual Page" >  .It Li PMC_CLASS_IAF    Ta Xr pmc.iaf 3 >  .It Li PMC_CLASS_IAP    Ta Xr pmc.atom 3 , Xr pmc.core 3 , Xr > pmc.core2 3 > +.It Li PMC_CLASS_IBS    Ta Xr pmc.ibs 3 >  .It Li PMC_CLASS_K8     Ta Xr pmc.amd 3 >  .It Li PMC_CLASS_TSC    Ta Xr pmc.tsc 3 >  .El > @@ -542,6 +548,7 @@ Doing otherwise is unsupported. >  .Xr pmc.haswelluc 3 , >  .Xr pmc.haswellxeon 3 , >  .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , >  .Xr pmc.ivybridge 3 , >  .Xr pmc.ivybridgexeon 3 , >  .Xr pmc.sandybridge 3 , > diff --git a/lib/libpmc/pmc.amd.3 b/lib/libpmc/pmc.amd.3 > index 047b31aa78bb..75c6331b000f 100644 > --- a/lib/libpmc/pmc.amd.3 > +++ b/lib/libpmc/pmc.amd.3 > @@ -777,6 +777,7 @@ and the underlying hardware events used. >  .Xr pmc.core 3 , >  .Xr pmc.core2 3 , >  .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , >  .Xr pmc.soft 3 , >  .Xr pmc.tsc 3 , >  .Xr pmclog 3 , > diff --git a/lib/libpmc/pmc.core.3 b/lib/libpmc/pmc.core.3 > index b4fa9ab661a4..4c41e7c7ad3b 100644 > --- a/lib/libpmc/pmc.core.3 > +++ b/lib/libpmc/pmc.core.3 > @@ -786,6 +786,7 @@ may not count some transitions. >  .Xr pmc.atom 3 , >  .Xr pmc.core2 3 , >  .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , >  .Xr pmc.soft 3 , >  .Xr pmc.tsc 3 , >  .Xr pmclog 3 , > diff --git a/lib/libpmc/pmc.core2.3 b/lib/libpmc/pmc.core2.3 > index 86604b7ff16c..7e544fad43b6 100644 > --- a/lib/libpmc/pmc.core2.3 > +++ b/lib/libpmc/pmc.core2.3 > @@ -1101,6 +1101,7 @@ and the underlying hardware events used. >  .Xr pmc.atom 3 , >  .Xr pmc.core 3 , >  .Xr pmc.iaf 3 , > +.Xr pmc.ibs 3 , >  .Xr pmc.soft 3 , >  .Xr pmc.tsc 3 , >  .Xr pmc_cpuinfo 3 , > diff --git a/lib/libpmc/pmc.iaf.3 b/lib/libpmc/pmc.iaf.3 > index eaf45db140f5..c3528e472103 100644 > --- a/lib/libpmc/pmc.iaf.3 > +++ b/lib/libpmc/pmc.iaf.3 > @@ -125,6 +125,7 @@ CPU, use the event specifier >  .Xr pmc.atom 3 , >  .Xr pmc.core 3 , >  .Xr pmc.core2 3 , > +.Xr pmc.ibs 3 , >  .Xr pmc.soft 3 , >  .Xr pmc.tsc 3 , >  .Xr pmc_cpuinfo 3 , > diff --git a/lib/libpmc/pmc.ibs.3 b/lib/libpmc/pmc.ibs.3 > new file mode 100644 > index 000000000000..69b90b84556c > --- /dev/null > +++ b/lib/libpmc/pmc.ibs.3 > @@ -0,0 +1,150 @@ > +.\" Copyright (c) 2016 Ali Mashtizadeh.  All rights reserved. > > > Isn't this 2026? >   Yes, it should be. Thanks for pointing this out. Looks like it is missing the SPDX tag as well. I will confer with the author and fix it. Cheers, Mitchell From nobody Tue Mar 24 14:10:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgBln01D8z6Wk19 for ; Tue, 24 Mar 2026 14:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgBlm6YBlz3T95 for ; Tue, 24 Mar 2026 14:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774361460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gKoAE+XgEzvQMthf/vMDO7ZO1JunlVpoTHISCT6gH8Y=; b=D7gB+aRuFlPt9zN6fhhv1ZFRQlzmZzurV8WC7f5j12Sop0Ji/x7D6nHW30TWy5zgvLMn+s gU/WVoQ9drusY3KAGXakI7fiP//ST/owuOyZKatkUJPCedgy2Vbab8BfUzfJplpXyKJStK 97uKMiVaencwBw0vXdnB3mv4I0bX/+oocLWK1tGBE0ZsVxvqqxboU3QDNq0rs0FZMh8yX7 GMssc4kIpSSuiGb6Zt+cwaxv6KP7u9mHmlYNN5Lk4HOf9E588oPxpjZgGDaKT1Bk3yCYHZ KLBLSz8krOvvbeRWZW7DF3QcYjIAPTy8yJJmRxL/hyfau4bmRB9I14LKAk2Iyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774361460; a=rsa-sha256; cv=none; b=cX4o94pmdTQkemFqo/hrftQTTlMyWSgbbCrLDtX+p7XH8Nd3X4eV804CclG01ppev+rdBd zzv0Ncq0KgC3diDSXXxFE7jK3E9ouz15qHIDyNlFeNjIK7fjJbNZpmAXR/wUzqhMaF56oF plifCRN1DUl3noWcjJcQrHd2ovYzuyODi8N6wQ/myltJD7YXiMP6H5m7zoHFzDCMqRDx2L DRLvgidGxPaV+XI7qMCNmQbvst1C7lF1UGDkXpNi3UFIBgVnZr14WUTOWMi0m264xAEr7L E6inbVCacsx7MwjqEFC1uu0mDyR4ZlveYh4/ZipNKemvd13HrECBQWRIZSOoVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774361460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gKoAE+XgEzvQMthf/vMDO7ZO1JunlVpoTHISCT6gH8Y=; b=OpMClPi3bk/3xcseWRZ2RWwli6kWnp8wU7w7KqH3acGTX7Q5frK/lV2E62DDzYTw0qqYyT F/yQRDgd9sSpdLZIZPI0tnITEqgtM9tN+fEbDEGyL/Bg7u1O3WgPUOwjkuqVZtPCDCybGG Jvtiw3Nnxb6z9KLCkMK8o84YtzFdZFuugF9LnOLp2DbDbJmNqHqfogzoNVAPvmLtFEMyCF OPKD21PtXw0bTa75Bqnv/8WrRcL6YavBCYWdD/4OhVRKHOzYCZpBMMss2nJpYDU7X1Bsrg xrMQWwHdrBALRBLueXs0P6q5uMFZTImF7QfGhAdPYObpsi5gh7QeoA68bDNxKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgBlm6578z6Tm for ; Tue, 24 Mar 2026 14:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1934a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 14:10:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 82a066b8593a - main - snd_dummy: Fix sys/conf/files entry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 82a066b8593a14e0bbf8e1fcdc75fd9ecf0d9e62 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 14:10:55 +0000 Message-Id: <69c29b6f.1934a.2db31951@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=82a066b8593a14e0bbf8e1fcdc75fd9ecf0d9e62 commit 82a066b8593a14e0bbf8e1fcdc75fd9ecf0d9e62 Author: Christos Margiolis AuthorDate: 2026-03-24 14:10:44 +0000 Commit: Christos Margiolis CommitDate: 2026-03-24 14:10:44 +0000 snd_dummy: Fix sys/conf/files entry Fixes: 72e85a4d977e ("snd_dummy: Add to sys/conf/files and sys/conf/NOTES") Report by: CI Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D56065 --- sys/conf/files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 15cec09192bc..5fc84f911e19 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3209,7 +3209,7 @@ dev/sound/midi/mpu401.c optional sound dev/sound/midi/mpu_if.m optional sound dev/sound/midi/mpufoi_if.m optional sound dev/sound/sndstat.c optional sound -dev/sound/dummy.c optional sound +dev/sound/dummy.c optional snd_dummy sound dev/spibus/acpi_spibus.c optional acpi spibus dev/spibus/ofw_spibus.c optional fdt spibus dev/spibus/spibus.c optional spibus \ From nobody Tue Mar 24 18:12:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgJ6t0SXpz6W0TL for ; Tue, 24 Mar 2026 18:12:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgJ6s708Wz3v6M for ; Tue, 24 Mar 2026 18:12:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774375974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ywUDdkcfFvN895y3IVhZDLqz4nenvGHFVuW5IJ1j0A0=; b=g8M1/rRil8JoSHFCNMIAOrCpeccfi2mLEcEoOhHzcbcRpGhRR/4fXDv3uZfQGjr6peyRoo RZzTbEYs95cNRLySAz6psT/H8YQ6ttAWvsWD7wWh0UrGywRY+cqvJnrgVLALQWdybQeEe3 wFn4XD4gAN7MnkAU065hnBKHLNj59Onbh3uNYNdrlZ6W7N4Tnxe0bFPF2iCS1QIhCMnwvl 3Vzhio4tkvMo6kjV/5tSHP5m30M4hxrVcxANnPXfpV6qz9W22KSQz0sADnBOjc2H7wrJSa 14nW4Mm1NKAZA+udB5GRSq2QP7rk+PaBQoSB56b9ho2uIGC0detV1sSIEvfEcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774375974; a=rsa-sha256; cv=none; b=ZBy458Sjnk6j66MWr3xdWh3a+kA0KXFikT56nUiRd3ISl3OfexYVCQoAjZsALGPGBlZv1O SW4nEOWEFkWqeHABLQyvoaR9enPXpoYBYrypVkKLeqDIcMxLpr+mlG4EL1VlMEjz0FP/p7 esHDxhS3U3yznYTS2JSM6y83JhUZtoS9o5MyMoDaQSlUr2SIC57L1ezs1lnW6iiwQwryvA F+VtefKiYOI0U56HVjfiup8yNg9pEpRqY11ONOVTNm16wrt1Dxemr0Z1AFvAIlHzI8O4EX ughpZsqzOPi/sNdYHZIUQYXIp9XYz8gOpfdCZT3+U1aM36dOZrylg+13y8qvJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774375974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ywUDdkcfFvN895y3IVhZDLqz4nenvGHFVuW5IJ1j0A0=; b=aWCTJcK7pvw7PeIZaXuDRjrHiOA0Q9eneV3IGzSsZAxcT5Ke9RKgoebjUUBmXE2i514s3a 1NRf9xREKb5/buhEB8JQfPX2um/5PBfVt1guLSeGHpTiZD6tZluczL7v3AO/TVn2BpWl5/ fNqwtvJaltcPUlZdrG1olip6Lr9mxzDUlBF351HJh5noemXG5RDi4Y9TU8ht3pmHx1aMKf YZf3LugPGuGmHuM2pDZVSZsoXXEbaiJPeXPP538N5yzcQQ3TK9I6NUAfqTOwlCj7M9S75c o/0vZof8I41NcyFYkXQJQtQSslg150AQebmDuBDyLS24J9ngzBTTNJ16a0ADAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgJ6s6XFgzTw5 for ; Tue, 24 Mar 2026 18:12:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cafe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 18:12:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 954aaf3958e2 - main - MAC/do: Comments: Rephrase one, fix a typo in another List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 954aaf3958e2ea0e9b1811090ddbb9d8b13a3e5a Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 18:12:53 +0000 Message-Id: <69c2d425.3cafe.230d2a68@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=954aaf3958e2ea0e9b1811090ddbb9d8b13a3e5a commit 954aaf3958e2ea0e9b1811090ddbb9d8b13a3e5a Author: Olivier Certner AuthorDate: 2026-03-21 13:39:04 +0000 Commit: Olivier Certner CommitDate: 2026-03-21 13:39:04 +0000 MAC/do: Comments: Rephrase one, fix a typo in another No functional change. MFC after: 3 days Event: AsiaBSDCon 2026 Sponsored by: The FreeBSD Foundation --- sys/security/mac_do/mac_do.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index 2bcff7bba973..ba49da22ce67 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -1153,13 +1153,14 @@ remove_rules(struct prison *const pr) prison_lock(pr); /* - * We go to the burden of extracting rules first instead of just letting - * osd_jail_del() calling dealloc_jail_osd() as we want to decrement - * their use count, and possibly free them, outside of the prison lock. + * We burden ourselves with extracting rules first instead of just + * letting osd_jail_del() call dealloc_jail_osd() as we want to + * decrement their use count, and possibly free them, outside of the + * prison lock. */ old_rules = osd_jail_get(pr, osd_jail_slot); error = osd_jail_set(pr, osd_jail_slot, NULL); - /* osd_set() never fails nor allocate memory when 'value' is NULL. */ + /* osd_set() never allocates memory when 'value' is NULL, nor fails. */ MPASS(error == 0); /* * This completely frees the OSD slot, but doesn't call the destructor From nobody Tue Mar 24 21:25:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgNP62hP0z6WD1h for ; Tue, 24 Mar 2026 21:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgNP60mD7z4JgF for ; Tue, 24 Mar 2026 21:25:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774387530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NIhgyODH+Oo/hpEc62kELdIz+c8nPdrRnY4Ui+vImMw=; b=TnlE8xJWjNaIrYot9oRkMpCqh1jB0cZA30tOnyTXoyGC9g9Y52SK6IUZW7eBNDen4D19F6 tIViuciJ2IQWwMIsgDG1QgNkNyGfHmswwssLr+UNNxWpAfSAnzCK7QCUHcUl0kVYJ+vw1N xElUg1H/gary++6liLdrT5o/hnd80Adyg/gj7m/BUgM5aP4Bz7cI2DRslzZGCN4U8lwNAF A5b3EL4UTXxw0M4wwQz7Uptx+YtD0ZfzjQpl8lZo0sCnlo/FH5EImQBA3wUDBPMjJ0C/E2 DEEKcHhnkJ74kcmMeQI5R327omjUyLKMUUGYDsVc67fwfrpJ0s+dba5hgewptQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774387530; a=rsa-sha256; cv=none; b=xmE1qSo0q26uZ65DV9KRWpJKfUpKRpfY+scLCx26JXn/QfgsZEG6MHJ6tHA7zmfUGJ7kHK 7wLasaNk1M9if8MxqK4lZ9zU1huJ1T5PTi/wDrLE+AzwFqYzvwkFDR+nofz5rqa/CScV7y q2XtvowhAIdTBiGrN0h1/HTSrmrvcy6xngjvNSlgrkQJLnU1BnxK5IwExLdj+xIYHgLo2U 60i7RwjkbFgV/wP9vS8qpj6h1Ip1AuGTXvM9V4wwZGLtdzEOrU+1dm42qzoP+r7Fm1oX0w JdH3Cc8u6oSGUq2SyDsnj0kB8YEGNbRaxa/lgqTyl+6o7EtUNuud4i5nSZxLiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774387530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NIhgyODH+Oo/hpEc62kELdIz+c8nPdrRnY4Ui+vImMw=; b=x7flu/VOqs2mebJfbc6r3UklptmzOy80Z7WdqagZSr1FZmiydKiMELzTH0JOfuWELn8Q2C qSmu9mRBDNZbhKBIcsEDdX8dTPd3KpH96zvYbI1ZOKuu7pXcG8Sq07BxOiMPGv3TCYelMv 6srVMNnOzuCSmgWYoHZnjRXoGjR10HC4JBScNY20L/ym5I0AAnc+a3t+NquPFIGhy/fncR B9gjkBB8tEUMrMiN7LmJlcRXt1B0AcG8VvkdLXf8/3R8w3nBrn35wkZdisXBJz0Cn3DP1R 9EnxIQuMW0cWa3CZWi7EZXFisBFQW/gzz4rR1J/fzLUTveIn7Bl13vhPYsJBFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgNP601g6zccW for ; Tue, 24 Mar 2026 21:25:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 207df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 21:25:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: cd05c88058b5 - main - tests/netinet: add test for getsockname() on a disconnected TCP socket List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd05c88058b5b3684f0d7f3086afa21a944d9cd1 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 21:25:24 +0000 Message-Id: <69c30144.207df.1b6a4494@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=cd05c88058b5b3684f0d7f3086afa21a944d9cd1 commit cd05c88058b5b3684f0d7f3086afa21a944d9cd1 Author: Gleb Smirnoff AuthorDate: 2026-03-24 20:51:59 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-24 21:24:58 +0000 tests/netinet: add test for getsockname() on a disconnected TCP socket Stack it into existing file that exercises an other corner case of our TCP and rename the file to a more generic name. --- ObsoleteFiles.inc | 3 ++ tests/sys/netinet/Makefile | 2 +- .../{tcp_implied_connect.c => tcp_socket.c} | 39 ++++++++++++++++++++-- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 1b5fe1dec9b3..0f8fd14e2c44 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20260324: test file renamed +OLD_FILES+=usr/tests/sys/netinet/tcp_implied_connect + # 20260302: Remove obsolete le(4) ethernet driver OLD_FILES+=usr/share/man/man4/le.4.gz diff --git a/tests/sys/netinet/Makefile b/tests/sys/netinet/Makefile index 564eabae3313..42906aa2dd93 100644 --- a/tests/sys/netinet/Makefile +++ b/tests/sys/netinet/Makefile @@ -13,7 +13,7 @@ ATF_TESTS_C= broadcast \ so_reuseport_lb_test \ socket_afinet \ tcp_connect_port_test \ - tcp_implied_connect \ + tcp_socket \ tcp_md5_getsockopt \ udp_bindings \ udp_io diff --git a/tests/sys/netinet/tcp_implied_connect.c b/tests/sys/netinet/tcp_socket.c similarity index 70% rename from tests/sys/netinet/tcp_implied_connect.c rename to tests/sys/netinet/tcp_socket.c index d03d6be4fb92..668a3915adb7 100644 --- a/tests/sys/netinet/tcp_implied_connect.c +++ b/tests/sys/netinet/tcp_socket.c @@ -33,8 +33,8 @@ #include -ATF_TC_WITHOUT_HEAD(tcp_implied_connect); -ATF_TC_BODY(tcp_implied_connect, tc) +ATF_TC_WITHOUT_HEAD(implied_connect); +ATF_TC_BODY(implied_connect, tc) { struct sockaddr_in sin = { .sin_family = AF_INET, @@ -72,9 +72,42 @@ ATF_TC_BODY(tcp_implied_connect, tc) ATF_REQUIRE(strcmp(buf, repl) == 0); } +/* + * A disconnected TCP socket shall return the local address it used before + * it was disconnected. + */ +ATF_TC_WITHOUT_HEAD(getsockname_disconnected); +ATF_TC_BODY(getsockname_disconnected, tc) +{ + struct sockaddr_in sin = { + .sin_family = AF_INET, + .sin_len = sizeof(sin), + }; + socklen_t len; + int s, c, a; + + ATF_REQUIRE(s = socket(PF_INET, SOCK_STREAM, 0)); + ATF_REQUIRE(c = socket(PF_INET, SOCK_STREAM, 0)); + + ATF_REQUIRE(bind(s, (struct sockaddr *)&sin, sizeof(sin)) == 0); + len = sizeof(sin); + ATF_REQUIRE(getsockname(s, (struct sockaddr *)&sin, &len) == 0); + sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + ATF_REQUIRE(listen(s, -1) == 0); + ATF_REQUIRE(connect(c, (struct sockaddr *)&sin, sizeof(sin)) == 0); + ATF_REQUIRE((a = accept(s, NULL, NULL)) != 1); + ATF_REQUIRE(close(a) == 0); + ATF_REQUIRE(getsockname(c, (struct sockaddr *)&sin, &len) == 0); + ATF_REQUIRE(sin.sin_addr.s_addr == htonl(INADDR_LOOPBACK)); + + close(c); + close(s); +} + ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, tcp_implied_connect); + ATF_TP_ADD_TC(tp, implied_connect); + ATF_TP_ADD_TC(tp, getsockname_disconnected); return (atf_no_error()); } From nobody Tue Mar 24 22:03:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgPFD6b2mz6WGHt for ; Tue, 24 Mar 2026 22:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgPFD5Jgpz4MrY for ; Tue, 24 Mar 2026 22:03:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774389824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUZWqqhGr7D4yOlHJSn+2KaNIPBsqm684m14TGFy7Mc=; b=lXQ7138mjkhBg8fPlY2llvKa8q21MBa5/6IOgfc0N0+6HQpxDlg+okiZhNU+X+oebiHlth B4aKrOxp9sSGGSjmAwlXdOgI9dzNlBi22zMc5EpQEi28IuKIu61EQJfcR3mWFeFc8X7JR9 OCaKNe5N7Q5RhXVo3FrgVob7NrdnjtDD/KCjjnkae5wj1/CMolWxjj3HYqzqhv9xlBWWC3 5ZA5onEi8PWBLq2o+eImqY0BHvwAhSLPqxPzGqgjQRzMnDD5hgs5+aT7Hliqz1MPdz9X87 fVtzv/jW5zkY5bKtFuSKffa2gTRCvDuzbTstzZaRIGqEWmQi0518Aw7NT3oCiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774389824; a=rsa-sha256; cv=none; b=rzX05DvsTKnszfukGGQPQBYjPuL821Aa33anGPUbUwLlSAfIUgm1TNkwS8c5ZKSqRslnOS dg6YmxrA7EdkikHaD6mAgwpvfE38cMUSonc6ugJUQDpYSBqvrVaLfvwk+VZGeNp1Sq8mDh S2MVI1C8O41Tohx2b3VDRLGshsMjiXr+C/cOGjAvFq92hUUYfOY9cJKybUz8LeS3t0MrX0 s0lTHb/jTSI2yYb2d5uTTzjh14DuM+06L4FdgAMZ5iJx2V8m5qS4cjA2yMz20qPma6Cu6K r6ti3F/1SR0vTsX4Upg/LGcR42sIIacIXVPp5IKEpB1Dt2qnJb63ZKl8opzoHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774389824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUZWqqhGr7D4yOlHJSn+2KaNIPBsqm684m14TGFy7Mc=; b=vXUhnz3F3VI+tcpUOKSbmPNl0oErzvvEhRx2aMWxrkxnBqUk/ArCE58DR4pF4Gsx+0dSCN Z0Iy1tM+ccDwMJ7XrXpTFe9aV+bBe0WR09oD6zq4mNaYIu7oOInjHCvcp5zwwh7j9FoAT1 ETdgTIzArligB22sHca9mJstBh4g8EdEMt73MFheanG99LIdh7gyc4M+MBSFtfOnyWSwO2 V0ZmpkubcedCNzqcpbXz3dqw4xbsSNfoM7YZPwcNmCI2i6D4lnODC3cLHYG0zkG5wKmjya 6avfKrKLbkEHQrG95IYOzxYLPpOzp5v53mQ2UXrI1Sow9z8tp7RQG780NNMIZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgPFD4dMkzdRc for ; Tue, 24 Mar 2026 22:03:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22a57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 22:03:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 769a6f803d1b - main - tcp_usrreq: Only allocate TFO counter when required List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 769a6f803d1b531d956af8d857e68f2d2d847324 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 22:03:39 +0000 Message-Id: <69c30a3b.22a57.34591ec6@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=769a6f803d1b531d956af8d857e68f2d2d847324 commit 769a6f803d1b531d956af8d857e68f2d2d847324 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-24 17:54:46 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-24 22:02:45 +0000 tcp_usrreq: Only allocate TFO counter when required During tcp_usr_listen(), only allocate TFO counter when required. Reviewed by: tuexen, glebius Differential Revision: https://reviews.freebsd.org/D56067 --- sys/netinet/tcp_usrreq.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index aadcf0c9ce9c..b0a75127b124 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -396,10 +396,11 @@ tcp_usr_listen(struct socket *so, int backlog, struct thread *td) if (already_listening) goto out; - if (error == 0) + if (error == 0) { in_pcblisten(inp); - if (tp->t_flags & TF_FASTOPEN) - tp->t_tfo_pending = tcp_fastopen_alloc_counter(); + if (tp->t_flags & TF_FASTOPEN) + tp->t_tfo_pending = tcp_fastopen_alloc_counter(); + } out: tcp_bblog_pru(tp, PRU_LISTEN, error); @@ -460,12 +461,11 @@ tcp6_usr_listen(struct socket *so, int backlog, struct thread *td) if (already_listening) goto out; - if (error == 0) + if (error == 0) { in_pcblisten(inp); - if (tp->t_flags & TF_FASTOPEN) - tp->t_tfo_pending = tcp_fastopen_alloc_counter(); - - if (error != 0) + if (tp->t_flags & TF_FASTOPEN) + tp->t_tfo_pending = tcp_fastopen_alloc_counter(); + } else inp->inp_vflag = vflagsav; out: From nobody Wed Mar 25 00:42:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm40xK2z6WRrN for ; Wed, 25 Mar 2026 00:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgSm36st8z3MgN for ; Wed, 25 Mar 2026 00:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399331; h=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=KD6H3cf6X8+2NlGtezJJjfUKhiPuiWvyVdb07NKi8Ic=; b=o5S1MgmTbaxJlbZ3XkLdZXGres/aKcTQf+MYghPEkxS2rCn5Cu9jn51XdbWyIse2TpHGjr B6pfm+ZhSrBhDAfPkn5RJnedu6GWItZaoNHavqjx+jLsNVk0C/AKMdZ9a+3N91gOCUKnK0 LDVJGl2MgKVavw5Sp0kB4hLfasByvM1fMitFP/1Npsa49iP2z/hgAgxfTqwpKnzlvUnL7f 0FHaQOLPz3km8CHbegrumKcWHu99ns+znuennBbGdE1wIRRC2v0h3OxTYMn9Xyk9UCMiZO VMB+boUHOF+XWuvKqKm3P0RzSMIOlFgaSDKOxIu/nnr4G4sHH0cXxeE+hfRp2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399331; a=rsa-sha256; cv=none; b=pe6obfS6U13pw0VGj4IEHAJ4IXA/upGvOOcUv8/HALxntOXE0MG3mUKIDlv1wYc7Joru6g Bz5gaYPuTqJ1Mg8xGjIqgyKLHQ6StfEJkc1fn+JP7BPQFvULrYJPRWiHLr8B1aDGgeuM21 qz0KGD+kHsaXaQn1TkAGvN8khilVRjIH0w8EqjDsvcgzbAJNyfxL6r+tTv6TgL3bGz9Wc6 9iCXCu5eBjw/aishrkti27Nwy4u8nRL+i3LTYWvDC041GWSOLUvMjehFauK9JZ/He+SncZ Elr1CG3kMRJOIpskUeUhkNuun1+3jocwKhFYPtYsmu8K4w4+8aNQq+mJZORf0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399331; h=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=KD6H3cf6X8+2NlGtezJJjfUKhiPuiWvyVdb07NKi8Ic=; b=YfkRUi30K1SQcrs7+U3ERPGt6HUyeBlHrVKKu5BBXsdqkD9Xgct6zRgF1zRQ6NxBDk6TBB zCureLxVAb9NDej5yq7o1i5nZ9gVAEv4KNvQPL0wRi90nIhWmUauV/h30M+W7/hjAkc4jI frJ20cM1y6vtVXgGvnUVHk2NZN6VgH1hOtWt+m6dIrCVWBru80sDEoTQ3VLR3RwBYx1ioT BH+/Rvw0c0jKh4g+YmrcQ2GAjzGinxwNx9NzBcigNdgLXVO3CJaiJMkr9d1modjlGm8vZh Q3RzVAj9Uf/StejaSFknzpZ0o2xbWEXJkDyz8W07okD0Kp+p4YB01MSEDUO6Zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm36FXgzjf4 for ; Wed, 25 Mar 2026 00:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cd1e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:42:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Marc Espie From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: f8f6f1cbd576 - main - m4: Stop abbreviating builtin names List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8f6f1cbd576ab5f15cef178cc05251365652f74 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:42:11 +0000 Message-Id: <69c32f63.3cd1e.363f5d44@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f8f6f1cbd576ab5f15cef178cc05251365652f74 commit f8f6f1cbd576ab5f15cef178cc05251365652f74 Author: Marc Espie AuthorDate: 2026-03-25 00:41:18 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:41:18 +0000 m4: Stop abbreviating builtin names * Stop abbreviating macro names half-randomly to 8 chars, this is no longer 1990. * Likewise for function names (in particular use doindex for a function that is notably different from the classic index function). * Rename a few things for more fidelity: eval is the builtin name, not expr and your maketemp/mkstemp conform to mkstemp semantics for better security. * Rewrap a few comments that were ludicrously short. No functional changes except improved accuracy of some error messages. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55793 --- usr.bin/m4/eval.c | 184 ++++++++++++++++++++++++---------------------------- usr.bin/m4/extern.h | 2 +- usr.bin/m4/look.c | 6 +- usr.bin/m4/main.c | 65 ++++++++++--------- usr.bin/m4/mdef.h | 88 ++++++++++++------------- usr.bin/m4/misc.c | 2 +- 6 files changed, 168 insertions(+), 179 deletions(-) diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 0963a61a2914..71be6f305dee 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -60,17 +60,17 @@ static void dodefn(const char *); static void dopushdef(const char *, const char *); -static void dodump(const char *[], int); +static void dodumpdef(const char *[], int); static void dotrace(const char *[], int, int); static void doifelse(const char *[], int); -static int doincl(const char *); +static int doinclude(const char *); static int dopaste(const char *); -static void dochq(const char *[], int); -static void dochc(const char *[], int); +static void dochangequote(const char *[], int); +static void dochangecom(const char *[], int); static void dom4wrap(const char *); -static void dodiv(int); -static void doundiv(const char *[], int); -static void dosub(const char *[], int); +static void dodivert(int); +static void doundivert(const char *[], int); +static void dosubstr(const char *[], int); static void map(char *, const char *, const char *, const char *); static const char *handledash(char *, char *, const char *); static void expand_builtin(const char *[], int, int); @@ -108,7 +108,7 @@ eval(const char *argv[], int argc, int td, int is_traced) m4errx(1, "expanding recursive definition for %s.", argv[1]); if (is_traced) mark = trace(argv, argc, infile+ilevel); - if (td == MACRTYPE) + if (td == MACROTYPE) expand_macro(argv, argc); else expand_builtin(argv, argc, td); @@ -149,18 +149,18 @@ expand_builtin(const char *argv[], int argc, int td) switch (td & TYPEMASK) { - case DEFITYPE: + case DEFINETYPE: if (argc > 2) dodefine(argv[2], (argc > 3) ? argv[3] : null); break; - case PUSDTYPE: + case PUSHDEFTYPE: if (argc > 2) dopushdef(argv[2], (argc > 3) ? argv[3] : null); break; - case DUMPTYPE: - dodump(argv, argc); + case DUMPDEFTYPE: + dodumpdef(argv, argc); break; case TRACEONTYPE: @@ -171,10 +171,9 @@ expand_builtin(const char *argv[], int argc, int td) dotrace(argv, argc, 0); break; - case EXPRTYPE: + case EVALTYPE: /* - * doexpr - evaluate arithmetic - * expression + * doeval - evaluate arithmetic expression */ { int base = 10; @@ -184,14 +183,14 @@ expand_builtin(const char *argv[], int argc, int td) if (argc > 3 && *argv[3] != '\0') { base = strtonum(argv[3], 2, 36, &errstr); if (errstr) { - m4errx(1, "expr: base is %s: %s.", + m4errx(1, "eval: base is %s: %s.", errstr, argv[3]); } } if (argc > 4) { mindigits = strtonum(argv[4], 0, INT_MAX, &errstr); if (errstr) { - m4errx(1, "expr: mindigits is %s: %s.", + m4errx(1, "eval: mindigits is %s: %s.", errstr, argv[4]); } } @@ -200,15 +199,14 @@ expand_builtin(const char *argv[], int argc, int td) break; } - case IFELTYPE: + case IFELSETYPE: doifelse(argv, argc); break; - case IFDFTYPE: + case IFDEFTYPE: /* - * doifdef - select one of two - * alternatives based on the existence of - * another definition + * doifdef - select one of two alternatives based + * on the existence of another definition */ if (argc > 3) { if (lookup_macro_definition(argv[2]) != NULL) @@ -218,18 +216,16 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case LENGTYPE: + case LENTYPE: /* - * dolen - find the length of the - * argument + * dolen - find the length of the argument */ pbnum((argc > 2) ? strlen(argv[2]) : 0); break; case INCRTYPE: /* - * doincr - increment the value of the - * argument + * doincr - increment the value of the argument */ if (argc > 2) { n = strtonum(argv[2], INT_MIN, INT_MAX-1, &errstr); @@ -242,8 +238,7 @@ expand_builtin(const char *argv[], int argc, int td) case DECRTYPE: /* - * dodecr - decrement the value of the - * argument + * dodecr - decrement the value of the argument */ if (argc > 2) { n = strtonum(argv[2], INT_MIN+1, INT_MAX, &errstr); @@ -254,9 +249,9 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case SYSCTYPE: + case SYSCMDTYPE: /* - * dosys - execute system command + * dosyscmd - execute system command */ if (argc > 2) { fflush(stdout); @@ -264,10 +259,9 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case SYSVTYPE: + case SYSVALTYPE: /* - * dosysval - return value of the last - * system call. + * dosysval - return value of the last system call. * */ pbnum(sysval); @@ -277,9 +271,9 @@ expand_builtin(const char *argv[], int argc, int td) if (argc > 2) doesyscmd(argv[2]); break; - case INCLTYPE: + case INCLUDETYPE: if (argc > 2) { - if (!doincl(argv[2])) { + if (!doinclude(argv[2])) { if (mimic_gnu) { warn("%s at line %lu: include(%s)", CURRENT_NAME, CURRENT_LINE, argv[2]); @@ -295,19 +289,20 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case SINCTYPE: + case SINCLUDETYPE: + /* like include, but don't error out if file not found */ if (argc > 2) - (void) doincl(argv[2]); + (void) doinclude(argv[2]); break; #ifdef EXTENDED - case PASTTYPE: + case PASTETYPE: if (argc > 2) if (!dopaste(argv[2])) err(1, "%s at line %lu: paste(%s)", CURRENT_NAME, CURRENT_LINE, argv[2]); break; - case SPASTYPE: + case SPASTETYPE: if (argc > 2) (void) dopaste(argv[2]); break; @@ -315,28 +310,27 @@ expand_builtin(const char *argv[], int argc, int td) doformat(argv, argc); break; #endif - case CHNQTYPE: - dochq(argv, ac); + case CHANGEQUOTETYPE: + dochangequote(argv, ac); break; - case CHNCTYPE: - dochc(argv, argc); + case CHANGECOMTYPE: + dochangecom(argv, argc); break; - case SUBSTYPE: + case SUBSTRTYPE: /* - * dosub - select substring + * dosubstr - select substring * */ if (argc > 3) - dosub(argv, argc); + dosubstr(argv, argc); break; - case SHIFTYPE: + case SHIFTTYPE: /* - * doshift - push back all arguments - * except the first one (i.e. skip - * argv[2]) + * doshift - push back all arguments except the first one + * (i.e. skip argv[2]) */ if (argc > 3) { for (n = argc - 1; n > 3; n--) { @@ -351,14 +345,14 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case DIVRTYPE: + case DIVERTTYPE: if (argc > 2) { n = strtonum(argv[2], INT_MIN, INT_MAX, &errstr); if (errstr) m4errx(1, "divert: argument is %s: %s.", errstr, argv[2]); if (n != 0) { - dodiv(n); + dodivert(n); break; } } @@ -366,42 +360,40 @@ expand_builtin(const char *argv[], int argc, int td) oindex = 0; break; - case UNDVTYPE: - doundiv(argv, argc); + case UNDIVERTTYPE: + doundivert(argv, argc); break; - case DIVNTYPE: + case DIVNUMTYPE: /* - * dodivnum - return the number of - * current output diversion + * dodivnum - return the number of current output diversion */ pbnum(oindex); break; - case UNDFTYPE: + case UNDEFINETYPE: /* - * doundefine - undefine a previously - * defined macro(s) or m4 keyword(s). + * doundefine - undefine a previously defined macro(s) or m4 + * keyword(s). */ if (argc > 2) for (n = 2; n < argc; n++) macro_undefine(argv[n]); break; - case POPDTYPE: + case POPDEFTYPE: /* - * dopopdef - remove the topmost - * definitions of macro(s) or m4 - * keyword(s). + * dopopdef - remove the topmost definitions of macro(s) + * or m4 keyword(s). */ if (argc > 2) for (n = 2; n < argc; n++) macro_popdef(argv[n]); break; - case MKTMTYPE: + case MKSTEMPTYPE: /* - * dotemp - create a temporary file + * domkstemp - safely create a temporary file */ if (argc > 2) { int fd; @@ -420,11 +412,10 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case TRNLTYPE: + case TRANSLITTYPE: /* - * dotranslit - replace all characters in - * the source string that appears in the - * "from" string with the corresponding + * dotranslit - replace all characters in the source string + * that appear in the "from" string with the corresponding * characters in the "to" string. */ if (argc > 3) { @@ -441,19 +432,17 @@ expand_builtin(const char *argv[], int argc, int td) pbstr(argv[2]); break; - case INDXTYPE: + case INDEXTYPE: /* - * doindex - find the index of the second - * argument string in the first argument - * string. -1 if not present. + * doindex - find the index of the second argument string + * in the first argument string. -1 if not present. */ - pbnum((argc > 3) ? indx(argv[2], argv[3]) : -1); + pbnum((argc > 3) ? doindex(argv[2], argv[3]) : -1); break; - case ERRPTYPE: + case ERRPRINTTYPE: /* - * doerrp - print the arguments to stderr - * file + * doerrprint - print the arguments to stderr */ if (argc > 2) { for (n = 2; n < argc; n++) @@ -462,16 +451,15 @@ expand_builtin(const char *argv[], int argc, int td) } break; - case DNLNTYPE: + case DNLTYPE: /* - * dodnl - eat-up-to and including - * newline + * dodnl - eat-up-to and including newline */ while ((c = gpbc()) != '\n' && c != EOF) ; break; - case M4WRTYPE: + case M4WRAPTYPE: /* * dom4wrap - set up for * wrap-up/wind-down activity @@ -480,9 +468,9 @@ expand_builtin(const char *argv[], int argc, int td) dom4wrap(argv[2]); break; - case EXITTYPE: + case M4EXITTYPE: /* - * doexit - immediate exit from m4. + * dom4exit - immediate exit from m4. */ killdiv(); exit((argc > 2) ? atoi(argv[2]) : 0); @@ -504,7 +492,7 @@ expand_builtin(const char *argv[], int argc, int td) dobuiltin(argv, argc); break; - case PATSTYPE: + case PATSUBSTTYPE: if (argc > 2) dopatsubst(argv, argc); break; @@ -625,7 +613,7 @@ dodefn(const char *name) struct macro_definition *p; if ((p = lookup_macro_definition(name)) != NULL) { - if ((p->type & TYPEMASK) == MACRTYPE) { + if ((p->type & TYPEMASK) == MACROTYPE) { pbstr(rquote); pbstr(p->defn); pbstr(lquote); @@ -661,7 +649,7 @@ dump_one_def(const char *name, struct macro_definition *p) if (!traceout) traceout = stderr; if (mimic_gnu) { - if ((p->type & TYPEMASK) == MACRTYPE) + if ((p->type & TYPEMASK) == MACROTYPE) fprintf(traceout, "%s:\t%s\n", name, p->defn); else { fprintf(traceout, "%s:\t<%s>\n", name, p->defn); @@ -676,7 +664,7 @@ dump_one_def(const char *name, struct macro_definition *p) * hash table is dumped. */ static void -dodump(const char *argv[], int argc) +dodumpdef(const char *argv[], int argc) { int n; struct macro_definition *p; @@ -728,7 +716,7 @@ doifelse(const char *argv[], int argc) * doinclude - include a given file. */ static int -doincl(const char *ifile) +doinclude(const char *ifile) { if (ilevel + 1 == MAXINP) m4errx(1, "too many include files."); @@ -765,10 +753,10 @@ dopaste(const char *pfile) #endif /* - * dochq - change quote characters + * dochangequote - change quote characters */ static void -dochq(const char *argv[], int ac) +dochangequote(const char *argv[], int ac) { if (ac == 2) { lquote[0] = LQUOTE; lquote[1] = EOS; @@ -784,10 +772,10 @@ dochq(const char *argv[], int ac) } /* - * dochc - change comment characters + * dochangecom - change comment characters */ static void -dochc(const char *argv[], int argc) +dochangecom(const char *argv[], int argc) { /* XXX Note that there is no difference between no argument and a single * empty argument. @@ -826,7 +814,7 @@ dom4wrap(const char *text) * dodivert - divert the output to a temporary file */ static void -dodiv(int n) +dodivert(int n) { int fd; @@ -856,7 +844,7 @@ dodiv(int n) * other outputs, in numerical order. */ static void -doundiv(const char *argv[], int argc) +doundivert(const char *argv[], int argc) { int ind; int n; @@ -881,10 +869,10 @@ doundiv(const char *argv[], int argc) } /* - * dosub - select substring + * dosubstr - select substring */ static void -dosub(const char *argv[], int argc) +dosubstr(const char *argv[], int argc) { const char *ap, *fc, *k; int nc; diff --git a/usr.bin/m4/extern.h b/usr.bin/m4/extern.h index 94eb66314bf4..a411cb6d5891 100644 --- a/usr.bin/m4/extern.h +++ b/usr.bin/m4/extern.h @@ -95,7 +95,7 @@ extern int exit_code; extern void chrsave(int); extern char *compute_prevep(void); extern void getdiv(int); -extern ptrdiff_t indx(const char *, const char *); +extern ptrdiff_t doindex(const char *, const char *); extern void initspaces(void); extern void killdiv(void); extern void onintr(int); diff --git a/usr.bin/m4/look.c b/usr.bin/m4/look.c index d7ad94b18bd0..a7e6d87b0494 100644 --- a/usr.bin/m4/look.c +++ b/usr.bin/m4/look.c @@ -127,7 +127,7 @@ setup_definition(struct macro_definition *d, const char *defn, const char *name) d->defn = __DECONST(char *, null); else d->defn = xstrdup(defn); - d->type = MACRTYPE; + d->type = MACROTYPE; } if (STREQ(name, defn)) d->type |= RECDEF; @@ -146,7 +146,7 @@ create_entry(const char *name) n = ohash_create_entry(¯o_info, name, &end); ohash_insert(¯os, i, n); n->trace_flags = FLAG_NO_TRACE; - n->builtin_type = MACRTYPE; + n->builtin_type = MACROTYPE; n->d = NULL; } return n; @@ -271,7 +271,7 @@ macro_getbuiltin(const char *name) ndptr p; p = lookup(name); - if (p == NULL || p->builtin_type == MACRTYPE) + if (p == NULL || p->builtin_type == MACROTYPE) return NULL; else return p; diff --git a/usr.bin/m4/main.c b/usr.bin/m4/main.c index d68069cb10a8..6e4e79b2a414 100644 --- a/usr.bin/m4/main.c +++ b/usr.bin/m4/main.c @@ -105,53 +105,54 @@ struct keyblk { }; static struct keyblk keywrds[] = { /* m4 keywords to be installed */ - { "include", INCLTYPE }, - { "sinclude", SINCTYPE }, - { "define", DEFITYPE }, + { "include", INCLUDETYPE }, + { "sinclude", SINCLUDETYPE }, + { "define", DEFINETYPE }, { "defn", DEFNTYPE }, - { "divert", DIVRTYPE | NOARGS }, - { "expr", EXPRTYPE }, - { "eval", EXPRTYPE }, - { "substr", SUBSTYPE }, - { "ifelse", IFELTYPE }, - { "ifdef", IFDFTYPE }, - { "len", LENGTYPE }, + { "divert", DIVERTTYPE | NOARGS }, + { "eval", EVALTYPE }, + { "expr", EVALTYPE }, + { "substr", SUBSTRTYPE }, + { "ifelse", IFELSETYPE }, + { "ifdef", IFDEFTYPE }, + { "len", LENTYPE }, { "incr", INCRTYPE }, { "decr", DECRTYPE }, - { "dnl", DNLNTYPE | NOARGS }, - { "changequote", CHNQTYPE | NOARGS }, - { "changecom", CHNCTYPE | NOARGS }, - { "index", INDXTYPE }, + { "dnl", DNLTYPE | NOARGS }, + { "changequote", CHANGEQUOTETYPE | NOARGS }, + { "changecom", CHANGECOMTYPE | NOARGS }, + { "index", INDEXTYPE }, #ifdef EXTENDED - { "paste", PASTTYPE }, - { "spaste", SPASTYPE }, + { "paste", PASTETYPE }, + { "spaste", SPASTETYPE }, /* Newer extensions, needed to handle gnu-m4 scripts */ { "indir", INDIRTYPE}, { "builtin", BUILTINTYPE}, - { "patsubst", PATSTYPE}, + { "patsubst", PATSUBSTTYPE}, { "regexp", REGEXPTYPE}, { "esyscmd", ESYSCMDTYPE}, { "__file__", FILENAMETYPE | NOARGS}, { "__line__", LINETYPE | NOARGS}, #endif - { "popdef", POPDTYPE }, - { "pushdef", PUSDTYPE }, - { "dumpdef", DUMPTYPE | NOARGS }, - { "shift", SHIFTYPE | NOARGS }, - { "translit", TRNLTYPE }, - { "undefine", UNDFTYPE }, - { "undivert", UNDVTYPE | NOARGS }, - { "divnum", DIVNTYPE | NOARGS }, - { "maketemp", MKTMTYPE }, - { "mkstemp", MKTMTYPE }, - { "errprint", ERRPTYPE | NOARGS }, - { "m4wrap", M4WRTYPE | NOARGS }, - { "m4exit", EXITTYPE | NOARGS }, - { "syscmd", SYSCTYPE }, - { "sysval", SYSVTYPE | NOARGS }, + { "popdef", POPDEFTYPE }, + { "pushdef", PUSHDEFTYPE }, + { "dumpdef", DUMPDEFTYPE | NOARGS }, + { "shift", SHIFTTYPE | NOARGS }, + { "translit", TRANSLITTYPE }, + { "undefine", UNDEFINETYPE }, + { "undivert", UNDIVERTTYPE | NOARGS }, + { "divnum", DIVNUMTYPE | NOARGS }, + { "maketemp", MKSTEMPTYPE }, + { "mkstemp", MKSTEMPTYPE }, + { "errprint", ERRPRINTTYPE | NOARGS }, + { "m4wrap", M4WRAPTYPE | NOARGS }, + { "m4exit", M4EXITTYPE | NOARGS }, + { "syscmd", SYSCMDTYPE }, + { "sysval", SYSVALTYPE | NOARGS }, { "traceon", TRACEONTYPE | NOARGS }, { "traceoff", TRACEOFFTYPE | NOARGS }, +/* Macro that expands to itself, signature of the current OS */ { "unix", SELFTYPE | NOARGS }, }; diff --git a/usr.bin/m4/mdef.h b/usr.bin/m4/mdef.h index d4fa5b0e0c14..a932315e8f2e 100644 --- a/usr.bin/m4/mdef.h +++ b/usr.bin/m4/mdef.h @@ -41,50 +41,50 @@ # define UNUSED #endif -#define MACRTYPE 1 -#define DEFITYPE 2 -#define EXPRTYPE 3 -#define SUBSTYPE 4 -#define IFELTYPE 5 -#define LENGTYPE 6 -#define CHNQTYPE 7 -#define SYSCTYPE 8 -#define UNDFTYPE 9 -#define INCLTYPE 10 -#define SINCTYPE 11 -#define PASTTYPE 12 -#define SPASTYPE 13 -#define INCRTYPE 14 -#define IFDFTYPE 15 -#define PUSDTYPE 16 -#define POPDTYPE 17 -#define SHIFTYPE 18 -#define DECRTYPE 19 -#define DIVRTYPE 20 -#define UNDVTYPE 21 -#define DIVNTYPE 22 -#define MKTMTYPE 23 -#define ERRPTYPE 24 -#define M4WRTYPE 25 -#define TRNLTYPE 26 -#define DNLNTYPE 27 -#define DUMPTYPE 28 -#define CHNCTYPE 29 -#define INDXTYPE 30 -#define SYSVTYPE 31 -#define EXITTYPE 32 -#define DEFNTYPE 33 -#define SELFTYPE 34 -#define INDIRTYPE 35 -#define BUILTINTYPE 36 -#define PATSTYPE 37 -#define FILENAMETYPE 38 -#define LINETYPE 39 -#define REGEXPTYPE 40 -#define ESYSCMDTYPE 41 -#define TRACEONTYPE 42 -#define TRACEOFFTYPE 43 -#define FORMATTYPE 44 +#define MACROTYPE 1 +#define DEFINETYPE 2 +#define EVALTYPE 3 +#define SUBSTRTYPE 4 +#define IFELSETYPE 5 +#define LENTYPE 6 +#define CHANGEQUOTETYPE 7 +#define SYSCMDTYPE 8 +#define UNDEFINETYPE 9 +#define INCLUDETYPE 10 +#define SINCLUDETYPE 11 +#define PASTETYPE 12 +#define SPASTETYPE 13 +#define INCRTYPE 14 +#define IFDEFTYPE 15 +#define PUSHDEFTYPE 16 +#define POPDEFTYPE 17 +#define SHIFTTYPE 18 +#define DECRTYPE 19 +#define DIVERTTYPE 20 +#define UNDIVERTTYPE 21 +#define DIVNUMTYPE 22 +#define MKSTEMPTYPE 23 +#define ERRPRINTTYPE 24 +#define M4WRAPTYPE 25 +#define TRANSLITTYPE 26 +#define DNLTYPE 27 +#define DUMPDEFTYPE 28 +#define CHANGECOMTYPE 29 +#define INDEXTYPE 30 +#define SYSVALTYPE 31 +#define M4EXITTYPE 32 +#define DEFNTYPE 33 +#define SELFTYPE 34 +#define INDIRTYPE 35 +#define BUILTINTYPE 36 +#define PATSUBSTTYPE 37 +#define FILENAMETYPE 38 +#define LINETYPE 39 +#define REGEXPTYPE 40 +#define ESYSCMDTYPE 41 +#define TRACEONTYPE 42 +#define TRACEOFFTYPE 43 +#define FORMATTYPE 44 #define BUILTIN_MARKER "__builtin_" diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index fd72292aeac0..e0a0e6935986 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -68,7 +68,7 @@ unsigned char *endpbb; /* end of push-back buffer */ * find the index of second str in the first str. */ ptrdiff_t -indx(const char *s1, const char *s2) +doindex(const char *s1, const char *s2) { char *t; From nobody Wed Mar 25 00:42:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm53Xxkz6WRys for ; Wed, 25 Mar 2026 00:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgSm52YRbz3MW5 for ; Wed, 25 Mar 2026 00:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmXi1pcvupHR1DJUx3qTdMhwgWcAGB7AX/DylbRtLd8=; b=wTmO4frH99LbSMI9FCSWlsAwxzoe3keO2KVWX/4u5dJdBKrTRwWUMnnCHg/voJBt6CVdnZ 6v8npsCjqdS+1J2V+6ZdbuLcIJwruFbLRtEXnCCGO6oGwUz93emz/4iEfdyOfXS3csQHR4 H7Uk6AQVpGnlVyBGxz95xy/GJZLWS95ajaD+S3lEikJ7oll6nCq9XIEor4ggqeLqW4QlZs L/7ffm82bhRRY+UmnbjkbZLhT9kfD6lxmGUvs8796GFWDk/lOJqbNX5i64aJ0KVO3EgNAC cw49lfrDw7ZS72GrQUqPyxvl91BzY1ZiCAF37dTPIegfvQ9lGSJXMYok+EdORQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399333; a=rsa-sha256; cv=none; b=TF657/iREbkvW/1E9oomSURnfOI32EzXBSgHnBL8GapIKi+kYEt0jxG45+o7f83nbvRP15 FEihmEurOz/ExRWDIsrlMVbqZ6aQNJI6t0TdI0iH6iVMTLUjXfMlZBY51N/r/brMIQkjjS 2gm84wg8d86Ps1yiKiWK6UJc02X/E3KxcUwJxO79ToUnzF2hxiKBYoraBaC5sZmfH6JIA5 UB9nbw7tOOpVaFG8IuCaX2II3p+aET+G/BQ+iqDw7l+sKBNOi4Iz/EEM41L45Q1/ae4FB1 reF8sk0f+wWMbaeG4sz+URDkFxxyjIMt5TPxkP7lonY0Br2nmiks5RmYKAG+4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmXi1pcvupHR1DJUx3qTdMhwgWcAGB7AX/DylbRtLd8=; b=RrHqdjvfIs+kazAjwaI7oDal0aoHkuga8V5wYoKLMMSaXwYt8CHY/7fnRkpiel+JCkNRtS LoAhRjGcgQoK7j5P2/ANFxLl8FC9Es+QEbvjKNovTIKkztBI7YG/RhIwACk2jKedTe12EJ uHs0ioRGvUne59JhqW8sejLc7XCZFsIV3bkPxzpp5e/YAC5byyEXfRFyn40Zi3yI+gBNG9 bYqG8O4TwYjEDckLNXoFw9ZO+vP5cQ2hgic/9GbhxIJt0xtznFdsIsctJ/35eusgPgXZku k2uOaG9L60tWUv1a/FB0R8924OuXbIWVdNfM8aYf63q5vS5QkEPMGKyGC9TlNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm475Qfzjb0 for ; Wed, 25 Mar 2026 00:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bde3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:42:12 +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: 41474e78c493 - main - m4: Misc style fixes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41474e78c493184f023723d1f86539e07bb01b92 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:42:12 +0000 Message-Id: <69c32f64.3bde3.cf8a79c@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=41474e78c493184f023723d1f86539e07bb01b92 commit 41474e78c493184f023723d1f86539e07bb01b92 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-25 00:41:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:41:23 +0000 m4: Misc style fixes MFC after: 1 week Reviewed by: fuz Differential Revision: https://reviews.freebsd.org/D55794 --- usr.bin/m4/eval.c | 18 +++++++++--------- usr.bin/m4/expr.c | 2 +- usr.bin/m4/look.c | 17 +++++++++-------- usr.bin/m4/main.c | 5 ++--- usr.bin/m4/mdef.h | 2 +- usr.bin/m4/misc.c | 12 +++++------- 6 files changed, 27 insertions(+), 29 deletions(-) diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 71be6f305dee..4f088e0415e0 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -298,7 +298,7 @@ expand_builtin(const char *argv[], int argc, int td) case PASTETYPE: if (argc > 2) if (!dopaste(argv[2])) - err(1, "%s at line %lu: paste(%s)", + err(1, "%s at line %lu: paste(%s)", CURRENT_NAME, CURRENT_LINE, argv[2]); break; @@ -353,7 +353,7 @@ expand_builtin(const char *argv[], int argc, int td) errstr, argv[2]); if (n != 0) { dodivert(n); - break; + break; } } active = stdout; @@ -900,11 +900,11 @@ dosubstr(const char *argv[], int argc) * map every character of s1 that is specified in from * into s3 and replace in s. (source s1 remains untouched) * - * This is derived from the a standard implementation of map(s,from,to) - * function of ICON language. Within mapvec, we replace every character - * of "from" with the corresponding character in "to". - * If "to" is shorter than "from", than the corresponding entries are null, - * which means that those characters disappear altogether. + * This is derived from the a standard implementation of map(s,from,to) + * function of ICON language. Within mapvec, we replace every character + * of "from" with the corresponding character in "to". + * If "to" is shorter than "from", than the corresponding entries are null, + * which means that those characters disappear altogether. */ static void map(char *dest, const char *src, const char *from, const char *to) @@ -994,7 +994,7 @@ handledash(char *buffer, char *end, const char *src) if (src[1] == '-' && src[2]) { unsigned char i; if ((unsigned char)src[0] <= (unsigned char)src[2]) { - for (i = (unsigned char)src[0]; + for (i = (unsigned char)src[0]; i <= (unsigned char)src[2]; i++) { *p++ = i; if (p == end) { @@ -1003,7 +1003,7 @@ handledash(char *buffer, char *end, const char *src) } } } else { - for (i = (unsigned char)src[0]; + for (i = (unsigned char)src[0]; i >= (unsigned char)src[2]; i--) { *p++ = i; if (p == end) { diff --git a/usr.bin/m4/expr.c b/usr.bin/m4/expr.c index 7910403d74f0..859be1557d83 100644 --- a/usr.bin/m4/expr.c +++ b/usr.bin/m4/expr.c @@ -32,7 +32,7 @@ int yyerror(const char *msg) { fprintf(stderr, "m4: %s in expr %s\n", msg, copy_toeval); - return(0); + return 0; } int diff --git a/usr.bin/m4/look.c b/usr.bin/m4/look.c index a7e6d87b0494..c1fccd7dd8e5 100644 --- a/usr.bin/m4/look.c +++ b/usr.bin/m4/look.c @@ -137,8 +137,8 @@ static ndptr create_entry(const char *name) { const char *end = NULL; - unsigned int i; ndptr n; + unsigned int i; i = ohash_qlookupi(¯os, name, &end); n = ohash_find(¯os, i); @@ -156,6 +156,7 @@ void macro_define(const char *name, const char *defn) { ndptr n = create_entry(name); + if (n->d != NULL) { if (n->d->defn != null) free_definition(n->d->defn); @@ -183,6 +184,7 @@ void macro_undefine(const char *name) { ndptr n = lookup(name); + if (n != NULL) { struct macro_definition *r, *r2; @@ -295,21 +297,21 @@ keep(char *ptr) kept_capacity *= 2; else kept_capacity = 50; - kept = xreallocarray(kept, kept_capacity, - sizeof(char *), "Out of memory while saving %d strings\n", + kept = xreallocarray(kept, kept_capacity, + sizeof(char *), "Out of memory while saving %d strings\n", kept_capacity); } kept[kept_size++] = ptr; } static int -string_in_use(const char *ptr) +string_in_use(const char *ptr) { int i; - for (i = 0; i <= sp; i++) { + + for (i = 0; i <= sp; i++) if (sstack[i] == STORAGE_MACRO && mstack[i].sstr == ptr) return 1; - } return 0; } @@ -324,7 +326,7 @@ free_definition(char *ptr) if (!string_in_use(kept[i])) { kept_size--; free(kept[i]); - if (i != kept_size) + if (i != kept_size) kept[i] = kept[kept_size]; i--; } @@ -336,4 +338,3 @@ free_definition(char *ptr) else free(ptr); } - diff --git a/usr.bin/m4/main.c b/usr.bin/m4/main.c index 6e4e79b2a414..5daae7fd22c2 100644 --- a/usr.bin/m4/main.c +++ b/usr.bin/m4/main.c @@ -86,7 +86,7 @@ int maxout; FILE *active; /* active output file pointer */ int ilevel = 0; /* input file stack pointer */ int oindex = 0; /* diversion index.. */ -const char *null = ""; /* as it says.. just a null.. */ +const char *null = ""; /* as it says.. just a null.. */ char **m4wraps = NULL; /* m4wraps array. */ int maxwraps = 0; /* size of m4wraps array */ int wrapindex = 0; /* current offset in m4wraps */ @@ -388,8 +388,7 @@ macro(void) CHRSAVE(l); } } - } - while (nlpar != 0); + } while (nlpar != 0); } else if (sp < 0 && LOOK_AHEAD(t, scommt)) { reallyoutputstr(scommt); diff --git a/usr.bin/m4/mdef.h b/usr.bin/m4/mdef.h index a932315e8f2e..259d4d2baa55 100644 --- a/usr.bin/m4/mdef.h +++ b/usr.bin/m4/mdef.h @@ -204,7 +204,7 @@ struct input_file { mstack[sp].sstr = macro_getdef(p)->defn;\ sstack[sp] = STORAGE_MACRO; \ } while (0) - + /* * . . diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index e0a0e6935986..24e91c572f4d 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -135,8 +135,7 @@ pbnumbase(int n, int base, int d) do { pushback(digits[num % base]); printed++; - } - while ((num /= base) > 0); + } while ((num /= base) > 0); while (printed++ < d) pushback('0'); @@ -153,8 +152,7 @@ pbunsigned(unsigned long n) { do { pushback(n % 10 + '0'); - } - while ((n /= 10) > 0); + } while ((n /= 10) > 0); } void @@ -186,9 +184,9 @@ enlarge_strspace(void) memcpy(newstrspace, strspace, strsize/2); for (i = 0; i <= sp; i++) if (sstack[i] == STORAGE_STRSPACE) - mstack[i].sstr = (mstack[i].sstr - strspace) - + newstrspace; - ep = (ep-strspace) + newstrspace; + mstack[i].sstr = (mstack[i].sstr - strspace) + + newstrspace; + ep = (ep - strspace) + newstrspace; free(strspace); strspace = newstrspace; endest = strspace + strsize; From nobody Wed Mar 25 00:46:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSsb4T1Zz6WSKC for ; Wed, 25 Mar 2026 00:46: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgSsb17HHz3NZn for ; Wed, 25 Mar 2026 00:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Brt2D0zyjmkuLWAMJ9UIGo5K6IaBNdwCT51CNzOm98=; b=dKiUBXU+R2iH4PQD0pUpE1UxXYS8CbsTVTimgeLRh7stqwpatBN1fRYBlJH3g1G9H+Wr0t CRrnw5YEz0Zjv0AZDZ0HHdnAHpm2k4LuSpSSSMmUe+T9E9j/YsG0C17FJTUyfxNoHrhRtF /hY5RcHk2Ol/x/KYVdjuM1+x6Rb58rSYaljUbMXiE7ZCTwq3pi+oOgi5RqPO1XvbB0+u4U 8Wb6yts+z5LunnYeqx3yEMVJ8rCCXom1KBxCwTnC+brPXmuEnRpMfNIyFSF0lYOUpRR6xl sGuo2FlWIZxLOi6J39WgFRmyl9Sj70BSbvZruV1bWIS6laYnCDEDlPM9qYl92A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399619; a=rsa-sha256; cv=none; b=iWPTFK0nu0aNngBHeewK1kzPpMtZ+BkQ9L3K4eMZskWul+zDkXpRrtCI+85F6CxD49//ow hyk43rLRNTG7caeW3ZNxOiE6xU6kk9wypg9f1yLlYyM/PLDnfsC6V/+QFCBx5RAsEkzo4S MMw8VRC43aD38zRtcCHRtDzBC69k5ZV2s4SlpRO91TfriE+dVs5OqyUnkPmVE2OFBk5q9A b8mr0d+gnC48sHmRcPibUPhIpbp6xBypG8+bjscE3BkRxFSoLfGT00chAOwo9sE0iGAsfh RGo+O1l60xebL3cFX65jN07OZ9KEVz8WUSsRXApEveNuTU32rIhTs1WlUj2jDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Brt2D0zyjmkuLWAMJ9UIGo5K6IaBNdwCT51CNzOm98=; b=oauqtGaM5va1sZi054M8hP3NlHcvDeMHSJkg4KeTXzGavczpJMx5uXP/jU0/rT9LUjPWOm JhoYCSz5tzWYm0XeOPe1c/mCUmctQnD1+Iu+6mOZy+QZkzvbqSlbNu3Hx0dBfvDn/3iIUj IZM9rpXxqHi1pml6XLufv9V63Zfxqx8IMfpuSqs5n07N7OEr3Gz/K6Tz1t4Q8fP4gAHkZb 2gZCsrriJFwNUUoW54ubMNOqn0QQMG/stzx0mM6o/falf549czs22M/MEiLSpW1co81tvH YEJ/Gwus0c2PNDfGplvTj39hz36klbVPaVZygPkFxeJ0DyhB8y2fPJ6QCGCgwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgSsb0QGRzjmH for ; Wed, 25 Mar 2026 00:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cdf3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:46:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8e987f8e810d - stable/15 - realpath: Improve manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8e987f8e810de536e86159be803c33c6e44235ee Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:46:59 +0000 Message-Id: <69c33083.3cdf3.222293bc@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8e987f8e810de536e86159be803c33c6e44235ee commit 8e987f8e810de536e86159be803c33c6e44235ee Author: Dag-Erling Smørgrav AuthorDate: 2026-03-19 01:26:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:46:44 +0000 realpath: Improve manual page * Try to make the RETURN VALUES section flow better. * Add basename(3), dirname(3), free(3) to the SEE ALSO section. * Drop the CAVEATS section, which was obsolete the moment realpath(3) was added to the Single Unix Specification in 1994. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55928 (cherry picked from commit 1aecb32021ce46d812db36b9037cdc6f423575f9) --- lib/libc/stdlib/realpath.3 | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/lib/libc/stdlib/realpath.3 b/lib/libc/stdlib/realpath.3 index 76f40249963b..a17ddee0b2f1 100644 --- a/lib/libc/stdlib/realpath.3 +++ b/lib/libc/stdlib/realpath.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 10, 2025 +.Dd March 18, 2026 .Dt REALPATH 3 .Os .Sh NAME @@ -75,27 +75,24 @@ must exist when is called, and all but the last component must name either directories or symlinks pointing to the directories. .Sh "RETURN VALUES" -The +On success, the .Fn realpath function returns .Fa resolved_path -on success. -If the function was supplied -.Dv NULL -as -.Fa resolved_path , -and operation did not cause errors, the returned value is -a null-terminated string in a buffer allocated by a call to -.Fn malloc 3 . +if it was not +.Dv NULL , +or a pointer to a null-terminated string which must be freed by the +caller if it was. If an error occurs, .Fn realpath returns .Dv NULL , and if .Fa resolved_path -is not +was not .Dv NULL , -the array that it points to contains the pathname which caused the problem. +the array that it points to contains the pathname which caused the +problem. .Sh ERRORS The function .Fn realpath @@ -107,6 +104,9 @@ for any of the errors specified for the library functions and .Xr getcwd 3 . .Sh SEE ALSO +.Xr basename 3 , +.Xr dirname 3 , +.Xr free 3 , .Xr getcwd 3 .Sh STANDARDS The @@ -118,15 +118,3 @@ The .Fn realpath function first appeared in .Bx 4.4 . -.Sh CAVEATS -This implementation of -.Fn realpath -differs slightly from the Solaris implementation. -The -.Bx 4.4 -version always returns absolute pathnames, -whereas the Solaris implementation will, -under certain circumstances, return a relative -.Fa resolved_path -when given a relative -.Fa pathname . From nobody Wed Mar 25 00:46:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSsg43zYz6WSKD for ; Wed, 25 Mar 2026 00:47:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgSsg0Krsz3Nr7 for ; Wed, 25 Mar 2026 00:47:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kR+9UZrrjdIr7cgKx9F+5/B0IBhYWB9Bpm4kDtjvAY=; b=iwYsYJ6pIOMSqbGIxTx0tfJyqiw6Uv0Pf6g2g+4XwWI9eN9PDh3qiZ979esAMH3auuO+nM qQYF2jl8oistWHEbx6Sza02hmeWUNTxNpOLOKXbOix0mIMi4z4rCDAgdQ3MbjZ/a7Asfes sEjnDHV5fdVlaY5gBpbRQtAI2nVtabnVRZlugoZc+qiYmlajKvZbd0tWh/Inr39/tA38Kn 311k4LgywCsEkZ+pMQUsQ3pSmHHHKJFnaA9temumVCIGVoJGmGyEfDimPjzDbgxfIK9hhF Dpknp7LsCiBJkitOyWOi4Muo5W71vqz12wcop0C5D3s0J7irpkwy24Eb65kR5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399623; a=rsa-sha256; cv=none; b=ram1xeYADk4O+0HcO+HRZCoOsF+qnb0zrsJJePXl6T3m0wq2LksryNNE6ruZcstqlKBMbN OVFK39ExR5VxUzJ2+N3ZGj0vJWuJp4lPpbxrKO40BuXlZY/pROc843Bq/MNEXzk9eAOIpF vkzSgbX8sn1EV9L+u/COJlDPqyDK55mCQIIXHsRJqJDDqbpRnriKP+pekRdkCzPXr7xXgT np7tXuw63x8MZ95amW6PCSgGD/p8wdHx2XB1eLJthIBOsA5RI2F4mp9aqZQ7rqMOs5O6dS LygJ6e4YYNqXgEhiaB5Aav8i/ygdZZmXXkj0TI/6xP+cVFfchiwCeSq7fZAD5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kR+9UZrrjdIr7cgKx9F+5/B0IBhYWB9Bpm4kDtjvAY=; b=Y13U97VNvIMbUryy2as1+t2Hwyu2YfihT2Y5qs4c7QT2w5Fz6wqveHfkdCybE9kfROzggY MIVHDwaCTqwuymuvxxLOIBsRKmc9zJ5/vnx3CeHkganfnrZZ34vwyWmwbka9t5ZEeEfWAK MCj5gEJMwImrlMIXfhWUNqbmmZVmmhJktupibnNc+D1xWEqi4DAADEUVnmhqbh1movo7TB LJ3ha/e9c00R3foMsSXlIezGbD22qq6/rZFARb482ybd/5/xy3bsYDRG+7mhmB8fe6Xsjm CNiG7vtcDvMF2Z/kohB/V0mwBC84C6/st/A7k7ZaQTsUC96tSn+9acmOJj8YDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgSsf6mcszjb9 for ; Wed, 25 Mar 2026 00:47:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b66f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:46:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: f174c040a4f3 - stable/15 - realpath: Improve prev_len logic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f174c040a4f3e00f9111789d3c9b84aea447a29f Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:46:57 +0000 Message-Id: <69c33081.3b66f.106c1e9a@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f174c040a4f3e00f9111789d3c9b84aea447a29f commit f174c040a4f3e00f9111789d3c9b84aea447a29f Author: Dag-Erling Smørgrav AuthorDate: 2026-03-19 01:26:16 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:46:43 +0000 realpath: Improve prev_len logic * Save prev_len after having checked for and appended a trailing slash, not before. This requires us to back up if we end up returning a partial result, but previously we would sometimes return a partial result with a trailing slash and sometimes without. * Replace strlcat() with a faster strlcpy() since we know exactly how far into the buffer we are. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55914 (cherry picked from commit 99d295e471bc362a7927047c89472e1ee2d0da6b) --- lib/libc/stdlib/realpath.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libc/stdlib/realpath.c b/lib/libc/stdlib/realpath.c index 18f29e95ee6b..9dc0cc4d3dd4 100644 --- a/lib/libc/stdlib/realpath.c +++ b/lib/libc/stdlib/realpath.c @@ -98,7 +98,6 @@ realpath1(const char *path, char *resolved) left_len = 0; } - prev_len = resolved_len; if (resolved[resolved_len - 1] != '/') { if (resolved_len + 1 >= PATH_MAX) { errno = ENAMETOOLONG; @@ -129,7 +128,9 @@ realpath1(const char *path, char *resolved) /* * Append the next path component and lstat() it. */ - resolved_len = strlcat(resolved, next_token, PATH_MAX); + prev_len = resolved_len; + resolved_len += strlcpy(resolved + prev_len, next_token, + PATH_MAX - prev_len); if (resolved_len >= PATH_MAX) { errno = ENAMETOOLONG; return (NULL); @@ -141,8 +142,11 @@ realpath1(const char *path, char *resolved) * directory is not a directory. Rewind the path * to correctly indicate where the error lies. */ - if (errno == EACCES || errno == ENOTDIR) + if (errno == EACCES || errno == ENOTDIR) { + if (prev_len > 1) + prev_len--; resolved[prev_len] = '\0'; + } return (NULL); } if (S_ISLNK(sb.st_mode)) { From nobody Wed Mar 25 00:47:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgStX2k4cz6WSPQ for ; Wed, 25 Mar 2026 00:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgStX0sZkz3PVd for ; Wed, 25 Mar 2026 00:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4YCoM6/QsJ++LPcvB1F3mYjNFcgXX1JV8opP0S0eenU=; b=e8HVuBmTPDy1WTJ/Qvdt1XkqSEYY52wXSN3cDolhAfMErTYy6kq++s3GUUpgq+RCmJXkXK WnA/CAK1ue24qo9nEp7cjb+oCrntG0r1T+D6zYICwgT8Cbt+hOtTozaup8reg2G/9qE5HJ th12H/3BVqi+Ab0AmWJ5GAjRZbD9TOldzkdnchD4e9fPhh2PhS6gBXsOTkWHtAkqSM4rBC pSxbFwIgcI9k3fsVCQGYT7BlAylABf7zQQBNiQLisRQZRyqdLUhRIt6emS06k4BDb9+z/2 wS8pTZfSUUYqHktlOIKgs0nz9HCIFStlvl+FpI1ONplve23vFDLP9MLjehRcAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399668; a=rsa-sha256; cv=none; b=uXVcj5WD7IjyAQQgl/zBl+E7B6YsUxTcPJJcH32wJzvSQxHlsNJHaKI3dTacr/wB5Pqxin QtNevVVu5Sgj91fAZoEVr9qvbsxI+0PlLgP9rNceUrLAis1YnM9ukVZo10pTT0dyPBvM2J wy1cyna0RnvKHP14aI3Nt9bIM8d/7gWKV28yK7/dgkfgclYNBGBEzrpfwt/t9UZ27hkpOa qy0uZB91KBPCtd6MwINLoy2uNoDX3EeSOynJmCUju70AkRNIwSMgFzZAiqr+AW3fM39qVd d3ogn1guyypnwyTTu32JX38H7YyuVTX54ulpWpHU2f/mTucHygGpyN2GKwyF5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4YCoM6/QsJ++LPcvB1F3mYjNFcgXX1JV8opP0S0eenU=; b=jQ2Avql8QWHTUy7GCXHk71ftadGPpC1sAj2GImCgEKXv8YGMDBqlOkKsO28YfKjb+8xyH2 H4Cteyp0+QEVDgJ3GbEVG1BtkNJprWbf72cGey7CPW9vReMReMVXPHHLUpqUatXwGJOGJp XDDX/i9R4Y525FlJFA1VbZCi6TGDc4JLLrWGxOB2btCU+ljEhjZ/dT8eXRzzykIXDTo2VP N/E8M7h7pP8VNAdgGCFut3G8aeBqTJRaI/PgJuGNRAUSS3PZfQN41yhbs0vZBmeAv55aqD EG5X/Y2soayYc3wM5QaY+t2+lXeEry8MArd4Cigp8Sq3bUv5BMpI5GMRWiOP2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgStX0GwhzjmL for ; Wed, 25 Mar 2026 00:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cdf7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:47:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 151ae090159e - stable/14 - realpath: Improve prev_len logic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 151ae090159eb2c179926de84cf2fc40d687d2cf Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:47:48 +0000 Message-Id: <69c330b4.3cdf7.46076d22@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=151ae090159eb2c179926de84cf2fc40d687d2cf commit 151ae090159eb2c179926de84cf2fc40d687d2cf Author: Dag-Erling Smørgrav AuthorDate: 2026-03-19 01:26:16 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:47:45 +0000 realpath: Improve prev_len logic * Save prev_len after having checked for and appended a trailing slash, not before. This requires us to back up if we end up returning a partial result, but previously we would sometimes return a partial result with a trailing slash and sometimes without. * Replace strlcat() with a faster strlcpy() since we know exactly how far into the buffer we are. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55914 (cherry picked from commit 99d295e471bc362a7927047c89472e1ee2d0da6b) --- lib/libc/stdlib/realpath.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libc/stdlib/realpath.c b/lib/libc/stdlib/realpath.c index f23a3fd8c58e..8fcdd443d2b8 100644 --- a/lib/libc/stdlib/realpath.c +++ b/lib/libc/stdlib/realpath.c @@ -105,7 +105,6 @@ realpath1(const char *path, char *resolved) left_len = 0; } - prev_len = resolved_len; if (resolved[resolved_len - 1] != '/') { if (resolved_len + 1 >= PATH_MAX) { errno = ENAMETOOLONG; @@ -136,7 +135,9 @@ realpath1(const char *path, char *resolved) /* * Append the next path component and lstat() it. */ - resolved_len = strlcat(resolved, next_token, PATH_MAX); + prev_len = resolved_len; + resolved_len += strlcpy(resolved + prev_len, next_token, + PATH_MAX - prev_len); if (resolved_len >= PATH_MAX) { errno = ENAMETOOLONG; return (NULL); @@ -148,8 +149,11 @@ realpath1(const char *path, char *resolved) * directory is not a directory. Rewind the path * to correctly indicate where the error lies. */ - if (errno == EACCES || errno == ENOTDIR) + if (errno == EACCES || errno == ENOTDIR) { + if (prev_len > 1) + prev_len--; resolved[prev_len] = '\0'; + } return (NULL); } if (S_ISLNK(sb.st_mode)) { From nobody Wed Mar 25 00:47:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgStY3MPvz6WRkt for ; Wed, 25 Mar 2026 00:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgStY1YRQz3PZw for ; Wed, 25 Mar 2026 00:47:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Et8UYMXoFVBWyePljmGoIrJrtTSitRq3Fy6Z3vlUxFg=; b=EZFHlhwa/hVkpNKQk/TaNkl/s8ohnehw36+sz4G9V92Yhl1Qevkgf5sJasfdKJ/xFEKKFl PD19V3YtnKxd/eCc/RIZtoZOy/IHPss4fxr6Qm9LBofz5/tuRTrItVavOT/xZ2cyugGmHn rizvLNz0wFcxRjYtiX967FvbfaIFePImvI04oktbhUbbAOWfyuST84952tviVUC9uXx0BH r5maG3C3o9Xpeqryi4AFrYebFK2i6RMuVj7hMRB58VHN5+d7SKb8Wv1R3LP670KF6AcRv8 EOreX+3OEIR1uyE8bRTZCWq7UCms9qxMcRnOCPINXpGzDX+08D1eZkRu2Ek+2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774399669; a=rsa-sha256; cv=none; b=TF4nsrv5fK1EPgnhDl2ahlqpvgNvbEndhpKIpT/qU3nHgrDq1BQzBVIqUm7g3eMHapGy42 W7GdHGBghMIpqxDuWfeoTkKnA8/L2eDqKFGOQPH0RINiArXVA+v62XFR13BOmZQ3OrftlB /d142IUi0nQtrKT7QLSjUOGX2l34EihrrufZdgyeUBAc/BFZEsn5GZ9Qh+bRv3SpODEc2D xtFBV2yn/PaXJg1qTFkuuZnDUAHFCTU2qBxGPHahnPtL82oyBHbmC1BNo51e7o+2EBox5b Q7gVYkXtLygSjbqWyMeZXrukNecr6E3Tt1T1mwePjGmLe+d4kz/0KJVyV74TbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774399669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Et8UYMXoFVBWyePljmGoIrJrtTSitRq3Fy6Z3vlUxFg=; b=I+VMkBpU01LtmittHtuCPGUUpMmhCPaum/Qu4JpNj3aU8msq06U6+L37oRqDcz8ESgeaCr Bz9hcegreSpbZuE7JtS2D11ABF45qvefg8J7n4hVEbvvaYwyHMW/Jo2yR7C2p53pfYsUrX NY2f01FAr6m91aTe9m9iZ5clAuSDm4bfeJ39sX+gcj1KCzJXfrI0FJvZylThfOMMjQRFZo 0XLGIEeHbuIuN0W+5TpeC+OraddRQnyh0VIHbBqwQZnwVd5LizAYs1Yavsr2Ux01Yuix7a byRx9Nl9V5RJkCrKFqeyo4jx611NqQLJsnUlaC1HB/I4ArGQLwJEUlHviky3XA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgStY1798zjjH for ; Wed, 25 Mar 2026 00:47:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d49b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 00:47:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: f5b8309b9f63 - stable/14 - realpath: Improve manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f5b8309b9f634f1ca0aaeb69823470db93048208 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 00:47:49 +0000 Message-Id: <69c330b5.3d49b.3af11c40@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f5b8309b9f634f1ca0aaeb69823470db93048208 commit f5b8309b9f634f1ca0aaeb69823470db93048208 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-19 01:26:21 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-25 00:47:45 +0000 realpath: Improve manual page * Try to make the RETURN VALUES section flow better. * Add basename(3), dirname(3), free(3) to the SEE ALSO section. * Drop the CAVEATS section, which was obsolete the moment realpath(3) was added to the Single Unix Specification in 1994. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55928 (cherry picked from commit 1aecb32021ce46d812db36b9037cdc6f423575f9) --- lib/libc/stdlib/realpath.3 | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/lib/libc/stdlib/realpath.3 b/lib/libc/stdlib/realpath.3 index 28381b00bbc7..ec2617454a24 100644 --- a/lib/libc/stdlib/realpath.3 +++ b/lib/libc/stdlib/realpath.3 @@ -30,7 +30,7 @@ .\" .\" @(#)realpath.3 8.2 (Berkeley) 2/16/94 .\" -.Dd October 10, 2025 +.Dd March 18, 2026 .Dt REALPATH 3 .Os .Sh NAME @@ -77,27 +77,24 @@ must exist when is called, and all but the last component must name either directories or symlinks pointing to the directories. .Sh "RETURN VALUES" -The +On success, the .Fn realpath function returns .Fa resolved_path -on success. -If the function was supplied -.Dv NULL -as -.Fa resolved_path , -and operation did not cause errors, the returned value is -a null-terminated string in a buffer allocated by a call to -.Fn malloc 3 . +if it was not +.Dv NULL , +or a pointer to a null-terminated string which must be freed by the +caller if it was. If an error occurs, .Fn realpath returns .Dv NULL , and if .Fa resolved_path -is not +was not .Dv NULL , -the array that it points to contains the pathname which caused the problem. +the array that it points to contains the pathname which caused the +problem. .Sh ERRORS The function .Fn realpath @@ -109,6 +106,9 @@ for any of the errors specified for the library functions and .Xr getcwd 3 . .Sh SEE ALSO +.Xr basename 3 , +.Xr dirname 3 , +.Xr free 3 , .Xr getcwd 3 .Sh STANDARDS The @@ -120,15 +120,3 @@ The .Fn realpath function first appeared in .Bx 4.4 . -.Sh CAVEATS -This implementation of -.Fn realpath -differs slightly from the Solaris implementation. -The -.Bx 4.4 -version always returns absolute pathnames, -whereas the Solaris implementation will, -under certain circumstances, return a relative -.Fa resolved_path -when given a relative -.Fa pathname . From nobody Wed Mar 25 01:29:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq51HLvz6WVHM for ; Wed, 25 Mar 2026 01:29: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgTq50jQxz3SXw for ; Wed, 25 Mar 2026 01:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402193; h=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=IYu01j6dTLa3vbanWq0TlpBseUo3mSDw7JqzzsYBWVc=; b=aFWUL+EDyODC/O59xVW9O2oMR0BKR8TwaakstWBBgFcSbaguthstX668z6wKfdZOu/Agxk vYxj5HKWPZ1wzoybgt7T0WhBJ9sT3pOyWg+wPKmUxKD5+w4AyAa4p9R7aKNShdc69d3jli ppmOhBu+U6kEplwV2WYNl0YufevhmxoI+QIvRZqStVu5K/1yuziOPpr6u1aPb/Cfyb6y6z ytY9t9a4QiO5tva8Y6mO6aDnB2RVATGheUiT9Up9MTh/svVQFNGDeYcaqPcLOw4F63YYDt LaJU6ngE6Yy5osoiz+lvi9eirBZhuPFtYaBpIr0LxbcukWiP3ZHZ/v7CxWeAtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774402193; a=rsa-sha256; cv=none; b=TgzogCDII5Mk5R9pAPZRnRVq20XnMt4cKcBfwMLklgnlbM4lZ3+ij81FUm1rZhww4iTu7M FwPmTxj0bOQZjsDv4CajsnByUbrDt1mBR5JlI3G9c+S7cCWu4NvgVqaQppfN+xWotH2vr8 3eojGVC2M8HSIBhJ3WNUykiTMZRr6kETO3poU5B25m7lo/4qe3SQR80N7PcFHJsbzS+HX3 c6spTXLSbXeKtQDpd+1yIhN1hrA6cudhE8Eue96OfYgb4CgzXEBo83fQfbMGxq/23XP+Aw 88ZBpEGfzStgS9Pcg8EdZieUyJ/sFLhPv8sBgFAQpUmKU7QVmrlMdKoQNfXyBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402193; h=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=IYu01j6dTLa3vbanWq0TlpBseUo3mSDw7JqzzsYBWVc=; b=PT3uGp1RRldVow5WZUTZvU0RydueszaG8hzFeFJm/nLeSwONlvqp4qMiIfL+rTlP98vUMP DmUpKoLEfqE9gRKSwZ1O289hxhIKjB9zFAJMW8xTavxFZJiCv9NG3YFhXDfcnFqW+VhXqc B+dabjca0v8xC8kcUBimPxCH5wNfcHtcmsVOIWneQ9aal27bvuqLGpJrLU7TVbWEObwyFs tp3Sm1SoUiXf+3D+Anz0kBwicYy4ystbbaBCzApod9UKyLGhf07wGk2ob2S3E2ufGoABy/ tAxMJpFlHg7mb7NKOKLvvI7tS1VcDhT7fE5jRenGyq5Rn4I8ZUs+xFfbL0IVXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq501kpzkRs for ; Wed, 25 Mar 2026 01:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 196db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 01:29:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mariusz Zaborski From: Mark Johnston Subject: git: b1d32521747f - stable/15 - nvmf: Fix null ptr reference List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b1d32521747f42aea751d2742d26eb53e81952c6 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 01:29:47 +0000 Message-Id: <69c33a8b.196db.2ca67e84@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b1d32521747f42aea751d2742d26eb53e81952c6 commit b1d32521747f42aea751d2742d26eb53e81952c6 Author: Mariusz Zaborski AuthorDate: 2026-03-23 14:37:28 +0000 Commit: Mark Johnston CommitDate: 2026-03-25 01:27:40 +0000 nvmf: Fix null ptr reference Reported by: Nikolay Denev Reviewed by: imp, jhb Differential Revision: https://reviews.freebsd.org/D55863 (cherry picked from commit 09c5bb35425bc70573c007e7f7e82be286677a87) --- sys/dev/nvmf/controller/nvmft_controller.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/nvmf/controller/nvmft_controller.c b/sys/dev/nvmf/controller/nvmft_controller.c index 390467534ca2..24aa1191b1eb 100644 --- a/sys/dev/nvmf/controller/nvmft_controller.c +++ b/sys/dev/nvmf/controller/nvmft_controller.c @@ -213,7 +213,7 @@ nvmft_handoff_io_queue(struct nvmft_port *np, enum nvmf_trtype trtype, if (ctrlr == NULL) { mtx_unlock(&np->lock); printf("NVMFT: Nonexistent controller %u for I/O queue %u from %.*s\n", - ctrlr->cntlid, qid, (int)sizeof(data->hostnqn), + cntlid, qid, (int)sizeof(data->hostnqn), data->hostnqn); nvmft_connect_invalid_parameters(qp, cmd, true, offsetof(struct nvmf_fabric_connect_data, cntlid)); From nobody Wed Mar 25 01:29:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq92Ybyz6WVHS for ; Wed, 25 Mar 2026 01:29: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgTq85N6Hz3SYR for ; Wed, 25 Mar 2026 01:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402196; h=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=FO+zZ28HjVVqU7wQBnpH1tSK01ul+0r0TmZ+64zjIw4=; b=aRWEe7mkJqiK6hbF3hT9cdPaXLkutQWf5PkzuhOBex34JLHlrZwOU8VUf1JF7meWs9Mh6V lp5dZBKx0vxBa6ay3z81iGtj00k/ESK/kzxA2OLhH0ZhDpUBzMNHSvfalEhP2hsXb9RplD 3Fgt/MDLKzn5Tv6aCxVb3d3h+cUMMSRkykKjlVt9tL9C55uAaZysOKFYzld421d7cyfp7/ zp1QmEqzPzjGxmOCKteXzPE3rjul5Oxclxk8Dqmh1s/P0+bac8Uma8019ccfZkibJQPTU+ RBciatUjtGN3uY+0w83sfEl4FTMMhIHC/Q2scyuI+zScWW5I/nhB+DR6+Wy7gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774402196; a=rsa-sha256; cv=none; b=vHAYpUh8veuwOYf1bBHcKHhrHmNPM+cWv5oStsOlgP8WNIhXcxOCTSM6NS33k8ZnjVZpYV xmVWVFbSZXw2fLTJCpi0Vq6v3TCRyDA9yaKPQLSeqVVSMRkDXG2BSnOA7H0JLnMZ50OLYb luZ+KMXzcVL2aWhuZvT5YJA3zhKl17wq4QOZq6WbuojSocZ2Dkn/8e4lbfuuKAatMOiB5L Bed2lhZ1RtPitI7T0I7F6AgwGZPD6ebkJ7yQ53NKTbs68O/vDnnwvF1I/y837HJ+mqmrWg +rNzYKjdmwkWOuuvK11JeNImSg3InjVRSj6R6xQtLu3nwPTc/lDa+qzQnr1/gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402196; h=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=FO+zZ28HjVVqU7wQBnpH1tSK01ul+0r0TmZ+64zjIw4=; b=O+vFNRazlX7StnvvMRwifA5hxJPbDMvulpm5C/zycmGq/bN6jpOAVWer4NjKfW/CTyZtJR qU/nKUI95XrWxBqsNzmUt9a6qppmP6fd3hezzWVz/qbZQjA8RkGx8Gxuy6kK32twNJhPqW N7A7QMkdpRO5URoVpxXayPZPm+a01nSKHVoNWfTPFfrLapJ2TMJqpvZmhY18X5yIMPr5ZV GeHJwksowqtcfl946JHHRVg3O7SqN2b/tY/NcuoReV1IFaEnqk+ADYV7ApS2IjmwZEwnhS +37Giyaj7Pd2SHxr2vgYA/qIhDdHo84eDM9PQp5KRFAexCEEj7/wAFQQiicE0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq844tHzkPl for ; Wed, 25 Mar 2026 01:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1997d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 01:29:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Adrian Chadd Subject: git: 8f36a012d65f - main - rge.4: fix incorrect speed range in HARDWARE section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 8f36a012d65f1a3c4e071c3396ecc7a963485637 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 01:29:56 +0000 Message-Id: <69c33a94.1997d.50a748fe@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=8f36a012d65f1a3c4e071c3396ecc7a963485637 commit 8f36a012d65f1a3c4e071c3396ecc7a963485637 Author: Christos Longros AuthorDate: 2026-03-25 01:26:10 +0000 Commit: Adrian Chadd CommitDate: 2026-03-25 01:26:10 +0000 rge.4: fix incorrect speed range in HARDWARE section The HARDWARE section stated "PCIe 1GB to 1GB Ethernet devices" which is incorrect. The RTL8125/8126/8127 chips support speeds from 1Gbps to 10Gbps. Correct the range. Signed-off-by: Christos Longros rge.4: note that the driver manages PHY directly The rge(4) driver does not use the miibus(4) interface for PHY management. Instead, it accesses PHY registers directly via the chip's OCP (On-Chip Peripheral) bus. Document this in the DESCRIPTION section. Signed-off-by: Christos Longros Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D55995 --- share/man/man4/rge.4 | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/share/man/man4/rge.4 b/share/man/man4/rge.4 index a8266c439b83..eea49e12af78 100644 --- a/share/man/man4/rge.4 +++ b/share/man/man4/rge.4 @@ -46,6 +46,11 @@ capable of TCP large send (TCP segmentation offload). .Pp The RTL8125, RTL8126 and RTL8127 devices are single-chip solutions combining both a MAC and PHY. +The +.Nm +driver manages the PHY directly rather than using the +.Xr miibus 4 +interface. Standalone cards are available in 1x PCIe models. .Pp The RTL8125, RTL8126 and RTL8127 also support jumbo frames, which can be @@ -121,8 +126,18 @@ For more information on configuring this device, see .Sh HARDWARE The .Nm -driver supports RealTek RTL8125, RTL8126, RTL8127 and Killer E3000 based -PCIe 1GB to 1GB Ethernet devices. +driver supports the following PCIe Ethernet adapters: +.Pp +.Bl -bullet -compact +.It +RealTek RTL8125 (up to 2.5 Gbps) +.It +RealTek RTL8126 (up to 5 Gbps) +.It +RealTek RTL8127 (up to 10 Gbps) +.It +Killer E3000 (up to 2.5 Gbps) +.El .Sh SYSCTL VARIABLES The following variables are available as both .Xr sysctl 8 From nobody Wed Mar 25 01:29:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq803zTz6WVHP for ; Wed, 25 Mar 2026 01:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgTq769qCz3SDp for ; Wed, 25 Mar 2026 01:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402195; h=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=Y64k7zpKoKVxvBnEFmzJPjyFxBBvF8L18CSpNL1pUCE=; b=MiHdLAs6IFAIqNprkMtVn5Siac8BBYHWNAIxUuBEOiHCAbhLiZ7tZERtTRKnhbQqlleQ0D KZpf55dmcG3FpASayG3FGHjOE1F+FKT+giRTkXrip5bzlszLrFfSn11xVPGSGOOzqw7Lyr X4u6yLPu5E7W3YlaFjnjTqAXP/EPVZ9dHOUqeM3JyMMArrSy8Fy+G+kRNCbiEjTKtEPyUt 6L87qQiC7V41/pvNLwhC6jBmb9i4pN1MeJE0kmjuvJ387Il4JNXjA4JjghTlVoMHT0lnEG hkCaybtRvrO9S3kuvPgwxfsuQZvCbQslv5wDjmpiQSSvNCvLtjJ1koDHL7w6OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774402195; a=rsa-sha256; cv=none; b=nnnRa5rcNes6d3A0iE6k5KYHqOK1zILpRBqcIyUqRGsqaCI/nhqyfoWoyWv/bO8PuFPDzT wJH5wxdIs54JaucyEBsLCbEHtKhq0eSNUdb44vkjhfb+CbgluqTBqZIqz+3S9NQkEy0WCM Ip/4o/NqR/BQPbAHSbH9UxzqumCZ+4KqXx0pCh87sgw2sySs4k2eGZdi+dsRa19kALPs/c oXPvVm8wqmXxN3n6AKvlW4rZdEhN5ca3mYprqVML8n2mP+DARIQqKSxI+IJmoMC4BwpEI0 RD7keOjmzdK0OEfniKEdSzGGlxOb6YeEosob7Vzdd1MH2lBv1WdOE5XpP0drgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402195; h=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=Y64k7zpKoKVxvBnEFmzJPjyFxBBvF8L18CSpNL1pUCE=; b=EtA1sxaMM0Outq0a3o0upA5B/E/WEHEAn77ExILKriS4nDC3tHDom7hfSMmublMtIBZ5Xp vZY0mq8TpO9XJVpqAzp26ZFi16soQjhypqkyy67AgrztmY8TUQ3GFNsrqXxH4XPslDg3sR txuLYxllBgJF5btZAQ0HIWNdBMzZ4whQG9bD4HVDsSCw8sSa7Pa2WDWx0F0A55KNPfno1z ooJu07uT7JmoeHZhZ18lHZl/8I0sVfrUI/bTcyqdZBYkB+moDg8fYF7a/cSzD/4VHq7DD3 B2/hkZjYYdzc+gov5oBj7l0EeE/SRgb3WT3YAnwGBBXFyPM2nPX4LSreaRymJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq73ncDzkwG for ; Wed, 25 Mar 2026 01:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1895d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 01:29:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Brad Smith From: Adrian Chadd Subject: git: f7fd4e79fa09 - main - rge: handle interface flags changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: f7fd4e79fa0943446aa5900147f737a70c73d9e3 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 01:29:55 +0000 Message-Id: <69c33a93.1895d.63e7c35d@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=f7fd4e79fa0943446aa5900147f737a70c73d9e3 commit f7fd4e79fa0943446aa5900147f737a70c73d9e3 Author: Brad Smith AuthorDate: 2026-03-25 01:22:52 +0000 Commit: Adrian Chadd CommitDate: 2026-03-25 01:22:52 +0000 rge: handle interface flags changes Handle interface flags like other drivers do. Reviewed by: zlei, adrian Differential Revision: https://reviews.freebsd.org/D55728 --- sys/dev/rge/if_rge.c | 21 ++++++++------------- sys/dev/rge/if_rgevar.h | 2 ++ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/sys/dev/rge/if_rge.c b/sys/dev/rge/if_rge.c index e5297edfefbe..5ae0b98f95a1 100644 --- a/sys/dev/rge/if_rge.c +++ b/sys/dev/rge/if_rge.c @@ -959,29 +959,24 @@ rge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFFLAGS: RGE_LOCK(sc); if ((if_getflags(ifp) & IFF_UP) != 0) { - if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { - /* - * TODO: handle promisc/iffmulti changing - * without reprogramming everything. - */ + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->rge_if_flags) + & (IFF_PROMISC | IFF_ALLMULTI)) != 0) + rge_iff_locked(sc); + } else rge_init_locked(sc); - } else { - /* Reinit promisc/multi just in case */ - rge_iff_locked(sc); - } } else { - if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) rge_stop_locked(sc); - } } + sc->rge_if_flags = if_getflags(ifp); RGE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: RGE_LOCK(sc); - if ((if_getflags(ifp) & IFF_DRV_RUNNING) != 0) { + if ((if_getflags(ifp) & IFF_DRV_RUNNING) != 0) rge_iff_locked(sc); - } RGE_UNLOCK(sc); break; case SIOCGIFMEDIA: diff --git a/sys/dev/rge/if_rgevar.h b/sys/dev/rge/if_rgevar.h index 6228f9ff229e..d516537e6524 100644 --- a/sys/dev/rge/if_rgevar.h +++ b/sys/dev/rge/if_rgevar.h @@ -200,6 +200,8 @@ struct rge_softc { #define RGE_IMTYPE_SIM 1 int sc_watchdog; + int rge_if_flags; + uint32_t sc_debug; struct rge_drv_stats sc_drv_stats; From nobody Wed Mar 25 01:29:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTqB0r8tz6WVcT for ; Wed, 25 Mar 2026 01:29: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgTq95PWwz3Skg for ; Wed, 25 Mar 2026 01:29:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402197; h=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=y1Wk4Fc1afj1sxoDjhWT4/M3wK+RMKid+G5hFH91a/0=; b=p+yX3dZG3qXudKZnmHlyJRPvGANK2GQ8y4qu6wz9rwac+xRdZQjpQb52v2wFk3Q7exLqxT caiO/59qMBQA2cmKrmG2bE/Kmo0kUx2gnpOBdmP4hL1GukRwlp3l6E21XcHoEvIfEIwT34 fUxMZ3kgD3MCB0vvOZrJD41ZOSlxcNji8l1lCkZyfPmjnIHYDTIQrCbYdDqkdMVK6kS/oH DXQGjAhO1ajDClfcR75AEwvkPEYVLtjfGFiOvi3FXqUq0J3sQwrjafpY9YA8mbjLHHrkZQ 4kHS1FMTVx52wVvCTAVk2rNmD5q+bsYgQpba+b3St/eTf7or4vQFdZkzKQyXLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774402197; a=rsa-sha256; cv=none; b=kMmENEr2oZ6UzznGuES9jU5nvYk3a16mIqQvbzB0dbISkJegsMv0BIQBh6+XDN7Wk0+hQf Nn3He2oYkNj2aJirUF0913dLK0ugX4+yfsfFTqgTuPnavJTkWRQz0CeT6efcVwgxFt2Tcu 5FEkaIPS5Hai8fv5irwZ1GtiX4T6j9iY76EbRVV9AYnrbgVTmBBwpbixP76ITOBGlOCQe+ 2i8FCq/hThNTymHrF5oK03sYK6Pw+76XNa2qi8u3jWgQkcqmsBvFoYyggd9li+4WKPjFHQ 2mdl3/bHwPCxEffQYjf3pqZeK4nUKoz/R0qNEXLg+penI9OyGcCnAAe5rxtw6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774402197; h=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=y1Wk4Fc1afj1sxoDjhWT4/M3wK+RMKid+G5hFH91a/0=; b=NhvKf/jDrCGZNA+GzOIrFr0eB77/K0QxMr+2g2WDuNTrypMp5ebCaA0JCwUJbAU5IS0ZgP wtyBX8KT7x8bG+9H7ZDfx6ihRX9Mm8WqSaVJJlKF7AmKtz5StFIfJlOHiXcs79T+/i9hv/ H55XGue7l4AdNgnOXsnZxTXU3Odk7QJVRYjmaLn6Ynorv25yylM3EuxVo3R0WkKFj7fSHA ujlk2gOyMgL/Bg8oWY5ik6Dek7X7g7K9Off+wCDAq2uVABrU3GDB2G7Vn3rjsHZPJ+SX6w XVM+PkBcbyqSfMAmGiFHYV+37V830jjRBGJGjltjRYumeHpnj1nM7hRkaQJY/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 4fgTq94wHRzkRt for ; Wed, 25 Mar 2026 01:29:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 192a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 01:29:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Adrian Chadd Subject: git: 930a790c2abb - main - rge: make rx_process_limit a sysctl tunable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 930a790c2abb3680a3449a1f9ce2eff2be7acc36 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 01:29:57 +0000 Message-Id: <69c33a95.192a0.4d7236e0@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=930a790c2abb3680a3449a1f9ce2eff2be7acc36 commit 930a790c2abb3680a3449a1f9ce2eff2be7acc36 Author: Christos Longros AuthorDate: 2026-03-25 01:27:14 +0000 Commit: Adrian Chadd CommitDate: 2026-03-25 01:27:14 +0000 rge: make rx_process_limit a sysctl tunable The number of packets processed per interrupt was hardcoded to 16. Add a per-interface sysctl dev.rge.%d.rx_process_limit tunable so users can adjust this value at runtime. Signed-off-by: Christos Longros Reviewed by: ziaee, adrian Differential Revision: https://reviews.freebsd.org/D56014 --- share/man/man4/rge.4 | 5 +++++ sys/dev/rge/if_rge.c | 3 ++- sys/dev/rge/if_rge_sysctl.c | 5 +++++ sys/dev/rge/if_rgevar.h | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/share/man/man4/rge.4 b/share/man/man4/rge.4 index eea49e12af78..2b781e287e3c 100644 --- a/share/man/man4/rge.4 +++ b/share/man/man4/rge.4 @@ -147,6 +147,11 @@ tunables: .Bl -tag -width "xxxxxx" .It Va dev.rge.%d.debug Configure runtime debug output. This is a 32 bit bitmask. +.It Va dev.rge.%d.rx_process_limit +Maximum number of RX packets to process per interrupt. +The default value is 16. +Increasing this value may improve throughput on high-speed links at the +cost of increased interrupt latency. .El .Sh DIAGNOSTICS .Bl -diag diff --git a/sys/dev/rge/if_rge.c b/sys/dev/rge/if_rge.c index 5ae0b98f95a1..0007b07e0fa6 100644 --- a/sys/dev/rge/if_rge.c +++ b/sys/dev/rge/if_rge.c @@ -2099,9 +2099,10 @@ rge_rxeof(struct rge_queues *q, struct mbufq *mq) uint32_t rxstat, extsts; int i, mlen, rx = 0; int cons, prod; - int maxpkt = 16; /* XXX TODO: make this a tunable */ + int maxpkt; bool check_hwcsum; + maxpkt = sc->sc_rx_process_limit; check_hwcsum = ((if_getcapenable(sc->sc_ifp) & IFCAP_RXCSUM) != 0); RGE_ASSERT_LOCKED(sc); diff --git a/sys/dev/rge/if_rge_sysctl.c b/sys/dev/rge/if_rge_sysctl.c index a7d6e1572168..16001b4c1d94 100644 --- a/sys/dev/rge/if_rge_sysctl.c +++ b/sys/dev/rge/if_rge_sysctl.c @@ -232,6 +232,11 @@ rge_sysctl_attach(struct rge_softc *sc) "debug", CTLFLAG_RW, &sc->sc_debug, 0, "control debugging printfs"); + sc->sc_rx_process_limit = 16; + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "rx_process_limit", CTLFLAG_RW, &sc->sc_rx_process_limit, 0, + "max number of RX packets to process per interrupt"); + /* Stats */ rge_sysctl_drv_stats_attach(sc); rge_sysctl_mac_stats_attach(sc); diff --git a/sys/dev/rge/if_rgevar.h b/sys/dev/rge/if_rgevar.h index d516537e6524..89d02e8acb72 100644 --- a/sys/dev/rge/if_rgevar.h +++ b/sys/dev/rge/if_rgevar.h @@ -204,6 +204,8 @@ struct rge_softc { uint32_t sc_debug; + int sc_rx_process_limit; + struct rge_drv_stats sc_drv_stats; struct rge_mac_stats sc_mac_stats; From nobody Wed Mar 25 02:25:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgW3Z3pRyz6WYjH for ; Wed, 25 Mar 2026 02:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgW3Z3Fndz3Z49 for ; Wed, 25 Mar 2026 02:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774405546; h=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=unvw2i8k72tQLfQuB0jsXzpF9WBTedYdLJ89/6+IawA=; b=JYJ9RZIRj6NEnNArSysykYd3Y8U0xkFF6FcpMEZviwV34kEb+bYlgTZkR4s/YiIChFsV/P yTetpuMU5fJGEh64mxoJnyLZuHki620wVba0crUuySnw49hZqwFVh2jqp1YuJ4La+A4lU6 yVUWDSuAZek4ddSBDC9TNr1QuNs3BT8oZaJcxt56S809WX4IRy6wDgvNF+YadTzusgrl1S UhqzrdHtp5ra/L34OrxUsnRiXJfigEA+HG8tuOhrXCk7QGs4B7q4ZJR08fiiliKh9f9REI h7Hzp+ML0EF+9VD9CndkMGhRa7muXeqWlYwtbK1n/f9tANmq7WrX8DfG7T4QnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774405546; a=rsa-sha256; cv=none; b=YAiqo/eWRF9FnZeNwVIW7pcliRr57VR1yHVH48tnIbyZEwTNi/OmeJ9gkvsSGT5m5JSNT3 MOtGGA9ukoIGmn9tuma5c2NNPdN7aCNzEantgOqH6ZvsfD/G9AZQtfWUjLsENLHa80UMAs UEJBx1sHf4H+GrzXqXjOvEtzsVMXlgdCUlp5++2NNOJkQn/KYAdqW69jbfrZ63GlTzyd8Y uU0nB9sLsg4IsDJmdTeHhzwlm7DTp1B8r6I8vBhauSMrwZshnn0O7ZBRKBn3PbDBp2N7Z3 xshKpmLkzVgTIQG/SIorDRR4tJQOllHYCIOR/uP0e+ac5bfxqZVs3ifs7w3vKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774405546; h=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=unvw2i8k72tQLfQuB0jsXzpF9WBTedYdLJ89/6+IawA=; b=bPD4UeqxHsU/5trUrZ+EWw71ilFh5uqdT+zzK5sO+8EozI7LsJ1eoB6DvsVv6a37CykVFF D5SQOXGNWf2xssWfzqkOLASOIVauot0VVgGpSFGRf6JshG5qFQMUGgM8Q+fVOIU8A0tQk0 KALUdOK6F/bp446Qw0TizTjoitlz5JgywhExO+QMOlbgqSwwq5RARatKulp1ZIqQyd8pKx tjqX8dFeFnHnPMNz6cKzFIxwLjMZQmwUvUg31AZB3ex/tfmlwuVxYx5MmNGhs6lT4zNjkd 5+OrDpRr1XFvyD3ZGxqc4jJjRtqfythJkQHGHSWbRHRaGkYTiBePhKXzHctyQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgW3Z2pnWzmQK for ; Wed, 25 Mar 2026 02:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 207ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 02:25:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Kristofer Peterson From: Kyle Evans Subject: git: 615f1b9eb17c - main - kern/amd64/machdep: Replace memset in wrmsr_early_safe_end List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 615f1b9eb17c921bbcb0cce2b9ad61910361325b Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 02:25:41 +0000 Message-Id: <69c347a5.207ab.65f029f@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=615f1b9eb17c921bbcb0cce2b9ad61910361325b commit 615f1b9eb17c921bbcb0cce2b9ad61910361325b Author: Kristofer Peterson AuthorDate: 2026-03-09 19:40:34 +0000 Commit: Kyle Evans CommitDate: 2026-03-25 02:24:17 +0000 kern/amd64/machdep: Replace memset in wrmsr_early_safe_end GENERIC-KASAN kernel failed to boot on a Dell PowerEdge C6615 with an AMD EPYC 8224P CPU; UEFI BIOS caught a #GP exception with %RIP in kasan_memset where %GS relative pointer (curthread->td_pflags2) was dereferenced. Investigation led to wrmsr_early_safe_end which calls memset to clear early #GP IDT entry. Replacing memset with __builtin_memset_inline still resulted in the compiler emitting a call to the memset resolver in GENERIC-KASAN build and the kernel stil faulted during boot. This version which has been successfully tested with both GENERIC and GENERIC-KASAN kernels uses memset_early. Signed-off-by: Kristofer Peterson Reviewed-by: kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2069 --- sys/amd64/amd64/machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index e9bb27a54dfb..78199cb2ac03 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1850,7 +1850,7 @@ wrmsr_early_safe_end(void) lidt(&wrmsr_early_safe_orig_efi_idt); gpf_descr = &idt0[IDT_GP]; - memset(gpf_descr, 0, sizeof(*gpf_descr)); + memset_early(gpf_descr, 0, sizeof(*gpf_descr)); } #ifdef KDB From nobody Wed Mar 25 02:35:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgWGs0l5jz6WYnk for ; Wed, 25 Mar 2026 02:35: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgWGr73PTz3b0X for ; Wed, 25 Mar 2026 02:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774406133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q62XG6k6ftlemKh/d56XVMA4Wj825pXBQ16bq7942bs=; b=kaNCbWiQJP90KXxJ1Wvpz6hfx45y81+UqOon7MJlqwvyrnLpDc7PvaXNsqr0fhnBuHrZNL xYDhFZB1zL0xal12QJBQEq2VVWgMn44HSh8GP+EN5NPc1BL0WyOBzt7oADvU8iFWBALkRq 1/6CEGHcupy/mGVwmwi0d/wxzl5I0tCEjLKgY55E/C+6ccx59w5kLJq47dVaxhPUaZDfcc CmSQ3rHsz6DVv2UGlWkGai30lCpeI0Ao2T914um8w05lITpcIqb9JkVJfThBaB5q4q6tN3 LGS5J7jCeb6su6M2wO8ifDgdjwPaEZUM0vL1trBE9MItmdCakhXX2HF9h0DSHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774406133; a=rsa-sha256; cv=none; b=kRVmIg/YJ52DN2llWnoyL/kDgcdg3yvIRAodC7idj9kRvIeswpYbJB8nBjXI0VJby2v4i0 cIQElTdvRxT+ZiRhx0vW9zeLIbY4tQZSksmp6ig7gdW7lyZg7pPtaHfRMRbHeiVN/JOanN GTI1PFid3TMKwouCKly2MbwJntb0crnc9xLVPscgnLE2ZVhw1Jm1hYmJIdBrbz4zl+hvO0 Tpok0is2KIuSZAaftsmrJLcHuVAkkNwldx2S3MTj/Sa0Yev+15sYKH9u7mN/oNp+I2tV22 DYkJnWJIYlyAujqv47wle7JSHaq68RBlYDjGnlRKxosQZQ/weSk2wMFA0oOkOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774406133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q62XG6k6ftlemKh/d56XVMA4Wj825pXBQ16bq7942bs=; b=jSkDKeDJvgUSyGpsUhtXY6y3ApHAQ2Ef+nDBG1hxdTiMu65ZWe9o+75djo1ZJSohl/Fij8 o5sPovd3/jkK5qjo5a87f/EXLs8W8jXqztNd5mMSCXvXqUu2XFSHISGCLbqPO2k3Eg35em ZdCu4OZsrfCPDoHurm0gL4R5aLc5ctX4oDQiroMHTAm+TMH2nsDGv2hF3wrP3IHpSiN89f zonHqXLGZx0Rg0n0fwxcxRGlV7ieodoumYUrl2MiYxJoOqQHYJoEDzgQCcZaI2RR6nl/Hu F09qRDg7AmIBVS9bpjd1xwjfRwV+CT81X1cnc3fUzE+o+SvDpkb3SIhmg162uQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgWGr6YLBzmYG for ; Wed, 25 Mar 2026 02:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20edf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 02:35:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 61f78130c2f3 - main - stand: Force disable RETPOLINE for boot loaders List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61f78130c2f3a6abaa70bd66d6d6974060fb3d04 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 02:35:27 +0000 Message-Id: <69c349ef.20edf.5a0edd28@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=61f78130c2f3a6abaa70bd66d6d6974060fb3d04 commit 61f78130c2f3a6abaa70bd66d6d6974060fb3d04 Author: Ed Maste AuthorDate: 2026-03-24 14:53:13 +0000 Commit: Ed Maste CommitDate: 2026-03-25 02:33:43 +0000 stand: Force disable RETPOLINE for boot loaders Boot loaders do not require speculative execution protection, and may be too large if enabled. Reported by: Shawn Webb Reviewed by: dim, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56068 --- stand/defs.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/defs.mk b/stand/defs.mk index b74dac395d15..7f3803c7ab42 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -11,6 +11,7 @@ FORTIFY_SOURCE= 0 MK_CTF= no MK_SSP= no MK_PIE= no +MK_RETPOLINE= no MK_ZEROREGS= no MAN= .if !defined(PIC) From nobody Wed Mar 25 04:46:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBR3bkDz6Whts for ; Wed, 25 Mar 2026 04:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgZBR1y1hz3mS8 for ; Wed, 25 Mar 2026 04:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLo6GWJdoqZRUTtRwCb8/H1B/wa+T0K3mEILAXbA+yI=; b=T12TUYQ4si55lf6m2YqKHUgvyd8mXE4mp6WRkfJ8IsFL4k1NjrJvYfcPWIYEvWf6EXPZsh IuzCr0YYvCekT7L8cgZyuIe4uEdF7cvJ1PTAJeKc7V1z4bOJsmkpBy+dDc380+6xeCTN++ VHslWfcgdQCHIEGYbMkxXnWi9kzTj8p24f+vYw5eybELJ2GtL39ok0Lj1SqGFmDMG6mRQb IHN06GKhLwhFuZXung3uh2BJ5Ve4PjIgby5Z33mrNGbd+84rcC22aTUb/OYDEENFztKT0T Ps36SABV9cVuhcBJrtRIAarA9xaLNBDqcLCisxKTdgC1u1smzwKJeM1tItQFYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774414015; a=rsa-sha256; cv=none; b=SLJnt5aYz1PVbFlYhGn5cl9XbTakafG0pYEjldqYPN3o5UTE8OnQjbtlSq8alo761VzAlP v6eOtX5cLBm8OQmo+EDTWBiPj8X6QCcyyBmeNS/q9t1Hy8P9hrkVjwi3HngrOje4SUwZ/W wdr1VM3fdSt0j6nuwOaLLUk1XnkQ2V6SL3KQ3FHruW0FlOoPqghdV+ENgCR9ZV+9PkrNHi Wb0adM4J/QbdpzJtp0cBhHhdJh3RnWWdVgY5G9fX2sfIq+9XE1L2h9FkQ+aOeDRqlcvfNe lp/sL90f4yakN+OGDI3aYQsyNCCmjB5s3EW8f3dbecyV3FjOIrn2rVxaLOzOuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLo6GWJdoqZRUTtRwCb8/H1B/wa+T0K3mEILAXbA+yI=; b=OxJQ3YisVLjUHA+E+GVdPoI4VBYanJjM5ATehExSMhq6hZaI7804azNNbsi2yFA6OtpIqN quLYAlwGJGV351rBu74n+tymKB5A4GbsS8Tptcw1vTS/RqRkZVU75vOtYfv7Z0zyZC2OgT FYc2KfGSIlj0hvWBQo9dlBoYWWC9vhaPmGr0+Rj8pzmU7ApTvOvVwv3pkO1gSxRFiyB0qi f0mw6aAIzHfbkcxHfbv78HqRgYJxj8lsGU9iwMy8qb/A7LMu4/R/Fmlt0nZy/SVT1UNbhj b+yL8MIlrCqGt2vdX/bhWJtwLoGsZBUSgE4z2FUlTQHK7CBaxR+qiBakVwnfMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBR1YH2zqjZ for ; Wed, 25 Mar 2026 04:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38353 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 04:46:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jaeyoon Choi Subject: git: 085028463fa9 - main - ufshci: add uic powermode parameter to sysctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jaeyoon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 085028463fa92b28939c87d0a14337fc14f394a0 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 04:46:55 +0000 Message-Id: <69c368bf.38353.5dd1f67c@gitrepo.freebsd.org> The branch main has been updated by jaeyoon: URL: https://cgit.FreeBSD.org/src/commit/?id=085028463fa92b28939c87d0a14337fc14f394a0 commit 085028463fa92b28939c87d0a14337fc14f394a0 Author: Jaeyoon Choi AuthorDate: 2026-03-24 05:14:04 +0000 Commit: Jaeyoon Choi CommitDate: 2026-03-24 16:45:31 +0000 ufshci: add uic powermode parameter to sysctl Adds parameters related to the performance of the UFS device. Also update man page for the missing sysctl entries. Sponsored by: Samsung Electronics Reviewed by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D55985 --- share/man/man4/ufshci.4 | 34 +++++++++++++++++++++++++++++++++- sys/dev/ufshci/ufshci_dev.c | 12 +++++++----- sys/dev/ufshci/ufshci_pci.c | 3 +-- sys/dev/ufshci/ufshci_private.h | 3 ++- sys/dev/ufshci/ufshci_sysctl.c | 35 ++++++++++++++++++++++++++++++----- 5 files changed, 73 insertions(+), 14 deletions(-) diff --git a/share/man/man4/ufshci.4 b/share/man/man4/ufshci.4 index d722c9902b98..f9de9b39a449 100644 --- a/share/man/man4/ufshci.4 +++ b/share/man/man4/ufshci.4 @@ -124,9 +124,41 @@ nodes are currently implemented: (R) Host controller minor version. .It Va dev.ufshci.0.major_version (R) Host controller major version. +.It Va dev.ufshci.0.wb_enabled +(R) WriteBooster enable/disable. +.It Va dev.ufshci.0.wb_flush_enabled +(R) WriteBooster flush enable/disable. +.It Va dev.ufshci.0.wb_buffer_type +(R) WriteBooster type. +.It Va dev.ufshci.0.wb_buffer_size_mb +(R) WriteBooster buffer size in MB. +.It Va dev.ufshci.0.wb_user_space_config_option +(R) WriteBooster preserve user space mode. +.It Va dev.ufshci.0.auto_hibernation_supported +(R) Device auto hibernation support. +.It Va dev.ufshci.0.auto_hibernate_idle_timer_value +(R) Auto-Hibernate Idle Timer Value (in microseconds). +.It Va dev.ufshci.0.power_mode_supported +(R) Device power mode support. +.It Va dev.ufshci.0.power_mode +(R) Current device power mode. +.It Va dev.ufshci.0.tx_rx_power_mode +(R) Current TX/RX PA_PWRMode value. +.It Va dev.ufshci.0.max_tx_lanes +(R) Maximum available TX data lanes. +.It Va dev.ufshci.0.max_rx_lanes +(R) Maximum available RX data lanes. +.It Va dev.ufshci.0.tx_lanes +(R) Active TX data lanes. +.It Va dev.ufshci.0.rx_lanes +(R) Active RX data lanes. +.It Va dev.ufshci.0.max_rx_hs_gear +(R) Maximum available RX HS gear. +.It Va dev.ufshci.0.hs_gear +(R) Active HS gear. .It Va dev.ufshci.0.utmrq.num_failures (R) Number of failed UTP task-management requests. -.It Va dev.ufshci.0.utmrq.ioq.num_retries +.It Va dev.ufshci.0.utmrq.num_retries (R) Number of retried UTP task-management requests. .It Va dev.ufshci.0.utmrq.num_intr_handler_calls (R) Number of interrupt handler calls caused by UTP task-management requests. diff --git a/sys/dev/ufshci/ufshci_dev.c b/sys/dev/ufshci/ufshci_dev.c index 3167945b53b6..0fedbca9a90e 100644 --- a/sys/dev/ufshci/ufshci_dev.c +++ b/sys/dev/ufshci/ufshci_dev.c @@ -325,7 +325,7 @@ ufshci_dev_init_uic_power_mode(struct ufshci_controller *ctrlr) */ const uint32_t fast_mode = 1; const uint32_t rx_bit_shift = 4; - uint32_t power_mode, peer_granularity; + uint32_t peer_granularity; /* Update lanes with available TX/RX lanes */ if (ufshci_uic_send_dme_get(ctrlr, PA_AvailTxDataLanes, @@ -352,9 +352,11 @@ ufshci_dev_init_uic_power_mode(struct ufshci_controller *ctrlr) if (ctrlr->quirks & UFSHCI_QUIRK_CHANGE_LANE_AND_GEAR_SEPARATELY) { /* Before changing gears, first change the number of lanes. */ - if (ufshci_uic_send_dme_get(ctrlr, PA_PWRMode, &power_mode)) + if (ufshci_uic_send_dme_get(ctrlr, PA_PWRMode, + &ctrlr->tx_rx_power_mode)) return (ENXIO); - if (ufshci_uic_send_dme_set(ctrlr, PA_PWRMode, power_mode)) + if (ufshci_uic_send_dme_set(ctrlr, PA_PWRMode, + ctrlr->tx_rx_power_mode)) return (ENXIO); /* Wait for power mode changed. */ @@ -415,8 +417,8 @@ ufshci_dev_init_uic_power_mode(struct ufshci_controller *ctrlr) return (ENXIO); /* Set TX/RX PWRMode */ - power_mode = (fast_mode << rx_bit_shift) | fast_mode; - if (ufshci_uic_send_dme_set(ctrlr, PA_PWRMode, power_mode)) + ctrlr->tx_rx_power_mode = (fast_mode << rx_bit_shift) | fast_mode; + if (ufshci_uic_send_dme_set(ctrlr, PA_PWRMode, ctrlr->tx_rx_power_mode)) return (ENXIO); /* Wait for power mode changed. */ diff --git a/sys/dev/ufshci/ufshci_pci.c b/sys/dev/ufshci/ufshci_pci.c index 606f2a095576..b6b8124bc3a6 100644 --- a/sys/dev/ufshci/ufshci_pci.c +++ b/sys/dev/ufshci/ufshci_pci.c @@ -34,8 +34,7 @@ static device_method_t ufshci_pci_methods[] = { DEVMETHOD(device_attach, ufshci_pci_attach), DEVMETHOD(device_detach, ufshci_pci_detach), DEVMETHOD(device_suspend, ufshci_pci_suspend), - DEVMETHOD(device_resume, ufshci_pci_resume), - DEVMETHOD_END + DEVMETHOD(device_resume, ufshci_pci_resume), DEVMETHOD_END }; static driver_t ufshci_pci_driver = { diff --git a/sys/dev/ufshci/ufshci_private.h b/sys/dev/ufshci/ufshci_private.h index 1634cf51c9fb..b25df45d6b75 100644 --- a/sys/dev/ufshci/ufshci_private.h +++ b/sys/dev/ufshci/ufshci_private.h @@ -396,7 +396,8 @@ struct ufshci_controller { /* UFS Interconnect Layer (UIC) */ struct mtx uic_cmd_lock; - uint8_t hs_gear; + uint32_t tx_rx_power_mode; + uint32_t hs_gear; uint32_t tx_lanes; uint32_t rx_lanes; uint32_t max_rx_hs_gear; diff --git a/sys/dev/ufshci/ufshci_sysctl.c b/sys/dev/ufshci/ufshci_sysctl.c index 495f087f3c50..a113e951798e 100644 --- a/sys/dev/ufshci/ufshci_sysctl.c +++ b/sys/dev/ufshci/ufshci_sysctl.c @@ -193,7 +193,7 @@ ufshci_sysctl_initialize_ctrlr(struct ufshci_controller *ctrlr) CTLFLAG_RD, &ctrlr->num_io_queues, 0, "Number of I/O queue pairs"); SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "cap", CTLFLAG_RD, - &ctrlr->cap, 0, "Number of I/O queue pairs"); + &ctrlr->cap, 0, "Host controller capabilities register value"); SYSCTL_ADD_BOOL(ctrlr_ctx, ctrlr_list, OID_AUTO, "wb_enabled", CTLFLAG_RD, &dev->is_wb_enabled, 0, "WriteBooster enable/disable"); @@ -214,10 +214,6 @@ ufshci_sysctl_initialize_ctrlr(struct ufshci_controller *ctrlr) &dev->wb_user_space_config_option, 0, "WriteBooster preserve user space mode"); - SYSCTL_ADD_BOOL(ctrlr_ctx, ctrlr_list, OID_AUTO, "power_mode_supported", - CTLFLAG_RD, &dev->power_mode_supported, 0, - "Device power mode support"); - SYSCTL_ADD_BOOL(ctrlr_ctx, ctrlr_list, OID_AUTO, "auto_hibernation_supported", CTLFLAG_RD, &dev->auto_hibernation_supported, 0, @@ -229,9 +225,38 @@ ufshci_sysctl_initialize_ctrlr(struct ufshci_controller *ctrlr) ufshci_sysctl_ahit, "IU", "Auto-Hibernate Idle Timer Value (in microseconds)"); + SYSCTL_ADD_BOOL(ctrlr_ctx, ctrlr_list, OID_AUTO, "power_mode_supported", + CTLFLAG_RD, &dev->power_mode_supported, 0, + "Device power mode support"); + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "power_mode", CTLFLAG_RD, &dev->power_mode, 0, "Current device power mode"); + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "tx_rx_power_mode", + CTLFLAG_RD, &ctrlr->tx_rx_power_mode, 0, + "Current TX/RX PA_PWRMode value"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "max_tx_lanes", + CTLFLAG_RD, &ctrlr->max_tx_lanes, 0, + "Maximum available TX data lanes"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "max_rx_lanes", + CTLFLAG_RD, &ctrlr->max_rx_lanes, 0, + "Maximum available RX data lanes"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "tx_lanes", CTLFLAG_RD, + &ctrlr->tx_lanes, 0, "Active TX data lanes"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "rx_lanes", CTLFLAG_RD, + &ctrlr->rx_lanes, 0, "Active RX data lanes"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "max_rx_hs_gear", + CTLFLAG_RD, &ctrlr->max_rx_hs_gear, 0, + "Maximum available RX HS gear"); + + SYSCTL_ADD_UINT(ctrlr_ctx, ctrlr_list, OID_AUTO, "hs_gear", CTLFLAG_RD, + &ctrlr->hs_gear, 0, "Active HS gear"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "timeout_period", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, &ctrlr->timeout_period, 0, ufshci_sysctl_timeout_period, "IU", From nobody Wed Mar 25 04:46:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBS4jWmz6WhxJ for ; Wed, 25 Mar 2026 04:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgZBS2zQMz3mS9 for ; Wed, 25 Mar 2026 04:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUzQ0IPbVbhT9oVOS/OCeDBNszyOYmsZMmatc46FhZI=; b=h2QpYeSLmcHxyNvEYPfW4CxQ3OL2E2e9bHybEtBICmMn8ah4U6bAgQUrGYe6UqaLIRc+x6 wmjQDYUkQZyRh4grmIOz1ER6mbRiOmVMkk094W0RyqcfXGDbw6mL08cqmcOaRZCauglMHp 63A+4e2tS013aHf6rq1SshJ29ZtE+h/jMdK3eCFMuwK2LXREGbUXurrjQ3WwouHl2t0jav E2d94RU4FRFr8TUNYEb/V/2eJ9xYWM2oSi7GGfdcCxmTzMEohOhyGBJLlU86Mp7fT3ZAyP yLBmMLRQFAB2Z7uR736d90xTU2bYM2IeLCv2055dI84RkZhIaizlHUXxaei/Ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774414016; a=rsa-sha256; cv=none; b=mWITNx2Wp65Yv5K4PRDOQdKs1HWF3ZN1YBNFKxwm7H+/3QJh8GQS5pZ4EFqp4P8H3p+DGW U8e/6sl4/N1aNOeJwVk36knRAUXF4TriU4BcyAEXOCKR8grpE8d3EaJRWHGIHkwkie4idV EUpZ6IGBIbMWlFNUiAHz/M7Ag8pPX6FCRsBg5M5nUS5X9qMWQ5CWo+uuVEsLw4IitzgIKl /cqL4If8mQ+rIBN09wzcr3QPLTLbnZXCn9mmpEZhyiAp9qAD3EPwPWye4ol4kqy0QxeWa5 UXhHjuCxdu/zuYyHV0Y9Wz/7GrctD43a9rBjXLER3up4jCqoBiFHTa3xT1K7qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUzQ0IPbVbhT9oVOS/OCeDBNszyOYmsZMmatc46FhZI=; b=bwTI9bJi7IdRZRPdzG7lRcWe4eHrzh3ID200m3/4DHpnA/oZIkPCnydnNV2Yzt4+NHTv86 cVFeVr0FpNSP/6O2+wr3VAZdYIsJxn+mJFWW+D4U2NMouOmBh03K55gMxfe4KAdNfgp4UP Fw/zJLb6u2YKx301nfemsqEyLYk+l7O+lnItPp9C3EiWXNvbKoIHyadeWYJXLGEA38CnwG W5Yrsyh1d3m/t3HzrQAHQ/bZmn2RVq/iAPK39SxH0M6nDCtoyUbALovbpm+8yiQ305eh2q pp3i5IKDWnzqFkJuXWMOFfihuWfPmzciZUj6szJRqGvI0q8iCybjCcpF5nX8hA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBS2NSmzqgf for ; Wed, 25 Mar 2026 04:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 382cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 04:46:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jaeyoon Choi Subject: git: e2083e8d3a01 - main - ufshci: Support ACPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jaeyoon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2083e8d3a01cac739b38521abc72620d3810aba Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 04:46:56 +0000 Message-Id: <69c368c0.382cc.15737923@gitrepo.freebsd.org> The branch main has been updated by jaeyoon: URL: https://cgit.FreeBSD.org/src/commit/?id=e2083e8d3a01cac739b38521abc72620d3810aba commit e2083e8d3a01cac739b38521abc72620d3810aba Author: Jaeyoon Choi AuthorDate: 2026-03-24 05:16:26 +0000 Commit: Jaeyoon Choi CommitDate: 2026-03-24 16:45:34 +0000 ufshci: Support ACPI Supports UFS host controller attachment via ACPI. Tested on the Samsung Galaxy Book 4 Edge using Qualcomm Snapdragon X Elite. Additionally, a quirk related to power mode change has been added. For reference, it doesn't reach maximum speed yet. I plan to improve it later. Sponsored by: Samsung Electronics Reviewed by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D55986 --- sys/conf/files | 3 +- sys/dev/ufshci/ufshci_acpi.c | 248 ++++++++++++++++++++++++++++++++++++++++ sys/dev/ufshci/ufshci_ctrlr.c | 71 ++++++++++-- sys/dev/ufshci/ufshci_private.h | 12 +- sys/modules/ufshci/Makefile | 3 + 5 files changed, 324 insertions(+), 13 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 5fc84f911e19..269f9387ec08 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3285,10 +3285,11 @@ dev/uart/uart_tty.c optional uart # Universal Flash Storage Host Controller Interface drivers # dev/ufshci/ufshci.c optional ufshci +dev/ufshci/ufshci_acpi.c optional ufshci acpi dev/ufshci/ufshci_ctrlr.c optional ufshci dev/ufshci/ufshci_ctrlr_cmd.c optional ufshci dev/ufshci/ufshci_dev.c optional ufshci -dev/ufshci/ufshci_pci.c optional ufshci +dev/ufshci/ufshci_pci.c optional ufshci pci dev/ufshci/ufshci_req_queue.c optional ufshci dev/ufshci/ufshci_req_sdb.c optional ufshci dev/ufshci/ufshci_sim.c optional ufshci diff --git a/sys/dev/ufshci/ufshci_acpi.c b/sys/dev/ufshci/ufshci_acpi.c new file mode 100644 index 000000000000..94da0d3cb411 --- /dev/null +++ b/sys/dev/ufshci/ufshci_acpi.c @@ -0,0 +1,248 @@ +/*- + * Copyright (c) 2026, Samsung Electronics Co., Ltd. + * Written by Jaeyoon Choi + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include + +#include "ufshci_private.h" + +static int ufshci_acpi_probe(device_t); +static int ufshci_acpi_attach(device_t); +static int ufshci_acpi_detach(device_t); +static int ufshci_acpi_suspend(device_t); +static int ufshci_acpi_resume(device_t); + +static device_method_t ufshci_acpi_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ufshci_acpi_probe), + DEVMETHOD(device_attach, ufshci_acpi_attach), + DEVMETHOD(device_detach, ufshci_acpi_detach), + DEVMETHOD(device_suspend, ufshci_acpi_suspend), + DEVMETHOD(device_resume, ufshci_acpi_resume), { 0, 0 } +}; + +static driver_t ufshci_acpi_driver = { + "ufshci", + ufshci_acpi_methods, + sizeof(struct ufshci_controller), +}; + +DRIVER_MODULE(ufshci, acpi, ufshci_acpi_driver, 0, 0); +MODULE_DEPEND(ufshci, acpi, 1, 1, 1); + +static struct ufshci_acpi_device { + const char *hid; + const char *desc; + uint32_t ref_clk; + uint32_t quirks; +} ufshci_acpi_devices[] = { + { "QCOM24A5", "Qualcomm Snapdragon X Elite UFS Host Controller", + UFSHCI_REF_CLK_19_2MHz, + UFSHCI_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH | + UFSHCI_QUIRK_BROKEN_LSDBS_MCQS_CAP }, + { 0x00000000, NULL, 0, 0 } +}; + +static char *ufshci_acpi_ids[] = { "QCOM24A5", NULL }; + +static const struct ufshci_acpi_device * +ufshci_acpi_find_device(device_t dev) +{ + char *hid; + int i; + int rv; + + rv = ACPI_ID_PROBE(device_get_parent(dev), dev, ufshci_acpi_ids, &hid); + if (rv > 0) + return (NULL); + + for (i = 0; ufshci_acpi_devices[i].hid != NULL; i++) { + if (strcmp(ufshci_acpi_devices[i].hid, hid) != 0) + continue; + return (&ufshci_acpi_devices[i]); + } + + return (NULL); +} + +static int +ufshci_acpi_probe(device_t dev) +{ + struct ufshci_controller *ctrlr = device_get_softc(dev); + const struct ufshci_acpi_device *acpi_dev; + + acpi_dev = ufshci_acpi_find_device(dev); + if (acpi_dev == NULL) + return (ENXIO); + + if (acpi_dev->hid) { + ctrlr->quirks = acpi_dev->quirks; + ctrlr->ref_clk = acpi_dev->ref_clk; + } + + if (acpi_dev->desc) { + device_set_desc(dev, acpi_dev->desc); + return (BUS_PROBE_DEFAULT); + } + + return (ENXIO); +} + +static int +ufshci_acpi_allocate_memory(struct ufshci_controller *ctrlr) +{ + ctrlr->resource_id = 0; + ctrlr->resource = bus_alloc_resource_any(ctrlr->dev, SYS_RES_MEMORY, + &ctrlr->resource_id, RF_ACTIVE); + + if (ctrlr->resource == NULL) { + ufshci_printf(ctrlr, "unable to allocate acpi resource\n"); + return (ENOMEM); + } + + ctrlr->bus_tag = rman_get_bustag(ctrlr->resource); + ctrlr->bus_handle = rman_get_bushandle(ctrlr->resource); + ctrlr->regs = (struct ufshci_registers *)ctrlr->bus_handle; + + return (0); +} + +static int +ufshci_acpi_setup_shared(struct ufshci_controller *ctrlr) +{ + int error; + + ctrlr->num_io_queues = 1; + ctrlr->rid = 0; + ctrlr->res = bus_alloc_resource_any(ctrlr->dev, SYS_RES_IRQ, + &ctrlr->rid, RF_SHAREABLE | RF_ACTIVE); + if (ctrlr->res == NULL) { + ufshci_printf(ctrlr, "unable to allocate shared interrupt\n"); + return (ENOMEM); + } + + error = bus_setup_intr(ctrlr->dev, ctrlr->res, + INTR_TYPE_MISC | INTR_MPSAFE, NULL, ufshci_ctrlr_shared_handler, + ctrlr, &ctrlr->tag); + if (error) { + ufshci_printf(ctrlr, "unable to setup shared interrupt\n"); + return (error); + } + + return (0); +} + +static int +ufshci_acpi_setup_interrupts(struct ufshci_controller *ctrlr) +{ + int num_io_queues, per_cpu_io_queues, min_cpus_per_ioq; + + /* + * TODO: Need to implement MCQ(Multi Circular Queue) + * Example: num_io_queues = mp_ncpus; + */ + num_io_queues = 1; + TUNABLE_INT_FETCH("hw.ufshci.num_io_queues", &num_io_queues); + if (num_io_queues < 1 || num_io_queues > mp_ncpus) + num_io_queues = mp_ncpus; + + per_cpu_io_queues = 1; + TUNABLE_INT_FETCH("hw.ufshci.per_cpu_io_queues", &per_cpu_io_queues); + if (per_cpu_io_queues == 0) + num_io_queues = 1; + + min_cpus_per_ioq = smp_threads_per_core; + TUNABLE_INT_FETCH("hw.ufshci.min_cpus_per_ioq", &min_cpus_per_ioq); + if (min_cpus_per_ioq > 1) { + num_io_queues = min(num_io_queues, + max(1, mp_ncpus / min_cpus_per_ioq)); + } + + if (num_io_queues > vm_ndomains) + num_io_queues -= num_io_queues % vm_ndomains; + + ctrlr->num_io_queues = num_io_queues; + return (ufshci_acpi_setup_shared(ctrlr)); +} + +static int +ufshci_acpi_attach(device_t dev) +{ + struct ufshci_controller *ctrlr = device_get_softc(dev); + int status; + + ctrlr->dev = dev; + status = ufshci_acpi_allocate_memory(ctrlr); + if (status != 0) + goto bad; + + status = ufshci_acpi_setup_interrupts(ctrlr); + if (status != 0) + goto bad; + + return (ufshci_attach(dev)); +bad: + if (ctrlr->resource != NULL) { + bus_release_resource(dev, SYS_RES_MEMORY, ctrlr->resource_id, + ctrlr->resource); + } + + if (ctrlr->tag) + bus_teardown_intr(dev, ctrlr->res, ctrlr->tag); + + if (ctrlr->res) + bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(ctrlr->res), + ctrlr->res); + + return (status); +} + +static int +ufshci_acpi_detach(device_t dev) +{ + return (ufshci_detach(dev)); +} + +static int +ufshci_acpi_suspend(device_t dev) +{ + struct ufshci_controller *ctrlr = device_get_softc(dev); + int error; + + error = bus_generic_suspend(dev); + if (error) + return (error); + + /* Currently, PCI-based ufshci only supports POWER_STYPE_STANDBY */ + error = ufshci_ctrlr_suspend(ctrlr, POWER_STYPE_STANDBY); + return (error); +} + +static int +ufshci_acpi_resume(device_t dev) +{ + struct ufshci_controller *ctrlr = device_get_softc(dev); + int error; + + error = ufshci_ctrlr_resume(ctrlr, POWER_STYPE_AWAKE); + if (error) + return (error); + + error = bus_generic_resume(dev); + return (error); +} diff --git a/sys/dev/ufshci/ufshci_ctrlr.c b/sys/dev/ufshci/ufshci_ctrlr.c index f011d03189e0..244aa723d02a 100644 --- a/sys/dev/ufshci/ufshci_ctrlr.c +++ b/sys/dev/ufshci/ufshci_ctrlr.c @@ -21,6 +21,50 @@ ufshci_ctrlr_fail(struct ufshci_controller *ctrlr) ufshci_req_queue_fail(ctrlr, &ctrlr->transfer_req_queue); } +/* Some controllers require a reinit after switching to the max gear. */ +static int +ufshci_ctrlr_reinit_after_max_gear_switch(struct ufshci_controller *ctrlr) +{ + int error; + + /* Reset device */ + ufshci_utmr_req_queue_disable(ctrlr); + ufshci_utr_req_queue_disable(ctrlr); + + error = ufshci_ctrlr_disable(ctrlr); + if (error != 0) + return (error); + + error = ufshci_ctrlr_enable(ctrlr); + if (error != 0) + return (error); + + error = ufshci_utmr_req_queue_enable(ctrlr); + if (error != 0) + return (error); + + error = ufshci_utr_req_queue_enable(ctrlr); + if (error != 0) + return (error); + + error = ufshci_ctrlr_send_nop(ctrlr); + if (error != 0) + return (error); + + /* Reinit the target device. */ + error = ufshci_dev_init(ctrlr); + if (error != 0) + return (error); + + /* Initialize Reference Clock */ + error = ufshci_dev_init_reference_clock(ctrlr); + if (error != 0) + return (error); + + /* Initialize unipro */ + return (ufshci_dev_init_unipro(ctrlr)); +} + static void ufshci_ctrlr_start(struct ufshci_controller *ctrlr, bool resetting) { @@ -77,6 +121,12 @@ ufshci_ctrlr_start(struct ufshci_controller *ctrlr, bool resetting) ufshci_dev_init_uic_link_state(ctrlr); + if ((ctrlr->quirks & UFSHCI_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH) && + ufshci_ctrlr_reinit_after_max_gear_switch(ctrlr) != 0) { + ufshci_ctrlr_fail(ctrlr); + return; + } + /* Read Controller Descriptor (Device, Geometry) */ if (ufshci_dev_get_descriptor(ctrlr) != 0) { ufshci_ctrlr_fail(ctrlr); @@ -199,7 +249,7 @@ ufshci_ctrlr_disable(struct ufshci_controller *ctrlr) return (error); } -static int +int ufshci_ctrlr_enable(struct ufshci_controller *ctrlr) { uint32_t ie, hcs; @@ -302,15 +352,18 @@ ufshci_ctrlr_construct(struct ufshci_controller *ctrlr, device_t dev) /* Read Device Capabilities */ ctrlr->cap = cap = ufshci_mmio_read_4(ctrlr, cap); - ctrlr->is_single_db_supported = UFSHCIV(UFSHCI_CAP_REG_LSDBS, cap); - /* - * TODO: This driver does not yet support multi-queue. - * Check the UFSHCI_CAP_REG_MCQS bit in the future to determine if - * multi-queue support is available. - */ - ctrlr->is_mcq_supported = false; - if (!(ctrlr->is_single_db_supported == 0 || ctrlr->is_mcq_supported)) + if (ctrlr->quirks & UFSHCI_QUIRK_BROKEN_LSDBS_MCQS_CAP) { + ctrlr->is_single_db_supported = true; + ctrlr->is_mcq_supported = true; + } else { + ctrlr->is_single_db_supported = (UFSHCIV(UFSHCI_CAP_REG_LSDBS, + cap) == 0); + ctrlr->is_mcq_supported = (UFSHCIV(UFSHCI_CAP_REG_MCQS, cap) == + 1); + } + if (!(ctrlr->is_single_db_supported || ctrlr->is_mcq_supported)) return (ENXIO); + /* * The maximum transfer size supported by UFSHCI spec is 65535 * 256 KiB * However, we limit the maximum transfer size to 1MiB(256 * 4KiB) for diff --git a/sys/dev/ufshci/ufshci_private.h b/sys/dev/ufshci/ufshci_private.h index b25df45d6b75..067b51a419e8 100644 --- a/sys/dev/ufshci/ufshci_private.h +++ b/sys/dev/ufshci/ufshci_private.h @@ -315,10 +315,15 @@ struct ufshci_controller { #define UFSHCI_QUIRK_NOT_SUPPORT_ABORT_TASK \ 16 /* QEMU does not support Task Management Request */ #define UFSHCI_QUIRK_SKIP_WELL_KNOWN_LUNS \ - 32 /* QEMU does not support Well known logical units*/ + 32 /* QEMU does not support Well known logical units */ #define UFSHCI_QUIRK_BROKEN_AUTO_HIBERNATE \ 64 /* Some controllers have the Auto hibernate feature enabled but it \ does not work. */ +#define UFSHCI_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH \ + 128 /* Some controllers need to reinit the device after gear switch. \ + */ +#define UFSHCI_QUIRK_BROKEN_LSDBS_MCQS_CAP \ + 256 /* Some controllers have their LSDB and MCQS fields reset to 0. */ uint32_t ref_clk; @@ -391,8 +396,8 @@ struct ufshci_controller { /* UFS Transport Protocol Layer (UTP) */ struct ufshci_req_queue task_mgmt_req_queue; struct ufshci_req_queue transfer_req_queue; - bool is_single_db_supported; /* 0 = supported */ - bool is_mcq_supported; /* 1 = supported */ + bool is_single_db_supported; + bool is_mcq_supported; /* UFS Interconnect Layer (UIC) */ struct mtx uic_cmd_lock; @@ -443,6 +448,7 @@ int ufshci_ctrlr_suspend(struct ufshci_controller *ctrlr, int ufshci_ctrlr_resume(struct ufshci_controller *ctrlr, enum power_stype stype); int ufshci_ctrlr_disable(struct ufshci_controller *ctrlr); +int ufshci_ctrlr_enable(struct ufshci_controller *ctrlr); /* ctrlr defined as void * to allow use with config_intrhook. */ void ufshci_ctrlr_start_config_hook(void *arg); void ufshci_ctrlr_poll(struct ufshci_controller *ctrlr); diff --git a/sys/modules/ufshci/Makefile b/sys/modules/ufshci/Makefile index ab5f3eaf88d0..aa0419d3a6d6 100644 --- a/sys/modules/ufshci/Makefile +++ b/sys/modules/ufshci/Makefile @@ -3,6 +3,7 @@ KMOD = ufshci SRCS = ufshci.c \ + ufshci_acpi.c \ ufshci_pci.c \ ufshci_ctrlr.c \ ufshci_dev.c \ @@ -12,8 +13,10 @@ SRCS = ufshci.c \ ufshci_req_sdb.c \ ufshci_sim.c \ ufshci_sysctl.c \ + acpi_if.h \ bus_if.h \ device_if.h \ + opt_acpi.h \ opt_cam.h \ pci_if.h From nobody Wed Mar 25 04:46:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBW6S7Kz6WhqT for ; Wed, 25 Mar 2026 04:46: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgZBW3Zzqz3mSY for ; Wed, 25 Mar 2026 04:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Ru1U4ZRA72SGVN/XP7ci55eHIO2WCDDj9RtsI78LAc=; b=PMH3jDLt+6idM/eHVBV+c1aPjQaIZvxDep/YGT0FCyVQ0DAIXjTHdi4yXg8LcTZqzuM6tv k9/zcYgRuODzRvQx7vOh+muezrhXh2kSYvIeXwRErrRNyBYmf3c0FBhl4q1Y+LD2aC04O/ RuWHpLeq+vxFI4GDwBli3xs0wB2fN/IcMV9sRl43ZMhTR+brn16AsHSaHq/eEEcS2alCA+ Wo4ts9redrbvEutHsRD1GxFSyqNsxBTDqKvZEsL/CoC2v5CdRN54Iu2QYxTmKzRCfn5n+7 M+39pjgsP6aaVrXcoINiWtvFoiVz/e+TR2EZFMJPJFHJUFMydxLM0LfD2uXgww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774414019; a=rsa-sha256; cv=none; b=llVF7qIeAqsz7EKkhzpp3fh18dj5SQ8Df00H6sYhspkLYwvnJI8T3kgX6L1hQghIwb+8P2 oXwQWmb7H0IW7PjQSAy//oveuTIy2/uj5pN2Gi/q1DBy5gwUhomQNq7R9VJWlJtt85vEH7 lJJJNfTTNOx8uiBWcB/L5xcfwzNQ3+UXGtnSje7m84cyBBnb2u3C3VQYeTRrFSklteEAQy v/FuH4TlUh/0XkDzWsVIO4QGYQYG0nSlqeZIm2YbEYcwUmsMmevzxE2XCZ4tDl6lc5wwGN /LmhCdAvy7XkynrzWOpEqUi2gTgfz5+n1dx3LcPMlIm8KbeEU6tbSgH73Ri+kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Ru1U4ZRA72SGVN/XP7ci55eHIO2WCDDj9RtsI78LAc=; b=Z0iup7tngHJjm2cuzlu47x3AYOXzl1vuBp+E7rX8rs/wyXiDoCqT3t0FordHY+miM43tZ8 BvEpILYM4nMftcUEt3En/FXbr52U4xDZOK8awXkRgJMRnQovYgjM7Vm9vwqcPt9SDzs6SI EjK6wR2zFSHmogk5kgzFs6u0IdY0USZl492TIMTpAviosP3e5jy1rsq9m7jiLnZL+qs/m0 sgR0FHmqmzY3ODH1vlK9FQtWxVjx8t2ku75ty15zUtBMUpEMHnbOW6beZV6fymXU/XTnF0 7PrG85e4c2QmEkh7fbwD60xhj+JH2BvmBy9mk5ysldBSVAp8fK12x1PxATCvnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBW1yZYzqjc for ; Wed, 25 Mar 2026 04:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36bbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 04:46:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jaeyoon Choi Subject: git: c4386988baa2 - main - ufshci: fix bug in ufshci_req_sdb_enable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jaeyoon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4386988baa2ecdcb482c8ccace183dc643d097c Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 04:46:54 +0000 Message-Id: <69c368be.36bbe.6582e4ba@gitrepo.freebsd.org> The branch main has been updated by jaeyoon: URL: https://cgit.FreeBSD.org/src/commit/?id=c4386988baa2ecdcb482c8ccace183dc643d097c commit c4386988baa2ecdcb482c8ccace183dc643d097c Author: Jaeyoon Choi AuthorDate: 2026-03-24 05:12:14 +0000 Commit: Jaeyoon Choi CommitDate: 2026-03-24 16:45:27 +0000 ufshci: fix bug in ufshci_req_sdb_enable When enabling the request queue, safely reset the list base address. This was added due to a quirk in the Qualcomm UFS controller during the process of activating it. Sponsored by: Samsung Electronics Reviewed by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D55984 --- sys/dev/ufshci/ufshci_req_sdb.c | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/sys/dev/ufshci/ufshci_req_sdb.c b/sys/dev/ufshci/ufshci_req_sdb.c index ca47aa159c5b..54542f48b32c 100644 --- a/sys/dev/ufshci/ufshci_req_sdb.c +++ b/sys/dev/ufshci/ufshci_req_sdb.c @@ -374,34 +374,63 @@ ufshci_req_sdb_enable(struct ufshci_controller *ctrlr, struct ufshci_req_queue *req_queue) { struct ufshci_hw_queue *hwq = &req_queue->hwq[UFSHCI_SDB_Q]; + int error = 0; + + mtx_lock(&hwq->recovery_lock); + mtx_lock(&hwq->qlock); if (req_queue->is_task_mgmt) { uint32_t hcs, utmrldbr, utmrlrsr; + uint32_t utmrlba, utmrlbau; + + /* + * Some controllers require re-enabling. When a controller is + * re-enabled, the utmrlba registers are initialized, and these + * must be reconfigured upon re-enabling. + */ + utmrlba = hwq->req_queue_addr & 0xffffffff; + utmrlbau = hwq->req_queue_addr >> 32; + ufshci_mmio_write_4(ctrlr, utmrlba, utmrlba); + ufshci_mmio_write_4(ctrlr, utmrlbau, utmrlbau); hcs = ufshci_mmio_read_4(ctrlr, hcs); if (!(hcs & UFSHCIM(UFSHCI_HCS_REG_UTMRLRDY))) { ufshci_printf(ctrlr, "UTP task management request list is not ready\n"); - return (ENXIO); + error = ENXIO; + goto out; } utmrldbr = ufshci_mmio_read_4(ctrlr, utmrldbr); if (utmrldbr != 0) { ufshci_printf(ctrlr, "UTP task management request list door bell is not ready\n"); - return (ENXIO); + error = ENXIO; + goto out; } utmrlrsr = UFSHCIM(UFSHCI_UTMRLRSR_REG_UTMRLRSR); ufshci_mmio_write_4(ctrlr, utmrlrsr, utmrlrsr); } else { uint32_t hcs, utrldbr, utrlcnr, utrlrsr; + uint32_t utrlba, utrlbau; + + /* + * Some controllers require re-enabling. When a controller is + * re-enabled, the utrlba registers are initialized, and these + * must be reconfigured upon re-enabling. + */ + utrlba = hwq->req_queue_addr & 0xffffffff; + utrlbau = hwq->req_queue_addr >> 32; + ufshci_mmio_write_4(ctrlr, utrlba, utrlba); + ufshci_mmio_write_4(ctrlr, utrlbau, utrlbau); hcs = ufshci_mmio_read_4(ctrlr, hcs); if (!(hcs & UFSHCIM(UFSHCI_HCS_REG_UTRLRDY))) { ufshci_printf(ctrlr, "UTP transfer request list is not ready\n"); - return (ENXIO); + error = ENXIO; + goto out; } utrldbr = ufshci_mmio_read_4(ctrlr, utrldbr); @@ -434,7 +463,10 @@ ufshci_req_sdb_enable(struct ufshci_controller *ctrlr, hwq->recovery_state = RECOVERY_NONE; - return (0); +out: + mtx_unlock(&hwq->qlock); + mtx_unlock(&hwq->recovery_lock); + return (error); } int From nobody Wed Mar 25 10:36:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgjyK5HBlz6W4w2 for ; Wed, 25 Mar 2026 10:36: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgjyK2bvvz3K8n for ; Wed, 25 Mar 2026 10:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774435017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBoH/yTNtgHGQD6p7iofEBFpxwWrv6hReisIj1mi6I4=; b=PVXwxj7s9/LkDuL3/3hfadOprz6770F45W8un7UPad7cgMHWHvKYQeWm0vqZSfy6VcEmQf S9M+Ie/dU11rEbV9+OG+k1G5wMsGmBmdPXqm7h4XdVE3ftv0Osa44Gu9/bOCwndN0Kcc1E bFSeZRV2of7zejIrotkHhPAKbcuIETfXZLbUBs1QrKOfZTCqdv8nSQsCKqH4Abtrj7XgqO SYYFj2EKt+vC94FSvLY4TtBy+q4M2/Rcyw7W1LhcoBRDz1c666SS7jsgdwOOQfSHavkC7a gqiB+oAY+vW4vAt1xK/+5R13/R0XwI+GJr3Wb1XMARttf69EO4DVFEQVvY3F6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774435017; a=rsa-sha256; cv=none; b=HGH5Hj4xIRhe8IwzEbMOP/91Tt+HLsC8sq5vnhJE52RlO8b8+pnMBup2qEGIaqwBsHn/ZG QuZq3P8rlCYeijVhE44x4VWC8fsj3GzM07teKejulTV86k8qBQwEh6FQMWuv+d4vlpbfwK u97f+zQn+ASvlFB/RqBeuc/NOzutlV3yn4uV8EI+JcNDi0oL7ns5l8kEC0szeK9xAHbyti sJ3R41AQGAHvEf92Kb3F3Aeqv+/5I1N1EAwR4Y+I7/PT7QOQ22j6BUHa54inRlgnE1v0b6 c9LqBLDY0jPArrPm4qZEDpNSUVB1w7DdHdZMvSFNzA0eHO1iraNYWNTEqsZr+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=1774435017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBoH/yTNtgHGQD6p7iofEBFpxwWrv6hReisIj1mi6I4=; b=LAHaG6LN2w7b/ZjNHyiAcnERNNFRuz1K8Oy8Br/fw13fuX/B9QJMTReIYpXzZZFurEZuXH tCEZ7/sOCab3vIcC0mdqJYxe26O4AS013DEKovjiMTO+HFuiPlac5KimufO7H/XBHqXVpu 6TStGbBhQhhMaCuzg0owacRXK9Zbj/qd56+I11RtArPwQU6C2YiezGmXF/WcTu3Zk6k3lD wy/iO/DH4Gcu9B9sH1ehMf2yfhsymjQ/CNsKCP6bz26LtVPR0W5hgwYXwGiQOCfCJL6ZZh n/lfahlZ4KJntNWW/BXsmva18xmQhz6a4Df+nfjbjGMvXr/htCwKtdPUf1clow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgjyK1WbKz11fv for ; Wed, 25 Mar 2026 10:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 345fa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:36:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 6900d8b5c387 - main - packages: Remove stale libsdp-all.ucl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6900d8b5c3874814be4fed7ef2f6d124ebc9a920 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:36:57 +0000 Message-Id: <69c3bac9.345fa.3a5d1274@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=6900d8b5c3874814be4fed7ef2f6d124ebc9a920 commit 6900d8b5c3874814be4fed7ef2f6d124ebc9a920 Author: Lexi Winter AuthorDate: 2026-03-25 10:36:31 +0000 Commit: Lexi Winter CommitDate: 2026-03-25 10:36:31 +0000 packages: Remove stale libsdp-all.ucl This package no longer exists since it was merged into bluetooth. Fixes: 41ee4321cc52 ("libsdp: Move to bluetooth-lib package") MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55822 Sponsored by: https://www.patreon.com/bsdivy --- release/packages/ucl/libsdp-all.ucl | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/release/packages/ucl/libsdp-all.ucl b/release/packages/ucl/libsdp-all.ucl deleted file mode 100644 index e4f848c3281c..000000000000 --- a/release/packages/ucl/libsdp-all.ucl +++ /dev/null @@ -1,28 +0,0 @@ -/* - * SPDX-License-Identifier: ISC - * - * Copyright (c) 2025 Lexi Winter - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -comment = "Bluetooth Service Discovery Protocol library" - -desc = <; Wed, 25 Mar 2026 10:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgjyP4QPLz3KGG for ; Wed, 25 Mar 2026 10:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774435021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ML7srtJhmhLpSWsWKJFwRNeAfjK2cCq1GhdPIZ8k6EQ=; b=wxEtHfcPuZEuM0t/8bndzHdcLseqPRL/eLiyI8e9fzhnOsMW5zNrtASofFCP8b62pVnKPh SQAips0Vrc9fnJvAS5Q8HfL2lpcQ5H1a6f9DMOFbob+ez0OncBybDUl3SM9XGNfK7oh7Ok 3yVFbgbZkcMAddSk5i9BEvY1e5+/m1ssvcY6j/+xJyA+xVwk5xJGQJ9NEUFcRVUa8sCSgi bO61Sqjz2au6J7gJS6/2SNjc2h3z+RrS/jOZyXW+E13z5NmId8BznGWUW/9oDtU+6Iayn1 3bvOIvXfpxmjrsD8BXld1DihmsVbmuKr/lBsbCmHbq+YTfireDvwDx4p0VxMtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774435021; a=rsa-sha256; cv=none; b=dfNJEvPQhvvpzcZjGlwtRcJP7hm1HoslEEA8I7Q2LxxyyBhjxq1lBLqQp+z/kHf1evwGVO swkX906VuxFy4qGYGYHlHVpLPmWNW8mjC5I/M0B6dICbdjT/96w0XkOnkTLf/J7r87Ia67 EWpqXCqCfKroEkATe8YWQKOGskFBAxILAaCa33bWDLcQCG4KYNg7Q1ka6HLQTAfztmjG9k HGR7lcLAPyWa8yNviF1SNIFrinoQ/fBCh5863CwSPM+V3JUj3w2xn66SWvslFVhSiZ5+uS bD1v+Q/rtVo1LiFPp06trlc4u+UotKjXJTgu7wfyJ2QEA8pzVWeTvScRBMPDtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774435021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ML7srtJhmhLpSWsWKJFwRNeAfjK2cCq1GhdPIZ8k6EQ=; b=Wb/YW9PVLi3nrVpnyW9tTxPh9BNR/g8OZIs2MDWwAwgZvDzXv0CqZe6rsVBZviv4/xf+Sr 07s1dgZKbExlxr9QLQPjjcd3Uh36n1N92E8+BRGgYUuvfksRBq9VvO9+Vf8sPRaD4RvhfY rMDgMAP2gLONJ5+GmpxZ3cwzd1WXqdg0gTO2C4gE3LWHPy11ZDdQAOl+WEuT2ZxOdgIwVi c3bKcS8gjkEjBGGKP+pnAjDL92KMmDAhotj+6qx+2AjkDI4bRxkWA28aKDl/6NsbdAYo+P 9MBkmfPEf07YllxmaipqL6A36/a+gqKKShZe04YKXM9NCD3FbEjX6t/cvMp3+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 4fgjyP2qXlz123D for ; Wed, 25 Mar 2026 10:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33caa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:36:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: ea25f494b315 - main - packages: Remove stale ftpd-all.ucl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea25f494b315180c4b48fcdc4d2b2a111c84912c Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:36:56 +0000 Message-Id: <69c3bac8.33caa.1e9f6d66@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=ea25f494b315180c4b48fcdc4d2b2a111c84912c commit ea25f494b315180c4b48fcdc4d2b2a111c84912c Author: Lexi Winter AuthorDate: 2026-03-25 10:36:03 +0000 Commit: Lexi Winter CommitDate: 2026-03-25 10:36:03 +0000 packages: Remove stale ftpd-all.ucl This file was missed when ftpd(8) was removed. Fixes: 614c8750ce11 ("Remove ftpd(8)") MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55820 Sponsored by: https://www.patreon.com/bsdivy --- release/packages/ucl/ftpd-all.ucl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/release/packages/ucl/ftpd-all.ucl b/release/packages/ucl/ftpd-all.ucl deleted file mode 100644 index cbaa078123d5..000000000000 --- a/release/packages/ucl/ftpd-all.ucl +++ /dev/null @@ -1,4 +0,0 @@ -comment = "FTP Daemon" -desc = <; Wed, 25 Mar 2026 10:53: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkKz51yTz3MMG for ; Wed, 25 Mar 2026 10:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436039; h=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=Q6nT+tpgvmPJcalU6PkLisO2Udt+RlLooPbNlJPG34w=; b=vw9maGb9xyuEha4dA47q1O/EbsLEjnoSyLoJZ3cnfWbQ1vGr8ttx4tJVLfRzO46QxxAuUl Cs0g+gkLaK3O/IdAxVSwBar2EcxrQenasJ7HZccX5s0swWt35CCeVb0DMrczPDbIMBb+IO tkEI3CS7nSy4gXhoFEsyA/FHKhgJVaOrduNpyWz3yldNCpxwlr1khGxjYqlyhkWBtJDRoO tVJNpkEtWeaXaZFYaMg96NOegkL6CmGWcQwV0GyZNLz2APyJ8djmQM1vogldXxAJvF36X4 HuhjOLGgQIWApuKBX39v4PdJroVl3ffpw27vBCWyDl+/n9y80RBm8mg18ZW1Bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436039; a=rsa-sha256; cv=none; b=lLYXYumpHZPzIB1zrD1BsQPEQKaE+h/Zljo4QcoKBnDWOySu1Rl8Leixj/7/jczRUTuUxR zzG2MtpqKUf9dfPdPnOj9zeTaKJZheu/Yscds9KHoEHB0yxaRg+9O6HRlEjE89GAyGF3R9 BisWy1d7yCgu9vIuw9sa2Y5Yz2rDp7+I4lmydAK34IhC9LL0qs78f5tmkn8MNIc2fNyf1S hlmZQWvnqvcb7X7UadwLu5gEfZ5rh2Rf1VuIPmKQPCV5zycsFvAGjgqKoMyuVXFXUbtiXb d/Fa5l/xvnJQOv53idtR3lf+8fnHJQ2rCYUeV+X/sdSLs/kSsZxqzB2YwLA3VQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436039; h=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=Q6nT+tpgvmPJcalU6PkLisO2Udt+RlLooPbNlJPG34w=; b=olWVs9Vcp/BIPW/3VG8iA+q85KrwkjTxVyRMPIIQzffJ236fd28rpcKBCwYqnCR7jL0T3B TmHgHFONCMYlXNcn1xNVWIXAxCVKWtH7GlI3DhZR0HaDAMqduGphSTkIY9Z/rqt9jGaiZF Q4EhTgsdCV1ro7JDhu32GNFsoJERc4gZDHtIiLcpe4bMDYaE1BsT4bhCIXpsMryrJzcuNb cmvGzg5kGOdsuyAGp0KvpzV5ovntN+OI955eLUZCNftGmlTs2CkwiEPdoFHmQ/ldvjjLo5 uEpLoCiBzEInltEF8GG5W9MRfkHWIj+OPxkTfx6F28Kl6ERT2gSvPY3G9Vym0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkKz4XHZz12kJ for ; Wed, 25 Mar 2026 10:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36d8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:53:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Kristof Provost Subject: git: d107424a44b3 - stable/13 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: d107424a44b3fd08078218b22f55feefde3f285f Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:53:59 +0000 Message-Id: <69c3bec7.36d8c.6b1e818d@gitrepo.freebsd.org> The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d107424a44b3fd08078218b22f55feefde3f285f commit d107424a44b3fd08078218b22f55feefde3f285f Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 06:13:54 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. MFC after: 1 week Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index cdb0059a5e0e..1672d212b660 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1045,6 +1045,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Wed Mar 25 10:54:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL01zjRz6W4x4 for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL0134Vz3MJd for ; Wed, 25 Mar 2026 10:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNAq84qr07U8I5nUnEJo/pynv11fvVC59tEQSqZGl8Y=; b=L3hHdp5j75t0ElsRjzggVncZz0SVOUBnoxR3NdpHzw4SLmR4eeHzm3mS1bmMOKQ20EihVH TsAMuVlNhCkKlzdWuTtg+KWCeJFJQljrdaxcK/ho+YuZGYIMrVotOi9x8rQ3BkxlBq1jOa S1jahP5y41m24Z7uHJ0uuqYzV+VlefbBNDKVo8UXgZmf3ZX11dOJeVGApm0VRhkkLJX2ZI jP9u3nVfHb+kMiN+edWAnMscG6gcJ+vbvTOpy4G470wIhfm/55xIcxt8tIYUhiWb+7TVnT tRi4dGy0bfE8B8J3U3pPecsGBbNNR1TxyxY0W4uydofh1Rkuc0gWhcidL9Zrjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436040; a=rsa-sha256; cv=none; b=fqwlshPkAm5mzTD5RYqDB5KMeQTyF8UCorqg5NifYvDRS5bJScb3YdhnAqKzJtDBprVFSq /XHd5cxVqttJF9agF6nRo16UffbIIKWG9cnPgX9hyNMSZMFmP4aJJEptHmpFdYuzqCg9Et 0De3PwOnWbI7LmOFtLZ10pcBL03fBRujPs1Y291Mge1K3oaNSz93/1E7b0uRoPi+gj4yLD oAUP7/E8Chmr2YcQZihdBscS4eB9W8yil6GoATUaOMkqokpVxStkjq3Yd9DzXpmKxHKZA4 b8ghQ4v1K6imFkA1es7WkM+WqBlsABwsYsuqEzqb/cE343dHW9bGubC6THfMyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNAq84qr07U8I5nUnEJo/pynv11fvVC59tEQSqZGl8Y=; b=AM4hNyouapcIUmO/ruFZhLaBxMtJ6PYaPL1ioJkAqbQ573GGgXNLnsOmfh26HSw2BsRn9S Dy+/ryLBQTxK79oYaMRvnkrsgKdyeXzY9zRFcNFuSG4mOkCR5x4Ao2PxMDrimOJ8uyw/FR BcQzILR3nz16/xIHrH9ZgcNFyX3hqmtCxGf8CksYloob01JspRVKeha/J/iUKIJUwMbAlK jFhBUV1Bt8RNvrCgdJVkK9s4nASlFhDUExZwWX+NSsRo0UnhWBDjHpDqgJaeLWE/+wVgYn m7OsWS7GX0D/wz9PwWvDveJeN20U0QT2veFRr4mRnB9NchxZ5QdpA3LTg0aszw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL00fPFz12mN for ; Wed, 25 Mar 2026 10:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35cc8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 4e007734ff8e - stable/15 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 4e007734ff8e56eafb457986074206877b49df6e Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:00 +0000 Message-Id: <69c3bec8.35cc8.6b40d339@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4e007734ff8e56eafb457986074206877b49df6e commit 4e007734ff8e56eafb457986074206877b49df6e Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 07:11:57 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index e955068d014b..f6d973de7cf4 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -451,6 +451,43 @@ any_if_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "enable_disable" @@ -462,4 +499,5 @@ atf_init_test_cases() atf_add_test_case "received_on" atf_add_test_case "optimize_any" atf_add_test_case "any_if" + atf_add_test_case "addr_range" } From nobody Wed Mar 25 10:54:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL13mpXz6W5jM for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL11wGhz3McY for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rwsoGIgrfnsk+OJelOt/ObUiYMtecABBE9IwFATXrXY=; b=AjaRE4iHl90wlRsD3E4VVUDAs1/UIXBudZAjXyE6winrfENplWnzMomhxiGW6um04Xugwd OzH6k9DSsPEd74aDWpHTz6OySulTHy37XuF11L2W4rNLjqdT7zDxgqETEEJxl0cN+0fGMi pETI9o8ld8Gjqbl9/CbfqC4Vifx4k1gJPLFVYT6qDcsL8yzAqv5QqE639iRu6Ku3cqyebu hWcYfvBjnVdyww5fn+N9TqLa7Bom0sAIHk+lj+blYGwDKXaajPF1JQ4UK3WxyBihWY9ryl pwiEJN53gplRWQ9WBCBLM4RpGolWR2/qD9yq1i++3s4GhZULba+LI4SRzowSew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436041; a=rsa-sha256; cv=none; b=WSP/QxbgZYZCzgr+mD1BGiG6YlE3KlrJavJgf1tixTMGHMGUOCBK2AQwa+0XNDu0EqReGL YdPCvILb/vyhk1sUKRNHf6Hwzeec3IADAXTf6Pm2M6XMK01R23bh7ej0HOAveDVgUCeeM8 ZPwamftE0VDZ4QU54QtWpRZaBaay78u2BqGxe2ONky3XFRrH8O6oG8eT1qUMb/AP4+lMFc RwMRnFOWsigelkOqI1sWTD+brkUEl//x6JgpHOuguu+9J/8psUSdICiHS6Wxc3EJ26a803 BIuit/9WVscNwneGNgiYWuo9P7atCfR8nEBi1TgRlVTQ2JUJYZuBAKdi5xu71g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rwsoGIgrfnsk+OJelOt/ObUiYMtecABBE9IwFATXrXY=; b=w5T9p+XvY/590NY5iO059fNgxRBFLBTFbo7JaraOPip4rhP0b20h8jxqxv7ez/fNXAiWsj MCekCWLVysNkZJpQnSehTWXJwp6lOky0HnjB5m4pALT/6ttyXFUMKP2RDO7FeE6nASmg/h OGX2eDXWyFIM4/wYpDtv/Ve9t+Opvg95DDbNZYNgVfS/fJkEpFKcO6YaFmuyV1eebu1A4D yZNNoF5fmyJFYmKzWht8bLuXn/jMXHRvLGueD0cDdBM2lISv0z8dzjC1kLq8DqFV8wpm2L ZPg1J3+vlPt9FxOdUl457R3hYWOnEsL9XlW0UPJ0TQgahtf12FVDy7eGmcOj2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL11RrNz12K8 for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35ccc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: e224b9b867f4 - stable/15 - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: e224b9b867f4e7de959afaa63d56672e13d7c454 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:01 +0000 Message-Id: <69c3bec9.35ccc.60c2adc2@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e224b9b867f4e7de959afaa63d56672e13d7c454 commit e224b9b867f4e7de959afaa63d56672e13d7c454 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 07:11:58 +0000 pfctl: always warn if a duplicate rule was detected MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5) --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index a9839304d0c7..7865467f2ea8 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2189,13 +2189,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rdr); From nobody Wed Mar 25 10:54:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL13lgpz6W5vX for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL1102nz3MJg for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=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=NvqiNNr5PVFrLwyD7MainJ/hR2ejPDS74qRL7m7b8xU=; b=MUizX0Us8fN6yUFqbomOwlEsg4WWlIHZ1TDXtz3JAhIZvsXhxq9RT3AmAkvcDCow2lhSzr lUZvfeFl+qL9XWYYzdoMDe/PlS2dP3cYjZo5kUCoj96N2wlnbPa0E9Wy5aA/psfyN+9jyQ 5RxFtTgP4M9ELieFBm5Xn31tNKRRisYO0gXn0Uky5l5loQHwtFpH45NHIH3tx2kptWtpND 22IR4pMZ9nzUj9fnDBNEQoQMcXgMa5iLyT8eBUvOYSDbhASuSDiiOlL9bGsw902fNonhfK MlXohvbuQVpZDCVPJ7l+MYfFi4VTrBuorvWOOusJ/ED9HtAfkLLO/zcui34tvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436041; a=rsa-sha256; cv=none; b=i3zs0saH3k7xTypMOl6706xNEpzq9wOCENwcXwOpDMFTQnqgRg07CBC17iaQP64e16EDy2 0cZrcZx0rQihbEJ1y2Yvfb60NQViOwFQJ0/4lKfDaKwtXFeTgwIvvkt4ND4maJAYdKa6hG ZuDOU/2JmLn+hNYXGJDE1peJSo63q749QoLCm1kaStdMbZI5VZrpHIGdqDJyl5kt2UYoOI IpBiRZpR+kvrIBXG8x4IAgdvQQxj0bvqVvU5hAUIxibCJPiyEh1Ft6iM9csj4TaYvO3uJl W23KGRI+5MjcJYA4X+mp/JE47DzQKSZA2UyAguJajDIluDv3KglUsdf4pdS2Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=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=NvqiNNr5PVFrLwyD7MainJ/hR2ejPDS74qRL7m7b8xU=; b=Y2mIeYbZ9r2zolY1URXrfeFTOPtpCai+Cq+sKoAQMA/XHZYgqmpaCGV2jVYwcCjTY4uxBY WJelNBg2H1ZIyFHnOnuqf5WAU0rVtj6ZK+hYoBrFO8CDWqyKFBfk3+ZbHLadnxeTMqdYnu Fj9ClYKo9c+wMeWDOR1VsqMQBiWGW/YuIKBWCZK0wkjjmjIzFA9Nggz9Ej5R4qg7BL7xWl WaFhPGgO+YVN2BE1p9CoygYmp0orj8ewea28A53AF6zRnxEm7KJaZxJ3UbO5d3sbivfpMS VHsBM7lnt7tDknai/SNhe3dWN2OQ32zmzo/Fq+3JTD1uHzVvT6XD/taYAwDgOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL06C0Fz12GM for ; Wed, 25 Mar 2026 10:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3632b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Kristof Provost Subject: git: ac6bb58a715e - stable/14 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: ac6bb58a715eaf0afb7a80dc87083f9819e10ac1 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:00 +0000 Message-Id: <69c3bec8.3632b.2de2b126@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ac6bb58a715eaf0afb7a80dc87083f9819e10ac1 commit ac6bb58a715eaf0afb7a80dc87083f9819e10ac1 Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 09:58:27 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. MFC after: 1 week Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 663612305f1f..1fff0667aa1a 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1264,6 +1264,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Wed Mar 25 10:54:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL10qtWz6W4x5 for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL05XlWz3MJf for ; Wed, 25 Mar 2026 10:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Snas7YmGPdQI1ar4pMHLmr+yBiN1aSEAy9tjH1JHsC8=; b=qDo1UmdcpVaV5lGu9fq9Q2Hz8vw+z1jrgvo32XNB31bWljcwkBLdWu4/bLct5U6dNrEWtH AuBPhtEs+Fpn6P2qTQwrOgT0aW9QVqJeZhiKvpZYHCJcgEAlWBV2GItx0iDW2fcIKKmmjR wZ0QcXkUqrEIxTwJJBRB40PDtNtScF7UNDcIFTu74UnuZZcj1mq4TX6RIWcSUoE8hYvoDu 8vlEhkaBraVWpQh5ZzkjaKXsykEf6H8Pp27gJWZDgfAW8uCaVUnUO9ID583tTfTXt2TfTf wVIOzE5hq5w5ZoBctrW18cPJZuxAgYiDTmTPAhhNnHXFMrKggVls/yCw8r0Rpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436040; a=rsa-sha256; cv=none; b=N52vyaLbPOWgjFBeELWDTmle4iFQ/mNzaKfSue54Hh9yz8t1EBzQD5zYFQFnCdNURQzsDo Il8YYd7DCf8Lw4X0ppBCFtsU5RRk726pciM4S51ZYSz9v+1+vMW2U2UyVjgp8v9ldJi4x9 oK70apNFjgH6Sf6vCYm2bZRn2L7GMcABWEkvkMCIf9cm45yH2twmmdhODmEvUwZg9BXKs6 I5YlIwFRBqGKFz4isZ4JRcIYZqpGQ4mSxCZ8BNgsedQPBZNYfdAG2AmEik6+CIkfnxMD/l N7PfN8vL5NyryIWdqopTHc9MpnYipH/4v/hJxSLFUlo4rr1ot4DghDAKkWfO7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Snas7YmGPdQI1ar4pMHLmr+yBiN1aSEAy9tjH1JHsC8=; b=qpDy3wknzxRNjdkkhEXHvhK2O/5atQlkSDS07tl+HAA7ngn7mnqpM2OFCxln240fMk/UsA nAn45K2SOpziNhDdng0VTMCj4ye1fLEfa+uXa6iZSN9aEcw0dNZSKYA8+AAptmYApLIyJM iDn0THCKtobsWrfe9obvbBq1ZLfuxWkQGwaEBNSyRshK9AVlhWZMbG01ivVd4wwVEDThQb YsSERJodbwORQF8PG7x6Y+0OP6zmhAacfLjMfo2n0i1/xZhzSPwh3Qdc5ZirVCWXRNeMQG dfPQSnyLPnd9pG91799cN6GeYkykMd79b6UFlVC76NvP8HSNPdU+z5LvUNCJPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL057Ttz124G for ; Wed, 25 Mar 2026 10:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36239 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 6666b2a0e7c2 - stable/13 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6666b2a0e7c26e9e0d913955765c7eb252c1b10a Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:00 +0000 Message-Id: <69c3bec8.36239.1573e710@gitrepo.freebsd.org> The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6666b2a0e7c26e9e0d913955765c7eb252c1b10a commit 6666b2a0e7c26e9e0d913955765c7eb252c1b10a Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Kristof Provost CommitDate: 2026-03-24 06:15:01 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index 792b73b4a0a5..b91ba7f9ee68 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -255,6 +255,43 @@ urpf_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "v4" @@ -262,4 +299,5 @@ atf_init_test_cases() atf_add_test_case "noalias" atf_add_test_case "nested_inline" atf_add_test_case "urpf" + atf_add_test_case "addr_range" } From nobody Wed Mar 25 10:54:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL24YCLz6W5cg for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL23MBJz3Mcc for ; Wed, 25 Mar 2026 10:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2dU2Mg1S5ldvFCUMIKV7RZ4zUgV+EgaXp3EHvI96nes=; b=B30vkBAY7CJbMMKOAck/hGZnswNE8w+IuDw/1bx5Np7JLC6wxF9chhTpEzUQJ12RYia1Jo qXxtX4PCqKAHCIYV0K6vzTn/hS9P7VFbIJh82maLG3fMMp1XA/HYHMEvhZh+zYIXkdyEOy 6KIdItToVcaz4+adgO2LgjQiX1p7RqnCKQd5AVca3xNA/FJqEtOL93hPJupA29PUoHP2tu ls53YPNni9t0bOnE3PvPcbwIux7vFeI7uZHBEVXONoxjch9cYvEDkSDNqk/1UDqQoKkurn 6dswiGXARUxUpdqTP1l1rNHktZvifbJMJL0nqZ+jr7EnbANoQrcwH2rayyhhYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436042; a=rsa-sha256; cv=none; b=m4jiSCn+NkHOiCdRJ/2b1p9xYA6XWVFibfcJkbidLtNKute5Kv+MQMldS9bbf7HJORzUTn 71JXSQd2wyL7q+HuB6S91eM7Wifa/DbwtX9aznIhZbTADaSfBWkwbEkMbEOhNYLwazQPlS 4SKs6oDuY2iv4jHbVacO3cT7SWunJ2hJjg8UOl5lAMsj5Sk+56nvsr5ZA6v0CMQ0ksxhE4 ddDCE1faTEIRmHT8JLo+QzRTy64kwFyVK7vQOr6Fh33nu3hZgN8Yg88QA2XcmzB2hc4+GN ixYP0I5KEfftM/IGDtJunI0I9sUKk6H1jBCiHn603+S/kPJUZxMXM9B8er7qAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2dU2Mg1S5ldvFCUMIKV7RZ4zUgV+EgaXp3EHvI96nes=; b=e78xA564sZpjztlPIHdlCXTn9ScfOEDEw2MrT/HaX1rTCCyBn4XyfbxvRWBass4hpTAj+U lF30OxZhy/sPv6sigryqnv9ZIZZddKjLov6vxf4XX5J6AgNKT8pHrHkq77/qyts9yPGjO7 CVL8t+l9APotY34Jk+scGY8vq0sitvu+rIWKSk65oyQYWFIg9LcJPH4D00ht+IMCMWM4H1 FLkuiiMkqBbFtEgKVNIBbUOcpMA1o6bz11LmXEbdbhtD9hRB/70VFd/utSFaV+AyeOverT XUixI8b8F7okv5EDcA2u9alsbyIrx7uCSBs8t/isc1oAZkt6Xay22SCNqD14RQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL22Dtsz12KB for ; Wed, 25 Mar 2026 10:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35cd0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 4311217a039c - stable/15 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 4311217a039cd6a09882fa7362021a1fb96c4939 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:02 +0000 Message-Id: <69c3beca.35cd0.3d6da37c@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4311217a039cd6a09882fa7362021a1fb96c4939 commit 4311217a039cd6a09882fa7362021a1fb96c4939 Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 07:11:58 +0000 pf: include all elements when hashing rules MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) --- sys/netpfil/pf/pf_ioctl.c | 102 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 93 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 915a09a05297..e4f52931e713 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1355,6 +1355,13 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NONE: + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1363,6 +1370,30 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + PF_MD5_UPD(pool, cur->af); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); + PF_MD5_UPD(pool, ipv6_nexthop_af); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1373,39 +1404,92 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); PF_MD5_UPD_STR(rule, rcv_ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->nat); + pf_hash_pool(ctx, &rule->rdr); + pf_hash_pool(ctx, &rule->route); + PF_MD5_UPD_HTONL(rule, pktrate.limit, y); + PF_MD5_UPD_HTONL(rule, pktrate.seconds, y); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, max_pkt_size, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); - PF_MD5_UPD(rule, rcvifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + PF_MD5_UPD(rule, naf); + PF_MD5_UPD(rule, rcvifnot); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Wed Mar 25 10:54:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL220Wfz6W5cT for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL20Wbsz3MJn for ; Wed, 25 Mar 2026 10:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tjm4ScYbZu/4fwfFAXGlhuHv2lck8I8u9cFLXkJEKMM=; b=vnzYCDf3OKEET6F4BtE4Me1w6ZvzpEpR3J/07Dqf4FmpagSacC843enSKWJGtjohEjzygx l/iJvStFFpvOx51sCyCV7yKxLgiwNBHf8JtdHzMpoe3Q2FG1G/pESTghNRw+yQYAmqFZxW p7+qzOzAuHEGTIIf/8rnNnKTjqSLLKHTSwXwUMOK/2dJr/j2bhyFAczJ/f0s+LdZo44Ahp efUe9WLTJ/+rhcjVE5rKXhEOHd6pYHIyQ5QXjW+9PEsuWcPKKY4it6wLY1e1XXhoEtgOaX NCEnZnEClq+hg5HQahOlxFkRiXmddubyAXHSMfAlqVfwP6Lnn47pPEcWEsvBBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436042; a=rsa-sha256; cv=none; b=E3qiRsFRiZRNeva/QBqzmfREPE06lMOEJgc4Qpvx8t5CB4ncRvnlvtVkk2eH9eOo6GeHbd gvao1BFUf+/cBr5UhMkvUo+jZQCJSn/6iIrNWU++8oLEjkp/xrL4KL12b4S3jrnHrVWNKD 5LDfJBikjACXrVHb9WqvoD5EWrKQuteHuuohwLpHU8s3NX8pHmgCud7KXVq3YoEzH23EJV 2FedV6QAjUM818s83+npdrU2AFPO6Td9NsNsNOJ32HCf9pdoEydjLj6bLN68ILb8UGvaCP 1oeWRhCFlZeGxeiVfeDi3aT5O/5DM6YLms9eJ0lYoxA2d7GadnLwvfDxL7YUfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tjm4ScYbZu/4fwfFAXGlhuHv2lck8I8u9cFLXkJEKMM=; b=bGqH0YKO6KfsVEbpDJzqxIFwFdtJfE3DplCOw0BtXyP78VDm1Dg4XoJUbnrTT9FxRoLy47 /dT1RaXU6CHbN88LEnDfDGo29UWHj8fIwJ/0iL1Eg/2WMfQ+8lTfR4ecrut1sUtI32ARPP NTBUitT8YR58+fsMiXnnpHgJGMP6niPLOKdCMjHFXiCa5vK6aQQZfCGY2AK4mg/ywuyZZb 8ArFNORPa9U28jd2R43pdq48qvwzcGP0zsX/VktkCz8+wzctps+YBkzCvZUOKihrWMnMxd Z61hITKfb3kNlJ86+2iYtaSfnH4AxA3XbPnyf1DBiyCZRt8g7ciHmElP40VWbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL1741Dz12kP for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 370b0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 958dbc87e9c5 - stable/14 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 958dbc87e9c59a2e9f83d84115ce03fb96e9b249 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:01 +0000 Message-Id: <69c3bec9.370b0.52fea7da@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=958dbc87e9c59a2e9f83d84115ce03fb96e9b249 commit 958dbc87e9c59a2e9f83d84115ce03fb96e9b249 Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 09:58:27 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index 792b73b4a0a5..b91ba7f9ee68 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -255,6 +255,43 @@ urpf_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "v4" @@ -262,4 +299,5 @@ atf_init_test_cases() atf_add_test_case "noalias" atf_add_test_case "nested_inline" atf_add_test_case "urpf" + atf_add_test_case "addr_range" } From nobody Wed Mar 25 10:54:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL220LDz6W4x9 for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL16QTbz3MXN for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3Cbbc+9jBh6AL8bLBbu/fQDsya67v1ZywejCGkvS+0=; b=I0yPm0efN73cOe7dUFzL6orjzp2csm/NzkT0SCqCfs09EdaETkGXsZ9KpE5Se06yZeCsSI osDccJgJwTVs7xXb5f2Pcj+qR5XxemCy3HsV+u1AA6ncU8OgzxAlozMB820lt6o0jA0xiF KIslqywxnXkunYdFgAl+GKt16NkBgM7L5nF7D5Yi1XxUIJPvEQpwjsVdW2Mi3ry8gY0dMT jKwMbMNPeEt2zlPxKmp5Y70G9T1zEjWFwUMtKrUc6Cvd+UQuLFAze7GgaaNB9QTjod/XRX As76iMIWOGPIcU6pcN9OrwHHQ7U14eoo4YJCdVGQu7D5gQjeU10Muzyx5EMZWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436041; a=rsa-sha256; cv=none; b=hU5WZZEvwAe7aKhPv4mM6SarG7gTqUqSwP4OvEEmvkL/nNO5X3SgLhgSx0gOKAfcP8Q1TR Uf9Br9UxNyeH6LLFN8ndAsJnzYfIuhxyPBl6/NgnM2N0WdNG0Erg4oiayVtFNEkzJTx3Qf U+Gqhl70kh859WOu/8BqhAkQoCFZ2H4kA0tYo4B4TnFBVpVqP07lt4VRY8K8JHQcM2qiXs TCFkGT5AZHj+aNPnsTejXHl9zoNjxE4c1QjmxzgGFxOt34dOqXoZqXVxbRg2UXHpKHxQ5a vy+x52MggJquyVgPFaMvCWbtRigXzIkLT6wDJS01JBhznx8ZEnUq5DAdHFuwkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3Cbbc+9jBh6AL8bLBbu/fQDsya67v1ZywejCGkvS+0=; b=VXqe0dNUFBZ6zzuk7opFt2Ktk0+CbqrzXPPY50AF7bi+n6X0eVaq8lPaJp2Tp5tMsm4izJ SOWEwtIhceWXSeZglW1ZgIVw4liRVOD2zQO7ZgMTLE5owTQMsXsxoOH/S/VT5yY8wj71NF oNISCxsbk9S67WcjNtzOuQQPZazBH0s2PUFQrkb0qcN9eexX/rpJZ4gvMJXwzYK/8mXiUz FHxU4ZTF4n09Lu68Zmw/1ug4mMPddBguzpTyzKq5lhUErAaj+Lo/Sa3V/+qwpRpvvCcKcB qlCv8z17vbIa29dEoAGGfFpXIF4yLAafR4TRCyGSlnUoilncyBKlLJ1jIdBPDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL15xhJz12VZ for ; Wed, 25 Mar 2026 10:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36b6c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 536751cb4e15 - stable/13 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 536751cb4e159b7957e2b63ba44924b2f7f8e5cc Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:01 +0000 Message-Id: <69c3bec9.36b6c.6ec1b10d@gitrepo.freebsd.org> The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=536751cb4e159b7957e2b63ba44924b2f7f8e5cc commit 536751cb4e159b7957e2b63ba44924b2f7f8e5cc Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 07:12:49 +0000 pf: include all elements when hashing rules MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) --- sys/netpfil/pf/pf_ioctl.c | 90 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 6 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 1672d212b660..91136527b126 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1050,6 +1050,12 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1058,6 +1064,28 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); +} + static void pf_hash_rule(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1068,34 +1096,84 @@ pf_hash_rule(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->rpool); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); + + PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + + if (rule->anchor != NULL) + PF_MD5_UPD_STR(rule, anchor->path); } static bool From nobody Wed Mar 25 10:54:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL33R1kz6W5Wg for ; Wed, 25 Mar 2026 10:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL30nvDz3MMX for ; Wed, 25 Mar 2026 10:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jP4xn8Y+3ZnNtCAfIE9askedYJRHhoPGMUExHWvjgmM=; b=nQVYx+NdPhiQC8E7pWZnJy5rZQtjUvg/CNtnap1v/H4Z5V1Czqh/L4vUr19oVBMGfXk8a+ ppiU3Nds53pjTDtp6s+9dbbFzNEuLj/Twhn5/Pz8D+WPnoGeiZTcDoRPdP6gOyfExq5qrz /sOVggvirR0S09Y9zi6NxcaLZCP3CKr61bC5xY/6dNxfYWObI+bSeK9ry253tVR1UgbjUF Zuo40pGdvhEMPHBrM1sOnHQ8DVR6iol5/tqhaCc8VEmPHtORPf3Hw4COp7H9+suX1aPVBr QufBgz1RvUV6+/Xn1Z1fFyg6BhQs83luGeNpJGklEQWU5jUMw2ccyerH3NI1Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436043; a=rsa-sha256; cv=none; b=V0krq0XdpY8eJAzyynyPARUHd+lGFYjdJ176GlNMccTl00d5v0QD9Ma2GsWd11u0fMeDoe juPqK5rurHLF7hamxZoWmQWuvhujRNW3Nc1mpIaOc6Ey0s33j5NI22+UNlyYMWmklCiXoi 0s0KB7XXuZCBo8UumEqG3PtCMSxCx+BJd8tWP20A0l/VKRZzd2bFAcj4rXMsI7Mw8Mm6R0 BQEnXXcU7MUbGosH7DoKuNIgsOjITF85DeB194nklZUWxBA3zGVJkbXjUaecNI5lX2zSq8 4IKnifFeA+xPhFapMpJKiUQpbXDGipY6EqJohePt6B/Pt6GgHGnfGTcsW91b9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jP4xn8Y+3ZnNtCAfIE9askedYJRHhoPGMUExHWvjgmM=; b=vJG2qW3f4OepcTgYaQqwFurOGYEPyamdPPL+Y5NHRTRyskTo0J0BoFTml5x58OC0r4Dtd5 FQctHOJOQerjCwKG+E+bM9GfiShdDe//38Pu+3s5mGV80j23SCigs1ToAKM+s23V8hz40C fB+DBn0In+U7zkyqEo5HDU5LnI9qo8e7CeBscmGcK/MR651rhxKaqLDSqfi7JedgWJYl5t s1+6Gmk2l04hEOIo7Xrexx0GABG01NvZg2ah6DchGiYi/Hp+skU0YcqY4XTrUvNgg67s7L E9E0pgyFBbpT+FSdMb2DRxQCxQXb1QnWlgjEGnSBmCHLOLGQEe62DVYMrWRfpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL30GQ3z12hW for ; Wed, 25 Mar 2026 10:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36e87 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: e79818ec36ef - stable/14 - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: e79818ec36efafc994d8c5a912dcb94986c038c5 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:03 +0000 Message-Id: <69c3becb.36e87.5e3ce40b@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e79818ec36efafc994d8c5a912dcb94986c038c5 commit e79818ec36efafc994d8c5a912dcb94986c038c5 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 09:58:28 +0000 pfctl: always warn if a duplicate rule was detected MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5) --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index d6bb0ae7f46f..518b32085565 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2043,13 +2043,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rpool); From nobody Wed Mar 25 10:53:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL42JKjz6W5vt for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL40mNZz3MGf for ; Wed, 25 Mar 2026 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436044; h=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=AoEbqQsv9Tezcr1aVkNIJh3PiY6aL8evJxSk9XvT6/U=; b=ZVVd45sTq06CWg2zHT/aWK6sbDRVYeRAcPf8ud9uBy2SzzMCu4xKHUono1f/BlUreWRdV8 SMugcRswi1/5sr0+/Z2p094a7YcJMJRdfoSAOltyS8RKDYLcAObaR7s0pVsIZPMLEBl6I3 I3RE6lDKFgwrvfT+zCTfSh9ElmcLJuYxNdiiXodgT9jnOWyOKj4xCLbNIMXHKrlwZ+PJym y3oRfVSVqQ+pdQiAmkcUTvMTEIdowmLpLRjXwb2v6X5CrCl/bLfwSyBeTCpLYKK/80cBfZ VCelsSZ8X1QoCkg5DeY6jlDne+qxRyDw/NSmFF58u+pkYpsz/wPms8VXEdy9Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436044; a=rsa-sha256; cv=none; b=bnoHb0gHJ/qSos3J+TVIXNw4zEJD9sue0dPP7f1hi7j9cABCBOYZ7nUmZeL/WosDp6AmDl VoCtydnqM45HQoJcv6qzDqjat9BCkP2q+TUkV0ui0k3ZaNxIEaBAHEl+4k6Z8kJ68LY5Nz 0thv74y9trmWikKtT6cNm/+dFAdTVdaZzU3n0WDvOp9k+m/MJQ0bKLHqOLCRj6gChdGVxC QSF3fvD5/2UYhxoUnKLtBNsWUIz3F8BponjRx7PCHnLjQSy7xsaqazb/YmjXT+Aq/JO0Sx p3iWYFZbAMVkdwj4k1PKXzno5rE03+zXv4J9xxrFKOZKbANRy91axTCYgO0wYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436044; h=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=AoEbqQsv9Tezcr1aVkNIJh3PiY6aL8evJxSk9XvT6/U=; b=kytdRQSMPneNw843lqWWmZpXcaO9y5ljpcDR+thYZ6NBTJli3S5RMBlkI3rj5qKe8JQ4X7 s3qAbvcTbHTqkNCScMWIyR2zo+jC33Wo5szXiiEzrR+YrmBRWsbybvc5+kQLcxswMRJOfS 5kJUn2DZA9derGUBpaVsjrJBJuSDzDz3a7fk4Z6Hj3iru+ulr1/DhgzhIQ/HCU1zpWOKRt Xz1m5G+Njl84+BfTb19yPz+ZJbLI3rVkSEgBwdt5RzdtFZPuysq4D0oR1p+7T/2uyhwOKU n0WkapcX0EnBfw4QH7QalHjljSqX/UbJrehhdFZMFW1VtQj+aJOGSpXhpoczdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL40KQ1z12hX for ; Wed, 25 Mar 2026 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 370ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:53:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Kristof Provost Subject: git: 38f8ac568273 - stable/15 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 38f8ac568273fde3f41582c6bc01ea4b2c9dc029 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:53:58 +0000 Message-Id: <69c3bec6.370ab.26d98a24@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=38f8ac568273fde3f41582c6bc01ea4b2c9dc029 commit 38f8ac568273fde3f41582c6bc01ea4b2c9dc029 Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 07:11:57 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. MFC after: 1 week Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index d0fd6476727e..915a09a05297 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1350,6 +1350,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Wed Mar 25 10:54:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL45MRdz6W5ct for ; Wed, 25 Mar 2026 10:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgkL42qHbz3MXs for ; Wed, 25 Mar 2026 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y66N0Ji4uo3yGwmpSKJYcSJcqhdYpT84imhMRzRUalY=; b=mWQjtogwqaF2fpmTaYAUBk/sydQyXP76/msKpjvxrnEMvmA2VKeuiMoo8QlPNS9BVWTSvN VWn6Yv8ox96B+dWXBzuNrxnyVXEfL7xLjgV6uclsUgKZz5ub/SL37GCji3yVDCGNX4O5fa /UJtOm3wqUWRm0E36n6WzFCQKy+C/kBHm55n0+jypCNPCtHJem88ckhyb/8Ci6wGIHx65k 9cgCuuUP8dwNDgs4DcuSeZb2boNQfnjODal85ecyLvgeiqVEACTGRNoIu1bRAiaJaKtjn7 cfDf/A6w4omWTaJTmL5knk1+ZrYSQe/cN68enE2lB1hfKKLbuFocXUwSHOmRpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774436044; a=rsa-sha256; cv=none; b=SllLvIW10zNMruhZlsPL8ZIkRRZNuKMFpwhNXVuO/0BliJBL42oJKQgkiVnV0cdrUhigD1 9jnaHKbsGSc8ls+exiNqR5MZOZUezVmfjfrienX0bCOcHW+bLB12pwn0GpRDbH3/wI1zTs DrM3PuUDUZLYg5C9pEnObXGbLimhOvbu4hu/ePNVf8FlIlLBFH737pwS2EnWExLOZAq2pi w97g1pcnxCouxXRvDqOuA2TKJquRTfe5eXF7D2hI1Oz4obakRp7dwYtTyv89fiwFQs6hEj fJ0PYc67qfpwzfthMgy9Mx0LqeE1dBcvfbz7Z227dGrkSJyzwWxrYeYvoofx0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774436044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y66N0Ji4uo3yGwmpSKJYcSJcqhdYpT84imhMRzRUalY=; b=lbFzocunY0L1ttGvWY9IXH28ceP1ME2YG2y52/tjC5u0kdY/Vf+KfoEl7dGazXHaovA/4C wYg3vW4muhkqSNxlnfs0cofylzabkToF+iMYQ+lLXZC70laFGRr5kqpPF3F9S5ZjYj5C6n RQMW7mRfTkbabC085BYcK3QNNc4nyFv82kjNv7RKEgTO1IQAGHsrBh1b/hALk7+o8KjWDw h0jZ4k4d68Nk954IC3S7lPjYakgs5lpKPcDFlu4t+G+c3cjU85ykBswovw6dcT0xf4Ft99 RQ7bGkV3V34k8X01h8zfRoVHnLCMPR59+WLO92BJa7mPTVlIHAAei0gHbtp9Vw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgkL40hdlz12hY for ; Wed, 25 Mar 2026 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 374ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 10:54:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: e3b801edded9 - stable/14 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: e3b801edded92c1ccef67f9aef8653e996493460 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 10:54:04 +0000 Message-Id: <69c3becc.374ea.37a87a75@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e3b801edded92c1ccef67f9aef8653e996493460 commit e3b801edded92c1ccef67f9aef8653e996493460 Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Kristof Provost CommitDate: 2026-03-25 09:58:28 +0000 pf: include all elements when hashing rules MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) --- sys/netpfil/pf/pf_ioctl.c | 91 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 83 insertions(+), 8 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 1fff0667aa1a..5617207d28f9 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1269,6 +1269,12 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1277,6 +1283,28 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1287,37 +1315,84 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->rpool); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Wed Mar 25 13:32:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsD3B2Yz6WHRR for ; Wed, 25 Mar 2026 13:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgnsD2VdSz3hkV for ; Wed, 25 Mar 2026 13:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C97U/oBlvZQvmWQb83R5T7JI6klCuRgVzwuNDVJTL1E=; b=LAk7fIuTcGftK9ywDugYgYMnXL7OdbvMc3Mo6UV8OdI6SjBwyAa9138uzx4YdOohVNwHqd BSD/1fMvJMRpI2osA/nY6T7K5JWDT6RzRjkB8ukoDHTOfWZx4ak9GXyzeaRPakKqszeJcB v+bdRjV/ap0BfPwRl5erV8dzn3z3aH8S6XcvpnYLQfvPsu41aWvhvsBB+xDx5N4NwPJyny H6++H6Mft2M9RoSwdTqe7Des9+G9CAAAwOm3/thDzpZRVgijSQX0tktLQgAIaJZhilxUyF pFewW5d8rHwLJDlp6jg8XjhF90Cr/TIWFKJ8k9ECC+75qrZFDGvDnBQ2dIGKvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774445568; a=rsa-sha256; cv=none; b=dlWbozOqNWjHbBfvG5pv/4SwRCCNdZbAoF1YrPysKQdCLRdXQ2curMaE38tPZIlpJ2pyyL fmqXpHzm7vZ9rGuO+esJnruMgw3UOYkCn9orSOIPmgqAhYAnNYmHurwrZNj3ZKqAA9Jahk YtfBS1dcdWTNz4dnhXxymtJ2NHiCStIHNKTpeFylfGRkbQHSLDM0JO16D5FRrQdBAUuLbl TFwon4fOrS0+Mqu/liJyuL88huWD5wvC6VsXE68vqOnzPif7d/fXol4TIgcAUxvK34iRJb fRRp1kEYe3L4TwKPB2nLEsnRBCFUpILs4reBUE1/ZHUb1uJOf14Y3BX9c14wMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C97U/oBlvZQvmWQb83R5T7JI6klCuRgVzwuNDVJTL1E=; b=w6qNUCfuNjvkhIFArwY1LgSpFy5/SQA0d3D0TN+hEynacNGujtAHXcfY2fjyEI76MavL4D oXXqlxQ/sxz9eM3DhR9MUuAec3APxMIMxtIDfWKz90pDljChKSAhMg9oNNEa4ObvOV0zzO JuVPaBOQVW7ACQkAInAou6omacIuCy7CPDUYEGoNUp6+BTEO8eOBra1sZLOwu+1RR0Z5ZZ /0StJ12yFGKJ9QBDw0NmBxQVAhkD6dpcXOzC1W4AJFRA06aggw4inrTILAE1IPQfVl7kwQ 3/ob1P7J3UTJA1pfwkM2Hgq8WapOURniSQtBPbshGMEFcI4/MgzwG8WxUDZn0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsD1Wxpz16vC for ; Wed, 25 Mar 2026 13:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 450ed by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 13:32:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: ad29bd7da9e3 - Create tag vendor/libfido2/1.16.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.16.0 X-Git-Reftype: annotated tag X-Git-Commit: ad29bd7da9e33b22fced48303cd9db4e9777aa5e Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 13:32:48 +0000 Message-Id: <69c3e400.450ed.76fd8239@gitrepo.freebsd.org> The annotated tag vendor/libfido2/1.16.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.16.0 tag vendor/libfido2/1.16.0 Tagger: Ed Maste TaggerDate: 2026-03-25 13:32:37 +0000 Tag libfido2 1.16.0 commit fadebab18d4bb97e3ca8c840937c41cdfef8d798 Author: Ed Maste AuthorDate: 2026-03-23 17:24:10 +0000 Commit: Ed Maste CommitDate: 2026-03-23 17:24:10 +0000 Vendor import of libfido2 1.16.0 Sponsored by: The FreeBSD Foundation From nobody Wed Mar 25 13:32:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsK4CSLz6WH70 for ; Wed, 25 Mar 2026 13:32: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgnsK3d8Mz3jHG for ; Wed, 25 Mar 2026 13:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1BqDnDSonJMvIs9r/Pv/ebAbRZNEldd4nFI1XwHaZ34=; b=d3m6SF83kiRzOVyPcKqIhbzXuO72BQ8adpk+VCUc/24LHYG5oLRn0CFoW1kDWDDLBvefZ5 wXGHgDs9lfOKQBHSZ6QWH/t1t8nBteyoBlSzqIViwePAGNxPpN0jvjhcs1ZQOl9cuPTLsL RIG73012zDI88j6vrNoIjSSZembp+h6RhUlejpNr1lP4/2y/VgocWpvR6llHIlkcFf+adX 792/6H42hXAr/PT2aSebjTswhb/+Gi4cJpTUWPIXGUPbQHBZnLdmTaqf1FJgesWwPtV3zU Lpl76GKezboTFeJxHQH1MXYLW1QkSv+LmTvJ7BuKl0MkJ8YvMpO63lVEdoma4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774445573; a=rsa-sha256; cv=none; b=llYURfYGYo7VNLfkelkyZ3FfBqMpcx9MZE0viyna6gDmS/wzm595NXxxXy6q5C+EWxKnXm /i2fWAVgyLqmkSXw1JTQzGrNZ0iGn/BVub7oiG9fIc235ENoom6E9pu25Q1Kdc8rlh95OB s9w4GLDX9etAdcKBBnNJqIBx58m538FkMAQErP0KbLcbE+AzwlKNbom2H0k6cONmE48Q/U 3m/Rl0Xvg4eW5For/qsiTQj/5NrM6DQEo/itwn7zrl8EXBJeSAiuomKPSYIScqU6wfwZ2o oDX4AgWjnGCOXXDjRAqkEMZyRnNOPS+aPJI/g8IWIfN31zrl9gQigsD6zx/Y6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1BqDnDSonJMvIs9r/Pv/ebAbRZNEldd4nFI1XwHaZ34=; b=SjfRunN7fQ5toIwFN+eNNm2tzyAPTqozlQWco4VKAFz+nr3GUUDlXEr5oYAdtVg7g9DUhY n0tAIxNL7a0g5M61MlOWfiUMzTdQGT1ol+lbRi4d/wxVM61TKT+Od7j/OFIN8BguP4AdeN jD3xBC424oNE169OY7pX3a2tMONYb+YtBJaHbsaLAD0r9bZEzYyhyjzjkqmFtHhEncRvyO Pgw1p6DVr1rzgNnMWHrILqrwrKSBBDmJw/4QItlwtSk4bnZEUWEefRVogGYnMN0YEvA95P q43/gKCf3+CCOBYXp+fR1vIxKyJLhrAruGOpVG9OC4Z1XuISGk2NmCxQS9I6iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsK2tH0z16vF for ; Wed, 25 Mar 2026 13:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 474b9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 13:32:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: 3517b9c8615c - Create tag vendor/libfido2/1.15.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libfido2/1.15.0 X-Git-Reftype: annotated tag X-Git-Commit: 3517b9c8615c9e69fe6d0908414584e81652d46a Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 13:32:53 +0000 Message-Id: <69c3e405.474b9.5a37d6c5@gitrepo.freebsd.org> The annotated tag vendor/libfido2/1.15.0 has been created by emaste: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libfido2/1.15.0 tag vendor/libfido2/1.15.0 Tagger: Ed Maste TaggerDate: 2026-03-25 13:32:29 +0000 Tag libfido2 1.15.0 commit c06c65e0308fdfc14e455f5067a2f5dcfd9c1b77 Author: Ed Maste AuthorDate: 2026-03-23 17:23:05 +0000 Commit: Ed Maste CommitDate: 2026-03-23 17:23:05 +0000 Vendor import of libfido2 1.15.0 Sponsored by: The FreeBSD Foundation From nobody Wed Mar 25 13:32:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsQ4kkTz6WHPJ for ; Wed, 25 Mar 2026 13:32: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgnsQ3twBz3jfg for ; Wed, 25 Mar 2026 13:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUcDcvRcMFHvpkpevPlB9mU3R1VmQSMqT1bMZvo7UTE=; b=f0/8tAjQAcFC/BX6qMWHCNnkgbW+m66O8AFWFs3Zvrb0ts/wSz0kAXgntLo5x9nCyaQwoL 7hyHAtIUdLUMM68xD/AhJLBgPUc/aNc1yisuc3au7ajLUpkLnyjX+1HkSkc208q7BhTzee IPCSrGwA2sYTMf80bpznyWb1eVwxnwN1h3bNxPN3yRm5XgbSgPXEIb2Y2DrwiiKbEmL3hn JkEEzDch+9BTCD8659glkrsOPQHkTsc3sXF0k5Um4hKUBIO18MjdDLUkmcESORVJFwCQ72 +FyF/NSFKQx9f0B5jmpIAS9N7cD6pUJxF9cpURX93ckAj9zbSvZjNNn655WAAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774445578; a=rsa-sha256; cv=none; b=Rz2qLEcScH4DdpuHqMD4PUUpT3BNaLKNB8lp/CYT7uB4/B4ahb7+GlY0sAMuOkZDJo8F9n UlEtRsdZOccyAT10dmGekSGcMUVLl4mEpUmFJOI6EzS1EoLNUMcBToOA1zFdArGT/cGMYu byRmEB+Or2PfP32WbDgdeurGmKngr0P82X0XehcpcELoCvSzlRMyGg0jXEd9D+6f9TXCvg xeWBBJKmTCsrPkzkQizqYVw8MCOVM+HkCcFFFFkKJFXs5LnioMW38KpuDdpiBAXvPEWiLJ 8GSb7fKaV1FqsebY6SO1dyATAEqbWlnXenCOhZ7T6TK2nvCy0Mdw01R9GsZMPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774445578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUcDcvRcMFHvpkpevPlB9mU3R1VmQSMqT1bMZvo7UTE=; b=q+/zGMBNr7a+/OD8Qf+LhbfUhQdMpatDxAQmCBmMrHnpq+uL8CMe+ik8TejjLI7YH4v68f WenTp+Ze2ETogVfoLhylFNcShH1BXbDS+o2eSlgvEHaJ5dEjW/ToCPKCua5hpB+dIczyht ei8vcB7A1FxMPnPs0cpHRkSjLQHpTugrxj2Hg8G2Pb/5SJhVysKGegr/NR/NAJXg4DwrBf ymrxj/5x2uzZnkp/0gsJT8+SXafcG8MJKQh2rUiVEDUDDnxdFkBywNoCR03JXQimyEWCHF InOVnanA2M57xBaxZmOr9tPy2naH37tX8iAJJKPn4BA77VNvSCfJDRc90Oma6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgnsQ30T7z16xX for ; Wed, 25 Mar 2026 13:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45833 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 13:32:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Ed Maste Subject: git: e85dbcdab023..fadebab18d4b - vendor/libfido2 - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/vendor/libfido2 X-Git-Reftype: branch X-Git-Commit: fadebab18d4bb97e3ca8c840937c41cdfef8d798 X-Git-Oldrev: e85dbcdab023dbfc335f9a0a5cb9c3dc3f830b94 X-Git-Newrev: fadebab18d4bb97e3ca8c840937c41cdfef8d798 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 13:32:58 +0000 Message-Id: <69c3e40a.45833.46d76f08@gitrepo.freebsd.org> The branch vendor/libfido2 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/log/?id=e85dbcdab023..fadebab18d4b c06c65e0308f Vendor import of libfido2 1.15.0 fadebab18d4b Vendor import of libfido2 1.16.0 From nobody Wed Mar 25 14:08:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgpf070ndz6WK9C for ; Wed, 25 Mar 2026 14:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgpf06RGKz3p32 for ; Wed, 25 Mar 2026 14:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774447688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oy2o5AAlF7YypOKguw5yPxn+Qk+WJhdyYw9MK8FGhgo=; b=UAOCiLB2NWVozP9a4isaDvMMUv/a6NJfrki6Dmh9Ot489mlek2/GyB3FkGMcl4JxV6PC6M 2PXTkKpVgzbBiZPU2VomeNuotibFwQwkYLo8Tlt9NJ026ZGtoJ9oOQ6LB3VApiBlwfGA0u f0o4/sQAM7cbl4uD/U+Z78s6U1QLSrd4mYPDWZc0FYJib3tUkj9i4+5/TEWbS8cxpbArWq aiWVbbjY1PlyJmMcUS+Sx3j1ipG2OTn9TXsk8vVkI9ZKHFO3Zg1MzbQ512wwLy5vt89cqu k3h4tAebgFNxuALZNk3qRoiPAIJXXizPtqEckc6rzoClDPoWa8s1aQL6M/94kQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774447688; a=rsa-sha256; cv=none; b=nzXofSEancbVbJsSVVID/UxZgzNYuhdFrg87KATs6Szz8Vsly7CgDGnSTPYauBqVs+JmBG pFrMXtKaSNnVFxilDwbnzE02m3sm6cg2SWkVNJjrS7snGcz04AfRR5tHE36TYt9BQtik0a tMX332V8bbfCLhvP09wq6sXaFOMslteq6d0sEXfqeY3vVw4+N9SWJqtiHWt7fXIrxwM0Zg YjP8AA7VZrh1sAqhmWJsHbM6sGyABmA+Tsp7GUIFqFjNT9xFrwL6oIy+jE5hTdW5DzbDin CcxMDjXgPhWyibRVpMXXw01Okn1jzgt/Wu+uDwKaVj4Uv4Ce66Rj7YiT3Yj64Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774447688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oy2o5AAlF7YypOKguw5yPxn+Qk+WJhdyYw9MK8FGhgo=; b=u8Fl7p6Pa602lc73BJjtoC8vy7rtzMe2pBjzz+bC0HaeP0jQMQ4yQXxqNn2fotm7hT6nVD GItzc5TbqzE9wg8TiJ9ayLBUAv+wQO3f9j+mCywbDXpLH72nDo+JgJWwu8eeTfuGHHU/x9 By6ilGO42UALAUmSuO2VRfbEx1bNgQSo3QOMN46owrRgK0YwKdcSJeBFIImVeV9AJ3EICB fnV1PRyNVvG/v6p0IMewsqiDQCLJNTpIKtlg4E32T/MGqVTN6VLYTTODnBzh2hilC+loLS FxmSq8yjCFOHzLrd779sYKdwfjrF6lyKwdzAPbghmGRYL2TXS6PUoGaQ9KVssQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgpf05jMgz17RK for ; Wed, 25 Mar 2026 14:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19514 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 14:08:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Li-Wen Hsu Subject: git: eda69b01675d - internal/admin - Let ShengYi fly solo. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/internal/admin X-Git-Reftype: branch X-Git-Commit: eda69b01675d1ad21859081b37b57c6c53c065d6 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 14:08:03 +0000 Message-Id: <69c3ec43.19514.57f8b620@gitrepo.freebsd.org> The branch internal/admin has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=eda69b01675d1ad21859081b37b57c6c53c065d6 commit eda69b01675d1ad21859081b37b57c6c53c065d6 Author: Li-Wen Hsu AuthorDate: 2026-03-25 14:04:53 +0000 Commit: Li-Wen Hsu CommitDate: 2026-03-25 14:04:53 +0000 Let ShengYi fly solo. Approved by: markj (co-mentor), srcmgr (implicit) --- mentors | 1 - 1 file changed, 1 deletion(-) diff --git a/mentors b/mentors index d929cdc57c1f..ca0f3d5bee17 100644 --- a/mentors +++ b/mentors @@ -10,7 +10,6 @@ # Mentee Mentor Optional comment 0mp markj Co-mentor: christos, bnovkov afedorov vmaffione Co-mentor: jhb -aokblast lwhsu Co-mentor: markj bms glebius Co-mentor: imp brd allanjude Co-mentor: bapt bryanv grehan From nobody Wed Mar 25 15:58:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgs5S5RrFz6WS0d for ; Wed, 25 Mar 2026 15:58: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgs5S3XFYz3Kjf for ; Wed, 25 Mar 2026 15:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774454316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzsC6Kh8xqLuA8WPAunkYEpGEjsPzwrTrcHHlBJyvFo=; b=GiFkCiBjTQC50oPj4tb7nwA6gV3EgBTmKQiXk/JAZIrC5My3fi9vn/Zi1eb1OEE+8qOKwE tQAowBVnlRVkiYMS8vv7Btta1za0N+26H8RsVw953OgDUu2a54kHistxkn/NRacsgalLsx /WYy57nrWxWAZJ1LFzYbRNbE/dU3U17eqFOSt7heGzs2Mh1mkdXViBGC8P0IyEjdzOd77N +jWXXz2mJ6vXcDS7QiKTcoIP/SPzM7M4RyC1V9ewf31rZuNkprGYlVRmxX2uG0h6TxCJsG edqpguacp8zlsxnAkVN4pKgNZ/eKtP9kAedPzXLEMVUcCZuODnnwqbCGwl5JoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774454316; a=rsa-sha256; cv=none; b=wzN3/PT/AaCUIU1WJ4cQlc+/PicgR2n3pmsmKMATNXgFET/kwB4kPMzXWyJJqkS+Am4aSV Af6PEN1JWsMLcux4CqHh3TjL40/7vlzojShYG+q0sWvSSwIXqNSW/+1stWTqcntj5OSRC3 IP92gA0D0uGG8kDAL2nY0hLALb5ab6VVPKKqyG/hNyZmvVT00jh7qCL74+ESc95lmuaY2O TidLS8l/TbcCRG8eSM1R7qA3VZsSw79IjgJIG9oKFs4cMLU1zHuAFYiKhzNXafrLccKG4Q Vl2HksP8lGmOFLLBBxh6jep6TlUfSA+SskqRRhpyBJfRaWgcF2IA2XUf8Tkfpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774454316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzsC6Kh8xqLuA8WPAunkYEpGEjsPzwrTrcHHlBJyvFo=; b=AdrxKwUBnbCRa5pdrn35k0V2SCJyMsxohS6oVH3NePMMmT6Rj6HOjr0xhFQF+TGnRKh84/ tM80JIALVB9Q5nEQDwPsxydwWv4YpnnJVfpz5pVYVR0WKqGhecRfv1ghf5oIjeVkivSRfn AN95S0T3MD+7nJXgxBlrsiUs3X41SKBB0p56Lzae9gRcZM/3ilb5lI07+N9picppgtL9oR +Tl9/mFgiFL/iuWCsuLYpWsx/ErVg9HI5xrqEbYuRi3eE536LQ8jmj+SrjKdn62VD3A/uk 63TQ1E6lhPoy3ow4dtlsOiG3+BthQ/8/OlkB/7GVKK+oymU3TVQUudGL6+GGcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgs5S382Yz1BS6 for ; Wed, 25 Mar 2026 15:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 268b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 15:58:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: 648d0fefd757 - main - ipfw: skip tests if required sysctl is not set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 648d0fefd7573080b01d44cad8c39ad658f8e44f Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 15:58:31 +0000 Message-Id: <69c40627.268b1.1b51d5ca@gitrepo.freebsd.org> The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=648d0fefd7573080b01d44cad8c39ad658f8e44f commit 648d0fefd7573080b01d44cad8c39ad658f8e44f Author: Olivier Cochard AuthorDate: 2026-03-25 15:47:44 +0000 Commit: Olivier Cochard CommitDate: 2026-03-25 15:55:57 +0000 ipfw: skip tests if required sysctl is not set Since this is a configuration prerequisite rather than a test failure, use atf_skip instead. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D56069 --- tests/sys/netpfil/common/utils.subr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netpfil/common/utils.subr b/tests/sys/netpfil/common/utils.subr index 8f298960bef5..8885495cec11 100644 --- a/tests/sys/netpfil/common/utils.subr +++ b/tests/sys/netpfil/common/utils.subr @@ -88,7 +88,7 @@ firewall_init() if ! kldstat -q -m ipfw; then atf_skip "This test requires ipfw" elif [ $(sysctl -n net.inet.ip.fw.default_to_accept) -ne 1 ]; then - atf_fail "ipfw tests require net.inet.ip.fw.default_to_accept=1 tunable" + atf_skip "ipfw tests require net.inet.ip.fw.default_to_accept=1 tunable" fi elif [ ${firewall} == "pf" ]; then if [ ! -c /dev/pf ]; then From nobody Wed Mar 25 19:25:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgxgj5Yftz6WgLC for ; Wed, 25 Mar 2026 19:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgxgj3TRXz3fMH for ; Wed, 25 Mar 2026 19:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774466705; h=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=9CHpTSvJAPHwqb1GvzAL/jVqqqaWuQyJ8M1eLMc84lA=; b=JBmU7IzNYh8UDWtRZpX4d9GIRsN6W6Mr0iMoWQjXPc3qG1ZITAMQpNlx9UeaOQ+EPkKipl y470z/nb14PHyzKZ6KiIrq6Q4otGrC1yDzNVG8XiZm3VhXiVGX28jyk8OuYH/PAwtqMyJr olOdQ0xDfNz9YFhZS/6fHh1WPsbSDO4A2CIbom2HOmb9Tj/64sY9va7Cnx1KBXEHX+2FnE REjwD1FyzvfuwXFouK65QTmfXuOnouw68/wbFM10Vv37+0h6kNNDAoEGxNf0i/EiBqBxVF K3/XixHS4p3byUb8hBWeUh/8AShGMYtiz2KET1tulkKsqBVv+cwd4BSgWgm5dA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774466705; a=rsa-sha256; cv=none; b=xQDFyXrE8VLeg3oBbmN+VVFKZ1UcZ2tK3myg3375KOX/IOHdlucTmxA9uNMMHGhpiSWXtm s4MPRPQPxwLlNCFNjsvdwxt6mNYkDst8HhEy8Hy4yQcgsgHqDr3lepao2fhMkPHHGyLefw jj+vvOz1PBm4OLERcqbTlef0PV6K+2JX+xmsAhi+aUA9m7DxFAt20hqJs32lGVXhVFso8p A8yVvUysyjPfemGRhJDUuCJe4+mXCH0uud2xtFWw9YKPXTz1odYVOADWq9oX1ANPJeXZva f7nPwrflzeEsO4bjc1J3mlQPORU+tvA16tu5FI43iAU0H4hk6kF6FBUITgLJRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774466705; h=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=9CHpTSvJAPHwqb1GvzAL/jVqqqaWuQyJ8M1eLMc84lA=; b=PWbyP8IPqucjpqjlE7fi5WDH+647azInmbKt5RXA5V/ZgUIU0F6S1w6RyV3rX58mXUmJtr GAybbBcBTQDtXxr4e/9xkBwIcPPkpZzWm+q9YXxrx0/fKDQ3lHqVvichyDYfE02zJVZCnD WkxbZEc6XXAx/EhzdirXopu9a0ozAnfLL/BOKMNUEJeQaiBmBHSwBpyzafpQqnjGAYH7zv RQCeeMY4+T5C701CoWt5Y4Xvk9qO13/Z6OZnIpxy/pYmo9KygdJt2wj3cXie43THsVSydN VUtDbNYYmUy2Cew6eITkq7c28PuZ1GwYUYUuVDvXjBr9zAdltdflVkYjpwVHjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgxgj2ntWz44M for ; Wed, 25 Mar 2026 19:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d576 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 19:25:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Marek Zarychta From: Warner Losh Subject: git: 9ac7e0362a24 - stable/14 - loader: Fix beastie and fbsdbw logo positions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ac7e0362a2490f5de0e23507cc5159cc03a3334 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 19:25:00 +0000 Message-Id: <69c4368c.1d576.5d2920f4@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ac7e0362a2490f5de0e23507cc5159cc03a3334 commit 9ac7e0362a2490f5de0e23507cc5159cc03a3334 Author: Marek Zarychta AuthorDate: 2025-05-29 16:36:57 +0000 Commit: Warner Losh CommitDate: 2026-03-25 19:22:52 +0000 loader: Fix beastie and fbsdbw logo positions Fix the beaste, beastiebw and fbsdbw postions broken after ee233742a569 PR: 285044, 286356 Fixes: 1b4e11713153 Reviewed by: imp MFC After: 2 days (14.3 candiate) Sponsored by: PANS JarosÅ‚aw (cherry picked from commit 9486d6d57d14844972ee63382045e2ed7a300963) --- stand/lua/gfx-beastie.lua | 1 + stand/lua/gfx-beastiebw.lua | 1 + stand/lua/gfx-fbsdbw.lua | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/stand/lua/gfx-beastie.lua b/stand/lua/gfx-beastie.lua index 443f0fd888ba..f91e70667dac 100644 --- a/stand/lua/gfx-beastie.lua +++ b/stand/lua/gfx-beastie.lua @@ -49,5 +49,6 @@ return { " `--{__________)\027[m", }, requires_color = true, + shift = {x = 2, y = -5}, } } diff --git a/stand/lua/gfx-beastiebw.lua b/stand/lua/gfx-beastiebw.lua index c71e53a9c4e3..84e3dc6997df 100644 --- a/stand/lua/gfx-beastiebw.lua +++ b/stand/lua/gfx-beastiebw.lua @@ -48,5 +48,6 @@ return { " ,' ,-----' |", " `--{__________)", }, + shift = {x = 2, y = -5}, } } diff --git a/stand/lua/gfx-fbsdbw.lua b/stand/lua/gfx-fbsdbw.lua index 470af71a07b5..df3b6c856eef 100644 --- a/stand/lua/gfx-fbsdbw.lua +++ b/stand/lua/gfx-fbsdbw.lua @@ -42,6 +42,6 @@ return { " | | | |", " |____/|_____/|_____/", }, - shift = {x = 5, y = 4}, + shift = {x = 7, y = -1}, } } From nobody Wed Mar 25 19:59:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgyR32lHGz6Wjbb for ; Wed, 25 Mar 2026 19:59: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgyR3031yz3mBQ for ; Wed, 25 Mar 2026 19:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774468751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9DIH6SxXbVOyjH+7Uq6FI5e2tZ5h2s/Ql4JsSz5ruw8=; b=KFm/qJOAbVmngxnVVBmE1axhZ95IiZZwhSMLdbIkDxXgcSNKPk2lAUXk/scikOjYOnDV4w /2A5S4OH1ig1uMYoIMXLGCEwC8NIwd+pTezyAmbsVv27z6cQYcDF9iqGeJhrJe94ogRPjQ CwUTsWrpUVN00yqEJnV7SKGwMG4XXg1hS0ZQ8SiCb67vkpezSkt0JWWfT4j48VuxdKE7iy R87pQLjhLiJom7OSSz8CPWDRL053JH/vdhYpauuO23K3X+a8QSJvc5PunYkVceF0AvX4Ch hbI/aCfL0UqO4jYP7IQ26+J22vKMkJMIlqYswuVXDwb3LJTrD2t+cvvH8g/p9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774468751; a=rsa-sha256; cv=none; b=xWfa2tzz3LF/1d8Duf4hdo6yu0wEER3H95ppFnFLfFO40XHuxlKFIFkr0jaUuTne5S84x3 FW0ow4KCFaNRiyqvFUJN/8L6Ije+N12k6nVGkktihTCFz64vhA4GHM7yQloWQprF+equW6 wv48be25vu7467QiGuwgcAuT/s6VpX8BBYn9itCvYhh+zckYSuo3aFYaAtIwjrx60X2d6h MGT8MBNXo8mZk9p+milE01F2HAfYnnpVg6LldMpPveTa79r3D5IDkxQ86sxDcysvnmvRbv FFrnKk6IQEQqqLVVwemBYDZBgk7ASLtT0nZM1UWnzloga+RyloQZHkNKUJF3nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774468751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9DIH6SxXbVOyjH+7Uq6FI5e2tZ5h2s/Ql4JsSz5ruw8=; b=pM/uQPKqqdzfaMksL1iwXJQT05afxJBPUU++AC+IKHVYkclISEJdieLd4oQoH5z2my3Lug JHt8aex1HcXvBkJB8G/pyudEeeHnx7ICijSxZ98EJSAI6cn7YwSGGlq++Cm0cBzcmMXry7 4BDt7zNNuoStuefF2uzJFyL67H6+/AVCd5cy9mKjw09SJSma5FCHh7uwyJIPOvdXaNlt1q W5cypUQoaSabpZPLDU05k+FxrCfmN4ENI8w2OCxbS5QlopZ9+M9nGf3sYFjLd1rxDrqfiu KTO366pnwTEt/UdQJLKTDk6WlnZAien+5+wZWtyvlQbR6kWph0R4lfAS0KPPlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgyR26cVYz4qv for ; Wed, 25 Mar 2026 19:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f664 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 19:59:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f6989880841b - main - tests/netinet: add raw:reconnect test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6989880841b89d54ebcd5d12195c40a23627646 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 19:59:05 +0000 Message-Id: <69c43e89.1f664.7cbd201f@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f6989880841b89d54ebcd5d12195c40a23627646 commit f6989880841b89d54ebcd5d12195c40a23627646 Author: Gleb Smirnoff AuthorDate: 2026-03-25 18:53:44 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-25 19:58:28 +0000 tests/netinet: add raw:reconnect test It tests repetitive connect(2) on AF_INET/SOCK_RAW including connect(2) to INADDR_ANY that puts socket back into receive-all mode. --- tests/sys/netinet/raw.c | 237 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 168 insertions(+), 69 deletions(-) diff --git a/tests/sys/netinet/raw.c b/tests/sys/netinet/raw.c index 9c25b3ddbec2..d3feb315d5c4 100644 --- a/tests/sys/netinet/raw.c +++ b/tests/sys/netinet/raw.c @@ -36,6 +36,42 @@ #include +#define PROT1 253 /* RFC3692 */ +#define PROT2 254 /* RFC3692 */ +#define ADDR1 { htonl(0xc0000202) } /* RFC5737 */ +#define ADDR2 { htonl(0xc0000203) } /* RFC5737 */ +#define WILD { htonl(INADDR_ANY) } +#define LOOP(x) { htonl(INADDR_LOOPBACK + (x)) } +#define MULT(x) { htonl(INADDR_UNSPEC_GROUP + (x)) } + +static int +rawsender(bool mcast) +{ + int s; + + ATF_REQUIRE((s = socket(PF_INET, SOCK_RAW, 0)) != -1); + ATF_REQUIRE(setsockopt(s, IPPROTO_IP, IP_HDRINCL, &(int){1}, + sizeof(int)) == 0); + /* + * Make sending socket connected. The socket API requires connected + * status to use send(2), even with IP_HDRINCL. + */ + ATF_REQUIRE(connect(s, + (struct sockaddr *)&(struct sockaddr_in){ + .sin_family = AF_INET, + .sin_len = sizeof(struct sockaddr_in), + .sin_addr = { htonl(INADDR_ANY) }, + }, sizeof(struct sockaddr_in)) == 0); + + if (mcast) + ATF_REQUIRE(setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, + &(struct ip_mreqn){ + .imr_ifindex = if_nametoindex("lo0"), + }, sizeof(struct ip_mreqn)) == 0); + + return (s); +} + /* * The 'input' test exercises logic of rip_input(). The best documentation * for raw socket input behavior is collected in Stevens's UNIX Network @@ -46,65 +82,56 @@ * The table tests[] describes our expectations. */ ATF_TC_WITHOUT_HEAD(input); -#define PROT1 253 /* RFC3692 */ -#define PROT2 254 /* RFC3692 */ -static const struct rcvr { - struct in_addr laddr, faddr, maddr; - uint8_t proto; -} rcvrs[] = { -#define WILD { htonl(INADDR_ANY) } -#define LOOP(x) { htonl(INADDR_LOOPBACK + (x)) } -#define MULT(x) { htonl(INADDR_UNSPEC_GROUP + (x)) } - { WILD, WILD, WILD, 0 }, - { WILD, WILD, WILD, PROT1 }, - { LOOP(0), WILD, WILD, 0 }, - { LOOP(0), WILD, WILD, PROT1 }, - { LOOP(1), WILD, WILD, 0 }, - { LOOP(1), WILD, WILD, PROT1 }, - { LOOP(0), LOOP(2), WILD, 0 }, - { LOOP(0), LOOP(2), WILD, PROT1 }, - { LOOP(0), LOOP(3), WILD, 0 }, - { LOOP(0), LOOP(3), WILD, PROT1 }, - { LOOP(1), LOOP(3), WILD, 0 }, - { LOOP(1), LOOP(3), WILD, PROT1 }, - { WILD, WILD, MULT(1), 0 }, -}; -static const struct test { - struct in_addr src, dst; - uint8_t proto; - bool results[nitems(rcvrs)]; -} tests[] = { +ATF_TC_BODY(input, tc) +{ + static const struct rcvr { + struct in_addr laddr, faddr, maddr; + uint8_t proto; + } rcvrs[] = { + { WILD, WILD, WILD, 0 }, + { WILD, WILD, WILD, PROT1 }, + { LOOP(0), WILD, WILD, 0 }, + { LOOP(0), WILD, WILD, PROT1 }, + { LOOP(1), WILD, WILD, 0 }, + { LOOP(1), WILD, WILD, PROT1 }, + { LOOP(0), LOOP(2), WILD, 0 }, + { LOOP(0), LOOP(2), WILD, PROT1 }, + { LOOP(0), LOOP(3), WILD, 0 }, + { LOOP(0), LOOP(3), WILD, PROT1 }, + { LOOP(1), LOOP(3), WILD, 0 }, + { LOOP(1), LOOP(3), WILD, PROT1 }, + { WILD, WILD, MULT(1), 0 }, + }; + static const struct test { + struct in_addr src, dst; + uint8_t proto; + bool results[nitems(rcvrs)]; + } tests[] = { #define x true #define o false - { LOOP(2), LOOP(0), PROT1, - { x, x, x, x, o, o, x, x, o, o, o, o, x } }, - { LOOP(2), LOOP(0), PROT2, - { x, o, x, o, o, o, x, o, o, o, o, o, x } }, - { LOOP(3), LOOP(0), PROT1, - { x, x, x, x, o, o, o, o, x, x, o, o, x } }, - { LOOP(3), LOOP(0), PROT2, - { x, o, x, o, o, o, o, o, x, o, o, o, x } }, - { LOOP(2), LOOP(1), PROT1, - { x, x, o, o, x, x, o, o, o, o, o, o, x } }, - { LOOP(2), LOOP(1), PROT2, - { x, o, o, o, x, o, o, o, o, o, o, o, x } }, - { LOOP(3), LOOP(1), PROT1, - { x, x, o, o, x, x, o, o, o, o, x, x, x } }, - { LOOP(3), LOOP(1), PROT2, - { x, o, o, o, x, o, o, o, o, o, x, o, x } }, - { LOOP(3), MULT(1), PROT1, - { x, x, o, o, o, o, o, o, o, o, o, o, x } }, - { LOOP(3), MULT(2), PROT1, - { x, x, o, o, o, o, o, o, o, o, o, o, o } }, -#undef WILD -#undef LOOP -#undef MULT + { LOOP(2), LOOP(0), PROT1, + { x, x, x, x, o, o, x, x, o, o, o, o, x } }, + { LOOP(2), LOOP(0), PROT2, + { x, o, x, o, o, o, x, o, o, o, o, o, x } }, + { LOOP(3), LOOP(0), PROT1, + { x, x, x, x, o, o, o, o, x, x, o, o, x } }, + { LOOP(3), LOOP(0), PROT2, + { x, o, x, o, o, o, o, o, x, o, o, o, x } }, + { LOOP(2), LOOP(1), PROT1, + { x, x, o, o, x, x, o, o, o, o, o, o, x } }, + { LOOP(2), LOOP(1), PROT2, + { x, o, o, o, x, o, o, o, o, o, o, o, x } }, + { LOOP(3), LOOP(1), PROT1, + { x, x, o, o, x, x, o, o, o, o, x, x, x } }, + { LOOP(3), LOOP(1), PROT2, + { x, o, o, o, x, o, o, o, o, o, x, o, x } }, + { LOOP(3), MULT(1), PROT1, + { x, x, o, o, o, o, o, o, o, o, o, o, x } }, + { LOOP(3), MULT(2), PROT1, + { x, x, o, o, o, o, o, o, o, o, o, o, o } }, #undef x #undef o -}; - -ATF_TC_BODY(input, tc) -{ + }; struct pkt { struct ip ip; char payload[100]; @@ -158,24 +185,11 @@ ATF_TC_BODY(input, tc) } } - ATF_REQUIRE((s = socket(PF_INET, SOCK_RAW, 0)) != -1); - ATF_REQUIRE(setsockopt(s, IPPROTO_IP, IP_HDRINCL, &(int){1}, - sizeof(int)) == 0); - /* - * Make sending socket connected. The socket API requires connected - * status to use send(2), even with IP_HDRINCL. Another side effect - * is that the sending socket won't receive own datagrams, which we - * don't drain out in this program. - */ - sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK + 100); - ATF_REQUIRE(connect(s, (struct sockaddr *)&sin, sizeof(sin)) == 0); /* * Force multicast interface for the sending socket to be able to * send to MULT(x) destinations. */ - mreqn.imr_multiaddr.s_addr = 0; - ATF_REQUIRE(setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, &mreqn, - sizeof(mreqn)) == 0); + s = rawsender(true); for (u_int i = 0; i < nitems(tests); i++) { arc4random_buf(&pkt.payload, sizeof(pkt.payload)); @@ -211,9 +225,94 @@ ATF_TC_BODY(input, tc) } } +/* + * Test input on the same socket that changes its connection status. We send + * packets with different sources in each iteration and check results. + * Check that connect(INADDR_ANY) is effectively a disconnect and turns socket + * back to receive-all mode. + */ +ATF_TC_WITHOUT_HEAD(reconnect); +ATF_TC_BODY(reconnect, tc) +{ + static const struct in_addr srcs[] = { ADDR1, ADDR2 }; + static const struct test { + struct in_addr faddr; + bool results[nitems(srcs)]; + } tests[] = { + { ADDR1, { true, false } }, + { ADDR2, { false, true } }, + { {INADDR_ANY}, { true, true } }, + }; + struct pkt { + struct ip ip; + char payload[100]; + } __packed pkt = { + .ip.ip_v = IPVERSION, + .ip.ip_hl = sizeof(struct ip) >> 2, + .ip.ip_len = htons(sizeof(struct pkt)), + .ip.ip_ttl = 16, + .ip.ip_p = PROT1, + .ip.ip_dst = LOOP(0), + }; + int r, s; + + /* XXX */ + system("/sbin/ifconfig lo0 127.0.0.1/32"); + + ATF_REQUIRE((r = socket(PF_INET, SOCK_RAW | SOCK_NONBLOCK, 0)) != -1); + s = rawsender(false); + + for (u_int i = 0; i < nitems(tests); i++) { + ATF_REQUIRE(connect(r, + (struct sockaddr *)&(struct sockaddr_in){ + .sin_family = AF_INET, + .sin_len = sizeof(struct sockaddr_in), + .sin_addr = tests[i].faddr, + }, sizeof(struct sockaddr_in)) == 0); + + for (u_int j = 0; j < nitems(srcs); j++) { + char buf[sizeof(pkt)]; + char p[2][INET_ADDRSTRLEN]; + ssize_t ss; + + arc4random_buf(&pkt.payload, sizeof(pkt.payload)); + pkt.ip.ip_src = srcs[j]; + ATF_REQUIRE(send(s, &pkt, sizeof(pkt), 0) == + sizeof(pkt)); + + /* + * The sender is a blocking socket, so we first receive + * from the sender and when this read returns we are + * guaranteed that the test socket also received the + * datagram. + */ + ss = recv(s, buf, sizeof(buf), 0); + ATF_REQUIRE(ss == sizeof(buf) && + memcmp(buf + sizeof(struct ip), + pkt.payload, sizeof(pkt.payload)) == 0); + + ss = recv(r, buf, sizeof(buf), 0); + + ATF_REQUIRE_MSG((tests[i].results[j] == true && + ss == sizeof(buf) && memcmp(buf + sizeof(struct ip), + pkt.payload, sizeof(pkt.payload)) == 0) || + (tests[i].results[j] == false && ss == -1 && + errno == EAGAIN), + "test #%u src %s connect address %s unexpected " + "receive of %zd bytes errno %d", i, + inet_ntop(AF_INET, &srcs[j], p[0], + INET_ADDRSTRLEN), + inet_ntop(AF_INET, &tests[i].faddr, p[1], + INET_ADDRSTRLEN), + ss, errno); + } + } +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, input); + ATF_TP_ADD_TC(tp, reconnect); return (atf_no_error()); } From nobody Wed Mar 25 20:25:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgz1T2578z6Wl98; Wed, 25 Mar 2026 20:25:33 +0000 (UTC) (envelope-from vishwin@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgz1T1MdVz3p9f; Wed, 25 Mar 2026 20:25:33 +0000 (UTC) (envelope-from vishwin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774470333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=lnYeRYiLAYLRhYM9rTAqC/ql1gMsW/FEhGLxtNNYN+g=; b=RrIEQv1Dl9DwLVFA16RdtuYCb25jjJgPPBMKtZNDdCBvghwNEKhxfMzwk2v/+CRtsL/1uB gnyndks44Nc9tx/tQEcEbxM5H30ffUWEkEfmx5r8j5dlTtQUEkIA8g58kN8kAp1aqEXkUR TNAqccv7LvxoN9qotj96ehnJfBQAoMTucQbuhDTgDand9I/PHbaSImUxqO42VUf8N5HemN E7shcc07DvtuVc4ua3v3Np7jhQ1Va2ukx98SDVwu6+MprF2ILztquhqP5Sd97URObwOa9g orH2S9QaDMLmxdZoRJyFxVcu5zicPQj7a4oVm29YHp5kiORFu9yDnlpTJUbbOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774470333; a=rsa-sha256; cv=none; b=Zt9ck/DF8VtNxQhdj4BVvjuTC+lsPP/f0XpBt8donmlVDMSdaefRwYT09EO/PekYRh82Ir EaOpN1T/KQS2sTeCTbeP6OAdjSu9+2AFGRUWeYK2sqY19IOSupz/LZmFE0I5eFR3ijKUic ujEE7QxeJwJBrE9SDjqnodpE0omd57aCr0LDc3wcR1ts9zjp0+A2NNuxTjPme32QRfZJ17 nP7i1XhudoglpretPTajTAN45gATDzOg32r9M6sIyEw/FzBG44HvUhtge266n5IHusS40v i1rC3oF/mMxHOPvbI/n1VoazcM6mXgR8ADtSvlQqp9ADHhhk2gdO8OaPuAIc5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774470333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=lnYeRYiLAYLRhYM9rTAqC/ql1gMsW/FEhGLxtNNYN+g=; b=DwnVp6C283pnBEQT3J3QDh/nPM8BVW/CHE/3NsQhLR+8zi6WCDiw1qja7DgaCSJUJVbJhI VSztMhU7IadtqZ8j8oqbwQTMp/5JSHqMSbcYiOtLHvzUySF/5e7E4puflUiK/YjPjNEReJ Bcy/q2INruOcMtn9DHJHpkky062XpK12a4bRlekpiFBWHUcXG+0AUPFRxYO9WVf8xoGOTi Zp7+J5Bt8POjgFTn02G2vyzylIBzvYUApmE3d0qnmZ/7Pdhg/4n2LVFjBopVtWLMzeGxMZ AjEJvtqPxzE+YrZHcfzzCWh1VrsdOZ9GlHT8fAti+/2t63a3AJQcOndpCLXfGg== Received: from [IPV6:2601:98a:f01:42f0:b76f:46b2:d87f:7018] (unknown [IPv6:2601:98a:f01:42f0:b76f:46b2:d87f:7018]) (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: vishwin/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fgz1S5Wyhzy71; Wed, 25 Mar 2026 20:25:32 +0000 (UTC) (envelope-from vishwin@freebsd.org) Message-ID: <6ff09564-2e16-4ea8-a066-325d3c60a361@freebsd.org> Date: Wed, 25 Mar 2026 16:25:31 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: Ed Maste , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> Content-Language: en-GB From: Charlie Li Autocrypt: addr=vishwin@freebsd.org; keydata= xjMEaEicoBYJKwYBBAHaRw8BAQdAZBuydpjFLGem4uRJPWaYMXX2e+BN1jDhbD3tcqbxhdfN MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE ExYKAEEWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbAwUJCWYBgAULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgAAKCRDP+1cn7slqBM/bAP9bhA4e0LxJYFYJlftZM5WHrMSPpUe6 G2pVqmQWTQ0EZQEA0PNryfH3qRWWPSI8mFNRnG24hi5/aXFqCnHj1tcJ9Q/OOARoSJygEgor BgEEAZdVAQUBAQdAUT4TzYFmV6ueIGwjX0N+445KZV6ns1Wiw67QMsJZxHkDAQgHwn4EGBYK ACYWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbDAUJCWYBgAAKCRDP+1cn7slqBPO/ AQCPuGiyyfJClICRs/ToG0MsT8YcPdBygzuUIIeGpkjJpgEA7AoFCQ0Y28Y3hIDFn2k9PH3B nGWL3g05W0ds2qoj+gQ= Organization: FreeBSD Project In-Reply-To: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------Tf9E4tc0Qc3RpmWIkBtrzkW7" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Tf9E4tc0Qc3RpmWIkBtrzkW7 Content-Type: multipart/mixed; boundary="------------KYditLGjx0TPduYvUDQ0ZNhl"; protected-headers="v1" Message-ID: <6ff09564-2e16-4ea8-a066-325d3c60a361@freebsd.org> Date: Wed, 25 Mar 2026 16:25:31 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: Ed Maste , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> Content-Language: en-GB From: Charlie Li Autocrypt: addr=vishwin@freebsd.org; keydata= xjMEaEicoBYJKwYBBAHaRw8BAQdAZBuydpjFLGem4uRJPWaYMXX2e+BN1jDhbD3tcqbxhdfN MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE ExYKAEEWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbAwUJCWYBgAULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgAAKCRDP+1cn7slqBM/bAP9bhA4e0LxJYFYJlftZM5WHrMSPpUe6 G2pVqmQWTQ0EZQEA0PNryfH3qRWWPSI8mFNRnG24hi5/aXFqCnHj1tcJ9Q/OOARoSJygEgor BgEEAZdVAQUBAQdAUT4TzYFmV6ueIGwjX0N+445KZV6ns1Wiw67QMsJZxHkDAQgHwn4EGBYK ACYWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbDAUJCWYBgAAKCRDP+1cn7slqBPO/ AQCPuGiyyfJClICRs/ToG0MsT8YcPdBygzuUIIeGpkjJpgEA7AoFCQ0Y28Y3hIDFn2k9PH3B nGWL3g05W0ds2qoj+gQ= Organization: FreeBSD Project In-Reply-To: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> --------------KYditLGjx0TPduYvUDQ0ZNhl Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 RWQgTWFzdGUgd3JvdGU6DQo+IFRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5 IGVtYXN0ZToNCj4gDQo+IFVSTDogaHR0cHM6Ly9jZ2l0LkZyZWVCU0Qub3JnL3NyYy9jb21t aXQvP2lkPTE3NDk0YzZlNmI3ZDVlMmJlMzRkMjQ2OTU2NmE1OWJiZDlkY2ViOGENCj4gDQo+ IGNvbW1pdCAxNzQ5NGM2ZTZiN2Q1ZTJiZTM0ZDI0Njk1NjZhNTliYmQ5ZGNlYjhhDQo+IEF1 dGhvcjogICAgIEVkIE1hc3RlIDxlbWFzdGVARnJlZUJTRC5vcmc+DQo+IEF1dGhvckRhdGU6 IDIwMjYtMDMtMTggMTU6MDk6NTMgKzAwMDANCj4gQ29tbWl0OiAgICAgRWQgTWFzdGUgPGVt YXN0ZUBGcmVlQlNELm9yZz4NCj4gQ29tbWl0RGF0ZTogMjAyNi0wMy0yMCAxMzozODo0MCAr MDAwMA0KPiANCj4gICAgICBidWlsZDogQm9vc3RyYXAgTExWTV9CSU5VVElMUyBmb3IgY3Jv c3MtdG9vbHMNCj4gICAgICANCj4gICAgICBSZXBvcnRlZCBieTogICAgdmV4ZWR1eHIsIGpy dGMyNw0KPiAgICAgIFJldmlld2VkIGJ5OiAgICBpbXANCj4gICAgICBTcG9uc29yZWQgYnk6 ICAgVGhlIEZyZWVCU0QgRm91bmRhdGlvbg0KPiAgICAgIFB1bGwgcmVxdWVzdDogICBodHRw czovL2dpdGh1Yi5jb20vZnJlZWJzZC9mcmVlYnNkLXNyYy9wdWxsLzIwODQNCj4gICAgICBE aWZmZXJlbnRpYWwgUmV2aXNpb246IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9ENTU5 MjMNCj4gLS0tDQo+ICAgTWFrZWZpbGUuaW5jMSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKystLQ0KPiAgIHNoYXJlL21hbi9t YW41L3NyYy5jb25mLjUgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysr KysrKysNCj4gICBzaGFyZS9tay9zcmMub3B0cy5tayAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMSArDQo+ICAgdG9vbHMvYnVpbGQvb3B0aW9ucy9XSVRIT1VUX0xMVk1f QklOVVRJTFNfQk9PVFNUUkFQIHwgMTIgKysrKysrKysrKysrDQo+ICAgNCBmaWxlcyBjaGFu Z2VkLCA0MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiANClRoaXMgYnJlYWtz IGJ1aWxkaW5nL3VwZGF0aW5nIHBvdWRyaWVyZSBqYWlsczoNCg0KbGQ6IGVycm9yOiB1bmRl ZmluZWQgc3ltYm9sOiBsbHZtOjpsaWJEcml2ZXJNYWluKGxsdm06OkFycmF5UmVmPGNoYXIg DQpjb25zdCo+KSANCiAgICAgICAgICAgICAgICAgICAgICAgPj4+IHJlZmVyZW5jZWQgYnkg bGx2bS1hci5jcHAgDQogIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgID4+PiANCmxsdm0tYXIubzoobGx2bV9hcl9tYWluKGludCwgY2hhcioqLCBsbHZt OjpUb29sQ29udGV4dCBjb25zdCYpKSANCiAgDQogIGMrKzogZXJyb3I6IGxpbmtlciBjb21t YW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIA0KaW52b2NhdGlv bikgDQogICAgICAgICAgICAgICAgICAgICAgICAgICoqKiBbbGx2bS1hcl0gRXJyb3IgY29k ZSAxDQoNCi0tIA0KQ2hhcmxpZSBMaQ0KLi4ubm9wZSwgc3RpbGwgZG9uJ3QgaGF2ZSBhbiBl eGl0IGxpbmUuDQoNCg== --------------KYditLGjx0TPduYvUDQ0ZNhl-- --------------Tf9E4tc0Qc3RpmWIkBtrzkW7 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCacREuwUDAAAAAAAKCRDP+1cn7slqBC+O AQCicO/nQADgYlkR/W2rU+Pp5uv6Jp0bdrVQuaU4Tps4vQD+It9K5L/pwNtUMAuq+l1XeelHLZOm MGyGBypt0i96fgM= =wvdo -----END PGP SIGNATURE----- --------------Tf9E4tc0Qc3RpmWIkBtrzkW7-- From nobody Wed Mar 25 21:23:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh0Hx24nJz6Wp21; Wed, 25 Mar 2026 21:23:09 +0000 (UTC) (envelope-from vishwin@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh0Hx1LfLz3xC5; Wed, 25 Mar 2026 21:23:09 +0000 (UTC) (envelope-from vishwin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774473789; h=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=rO8abB9xLbwa67aHa/0W5RXhXxfEGbCMmQBeFK4MHWY=; b=Id/SMxKnuVAAvmlp9R6DhXn9hOvvuK+K8r8SDYHhF/9l8VaTEvrrFvyPP7fYSorHKg6ujl ghSt6BXrBH/5VbcONwpPT4MYyOy10dWA0vZ6W/eWY3w2C813XqkD3kwZx0uKi7iAwAbRGm IyKHkORsQgW0QISgOFH/BS3YXBW/6Gfp+TGjFSqubqgI67okSvsETML1v4t7K3/fdqZlRm eISRKgaRVTk5EMmFyBLt3/Q1zmO3lOwoQ4OQM4rdK851bq1a4K9Eus3WecBjardV4EdZLO n9v5j/rRM2YAZSfzVzCE5txFmrgwHGlqoPeDIKaS0B72n/HXj7MrCawEjS8xCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774473789; a=rsa-sha256; cv=none; b=au115LkpZ++FDKD1WYnk+iWJnGWnFHUHfPbsaujDXKO9rGoxRfYo4e2tN8EoDeKQu9NHUn cpbhDuPOociPaADDeVRcCbUnT3IeAN6jrcB1yErJMebH/TT62KT4lmqtLCb3CZi3leq7cz hVLYJJ30XPZ95ZFx47n0IWRgE/NbEXR8Ej0jSf2r+mwMttUfGnQSJFlvgWhPdOVCFVOqUk CkYCLeULOluEaNhJxwwD9uBq+ir0wDQyzw6qS5grYNypQbp0DkehMcHfY2sxJ52+1Ae2MG Y/5CehObP/ufNxk2foeQsgC5TUwY9ohW9UNHDXvqhXzXslwuZ2DJSsXY9R1pFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774473789; h=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=rO8abB9xLbwa67aHa/0W5RXhXxfEGbCMmQBeFK4MHWY=; b=jW954jRM/Y+vMEnTfYR9yBFj28dGPPK63kQjo0DlZ4sgxlZ4kZdZ6W6q86uCnEfqssrzyH TH2A6g/uWOHw0dS9UDDxIQICWNMi9/6y2tWly+gxOS0mc+11JLZaGvNuJpKOrvUT5+nuXu 3nS48L8RDu/+s5eSxB3zTEA9LQ84zy7d3xTQgwDINF69fPajKx++z09weaILpylZuCIMik eLGA9pBQUtCXHExGxO4/Tt9XuMHPR7iIKwyqUTbKRSIf2837ipflFnV2NHEVgtgvqMfJ1Z rD6rA2KaOVez7GTeiJ+aODucwGF+JaLgJTYZYEHrw8m8FNcGnrS7vTWtVNQ9xw== Received: from [IPV6:2601:98a:f01:42f0:b76f:46b2:d87f:7018] (unknown [IPv6:2601:98a:f01:42f0:b76f:46b2:d87f:7018]) (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: vishwin/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fh0Hw5pWCz12PW; Wed, 25 Mar 2026 21:23:08 +0000 (UTC) (envelope-from vishwin@freebsd.org) Message-ID: <97734b70-51b1-4f55-bf1a-50265a6607ca@freebsd.org> Date: Wed, 25 Mar 2026 17:23:07 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: Jessica Clarke , "Herbert J. Skuhra" Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> <8fff7462-710f-4e05-af78-c9e632e475a7@app.fastmail.com> <859ECED1-93F5-4B16-903C-E80651D9CD46@freebsd.org> Content-Language: en-GB From: Charlie Li Autocrypt: addr=vishwin@freebsd.org; keydata= xjMEaEicoBYJKwYBBAHaRw8BAQdAZBuydpjFLGem4uRJPWaYMXX2e+BN1jDhbD3tcqbxhdfN MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE ExYKAEEWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbAwUJCWYBgAULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgAAKCRDP+1cn7slqBM/bAP9bhA4e0LxJYFYJlftZM5WHrMSPpUe6 G2pVqmQWTQ0EZQEA0PNryfH3qRWWPSI8mFNRnG24hi5/aXFqCnHj1tcJ9Q/OOARoSJygEgor BgEEAZdVAQUBAQdAUT4TzYFmV6ueIGwjX0N+445KZV6ns1Wiw67QMsJZxHkDAQgHwn4EGBYK ACYWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbDAUJCWYBgAAKCRDP+1cn7slqBPO/ AQCPuGiyyfJClICRs/ToG0MsT8YcPdBygzuUIIeGpkjJpgEA7AoFCQ0Y28Y3hIDFn2k9PH3B nGWL3g05W0ds2qoj+gQ= Organization: FreeBSD Project In-Reply-To: <859ECED1-93F5-4B16-903C-E80651D9CD46@freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------JD8B0QXPUdnYdMtfu9y1MdYR" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------JD8B0QXPUdnYdMtfu9y1MdYR Content-Type: multipart/mixed; boundary="------------7q0j3Tm3p0fhj3GaDe7NNk88"; protected-headers="v1" Message-ID: <97734b70-51b1-4f55-bf1a-50265a6607ca@freebsd.org> Date: Wed, 25 Mar 2026 17:23:07 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: Jessica Clarke , "Herbert J. Skuhra" Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> <8fff7462-710f-4e05-af78-c9e632e475a7@app.fastmail.com> <859ECED1-93F5-4B16-903C-E80651D9CD46@freebsd.org> Content-Language: en-GB From: Charlie Li Autocrypt: addr=vishwin@freebsd.org; keydata= xjMEaEicoBYJKwYBBAHaRw8BAQdAZBuydpjFLGem4uRJPWaYMXX2e+BN1jDhbD3tcqbxhdfN MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE ExYKAEEWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbAwUJCWYBgAULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgAAKCRDP+1cn7slqBM/bAP9bhA4e0LxJYFYJlftZM5WHrMSPpUe6 G2pVqmQWTQ0EZQEA0PNryfH3qRWWPSI8mFNRnG24hi5/aXFqCnHj1tcJ9Q/OOARoSJygEgor BgEEAZdVAQUBAQdAUT4TzYFmV6ueIGwjX0N+445KZV6ns1Wiw67QMsJZxHkDAQgHwn4EGBYK ACYWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbDAUJCWYBgAAKCRDP+1cn7slqBPO/ AQCPuGiyyfJClICRs/ToG0MsT8YcPdBygzuUIIeGpkjJpgEA7AoFCQ0Y28Y3hIDFn2k9PH3B nGWL3g05W0ds2qoj+gQ= Organization: FreeBSD Project In-Reply-To: <859ECED1-93F5-4B16-903C-E80651D9CD46@freebsd.org> --------------7q0j3Tm3p0fhj3GaDe7NNk88 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SmVzc2ljYSBDbGFya2Ugd3JvdGU6DQo+IE9uIDIwIE1hciAyMDI2LCBhdCAyMjozNiwgSGVy YmVydCBKLiBTa3VocmEgPGhlcmJlcnRAZ29qaXJhLmF0PiB3cm90ZToNCj4+DQo+PiBPbiBG cmksIDIwIE1hciAyMDI2LCBhdCAxNDozOSwgRWQgTWFzdGUgd3JvdGU6DQo+Pj4gVGhlIGJy YW5jaCBtYWluIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZW1hc3RlOg0KPj4+DQo+Pj4gVVJMOg0K Pj4+IGh0dHBzOi8vY2dpdC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD0xNzQ5NGM2ZTZi N2Q1ZTJiZTM0ZDI0Njk1NjZhNTliYmQ5ZGNlYjhhDQo+Pj4NCj4+PiBjb21taXQgMTc0OTRj NmU2YjdkNWUyYmUzNGQyNDY5NTY2YTU5YmJkOWRjZWI4YQ0KPj4+IEF1dGhvcjogICAgIEVk IE1hc3RlIDxlbWFzdGVARnJlZUJTRC5vcmc+DQo+Pj4gQXV0aG9yRGF0ZTogMjAyNi0wMy0x OCAxNTowOTo1MyArMDAwMA0KPj4+IENvbW1pdDogICAgIEVkIE1hc3RlIDxlbWFzdGVARnJl ZUJTRC5vcmc+DQo+Pj4gQ29tbWl0RGF0ZTogMjAyNi0wMy0yMCAxMzozODo0MCArMDAwMA0K Pj4+DQo+Pj4gICAgIGJ1aWxkOiBCb29zdHJhcCBMTFZNX0JJTlVUSUxTIGZvciBjcm9zcy10 b29scw0KPj4+DQo+Pj4gICAgIFJlcG9ydGVkIGJ5OiAgICB2ZXhlZHV4ciwganJ0YzI3DQo+ Pj4gICAgIFJldmlld2VkIGJ5OiAgICBpbXANCj4+PiAgICAgU3BvbnNvcmVkIGJ5OiAgIFRo ZSBGcmVlQlNEIEZvdW5kYXRpb24NCj4+PiAgICAgUHVsbCByZXF1ZXN0OiAgIGh0dHBzOi8v Z2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2Qtc3JjL3B1bGwvMjA4NA0KPj4+ICAgICBEaWZm ZXJlbnRpYWwgUmV2aXNpb246IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9ENTU5MjMN Cj4+PiAtLS0NCj4+PiBNYWtlZmlsZS5pbmMxICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKy0tDQo+Pj4gc2hhcmUvbWFuL21h bjUvc3JjLmNvbmYuNSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysr KysrKw0KPj4+IHNoYXJlL21rL3NyYy5vcHRzLm1rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAxICsNCj4+PiB0b29scy9idWlsZC9vcHRpb25zL1dJVEhPVVRfTExWTV9C SU5VVElMU19CT09UU1RSQVAgfCAxMiArKysrKysrKysrKysNCj4+PiA0IGZpbGVzIGNoYW5n ZWQsIDQzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+Pg0KPj4gQWZ0ZXIgdGhp cyBjaGFuZ2UgcnVubmluZyAnZXRjdXBkYXRlIC1zIC4nIHRha2VzIGFib3V0IDEzIG1pbnV0 ZXMuDQo+PiBJZiBJIHJldmVydCBlMjk2MjExZmQ1OWIgYW5kIHRoaXMgY2hhbmdlIGl0IHRh a2VzIGFib3V0IDIgbWludXRlcy4NCj4gDQo+IEFkZCAtQiB1bmxlc3MgeW91IGRvbuKAmXQg aGF2ZSBhbiBvYmogdHJlZSBmb3Igc29tZSBzcGVjaWZpYyByZWFzb24uDQo+IA0KZXRjdXBk YXRlIHNob3VsZCBub3QgYmUgZXNzZW50aWFsbHkgYm9vdHN0cmFwcGluZyBhIHBvcnRpb24g b2YgTExWTSBhdCANCmFsbCwgcmVnYXJkbGVzcyBvZiBmbGFncyBwYXNzZWQgb3Igbm90LiBU aGlzIGNvbXBpbGluZyBjYXVzZXMgdGhlIA0KaW5mbGF0ZWQgcnVudGltZSBhbmQgcmVzb3Vy Y2UgdXNhZ2UuDQoNCi0tIA0KQ2hhcmxpZSBMaQ0KLi4ubm9wZSwgc3RpbGwgZG9uJ3QgaGF2 ZSBhbiBleGl0IGxpbmUuDQoNCg== --------------7q0j3Tm3p0fhj3GaDe7NNk88-- --------------JD8B0QXPUdnYdMtfu9y1MdYR Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCacRSOwUDAAAAAAAKCRDP+1cn7slqBP8P APoDmICu2h/BZC3ZWlxl/1Sb+PmTW7sLMn9WthsqNcYQXgEA2vT8fBRimrpyBqRNsav/TnjvIdoZ 9tboMIovTVwo3Q4= =yjUk -----END PGP SIGNATURE----- --------------JD8B0QXPUdnYdMtfu9y1MdYR-- From nobody Wed Mar 25 21:25:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh0LK6Jmlz6Wnww for ; Wed, 25 Mar 2026 21:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh0LK5Cvtz40N6 for ; Wed, 25 Mar 2026 21:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774473913; h=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=UACpLwenUG3fVMSGw7QdQqF6e25HMNjNb+O/svopmm0=; b=EcgvvczFyvZWLcXngj732rPbeG4R15Sif8S8JDuVpXxC63Z/5TKctmW1iCb/om5BrNZje6 hZ1/FThyoWw08NiHl0LUe/01lqguHFsSDsazdNsHcu7hYaAQrNpFHSvhzogOicLpV++WZv OzEvNQSZt1Z47T8ljA3SLgg0/7QKs8V+IoHvH3/tNY3BXNMIyrtvjljvYlwa9GbeP+SMI1 k46tMW5m8dcqRu6EuvgcYVJ/Yt4i05k6c6EOWSJwMuLqxRFGUotm62rXPqQRTkVTcRyyg7 1oeRbQzaa1OHgaNlFWb4U5u2/0GtCHWA4V9PXg4vCm5ttRPGN620W0/HYnvGqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774473913; a=rsa-sha256; cv=none; b=CNfiETKxQZs2Y7qzV+4tc/geeSH9gm95sWZYrvqsSs6Z6hS1h45L1VMxZe6JG1MEtQ2lWh 0j2A2RH+1lIcS3DwXpMwCgQy9N5GDHri9ssRi3JmsgLsMUrS907JAZd9hgXkNAmyom9XDf n+yViN2Q26q29Zj5iFvnqx9JFfvZdgGm4a9bd5aWIadmr3JQ4crI1oAMKqxNN7TXsv4aL3 q/OLZagC3uyI/+zbs4f4iEYLR9onTtqLKnXIuQiiO0T7ifs1IkR5wyPbO1126FG26qG3h8 0UfEhC9dpV5b2jGeWmE05E9doDq23VasnVmvDv9ANaRIIJSZ2z1OQOD9ziBpKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774473913; h=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=UACpLwenUG3fVMSGw7QdQqF6e25HMNjNb+O/svopmm0=; b=xCZv7wlvlke6IKS+TboR/rKFqE/6a8/qtmxnzkDFipHiAT7ht1EHd88VCrW4xzMuDjkWkK 2k1igYuW0AVzi0m2hTDgbsjKMSUREHqLobppG98wLVj+RCW1Pn3laTDDJK3DHjETdX/Ajx tc9EGEZ1epOpsqPJCGFXrGF3wJyD0i/ml0L2hc6hA1HFWarmfP28iP1D2nqUhjzV5uO+Im Qzp5p07aKyXZN5PBwhb3gwtQ7W2XTsM/eRnLb1Er6Cc64LWkqaTWVJ0FR1OoFmJjPAMIaF ikKUlKV8q+V234spSfygxuslTERLn1hrx4gswOH7oAl8kzGCnJMGpzcWukALXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh0LK4RxXz6cK for ; Wed, 25 Mar 2026 21:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 276db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 21:25:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ali Mashtizadeh From: Warner Losh Subject: git: 98bedca0a4ef - main - pmc: Fix copyright in previous commits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98bedca0a4effed7f170be52f7ef3e1ab8a79b11 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 21:25:13 +0000 Message-Id: <69c452b9.276db.61ccf954@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=98bedca0a4effed7f170be52f7ef3e1ab8a79b11 commit 98bedca0a4effed7f170be52f7ef3e1ab8a79b11 Author: Ali Mashtizadeh AuthorDate: 2026-03-25 18:51:21 +0000 Commit: Warner Losh CommitDate: 2026-03-25 21:24:18 +0000 pmc: Fix copyright in previous commits Fix the copyright attribution to Netflix and the date and missing SPDX line in pmc.ibs man page. Sponsored by: Netflix Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2094 --- lib/libpmc/pmc.ibs.3 | 5 ++++- sys/dev/hwpmc/hwpmc_ibs.c | 3 +-- sys/dev/hwpmc/hwpmc_ibs.h | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/libpmc/pmc.ibs.3 b/lib/libpmc/pmc.ibs.3 index 69b90b84556c..f0534a0955d2 100644 --- a/lib/libpmc/pmc.ibs.3 +++ b/lib/libpmc/pmc.ibs.3 @@ -1,4 +1,7 @@ -.\" Copyright (c) 2016 Ali Mashtizadeh. All rights reserved. +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2026, Netflix, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c index 66d3260cf040..bfc135f06884 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.c +++ b/sys/dev/hwpmc/hwpmc_ibs.c @@ -1,8 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2026, Ali Jose Mashtizadeh - * All rights reserved. + * Copyright (c) 2026, Netflix, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/hwpmc/hwpmc_ibs.h b/sys/dev/hwpmc/hwpmc_ibs.h index 01fc88648558..c66d54672543 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.h +++ b/sys/dev/hwpmc/hwpmc_ibs.h @@ -1,8 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2026, Ali Jose Mashtizadeh - * All rights reserved. + * Copyright (c) 2026, Netflix, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Wed Mar 25 21:54:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh10f3R88z6Wqkk for ; Wed, 25 Mar 2026 21:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh10f2KgPz43Jj for ; Wed, 25 Mar 2026 21:54:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774475698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jXPpbx7UYHa8fjDZkkSpC2ZOYX+ecXsa1H9a3Ulv8kk=; b=Ej4vmogSVLsK4vcQr1ctOdiu9XYvY2LFbx5M4aAjmb/gF30s8j8Onn9Zfdn8QpM5OSlN0R vb13ez/NG5tZi1+gP/nKBR+nlmfrIpxnp2vDaIH3+efpG9O1e1wlzjmSailUcT2bMubzi9 bwwl/OO96CtZFPBRCkDvhYVzuyn0B8cSlc8toUTXq3VXUyofY/IVAkeg7hY3avsrox+PBz JJP6DjohAZs90RqHBFIS0Qv8jiy9bbH7QmZtRysItpiLHZE39GYapqPfdGS6V1tfdQR3cF 7iyoLRVMvzzXy1sT9znzugotnJPNFHeIEj51+mY1+MtgCYtIRHljSef/t9PrAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774475698; a=rsa-sha256; cv=none; b=i7zwsu9dsvM2dhPAqVAkt0i4k/3470SdcEmlrfeIoIKvoww+YYH6Q8ihUVyM+6i7U9Lgdm dW8AhVyun53p6+4ar11YAddURvAl1KalXlHUCyiA6GKWvlOqCYcP+FeY2l0Pld6gNO4HM1 Emond0usIuK2iM/rzS4/rePSeqTDMEyim07aWvq+Bmxavoi4/ZHHTovYbLGWyqKFZ+hUWr l8pa67fNqSK+T3oCFBs+b6V44EsbzIWWvO5egBl2unEbzzem7LOIq/EMV9DEH+d68T34S8 dOahQk8O/YyrqtHQuPtiO8R60TfGIuKyyY5SXfHzq78Rl1NmKrm/axi85hymfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774475698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jXPpbx7UYHa8fjDZkkSpC2ZOYX+ecXsa1H9a3Ulv8kk=; b=skCVuUNViaAa0lc7WkoXJ74I2KaXWUdCjmCD89zCO/xOdgK1MQ1IxFyYy9mcjr1Pd7vHHV 5lxuEuSzxEhxUU5bWrt2zn3eQ4hJXRaNoRmrwgFfwhufMM4gzqCODlOTyZTB7wFMH5pf8a ynJRjYcCCho0rj3v0WkZt0bWtjqeGj03S6gbkaug6iQPJTk1ORbficIBmDRg4RQdHfBNrs DLBe+Amv1AIwQy0WyP9KeilmfsOOiczxDhSPsdjA9oIxC0ZL1gfSh5XFVxxcQ4MeactX9n PRUDOixihnRL+cpUFJAZbpJ3ahrYTC1Z+7aLS9a2gFEwbQ/fh7ELtq4UbC7OOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh10f1qYYz7hB for ; Wed, 25 Mar 2026 21:54:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 335b5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 21:54:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 41b423cc4e4d - main - clnt_bck.c: Delete a couple of old diagnostic printfs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41b423cc4e4dfe3132bb5d287bba03b82ecb5be8 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 21:54:58 +0000 Message-Id: <69c459b2.335b5.6168f7a9@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=41b423cc4e4dfe3132bb5d287bba03b82ecb5be8 commit 41b423cc4e4dfe3132bb5d287bba03b82ecb5be8 Author: Rick Macklem AuthorDate: 2026-03-25 20:53:22 +0000 Commit: Rick Macklem CommitDate: 2026-03-25 20:53:22 +0000 clnt_bck.c: Delete a couple of old diagnostic printfs There were two debug printf()s that were left in the code while debugging the handling of callbacks over a NFSv4.1/4.2 backchannel was being done. This patch removes them, since they are no longer of benefit and cause "noise". Requested by: wollman MFC after: 2 weeks --- sys/rpc/clnt_bck.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/rpc/clnt_bck.c b/sys/rpc/clnt_bck.c index 7e4781ec7e9d..c5cbbf045bdc 100644 --- a/sys/rpc/clnt_bck.c +++ b/sys/rpc/clnt_bck.c @@ -314,10 +314,8 @@ call_again: */ sx_xlock(&xprt->xp_lock); error = sosend(xprt->xp_socket, NULL, NULL, mreq, NULL, 0, curthread); -if (error != 0) printf("sosend=%d\n", error); mreq = NULL; if (error == EMSGSIZE) { -printf("emsgsize\n"); SOCK_SENDBUF_LOCK(xprt->xp_socket); sbwait(xprt->xp_socket, SO_SND); SOCK_SENDBUF_UNLOCK(xprt->xp_socket); From nobody Wed Mar 25 22:12:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh1PC3rYPz6WrRn for ; Wed, 25 Mar 2026 22:12:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh1P62Zllz46pr for ; Wed, 25 Mar 2026 22:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774476762; h=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=RW/bcMpyPPs/ighrw1G+Oar25iHFoyC7ph7DdIYbGFo=; b=bW215nx3PrQfyLdSPXHO+7KtVjND91fgp55B0XSp6Il3tx2OGJlyYEYFWmTKYbj5ssUoIJ sG91PzRxkKpbY5fB3LyqAFBPCbejp1QY9Ldht93FMuyziZeuB8ABhfH7eL6qbHX77Kybch tyJwPNxYA0/RYVnNqZa/z9o3/m3FDxYXcX/kp97hvInZo2HzDwbus9VEYLC1eTzKpWgYqm 7h5T5XbRdEqrj10HaaK1ptRUeklwOtz/UgiiGtaSCUAlLrP+sYLq6S7BAvHrfG0ieTS1bv iLvc8aJLg0mub605Tcp7NPQnPulWrVjTf3oj4MXpOmO7gcjetpZo4sjo/zo3wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774476762; a=rsa-sha256; cv=none; b=dwaz0vPg8TNYE4zIeFWE+6WmrEn2zPsVI08gExWKqTEhFQi3nK8nP2vkHG+1m3HcUngZBu pnFtD+mqwgDRF14OruTpEc/aSJPq7Cgv/hRg4TDnME5+0LGm8JPUn7LD30xRaEi2Xmynro eHAPZ7+mJGbFer40BZ/UUHNQaoq+MvnlczO6tJvXGmbiQtJmXQMwUdiV4g2Z3QVA6YZTSy xs2x/vb5/hBarJ/gchC8j7xzGCGVgxB/6WAFTpbCxUIi23rvyN7msW2Vhnz5BnZTStYEV2 vZvmh5+zBYuMNGo6t2c/42uaZ0D0YRYKm32Vd/BKxFpb1Q73RPxcMC1WwKi+YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774476762; h=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=RW/bcMpyPPs/ighrw1G+Oar25iHFoyC7ph7DdIYbGFo=; b=MqZ4yX7rWPKRYV9WJ3liA12jR1guw22i50tq5OSVTiSuxstv17LpupliXu4zTiDbZn1JGP ilLHNIBBQvqSNBRK/J48WBA0ZUQ4CBR7jMu61efCe1+u9/sqN/rtCSzgFwbj5pcgR3GfW3 DbofJ3pbuC9z8LPAsJHOe3UuC+apQDqnydjyOqMy/ktN1O1fTm9o0BG4p+1SFO+Hlef+s4 c33hHf9as3tE6rJsFz2GABvM2kATJP3KrZiZdO5iTxk1CvUkhCqzd1bqbVJaacsv98HvH8 RJIhTUvRZ3qP0g0bKawdz5Gm81qwLp14Yz3oDJ53KCIx7blhKK7T1Nbj+3wSsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh1P621Dwz8Gf for ; Wed, 25 Mar 2026 22:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36634 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 22:12:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Enji Cooper From: Warner Losh Subject: git: 12e1ab887d58 - stable/14 - Add ASMC_DEBUG make option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 12e1ab887d58d18069554e0b5311d43d4ca50df0 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 22:12:42 +0000 Message-Id: <69c45dda.36634.71716e05@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=12e1ab887d58d18069554e0b5311d43d4ca50df0 commit 12e1ab887d58d18069554e0b5311d43d4ca50df0 Author: Enji Cooper AuthorDate: 2026-01-04 08:27:57 +0000 Commit: Warner Losh CommitDate: 2026-03-25 20:36:34 +0000 Add ASMC_DEBUG make option This allows folks to enable debug statements in asmc(4) using kernel configs via the `options ASMC_DEBUG` directive. While here, remove a duplicate `device vt_efifb` directive in `NOTES` as it's already handled in the `GENERIC` config MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54511 (cherry picked from commit f224591746bdaf14ad5f63de4738a3146cc2f55f) --- sys/amd64/conf/NOTES | 4 ++++ sys/conf/options.amd64 | 3 +++ 2 files changed, 7 insertions(+) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 55f631675bbe..187d5676d55e 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -111,6 +111,10 @@ options EFIRT device asmc options ASMC_DEBUG # Enable asmc(4)-specific debug logic. +# Apple System Management Controller (SMC) +device asmc +options ASMC_DEBUG # Enable asmc(4)-specific debug logic. + # # Intel QuickAssist driver with OpenCrypto support # diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64 index c7c1f4da2a4a..a3a735731438 100644 --- a/sys/conf/options.amd64 +++ b/sys/conf/options.amd64 @@ -66,5 +66,8 @@ NO_LEGACY_PCIB opt_cpu.h # Compatibility with Linux MP table bugs. MPTABLE_LINUX_BUG_COMPAT +# x86 specific uart options +UART_NS8250_EARLY_PORT opt_uart.h + # Enable asmc(4)-specific debug logic. ASMC_DEBUG opt_asmc.h From nobody Wed Mar 25 22:12:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh1PB5yW9z6WrXf for ; Wed, 25 Mar 2026 22:12: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh1PB4Bn3z46qG for ; Wed, 25 Mar 2026 22:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774476766; h=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=Gg1lHfwoIoe7qHVCoul3Hyz413x0A7iTmOldKcwQgfQ=; b=x6DBNOfIFq725U4sbSYvZFf+ekRB2s8bPq/fEa6dBtOVpCMMOcGjRYjq9uxeKbC1Kb7xJq 9IBUGTVg04IgMNAecb0gpXWfhn51cNnSvf/upZFZV3RSvIe8qNKjwztwitEXGbzple4Ntj 5eA1UwzfYcnZuvLB7Lvts27y0Flia8NrGgl76FEvp2gPx5woepUcuTslplVCPrZGsyC0Qy /PNBoOLHiu808aDoOUmHXqPE/dYmBwa6vbr3HtpDhrcbAmGHtYYUADyisYthq2W9NQZzic aR3873fKMAhuabS88fTYC7ftuIYlQJc1HiOOHPLVuLyyzUu9abAnZTtXzuFEzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774476766; a=rsa-sha256; cv=none; b=HbPkIwdPPa2DCv2YHCu+c45S7OaM9naAABDKf52K7zrniOmCE0Dj2NcHIqiTiI4ci0aHOi 7m8WOemb9d1UmCASUaVxb4TRh9B8hiigIzITqz0RP6MLtFqSCrNHX46/yMzwLb/BYPH+4k Q/96Mb8nJb+xtsTC709weynAdo3zO55RjV/MZFnM4Pg/rgVqSVA1nrjDBeFvJf4ZJ88CrV elWKRrwkAo6Pxtv0IMYMvXqbDB70T5ijdyDnt2mzV/ZYCYHhak5t9tGmb+NJNxbJwXRs0B sWvMiVcEivWYeQMdU2ELUlkTRcPagup+owVXrQKe3dkNFxEmADFIxIuGUs4kHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774476766; h=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=Gg1lHfwoIoe7qHVCoul3Hyz413x0A7iTmOldKcwQgfQ=; b=KRzDyQzjYLlrled6pk6e5wrimat7DbZNotKkcAYPdgkpj80vZDhYaQMmCP+DNHMMDPFJ0R p8wQSgZ1oUaDvnvLYo69oO0XK5fHZMR8hk+kbK/bThWnLFCRipMFPJ/DeTCPS2aWL50jpI ephG7kFruFXuheo6DxxXpJ0MawT/yC4Wx+D++T7UahxPeRzkhv8YCEzsNAXMd0eSL4zMx9 Svl406ku3hMQ94bF2TDB4qFduzhFp+lbT1/gABghLdOgDmIExWBh3OKgUEuXp5L49cdvy4 PA+EGS/Fv1YRBk003ce+MDg2g4m4elj8EMtnQiYIwzq2PJ5L8LvvQ7lHxihoqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh1PB2TYcz7nX for ; Wed, 25 Mar 2026 22:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37ca7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 25 Mar 2026 22:12:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Enji Cooper From: Warner Losh Subject: git: 432c95c57bb5 - stable/14 - asmc(4): pull 32-bit support for the driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 432c95c57bb5edba6593f48a17092577e293bc05 Auto-Submitted: auto-generated Date: Wed, 25 Mar 2026 22:12:41 +0000 Message-Id: <69c45dd9.37ca7.1fbf2721@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=432c95c57bb5edba6593f48a17092577e293bc05 commit 432c95c57bb5edba6593f48a17092577e293bc05 Author: Enji Cooper AuthorDate: 2026-01-05 03:36:55 +0000 Commit: Warner Losh CommitDate: 2026-03-25 20:34:43 +0000 asmc(4): pull 32-bit support for the driver The asmc(4) driver should work for 32-bit Intel-based Macs, in theory, if the model details were added to the detection list. That being said, 32-bit Intel Macs were only released and available to the general public for 8 months [1], so the value in maintaining i386 support in the driver is reduced due to limited hardware access. Remove 32-bit support for the driver officially to make it clear its use is not supported. This should fix building `NOTES.i386` by proxy as well. Relnotes: yes MFC after: 2 weeks Fixes: f224591746b ("Add ASMC_DEBUG make option") Fixes: 8342d9f7b5f ("asmc(4): Stop building it on i386, as...") Differential Revision: https://reviews.freebsd.org/D55544 (cherry picked from commit 1f2f5eba24aa53e180a4eb46b772410e5a782469) --- sys/x86/conf/NOTES | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES index c329613378b9..8ca196604d94 100644 --- a/sys/x86/conf/NOTES +++ b/sys/x86/conf/NOTES @@ -521,7 +521,6 @@ device ntb_hw_plx # PLX NTB hardware driver # pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) # smbios: DMI/SMBIOS entry point (requires EFIRT option) # vpd: Vital Product Data kernel interface -# asmc: Apple System Management Controller # si: Specialix International SI/XIO or SX intelligent serial card # tpm: Trusted Platform Module @@ -537,7 +536,6 @@ envvar hint.pbio.0.at="isa" envvar hint.pbio.0.port="0x360" device smbios device vpd -device asmc device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG From nobody Thu Mar 26 00:25:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh4Kw04jyz6X1DF for ; Thu, 26 Mar 2026 00:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh4Kv4KWRz4NM4 for ; Thu, 26 Mar 2026 00:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774484707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jmGHRvepdL7Ghhcqho28g9lzjmKtUSxpzKBvsjXu2Es=; b=QmC6T76NHX8wctv9Mp1W7tfHRAzllNgyWDMSgQOgRrzup764zFG1yTdmjH8KatGLAKOSAv F3WTPjGtso5scI8eyMGbzt5JocM5AOo0WHN0GkYhlqfL6OeT4B7qzI8jsHHMNn8ipwtSFD 9bC/3WHON7/xaQDXW82DB8SEUPd6P4R3kGSfuNgLFfObtlT2bBqpJYqCu5jAhSqne5HveR 59PrFeGIf03hjdzvEKGLSe1/0Huduy3bkB9F5EZtldQKpFC2Ge2paMxld1nhPh3PSJL5Q2 WyKaNl0Xo28E5k/DHpAyrdPLDIcAd1xX8Qu82D+o1GfDN7zwuB+SdqF9horClg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774484707; a=rsa-sha256; cv=none; b=djJuRljQ6/zEDFYt3iuC7WX7yc7Lx54V66IhnV43OtFHALw89IweTSlY4ftX5zG0uTdu7d 8ZfFcE7KMIDJSQ2ChPKDgbtRripboszNGzWKvpLxcXP0qnOTWiXcQ++V5vnzq1Grmw+7JN y9Zjcz7xa3dYNSwg7ktmOacmoTinSPZCXljA4vc06YozK69FN1H7OpfXNtxD3YVVrUCWMh JQIxwVFR1YWn1pBdvpDLqYYsjKb6hIo+ZfsVQmX1icF89TuXfumwaxjxb//h2P/dyA3apn tJzRGdiVptL85e/4qyLtpe3deNPmHja9KlpsTuwXlhGHscs11SxVeqNWK526DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774484707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jmGHRvepdL7Ghhcqho28g9lzjmKtUSxpzKBvsjXu2Es=; b=Z5Xe514bpx3YTeWBuWyf0BFeBfhhHRDG8JqRrGtVC6ZdAEldbUYVytYJQpwKSs9IRcfkEq YtHIApJDjCXLzvNgTfF8cYESnvNUGUhMu8nwWhbw/bhGpOzLeEXh3xgaJD/xZnyCGMKUZJ p0HU12PZdTqXhvzAEGX3SP0CDHY0pa3TH8A80Hw/Js6hQqbE5flDztDcgSM5sJpTNg0ek5 r0H1JZiPM7oPK0d3dWU+bl18swUzm6rvOyKY6E+o7+0nByMbfDunApbxCttnQvN0wx10zG Lo6OOicfHWvgVG3D9UK/kjOSzTj4SCX9zOC4YHkd23FZIB4jJ7nK0Bejgf0ZXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh4Kv3ZG0zC64 for ; Thu, 26 Mar 2026 00:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 434bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 00:25:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: cb692380f1e0 - main - timerfd: Expect periodic timer performance failures List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb692380f1e05ffc4184877844e93051f24ed302 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 00:25:07 +0000 Message-Id: <69c47ce3.434bf.14adef73@gitrepo.freebsd.org> The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=cb692380f1e05ffc4184877844e93051f24ed302 commit cb692380f1e05ffc4184877844e93051f24ed302 Author: Jake Freeland AuthorDate: 2026-03-25 22:57:16 +0000 Commit: Jake Freeland CommitDate: 2026-03-26 00:22:55 +0000 timerfd: Expect periodic timer performance failures The current timerfd implementation fails to correctly count events on a nanosecond callout interval. The timerfd__periodic_timer_performance test detects this and reports failure. Mark this test as an expected failure so it isn't flagged by CI. A link to the bug report is attached to the test for reference. While we're here, clean up some minor style and Make issues. Fixes: 834c1ba793d9 ("timerfd: Add tests") MFC after: 1 week --- tests/sys/kern/Makefile | 1 - tests/sys/kern/timerfd.c | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index 0e505d6cb51a..e65b4812f90b 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -54,7 +54,6 @@ PLAIN_TESTS_C+= subr_unit_test ATF_TESTS_C+= sysctl_kern_proc ATF_TESTS_C+= sys_getrandom ATF_TESTS_C+= timerfd -CFLAGS.timerfd+= -I${.CURDIR} LIBADD.timerfd+= pthread ATF_TESTS_C+= tty_pts ATF_TESTS_C+= unix_dgram diff --git a/tests/sys/kern/timerfd.c b/tests/sys/kern/timerfd.c index b24d093b346e..cacc1d9aafa9 100644 --- a/tests/sys/kern/timerfd.c +++ b/tests/sys/kern/timerfd.c @@ -25,11 +25,11 @@ #include #include - #include #include #include #include +#include #include #include @@ -44,8 +44,6 @@ #include #include -#include - /* Time in ns that sleeps are allowed to take longer for in unit tests. */ #define TIMER_SLACK (90000000) @@ -739,6 +737,7 @@ ATF_TC_BODY(timerfd__periodic_timer_performance, tc) uint64_t timeouts; ATF_REQUIRE(read(timerfd, &timeouts, sizeof(timeouts)) == (ssize_t)sizeof(timeouts)); + atf_tc_expect_fail("https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294053"); ATF_REQUIRE_MSG(timeouts >= 400000000, "%ld", (long)timeouts); ATF_REQUIRE(close(timerfd) == 0); From nobody Thu Mar 26 01:11:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MB5wXYz6X3sN for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MB48hKz3FNg for ; Thu, 26 Mar 2026 01:11:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487478; h=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=LjUnC0OjkU0OSrlRFN8OqiyAOX8JIaVO7IFvYiYbzMk=; b=BSrmwg7HZX0GyvP95fpv8fD/H7bviC33COk8/dUjtYYeW0m8zdYFWP5ed4Q54nw4zrOGhU 6MiztdXU67wSuYjlKJpI1JhhEMfUNElH+J9/vKAL0kjvUommKIIMLCzvFYIfhjkI4ntAld 7gvPhXJ6enfouC4QO2EGJOQ7Rei8Q+09fpxrwhkfEhXpj7xNz0r2/D9UfV7ibosCVabDSF zB4E/KKsiWk4fFmeCQO6Gx2YQ6iH/b7AoluW22GxwEvQePBWhlm4FAO51QwHm7yBYksVi3 KbAZTt71vubJ5DyLxYI04k6J4wra5HXPbTHH4AS1tsdC31b8UInOmkoR8tH7Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487478; a=rsa-sha256; cv=none; b=Ayia5W20b9U+qDyX5eipbaTjlEq3i30QuLNAK2ilrjphT/KjzbUI87pyo27qhBWAe0u+BI I0ZmaA/+dWuxFci4GFlTtdrc1nJCUiyG+7P2w+uuo/qU8u6OSGNzVoBG2zjX4iMnGstC9W MJnSG27IJDVvRsVt3LNOHi/DFWlo00YrT8FcKfsUnoYWnOC7k+MmEEQk32yfAv5Uy8kTZz va3egdSHRzCJJ03el0f27Vmy+qz2kz2BbRfaW6ohSteQauiaC55A0g07j7qpturBDPRtns U3UF7ULqsybhbj2zjLzqjLzxQhDfjYr7Qo1s6inRmtuWz6nI+1quqNckJmOHqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487478; h=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=LjUnC0OjkU0OSrlRFN8OqiyAOX8JIaVO7IFvYiYbzMk=; b=eumoPsEl9yvDtvASHCWB9rxDncS237ZBEGI3xxlwzlus5JadbeC+LIBr69dYNwQNjtbf8E +5mTzV5By4SrsF5eWm2y/9kdDP6x0NtzZkyHy6yyxlRu+ZEVlnBzBp22dpSs1S7qVEFgVp DgAtnlnV4NcufGP4JXoFVannTDRDxm1DnKuZywgapwtl42+3cHOPV+8LVJSvnLCz3myaSU TQBdazVRvvC7QQ/Wru6AfpVlwpiLJaX0TtUsVAtqqNX57C31VBgO7wLDgXmxOYeoce+hBM YTqG7ZxW7Q75QhJ1x9xJKYByWbkMl8xhgqcuCzBsOR0Z4fbtNsT/Ab5WPsjqzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MB3fbfzVMZ for ; Thu, 26 Mar 2026 01:11:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d17 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Philip Paeps Subject: git: de9e5d82581e - releng/15.0 - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: de9e5d82581ec1afd8d8da62a4cd8345ebae5564 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:18 +0000 Message-Id: <69c487b6.18d17.527e7a93@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=de9e5d82581ec1afd8d8da62a4cd8345ebae5564 commit de9e5d82581ec1afd8d8da62a4cd8345ebae5564 Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:50:41 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index b6f428b279b3..5e2b1eb1a86d 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2202,6 +2202,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:11:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MD0FTMz6X3Q7 for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MC4nwkz3FLP for ; Thu, 26 Mar 2026 01:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487479; h=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=pKiyLkTw5WmHaOiasO916LZps4QmRxivLOcVcxLAMeU=; b=MYDnihEKBCtJFnoL9LeJY2OqkM2E2f+eDfmOTbMAH2xMzC1IJiDZ8l95SoaWF15lElTg2S iBzGyvKNXz5Rs/b1KcK+6Gc/9XKRTK2sbdyI2RzVLApxB8A9gXfikROE20w8f56oDxYyEu BegQU3NP/QnKTqvv6X+5FKXfPi2O2GTIgSkMgnVEVX+CAYgRbyvtGwApFJELCgG1kVU0gV HydDq7b4mls1ZZjnWtSf7G2qmytMcilCqMkpZKDr3oQ6WXk96HS+H4HfBbnQ95zXZrTtRW hktKqn+J0SyoSXE17b1APGVTjHZ+bO0uYV5hozoPlSknUmjMQrAVQTztK+QoqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487479; a=rsa-sha256; cv=none; b=V61aIz6f75nf4vFpJf08xYsplcnadspbe2Gd1xEGlU3vRB+xFmHTB9DYasbPoHjL/Lnh58 4FPm+r9Vwo27D3rhM3cSYexStlFomil38PxhctkAQqufDCMqSQu3UbinPn9LFTILQEgbXR JtvHrUdXym47VUaKznpxH7ny1AMnhzmHO49xjU27EQ+Pdw/TFUTGnpAosxSRNy/+CYbLf+ 6aKdRbum7p/sFXYljkr/h5+eJZcCum/RZasT3HYH6hDayvrqwrauEgF1sUBFkLqSRjW33q 8qbgJacofO98UFMSqqwQc5LSA5uUsQDh+IcNr93ch37VR0/5kYXb2NurjtVBog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487479; h=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=pKiyLkTw5WmHaOiasO916LZps4QmRxivLOcVcxLAMeU=; b=UY5+uLpy2J4kl6BE3ttWyE0M1Ay1DjDHNSGYlvOCF6rl64uHmYm5Uv6Ca1DjCnIxnNJzdK 5Rkq8blT9bcojpkGbC3k64S31wr9OIhgQeU64cT0JR+7rBaCRQ5TBT8MSDNpfHPl9nonhm aAid8n03TGSmzVC9H1CqV0LV9CISTuaajXqAuJPsbzJ7gADBBkHj8jhu1ZMbq8H5itZSjX W5vFaFaP0lJCJSr1rWr9NaXgE9nv+y++9sGtZcFl9/ax5534Ye0vE4PpR04eITMZkq6iQW zN2NavaEA9+ws/n/6fAr1/wHPZUpHXnJ2HCO07JgxcTMAiGzwQCzf0dRV1gVKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MC4HY0zVLK for ; Thu, 26 Mar 2026 01:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47eb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mariusz Zaborski From: Philip Paeps Subject: git: 48766013063a - releng/15.0 - nvmf: Fix null ptr reference List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 48766013063a737f063ce9122bd29bdc193456dc Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:19 +0000 Message-Id: <69c487b7.47eb7.7abbc603@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=48766013063a737f063ce9122bd29bdc193456dc commit 48766013063a737f063ce9122bd29bdc193456dc Author: Mariusz Zaborski AuthorDate: 2026-03-23 14:37:28 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:51:29 +0000 nvmf: Fix null ptr reference Approved by: so Security: FreeBSD-SA-26:07.nvmf Security: CVE-2026-4652 Reported by: Nikolay Denev Reviewed by: imp, jhb Differential Revision: https://reviews.freebsd.org/D55863 (cherry picked from commit 09c5bb35425bc70573c007e7f7e82be286677a87) (cherry picked from commit b1d32521747f42aea751d2742d26eb53e81952c6) --- sys/dev/nvmf/controller/nvmft_controller.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/nvmf/controller/nvmft_controller.c b/sys/dev/nvmf/controller/nvmft_controller.c index 390467534ca2..24aa1191b1eb 100644 --- a/sys/dev/nvmf/controller/nvmft_controller.c +++ b/sys/dev/nvmf/controller/nvmft_controller.c @@ -213,7 +213,7 @@ nvmft_handoff_io_queue(struct nvmft_port *np, enum nvmf_trtype trtype, if (ctrlr == NULL) { mtx_unlock(&np->lock); printf("NVMFT: Nonexistent controller %u for I/O queue %u from %.*s\n", - ctrlr->cntlid, qid, (int)sizeof(data->hostnqn), + cntlid, qid, (int)sizeof(data->hostnqn), data->hostnqn); nvmft_connect_invalid_parameters(qp, cmd, true, offsetof(struct nvmf_fabric_connect_data, cntlid)); From nobody Thu Mar 26 01:11:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MD6wPSz6X3xr for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MD5Zpxz3FG2 for ; Thu, 26 Mar 2026 01:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487480; h=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=rHVN7IGv5vBfXQtyGJuo37zSx1iOdzKMKxtGrvsL5X4=; b=NLxoY/L+Om8jbhf7aD+YGsnCAT+woYjeWQXBlFwKtZbWM71Ookrm7vmH49PzUWHpaOtKQN jllG9X7fGyMr7V+LVHKcXP7RXnVxFRsVrO9/e8tNFnw7vMsedwjXpXOlWl9udDS5Qemzb6 OXA6Ok2qbTcV6Ol3bH4sRgwR6hLsCTFZPSox3tZIjf01P7VZ0oso82AhmG6Cqi0D2uOv8X r+imc099JZ2D0wvzYv5x4lt1CnJUQ8VQVb/BVJdlXj9PvXi4IQnr4ToD4/YLRDv0wZg8Xx FNPXvjgAQxZi3lH8fCJO5rgdwaOM/YGCVdd7DbBVgpX6oEbEitL9mU8QNrVCeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487480; a=rsa-sha256; cv=none; b=m3QGF1bxN0gzqR+9/XxnB+FbSRI/6NKPb09fDOZymIB2opFXnoeGo8BtQiQG1N4wudN+rd aNexHOdEtHPFJnoQ/9B8wPNaOpQydkDTBnw+bGo8g2dyKidTs+PaBEZfVSLG6WXM6nKml5 ET2MNwqe+X5qB2wRgk8Q4iw9iMGmr44qus3SeyXGoh2HL0a696jMZpl8NyNCkwEK0TP/D+ rgckqf4CDobmUU9t3H4CKlJd9lZQRA5Xolh7u4eTxW+VaA0NVNkrUoqcsnEcLTd6KDLbve T327aFhbU2tR0pH4jUBkZG/1ofCuP9IN10jZNbxGRV+g3OHtGlOmlGO57eM9Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487480; h=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=rHVN7IGv5vBfXQtyGJuo37zSx1iOdzKMKxtGrvsL5X4=; b=XVo0oMg8w8I7heOmSSgrIg5S/VOhU5D0Qv2g5asbsT6mtqYCPCPPNJ+VwpG30K55y4zKQe 9DgzBQesHPFxaSf5ZhoZPTEHMkC7rxWC3RSvlzph+XK/18Jtwc8fuEL79BLbCIQ9kBL7EJ /5nmwYZ6BDxUuXWDgtXCtG7BPVCZhLctb5hIkSH9rVmkTNW6wyAuDBldm6WsiVE0O1GBZo Hte0CFr3BjIH8tchJPW3Ghb6dHHxj9HFkbdwf+krxOZhillzw8Q03lPtbbKS18W8fJ1BL6 5VjcxJOCyBViTY8mpLJH+kxaVJ6jKIqmGDzOHaas3UgLTlvsyy1WuGcoSziljQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MD4jx2zVMf for ; Thu, 26 Mar 2026 01:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 196b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Philip Paeps Subject: git: 4ec1b6213463 - releng/15.0 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 4ec1b621346337ae97089d85430d8439afe85806 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:20 +0000 Message-Id: <69c487b8.196b1.6057ebe0@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=4ec1b621346337ae97089d85430d8439afe85806 commit 4ec1b621346337ae97089d85430d8439afe85806 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:51:29 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 35c904560836..528112d5642a 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1170,6 +1170,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1178,7 +1187,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:11:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MG0s8qz6X3sS for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MF5sj1z3FJl for ; Thu, 26 Mar 2026 01:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487481; h=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=Ikrq99mOtwhHT11M0d2JZapOrUDVGqNcVX+jlaex55Q=; b=cbpfWygNatVNCJxyH330Yh77pLC2bUkDrycYvuITwfL9Oi+QAp6QX2UBLYw2wkRAk3udVp NHNNDundNS9Sy7MYCUzJCmcTKIe+BPMXL1uZYbPS1ZmRqT5PeKqX8NTuKFP13Jrtei5zVa 7OGEaLCruu3aNn2Met37JmrcWTpiwAMEEInxemFJA//gJ/1p2/N3YYKT2dN9uBH3FRhFg3 P3Sn18sud6XAR4srJELQHUZGK9iqDbrzzGuZ+8fMMmEk0aGqIez+I7cyi9srrL9Sz6fIet GCy1mz262ZV2DagTm3ULPPB/RTliKS3jepDxwWpZo3lu0qinGBYoHzZCpW/3Ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487481; a=rsa-sha256; cv=none; b=Rr/Nstotz0cHKTrqfc2svtEl7BVuQbHCeXJnIqn9A2ZfJAAESaVceHN4YnyUD0m48Eu828 4PsBVZLFwZgHfreYDUEcEzAr/2wL/2yMiSktE2hobjQV3IqM/frqkUjOe0uHI0gO5z9vNZ 7dHGY85MYqINad9F+kPbrh0b9uJMMAHJttjwRxTLz/DhZ9pOEWtkQaikREfj+Kl4dsytSj QJySGc8Wdl8xXcdzYA8XzLoFAXHOB96cbaNmn3ueqF9nOvQJqzL8vmpKzU+eLsChh0foGr 8q6wU+YRU1BX78jv3Yi8bxb8oXcwoEpAFVnycE4DGLJ0DhP2oBmO0gtriBcKzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487481; h=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=Ikrq99mOtwhHT11M0d2JZapOrUDVGqNcVX+jlaex55Q=; b=kjTn9/bMGe1Ip/ILj4QuMLEXBaqYj13BBeKPcbUOAu+hVK1Z+X2Cduk+6HkoNy7730+/xa gOaxvFjwV+5R93oFJsu4At6bpED7aqUFRJZYiI3OvGt4i4ddabbDc/Dd1kuFISeGeahYI2 MInlXrlAXIdYCoE4qcNWonNWemLBgUTMSicGgCPtZ8r52kt6EHs4hQAo9WUVrfRfvO8YXh gQd7loa9DV08/zoMNB5aUSUGEzwrs8PU1FGtWAU6usqF8DVOG2dbVy3J8sIh0+7PLIiWWj 4U1gRi+o2ztir0LbCQ8ZMMOqoABel74ksVc7McYzzZh81CzV5qJCW7IBKoWL7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MF5K49zVMg for ; Thu, 26 Mar 2026 01:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 471c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Philip Paeps Subject: git: 797bc7cae35f - releng/15.0 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 797bc7cae35f7e6ec59baba04a951150604e0431 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:21 +0000 Message-Id: <69c487b9.471c7.43d0180b@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=797bc7cae35f7e6ec59baba04a951150604e0431 commit 797bc7cae35f7e6ec59baba04a951150604e0431 Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:05:34 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) (cherry picked from commit 38f8ac568273fde3f41582c6bc01ea4b2c9dc029) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 856bbd6cb9cb..f924bde141ad 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1350,6 +1350,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Thu Mar 26 01:11:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MH2zhBz6X3lM for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MG6Zvdz3FWY for ; Thu, 26 Mar 2026 01:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487483; h=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=Sklz0FvjHcCNJbS/XBQTX8L/9fxvHgMdfCXvFja6tyo=; b=uEVBYD4UpaGK6GatH0qa7vR6FC7kgHYeSaybapnWdGqHsScgccoDH7GyqAOb9VJlpnlnIr gHAoo/VupejakpkgwY1OuH0xHcMOB26V0kPCJhd5HWBVMNOSy+tUdmFyVpxaXDnRjMPYFC pm5abZLqubbOp0qbaeqQcRx5/nZ6KAbKR/sYTw9j7k1lFq6J6hBDmlwsattY8jy3RqBeiL S/WqjpFad7wtfpwSNjrImvScZEGHs1FO4MQSlc4+/Y3ufmNTDacHwSaGIyxPlvxdDbuM2I N8ssVGDdSQNXJcK728+9umDRnga3UOcUT+wBuKWkoLPY0L0qOObu0z3DDazSfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487483; a=rsa-sha256; cv=none; b=TJn3ATAcIfAFmi5klrUPPBQDQ2uvJupCI8W17K5Ew6cn3T6kA9VjP/Z5QbhSGbF1Ns1a88 hT7NsDTW3oJGJ0dGS0wJFIDNRsdfPtWHQsZnSlWN3+QqPq46Hj4yIuujbyziY/ISg/PgfG HcGKN8sq+ZBTTjtCZuraUlZZlJdifllsKBtd2xW56GvByCjQq4CWDP940Sy3RMFfxrKTcU M7tYE4NYdVJt2URXZZW65RAwqEzuUmkHdUqkrSIsgND/+xcd532kFH/XUNRV1V3u40Wl6n PZKtLchbSqUr95irLHMvZs/aNQ/xeSUWTHcbiULxm6hPqi3pglWX9KK7NKKv2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487482; h=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=Sklz0FvjHcCNJbS/XBQTX8L/9fxvHgMdfCXvFja6tyo=; b=brwhS1PQK6TvGtn0W/M0gMjjfNBYOoqCtptp14BqLudrZEvdLdFEXS6TU1u3knNjtBkvAw hoZMd0mqV9PKeztPMKR0VQIzIugQ/drIDkoUivcXZy5BA+ng6h9LdssYTNEvstiOAQHE9V VkFMljJVQ4iXAY+nxX33WhmjKyvcrOl/Tz7rtWIr2m94JvgFHLK0AH/wYj1q82udkXczwu RzsnEw3PG6wXZjmqyoR74XJkYVXfhptfrMu0+IZSuNvlC897DhxpDpNJn1lztA4AGawLmX ffO+jgEYbg4BD4ffpRf5X4bryBsnb4rOGmev/u8UlDpH3dcYDD7r4obQ58/b7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MG6892zVMk for ; Thu, 26 Mar 2026 01:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 471cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: b2ed06fb35ca - releng/15.0 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: b2ed06fb35ca4ecf8cefb30b8901f5434ab12588 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:22 +0000 Message-Id: <69c487ba.471cc.36d6585a@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=b2ed06fb35ca4ecf8cefb30b8901f5434ab12588 commit b2ed06fb35ca4ecf8cefb30b8901f5434ab12588 Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:06:17 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) (cherry picked from commit 4e007734ff8e56eafb457986074206877b49df6e) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index e955068d014b..f6d973de7cf4 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -451,6 +451,43 @@ any_if_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "enable_disable" @@ -462,4 +499,5 @@ atf_init_test_cases() atf_add_test_case "received_on" atf_add_test_case "optimize_any" atf_add_test_case "any_if" + atf_add_test_case "addr_range" } From nobody Thu Mar 26 01:11:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MK4S3Pz6X3y1 for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MK1LwSz3Ffr for ; Thu, 26 Mar 2026 01:11:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487485; h=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=4TY6qlXhHbkAAfDtPdphFAALh6sAl/vQ5ZolXvDCqgo=; b=Hp61duCpQVXYFMFN4mdDWzScqd4KIwYuQAYER65XDZT4vY0sFCNmEBpDt4B6yPyD/9KjY0 kycsmXY9aapxcfhTCPOuJJp/PvXgJBkSfwTch60ugPcs/CZE2xwO0BJEvHsSzmVZrk9Dnb CPW24ap/rrYMpOyJbKWjbsxlfZ6/hwa6w9TW0R8WzthBQ1YEoHVXn2YIW1fEtyl64IP/dB 4r16m8TJNoNBm2WGj3xl6iI1Pq+SQmGofzvPs00U5y61wAaW6LabP93xfrrg+osou/8LPf d1EYilk63H2nOID3s0swRpG2lkqJ5SNKSaEKfrd+o9FUCVtaZngbGoRKzta0cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487485; a=rsa-sha256; cv=none; b=Qem/NLJPHTQUsF+JNZt+S21pNbddU5CzVQ4fN27LhXHS/nUphsy+gFnK00tJy9W+F5tWgm LVHcNEoiqX/UpR+hDEjVeaQ1mpsIjtaCeCmh4lyS33XVB3P3CFMHQ3/sxwsfTzMFp2sv/O nbKIgeRFpLbGqgbiN1c9ZviK+UlL1ZMKTAFmmwTdS9Suf1qNa/ciLRno/dnw92tRkBC095 uk5i+EJ0rvwKtGAtd9CEHsGWVZa0xlS3dP1WxNq+YwXgHOmwmyoi5GMSSCARsz/+ClKOlP nI0isFOTZ26Fs7nvMH/RyNtLST8bff4Mw8IJigTE58lDcESIjlCoVMSrdJ82Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487485; h=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=4TY6qlXhHbkAAfDtPdphFAALh6sAl/vQ5ZolXvDCqgo=; b=Fj8kSZNqxXjwg74/AKFT7rtknHMGwOrQ17l0Pi1Z7pRejLb5ypde96SYib/t3307ypK3nJ JkwlqQ5nsrag8TSArqr8G7aRCxsZ3+DiIRhdwtSXYXJyJAwrOYPb+l0GhAI8pVQgoJsA4S 6twFvbqvN+tlbsRo6TZ3sCEcldnaMZC35rlLlKv/4deQ9wgvKYmjnZ0SSw7tMEaTpzXUY1 j6JzemTbWFXfk2PAKjVhdB0HgVC2eNQyc4AmB+VRlIHVEpDCzCtk01bzegLgMtZewHh16y 0qOKe+bFXA2tfhRlqlrA+z1HNfyNDqHxiV8Xn/YS9/tLbiMbRd6iIxvBi//c8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MK0dlNzTx1 for ; Thu, 26 Mar 2026 01:11:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d1c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: d91cf52e31ac - releng/15.0 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: d91cf52e31ac86f214c17c60a2a18f1b66da55d7 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:25 +0000 Message-Id: <69c487bd.18d1c.2d96d7cd@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=d91cf52e31ac86f214c17c60a2a18f1b66da55d7 commit d91cf52e31ac86f214c17c60a2a18f1b66da55d7 Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:06:26 +0000 pf: include all elements when hashing rules Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) (cherry picked from commit 4311217a039cd6a09882fa7362021a1fb96c4939) --- sys/netpfil/pf/pf_ioctl.c | 102 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 93 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index f924bde141ad..749c3a6d3dd7 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1355,6 +1355,13 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NONE: + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1363,6 +1370,30 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + PF_MD5_UPD(pool, cur->af); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); + PF_MD5_UPD(pool, ipv6_nexthop_af); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1373,39 +1404,92 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); PF_MD5_UPD_STR(rule, rcv_ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->nat); + pf_hash_pool(ctx, &rule->rdr); + pf_hash_pool(ctx, &rule->route); + PF_MD5_UPD_HTONL(rule, pktrate.limit, y); + PF_MD5_UPD_HTONL(rule, pktrate.seconds, y); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, max_pkt_size, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); - PF_MD5_UPD(rule, rcvifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + PF_MD5_UPD(rule, naf); + PF_MD5_UPD(rule, rcvifnot); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Thu Mar 26 01:11:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MJ3gmJz6X3h8 for ; Thu, 26 Mar 2026 01:11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5MJ0TNkz3FM4 for ; Thu, 26 Mar 2026 01:11:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487484; h=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=VuQeJ/0oHYNPQDM858PbVVCwuLIToasbFpjRkfTJdZ0=; b=aVuWx9uDtGDEBw2Kv8aLd2X0TDyIU+QMJKxMfrUZOdMV44R7Wuyt2aBcXikIWX/qu9UVvu GQ9nBjSDwLsVFFU9W3FqJZaB0KHj5crJs5bjuOMeiEBgxv4g4CBzw4tJIR4wz7Fv7flhc/ UiCtT6F51HwX434dUXRElOxe8OSJGiwo5HdRGaaxgoRkdap5a3Zy+GwhBabkfCSR7UbEF6 ymA0WS4bOB04dZLCZFKp7poFNrN9e3kZ8bHsebOfKqQKSbbul0DTzzANfW0AXTvcFAXQOj 27miFh6TsnmtIsrmFA3s8bbOzIicLMQni0Db2tcG/g39ZxYOnzVC2WisxJ3+Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487484; a=rsa-sha256; cv=none; b=YGcIBTStNNFvjl5bWx4KZBgiwm0q8YC7ZLTX7OUUWMBGd1ri56AnFmpe0Yp7KIgEi9IaId 7+SfBaVISunsFktwyhvQEqWfUMV3guu95kFLsi4te4ljAYFIBP/EyCr/KmF8284mnThsZe 5ba4Bw9L8Uf5TzjQyb0MiYBTTx08A0FyfFfOSgpXvZU5OhdiP7somsbLdjowLLgLdD6ecn vXkESpM0GXIyTrJaA8/4UeNHWqHKni+nd3ekdZqdSYYE8861O0T/Cqw8R+Cx+PUkP0pfD2 SbaLIyp8lmydFhEp+NWBVmErIU3Obe7Oldn24FbA1Kjgmn0FUhWb7W5F5RO1Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487484; h=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=VuQeJ/0oHYNPQDM858PbVVCwuLIToasbFpjRkfTJdZ0=; b=OSYjF37i8xnedYOc8PCAXw2ochfF/s1MaYTcaxW+nX3Mh4UsrmNtRI+tnTcFH5LUWPYO0P S+SOfiRo3Jy6cu77KcGJadhpOkEyPQzh7G1L/M9xO2igpMbOZsITc7Jbfm+HZ95hR2ccNb 2gQpwRNsRTZ6qeKQwXwgMyGRjAt766hTCgd1uxRh9GKY9keGd5Y5os5MBmCyPR7l6cErNk xOxjMvH7iJKbC+MIf88xYMV+7jC7W3Z1+dlJTUoJ0KF8qZ9zfQ4bP+Pe/7qk4dlmIQHNW6 lXytQ3h+qquY/+5U06cvvRFEcthZPrgyyOFX8lp7ULy/gOn7fSqtj1sMi4Dp9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5MH6xTkzVLS for ; Thu, 26 Mar 2026 01:11:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19301 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: d9f9b4268f28 - releng/15.0 - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: d9f9b4268f28c5d47fc3726f525a5715eefabc76 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:23 +0000 Message-Id: <69c487bb.19301.19d17f23@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=d9f9b4268f28c5d47fc3726f525a5715eefabc76 commit d9f9b4268f28c5d47fc3726f525a5715eefabc76 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:06:21 +0000 pfctl: always warn if a duplicate rule was detected Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5) (cherry picked from commit e224b9b867f4e7de959afaa63d56672e13d7c454) --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 36bdd9705830..a8a393cf2949 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2189,13 +2189,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rdr); From nobody Thu Mar 26 01:11:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5ML492Rz6X3nq for ; Thu, 26 Mar 2026 01:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5ML1wcZz3FMW for ; Thu, 26 Mar 2026 01:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ic/bwfhPmfE12VgXQQORgrW5IEPjfnGEo0WoRgE2o0Q=; b=wwlR0WutDp3FmBVuAWRiyfzDvunDD97Arhx/kmBMrCbT1G7ETF5tZZrJaUTgNWRGwmsbW1 SBJL6AJKBtxt+CpHYn2xaXdPEdntNhH51q+rhqyj7M//M7E2NcNwYjpuv+74WWvG10tpWW vzsNAZ01wOMCvolpWCSI+0JNKXnGe4C39YZOI2+V7uzSc6wQpf3mOCKlNJVdk+lGZIgiqP T1xrGjigyTvPassdO/OP0t71RIssR5N4VUBY+IRtyNRe2+V7w+j6TicbX9dDW7uQkrtiDb ExrItPGPJMDlbBDD4zMO4MOn+dz7X8i2SKo6ByzxboMEC/jv8Tj+eBqb43U2VA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487486; a=rsa-sha256; cv=none; b=JXg1wcNIxvvdv2WIxTPuEf4E6fvV74XgI9cwEtEjVDQY4a6BdsR6zcdXuXB8TJ94IGL3al ln0BZVLPBt+9IVmcXjb3MjgeeEXty10hCmN/Yu1I7DBxZfKm/doQf92An46xXFMXiwFfD6 Gvs/Q6EPOZpuM1jL2AX+wT8f/iJd64fJ/GHZriralQnLDDfz5BpB4HFfs0PpcyWnlYJpQF 4kuUjoQPdgbsrKmlLUH9Pi4oezWxq34qzDyQ45ylzGPVOIlQzjMjJmCBDAkFICCnE5y5zb E3cWHC9kHnx3QBBNh8bimwIoYYCxMwtBSU58Mla4POFD39zaUqVPWQJtbSIGdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ic/bwfhPmfE12VgXQQORgrW5IEPjfnGEo0WoRgE2o0Q=; b=PUmZtRLk4nbKfRg8oyBSchC4rFtTfxSp254oVHS8CGGiZQzAvEJRhdEJzQaEZRl/fumgtV Xf4dUgRSFgsO/KqkQutiVIEBREKOcsT1i7foOczFnj3rHJGGA7PCI5StTGR1vdsP4WRrsp 5znFpY8bhLOMVab+D5IUkfeaprsaWFlDEceljJR3e/yMQUrdAHBxifih6eT4wjYj+agIXZ 4IITUYd8k7XMhlkzKv4EIrOt922A4HHyO5C0CFxJiopeS76sZp0bI+yaOlCel8Xsu7SqpA vHeMoKUsZw3UoBndKUU8CenVnLo4+ivya6IZWB8vOQGHaE+oIkx5T8aAb4bnBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5ML1QCvzVMm for ; Thu, 26 Mar 2026 01:11:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1822f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:11:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 0730d5233286 - releng/15.0 - Add UPDATING entries and bump version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 0730d5233286ff35e9fa83309faa1b2d52fe9a65 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:11:26 +0000 Message-Id: <69c487be.1822f.64f0cc44@gitrepo.freebsd.org> The branch releng/15.0 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=0730d5233286ff35e9fa83309faa1b2d52fe9a65 commit 0730d5233286ff35e9fa83309faa1b2d52fe9a65 Author: Philip Paeps AuthorDate: 2026-03-25 05:59:59 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:06:30 +0000 Add UPDATING entries and bump version Approved by: so --- UPDATING | 14 ++++++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 6fdc5195e4d6..c70721ba8726 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,20 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20260325: + 15.0-RELEASE-p5 SA-26:06.tcp + SA-26:07.nvmf + SA-26:08.rpcsec_gss + SA-26:09.pf + + TCP: remotely exploitable DoS vector (mbuf leak). [SA-26:06.tcp] + + Remote denial of service via null pointer dereference. [SA-26:07.nvmf] + + Remote code execution via RPCSEC_GSS packet validation. [SA-26:08.rpcsec_gss] + + pf silently ignores certain rules. [SA-26:09.pf] + 20260224: 15.0-RELEASE-p4 SA-26:05.route diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 3f0163ecefe2..6044b7921c52 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -51,7 +51,7 @@ TYPE="FreeBSD" REVISION="15.0" -BRANCH="RELEASE-p4" +BRANCH="RELEASE-p5" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Mar 26 01:13:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pr4gXKz6X44j for ; Thu, 26 Mar 2026 01:13: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Pr0rspz3JBc for ; Thu, 26 Mar 2026 01:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487616; h=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=UzsljwCK02DNufcQQcXuJFdrxmXqjTpAohWUPHLTOkM=; b=tlsH+7h3Z2u9n+jt4ixW4n5hTQoKdEy6e2fUs1bd3UX6mrdrRzQgY5RpQoMA1JgMtd9UXZ M3f50LenZji91uL4LLCoPgpoWBO2j/CqvqQxC11Y8zmlAc3rLf8Ku9l3IP0BpqgnTfkfnz Fmx3v9s8sqszOW4prd4TN4Jsy7ho5hohO8BHdj4DVkFEGc2xJ5WVJOfldMwJ7dvSLtzHSn Fm+2AS1H6DvvNrcx0zMR7SRpAYIJ3QyVq1+kNfKQE2uobgy+sSST6j6HE5U4haN+8gHJg6 LLRgz7nbOME4xJptIWm+GaIkN5p81og1SO55tdzD/rlTlgiIiQKwwpVKMORMAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487616; a=rsa-sha256; cv=none; b=f0jGe77//NLinbBDZv0pRuBbRxRioIJlRtMjUVNRtAxqdxh5RIaqwjvWsxWkSFY3dFOwk0 LPFV7i41IKam20aMQukkShae0jIn4CF/v9lUSRmePjc8G/ALcgStZ+cE7AOMnmA6wh4Up2 GncJgUhmRgcEI+R3f02+v3Ro9B7vGtNHPRBOoKPCMFxce06IcWKtD+wgkk3hWKzB3cqbtd IPLtihl+2HZlLoWYAz7BHaAdBhoHjdFU7hig1ar00Cf0FL27Sxc+ZnedsWkdnP4flPYDrP wgvADi7FPy0q1H8j4yHTeLiAROeEMiVfqu/5yN8Z5lgxYAMnluEaoEoMln0R+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=1774487616; h=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=UzsljwCK02DNufcQQcXuJFdrxmXqjTpAohWUPHLTOkM=; b=Qjwh7nOzIKz9lQfA4TJv/nl592SIZaoh0tLe9W9rK8NyP5sxAPeM4L+GnvdldEI0ZtS8oS HBIu1vfXAZScnUdwwpidSCvnH6rejmPx77g5IEivRxlWgGnsRgkRCjocouGnaB47a2lWXT bnhE77BjglbqrtTalmjAitczKRzqXC7jegYHtNI6RAQTjPflU+khSRFJv8JBNTW8OzAJ7j uEw12aChnrGVTaOe/XHErbQ6slEDqhsafJT9H0an7PyCg2RFATqWSlCtSXnmA4Z6D7pht8 CtFTHtOZj3bsz8Xkd91G1X3jNVkXTGqj/K32akA3JQqYcmfMErEI3MPuOL8cmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pr0NLszVXd for ; Thu, 26 Mar 2026 01:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 196b8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:13:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Mark Johnston From: Gordon Tetlow Subject: git: 143293c14f8d - main - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 143293c14f8de00c6d3de88cd23fc224e7014206 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:13:36 +0000 Message-Id: <69c48840.196b8.4cad278a@gitrepo.freebsd.org> The branch main has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=143293c14f8de00c6d3de88cd23fc224e7014206 commit 143293c14f8de00c6d3de88cd23fc224e7014206 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:11:54 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 35c904560836..528112d5642a 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1170,6 +1170,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1178,7 +1187,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:13:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pw4Qxtz6X47R for ; Thu, 26 Mar 2026 01:13: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Pw2FDvz3JBd for ; Thu, 26 Mar 2026 01:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487620; h=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=U7xC+d9JOhAKcZJ4JDrp6hhAM+2SmPnj5J8Nx8Sw6Nw=; b=f/bWVYZyZ32RhBTXa4vmZiTJ/sD+yxlaCdPrF5kj3kqbPFshCCNYEE9QwhVBmsNNCtyyyv 8tSz6JRxTmp0V0BgtIWiXLFFQklDt3ihI7iiU87BUEdEdpGhMYQ9V1RA+CnlGyDZawRHnJ 1JwZ0mVK8F98PhItjpmTd3/wMdreFmrLNMaTgq1/NYIObmWNnnAEg4+R4aSyWhPwM2nFgh e3U++lgyZ+qwbQb1eo4OFKxMa+KYqm9lfuUlUwmHuM10clAXXcH9AgZLEzIRgz7dcg/PA2 1irSk1R9/wCggcaSqxNLwgSkHnng49pIOTMKAOdg28+fmjXCGCwanY5Ce17SnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487620; a=rsa-sha256; cv=none; b=MgXG5njA+IQeedITFeKtnkCc1eXyhsgUulmZP/ib6oESj/BasOmp5zwgnoxDcyYWr+JsG3 SOHg1KQNtcvHOK2SATYlM04oax8FCSRWoTlsusY4Ooau3ZdWva3V2NOIqOfdJ2Xfnkui8L oFPRb2ZdGoFTrKuu3c200/kL+I9usE4XFhW5grFyTIfknwmw8EHO6qdDNFCKw062VtIlgV GZi/Q9LiUhfGs1C+ByAvOMNZhkCTGG3jKbkFXS4DZCinrAkR6kNAHRRK2olU2pZBuZ64O4 M8YO4CLbJmvj8np9VgkIjyEBA4VvHWg9s3Rr1M7KFE2HLvsldPxN0bQyQqnWyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487620; h=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=U7xC+d9JOhAKcZJ4JDrp6hhAM+2SmPnj5J8Nx8Sw6Nw=; b=yFlzl8Fb4dcPGrd0DzTPueTd7z9tDWqYSa2J5VqoWiZ5mCA0zRlmCr89xWDJXGrv3serrr FyBvzS3SNsoOoTRVM7F92ZI/vXpoW2NwrLBEV3U2RspWzy6Fc+2puOP6oJ0r1cZ7X9ihYx dKTI+GjZEqJ9PA75kDbOwPmghbhKuVO7sG8wuQbF+/ROftmlXZoM0jrsQi04ObNz5o6YHX asYA8W1T8iKdIHB/o70tWqD45lakkCm1uQFo/CSlp0UlOE/T8X/WWQ2JeKpQL2GRXY+HNh 0sszpBVBY3Rh27/gV1TU+gpza0CzXg4VsQ9qAlTnwwvP79aEfp34jpmFwy+3Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pw1nMMzTvQ for ; Thu, 26 Mar 2026 01:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19308 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:13:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Michael Tuexen From: Gordon Tetlow Subject: git: 6b2d6ccad255 - main - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6b2d6ccad2552e46a5c9c3ba70b2d0ed27c70ca8 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:13:34 +0000 Message-Id: <69c4883e.19308.14bd579e@gitrepo.freebsd.org> The branch main has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=6b2d6ccad2552e46a5c9c3ba70b2d0ed27c70ca8 commit 6b2d6ccad2552e46a5c9c3ba70b2d0ed27c70ca8 Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:11:54 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 8aa8a7b7fefc..b6bb0221e872 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2216,6 +2216,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:14:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RN242Vz6X43V for ; Thu, 26 Mar 2026 01:14:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RN0BQBz3K3v for ; Thu, 26 Mar 2026 01:14:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487696; h=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=9n1rq3RRY9r/IQjfHhDFttqK2hIq4bZaPDXCwaq5H/Q=; b=WzQsjblSdy7vL1rhw4tytbc9YWbE1pSC59gZK/YmTBdu7p4v461Nf4yyzvrnyX9Awk9JqA qejWhSCo9ORoSM/Xw6cNfkGMM0lVvUCIrPnGt/vDDX/S//0oSwliZbiVkqzugsZl5hfwQd RHzTvWDg5jlnYe80XqZUFEfAtgb7TV/rC9mr8/pX2uqPhlP3CxZc0mMNu3wN4eQPFhoAer v4FNNPUdK+/UIqwMUsi/LRlKzwO0ptsG8KwHtwX0Y4TWbfK5P2ighZXs3ErXChtiHaGI5c X/EXSkOW+hP8bNvxHPR+XuwSzfV9i/wq1TWKS6jG3krMOTXUHPIkVbHvFXpK5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487696; a=rsa-sha256; cv=none; b=A9dXba1USXleK2U1qKuOypH0XcEhwA2OMNW47pthj0hZT5HykkNwzPWJQmEnlTi/zRRjDA M+Eh7d5IB1NUjHwjwcn7kYKrb9UfjAESK2DspJei/AuXgTcMY4gQvkSL2PdFff7CgF3eG8 KWZWccldRy5FQfc+OQciINCiw91+2KuiJmnjKs5RtCdsWmHk6ARqpT4055K+R5ua13kDFQ SWupNrcbsK3/Q7AbSthqxI52dPlPEdr3kPDEV4pZQ5CdjeJVNZBwyyC6HkGA7EVo8k2XsW CFBNv6cQnZPdwp8P15kqXZlX6NvbXVlAZ6ktun+iJiIruRiSdP8pMGdi0GFUbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487696; h=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=9n1rq3RRY9r/IQjfHhDFttqK2hIq4bZaPDXCwaq5H/Q=; b=OcdFm5vWIYu25qZnldMCtIXbcKwdfopGpxG4R6I3hnvlOkUCPmW4C0LSwAZBhAwmd/cOvY K/38Cc3fRdeY3B9imC5nIOKty/VcL2dc+WhYvcFmXmfSQujFTyqth0kmjC7xjN4ZSJDN3V zBhfYW6Llz1EYOQqY4OYlrNo9uAyZkKJ1wLHj/3ydED99gIsMuIZvrX8CMHARTYlaugLSe Lch6itf8Om+n7tmq9TDu+yqnjKxnfxtJE9ww5MkoTEYrDMQ7MTovvYnJnR2aS7AvGqgDl7 lWGi179khHa1dlh5f1Igtk6Wn2X2MtlAa+WaYfUL5dAZBSmzsCaI2aYiEDfTwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RM6p12zVfd for ; Thu, 26 Mar 2026 01:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18ca9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:14:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Philip Paeps Subject: git: 7ea03a4238e8 - releng/14.4 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 7ea03a4238e8bf6b80824cd9a31e219020f4feb1 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:14:55 +0000 Message-Id: <69c4888f.18ca9.17777f2@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=7ea03a4238e8bf6b80824cd9a31e219020f4feb1 commit 7ea03a4238e8bf6b80824cd9a31e219020f4feb1 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:54:10 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 64038240ab37..031e6af5c1b2 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1107,6 +1107,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1115,7 +1124,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:14:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RQ5RLYz6X45T for ; Thu, 26 Mar 2026 01:14: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RQ1P3Nz3JwW for ; Thu, 26 Mar 2026 01:14:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487698; h=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=W/YWOmN/vLkZUfgl/yp2UP1lBmb0ikbSr2ArBkSf0VE=; b=scF6Nf6iS4CKQ+wcQTmTlyEAedGhfeEj9yXVgE2SaqUNr0yA+XmSwieF2QbK8jl9EEYG5c 3APTxmRKaxv92OZwCmacoyeINsIyn7EOs/aWyamzHcPjT6ixm1R4cEoO2arYWLrmU7RoWT fl84gwyJr/9J9BsDJf/Z94TQnyZUAjIB6zlaq7JbuQrzL4+8pLHJw+6zrI/RQa3bIxSRDS wG9/0HD5LZaMDdkjo84/oiCOHpYvgydgHGdObIKXpPZIeT8X7/jBx4K4+a0jwJy18yBCG7 QgnG6JQslZTK3ZGCy7zMkq3oxExQWMlK7yzk3+7bbmo4F4Z/2Fk1BzvEIxOrNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487698; a=rsa-sha256; cv=none; b=xq/+P5wuUe+E5srPR7nBusW1M93+xawyA0WJ6R4xjieejLoXpEHIxyISRJOwPq9d5xh8wU ZY5NrE9MDm4wJYBsNdnPU1FvfQw0zUDByhxFT9w0J6GdaXsaZIoYV6DKehNS1ILqyEus3N 4CqiyaORd+x34vSZBGz/g7bkHKEbgeI/eiGieNsGz2kUgsZy9SkD9xlAxJRUVAASsiAUmh 5DApkVjjty9OmWjDeo/I///8Ij66bSqFKM+8t2hlFS9SARQgnORJS2dlpolscUfxdFlQOw 28zNpr8QyaTcBv0fxDj3yjthMNQPv+Jl2qLSXsc5s2k+dHB4cIpomBeXq54h6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487698; h=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=W/YWOmN/vLkZUfgl/yp2UP1lBmb0ikbSr2ArBkSf0VE=; b=SASE9M1WHyUGA9+zsRzY8+7YucrINl4ejimluD9kEhjIxsyK3tx4kjH7Ir2J8RA9Ov9xOj Ma27jvl9xDhYZeHmJ8F7hCLoxhwP0yD2KFcV++4CLK7jshnJvJGoaIbUd+C+Ipcnsc6m0c 18ps/wtmEGd2RruTYMHWbLu6EIN4NMVDGObsuN8Hl3vpqDKOuuxTPi4esJ1rC1tE9Z7Y3L gN01NIzz9RUC0GsaEQDN81vJ9Xnd06ftbVfI8hL7aBfURniNg9NLQNmE5pyYFjvq+bL1c+ A9xVFkT/bb2ei8Ddq8X+BfgLj+psY2bvBXLHXpZCZhypCCWhIzZLPbPNOgvJYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RQ0c9SzTvV for ; Thu, 26 Mar 2026 01:14:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 193af by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:14:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: 984b570b4953 - releng/14.4 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 984b570b4953c6b01083edb94a2eb4e0c5af572e Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:14:58 +0000 Message-Id: <69c48892.193af.53187397@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=984b570b4953c6b01083edb94a2eb4e0c5af572e commit 984b570b4953c6b01083edb94a2eb4e0c5af572e Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:10:59 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. Approved by: so Security: FreeBSD-SA:26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) (cherry picked from commit 958dbc87e9c59a2e9f83d84115ce03fb96e9b249) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index 792b73b4a0a5..b91ba7f9ee68 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -255,6 +255,43 @@ urpf_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "v4" @@ -262,4 +299,5 @@ atf_init_test_cases() atf_add_test_case "noalias" atf_add_test_case "nested_inline" atf_add_test_case "urpf" + atf_add_test_case "addr_range" } From nobody Thu Mar 26 01:14:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RP3Skmz6X45S for ; Thu, 26 Mar 2026 01:14: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RP0qpmz3JlN for ; Thu, 26 Mar 2026 01:14:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487697; h=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=FKC9CEqmo4AU5HwEJiJnMmJUbb27rc/7U5NgmNhQdv0=; b=TIgBzqW/5VhWLnkqCdO33BHJJa3UlvGihrUt5zlRJNMBokLEErkwAeg9O+t34l8zpzMzIv kS95cYEeXNvEJ7Olia5fZyOa2/774ZtbJiqRhoVgfT1aTHt5far4St7CSBhs2haDkMDEM8 aN6apKtW6rtGmlG4ymKuureeILvZO04nSFODcsbjw79Z64OfIq7f+Td8ryZCLxjRrp5eq0 FyJdBpLPqgOjwYF1RSjDQw+sfX/urO3KwJ+0oshNUlFvduauHocnPfce3GArjht3s9/jpD VqtWo1jBed3KrclX1gwE7po2Vu4N5AXnt18yk5dLbOtBQcDkaOl5HIOvrbSXaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487697; a=rsa-sha256; cv=none; b=u4sqf+FSPmv62p+8EJouZ5k8KwWnGJdpXWklsWcvRloQA3go6XRqrt9R8g6etEDn6CeKHp mKLdh7UStConAyNaPSOOucE7Ymr3WgaHiaj3iZ+NPXrzgswheu+6P60xlpYUb/WsL5hGEm haIdK4e4Uf7xOXyEtdOUu1njiNKq5FWszyJAmYxvmLi1zyZ+B8IZQ0Mue+w21LJ0wp64z5 MkKibAn6Lg+nzYy3z6WAXNv0gBRlZ/yrCTKZR3/SJoQK5dznSMRW7AtBH9W9N2DOKPeotH y6JNYaCYEteesp4kwGZX+YuZc2LCy7vZz9Fl80N/FP3vmBG/4UvL3Kd+THa04w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487697; h=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=FKC9CEqmo4AU5HwEJiJnMmJUbb27rc/7U5NgmNhQdv0=; b=nNgsDbCBbSP2f8d4zYVLFx4DPU+PkyaFbWoHVbVUDhTN9lYSK13/E9+1JI9BeOsXii8NeH olrAmD/R5r6F3xcuR2aDJ6soDv8IE0DOHwfxDWqIUvUzXBS9qqILLv15Na9QOQpwndjKXo V+2DwIoVevNLkPaZ2PCOk2nSeoAwEveDlnmPnBPqRMn9RKbKNtqsdSfdj5Hut0BocCXE2d qoYTz94Ap02zVKqf7d7MpjfnBeGMI9hHNny2SsY5RYm6vbRIZ/RPnCYhnuahL/FbL2Jhci DcYlIdGMdcsD6QCvVg8HS9Tj3pXpOXbxEK7geEuBWqxDhazamuwslkaFInWDjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RP08tdzTvT for ; Thu, 26 Mar 2026 01:14:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18f94 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:14:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Philip Paeps Subject: git: 4708ee4543c6 - releng/14.4 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 4708ee4543c6e5fedcfe77d273a5d5de1b58779d Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:14:57 +0000 Message-Id: <69c48891.18f94.2433ec52@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=4708ee4543c6e5fedcfe77d273a5d5de1b58779d commit 4708ee4543c6e5fedcfe77d273a5d5de1b58779d Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:10:16 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. Approved by: so Security: FreeBSD-SA:26:09.pf Security: CVE-2026-4748 Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) (cherry picked from commit ac6bb58a715eaf0afb7a80dc87083f9819e10ac1) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 663612305f1f..1fff0667aa1a 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1264,6 +1264,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Thu Mar 26 01:14:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RS2Zyjz6X4K6 for ; Thu, 26 Mar 2026 01:15: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RL6RPsz3JlM for ; Thu, 26 Mar 2026 01:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487694; h=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=2OHilYDXFEedoEzBGk8oC5haDTInU+ovD4NDaRDXlx8=; b=MPr3ATkg0pHuRVwKn8uyM5hYYV+k+sBSHPuxc3S9SnRohpbGXF7Xq2DJciV4EurYLbHnE1 9Rkfx3I8fmunz9j8FQvnIRcONnLllkRKcGH4zMTdvIxdVQV8zLW1PWcgH8MAFmSEYylKHv V1/+VdmzoolIxmtJQf8SMIWzGkdpfpxp7LFmVWYM7aoKtIouI0pvku6z35FZTA8fomnuXA Yk/hdJ6zaIILSiqoaAsTkX2lvpUNK3VPfag1kMaS0CUjsffUk8/wDqHBS/wyFh0FAGYq2X YUUjPFC2XZNIVbztBp6Qb5sbAs2POP/40oyogr5RyTRTrk2+ukfAYOeaiGkYDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487694; a=rsa-sha256; cv=none; b=hHe5j3vbuLH4qRuqHnsHviYCYmO5VT4mu166O1Xwur6YSKstdwrRoIz47nwEJDX1LZ3y8+ KMDBBW/kPPeHmeH/g1RiV6n7RUfUR1f3a94e9Jt7aqkcleHmRf226r/S/ponHrrorgHeZc SdbuzBXQF6XJ98DuRAf/w/J4BB3NV0WNN4B7To99BiXI+NFhgEiYnEWtADg/tYtUtqSws9 pKa6NmlPNDJn86F/kyIl1pxc2wPEmRdoRbL64/oT/DJpeTWU+c26M6NpAxS5NJDbvwzFlI See+ndXhOD95cxNqKkfbbni8Gyq8AA6lkt0N1I/92TLknjCqRgJ4j87SGEf4Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487694; h=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=2OHilYDXFEedoEzBGk8oC5haDTInU+ovD4NDaRDXlx8=; b=Un91V/k1r2LCx1SwmWp20V/rixU5QRVA9Mx3iqKgnUHe/6YsS7kadMEqDmyyh04P1obe8m v4hA4GoOLkIIhDc3zO2r7SOf14c+3pkyoHJD/3LAxWhBYx3yv8ZI+3e7pEZhuU/OjJ/Tp2 uOkM/3d3Z0qZOtC32nHSZelo/Ia8uIQ4eHCJWK47Gi8eclcXq+llM/A3qecWqvn2/wCyhc 7ENes5OHl5sst9h8xqGWrW/CuIUiHtiirFXZdKq997U/Jhvoa1ApqSRtEgk9JA2WjyykeI AFw1m7iNZ8JcC4zLiu+ZQA5oXwazkLats6ML4V9fej0nnvkBq5pXsiHZyCodHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RL5yf3zVXg for ; Thu, 26 Mar 2026 01:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 472dd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:14:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Philip Paeps Subject: git: 44dd8b58394b - releng/14.4 - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 44dd8b58394b8a3bcfa68f9aba1a4a0780c85145 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:14:54 +0000 Message-Id: <69c4888e.472dd.26604451@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=44dd8b58394b8a3bcfa68f9aba1a4a0780c85145 commit 44dd8b58394b8a3bcfa68f9aba1a4a0780c85145 Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:53:41 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 81b378f496c9..32c30dc4d067 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2276,6 +2276,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:14:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RR5hZgz6X4MB for ; Thu, 26 Mar 2026 01:14: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RR1yyMz3Jyc for ; Thu, 26 Mar 2026 01:14:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487699; h=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=hrh4fbkmdrRCN+43RTIZBnNXeoQ65H/p9js3Vga8I98=; b=T3siq3al/badKF7KVrolQNDq2bSXPt5CrJHcNSGXn6+KldXVZMEYdN964xsOcCycx6rCIq ztcZWjUp7X26sr+t+klEaGlubMCJijGpXfOUos66kwCwvn6DKlahtzqer335mDv2svgmbx 1oSQAJ3bZNmesGC4bgB9J8dw0jaVqRTHD3ZLqCkOTx+z/zWIeuWruYyu+BXR5S8XHEuEq6 /pEBIjLNSMb6speTZ5qNZlrUZ5lIuQFuGrtr3o0VUGvbFT0vLsnkL0vdqnCxU3LqFFILwc 335p8W+prxFvgeGzbM0DOCNM5LM3Tai9OwOHSetQtLLGAbZ1ZuztQ9WzBwFgyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487699; a=rsa-sha256; cv=none; b=p6bX6aYgFvjvv8Hj1Ms3A6NMQevkqxHyusGkw+jW7unqC40eJJAYtppAtVANqogJTLMPSo Gooe5QzG672KOhStqPuVxiVK6woFGjjCD/cL/5mKy4vc9HniR/nWr2FjmJ9tB01+HVLjws 5xvOJE+nkO1MeBvPgtgubXwBsylh8c2v1dFfyU/0F+nkSHnnNJfA6BcowuY7oRDhL0w123 Vxy4MnR3dWAPNs3zv5KkU1b3pOMJVi3hrIvKrWNvMHMPCLNjIU4cZvAObZw1V3MspgBdW8 Ys0NklQUcx5q/VQ9JsAk8n9qhE01ZQx6PNVzHFNK3rlGBz/QCCjYRy+/GodA4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487699; h=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=hrh4fbkmdrRCN+43RTIZBnNXeoQ65H/p9js3Vga8I98=; b=bey/blRNb7i79waFXTfMSwlmDJKiWUL8kVUkzLtWOLOdkO27caeo8eCm+4eWJRI5auCF3y FWUdDyAFM0BWTkG6rrqNrras5p52RKlDyyEvSYVZk6Asi+izTgR1TFq5E2H/NUeZ5Qf4gR 0p53/HIP/pksagobY30RfjVFRINdXFe1pOYCC8fN6tqoVurrIcxEMOhQccKNRyZcI4MM1z j6sFMZbUFVbMmuUcLpGPZL1kFWYmIMiZ9TMAls4gaQxaR1eu1KJ9Cn35JCQnMHMtIufpf+ xRRfMgTfcYZiyl1vcDvaU0EBx9iB+Rd23LcVWUemsbfeuWf5Hxm1kJxwoA1ZEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RR1b2GzVff for ; Thu, 26 Mar 2026 01:14:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d98 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:14:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: a429dbb47ff6 - releng/14.4 - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: a429dbb47ff638934ab5f9768af13165e6ca2dc0 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:14:59 +0000 Message-Id: <69c48893.18d98.456a5d26@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=a429dbb47ff638934ab5f9768af13165e6ca2dc0 commit a429dbb47ff638934ab5f9768af13165e6ca2dc0 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:11:03 +0000 pfctl: always warn if a duplicate rule was detected Approved by: so Security: FreeBSD-SA:26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5) (cherry picked from commit e79818ec36efafc994d8c5a912dcb94986c038c5) --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index d6bb0ae7f46f..518b32085565 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2043,13 +2043,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rpool); From nobody Thu Mar 26 01:15:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RT5gRdz6X4PP for ; Thu, 26 Mar 2026 01:15: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RT3c1wz3Jqw for ; Thu, 26 Mar 2026 01:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PEyDJk3DPE/vBTTtWJpG+rR550+yDXLkMyR88INRHys=; b=YX0WB+ZPzSSyguKOwg5pCLbdlgTAvy391vIl6WbPNvOksm7o8r5pG7W6ue6EFPwQ4Tfc5J OkNUohZxzDcwl4XpT8G7VtNh1hCGiJ8jr2M+zhkH1PJSLCcMZaGXzIEuPfY81CkZQyPS24 XU4cs58pAakQ0uTJ+jjG9lWVKxoWXyaKD8dCGTx5Y4dCmdhfTFB4qf8y46RU8hmVZBwRCW AIw1MQ0wzhs8v86ipDEQaQddMMUYGpONYMloqYzetwQMnL4AVCy8XukL1jFIpYAkSjUQ1C EUUtpR7BzQu/b/YjO92Uq5gmdSXW+ZYbFQ+pmaHRQ0aJRWJRTh9WWD256yeiJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487701; a=rsa-sha256; cv=none; b=YAs8pgHGZAXcqlJ8KspEQ862Sqmn3CmKI01QaNHa3eRmLBea/Qi54CVQMi4ZOUP6k+4h/c dToiidEP4n/ENNCkz0kovnYLqy9j5155iRNWImYdVM/Wy7EbZxPiDH50xqsDrbVS0xdytI KV+jRE3y4XlA4MsoNtV2lraSJFZ/jYo1szgCzJw+NphF9pk3fHho5Di+AK+eEEISEeBb9P DT74mN/+Ey7tV/G1nZ9skD4QhZOLZVvpv2A0qB62Got98AnlOufKsp2kHLVE5gVhg+wIOK QFhvYGb0lVgAIIrV37siorR0E9FvByApsZs1q2islXtiEOgMl1INyeH+d5faFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PEyDJk3DPE/vBTTtWJpG+rR550+yDXLkMyR88INRHys=; b=rauDE1DPz692BkXTbv9yT5yZh3iiJz7ny32wfKAKG60oLpAg+wBr1JvSIsQx3lefWWO3fh 59y9lDC4X8OdaQcRrVWujOnHq0SndvhBBCfCUopHSLMRovpOyrdjZwJr0kvUBq2vAxUM5T PNyt6JQVzzDllKWDVvI2mY2Feqapide7I5GTw9qZQwHvVz0hhJeGvfUqOUdhdvtXLAeXJE Rjj2dGHX8iUPiLeiyZLT2O53XUE2QFUYJihGe3ER0nqYinkFGBqkBppISf8bRjtkLBsYpJ yalCYGgmsxIht7S3WjDvmdEoQzWKmdtYTzIc04Cas5htohjN3k4IMIU3N85PVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RT32zGzVMj for ; Thu, 26 Mar 2026 01:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d9d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:15:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: a5812c77639b - releng/14.4 - Add UPDATING entries and bump version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: a5812c77639bde4b460db04e8050b09281dd7835 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:15:01 +0000 Message-Id: <69c48895.18d9d.53989773@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=a5812c77639bde4b460db04e8050b09281dd7835 commit a5812c77639bde4b460db04e8050b09281dd7835 Author: Philip Paeps AuthorDate: 2026-03-25 06:05:40 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:11:11 +0000 Add UPDATING entries and bump version Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 42f8d9788aad..37cb107c7947 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20260325: + 14.4-RELEASE-p1 SA-26:06.tcp + SA-26:08.rpcsec_gss + SA-26:09.pf + + TCP: remotely exploitable DoS vector (mbuf leak). [SA-26:06.tcp] + + Remote code execution via RPCSEC_GSS packet validation. [SA-26:08.rpcsec_gss] + + pf silently ignores certain rules. [SA-26:09.pf] + 20260310: 14.4-RELEASE. diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index ba11232e7c54..329e4ac3875f 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.4" -BRANCH="RELEASE" +BRANCH="RELEASE-p1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Mar 26 01:15:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RT00bqz6X43Z for ; Thu, 26 Mar 2026 01:15: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5RS2qWyz3JwY for ; Thu, 26 Mar 2026 01:15:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487700; h=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=OQQSdTtV+1W9VXeU0pMe2VItcURXmXXMjJ4NQINRL9k=; b=WwU7kcqU+kRjJvfVY62YDQFUkrmtKcz+yJ8H3BiDIJhGCdZSq0W5M7AECyjnPwRlkEQrSI 3yGard4wwJ3Ip83Nda/lCPd8Tl05chLi+Nb3R0BTILBCy3rGwbJHlMg/3vvYCeFDoXfHHU QRl3y5Lwd8oVzVysaM0OWsSpgCq4ln+lzCj0kreNEDNrpkOvI36kaxL5q+U1fUgmEj5S9p 9N3MNFv6rTB3a5sEuh/9sCVfeKkTyQKbEY4VIJZPGL71XpDarZWz/3nc2OrkBHcjs6i86v KCT3LFllIZj0/jh6CCAu9kLSp4qh0cwEAE+SI0U9bgYrJnyqXXs9lPNCZEh4fQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487700; a=rsa-sha256; cv=none; b=npOv5hJUjgD5tAyvMaIlqphwEiyeSbAKYYAAV0jE1h24lXPee8/bMUS9EHavX8gzNNGCBl 106bHgMXrrwoHuftIw/Lp8DUUEXP68F4R4ndWOwN4wIKTIoC9P8AqWDHQNClXTxa4Nl/Hk 2pbK3TAUzme7kX59c3SyWkDMhMmL2kGx772Vu1VorfZ26UymcIb4I5uqGbWHuIwZrGxzF3 Y+mOTo5Z9WliR2tnbMM9RJ8UcVgdAoiDjckfkDff8+3Qzcwp8lx2R4ghg5jlPwhwkBYjsN 0eQdFDhV+wjmijg7hPgkasqX2sCrhAEjKBACecZU2737E+TYotoSLbmIVSEDxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487700; h=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=OQQSdTtV+1W9VXeU0pMe2VItcURXmXXMjJ4NQINRL9k=; b=oHPngRJPg5JqXXt7P7WF0112mbTxkuaeRfZwGsnX4Wd9Mlyo5PbLqlCrU8YGWjIQtJ4elo rLWlgzEROZ3UpIVP1dDJ6L8LWUFtXDKH4NxNS8eA9CDZiKGdls6ZxPqv0LqFjES+yu9UlP LvE0ZQ5a3vmVQW/w5iWSYCavUfxCBWyiL4bogG1E4E/tZlTI6j/+65OeNJwg5gDTnNUBtX ArX8F80ra2bNu/Cd145aG3HYlQFLbhh2QVuct0hWo9HqUsHhMc3Wq8XKv3T9pGUcSRN2l/ MUI6BHM0/FoCQPWpM/sxmD8+/P6cMKKapb02KXtUdTkq8YbAAm0uAlXCUG6iug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5RS2KFtzVMh for ; Thu, 26 Mar 2026 01:15:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 181c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:15:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: b6865bca4ba5 - releng/14.4 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: b6865bca4ba546155740a5047ff79a6515b5805b Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:15:00 +0000 Message-Id: <69c48894.181c6.29857380@gitrepo.freebsd.org> The branch releng/14.4 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=b6865bca4ba546155740a5047ff79a6515b5805b commit b6865bca4ba546155740a5047ff79a6515b5805b Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:11:07 +0000 pf: include all elements when hashing rules Approved by: so Security: FreeBSD-SA:26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) (cherry picked from commit e3b801edded92c1ccef67f9aef8653e996493460) --- sys/netpfil/pf/pf_ioctl.c | 91 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 83 insertions(+), 8 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 1fff0667aa1a..5617207d28f9 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1269,6 +1269,12 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1277,6 +1283,28 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1287,37 +1315,84 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->rpool); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Thu Mar 26 01:16:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sf4BnRz6X4SW for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sf02Tyz3LR5 for ; Thu, 26 Mar 2026 01:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487762; h=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=3ecGHtpL3he87oisp1gQ63472MA0Hfnwji4h8nCsZL0=; b=NddxE2K3SO8ApmU+au91CtBjUWBE0nP0yVfhT/cxa+1c4HBgWpWtSCTn6YU84htfNEUJdf a2zN7a6Rq+njlYDH57pgS0obA2Of8Ddui0Vo0nNczQb3Vz82Cx4CpRFRz1MyxODSEijEQJ 22Fp8BIHLaF4PrzPFvfrJn/pgoPblaFLD6sDwHJF9eWhlGSUSBiCsUwryOcbS2O1k7TAhd dFWf5sIGgvgacLxPSx+r0Uc1Spc0o6kMgSEYPsi2bJ1FfuYG95FmRadJasjcAZNItDnYR1 yDrQsRWyvh1vxk3m1j9NDaJeSTKcSob5hCnZf3+B7MSor6rWmk05sRkxNCHbgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487762; a=rsa-sha256; cv=none; b=gu8j9JN1h5HHLFw7lqF6xb7KY3NWP5fCVeIshv3LrsJF64lg6zYG9f6fq0kiPghLF/c58h VPAezJUEzRJQQiUHCA7nUlldl9pmFvPSfgLW326+cBN4Z5mdY9E+GOU1kbTvWa13iAdtLh uDJ2GJpkMF+JVSyUi7r8Av8Gdgr+QH1J3SsksEzpXB3KfJ7CMTRuvesBsb9FYWKsP/sMBH 0bI+mzRNz25AThQS87MvVXav6j5GQqfcFq5Me45VqSWUMGmbB40TFsJS7BkYoOV0t5i2HW qoN156/TO0xDJG2pJGsv7WkHZimQ71g2EtxpbMicIFLhMNIZCjpJkyKW6wYZAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487762; h=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=3ecGHtpL3he87oisp1gQ63472MA0Hfnwji4h8nCsZL0=; b=oc4sk2jME64ZFfSBTRZXOHT4KZOeB8/CGkPw3forGMGSIwazbAu1/j9MvOxAO+TSwpSjSS i4nPvnFNDLxGs9ZNNc+t3rOpO5BNG6KMGcF4W0vIof90imsdvnZrXfKqfzPDMhd73vjiUE zAopQ013aZNjDTKLyr5+k+BKNDpxum7/pGxgxXutqQcYDpeTOzz+0IHXI2HbWg4nRrDR8H iCsutJXRqBoHiBBXJ4q5FDLk+IjGijFlz1CtCjhWtB3g5dMQui3IkL/dKK40OfEpnKGQ2x +Nhwuwz3yPNNC2XYc5gyylzQzaTZnU3MEa4oeiNbym2eEbRg3ToAXp4AQLj+RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sd6WCjzVXv for ; Thu, 26 Mar 2026 01:16:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19bf0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Philip Paeps Subject: git: b6ce88ab9a5f - releng/14.3 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: b6ce88ab9a5fd248cd3cf72d8e4b86f989291505 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:01 +0000 Message-Id: <69c488d1.19bf0.3554fd2@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=b6ce88ab9a5fd248cd3cf72d8e4b86f989291505 commit b6ce88ab9a5fd248cd3cf72d8e4b86f989291505 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:56:34 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 64038240ab37..031e6af5c1b2 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1107,6 +1107,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1115,7 +1124,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:16:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sg2ZkZz6X3rQ for ; Thu, 26 Mar 2026 01:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sg0gnBz3LVZ for ; Thu, 26 Mar 2026 01:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487763; h=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=/1pyFGkxjJtVjycrPgdNjZdJWTQZgBQWb805IbalEQU=; b=TykLk+Nl7DsigNLvTVmFUBIClF/GIxjjNHb283SiwxZ9Bx1ScysHHHNVQDY9HNWOslX3HI C0+jPlwelDCI4lOqDyxGl1xzuGEkTGYS9/OBOVlGzl8GGTCO1wKHEYDmwr5tlLKN0GBDJn b/AC1jrULOqEuIixpzsNhCCeBXmMeqU0fpPPMM/O1CeFjx1XNKKATajs+O9/moyQJtGEUt ZvO+zAFy8rUalaOshxMB2Wfx8yVD3PWsLWvyEavbFnxYy82b2On/bONvMRDkitpr4PnthW xorkD3BeI2gpC7sENeHl008HftccQ6R8W0DkBMx9BuAVEEotlGgWj9MZGzfcGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487763; a=rsa-sha256; cv=none; b=DtYzsn6emrcqLqFmq4kiGP7NEQ98m2lrqW9BOQSByeNMQAUYouRjjUVz0dFCWeC7eHjbaH KHtxH7gs9ap8u806qhawNcb+b/48gaMePAyZjs6NDiQNSzdRnQcevUE8vO1cQ/E2xkCWO7 xa5JxNXIm7/5+e/M+tJ5OQPfR4mTNoVRn0A+Pxxrs1VwjbCUjyUcHgRPcs6z9+EUiFjJQ3 SCnDHOOTymnaf/Y0vUS/0cKylRSyIkJwIjHMkkhJ96Lhb5yT4UAwMIJCJkIONe4Y+7tS0e wbBn6wmMZE6Uo3hZwUnbld4vFMn+7YtG4vxWaEaPxKbHmvLkYauMgK2enJxYag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487763; h=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=/1pyFGkxjJtVjycrPgdNjZdJWTQZgBQWb805IbalEQU=; b=GDk+t5DJePpClKJzevePFFDk3LsxQB5bEJd1XP1rjJPgIDeF02pqchTJ0l3xPvyRcUPo2Y WXDt0TU5qseX6EVL8KgDxmqcmJFSjyUcuYG60sG/E6utduBH1VFJPINVkvqHAk7nsfEdpn sJLB4zBp7qGEdEJYbZyv8mCmQ8KRtr6C5yLhNsdWLudngM5WSIOUuT5NJaXmzhm+UQYbxP xIygciMRAY0SQuZ2+cdMV76d/kpLen03u0wjfi2DXjJrnmu3gD2mn6+ogeTDU71Un/DghJ b/0aAJD9x98tmzfel+3A+zcAg9WxaihJhTh8JvBaPJ3o/BYestXmiRq1Brhs3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sg0BDFzVMm for ; Thu, 26 Mar 2026 01:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1930d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Gmelin From: Philip Paeps Subject: git: d3c0dff16c2d - releng/14.3 - pf: Fix hashing of IP address ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: d3c0dff16c2d1f871b9fe26234df986c85823f6d Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:03 +0000 Message-Id: <69c488d3.1930d.b270053@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=d3c0dff16c2d1f871b9fe26234df986c85823f6d commit d3c0dff16c2d1f871b9fe26234df986c85823f6d Author: Michael Gmelin AuthorDate: 2026-03-12 14:18:09 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:06 +0000 pf: Fix hashing of IP address ranges This corrects the false detection of duplicate rules. Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Reviewed by: kp (cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc) (cherry picked from commit ac6bb58a715eaf0afb7a80dc87083f9819e10ac1) --- sys/netpfil/pf/pf_ioctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index d95f36d06ee3..898bfafcee21 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1264,6 +1264,7 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.tblname); break; case PF_ADDR_ADDRMASK: + case PF_ADDR_RANGE: /* XXX ignore af? */ PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); From nobody Thu Mar 26 01:16:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sd0jPjz6X4ST for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sc6Wyjz3Ldj for ; Thu, 26 Mar 2026 01:16:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487760; h=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=pXmhYjRp0H4VYDSN/d61RUJyHgZrvUXFyZTo1vrlSMs=; b=w7zaEw1g9+2JtbSl9ns53WQAzmoSFn/PpwlRwOX4s+ldsOdyqPs3aEP7ZdWdsrKx37yUaf XGN7x4Dymy3T9fnPcGUtm/Vw6kW9slTRL8V6Q3B7gddFRGdrRisII3xWjwwBKLMngSiuPC N7SMajWPUpSSDMszUUufeRQK9Va48POobuO6vPAkwqBh7mbyn4lmKpGQwoSxZqUS9lQ4tM prq6rguXuc8gUdiiIx5d0zz405TjhCwjSMMEwjoVPKm+HT3VXZkuVqfm4GOr0v7kXV4V5Y q1f3weE3h9n2aADH5iTUdho6C+olzBxEex6kMFPhWR/WXyYEEOjSBja9z/ByjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487760; a=rsa-sha256; cv=none; b=s0wcxDwfUo554ZPA2VRTw3dCI85XyaqasGaFQ6cNpzxp69ipfATGMacwJOz4zy2JjrhQaW M/3S+z9BrLB4rRo3VszFI5sllEHlFO/x/2kS+4QM7a8VaGQw7E4Veco0kGjZi6XYZ/3xiL gypyJuvO/Wky3etR4rqDvJbYEIjzKYMq6kLCRLyVKqG+Y3jKsPIk+yBcK6u65jGXGiPXvU byXJb+bh3QUObR5EIhk1qRWTf54Ewvx6thBoV5u3lS5F1dhlSkNSiMTc9tHsf+IFJKLo8M ++o9DvjXqwAVo1oHLm774FP2er9VI35ROX9tzj2aDnBjBuSRq1zA4SVRvcU5pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487760; h=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=pXmhYjRp0H4VYDSN/d61RUJyHgZrvUXFyZTo1vrlSMs=; b=O89FiJUNOIG3jEbQaduo/ogkaSXg2qCPOTgOJQYV5dMlQ5uKCe6AGGduDfsajS544+uKUk 73ToV/uAfcAruTMhCQL5aX6sX3tx72ZzYeNUc/Ycwb7KzfbsbrRmF8YU9XrGg55RSPPPd+ T2Pdy0wDPnCFHJf6B/IlWXGguNOjuBH24iJmHUO+yqD9FJKJgtcjSxiGcA+khXJXn7kbry 7KKfMuxHQVrjHiOryn/APUuS69cPEfZKwiyD5cVGlmyik35xYsjHjdMwY3fjYXLMayENlv TxLP2P3X2CnwS8cJEwCEUD5s4bmHSrCAv/oKo8fvE9/f2oru4b0Hn6nXbfqa6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sc5j2ZzVDc for ; Thu, 26 Mar 2026 01:16:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19088 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Philip Paeps Subject: git: a9cba5321021 - releng/14.3 - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: a9cba5321021c5758c0c8bb65f9966bef01096fd Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:00 +0000 Message-Id: <69c488d0.19088.1af0dcf9@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=a9cba5321021c5758c0c8bb65f9966bef01096fd commit a9cba5321021c5758c0c8bb65f9966bef01096fd Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 06:56:19 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index d17b46d13038..16871d7d8288 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2256,6 +2256,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:16:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sj62Klz6X4Mv for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sj1tLRz3LfS for ; Thu, 26 Mar 2026 01:16:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487765; h=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=tTEEjQ5M16rZNVRnIlkP48Jfk7JEl+KRI7av39GqOdk=; b=dVuVM2dOhKbYX8g5Ntiirilcwbej1mU38tYwbDikTcFXlzisYv/orOSV9nZ5QRV4G6V6NO PhLua2Lwu59KWtYfbOoT/J9ZRewVynBk9KtMNp7A0UxbnaMf6PnWKSatPPSL2vCQTY9xAy 1PWZo0+AQaSfFR6FSZtRh9x3D0CY8ITzvojiaXV3JL2RxBu1djxuWbE8TYnaBBN+I1NS/m Csee9EHnFUW1eVPw0tSVaTriGLChNklPVcMVOwAfbN4t7sDMfubXpKUFq8Gjahf2jMwPUY vbSrMQQa61q3tbP8ootKLwNPWy+ADqdEYyjnWe+/C0Zgo121R4XWXQ4tT+HPZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487765; a=rsa-sha256; cv=none; b=SMmSZnIGknGPCeziY/7BRy7h6vxjgrS/CSyR1spqwO0YfrX8DakbGHyuC0Z+MkJuXqGIdU Vl756mAHjZplXA+Ym02NVk6aR260IzyMYG72S0ankB6SL+cZLhNsGwh76FcGTOKFfaBVfy 5EWudzqknNIQRl6QeCRdVUKUh+BkKzGLqmlSsENbm5YBbPWIxk3iYsyTYMT0Mrh6WQFHo/ j6gRuaBuUu0t1uSTmwvzw9DpsFycJBsdAOqLhye4pmOe4l206IpyTj+nD23jR5e68GDdiL 44/BDMgIOzCfIQAWcS+cOTLXjLaEbwxgmcklcfyNy2vTn9XLVRCxKW2q4YWWRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487765; h=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=tTEEjQ5M16rZNVRnIlkP48Jfk7JEl+KRI7av39GqOdk=; b=b7yvzZqu4RQ09vtbpy+uox32r3xp6qgF6WNIco7zCet7s1aQpCTDsy51TyLpbWEiVF5s7T GXiOzRXNHSTgYM+BY1SUSf7KH3hy/txnUqdTQ2UPYMNgpHisOIo64aTKY/8F4tKCpzFt8j QMkclpMv+KUrtctGek6imgdqthFznkBBm2PpSUdC6pwE/mgDEIB9VeE/BqXkBHmRxeBgYk UUdsU8EDU0yEXBz9W+CAOU2598LgRqtUdHksSJVqiBazVxmv1XGcpFBnrS2tCG6ndEBibo AOblUx9A5mis9ra2C99UWQrj0Dh4hfKQxQWgKjOXafvIQm6/VE2xKXoFhR0i9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sj1RF1zTvd for ; Thu, 26 Mar 2026 01:16:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18da1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: 926ee630b73d - releng/14.3 - pfctl: always warn if a duplicate rule was detected List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 926ee630b73d5bf0264bf69284ef4a407b2462d4 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:05 +0000 Message-Id: <69c488d5.18da1.61dec6fe@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=926ee630b73d5bf0264bf69284ef4a407b2462d4 commit 926ee630b73d5bf0264bf69284ef4a407b2462d4 Author: Kristof Provost AuthorDate: 2026-03-12 14:24:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:37 +0000 pfctl: always warn if a duplicate rule was detected Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5) (cherry picked from commit e79818ec36efafc994d8c5a912dcb94986c038c5) --- sbin/pfctl/pfctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index d6bb0ae7f46f..518b32085565 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2043,13 +2043,13 @@ pfctl_load_rule(struct pfctl *pf, char *path, struct pfctl_rule *r, int depth) } } - if (pf->opts & PF_OPT_VERBOSE) { + if (pf->opts & PF_OPT_VERBOSE || was_present) { INDENT(depth, !(pf->opts & PF_OPT_VERBOSE2)); print_rule(r, name, pf->opts & PF_OPT_VERBOSE2, pf->opts & PF_OPT_NUMERIC); if (was_present) - printf(" -- rule was already present"); + printf(" -- rule was already present\n"); } path[len] = '\0'; pfctl_clear_pool(&r->rpool); From nobody Thu Mar 26 01:16:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sh6x23z6X4J0 for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sh1bGTz3Lmy for ; Thu, 26 Mar 2026 01:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487764; h=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=2shwkYngyDev0/3LWLSq4dq5fNBlWnwdhmHxEayZyB0=; b=eWc8KB9lJ4E2j0Chmpp00jpfxeo2QcY5Y0zHvTkFSRyJ02ZnERybkI4oRdlQeJVEwYcClr NtZfmJCzcmUPTgDMkMvX9is5ZDj5eI2kTlSE29NFmOLnjsgArM1dU4fxZp5P4NMaDnvFBt S2yeyuH+VAF0wgnN4hwQ+tHYMY8BZH2apq3BG/nlgRz6g1ZQc8GXYWK+4/F/y+76+4FCqH FeLn5QUd3frmjVQsKpjzQoRDjJkJYdghOKwDM38f0mx2MrPQ5EwNaZisAAw1tE5JH4IJtg nlA+i4M+6EO3sPZQfkM/eGdK/hOpXQ0oVdWoANPVe47EBTR5+kBdhAqbdf98qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487764; a=rsa-sha256; cv=none; b=SMHsWB8JzIlXxQykFI3A0E9r/XYu9AaBKQY5fuVM7eol/Er8KxVEdjrJVGOHASkIhfRb+g hxXmcCmKIJKoAB/Jr2ZwlvRacORitN9yO4SkBSw5JzBIWx5hP5/irqGmBgCR19bGRw7ZeE 8fe0zC6s7BzMAQm1cBtsdDYshtjENN+Bc38jQ5WMMZByBrxq+F3Hqfus3mNuwBLO35XPHW AX88H1wLkOsuby3OX73cKozLi/l4+FDDJ6HVPIzwDckkN+9CidSe+vEb3RiB6qvP0RpwpL 880550wH1AiGNXfWkOXebp1+TTFjHvJvA1oCnVlgUDy2G7aLtUWst61l9txsTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487764; h=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=2shwkYngyDev0/3LWLSq4dq5fNBlWnwdhmHxEayZyB0=; b=P+a3yd1N7oB3dfBoYbNMslVJqxzMW2k3EYxmkXZtLvq7pmtdJWTCLsYsSh0lAbXucbg5bD BqvExEo0W841KXCYSbILLMr8eW0FlUewploysCJzuvzMttDZwlnQManG+Nbyrx15LiWDSZ NNuH9uKtB6gwH2iaWyxVoIYM0EMPr9bAJh8yBUSl+MGVI23JB2j84+A92YV+1AZSC741BZ dca6kZY2HP9duE079Kge1BY8Ta15U2XZvwG6PDlXLNX8yOBpek+7xBdVghTD1bSl77AuSU 7jnouk5y7kcgPIz4TQxMmA5qdecvSLZUqcxGwT9IuyBqo7l7TV7CzWHwb5WGlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sh0gFvzVc3 for ; Thu, 26 Mar 2026 01:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18f9b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: 89ab511c1ce2 - releng/14.3 - pf tests: verify that we handle address range rules correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 89ab511c1ce2a979b5d0e7fdbb3289442b35d8a3 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:04 +0000 Message-Id: <69c488d4.18f9b.32a95ae5@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=89ab511c1ce2a979b5d0e7fdbb3289442b35d8a3 commit 89ab511c1ce2a979b5d0e7fdbb3289442b35d8a3 Author: Kristof Provost AuthorDate: 2026-03-12 14:23:32 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:33 +0000 pf tests: verify that we handle address range rules correctly There's been a problem where rules which differed only in address ranges were considered duplicates and not added. Test for this. Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533) (cherry picked from commit 958dbc87e9c59a2e9f83d84115ce03fb96e9b249) --- tests/sys/netpfil/pf/pass_block.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index 792b73b4a0a5..b91ba7f9ee68 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -255,6 +255,43 @@ urpf_cleanup() pft_cleanup } +atf_test_case "addr_range" "cleanup" +addr_range_head() +{ + atf_set descr 'Test rulesets with multiple address ranges' + atf_set require.user root +} + +addr_range_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass inet from any to 10.100.100.1 - 10.100.100.20" \ + "pass inet from any to 192.0.2.1 - 192.0.2.10" + +jexec alcatraz pfctl -sr -vv + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +jexec alcatraz pfctl -sr -vv +} + +addr_range_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "v4" @@ -262,4 +299,5 @@ atf_init_test_cases() atf_add_test_case "noalias" atf_add_test_case "nested_inline" atf_add_test_case "urpf" + atf_add_test_case "addr_range" } From nobody Thu Mar 26 01:16:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sm0Z41z6X4Q6 for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sl3Gz9z3LSy for ; Thu, 26 Mar 2026 01:16:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VLYjhn7cUNQqZreWvY2pkcpSfC5ft/AQHZXZuDn+Om8=; b=RVzdMQe+G5SRD4CaSnLdZlmMYcTNt6mzA8ADS1ZETxfcphEUWlI1po3/EGAHInnpc8swqe MJrVBV11EtZ5bE+hKYDJ36iLlJoQwUwXgH5fidRtbjx0x2OsNb3f0H/g0RZ829E7pQ/1Kq tDy+kWDcUX/RIHpD74YOixAvVw8ZIdCor0VTBxEw1DGEr9q9fUwW648uYROwnclG25oDin ObHnygpU+M4bOqwirckdgm5hChrbPlyBNX0AlpHFRghHIWj60Bi8v1+XEWW7doC4v96hst O9MENb3ghwDocTT+C5ZpA1d5b4O/5gdlb0+DvawivGUBpAKG3sVLd558fjToqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487767; a=rsa-sha256; cv=none; b=Byc3atWxF6uHGNu4mzoyug14SJc4aXIVc02a2E1nPcWh6UDUUx1MujS7pFAoFPei6iT0pO 9XlQQYUbFSJESRfsMJf0zVknkWtcGcTkn9vwXz4wP+SaYUCnROqkiGJu+umY9kpC9I9TNe NiN4woE72Qp+5H0CJNelrZfohsiY14ae3gKosOTq7BlpZIxk+222Nc8P9DaOtO9ScBeVQc nEfyExAW9KM+BbNuLQWx5TlCHwxCODMH/parfvu21b8ncLJ92+1lvAk0n++b9mvkpuDhsv tfJaRenXtG1MyvQHF1Eec5S0kKQoC3EPSVujF+fOY6cfD824DhbxVBFnFz/tbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VLYjhn7cUNQqZreWvY2pkcpSfC5ft/AQHZXZuDn+Om8=; b=kfKhgULrnoGKvD6e7klBPAG0PINcgCohxM45iceu9Uqh41B8SR74/27hgf0eVkX5p8WKXI Jd2rTQl7ecf79gjheDLGGRsA7TNpzsysUgSUBblFvGAlKG7y/40+6iMBQEnGfRmge4UKPK ntUarPPp2HvU3IkKWpyHtfctFHoi2WmniiUq25GdANIprSjA7wrOoywTuLacmdB40q9ZXn J9vhwZDPnnrtpKe6ZpTY3nQWdSctTmixmi/B20zxo39CNpHGnTXT2/bbdQGd0gdzPquBjy ALl1dVOmkuPTgqjyTSYQLIq7wuJy52urhM1m5FQltNw2f6GvthmtIQn+mvPuJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sl2h18zVhq for ; Thu, 26 Mar 2026 01:16:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18e35 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 2321f541c307 - releng/14.3 - Add UPDATING entries and bump version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 2321f541c307590bb326f6785047275faf4c981b Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:07 +0000 Message-Id: <69c488d7.18e35.6d3aba1f@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=2321f541c307590bb326f6785047275faf4c981b commit 2321f541c307590bb326f6785047275faf4c981b Author: Philip Paeps AuthorDate: 2026-03-25 06:09:04 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:44 +0000 Add UPDATING entries and bump version Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 328fd425b883..20c41179af63 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20260325: + 14.3-RELEASE-p10 SA-26:06.tcp + SA-26:08.rpcsec_gss + SA-26:09.pf + + TCP: remotely exploitable DoS vector (mbuf leak). [SA-26:06.tcp] + + Remote code execution via RPCSEC_GSS packet validation. [SA-26:08.rpcsec_gss] + + pf silently ignores certain rules. [SA-26:09.pf] + 20250224: 14.3-RELEASE-p9 SA-26:04.jail SA-26:05.route diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 6f6d7ac69d2c..7c77782c1c00 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.3" -BRANCH="RELEASE-p9" +BRANCH="RELEASE-p10" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Mar 26 01:16:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sk5K0Nz6X48Q for ; Thu, 26 Mar 2026 01:16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5Sk2MYHz3LSr for ; Thu, 26 Mar 2026 01:16:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487766; h=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=xzuLfroASNCo5IXmeZxj1xN80hp8bUV4G0HTdVIJ5bE=; b=KpXCTfuf3W0Qs6bJVzRxPiNgD15R3l5DSfVxcgoMzMhj/1sljfUA3roeE5wEQbg2v8Lst2 xn6EVVL/pVFPMVeuJWczsjVZBftyVtey/qfxeGtd2/aqrE5LmsXCzT/7mFsEPzONLIQ27B BIcNdcVrHMBtJvM8MKtZwKTRfTHONcZjY4I6Y/VRI78FOQ++wCdLNwC561EkTed2mJV9k6 +9aaXYJ6kCfbd3SCYZ11o7pcQmHIyeknDCreisD0K7HYX820lIHff6VVCLW0IYLyQ9Bbto KBTDx3zf28XbBLJ5pHkZbYNNUJ+3Bddbf0xeszigSAD2DN7e2e06ZBH3xGPiEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774487766; a=rsa-sha256; cv=none; b=ED9APcL8WHR7jGoS+IeTbAWMQEt5iX75oG72KM6N/VKobrvKOU8pKwRFZzJym1I0QrgCRW wjkYEAnIRbEpGo7S1CftFUAL58qaTtKKz6YmBHyJ+xKnzphpXWFshrwTLRVy8HSdwRdHCu qB11Ep221l7EHB1p4GRwfmtmP5IjbQJvCOGt9UiZUYPESsOfQcR2HBqXieVMNJRg5geVcr H29AKD4Fj3DCqD0JwVpKexd7rdqwRgdl8pxiP2mbu3M4rFNs49SK8b8EJmINXhdDkbXs84 bwAaNdcTP6Uv8T5YpxkI55D6r8svF5JMRSyJ/OCHmr4CHwNA5SbW4R9pisfMAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774487766; h=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=xzuLfroASNCo5IXmeZxj1xN80hp8bUV4G0HTdVIJ5bE=; b=d7WI0MgVTZN5kMLzaPO0yvfOfRZlli8T4VDCbOgJV0Ha/4Bz9PGO1rekyto3PK6rTszETF cK095M6ZdhmY3tbo/+hEqPlbF48dtmGVjL9x6nRdmQ1wwOZDgiFuThK4DKXrBr434p2QTt LAV2e/4bjgYabqUT118cfiZxSD8L85Vqzi4plZub5yplOg0ELMX/k+50foD9nJ+8jrbF1X wtTPSDaODKo60Qf1J+kI7IcbaS/px6ZEEl1nwZZmvKgRvD47iNtvEYqTzCOGhqCjDssS++ EvCcnDZi0u2k8aHTBpCrAzACZ7xxI5V9P052ZIjwNDMF407+ifkuzC7oWLIM9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Sk1tjhzVXy for ; Thu, 26 Mar 2026 01:16:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18d24 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:16:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kristof Provost From: Philip Paeps Subject: git: c03577d99d2d - releng/14.3 - pf: include all elements when hashing rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: c03577d99d2d3b4be1bd90a2238faa5070430d30 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:16:06 +0000 Message-Id: <69c488d6.18d24.1b60be01@gitrepo.freebsd.org> The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=c03577d99d2d3b4be1bd90a2238faa5070430d30 commit c03577d99d2d3b4be1bd90a2238faa5070430d30 Author: Kristof Provost AuthorDate: 2026-03-19 07:21:51 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:40 +0000 pf: include all elements when hashing rules Approved by: so Security: FreeBSD-SA-26:09.pf Security: CVE-2026-4748 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2) (cherry picked from commit e3b801edded92c1ccef67f9aef8653e996493460) --- sys/netpfil/pf/pf_ioctl.c | 91 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 83 insertions(+), 8 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 898bfafcee21..cd4a5ee0151f 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1269,6 +1269,12 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, addr.v.a.addr.addr32); PF_MD5_UPD(pfr, addr.v.a.mask.addr32); break; + case PF_ADDR_NOROUTE: + case PF_ADDR_URPFFAILED: + /* These do not use any address data. */ + break; + default: + panic("Unknown address type %d", pfr->addr.type); } PF_MD5_UPD(pfr, port[0]); @@ -1277,6 +1283,28 @@ pf_hash_rule_addr(MD5_CTX *ctx, struct pf_rule_addr *pfr) PF_MD5_UPD(pfr, port_op); } +static void +pf_hash_pool(MD5_CTX *ctx, struct pf_kpool *pool) +{ + uint16_t x; + int y; + + if (pool->cur) { + PF_MD5_UPD(pool, cur->addr); + PF_MD5_UPD_STR(pool, cur->ifname); + } + PF_MD5_UPD(pool, key); + PF_MD5_UPD(pool, counter); + + PF_MD5_UPD(pool, mape.offset); + PF_MD5_UPD(pool, mape.psidlen); + PF_MD5_UPD_HTONS(pool, mape.psid, x); + PF_MD5_UPD_HTONL(pool, tblidx, y); + PF_MD5_UPD_HTONS(pool, proxy_port[0], x); + PF_MD5_UPD_HTONS(pool, proxy_port[1], x); + PF_MD5_UPD(pool, opts); +} + static void pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) { @@ -1287,37 +1315,84 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) pf_hash_rule_addr(ctx, &rule->dst); for (int i = 0; i < PF_RULE_MAX_LABEL_COUNT; i++) PF_MD5_UPD_STR(rule, label[i]); + PF_MD5_UPD_HTONL(rule, ridentifier, y); PF_MD5_UPD_STR(rule, ifname); + PF_MD5_UPD_STR(rule, qname); + PF_MD5_UPD_STR(rule, pqname); + PF_MD5_UPD_STR(rule, tagname); PF_MD5_UPD_STR(rule, match_tagname); - PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + + PF_MD5_UPD_STR(rule, overload_tblname); + + pf_hash_pool(ctx, &rule->rpool); + PF_MD5_UPD_HTONL(rule, os_fingerprint, y); + + PF_MD5_UPD_HTONL(rule, rtableid, y); + for (int i = 0; i < PFTM_MAX; i++) + PF_MD5_UPD_HTONL(rule, timeout[i], y); + PF_MD5_UPD_HTONL(rule, max_states, y); + PF_MD5_UPD_HTONL(rule, max_src_nodes, y); + PF_MD5_UPD_HTONL(rule, max_src_states, y); + PF_MD5_UPD_HTONL(rule, max_src_conn, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.limit, y); + PF_MD5_UPD_HTONL(rule, max_src_conn_rate.seconds, y); + PF_MD5_UPD_HTONS(rule, qid, x); + PF_MD5_UPD_HTONS(rule, pqid, x); + PF_MD5_UPD_HTONS(rule, dnpipe, x); + PF_MD5_UPD_HTONS(rule, dnrpipe, x); + PF_MD5_UPD_HTONL(rule, free_flags, y); PF_MD5_UPD_HTONL(rule, prob, y); + + PF_MD5_UPD_HTONS(rule, return_icmp, x); + PF_MD5_UPD_HTONS(rule, return_icmp6, x); + PF_MD5_UPD_HTONS(rule, max_mss, x); + PF_MD5_UPD_HTONS(rule, tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ + PF_MD5_UPD_HTONS(rule, scrub_flags, x); + + PF_MD5_UPD(rule, uid.op); PF_MD5_UPD_HTONL(rule, uid.uid[0], y); PF_MD5_UPD_HTONL(rule, uid.uid[1], y); - PF_MD5_UPD(rule, uid.op); + PF_MD5_UPD(rule, gid.op); PF_MD5_UPD_HTONL(rule, gid.gid[0], y); PF_MD5_UPD_HTONL(rule, gid.gid[1], y); - PF_MD5_UPD(rule, gid.op); + PF_MD5_UPD_HTONL(rule, rule_flag, y); + PF_MD5_UPD_HTONL(rule, rule_ref, y); PF_MD5_UPD(rule, action); PF_MD5_UPD(rule, direction); - PF_MD5_UPD(rule, af); + PF_MD5_UPD(rule, log); + PF_MD5_UPD(rule, logif); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); + PF_MD5_UPD(rule, keep_state); + PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, proto); - PF_MD5_UPD(rule, type); - PF_MD5_UPD(rule, code); + PF_MD5_UPD_HTONS(rule, type, x); + PF_MD5_UPD_HTONS(rule, code, x); PF_MD5_UPD(rule, flags); PF_MD5_UPD(rule, flagset); + PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, allow_opts); PF_MD5_UPD(rule, rt); + PF_MD5_UPD(rule, return_ttl); PF_MD5_UPD(rule, tos); - PF_MD5_UPD(rule, scrub_flags); - PF_MD5_UPD(rule, min_ttl); PF_MD5_UPD(rule, set_tos); + PF_MD5_UPD(rule, anchor_relative); + PF_MD5_UPD(rule, anchor_wildcard); + + PF_MD5_UPD(rule, flush); + PF_MD5_UPD(rule, prio); + PF_MD5_UPD(rule, set_prio[0]); + PF_MD5_UPD(rule, set_prio[1]); + + PF_MD5_UPD(rule, divert.addr); + PF_MD5_UPD_HTONS(rule, divert.port, x); + if (rule->anchor != NULL) PF_MD5_UPD_STR(rule, anchor->path); } From nobody Thu Mar 26 01:23:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5dd0755z6X4b5 for ; Thu, 26 Mar 2026 01:23: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5dc5ZxLz3QTF for ; Thu, 26 Mar 2026 01:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzy1dv+BkQb7XUSkuYc5lV8Zh7HXUAi+1d/MT69NzEs=; b=xDVvH+4NDUMkelB1P6jPUKzdt9z5MItCwKh7ngaKjTzUUse992YjExArsMG0C8/EWOEV+0 C01O2oekic+WE4Q3Dtz8Ir9JnQfvdw9ycdQ6NPcL9SBkWN7lb7pyA2ONmGF9G+ks6QRJQQ Zu16+IV47ci/XSL77Ko7kCWSjLEl4SSYpFAfh2TMkz7RWz4jTSlXkoB39FJ78r8o86oW9M OD5x0mkZG8nqXZeQiZpPJroXbuba/AHIylZt0dkg/kZHw3z4F8n17cbx2EWE0bm/AHtnub IczsBcqkgJH80E7ywoNlvARmvQy6AUVmc/QWG0YEMLie6SZvbfBLr0MESYsNuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488228; a=rsa-sha256; cv=none; b=W0NJieuUwWD8Os/1uxMqIGIDacVwkUlacsnDT/BmGp6ILZOClkp5aOTINWIoQSnq13Vxy8 bsRBbk4zxFD0fhg2qSwCsvfKTOeHj8L6Zzxb4WORtO/LpzfXuKPGws5chZ+WhsIjVucggG 3/ytpP+uj3/WILSQD30+Lp1y3KYP8sdtsZkVy8LtnXF8NB8S9mKrp6P98PIV/H2S9QPpWF MfhUZZZ2Me6hv+IzaIiODyh1CVxBePS9riwQ8LpT1ToDxwtiwOouShlYcBS+uuUCIDoUOd 121CWHIXSqnkA/QwBtiCn9/LGa6MrzboupPPHEnesTu8kq15bF4Qnxd93lJKUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzy1dv+BkQb7XUSkuYc5lV8Zh7HXUAi+1d/MT69NzEs=; b=hvzlZ9VGXqF2huDB026YczwqH87dyAbstfv7yzXDtbJNMMWpKmEz5GebmxF+zf8zZIYadF mF+bTnMewKiHj4TcaOAprWoHb0DJO2A1wC1I6Nye8zwVCMyyZst55tzWh3m/N2FZpP2B1s LWUCxg1tstaITrGbQCaZLXgr2zxMDFD6drGPlNoOywCrvkBwTXYelcxBMW4rpZzzls8Jwk 79tL+jgY6Y9iKwfoeDnSDZhouo4NDJMgBH6O/4y/6AnUH5erkawJXwxp/IZy1gxHQ+JRrg cHPDAaJzE6DO1IJL60RgQLqsRCWIPmhW7q/kX8e7EIFwAhzbfgbra6XITPJ2qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5dc4p6jzVkm for ; Thu, 26 Mar 2026 01:23:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 471f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:23:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 8d86be861deb - Create tag release/15.0.0-p5 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/tags/release/15.0.0-p5 X-Git-Reftype: annotated tag X-Git-Commit: 8d86be861deb160518e33044b2011a4fc25e12c4 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:23:48 +0000 Message-Id: <69c48aa4.471f4.3fde4994@gitrepo.freebsd.org> The annotated tag release/15.0.0-p5 has been created by philip: URL: https://cgit.FreeBSD.org/src/tag/?h=release/15.0.0-p5 tag release/15.0.0-p5 Tagger: Philip Paeps TaggerDate: 2026-03-26 01:21:53 +0000 Tag FreeBSD 15.0-RELEASE-p5 commit 0730d5233286ff35e9fa83309faa1b2d52fe9a65 Author: Philip Paeps AuthorDate: 2026-03-25 05:59:59 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:06:30 +0000 Add UPDATING entries and bump version Approved by: so From nobody Thu Mar 26 01:25:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gQ448Nz6X5Bq for ; Thu, 26 Mar 2026 01:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5gQ2cBbz3Qst for ; Thu, 26 Mar 2026 01:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488322; h=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=vieKAWh9yfz3OlwSQ+9ktZDbpISSeP8IZA3Ovy4uoF4=; b=Eb4MY4waFcVizf0T+A5/tbLZvM8pnKaoD4lyKPGNNBAQZ2rdQXSIT/HR3jd3yFpGjMgUHo LJFjP4lHmycFej+SrCmabo1Tcqzizx0+F9+dyW7MG6gy2eIvAJkzWCNT8796XwTwNQT+xb M6d4sgoMdBtxdmvhkoUjL7rUhhwwfaiROeAgM4UYbekLlVWPr40VVcmc+cla6Yj7nqoYWe wk76t0vPeDDNm5okLC/gULhLAiZDy8ttC2MkvOow5/FeFFKmbWecnC1T2SoJkQgWtr3O79 FkD9zZ0kg4Q9xHiL3M89PTQF0f9PFu79d2k6/VNLZH3sndANAY42iFALe+vPKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488322; a=rsa-sha256; cv=none; b=JyjxEDI7NZI9S2PrmUFj5s1DTaMr6cGxveI7XC7RCpczzfSDQbevUDXk1c4SFiNdRm8Xu4 UBNtQLQXndR70GoT+wk3g6+u36GScPQNb+2zddDJ/iIk7SlrxWtxZQA8bCqLuKpUhuiO8N kXim/8A5PhcEe1pOYsjEJiOd9nEvO0yvE92OCEoWxXkKlLsRRhYIumk1xUqDulFGqlCBaJ kqA+XSVsw5JM2Os8KB+NZuS4i9motivdQSGxUuoKs/fKd7qd/5Kq2zYAxS4j03Ninj5on3 4oAaTuKSqPmkgByyDN5+Mz3FyiDYm5fMPH4t4D+zjseWlvjI1YlG8tFS0xHdnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488322; h=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=vieKAWh9yfz3OlwSQ+9ktZDbpISSeP8IZA3Ovy4uoF4=; b=SgsLLeNxb7jwW4YO6NqDPq0IpWbef7a9o2+SXtFsYD7XcUgRuZwulxThaBrg8+3kQaEDKd 2kpMKtiWVOu19XP4Pnup84uC+lKVxUV5aB6gFeEVnqMhy+Q1uvYz9QuKSiHRoDq9+lJFNS 63T/8PKM3sTkfAMQykkCX0uI1kHIOzywJywbg3r3lvte8mSucsQc+mLTAEylt8B6lspP1R XHyA8KQbMRNouJJjc6vqDIay2acC7rbXUk4yrLaozMZ0PceI9AuJwO32CfQnumOSQ0J9RP SGY+JzQNeospTW8FCuSuoAmjy1cJTvPVr+IMCQRPBayLQmSyHHfqVLunSZRz3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gQ2CYwzVkp for ; Thu, 26 Mar 2026 01:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ee6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:25:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Gordon Tetlow Subject: git: 1fddb5435315 - stable/15 - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1fddb5435315ca44c96960b16bdda8338afd15a1 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:25:22 +0000 Message-Id: <69c48b02.47ee6.519c42bb@gitrepo.freebsd.org> The branch stable/15 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=1fddb5435315ca44c96960b16bdda8338afd15a1 commit 1fddb5435315ca44c96960b16bdda8338afd15a1 Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:25:02 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. (cherry picked from commit 6b2d6ccad2552e46a5c9c3ba70b2d0ed27c70ca8) --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index b6f428b279b3..5e2b1eb1a86d 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2202,6 +2202,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:25:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gS04Jcz6X5Bt for ; Thu, 26 Mar 2026 01:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5gR3pSKz3Qqd for ; Thu, 26 Mar 2026 01:25:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488323; h=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=3yLXqJp4stIq7Vcl5diGqeUgw49HjfZp4iYCFSoqZtQ=; b=a0mQ/+OSOjgNt6T0dGrQxAvl4qqCvvpKwlhC+rrNLlpCPOpNKzYGGZD19Bp0TShIb5SP5B n7O3AoTyExDaZw4t5WDI56P/zGyze/j0tVTq6RoNo67ew8fsIvIUHzur2I+4jNlZfJyzEU f3GEQ5/BfmlYsWgycH0/bFM5yO56cWOwCmM2z1aXhyyYLDO812DRUYrueuAsriRWFlnKMW g2adYxmXLKaRbxUn5qaVq3tms5RCV8Ac0WMmqB1yLLkP2s/5qGAbehUSoDKEpQewAgyraz EtypliDmsURRPDDEntA1H2js2SsZR5EUZJEG9cU/fbdgsvTD2rnh3XKE9bj6MQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488323; a=rsa-sha256; cv=none; b=YsNNiKuO9QBM7zCZycIxqbMEv3gS/wokeoQ8rMfHI+OFW+YA0efD3yq3gB+Zhlf/OTuzKX +cKO0yLF9Iw6IQDPaGjNhmRqBy3RdGq4YP59jr0yXFg+OgCuEMi3/WJyFbSNfj01tMbwLu KVtUeO7Pbu6v2R/6za8bNiovPdioGvxpSD+vapDk/h3wVoHeet4h7xPJaj4Yzufge9wMbS 3dpQ12NWZ5Infyh5onSV5TXQOIbYqT2x0z/PPAGm5d/wJxeUOITrfXuLatnuPEUY06whcS cQqiuh6dVSxBeyOGWNi/UxSx0Xk+PP/NaWCvL49vF9e45iupJEHyMXtstYA3bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488323; h=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=3yLXqJp4stIq7Vcl5diGqeUgw49HjfZp4iYCFSoqZtQ=; b=GkKf5eCjx9eQaMsd29oJfyCaqA6l9huuKYzpfVtgFPW599674QjUbyq2tSBfu2/UEbmI3E T5mjq2ewjXyPkBzc6FU0KHzLnR3iIql7sct87xV4+kMHJQXhlNm8ijWcQdAzg5VgREW0x6 KUUQvPW0eJ5b3RPYvf59OTdHbexJoiK9v5YcfqSh+r9LZFKE5p5mHcqyhcPpZ6ZuODrLM8 MzKnQhyQ1K8wT2sMVsBM0RkHWZ6WdOkm/O3x5AGPtub2dHEyDtQv1aTMsq79OIB3uLqniR bCYW+gS7CLVzCVB4DhG5+t7SKb3soP0lhgyu5jhogyPhAp/Q5JBEIJkeQA93aA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gR362szVZ9 for ; Thu, 26 Mar 2026 01:25:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19c90 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:25:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Gordon Tetlow Subject: git: 1b00fdc1f3cd - stable/15 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1b00fdc1f3cd1311e4b52be253e0fecbca35941d Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:25:23 +0000 Message-Id: <69c48b03.19c90.103f1df0@gitrepo.freebsd.org> The branch stable/15 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=1b00fdc1f3cd1311e4b52be253e0fecbca35941d commit 1b00fdc1f3cd1311e4b52be253e0fecbca35941d Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:25:05 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d (cherry picked from commit 143293c14f8de00c6d3de88cd23fc224e7014206) --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 35c904560836..528112d5642a 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1170,6 +1170,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1178,7 +1187,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:25:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gj5chkz6X58R for ; Thu, 26 Mar 2026 01:25:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5gj2CkNz3RH8 for ; Thu, 26 Mar 2026 01:25:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z0IgxCaD/uqjOfhlfVkJbncOXr7TnJIIm8BWB4vw9Fw=; b=TkQXbrDV5eYDaVN1ztxmPE9qGrpddFXF/zNVnhKLMA3hmcE4YgGmhufL7HugiVevTpfUdn 2ayjl7OxqlApxlh2TLGtGwYABRqE/g4r2pYLkcbXs4xgWMWTAXO7SZUAfU1PXafi+2+Eui CPuLUnS4mMR2T2F9txMdNtwBSKnzVZhuPhz3wehtIU041FSlbavcq4knGfOGFKQFIwkptF 9iYymcR3zWKvd4cQWWTfF4YetXDvKayOw1WZp/HGi/eapbFu6o9BgojliAk8PqSrOewy7e 4nC/IPxAEJtesg5lDg48mLs0M4rWuCKGZT3ljo0ChDx+J8wZJSGn78fXloU9/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488337; a=rsa-sha256; cv=none; b=FL0oGsFsa/PIWswZ4DrmrqIvv1B7p8o1YC9KroSXAqRTjJJcFALj8aflgKL3Lm10te00U8 p73zLRGe2nfkElKE6Gin6tyi3gLLz70Qs/XAzbOe1A1vXmLoDozskPPZVvClcguK/xmh3+ wykQi2P61IgFREi+YdhFy0CMea4ebxSp07asDYQ0DIqKmMMJDlOh8pLXlTONeLfnlrANCX Xe7F4vOV2S2fMOakrAK3fq1wglPf6nsvArTSzTWOflCnd/HtQgX3RqNigJ7WgZyJLSu1eA ZH0tl4ZCgM/qcgqcMn9KvjPCyuWFBwght4M1VwuYBY0UAEAlBUS4ideB21lNIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z0IgxCaD/uqjOfhlfVkJbncOXr7TnJIIm8BWB4vw9Fw=; b=cGBpLeY4U0bE1LB2jNNDCo3zt1SZhc0X6pPVzsi0oJ6CRCxF2iyrh5up/DO89GVB+vYNDi guobaqzre8vN8J13wHmV1nyP00M8cGjK9rxVwaS5GFzuopqy2YNZMhcIQd/b9AQVffddRz zSRrUKWuQsUR1rqi5HxrbXbQ+JGyAzDXKjaNg1heRGWaHXN3TjeYf88obWcXq0Ec8+Lr4x HGq6pscLwtAnEa7dv1oEYW7D8+VbwlMH/dJbyrxmDY6m9PeN3FTD+IvuEoqNOy1jS/TR/P Sqcfm+ddd31UZZHKy17/YeWWa2pMPBfw3hRkUdh2gc7U1YoCyHyA0E3/9mKTkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5gj1VRmzWGX for ; Thu, 26 Mar 2026 01:25:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19d97 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:25:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 37a7f1fb3aaf - Create tag release/14.4.0-p1 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/tags/release/14.4.0-p1 X-Git-Reftype: annotated tag X-Git-Commit: 37a7f1fb3aaf186fbb9241d92dad93d35c54ec50 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:25:37 +0000 Message-Id: <69c48b11.19d97.7b948608@gitrepo.freebsd.org> The annotated tag release/14.4.0-p1 has been created by philip: URL: https://cgit.FreeBSD.org/src/tag/?h=release/14.4.0-p1 tag release/14.4.0-p1 Tagger: Philip Paeps TaggerDate: 2026-03-26 01:23:48 +0000 Tag FreeBSD 14.4-RELEASE-p1 commit a5812c77639bde4b460db04e8050b09281dd7835 Author: Philip Paeps AuthorDate: 2026-03-25 06:05:40 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:11:11 +0000 Add UPDATING entries and bump version Approved by: so From nobody Thu Mar 26 01:27:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5k255Fhz6X5Gx for ; Thu, 26 Mar 2026 01:27: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5k24QL5z3SBn for ; Thu, 26 Mar 2026 01:27:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXimvZHQYVK+zzu25BcxSQnjRn9TEguKPgZxWxla+vw=; b=yh3WTLX3hAEW1LrtP3G6LSUB/PQLhSTYqCNBN6a6tzO0LWkzwlkHZ3A4qDu8vCt+Ifocbp tQIWY6umqNiqSxojjW/5C2HBkMvPtw4Zzmx10LbgQL6KoOGuB1lFUn9Gj3IsHFw9Guq9yC ZPPOt+seX0Fu2n7VYx0i6oyD4SASx4KHBbMiM8F8c+BWG0m3GzYCvhQueq8LKllkVZfR3h 69JWbkgVbuvm3NzmMGmBmMEyfMbnNw1kGjHbJ36idhOeTFs/cnQEIAAXow1GeCIL4Orxax w0tVLF8PF6RsdCHcp9PBUGWi7S8Dv7pfBwMayXj3VzjqKTzOFgKXCjRuDZFHBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488458; a=rsa-sha256; cv=none; b=WSX7dAvUNPZDUzzf2F5MGpWMRX0Wlt53C7KXhhA5yFaF13ucABfRZF90RME6qapGkp9Rc3 vWxUGGulCC0wUi7uRBw8eTEwbl5aGMtklltVfy9/K4Ka6zFY65i9XCqNo8SyYuiY9d3ZDN R9iQ7jwzrnM9mKBtognAWsl0qSVoO2MGZschTIeHhQfgYXuRQPjBaWSufufgPwqlIHggF0 dFK47i+Z9LW0EDygbmRygGvM7OKVJKP/iqXDPgHYXKbAx28SwM/hSskdUeuMbu2RIZH39W B/JndLYmYPhT+8piE0fFZ4fxL8HR99QYcjPBu1MtW9WpZUgAh5CIpxkag9vWzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXimvZHQYVK+zzu25BcxSQnjRn9TEguKPgZxWxla+vw=; b=xxfdkiriXESGSrDQk9iZd92GSqRaZOsUE5bWfk0r+DFOBJZEUjvr9taAzmgJmDPcACa/8I UcSV4y3iRKyDKHoWznFcd/Chc9HdriB3+YQPGSXFz9ApTaqkzAnr4Kef8bRfbsmOvekJLv TNhJ+mTsBar0MU8NC5ZDbBRQwInVSqXhyuY37EPRWYH3MO7pX9Q1XEi+XyjDr8LWu/CV3z 3z+3uO2IwkshaoaHvTKxmeSaNu54qyjVhdUKL40E2NCGJeNmmuuGKHYrHlvkipRIWpFCZI qsDcKeKgkGMaQkmqz5uid31bobJX1WJMafZB/Qv+cNAr8KEWqaIWpZd0KbqfDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5k23fxGzVl3 for ; Thu, 26 Mar 2026 01:27:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19f86 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:27:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 548b0f63e34e - Create tag release/14.3.0-p10 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/tags/release/14.3.0-p10 X-Git-Reftype: annotated tag X-Git-Commit: 548b0f63e34e5cad2fb4803152c5dafd0201ae52 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:27:28 +0000 Message-Id: <69c48b80.19f86.50626b02@gitrepo.freebsd.org> The annotated tag release/14.3.0-p10 has been created by philip: URL: https://cgit.FreeBSD.org/src/tag/?h=release/14.3.0-p10 tag release/14.3.0-p10 Tagger: Philip Paeps TaggerDate: 2026-03-26 01:25:44 +0000 Tag FreeBSD 14.3-RELEASE-p10 commit 2321f541c307590bb326f6785047275faf4c981b Author: Philip Paeps AuthorDate: 2026-03-25 06:09:04 +0000 Commit: Philip Paeps CommitDate: 2026-03-25 16:13:44 +0000 Add UPDATING entries and bump version Approved by: so From nobody Thu Mar 26 01:28:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5lL2SR0z6X5K9 for ; Thu, 26 Mar 2026 01:28: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5lL1klMz3SM2 for ; Thu, 26 Mar 2026 01:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488526; h=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=1kJ43XqtHPYfN9joVcZN4nwlTu9atQR4PUZAz2dS/So=; b=kD3uJQ/7/nhMHYmq/H1g8WY6XBWYyuHALNbX2YsbJro7NzVolJVDuf0XDxsIQLzzBkfnI3 Rhzdd5WFDkZSQ0TjT6TqtxHuWtsxbzzdGhItYIwSC8Tj48u8F/8ppCdFWdY6Q/uZzJiPxv qrIC1vIzLOu53jqSmKYAs4cbHPm3kkRgMMbtxWsNLKvDdq3Kk1ijeW1JRrgAnJte+4z4Uv 7mmTWokumGtuy9p+k1oradCE4rqcW100YpNN4zd0rBuLpzE2a4sa5Nt9b5Mwiuovt9SEX6 LromvjsQ2qkAwO3McZxpUGhzfK0UmbKpIY5rd/hI1aA3dWsND/DOnAyazxhh5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488526; a=rsa-sha256; cv=none; b=SJUOIxYamhwgSxlCvBVhv2ZQIlkOOXNMvpHkC6uGWP+QMNymnP8ugUIopnsD3uvHOavhbF yD/VjLxDK7RSWpJEZvHWsXAWgZI3j2PS1yxx6YBkl279thbF58J6kFoLG9GgQ+LViuT9AR iPVbW6PpGclIVszphle9gc5mTHqOb88Ah9/bH1DGyZk38fqWMUe4GTAmK2NbQ19m/mdzNT eQ6TBJTrF1q8yIqtm/EM989pR7KgvJXu7ViL9Pd9XwswGf9+kCshTAv6sfSfQaILKURBaf l4CdBJoei56oW34yb3P2VdSUODtnMoS93hnNedE6SsNGJjRMtxWPJU9rJSn2ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488526; h=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=1kJ43XqtHPYfN9joVcZN4nwlTu9atQR4PUZAz2dS/So=; b=NsxzTmIFtXtkedmH8Xdc8TymqkXUYSfnzoFmUpjIG77JeR3J0RCb7YApHjeFnB+MPUzjq3 wDQoQXfIxZk+rQrvxCbmPeWwWcUR9FpfzHnLD6hrcmncICFR2i9wPWA+ANuiFmT+/31g/+ WJ78nCxDfUDVBQblDE/QOYw+QAea3ZOOcVjBuR9Emw882dveePRORH1zhugonsgmiD2W9U N30Ne+RZMe/4VkHwfnM0E2fzJtuH2Bgi/XXC63JogcIdGDja7K9Rv6ebJCRANBM3e9hPyE VjcmEJQbg3nv0f0IfaLH0i5pUSxkd/x6Yk8YAkFbUYcLurndFl2Q4MPEN8KFNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5lL0xHxzVl9 for ; Thu, 26 Mar 2026 01:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 191c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:28:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Gordon Tetlow Subject: git: b45e7530ffb9 - stable/14 - tcp: plug an mbuf leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b45e7530ffb92fbaa24ad25c368479d4eb80dbf4 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:28:46 +0000 Message-Id: <69c48bce.191c3.69ca1884@gitrepo.freebsd.org> The branch stable/14 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=b45e7530ffb92fbaa24ad25c368479d4eb80dbf4 commit b45e7530ffb92fbaa24ad25c368479d4eb80dbf4 Author: Michael Tuexen AuthorDate: 2026-03-25 05:53:56 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:28:29 +0000 tcp: plug an mbuf leak When a challenge ACK should be sent via tcp_send_challenge_ack(), but the rate limiter suppresses the sending, free the mbuf chain. The caller of tcp_send_challenge_ack() expects this similar to the callers of tcp_respond(). Approved by: so Security: FreeBSD-SA-26:06.tcp Security: CVE-2026-4247 Reviewed by: lstewart Tested by: lstewart Sponsored by: Netflix, Inc. (cherry picked from commit 6b2d6ccad2552e46a5c9c3ba70b2d0ed27c70ca8) --- sys/netinet/tcp_subr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 81b378f496c9..32c30dc4d067 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2276,6 +2276,8 @@ tcp_send_challenge_ack(struct tcpcb *tp, struct tcphdr *th, struct mbuf *m) tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); tp->last_ack_sent = tp->rcv_nxt; + } else { + m_freem(m); } } From nobody Thu Mar 26 01:28:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5lM3X6bz6X5RD for ; Thu, 26 Mar 2026 01:28:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5lM2JZlz3S88 for ; Thu, 26 Mar 2026 01:28:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488527; h=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=+kFw9oIQO6YLpNO5tc8BU03x9eCWA61fGq3jRvYSCek=; b=usTB8VHwoKpOEjP4JcD6OeM3Ju8pc6xS8oKjXzuKoQhRFHad740lnHRqxeD9UucKgxc7+n GJhsILcVHEMhQaohCRXta3A4oT+EUzT7zp5K13HXO9i1i4D9r3lu+Q8UbUUm/j5nY3rNGI ilJjG28id+rHRIRROkOpEq530doy5hygeTToJwrcr4t5jtf+MK8a+2av+pKH8Rqh93DvfE XAZscrMPdfFboRxfSDO+ltzufGxIKXuqOt1G6tE5MpM8CUM2+Y2yIuuNm+7lcR6/HkOy7Q //Hj3pcmrGosqcJIkVvYr+8xuxHQ5CaQHVcNQJJMCR5SqsacXwkE5mr5ygbcWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488527; a=rsa-sha256; cv=none; b=MY3IL9NlcOruR91evvS3DK0Fp9QoWppQV662eHBCzLG4MnFiOiDiYohaZ9D1ez7pSE2wbM oLSVi6UnGnsuv11uM4iBuwvO7fuNjM4pMdepqvftelCgeHn0/DFgvLpy75c8HxiesDjn18 mGluTT/hCrZibLc7m9E/2ua6YH1QKKUb7tFroWQCuW40oshHPHDfQ/M8TfhIc5DuscqDob y6bInHPqxg4jqjHE7zJfEHl4YFEOeHZ6m8DFdeKRPpuM7Ezs6SXSQmFKSJX7eBCIjQiTEI mMNW3VP4ZhUWICDx3uBZZ/M/P+X9VLaZaxMJntnx5UL/kuA81875EjhFOAOu/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=1774488527; h=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=+kFw9oIQO6YLpNO5tc8BU03x9eCWA61fGq3jRvYSCek=; b=tYQ06i94pYtOniW4HU1lYBS7Gn6usF7ymVFK5m1SuZD4VcRPvaRF5wRAHDTdhhJmaJ58+Q X6oaWq0A6WIZBnYBBa0hv1y0XbNuLWfJCx2FBysn7er+iClLldkqCj7DrKbkda/i4au1cM G7Og+M3DpLdxiBZRF08zbq/gz+4uVNkRdvb83MB2A78a2UKAr7bUZ97xKGw75fQEiBIsfC sTGrlNORWOs8HdmkvfHtdrN2LBOJAJPg9yiNcdG3uH82i3Xn0x8nANAoA1A/GyR/Vp3O0y M9J8JD+pft6/KqTZvoG3XjPafrQxJl87WK6ZXnic2Qe7wBCDBpUaxrMYvLta4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5lM1m9HzWGW for ; Thu, 26 Mar 2026 01:28:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 190b9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:28:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Gordon Tetlow Subject: git: e5ed09ffd592 - stable/14 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e5ed09ffd5927040a789b4333a856279181cef4a Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:28:47 +0000 Message-Id: <69c48bcf.190b9.598a9ef2@gitrepo.freebsd.org> The branch stable/14 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=e5ed09ffd5927040a789b4333a856279181cef4a commit e5ed09ffd5927040a789b4333a856279181cef4a Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:28:31 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d (cherry picked from commit 143293c14f8de00c6d3de88cd23fc224e7014206) --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 64038240ab37..031e6af5c1b2 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1107,6 +1107,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1115,7 +1124,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:30:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5n11Zfmz6X5Rg for ; Thu, 26 Mar 2026 01: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5n061cwz3T1G for ; Thu, 26 Mar 2026 01:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488612; h=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=NKhKzb5KHK8MnMmH3ERJjdacnZXMaXlCrPV65sTlPs8=; b=IHCnty39L9W4s5PQcq6ZY0qrBcEMRswgyQx2m9sQM/giVcUZQbRLwH2/KkAgB3NkiN5Rle TDGjz3vUbH4sAQoaEzjzh62TGGf9RfhWF4i8ifiS5xZmhGdaz6OIk7dntdLjJJTYSuoTLm FZjm9+/yoVVfL8vkcQ5KTvqgMxCzMDieHvABdXQ/ysKSp16EGlfcmkn3BDCU8wt6XrGfJU 8R3I18RP1TIYusPUWK7Wzn/nYrPn6WIEyuBPVPgjxooeYdiSUyxdggn4rfDZ+IbuW05yR7 UQ1MqFAzwgN4S8bGQQH9h1+BiVBW7x8FNv61Kbblmgt3UBztmCLA9e8sG8ZABQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488612; a=rsa-sha256; cv=none; b=TUGf8JeD5mmnq1CF1J6BY3r29auiO6O1qTQyS+gUq7CbiYGM7dWvJvS9OC2uohp9rbNryd suz61SAX7iGmkNvaNGSkm2/rqzqEU2Zsi2HkL1/3Ao2MXOSvKwxkpfYS93AKbm2h28Ulha v9qEND9Ib6zuVvn2KyFf6XcOTBnHdIO234UYnypWCp0oFC0nigPmRvUB2jZlDUMdlgeeLL mWgHkTkwLwdp5OwLUNKeNZAqVqK7tQgBnfLORFNCeQXVT10cMVKyRa4rZgEYk4ByLQYbY9 T6QR1Qfn4J8DvXu61F4e2/qRmagWDczGNkOSNXkg57N0WF8Srqof5WYGW8WDGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488612; h=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=NKhKzb5KHK8MnMmH3ERJjdacnZXMaXlCrPV65sTlPs8=; b=MbrAbt2AEReEp0UU6pYeOHXVsJeaDc/BNR780LLnusb7RG9zy32MBCi0R+Nu/U3t/GFpD+ z+ylDS/9c6dANEuXYoYCUJ46IDV5m4ahC/pWTHJxPrl1nwIiShyJABnJy/zglppRIptH+D d1gW6d6zXBKj6DuJr2NBAGaZLckwhl4yZtsd43VDKknddrMUJWqvLMvSGm3WD2RQpxUy1C uwB3mJBDi/S4CT4KXMJF8vl5jzSyQkn8S0pR1/s50IofhO46fGR3GrTEUCc8V2oo9vUemU Q8ThlSQLHtkcdS9UQi9YJdCBkmKmard02dEpJdfe/3t1Yb94X6mZCG/s0NFu5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5n05VqczVh3 for ; Thu, 26 Mar 2026 01:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c11f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:30:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Gordon Tetlow Subject: git: 99ec7f9b9e48 - stable/13 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 99ec7f9b9e4836733fbfeea272422a4d0d7adfd8 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:30:12 +0000 Message-Id: <69c48c24.1c11f.4f743d75@gitrepo.freebsd.org> The branch stable/13 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=99ec7f9b9e4836733fbfeea272422a4d0d7adfd8 commit 99ec7f9b9e4836733fbfeea272422a4d0d7adfd8 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Gordon Tetlow CommitDate: 2026-03-26 01:30:00 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d (cherry picked from commit 143293c14f8de00c6d3de88cd23fc224e7014206) --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 93a41dc045cc..8e98a87b36be 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1079,6 +1079,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1087,7 +1096,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:34:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5sc08HQz6X5Z1 for ; Thu, 26 Mar 2026 01:34: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5sb6SCFz3TfW for ; Thu, 26 Mar 2026 01:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488851; h=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=TWr+uj91o6UhBrkLYd1lEaDdw1N56yZE8cJuVDgA1bI=; b=e6ySpns7LE0mUuh93JG7g6qaGygdwqhB1dQjyLf/C9zTrSYpScml99Zt/VPqjoBubtox24 V57c4eB7CmufA5CFfwUmY24N2U5vF4KW06CgD+ZJ7U5scqMc8gmq9rGn+ZdeuwK3VXz5hd ndeaMPckZ1tvD2gOz0YalHy2Otdj0sfZwlT8YARSdAzEp1x8YQJF1XV5IgQzxg00C+Q0Jm v1imDSJUAx0gq18nTOZiHAKgZljN7Z3SSUDXzJGzytqju4yvm0Rz5lf92GH1kdvmZ9ttQ1 txwmc/RNXv1Eghdfov4dyAFoSbKqt1sHV0H5q8XAaX/Kt0KbgGaMtoBYYPyazw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488851; a=rsa-sha256; cv=none; b=U3klDMXKkVhIt+4J8uBsgX+y/i2cqdQjalJNHTMWk+X80d4U5lXtmOipPlh4iUSn2BeOr4 iKNTB0JxAvAPrm1KouV7JTvSJczVBVzbvckqEcVz4rsyXx+ZPaqxI1/L4lHk+6sKYP0Trb IQ9qJqdYwKclbHbUC4bBiAdKMxjzIfqMN5hIyM2tLFtzRuayjNb8ERAUXq5s+gDqjRCGMb eOGet3FGrhYAx5Fwf4OGoA9XdUWyCa0isxp5vQQE/i+Ao5TlB861lU2vD5c8/4vrXR3XbK nII02E+y/svengvv43poz7AXjfMwTPk7O7jC8mOv250Is4pY+f4DyGeqL6FBOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488851; h=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=TWr+uj91o6UhBrkLYd1lEaDdw1N56yZE8cJuVDgA1bI=; b=XcDJDaTJRwSyThGJtNFW4Uap7CJJrtNfVJleqYxs9gCz8P0oP9nchPwbzMpUJWWWLYboZw P0XfGOs6a0tsaIuyW9yiTbkhhiegsu2nMw0S6NabYKn5Zl4kcbPbhcOic+lxQbgWGNQ5sM L4RJsmxEpDqFZf+3mfeNVNHc1H8nFcIWHWMU4iuMBctqpt/4h6YsyCZ8D1CJ4jQtj2JXur AJXaPAyrzBKAHWtuSon63FEbNbqSphSIl8ZlCBK+7dhVjHvQDvKX+tyEXMwEtRoXUUG73C yj6IvCD51VN6LHw6K2qq5aj0RWlLXXxhqVvNqcz2BGYp4BSVr6l2INpYoIyLuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5sb5xFyzWg4 for ; Thu, 26 Mar 2026 01:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19f3d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:34:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Philip Paeps Subject: git: 5c4e558ab4fc - releng/13.5 - Add UPDATING entries and bump version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 5c4e558ab4fc9ab437e208ff9d7e70c923654a06 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:34:11 +0000 Message-Id: <69c48d13.19f3d.5e775c89@gitrepo.freebsd.org> The branch releng/13.5 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=5c4e558ab4fc9ab437e208ff9d7e70c923654a06 commit 5c4e558ab4fc9ab437e208ff9d7e70c923654a06 Author: Mark Johnston AuthorDate: 2026-03-25 02:16:23 +0000 Commit: Philip Paeps CommitDate: 2026-03-26 01:31:01 +0000 Add UPDATING entries and bump version Approved by: so --- UPDATING | 5 +++++ sys/conf/newvers.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 629e14fdcecc..da2cb44b6e3d 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,11 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20260325: + 13.5-RELEASE-p11 SA-26:08.rpcsec_gss + + Remote code execution via RPCSEC_GSS packet validation. [SA-26:08.rpcsec_gss] + 20260224: 13.5-RELEASE-p10 SA-26:04.jail SA-26:05.route diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 4506455b52a2..353695cf896c 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.5" -BRANCH="RELEASE-p10" +BRANCH="RELEASE-p11" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Mar 26 01:34:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5sh0GTKz6X5rC for ; Thu, 26 Mar 2026 01:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5sg6qdqz3V9t for ; Thu, 26 Mar 2026 01:34:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488856; h=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=BCPV+sSZ5qKo/xqje/8/lQHFj5swkV+D7SVxoQKI17k=; b=FvD07XM24zU+eZfhqAKHM8w3pBUPRCIdQIU8eYiMBzcoG3w3OCvspozB7d4mWVCVTW8AHD ef9jt33IMvd2m+/reiY10E57mcTegoqAlJ+c+RhFV2MoezLoyCDYpNd/lGW83KdYgEER9u VPV8wSCo3+ODNGRMemWLf/iweRumFNaV+khP6v7RWVgrGKs89gSaTj5eU2U2Zs2I37TmtA d0vq0xfFmVyNEdVjWg1pfn5emjV+eqVHLVN1b4AqTOb2hhwAxF0j526aibBI9AKu04jlme cZ37e6BiS4GSNmtfwjwVznHaaNHNPZzBYxPM/comQUrfKD3Ut2B1oZjrO13FeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488856; a=rsa-sha256; cv=none; b=uo1LCCublR7avWqoNvqmHEKdr10MsuuQB9jxB6Wmlb1FLm8uYtZAfzo4GNGpGpB0roqN3E pYNn03Mxzi3EmRAKnKJ0ou9JQ6ts3Qsur38E4VNb7K7zh2AMuVH1KJQoZBJCFZkhqwjKY6 5wKNoVBAqbtnqEwTbRAVSPtjC3Bjr4QCRt0Fn+nMgGm08ngUkk2RhHPbSsPM5yFcgeiNQO WFBk8kau3cy1XgfREjKwzuYb+NEnMJqZxhN8yuZBRRiTYKrBru0XjPATdjliTbteWFsA8p htzukcQfNq3bofbplNImvcLd88Nx/QluqMjZZm1h0rZDcmGpMGwREJaiUy9qVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488856; h=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=BCPV+sSZ5qKo/xqje/8/lQHFj5swkV+D7SVxoQKI17k=; b=RgowRUw3qp28H0p0HzH4r05cwVCs9Wah8BFFvTxLNeHJo+s+9BRUvA+1VDts9/eqBTzVWt xAR5z38hLR2+lcy92Q9j8acNpfj7/1NODYCHHcYJvS1s5NlCaYOjjyb7NQxJdZ1W4j7lMT xRXieyFT0lG3nR1nDgbZjwrlmvQ2q7+PCJeCDxxwKaFKj+W8Azq5ZW9UaEnClDVc833J9c HIzvziR9vsVix6AktbqZSaLqT+QnVdbUWPflCPjOm0JN4pjKVDmUy29MOQcMXqFYsgCc0+ yuhndfIOJFxbT3Xxz7L2+88g8GBLX0vmh1T2P+chCR6norpILfIByrqeku5njw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5sg6BKCzWtJ for ; Thu, 26 Mar 2026 01:34:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c7b0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:34:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Philip Paeps Subject: git: c4f53a1adbd4 - releng/13.5 - rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: c4f53a1adbd4d5209b45043d25e590f0c27b5314 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:34:10 +0000 Message-Id: <69c48d12.1c7b0.4f914cd2@gitrepo.freebsd.org> The branch releng/13.5 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=c4f53a1adbd4d5209b45043d25e590f0c27b5314 commit c4f53a1adbd4d5209b45043d25e590f0c27b5314 Author: Mark Johnston AuthorDate: 2026-03-24 02:12:42 +0000 Commit: Philip Paeps CommitDate: 2026-03-26 01:30:59 +0000 rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate() svc_rpc_gss_validate() copies the input message into a stack buffer without ensuring that the buffer is large enough. Sure enough, oa_length may be up to 400 bytes, much larger than the provided space. This enables an unauthenticated user to trigger an overflow and obtain remote code execution. Add a runtime check which verifies that the copy won't overflow. Approved by: so Security: FreeBSD-SA-26:08.rpcsec_gss Security: CVE-2026-4747 Reported by: Nicholas Carlini Reviewed by: rmacklem Fixes: a9148abd9da5d --- lib/librpcsec_gss/svc_rpcsec_gss.c | 9 ++++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/librpcsec_gss/svc_rpcsec_gss.c b/lib/librpcsec_gss/svc_rpcsec_gss.c index e9d39a813f86..73b92371e6d0 100644 --- a/lib/librpcsec_gss/svc_rpcsec_gss.c +++ b/lib/librpcsec_gss/svc_rpcsec_gss.c @@ -758,6 +758,14 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + log_debug("auth length %d exceeds maximum", oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -766,7 +774,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 93a41dc045cc..8e98a87b36be 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1079,6 +1079,15 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, memset(rpchdr, 0, sizeof(rpchdr)); + oa = &msg->rm_call.cb_cred; + + if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) { + rpc_gss_log_debug("auth length %d exceeds maximum", + oa->oa_length); + client->cl_state = CLIENT_STALE; + return (FALSE); + } + /* Reconstruct RPC header for signing (from xdr_callmsg). */ buf = rpchdr; IXDR_PUT_LONG(buf, msg->rm_xid); @@ -1087,7 +1096,6 @@ svc_rpc_gss_validate(struct svc_rpc_gss_client *client, struct rpc_msg *msg, IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); - oa = &msg->rm_call.cb_cred; IXDR_PUT_ENUM(buf, oa->oa_flavor); IXDR_PUT_LONG(buf, oa->oa_length); if (oa->oa_length) { From nobody Thu Mar 26 01:35:33 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5v95JKZz6X62C for ; Thu, 26 Mar 2026 01:35: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fh5v94gpdz3VXv for ; Thu, 26 Mar 2026 01:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UZ8MmcT1A8upupQ/bjiL/TVbT6O2sLSV0RAnPlSZOaQ=; b=r9QWwf5P5ESqqsX7EdBM8+dUSMmvc9qeOQicsB2EtuAjBUzJjUy8jGiKSEC5xOZB06LpTf VmdDnj21cyfsXrQuh9k8HTfFm+mcmoE8SxUYB6A/CnNYnTQ8JOGaSPtbM3fY5b5nR/3MhT 9qejEJdgUhXz6EPdFJ+hXtZ9EgFH0s6IBwwpcvUwf9Dzbro60ludfWeSbSWr4cyRBYQRJB Ey2Rklom1wn6YLPJmQZZL+31jGjet0l+eLLOd+sILpXfOaQK8N2lwfBJAuH/+IskrAMJSQ h3eqBhHb/ygVWQLCMCd35rtZ9FUgDaigcVXYN4NeGkNRYgmNZdeg6CW49XjZ0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774488933; a=rsa-sha256; cv=none; b=ZuiVKHlYrqoAPhXkBwQnmWjhXZuuiUzBX1bGn+2XOiR3BMrGxYNXYxtZoD75fqXHl2G+SF Xs9kb18B94daseBhTRXeDZ8uhJa6/XW0OiEJjnR598Woje+5/PLVn+DYFReiwLJk5KGjr1 JhhqBTqMbSRF1+l3ji8nSLpGP+XyS8ABnfEOwHVYrxyb7dVWhqeZsWNLL3y2a8cO6YKoIE so1KrVhaT8FArHQbeiStO70IxzBQyIs7wSpV/n3dg+WL8bxdsZNUegYQqgD1c+CitWGFqU VkVHp92IVebDyD4oops9E/lHgtNvDW+DM25uR6GW094TFHJXoS3c+EkeTnOI6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774488933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UZ8MmcT1A8upupQ/bjiL/TVbT6O2sLSV0RAnPlSZOaQ=; b=PVnMyXwvP4Yp0HXrnV4Km0sOe+z3PrWG1L/8fn9iCLu8NknclvHSPf4uK9Yeve1+mFacls IRAhrHfgMJ+0r64r4lsgsYA24aA0mqNynDheihVcSuWMYtgbsAXtYfMvW90vvGopTKlL1y vXbRZ62QRTrq8Oi+Bqj4RTwU6SiCQ3LmuYzb4ZzQX6dQPW0kamEQ2qOFaj0OEtZEd6+sdd ljeL+rYn5DFrghWXVR85dP3szI/w7N5gNRlPKHFRzeC81sU3YH5e70aSFAf5gP67F+fyGo xczliH+Y0+H0DN4+4pmUXwf4YyWjteT6jcJ8MY20i8EyLxa4tp6ILivKO3ZFiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fh5v93kXVzWGk for ; Thu, 26 Mar 2026 01:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19eab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 01:35:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 8c3b69a72907 - Create tag release/13.5.0-p11 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/tags/release/13.5.0-p11 X-Git-Reftype: annotated tag X-Git-Commit: 8c3b69a72907300569bb1b5555f4906a05bb57d7 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 01:35:33 +0000 Message-Id: <69c48d65.19eab.2edd6adb@gitrepo.freebsd.org> The annotated tag release/13.5.0-p11 has been created by philip: URL: https://cgit.FreeBSD.org/src/tag/?h=release/13.5.0-p11 tag release/13.5.0-p11 Tagger: Philip Paeps TaggerDate: 2026-03-26 01:33:41 +0000 Tag FreeBSD 13.5-RELEASE-p11 commit 5c4e558ab4fc9ab437e208ff9d7e70c923654a06 Author: Mark Johnston AuthorDate: 2026-03-25 02:16:23 +0000 Commit: Philip Paeps CommitDate: 2026-03-26 01:31:01 +0000 Add UPDATING entries and bump version Approved by: so From nobody Thu Mar 26 05:42:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhCNC3BXtz6WDgf for ; Thu, 26 Mar 2026 05:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhCNB6dXvz3YTP for ; Thu, 26 Mar 2026 05:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774503754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Op/PIPu3FDWcijhUgrWKs+ACeXaPqFtA9cYi5nAvwjA=; b=M3mfPsDnV/1bUpeb721bKj0TNTBVgJ/ZZDXX1FiMozwk5tGnBuRC3kqBEslbL/oM8vSSFn KPta7TL3fypzaKnT1lYEHwvIDtmKWFYfPFRUw9RvkAZCs2ICtaEJmVFz8A512HGqe1kzXM yqqyyGXGg3Ov2nn3FvVvKUnhxvUzyFdypJAXGUeE3Ti1fblNR/bi0C7e8G/P9HrL0K2OyJ VxZGUyZWx4hHFEoIvnh0/LFdYBUGw589lL1o+GMa+4efWfHKOzKqy7qRTw/h03XFBAGnhi Wxb/UcamdLDocDzRzZBAI4B+dt+RmSe/vckYYBsZXGmK8ysJzPo7YskbPG0fmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774503754; a=rsa-sha256; cv=none; b=pfssUvcRM3wOfJNvT384YdQn71OoZIsjnMd/O5ascA5+UXKq5NWZ/0gQDXbO1uHsYjVJtZ 7v/3fd/O0pdJTh1iFh+U8oAa/CBvS354bnoZfigRLm5Uu9ZcDWvuo1GBNaM0Ik4BrI7wCQ NDKY/7N6yhhg8/ufLERRcZ3p6P2bZytjlSINMllaRCAyBM1y0yrFqUQzVYrnYGfU648hwI 6nH+oNU5JPoBj5LzFGMCAamSo/YDmsIlU8o1T0/r4dzqcVqNIFSeQnSko/TpSeAEKx9ntB vjrLUFasQGJE8WJFBLFNzrt1UkLETLCuqP1CiCXlSFRne96bWsOBsQ10qir9mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774503754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Op/PIPu3FDWcijhUgrWKs+ACeXaPqFtA9cYi5nAvwjA=; b=dD0bygfoJHlD1LfwOh43YaKYiTDfZUBgg3Dnv8LfoiWLyZ+9IHw0G9g9W0h/AA+wxW6zSP YaD3ZuvU7NLF9jmV+IWGHiwOeDBtFzne5yolrgoVV0sgFCkN7GBpQfnIQ/wSbY1Qp3z8D0 gVZFtZqUZ8fXskMAaFSQdHgfiRKhLjFlYYYm/SBQVsOb94i7bG/vM/EV6RZi9oskcGEYbx HzNttqSqs5T6iVjEtotCYN+w2N1oH1ucUTZV+AQXZsj9NG+7SfCQkI2JLW6X4lyS8KDHdx XcvDct0yAmKuljxCXb3a2WvIHgfCHdZYiI2HHBiO8AW/6KcDj4Rz53B67/kJ0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhCNB5tt6zfqw for ; Thu, 26 Mar 2026 05:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ea6a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 05:42:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: b0ef93ae3f63 - stable/15 - Delete error-check code that can never happen. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: b0ef93ae3f63a31a493d00a8d9e43b411384ef51 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 05:42:34 +0000 Message-Id: <69c4c74a.3ea6a.3f3fd193@gitrepo.freebsd.org> The branch stable/15 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=b0ef93ae3f63a31a493d00a8d9e43b411384ef51 commit b0ef93ae3f63a31a493d00a8d9e43b411384ef51 Author: Kirk McKusick AuthorDate: 2026-03-19 00:45:23 +0000 Commit: Kirk McKusick CommitDate: 2026-03-26 05:42:21 +0000 Delete error-check code that can never happen. Near the top of kern_mmap() that implements the mmap(2) system call, it sets prot = PROT_EXTRACT(prot); with So prot can only be the three PROT_ flags. The following test of the user's mmap(2) parameters (near line 275 in vm/vm_mmap.c): if (prot != PROT_NONE && (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) != 0) { return (EXTERROR(EINVAL, "invalid prot %#jx", prot)); } can never fail. This commit deletes it. No functional change intended. Reviewed by: kib Sponsored by: Netflix (cherry picked from commit 51446d33c6fbc27ce21f54ebb4c27caace48c3be) --- sys/vm/vm_mmap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 234586893b59..cb5906440f56 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -271,10 +271,6 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) return (EXTERROR(EINVAL, "both SHARED and PRIVATE set (flags %#jx)", flags)); } - if (prot != PROT_NONE && - (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) != 0) { - return (EXTERROR(EINVAL, "invalid prot %#jx", prot)); - } if ((flags & MAP_GUARD) != 0 && (prot != PROT_NONE || fd != -1 || pos != 0 || (flags & ~(MAP_FIXED | MAP_GUARD | MAP_EXCL | MAP_32BIT | MAP_ALIGNMENT_MASK)) != 0)) { From nobody Thu Mar 26 05:48:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhCVm6zN7z6WFGD for ; Thu, 26 Mar 2026 05:48: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhCVm6NGwz3b4N for ; Thu, 26 Mar 2026 05:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774504096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nh74RB8x9hZLjiE35xuSod3pkMgL0OF28iO/mIqAPy8=; b=bcGZ+igFokVxM6HISmPBf9+d979TeUNJ6qSGq2viT0opDDNro+wnEntopqO/jnQkHgZaUd hx4TCBB3YUoB/DmoCOdkQ9A2nNxNiFJaHi9y9DK5hI1YuVzDpRYfPKiyYwYaQIlJ5MqxRu xjCsfbJupA0sN+k9FLgTCwulgMAh4kVY/FBKDV0GZAqo99Ih7squgyPnOYmrXwogbJsJ9R GBpDpjOqK8yn7DTbG3Hf61I6toixjC2QWvdFyDQuyFkrsmXTWTJu1kUbg87sQtPbgjjx+o wMrVwmdZoMxRA9wuZzUgwZOuLZcE0mF6VXHwN3nCn9ei1AzNv6ve47RboCM7BQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774504096; a=rsa-sha256; cv=none; b=c8zdGtRuAdpDh+x8LsViD6vOPSf578gBCEhOypMgMgh9PG/P1WQtI4T68fsrwSHTjeLHel H7tLR+Ypo1CGb6djPdofskMMmW7+rNEhyFKt6Erjx1TCFdG5TKyz1ER8JYXq5WAju6LGZC unCCq2dqZ7vfBEb4RIfp4RcFDVvy+ePf7drywV0nZoeDIEUFzfUP9R52fX2fKZT+B8eKmA vXqcelNWUFUqJ9cSYWRG5TW5HUR/eYwNRyzxdo0zyl4MOgXnuR+Cik26CwSe+hDkMAh+LS 9elClalVWDNsKMWoMSC7MxBlbylcYVo3GZP+FNSTdXFT4zW0+1IQMUl5zdM7YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774504096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nh74RB8x9hZLjiE35xuSod3pkMgL0OF28iO/mIqAPy8=; b=G45bVybu5eiRc7xkeoJjh/hAuMv99B4H0YXPtrrfcUf3waCnX5fCtHiWFYXlSHG3xwMP2y wNkIfxzKQa2vMDVW3BcJfdyxHroeHC9jEK2uRubi2feSaFUd9+RkWUxkEBTT49JJBbeGWc hfzOgfqOo4J7O2dtKJW52yJh2C4RZm575NOpIMrmmhsPJsohMsEPSMBVfebhddFmC4RdRj Cq/fzUDQiEgML92CTY5t5STch3nWaSBjFkFQla/X8OG5U+Vyc8wea2HAA/rhwQddVmITXh 9/Ym2/5oWkSdtlHNAlF6gDwAdJfBkTwKCB+FKCNuZq8kt0/gePIbSF8L8G8ZLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhCVm5vDzzfxQ for ; Thu, 26 Mar 2026 05:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e389 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 05:48:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 981cd082a40e - stable/15 - Provide more precise error explanations for mmap(2) EINVAL errors. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 981cd082a40e92cdee66c1b24439bcd1d1b9fe32 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 05:48:11 +0000 Message-Id: <69c4c89b.3e389.5971b610@gitrepo.freebsd.org> The branch stable/15 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=981cd082a40e92cdee66c1b24439bcd1d1b9fe32 commit 981cd082a40e92cdee66c1b24439bcd1d1b9fe32 Author: Kirk McKusick AuthorDate: 2026-03-19 00:52:10 +0000 Commit: Kirk McKusick CommitDate: 2026-03-26 05:43:25 +0000 Provide more precise error explanations for mmap(2) EINVAL errors. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D55888 Sponsored by: Netflix (cherry picked from commit dad6e6fc1ea4b737e9f1661ebd30da5d551e3d4a) --- sys/vm/vm_mmap.c | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index cb5906440f56..8d71bce67d58 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -235,11 +235,15 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) * pos. */ if (!SV_CURPROC_FLAG(SV_AOUT)) { - if ((len == 0 && p->p_osrel >= P_OSREL_MAP_ANON) || - ((flags & MAP_ANON) != 0 && (fd != -1 || pos != 0))) { - return (EXTERROR(EINVAL, - "offset %#jd not zero/fd %#jd not -1 for MAP_ANON", - fd, pos)); + if (len == 0 && p->p_osrel >= P_OSREL_MAP_ANON) + return (EXTERROR(EINVAL, "mapping with zero length")); + if ((flags & MAP_ANON) != 0) { + if (fd != -1) + return (EXTERROR(EINVAL, + "fd %#jd not -1 for MAP_ANON", fd)); + if (pos != 0) + return (EXTERROR(EINVAL, + "offset %#jd not zero for MAP_ANON", pos)); } } else { if ((flags & MAP_ANON) != 0) @@ -293,10 +297,14 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) /* Ensure alignment is at least a page and fits in a pointer. */ align = flags & MAP_ALIGNMENT_MASK; - if (align != 0 && align != MAP_ALIGNED_SUPER && - (align >> MAP_ALIGNMENT_SHIFT >= sizeof(void *) * NBBY || - align >> MAP_ALIGNMENT_SHIFT < PAGE_SHIFT)) { - return (EXTERROR(EINVAL, "bad alignment %#jx", align)); + if (align != 0 && align != MAP_ALIGNED_SUPER) { + if (align >> MAP_ALIGNMENT_SHIFT >= sizeof(void *) * NBBY) + return (EXTERROR(EINVAL, "bad alignment %#jx >= %#jx", + align >> MAP_ALIGNMENT_SHIFT, + sizeof(void *) * NBBY)); + else if (align >> MAP_ALIGNMENT_SHIFT < PAGE_SHIFT) + return (EXTERROR(EINVAL, "bad alignment %#jx < %#jx", + align >> MAP_ALIGNMENT_SHIFT, PAGE_SHIFT)); } /* @@ -312,15 +320,17 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) addr -= pageoff; if ((addr & PAGE_MASK) != 0) { return (EXTERROR(EINVAL, - "fixed mapping at %#jx not aligned", addr)); + "fixed mapping at %#jx not page aligned %#jx", addr, + PAGE_SIZE)); } /* Address range must be all in user VM space. */ if (!vm_map_range_valid(&vms->vm_map, addr, addr + size)) { - EXTERROR(EINVAL, "mapping outside vm_map"); - return (EINVAL); + return (EXTERROR(EINVAL, + "mapping %#jx-%#jx outside vm_map", addr, + addr + size)); } - if (flags & MAP_32BIT && addr + size > MAP_32BIT_MAX_ADDR) { + if ((flags & MAP_32BIT) && addr + size > MAP_32BIT_MAX_ADDR) { return (EXTERROR(EINVAL, "fixed 32bit mapping of [%#jx %#jx] does not fit into 4G", addr, addr + size)); From nobody Thu Mar 26 07:37:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwG24Cyz6WQtL for ; Thu, 26 Mar 2026 07:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhFwG0wyxz3l5n for ; Thu, 26 Mar 2026 07:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xahODKAxpECmOolYndky8tGzX6wGf0xoXldYfFDRq4U=; b=MGTk0HlMLmScPXBhsV7UWdnrNtdnl5CT0dLO96MTEBRS7uX4fp+1QPupNs9QuQpfu2ey78 1+KIux66zJBcKoR+mjnn1K3d/aeS8xcPBYkS6PwoQJNxwsM1UKguVhJcNUULjSp0BWTEmk 7XMGyRW+wSl+cwjNM5eArr5DR1crltNk0grDT7Mizvo9JTfiVVcH1EOIgR3NwMZ0J5duA8 PjvhxxGFYfcXND4G3cMeyJ67W0c1CUNO6XvDqvaTWGn+pGNas2GV4KtDewcvFG3kSRJPIq Ska2Tpd1TzMx+7LFSvy7IYsvVeY30LQG8F4tsD79C6Yk4CDn9582U6kfPY2aVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774510622; a=rsa-sha256; cv=none; b=UwBSbSvZ9m3sw7MoqWI0bsnkfpgMt3wIwLHSJCBjWHFWDvz+wXcECOtMmGY6pc0934u3BR ZZhhgWKEyWVW0oa/mVhadOLMENVOGv8ndeLuqNPi4Yjj0aeCJPWar3A8WNI17zH3hixKsA vtHQXzJAfR2sSzhOswjXAJlH5b9UMs76vyIX/E9+pq38fYnN0FV/1j5bHkD1iaaTojYjwJ gf3xWaBtuiwUL5zpB9Cnv3aWKStZrJbZkXlQQmNKGg8Darlo3YqR9X/RtJxW+RRwN14wZg T6nAj1eTCpIiiVaHj2K27CVCJLxSVie0deMl1YWBtfbQwKimnIqtlxGt8T65Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xahODKAxpECmOolYndky8tGzX6wGf0xoXldYfFDRq4U=; b=haGt4ircfBptANgbw5QLqNFrqu77G6AB4+S5xBVaqLV07dkVaSx28YelVsoHQ+kdGmWUPN KDYib53hJfTy5yblX6+8MM3kCa1WmTkrnRXkYkvnvLExP1t409Tg7lmb2sDmNmeSDRtoNi pHVCFgqCV9O6ioIbocFol5cNoWk4MPdqC4IanN/RsG4WWvUHBFFE4Tqi3fIsMIeDvXZnAo W10w4WKT6t9fqyJfr3OW6KFvIRFEKm+eLz8A3w00UxufAH0+XFFbfeaEDhjlLOl19CCSEq lDkwrj7w/H/tpB19i7NIVqZ1oLl5dxUV8XEc07NTxjQts8sKfTu6mv9SXHuUIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwG0XYdzjxM for ; Thu, 26 Mar 2026 07:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19d87 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 07:37:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 6d8b2ac449f3 - main - diff: prefer posix_spawn over pdfork/execl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d8b2ac449f34423be9d56492022421db61d920e Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 07:37:02 +0000 Message-Id: <69c4e21e.19d87.5319cf6c@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6d8b2ac449f34423be9d56492022421db61d920e commit 6d8b2ac449f34423be9d56492022421db61d920e Author: Baptiste Daroussin AuthorDate: 2026-03-25 10:22:02 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-26 07:36:55 +0000 diff: prefer posix_spawn over pdfork/execl MFC After: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D56076 --- usr.bin/diff/pr.c | 62 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/usr.bin/diff/pr.c b/usr.bin/diff/pr.c index 189e6b34649e..51cf2c765283 100644 --- a/usr.bin/diff/pr.c +++ b/usr.bin/diff/pr.c @@ -29,8 +29,10 @@ #include #include +#include #include #include +#include #include #include #include @@ -41,6 +43,8 @@ #define _PATH_PR "/usr/bin/pr" +extern char **environ; + struct pr * start_pr(char *file1, char *file2) { @@ -48,6 +52,9 @@ start_pr(char *file1, char *file2) pid_t pid; char *header; struct pr *pr; + posix_spawn_file_actions_t fa; + posix_spawnattr_t sa; + int error; pr = xcalloc(1, sizeof(*pr)); @@ -56,32 +63,41 @@ start_pr(char *file1, char *file2) fflush(stdout); if (pipe(pfd) == -1) err(2, "pipe"); - switch ((pid = pdfork(&pr->procd, PD_CLOEXEC))) { - case -1: - err(2, "No more processes"); - case 0: - /* child */ - if (pfd[0] != STDIN_FILENO) { - dup2(pfd[0], STDIN_FILENO); - close(pfd[0]); + + if ((error = posix_spawnattr_init(&sa)) != 0) + errc(2, error, "posix_spawnattr_init"); + if ((error = posix_spawn_file_actions_init(&fa)) != 0) + errc(2, error, "posix_spawn_file_actions_init"); + + posix_spawnattr_setprocdescp_np(&sa, &pr->procd, 0); + + if (pfd[0] != STDIN_FILENO) { + posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO); + posix_spawn_file_actions_addclose(&fa, pfd[0]); + } + posix_spawn_file_actions_addclose(&fa, pfd[1]); + + char *argv[] = { __DECONST(char *, _PATH_PR), + __DECONST(char *, "-h"), header, NULL }; + error = posix_spawn(&pid, _PATH_PR, &fa, &sa, argv, environ); + if (error != 0) + errc(2, error, "could not spawn pr"); + + posix_spawn_file_actions_destroy(&fa); + posix_spawnattr_destroy(&sa); + + /* parent */ + if (pfd[1] == STDOUT_FILENO) { + pr->ostdout = STDOUT_FILENO; + } else { + if ((pr->ostdout = dup(STDOUT_FILENO)) < 0 || + dup2(pfd[1], STDOUT_FILENO) < 0) { + err(2, "stdout"); } close(pfd[1]); - execl(_PATH_PR, _PATH_PR, "-h", header, (char *)0); - _exit(127); - default: - /* parent */ - if (pfd[1] == STDOUT_FILENO) { - pr->ostdout = STDOUT_FILENO; - } else { - if ((pr->ostdout = dup(STDOUT_FILENO)) < 0 || - dup2(pfd[1], STDOUT_FILENO) < 0) { - err(2, "stdout"); - } - close(pfd[1]); - } - close(pfd[0]); - free(header); } + close(pfd[0]); + free(header); return (pr); } From nobody Thu Mar 26 07:37:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwL38CHz6WQm0 for ; Thu, 26 Mar 2026 07:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhFwL2Q58z3lTD for ; Thu, 26 Mar 2026 07:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FN7BwbwCU8fnHFktuei8bB4JwqAtybaGLwjuhwqpiCQ=; b=jNtnBOfYTpCyFRCR0eECuS6HKiln+EaZkFa/BzIKWe02S3SQEDJJckqzAT+8chyksNIrXF 4zuZH1+jq7pg1Fayk0kpfTlKHUBESUngudIOymbRFJPMwU7IBXNvorohjTYLt4Ieccghwd GVCPwWOvz3Z0orpKdLg+4KBwZdUAXENHSy3Jx39wvP/dVIM8mKE7bhkWLHdtzrgJpHMv3H PYrEGQKzkU1pE9EKAnAGjFeztz8ENLr/9r/8r4d+Q8NiCiUa4Bpg/t3WMx8lQNh7+lpgcp ctIRjo3tSvacj77vSbXN9JCHrc5ADbcIrWO/tVRc5DBKCSEVXHD1usZ+H7oZYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774510626; a=rsa-sha256; cv=none; b=nmnkLJ1RYJEy06wwCtDVg3U0VSkBhEQ0P+WlDB6CNRf0IpSq2t7PDD0qReQD6vamdSBHto fmClhORyrEcHOX9Bg7SpA3NsggH5oeeMxOgLVatgdG4fkhYupPSNkE/7kvutMxzokA/T50 9A7I2MrNj6pLixAIXDO998ao0mH67RrEXa1z8XYyiF4n1LIH1C7mTqXMUPoXpYnXDIO58i OfOvK3pV7i+O2AkFqdKm/VLhM/Q/4KhgFSkMOtouOcx61OThzhyHhZCGiQb46+y0stktiP w6T3Hy8LMiUFLeQzKsvIeREE7KN/galHY+A7v30WdI9ipyM9OPj9nDBZAUcxbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FN7BwbwCU8fnHFktuei8bB4JwqAtybaGLwjuhwqpiCQ=; b=JRn3Mf7acR92oHMBcFrgzjnL6Aj3QPfzY5p5tDByvSW9HbRrf18i8a5FsYtiae5o+xRQaS ELHku5mnuXDiEpOoNkgZu4C2W97GgQ/xbbQgulRC/8KrI3BbeMDbnRDNYtwsMsDV11irJ9 Ho5MYC3Q4amlNAgHU+OYVWqZf6sOSWbroixF71vSpcOJ9ymgKY5TQsuwarmHjxT/XVIUBz pwFRQEGL2gs7LPOaOoYhZSFhHWLmhxvF4zKvV8+xp8jPiNK+/2qaJB8k/BU5FxOUou4avR JHD1/elOJ0EFwaUAsA3P0bQmQDuYSXMEedVLzh8g+YOR5vQ6rTLhsEgjFoqu1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwL1yt1zjSJ for ; Thu, 26 Mar 2026 07:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ed5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 07:37:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 5f7f0efe8e13 - main - diff3: prefer posix_spawn over pdfork/execlp List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f7f0efe8e13247fc80a2a739e757f73a5d7ebda Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 07:37:00 +0000 Message-Id: <69c4e21c.47ed5.35a98634@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5f7f0efe8e13247fc80a2a739e757f73a5d7ebda commit 5f7f0efe8e13247fc80a2a739e757f73a5d7ebda Author: Baptiste Daroussin AuthorDate: 2026-03-25 10:08:58 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-26 07:36:55 +0000 diff3: prefer posix_spawn over pdfork/execlp MFC After: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D56075 --- usr.bin/diff3/diff3.c | 49 ++++++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index d85a5da94b10..75e8c6297855 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -73,14 +73,17 @@ #include #include #include +#include #include #include #include +#include #include #include #include #include +extern char **environ; /* * "from" is first in range of changed lines; "to" is last+1 * from=to=line after point of insertion for added lines. @@ -301,23 +304,30 @@ readin(int fd, struct diff **dd) } static int -diffexec(const char *diffprog, char **diffargv, int fd[]) +diffexec(char **diffargv, int fd[]) { - int pd; - - switch (pdfork(&pd, PD_CLOEXEC)) { - case 0: - close(fd[0]); - if (dup2(fd[1], STDOUT_FILENO) == -1) - err(2, "child could not duplicate descriptor"); - close(fd[1]); - execvp(diffprog, diffargv); - err(2, "could not execute diff: %s", diffprog); - break; - case -1: - err(2, "could not fork"); - break; - } + posix_spawnattr_t sa; + posix_spawn_file_actions_t fa; + pid_t pid; + int pd, error; + + if ((error = posix_spawnattr_init(&sa)) != 0) + errc(2, error, "posix_spawnattr_init"); + if ((error = posix_spawn_file_actions_init(&fa)) != 0) + errc(2, error, "posix_spawn_file_actions_init"); + + posix_spawnattr_setprocdescp_np(&sa, &pd, 0); + + posix_spawn_file_actions_addclose(&fa, fd[0]); + posix_spawn_file_actions_adddup2(&fa, fd[1], STDOUT_FILENO); + posix_spawn_file_actions_addclose(&fa, fd[1]); + + error = posix_spawn(&pid, diffargv[0], &fa, &sa, diffargv, environ); + if (error != 0) + errc(2, error, "could not spawn diff"); + + posix_spawn_file_actions_destroy(&fa); + posix_spawnattr_destroy(&sa); close(fd[1]); return (pd); } @@ -1004,7 +1014,7 @@ main(int argc, char **argv) eflag = EFLAG_OVERLAP; break; case DIFFPROG_OPT: - diffprog = optarg; + diffargv[0] = optarg; break; case STRIPCR_OPT: strip_cr = 1; @@ -1079,13 +1089,14 @@ main(int argc, char **argv) if (pipe(fd23)) err(2, "pipe"); + diffargv[diffargc] = file1; diffargv[diffargc + 1] = file3; diffargv[diffargc + 2] = NULL; - pd13 = diffexec(diffprog, diffargv, fd13); + pd13 = diffexec(diffargv, fd13); diffargv[diffargc] = file2; - pd23 = diffexec(diffprog, diffargv, fd23); + pd23 = diffexec(diffargv, fd23); caph_cache_catpages(); if (caph_enter() < 0) From nobody Thu Mar 26 07:41:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhG175LQmz6WR61 for ; Thu, 26 Mar 2026 07:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhG1741Jgz3mPQ for ; Thu, 26 Mar 2026 07:41:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hH5n/d6Y8iPljupAcCY7qTnZVQhEXbUBZKAtpJ958RI=; b=DG+fJZZQhXHqcVzK9EvqeGUapFT0CpqhrNbdBLUO0bsNxApFuFFw+gfn+EsxIdk4pq7Z4r POUOBZ2Hcts2qLWxXX/676TvMiCwJx0dcHB4ix7yeyt/PsTr/LeICSfVqJKi6iKLipsjie GSsnLf1v5oL/CT06dxOJHNiI6W49M7UYqZyzPVYwP6TNiblG+EgKESsCrQ42WllXA0QkLL Jtz+YdR8EotcvBQMfaDgq64PCl0gm8FgbM5r+dU9vuU4f6biE8K/C2Mg51EWChRU7LnDD8 TEeAS0cEQQvckySX2MeehvL9qEeQKkB9Dyfd1HCLCVkBxsheqvLW+TkbXMxY/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774510875; a=rsa-sha256; cv=none; b=LpoEmvy+vLwdNHNdOmNqR+2DOr3iiXdVKhWyddvAN5AgOvqBve3CtTpzTAKqJmCLR7mNG5 rZnD2jLGXcfGYVy6KkEk2febTDM4BA9jKpi43q7NflR1k3kTbVJDAir2N1Yht851LTQ1pD keYOOqabhEiau2p2Ef1pseBCbZwn0k+1O4XcFN5B25fbcTrLRfHbhOYM7QGJfyNbLpfYg2 C+9vyKoBFvxCigLPmh8ueo5Ll07QD+dkfiTQckCTplJfNwcJdwwOZkt/SmOVoG7rcoce9G 5bBJk73fksQ5GHI2PdvFeR4PxFlWRWV58UxlzMvO59QV32pnzdy687ekTVUlmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hH5n/d6Y8iPljupAcCY7qTnZVQhEXbUBZKAtpJ958RI=; b=a9T4M+bq165D8W8e35P7aHcrYiYxJGXhm+7EohXmWOLvDH3m52o7Kp2xBBWtNQE5NuyYfo LKeKedu86FmSAOi2MJHr/spPsyVTOiby2IViR5a8EwSddgXo2Kck8AyzSTKGRAHZDChlK9 Qg+obGKqt1RNrMj+TDNHh/0nCrw76GMrsItwujwpuVvVXDHK2KiUxNuQN7rUeBOx00BB/I 46k4J2vt8mA2LfdV6qwpcrLSKth1D35a1qNwRaftH57AHPgHEJW9H+jVBDNqQvUSm5NJ7R YQpnk7Slo7bK6D3cf1qjifiIkEFdqZh9a9BzOiOLPtxu2Hg2CnZLoVQ7pwGbsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhG1737RSzk0R for ; Thu, 26 Mar 2026 07:41:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c06a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 07:41:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 33424fd50ee0 - main - diff3: plug fd leak List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 33424fd50ee0333bc6f70b5b14a270b85e5b5de1 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 07:41:10 +0000 Message-Id: <69c4e316.1c06a.68bddc8@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=33424fd50ee0333bc6f70b5b14a270b85e5b5de1 commit 33424fd50ee0333bc6f70b5b14a270b85e5b5de1 Author: Baptiste Daroussin AuthorDate: 2026-03-26 07:40:29 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-26 07:40:29 +0000 diff3: plug fd leak MFC After: 1 week Reported by: kib --- usr.bin/diff3/diff3.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index 75e8c6297855..8212b51e15a2 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -947,6 +947,7 @@ wait_and_check(int pd) if (errno != EINTR) err(2, "pdwait"); } + close(pd); if (WIFEXITED(status) && WEXITSTATUS(status) >= 2) errx(2, "diff exited abnormally"); From nobody Thu Mar 26 09:05:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhHtk5Fnkz6WZWn; Thu, 26 Mar 2026 09:05:50 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Received: from mail.e4m.org (mail.e4m.org [IPv6:2a03:4000:66:f68::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 (4096 bits) client-digest SHA256) (Client CN "mail.e4m.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhHtj4bHDz3vNM; Thu, 26 Mar 2026 09:05:49 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=e4m.org header.s=s header.b=i4OgeRHB; dmarc=pass (policy=quarantine) header.from=e4m.org; arc=pass ("e4m.org:s=s:i=1"); spf=pass (mx1.freebsd.org: domain of mail@fbsd2.e4m.org designates 2a03:4000:66:f68::1 as permitted sender) smtp.mailfrom=mail@fbsd2.e4m.org ARC-Filter: OpenARC Filter v1.0 mail.e4m.org 62Q95Yqf040050 ARC-Seal: i=1; d=e4m.org; s=s; a=rsa-sha256; cv=none; t=1774515935; b=bNin0Mwzi6NSzZqmkv397Qtptiffhgrn7ibjw+TGfRsRuwrZzWCU2FYOLJqudsFt7l4X UtnQqSCBRCooKXoYISYOlNVjB4E1KazuX3UWXjLAg09QNLwkoILzdisUV6kLtMFlsqxOS Tn7kRAeYoD2XF0y3uixh1rQ4hnRNnF9vXbleUv1+Y2jEX1jBcNG/+bT3QOmAlUCi6BiSC +YIW71fnRJX+JsfDHnfaPOh2df/ShzOVlvV2B4x9FBXJCGeVU8pfgQhxzOI35JBLHKYzL t+WW7XlWw7qJfolIM3Sf2SPu2/t4NBOXlO8Uct+REdysuo91LP1AQD2Q1KErP1fY+Hg== ARC-Message-Signature: i=1; d=e4m.org; s=s; a=rsa-sha256; c=relaxed/relaxed; t=1774515935; h=DKIM-Filter:DKIM-Signature:Received:Received:Received:Date:From:To: Cc:Subject:Message-ID:References:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; bh=BeT+NZLES4zOfbDGbtUyYWH28q2SjsSPdRDvOLygbyk=; b=QWDKfhrBlzDsUR0zgZBW8xcisnYXEoP03S2+aKTJkAkmV6q/lAdiuR9oWPG7vfh7xfc1 GHgS3BOu5ufMo5gbXNaZRwg4NpE/ATB5wuZv9yU5bTiyqR3ICHaDmlZjgTXNkBC8CRb/5 87HbuiN7XCTxeh2c1IFPzS/i27qnCDXIIUcs2MogcXtPBOVops68n9ynyrAsPmC6tXsJb wEFvyrP0QIhaRkf55GHQW1pBVtZLno4Khs3E5Je/CNnfIeUWb87ElY/ZcTKNG0Hb4hxpD gUrXtiNnWDdCHElWCRPobh6n63KL/Mt44eV0O5sxSQCZGwUOLcjmxy+IPpftB0ztZ7w== ARC-Authentication-Results: i=1; mail.e4m.org; arc=none smtp.remote-ip="2a02:3100:920d:81bf:ec4:7aff:fee6:add0" DKIM-Filter: OpenDKIM Filter v1.0 mail.e4m.org 62Q95Yqf040050 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=e4m.org; s=s; t=1774515935; i=@e4m.org; bh=BeT+NZLES4zOfbDGbtUyYWH28q2SjsSPdRDvOLygbyk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:Date:From:To: Subject:Reply-to:Cc:In-reply-to:References; b=i4OgeRHBEI6mKGgM1/n5irAtX2m+gawctENfGZ8Jhuo+zBs0OLOG/M8GgkBvWymHW 0srgi96JIaEAOFafJWF57zW9alPqvaizK1/vfpblav3VmAlBRPOIxeuQrbKPyX7Z4+ d7y5iwjMhjrNyCHgdKl1z7+4JuWt0fdEPnZowr4CwwIIdudseb1uONxXIPgE0+2CCg LWMgX12h+hAX20b8rbMCfbKIUEuc+T67c/9w2UXsQaWxJWI6cj8OBtrz2Lf5c74PIP PghQJH6PGpHQ3uJCdhfE6W7Kv9ilkUPYeui/lLToIA3G/I5jFlqyBfCfG5sGMqMtzD zoaqHkR2PWpAg== Received: from dynamic-2a02-3100-920d-81bf-0ec4-7aff-fee6-add0.310.pool.telefonica.de (dynamic-2a02-3100-920d-81bf-0ec4-7aff-fee6-add0.310.pool.telefonica.de [IPv6:2a02:3100:920d:81bf:ec4:7aff:fee6:add0]) (authenticated bits=128) by mail.e4m.org (8.18.1/8.18.1) with ESMTPSA id 62Q95Yqf040050 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=FAIL); Thu, 26 Mar 2026 10:05:35 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from stationary.client ([IPv6:fd00:0:0:0:0:0:0:3]) by gate.local (8.18.1/8.18.1) with ESMTPS id 62Q95Ts6045002 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 26 Mar 2026 10:05:29 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from submit.client ([127.0.0.1]) by voyager.local (8.18.1/8.18.1) with ESMTP id 62Q95TEx005380; Thu, 26 Mar 2026 10:05:29 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: (from user@localhost) by voyager.local (8.18.1/8.18.1/Submit) id 62Q95Tu4005379; Thu, 26 Mar 2026 10:05:29 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Date: Thu, 26 Mar 2026 10:05:29 +0100 From: Andre Albsmeier To: Enji Cooper Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, mail@fbsd2.e4m.org Subject: Removing stuff from NOTES because it is in GENEREIC (was: git: f224591746bd - main - Add ASMC_DEBUG make option) Message-ID: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> X-Spamd-Result: default: False [-5.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; ARC_ALLOW(-1.00)[e4m.org:s=s:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[e4m.org,quarantine]; R_SPF_ALLOW(-0.20)[+a:mail.e4m.org:c]; R_DKIM_ALLOW(-0.20)[e4m.org:s=s]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:197540, ipnet:2a03:4000::/32, country:DE]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org]; RCPT_COUNT_FIVE(0.00)[5]; DKIM_TRACE(0.00)[e4m.org:+] X-Rspamd-Queue-Id: 4fhHtj4bHDz3vNM X-Spamd-Bar: ---- I stumbled across this commit, especially: > While here, remove a duplicate `device vt_efifb` directive in `NOTES` > as it's already handled in the `GENERIC` config Is it correct to remove something from NOTES because it is in GENERIC? My impression was that NOTES contains ALL what can be configured into a kernel (whether it makes sense or not). Am I wrong here? -Andre On Tue, 06-Jan-2026 at 01:43:34 +0000, Enji Cooper wrote: > The branch main has been updated by ngie: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f224591746bdaf14ad5f63de4738a3146cc2f55f > > commit f224591746bdaf14ad5f63de4738a3146cc2f55f > Author: Enji Cooper > AuthorDate: 2026-01-04 08:27:57 +0000 > Commit: Enji Cooper > CommitDate: 2026-01-06 01:43:04 +0000 > > Add ASMC_DEBUG make option > > This allows folks to enable debug statements in asmc(4) using kernel > configs via the `options ASMC_DEBUG` directive. > > While here, remove a duplicate `device vt_efifb` directive in `NOTES` > as it's already handled in the `GENERIC` config > > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D54511 > --- ... From nobody Thu Mar 26 09:26:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhJLd4lr9z6WcKc for ; Thu, 26 Mar 2026 09:26: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhJLd2mncz3x7D for ; Thu, 26 Mar 2026 09:26:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774517193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SAhB/yTHtFFolOZ7aqffHMfVagrwZbJm9FonmyyG8R0=; b=IsMRLk0TI7kH8SeTHTvcAWcLNdXUwWWrV0vlfmlBOxjCBR6OHA9mZwFTuMDo4/aGbo0DzN sky28a8fGcCdRkStrQzX2v8d861/3B/xAgoRIWCaWgkEvO1DL+5anaClXJaJQsJHWIJYQT dbOoHM15Hqm0ucoZb99wM1+BghRdGJN9PWUCv3QBJYIT3jDesDxDIrSd1F6tqvW3l2plRm hN7obvnWdx3E5Zt1WfOZOiiQduTOAlI0QQWc/WC0sEDtlutlrgaJTImeVjVoBCw5xJXsUw FNkGS7YHFdE8WiZ349WvQUWk8tdxewnqKOyqWqqWnZ/GsddLPg1IEuxdQlN89Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774517193; a=rsa-sha256; cv=none; b=igEu0uguhjS52IYfuZy26UYyeR/GNTAipsBY+ZwXLZhxqVqO1rlFbZlnsBo/lgLGDFcdZm sIXrIGJklsiHkSqzsTvOBIekCqe0tgGnBsemi+BxNJeQ7o98oV6gxO3rs4kvakZMdSKoAX pY+94KGD02eCyRYMclJ4+ruzh3glAMR8dyYPA1fil3e/M5YAVt0zQtzBtezO7nxqFwT4uf fak2J5LiMSy/OVx2LBvqgPKsYTXvNmb01fd3q4TlemyVFWtl6nW/ymfVx1OCdM0W4u+yGZ 0uWb2c8NR8XLVMWqpsm4Pg2p8Le8HseJhw7TvLjv6XulIZQyKxS4uH1CiAANKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774517193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SAhB/yTHtFFolOZ7aqffHMfVagrwZbJm9FonmyyG8R0=; b=Zy022IHPbJ+fONGWPJUaZXp2ni+bywnKpUJ1JbZzCb3EYzAuVdaF0cZND0yWuyplFREOGP oQ5g+Epe6bK4CRNa2vRIXbpydLSXt5e1v09inrH+uBn/tUdMoLFgrc2Q52EHrxKMRMuHAZ QHXS/Ary5IAxayGIqgTQZDDBqafAnEdASE4I3VNqWJeNJOkSMqCttErlV+E7zjSfU8ai5n x8m8MNAfsWbGeTzA5Qyj1qUCje8fRVs0eKutoFZ7XNFt3fmYy+WRu2nLPKavup2BeEtGvR SofB7vATNfZ7hMCfSuumZBzilmWsmQyRqvCdBz/nB0DmepMH7XxOAiOpEHtmdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhJLd2BlgzmQc for ; Thu, 26 Mar 2026 09:26:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 259cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 09:26:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 9b98c4b05391 - main - diff: handle read(2) failures List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b98c4b053917cad42e26596b37df72efab6dc39 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 09:26:28 +0000 Message-Id: <69c4fbc4.259cd.32759fbc@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9b98c4b053917cad42e26596b37df72efab6dc39 commit 9b98c4b053917cad42e26596b37df72efab6dc39 Author: Baptiste Daroussin AuthorDate: 2026-03-26 09:25:21 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-26 09:25:50 +0000 diff: handle read(2) failures MFC After: 1 week --- usr.bin/diff/diffreg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c index 8dcf55a7190b..5c1147bf2730 100644 --- a/usr.bin/diff/diffreg.c +++ b/usr.bin/diff/diffreg.c @@ -542,6 +542,11 @@ opentemp(const char *f) return (NULL); } } + if (nread == -1) { + close(ifd); + close(ofd); + return (NULL); + } close(ifd); lseek(ofd, (off_t)0, SEEK_SET); return (fdopen(ofd, "r")); From nobody Thu Mar 26 09:31:52 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhJTQ65hxz6Wcs7; Thu, 26 Mar 2026 09:32:26 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from fout-b5-smtp.messagingengine.com (fout-b5-smtp.messagingengine.com [202.12.124.148]) (using TLSv1.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 4fhJTQ3hjLz3y4m; Thu, 26 Mar 2026 09:32:26 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; none Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.stl.internal (Postfix) with ESMTP id 126691D00045; Thu, 26 Mar 2026 05:32:24 -0400 (EDT) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-06.internal (MEProxy); Thu, 26 Mar 2026 05:32:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gojira.at; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1774517544; x=1774603944; bh=xfO+tFZTkMSURrLfwv9aQyzFGeI88iw7PESCT7U1y1g=; b= Ta9AAkaJs8483HcF3wUHPGag+vy11Rtjn/qDHyA8yMr61Nxlh6xquK+PjlAjsuG4 hc0gCfaRVwjSqRJwmrv6K60HDuvx5IJalAd+nb+IwYL083D4/nmgFbHp1qyKci9T 9lqn4PDgrSu4XaWM2a7r4erQWFDlIP8SlGUvGyBsQ690gHo1qRLOXW4047zBPf3G qjMZAypzIa5s2me/cKK8JU8PmW1m7bnxe6GBTtAokrRk+HnDqH+y1MJwPWfdFlCU 8XB2R11ILZvwMGzFSkFeIkytrzd3NPZiBxFc0+2Hheu1534nZTh62nc1LSehp2Gw AZPQ/I82LHc+yM1QHi3WaA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774517544; x= 1774603944; bh=xfO+tFZTkMSURrLfwv9aQyzFGeI88iw7PESCT7U1y1g=; b=D rSgNLygkNGoHYRFMNZbTSoiYd8CcqkX2ajRWE4jxvg8Ii6Q0e/ab/BUa2eRuKDgs CHqnO57xhXvrCj3Cg40Gi7gppzsrsP3y6KiqDmer1r4YxgnzhJS9gPfuM+LJkRxq YiMZP4ez/F68FyR+kEMiwOgXLz+igMKgUHw3QB8bABbnvyDHR6WAHlMFHTjoMZAo 3hcOTKgySTd13ez+jruOJnjpP+K9IixIvqrFhx7/RpUREfAenxjtxl4HmQ7Mi7uv a7pdQpte8z5Svr1WeW036cE+yvltJkHOSueepGRGMM/Vb+MnWEQBvavIEjNkNGfd 5wWMPKQ0w83ZE8wPVJvlA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdejtddvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvvefkjghfufgtgfesthejre dtredttdenucfhrhhomhepfdfjvghrsggvrhhtucflrdcuufhkuhhhrhgrfdcuoehhvghr sggvrhhtsehgohhjihhrrgdrrghtqeenucggtffrrghtthgvrhhnpeeugfehfedulefffe ekteeiuedvtdffvdejteeiveevffejudeuhffgfedufeeivdenucffohhmrghinhepfhhr vggvsghsugdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehhvghrsggvrhhtsehgohhjihhrrgdrrghtpdhnsggprhgtphhtthhopeeh pdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehmrghilhesfhgsshguvddrvgegmh drohhrghdprhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrhgtqdgrlhhlsehfrhgv vggsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomhhmihhtshdqshhrtgdqmhgrih hnsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepnhhgihgvsehfrhgvvggsshgurdho rhhgpdhrtghpthhtohepshhrtgdqtghomhhmihhtthgvrhhssehfrhgvvggsshgurdhorh hg X-ME-Proxy: Feedback-ID: i64fe486c:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 20CF8700065; Thu, 26 Mar 2026 05:32:24 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 X-ThreadId: A2o5iKW2AFmF Date: Thu, 26 Mar 2026 10:31:52 +0100 From: "Herbert J. Skuhra" To: "Andre Albsmeier" , "Enji Cooper" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Message-Id: In-Reply-To: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> Subject: Re: Removing stuff from NOTES because it is in GENEREIC (was: git: f224591746bd - main - Add ASMC_DEBUG make option) Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:151847, ipnet:202.12.124.0/24, country:AU] X-Rspamd-Queue-Id: 4fhJTQ3hjLz3y4m X-Spamd-Bar: ---- On Thu, 26 Mar 2026, at 10:05, Andre Albsmeier wrote: > I stumbled across this commit, especially: > >> While here, remove a duplicate `device vt_efifb` directive in `NOTES` >> as it's already handled in the `GENERIC` config > > Is it correct to remove something from NOTES because it is in GENERIC? > > My impression was that NOTES contains ALL what can be configured into > a kernel (whether it makes sense or not). Am I wrong here? This was later reverted: https://cgit.freebsd.org/src/commit/?id=9c25620e57f01d8227f0d53c6b2134ab37a49fdf From nobody Thu Mar 26 09:56:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhK1h27mkz6Wfqb; Thu, 26 Mar 2026 09:56:56 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Received: from mail.e4m.org (mail.e4m.org [IPv6:2a03:4000:66:f68::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 (4096 bits) client-digest SHA256) (Client CN "mail.e4m.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhK1g4q0tz42cn; Thu, 26 Mar 2026 09:56:55 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Authentication-Results: mx1.freebsd.org; none ARC-Filter: OpenARC Filter v1.0 mail.e4m.org 62Q9ulFT040488 ARC-Seal: i=1; d=e4m.org; s=s; a=rsa-sha256; cv=none; t=1774519007; b=ZeXT+FpkprKKRCbpC9FN3C/n+Xry4Z4XGQ0XNQBJGgCoMYDZLcDtHEoYaYotIC3fkFzv opptvtSSvwLkEDVsTii3HEAF4BtNi4hAM3O87imQUHXRxmZNO3xVdPTOL/yfDs4Gq5rHm PpYFl7T90uTJh+4Q4fu+fhYhPha04/5ilGaBN7/Biab4Kx/aNVntv17NBinSf7KMy/wJo 4r3ciS1Df35QkR/NAUSRM8uUWCmQNaJQ6S0hyKOlSywnZ5ZbqNnOT8OBB5mXllA/+sDBX hCTLo/JliNc9vok20bqr2C4EePrw5aUAjsjCV9C1JHTdJuBg2T+2VL6WKQakyBG4rqw== ARC-Message-Signature: i=1; d=e4m.org; s=s; a=rsa-sha256; c=relaxed/relaxed; t=1774519007; h=DKIM-Filter:DKIM-Signature:Received:Received:Received:Date:From:To: Cc:Subject:Message-ID:References:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; bh=jZuhNPUlSO6ew0BleqI6UttBFDYoHcTnmoqu9Om+2gg=; b=Jl2bEyePYJQ+aVDxaxevRXid/2JSawrGU+FG7qIx77AXPTcnXFnAAwtcAUqlVY3PKfXP 0IV/KIJImEmkxH425pUxBRu2dFNoZiM3dAvM1WXFIF/iFNasb739dzRlr3YlYDea9MHbf rn8wxE6R6xb0ng7tkPrbD6xgLhhZ3l6llsT11WIEzhe6PAgIPMBszXI173EvDs66fwrbU J6bYGTC/aZxzurcdhaG8Q/TRkO1fW2vZKINzldJVJX5tml+qyFvjPX+/BLsQnuCaSCJTA TpOgHsUdfXCM9hJXPvw8NyC4wymaS/w8CQuiyrr69LYL4I/T9kX1fmhfKt5+cDjRTJA== ARC-Authentication-Results: i=1; mail.e4m.org; arc=none smtp.remote-ip="2a02:3100:920d:81bf:ec4:7aff:fee6:add0" DKIM-Filter: OpenDKIM Filter v1.0 mail.e4m.org 62Q9ulFT040488 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=e4m.org; s=s; t=1774519007; i=@e4m.org; bh=jZuhNPUlSO6ew0BleqI6UttBFDYoHcTnmoqu9Om+2gg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:Date:From:To: Subject:Reply-to:Cc:In-reply-to:References; b=oqZ8U3lvsJf0QsanJmro7yXgwe1MLE6FmN1MApuYDz7oCn4L2WU+mdsXlot4rCoE/ gcIYSg0IMd/VbG7I2l89cJwkEBjC0pFms/VSCK3ndR8Xx8XIwgYwTlPaFAu8CxBUXq o+NA8TBW8djBGxMy2hvbSfh0KhR7aCsZ9gZz8blwbUH5OUNDGvK0HhcL+6JO29iho5 Z64yF0KF/fZ7Cp0CPKkx73NYX3GcSJmuafm9TndBIHbH1xjbdthhqNqy7fbZdZK+r9 Wl/cQWmqorFr/TeVsGACbUV8Doh7jSLvJdJg3HBJAVyTWF6phV5onsy06w6VKJ9Y0w OLPJSkI4nDFrw== Received: from dynamic-2a02-3100-920d-81bf-0ec4-7aff-fee6-add0.310.pool.telefonica.de (dynamic-2a02-3100-920d-81bf-0ec4-7aff-fee6-add0.310.pool.telefonica.de [IPv6:2a02:3100:920d:81bf:ec4:7aff:fee6:add0]) (authenticated bits=128) by mail.e4m.org (8.18.1/8.18.1) with ESMTPSA id 62Q9ulFT040488 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=FAIL); Thu, 26 Mar 2026 10:56:47 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from stationary.client ([IPv6:fd00:0:0:0:0:0:0:3]) by gate.local (8.18.1/8.18.1) with ESMTPS id 62Q9ugpK049291 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 26 Mar 2026 10:56:42 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from submit.client ([127.0.0.1]) by voyager.local (8.18.1/8.18.1) with ESMTP id 62Q9ugTK005832; Thu, 26 Mar 2026 10:56:42 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: (from user@localhost) by voyager.local (8.18.1/8.18.1/Submit) id 62Q9ughr005831; Thu, 26 Mar 2026 10:56:42 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Date: Thu, 26 Mar 2026 10:56:42 +0100 From: Andre Albsmeier To: "Herbert J. Skuhra" Cc: Andre Albsmeier , Enji Cooper , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: Removing stuff from NOTES because it is in GENEREIC (was: git: f224591746bd - main - Add ASMC_DEBUG make option) Message-ID: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:197540, ipnet:2a03:4000::/32, country:DE] X-Rspamd-Queue-Id: 4fhK1g4q0tz42cn X-Spamd-Bar: ---- On Thu, 26-Mar-2026 at 10:31:52 +0100, Herbert J. Skuhra wrote: > On Thu, 26 Mar 2026, at 10:05, Andre Albsmeier wrote: > > I stumbled across this commit, especially: > > > >> While here, remove a duplicate `device vt_efifb` directive in `NOTES` > >> as it's already handled in the `GENERIC` config > > > > Is it correct to remove something from NOTES because it is in GENERIC? > > > > My impression was that NOTES contains ALL what can be configured into > > a kernel (whether it makes sense or not). Am I wrong here? > > This was later reverted: > https://cgit.freebsd.org/src/commit/?id=9c25620e57f01d8227f0d53c6b2134ab37a49fdf Well, yes. My intention was to get clarity regarding the approach in general (removing s.th. from NOTES b/c it's in GENERIC)... From nobody Thu Mar 26 11:20:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtR3rMLz6WnJq for ; Thu, 26 Mar 2026 11:20:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhLtR0n5tz3FFD for ; Thu, 26 Mar 2026 11:20:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kuzgJBoH35EoDvlpUfplrKaWIL2xtzrfNWj79zDPcro=; b=YiqeJApqFcdR4R67rQv8Q0q9twFmD918uSPjuqbv6wHd1CNtGV6HNH/ChDmPauFZLvQW3s O1GCRz7RPkI00Odj6WW30LfhjU+8N5gYm3LEZLt09SaOV0JO6UTDWtD+4j5cb+K8w18oDk 6DRgGg+256Tkf7Zi9OXdBRFQYQKygCZKIoJhch0YQ++UbXo+Ik+RwAxa79u6l3JgR/Wuij 6NnMirpC2r9GDoCAlTa7feW/Ea/CV9XbGgqoyK3OIo8tPd5v3yfYyT2F/Bh3Xxs7sQ+/qi O6bQPadES99Y7UuZV+Ryov+XZj5IQGr+tkqMYx31AWI5xJwQEsRkflEcZdcpxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774524047; a=rsa-sha256; cv=none; b=p1DvFnbiSMaoX2RwiZf5tsJCDAhiiOC97XKij3sIYHFiDVQU8Gz5W6yj/HeVivacevY/zY c/QOnsKCOlA817zJiu828y1APj1G24kteVvJUtETTRpQllfAAUoHivTGimhdejWggm0Mw7 2FG/02fudM4TBt/kwxfyKd2OZSPTlfu0plA+SBus2QcsceTHS3S+qjy+gKbDoJKvjKq4fr pVbyrWJGcoXf3sTC5Q+oos0KYfKnInClPwSssjDptaJxgVPfw0dj7W57tPLRLPZL8j2qpw e8XhAxtJRfQOsKVCmamiGpi+9/xRcDfp24G6liijw0bRnosAOb6HO4FYWz4EKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kuzgJBoH35EoDvlpUfplrKaWIL2xtzrfNWj79zDPcro=; b=q9vDwEliOCv4z7Z3wl9MlKX0ntN2upEMGWgTZGGIs4ZAiwcJ31f7bqMhekDgyER8Owo+3A A0GtU2qIRiCoN4hYJ8Txs3tBZUky8d4exkI2w0vJt0OjtmZyhq1uEvHIpAlLSY9q2UE5+J mDuoUJnMYAQnNawr3ZrN7TjFRKVpfTjYpXuFOpNNOs+SsuVvx6qGm288hBrmPrGUn/JRpT 7zeDS/UFxecDITbFM9FbO3OR1l2gqrijdkf0U2QpHnbUA1vebhR0noG/msP1PzWbPdgnHm JC6CPmAFLsiLT40cnOEyNKPHUF0skrwF2xjKQqV1Da1SaKzFKVTbYJxZVGcVsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtR0JbqzqnD for ; Thu, 26 Mar 2026 11:20:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ae5d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 11:20:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 824f5e72176d - stable/15 - netstat(1): Fix expire column in -r flag using netlink List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 824f5e72176d17fdfc14be0f2c6f752d7972471c Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 11:20:47 +0000 Message-Id: <69c5168f.3ae5d.12b4180c@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=824f5e72176d17fdfc14be0f2c6f752d7972471c commit 824f5e72176d17fdfc14be0f2c6f752d7972471c Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-22 16:35:23 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-26 09:12:13 +0000 netstat(1): Fix expire column in -r flag using netlink Reviewed by: glebius MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D55440 (cherry picked from commit 2f7cfeebcc4356d3bb85e953900ba5d3f75831ff) --- usr.bin/netstat/route_netlink.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/netstat/route_netlink.c b/usr.bin/netstat/route_netlink.c index e7b2a1964602..2c4b7a5c6b00 100644 --- a/usr.bin/netstat/route_netlink.c +++ b/usr.bin/netstat/route_netlink.c @@ -218,8 +218,8 @@ p_path(struct snl_parsed_route *rt, bool is_mpath) else xo_emit("{t:interface-name/%*.*s}", wid.iface, wid.iface, prettyname); - if (rt->rta_expires > 0) { - xo_emit(" {:expire-time/%*u}", wid.expire, rt->rta_expires); + if (rt->rta_expire > 0) { + xo_emit(" {:expire-time/%*u}", wid.expire, rt->rta_expire); } } @@ -244,6 +244,7 @@ p_rtentry_netlink(struct snl_state *ss, const char *name, struct nlmsghdr *hdr) rt.rtax_weight = nhop->rtnh_weight; rt.rta_rtflags = nhop->rta_rtflags ? nhop->rta_rtflags : orig_rtflags; rt.rtax_mtu = nhop->rtax_mtu ? nhop->rtax_mtu : orig_mtu; + rt.rta_expire = nhop->rta_expire; xo_open_instance(name); p_path(&rt, true); From nobody Thu Mar 26 11:20:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtS4GVGz6WnXW for ; Thu, 26 Mar 2026 11:20: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhLtS28lwz3FK9 for ; Thu, 26 Mar 2026 11:20:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sZb97VNwBDfXkFqwASM2G6VstbJIC77qacLqA0EaMCU=; b=WylS7GWTSswFankulGs94nsTi6/he6ojHSYU339tBwGTzkGNAiK4mTflkofh7AkH6/58fL 6rcjWu+Lsk2F7JIEUsGgyJlNk8wQrxG5/wO2dPU/jQ/spd4Gjbi/IhIez00MJX5MXO9/Po ukch1T8OrdDkmVGny/vABGtjeJTZyBsU8+5j8l605HWb0x1zrpsQjtCux9HprxWkyGbR5J hGriIRU9GeemcEaKW3G5RxMNrBv2Y61hwGIUeBNlpspuuv0g7mHM0A6ZgLjucqBkc64kX/ GkcTmVcYnGVQ8aijwiv4dlmgYoChSia5KgWgPQwhessBZB4T36Gf8YJfZXcsVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774524048; a=rsa-sha256; cv=none; b=a7pPMKzyo57RIFhb0Nwt6PKH5ds11LOgW1KjLvbhUFeJCwKtZvovfM4KcU9YySZ3Zhfutg c3S/3W+zQ7Tu2EGR9BqrA74TsYeiGLqxVIjzxvYJuBJCl1pdYIOQqJr+l+Zx/k/rxELRcG 9EG9bLhj5oCqoVM1PRnGvGt5m0/cQUQQzCnfqj6fkSnE4arO7i5dy9LqxOg3qfNufep6NU SDzx8e4AO7+hSeNc1jYby1BQitXsCunYnEpJcSpak4aWwLw+PoK6frDnp1/z1UrYHuHGWD wXNkFmWPwLa+xFkk0xTkHzWpwjWOD4PovXT3TCgNj5plGQYS5cOyIXFTZn6v0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sZb97VNwBDfXkFqwASM2G6VstbJIC77qacLqA0EaMCU=; b=YXHkQVzGyQq5B9DGgx+RulJLMwONl+xJOJOP6vKFTHhdWrcqZASutCLz5V+G30I+xTpJ0S w+0bFMtgESmj0fOwtnAAF9Y+Z4c72//fdwXdU9rsLZYAI9ZgLW8n87YxVpWQ4p1BTdmU+6 lxW+AltgwZRlVDf/lZLeL+4t1NpNZ1t2aezwRPu3bwQIO7MgG63BkdbZLECj1aDOE8yasL Hurv3R2lm2nv0hd2yCANctxs7oSBE7PLXiMpCERiL5z6EeyLWhczfFQ91KIpK5y/SyeSKq dncVYUCFFQFg3aBz9sb0lCyP2orZG5WG24wSZOi/OGUI6ly8SeEBOrj/zx6VTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtS19MGzq7Q for ; Thu, 26 Mar 2026 11:20:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a41f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 11:20:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: f088a26db73c - stable/15 - route(8): Fix -expire argument when using netlink List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f088a26db73c269e2aa11caed33294ae1ece3814 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 11:20:48 +0000 Message-Id: <69c51690.3a41f.2c7bc549@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f088a26db73c269e2aa11caed33294ae1ece3814 commit f088a26db73c269e2aa11caed33294ae1ece3814 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-22 18:41:31 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-26 09:12:14 +0000 route(8): Fix -expire argument when using netlink Also fixes nexthop expire value on route get using netlink. Reviewed by: glebius MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D55444 (cherry picked from commit 8230cf1aa18d9215ee17fec743fc7c7c8fa2da13) --- sbin/route/route_netlink.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sbin/route/route_netlink.c b/sbin/route/route_netlink.c index ba22a2ec1e22..5dde7501d6b4 100644 --- a/sbin/route/route_netlink.c +++ b/sbin/route/route_netlink.c @@ -263,6 +263,9 @@ rtmsg_nl_int(struct nl_helper *h, int cmd, int rtm_flags, int fib, int rtm_addrs snl_end_attr_nested(&nw, off); } + if (rt_metrics->rmx_expire > 0) + snl_add_msg_attr_u32(&nw, NL_RTA_EXPIRES, rt_metrics->rmx_expire); + if (rt_metrics->rmx_weight > 0) snl_add_msg_attr_u32(&nw, NL_RTA_WEIGHT, rt_metrics->rmx_weight); @@ -343,7 +346,6 @@ static void print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst) { struct snl_state *ss = &h->ss_cmd; - struct timespec ts; struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_route_parser, &r)) @@ -385,11 +387,7 @@ print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst) printf("%8lu ", 0UL); printf("%8lu ", rmx.rmx_mtu); printf("%8lu ", rmx.rmx_weight); - if (rmx.rmx_expire > 0) - clock_gettime(CLOCK_REALTIME_FAST, &ts); - else - ts.tv_sec = 0; - printf("%8ld \n", (long)(rmx.rmx_expire - ts.tv_sec)); + printf("%8ld \n", rmx.rmx_expire); } static void From nobody Thu Mar 26 11:20:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtW3lMBz6WnMW for ; Thu, 26 Mar 2026 11:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhLtW0kPPz3FCW for ; Thu, 26 Mar 2026 11:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z5E/OjJjxmtH6iMPBwHQef1Bax9Si2zA2rXNfC8R+S8=; b=fleZ11n+RCoFxIeCuuMOl4J7YuN46oxUKZ3G6G0pj5VJNAYdJ3hlKEIctA1SYZnFHe5jie 9SAdtImuVfW0+jcbluwGf7eCxGjmOxzMFAqatUU1GckJd32nugCEwgl4wlcd5jQgSM5qCL luZMS1mcLiqABafFq0FKKcsc8Colew8O/lisAQYzqTulV0koMt4t78zdNT3EigIdKBe47m WNELufkJsH7PITN+lDd/oMoIbiPbf4FtXGd7fIE/lY+mz0/FzXVohJ07W6RrMN3gmEr7aE G59a74998Z2N2Ti7CtaScU7TiYj/hBdo3GFVsyNmvYWshLxpb9dYMQP6lv5xyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774524051; a=rsa-sha256; cv=none; b=Hv4XM53fWyV/YhlX+Dj8DhFptkslVJ/SYKzWWipfZbNlPxJeG1euJ/CcftdLnBSX/RNXId xjkw22FWE7gOIexfebRSgoksv+LX9LGRgjRWWk55UJoyr33Vbdb6hPWpyD0SYDkNJD62ZP D8zUGZEceM/bzR9pCDbpMFMIPjL6o/BSK/XXiwKuCM6hVOMjjf0E9LpP/RYoNGiEE500mx /Rys3Xkr3fPdJsXWTZ5s6MQmhK9sKj9nr6S1Zyio12bdf1ROT1+leOzoBUAzE597E+Dt41 VVOvO4sHkvifObcnYOlwOSbwAQVLgIXi39Lz5eV0SO7AiME6cjbfzLn7Bt2CjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z5E/OjJjxmtH6iMPBwHQef1Bax9Si2zA2rXNfC8R+S8=; b=i3c3brPV36bk9SnU9QoT//umblVFl/rNseWprel2zlep6hvuiUoLjQB9fLTz58rOVkBq0G owKHlWOhp3RYeDPvzjBMv5AH2LGvUs3pcA15TgIeUuLQK7o83Iez3nDbb6XPKTi1KLCfk2 enMDs+g5DrOUkXuZYfABgmowfPwDv8w7ZtBP7NHZVt3qhB0Yb6kNNIlUf8AA1Xk1LcC/Hd FM1xkC6JdnQevGLRZx1f78PT8OHXkOX2qLQy5Bz8WVxSaj0Qae4K8mUJ8/XMtEX9bBUOIO nTSutNI3BFSpMI9gTEkMjctBFYqCBw9CaQXrKkEsYdiCuVFj1pNAkVghW/5PqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhLtW0KtkzqwH for ; Thu, 26 Mar 2026 11:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ae59 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 11:20:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: b51cfb5e3c2e - stable/15 - rtnetlink: Add support for nexthop expiration in new/get route List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b51cfb5e3c2edbe1c487a80e7e9c7ce8095525e9 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 11:20:45 +0000 Message-Id: <69c5168d.3ae59.3f790dec@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=b51cfb5e3c2edbe1c487a80e7e9c7ce8095525e9 commit b51cfb5e3c2edbe1c487a80e7e9c7ce8095525e9 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-22 17:46:12 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-26 09:12:10 +0000 rtnetlink: Add support for nexthop expiration in new/get route Before this change, netlink only shows nexthop expire value if route is not multipath. Now it can set expire time during route creation. Also, show expire time of multipath nexthops. Reviewed by: glebius MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D55442 (cherry picked from commit ff6d1faa65a1a77d04746b43023feb457cfa27b8) --- sys/netlink/netlink_snl_route_parsers.h | 2 ++ sys/netlink/route/rt.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_snl_route_parsers.h b/sys/netlink/netlink_snl_route_parsers.h index 6b7a8188180d..70a12ad3ad74 100644 --- a/sys/netlink/netlink_snl_route_parsers.h +++ b/sys/netlink/netlink_snl_route_parsers.h @@ -53,6 +53,7 @@ struct rta_mpath_nh { uint8_t rtnh_weight; uint32_t rtax_mtu; uint32_t rta_rtflags; + uint32_t rta_expire; }; #define _IN(_field) offsetof(struct rtnexthop, _field) @@ -67,6 +68,7 @@ static const struct snl_attr_parser _nla_p_mp_nh[] = { { .type = NL_RTA_METRICS, .arg = &_metrics_mp_nh_parser, .cb = snl_attr_get_nested }, { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(gw), .cb = snl_attr_get_ipvia }, + { .type = NL_RTA_EXPIRES, .off = _OUT(rta_expire), .cb = snl_attr_get_uint32 }, }; static const struct snl_field_parser _fp_p_mp_nh[] = { diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index dcd19b43105c..4d7f676d2aec 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -179,7 +179,7 @@ static void dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg *rtm) { uint32_t uidx = nhgrp_get_uidx(nhg); - uint32_t num_nhops; + uint32_t num_nhops, nh_expire; const struct weightened_nhop *wn = nhgrp_get_nhops(nhg, &num_nhops); uint32_t base_rtflags = nhop_get_rtflags(wn[0].nh); @@ -206,6 +206,9 @@ dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg * nlattr_add_u32(nw, NL_RTA_RTFLAGS, rtflags); if (rtflags & RTF_FIXEDMTU) dump_rc_nhop_mtu(nw, wn[i].nh); + nh_expire = nhop_get_expire(wn[i].nh); + if (nh_expire > 0) + nlattr_add_u32(nw, NL_RTA_EXPIRES, nh_expire - time_uptime); rtnh = nlattr_restore_offset(nw, nh_off, struct rtnexthop); /* * nlattr_add() allocates 4-byte aligned storage, no need to aligh @@ -487,6 +490,7 @@ struct nl_parsed_route { uint32_t rta_rtflags; uint32_t rta_nh_id; uint32_t rta_weight; + uint32_t rta_expire; uint32_t rtax_mtu; uint8_t rtm_table; uint8_t rtm_family; @@ -513,6 +517,7 @@ static const struct nlattr_parser nla_p_rtmsg[] = { { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = nlattr_get_uint32 }, { .type = NL_RTA_TABLE, .off = _OUT(rta_table), .cb = nlattr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(rta_gw), .cb = nlattr_get_ipvia }, + { .type = NL_RTA_EXPIRES, .off = _OUT(rta_expire), .cb = nlattr_get_uint32 }, { .type = NL_RTA_NH_ID, .off = _OUT(rta_nh_id), .cb = nlattr_get_uint32 }, }; @@ -851,6 +856,7 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, { struct nhop_object *nh = NULL; int error = 0; + uint32_t nh_expire = 0; if (attrs->rta_multipath != NULL) { #ifdef ROUTE_MPATH @@ -907,6 +913,10 @@ create_nexthop_from_attrs(struct nl_parsed_route *attrs, nhop_set_transmit_ifp(nh, attrs->rta_oif); if (attrs->rtax_mtu != 0) nhop_set_mtu(nh, attrs->rtax_mtu, true); + if (attrs->rta_expire > 0) { + nh_expire = attrs->rta_expire - time_second + time_uptime; + nhop_set_expire(nh, nh_expire); + } if (attrs->rta_rtflags & RTF_BROADCAST) nhop_set_broadcast(nh, true); if (attrs->rtm_protocol > RTPROT_STATIC) From nobody Thu Mar 26 11:31:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhM7D23Zpz6WpFt; Thu, 26 Mar 2026 11:31:52 +0000 (UTC) (envelope-from des@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhM7D1NrBz3HHr; Thu, 26 Mar 2026 11:31:52 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524712; h=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=SejVE6COt6XPS5W0q+jQ/NwG9RbXvAwxYSckPXprwt8=; b=lW+4fOUJ60wuEzbHTOKvfhCdsxDFqPm4IpQCxBeL5fffneMIPvfhg8xHtGJnGpgg0ASenT caPxEIBW8H6fiqvTz72CXmjPGBdIMrXNFj3zO1IcbnKBcr6ONUXMph+RMKCgipHLoGrle3 tuxbnG81BakGzZelZQ743VP4Rz8iTokTK0XKaqildm966Kw3klEEyZRpRLLl9k26gjPQ4I sL08Mjc+qS+Gh9h/fuYAfLXpkw7BGvsu5I9u1Dwzcmvj9Wy6MntvN8MIUqmfRap2/dei1O Yz8bbxG0l7aFVksyMsIkVAuZLm953mxfIHDGOz8bR9C3itCfjoAuH/KHWHbWGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774524712; a=rsa-sha256; cv=none; b=Jh/26sheHOFW0gspfvwNOvRRnpM3oc498eHQSzM9PpLf10wdumZyu0/PNeJrpa3n08aE7j cvM1vB62j4w5R7PM3mABPrkkSnzCIOa2EaiSjZkRTS0UAXxsF/HFyiR639ksSEEEUYRMMQ 9AeYHq575PojpKXt7+wJH9xdTVst3cact3Prm9cOKmd7aJkY5nZ+mVU/bMWBe0QuQQUwCn ovbam9aFy7ZurgEBQX92tbV+jJ1m+2njYaIYwD75E40kcG6ZBQltxhiyYlx5K4y5HMWJlM DiDyoyKwi1IWvMht0TqtxEl10buCXZiAMxap7RzLEF1bGLDVCSmPluP5Ptcinw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774524712; h=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=SejVE6COt6XPS5W0q+jQ/NwG9RbXvAwxYSckPXprwt8=; b=eCEA9WxuvpIlCRipkVRov/gtHqDJCUwpFPa8nl8vJw4Hzhg8cLsD3p1Kq5tMIEMHCehGVK 8YrcmC8aONcB9KTJWuMQIrPDOrpdDW9u4TFClXqv9DdQh7bSi003atP7tLHfqN8o4AXmKI aWCho/sRWyVt/fPJUj5xAww1BeADYO3CxDfULfUP9pMcfuhLOT6KCG+9eNdRNoimSDVJBk LPZkUem/m50Mw/6U4hUXeaVyUHnHs9aT8lzNXfjVSlKwbvY6Ey7n5tAUgnsTKNkUSZgt6y istUmdhBAVgktkBnSEESvm0zDOwJnfZpt9LvxZMimg6j1H0CB9elccD1YvQtLQ== Received: from ltc.des.dev (lfbn-nan-1-698-103.w86-236.abo.wanadoo.fr [86.236.35.103]) (using TLSv1.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) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fhM7C6hdbz5tl; Thu, 26 Mar 2026 11:31:51 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id E1C9D5AC5A; Thu, 26 Mar 2026 12:31:44 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Andre Albsmeier Cc: Enji Cooper , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: Removing stuff from NOTES because it is in GENEREIC In-Reply-To: (Andre Albsmeier's message of "Thu, 26 Mar 2026 10:05:29 +0100") References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Thu, 26 Mar 2026 12:31:44 +0100 Message-ID: <86ldfeyggv.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Andre Albsmeier writes: > Is it correct to remove something from NOTES because it is in GENERIC? > > My impression was that NOTES contains ALL what can be configured into > a kernel (whether it makes sense or not). Am I wrong here? You are correct. NOTES is intended to have all options that can be enabled, plus non-default values for all parameters that can be tuned. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Thu Mar 26 11:42:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhMMB1rXKz6WqBs for ; Thu, 26 Mar 2026 11:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhMMB1Cn8z3Kls for ; Thu, 26 Mar 2026 11:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774525334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xdcY1S/Gk8fa263B9/aWYop/JzD0jQd/3CEHbLBijcc=; b=Mk0Q6SjXdCO1JxRAADYKJhVahGAQCBV6icSCZTlJ9lZFeqZlIqqRt6eCran6fnxE3tL0wY YDqRaeGCpOY1l4HzwgUbiscs9N1gsssi8LyRPsEDZ29GJYiXy9wsrfh2Br0IWAo94XMgqc ueJlj7HC0mvis8ophzmb9lfapO0lIgJkutOU+B3cDXUKyT1qMOw0jTqjsAxTpxiDnUxgJC s87+2I7k8+63Th4pPQQaAUqvNEIobSh+k6VZxwpVV8EBuS388Rvj+wHDVZw1xgan2524uL ftpcpJLuUAvO+jLqUZyYsqNuk2CQBJKajsxh8Z38fAHvlwiodzN7KTUURLtZNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774525334; a=rsa-sha256; cv=none; b=MTdWtOHNL3uG9OAiPcPrhYdjTjzn9QvY+1XA8lEqz+8wss/kqq9hmFJBk0yXASqjkp8u3a L/xudWAYePDpjegI7jF/Qvc74hc7iEF6uwpWkvxzHDH0FuvmgDGHqJ8KSzh1DFUeoYWSCz 76jeDxzbsIcLsm0mCgDUBDctNmahZ0BFYxiv2fB/qdoeWrisinUzrK9z5UbplIa8qbbA6q l+goqG9MM4/+q/E/IaOp9UpZ61RWb5sgcXlGI0FeAa5egEZjJc84mUGrYJl+JmJyfzdGTA tZpD5YcZalrkFheLZY8Avpg99Laym05fEmWSjZSed8YPojMyHUkLY5uvVW060w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774525334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xdcY1S/Gk8fa263B9/aWYop/JzD0jQd/3CEHbLBijcc=; b=k6nKoMdijvwzZGEOA85P5WnQ3mT5RRmel5oNAc7w6ClwK/Yh8dytwO4/ovYwfqXZNOr88S psuwGWoMlWbgzKNdiM/RhUEZKnWoEDe82rqDdiapcJQA4QFLCLiOdDvYjiNfLFC7NkoZX3 WRIaZIqkWhPEWa2wj8tlmkEt/j5P+c9ojlHDgIkq7d7AwoQApKK/mdEoAu2TNzHVkE+RBC SwOAWZwBTKQCNgkwOILBphCTnQtyfhqOln4JFsaT3+CHF3GrS/1GHmOW42Hm6YqpAyd/zP wIIB67y7+Z5uvPB1MBMKCKEJ4zdJcPJwjj9tCbUyH4EqmpmcREBfAtjgdzG2kQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhMMB0mF3zqHZ for ; Thu, 26 Mar 2026 11:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d400 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 11:42:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 253f15c016ca - main - libc/amd64/strrchr.S: rewrite and fix scalar implementation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 253f15c016ca699906f78b8e522a3f7ed675929b Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 11:42:14 +0000 Message-Id: <69c51b96.3d400.1aff0881@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=253f15c016ca699906f78b8e522a3f7ed675929b commit 253f15c016ca699906f78b8e522a3f7ed675929b Author: Robert Clausecker AuthorDate: 2026-03-22 12:37:06 +0000 Commit: Robert Clausecker CommitDate: 2026-03-26 11:41:49 +0000 libc/amd64/strrchr.S: rewrite and fix scalar implementation The original scalar implementation of strrchr() had incorrect logic that failed if the character searched for was the NUL character. It was also possibly affected by the issue fixed in 3d8ef251a for strchrnul(). Rewrite the function with logic that actually works. We defer checking for the character until after we have checked for NUL. When we encounter the final NUL byte, we mask out the characters beyond the tail before checking for a match. This bug only affects users running on amd64 with ARCHLEVEL=scalar (cf. simd(7)). The default configuration is not affected. The bug was unfortunately not caught by the unit test inherited from NetBSD. An extended unit test catching the issue is proposed in D56037. PR: 293915 Reported by: safonov.paul@gmail.com Tested by: safonov.paul@gmail.com Fixes: 2ed514a220edbac6ca5ec9f40a3e0b3f2804796d See also: https://reviews.freebsd.org/D56037 MFC after: 1 week --- lib/libc/amd64/string/strrchr.S | 78 ++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 52 deletions(-) diff --git a/lib/libc/amd64/string/strrchr.S b/lib/libc/amd64/string/strrchr.S index e397bbcd3478..29587456752a 100644 --- a/lib/libc/amd64/string/strrchr.S +++ b/lib/libc/amd64/string/strrchr.S @@ -1,5 +1,6 @@ /*- * Copyright (c) 2023 The FreeBSD Foundation + * Copyright (c) 2026 Robert Clausecker * * This software was developed by Robert Clausecker * under sponsorship from the FreeBSD Foundation. @@ -65,77 +66,50 @@ ARCHENTRY(strrchr, scalar) xor %rax, %rcx # str ^ c or %r10, %rax # ensure str != 0 before string or %r10, %rcx # ensure str^c != 0 before string - bswap %rcx # in reverse order, to find last match - mov %rdi, %r10 # location of initial mismatch (if any) - xor %r11, %r11 # initial mismatch (none) + xor %r11, %r11 # vector of last match (0 -> no match) add $8, %rdi # advance to next iteration lea (%rax, %r8, 1), %rdx # str - 0x01..01 not %rax # ~str and %rdx, %rax # (str - 0x01..01) & ~str - and %r9, %rax # not including junk bits - jnz 1f # end of string? - - lea (%rcx, %r8, 1), %rdx # (str ^ c) - 0x01..01 - not %rcx # ~(str ^ c) - and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) - and %r9, %rcx # not including junk bits - mov %rcx, %r11 # remember mismatch in head - jmp 0f - - /* main loop unrolled twice */ - ALIGN_TEXT -3: lea (%rcx, %r8, 1), %rdx # (str ^ c) - 0x01..01 - not %rcx # ~(str ^ c) - and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) - and %r9, %rcx # not including junk bits - lea -8(%rdi), %rdx - cmovnz %rdx, %r10 # remember location of current mismatch - cmovnz %rcx, %r11 - -0: mov (%rdi), %rax # str - mov %rsi, %rcx - xor %rax, %rcx # str ^ c - bswap %rcx # in reverse order, to find last match - lea (%rax, %r8, 1), %rdx # str - 0x01..01 - not %rax # ~str - and %rdx, %rax # (str - 0x01..01) & ~str - and %r9, %rax # not including junk bits + and %r9, %rax # NUL bytes in str, not including junk bits jnz 2f # end of string? + /* main loop */ + ALIGN_TEXT +3: mov (%rdi), %rax # str + bswap %rcx # (str ^ c) in reverse order, to find last match lea (%rcx, %r8, 1), %rdx # (str ^ c) - 0x01..01 not %rcx # ~(str ^ c) and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) - and %r9, %rcx # not including junk bits - cmovnz %rdi, %r10 # remember location of current mismatch - cmovnz %rcx, %r11 + and %r9, %rcx # matches in str, not including junk bits + cmovnz %rdi, %r11 # if match found, update match vector + cmovnz %rcx, %r10 # ... and match pointer - mov 8(%rdi), %rax # str - add $16, %rdi + add $8, %rdi # advance to next iteration mov %rsi, %rcx xor %rax, %rcx # str ^ c - bswap %rcx lea (%rax, %r8, 1), %rdx # str - 0x01..01 not %rax # ~str and %rdx, %rax # (str - 0x01..01) & ~str - and %r9, %rax # not including junk bits + and %r9, %rax # NUL bytes in str, not including junk bits jz 3b # end of string? - /* NUL found */ -1: sub $8, %rdi # undo advance past buffer -2: lea (%rcx, %r8, 1), %rdx # (str ^ c) - 0x01..01 + /* NUL found, check for match in tail */ +2: mov %rax, %rdx + neg %rax + xor %rdx, %rax # all bytes behind the NUL byte + or %rax, %rcx # (str ^ c) without matches behind NUL byte + bswap %rcx # (src ^ c) in reverse order, to find last match + lea (%rcx, %r8, 1), %rdx # (str ^ c) - 0x01..01 not %rcx # ~(str ^ c) and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) - and %r9, %rcx # not including junk bits - lea -1(%rax), %rdx - xor %rdx, %rax # mask of bytes in the string - bswap %rdx # in reverse order - and %rdx, %rcx # c found in the tail? - cmovnz %rdi, %r10 - cmovnz %rcx, %r11 - bswap %r11 # unreverse byte order - bsr %r11, %rcx # last location of c in (R10) - shr $3, %rcx # as byte offset - lea (%r10, %rcx, 1), %rax # pointer to match + and %r9, %rcx # matches in str, not including junk bits + cmovnz %rdi, %r11 # if match found, update match vector + cmovnz %rcx, %r10 # ... and match pointer + tzcnt %r11, %rcx # location of last match + lea -1(%r10), %rax # address of last character in vector + shr $3, %ecx # as byte offset + sub %rcx, %rax # subtract character offset test %r11, %r11 # was there actually a match? cmovz %r11, %rax # if not, return null pointer ret From nobody Thu Mar 26 12:31:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhNRm1NS3z674dR; Thu, 26 Mar 2026 12:31:16 +0000 (UTC) (envelope-from tijl@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhNRm0mFzz3PgC; Thu, 26 Mar 2026 12:31:16 +0000 (UTC) (envelope-from tijl@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774528276; h=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=LRYWb74OKgDMz+/MZmKGd5lm4/iXhtBajWzBZfffeFU=; b=gbmZQkoQ1H/VEkEND8AYXOUagDIcNsgP234vFXZ2KxbIyN3rWX7fgmEDiClOOBIUJ++inI +AWY2CISLfoAJbWkJs8WIV1Tjl03DDgI+Gg60u4BCRo0x7WO8WAhl5IPLZ1QlJuiMl0npI wSl+/rdnFLXGh7u+tyUwgpAG5niE68hOyEXxvm1gSrVwvHNR9R8GXug/7iogDiIzqJTFnN pqNbK0gi7tF20f2MJ5qs3nJRyVtryIlWHQS3E2uQr6wDvp1kMcPi/cheDSZbrFhlLX/799 SQ18yEiokGIpdl9crK0tvwwCCqgxy+UU9GBPJYWsG9wLS7tnXL9ylSiIENLLWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774528276; a=rsa-sha256; cv=none; b=vtsYROK4RQ4fFKk2jWCNQXj7bgEuBsnz1K+Qc45V4XNZrsi/QlRXX2HwbIWJKco5oWYInY cwT8PWFwwZmpLRC8AINakcKtpxK9rnju/rUEM9y6084KAeLT+T2hZSQ0pyrI9dhh8Cla26 Bgz+nAdD03wOFquUHvKSNb/0ttP7SyeB+GHomkOSa63EnbcTS7Kiqa0rzu8eWSWvcufO4b D8eBwsc2+xoNw21i8bsEtnhT9UuKBOAXusjrNAAsqnQjYcR/mtLnc3thvDPwdObfLH7cM4 T5ktE01JDEGxXjuCMKR5KKawlInpoFdRy0JTNEkjeDsqJkkcRWryscXus3mQzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774528276; h=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=LRYWb74OKgDMz+/MZmKGd5lm4/iXhtBajWzBZfffeFU=; b=BQKWiIyd2Kv3mmUe2TW+TeDVhkacvPjRqfGkwkq/B1txWHXxzJ6hN8661RUfA81FW/QlyW Fx9G8A+jdli+qp5v7IfMj6DHdYSV0myMq8zjCbSmtLRaKp61NXrw7Eegig6sRfy88UrgQr tRb9Sn3VbhtKkpT/nTRBQbfo3oQw5BJb1mEsxnRU+qgxxPQ/VFWGYMbuZ/wY1phwPhEz/o nwOoNHG9WyWaExpMUjVd8Kz+KkQUhQwEkK0H3v1AE+ZLM71e877MNWeNsW/vhG93YFXNYW 2tidtwCl4ju51ltJCyjGv861+GTRg1aMbgoXfDRvMm3aUeRu1LB8x0SYEPlp1w== Received: from hal.tijl.coosemans.org (unknown [IPv6:2a02:a03f:8941:cb00:73e7:c8ed:b8b5:7bda]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: tijl) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fhNRl2zJDz6rL; Thu, 26 Mar 2026 12:31:15 +0000 (UTC) (envelope-from tijl@FreeBSD.org) Date: Thu, 26 Mar 2026 13:31:13 +0100 From: =?UTF-8?B?VMSzbA==?= Coosemans To: Ed Maste Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools Message-ID: <20260326133113.7dcf71e7@hal.tijl.coosemans.org> In-Reply-To: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 20 Mar 2026 13:39:48 +0000 Ed Maste wrote: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=17494c6e6b7d5e2be34d2469566a59bbd9dceb8a > > commit 17494c6e6b7d5e2be34d2469566a59bbd9dceb8a > Author: Ed Maste > AuthorDate: 2026-03-18 15:09:53 +0000 > Commit: Ed Maste > CommitDate: 2026-03-20 13:38:40 +0000 > > build: Boostrap LLVM_BINUTILS for cross-tools > > Reported by: vexeduxr, jrtc27 > Reviewed by: imp > Sponsored by: The FreeBSD Foundation > Pull request: https://github.com/freebsd/freebsd-src/pull/2084 > Differential Revision: https://reviews.freebsd.org/D55923 > --- > Makefile.inc1 | 19 +++++++++++++++++-- > share/man/man5/src.conf.5 | 13 +++++++++++++ > share/mk/src.opts.mk | 1 + > tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 ++++++++++++ > 4 files changed, 43 insertions(+), 2 deletions(-) > > diff --git a/Makefile.inc1 b/Makefile.inc1 > index c4696abae8cd..16cd9b695109 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -239,6 +239,12 @@ X${BINUTIL}?= ${${BINUTIL}} > MK_LLD_BOOTSTRAP= no > .endif > > +# If full paths to all standard bintuils are given, don't build LLVM binutils. > +.if ${XAR:M/*} && ${XNM:M/*} && ${XOBJCOPY:M/*} && ${XRANLIB:M/*} && \ > + ${XSIZE:M/*} && ${XSTRINGS:M/*} && ${XSTRIPBIN:M/*} > +MK_LLVM_BINUTILS_BOOTSTRAP= no > +.endif > + > # We also want the X_LINKER* variables if we are using an external toolchain. > _WANT_TOOLCHAIN_CROSS_VARS= t > .include "share/mk/bsd.linker.mk" > @@ -2701,7 +2707,8 @@ _gensnmptree= usr.sbin/bsnmpd/gensnmptree > # llvm-tblgen is also needed for various llvm binutils (e.g. objcopy). > .if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_CLANG} != "no" || \ > ${MK_LLD_BOOTSTRAP} != "no" || ${MK_LLD} != "no" || \ > - ${MK_LLDB} != "no" || ${MK_LLVM_BINUTILS} != "no" > + ${MK_LLDB} != "no" || \ > + ${MK_LLVM_BINUTILS_BOOTSTRAP} != "no" || ${MK_LLVM_BINUTILS} != "no" > _clang_tblgen= \ > lib/clang/libllvmminimal \ > usr.bin/clang/llvm-min-tblgen \ > @@ -3061,9 +3068,16 @@ _clang= usr.bin/clang/clang > .if ${MK_LLD_BOOTSTRAP} != "no" > _lld= usr.bin/clang/lld > .endif > -.if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_LLD_BOOTSTRAP} != "no" > +.if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_LLD_BOOTSTRAP} != "no" || \ > + ${MK_LLVM_BINUTILS_BOOTSTRAP} != "no" > _clang_libs= lib/clang > .endif > +.if ${MK_LLVM_BINUTILS_BOOTSTRAP}} != "no" There's a double } here making the condition always true. Can MK_LLVM_BINUTILS_BOOTSTRAP be added to MK_CROSS_COMPILER==no in share/mk/src.opts.mk? From nobody Thu Mar 26 13:02:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhP7n1sbVz6FWXl for ; Thu, 26 Mar 2026 13:02: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhP7n1HYYz3SKG for ; Thu, 26 Mar 2026 13:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NMSFUbHsExui3D6F1HmeFnr6O1QfccsCc66whqvBpI=; b=rOSezfCAvo1T9Y/DfdgrNhDlgaV65sjSDoWiIrfanzQATtQ60S3824vdLwdZeKv85FOQ+p fkZRFlztYVwUG3c0W6EogqU1Ti+pfXuvqH/4ZCHdSblJwV52ID+A+RkEAr8FolVwQ/i9X8 j956fOOmMckSMWB+U2/rWLZ+nl3+EC2V8aybLH8+377uGSrB+Z04TO2zCp+c5JjeG+al9i GU6lbUUjkFZXphI2qmLEa17AlAKueh9xP/UR8rw65eyZmPI/9yiNrcPDS8v6Wc53VWUoQ6 F4NWg1IXNtgRwV7dCXQkTzcBf3Xei2bKiKJ0q9Yx+QEz6uhEfwBQX9fx7KqqvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774530149; a=rsa-sha256; cv=none; b=ouHusiFETlIZ6+dw98pgFcU0Ugt9moBXYil1zrOMk2xJ8b8Djqi2sC5WxnKR2262F6iqGn iE/lfjCPvbNH4zpLNZPHUFI1MfH/FB0TMRcML0QSitQXAbQc3nH0RV2vIqDhG+VfmkXSl6 FywoRer9l7ckr8rrP3Gx769R2PvIS2AH2GLFplqE87afHs6dGoNj+Fmhj+QJcSRSxvQIA7 wEdnQmtpvnyPfor5SrCMpD0P6hgs+Zrco8cVcjpy6ZN2eTuOZapuih+snMk6db/vum3BXW EYpPnzZJXlh/96qG256vuPPgSvsIC2mFvWMEaZELB6CBtBAZX9+wMkNnMq6cmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NMSFUbHsExui3D6F1HmeFnr6O1QfccsCc66whqvBpI=; b=A4DYPzMIgL8sKL0qg0RmCzCbXiNKkXv6G/ad8Q/vDtarHNxeLMCFYc8WmTXdc5C+8mK2OG Mvjl3IthLwr3a1Tcy6lmEN3NlkAjRDGWud/0lGrpX1sMlNrvgeBztcr6nMY0aT62jMVihw 90mm6+kswf3B5zisyoZGHZMFtmCvK8VX1kXa8RBgsEf3dzNoq8sOmOtHpQ/uy4QSfl4RVA 5f87rVZ342tFw1bvx5F3zdygLU/6LKaPXQdMNBzHiKwjaUCz8SWVB1lzEJ1plogV9Qz+HB 0/Sj9jARbKWYmLfkgo+VUExCca2JmBYOUJI1u/xp/AFpWCz+4ben2oR1EQlR5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhP7n0szbztXl for ; Thu, 26 Mar 2026 13:02:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 441a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 13:02:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 23d651677391 - main - libc/amd64/strrchr.S: fix rebase error List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 23d6516773916d8f324bea51867b0713c476f379 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 13:02:24 +0000 Message-Id: <69c52e60.441a9.66701590@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=23d6516773916d8f324bea51867b0713c476f379 commit 23d6516773916d8f324bea51867b0713c476f379 Author: Robert Clausecker AuthorDate: 2026-03-26 13:00:21 +0000 Commit: Robert Clausecker CommitDate: 2026-03-26 13:01:57 +0000 libc/amd64/strrchr.S: fix rebase error I accidentally dropped a part of the patch on squash rebase. Should be fine now. Fixes: 253f15c016ca699906f78b8e522a3f7ed675929b PR: 293915 MFC after: 1 week --- lib/libc/amd64/string/strrchr.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/amd64/string/strrchr.S b/lib/libc/amd64/string/strrchr.S index 29587456752a..a22a821a1d4d 100644 --- a/lib/libc/amd64/string/strrchr.S +++ b/lib/libc/amd64/string/strrchr.S @@ -82,8 +82,8 @@ ARCHENTRY(strrchr, scalar) not %rcx # ~(str ^ c) and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) and %r9, %rcx # matches in str, not including junk bits - cmovnz %rdi, %r11 # if match found, update match vector - cmovnz %rcx, %r10 # ... and match pointer + cmovnz %rdi, %r10 # if match found, update match vector + cmovnz %rcx, %r11 # ... and match pointer add $8, %rdi # advance to next iteration mov %rsi, %rcx @@ -104,8 +104,8 @@ ARCHENTRY(strrchr, scalar) not %rcx # ~(str ^ c) and %rdx, %rcx # ((str ^ c - 0x01..01) & ~(str ^ c) and %r9, %rcx # matches in str, not including junk bits - cmovnz %rdi, %r11 # if match found, update match vector - cmovnz %rcx, %r10 # ... and match pointer + cmovnz %rdi, %r10 # if match found, update match vector + cmovnz %rcx, %r11 # ... and match pointer tzcnt %r11, %rcx # location of last match lea -1(%r10), %rax # address of last character in vector shr $3, %ecx # as byte offset From nobody Thu Mar 26 13:13:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhPNG1VK9z6FXS7 for ; Thu, 26 Mar 2026 13:13: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhPNG0B3tz3WX9 for ; Thu, 26 Mar 2026 13:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530798; h=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=HwOfNlscKrJSFjXcOK81s23yiXzV2JI6NQjMzIs5cjo=; b=bIUPMaQOx7+uswoWMvHBVRH6BxBLtXthzbvlm3i9h6xvd1V15UVyk6ORizoP4m0xPxDern Jq7Vw8edcq0pPEqtoX9k6MkP2/2/No0wNsSlmuYCjEjrRr8GUHn2jHKRpNCwD0prP4fTm7 2cBlfAZdIu2w2hfNFITsKAJ+J0+WFub8cncPXXtuCOD/NvmUhbXZauKR8BNHFhCFv52z4r UcpojaLHX0cmW2+HxoJFAhS0Re64KLeJrY83pxRUz+B+xPzGDFp2nsIKD/IVYlRTLfYxpo V77HinKHdzv3p9GZuKxHYNFN9yIvgypLo/c8UwwCYN5wnTaGOoncdEocygm3+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774530798; a=rsa-sha256; cv=none; b=LeC0QYm46DtNVsE0G/9QBOITfRTlqOixIjaXpTT8RxNgbZcDqQZ7Hg2c8pL4Gco91kmPdM r1//X5wClZ680LOwjK15DbvNYh/Z7zCAgSHaVrJ5C8m2vmvCi+N1Yh5bLmMJRHJOgXbo78 p2Vd0mDLDKvEkEA10QMldkmYbqjBjmU/7yPC6CtXcikf10Sj+yVQkeAC6tkuYZdvYCPMBP B1iNrYETY+3hX+zqV1tQz3Sa+NHzxswyQL15/B8X5Mw941lZwPRbCdc1jMfYKaWqVRfwsn RjcYBbAiGNedfwVo4EnD8iSF1+fhg/XvmfdzpnB6y0KJ0NWRtS+Va7v+wvlEoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530798; h=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=HwOfNlscKrJSFjXcOK81s23yiXzV2JI6NQjMzIs5cjo=; b=VNyd+NcIcp7C/SfK4oCPp1I5vNg31Ykvi8n/30Ho6TT/5+CZIF5yxntCl6igpXOpKoPjet MayGqeeQZI1sajLg3C1oATLSBANu6Igb1mOHtQoRdOt5ZuyoBwbmfvZYIcXOkzFvfR87HI m0bD/GrWtPLfPDxlfP3G/5PTBKmnCjG6h91J+rNyif3XbLcYRFHq+N+gZEKsXVmRVVeSeo Gn+bZ9gDkC5xbsWg4WtpMOkaZw2fMhax5u3+sjazau4rrD+yyLwHafCpzxvvZxKWdr6+zs gA2jUbJzN/wVVk7xABPMXR7TXKbrMP0OXFeFDvI7/bO7rEESWaN1MvDxGI2OuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhPNF6f2rztHM for ; Thu, 26 Mar 2026 13:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46024 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 13:13:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: 1e2c9bcc4ed5 - main - kldload.2: Provide more info about file argument List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e2c9bcc4ed5fd2a27abdbcf5dfb007193251648 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 13:13:12 +0000 Message-Id: <69c530e8.46024.6b49aad5@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=1e2c9bcc4ed5fd2a27abdbcf5dfb007193251648 commit 1e2c9bcc4ed5fd2a27abdbcf5dfb007193251648 Author: Artem Bunichev AuthorDate: 2026-03-26 13:11:26 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-26 13:11:28 +0000 kldload.2: Provide more info about file argument The information is basically taken from kldload(8). Reviewed by: kib, ziaee Differential Revision: https://reviews.freebsd.org/D55170 --- lib/libsys/kldload.2 | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/libsys/kldload.2 b/lib/libsys/kldload.2 index 63a13c328d58..55dd16300af0 100644 --- a/lib/libsys/kldload.2 +++ b/lib/libsys/kldload.2 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 3, 1999 +.Dd March 26, 2026 .Dt KLDLOAD 2 .Os .Sh NAME @@ -39,7 +39,20 @@ The .Fn kldload system call -loads a kld file into the kernel using the kernel linker. +loads a kld file specified by +.Fa file +into the kernel using the kernel linker (see +.Xr kld 4 ) . +The +.Fa file +can be specified as a full or relative path, or otherwise is searched +within the module path as defined by the +loader tunable and sysctl variable +.Va kern.module_path . +The .ko +extension for +.Fa file +is not mandatory. .Sh RETURN VALUES The .Fn kldload From nobody Thu Mar 26 13:20:13 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhPXL5Kvdz6FXVX for ; Thu, 26 Mar 2026 13:20: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhPXL4mwDz3YKb for ; Thu, 26 Mar 2026 13:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774531218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cl+MbXNd8NhmGJpSGXjdUblNW56+hnD6CfJs0HCkJwM=; b=qAVLuvSP9Kgvk30jrg0L3GGWfF/qh5BvZnjSgSGj0dorIc9srv+AJjlAffV5b8IMrHNPX4 8J06MnYOzHEV1PsAxTJETvYgxbMb3oqWxGsSo1SIsnxvgqWZMnKW3/iDi9M4zhtGAswy9P RZJsOKzmC84zups2rR2PMa0rZ4GMM7/30T3wiXk6V4Q9PZEdyCUZLUfxVIJzhz3a8crl+w Z/GWLXx4uaru+dSOjaRrIW1b4JWS0IdIzxwf02oUtZD4TdqP48HDbCe1nOpc26xe/1piWV OKFobYHzQsI1+iQYnp7SgnTkHNf9qQn40d07IvdYrLSZvsBlCFs20M7Q1OfdVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774531218; a=rsa-sha256; cv=none; b=bW87xkOpr7pQdpeCHAMvI15aMDUv/77m0bwFDqY/Ywbtmajb0JFDsoJ/7ddm+CsvX1rAcL IPTVTGrwcBvWInzF+gfuv/chXSh7sr6J42w5l1R5U3Yin8mctWlcpD2ogy0vbSyCt60uaQ 5yqFGf2OQwB3stcuPFMjs6I6EREVLHj/IsJcy5P//OZpnk7YOIymmKDSp8KehjsPQcdIHF TZx5ZusaKrN9T+iUrNgRR/l9GkxbwnAOHN5AkCetuW1377KbDfo2Tx86O3yh/Rpu1zCqe9 vdzDOoc3Tlew4RmM9HACzcHEgt9Eckd38+r6Uvy6peSxPV4jyv0dbjKF55Lsvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774531218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cl+MbXNd8NhmGJpSGXjdUblNW56+hnD6CfJs0HCkJwM=; b=aZqPMa+gO7jCcoMMMPrJoBE7QqzO7p/LktbBl6A3v8dt+7wQSSNqGK6bMuGw+BdhaJdwD/ 91yNSi6jx8vRKksKUDoWZIp8LM7zFYkxAubC5bKZqbdqUcMO0OAteYHpgJoeAQdn4gHjo9 JA7XLfFvoNpFhyNU4mqXLwEqZjaPVkkNTpBZ7JkEdXi+jLp/qMT7N1r8c3JPswtY9/lMun IlYuOAcQC2v5odEeQb0T0SDoL+Hc/Xyc7JvgT4jLxw7wPat+KVsINmjyCU+EpBJ9VHSq7p b2ce8eTrhIObdiIzUVfJEmbLxzFTkU6sIE+EwKrbrgJGjSKTgeSPecQX/5VHiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhPXL42h9ztvM for ; Thu, 26 Mar 2026 13:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 13:20:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 04d58d529a61 - main - manuals: System message vs kernel message List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04d58d529a61f3bba2c1a843bc2793923a005759 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 13:20:13 +0000 Message-Id: <69c5328d.451ab.519e592e@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=04d58d529a61f3bba2c1a843bc2793923a005759 commit 04d58d529a61f3bba2c1a843bc2793923a005759 Author: Alexander Ziaee AuthorDate: 2026-03-08 07:23:17 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-26 13:19:01 +0000 manuals: System message vs kernel message Wordsmith mentions throughout the manual of syslog and dmesg, to clearly differentiate them in an externally consisteny way, increasing operator onboarding speed and elegance. The daemon that handles general system messages, syslog, describes them as "system messages", and "messages" is the standard filename. Rewrite syslog related manual titles to align search results with this, and hier entries to align the index. Use care to maintain keywords and not add extra lines. Newsyslog trades "maintain" with "rotate" for visibility. MFC after: 3 days Reviewed by: markj Closes: https://github.com/freebsd/freebsd-src/pull/2067 --- lib/libc/gen/syslog.3 | 4 ++-- sbin/dmesg/dmesg.8 | 6 +++--- share/man/man7/hier.7 | 6 +++--- usr.sbin/newsyslog/newsyslog.8 | 4 ++-- usr.sbin/newsyslog/newsyslog.conf.5 | 6 ++---- usr.sbin/syslogd/syslog.conf.5 | 6 ++---- 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/lib/libc/gen/syslog.3 b/lib/libc/gen/syslog.3 index 62140554f4f5..1e316c20d8d8 100644 --- a/lib/libc/gen/syslog.3 +++ b/lib/libc/gen/syslog.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 3, 2023 +.Dd March 8, 2026 .Dt SYSLOG 3 .Os .Sh NAME @@ -34,7 +34,7 @@ .Nm openlog , .Nm closelog , .Nm setlogmask -.Nd control system log +.Nd control system message log .Sh LIBRARY .Lb libc .Sh SYNOPSIS diff --git a/sbin/dmesg/dmesg.8 b/sbin/dmesg/dmesg.8 index f9b9fce82ffc..d84587b61475 100644 --- a/sbin/dmesg/dmesg.8 +++ b/sbin/dmesg/dmesg.8 @@ -25,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 7, 2022 +.Dd March 7, 2026 .Dt DMESG 8 .Os .Sh NAME .Nm dmesg -.Nd "display the system message buffer" +.Nd display the kernel message buffer .Sh SYNOPSIS .Nm .Op Fl ac @@ -38,7 +38,7 @@ .Sh DESCRIPTION The .Nm -utility displays the contents of the system message buffer. +utility displays the contents of the kernel message buffer. If the .Fl M option is not specified, the buffer is read from the currently running kernel diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index 6abce682b627..5482e5ea5c96 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -327,7 +327,7 @@ Explicitly distrusted certificates; see kernel state defaults; see .Xr sysctl.conf 5 .It Pa syslog.conf -system log configuration +system message log configuration .It Pa ttys tty creation configuration; see .Xr getty 8 @@ -851,7 +851,7 @@ default log for system daemons .It Pa devd.log default log for device state change daemon .It Pa dmesg.today -system message buffer log, rotates to +kernel message buffer log, rotates to .Pa dmesg.yesterday .It Pa debug.log undiscarded debug syslog messages @@ -862,7 +862,7 @@ logs for the line printer spooler daemon; see .Xr sendmail 8 log, rotates and compresses to maillog.0.bz2 .It Pa messages -general system log; see +general system message log; see .Xr syslogd 8 .It Pa mount.today currently loaded diff --git a/usr.sbin/newsyslog/newsyslog.8 b/usr.sbin/newsyslog/newsyslog.8 index aa89ef4b779a..eb927f7e0a68 100644 --- a/usr.sbin/newsyslog/newsyslog.8 +++ b/usr.sbin/newsyslog/newsyslog.8 @@ -14,12 +14,12 @@ .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" -.Dd September 22, 2025 +.Dd March 8, 2026 .Dt NEWSYSLOG 8 .Os .Sh NAME .Nm newsyslog -.Nd maintain system log files to manageable sizes +.Nd rotate system message log files to maintain manageable sizes .Sh SYNOPSIS .Nm .Op Fl CFNPnrsv diff --git a/usr.sbin/newsyslog/newsyslog.conf.5 b/usr.sbin/newsyslog/newsyslog.conf.5 index b0c1e78eb085..1683a1018f9e 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.5 +++ b/usr.sbin/newsyslog/newsyslog.conf.5 @@ -18,14 +18,12 @@ .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" -.Dd February 4, 2026 +.Dd March 8, 2026 .Dt NEWSYSLOG.CONF 5 .Os .Sh NAME .Nm newsyslog.conf -.Nd -.Xr newsyslog 8 -configuration file +.Nd system message log rotator configuration file .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/syslogd/syslog.conf.5 b/usr.sbin/syslogd/syslog.conf.5 index 691f2cdd7062..f641aedee3e5 100644 --- a/usr.sbin/syslogd/syslog.conf.5 +++ b/usr.sbin/syslogd/syslog.conf.5 @@ -25,14 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 10, 2020 +.Dd March 8, 2026 .Dt SYSLOG.CONF 5 .Os .Sh NAME .Nm syslog.conf -.Nd -.Xr syslogd 8 -configuration file +.Nd syslogd system message log configuration file .Sh DESCRIPTION The .Nm From nobody Thu Mar 26 14:40:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRKY1tftz6Rblv for ; Thu, 26 Mar 2026 14:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRKY0xP3z3h18 for ; Thu, 26 Mar 2026 14:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=67kGm/bT9AvuiBUSgPPxXlRkLNCEaSEgayoFws3Wj5w=; b=iv9DrJpf3sTlVnUzFLiLjy5MgVvnz+eA/PedK4zdv5KW/fvjWpWKh1hY2nYhuV2GyFA2Mv qSNSX2wWdoAPA1FTnxqCGlofut/zUEvyxAqxGr+J7gw4mPX3qPnBALL91rEudt2OUUJ5DO vrzODCJV0kiS8Xz9+WPr4abtNlBj8LvTIQ74rkgLmqcDfM+Ltz7jzoG0ocTvsI/AdmFz9k ZYfnDxjbsPzTTTyquQN7zkIzRjzD5aBx979DNd81NQ2vqiHXYP36JM8yn5RDQIvm5mvLhV 6IImYP5RvTwLI7I21qXTnCJPgB3xcmAZ3zZOp4yT4YOuYmjS4GTaP/9Lpyqkbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774536065; a=rsa-sha256; cv=none; b=nrT1JaZJ7kTKZxIAUlvjrPdG+N9V/4UTjC7EqwSpStDmWHXMWZwg5hxZE2zoQKDuJeNhNL j4V0mSAUQAaGKwxkZqDpiqOgAw8RaxW4LNBYQBdJGadb+wb9cAwwBZCYBVyOKZUuc1G54w 9yRKz0Hs0knk91vev001t4JV1rK7mJNmS/xPVAOLNUHP/FFk3uos6I0mtm0cYe6H0hMHfx RiUYITEJcnoqTueob/6EVqy3dENSO9YglYp4FgrRMJ5d1P5+DhuIGU8SRgfOD7PnVaHN3C wYN9Cj41xAfgfLhLlURa5gFGxvwBSAWarix8wUcu5la8pZwhGUpJmbV6CAXTIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=67kGm/bT9AvuiBUSgPPxXlRkLNCEaSEgayoFws3Wj5w=; b=s67/7T4GxtZUCsdJML6gN01WxAta+j9cQ4ymJOYBH5h8gmdkem81n0zflv+DEp6dp7FgNX 8h0tPmBRYem9tCgGvLPGLkYyjhEQIOzTdchg9T/ClOBNR8e7sNrVRIkgEEkSf8iJUxgq3f JbpA1tK7Ip9lr/0EjgA6NaDo0KcJJnVw0VrSK2vDjR18BT/ZksSKzwXpN1rDP3Sp01VpOo gS2plU0cnWSDIHoJpYofklgxig+GCXQC62FKMhVA4ERcTxDGxaoh4HJmi8OcKj7kLx7Zuj sBR8O6rbtTN46Zljj28OfjVgFSrPGCqzzoCIrzNtqUuob1xH8KBIt20Pibw1JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRKY0H7WzwbR for ; Thu, 26 Mar 2026 14:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ede0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 14:40:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: e3e71c6a8a92 - stable/15 - tests: sys/capsicum/functional requires mqueuefs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: e3e71c6a8a921e924a40a7db9378d58194bebe02 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 14:40:59 +0000 Message-Id: <69c5457b.1ede0.4efe74c3@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=e3e71c6a8a921e924a40a7db9378d58194bebe02 commit e3e71c6a8a921e924a40a7db9378d58194bebe02 Author: Alan Somers AuthorDate: 2026-01-27 00:04:58 +0000 Commit: Alan Somers CommitDate: 2026-03-26 14:40:33 +0000 tests: sys/capsicum/functional requires mqueuefs Skip this test if mqueuefs isn't loaded. Unfortunately, that will skip the entire googletest test program, including test cases that don't require mqueuefs. But the test's own skipping logic doesn't work, and we don't yet have a googletest-compatible require_kmods() function. Sponsored by: ConnectWise Reviewed by: emaste, ngie Differential Revision: https://reviews.freebsd.org/D54902 (cherry picked from commit df68a09ea2ec18ee975fb937d46a18250d4663c8) --- tests/sys/capsicum/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index 38c1f8285910..a8f72d399af9 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -15,6 +15,7 @@ GTESTS_WRAPPER_SH.capsicum-test= functional # unprivileged user. Serialize them since some tests access global namespaces, # e.g., mqueuefs, and can trample on each other. TEST_METADATA.functional+= is_exclusive="true" +TEST_METADATA.functional+= required_kmods="mqueuefs" SRCS.capsicum-test+= \ capsicum-test-main.cc \ From nobody Thu Mar 26 14:43:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRNL70lKz6Rc7J for ; Thu, 26 Mar 2026 14:43: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRNL6XQ4z3hRF for ; Thu, 26 Mar 2026 14:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xrlpxGZY7Ru1VjpeEpCjz9ncqCiy8lNQl6J0L+pqK/E=; b=FZv3tcsBaHr34csxRiBx7GjUAi+nMYvF0z99QsH9tBlopuwGkm2hjLtPByRntSkkr+2G+P evJXdAuO9pL0htx5GZxZ5WUW1f8Bbsu7auk4klQg3ARjmW7ADsWtMMp4j/1iz2S+fDQwKE C7oV7zyF0rkNB7Z1Unq7d30Pe/VKYZsNkP6eWETyHSxpzfZaUnpyGcL0ICWVFBScPvA/Fw VPXszLFCB/VYP139qlQvVdc8sa1Vn1awW7FNoCROL0MrkfnzVGjUse1oEJ6+sELjZN/YT4 vExxoDfhDqyigihAk6WJZxIGWsLLg+LyJvGR/rRQJeQr4ttq1LDbZNHx/xG5IQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774536210; a=rsa-sha256; cv=none; b=ZoOYsLY7BWwG/pgK7Fx/a+YBRAf98bXhwYItJsz2m6KMVt78Xj7AtGliZsHNkVZvd9Fw7H HkWrq/tbnmPL53fp+SAZQiDATNAClv8a6O7mA6rAGt0xsDya/Ob0u/FgMcBdo6UTVmIC9m thEYR5iku+6MmfY4QA+583SIqJl68BRGPopvLB/D0BK5aQ2SFmO15H5CRieVmIXiGMaZin ohOxlVvrPUajey3N/L6emVcg3xz0jQh1jEn0esfBWjCyZqilxQpJDduGMyhMIKe3gNxDLv LT7sjrGcI9aM4d2XpoyxCaC3aJM0zyP6fHzVHljkXSCPFaRMNKG2OE/ROtZGMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xrlpxGZY7Ru1VjpeEpCjz9ncqCiy8lNQl6J0L+pqK/E=; b=kn23TG4PwLS8RGNGpN14esMmeO46iOJd8JuXHunfsU2JimdCLlWx1zaLjfpjIIg0O4q7Wx 3Wzr2yojaOq/2jxM2Z+jQaAP1tD21EFUEE5OiNcJzZPVY1324Y+SRAD7WmnO3ju0GNbM1G 2ANW4Cdi+YwI/21WbMz1ME+PiL5rASf7+r2VKxxBLBLey9MxLsplQRh/vZ9zNFUaw/gEhK EWs81axm6SLo8M88OpqNKcewiChTSW4i6kg1si/cH+KyD6mKcNMTXfK45bMgzwFt/eBJWK 5csvdlbuFYQ0FpEwPZmgFsDDygJIo5hiAa55yefU1k0Wdijo474YUsN72yqktQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRNL67wlzwpd for ; Thu, 26 Mar 2026 14:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d7da by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 14:43:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: c595e21c989f - stable/15 - procdesc: Add a test for pid recycling behavior List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: c595e21c989fba006d1b3717d8d2a09b8c27dbb4 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 14:43:30 +0000 Message-Id: <69c54612.1d7da.7ad5cc4@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=c595e21c989fba006d1b3717d8d2a09b8c27dbb4 commit c595e21c989fba006d1b3717d8d2a09b8c27dbb4 Author: Alan Somers AuthorDate: 2026-01-13 00:45:23 +0000 Commit: Alan Somers CommitDate: 2026-03-26 14:42:10 +0000 procdesc: Add a test for pid recycling behavior Sponsored by: ConnectWise (cherry picked from commit e35df41f68916cc23893a29e0284f386ec727462) --- tests/sys/kern/Makefile | 1 + tests/sys/kern/procdesc.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index 946a1c2b9b8d..950893a81b18 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -32,6 +32,7 @@ ATF_TESTS_C+= listener_wakeup ATF_TESTS_C+= module_test ATF_TESTS_C+= pdrfork ATF_TESTS_C+= prace +ATF_TESTS_C+= procdesc ATF_TESTS_C+= ptrace_test TEST_METADATA.ptrace_test+= timeout="15" ATF_TESTS_C+= reaper diff --git a/tests/sys/kern/procdesc.c b/tests/sys/kern/procdesc.c new file mode 100644 index 000000000000..3334ee404518 --- /dev/null +++ b/tests/sys/kern/procdesc.c @@ -0,0 +1,98 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 ConnectWise + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +/* Tests for procdesc(4) that aren't specific to any one syscall */ + +/* + * Even after waiting on a process descriptor with waitpid(2), the kernel will + * not recycle the pid until after the process descriptor is closed. That is + * important to prevent users from trying to wait() twice, the second time + * using a dangling pid. + * + * Whether this same anti-recycling behavior is used with pdwait() is + * unimportant, because pdwait _always_ uses a process descriptor. + */ +ATF_TC_WITHOUT_HEAD(pid_recycle); +ATF_TC_BODY(pid_recycle, tc) +{ + size_t len; + int i, pd, pid_max; + pid_t dangle_pid; + + len = sizeof(pid_max); + ATF_REQUIRE_EQ_MSG(0, + sysctlbyname("kern.pid_max", &pid_max, &len, NULL, 0), + "sysctlbyname: %s", strerror(errno)); + + /* Create a process descriptor */ + dangle_pid = pdfork(&pd, PD_CLOEXEC | PD_DAEMON); + ATF_REQUIRE_MSG(dangle_pid >= 0, "pdfork: %s", strerror(errno)); + if (dangle_pid == 0) { + // In child + _exit(0); + } + /* + * Reap the child, but don't close the pd, creating a dangling pid. + * Notably, it isn't a Zombie, because the process is reaped. + */ + ATF_REQUIRE_EQ(dangle_pid, waitpid(dangle_pid, NULL, WEXITED)); + + /* + * Now create and kill pid_max additional children. Test to see if pid + * gets reused. If not, that means the kernel is correctly reserving + * the dangling pid from reuse. + */ + for (i = 0; i < pid_max; i++) { + pid_t pid; + + pid = vfork(); + ATF_REQUIRE_MSG(pid >= 0, "vfork: %s", strerror(errno)); + if (pid == 0) + _exit(0); + ATF_REQUIRE_MSG(pid != dangle_pid, + "pid got recycled after %d forks", i); + ATF_REQUIRE_EQ(pid, waitpid(pid, NULL, WEXITED)); + } + close(pd); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, pid_recycle); + + return (atf_no_error()); +} From nobody Thu Mar 26 14:47:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRSr4SdZz6RcGX for ; Thu, 26 Mar 2026 14:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRSr3GRrz3hmq for ; Thu, 26 Mar 2026 14:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h3DPZ2USr0YPX4eRNh/jCZlwfceGlqFCkj9dUt7hP8k=; b=sSwDhuq82O38kQAYm2wrxM5Tyx3ZdyfKFt0Efig2+Korvr/Kh6OMq1Zo3UQiEXy9VrMObR 58YSL76cyJ2j+Y8vLUZuyVoPie1yK6AyvT9eovIrw4xSXUbj9fcalC1G2rBXrKrmb6EJ6M DpNQAeITG1LGJJckWr87POtPebKmKwxe/sVtbLy6G7dtH+jWuqJsHRU13kJzRd8UVqdJVy +WJlY1JKZ//j9PZhF4PNaE7qRw87h2mzQHLpk/nfgR9j6JLzr4iKnAlzSMg9qfUVX5tkOR IDRmbgzzkxZI642+itStr+fjSR1iQ+aOIGBu7kdHNzY2OCLQF6ehlZWZlo8CwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774536444; a=rsa-sha256; cv=none; b=sXLvJ5asEkH06c0lNuPcvw35dLp7qeYnyZ/v/2gUx9xmn13DymPgledJdsF6SYwZTA7xi0 fwSbdiJFdaXF7PO88RIz1PfvreApbzWMJ1T1vem9NKlbOY9mqGb7R2lzAedBCuXviphSVw eHuwpOXukVRIYeytZEcQkrd44s9A/qVzO3hMsNkE9yXBmsHpPtKZFa0wY+Noc3rjaSYguj UVSmPpd3q8hw5t92qqlOK7/Auv0eBe/BRMZds426ysh1Z4/YGD91cYl2jOSRr+pkzJFtxn nZ+y9OHhlyj4EuvdOgPJmhLJIso42px8i55zd9EdO8wXHQrDZt4VORJ/Vn9WuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h3DPZ2USr0YPX4eRNh/jCZlwfceGlqFCkj9dUt7hP8k=; b=eqzPam8depm9HRsO1Bbe5+J2xw8R+5NJNn7hfqh2o1AOHliE3W8gREjdvkSYtvqFKx39BJ WT2txFBdrXRJ3XLKosXX5H8rT7DH0toYAKh4W3wtt0cPPvEWdUZq63OzhDBEuiZTIPFQK4 t9/vZJ30DYSZ0gCsBbp5nea4sIusvzDkb6MZm6a/vvUkdpIhK5goT7AB3rAyn3yqT44MBZ VdpwWn5vhPjVCTbzrt147BIZoNVfiNLBZi4+2+hwBMnYa9FFJiQJEGNWuSnGip4ccbJZeX T9mfNfVXPOjevu577KAK/V2h2zDRsWNcFDvpj0KH8Eh2AGnr0i4ilBPFFJNh/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRSr2cZ8zwvp for ; Thu, 26 Mar 2026 14:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e4cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 14:47:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 1ce3d3f610e2 - stable/15 - aio(4) tests: do not rely on (int *)-1 being invalid address List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 1ce3d3f610e26c2a90c195551725b2f669b0f871 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 14:47:24 +0000 Message-Id: <69c546fc.1e4cc.18049ad5@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=1ce3d3f610e26c2a90c195551725b2f669b0f871 commit 1ce3d3f610e26c2a90c195551725b2f669b0f871 Author: Alan Somers AuthorDate: 2026-02-17 00:27:02 +0000 Commit: Alan Somers CommitDate: 2026-03-26 14:45:17 +0000 aio(4) tests: do not rely on (int *)-1 being invalid address Explicitly mmap guard and use it as the invalid address instead. (cherry picked from commit dc9a8d300ba5c4c319589d78231e9d0e76576cbf) --- tests/sys/aio/aio_test.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/sys/aio/aio_test.c b/tests/sys/aio/aio_test.c index 64939825ec66..1a4baf70b1e3 100644 --- a/tests/sys/aio/aio_test.c +++ b/tests/sys/aio/aio_test.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -1689,6 +1690,7 @@ ATF_TC_BODY(aio_writev_efault, tc) struct aiocb aio; ssize_t buflen; char *buffer; + void *unmapped; struct iovec iov[2]; long seed; int fd; @@ -1698,13 +1700,16 @@ ATF_TC_BODY(aio_writev_efault, tc) fd = aio_md_setup(); + unmapped = mmap(NULL, PAGE_SIZE, PROT_NONE, MAP_GUARD, -1, 0); + ATF_REQUIRE(unmapped != MAP_FAILED); + seed = random(); buflen = 4096; buffer = malloc(buflen); aio_fill_buffer(buffer, buflen, seed); iov[0].iov_base = buffer; iov[0].iov_len = buflen; - iov[1].iov_base = (void*)-1; /* Invalid! */ + iov[1].iov_base = (void*)unmapped; /* Invalid! */ iov[1].iov_len = buflen; bzero(&aio, sizeof(aio)); aio.aio_fildes = fd; From nobody Thu Mar 26 14:47:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRSw4jcWz6RcB8 for ; Thu, 26 Mar 2026 14:47: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRSw3Tg1z3j16 for ; Thu, 26 Mar 2026 14:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I6UURd8zxIpN5/mHLnytD4umpTXKyPprnDU5lxAytH4=; b=VWsSX26dhAnnjh+8gShDxSwxttqF/1Q4098JZCKGitPJqG8SC5MYuyX3tuL3f9FtWq2Bj8 ZGGUx2ZXc0F06zeA7Y3AivPSJoLcgEo5rVlTNyolQJ9SyQmn0u/maAS5wZY9BgRs9PdlXz YC/pZQ4m21uarBj/1DUIgrdyIPBn8LuMS/abhi8dhrRzWmzPvrIe/GAx3EqsQUOEKYlkh7 AWI16JAuppB5I9MtfJ8Wr6JowcV7yiGwyeJ7KTTzlvUCJehBsAw6WolQuzsWgN/ScPWn72 DatujhR+/6BI/jbsZAdGj4EgWDe0GTL62/D/wBKVNPqXKuAV9Zo56YgoWoKayA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774536448; a=rsa-sha256; cv=none; b=SkoyJ9jdnXofd0cXWfgoEMJ9+e0KDZjdfuo0GI9ZThnYkZAG14I5DkYP1l8kdSN2e02ngE MZvMUFClhOYlL0j+72Z5qBWEhwWPIgwqgHckGXL6h6qPzhPqag1mep0Ri/hp1yd1oPFdMd oEt7Usmr/bQL0wHXREEqfXqvH7+GlHP3Eukf5KgiNmCrDLas+5K/hYAwAgkYDrWWaoSEIZ 8jB/cyJRZUo52MjvLSOUN6Kbf1nypzYYtqSmtuhlgKIXfTRUmoEyqMfHq6lUP1AdbYXMhU cFm+1SYWVqCztum8XEZoYg7aAHhqqvnBmfSEndwoOYjMk/8S00hMWB5Mqf/R3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774536448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I6UURd8zxIpN5/mHLnytD4umpTXKyPprnDU5lxAytH4=; b=hsvXreMZdYg/i2s0+4ney7DjGNuw/0JEPXa+oqVY8vOa3NAiMnyykdmzOz2nPdyj1btmT7 UYdahX1oxPKWLtnzS5RjBR04TxSg4QJLevJFmab4MpBjz+IMBe3fpzrVyGLf1Eh37Tx+A2 8PGjEKMt5BKmo2eX8jzYx1SGWXEQzfXnpZFn/h/020FpqJYScIKoWiBT684ZZ6f5BFhnX+ 9WdSr6MIFBl7Hczg41fIrha5AUkkyAA0rBAK/7jfohyMSdzgvySQCJ/Loxupgz3Jm0GvSu Y+xYFFSS9gCiD/XeKn/oDex+gfXwZ0n43lPLck8fBkVM5mfpeIls6xvrzCalNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRSw2w0YzxJK for ; Thu, 26 Mar 2026 14:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f766 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 14:47:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 34ecd902d428 - stable/15 - Add tests for pdwait List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 34ecd902d428d1d3ea7e9301842882e4f914bcfc Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 14:47:23 +0000 Message-Id: <69c546fb.1f766.ca35df8@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=34ecd902d428d1d3ea7e9301842882e4f914bcfc commit 34ecd902d428d1d3ea7e9301842882e4f914bcfc Author: Alan Somers AuthorDate: 2026-01-25 16:14:03 +0000 Commit: Alan Somers CommitDate: 2026-03-26 14:45:11 +0000 Add tests for pdwait Sponsored by: ConnectWise (cherry picked from commit 277539ae7f2f07a8dd29d4deb318d66414f8ae2a) pdwait(2) tests: do not rely on (int *)-1 being invalid address Explicitly mmap guard and use it as the invalid address instead. (cherry picked from commit 05492ff6f636108c4fac40c259defe9b2eac7833) --- tests/sys/kern/Makefile | 1 + tests/sys/kern/pdwait.c | 309 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 310 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index 950893a81b18..00afd03c15ce 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -31,6 +31,7 @@ ATF_TESTS_C+= ktrace_test ATF_TESTS_C+= listener_wakeup ATF_TESTS_C+= module_test ATF_TESTS_C+= pdrfork +ATF_TESTS_C+= pdwait ATF_TESTS_C+= prace ATF_TESTS_C+= procdesc ATF_TESTS_C+= ptrace_test diff --git a/tests/sys/kern/pdwait.c b/tests/sys/kern/pdwait.c new file mode 100644 index 000000000000..c7b2c40a87ba --- /dev/null +++ b/tests/sys/kern/pdwait.c @@ -0,0 +1,309 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 ConnectWise + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +static void* +unmapped(void) { + void *unmapped; + + unmapped = mmap(NULL, PAGE_SIZE, PROT_NONE, MAP_GUARD, -1, 0); + ATF_REQUIRE(unmapped != MAP_FAILED); + + return(unmapped); +} + +/* basic usage */ +ATF_TC_WITHOUT_HEAD(basic); +ATF_TC_BODY(basic, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + struct __wrusage ru; + siginfo_t si; + + bzero(&ru, sizeof(ru)); + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, &ru, &si); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + ATF_CHECK(ru.wru_self.ru_stime.tv_usec > 0); + ATF_CHECK_EQ(si.si_signo, SIGCHLD); + ATF_CHECK_EQ(si.si_pid, pid); + ATF_CHECK_EQ(si.si_status, WEXITSTATUS(status)); + + close(fdp); +} + +/* pdwait should work in capability mode */ +ATF_TC_WITHOUT_HEAD(capsicum); +ATF_TC_BODY(capsicum, tc) +{ + int fdp = -1; + pid_t pid; + int status, r; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_EQ_MSG(0, cap_enter(), "cap_enter: %s", strerror(errno)); + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + close(fdp); +} + +/* pdwait should return EBADF if its argument is not a file descriptor */ +ATF_TC_WITHOUT_HEAD(ebadf); +ATF_TC_BODY(ebadf, tc) +{ + ATF_REQUIRE_ERRNO(EBADF, pdwait(99999, NULL, WEXITED, NULL, NULL) < 0); +} + +/* pdwait should return efault if the status argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault1); +ATF_TC_BODY(efault1, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, + pdwait(fdp, (int*)unmapped(), WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* pdwait should return efault2 if the usage argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault2); +ATF_TC_BODY(efault2, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, + pdwait(fdp, NULL, WEXITED, (struct __wrusage*)unmapped(), NULL) < 0 + ); + + close(fdp); +} + +/* pdwait should return efault if the siginfo argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault3); +ATF_TC_BODY(efault3, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, + pdwait(fdp, NULL, WEXITED, NULL, (struct __siginfo*)unmapped()) < 0 + ); + + close(fdp); +} + +/* pdwait should return einval if the arguments are bad */ +ATF_TC_WITHOUT_HEAD(einval); +ATF_TC_BODY(einval, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EINVAL, pdwait(fdp, NULL, 0, NULL, NULL) < 0); + ATF_CHECK_ERRNO(EINVAL, pdwait(fdp, NULL, -1, NULL, NULL) < 0); + ATF_CHECK_ERRNO(EINVAL, + pdwait(STDERR_FILENO, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* pdwait should fail without the cap_pdwait_rights bit */ +ATF_TC_WITHOUT_HEAD(enotcap); +ATF_TC_BODY(enotcap, tc) +{ + cap_rights_t rights; + int fdp = -1; + pid_t pid; + int status; + + /*cap_rights_init(&rights, CAP_RIGHTS_ALL);*/ + CAP_ALL(&rights); + cap_rights_clear(&rights, CAP_PDWAIT); + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_EQ_MSG(0, cap_enter(), "cap_enter: %s", strerror(errno)); + ATF_REQUIRE_EQ_MSG(0, cap_rights_limit(fdp, &rights), + "cap_rights_limit %s", strerror(errno)); + + ATF_REQUIRE_ERRNO(ENOTCAPABLE, + pdwait(fdp, &status, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* + * Even though the process descriptor is still open, there is no more process + * to signal after pdwait() has returned. + */ +ATF_TC_WITHOUT_HEAD(pdkill_after_pdwait); +ATF_TC_BODY(pdkill_after_pdwait, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdkill(fdp, SIGTERM) < 0); + + close(fdp); +} + +/* + * Even though the process descriptor is still open, there is no more status to + * return after a pid-based wait() function has already returned it. + */ +ATF_TC_WITHOUT_HEAD(pdwait_after_waitpid); +ATF_TC_BODY(pdwait_after_waitpid, tc) +{ + int fdp = -1; + pid_t pid, waited_pid; + int status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + waited_pid = waitpid(pid, &status, WEXITED); + + ATF_CHECK_EQ(pid, waited_pid); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdwait(fdp, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* Called twice, waitpid should return ESRCH the second time */ +ATF_TC_WITHOUT_HEAD(twice); +ATF_TC_BODY(twice, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdwait(fdp, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, basic); + ATF_TP_ADD_TC(tp, capsicum); + ATF_TP_ADD_TC(tp, ebadf); + ATF_TP_ADD_TC(tp, enotcap); + ATF_TP_ADD_TC(tp, twice); + ATF_TP_ADD_TC(tp, efault1); + ATF_TP_ADD_TC(tp, efault2); + ATF_TP_ADD_TC(tp, efault3); + ATF_TP_ADD_TC(tp, einval); + ATF_TP_ADD_TC(tp, pdwait_after_waitpid); + ATF_TP_ADD_TC(tp, pdkill_after_pdwait); + + return (atf_no_error()); +} From nobody Thu Mar 26 14:53:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRcH6W5Gz6RctK for ; Thu, 26 Mar 2026 14:53:51 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (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 4fhRcG6tNcz3k9P for ; Thu, 26 Mar 2026 14:53:50 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.44 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-66971ccfcabso1423792a12.3 for ; Thu, 26 Mar 2026 07:53:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774536829; cv=none; d=google.com; s=arc-20240605; b=GURBbof04t883F1NX7WJ7VQD8aEdU4kAzGQy9loSFj6D5kE33Jnu2XlOCLlaTLX+Y7 sgqHgh/0J024FdEUI4/we9xDnZtSFprHsZ3nzoijzUYxqow0CWJG1feXs/C8uW9rhjGY sGwrm/MizxCWbRfjHw/KyPWTsp/bHq1aGCsgkDGWPQrg7VjxBpexAqfAAFlGzBtXgsR8 ArQzPp1BgHWc12vfSkS5gL5wq9Lcfkrv6X2vVgJwVGT4aDQa3C3EG9pIpgfl5WYolgEN /ZHnft89wpodtiLBV2H7GwwEdtYkiN1U46Dpzc5smCKePIAdoFyrsZS0OqNdOkWdlzim d6Vg== 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=4f1bZFMh/gy8owIf9XIt06cs28oDgDe6Sxs19qE7l64=; fh=se3WMX5INUWfOwU6yGMXgdQ44hQYUFfrMeenPO+nrOg=; b=OWrZi93ITbtZRxsXPmrKJaYmbQ5PKVG2+Co7/xwOkmbdEVVXNxUfH6p6jweYQv9yBe mgZQsVIDldwHU3dZA+A0Kei1spZ6+xDHu+OrdiF8HivgagYje+PLz+hmKIRuVRQSIvfs jJxMxHEqXq15UucBlR5Pk4Xa80Ougno897ErTnBeGqR4xcIVM+tSdLdBroMk3GxaDcNF QMAHQXMnfcfSxYni7J59MAbZ4jxXmzae+cmKkyzpht154BcV1oiiNBrIYH5Q6KlHVyXe EqA0f3awz102P+qJIHwy8aVHyCFfh6YYUWUSepPYLb5E4p7xtODhUqqY8hK/710gHcMq N0Bw==; 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=1774536829; x=1775141629; 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=4f1bZFMh/gy8owIf9XIt06cs28oDgDe6Sxs19qE7l64=; b=fIQ7GroIZijkERKC/hoybAS58w6wIhhwhcqNetRECCzv0VEC47EgXaNLVApfK1sVoo 26ySJW+bTXFb9eT6Wv9mi6niXj6fMHVrV0p492gR4xv2ac+3wPxBBQ37uTzkyFXqnGiA kZhKHCEkpdCJju604cHFHY+Bxt+wCPPa91mBLeXeG7GTPuS72l5xCfqo9Ll2/xa6MCcR 4xSCW3UNeIiW56UMo7dL6i4pCYmnRafqQtJRRf4gdiUJSUvNGCZaDMTJWB8spF1Nmzrz w+j9japvumBB+PBrmTGkGCeWWWs6z9cajWWGsHBR5Mi8pPqggKZ8wk07MskniecCUAOP so7A== X-Forwarded-Encrypted: i=1; AJvYcCW3Og5etvzx/7xp1dU3K1VZFbylEo8IVI0p0hZ4r6O7POV0SroVUD8FAPW2/a/JsUO/zs67rg98XsUz/U7rU732jvsD@freebsd.org X-Gm-Message-State: AOJu0Yx/QKutpjga/v0KnVhYdsKm47R/dqUf74iX9xOQK3bEQ4vKm0za oeg8I3BBHnaHCPmaO3gz1Emm6ngneMdRpXWhPZLspopbv2jbddqJHazA+NShDHDJP9Ue9CRlTBe F42W7L7VLdK0V01I7lkrlhUp+UMo79auseA== X-Gm-Gg: ATEYQzySUezNLzFDF4VmxoQlP9cUo3AfwyBED/Dkxt4ku4Mam+ei21tV5zB6roCcblI YzXD6r4nGnpin+L0quBeXgyOhV5meZHqI0PkPugTbt8fb9c+oEk/mUhjYuNAz6ALK12uDzwKAbE PxjYK0piVsQjZJqLYBMrdUuyvePscdH7S/7XobXj0+yhd/XZH/Gjk4xIue+MpqM11IfAZY2Al0I XiGSdg8vIGeFu745zUna2eyvYLbOpHMx6LTW5wGQ20rkTolHiUNcj16Ene/k1QKXmaGTDUMU74K 0YyTE3AeChDqVp5zNioGPNX9I5I+LWXYpsCxH0kfTonS+T8Lhiq9VhqwUAOx2uv8RufhGjGhsQe TdxI= X-Received: by 2002:a05:6402:348a:b0:668:502d:80c6 with SMTP id 4fb4d7f45d1cf-66a826e1cdfmr4637503a12.25.1774536829233; Thu, 26 Mar 2026 07:53:49 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202510221659.59MGxpsK054765@gitrepo.freebsd.org> In-Reply-To: <202510221659.59MGxpsK054765@gitrepo.freebsd.org> From: Alan Somers Date: Thu, 26 Mar 2026 08:53:37 -0600 X-Gm-Features: AQROBzCwKx1vn0jU2aoi85WuZ0-pTQM42HYyUyHG-CpYfhX0EsAgsfSdl2CZmUU Message-ID: Subject: Re: git: 62aef3f73f38 - main - vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller To: Gleb Popov 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 [-2.98 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; NEURAL_HAM_SHORT(-0.08)[-0.084]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MIME_TRACE(0.00)[0:+]; FREEFALL_USER(0.00)[asomers]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TO_DN_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.44:from]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.44:from]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4fhRcG6tNcz3k9P X-Spamd-Bar: -- On Wed, Oct 22, 2025 at 11:00=E2=80=AFAM Gleb Popov wr= ote: > > The branch main has been updated by arrowd: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D62aef3f73f38db9fb68bffc12c= c8900fecd58f0e > > commit 62aef3f73f38db9fb68bffc12cc8900fecd58f0e > Author: Gleb Popov > AuthorDate: 2025-07-11 07:42:09 +0000 > Commit: Gleb Popov > CommitDate: 2025-10-22 16:59:21 +0000 > > vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller > > The code that makes this VOP_BMAP call tries to perform a read-ahead = I/O > operation. Failing to do that for any reason isn't fatal for `cluster= _read()`, > because we still can return some data to the caller. This change is c= onsistent > with other places within `cluster_read()`, where error returned by VO= P_BMAP is > not returned to the caller - see the `if (nblks > 1)` block above the= changed > lines and `if (reqbp)` at the end of the function. > > PR: 264196 > Approved by: markj, kib > Differential Revision: https://reviews.freebsd.org/D51254 Shall we MFC this change? I think it affects 15.0-RELEASE. From nobody Thu Mar 26 14:56:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRhF2X78z6RdL0 for ; Thu, 26 Mar 2026 14:57:17 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f49.google.com (mail-yx1-f49.google.com [74.125.224.49]) (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 4fhRhD6SQ9z3knx for ; Thu, 26 Mar 2026 14:57:16 +0000 (UTC) (envelope-from 6yearold@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yx1-f49.google.com with SMTP id 956f58d0204a3-64ad79dfb6eso1176965d50.0 for ; Thu, 26 Mar 2026 07:57:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774537036; x=1775141836; 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=g380mxEXjjztLqJKZhFhGw9rPz1eE+ms8XI1J6Y4cnQ=; b=gc5/600XnOvrNPyLPLkJjsckuRIMLQuU5gOu05CV1IdthfxJ0HZ4VMxqpUVh8LpYza w67Y3+Wyx+tUfP2ZmVQDf16+iqu36ZcXQzO3EmzxxMBheXHI27zywRHSlBbb996QVHKb mLOAiz425ndO0Y9jAeglHLYMgV/S6otymMcCZlFKPfqOQwSk/hj5u3aL6cmucSU3gzJX Q91r8b8IsmSGjo9sHzXcu2Iqz5DLKxhCeXkR9CYo9lE3/VsZuM410ZWL4AOsIvW4vm03 PSZp4lX9eB0WuD8NEdR0CJGV2dKj15V6RDhXLCL9zffb3ebykO+pL4mJrhRV7LZbkZAG eb4w== X-Forwarded-Encrypted: i=1; AJvYcCXOeJwgGLzjzomPTxmtobUZkkuX2aRCmJTSkPor1fywGhSJgH933oA/8uBorE1TzPS95TeuqeIc/OjSqpXFroLpj/fr@freebsd.org X-Gm-Message-State: AOJu0YzWabzYpvZFzpr/xn6iupYRwr/wMZ91Y3/hO5EXPCVIS4llhAQ5 orWc4EtYXZU1r5rXkG/RnJcc/PsU0xlJy8ibgc13oAre9k/FJNNK52wgaGN/JZMF X-Gm-Gg: ATEYQzzeJ3gj/LZ6foECwu7m34nHgHvzEYkiy0fWy0wbb/5BPm3QKmBOkneVbbSbvBU 70kcB7Q5uKdHDUi9q3xX2CV1kqo3ZUkI+OTUw0nwmy2+Rv9D0bmnyEgSU4oOWwCXKAvttfFsig0 4j+a0u5mFOUVOgAJdW8z8NswTEWwm5r9X9Q8+PAV5E2Y9KYWq/YUjPWiF5EqLo3NkLZiTlBXlHH dT2n/QOQu2xfc2VuPjcvUB+WQIXntnME+oWdCC7O4APjFL8xbH8FxGkNch4BQSSQgIrbVpD89kq wc4Wq08W5F7vbhry8Nivja+WpSwWxw5HA3Fa3V60qfoT+tvINyy+xKDh5oN+INmU2KfehY/NmQ6 4kZ4kysuItKYX9yGUmnLlLDfEASCdgMrtzTV2LP4K4uznz1O8JhS24aFQN6b5/xZYCd9aojDivX VMemEN2AaReBKZHSattwdTuELpE8jLiki72j7yQDyyTBUdG/jFUhgobiBS0yhMz3JGSzpnlZcN9 3R04/91R4EZYkhU0QTUkNmTUW5QajQv0zXFVq1cvEaJGivXvK8zPyLP8zvasVoBOO5EK+v9/mhn QrKn9tlujUeHszS96g== X-Received: by 2002:a05:690e:4403:b0:64e:9dc7:90b3 with SMTP id 956f58d0204a3-64ee612f8famr5978276d50.39.1774537035680; Thu, 26 Mar 2026 07:57:15 -0700 (PDT) Received: from mail-yw1-f178.google.com (mail-yw1-f178.google.com. [209.85.128.178]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-64ef57bf895sm1575037d50.2.2026.03.26.07.57.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Mar 2026 07:57:15 -0700 (PDT) Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-79ab50ee951so11845747b3.2 for ; Thu, 26 Mar 2026 07:57:15 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUNhR0jScj1+GkAfva3krRL5wBBi7vokjzNOT5jSbHK0NhBR0NDAjroj4SqGBxqAKtUdt4nFGynuYSbdUsltk5qc6fH@freebsd.org X-Received: by 2002:a05:690c:89:b0:79a:3a33:93a with SMTP id 00721157ae682-79acf6840b9mr76921217b3.37.1774537034749; Thu, 26 Mar 2026 07:57:14 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202510221659.59MGxpsK054765@gitrepo.freebsd.org> In-Reply-To: From: Gleb Popov Date: Thu, 26 Mar 2026 17:56:49 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AQROBzCivKMYw_ozEHdDP00lIAy9_vX7Nnz4KwVo8OcYWH9pHgI6JuxnSkdHlg8 Message-ID: Subject: Re: git: 62aef3f73f38 - main - vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller To: Alan Somers 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-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:74.125.0.0/16, country:US] X-Rspamd-Queue-Id: 4fhRhD6SQ9z3knx X-Spamd-Bar: ---- On Thu, Mar 26, 2026 at 5:53=E2=80=AFPM Alan Somers w= rote: > > Shall we MFC this change? I think it affects 15.0-RELEASE. Sounds good to me. From nobody Thu Mar 26 14:59:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRlQ6HJJz6Rdcc for ; Thu, 26 Mar 2026 15:00:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (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 4fhRlQ3Z7Jz3lLV for ; Thu, 26 Mar 2026 15:00:02 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-b982518b73fso178656866b.1 for ; Thu, 26 Mar 2026 08:00:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774537200; cv=none; d=google.com; s=arc-20240605; b=gRxz0NaLqN6DxNGTRPkyq6pNiCApQx2XUKTBmCg1Pc/CmZaautafVZcsS4X27RHuQZ Wq7UYF2MTEp/TIw7+XYY39qVNVILUtKt7bOsHCs+S5YBmL7bQpNubkUJKZmti56E/p4L BiH0tg+eMaft4JihfA6PlmWFn+aKbPzmeiWZffmPAwqhn+D5z8whaF4629dsnx3YtU3G P1nllEJ2agBd8hX8RnBBmeiv1TnlgFt5n20mwAQbjcvZv/XsZwzRVWSAiur1/Pprj+nW f2zyKuqm6CrBPXx1tBA7iQh/pGv2DJHSYLOYCztlKmUpp9p7mDDt2htAfYjKkvdzhsFz 0oYw== 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=i4qFIQUY0mILrSL4XKL7EbxA4LHX/3L8QjYtY/shvrc=; fh=y03TGWPLCUlUdnuxie248csef8/1ljlDRNq1lm7PoIg=; b=lWoDNRdqkhqDy7cUt2pkoKEVS8h2cz+eubW/C4+AUNNBD9HfRDZSXvudef2D2qMVt5 kkQ0k50jRFwX/jFQYPddHVhapMas8DUDGM5rBgVNfpvQKtuHT4IRXBEY1Nap1hFShx5F CF5SGncp/DhqofPLy+pyYgGMJLjJuO5OuG85v9G+JHdBsIHAc0lleVpSKK657oJLwlpI LCaPPQSvgp9ZN7EGclDZ3dTG3Gmx+C5VlpKl683f2mBsR9Ok0aBs6SAerQiOYQXcMD5z 7dc1cxGvw7Wyx0B96RGftp4s9mpWjLjZhl0rvGeHXHclppLsIOrrNmqysQDtF+gpXU58 rISA==; 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=1774537200; x=1775142000; 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=i4qFIQUY0mILrSL4XKL7EbxA4LHX/3L8QjYtY/shvrc=; b=ipANxNNG697Lkgt/Ds4DbLGiunGcaocgXhtE68TUOYOsKANcAVGsw4UaJQiW43hNEn E862EBExKyPcPzmMKadpkBJrw4OLhSApSxA2+kJExkjhKgLT+X1ILGM6xUlAZFU/yRPl glKhoSiNaxmlneDG7/xmbayvwwVI0puz3FE0Gu+XCDSm5i42+xmoVovw3XOElxnHgfys 1s2QaZX+IVKvswoe+mR7QlqjtSZrT/9Dh6XGLIe3EFlwlqlb0VmDTKsAoj+EqpasJWgF PO5+Nnx8vG/P2OCR8KHWED98xnKQrIFlyfd3kbtP5zZZ6M5fTDq7XC5l5oYeQRCzIH1v 4EDw== X-Forwarded-Encrypted: i=1; AJvYcCXP9QLQfM5R+a8+j13tixtP4Exvz9t/zGn/o2bXH/FAVtyHdtiWeQ9F+norWQ66HdmQUWONq0GEcy7+eG7VJPiR9bpZ@freebsd.org X-Gm-Message-State: AOJu0Yytj3LQlAjtk6YK2OjWJkuAi6QaL8o7G/85sEB82wBSXqOKO0MH qtAbmjV3xJUOdVx6KVFpfjbfRRcXq32/Wqp28r1NS6s0v+3r04If0Gr8+IrwLbfEh+f7mnf1Mps kF4Xd9eyaiFyLEqeNFK+xCh48spRDPoHWskDr X-Gm-Gg: ATEYQzyU2iZoqMmJKqjTr2eVQpJ1rHkTFfyacMvtk3OlRA/s8iMIyUmyOFd+mEOMn8Q JA6Vufd2jxW+Aaz7fxpWYTj5aHAy7ce8Ni4opLAoyRL4wXkKar/HO/IdrpfmF6VQ7VTbLGKcwYy niD3GO3/kk+RoohU9kndV4Da/biYeqFLcxzRt3jsOBR5ve/d1pBVIDUaoNfHUPsW6v5AKrsXInZ HCSDng+93cnN/OvmjlU0eFesqhC3m9u1MlKvgiBgvfXH00yvw9TK0Vfh868f0yNMhYrYFcR6Cci qN7erGaCJMt5ktL+JWEdo7WhBKcQ3kxmVNyFoavRZwCH56aHuDr3Vp/yqG8kdng6deAs X-Received: by 2002:a17:907:7b93:b0:b9b:308f:d9be with SMTP id a640c23a62f3a-b9b30902d43mr143166666b.23.1774537200059; Thu, 26 Mar 2026 08:00:00 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202510221659.59MGxpsK054765@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Thu, 26 Mar 2026 08:59:46 -0600 X-Gm-Features: AQROBzBb8j2LH7VhRinnAcFLRY4jF6pEuubngiXLWtNL4IGxjtY-FeCjkBdx5YY Message-ID: Subject: Re: git: 62aef3f73f38 - main - vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller To: Gleb Popov 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-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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: 4fhRlQ3Z7Jz3lLV X-Spamd-Bar: ---- On Thu, Mar 26, 2026 at 8:57=E2=80=AFAM Gleb Popov wro= te: > > On Thu, Mar 26, 2026 at 5:53=E2=80=AFPM Alan Somers = wrote: > > > > Shall we MFC this change? I think it affects 15.0-RELEASE. > > Sounds good to me. > Ok. I can do it right now; I'm already MFCing stuff. From nobody Thu Mar 26 15:02:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRqB3QDyz6Rdjp for ; Thu, 26 Mar 2026 15:03:18 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.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 4fhRq94V9Tz3mKG for ; Thu, 26 Mar 2026 15:03:17 +0000 (UTC) (envelope-from 6yearold@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-79a8e873ca1so27014067b3.1 for ; Thu, 26 Mar 2026 08:03:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774537396; x=1775142196; 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=6NIgMDCRh/9/4AVsQbZ3bguKJqx4NOrd0e8G60fgOCY=; b=g9xiLXf+qHezNASMvAdUN5BKQN810+u64ZXY6yPg4bfEPjDPzSxkntpFJXxxW3HcyX xpvxgi9IeuTK4G0gkvGbNfByyCzxlD2/IfllE+JyAG3Ms9U/fhX7GlCzrZLZJDHt9WEa 9pMOBCGu5XaAi3iHoQCX34gqT3tpjJAxRGN6r/k43/N8tZtE5jGyK+EXrrhIKFUXzAUj fSWtYwt64hBoKXusGNv9/zXUUPaHGWUC5kLErUVCUR+qy3+QCB3paZwRwRZ2mfAW4D8s 70Zm7R63Cae9araMjBq/g46FPBrcuOBivIPXwHGlz0o6G1M0zRSHERWW7MckH8nGdQ63 9vDw== X-Forwarded-Encrypted: i=1; AJvYcCUIyapHCTgM0rM5ZfvgE8IUZOMyir+EJqsxC11T7/HIkPW0RqnmvD9aPJefpeegkxMDoEVOrv8W9vRjglJrXcOUo1YQ@freebsd.org X-Gm-Message-State: AOJu0YwEnHeEqqs6745TpnS8M+5Cqb6DcdOJyK4sQ9OOuVitaH7lbmbm rz87NEaOUwLD6ZedAh8XkRYc26TfVYhg3P0OSA5cv2nHkdg52ssdgHRsM0BoaImmnyQ= X-Gm-Gg: ATEYQzxLsxLLsbekLCVpV5OU7LSVhukrUtHr2AfoGyjq/FgmvN78kazmXV02KMM6f4v foQuUFOJla1NhwEA2bW7nX7gWp0TZay3A90IVKK11zCfKjQ5g0edS1QCrjyR7P6s32nJqy5gba3 q+DScA+WTBs/XCH9q0qQTmcImfrp6/fXMg72lE1YuX0wj2gowa+5WG56X6mBTo6eETtfQwTXBbY l2rmWN2qXjsJLJhT6QJ9yofmEPdNvCAvDAJ0f/b4ukfO4AmyOrngoVOJu8n9h7JIrL58fEw9PoG g5yHwRF5CyQKmbC1xzD69J+ZaEQR0EpX57/03X8noMy0hMXeaTgM+aJlk51AFEJybsF1dYfQkTx CXinD2bxdQPgWm42HKM42W/Y3XdFjCrMfw/RUyesnEVpWg6LrDVk+tqPFkZgNqUidRYHFyAyAGa YmOQjVa6E8UDUycYJ2D369vFYBaJ/d7I2fnPBxOjL96R8qtsSlpy8FRK1fvdxpq7I4qBs+9s1k0 MGsBALE64TF3QMUHdZidkaAdI6E/j+X7Bh8yEFljcHO9cY0VVXYL+9ckX8rv+wugdog7hyObLus LBi3TX8= X-Received: by 2002:a05:690c:c24d:b0:79a:7d1b:5a07 with SMTP id 00721157ae682-79bd0267d26mr15694647b3.20.1774537396323; Thu, 26 Mar 2026 08:03:16 -0700 (PDT) Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com. [209.85.128.173]) by smtp.gmail.com with ESMTPSA id 00721157ae682-79b17e30300sm14305947b3.16.2026.03.26.08.03.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Mar 2026 08:03:15 -0700 (PDT) Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-79a8e873ca1so27013477b3.1 for ; Thu, 26 Mar 2026 08:03:15 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCXhSiEMUG6mTD1urTv8LH0xMjNbuWTBsAlcgwpqmz7q7rHtS5qieeVbgqJ4FGIxhaS7WgsA2bbGOjFa9TPZazPh404N@freebsd.org X-Received: by 2002:a05:690c:3481:b0:79a:c9c1:eaf1 with SMTP id 00721157ae682-79bd008a191mr15137757b3.7.1774537395102; Thu, 26 Mar 2026 08:03:15 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202510221659.59MGxpsK054765@gitrepo.freebsd.org> In-Reply-To: From: Gleb Popov Date: Thu, 26 Mar 2026 18:02:48 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AQROBzDjbEz_yCKCeNQ9JYfiTitogtiiv9a4ml8dzqHRG0BkTdTET3AeOP1qoS4 Message-ID: Subject: Re: git: 62aef3f73f38 - main - vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller To: Alan Somers 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-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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: 4fhRq94V9Tz3mKG X-Spamd-Bar: ---- On Thu, Mar 26, 2026 at 6:00=E2=80=AFPM Alan Somers w= rote: > > Ok. I can do it right now; I'm already MFCing stuff. Thank you! From nobody Thu Mar 26 15:08:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRwz3cdqz6RfPZ for ; Thu, 26 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRwz1LwXz3mgP for ; Thu, 26 Mar 2026 15:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537699; h=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=pmqGeN/WaeS2cZtJFLzE1hIONNqlVdpbqtmqFk77Ecc=; b=xQuUjW9d05bwxvcsDd5lzjI8enO9TtfcqrNAVWrEmfTGgzkRe27wnP12FyP2Lor2k2Yyak rKbppEDgIRlsMKnHtNO+1y3EInJksa48JAiaEYsjIN29Qzh9VyuBCe/E95PFyrDusgPPM1 a2uoPdzGqYLabCJ+vq1wBfjyqAGqUb01hDMqFjo0qnfuLyqEtv3MXZGLJNN4PddVnoSYkj Z4fJNhrwhypHZ6t03uwiyVCN7J6Z3e0x//bjlhsRthfWbUTmYSMoL8V3l8949EqzhTK0Pi Js02DmnrQHYc5HKWGyuPLQLHsxL81VZXF7QcFb/B2Fab32urWJBxoTEiGVHcCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774537699; a=rsa-sha256; cv=none; b=PYxWqneJ+wCRdavgyZZyHnUGnKZjSosyTnHDNR9XZ+AzgMg1vV0duhyIfmCDN17SU+sjuk lUgV4FxK4vpo5WTp0sAMbS20/45CjDEhHncXOtdKShjnA5s4nolEji3Hb6iGcilndw6WZl PLTlbuiQMNp2VEnlmSpI971f92i+wKp3NlBcoACALUjSugKHg3jID8SsGEVwOvLNgVcDgO oFFUbsdNHjsA+cR4d0nnDVJ4b5dNAz1jznwWpKeludpT7Upn4ukI14SxgFX0Kw9WLzNmF8 r6okT+GfiWp5i8fPa14iZksjP38XHglBjRwyCFzWV55rpPED5yNqCLuuMLakuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537699; h=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=pmqGeN/WaeS2cZtJFLzE1hIONNqlVdpbqtmqFk77Ecc=; b=Rs2N4/TvjqcGtZ6VvlC490aeXr/3X7jC8x9faZkH8cqwsR1DHK2X6zEglQ5awFB+oMqT+F ZdTEFMtk/oPzAFHGC8MSB9OR5p663NEBpl2wRn07mOrTWsGJtd/tVE4irIt68pckL+YP/s DxES62DMm9oxNTB8TEHdkqi8tAJLwgh1o3BMk3NQwv7m1VIMyc7DKji3fFm9awKPYmTmZR q+tRp51ET/ZXwRlBJVAbChFupGS4Xy9hbDduclDZ2tpKsFiUYCoIMnQkcXye4Rvl5KgLKI PEN6wPNEFPGpBP6GF8bnv98/smAJZ1IaSqEK9tnNJQX7ZvUMozvSi+br9iD6iQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRwy6tSYzxmw for ; Thu, 26 Mar 2026 15:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21796 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 15:08:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Popov From: Alan Somers Subject: git: 1ebccc3b0f68 - stable/15 - vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 1ebccc3b0f68dccb2447a6f251e6fa409cb3b2eb Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 15:08:18 +0000 Message-Id: <69c54be2.21796.6df3eaca@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=1ebccc3b0f68dccb2447a6f251e6fa409cb3b2eb commit 1ebccc3b0f68dccb2447a6f251e6fa409cb3b2eb Author: Gleb Popov AuthorDate: 2025-07-11 07:42:09 +0000 Commit: Alan Somers CommitDate: 2026-03-26 15:02:16 +0000 vfs_cluster.c: Do not propagate VOP_BMAP errors to the caller The code that makes this VOP_BMAP call tries to perform a read-ahead I/O operation. Failing to do that for any reason isn't fatal for `cluster_read()`, because we still can return some data to the caller. This change is consistent with other places within `cluster_read()`, where error returned by VOP_BMAP is not returned to the caller - see the `if (nblks > 1)` block above the changed lines and `if (reqbp)` at the end of the function. PR: 264196 Approved by: markj, kib Differential Revision: https://reviews.freebsd.org/D51254 (cherry picked from commit 62aef3f73f38db9fb68bffc12cc8900fecd58f0e) --- sys/kern/vfs_cluster.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 2e397b8e9e8f..b674313993c4 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -260,8 +260,10 @@ cluster_read(struct vnode *vp, u_quad_t filesize, daddr_t lblkno, long size, */ while (lblkno < (origblkno + maxra)) { error = VOP_BMAP(vp, lblkno, NULL, &blkno, &ncontig, NULL); - if (error) + if (error) { + error = 0; break; + } if (blkno == -1) break; From nobody Thu Mar 26 15:08:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx02HTPz6RfGW for ; Thu, 26 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRx00kRwz3mpf for ; Thu, 26 Mar 2026 15:08:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KPkzIwudM8hIel8z+POG+Vhjc6+poRj1ZpxpPZfuqcQ=; b=JFCX+2fysLsatRFDrhCSY+LNE7sJ0mkRLuH4C1JzvgAdosVJ8EqiTnswZ2zG6G5xM2eciq 10skhPWtDk61fnh+sbup1c4I+uDcAm8bNwMu9j/0NqxeFukEHPP5UTOR5jsxArLyA4MdCz HKJEhbc6ppwwOh7AWUJrqwS+cAEKjdyCmxvHMcuuNs0vY/1ieJ8kqmfSPGELFKo7o6cgnZ CrTdE0qpOhbtry8PQIbyrZAjqA3tvAiMzfs8vQo4SbnEHM0/b5/3psJmJ8KMxM8lM18NM5 od28hqfTymDjJhObwrILVXp0M/6s621Z9MRLVM0ZzvYe+0bl5Zm1DTejXGm9qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774537700; a=rsa-sha256; cv=none; b=WcyRhuB/cAk2rICamr2GwywLlpP5OX+FQ4tgYydOqcdjRDyXZ1Ke5u3ba4iP9LTXBNgGq3 Nk0OwX3Y9606blf2hkS0vlUgNHsq0cGoeY6gjyNin/M2SMTcCQXX6o4NNXZ0vjhXsSkLs5 I0e/nlU9CEOLJXYzUx6LqiB0n+a9a6ZXb1hPaxSavsZ0K03Rg+dgRCMr/5CAuzRGOc2BsG yEeJrttodjvKnxCeys3CtrW039zqK8m+3I2nuS+CXxisagKrcg/VdqjIlZqumvIDBqEK/S YdqEXCDVVXSY/Ua6NTj/yVnyiq6Y8LYi0ES4wd4TI9xKkGTlQhl1vNLaz9WoAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KPkzIwudM8hIel8z+POG+Vhjc6+poRj1ZpxpPZfuqcQ=; b=QmM80UvMR7e3rdJVpsFJeQJBGSk5Ff5MAFF/vygQzLy1ztfPr0olV7JF/5j5Q4ycK7zlQI x8GnJaO3MV/pSXiVCnJlkAqVQgp+6LXM96ecBfDc/VBjz8ieuE4raqAxBBfxbnFddY6nvx GxN2WcjUU+Snc2NR9xO/9RSHL0K2IdiVPSjCwIAyiRK927IdSk+Q+QLhDHWFfVsVw75mx7 K/y6L/8psBTzEndXD4/l69qdciPnYB0v7Ie0osp86eyunNxmcD7/z/tj7qmyStoeGFvHWS GJh2TuYGVIZFss1n8ejEQVv6CwBDPPGTxC9klKfZiSYoHhLzPYR1Q78lun8/sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx007lZzxbd for ; Thu, 26 Mar 2026 15:08:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22900 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 15:08:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 9ac21f8f168c - stable/15 - fusefs: add a regression test for a cluster_read bug List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 9ac21f8f168c6d497e8174ea0ddb136ec9c5ece1 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 15:08:20 +0000 Message-Id: <69c54be4.22900.4265625e@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=9ac21f8f168c6d497e8174ea0ddb136ec9c5ece1 commit 9ac21f8f168c6d497e8174ea0ddb136ec9c5ece1 Author: Alan Somers AuthorDate: 2025-10-23 13:40:56 +0000 Commit: Alan Somers CommitDate: 2026-03-26 15:02:23 +0000 fusefs: add a regression test for a cluster_read bug VOP_BMAP is purely advisory. If VOP_BMAP returns an error during readahead, cluster_read should still succeed, because the actual data was still read just fine. Add a regression test for PR 264196, wherein cluster_read would fail if VOP_BMAP did. PR: 264196 Reported by: danfe Reviewed by: arrowd Differential Revision: https://reviews.freebsd.org/D51316 (cherry picked from commit 6d408ac490730614b3ed0ebd3caffcd23f303fb4) --- tests/sys/fs/fusefs/bmap.cc | 87 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/tests/sys/fs/fusefs/bmap.cc b/tests/sys/fs/fusefs/bmap.cc index 30612079657d..e61dadb6d79e 100644 --- a/tests/sys/fs/fusefs/bmap.cc +++ b/tests/sys/fs/fusefs/bmap.cc @@ -177,6 +177,93 @@ TEST_F(Bmap, default_) leak(fd); } +/* + * The server returns an error for some reason for FUSE_BMAP. fusefs should + * faithfully report that error up to the caller. + */ +TEST_F(Bmap, einval) +{ + struct fiobmap2_arg arg; + const off_t filesize = 1 << 30; + int64_t lbn = 100; + const ino_t ino = 42; + int fd; + + expect_lookup(RELPATH, 42, filesize); + expect_open(ino, 0, 1); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_BMAP && + in.header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EINVAL))); + + fd = open(FULLPATH, O_RDWR); + ASSERT_LE(0, fd) << strerror(errno); + + arg.bn = lbn; + arg.runp = -1; + arg.runb = -1; + ASSERT_EQ(-1, ioctl(fd, FIOBMAP2, &arg)); + EXPECT_EQ(EINVAL, errno); + + leak(fd); +} + +/* + * Even if the server returns EINVAL during VOP_BMAP, we should still be able + * to successfully read a block. This is a regression test for + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264196 . The bug did not + * lie in fusefs, but this is a convenient place for a regression test. + */ +TEST_F(Bmap, spurious_einval) +{ + const off_t filesize = 4ull << 30; + const ino_t ino = 42; + int fd, r; + char buf[1]; + + expect_lookup(RELPATH, 42, filesize); + expect_open(ino, 0, 1); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_BMAP && + in.header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke(ReturnErrno(EINVAL))); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_READ && + in.header.nodeid == ino && + in.body.read.offset == 0 && + in.body.read.size == (uint64_t)m_maxbcachebuf); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnImmediate([=](auto in, auto& out) { + size_t osize = in.body.read.size; + + assert(osize < sizeof(out.body.bytes)); + out.header.len = sizeof(struct fuse_out_header) + osize; + bzero(out.body.bytes, osize); + }))); + + fd = open(FULLPATH, O_RDWR); + ASSERT_LE(0, fd) << strerror(errno); + + /* + * Read the same block multiple times. On a system affected by PR + * 264196 , the second read will fail. + */ + r = read(fd, buf, sizeof(buf)); + EXPECT_EQ(r, 1) << strerror(errno); + r = read(fd, buf, sizeof(buf)); + EXPECT_EQ(r, 1) << strerror(errno); + r = read(fd, buf, sizeof(buf)); + EXPECT_EQ(r, 1) << strerror(errno); +} + /* * VOP_BMAP should not query the server for the file's size, even if its cached * attributes have expired. From nobody Thu Mar 26 15:08:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx13yc8z6RfJg for ; Thu, 26 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRx11RSFz3mpk for ; Thu, 26 Mar 2026 15:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ATKAcbQHoHoBUumju3T0HIE38eUfqzI48QLeeZJdgGc=; b=LY3GIZFa8fpgDgMWsir9kZsP273K+u5QyrLAEtqCHJ/uzPkADOc23Re5g+1/DgpUitgMYO vc5hgZsGp0vHxx2av8B6XonCJLTR3Zbov+ukYTPh9w6+mblXJdXrzzfFcE///a3NaZ7D2j TdDYA4JzSwr5wJtWDJIbdSonhpCK4ojsEoePZLxYHjx7fwyUlOkHnR1Q+jU1Lh4pRiJUDz o6btLO1MT894OpI/q2rjOkyooKVetrhFRJlSXX10NsUiWnsTtVEjG1XauPI3AXUQKXPW5n 32PmCXdT0XLy7TC9esuZE+r8jORFI/dqwOLTek1OO4CIkkrEE7x2IxpP29oA4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774537701; a=rsa-sha256; cv=none; b=A4g0nQYP5ZBJZP4pfRPIZ7CGTqnH9bf9HVCJmLw7fnPf1m9ZLoA/GHz1q89Fjg4++9W9IO NczPUfufD2w5Qz55UyXGGfArHH9hX94v4MfiFmlCIILct/M9U1ygY/fQO6HaNasdJaujQD ObsKzHEc5cY7v9Un7mhm1dkLuZqa8nnWgwNUl9jxu7DfdPjswqbOV5rpbMqfWGbMiA6URA 598EcRkVr3vj/OFm5+dbd7Ga1CXbPDhX4/SlKFSTtsgXctQHJ5Q2cjadvojpc4j9/4sd4Q x3GgAo8jass6XuJbtOx0jKcUXARcl6TwqvAjrMTyuzrTBImi7/ArM9fzh18m1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ATKAcbQHoHoBUumju3T0HIE38eUfqzI48QLeeZJdgGc=; b=GefdPQB4c+tuNbIwKYLYiq7v7vQ+LV0Nn1Qz0xQjHsDvmgHAZiTHPI2Bwg++MtmUIYuQAh bN3tTXvgGJAMO151OKV6n+OfKN0omOTC1h43orHW0diLyQTzg0KvEYFuBy5lr4oQMIiZZs z5GyYiZc4O7lgIeyVjRxLuLp4ULTNxYHRR8socQT16jW7st6s6VrH2K5vAuqEwyKlODAZE yhnWrUYk7z2dzG+hOOOlw02TpVdfTCC03aLlNGxso/XAo/AQoNjHN6hJzrkcRlfE9QZNcf RGaaXcAq2gb/hXHWZyBzmYGsqdgJ/hNonLB++t/+U81aWukSl6+gRifqy3ddgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx111v3zxZH for ; Thu, 26 Mar 2026 15:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2231d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 15:08:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 6a1ebd14aa96 - stable/15 - fusefs: redo vnode attribute locking List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 6a1ebd14aa96f9876c5bd96a33ebc76b2d0d44d8 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 15:08:21 +0000 Message-Id: <69c54be5.2231d.19fcfc1f@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=6a1ebd14aa96f9876c5bd96a33ebc76b2d0d44d8 commit 6a1ebd14aa96f9876c5bd96a33ebc76b2d0d44d8 Author: Alan Somers AuthorDate: 2026-01-23 21:23:51 +0000 Commit: Alan Somers CommitDate: 2026-03-26 15:02:28 +0000 fusefs: redo vnode attribute locking Previously most fields in fuse_vnode_data were protected by the vnode lock. But because DEBUG_VFS_LOCKS was never enabled by default until stable/15 the assertions were never checked, and many were wrong. Others were missing. This led to panics in stable/15 and 16.0-CURRENT, when a vnode was expected to be exclusively locked but wasn't, for fuse file systems that mount with "-o async". In some places it isn't possible to exclusively lock the vnode when accessing these fields. So protect them with a new mutex instead. This fixes panics and unprotected field accesses in VOP_READ, VOP_COPY_FILE_RANGE, VOP_GETATTR, VOP_BMAP, and FUSE_NOTIFY_INVAL_ENTRY. Add assertions everywhere the protected fields are accessed. Lock the vnode exclusively when handling FUSE_NOTIFY_INVAL_INODE. During fuse_vnode_setsize, if the vnode isn't already exclusively locked, use the vn_delayed_setsize mechanism. This fixes panics during VOP_READ or VOP_GETATTR. Also, ensure that fuse_vnop_rename locks the "from" vnode. Finally, reorder elements in struct fuse_vnode_data to reduce the structure size. Fixes: 283391 Reported by: kargl, markj, vishwin, Abdelkader Boudih, groenveld@acm.org Sponsored by: ConnectWise Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D55230 (cherry picked from commit 7e68af7ce2c1b892954df415774fe59fd2f1b62f) --- sys/fs/fuse/fuse_file.c | 8 +- sys/fs/fuse/fuse_internal.c | 42 +++++---- sys/fs/fuse/fuse_io.c | 21 ++++- sys/fs/fuse/fuse_node.c | 89 ++++++++++++++++---- sys/fs/fuse/fuse_node.h | 91 +++++++++++++++++--- sys/fs/fuse/fuse_vfsops.c | 2 + sys/fs/fuse/fuse_vnops.c | 81 ++++++++++++++++-- tests/sys/fs/fusefs/bmap.cc | 34 +++++--- tests/sys/fs/fusefs/notify.cc | 38 ++++++--- tests/sys/fs/fusefs/read.cc | 192 ++++++++++++++++++++++++++++++++++++++++++ tests/sys/fs/fusefs/rename.cc | 90 ++++++++++++++++++++ 11 files changed, 609 insertions(+), 79 deletions(-) diff --git a/sys/fs/fuse/fuse_file.c b/sys/fs/fuse/fuse_file.c index 5f5819c2ccae..2cb8ef84e511 100644 --- a/sys/fs/fuse/fuse_file.c +++ b/sys/fs/fuse/fuse_file.c @@ -194,6 +194,8 @@ fuse_filehandle_close(struct vnode *vp, struct fuse_filehandle *fufh, int err = 0; int op = FUSE_RELEASE; + ASSERT_VOP_ELOCKED(vp, __func__); + if (fuse_isdeadfs(vp)) { goto out; } @@ -381,7 +383,11 @@ fuse_filehandle_init(struct vnode *vp, fufh_type_t fufh_type, } else { if ((foo->open_flags & FOPEN_KEEP_CACHE) == 0) fuse_io_invalbuf(vp, td); - VTOFUD(vp)->flag &= ~FN_DIRECTIO; + /* + * XXX Update the flag without the lock for now. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ + VTOFUD(vp)->flag &= ~FN_DIRECTIO; } } diff --git a/sys/fs/fuse/fuse_internal.c b/sys/fs/fuse/fuse_internal.c index eba0a8a79ff3..c902b93a4946 100644 --- a/sys/fs/fuse/fuse_internal.c +++ b/sys/fs/fuse/fuse_internal.c @@ -262,7 +262,7 @@ fuse_internal_cache_attrs(struct vnode *vp, struct fuse_attr *attr, fvdat = VTOFUD(vp); data = fuse_get_mpdata(mp); - ASSERT_VOP_ELOCKED(vp, "fuse_internal_cache_attrs"); + ASSERT_CACHED_ATTRS_LOCKED(vp); fuse_validity_2_bintime(attr_valid, attr_valid_nsec, &fvdat->attr_cache_timeout); @@ -478,7 +478,9 @@ fuse_internal_invalidate_entry(struct mount *mp, struct uio *uio) cn.cn_namelen = fnieo.namelen; err = cache_lookup(dvp, &vp, &cn, NULL, NULL); MPASS(err == 0); + CACHED_ATTR_LOCK(dvp); fuse_vnode_clear_attr_cache(dvp); + CACHED_ATTR_UNLOCK(dvp); vput(dvp); return (0); } @@ -498,8 +500,8 @@ fuse_internal_invalidate_inode(struct mount *mp, struct uio *uio) if (fniio.ino == FUSE_ROOT_ID) err = VFS_ROOT(mp, LK_EXCLUSIVE, &vp); else - err = fuse_internal_get_cached_vnode(mp, fniio.ino, LK_SHARED, - &vp); + err = fuse_internal_get_cached_vnode(mp, fniio.ino, + LK_EXCLUSIVE, &vp); SDT_PROBE2(fusefs, , internal, invalidate_inode, vp, &fniio); if (err != 0 || vp == NULL) return (err); @@ -694,6 +696,8 @@ fuse_internal_remove(struct vnode *dvp, nlink_t nlink; int err = 0; + ASSERT_CACHED_ATTRS_LOCKED(vp); + fdisp_init(&fdi, cnp->cn_namelen + 1); fdisp_make_vp(&fdi, op, dvp, curthread, cnp->cn_cred); @@ -891,15 +895,9 @@ fuse_internal_do_getattr(struct vnode *vp, struct vattr *vap, struct fuse_vnode_data *fvdat = VTOFUD(vp); struct fuse_getattr_in *fgai; struct fuse_attr_out *fao; - off_t old_filesize = fvdat->cached_attrs.va_size; - struct timespec old_atime = fvdat->cached_attrs.va_atime; - struct timespec old_ctime = fvdat->cached_attrs.va_ctime; - struct timespec old_mtime = fvdat->cached_attrs.va_mtime; __enum_uint8(vtype) vtyp; int err; - ASSERT_VOP_LOCKED(vp, __func__); - fdisp_init(&fdi, sizeof(*fgai)); fdisp_make_vp(&fdi, FUSE_GETATTR, vp, td, cred); fgai = fdi.indata; @@ -917,22 +915,27 @@ fuse_internal_do_getattr(struct vnode *vp, struct vattr *vap, fao = (struct fuse_attr_out *)fdi.answ; vtyp = IFTOVT(fao->attr.mode); + + CACHED_ATTR_LOCK(vp); if (fvdat->flag & FN_SIZECHANGE) - fao->attr.size = old_filesize; + fao->attr.size = fvdat->cached_attrs.va_size; if (fvdat->flag & FN_ATIMECHANGE) { - fao->attr.atime = old_atime.tv_sec; - fao->attr.atimensec = old_atime.tv_nsec; + fao->attr.atime = fvdat->cached_attrs.va_atime.tv_sec; + fao->attr.atimensec = fvdat->cached_attrs.va_atime.tv_nsec; } if (fvdat->flag & FN_CTIMECHANGE) { - fao->attr.ctime = old_ctime.tv_sec; - fao->attr.ctimensec = old_ctime.tv_nsec; + fao->attr.ctime = fvdat->cached_attrs.va_ctime.tv_sec; + fao->attr.ctimensec = fvdat->cached_attrs.va_ctime.tv_nsec; } if (fvdat->flag & FN_MTIMECHANGE) { - fao->attr.mtime = old_mtime.tv_sec; - fao->attr.mtimensec = old_mtime.tv_nsec; + fao->attr.mtime = fvdat->cached_attrs.va_mtime.tv_sec; + fao->attr.mtimensec = fvdat->cached_attrs.va_mtime.tv_nsec; } + fuse_internal_cache_attrs(vp, &fao->attr, fao->attr_valid, fao->attr_valid_nsec, vap, true); + + CACHED_ATTR_UNLOCK(vp); if (vtyp != vnode_vtype(vp)) { fuse_internal_vnode_disappear(vp); err = ENOENT; @@ -950,10 +953,13 @@ fuse_internal_getattr(struct vnode *vp, struct vattr *vap, struct ucred *cred, { struct vattr *attrs; + CACHED_ATTR_LOCK(vp); if ((attrs = VTOVA(vp)) != NULL) { *vap = *attrs; /* struct copy */ + CACHED_ATTR_UNLOCK(vp); return 0; - } + } else + CACHED_ATTR_UNLOCK(vp); return fuse_internal_do_getattr(vp, vap, cred, td); } @@ -1141,7 +1147,7 @@ int fuse_internal_setattr(struct vnode *vp, struct vattr *vap, int err = 0; __enum_uint8(vtype) vtyp; - ASSERT_VOP_ELOCKED(vp, __func__); + ASSERT_CACHED_ATTRS_LOCKED(vp); mp = vnode_mount(vp); fvdat = VTOFUD(vp); diff --git a/sys/fs/fuse/fuse_io.c b/sys/fs/fuse/fuse_io.c index 0760d7641c7d..9f864e48effc 100644 --- a/sys/fs/fuse/fuse_io.c +++ b/sys/fs/fuse/fuse_io.c @@ -401,6 +401,7 @@ retry: fuse_warn(data, FSESS_WARN_WROTE_LONG, "wrote more data than we provided it."); /* This is bonkers. Clear attr cache. */ + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag &= ~FN_SIZECHANGE; fuse_vnode_clear_attr_cache(vp); err = EINVAL; @@ -416,8 +417,10 @@ retry: fuse_vnode_setsize(vp, as_written_offset, false); getnanouptime(&fvdat->last_local_modify); } - if (as_written_offset - diff >= filesize) + if (as_written_offset - diff >= filesize) { + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag &= ~FN_SIZECHANGE; + } if (diff > 0) { /* Short write */ @@ -454,8 +457,11 @@ retry: fdisp_destroy(&fdi); - if (wrote_anything) + if (wrote_anything) { + CACHED_ATTR_LOCK(vp); fuse_vnode_undirty_cached_timestamps(vp, false); + CACHED_ATTR_UNLOCK(vp); + } vn_rlimit_fsizex_res(uio, r); return (err); @@ -556,6 +562,7 @@ again: err = fuse_vnode_setsize(vp, uio->uio_offset + n, false); filesize = uio->uio_offset + n; getnanouptime(&fvdat->last_local_modify); + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag |= FN_SIZECHANGE; if (err) { brelse(bp); @@ -806,6 +813,7 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) left = uiop->uio_resid; bzero((char *)bp->b_data + nread, left); + CACHED_ATTR_LOCK(vp); if ((fvdat->flag & FN_SIZECHANGE) == 0) { /* * A short read with no error, when not using @@ -838,6 +846,7 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) "Short read of a dirty file"); uiop->uio_resid = 0; } + CACHED_ATTR_UNLOCK(vp); } if (error) { bp->b_ioflags |= BIO_ERROR; @@ -855,10 +864,18 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) * anything about it. In particular, we can't invalidate any * part of the file's buffers because VOP_STRATEGY is called * with them already locked. + * + * Normally the vnode should be exclusively locked at this + * point. However, if clustered reads are in use, then in a + * mixed read-write workload getblkx may need to flush a + * partially written buffer to disk during a read. In such a + * case, the vnode may only have a shared lock at this point. */ + CACHED_ATTR_LOCK(vp); filesize = fvdat->cached_attrs.va_size; /* filesize must've been cached by fuse_vnop_open. */ KASSERT(filesize != VNOVAL, ("filesize should've been cached")); + CACHED_ATTR_UNLOCK(vp); if ((off_t)bp->b_lblkno * biosize + bp->b_dirtyend > filesize) bp->b_dirtyend = filesize - diff --git a/sys/fs/fuse/fuse_node.c b/sys/fs/fuse/fuse_node.c index 742dc66bcafc..f4fb993a7ca1 100644 --- a/sys/fs/fuse/fuse_node.c +++ b/sys/fs/fuse/fuse_node.c @@ -157,6 +157,8 @@ fuse_vnode_init(struct vnode *vp, struct fuse_vnode_data *fvdat, fvdat->nid = nodeid; LIST_INIT(&fvdat->handles); + mtx_init(&fvdat->cached_attr_mtx, "fuse attr cache mutex", NULL, + MTX_DEF); vattr_null(&fvdat->cached_attrs); fvdat->cached_attrs.va_birthtime.tv_sec = -1; fvdat->cached_attrs.va_birthtime.tv_nsec = 0; @@ -181,6 +183,7 @@ fuse_vnode_destroy(struct vnode *vp) struct fuse_vnode_data *fvdat = vp->v_data; vp->v_data = NULL; + mtx_destroy(&fvdat->cached_attr_mtx); KASSERT(LIST_EMPTY(&fvdat->handles), ("Destroying fuse vnode with open files!")); free(fvdat, M_FUSEVN); @@ -386,7 +389,8 @@ fuse_vnode_savesize(struct vnode *vp, struct ucred *cred, pid_t pid) struct fuse_setattr_in *fsai; int err = 0; - ASSERT_VOP_ELOCKED(vp, "fuse_io_extend"); + ASSERT_VOP_ELOCKED(vp, __func__); /* For flag and last_local_modify */ + ASSERT_CACHED_ATTRS_LOCKED(vp); if (fuse_isdeadfs(vp)) { return EBADF; @@ -439,10 +443,10 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) struct vattr *attrs; off_t oldsize; size_t iosize; - struct buf *bp = NULL; int err = 0; - ASSERT_VOP_ELOCKED(vp, "fuse_vnode_setsize"); + ASSERT_VOP_LOCKED(vp, __func__); + ASSERT_CACHED_ATTRS_LOCKED(vp); iosize = fuse_iosize(vp); oldsize = fvdat->cached_attrs.va_size; @@ -450,7 +454,45 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) if ((attrs = VTOVA(vp)) != NULL) attrs->va_size = newsize; - if (newsize < oldsize) { + if (from_server && newsize > oldsize && oldsize != VNOVAL) { + /* + * The FUSE server changed the file size behind our back. We + * should invalidate the entire cache. + */ + daddr_t end_lbn; + + end_lbn = howmany(newsize, iosize); + v_inval_buf_range(vp, 0, end_lbn, iosize); + } + + if (VOP_ISLOCKED(vp) == LK_EXCLUSIVE) { + err = fuse_vnode_setsize_immediate(vp, newsize < oldsize); + } else { + /* Without an exclusive vnode lock, we must defer the operation */ + fvdat->flag |= FN_DELAYED_TRUNCATE; + vn_delayed_setsize(vp); + } + + return err; +} + +/* Immediately set the vnode's size in the pager */ +int +fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink) +{ + struct fuse_vnode_data *fvdat = VTOFUD(vp); + struct buf *bp = NULL; + size_t iosize; + off_t newsize; + int err = 0; + + MPASS(fvdat); + ASSERT_VOP_ELOCKED(vp, __func__); + + iosize = fuse_iosize(vp); + newsize = fvdat->cached_attrs.va_size; + + if (shrink) { daddr_t lbn; err = vtruncbuf(vp, newsize, fuse_iosize(vp)); @@ -474,21 +516,13 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) MPASS(bp->b_flags & B_VMIO); vfs_bio_clrbuf(bp); bp->b_dirtyend = MIN(bp->b_dirtyend, newsize - lbn * iosize); - } else if (from_server && newsize > oldsize && oldsize != VNOVAL) { - /* - * The FUSE server changed the file size behind our back. We - * should invalidate the entire cache. - */ - daddr_t end_lbn; - - end_lbn = howmany(newsize, iosize); - v_inval_buf_range(vp, 0, end_lbn, iosize); } out: if (bp) brelse(bp); vnode_pager_setsize(vp, newsize); - return err; + + return (err); } /* Get the current, possibly dirty, size of the file */ @@ -497,15 +531,28 @@ fuse_vnode_size(struct vnode *vp, off_t *filesize, struct ucred *cred, struct thread *td) { struct fuse_vnode_data *fvdat = VTOFUD(vp); + struct vattr va; int error = 0; + ASSERT_VOP_LOCKED(vp, __func__); + + CACHED_ATTR_LOCK(vp); if (!(fvdat->flag & FN_SIZECHANGE) && (!fuse_vnode_attr_cache_valid(vp) || - fvdat->cached_attrs.va_size == VNOVAL)) - error = fuse_internal_do_getattr(vp, NULL, cred, td); - - if (!error) + fvdat->cached_attrs.va_size == VNOVAL)) { + CACHED_ATTR_UNLOCK(vp); + /* + * It incurs a large struct copy, but we supply &va so we don't + * have to acquire the lock a second time after + * fuse_internal_do_getattr returns. + */ + error = fuse_internal_do_getattr(vp, &va, cred, td); + if (!error) + *filesize = va.va_size; + } else { *filesize = fvdat->cached_attrs.va_size; + CACHED_ATTR_UNLOCK(vp); + } return error; } @@ -515,6 +562,8 @@ fuse_vnode_undirty_cached_timestamps(struct vnode *vp, bool atime) { struct fuse_vnode_data *fvdat = VTOFUD(vp); + ASSERT_CACHED_ATTRS_LOCKED(vp); + fvdat->flag &= ~(FN_MTIMECHANGE | FN_CTIMECHANGE); if (atime) fvdat->flag &= ~FN_ATIMECHANGE; @@ -537,6 +586,8 @@ fuse_vnode_update(struct vnode *vp, int flags) if (mp->mnt_flag & MNT_NOATIME) flags &= ~FN_ATIMECHANGE; + CACHED_ATTR_LOCK(vp); + if (flags & FN_ATIMECHANGE) fvdat->cached_attrs.va_atime = ts; if (flags & FN_MTIMECHANGE) @@ -545,6 +596,8 @@ fuse_vnode_update(struct vnode *vp, int flags) fvdat->cached_attrs.va_ctime = ts; fvdat->flag |= flags; + + CACHED_ATTR_UNLOCK(vp); } void diff --git a/sys/fs/fuse/fuse_node.h b/sys/fs/fuse/fuse_node.h index 97774de9eeb5..b6e388d01702 100644 --- a/sys/fs/fuse/fuse_node.h +++ b/sys/fs/fuse/fuse_node.h @@ -79,6 +79,11 @@ * cache_attrs.va_size field does not time out. */ #define FN_SIZECHANGE 0x00000100 +/* + * Whether I/O to this vnode should bypass the cache. + * XXX BUG: this should be part of the file handle, not the vnode data. + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ #define FN_DIRECTIO 0x00000200 /* Indicates that parent_nid is valid */ #define FN_PARENT_NID 0x00000400 @@ -92,38 +97,81 @@ #define FN_CTIMECHANGE 0x00001000 #define FN_ATIMECHANGE 0x00002000 +/* vop_delayed_setsize should truncate the file */ +#define FN_DELAYED_TRUNCATE 0x00004000 + +#define CACHED_ATTR_LOCK(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \ + mtx_lock(&VTOFUD(vp)->cached_attr_mtx); \ +} while(0) + +#define CACHED_ATTR_UNLOCK(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \ + mtx_unlock(&VTOFUD(vp)->cached_attr_mtx); \ +} while(0) + struct fuse_vnode_data { - /** self **/ + /* self's node id, similar to an inode number. Immutable. */ uint64_t nid; + /* + * Generation number. Distinguishes files with same nid but that don't + * overlap in time. Immutable. + */ uint64_t generation; - /** parent **/ + /* parent's node id. Protected by the vnode lock. */ uint64_t parent_nid; /** I/O **/ - /* List of file handles for all of the vnode's open file descriptors */ + /* + * List of file handles for all of the vnode's open file descriptors. + * Protected by the vnode lock. + */ LIST_HEAD(, fuse_filehandle) handles; - /** flags **/ - uint32_t flag; + /* Protects flag, attr_cache_timeout and cached_attrs */ + struct mtx cached_attr_mtx; - /** meta **/ - /* The monotonic time after which the attr cache is invalid */ + /* + * The monotonic time after which the attr cache is invalid + * Protected by an exclusive vnode lock or the cached_attr_mtx + */ struct bintime attr_cache_timeout; - /* + + /* * Monotonic time after which the entry is invalid. Used for lookups - * by nodeid instead of pathname. + * by nodeid instead of pathname. Protected by the vnode lock. */ struct bintime entry_cache_timeout; + /* * Monotonic time of the last FUSE operation that modified the file * size. Used to avoid races between mutator ops like VOP_SETATTR and - * unlocked accessor ops like VOP_LOOKUP. + * unlocked accessor ops like VOP_LOOKUP. Protected by the vnode lock. */ struct timespec last_local_modify; + + /* Protected by an exclusive vnode lock or the cached_attr_mtx */ struct vattr cached_attrs; + + /* Number of FUSE_LOOKUPs minus FUSE_FORGETs. Protected by vnode lock */ uint64_t nlookup; + + /* + * Misc flags. Protected by an exclusive vnode lock or the + * cached_attr_mtx, because some of the flags reflect the contents of + * cached_attrs. + */ + uint32_t flag; + + /* Vnode type. Immutable */ __enum_uint8(vtype) vtype; + + /* State for clustered writes. Protected by vnode lock */ struct vn_clusterw clusterw; }; @@ -141,18 +189,32 @@ struct fuse_fid { #define VTOFUD(vp) \ ((struct fuse_vnode_data *)((vp)->v_data)) #define VTOI(vp) (VTOFUD(vp)->nid) + +#define ASSERT_CACHED_ATTRS_LOCKED(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + VNASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE || \ + mtx_owned(&VTOFUD(vp)->cached_attr_mtx), vp, \ + ("cached attrs not locked")); \ +} while(0) + static inline bool fuse_vnode_attr_cache_valid(struct vnode *vp) { + struct fuse_vnode_data *fvdat = VTOFUD(vp); struct bintime now; + ASSERT_CACHED_ATTRS_LOCKED(vp); + getbinuptime(&now); - return (bintime_cmp(&(VTOFUD(vp)->attr_cache_timeout), &now, >)); + return (bintime_cmp(&fvdat->attr_cache_timeout, &now, >)); } static inline struct vattr* VTOVA(struct vnode *vp) { + ASSERT_CACHED_ATTRS_LOCKED(vp); + if (fuse_vnode_attr_cache_valid(vp)) return &(VTOFUD(vp)->cached_attrs); else @@ -162,6 +224,8 @@ VTOVA(struct vnode *vp) static inline void fuse_vnode_clear_attr_cache(struct vnode *vp) { + ASSERT_CACHED_ATTRS_LOCKED(vp); + bintime_clear(&VTOFUD(vp)->attr_cache_timeout); } @@ -184,10 +248,14 @@ static inline void fuse_vnode_setparent(struct vnode *vp, struct vnode *dvp) { if (dvp != NULL && vp->v_type == VDIR) { + ASSERT_VOP_ELOCKED(vp, __func__); /* for parent_nid */ + MPASS(dvp->v_type == VDIR); VTOFUD(vp)->parent_nid = VTOI(dvp); VTOFUD(vp)->flag |= FN_PARENT_NID; } else { + ASSERT_CACHED_ATTRS_LOCKED(vp); + VTOFUD(vp)->flag &= ~FN_PARENT_NID; } } @@ -207,6 +275,7 @@ void fuse_vnode_open(struct vnode *vp, int32_t fuse_open_flags, int fuse_vnode_savesize(struct vnode *vp, struct ucred *cred, pid_t pid); int fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server); +int fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink); void fuse_vnode_undirty_cached_timestamps(struct vnode *vp, bool atime); diff --git a/sys/fs/fuse/fuse_vfsops.c b/sys/fs/fuse/fuse_vfsops.c index e7a34f716370..b22adb58dad1 100644 --- a/sys/fs/fuse/fuse_vfsops.c +++ b/sys/fs/fuse/fuse_vfsops.c @@ -600,6 +600,8 @@ fuse_vfsop_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) error = fuse_vnode_get(mp, feo, nodeid, NULL, vpp, NULL, vtyp); if (error) goto out; + /* for last_local_modify and fuse_internal_cache_attrs */ + ASSERT_VOP_ELOCKED(*vpp, __func__); fvdat = VTOFUD(*vpp); if (timespeccmp(&now, &fvdat->last_local_modify, >)) { diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index e3d475135c90..80db04a25166 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -133,6 +133,7 @@ static vop_close_t fuse_vnop_close; static vop_copy_file_range_t fuse_vnop_copy_file_range; static vop_create_t fuse_vnop_create; static vop_deallocate_t fuse_vnop_deallocate; +static vop_delayed_setsize_t fuse_vnop_delayed_setsize; static vop_deleteextattr_t fuse_vnop_deleteextattr; static vop_fdatasync_t fuse_vnop_fdatasync; static vop_fsync_t fuse_vnop_fsync; @@ -190,6 +191,7 @@ struct vop_vector fuse_vnops = { .vop_copy_file_range = fuse_vnop_copy_file_range, .vop_create = fuse_vnop_create, .vop_deallocate = fuse_vnop_deallocate, + .vop_delayed_setsize = fuse_vnop_delayed_setsize, .vop_deleteextattr = fuse_vnop_deleteextattr, .vop_fsync = fuse_vnop_fsync, .vop_fdatasync = fuse_vnop_fdatasync, @@ -628,6 +630,8 @@ fuse_vnop_allocate(struct vop_allocate_args *ap) return (EXTERROR(EINVAL, "This server does not implement " "FUSE_FALLOCATE")); + ASSERT_CACHED_ATTRS_LOCKED(vp); + io.uio_offset = *offset; io.uio_resid = *len; err = vn_rlimit_fsize(vp, &io, curthread); @@ -700,7 +704,7 @@ fuse_vnop_bmap(struct vop_bmap_args *ap) struct fuse_data *data; struct fuse_vnode_data *fvdat = VTOFUD(vp); uint64_t biosize; - off_t fsize; + off_t fsize = VNOVAL; daddr_t lbn = ap->a_bn; daddr_t *pbn = ap->a_bnp; int *runp = ap->a_runp; @@ -743,9 +747,10 @@ fuse_vnop_bmap(struct vop_bmap_args *ap) * and the risk of getting it wrong is not worth the cost of * another upcall. */ - if (fvdat->cached_attrs.va_size != VNOVAL) - fsize = fvdat->cached_attrs.va_size; - else + CACHED_ATTR_LOCK(vp); + fsize = fvdat->cached_attrs.va_size; + CACHED_ATTR_UNLOCK(vp); + if (fsize == VNOVAL) error = fuse_vnode_size(vp, &fsize, td->td_ucred, td); if (error == 0) *runp = MIN(MAX(0, fsize / (off_t)biosize - lbn - 1), @@ -815,6 +820,7 @@ fuse_vnop_close(struct vop_close_args *ap) cred = td->td_ucred; err = fuse_flush(vp, cred, pid, fflag); + ASSERT_CACHED_ATTRS_LOCKED(vp); /* For fvdat->flag */ if (err == 0 && (fvdat->flag & FN_ATIMECHANGE) && !vfs_isrdonly(mp)) { struct vattr vap; struct fuse_data *data; @@ -832,6 +838,7 @@ fuse_vnop_close(struct vop_close_args *ap) } if (access_e == 0) { VATTR_NULL(&vap); + ASSERT_CACHED_ATTRS_LOCKED(vp); vap.va_atime = fvdat->cached_attrs.va_atime; /* * Ignore errors setting when setting atime. That @@ -956,6 +963,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) *ap->a_inoffp += fwo->size; *ap->a_outoffp += fwo->size; fuse_internal_clear_suid_on_write(outvp, outcred, td); + ASSERT_CACHED_ATTRS_LOCKED(outvp); if (*ap->a_outoffp > outfvdat->cached_attrs.va_size) { fuse_vnode_setsize(outvp, *ap->a_outoffp, false); getnanouptime(&outfvdat->last_local_modify); @@ -1258,6 +1266,7 @@ fuse_vnop_inactive(struct vop_inactive_args *ap) int need_flush = 1; + ASSERT_CACHED_ATTRS_LOCKED(vp); /* For fvdat->flag */ LIST_FOREACH_SAFE(fufh, &fvdat->handles, next, fufh_tmp) { if (need_flush && vp->v_type == VREG) { if ((VTOFUD(vp)->flag & FN_SIZECHANGE) != 0) { @@ -1474,6 +1483,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap) else if ((err = fuse_internal_access(dvp, VEXEC, td, cred))) return err; + ASSERT_CACHED_ATTRS_LOCKED(dvp); /* For flag */ is_dot = cnp->cn_namelen == 1 && *(cnp->cn_nameptr) == '.'; if (isdotdot && !(data->dataflags & FSESS_EXPORT_SUPPORT)) { if (!(VTOFUD(dvp)->flag & FN_PARENT_NID)) { @@ -1877,6 +1887,10 @@ fuse_vnop_read(struct vop_read_args *ap) "to be closed")); } + /* + * XXX Check this flag without the lock. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ if (VTOFUD(vp)->flag & FN_DIRECTIO) { ioflag |= IO_DIRECT; } @@ -2137,6 +2151,8 @@ fuse_vnop_remove(struct vop_remove_args *ap) return err; } +SDT_PROBE_DEFINE4(fusefs, , vnops, erelookup, "struct vnode*", + "struct vnode*", "struct vnode*", "struct vnode*"); /* struct vnop_rename_args { struct vnode *a_fdvp; @@ -2159,6 +2175,7 @@ fuse_vnop_rename(struct vop_rename_args *ap) struct fuse_data *data; bool newparent = fdvp != tdvp; bool isdir = fvp->v_type == VDIR; + int locktype; int err = 0; if (fuse_isdeadfs(fdvp)) { @@ -2187,11 +2204,32 @@ fuse_vnop_rename(struct vop_rename_args *ap) * have write permission to it, so ".." can be modified. */ data = fuse_get_mpdata(vnode_mount(tdvp)); + + if (tdvp != fdvp) + locktype = LK_EXCLUSIVE; /* for fuse_vnode_setparent */ + else + locktype = LK_SHARED; + + /* + * Must use LK_NOWAIT to prevent LORs between fvp and tdvp or + * tvp + */ + if (vn_lock(fvp, locktype | LK_NOWAIT) != 0) { + /* + * Can't release tdvp or tvp to try avoiding the LOR. + * Must return instead. + */ + SDT_PROBE4(fusefs, , vnops, erelookup, fdvp, fvp, tdvp, + tvp); + err = ERELOOKUP; + goto out; + } + if (data->dataflags & FSESS_DEFAULT_PERMISSIONS && isdir && newparent) { err = fuse_internal_access(fvp, VWRITE, curthread, tcnp->cn_cred); if (err) - goto out; + goto unlock; } err = fuse_internal_rename(fdvp, fcnp, tdvp, tcnp); if (err == 0) { @@ -2210,6 +2248,8 @@ fuse_vnop_rename(struct vop_rename_args *ap) } cache_purge(fdvp); } +unlock: + VOP_UNLOCK(fvp); out: if (tdvp == tvp) { vrele(tdvp); @@ -2485,6 +2525,7 @@ static int fuse_vnop_write(struct vop_write_args *ap) { struct vnode *vp = ap->a_vp; + struct fuse_vnode_data *fvdat = VTOFUD(vp); struct uio *uio = ap->a_uio; int ioflag = ap->a_ioflag; struct ucred *cred = ap->a_cred; @@ -2500,9 +2541,12 @@ fuse_vnop_write(struct vop_write_args *ap) "to be closed")); } - if (VTOFUD(vp)->flag & FN_DIRECTIO) { + /* + * XXX Check this flag without the lock. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ + if (fvdat->flag & FN_DIRECTIO) ioflag |= IO_DIRECT; - } err = fuse_filehandle_getrw(vp, FWRITE, &fufh, cred, pid); if (err == EBADF && vnode_mount(vp)->mnt_flag & MNT_EXPORTED) { @@ -3136,6 +3180,29 @@ fallback: return (vop_stddeallocate(ap)); } +/* + struct vop_delayed_setsize_args { + struct vop_generic_args a_gen; + struct vnode *a_vp; + }; + */ +static int +fuse_vnop_delayed_setsize(struct vop_delayed_setsize_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct fuse_vnode_data *fvdat = VTOFUD(ap->a_vp); + bool shrink = (fvdat->flag & FN_DELAYED_TRUNCATE) != 0; + int err; + + if (!fvdat) + return (0); + + err = fuse_vnode_setsize_immediate(vp, shrink); + fvdat->flag &= ~FN_DELAYED_TRUNCATE; + + return (err); +} + /* struct vop_deleteextattr_args { struct vop_generic_args a_gen; diff --git a/tests/sys/fs/fusefs/bmap.cc b/tests/sys/fs/fusefs/bmap.cc index e61dadb6d79e..622a3c3debcc 100644 --- a/tests/sys/fs/fusefs/bmap.cc +++ b/tests/sys/fs/fusefs/bmap.cc @@ -44,10 +44,13 @@ using namespace testing; const static char FULLPATH[] = "mountpoint/foo"; const static char RELPATH[] = "foo"; -class Bmap: public FuseTest { +class Bmap: public FuseTest, + public WithParamInterface> +{ public: virtual void SetUp() { m_maxreadahead = UINT32_MAX; + m_init_flags |= get<0>(GetParam()); FuseTest::SetUp(); } void expect_bmap(uint64_t ino, uint64_t lbn, uint32_t blocksize, uint64_t pbn) @@ -73,12 +76,12 @@ void expect_lookup(const char *relpath, uint64_t ino, off_t size) } }; -class BmapEof: public Bmap, public WithParamInterface {}; +class BmapEof: public Bmap {}; /* * Test FUSE_BMAP */ -TEST_F(Bmap, bmap) +TEST_P(Bmap, bmap) { struct fiobmap2_arg arg; /* @@ -124,7 +127,7 @@ TEST_F(Bmap, bmap) * If the daemon does not implement VOP_BMAP, fusefs should return sensible * defaults. */ -TEST_F(Bmap, default_) +TEST_P(Bmap, default_) { struct fiobmap2_arg arg; const off_t filesize = 1 << 30; @@ -181,7 +184,7 @@ TEST_F(Bmap, default_) * The server returns an error for some reason for FUSE_BMAP. fusefs should * faithfully report that error up to the caller. */ -TEST_F(Bmap, einval) +TEST_P(Bmap, einval) { struct fiobmap2_arg arg; const off_t filesize = 1 << 30; @@ -217,7 +220,7 @@ TEST_F(Bmap, einval) * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264196 . The bug did not * lie in fusefs, but this is a convenient place for a regression test. */ -TEST_F(Bmap, spurious_einval) +TEST_P(Bmap, spurious_einval) { const off_t filesize = 4ull << 30; const ino_t ino = 42; @@ -288,7 +291,7 @@ TEST_P(BmapEof, eof) int fd; int ngetattrs; - ngetattrs = GetParam(); + ngetattrs = get<1>(GetParam()); FuseTest::expect_lookup(RELPATH, ino, mode, filesize, 1, 0); expect_open(ino, 0, 1); // Depending on ngetattrs, FUSE_READ could be called with either @@ -348,6 +351,17 @@ TEST_P(BmapEof, eof) leak(fd); } -INSTANTIATE_TEST_SUITE_P(BE, BmapEof, - Values(1, 2, 3) -); +/* + * Try with and without async reads, because it affects the type of vnode lock + * on entry to fuse_vnop_bmap. + */ +INSTANTIATE_TEST_SUITE_P(B, Bmap, Values( + tuple(0, 0), + tuple(FUSE_ASYNC_READ, 0) +)); + +INSTANTIATE_TEST_SUITE_P(BE, BmapEof, Values( + tuple(0, 1), + tuple(0, 2), + tuple(0, 3) +)); diff --git a/tests/sys/fs/fusefs/notify.cc b/tests/sys/fs/fusefs/notify.cc index d370a1e6e706..69742fb2a54b 100644 --- a/tests/sys/fs/fusefs/notify.cc +++ b/tests/sys/fs/fusefs/notify.cc @@ -47,8 +47,15 @@ using namespace testing; * invalidation. This file tests our client's handling of those messages. */ -class Notify: public FuseTest { +class Notify: public FuseTest, + public WithParamInterface +{ public: +virtual void SetUp() { + m_init_flags |= GetParam(); + FuseTest::SetUp(); +} + /* Ignore an optional FUSE_FSYNC */ void maybe_expect_fsync(uint64_t ino) { @@ -154,7 +161,7 @@ static void* store(void* arg) { } /* Invalidate a nonexistent entry */ -TEST_F(Notify, inval_entry_nonexistent) +TEST_P(Notify, inval_entry_nonexistent) { const static char *name = "foo"; struct inval_entry_args iea; @@ -173,7 +180,7 @@ TEST_F(Notify, inval_entry_nonexistent) } /* Invalidate a cached entry */ -TEST_F(Notify, inval_entry) +TEST_P(Notify, inval_entry) { *** 405 LINES SKIPPED *** From nobody Thu Mar 26 15:08:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx32K0Pz6RfDt for ; Thu, 26 Mar 2026 15:08: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRx30k8Fz3mx7 for ; Thu, 26 Mar 2026 15:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KNNJxL+V7Dnw3z9TDLh99e0TGt4p6tVyMYr6qNkg46Q=; b=y4xjBVnwCS8CvAv5K9/wy4WAfscS+Oser2bRLOvXzIgMqC40uQ0o7fspM2C5St54BsYPeD r/aAAEHmlc4mUxC6v1n3Ft6EQiAn+ljbIg943le1jW7G4LVMqO/ElaaoO+xk6iEkCVlWaZ xzOwU9hmCrWWt8R2dI34DpKQ94V11nIZa0z4Q2GFc6AY3U1CP0SGVMNueZrIJeQo18ui6g eJkIwEH6PIsQShZXnYp2Du8zC4UlyOOyJlti2fYMxnLQYGFlpcoabqFfz0U8YSEefU/P0Z Pt9mfijogpNp5RvEIhhPShW382mHZgCp0jUeC6PMkd78xQyH30EdrBEDvyHM+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774537703; a=rsa-sha256; cv=none; b=MlvFIdFTODHmRaIT1+ohOJ4+acOYdEphOUZ8TBbD+UguCmZIs/RH0UlTe8ZZI4N5CsZN/U iyJU1Mxhx2Xvkapfki5pKUHHJKEGm5AkXw+nPznBkMXp8EigscF1ud7QOMbi6WwMwTEJ/m xTSBdHYWgkBfw9jnd/zmeZw3ktJzDsRlacWDjI8u+oYzS908HdS0UQLYc/9Sgj5eGTSYBv NhnXOAMUu48M2GVkXNK28lOUZsSWvl8t3wrXx7mSWr4GPT3zapuB3DM0QIkN6sclv3B8mF pRyRWOMrRe1a8bxDxlsXe6i5bq64vzDkUkg9dECvF4/kLQ5pFlFvz+KzksMNzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774537703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KNNJxL+V7Dnw3z9TDLh99e0TGt4p6tVyMYr6qNkg46Q=; b=cHl9Vd0Vy5yYHdm+XT5Dh2UXNYrjFCNriNAI4Suxlb+QUtkGd4Th99JJvjWPjSLrJy48ZG kGGrFTdx6VE1HbvQDCwaHer9LkD3ifDrmzszhoQJQXMYDti/ZYWgeq1fOMn2H1kLz+BLEa wchVN+keJgqEWDLl2mBsTn8odYM8FAXmEL0jNltbMujasLQW4n6c9spGBV3OYOhNEJAXP9 toPVOVmUjNHdqnMW7xIIUi9QrOdJOoeuWvxoO2tc5aAl3fWA3vahh+k3yzAWq8gBJbbW34 WtaAjv3EbHxCRSF0jjBX6kgNnV+P0wzkSPXE4qki8cl6ja4BXiojl+gLBW+uPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhRx30KlCzxWY for ; Thu, 26 Mar 2026 15:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 205fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 15:08:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: d0692508bc40 - stable/15 - fusefs: remove the obsolete rename_lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: d0692508bc40ee7e06609e7421767a6a3d15c5de Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 15:08:17 +0000 Message-Id: <69c54be1.205fe.7ebe74de@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=d0692508bc40ee7e06609e7421767a6a3d15c5de commit d0692508bc40ee7e06609e7421767a6a3d15c5de Author: Alan Somers AuthorDate: 2026-02-10 20:45:23 +0000 Commit: Alan Somers CommitDate: 2026-03-26 15:02:12 +0000 fusefs: remove the obsolete rename_lock This lock was included in the original GSoC submission. Its purpose seems to have been to prevent concurrent FUSE_RENAME operations for the current mountpoint, as well as to synchronize FUSE_RENAME with fuse_vnode_setparent. But it's obsolete, now that ef6ea91593e added mnt_renamelock . Sponsored by: ConnectWise Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D55231 (cherry picked from commit 7755a406a6ae3801e885a79f714155f97c4d2bc6) --- sys/fs/fuse/fuse_ipc.c | 2 -- sys/fs/fuse/fuse_ipc.h | 2 -- sys/fs/fuse/fuse_vnops.c | 2 -- 3 files changed, 6 deletions(-) diff --git a/sys/fs/fuse/fuse_ipc.c b/sys/fs/fuse/fuse_ipc.c index bc36f0070d7d..3810313124b6 100644 --- a/sys/fs/fuse/fuse_ipc.c +++ b/sys/fs/fuse/fuse_ipc.c @@ -550,7 +550,6 @@ fdata_alloc(struct cdev *fdev, struct ucred *cred) TAILQ_INIT(&data->aw_head); data->daemoncred = crhold(cred); data->daemon_timeout = FUSE_DEFAULT_DAEMON_TIMEOUT; - sx_init(&data->rename_lock, "fuse rename lock"); data->ref = 1; return data; @@ -565,7 +564,6 @@ fdata_trydestroy(struct fuse_data *data) return; /* Driving off stage all that stuff thrown at device... */ - sx_destroy(&data->rename_lock); crfree(data->daemoncred); mtx_destroy(&data->aw_mtx); knlist_delete(&data->ks_rsel.si_note, curthread, 0); diff --git a/sys/fs/fuse/fuse_ipc.h b/sys/fs/fuse/fuse_ipc.h index d9d79f38c269..374d0891617d 100644 --- a/sys/fs/fuse/fuse_ipc.h +++ b/sys/fs/fuse/fuse_ipc.h @@ -194,8 +194,6 @@ struct fuse_data { */ u_long ticketer; - struct sx rename_lock; - uint32_t fuse_libabi_major; uint32_t fuse_libabi_minor; diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 3bfc5396c365..e3d475135c90 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -2193,7 +2193,6 @@ fuse_vnop_rename(struct vop_rename_args *ap) if (err) goto out; } - sx_xlock(&data->rename_lock); err = fuse_internal_rename(fdvp, fcnp, tdvp, tcnp); if (err == 0) { if (tdvp != fdvp) @@ -2201,7 +2200,6 @@ fuse_vnop_rename(struct vop_rename_args *ap) if (tvp != NULL) fuse_vnode_setparent(tvp, NULL); } - sx_unlock(&data->rename_lock); if (tvp != NULL && tvp != fvp) { cache_purge(tvp); From nobody Thu Mar 26 16:02:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhT7h6NbBz6RlSh for ; Thu, 26 Mar 2026 16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhT7h44QFz3tCc for ; Thu, 26 Mar 2026 16: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=1774540960; h=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=RUh1wL0eWeks0+H+7/Cu1FeiyiXjEAfN1cgfvYJA9Fk=; b=HRlCQbQKa8UcJ0ilTSe5r0GiggkcYCGBrDHd4cmwbRJlhkAKVYhVF/fcy2RN3K1xmr+lUh 23nQyKO0V4nsTpy0o6s775fM30eWdposNC7JE0B6/k/8vUqwZHKw7PTR/GsWh+aNf14o3y G6QxYgy5wsajQTgoDVKozC7OLdy+HA+Cfp2E54rBLq4HqCRGiSe50hGN/iORp5h+kaD5Om OBHgZleG094IBEuKy0X0Io2cZ4EsR/ZGmG6wyTzxzE0HCEq4F5GUEMamKyVAkP0/pIz4U+ VEOqISp/Shl6ixWAuH08UaVrv+YBBUYGH5iTmElmyiwwev2oFydyqdIQhFdfqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774540960; a=rsa-sha256; cv=none; b=yIH95fva/SEsnJb6a8FY5KKwtFIbZJGL13NtjzN7x6mb9YLMWh/eI6010iulFo1uPJkfHJ NWjT81o9acS/hxWiDXaFzor0IP3efICivoSxLGOILKhO1+Ds6RWbWi5N3RJot3nBcJuvDL K5eW7p8WiHtJxDjxjxAcqaukXUEvrpvpjgKUdeasVrPZQBSS2RopbSmbQjpvZyRWxyslG5 1mVJAxT+EGYyujKc/WEYiC+nDu5K80XuaBV0fF9392eQtx76+s3VqHlHYfJmMYXFSc4uwC GLtplaTjA1pJeeMQdNdo1PkppP6c5mgh7lzrL0yNqhCsovRk3sR42BwT08frFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774540960; h=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=RUh1wL0eWeks0+H+7/Cu1FeiyiXjEAfN1cgfvYJA9Fk=; b=Ti7KEqgcS5BGHosmr6sr1/aJhFEoOIvEOH0LD3Gmt96as6IEwXBcb5/WHDE+twU466QlJZ fxW+/dTsLYQc/5nSG4FeuuvIS00qVl5GzlQTRYYiVs8acxuEsMgVfho/YOVru6NhwjSfFK uZI5eXXnXTlrQaB80wWfoEDhWIv3LT9Kzj8GYvntKjUKxZV5SqcyNM6Hr1CUlZJm7n5OeT CiFag28sKtcfpBWTGmoL6SlrOjc9cz9cYMk2yCRn6OoMwBIs4kVMd3s1UR8ESVioNJ+RRh OvaEoU6JFsZDGzg7L2IvGW+BFPySGSNM+qQblWN4AA7RaTE3fwuHSGl7b3BEFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhT7h3PPTz10K0 for ; Thu, 26 Mar 2026 16:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26d3a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 16:02:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Olivier Certner From: Warner Losh Subject: git: 557f50263905 - stable/14 - sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 557f50263905ffa68d748048753ac84658b1bca8 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 16:02:35 +0000 Message-Id: <69c5589b.26d3a.1747415c@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=557f50263905ffa68d748048753ac84658b1bca8 commit 557f50263905ffa68d748048753ac84658b1bca8 Author: Olivier Certner AuthorDate: 2026-01-12 09:28:54 +0000 Commit: Warner Losh CommitDate: 2026-03-26 15:55:49 +0000 sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES We do not support EFI boot on i386. Thus: 1. Move (back) 'device vt_efifb' from x86/NOTES to amd64/NOTES. 2. Remove 'device vt_efifb' from i386/MINIMAL. Reported by: jhb Fixes: f224591746bd ("Add ASMC_DEBUG make option") Fixes: 67599eef01f5 ("sys/x86/NOTES: Add vt_efifb") Sponsored by: The FreeBSD Foundation (cherry picked from commit 9c25620e57f01d8227f0d53c6b2134ab37a49fdf) --- sys/amd64/conf/NOTES | 3 +++ sys/i386/conf/MINIMAL | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 187d5676d55e..9640a7a59766 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -43,6 +43,9 @@ cpu HAMMER # aka K8, aka Opteron & Athlon64 # Optional devices: # +# vt(4) drivers. +device vt_efifb # EFI framebuffer + # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL index 3d97f84058a9..e543f2089124 100644 --- a/sys/i386/conf/MINIMAL +++ b/sys/i386/conf/MINIMAL @@ -113,7 +113,6 @@ options SC_PIXEL_MODE # add support for the raster text mode # vt is the default video console driver device vt device vt_vga -device vt_efifb device vt_vbefb device agp # support several AGP chipsets From nobody Thu Mar 26 16:49:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhV9p6tGjz6W3r1 for ; Thu, 26 Mar 2026 16:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhV9p6Mj9z40y9 for ; Thu, 26 Mar 2026 16:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774543774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcMiuoMVE5mGcq7uhLIqSktCp3RC2n8zn481GPZEGrE=; b=Pf+q0QqNJumcpxGmR6WaAPAlY+TKjbRuyu6KNVPGRyRs78VPUVus2yEXJwUvY9Qaij3Wxl JeLDOtM04mDxnxueBloL1a/Yshy7hmyEIBd4qCbtvxKvpkhxx57pTRJbnd7nW8g2Pz0o4J SDYkZfj/nVgjbOFQeXuwEPxRcafbEUev/fNnNJZ56E+oWyoruxxfh91PeayNjq7TTfXcYe nOE54lck7ZIHJJpW42MhM5P3KYtR2Dz10dSz7/bbw+F/PytlETILCjvMZUQw8IREgjiKYQ cTvA6m9qXVFI3hWTJBnKPwGCxLP188u5dadY7IBVP5wCqWSqI0tSpjCaGqWjjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774543774; a=rsa-sha256; cv=none; b=G3nxyemcxjD4A9JMYmXq2tX6OFXsE6R+zgPjVybupf/6/iILZffKYtGuZSNK4v99X3X29i gMjBItfjlv8JmmAw3DvdjvUiDSFLN8X60/6bzYVpadGa0wse/s/qUHjsnDZmxw/Sa7X4br 37Wzdi5fICAncgBmY36owmLeQUUsJOyc/fqtfMMlouE4N72hHZQYkh0Ra1Gf/ffeCGkDoj ZES5n7y9YlLqHgYjvValGroD1IZ9GM/lbtVn+MrWHLrt6T2Ml6GZc6q0hqK5px/0TgmuBW 0o4S98urEcQeuct2jsMUehP2G7dItfWMiUP3MQFUD5GkB3x5g64dOsufe8BKqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774543774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JcMiuoMVE5mGcq7uhLIqSktCp3RC2n8zn481GPZEGrE=; b=Ve718vI428hQOlwRWmwDuJ1gm2VOCCs04/lDycWHjU6PCOWGsYPwAV0KaYM5R0MDRz6emn EztSCwOptxqPdW9TehZuyJfalxXx8rNEtJdKhjE5t6Kb1yXuAoUmNVdNiC0kP3LPKwynjc 5f6gGn2blTNDKiZ8K1SYLKtYW3L5CaKeDmcmwNacyT/bJrt7uuBGCWV7tb/7NdRM9XKK7w k2RnSv4f5DdZ3/3MyvAgjUbSSZojlWEUQ3GMj0gyaeFJ74bvnItn+konCOE07Cv/vug2Ap SjXHGhZiZXxmT1lLOaZcI4GGby6/HYD3OCuGE5NvI3NwbNAe1o0d9+/AdrmMfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhV9p5w8nz11Mw for ; Thu, 26 Mar 2026 16:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 319fd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 16:49:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 4b16ff49bf4b - main - timerfd: Guard expected performance failure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b16ff49bf4bf875997fe4c80a0afc0d440b7aac Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 16:49:29 +0000 Message-Id: <69c56399.319fd.29e6e14f@gitrepo.freebsd.org> The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=4b16ff49bf4bf875997fe4c80a0afc0d440b7aac commit 4b16ff49bf4bf875997fe4c80a0afc0d440b7aac Author: Jake Freeland AuthorDate: 2026-03-26 16:40:17 +0000 Commit: Jake Freeland CommitDate: 2026-03-26 16:47:32 +0000 timerfd: Guard expected performance failure During the timerfd__periodic_timer_performance test, only expect failures when the expiration count is less than 400000000. This prevents the test from being reported as a true failure in environments where scheduling latency is high enough to delay timerfd wakeups. Fixes: cb692380f1e0 ("timerfd: Expect periodic timer ...") MFC after: 1 week --- tests/sys/kern/timerfd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/sys/kern/timerfd.c b/tests/sys/kern/timerfd.c index cacc1d9aafa9..277516c3d9e2 100644 --- a/tests/sys/kern/timerfd.c +++ b/tests/sys/kern/timerfd.c @@ -737,7 +737,8 @@ ATF_TC_BODY(timerfd__periodic_timer_performance, tc) uint64_t timeouts; ATF_REQUIRE(read(timerfd, &timeouts, sizeof(timeouts)) == (ssize_t)sizeof(timeouts)); - atf_tc_expect_fail("https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294053"); + if (timeouts < 400000000) + atf_tc_expect_fail("https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294053"); ATF_REQUIRE_MSG(timeouts >= 400000000, "%ld", (long)timeouts); ATF_REQUIRE(close(timerfd) == 0); From nobody Thu Mar 26 19:03:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8V16dMz6WJMk for ; Thu, 26 Mar 2026 19:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhY8T61wcz3Gmk for ; Thu, 26 Mar 2026 19:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774551817; h=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=cyJLuCeW7+hVYp43RWbhm4+9cAAht2ULt4eK7T1c+lo=; b=Dz1hrcT1rHIq9c5gcKbjIc41LvYnnIn8A7EmGnBIvTFOBOlg3HjR1V8B08alqhklevRIay +kmfdK2Y/eisgNOo2ygRT/cZ8+XWc8Xk2/wqB44XdQenwdcvwU3cn2+kbAOkR+bMpUTdqp iUiZLonKraRxDuAE610+n5EgRb/z41PP3PKy4fiEp3plUa1QqAyqCOBbHoHczuMAscbsuD d+exLz6Y4WnMmdS8KQL30VTVXaknmKaOwjr/S5J24uqy/5svSynb6v8oyLJYGZ7rgRebHd TRGvzY9mrZveV225BSjwkWHchNHsuq4JTwKm2b3x7xLxKa6qiPNjWl9SkQa8vQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774551817; a=rsa-sha256; cv=none; b=lPurQxD6uTj61Ij+hzWmnxHgmpCbQgdG/AdiU9QEzVA49c1nTKbZJQIKCdtezrDUrQjTv9 hdoEJhin/WYbfkp8i9EWZuNvlu2nYubr96Fx64Q8z4+k3CVyLL6eMoV1VGtPC/G5PDgvrC LyLUsdL2DdGT25jxR7Vr5vJqyLoLp46zVEZJI+u95NHYyMbVg+Fc94eUc9s5XnvF9Qdo1C hkGeQDpiiAUqcGZ/I0sE6XC+5Xb3WzeFUkIxAIkOlVYKgVJEAExVbsQ/M2wfwvhHs6YVl5 xHcBx1MepB0jgtEBbQyUPDDi8GmeDGMbyLlTLJ2t+Rq1nkcbxrYlHg3qoKfkZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774551817; h=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=cyJLuCeW7+hVYp43RWbhm4+9cAAht2ULt4eK7T1c+lo=; b=xJ3HOGWc4flXVH/LrmdokxXHfSDQx0HkV5BfiBTjS7I8nYgwy47sNaBENMhG7Z3nTQREll NuwXxCI9UUv7wvo9pEF6Mhx3UkfNGA1VATXGWiNo3D0wSQDg+j0bdVj2E2DuVBJUQEZyqv 82FMMPtWBdf9hvU43mXM28eqG6Yc1s40q7eXhWSoRpMd7w1KMGaEEeQ8up7o1fZ1/QvbRQ t6tpbx8la4c/z4H/PtHHkORa53/b3g0acN67j2K2sURp6g/RPlIpertNzeCmxv9F7+qe5h 8DG6QzTYWYWJaTHt9upROLRfA4ZpmwQr5Afogyq/uqjtW5il6hSTyjimTg0bfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8T5dHRz14c7 for ; Thu, 26 Mar 2026 19:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bba4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 19:03:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Matt Delco From: Alexander Ziaee Subject: git: 7e7d4e711ff9 - main - x86: Handle when MPERF/APERF MSRs aren't writable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e7d4e711ff94d114c93fd522d4125aa9bd9f5cd Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 19:03:37 +0000 Message-Id: <69c58309.1bba4.70354eb5@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7e7d4e711ff94d114c93fd522d4125aa9bd9f5cd commit 7e7d4e711ff94d114c93fd522d4125aa9bd9f5cd Author: Matt Delco AuthorDate: 2026-03-26 17:30:31 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-26 19:02:22 +0000 x86: Handle when MPERF/APERF MSRs aren't writable For performance and/or correct reasons some hypervisors allow MPERF/APERF MSRs to be read but not written to. This change modifies the handling of these MSRs to not rely on writes. This patch is part of Google Cloud Engine (GCE) C4-LSSD turnup. Sponsored by: Google Tested by: NetApp (previous) PR: 292808 MFC after: 3 days Co-authored-by: Jim Mattson Reviewed by: jrtc27, imp, kib, markj, olce, obiwac Differential Revision: https://reviews.freebsd.org/D55996 --- sys/x86/x86/cpu_machdep.c | 14 +++++++------- sys/x86/x86/tsc.c | 9 ++++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/x86/x86/cpu_machdep.c b/sys/x86/x86/cpu_machdep.c index 775fee97d3cd..422bdf9cfb0d 100644 --- a/sys/x86/x86/cpu_machdep.c +++ b/sys/x86/x86/cpu_machdep.c @@ -423,7 +423,7 @@ int cpu_est_clockrate(int cpu_id, uint64_t *rate) { uint64_t tsc1, tsc2; - uint64_t acnt, mcnt, perf; + uint64_t acnt_start, acnt_end, mcnt_start, mcnt_end, perf; register_t reg; int error = 0; @@ -453,20 +453,20 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) /* Calibrate by measuring a short delay. */ reg = intr_disable(); if (tsc_is_invariant) { - wrmsr(MSR_MPERF, 0); - wrmsr(MSR_APERF, 0); + mcnt_start = rdmsr(MSR_MPERF); + acnt_start = rdmsr(MSR_APERF); tsc1 = rdtsc(); DELAY(1000); - mcnt = rdmsr(MSR_MPERF); - acnt = rdmsr(MSR_APERF); + mcnt_end = rdmsr(MSR_MPERF); + acnt_end = rdmsr(MSR_APERF); tsc2 = rdtsc(); intr_restore(reg); - if (mcnt == 0) { + if (mcnt_end == mcnt_start) { tsc_perf_stat = 0; error = EOPNOTSUPP; goto err; } - perf = 1000 * acnt / mcnt; + perf = 1000 * (acnt_end - acnt_start) / (mcnt_end - mcnt_start); *rate = (tsc2 - tsc1) * perf; } else { tsc1 = rdtsc(); diff --git a/sys/x86/x86/tsc.c b/sys/x86/x86/tsc.c index 3b873d9dae73..f88ce60c6319 100644 --- a/sys/x86/x86/tsc.c +++ b/sys/x86/x86/tsc.c @@ -433,6 +433,8 @@ probe_tsc_freq_late(void) void start_TSC(void) { + uint64_t mperf, aperf; + if ((cpu_feature & CPUID_TSC) == 0 || tsc_disabled) return; @@ -442,11 +444,12 @@ start_TSC(void) /* * XXX Some emulators expose host CPUID without actual support * for these MSRs. We must test whether they really work. + * They may also be read-only, so test for increment. */ - wrmsr(MSR_MPERF, 0); - wrmsr(MSR_APERF, 0); + mperf = rdmsr(MSR_MPERF); + aperf = rdmsr(MSR_APERF); DELAY(10); - if (rdmsr(MSR_MPERF) > 0 && rdmsr(MSR_APERF) > 0) + if (rdmsr(MSR_MPERF) != mperf && rdmsr(MSR_APERF) != aperf) tsc_perf_stat = 1; } From nobody Thu Mar 26 19:03:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8Z1lDLz6WJhr for ; Thu, 26 Mar 2026 19:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhY8Y6vrFz3GnC for ; Thu, 26 Mar 2026 19:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774551822; h=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=JlPe3uW4tM6l6+gYYUok1qMr0Ufw2/Aw14+/j5WUKXc=; b=gKtgrlyFncCimQF/lUNxPWaXSndfVRU0GJekAsM6W0t1+wLlpjnGPgnLQGcr1TT66KUQe3 s78udrWa/QFAJ9UL50WF4IwZMoaxm9zd766LWmoQh0QZGBfzjV30qdwFjB1Yf4SJMTiat5 fyQEqelw+O25ll7JyOaDx+7FFAAndLHSknpkIzxi3ONhLE0hiUJILivOWypu2uoAZaUUK+ JpYt4Q/dDh3Jyp085Y3HvbP2v2+XDDfTeHDIFJZF5ngYY4FVa6p/ggq/Qs+DE1IofbZFZ/ 54TGCHUDjN6zlNASWp22Ah8UAMJezwY4PSBUnF17gu4MwBoYelDuEzzPkNLV/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774551822; a=rsa-sha256; cv=none; b=Nxfcx9Rwfi7V2t8nc7NcPF4qbqs0ITqvnP/LwI5oLFrc8n4IHA9pSHd4m0asKEC2BQj8sI QtBLrzFOZefJz6KKEoqzyZiGGP10MaTniWLDlETFjm9ko0R88VBFW6bQPdR3bclmkXLveF bdaJWt1Cq6XCiKUDNuL+SUEOdYxqnxi+rk8JlTvOxiMhzw3Wyp/Xp1dI+KlBchuP6jYj6z ajmuC1vf20ZhYDwH87x7PXoJY984lgUMQuf29049OIUQCYHlyO1hXTo6Uzi4Jd02JD/iQj SKpYuoQwJrDL0ElYeSBJxWlwl6MT6toh4vkYFp28zuYr5JgV2xKPF0lwIXRD7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774551822; h=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=JlPe3uW4tM6l6+gYYUok1qMr0Ufw2/Aw14+/j5WUKXc=; b=jmZJu6p5RPMcswrDErVPjtM9f7GI8dedJksEGaZUXEBkbJIys6cOfNCtdcVxEa+1aAVuiG +5+purLNdEESRfE5B1D6QDNdW1ydu3pZ/0pyPmNAo5G05MuC2te+fH4HMy+XLFicYrsNsG D0UVBz7o8+EijQDfabcnSPetUky3omEFp3ng0n6kQmm8nDlvvce3hgTfJ/2bFIwcmYP1cu Av64gxDHAtV0/3h+cpMrB4asWsl0SZzvg5tGxHaXCKwEo4e+6NZ8zjeDg96IjE/9k5abBW Wa5QGPI7kGpB1ZuYZ1Ka0nxJUuG0wGJfUsUxUcMS1wEHYqDy9wPoJ3/Tf4zr+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 4fhY8Y5wGwz157s for ; Thu, 26 Mar 2026 19:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 195e1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 19:03:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Matt Delco From: Alexander Ziaee Subject: git: c505fc146884 - main - x86: Guard clock frequency against a divide by 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c505fc1468849150f48484b225b6476d8316de57 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 19:03:36 +0000 Message-Id: <69c58308.195e1.1d1363de@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c505fc1468849150f48484b225b6476d8316de57 commit c505fc1468849150f48484b225b6476d8316de57 Author: Matt Delco AuthorDate: 2026-03-26 17:22:54 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-26 19:02:06 +0000 x86: Guard clock frequency against a divide by 0 We may be running in a Virtual Machine which may not fully support hardware performance counters. If the MPERF counter somehow ends up at zero, return an error and fail gracefully instead of panicking. This patch is part of Google Cloud Engine (GCE) C4-LSSD turnup. Sponsored by: Google Tested by: NetApp (previous) PR: 292808 MFC after: 3 days Co-authored-by: Aymeric Wibo Co-authored-by: Jim Mattson Suggested by: jrtc27 (split out this part) Reviewed by: imp, obiwac, olce Differential Revision: https://reviews.freebsd.org/D56056 --- sys/x86/x86/cpu_machdep.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/x86/x86/cpu_machdep.c b/sys/x86/x86/cpu_machdep.c index 5483fbd6dd4e..775fee97d3cd 100644 --- a/sys/x86/x86/cpu_machdep.c +++ b/sys/x86/x86/cpu_machdep.c @@ -425,6 +425,7 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) uint64_t tsc1, tsc2; uint64_t acnt, mcnt, perf; register_t reg; + int error = 0; if (pcpu_find(cpu_id) == NULL || rate == NULL) return (EINVAL); @@ -460,6 +461,11 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) acnt = rdmsr(MSR_APERF); tsc2 = rdtsc(); intr_restore(reg); + if (mcnt == 0) { + tsc_perf_stat = 0; + error = EOPNOTSUPP; + goto err; + } perf = 1000 * acnt / mcnt; *rate = (tsc2 - tsc1) * perf; } else { @@ -470,6 +476,7 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) *rate = (tsc2 - tsc1) * 1000; } +err: #ifdef SMP if (smp_cpus > 1) { thread_lock(curthread); @@ -478,7 +485,7 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) } #endif - return (0); + return (error); } /* From nobody Thu Mar 26 23:42:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLC39KDz6WKPJ for ; Thu, 26 Mar 2026 23:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhgLC231Qz3lmJ for ; Thu, 26 Mar 2026 23:42:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2k1K0F1+qtOmLy6HhQvOtZNPBDMLTGeOi6Y7vKVcgvA=; b=xYaj163pyyaL84XmraNV+/QzIfK9qIdAHdWwcHbmbeWemDNHDwTptSGHvQvZLPq8SQhKwH 20D8b+CxRymv4SPJVLsHIK4mwJs69A+9Ny3vlw/ygSC11DX++fE4aHX0CN5sgE9QiT54Qm rtxVTst/cg4GyBHZsLMopXzKMxu5BqgnSvgTdvtwvdkxlBZnWuadWK1eXyI9nuKzUWOf0e 5uT9ynbrktkbCrpDOAOptagRf6xbX5pUIw2dd5AAbP3NCSDV1u8i+UVJZkXsBMaQvEmfon JiUhkYnnjlpYzOTt2/SI5k4FYzMT06aYUjvHRfoeSxhmul98dQagEqITdOhXYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774568547; a=rsa-sha256; cv=none; b=IeQyagAlcftpKJc3z/r+pAjo8WnyuiWSaOmue7C5kTCFVCtlMWofTpomgl7jOFu0PbhDKF NN+/UzjlIRavlW2H/jJm8bR8qV2MEBZQHh8dbq/nXjwMPdJAXwM9g5lByiOYFcbJa4D8GK A1rJhFVpFLCeSabP0Cte8mV0pZ7PwQTSeJ+j8j+HGihwmNQHvD88ZcgpJQIA5jNu96QYTq KRbZC69NW6pzxozyKl44CiDqVOPhG8j68++tIcByOmBstbBcfobLT5Jwj3wI8Xe5S/ohuZ AHjdm5DYX6Ax+iLgj7eL+daSj1oM5NEV1K0l55VfPttp2YtC6HKgFEBXvkugyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2k1K0F1+qtOmLy6HhQvOtZNPBDMLTGeOi6Y7vKVcgvA=; b=lTujFLhFP2PFrjYn3nv2MXG7QHER+FfeofctgGOMWrHXJgCqUrM4DueXTHXXVwd8TmKCCt fh/+sem9eiDTgHjUCqiVrxNTZu+jMQLBxrcCA/NwAB7TUZemIEU4xIOCQblmZpj1JbFKyt s/7/lMj/esl3PVkEclxUYiMmOxxgk1vpA3RI9IXRXUhOG+E79KmAZtTQ0uyqx65EnIyydh AQnw1awsm4EmEgUEhq7MJnn/+Io70snHZCqHsc4tno+Uu3+kSQsTKxPtYPVoOS3UWBmzPs yCt8109dGaTdVkUX1iUrUDHce93Wpvo+K5d/x6SxYuGPwnDbJ6xgOjwRkyuE7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLC1dGgzNT for ; Thu, 26 Mar 2026 23:42:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40cf1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 23:42:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b9f046d941c4 - main - rtld: properly handle update of several vars in rtld_set_var() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9f046d941c4dbd0e4fc634827ada6e7cf6a6bcf Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 23:42:27 +0000 Message-Id: <69c5c463.40cf1.352be003@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b9f046d941c4dbd0e4fc634827ada6e7cf6a6bcf commit b9f046d941c4dbd0e4fc634827ada6e7cf6a6bcf Author: Konstantin Belousov AuthorDate: 2026-03-24 01:43:23 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:41:23 +0000 rtld: properly handle update of several vars in rtld_set_var() Besides setting the value in the array of the values, rtld sometimes needs to recalculate some internal control variable for the change to take effect. Allow the variable description to supply a method called on the update. Lock the function with the bind lock for safe operation. Mark several variables as allowed for update, since the on_update method is provided for them. The list is LD_BIND_NOW, LD_BIND_NOT, LD_LIBMAP_DISABLE, LD_LOADFLTR. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56055 --- libexec/rtld-elf/rtld.c | 188 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 152 insertions(+), 36 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 5e15ba996ec8..e0de6d2e2214 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -187,6 +187,10 @@ static char *origin_subst_one(Obj_Entry *, char *, const char *, const char *, static char *origin_subst(Obj_Entry *, const char *); static bool obj_resolve_origin(Obj_Entry *obj); static void preinit_main(void); +static void rtld_recalc_bind_not(const char *); +static void rtld_recalc_dangerous_ld_env(void); +static void rtld_recalc_debug(const char *); +static void rtld_recalc_path_rpath(const char *); static int rtld_verify_versions(const Objlist *); static int rtld_verify_object_versions(Obj_Entry *); static void object_add_name(Obj_Entry *, const char *); @@ -198,6 +202,17 @@ static uint32_t gnu_hash(const char *); static bool matched_symbol(SymLook *, const Obj_Entry *, Sym_Match_Result *, const unsigned long); +struct ld_env_var_desc; +static void rtld_set_var_bind_not(struct ld_env_var_desc *lvd); +static void rtld_set_var_bind_now(struct ld_env_var_desc *lvd); +static void rtld_set_var_debug(struct ld_env_var_desc *lvd); +static void rtld_set_var_dynamic_weak(struct ld_env_var_desc *lvd); +static void rtld_set_var_libmap_disable(struct ld_env_var_desc *lvd); +static void rtld_set_var_library_path(struct ld_env_var_desc *lvd); +static void rtld_set_var_library_path_fds(struct ld_env_var_desc *lvd); +static void rtld_set_var_library_path_rpath(struct ld_env_var_desc *lvd); +static void rtld_set_var_loadfltr(struct ld_env_var_desc *lvd); + void r_debug_state(struct r_debug *, struct link_map *) __noinline __exported; void _r_debug_postinit(struct link_map *) __noinline __exported; @@ -215,7 +230,6 @@ static bool dangerous_ld_env; /* True if environment variables have been used to affect the libraries loaded */ bool ld_bind_not; /* Disable PLT update */ static const char *ld_bind_now; /* Environment variable for immediate binding */ -static const char *ld_debug; /* Environment variable for debugging */ static bool ld_dynamic_weak = true; /* True if non-weak definition overrides weak definition */ static const char *ld_library_path; /* Environment variable for search path */ @@ -368,26 +382,35 @@ struct ld_env_var_desc { const char *val; const bool unsecure : 1; const bool can_update : 1; - const bool debug : 1; bool owned : 1; + void (*const on_update)(struct ld_env_var_desc *); }; #define LD_ENV_DESC(var, unsec, ...) \ [LD_##var] = { .n = #var, .unsecure = unsec, __VA_ARGS__ } static struct ld_env_var_desc ld_env_vars[] = { - LD_ENV_DESC(BIND_NOW, false), + LD_ENV_DESC(BIND_NOW, false, .can_update = true, + .on_update = rtld_set_var_bind_now), LD_ENV_DESC(PRELOAD, true), LD_ENV_DESC(LIBMAP, true), - LD_ENV_DESC(LIBRARY_PATH, true, .can_update = true), - LD_ENV_DESC(LIBRARY_PATH_FDS, true, .can_update = true), - LD_ENV_DESC(LIBMAP_DISABLE, true), - LD_ENV_DESC(BIND_NOT, true), - LD_ENV_DESC(DEBUG, true, .can_update = true, .debug = true), + LD_ENV_DESC(LIBRARY_PATH, true, .can_update = true, + .on_update = rtld_set_var_library_path), + LD_ENV_DESC(LIBRARY_PATH_FDS, true, .can_update = true, + .on_update = rtld_set_var_library_path_fds), + LD_ENV_DESC(LIBMAP_DISABLE, true, .can_update = true, + .on_update = rtld_set_var_libmap_disable), + LD_ENV_DESC(BIND_NOT, true, .can_update = true, + .on_update = rtld_set_var_bind_not), + LD_ENV_DESC(DEBUG, true, .can_update = true, + .on_update = rtld_set_var_debug), LD_ENV_DESC(ELF_HINTS_PATH, true), - LD_ENV_DESC(LOADFLTR, true), - LD_ENV_DESC(LIBRARY_PATH_RPATH, true, .can_update = true), + LD_ENV_DESC(LOADFLTR, true, .can_update = true, + .on_update = rtld_set_var_loadfltr), + LD_ENV_DESC(LIBRARY_PATH_RPATH, true, .can_update = true, + .on_update = rtld_set_var_library_path_rpath), LD_ENV_DESC(PRELOAD_FDS, true), - LD_ENV_DESC(DYNAMIC_WEAK, true, .can_update = true), + LD_ENV_DESC(DYNAMIC_WEAK, true, .can_update = true, + .on_update = rtld_set_var_dynamic_weak), LD_ENV_DESC(TRACE_LOADED_OBJECTS, false), LD_ENV_DESC(UTRACE, false, .can_update = true), LD_ENV_DESC(DUMP_REL_PRE, false, .can_update = true), @@ -516,7 +539,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) struct stat st; Elf_Addr *argcp; char **argv, **env, **envp, *kexecpath; - const char *argv0, *binpath, *library_path_rpath, *static_tls_extra; + const char *argv0, *binpath, *static_tls_extra; struct ld_env_var_desc *lvd; caddr_t imgentry; char buf[MAXPATHLEN]; @@ -721,9 +744,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) } } - ld_debug = ld_get_env_var(LD_DEBUG); - if (ld_bind_now == NULL) - ld_bind_not = ld_get_env_var(LD_BIND_NOT) != NULL; + rtld_recalc_debug(ld_get_env_var(LD_DEBUG)); + rtld_recalc_bind_not(ld_get_env_var(LD_BIND_NOT)); ld_dynamic_weak = ld_get_env_var(LD_DYNAMIC_WEAK) == NULL; libmap_disable = ld_get_env_var(LD_LIBMAP_DISABLE) != NULL; libmap_override = ld_get_env_var(LD_LIBMAP); @@ -733,31 +755,18 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) ld_preload_fds = ld_get_env_var(LD_PRELOAD_FDS); ld_elf_hints_path = ld_get_env_var(LD_ELF_HINTS_PATH); ld_loadfltr = ld_get_env_var(LD_LOADFLTR) != NULL; - library_path_rpath = ld_get_env_var(LD_LIBRARY_PATH_RPATH); - if (library_path_rpath != NULL) { - if (library_path_rpath[0] == 'y' || - library_path_rpath[0] == 'Y' || - library_path_rpath[0] == '1') - ld_library_path_rpath = true; - else - ld_library_path_rpath = false; - } + rtld_recalc_path_rpath(ld_get_env_var(LD_LIBRARY_PATH_RPATH)); static_tls_extra = ld_get_env_var(LD_STATIC_TLS_EXTRA); if (static_tls_extra != NULL && static_tls_extra[0] != '\0') { sz = parse_integer(static_tls_extra); if (sz >= RTLD_STATIC_TLS_EXTRA && sz <= SIZE_T_MAX) ld_static_tls_extra = sz; } - dangerous_ld_env = libmap_disable || libmap_override != NULL || - ld_library_path != NULL || ld_preload != NULL || - ld_elf_hints_path != NULL || ld_loadfltr || !ld_dynamic_weak || - static_tls_extra != NULL; + rtld_recalc_dangerous_ld_env(); ld_tracing = ld_get_env_var(LD_TRACE_LOADED_OBJECTS); ld_utrace = ld_get_env_var(LD_UTRACE); set_ld_elf_hints_path(); - if (ld_debug != NULL && *ld_debug != '\0') - debug = 1; dbg("%s is initialized, base address = %p", __progname, (caddr_t)aux_info[AT_BASE]->a_un.a_ptr); dbg("RTLD dynamic = %p", obj_rtld.dynamic); @@ -6611,18 +6620,121 @@ rtld_get_var(const char *name) return (NULL); } +static void +rtld_recalc_dangerous_ld_env(void) +{ + /* + * Never reset dangerous_ld_env back to false if rtld was ever + * contaminated with it set to true. + */ + dangerous_ld_env |= libmap_disable || libmap_override != NULL || + ld_library_path != NULL || ld_preload != NULL || + ld_elf_hints_path != NULL || ld_loadfltr || !ld_dynamic_weak || + ld_get_env_var(LD_STATIC_TLS_EXTRA) != NULL; +} + +static void +rtld_recalc_debug(const char *ld_debug) +{ + if (ld_debug != NULL && *ld_debug != '\0') + debug = 1; +} + +static void +rtld_set_var_debug(struct ld_env_var_desc *lvd) +{ + rtld_recalc_debug(lvd->val); +} + +static void +rtld_set_var_library_path(struct ld_env_var_desc *lvd) +{ + ld_library_path = lvd->val; +} + +static void +rtld_set_var_library_path_fds(struct ld_env_var_desc *lvd) +{ + ld_library_dirs = lvd->val; +} + +static void +rtld_recalc_path_rpath(const char *library_path_rpath) +{ + if (library_path_rpath != NULL) { + if (library_path_rpath[0] == 'y' || + library_path_rpath[0] == 'Y' || + library_path_rpath[0] == '1') + ld_library_path_rpath = true; + else + ld_library_path_rpath = false; + } else { + ld_library_path_rpath = false; + } +} + +static void +rtld_set_var_library_path_rpath(struct ld_env_var_desc *lvd) +{ + rtld_recalc_path_rpath(lvd->val); +} + +static void +rtld_recalc_bind_not(const char *bind_not_val) +{ + if (ld_bind_now == NULL) + ld_bind_not = bind_not_val != NULL; +} + +static void +rtld_set_var_bind_now(struct ld_env_var_desc *lvd) +{ + ld_bind_now = lvd->val; + rtld_recalc_bind_not(ld_get_env_var(LD_BIND_NOT)); +} + +static void +rtld_set_var_bind_not(struct ld_env_var_desc *lvd) +{ + rtld_recalc_bind_not(lvd->val); +} + +static void +rtld_set_var_dynamic_weak(struct ld_env_var_desc *lvd) +{ + ld_dynamic_weak = lvd->val == NULL; +} + +static void +rtld_set_var_loadfltr(struct ld_env_var_desc *lvd) +{ + ld_loadfltr = lvd->val != NULL; +} + +static void +rtld_set_var_libmap_disable(struct ld_env_var_desc *lvd) +{ + libmap_disable = lvd->val != NULL; +} + int rtld_set_var(const char *name, const char *val) { + RtldLockState lockstate; struct ld_env_var_desc *lvd; u_int i; + int error; + error = ENOENT; + wlock_acquire(rtld_bind_lock, &lockstate); for (i = 0; i < nitems(ld_env_vars); i++) { lvd = &ld_env_vars[i]; if (strcmp(lvd->n, name) != 0) continue; - if (!lvd->can_update || (lvd->unsecure && !trust)) - return (EPERM); + if (!lvd->can_update || (lvd->unsecure && !trust)) { + error = EPERM; + break; + } if (lvd->owned) free(__DECONST(char *, lvd->val)); if (val != NULL) @@ -6630,11 +6742,15 @@ rtld_set_var(const char *name, const char *val) else lvd->val = NULL; lvd->owned = true; - if (lvd->debug) - debug = lvd->val != NULL && *lvd->val != '\0'; - return (0); + if (lvd->on_update != NULL) + lvd->on_update(lvd); + error = 0; + break; } - return (ENOENT); + if (error == 0) + rtld_recalc_dangerous_ld_env(); + lock_release(rtld_bind_lock, &lockstate); + return (error); } /* From nobody Thu Mar 26 23:42:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLD4gMHz6WKLk for ; Thu, 26 Mar 2026 23:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhgLD2yQRz3m5t for ; Thu, 26 Mar 2026 23:42:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gFP+1/fFcgsSDxAjE03RLmGY0CZnOlvbpHMhBwqGeoU=; b=GTzHJKv+/R3CX+EXoEJ/bTpGV6uE/qMV+z02QmM0PcH64hSoZl9XOn8OixJaT/3CRt/orf YnC8VVJUjjxCMCT9BCDpxsuu5mAXqNJdvOmaPBCyaO9jF1ne+XJ5+OOHDXR0mlZTfGwwBn 1ciqLMN1beYE7BULrbYHLntc9UGEiibs6AxG2iWSY0bN3KXRcqA6KEBuT+8c2JQvsaaUxC eHkv/ERnBX4TdsTIeB4BhSYoG6YjudbnVn0f6BAIUw4BjWvRAKP5wEvDN3B+mi+2OgPFxK mplWzT1BuJusKUXRajH4/3FBlTLxqcyNIsYawj19J9yKlZdE+USjCMs+GGT13A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774568548; a=rsa-sha256; cv=none; b=XXSTPN9sHqzbU/kuVHIr/IGsSg5MogDc19+bXWBuit+QWM6Jke1wB1OXgnLcc7VP80e5mf s+/h4tGV2WIzJY4ftI9oNCJbSJ0sHJwwnXDnsDaAjb8R42wDLoaHn8MxIBxuJ7SuijI3ts FZ6eLsw2X+WgsWiSPUBEXhjH66Cxj81qLJCPKY59g9TYQbQ94gwyaIeCmkWU1Z97THO2xa 05LV2z9mshAeYgbEhGxSIz3XLUyNI77C3TxMyGqFmYN0tbk0jaJqLR9m+3G9LocxEZrXLu HRe5adYJVCKB27fZZLm5oKEFoiwayR3rtzbPnPHVZDHeb8h1Rqa3KEWNc6rdIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gFP+1/fFcgsSDxAjE03RLmGY0CZnOlvbpHMhBwqGeoU=; b=eQBMvEIOOvybQ4jUePte+J+J9/Goa+CUo0hMRmkeQs/Vfwfig64+Y4fRhIVywDqzCuJw+r UIZPVBKxepeJofD8ruuBZ+eXScAuqCZtO6oOf2Aap2CJShqd0W97262P8+Ol/U2pVoKTUH GD+ielBeIhgBBSq/XHtDskj4N3CTMflEmU+5N98UvDr/zw64dLzmX/JWY30g4LZQmtVdP2 fO3nklRrV2RaivQsjr2mijEj0WXcE6byaXDHOADydRWZTGz7TKPneunh6w+1kUdBK/RL0G /OBepKpXePB8IdYOYA6F9Fwmvd7d+ahiSojiNkNNebFGhWheYxu0BbFkJrLLdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLD2SmqzNV for ; Thu, 26 Mar 2026 23:42:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40c59 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 23:42:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f7b368d25fad - main - rtld_get_var(3): provide explicit list of rtld vars that can be modified List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7b368d25fadbfcba5072dfab3738082393fa189 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 23:42:28 +0000 Message-Id: <69c5c464.40c59.6bfdcebe@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f7b368d25fadbfcba5072dfab3738082393fa189 commit f7b368d25fadbfcba5072dfab3738082393fa189 Author: Konstantin Belousov AuthorDate: 2026-03-25 22:38:35 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:41:23 +0000 rtld_get_var(3): provide explicit list of rtld vars that can be modified Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56055 --- lib/libc/gen/rtld_get_var.3 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/libc/gen/rtld_get_var.3 b/lib/libc/gen/rtld_get_var.3 index 092114e86d78..93aab133793b 100644 --- a/lib/libc/gen/rtld_get_var.3 +++ b/lib/libc/gen/rtld_get_var.3 @@ -73,6 +73,23 @@ but without the (or .Ev LD_32_ or any other ABI-specific) prefix. +.Pp +The list of variables that can be modified with the +.Fn rtld_set_var +function is: +.Bl -tag +.It Dv LD_BIND_NOT +.It Dv LD_BIND_NOW +.It Dv LD_DEBUG +.It Dv LD_DUMP_REL_PRE +.It Dv LD_DUMP_REL_POST +.It Dv LD_DYNAMIC_WEAK +.It Dv LD_LIBMAP_DISABLE +.It Dv LD_LIBRARY_PATH +.It Dv LD_LIBRARY_PATH_FDS +.It Dv LD_LIBRARY_PATH_RPATH +.It Dv LD_LOADFLTR +.El .Sh RETURN VALUES The .Fn rtld_get_var From nobody Thu Mar 26 23:42:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLG4jNjz6WKlg for ; Thu, 26 Mar 2026 23:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhgLF5DdVz3m2V for ; Thu, 26 Mar 2026 23:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568549; h=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=vxFX2crkiiiE/IWrk2/FTD+PtEW5vh3E5Q5TMMjaJBg=; b=bI+t8smww1Imm2wyVfg6igvHWg/QcTBUfcZQ8Jb4+8FMprte7GfW5Pf2iSpUIWJ/4pG2fb M0Q8PPMfrWXViLPn6gd+43pyTgHpKhKNYC34zi+F8B1MB9ckaAbsTa1ZcVxR+EX3uFlRP5 +EQwaGPNEqHmSE9klSCLGjaEcFOxXrC31bNvylWSVdQhAmg5HaSuYnhnzTufavA5Ro6xE2 ewo/X59KXlwMdppjRAD8doSIL6F/9SYk1ElE1rjYuYC1oPi66s/jKt9kpNiKa5TyYUBgXh DKOz5zCAkFSaB33iR0hCtCPQBqvRFndGoWc+bT/Wlcs+QDtOTOMEXhs7bb6cTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774568549; a=rsa-sha256; cv=none; b=XSb8dq8idfuKaiiry0dh/3lR6jGCp7j6zalZR0/7lb9we1Igg23AMjaNCdDIHQt1p91FLH hPV+GyZTXdIrEm0wuAh0/1O51Od/Oa8y5CZPM6cpcw/DzN25RvlPHqWA42yGPrAZ73h8NE nLmtn+NZk2tTXzGEGoy1XPLv843Fbyr2BSWuG3Bz4QOYZvdeXZ8JsYk3uBttFFS2Tifp1/ txVJB1MzM253MXdVERy0QBkkN92DpxEmlsfYqnUK3RiMmhxHptOLXun//kffWjRXSiKQyq vCuvVWMWz3am57s/eWFgHRyl40G+KGSo8tUYSe9e6cUdSC00l4RhKxUL9RciRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568549; h=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=vxFX2crkiiiE/IWrk2/FTD+PtEW5vh3E5Q5TMMjaJBg=; b=YnWjr3JTpfDvjDF5A0BQzb5600icKy+xeMkkjhRKj1/POd5i9QVfq1BcDvgwPYpyZHtYeN 1Kiil+w9hjg5sjALcjuDUuYSHoyGlwwLzHLdUifdsmo0k/KBJJIWBfVpDtpa3m3SsnVRtY I4hRk1g9ADKc75lMcaZdrJKBBNSJWIUs1cv6pVAXvzfn0+5ZXMnW9y8kd5cOHAZO0zxAlt tCxcmbSLHdqwcJDuWm1yn/PwzZZ9XrOsTP6NY/H+Eftnwml0KBL2HFtTygW0zDzSaeMjmE y6zaAIobi2kV9I5ksIhiT++EOx6Ui9/Fg3zP/OKNYjLECRoaLt9pe/qJwqGN6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLF3BnTz61 for ; Thu, 26 Mar 2026 23:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40eb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 23:42:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Alex S From: Konstantin Belousov Subject: git: 9f16078b5f8c - main - rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f16078b5f8c44d5718ecc940ab0b4ed5a1877a5 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 23:42:29 +0000 Message-Id: <69c5c465.40eb6.5b0822b9@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9f16078b5f8c44d5718ecc940ab0b4ed5a1877a5 commit 9f16078b5f8c44d5718ecc940ab0b4ed5a1877a5 Author: Alex S AuthorDate: 2026-03-25 00:56:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:41:23 +0000 rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS) PR: 294054 Reviewed by: kib MFC after: 1 week --- libexec/rtld-elf/tests/Makefile | 1 + libexec/rtld-elf/tests/set_var_test.c | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/libexec/rtld-elf/tests/Makefile b/libexec/rtld-elf/tests/Makefile index c4b3baab4cb8..3c05b52b83bb 100644 --- a/libexec/rtld-elf/tests/Makefile +++ b/libexec/rtld-elf/tests/Makefile @@ -7,6 +7,7 @@ SUBDIR_DEPEND_target= libpythagoras ATF_TESTS_C= ld_library_pathfds ATF_TESTS_C+= ld_preload_fds +ATF_TESTS_C+= set_var_test .for t in ${ATF_TESTS_C} SRCS.$t= $t.c common.c diff --git a/libexec/rtld-elf/tests/set_var_test.c b/libexec/rtld-elf/tests/set_var_test.c new file mode 100644 index 000000000000..6279bd5ecb44 --- /dev/null +++ b/libexec/rtld-elf/tests/set_var_test.c @@ -0,0 +1,38 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Alex S + */ + +#include +#include +#include +#include +#include + +ATF_TC_WITHOUT_HEAD(set_var_library_path_fds); +ATF_TC_BODY(set_var_library_path_fds, tc) +{ + void *handle; + char *pathfds; + int testdir; + + handle = dlopen("libpythagoras.so.0", RTLD_LAZY); + ATF_REQUIRE(handle == NULL); + + testdir = open(atf_tc_get_config_var(tc, "srcdir"), + O_RDONLY | O_DIRECTORY); + ATF_REQUIRE(testdir >= 0); + + ATF_REQUIRE(asprintf(&pathfds, "%d", testdir) > 0); + ATF_REQUIRE(rtld_set_var("LIBRARY_PATH_FDS", pathfds) == 0); + + handle = dlopen("libpythagoras.so.0", RTLD_LAZY); + ATF_REQUIRE(handle != NULL); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, set_var_library_path_fds); + return atf_no_error(); +} From nobody Thu Mar 26 23:42:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLJ04RVz6WKqL for ; Thu, 26 Mar 2026 23:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhgLH32T5z3lqF for ; Thu, 26 Mar 2026 23:42:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eKrIxRGTAl4E4ZXDGewTzEfp80LpN+B9Tx3R9m2jMuU=; b=X7JPHwGKwlJEFTgRRT8QTJJNJPpzLMGkY6rQLdmzykfLwuDGASjYBTm9W2PEXKaIt85no/ VM+vsNN0vW1HCNuYbyVMj0BL/UsJquF+eDLv2ihiJ5uJFBaXuMGJAYVxzsxM97+EGouSEb Em9g/OJoChZOW02vLKAlLX4qeaE3jW2n3UKIa22E8an1wwdVB7s2vw5HhEhKor+coCClU+ Ck96laOSNds0La6D7lLidYzluXr/mGWrmGFTTXvn8xMfVa2bpsXb38NC0kmVUNLP8ANn4E cfgEyHhhr/9l1hHy8y6TXzIGY39ttwd4lfAQIRXlW/7wA7KyC+XaYGzkHkQ9gQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774568551; a=rsa-sha256; cv=none; b=hNNwzIgqTaSGbJU9QIvwTxxUO8EujhBwxmIyza/dA+jJO/oxQdj1R3TICwzXQ2EYiH2+eD /3jbEjvEsmQ5t4DXspH8i99QCyiLRZ7eLXy+eTsr00ReLGbkBiqIDIY3MPuMXJrghySpmS x8lM4ARiFhtmGaLAOvypUeUf89g1QMXjI69S77Ovv65egmVOu5mzdramKRydw49mfev41l j5xuRNutoDFEoT4eISRojm1RldnEis6gMp/yL07BknCzmyquvYMSAQgYe80ucYdfN/TSYz UjQqhFgoKAgbhh/zhfl9JMTN5lCuw5lJCd3ZIsJc6U1FnAB+YNLcDb9lysmQ4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eKrIxRGTAl4E4ZXDGewTzEfp80LpN+B9Tx3R9m2jMuU=; b=nxihP1RKorxsYkD5xwyMejrnJLyA4WIi6UY1NIVuRGsevBOpyS+csJ5c7FmQkO6Rg3eTnB S7d9J1K3f26vnJsAeXbIrYWm+KyEgp1LvuoJBRFuyetNoh9ur4lHCY7nVSNDvf/u5X7mpA +hxxdZh2xdwkWws12t3PBiNcJw13UgcI2CPILj+R0TI+MktcQzlfG/mNqYu0+JFVGue4Ki 1l76UMh/UtmXHPu2i00H7EFxVNxYuXcLRz+53gzqXKVPogBgH3dT2PoudvN/2OGSwWzR18 8qyTzlHyNZgn6d+oc6nms1GujbCkh7EuyoTfudKM99k3ny3I6XH0VVhIDhXsyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLH1xvXz8d for ; Thu, 26 Mar 2026 23:42:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fae9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Mar 2026 23:42:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f39754d51b7d - main - fenv.h: stop declaring feclearexcept() extern inline List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f39754d51b7dc65c4cf9f8b41b6fc1fc135554e7 Auto-Submitted: auto-generated Date: Thu, 26 Mar 2026 23:42:26 +0000 Message-Id: <69c5c462.3fae9.abcf88a@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f39754d51b7dc65c4cf9f8b41b6fc1fc135554e7 commit f39754d51b7dc65c4cf9f8b41b6fc1fc135554e7 Author: Konstantin Belousov AuthorDate: 2026-03-19 17:19:09 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:41:14 +0000 fenv.h: stop declaring feclearexcept() extern inline The function is already exported from libm. We only need to stop declare it extern inline, and instead provide a macro which uses the internal inline function __feclearexcept_int() instead. PR: 277958 Reviewed by: dim (x86) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55975 --- lib/msun/aarch64/fenv.c | 7 ++++++- lib/msun/aarch64/fenv.h | 7 +++++-- lib/msun/amd64/fenv.c | 7 ++++++- lib/msun/arm/fenv.c | 7 ++++++- lib/msun/arm/fenv.h | 5 ++++- lib/msun/i387/fenv.c | 7 ++++++- lib/msun/powerpc/fenv.c | 7 ++++++- lib/msun/powerpc/fenv.h | 5 ++++- lib/msun/riscv/fenv.c | 7 ++++++- lib/msun/riscv/fenv.h | 5 ++++- lib/msun/x86/fenv.h | 7 +++++-- 11 files changed, 58 insertions(+), 13 deletions(-) diff --git a/lib/msun/aarch64/fenv.c b/lib/msun/aarch64/fenv.c index cce9f33e4f30..4c54656be7d3 100644 --- a/lib/msun/aarch64/fenv.c +++ b/lib/msun/aarch64/fenv.c @@ -38,7 +38,12 @@ const fenv_t __fe_dfl_env = 0; #error "This file must be compiled with C99 'inline' semantics" #endif -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); extern inline int feraiseexcept(int __excepts); diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h index a435a9de5223..d125978b887b 100644 --- a/lib/msun/aarch64/fenv.h +++ b/lib/msun/aarch64/fenv.h @@ -81,8 +81,11 @@ extern const fenv_t __fe_dfl_env; #define __mrs_fpsr(__r) __asm __volatile("mrs %0, fpsr" : "=r" (__r)) #define __msr_fpsr(__r) __asm __volatile("msr fpsr, %0" : : "r" (__r)) -__fenv_static __inline int -feclearexcept(int __excepts) +int feclearexcept(int); +#define feclearexcept(a) __feclearexcept_int(a) + +__fenv_static inline int +__feclearexcept_int(int __excepts) { fexcept_t __r; diff --git a/lib/msun/amd64/fenv.c b/lib/msun/amd64/fenv.c index 4d271f8d456a..cd3b83d11585 100644 --- a/lib/msun/amd64/fenv.c +++ b/lib/msun/amd64/fenv.c @@ -46,7 +46,12 @@ const fenv_t __fe_dfl_env = { __INITIAL_MXCSR__ }; -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); int diff --git a/lib/msun/arm/fenv.c b/lib/msun/arm/fenv.c index 05b3adb05f81..c8edf3fef037 100644 --- a/lib/msun/arm/fenv.c +++ b/lib/msun/arm/fenv.c @@ -70,7 +70,12 @@ const fenv_t __fe_dfl_env = 0; #error "This file must be compiled with C99 'inline' semantics" #endif -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); extern inline int feraiseexcept(int __excepts); diff --git a/lib/msun/arm/fenv.h b/lib/msun/arm/fenv.h index e8a30fcf496f..14638dd33aa7 100644 --- a/lib/msun/arm/fenv.h +++ b/lib/msun/arm/fenv.h @@ -111,8 +111,11 @@ int fegetexcept(void); #define _FPU_MASK_SHIFT 8 +int feclearexcept(int); +#define feclearexcept(a) __feclearexcept_int(a) + __fenv_static inline int -feclearexcept(int __excepts) +__feclearexcept_int(int __excepts) { fexcept_t __fpsr; diff --git a/lib/msun/i387/fenv.c b/lib/msun/i387/fenv.c index ebb4111a5fa6..e0485a3597f6 100644 --- a/lib/msun/i387/fenv.c +++ b/lib/msun/i387/fenv.c @@ -88,7 +88,12 @@ __test_sse(void) return (0); } -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); int diff --git a/lib/msun/powerpc/fenv.c b/lib/msun/powerpc/fenv.c index cc0b518bb7c4..bcf78d5c096e 100644 --- a/lib/msun/powerpc/fenv.c +++ b/lib/msun/powerpc/fenv.c @@ -35,7 +35,12 @@ const fenv_t __fe_dfl_env = 0x00000000; -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); extern inline int feraiseexcept(int __excepts); diff --git a/lib/msun/powerpc/fenv.h b/lib/msun/powerpc/fenv.h index 09fd4caafb43..74a71ef39e5a 100644 --- a/lib/msun/powerpc/fenv.h +++ b/lib/msun/powerpc/fenv.h @@ -111,8 +111,11 @@ union __fpscr { } __bits; }; +int feclearexcept(int); +#define feclearexcept(a) __feclearexcept_int(a) + __fenv_static inline int -feclearexcept(int __excepts) +__feclearexcept_int(int __excepts) { union __fpscr __r; diff --git a/lib/msun/riscv/fenv.c b/lib/msun/riscv/fenv.c index a4dde02a6ddc..4d1b2cb2f611 100644 --- a/lib/msun/riscv/fenv.c +++ b/lib/msun/riscv/fenv.c @@ -37,7 +37,12 @@ */ const fenv_t __fe_dfl_env = 0; -extern inline int feclearexcept(int __excepts); +int +(feclearexcept)(int excepts) +{ + return (__feclearexcept_int(excepts)); +} + extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); extern inline int feraiseexcept(int __excepts); diff --git a/lib/msun/riscv/fenv.h b/lib/msun/riscv/fenv.h index fd50463d479e..4e8f81aa04c1 100644 --- a/lib/msun/riscv/fenv.h +++ b/lib/msun/riscv/fenv.h @@ -79,8 +79,11 @@ extern const fenv_t __fe_dfl_env; #define __rfs(__fcsr) __asm __volatile("csrr %0, fcsr" : "=r" (__fcsr)) #define __wfs(__fcsr) __asm __volatile("csrw fcsr, %0" :: "r" (__fcsr)) +int feclearexcept(int); +#define feclearexcept(a) __feclearexcept_int(a) + __fenv_static inline int -feclearexcept(int __excepts) +__feclearexcept_int(int __excepts) { __asm __volatile("csrc fflags, %0" :: "r"(__excepts)); diff --git a/lib/msun/x86/fenv.h b/lib/msun/x86/fenv.h index e558d0372368..b806222e5ef6 100644 --- a/lib/msun/x86/fenv.h +++ b/lib/msun/x86/fenv.h @@ -143,6 +143,9 @@ fegetexcept(void) #endif /* __BSD_VISIBLE */ +int feclearexcept(int); +#define feclearexcept(a) __feclearexcept_int(a) + #ifdef __i386__ /* After testing for SSE support once, we cache the result in __has_sse. */ @@ -164,7 +167,7 @@ int __test_sse(void); } while (0) __fenv_static inline int -feclearexcept(int __excepts) +__feclearexcept_int(int __excepts) { fenv_t __env; __uint32_t __mxcsr; @@ -262,7 +265,7 @@ fesetenv(const fenv_t *__envp) #else /* __amd64__ */ __fenv_static inline int -feclearexcept(int __excepts) +__feclearexcept_int(int __excepts) { fenv_t __env; From nobody Fri Mar 27 00:30:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ67296z6WQX9 for ; Fri, 27 Mar 2026 00:30:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhhQ65zWSz3rMX for ; Fri, 27 Mar 2026 00:30:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774571454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/jhL+SLudsIxvGT8WL3wXtJw7QTFWRRZO+5FB+zZSA4=; b=cs915rRFtyKN1zECSDVy6NQQoCOnudHKh7OT5xh7Ws0lRTFAzaGLivGlzqyPTkt3DERlQe MiWFOGJSKllKNgZMFRML2/WyJmTsNp1q9/ywRTTtUIyl0LvHu497tvxtitFWizrwxXn/ib pVd1mIjzg8iGkhRPK+qc2Vxyvxk/N1Bfq9LpecQ0YtSmYCTeXCTbcawX5kmfBUXq38L7i4 PKbkrDysJD9ckqc4L54G468IR3xOaefaly9OdKO7u2fpGtfph8kH6mllb1AcArIfZ5zw+Z WbVIbudOSoJKp+O91I4PLWU2onpApcIOMgl9Jo7KaSCyAvqJyT9wCTQg8oFXEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774571454; a=rsa-sha256; cv=none; b=I5MHz/jnLFrZGSb7o5RnoYCmQhsHNXD71XfYhiOxtRL2HeZCduaxg4Z6XLSrL8zXIjbwVX nQ17PbZhtc0vFwc/Mcbh0PGagRzqWBSmXPACqqVXK1oGIFSYWjDQ7t8GsDrpdN1lxf0YQK QV1vNajOn1rOziMTF5F+oJftFRskpAMHr/UyNRMlejSVRqBx++/P+lSX6aMqUYc7vlgpEk LURymgMlAnDLuTPtLr6iYuDH2l2fVpQ3LER0tTquvjwHV08mZYGu7qnid/xM0vx6wK9Yld ApoKLucFP9n9JzpOJbmllL0d3VAM0Oj/D1gjiueCXbcjIM1fRPwaBIolDQHiFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774571454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/jhL+SLudsIxvGT8WL3wXtJw7QTFWRRZO+5FB+zZSA4=; b=Faky0D4U8fPeOZ0PawXBOJKdtsfK+xnaPQKetkLtTR7Zap9AuOyzO8dZzoDVpAPmqIm29j xD5kBMZpxsYUFe09cBzcddaf4hphFzGSAtU7k5hM4filk5blakl3lOAkkEUt9GLzNhWGye I/0rcjXf0EUIbGHI8seKj22o7cVSjHlZv2JbiJvlawwhlhcq/vKg/IeWQKPSZrGXT/soVl hDeFpSW0fm5eUWd7gFtUi2rQ908BC2cRMzFUEREyzVcM7OqBHZM/l+8+m96OcgCBYAgaSt mzw1THa76VoF/hgH1vfwStuUGfNdY4C88M/AtquuzQrpUIvwxkPkzN4TgoTgYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ65WNDzhc for ; Fri, 27 Mar 2026 00:30:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45a44 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 00:30:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8f3227f52756 - main - kqueue: Fix a race when adding an fd-based knote to a queue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f3227f527567aef53da845ab78da8e16d9051c1 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 00:30:54 +0000 Message-Id: <69c5cfbe.45a44.22e5dbbb@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8f3227f527567aef53da845ab78da8e16d9051c1 commit 8f3227f527567aef53da845ab78da8e16d9051c1 Author: Mark Johnston AuthorDate: 2026-03-27 00:24:18 +0000 Commit: Mark Johnston CommitDate: 2026-03-27 00:24:18 +0000 kqueue: Fix a race when adding an fd-based knote to a queue When registering a new kevent backed by a file descriptor, we first look up the file description with fget(), then lock the kqueue, then see if a corresponding knote is already registered. If not, and KN_ADD is specified, we add the knote to the kqueue. closefp_impl() interlocks with this process by calling knote_fdclose(), which locks each kqueue and checks to see if the fd is registered with a knote. But, if userspace closes an fd while a different thread is registering it, i.e., after fget() succeeds but before the kqueue is locked, then we may end up with a mismatch in the knote table, where the knote kn_fp field points to a different file description than the knote ident. Fix the problem by double-checking before registering a knote. Add a new fget_noref_unlocked() helper for this purpose. It is a clone of fget_noref(). We could simply use fget_noref(), but I like having an explicit unlocked variant. PR: 293382 Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55852 --- sys/kern/kern_event.c | 14 +++++++++++++- sys/sys/filedesc.h | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index e8e670d39d09..f984161bfcd6 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -28,7 +28,6 @@ * SUCH DAMAGE. */ -#include #include "opt_ktrace.h" #include "opt_kqueue.h" @@ -1803,6 +1802,19 @@ findkn: error = ENOMEM; goto done; } + + /* + * Now that the kqueue is locked, make sure the fd + * didn't change out from under us. + */ + if (fops->f_isfd && + fget_noref_unlocked(td->td_proc->p_fd, + kev->ident) != fp) { + KQ_UNLOCK(kq); + tkn = kn; + error = EBADF; + goto done; + } kn->kn_fp = fp; kn->kn_kq = kq; kn->kn_fop = fops; diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index 4817855443af..c6499a18b884 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -212,6 +212,8 @@ struct filedesc_to_leader { #ifdef _KERNEL +#include + /* Operation types for kern_dup(). */ enum { FDDUP_NORMAL, /* dup() behavior. */ @@ -303,6 +305,21 @@ int fget_only_user(struct filedesc *fdp, int fd, MPASS(refcount_load(&fp->f_count) > 0); \ }) +/* + * Look up a file description without requiring a lock. In general the result + * may be immediately invalidated after the function returns, the caller must + * handle this. + */ +static inline struct file * +fget_noref_unlocked(struct filedesc *fdp, int fd) +{ + if (__predict_false( + (u_int)fd >= (u_int)atomic_load_int(&fdp->fd_nfiles))) + return (NULL); + + return (atomic_load_ptr(&fdp->fd_ofiles[fd].fde_file)); +} + /* Requires a FILEDESC_{S,X}LOCK held and returns without a ref. */ static __inline struct file * fget_noref(struct filedesc *fdp, int fd) From nobody Fri Mar 27 00:30:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ82Xrgz6WQVw for ; Fri, 27 Mar 2026 00:30:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhhQ80LJzz3r7C for ; Fri, 27 Mar 2026 00:30:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774571456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjT191J4zNxElY8wWSEZ4k1wH5GlAnoYS6NqV5uNmDE=; b=qdbTE9Aub8e0egoCaksKECBk20y2B6YutHi0z1GnAdwEv4FQuHHzMcVBHqnANQW+aUA6SH gPR6yqFgWgkJzIYsUsuXLgOcjDsi8Rno93v0pIvXFZDWgmQjKjabKrModTdtubaMaAjIC/ 2iJi7GsPKBr292DOaJjEwwKca5YORSHjJRDe1+vwjwezr9c4j/PkqO0bByXJy8fwo5y6Zs DEaNH/azpZ+HZe/fSlWpbF/YZLPPmdNtBBIMNG5iv0Cy4mkKr0bDVuj/+H3GVlER9IrvRG 3pO/ZRPHjiIYs4Cg5I2j2nrF0Sc4lU6sNhbaNSoNdQ7YG/GTxgW/sPHOBMZSKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774571456; a=rsa-sha256; cv=none; b=xLiGi6WNgNNzPgdnypwUYMnL68KUApYTrOIk9a2qzTRi52hfzvbH4eJY/dsQKBQxSyfbR9 FbcK/byB9k7WCaSL52HKEoopMj+OusMdUiM39VPGjPzpTFjHm5V79hye0GYvrKuFc+2kY/ lcnW+mROb1wNZlA85jmyeTpnAP06zT5RYsF+5B9HG5tI97RdgCdig4NCYxoO6T8zuE3kIz SQRiOGfN4o7zeSGMJgWpuCVLvIB06oD7XlEG4L/hUxhZvoM6Lrb2aHQInmG7r/un83OeKD hQWaydmlEh5fVNX2UHMpzEDHckJ/o4Z5ZGuszIJsSkRk2Ahm3taNAJuWWFWo+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774571456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjT191J4zNxElY8wWSEZ4k1wH5GlAnoYS6NqV5uNmDE=; b=LbhoDcPZcKxmHx89HoqjP4ELzSCoU+zf3LuCRmrqm5kjWYG8hh4HsygO3c7NDaURNz7++s cadYg38C9WdWFdSrKXGy3gW8Co+WUObzbdalsrL3jikW7D4clQiBk0Uf/ptxrslp/neVOY M4aDE+jtU6GB6EC5Tv0ebxi0kAO4tfWbfkqOlTYnEeCotPx2zx6xsb4lW7SY/Kug/p6Qdc 9UL0fFgACI0bCmvmHjuyLj2avxH0Gy/mb8id/0c+XQkwdSV2BMOohwSzsLtru/rfie8QoP GmKGdaULX8uo6DdjUVQrHdRQoZxmK7LpnDxz/AItmKME8Txzm1M3oJJaXGNYYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ771mLzxG for ; Fri, 27 Mar 2026 00:30:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 449b9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 00:30:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: f404109e90ee - main - vm_fault: Avoid creating clean, writeable superpage mappings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f404109e90eee7f67ddaae3f52286d524a190fa0 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 00:30:55 +0000 Message-Id: <69c5cfbf.449b9.81b74b3@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f404109e90eee7f67ddaae3f52286d524a190fa0 commit f404109e90eee7f67ddaae3f52286d524a190fa0 Author: Mark Johnston AuthorDate: 2026-03-27 00:25:31 +0000 Commit: Mark Johnston CommitDate: 2026-03-27 00:25:31 +0000 vm_fault: Avoid creating clean, writeable superpage mappings The pmap layer requires writeable superpage mappings to be dirty. Otherwise, during demotion, we may miss a hw update of the PDE which sets the dirty bit. When creating a managed superpage mapping without promotion, i.e., with pmap_enter(psind == 1), we must therefore ensure that a writeable mapping is created with the dirty bit pre-set. To that end, vm_fault_soft_fast(), when handling a map entry with write permissions, checks whether all constituent pages are dirty, and if so, converts the fault to a write fault, so that pmap_enter() does the right thing. If one or more pages is not dirty, we simply create a 4K mapping. vm_fault_populate(), which may also create superpage mappings, did not do this, and thus could create mappings which violate the invariant described above. Modify it to instead check whether all constituent pages are already dirty, and if so, convert the fault to a write fault. Otherwise the mapping is downgraded to read-only. Reported by: ashafer Reviewed by: alc, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55536 --- sys/vm/vm_fault.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 88438320a17a..125311912c20 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -645,6 +645,8 @@ vm_fault_populate(struct faultstate *fs) pager_last = map_last; } for (pidx = pager_first; pidx <= pager_last; pidx += npages) { + bool writeable; + m = vm_page_lookup(fs->first_object, pidx); vaddr = fs->entry->start + IDX_TO_OFF(pidx) - fs->entry->offset; KASSERT(m != NULL && m->pindex == pidx, @@ -655,14 +657,28 @@ vm_fault_populate(struct faultstate *fs) !pmap_ps_enabled(fs->map->pmap))) psind--; + writeable = (fs->prot & VM_PROT_WRITE) != 0; npages = atop(pagesizes[psind]); for (i = 0; i < npages; i++) { vm_fault_populate_check_page(&m[i]); vm_fault_dirty(fs, &m[i]); + + /* + * If this is a writeable superpage mapping, all + * constituent pages and the new mapping should be + * dirty, otherwise the mapping should be read-only. + */ + if (writeable && psind > 0 && + (m[i].oflags & VPO_UNMANAGED) == 0 && + m[i].dirty != VM_PAGE_BITS_ALL) + writeable = false; } + if (psind > 0 && writeable) + fs->fault_type |= VM_PROT_WRITE; VM_OBJECT_WUNLOCK(fs->first_object); - rv = pmap_enter(fs->map->pmap, vaddr, m, fs->prot, fs->fault_type | - (fs->wired ? PMAP_ENTER_WIRED : 0), psind); + rv = pmap_enter(fs->map->pmap, vaddr, m, + fs->prot & ~(writeable ? 0 : VM_PROT_WRITE), + fs->fault_type | (fs->wired ? PMAP_ENTER_WIRED : 0), psind); /* * pmap_enter() may fail for a superpage mapping if additional From nobody Fri Mar 27 01:41:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhk001ScCz6WXR3 for ; Fri, 27 Mar 2026 01:41:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhjzz5jdqz40L8 for ; Fri, 27 Mar 2026 01:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774575711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NsKojJ5+JVcM51ecphigidtxuLHBONScwXvBV/kSUo=; b=yWva7hBULxDI7E8L4pQVGYD7MtdYp/T8+DYko8dQTu31rTLT07ORPXkz3t84iKk9mQngmM TkRDvDdo4kJoV2BPvSXqoRiOTJs0SS8P7k2K2FxRnhXFpP8ONjoS2PA2ES/+xLbNuShaRW FzLZJR9adAHeofAaFETcRlqBM3kH8FiqPw3YLqmS32Lz6IIQVfo6laDbQWd9Oeak3e2ftb ZH/hb1XtZTC14RpvPzOMaQ9YOqnhigwiE8KLLaX8Af+nV3BeY4IPWvNFSBW82rsIIF+kIQ 8IeO0J7sQD6sGv1i1ZTuGowUd4nu+ychueUfAK+gs9jjYsnvth7OlgUqs5yE7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774575711; a=rsa-sha256; cv=none; b=HFxXeq7RnSBqQEPqs8Bl16Yiivhoq6XZWpmPPgHoddqTpFj1r07xTEAnZDOczzgu7xJdOw aJtqOLDDZLa1HKOQwpeekPRK4aZVpAMrXqXzAIXkr2L4RoMpKJbiFn8gliAZmnJQbked1y dqFnqvF8x4GMW4zGDkTnJjSaSfBWiFf8qpbX9T2vzHvEL2UHMD2y56050p6wDf5xSVIWLH B3j3gTW6DBh94Chq3wPDIGF2Mp1E3P+i+EXS8SSXM0zaok1QMEN7ZQ4wGwidMZbkn3klTU lhKK9VIcSzjFag7pjq2zDDZGMUj6EJ0WnlojthESo0KhOhtTBXP5cgOCpxfNAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774575711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NsKojJ5+JVcM51ecphigidtxuLHBONScwXvBV/kSUo=; b=Wi9OOQA6+/n7D0gyse8mByP76pR0PSwqazlavoVr9QqvCsll3R3rdzccNifLi5n4KqA40W igdFfvkoLeLQqOg4UR4yt/6s/hBPviqhVOlZcrAVuFTwRzTyFn1vjWGlNebpjfLlK/iGW3 f6GpIN3AzxvA3LZ6PbDPGEE+5ykSH1jsDjBl+w9CtqHjHurbuPsA+jB+45CsQrr6BKUXYE PmDg4GmxCUoOejNucmRwuPxWUjDuvu41Af5VnwXOyBf1sc6wIDnx6Khojp3mDT2mkV7U8r ckNvMql+e8AYLmVnFIE+h23yia7/WMtB0Zam2wRco3Kps07GwkdqCr86Mm0CrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhjzz59Ftz2FF for ; Fri, 27 Mar 2026 01:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1de16 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:41:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5f08cdc1fb62 - main - x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 5f08cdc1fb62d157b6086b3ea844287e81e3c45d Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:41:46 +0000 Message-Id: <69c5e05a.1de16.72020a54@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5f08cdc1fb62d157b6086b3ea844287e81e3c45d commit 5f08cdc1fb62d157b6086b3ea844287e81e3c45d Author: Konstantin Belousov AuthorDate: 2026-02-27 04:32:58 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-27 01:20:42 +0000 x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h This is not the best location, but works for now. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56003 --- sys/x86/isa/atpic.c | 2 -- sys/x86/isa/icu.h | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/x86/isa/atpic.c b/sys/x86/isa/atpic.c index 56566ef8d64d..0c884c5fc484 100644 --- a/sys/x86/isa/atpic.c +++ b/sys/x86/isa/atpic.c @@ -68,8 +68,6 @@ #define IMEN_MASK(ai) (IRQ_MASK((ai)->at_irq)) -#define NUM_ISA_IRQS 16 - static void atpic_init(void *dummy); inthand_t diff --git a/sys/x86/isa/icu.h b/sys/x86/isa/icu.h index ae7303c0e36e..35734750b3b1 100644 --- a/sys/x86/isa/icu.h +++ b/sys/x86/isa/icu.h @@ -71,4 +71,6 @@ void atpic_handle_intr(u_int vector, struct trapframe *frame); void atpic_startup(void); +#define NUM_ISA_IRQS 16 + #endif /* !_X86_ISA_ICU_H_ */ From nobody Fri Mar 27 01:52:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD41M8Qz6WYP8 for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD35hp0z419R for ; Fri, 27 Mar 2026 01:52:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VWx/1M/WNNfPmMmBLjo3GJaTaDhWyxsEJ+B/JvNXV5U=; b=mFczUWB1eUGdr1gEd7P5VFJ3q15xk0KCKrzofYryAxA0Ep4/xQZi+7+7qcv59eEd6mgBqR aH2UyuhNnv299aaqc0xCYDFtl8CS7ryTDpQTQ2LDDFB6i+qnvo9iQIS8J8e1ANY1APXH65 CDkZ9f5As1mwQnIwbLzOuhNxxDf/xb67u5SnNyqHq1bKJDxvt+wrr2wgIbs5DORqwgkEOj cVxITRGCurv8IBGt9whmHZwuKv0E6tQNRdbjH8NS45cybOzEBz2f0YOrenH96e+RpM5B2B GWKofcGkcrc4gAHfq+/Y5ONkdPCHxckRpSc+Qd2h2NThTijdWe5li4L9tDvsOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576339; a=rsa-sha256; cv=none; b=ssCIPKGT87wFUcRlPKb1M93X33/BeUWr3avALgzMj/wGzTagpAMDmo8ycT4rV4RhmVVvdw XLcapQLT2bZ9d8Hq7cKKMEji9cfAzcH3EYnj4Ea0w0MGlkECAOUYrHzdyyZNK/LG/mwZxD lJ/9DdSEi9wHCaLiYdYZoK12KeM3QteyrEMGVi2PzijO/dilzLf6qXIHqwrpZnsf4qDEHQ tMtxxFvYEmq8OLjo3F8+khB4PhFuVXNA2KM5/rp0qpu9/2RLDqfNGf6TU/RcdZxfNZoz5p jw0/oIe0qm1fjY28df+l8ns092XHVjQXvTphbctXk79dwDJcCEtWgwBLzk2jtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VWx/1M/WNNfPmMmBLjo3GJaTaDhWyxsEJ+B/JvNXV5U=; b=C6+TlmAEFN7PsZGRRcOZuHc9OGqAHiR6ELXiF/whaPgqJVnrCQBOsCLgeWY06N+2Wy45gD iBw3pp9B/O4xtkMjUQf1jJBVZdqyeXOZ0PKNVm6UxrBPLuR2Qdnae407tFk1isKy3C/xoL Eff0HjNh6G03rhppRCitGH8fGvaNspnTTPyvArqDO7HGeNnyRogLWjyzfUlp+WwCliTf7G cxX8hc0NCPPf4YQo3A66oarkSQrPwx/CCysC3E38PHeQV+2VU7wLRu2ReD8UoykrM4MqKb lDmRbEy1DlNPHrdDXH3ypJjSQcu2rNevsKZIQNkWak8HrrEd5Y2uwKIZZTQjLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD35CMmz396 for ; Fri, 27 Mar 2026 01:52:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ea8b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 975969096784 - stable/15 - amd64: move efirt trap checks into the helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9759690967840388fcb68edc46b478b4d4df7c3b Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:19 +0000 Message-Id: <69c5e2d3.1ea8b.575d5784@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9759690967840388fcb68edc46b478b4d4df7c3b commit 9759690967840388fcb68edc46b478b4d4df7c3b Author: Konstantin Belousov AuthorDate: 2026-03-11 11:53:52 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: move efirt trap checks into the helper (cherry picked from commit 914a53570750ce5a104a5870403d7669656fddc3) --- sys/amd64/amd64/trap.c | 55 ++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index d173f57e2e4f..a4676f156431 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -218,6 +218,30 @@ trap_uprintf_signal(struct thread *td, struct trapframe *frame, register_t addr, fubyte((void *)(frame->tf_rip + 7))); } +static bool +trap_check_efirt(struct thread *td, struct trapframe *frame) +{ + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ + if ((td->td_pflags & TDP_EFIRT) != 0 && + curpcb->pcb_onfault != NULL) { + u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); + + if ((print_efirt_faults == 1 && cnt == 0) || + print_efirt_faults == 2) { + printf("EFI RT fault %s\n", + traptype_to_msg(frame->tf_trapno)); + trap_diag(frame, 0); + } + frame->tf_rip = (long)curpcb->pcb_onfault; + return (true); + } + return (false); +} + /* * Table of handlers for various segment load faults. */ @@ -465,24 +489,8 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); - /* - * Most likely, EFI RT faulted. This check prevents - * kdb from handling breakpoints set on the BIOS text, - * if such option is ever needed. - */ - if ((td->td_pflags & TDP_EFIRT) != 0 && - curpcb->pcb_onfault != NULL && type != T_PAGEFLT) { - u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - - if ((print_efirt_faults == 1 && cnt == 0) || - print_efirt_faults == 2) { - printf("EFI RT fault %s\n", - traptype_to_msg(type)); - trap_diag(frame, 0); - } - frame->tf_rip = (long)curpcb->pcb_onfault; + if (type != T_PAGEFLT && trap_check_efirt(td, frame)) return; - } switch (type) { case T_PAGEFLT: /* page fault */ @@ -891,19 +899,8 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) return (1); after_vmfault: if (td->td_intr_nesting_level == 0 && - curpcb->pcb_onfault != NULL) { - if ((td->td_pflags & TDP_EFIRT) != 0) { - u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - - if ((print_efirt_faults == 1 && cnt == 0) || - print_efirt_faults == 2) { - printf("EFI RT page fault\n"); - trap_diag(frame, eva); - } - } - frame->tf_rip = (long)curpcb->pcb_onfault; + trap_check_efirt(td, frame)) return (0); - } trap_fatal(frame, eva); return (-1); } From nobody Fri Mar 27 01:52:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD51PwNz6WYBy for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD46fxWz414N for ; Fri, 27 Mar 2026 01:52:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NIdKL5jKQM2n1M3gmd8mO1pg0w/ibOeKv89tUKCOzNE=; b=YfcJKFRsrPY8IdSIeVbUuIA7a9Dwvz4VFMs9TB/Gj3BHNGPsw6YeN9cA44zzAigq7ylUph Iu4xeIZNNEDM3GEliHOT1fmu0+Xb4r38fmVXwsu3i1noNeID6VWBBHEwMkyrnWvzoVPftZ xJfZ79jpNaIWDw0rAKYjIm13tNZ8kh/a/MBgLIZQ6eUaqof0tDSdTJkPRlS6c7H405srtk Ty0RmZ2P8T3OGxqrZLh16d8USX+wH8lrvIIYHd5o5zJ3N4RB+TTfcvlNRNcCa83dMM6xQJ I+G3xf3hZRmBXIJzyzlw9/Xyq2YwLdYQ/e02DT+DzV8f3B/nxkbbJMVm1CUCpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576341; a=rsa-sha256; cv=none; b=RTeqLy9+bq3xQ4F+O0ktpMfSJlDUmHBxBm4nINhAQ+k+g3bP3cy08A9hTpbOd0Uw3g4qns RoLoLVz8ty+nezs/LdCLNcUxxt0QeYIEQB9cioIKlG16wwKvATxxw8/c8Ivh53ySguSfjp 0I8kLVsMJ43cas542BTHqNjLNfqMh7C6auVCT1Td8qfcY6XQhmEAPylSb1fH+m6uEifaLm t98KPxFbkPm7/YFzfsLg62VDRqjG+m5aIai+XxyeQSEOnOei0Y/II3PAmLrndFCaju7Cik j9hnx/k1nM/ZDNW3drMbs4BS4Vpnhfzz1mKCthgUAahfM+tr9ZUcenOI79qxYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NIdKL5jKQM2n1M3gmd8mO1pg0w/ibOeKv89tUKCOzNE=; b=ZjZOnyxhZ7RIXDmGNOAyv0ARZL2ag3cmVzHziX8g7nUHfqWMrEMHmnDVZwQoWztr8EZazm zhoihbQ3pXLJ702VhVxOwXC+lfnwZhTkX5XKq03TlGr8yU+KPShncl/1vT+QFlKkC+fd2A Jqx8nUAmLk0hOV3qZz333wcDCJrg/0ifO/cdd7uonQrHXdUV696jVS6D5oQAJj75CUpVvo UjgEZe9JE2esOYlGmBKv9RecWoSLBlXjvzmTPKtq233W4TeSg4janUXx0hyqUljOJUNlYi Y0r7WYPmTuAxPo27krtGiWrvl0xqNT7hoMxrTrOw+Er2IP8LhzazbVXdBH45zA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD45zZ6z3Ck for ; Fri, 27 Mar 2026 01:52:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c858 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 81c2819ce8e3 - stable/15 - amd64: do reset %rip after page fault if pcb_onfault is set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 81c2819ce8e38900f04f0d96fc9709126dad9c75 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:20 +0000 Message-Id: <69c5e2d4.1c858.23d63b24@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=81c2819ce8e38900f04f0d96fc9709126dad9c75 commit 81c2819ce8e38900f04f0d96fc9709126dad9c75 Author: Konstantin Belousov AuthorDate: 2026-03-14 11:40:07 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: do reset %rip after page fault if pcb_onfault is set (cherry picked from commit 8365f877b1e4b6d4c30df72e0826ca60a412ce7d) --- sys/amd64/amd64/trap.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index a4676f156431..6393da186db5 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -219,15 +219,19 @@ trap_uprintf_signal(struct thread *td, struct trapframe *frame, register_t addr, } static bool -trap_check_efirt(struct thread *td, struct trapframe *frame) +trap_check_pcb_onfault(struct thread *td, struct trapframe *frame) { - /* - * Most likely, EFI RT faulted. This check prevents - * kdb from handling breakpoints set on the BIOS text, - * if such option is ever needed. - */ - if ((td->td_pflags & TDP_EFIRT) != 0 && - curpcb->pcb_onfault != NULL) { + bool res = false; + + if (curpcb->pcb_onfault == NULL) + return (res); + + if (__predict_false((td->td_pflags & TDP_EFIRT) != 0)) { + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); if ((print_efirt_faults == 1 && cnt == 0) || @@ -236,10 +240,13 @@ trap_check_efirt(struct thread *td, struct trapframe *frame) traptype_to_msg(frame->tf_trapno)); trap_diag(frame, 0); } - frame->tf_rip = (long)curpcb->pcb_onfault; - return (true); + res = true; + } else if (frame->tf_trapno == T_PAGEFLT) { + res = true; } - return (false); + if (res) + frame->tf_rip = (register_t)curpcb->pcb_onfault; + return (res); } /* @@ -489,7 +496,7 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); - if (type != T_PAGEFLT && trap_check_efirt(td, frame)) + if (type != T_PAGEFLT && trap_check_pcb_onfault(td, frame)) return; switch (type) { @@ -899,7 +906,7 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) return (1); after_vmfault: if (td->td_intr_nesting_level == 0 && - trap_check_efirt(td, frame)) + trap_check_pcb_onfault(td, frame)) return (0); trap_fatal(frame, eva); return (-1); From nobody Fri Mar 27 01:52:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD74M7Gz6WYSC for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD70nQRz41P7 for ; Fri, 27 Mar 2026 01:52:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PxvFvQBjMieoya6Q1HoGKVFz5zi20snZ5R3YRIko4Vs=; b=xPqT3v+y0ARUIZdwB3ndSz8E3yvZjlnVwLlCj4CTbYKc/bKX3jjCni/YcC/VbdbXWOAAia qY+iovPmourOVw3hRL+PhJjajB1M3vQ+Vg3Rh1vCIOusVqc4SX9jfvK1ReiI6tFETpHqsz b3U0A6zvUJxdFj8RdYhIivG7idWOz+xRVeaa6JPMYK7YpL0xKi28uJ5V7hocDyj/UKM7dy xPgo0L8plu7E2Cc88NKtMXGzY9rFTX4F96eYat7BdJUCIKLdOZh6iVJYx8tXvr/2tfpInA wTNvfKba2jdAxdc8WUHqyIu7FtNa0nXP+7D4HDtRYsr1dPjbMtYO6+T5p+onVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576343; a=rsa-sha256; cv=none; b=wwgfUhC8CSSfLpMNVpeoj+alK4ff2Yo0iL2U6O40Ypm0Vf+/hvQIQjcdK6cMdFVg1Cq/DK KpT7+hUwDOOqECO4jYOfRk59u3DsIZJDahD0PmZCa0WHErwKcrUei1NvaiphD8ALjBLIJI bI90r0xec0yHtgo05W+7HX6PwNL6NtRC9zTV5VLrXIz+aQQHKv93TZXi+cDRXl9uznOtu4 +7J7G1CKLJXXunmAvGoAuGudrtsfGpAMeZ2deb7DAy1OUw+WI5M3vGCpd/yxQVQoRsPhbZ fSza2Dhri+QbkpVRO3YRI3I54PT79hnPmLpUQceRorrDUi1gRsbXMmgR/we1JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PxvFvQBjMieoya6Q1HoGKVFz5zi20snZ5R3YRIko4Vs=; b=L9L26g/oKWGTM7G2449RZ44/VUK3isS4Beiif75WxrND0L8nSFSjQbJBy9UlUKt0p8pMIY Tj9f1zg3F/N6s9DjPfxx7hsV6xsCV8O9cWb3gHL1I2ZK7uAK65TXI4pEHnF7VLN1va7SUB MvbnMdpwjzgB99gd5JHS6/SCr2wpfvzJN9Fs0TfWsLdnlAu7S5ICUHblP0TjQsMLKI0xfu fl9n06MQRCfshNPM6rWslGlsnTLdtJJTP1yrJTuGe2CjrwR5c5lPpXiNtpR0sxjy3vNxCA 8goQTa5VvVe+fPCqiYZJS+q6/w4CyCBo698NUqBAPDBQsqLu3bGLSrHvieLxbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD7015Sz398 for ; Fri, 27 Mar 2026 01:52:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c6f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 06e71cfc1d5a - stable/15 - x86 FRED: add CPUID, MSR, and CR4 bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 06e71cfc1d5a32a28dd506f0b4adc4524d5775fd Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:22 +0000 Message-Id: <69c5e2d6.1c6f0.6657648d@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=06e71cfc1d5a32a28dd506f0b4adc4524d5775fd commit 06e71cfc1d5a32a28dd506f0b4adc4524d5775fd Author: Konstantin Belousov AuthorDate: 2026-02-07 10:22:22 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 x86 FRED: add CPUID, MSR, and CR4 bits (cherry picked from commit eb0a78f6cef0c2924b565d7c297cb08bb4de7cb0) --- sys/x86/include/specialreg.h | 23 +++++++++++++++++++++++ sys/x86/x86/identcpu.c | 11 +++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index e9dde5c3b46a..f14c8c56d0e3 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -91,6 +91,7 @@ #define CR4_LASS 0x08000000 /* Linear Address Space Separation */ #define CR4_LAM_SUP 0x10000000 /* Linear-Address Masking for Supervisor */ +#define CR4_FRED 0x100000000ull /* FRED */ /* * Bits in AMD64 special registers. EFER is 64 bits wide. @@ -548,6 +549,10 @@ * CPUID instruction 7 Structured Extended Features, leaf 1 eax info */ #define CPUID_STDEXT4_LASS 0x00000040 +#define CPUID_STDEXT4_FRED 0x00020000 +#define CPUID_STDEXT4_LKGS 0x00040000 +#define CPUID_STDEXT4_WRMSRNS 0x00080000 +#define CPUID_STDEXT4_NMISRC 0x00100000 #define CPUID_STDEXT4_LAM 0x04000000 /* CPUID_HYBRID_ID leaf 0x1a */ @@ -643,6 +648,15 @@ #define MSR_IA32_ENERGY_PERF_BIAS 0x1b0 #define MSR_IA32_PKG_THERM_STATUS 0x1b1 #define MSR_IA32_PKG_THERM_INTERRUPT 0x1b2 +#define MSR_FRED_RSP0 0x1cc +#define MSR_FRED_RSP1 0x1cd +#define MSR_FRED_RSP2 0x1ce +#define MSR_FRED_RSP3 0x1cf +#define MSR_FRED_STKLVLS 0x1d0 +#define MSR_FRED_SSP1 0x1d1 +#define MSR_FRED_SSP2 0x1d2 +#define MSR_FRED_SSP3 0x1d3 +#define MSR_FRED_CONFIG 0x1d4 #define MSR_DEBUGCTLMSR 0x1d9 #define MSR_LASTBRANCHFROMIP 0x1db #define MSR_LASTBRANCHTOIP 0x1dc @@ -924,6 +938,15 @@ /* MSR IA32_PKG_THERM_INTERRUPT */ #define IA32_PKG_THERM_INTERRUPT_HFI_ENABLE (0x1ULL << 25) +/* MSR IA32_FRED_CONFIG */ +#define IA32_FRED_CONFIG_CSL_MASK 0x00000003 +#define IA32_FRED_CONFIG_DECR_SSP 0x00000008 +#define IA32_FRED_CONFIG_REDZONESZ_MASK 0x000000e0 +#define IA32_FRED_CONFIG_REDZONESZ_SHIFT 6 +#define IA32_FRED_CONFIG_REDZONESZ_MULT 64 +#define IA32_FRED_CONFIG_EXTINT_SLC_MASK 0x00000600 +#define IA32_FRED_CONFIG_EXTINT_SLC_SHIFT 9 + /* * PAT modes. */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 4d64eaf78b29..e8ac6d2a812c 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -1046,16 +1046,19 @@ printcpuinfo(void) "\040SSBD" ); } -#define STDEXT4_MASK (CPUID_STDEXT4_LASS | CPUID_STDEXT4_LAM) - if ((cpu_stdext_feature4 & STDEXT4_MASK) != 0) { + + if (cpu_stdext_feature4 != 0) { printf("\n Structured Extended Features4=0x%b", - cpu_stdext_feature4 & STDEXT4_MASK, + cpu_stdext_feature4, "\020" "\007LASS" + "\022FRED" + "\023LKGS" + "\024WRMSRNS" + "\025NMISRC" "\033LAM" ); } -#undef STDEXT4_MASK if ((cpu_feature2 & CPUID2_XSAVE) != 0) { cpuid_count(0xd, 0x1, regs); From nobody Fri Mar 27 01:52:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD72yvFz6WYPC for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD572VRz417C for ; Fri, 27 Mar 2026 01:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qqlJsqzqWl1JNzvTAggNX9hClkOnlqPLVgpB8YsdTXw=; b=AO1+yiBUHWTgwOXszBRqVma2eE1+1zhQ/VYA2ImsqCgaT2uNmTTYWL4/WITDsbNTWHcLDW Dec54OOj9KD4jfeCwbkBJ9QMKtDmhyffu+GqUB2/yeFMyTobmeCJtSR3FNb8lXm0BFYLwk 7upo1yLqNzDFIcn8e71UYwnPdD/zNB82bJZWu0jqVGkM+Yi1CtexnaW6JjN5TNhn5nw00z MBhThZmXWuRFPmlyineBaDk+8Ql+Kxtp4URHgnARo+NJ1EDUvyF2Qq7hGixS7OrkiUyjky pISU1rlndnCJceLDAvrwxC+YQ8nYXhiV5mC3jsauNIliiLIBbsY3aLibCHbKBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576342; a=rsa-sha256; cv=none; b=tpuIsIVQvanUXVu0aAjKfsreQw18pK36nDacl8P5BdDB1v5JexuJERe5G9V1+qjUTWro1l GChrx4rQrIKyTjAS/Qk2Wy4PC6Wnxowb6fn0X2PNiaEjjPa4GO1NCL5Hd2kqfen4srZIka bEjswJTgxkmLybQVJQfjBc0k+nyngZ8bqUUKiFdC0udPzy0EvyYrg5Hcg6EMFzW5+7srhN oubkieDUJk2CwPhmbE+3KuMZCFLcM3PykWuxLY5IeIrZt1Rko+7Qf3FKwlEGtvd8Csf1Ju ofqyRlilMNl9zy9MuRDlKk756wLzLjBw7qXdPKjzQ97ADof1Uii+pXdPqFnwlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qqlJsqzqWl1JNzvTAggNX9hClkOnlqPLVgpB8YsdTXw=; b=tLHoukir3f3cPBcvSwqJtk1IXOGHoaABh9h0ynsqaPGtOOOC6H9ymU7vzvf8DzrHVK2FcV 3wB6fLdXpnKp+3dF8kVgDd5/0h9Ilz1k9/e7m5CuIhb4ljnKjXYIHv2++P/Hc8Yy0VEDaG HXbxZzNpm3+UJOW8CQdmzQedehaILM+0pKZnZ9aTkD/Iq01Bev0+TMxLDxFPQlqai+csu1 nka0x15x0zD/pZCdB/2rDBDmAc184jGFTzLpfCuaA/KtLBiwgsgmDAjCixhmMTNyGQAilk djjreW4IR6iYnlkyhyxFPlf2J405JUZlarJLgiUMPaBd+bkn6M2tQgLWi5Kp2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD56RY4z3k3 for ; Fri, 27 Mar 2026 01:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f887 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0d98b06ab1ce - stable/15 - amd64: move code to clear PSL_T on debug exception into a helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0d98b06ab1ce08d5b0b2d403a97d83410f2da425 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:21 +0000 Message-Id: <69c5e2d5.1f887.65695a35@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0d98b06ab1ce08d5b0b2d403a97d83410f2da425 commit 0d98b06ab1ce08d5b0b2d403a97d83410f2da425 Author: Konstantin Belousov AuthorDate: 2026-03-12 09:40:44 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: move code to clear PSL_T on debug exception into a helper (cherry picked from commit d92ebde76430e99f78156fb1d865a18916380aed) --- sys/amd64/amd64/trap.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 6393da186db5..3a9323936d2d 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -249,6 +249,17 @@ trap_check_pcb_onfault(struct thread *td, struct trapframe *frame) return (res); } +static void +trap_clear_step(struct thread *td, struct trapframe *frame) +{ + PROC_LOCK(td->td_proc); + if ((td->td_dbgflags & TDB_STEP) != 0) { + td->td_frame->tf_rflags &= ~PSL_T; + td->td_dbgflags &= ~TDB_STEP; + } + PROC_UNLOCK(td->td_proc); +} + /* * Table of handlers for various segment load faults. */ @@ -395,14 +406,8 @@ trap(struct trapframe *frame) signo = SIGTRAP; ucode = TRAP_TRACE; dr6 = rdr6(); - if ((dr6 & DBREG_DR6_BS) != 0) { - PROC_LOCK(td->td_proc); - if ((td->td_dbgflags & TDB_STEP) != 0) { - td->td_frame->tf_rflags &= ~PSL_T; - td->td_dbgflags &= ~TDB_STEP; - } - PROC_UNLOCK(td->td_proc); - } + if ((dr6 & DBREG_DR6_BS) != 0) + trap_clear_step(td, frame); break; case T_ARITHTRAP: /* arithmetic trap */ From nobody Fri Mar 27 01:52:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD84zKTz6WYPD for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD817Gcz41P8 for ; Fri, 27 Mar 2026 01: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=1774576344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fSMvvHabQ5Gx+uWdHmpUUOxS+CjGNKlQxD1QFffZ5+s=; b=IA2hFQiU4aU2zgVAdcbymUdRqnvrVRuDzWcC0WpZgU9KhDS+zgdQVsgkvqN3NGUetFAkoU eUXTEMsteLeByaqpxx0E+B2ZrUAfJKjjWAmN/UPBEQu55FXPNZDcpT2MmQjULFssXf4wUX C5q9yjKDgXX74kWh4QW+13IYYtgKtRNxNIUdwBfwGpMplWXxl3oXFwzc9QHvQIcTeYThUE oWVhAOdB2kLYblIuDQLzywmoI5e7SXos7SOnGAf/Euxhpqgcd1zygwdIlC/fDpEf6x6d+r 1OPXv1oC34cfiftw2JsWCewAoexmZkheKrqy6e1NF8QsXRx0VTrwU7EQeAdwPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576344; a=rsa-sha256; cv=none; b=h6u16saOgsIGHw3Ud5OjEaFQkSVplI7YF65+JGgEpDGSGydhOarK/j9S5fRS/HHwGkdNzQ QAPt3B9wZ2ISJMjJ3lVSg8y9p6Q4iqJABLm/3P1xue2Qhhp6EX4iRJvsDxRtbqtgzGpuU4 0/Vl8CctHJZ3gvOF6bIMxDJGdoOtH0eGbbzvKwHTYcCf9H+iEtH2gl9PtbcdyQGlJXub57 iJd5jELlOhbErdBrvbDIAwY7mFIPV3FnEvXW6aNEUAs9N6+eVruJr9sGxCvpQ5qw8sgYYd 8tENpL2nFxxGFhJqKveS9OLVPBpV2DQg27IY+kxj/sNhRx6HniVPodhn8JdvvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fSMvvHabQ5Gx+uWdHmpUUOxS+CjGNKlQxD1QFffZ5+s=; b=jUImQZybcLl6Wv2NpwfsbW924GGq95Zn36oqa9X/WzG+CcQLEe7+yhMJ7blG+7+Eadi9Yf lJcvXy3O5htCye7ce+f0frCA9Ud76xcZRoWkr8u9olTNgrTmYZD2XnVLi8jochB16QtEg8 BXuWiMRsb6f16ow05Z4MssD32OV88cX5Mr+Yib+seYFg3Jt+fuiTxU6vQNwavU48E0pxOU 7Svb3o5RFVq0kUzJuiq1AFoJ3f4uEdinJczr8DtNLS61U9zSH5Zv/DhYNhytsfy6DkMTd2 xBSGGjDZMRE8kbpcEIjqC4bm25dHZZIdHPQ1hM7FDDioLxb+AuLq8yrGxo4hOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD80cXbz399 for ; Fri, 27 Mar 2026 01:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f032 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 41ca79b247ea - stable/15 - amd64: move code to check for traps with interrupts disabled into helpers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 41ca79b247ea8ea228ba8d0d3fd561cf8fbecc72 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:24 +0000 Message-Id: <69c5e2d8.1f032.45421d59@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=41ca79b247ea8ea228ba8d0d3fd561cf8fbecc72 commit 41ca79b247ea8ea228ba8d0d3fd561cf8fbecc72 Author: Konstantin Belousov AuthorDate: 2026-03-11 12:04:55 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: move code to check for traps with interrupts disabled into helpers (cherry picked from commit e18449fbe2731399862e82e61fffaadd6739642c) --- sys/amd64/amd64/trap.c | 96 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 38 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 3a9323936d2d..e4e4e98fbf7d 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -260,6 +260,62 @@ trap_clear_step(struct thread *td, struct trapframe *frame) PROC_UNLOCK(td->td_proc); } +/* + * Warn with a message on the user's tty if application code has + * disabled interrupts and then trapped. + */ +static void +trap_check_intr_user(struct thread *td, struct trapframe *frame) +{ + MPASS(TRAPF_USERMODE(frame)); + + if (__predict_true((frame->tf_rflags & PSL_I) != 0)) + return; + + uprintf("pid %ld (%s): trap %d (%s) with interrupts disabled\n", + (long)td->td_proc->p_pid, td->td_name, frame->tf_trapno, + trap_msg[frame->tf_trapno]); +} + +/* + * Some exceptions can occur on kernel attempt to reload a corrupted + * user context, which is done with interrupts enabled. Interrupts + * such as NMIs and debugging faults can be also taken in the kernel + * while interrupts are disabled. Other traps shouldn't occur with + * interrupts disabled unless the kernel has a bug. Re-enable + * interrupts in case this occurs, unless the interrupted thread holds + * a spin lock. + */ +static void +trap_check_intr_kernel(struct thread *td, struct trapframe *frame) +{ + MPASS(!TRAPF_USERMODE(frame)); + + if (__predict_true((frame->tf_rflags & PSL_I) != 0)) + return; + + switch (frame->tf_trapno) { + case T_NMI: + case T_BPTFLT: + case T_TRCTRAP: + case T_PROTFLT: + case T_SEGNPFLT: + case T_STKFLT: + break; + default: + printf("kernel trap %d with interrupts disabled\n", + frame->tf_trapno); + + /* + * We shouldn't enable interrupts while holding a + * spin lock. + */ + if (td->td_md.md_spinlock_count == 0) + enable_intr(); + break; + } +} + /* * Table of handlers for various segment load faults. */ @@ -337,46 +393,9 @@ trap(struct trapframe *frame) return; } - if ((frame->tf_rflags & PSL_I) == 0) { - /* - * Buggy application or kernel code has disabled - * interrupts and then trapped. Enabling interrupts - * now is wrong, but it is better than running with - * interrupts disabled until they are accidentally - * enabled later. - */ - if (TRAPF_USERMODE(frame)) { - uprintf( - "pid %ld (%s): trap %d (%s) " - "with interrupts disabled\n", - (long)curproc->p_pid, curthread->td_name, type, - trap_msg[type]); - } else { - switch (type) { - case T_NMI: - case T_BPTFLT: - case T_TRCTRAP: - case T_PROTFLT: - case T_SEGNPFLT: - case T_STKFLT: - break; - default: - printf( - "kernel trap %d with interrupts disabled\n", - type); - - /* - * We shouldn't enable interrupts while holding a - * spin lock. - */ - if (td->td_md.md_spinlock_count == 0) - enable_intr(); - } - } - } - if (TRAPF_USERMODE(frame)) { /* user trap */ + trap_check_intr_user(td, frame); td->td_pticks = 0; td->td_frame = frame; @@ -497,6 +516,7 @@ trap(struct trapframe *frame) } } else { /* kernel trap */ + trap_check_intr_kernel(td, frame); KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); From nobody Fri Mar 27 01:52:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDB4pvdz6WY3s for ; Fri, 27 Mar 2026 01:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkD91x1Rz412y for ; Fri, 27 Mar 2026 01:52:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4HqntNZPrxZYSrHGA52T2zuBOdU1Z8qbedy0nmK6dak=; b=mCpZr2Xw5de9C94cta0MVZDUS4FMXCH4t1wcvTEa08bpOjE3O1DAOTRuzJSg/C3IYv7czJ cRAJAUeUaHvTwvE0veqtHbiStgfGHYiXIX9F/pgOCe1tiTrGcIEuALUktxpHAzkW8BZag5 yDzjqBVjfPUjAMyXAxzT1k24dXusLBmHipvWaGfLptcXmFfernAJ5A6i68lISiWxSSQq8c iOBd07qGNSG/nlPw0B96RyfZ81xvfBePNji6Mdq619Y3UuK/ru3VHarEyiXW7e8cCaoFok AW/N04zc6BOWF6YnpNM5FvRnJjG2jFdhAUd9FzTIzx91+LtqdKtteWjBcD3sGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576345; a=rsa-sha256; cv=none; b=XohPyM1weyhGavqdFCAv0NWaQxKhTyHUKs4sWwPpeVkEQ3Uh9ZoqWGwJna7ahy9XspOwEu 0wdFtMEpwjPhkRc2h35CUmQxgR9nJpax8wWIzx9LxxQFVfXTzv7OjMReLRV/3xZi8AW71X tmYDBddN1TxLOApgYV6vgYgPWjLhQpPIy9JovEzx9Fy/iJcVtaJIcgO8wP2Mf1LLEP4Nq3 Bm/Ph1jTKKh0ZHW1uZR6v10LMEZdHw8zDPBVEWKAjN1Ns4Ws7bgRWNyNsFJBL4987aHal6 huc2IdRNpC/iEmsaV4vf4aMIZQoV+p01gyGc49t9buX+OQCQbReOYntgQRSSBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4HqntNZPrxZYSrHGA52T2zuBOdU1Z8qbedy0nmK6dak=; b=AAARp7XsNUodJb047zEacUe7PDi96GgKncf/u/E9UvdsauPHeTQrauXQ+OEFSsvlAdx92N Snbvcd3CdXHLOnz+Kr+j7GbMucOlCRTaMr+lldPbHFrnC4P4IKdo0V9KsI4vZLu2LkhS7U qu3v9+fY9S4Nt/N2HswFHI59c2cRNn2aAvIasJ79W81pVMjcUvXVBwXipbGlYQkh/GfKFI PAkVbsY9hBhkeN2kKcU7Txe/LgkUx74euAPcJn68EsCoobGpfPRKaQm3qqAto5A4vdVH3M 3Jayjm71ukbOsU6jZv5Dn4jf1DTWijpiSYMNOq4OASdPh0RbKBDjV/Q5n41/JQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkD91Snyz3Cq for ; Fri, 27 Mar 2026 01:52:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f901 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 870bb8d0d32b - stable/15 - amd64: check that %cs and %ss values from ucontext fit into registers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 870bb8d0d32b029e2ce074d93ea269f0c637e19f Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:25 +0000 Message-Id: <69c5e2d9.1f901.7c7edeed@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=870bb8d0d32b029e2ce074d93ea269f0c637e19f commit 870bb8d0d32b029e2ce074d93ea269f0c637e19f Author: Konstantin Belousov AuthorDate: 2026-03-15 07:17:24 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: check that %cs and %ss values from ucontext fit into registers (cherry picked from commit 8892176c86db18bd175cc00a2d52dff080babec1) --- sys/amd64/amd64/exec_machdep.c | 19 +++++++++++++++++++ sys/amd64/ia32/ia32_signal.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/sys/amd64/amd64/exec_machdep.c b/sys/amd64/amd64/exec_machdep.c index 6752b716deb5..a4880175990f 100644 --- a/sys/amd64/amd64/exec_machdep.c +++ b/sys/amd64/amd64/exec_machdep.c @@ -94,6 +94,15 @@ _Static_assert(sizeof(mcontext_t) == 800, "mcontext_t size incorrect"); _Static_assert(sizeof(ucontext_t) == 880, "ucontext_t size incorrect"); _Static_assert(sizeof(siginfo_t) == 80, "siginfo_t size incorrect"); +/* + * Check that the value r is 16bit, i.e. fits into a segment register. + */ +static bool +is_seg_val(register_t r) +{ + return ((uint64_t)r <= 0xffff); +} + /* * Send an interrupt to process. * @@ -262,6 +271,14 @@ sys_sigreturn(struct thread *td, struct sigreturn_args *uap) return (EINVAL); } + if (!is_seg_val(ucp->uc_mcontext.mc_ss) || + !is_seg_val(ucp->uc_mcontext.mc_cs)) { + uprintf("pid %d (%s): sigreturn cs = %#lx ss = %#lx\n", + p->p_pid, td->td_name, ucp->uc_mcontext.mc_cs, + ucp->uc_mcontext.mc_ss); + return (EINVAL); + } + /* * Don't allow users to load a valid privileged %cs. Let the * hardware check for invalid selectors, excess privilege in @@ -659,6 +676,8 @@ set_mcontext(struct thread *td, mcontext_t *mcp) if (mcp->mc_len != sizeof(*mcp) || (mcp->mc_flags & ~_MC_FLAG_MASK) != 0) return (EINVAL); + if (!is_seg_val(mcp->mc_ss) || !is_seg_val(mcp->mc_cs)) + return (EINVAL); rflags = (mcp->mc_rflags & PSL_USERCHANGE) | (tp->tf_rflags & ~PSL_USERCHANGE); if (mcp->mc_flags & _MC_HASFPXSTATE) { diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index 54e170450dba..3b26244932b4 100644 --- a/sys/amd64/ia32/ia32_signal.c +++ b/sys/amd64/ia32/ia32_signal.c @@ -88,6 +88,15 @@ extern char _binary_elf_vdso32_so_1_size; static void freebsd4_ia32_sendsig(sig_t, ksiginfo_t *, sigset_t *); #endif +/* + * Check that the value r is 16bit, i.e. fits into a segment register. + */ +static bool +is_seg_val(uint32_t r) +{ + return (r <= 0xffff); +} + static void ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp, char **xfpusave, size_t *xfpusave_len) @@ -205,6 +214,8 @@ ia32_set_mcontext(struct thread *td, struct ia32_mcontext *mcp) tp = td->td_frame; if (mcp->mc_len != sizeof(*mcp)) return (EINVAL); + if (!is_seg_val(mcp->mc_ss) || !is_seg_val(mcp->mc_cs)) + return (EINVAL); rflags = (mcp->mc_eflags & PSL_USERCHANGE) | (tp->tf_rflags & ~PSL_USERCHANGE); if (mcp->mc_flags & _MC_IA32_HASFPXSTATE) { @@ -707,6 +718,8 @@ ofreebsd32_sigreturn(struct thread *td, struct ofreebsd32_sigreturn_args *uap) if (!EFL_SECURE(eflags, regs->tf_rflags)) { return (EINVAL); } + if (!is_seg_val(scp->sc_ss) || !is_seg_val(scp->sc_cs)) + return (EINVAL); if (!CS_SECURE(scp->sc_cs)) { ksiginfo_init_trap(&ksi); ksi.ksi_signo = SIGBUS; @@ -772,6 +785,13 @@ freebsd4_freebsd32_sigreturn(struct thread *td, return (EINVAL); } + if (!is_seg_val(ucp->uc_mcontext.mc_ss) || + !is_seg_val(ucp->uc_mcontext.mc_cs)) { + uprintf("pid %d (%s): sigreturn cs = %#x ss = %#x\n", + td->td_proc->p_pid, td->td_name, ucp->uc_mcontext.mc_cs, + ucp->uc_mcontext.mc_ss); + return (EINVAL); + } /* * Don't allow users to load a valid privileged %cs. Let the * hardware check for invalid selectors, excess privilege in @@ -841,6 +861,14 @@ freebsd32_sigreturn(struct thread *td, struct freebsd32_sigreturn_args *uap) return (EINVAL); } + if (!is_seg_val(ucp->uc_mcontext.mc_ss) || + !is_seg_val(ucp->uc_mcontext.mc_cs)) { + uprintf("pid %d (%s): sigreturn cs = %#x ss = %#x\n", + td->td_proc->p_pid, td->td_name, ucp->uc_mcontext.mc_cs, + ucp->uc_mcontext.mc_ss); + return (EINVAL); + } + /* * Don't allow users to load a valid privileged %cs. Let the * hardware check for invalid selectors, excess privilege in From nobody Fri Mar 27 01:52:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDB4qJqz6WY1f for ; Fri, 27 Mar 2026 01:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDB2MmQz4130 for ; Fri, 27 Mar 2026 01:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0MRYAAXUlVMHsPjcfvdea+nnlfZsoz+40grS/6AvRHY=; b=oWXh7fNuQEAz6Bn6rWP7DP6WuyyeKLp7YTYH/JuhZJSO3BZiX5eUxEtNhZv8LkppZoAN4E ez45EZFrEPHwzZD/vyTVU0LIazTd1/z/sqZzHvyW0MBxbDC31DaikPPBaBaOWbipXXt8/n iIHHZ+F1AFUvRnWFQp9ckSMOv2djH41eVstDCZG6X1H+7G9bADnW5wKSeMciUHSmdLahTg 359xKRrS93UX6YPFqLQo7IgPhvqRUv7QN6zNxEazrp0E8XqMm0Qs2NkcmGTXzWs3og2HmY 6em0a3Z2iNMvVWP6Hh+KHKRLFo5YU68CGFjBYJYvci3AMFZVoW1UWf0NMRykjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576346; a=rsa-sha256; cv=none; b=EOZG1wimEfIzS71yuYheMmbaY+ZF4x0V20Jwtd5gWGyyEQUMbbasp2Tdhkum8ssy6ZU15J sqvfWvyM0h65LtB0Bf4xesL4vY0XXPPpSC2SLuVjOV8yOJ6JlXPceks2GY7z2Cgy32R2ci TWCuxdjlMemTxLZLZVu6RZBtaJtZIcSd9lAuiLLfZeGGqwkZo0PNJyul0srRfu1tcUuWQ1 Lk9W0MbJ/MH3YwWRWFmo3tlQldzUc6ZepJ5X5PnHGPyBDFfUxiI1nAXmRsjYIATxdCzVGB ye6/hzXXH7I6cTFZEwkpUoC7FOhlHZiMiZd3zAIOAKF8TQ6r60lr1ys7XaSL6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0MRYAAXUlVMHsPjcfvdea+nnlfZsoz+40grS/6AvRHY=; b=wwWANS3Tlu7TyXOomOLpETs5S2ORCjVu1mavugsE8Jm0skkXAdGaiJ6PdgS7YvEWEdhlOn ez69/eOv53BYWkbLb1w3pfQkBxgClsdZp9Ahie1vWcu2UmJ7DyR7OgsZ1IwRXXPuztFbYv NRdhH9hXDgY8PNPCDBlQJxFOM3YaJn/sMl4mnQWmf9DG1WL5VwY9Aht+FhMh7cq+dngppW HzAWTtTPS4O0nzbtsyt92fZemMH29wDfbZBConRmxS6YchIw6z6eujICnXgSLWIFCHZY9H LWWwJggcX4ZsMuZ1QmVLtPgz2pzm9Kt+rAczbGsjaZZMxhPfBI4xYSvWBGXvvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDB1stdz3TY for ; Fri, 27 Mar 2026 01:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1edaa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9f174a7fc758 - stable/15 - x86 FRED: add hardware definitions for the trap frames fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9f174a7fc758c5c3d9b7861e0b0cdda5e7edf14c Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:26 +0000 Message-Id: <69c5e2da.1edaa.b4c2e04@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9f174a7fc758c5c3d9b7861e0b0cdda5e7edf14c commit 9f174a7fc758c5c3d9b7861e0b0cdda5e7edf14c Author: Konstantin Belousov AuthorDate: 2026-02-07 03:35:17 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 x86 FRED: add hardware definitions for the trap frames fields (cherry picked from commit e90950627327de9226b052851b36f341bc72b746) --- sys/amd64/amd64/trap.c | 17 ++++++++------- sys/x86/include/frame.h | 55 +++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 58 insertions(+), 14 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index e4e4e98fbf7d..8a1d1528e6da 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -940,7 +940,7 @@ after_vmfault: static void trap_diag(struct trapframe *frame, vm_offset_t eva) { - int code, ss; + int code; u_int type; struct soft_segment_descriptor softseg; struct user_segment_descriptor *gdt; @@ -948,7 +948,7 @@ trap_diag(struct trapframe *frame, vm_offset_t eva) code = frame->tf_err; type = frame->tf_trapno; gdt = *PCPU_PTR(gdt); - sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)], &softseg); + sdtossd(&gdt[IDXSEL(frame->tf_cs)], &softseg); printf("\n\nFatal trap %d: %s while in %s mode\n", type, type < nitems(trap_msg) ? trap_msg[type] : UNKNOWN, @@ -967,11 +967,12 @@ trap_diag(struct trapframe *frame, vm_offset_t eva) code & PGEX_RSV ? "reserved bits in PTE" : code & PGEX_P ? "protection violation" : "page not present"); } - printf("instruction pointer = 0x%lx:0x%lx\n", - frame->tf_cs & 0xffff, frame->tf_rip); - ss = frame->tf_ss & 0xffff; - printf("stack pointer = 0x%x:0x%lx\n", ss, frame->tf_rsp); - printf("frame pointer = 0x%x:0x%lx\n", ss, frame->tf_rbp); + printf("instruction pointer = %#hx:%#lx\n", + frame->tf_cs, frame->tf_rip); + printf("stack pointer = %#hx:%#lx\n", frame->tf_ss, + frame->tf_rsp); + printf("frame pointer = %#hx:%#lx\n", frame->tf_ss, + frame->tf_rbp); printf("code segment = base 0x%lx, limit 0x%lx, type 0x%x\n", softseg.ssd_base, softseg.ssd_limit, softseg.ssd_type); printf(" = DPL %d, pres %d, long %d, def32 %d, gran %d\n", @@ -1065,7 +1066,7 @@ dblfault_handler(struct trapframe *frame) "r8 %#lx r9 %#lx r10 %#lx\n" "r11 %#lx r12 %#lx r13 %#lx\n" "r14 %#lx r15 %#lx rflags %#lx\n" - "cs %#lx ss %#lx ds %#hx es %#hx fs %#hx gs %#hx\n" + "cs %#hx ss %#hx ds %#hx es %#hx fs %#hx gs %#hx\n" "fsbase %#lx gsbase %#lx kgsbase %#lx\n", frame->tf_rip, frame->tf_rsp, frame->tf_rbp, frame->tf_rax, frame->tf_rdx, frame->tf_rbx, diff --git a/sys/x86/include/frame.h b/sys/x86/include/frame.h index feef41ac7bfe..a6444d55cfaf 100644 --- a/sys/x86/include/frame.h +++ b/sys/x86/include/frame.h @@ -143,17 +143,60 @@ struct trapframe { /* below portion defined in hardware */ register_t tf_err; register_t tf_rip; - register_t tf_cs; + uint16_t tf_cs; + uint16_t tf_fred_evinfo3; + uint32_t tf_fred_zero2; register_t tf_rflags; /* the amd64 frame always has the stack registers */ register_t tf_rsp; - register_t tf_ss; + uint16_t tf_ss; + uint16_t tf_fred_evinfo1; + uint32_t tf_fred_evinfo2; + /* two long words added by FRED */ + uint64_t tf_fred_evdata; + uint64_t tf_fred_zero1; }; -#define TF_HASSEGS 0x1 -#define TF_HASBASES 0x2 -#define TF_HASFPXSTATE 0x4 -#define TF_RESERV0 0x8 /* no tlsbase in the trapframe */ +#define TF_FRED_EVDATA_B0 0x0000000000000001ull /* %dr6 B0 */ +#define TF_FRED_EVDATA_B1 0x0000000000000002ull +#define TF_FRED_EVDATA_B2 0x0000000000000004ull +#define TF_FRED_EVDATA_B3 0x0000000000000008ull +#define TF_FRED_EVDATA_BLD 0x0000000000000800ull /* bus lock acq + detected */ +#define TF_FRED_EVDATA_BD 0x0000000000002000ull /* dr access detected */ +#define TF_FRED_EVDATA_BS 0x0000000000004000ull /* single step */ +#define TF_FRED_EVDATA_RTM 0x0000000000010000ull /* #db or #bp in RTM */ + +#define TF_FRED_EVINFO1_STIINT 0x0001 /* hw intr blocked by STI */ +#define TF_FRED_EVINFO1_SYSCALL 0x0002 /* SYSCALL/SYSENTER/INTn */ +#define TF_FRED_EVINFO1_NMI 0x0004 /* NMI */ + +#define TF_FRED_EVINFO2_VECMASK 0x000000ff /* event vector mask */ +#define TF_FRED_EVINFO2_TYPEMASK 0x000f0000 /* event type mask */ +#define TF_FRED_EVINFO2_TYPE_EXTINT 0x00000000 +#define TF_FRED_EVINFO2_TYPE_NMI 0x00020000 +#define TF_FRED_EVINFO2_TYPE_EXC 0x00030000 +#define TF_FRED_EVINFO2_TYPE_INTn 0x00040000 +#define TF_FRED_EVINFO2_TYPE_INT1 0x00050000 +#define TF_FRED_EVINFO2_TYPE_INT3 0x00060000 +#define TF_FRED_EVINFO2_TYPE_SYSCALL 0x00070000 +#define TF_FRED_EVINFO2_ENCL 0x01000000 /* SGX-related */ +#define TF_FRED_EVINFO2_LM 0x02000000 /* in 64bit mode */ +#define TF_FRED_EVINFO2_NEST 0x04000000 /* during ev delivery */ +#define TF_FRED_EVINFO2_INSTLENMASK 0xf0000000 /* instr length mask */ +#define TF_FRED_EVINFO2_INSTLENSHIFT 28 /* instr length shift */ + +#define TF_FRED_EVINFO2_VEC_SYSCALL 1 +#define TF_FRED_EVINFO2_VEC_SYSENTER 2 + +#define TF_FRED_EVINFO3_CSLMASK 0x0003 /* event CSL mask */ +#define TF_FRED_EVINFO3_WFE 0x0004 /* in WAIT_FOR_ENDBRANCH */ + +#define TF_HASSEGS 0x00000001 +#define TF_HASBASES 0x00000002 +#define TF_HASFPXSTATE 0x00000004 +#define TF_RESERV0 0x00000008 /* no tlsbase in the trapframe */ +#define TF_FRED 0x00000010 #endif /* __amd64__ */ #endif /* _MACHINE_FRAME_H_ */ From nobody Fri Mar 27 01:52:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDD1gvqz6WYSL for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDC3RxQz410f for ; Fri, 27 Mar 2026 01:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W8eOz1aBrxe0iTcWnjtXtr5TGniDFuHvh4Zq0tBN14I=; b=GwRPMQp2DgdUbQJmVXQy7RmgTsjo35aXpS5BA6GpXMPPL0ADuoraHJwPgIfdnSY+uvimBD fJeLsB5oO2i7Of3SJ76g2LPbElN8cFzg9PYDN33Oc1cM6e9+tZaoD98TtRZk6NYZh6POep ZRa9gAxef4YpI+21kP0tDJ4SKqJoQvEeRmmr+/T3HbopCO8V0KC3Gnw2QwIkckIpMDDlKZ EdFE3YJkNv0qd4ydFUn6B9oS4OhdbEjNw4DKfYf7wuTo+wBYL9FA0cfmtxwDzaYWUAlEYD xRO9UG2KH4fybl2wqCOaQ51PQM3s04Dg1I/+qKdeKtmntav7aP2U1sQiGnrLlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576347; a=rsa-sha256; cv=none; b=ryMAhOSeP3mzzV58YJ/jrnBxkY5OOs6r9hRGeCgbzfVg334PHICwgufB4BDW3Qzz9M0xls RX3wax+Iq2CfvBmJensSPApl6miCYj3su94lcjVabAehZk1pMqQP+hCatk3/5y/CtxyzGl ZVzHxk/USLj2SDPfJqfjMU2O6PLSWtC1ayFjg1BBNiHWAV9fBTZaXvxLZZsRfW8/GlKkqH 5bZ2qGt0TcaR9Hh3W+V3H21xm6S2gDWrAK0o/J8lDXqotD/kunMAz0EdIJZ3UgwxmS2EMi meg98ZZPC5hBDkSJxt4n3kwN39ElMx4uLvcEXi+zbsYYxuByJ/g2VbCHbe2WBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W8eOz1aBrxe0iTcWnjtXtr5TGniDFuHvh4Zq0tBN14I=; b=ya5cuOj/n0qGSadUxHKQ5djdtBxpZFRdW4ij7Wr2s0ptpufCgSPxkX765mnqwC0M88OCrS XCt4/tmnq9/6ppMsX5a6NpFtVbsD0HLxGnxfpoo8i/GWKzV/nf0g/ygTHyvSMIEeukzs2N om1mP0zdCu/QE50Eo37juBuqzs10vjoUNkc1DyR0cOgyArF6sRB5VI15zD2v3UjJv8oknw ud3MxkjpH6fgKx5eG7ys5E/7UXNdQpywI7R7d2jaX2PqJlgveChIyEQs+4XqeeIMFnvKCc OsbS48v+ZJmZ9bN/pAnTrTiAdgL7Q3/4bQcGfCGZbVvxqoceBV88fu979I64jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDC2j4qz3k6 for ; Fri, 27 Mar 2026 01:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1edae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: bd708359f64c - stable/15 - sys/param.h: bump __FreeBSD_version for amd64 struct trapframe size change List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: bd708359f64c9b0260c23682d4ecd49745d6fa33 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:27 +0000 Message-Id: <69c5e2db.1edae.620c86d9@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bd708359f64c9b0260c23682d4ecd49745d6fa33 commit bd708359f64c9b0260c23682d4ecd49745d6fa33 Author: Konstantin Belousov AuthorDate: 2026-03-19 16:03:14 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 sys/param.h: bump __FreeBSD_version for amd64 struct trapframe size change (cherry picked from commit 6275cd73aca7f31cbb3b9da2d031f6664814d58c) --- sys/sys/param.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 2ba2af796ed1..c29110945401 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500506 +#define __FreeBSD_version 1500507 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, @@ -109,6 +109,7 @@ #define P_OSREL_ARM64_SPSR 1400084 #define P_OSREL_TLSBASE 1500044 #define P_OSREL_EXTERRCTL 1500045 +#define P_OSREL_AMD64_TF_FRED 1600014 #define P_OSREL_MAJOR(x) ((x) / 100000) #endif From nobody Fri Mar 27 01:52:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDF2h27z6WY41 for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDD59Hpz413G for ; Fri, 27 Mar 2026 01:52:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hT6EHJipMkVEgPd2RVGy/Qjc21mwhVc7OHRxZ77wgeg=; b=Jv7AZvHrgmKKuHluT9vOQKx6ThH8+6StgZHBvVWPh5pTDnyrJKcuxtep89U+rdGJke858Z ZvVbchef/ygp+Kixyr13+YvVRtSeBVe2+3sSeCk+kxarD+zqaANFhrvBIbjjKb7+Wkl/Tj t2pQYNKEswEvbEc9E1JN5n+rYtMS/S5B7loX2cyIeGKDN+5Y8QONKXdjDBQD0TgsBH3DeY kZL3v5MX519eBUSvd6J3sLiu1bXKW1THLBT1I4xNh0Q2g8ywKthnqIi8Srm3TGZehiMiGV Km856qhzqbKaZ71b8TwrEecpIOTFICvt6accYX3nPp64Twkvv7p+pDKaudGsxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576348; a=rsa-sha256; cv=none; b=TM0akQKiEfGJUBZgrHL7sFeU9IqpOivOvzdw8G3CM7mA3ppM4tGWA8vXN0wqyTq4Jsd4aZ DuIKS4FKC+6ESif+Aedi1zt7MHDK8KeSlMZUcwJB1RY+Os97DSIoUcvxINylsu/MF+1Esw TaNVXJ+5vKNTMRki2+xkvb1QIPM1nd4rCMdPDyaRp7MIsMkMy81imOQUhcMaEeCAe7I0jl aQVISO6B3mn/zEDt53RKw1BgYLDCikHGmjsmeWWRMDbv3cVIhMU8UyOZp4aOCVkNsZ6TW8 9XOFhvo/tx978KESczvpg4TkLx5vdYww+O5UusTSvvW4slB9CXrRiMGHUCAytA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hT6EHJipMkVEgPd2RVGy/Qjc21mwhVc7OHRxZ77wgeg=; b=BFR0JSZQG3UOyrOQgcO6UlAY+fIXVRJAq1Ln/pVKhKw9ezTPRTe6dvnvwLdMAZF38YZkyl lxXvtPL6alvYMNLg0NxeuLO/MYPSZK6pbOcpg9ZvRqGtlQcVVDJxN7G0f0OlP/zklcmx/T H2UcPyonbVq7A4a6CrdLbizk7K1DXM8wVjLwhEeBOqfN+GoKfOhcTjYWXho8kpjX3I6Wx1 6nZqx/9y9q+l+2BuCQryzQUmpNiwcq3C1eSvOck0CUKcgcA98r3SLJGuJ2XqY1j6SYbnaz 0AAzX2i6+R5NqBvizBQRD0CzXqDBH3wTMurMpvoGwlMeCJjTFs/MgtS62twCig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDD3VDMz3Jf for ; Fri, 27 Mar 2026 01:52:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f27a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 504b27e67dee - stable/15 - amd64: remove assertion about sizeof(struct pcb) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 504b27e67dee9e1e024b4dc82daa330badcf6551 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:28 +0000 Message-Id: <69c5e2dc.1f27a.13ab5c6@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=504b27e67dee9e1e024b4dc82daa330badcf6551 commit 504b27e67dee9e1e024b4dc82daa330badcf6551 Author: Konstantin Belousov AuthorDate: 2026-03-19 03:43:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: remove assertion about sizeof(struct pcb) (cherry picked from commit acce5fa3dbe87ea953fb5060a03859e424398db8) --- sys/amd64/amd64/fpu.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c index 48bfaa53c7b4..11f9c5b98134 100644 --- a/sys/amd64/amd64/fpu.c +++ b/sys/amd64/amd64/fpu.c @@ -143,13 +143,6 @@ CTASSERT(sizeof(struct savefpu) == 512); CTASSERT(sizeof(struct xstate_hdr) == 64); CTASSERT(sizeof(struct savefpu_ymm) == 832); -/* - * This requirement is to make it easier for asm code to calculate - * offset of the fpu save area from the pcb address. FPU save area - * must be 64-byte aligned. - */ -CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0); - /* * Ensure the copy of XCR0 saved in a core is contained in the padding * area. From nobody Fri Mar 27 01:52:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDH39qgz6WY4B for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDG6nBRz41VL for ; Fri, 27 Mar 2026 01:52:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iR3S7/HYogf8uZKCUTmZ1m0sqhgZ4wzgREsq1vhahAw=; b=Q1YYoiEzD+8uLbpPyuG2p2n5QS11n+yUQbb/HRBx/2kq1kRCeR1GTZYVCC/vxeq5/Os+T5 lZFFhI3AUsRHQl8F5CYQ2yyDwmOIU4Gid0O72Ovp7GP4v0achO5BmXFRucOm2xKLYS+zMI BRJdrjuOMI3gg7fle0xPgiXBka6OlGDgKg07Mm2O2NFhSLpGEG3hV0EUfHoueIO+m9Kqx+ maydI2UV0aeCMIMH4NzzAYqyCsjlCRe3dwBS1vmmwFVBo/g20uTgVEycoc2XpJUiddzlwg ec6YWr1mW+NE902NWgi7WAdo2N6CYAcIMO8M4vGo4paTOpLmRFWf57P3mFjesw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576351; a=rsa-sha256; cv=none; b=BACbscuHJzUR1UOU10cTOCM0z2SYvpeP9+w373NMpL9coTcMeX2GMWLj6oofMMhu93TNEw vhi+U8yseVmjig8nRKutwcjh8bAkOvUOHEBArroOf1ziZjm91LSznK2CfW/m6nU+LtVqo0 tx4xpD4MC0iaSeXeDNTEeCFjmr0WkwI5/CkTjyXd7Ah0RVbHndemzArfXp4o1W/PxqjfRC jbGIx9apAKgz97/IwDEf6WpTQ0eR4NaSDc+Jy+GMpTnPMGxvrMmfv5wBZlgxnCszRnzbpt cK56PbssMsbyWlNaQDfa4saIDEGGwy1+3VGKJ+OMcMCSeIWIeUEW5+M81CuApg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iR3S7/HYogf8uZKCUTmZ1m0sqhgZ4wzgREsq1vhahAw=; b=gD+TXmenKSZBRG9Re4RgvYVKQU7TLVWvL4/L48N7jjhZN2eJ8+WPbGhJ6qImO0Xu2iUQLv yvQJJataR2o1QQQugbyE4pwwRiR8fnVw7wujgPA5DGrYo2ycJeLZFrIx+ZDB7pFekQAw1h Zwx8KvMPJDZUGUYpQgs8CKcwePCYUf6LzOkwF2kawwnu87YJnc5242jQJLdedE1WicXp3h 6JsCFJT725/uxgBnTG4CKFaI7MvjxZLz9XNMCxHAryP0bBF5ZYGDqjC+DZezBAo8Zuzuan o/RgwYvtFJ0GnSAUoT2oGNVrs5psD9M6y+MI1D0mgFk8b+alB6lU5lHGnpLoYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDG4mhsz39C for ; Fri, 27 Mar 2026 01:52:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c66c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1c0357fe612a - stable/15 - amd64 trap.c: provide tag for the struct sfhandlers definition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1c0357fe612ae69d1106b3ae37c10f87cc186506 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:30 +0000 Message-Id: <69c5e2de.1c66c.6ea04131@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1c0357fe612ae69d1106b3ae37c10f87cc186506 commit 1c0357fe612ae69d1106b3ae37c10f87cc186506 Author: Konstantin Belousov AuthorDate: 2026-03-03 06:37:03 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64 trap.c: provide tag for the struct sfhandlers definition (cherry picked from commit 8cc1c0f35ec8d5a3edb4ee1ede962a3c1f6baef0) --- sys/amd64/amd64/trap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 8a1d1528e6da..359b3dfe3609 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -319,10 +319,12 @@ trap_check_intr_kernel(struct thread *td, struct trapframe *frame) /* * Table of handlers for various segment load faults. */ -static const struct { +struct sfhandler { uintptr_t faddr; uintptr_t fhandler; -} sfhandlers[] = { +}; + +static const struct sfhandler sfhandlers[] = { { .faddr = (uintptr_t)ld_ds, .fhandler = (uintptr_t)ds_load_fault, From nobody Fri Mar 27 01:52:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDG2cd8z6WY1r for ; Fri, 27 Mar 2026 01:52:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDF5q55z41V9 for ; Fri, 27 Mar 2026 01:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L/5e7f5l/JiTNdUFMLeM0RK09Xxv491lx/yfIi6kA9o=; b=vCpYsyD0O/YrJbdLXIDamXWYKhDMzSNlg2bc8aQyelxbAFKEoDDE3mYaa2IZ5nvi9pYcIA rvnNPfZlFmRpUara1WOTeZAR3jVJwstCkD8xsrHdFct29UeY2owWefWpJ38Yele22LyUE6 66SNugTBA/09LqkDGVm1PM5hYS8wU1mkYz+aV69KsrFen5tNhVsPGbegopGjINLk3nOcfS +/uVcsPwAzMey3zN5oNtzHpmM/7lpNLaHQkIvqadF6Jq4B4PI4kt5pLovOrfU4TIbvzwHO bdni1+UMos9ubzC1M0Ugo64uXI/GoXWtDAaGCHFXVyJBSYketPuJXfgCNMgggA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576349; a=rsa-sha256; cv=none; b=h5TZrqIJmp+mFlSLSLbwpGyMuecpJBxQyJbS34EA0Tv570b+uWRiOOJB12pd0Umuq3nFag chZXI+r/ybnsUW9RCQSzy71FCjKEbeoYncu/eQxF1eRXGI+aeLez1M9UBCSllQAUOh6Qz2 XaNpS1PoWxdbOs35hRUXDobbJeyZXfKrtYFadkIWcgV24LDpqDbYG0wofUjU1qf0iBgjHc 7WoeshUum9KWtr26QjHVZI4gvzvTaXgFNAwl81MWl8L29aQAuywQH9uKPmsSpXOjY2a3kX MB04x5Cgh7QgKs7ssQyd1EeYwrHzg58202zR3lxeoNdlyezONBAQEc1ChTGBqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L/5e7f5l/JiTNdUFMLeM0RK09Xxv491lx/yfIi6kA9o=; b=qTpu980vdgsjcyEPfF0UBoiPigV9NHaFIb3bgJy77e8H1wZa45yHrsXF2dvfMgrO0SFwdd 5V4ydSmQ5nLb3Mt3YWOzHDSxgEetN3LD2ZB92fIFa9sGiQIrpxSRgm+CTfbYMZCP7SUA+9 H7F4GBU4SVwKi1dEZj1M9ChNj7U6DQGJtMnKeZVWDTo1PeI+36Z+8TOlLy1Y/ucTY0WNFg a2qSX50tjRPnKR52fOoJZLlY5iTBMSX2Ce2zeeo8pO3WmGxE827RArlXTMQ/q5JzFZ1O9i j/GcMECy8VhhqS5wLI26zh79v1oSHwdzwjLm/dkwkt8OgXCz99TaUj1btgc0/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 4fhkDF4GJBz3Cw for ; Fri, 27 Mar 2026 01:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1eb0a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 25b6a309eebd - stable/15 - amd64: add prototype for ia32_syscall() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 25b6a309eebd6ef84a8debdea81d648f13918f00 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:29 +0000 Message-Id: <69c5e2dd.1eb0a.78d01d2f@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=25b6a309eebd6ef84a8debdea81d648f13918f00 commit 25b6a309eebd6ef84a8debdea81d648f13918f00 Author: Konstantin Belousov AuthorDate: 2026-02-26 00:55:59 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:56 +0000 amd64: add prototype for ia32_syscall() (cherry picked from commit 23dc4850fbc9e7abfc54f0ce11f343e4677fd0fb) --- sys/amd64/include/md_var.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/amd64/include/md_var.h b/sys/amd64/include/md_var.h index 7bb8ace27061..46a30518b212 100644 --- a/sys/amd64/include/md_var.h +++ b/sys/amd64/include/md_var.h @@ -62,6 +62,7 @@ struct __mcontext; struct pcpu; struct savefpu; struct sysentvec; +struct trapframe; void amd64_conf_fast_syscall(void); void amd64_db_resume_dbreg(void); @@ -77,6 +78,7 @@ void cpu_init_small_core(void); void doreti_iret(void) __asm(__STRING(doreti_iret)); void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); void flush_l1d_sw_abi(void); +void ia32_syscall(struct trapframe *); void ld_ds(void) __asm(__STRING(ld_ds)); void ld_es(void) __asm(__STRING(ld_es)); void ld_fs(void) __asm(__STRING(ld_fs)); From nobody Fri Mar 27 01:52:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDJ4zbqz6WYSc for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDH65D7z418H for ; Fri, 27 Mar 2026 01:52:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UoO7vXjDYH5p4Wk438DuJ3z2qNy2n4giJmxp2kgWSuk=; b=JLZov5XWn1w7+9fey+WSBR9jiekVSAQjiyoluAES5V7jJbcPFqPjORL2FvDhP4jvVPkV0v iODbLxPCB6Lza2xGEO/qN76HvJUev3jDU6ovtwGguVlE5HYCkt0OXd1ZaRieUOyZCAs1Zn C1YYPp5nHBdju+8hUXMVX+VJKT4Nd0ffKoYGuuzPUDfFP8F9vnc3yzAr+nXcU75pKkvMhq nzaSSSIYXmdsacMzQYcxILHsvPF+YNCADfF82CC+qTr5NQ5KQY5T1+E9yd8gqzlC23udU7 uYwVQ+dS10l3M6AG6s1iP4TecDSli1g9l3ou7i//c641qOJwYlGBz2ffRkxiRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576351; a=rsa-sha256; cv=none; b=L/u5zaFQuShUZCTNQVZTLd/wVwrU2RD9RuewNb5MMs8k4laSvViKCOKvZ1IuNkXVapn4IH 3KFLLbB0je4XHD42ZH1kborZslic33xgpC4DUcWBmbefFchuh0/mUdD3NCry2M6bsEFjiO WrIs+nIiaXCP5TzBRO5k1t499JsePKvMjje13MpMu57mHibYgJOBl8elvBt1M16+9QPa3q hEovm2QDZvOf+lhCVxTr4IhFMbtirI7xo1yBcgGi6+c1KcliYMvA4VKXIQMWF4pfI2l4kI RJvNWNnkEecSJQonJyNidljZ0EC2VybVZJImUa2I5s9FCU1fLnRwp7Fr9P371Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UoO7vXjDYH5p4Wk438DuJ3z2qNy2n4giJmxp2kgWSuk=; b=VM0jVcEgQZWqJsLZwHYEJPmsVapAL4GnNK3FRHxr2I8bQc2HghwvU0fJqKGlTsBoAJTX10 1/E1wbS7ufBTce03HmV5ebNIQijkDtV2FkxGp4xi4O43cNqsAObHtrYKSPy5C5PhGn8IGj tlhW8wr2WSFJp5l+xaXMMwQDO5LW5Ymn3xPEdQDxNXHbCj7og2DooxDAHvUlVzjIE8Fo3e 0uYqrcVSLuQsM9izgFW5eaP/IJ4mLtFSfTjP+Fk1lkpTWhzVz2WLedGdKDR3KOlsdLhVz6 JV7PI68bEv45fkOG6RrP9GaCfPCarR5PWTVXamFPKRkgTARBDAXWMXPrPQsl2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDH5cLyz3Jk for ; Fri, 27 Mar 2026 01:52:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ea2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8823ca95fd45 - stable/15 - amd64: revert back struct trapframe to the pre-FRED definition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8823ca95fd45455d24a7bdd1d573b651932c3c54 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:31 +0000 Message-Id: <69c5e2df.1ea2a.15c9260b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8823ca95fd45455d24a7bdd1d573b651932c3c54 commit 8823ca95fd45455d24a7bdd1d573b651932c3c54 Author: Konstantin Belousov AuthorDate: 2026-03-21 22:26:48 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:57 +0000 amd64: revert back struct trapframe to the pre-FRED definition (cherry picked from commit 1ba29614c4ce5e261ade0bd7def94079b7b9647a) --- sys/x86/include/frame.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/x86/include/frame.h b/sys/x86/include/frame.h index a6444d55cfaf..b8e090ff95d0 100644 --- a/sys/x86/include/frame.h +++ b/sys/x86/include/frame.h @@ -152,6 +152,10 @@ struct trapframe { uint16_t tf_ss; uint16_t tf_fred_evinfo1; uint32_t tf_fred_evinfo2; +}; + +struct trapframe_fred { + struct trapframe tf_idt; /* two long words added by FRED */ uint64_t tf_fred_evdata; uint64_t tf_fred_zero1; From nobody Fri Mar 27 01:52:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDK3868z6WY4G for ; Fri, 27 Mar 2026 01:52: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhkDJ6mDWz41SJ for ; Fri, 27 Mar 2026 01:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AtHSe3RFrYGV6bP/wzhR03vX6ESnhJ6IWLaSFAZWLHU=; b=fMUdtBEKapWI/y14JHDSioVyuqd/u73ojc5U3In54B/EqzAQV3+gBz+ufXlcBrGLLDlVHU uEUX+z3dvwmSXedEkZyIFavIC3heGMpnd/dQ/t+vWKWBhUGXWbMz+XlatQ7OqjnQjZ1Sv/ mGBxF0ezGYKaAC5at3tXNMKtO+HZGwnDvqoRrOWLX/OgJlBxeZKaLkO4xRtGUR33svfU0q q8tHyJiFdMn8mL3FIJE11NFzA21ukc6AL9f4NaNMW1vJ1g+1b+LowyXAXkj0rB31JB/LUP Wn9EIuI9PBc4Hh73PR/+tWsq0mV8xvyJMOEpe9RJmL5oaewrcyT97eoxCv/GlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774576353; a=rsa-sha256; cv=none; b=HEaibmnJeM1BKbd/AZ4rJco9wD0P4rz2FdL17bsig3Qe6p/y3Y79V5XeXXoEZ3hW2D7dsa qw/R3fD5J8EozG/XG36wXAjd2Qe9/QTdUJ3UyB0VhdcRlLQquvA9wnfcWYxWhsRV1jnrVq aPhEi2Bf01eUgzZprEbV+yOHB4x3m16xu/TYCH99ETFwXoaVdajU/XVblUUnZPKzUX8PYh 7u0hWkVazCcdQ76tiPkQZ3aGKtpNrFOIKcqf5zneyjUJmB4l8ldzQdrF7OXuzZZtBx/1M9 gPEKQmwGZQlp4LqPbAv2iSebp4tkdz60keh6KpDlgtmGSJDskNOw3FzPOaLFqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774576353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AtHSe3RFrYGV6bP/wzhR03vX6ESnhJ6IWLaSFAZWLHU=; b=jcvLe8jRLzEKFmqltBKx/UPy0kvv/7gfZmpa4Os46qCAX2x8v2aXHEtT7yP0bcAlgsDQ9J /Zh2d098nzodpah++rRze4y44Dl20pVz2eJvejxG9n28MepcU7qkUyX7Z+hmDLIUTmsqHr nl22ejUZjZVGK0CReJoxOFfcZgmBqogIMPWahXgn8GSnG8yDHbuTbtQcZDusujr3KX9AVd Qq5iw7B3iHbBbuEiATdNgI5QxfKIPnnpGx7f1epf9dr5fm6r/DBw0+ZZv7mUhlKCv5GnMv z/8w+SsgmNkDzEOnlQw2JRsLLAwoGW47cfdu1zFEkwLjBxczqzwQOaBWtwzCrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhkDJ6KMHz3Cy for ; Fri, 27 Mar 2026 01:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ea8f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 01:52:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a7182edc1025 - stable/15 - mlx5: postpone freeing the completed command entity to taskqueue List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a7182edc1025e4e55bba3fa67a9c57896abc8cb9 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 01:52:32 +0000 Message-Id: <69c5e2e0.1ea8f.1329565@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a7182edc1025e4e55bba3fa67a9c57896abc8cb9 commit a7182edc1025e4e55bba3fa67a9c57896abc8cb9 Author: Konstantin Belousov AuthorDate: 2026-03-10 07:32:00 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-26 23:42:57 +0000 mlx5: postpone freeing the completed command entity to taskqueue (cherry picked from commit f0d5f46a1e42b801d96447e544cc3820612748b1) --- sys/dev/mlx5/driver.h | 1 + sys/dev/mlx5/mlx5_core/mlx5_cmd.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/driver.h b/sys/dev/mlx5/driver.h index cdefe7e013f6..ba6714c5c7b6 100644 --- a/sys/dev/mlx5/driver.h +++ b/sys/dev/mlx5/driver.h @@ -890,6 +890,7 @@ struct mlx5_cmd_work_ent { u16 op; u8 busy; bool polling; + struct work_struct freew; }; struct mlx5_pas { diff --git a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c index 86c721a83cb7..e314a04c294f 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c @@ -802,6 +802,15 @@ static void cb_timeout_handler(struct work_struct *work) mlx5_cmd_comp_handler(dev, 1UL << ent->idx, MLX5_CMD_MODE_EVENTS); } +static void +cmd_free_work(struct work_struct *work) +{ + struct mlx5_cmd_work_ent *ent = container_of(work, + struct mlx5_cmd_work_ent, freew); + + free_cmd(ent); +} + static void complete_command(struct mlx5_cmd_work_ent *ent) { struct mlx5_cmd *cmd = ent->cmd; @@ -856,7 +865,8 @@ static void complete_command(struct mlx5_cmd_work_ent *ent) free_msg(dev, ent->in); err = err ? err : ent->status; - free_cmd(ent); + INIT_WORK(&ent->freew, cmd_free_work); + schedule_work(&ent->freew); callback(err, context); } else { complete(&ent->done); From nobody Fri Mar 27 03:16:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhm4r0F3Dz6WhT6 for ; Fri, 27 Mar 2026 03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhm4q4yymz4DdD for ; Fri, 27 Mar 2026 03:16:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774581371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y2mJ6Z5LjZE43Q4JoVg6JJxv9w76z4c7E0GBzmZjUZ8=; b=F09D0rbzKcCgpqmY1uFM5/0J8QzU7TCda+sviu3CRQXAuyikDFDJpkeYwVmP1ItxV5u9GM 4nVkf1rWDaNFKyiVKRK1+L94CQjhLeyYhlEkoTG1f70WTOLoX0vxYR9aFbO0kvzyMZyhqP 9xmb1b6Xq5QuRG5ZJu8dGHPJw3nldTUaFw4TqAMgSIExxiKRJWQf3npSMT16qh/QrTtr5c f7HFZyeg/gJIEn+HbfLVkoTfu/cItbPR9eHn9ieR+5eRBlinQMp/O6Ql96CzxSrjmEHH4f 0d7YkQCVnQqUqIDRTeTgS0Vh8z1TQzhu0aTq7lYM4+RH9pAQ53Ab1RX0nn8MYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774581371; a=rsa-sha256; cv=none; b=O/1UrcBGMUt48gWp2GadHDdnSNd1UHiZIPzwxefVlehqALjIA8YB5LvekqXGQSp8j1EhsQ Do+cQ2qCKUu+dQumaQk8MGfaTWPCzNGwqlAnZZy88cmudYSwFGuGju4jzaJP5FXhYu4qdD nXDQ/+8o2KPBmKcCVbzSPUinIqcJ8IYYUEjtm6yZxOeTJhDX3HCKm+NZd7mla52dFIAeSd +1HAeN2HLUHakEy1gMCSeXNSN3RClb+Q6lEol+UvllHSd4j5bABpioI+no3IrV1dJVypkn VfbgvcElBaNFh7yyWaSCZLcY5u7sppZx15WrRSlBn8eFjOTdeDjW+Keu9HOVMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774581371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y2mJ6Z5LjZE43Q4JoVg6JJxv9w76z4c7E0GBzmZjUZ8=; b=wQgnQimrBTYjgDklYO9GITzHcK/U+Mm5ZpG6gWNRznw3U/5o92maNRareHjud7y2LLR7+o iMQTCLojxd6sX1+n7IVpgyjidlTnQ+b7Fgik9JfrY8YHJxJH1DJGdMpqMYwkIVJLHlBycj 8kykF+3aAn8DaXXAi3+XqXaPmTd2tWicbgoNlDq4j3XscUaZzY5fhTTk+pc+BiqhjH393Q aKmGMC3d6iKPxJ69+sQA89Gj4WTejA8V98yA5pLwCbevYtHt9a6yYXvt0+BrYwuYeiwkTU TnCmnPKU3T/0Cjvxe04W0j1DbhsavRuk2dcavsOEBCiGoYOcWKNPXtikRYycVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhm4q4ZRzz5WD for ; Fri, 27 Mar 2026 03:16:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27458 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 03:16:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: e8dac3944dca - main - Makefile.inc1: Remove extraneous } List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8dac3944dcaa7b1a2691c82def15a1ede6bcfe3 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 03:16:06 +0000 Message-Id: <69c5f676.27458.53c3504a@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e8dac3944dcaa7b1a2691c82def15a1ede6bcfe3 commit e8dac3944dcaa7b1a2691c82def15a1ede6bcfe3 Author: Ed Maste AuthorDate: 2026-03-27 03:12:44 +0000 Commit: Ed Maste CommitDate: 2026-03-27 03:15:51 +0000 Makefile.inc1: Remove extraneous } Reported by: tijl Fixes: 17494c6e6b7d ("build: Boostrap LLVM_BINUTILS for cross-tools") --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 6c126f01973f..9c6ca7cbc882 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3071,7 +3071,7 @@ _lld= usr.bin/clang/lld ${MK_LLVM_BINUTILS_BOOTSTRAP} != "no" _clang_libs= lib/clang .endif -.if ${MK_LLVM_BINUTILS_BOOTSTRAP}} != "no" +.if ${MK_LLVM_BINUTILS_BOOTSTRAP} != "no" _llvm_binutils= usr.bin/clang/llvm-ar \ usr.bin/clang/llvm-nm \ usr.bin/clang/llvm-objcopy \ From nobody Fri Mar 27 06:22:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhrCd01FLz6XDdG for ; Fri, 27 Mar 2026 06:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhrCc6RW2z3D99 for ; Fri, 27 Mar 2026 06:22:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774592540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgQ6fJkcXd1hszWY2ETgD6rLasouL9ebcEdB1ud9AfI=; b=qdX6vvQ3WjNoO5B8EvTjXsE+YN5J/Oltz1pj+fHiFRj2/FjBueCkh6xFzMGav0h/2cULjF FNNaamlLe1xXxCYvYg7qM8pe0hxpy04kmaEow8bbwh/tnXxsyuJHWnkdHUHfGx8TuFlnGB ifUhOfT9xJMttZQ9mMvDpGqxX2vlO1060lIx8JJlgQkRweBzv4qH3a7rjYzT1UnprAV6XS YeCjtbJdU8YtAFu3o6OdFcSq57Ks5/nhYUgoUHL+x57mjWDTbWVgRx7oOSRrxlAe255UP7 3CegUOHvXL3vi53/iPBudCS48/XnIWQ5eMLDYtZcw4kglmuwN9GyikfZd9UfOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774592540; a=rsa-sha256; cv=none; b=YhUSKMaox6tfnnlTp6eEebtXcIivUJ73sMcGholmVM9MfoJcu499q7pecjU3zHSy4U1815 hJqZMcmTm/MfJXgE4f/2wIxiWAVitGrJQMh1DlAQnDkflCrEuUa7btzM/7GAugJ2HzCobN B3g3dBL48QZatwdURlhK2w6Ii/peMdXoOS3aNIzolXmnJqU0PEfeuV4PpX6hAZIiNxjIhJ lEacNZPjgomPKTrChbvaDxz0aYpK+0vpBc6NNMsYZcvQ7gciu1V5s7mWuSQAMCV1Pdd24K Cn55MvaPwNKF5TLYido94IcLIbCdr1+qc/fXiDktp+N+GE23qIFknk8Q27VXWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774592540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dgQ6fJkcXd1hszWY2ETgD6rLasouL9ebcEdB1ud9AfI=; b=GkwAkRNYTL/nKAc1qdgLcDifM+Q3MEvvWSry0JD9Ip1m9LfGpghz0NvqHw1FmxI8AWcVF1 +FQa9YNLtzZ637vFPjoRLwg0fBnUhiaSWk/npRQVDjHzK/Hth0cC87dGK2JaEurD+nBj7C mX75DZA7Q2dolX5LvSJ0UC4AmzG8NWY1k3VfqVbSEk3kcvmVXie8BqsBhrDuimM6R2/rmU 1SF72KqGdcl1lMhkH55KQY0RA79sDUzGi07DWVioNVuvLljkfpc5EtshzWNx8ZiPBJSFEl Kulhtj1/kVjB8qM+XlEotKwGElX/QhPkIiJ+J+lIAzWfrAqsGzbq68LiJru5Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhrCc60BCzC0s for ; Fri, 27 Mar 2026 06:22:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43121 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 06:22:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 74f357256769 - stable/15 - MFC: MFV: zlib 1.3.2. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 74f357256769e12c3a843c75d1def483234312f3 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 06:22:20 +0000 Message-Id: <69c6221c.43121.3633e3f0@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=74f357256769e12c3a843c75d1def483234312f3 commit 74f357256769e12c3a843c75d1def483234312f3 Author: Xin LI AuthorDate: 2026-03-13 23:49:53 +0000 Commit: Xin LI CommitDate: 2026-03-27 06:22:02 +0000 MFC: MFV: zlib 1.3.2. Relnotes: yes (cherry picked from commit 7aa1dba6b00ccfb7d66627badc8a7aaa06b02946) --- lib/libz/Symbol.map | 13 + lib/libz/Versions.def | 6 + sys/contrib/zlib/ChangeLog | 51 +++ sys/contrib/zlib/FAQ | 46 +- sys/contrib/zlib/LICENSE | 2 +- sys/contrib/zlib/README | 28 +- sys/contrib/zlib/compress.c | 44 +- sys/contrib/zlib/contrib/README.contrib | 57 --- sys/contrib/zlib/contrib/gcc_gvmat64/gvmat64.S | 574 ------------------------- sys/contrib/zlib/crc32.c | 164 +++---- sys/contrib/zlib/deflate.c | 176 +++++--- sys/contrib/zlib/deflate.h | 8 +- sys/contrib/zlib/doc/algorithm.txt | 2 +- sys/contrib/zlib/gzguts.h | 64 +-- sys/contrib/zlib/gzlib.c | 103 +++-- sys/contrib/zlib/gzread.c | 296 ++++++++----- sys/contrib/zlib/gzwrite.c | 267 +++++++----- sys/contrib/zlib/infback.c | 87 +--- sys/contrib/zlib/inffast.c | 13 +- sys/contrib/zlib/inffixed.h | 182 ++++---- sys/contrib/zlib/inflate.c | 189 ++------ sys/contrib/zlib/inflate.h | 2 +- sys/contrib/zlib/inftrees.c | 143 +++++- sys/contrib/zlib/inftrees.h | 4 +- sys/contrib/zlib/test/example.c | 14 +- sys/contrib/zlib/test/infcover.c | 10 +- sys/contrib/zlib/test/minigzip.c | 89 ++-- sys/contrib/zlib/trees.c | 28 +- sys/contrib/zlib/uncompr.c | 62 ++- sys/contrib/zlib/zconf.h | 54 ++- sys/contrib/zlib/zconf.h.in | 46 +- sys/contrib/zlib/zlib.3 | 22 +- sys/contrib/zlib/zlib.h | 309 +++++++++---- sys/contrib/zlib/zlib.map | 16 + sys/contrib/zlib/zlib.pc.in | 1 + sys/contrib/zlib/zutil.c | 84 ++-- sys/contrib/zlib/zutil.h | 99 ++++- 37 files changed, 1613 insertions(+), 1742 deletions(-) diff --git a/lib/libz/Symbol.map b/lib/libz/Symbol.map index 7bfe7cceda77..5df1d5253f91 100644 --- a/lib/libz/Symbol.map +++ b/lib/libz/Symbol.map @@ -7,6 +7,19 @@ ZLIB_1.2.12 { crc32_combine_op; }; +ZLIB_1.3.1.2 { + deflateUsed; +}; + +ZLIB_1.3.2 { + compressBound_z; + compress_z; + compress2_z; + deflateBound_z; + uncompress_z; + uncompress2_z; +}; + ZLIB_1.2.9 { inflateCodesUsed; inflateValidate; diff --git a/lib/libz/Versions.def b/lib/libz/Versions.def index 2ee0106b5bfe..73b197240a4c 100644 --- a/lib/libz/Versions.def +++ b/lib/libz/Versions.def @@ -14,6 +14,12 @@ ZLIB_1.2.9 { ZLIB_1.2.12 { } ZLIB_1.2.9; +ZLIB_1.3.1.2 { +} ZLIB_1.2.12; + +ZLIB_1.3.2 { +} ZLIB_1.3.1.2; + FBSD_1.2 { } ZLIB_1.2.4.0; diff --git a/sys/contrib/zlib/ChangeLog b/sys/contrib/zlib/ChangeLog index b801a1031ec0..312753edadef 100644 --- a/sys/contrib/zlib/ChangeLog +++ b/sys/contrib/zlib/ChangeLog @@ -1,6 +1,57 @@ ChangeLog file for zlib +Changes in 1.3.2 (17 Feb 2026) +- Continued rewrite of CMake build [Vollstrecker] +- Various portability improvements +- Various github workflow additions and improvements +- Check for negative lengths in crc32_combine functions +- Copy only the initialized window contents in inflateCopy +- Prevent the use of insecure functions without an explicit request +- Add compressBound_z and deflateBound_z functions for large values +- Use atomics to build inflate fixed tables once +- Add definition of ZLIB_INSECURE to build tests with c89 and c94 +- Add --undefined option to ./configure for UBSan checker +- Copy only the initialized deflate state in deflateCopy +- Zero inflate state on allocation +- Remove untgz from contrib +- Add _z versions of the compress and uncompress functions +- Vectorize the CRC-32 calculation on the s390x +- Set bit 11 of the zip header flags in minizip if UTF-8 +- Update OS/400 support +- Add a test to configure to check for a working compiler +- Check for invalid NULL pointer inputs to zlib operations +- Add --mandir to ./configure to specify manual directory +- Add LICENSE.Info-Zip to contrib/minizip +- Remove vstudio projects in lieu of cmake-generated projects +- Replace strcpy() with memcpy() in contrib/minizip + +Changes in 1.3.1.2 (8 Dec 2025) +- Improve portability to RISC OS +- Permit compiling contrib/minizip/unzip.c with decryption +- Enable build of shared library on AIX +- Make deflateBound() more conservative and handle Z_STREAM_END +- Add zipAlreadyThere() to minizip zip.c to help avoid duplicates +- Make z_off_t 64 bits by default +- Add deflateUsed() function to get the used bits in the last byte +- Avoid out-of-bounds pointer arithmetic in inflateCopy() +- Add Haiku to configure for proper LDSHARED settings +- Add Bazel targets +- Complete rewrite of CMake build [Vollstrecker] +- Clarify the use of errnum in gzerror() +- Note that gzseek() requests are deferred until the next operation +- Note the use of gzungetc() to run a deferred seek while reading +- Fix bug in inflatePrime() for 16-bit ints +- Add a "G" option to force gzip, disabling transparency in gzread() +- Improve the discrimination between trailing garbage and bad gzip +- Allow gzflush() to write empty gzip members +- Remove redundant frees of point list on error in examples/zran.c +- Clarify the use of inflateGetHeader() +- Update links to the RFCs +- Return all available uncompressed data on error in gzread.c +- Support non-blocking devices in the gz* routines +- Various other small improvements + Changes in 1.3.1 (22 Jan 2024) - Reject overflows of zip header fields in minizip - Fix bug in inflateSync() for data held in bit buffer diff --git a/sys/contrib/zlib/FAQ b/sys/contrib/zlib/FAQ index 92f5d3e29fab..95c1a825acd4 100644 --- a/sys/contrib/zlib/FAQ +++ b/sys/contrib/zlib/FAQ @@ -3,8 +3,8 @@ If your question is not there, please check the zlib home page -http://zlib.net/ which may have more recent information. -The latest zlib FAQ is at http://zlib.net/zlib_faq.html +https://zlib.net/ which may have more recent information. +The latest zlib FAQ is at https://zlib.net/zlib_faq.html 1. Is zlib Y2K-compliant? @@ -19,7 +19,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 3. Where can I get a Visual Basic interface to zlib? See - * http://marknelson.us/1997/01/01/zlib-engine/ + * https://zlib.net/nelson/ * win32/DLL_FAQ.txt in the zlib distribution 4. compress() returns Z_BUF_ERROR. @@ -38,7 +38,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html made with more input or output space. A Z_BUF_ERROR may in fact be unavoidable depending on how the functions are used, since it is not possible to tell whether or not there is more output pending when - strm.avail_out returns with zero. See http://zlib.net/zlib_how.html for a + strm.avail_out returns with zero. See https://zlib.net/zlib_how.html for a heavily annotated example. 6. Where's the zlib documentation (man pages, etc.)? @@ -109,8 +109,8 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 16. Can zlib decode Flate data in an Adobe PDF file? - Yes. See http://www.pdflib.com/ . To modify PDF forms, see - http://sourceforge.net/projects/acroformtool/ . + Yes. See https://www.pdflib.com/ . To modify PDF forms, see + https://sourceforge.net/projects/acroformtool/ . 17. Why am I getting this "register_frame_info not found" error on Solaris? @@ -156,6 +156,10 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html library memory allocation routines by default. zlib's *Init* functions allow for the application to provide custom memory allocation routines. + If the non-default BUILDFIXED or DYNAMIC_CRC_TABLE defines are used on a + system without atomics (e.g. pre-C11), then inflate() and crc32() will not + be thread safe. + Of course, you should only operate on any given zlib or gzip stream from a single thread at a time. @@ -235,7 +239,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html As far as we know, no. In fact, that was originally the whole point behind zlib. Look here for some more information: - http://www.gzip.org/#faq11 + https://web.archive.org/web/20180729212847/http://www.gzip.org/#faq11 32. Can zlib work with greater than 4 GB of data? @@ -258,20 +262,20 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 33. Does zlib have any security vulnerabilities? The only one that we are aware of is potentially in gzprintf(). If zlib is - compiled to use sprintf() or vsprintf(), then there is no protection - against a buffer overflow of an 8K string space (or other value as set by - gzbuffer()), other than the caller of gzprintf() assuring that the output - will not exceed 8K. On the other hand, if zlib is compiled to use - snprintf() or vsnprintf(), which should normally be the case, then there is - no vulnerability. The ./configure script will display warnings if an - insecure variation of sprintf() will be used by gzprintf(). Also the - zlibCompileFlags() function will return information on what variant of - sprintf() is used by gzprintf(). + compiled to use sprintf() or vsprintf(), which requires that ZLIB_INSECURE + be defined, then there is no protection against a buffer overflow of an 8K + string space (or other value as set by gzbuffer()), other than the caller + of gzprintf() assuring that the output will not exceed 8K. On the other + hand, if zlib is compiled to use snprintf() or vsnprintf(), which should + normally be the case, then there is no vulnerability. The ./configure + script will display warnings if an insecure variation of sprintf() will be + used by gzprintf(). Also the zlibCompileFlags() function will return + information on what variant of sprintf() is used by gzprintf(). If you don't have snprintf() or vsnprintf() and would like one, you can - find a portable implementation here: + find a good portable implementation in stb_sprintf.h here: - http://www.ijs.si/software/snprintf/ + https://github.com/nothings/stb Note that you should be using the most recent version of zlib. Versions 1.1.3 and before were subject to a double-free vulnerability, and versions @@ -283,7 +287,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html Probably what you want is to use zlib in Java. zlib is already included as part of the Java SDK in the java.util.zip package. If you really want a version of zlib written in the Java language, look on the zlib home - page for links: http://zlib.net/ . + page for links: https://zlib.net/ . 35. I get this or that compiler or source-code scanner warning when I crank it up to maximally-pedantic. Can't you guys write proper code? @@ -314,9 +318,9 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html zlib doesn't support encryption. The original PKZIP encryption is very weak and can be broken with freely available programs. To get strong - encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib + encryption, use GnuPG, https://www.gnupg.org/ , which already includes zlib compression. For PKZIP compatible "encryption", look at - http://www.info-zip.org/ + https://infozip.sourceforge.net/ 39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings? diff --git a/sys/contrib/zlib/LICENSE b/sys/contrib/zlib/LICENSE index ab8ee6f71428..b7a69d058e61 100644 --- a/sys/contrib/zlib/LICENSE +++ b/sys/contrib/zlib/LICENSE @@ -1,6 +1,6 @@ Copyright notice: - (C) 1995-2022 Jean-loup Gailly and Mark Adler + (C) 1995-2026 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/README b/sys/contrib/zlib/README index c5f917540b6f..2b1e6f36fe3e 100644 --- a/sys/contrib/zlib/README +++ b/sys/contrib/zlib/README @@ -1,10 +1,10 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.3.1 is a general purpose data compression library. All the code is -thread safe. The data format used by the zlib library is described by RFCs -(Request for Comments) 1950 to 1952 in the files -http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and -rfc1952 (gzip format). +zlib 1.3.2 is a general purpose data compression library. All the code is +thread safe (though see the FAQ for caveats). The data format used by the zlib +library is described by RFCs (Request for Comments) 1950 to 1952 at +https://datatracker.ietf.org/doc/html/rfc1950 (zlib format), rfc1951 (deflate +format) and rfc1952 (gzip format). All functions of the compression library are documented in the file zlib.h (volunteer to write man pages welcome, contact zlib@gzip.org). A usage example @@ -21,17 +21,17 @@ make_vms.com. Questions about zlib should be sent to , or to Gilles Vollant for the Windows DLL version. The zlib home page is -http://zlib.net/ . Before reporting a problem, please check this site to +https://zlib.net/ . Before reporting a problem, please check this site to verify that you have the latest version of zlib; otherwise get the latest version and check whether the problem still exists or not. -PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help. +PLEASE read the zlib FAQ https://zlib.net/zlib_faq.html before asking for help. Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at -https://marknelson.us/posts/1997/01/01/zlib-engine.html . +https://zlib.net/nelson/ . -The changes made in version 1.3.1 are documented in the file ChangeLog. +The changes made in version 1.3.2 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory contrib/ . @@ -43,9 +43,9 @@ can be found at https://github.com/pmqs/IO-Compress . A Python interface to zlib written by A.M. Kuchling is available in Python 1.5 and later versions, see -http://docs.python.org/library/zlib.html . +https://docs.python.org/3/library/zlib.html . -zlib is built into tcl: http://wiki.tcl.tk/4610 . +zlib is built into tcl: https://wiki.tcl-lang.org/page/zlib . An experimental package to read and write files in .zip format, written on top of zlib by Gilles Vollant , is available in the @@ -69,9 +69,7 @@ Notes for some targets: - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with other compilers. Use "make test" to check your compiler. -- gzdopen is not supported on RISCOS or BEOS. - -- For PalmOs, see http://palmzlib.sourceforge.net/ +- For PalmOs, see https://palmzlib.sourceforge.net/ Acknowledgments: @@ -83,7 +81,7 @@ Acknowledgments: Copyright notice: - (C) 1995-2024 Jean-loup Gailly and Mark Adler + (C) 1995-2026 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/compress.c b/sys/contrib/zlib/compress.c index f43bacf7ab97..bd74b9488eb8 100644 --- a/sys/contrib/zlib/compress.c +++ b/sys/contrib/zlib/compress.c @@ -1,5 +1,5 @@ /* compress.c -- compress a memory buffer - * Copyright (C) 1995-2005, 2014, 2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2026 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -18,13 +18,19 @@ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if there was not enough room in the output buffer, Z_STREAM_ERROR if the level parameter is invalid. + + The _z versions of the functions take size_t length arguments. */ -int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source, - uLong sourceLen, int level) { +int ZEXPORT compress2_z(Bytef *dest, z_size_t *destLen, const Bytef *source, + z_size_t sourceLen, int level) { z_stream stream; int err; const uInt max = (uInt)-1; - uLong left; + z_size_t left; + + if ((sourceLen > 0 && source == NULL) || + destLen == NULL || (*destLen > 0 && dest == NULL)) + return Z_STREAM_ERROR; left = *destLen; *destLen = 0; @@ -43,23 +49,36 @@ int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source, do { if (stream.avail_out == 0) { - stream.avail_out = left > (uLong)max ? max : (uInt)left; + stream.avail_out = left > (z_size_t)max ? max : (uInt)left; left -= stream.avail_out; } if (stream.avail_in == 0) { - stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen; + stream.avail_in = sourceLen > (z_size_t)max ? max : + (uInt)sourceLen; sourceLen -= stream.avail_in; } err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH); } while (err == Z_OK); - *destLen = stream.total_out; + *destLen = (z_size_t)(stream.next_out - dest); deflateEnd(&stream); return err == Z_STREAM_END ? Z_OK : err; } - +int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source, + uLong sourceLen, int level) { + int ret; + z_size_t got = *destLen; + ret = compress2_z(dest, &got, source, sourceLen, level); + *destLen = (uLong)got; + return ret; +} /* =========================================================================== */ +int ZEXPORT compress_z(Bytef *dest, z_size_t *destLen, const Bytef *source, + z_size_t sourceLen) { + return compress2_z(dest, destLen, source, sourceLen, + Z_DEFAULT_COMPRESSION); +} int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) { return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); @@ -69,7 +88,12 @@ int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, If the default memLevel or windowBits for deflateInit() is changed, then this function needs to be updated. */ +z_size_t ZEXPORT compressBound_z(z_size_t sourceLen) { + z_size_t bound = sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + + (sourceLen >> 25) + 13; + return bound < sourceLen ? (z_size_t)-1 : bound; +} uLong ZEXPORT compressBound(uLong sourceLen) { - return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + - (sourceLen >> 25) + 13; + z_size_t bound = compressBound_z(sourceLen); + return (uLong)bound != bound ? (uLong)-1 : (uLong)bound; } diff --git a/sys/contrib/zlib/contrib/README.contrib b/sys/contrib/zlib/contrib/README.contrib deleted file mode 100644 index 5e5f95054090..000000000000 --- a/sys/contrib/zlib/contrib/README.contrib +++ /dev/null @@ -1,57 +0,0 @@ -All files under this contrib directory are UNSUPPORTED. They were -provided by users of zlib and were not tested by the authors of zlib. -Use at your own risk. Please contact the authors of the contributions -for help about these, not the zlib authors. Thanks. - - -ada/ by Dmitriy Anisimkov - Support for Ada - See http://zlib-ada.sourceforge.net/ - -blast/ by Mark Adler - Decompressor for output of PKWare Data Compression Library (DCL) - -delphi/ by Cosmin Truta - Support for Delphi and C++ Builder - -dotzlib/ by Henrik Ravn - Support for Microsoft .Net and Visual C++ .Net - -gcc_gvmat64/by Gilles Vollant - GCC Version of x86 64-bit (AMD64 and Intel EM64t) code for x64 - assembler to replace longest_match() and inflate_fast() - -infback9/ by Mark Adler - Unsupported diffs to infback to decode the deflate64 format - -iostream/ by Kevin Ruland - A C++ I/O streams interface to the zlib gz* functions - -iostream2/ by Tyge Løvset - Another C++ I/O streams interface - -iostream3/ by Ludwig Schwardt - and Kevin Ruland - Yet another C++ I/O streams interface - -minizip/ by Gilles Vollant - Mini zip and unzip based on zlib - Includes Zip64 support by Mathias Svensson - See http://www.winimage.com/zLibDll/minizip.html - -pascal/ by Bob Dellaca et al. - Support for Pascal - -puff/ by Mark Adler - Small, low memory usage inflate. Also serves to provide an - unambiguous description of the deflate format. - -testzlib/ by Gilles Vollant - Example of the use of zlib - -untgz/ by Pedro A. Aranda Gutierrez - A very simple tar.gz file extractor using zlib - -vstudio/ by Gilles Vollant - Building a minizip-enhanced zlib with Microsoft Visual Studio - Includes vc11 from kreuzerkrieg and vc12 from davispuh diff --git a/sys/contrib/zlib/contrib/gcc_gvmat64/gvmat64.S b/sys/contrib/zlib/contrib/gcc_gvmat64/gvmat64.S deleted file mode 100644 index dd858ddbd16b..000000000000 --- a/sys/contrib/zlib/contrib/gcc_gvmat64/gvmat64.S +++ /dev/null @@ -1,574 +0,0 @@ -/* -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); // current match - -; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for zLib, I use option: -; gcc -c -arch x86_64 gvmat64.S - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; // current match / -; -; with XCode for Mac, I had strange error with some jump on intel syntax -; this is why BEFORE_JMP and AFTER_JMP are used - */ - - -#define BEFORE_JMP .att_syntax -#define AFTER_JMP .intel_syntax noprefix - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -.intel_syntax noprefix - -.globl match_init, longest_match -.text -longest_match: - - - -#define LocalVarsSize 96 -/* -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp -*/ - -#define chainlenwmask (rsp + 8 - LocalVarsSize) -#define nicematch (rsp + 16 - LocalVarsSize) - -#define save_rdi (rsp + 24 - LocalVarsSize) -#define save_rsi (rsp + 32 - LocalVarsSize) -#define save_rbx (rsp + 40 - LocalVarsSize) -#define save_rbp (rsp + 48 - LocalVarsSize) -#define save_r12 (rsp + 56 - LocalVarsSize) -#define save_r13 (rsp + 64 - LocalVarsSize) -#define save_r14 (rsp + 72 - LocalVarsSize) -#define save_r15 (rsp + 80 - LocalVarsSize) - - -/* -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure -*/ - -#define MAX_MATCH 258 -#define MIN_MATCH 3 -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) - -/* -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). -*/ - - - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} -*/ - -#define dsWSize 68 -#define dsWMask 76 -#define dsWindow 80 -#define dsPrev 96 -#define dsMatchLen 144 -#define dsPrevMatch 148 -#define dsStrStart 156 -#define dsMatchStart 160 -#define dsLookahead 164 -#define dsPrevLen 168 -#define dsMaxChainLen 172 -#define dsGoodMatch 188 -#define dsNiceMatch 192 - -#define window_size [ rcx + dsWSize] -#define WMask [ rcx + dsWMask] -#define window_ad [ rcx + dsWindow] -#define prev_ad [ rcx + dsPrev] -#define strstart [ rcx + dsStrStart] -#define match_start [ rcx + dsMatchStart] -#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip -#define prev_length [ rcx + dsPrevLen] -#define max_chain_length [ rcx + dsMaxChainLen] -#define good_match [ rcx + dsGoodMatch] -#define nice_match [ rcx + dsNiceMatch] - -/* -; windows: -; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - -; -; gcc on macosx-linux: -; see http://www.x86-64.org/documentation/abi-0.99.pdf -; param 1 in rdi, param 2 in rsi -; rbx, rsp, rbp, r12 to r15 must be preserved - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) -; mac: param 1 in rdi, param 2 rsi -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx -*/ - mov [save_rbx],rbx - mov [save_rbp],rbp - - - mov rcx,rdi - - mov r8d,esi - - - mov [save_r12],r12 - mov [save_r13],r13 - mov [save_r14],r14 - mov [save_r15],r15 - - -//;;; uInt wmask = s->w_mask; -//;;; unsigned chain_length = s->max_chain_length; -//;;; if (s->prev_length >= s->good_match) { -//;;; chain_length >>= 2; -//;;; } - - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -//;;; chainlen is decremented once beforehand so that the function can -//;;; use the sign flag instead of the zero flag for the exit test. -//;;; It is then shifted into the high word, to make room for the wmask -//;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -//;;; on zlib only -//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - - - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d - - - -//;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -//;;; Determine how many bytes the scan ptr is off from being -//;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -//;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - - mov eax, window_size - sub eax, MIN_LOOKAHEAD - - - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -//;;; int best_len = s->prev_length; - - -//;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -//;;; register ush scan_start = *(ushf*)scan; -//;;; register ush scan_end = *(ushf*)(scan+best_len-1); -//;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -//;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - - - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - - - - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - jmp LookupLoopIsZero - AFTER_JMP -/* -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit -*/ -.balign 16 -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP - - -//;;; Store the current value of chainlen. - mov [chainlenwmask], edx -/* -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). -*/ - lea rsi,[r8+r10] - mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - -/* -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. -*/ - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - BEFORE_JMP - jnz LoopCmps - jmp LenMaximum - AFTER_JMP - -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0x0000FFFF *** 5225 LINES SKIPPED *** From nobody Fri Mar 27 06:58:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhs160pVFz6XHR1 for ; Fri, 27 Mar 2026 06:58: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhs156TB4z3GH4 for ; Fri, 27 Mar 2026 06:58:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DBrT7SwkV6qYyw7SEGRQBaIokXGIJQqrutN33WqqAIc=; b=hCXNaxPoZJ4zt71XMUa8rVXm+pNJ0bQFQff+Wp+mfxKHUKBM8WKE9Xx79zt6UCHPXxv0Ic 1cWq3cfPTuCXs5Q9b42lDPXKCICde9WC8l0pk0Sb0PYYAfVAtG0e4aWCgRmR13AypKA8r3 jY/Q8ejxtUpUlTrYP9BjxmVLQYakzRUEN8N1zcscJHyzaBJ1wrgahLfEXnd96yaJ7RhX1h 0bR7FxAjFXT/8o2rb0HyvX6QVMMcVedF7BzuoiqdzyWUyhkAkg74y8sLiFaClO3e+fbTY5 SbsalQzXuX9sq3mrPNQDT3qp2jDbUU2E8pAgFkIZYW+VjpJhlPuum0nu/fViBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774594697; a=rsa-sha256; cv=none; b=wnyy2hk8iDiVXQp4TV9+w1kgZ0y9inrw3vj2ZBqxklIVm6y6ZR8bPyEMLSjoMIcOGzsTgn LiF5Ea7x3BSUphDe2PPWd9QyP0+GUmNUZwwXG/JMXDVfm02iaHvsPpDBMEHPzRGnqVzMfO 6uVD8kuHOkNiWC5v6Ts31XxfpqJV0BAFFr8xC0wrS8QRc30UvD0EEXOFViA88idZMdX2m9 JsDEDkyn4oR/qlBcuRMbGtCc22FZXor1XHGDB/gIPYRBh9eNWTPPMX6KVgiu1V+q/c8IYY 0kaPZ31K6djnkw0xRaKQvFVmXjBVAqPh2KXMVz8VUR9yd0TUVrVUEA2snX3g4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DBrT7SwkV6qYyw7SEGRQBaIokXGIJQqrutN33WqqAIc=; b=QeRMDspcADfSqSxs2A5Ri33ndtbhfh5Mg1C48fT2lCDwDsKOUfc/mymLghdOAjQ39NBR+3 Vq+XZte76sdGpXgo4CpYWX5EeeIkiCZhAeeHHWcQYJ/mNOhFCk6wB+qi5nUo5CK55SUWpp h/JcpFjJ7Xgq/pJMh2MGPkUPERXCt7bPgDQmYuyF2EKQbyNotldcslWFWqqQE8qe0lziA1 5ga8xV34RvJAZRuI585UWx26k0iAWFx83bN4EXFnmRHmMm0ivBc+0168bYWBaIdI185BWX vPng0gH6eungKjEsLGzHvoDLNfvTLuD+apavEcoGmAy2scel71ceKy/KltS+Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhs155wFlzCnX for ; Fri, 27 Mar 2026 06:58:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44273 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 06:58:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 8bc31c88d65a - main - if_types: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bc31c88d65ad99cd510fbe511958799d3531477 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 06:58:12 +0000 Message-Id: <69c62a84.44273.52ce6a66@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=8bc31c88d65ad99cd510fbe511958799d3531477 commit 8bc31c88d65ad99cd510fbe511958799d3531477 Author: Gordon Bergling AuthorDate: 2026-03-27 06:57:49 +0000 Commit: Gordon Bergling CommitDate: 2026-03-27 06:57:49 +0000 if_types: Fix a typo in a source code comment - s/Circiut/Circuit/ Obtained from: OpenBSD MFC after: 3 days --- sys/net/if_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_types.h b/sys/net/if_types.h index 1d17e5c09813..45923d15175b 100644 --- a/sys/net/if_types.h +++ b/sys/net/if_types.h @@ -174,7 +174,7 @@ typedef enum { IFT_A12MPPSWITCH = 0x82, /* Avalon Parallel Processor */ IFT_TUNNEL = 0x83, /* Encapsulation interface */ IFT_COFFEE = 0x84, /* coffee pot */ - IFT_CES = 0x85, /* Circiut Emulation Service */ + IFT_CES = 0x85, /* Circuit Emulation Service */ IFT_ATMSUBINTERFACE = 0x86, /* (x) ATM Sub Interface */ IFT_L2VLAN = 0x87, /* Layer 2 Virtual LAN using 802.1Q */ IFT_L3IPVLAN = 0x88, /* Layer 3 Virtual LAN - IP Protocol */ From nobody Fri Mar 27 06:59:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhs2g2MSVz6XHNR for ; Fri, 27 Mar 2026 06:59: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhs2g1gZwz3Glj for ; Fri, 27 Mar 2026 06:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zf3f7Ueh/sWHebnUllUNCVjllnPu2MRAwRoMcKbVSWc=; b=W9TMEL377gwUtNtWVuEJnGw+N/Q2evxQYi1qFS9cHpxcLjJAZ6l+vnsIC7Q3iwSG/Mj0tj xnX5T383oELb82v5xIABO0yyNKB2HtAp2IbRfOM9SLP36RNY+lRhEIauLvt26RiR5ix5zh wWEw9WfI1zW7FOV3aBmV3/K63zQ8+rFjbx6wCobwpBukTucTPV5vVqQGti847TDxj2ztvi IPygFSnm2nBMj9uomJtwF7A29SQwOgWRb6IJAK5jDngct3174DYgbAcOsGiWuWU8Evfnq2 hTkfrz4ApQa5T4npu7InJIlFGm9e2mLGfyTljEM2P4QdPwdJIq44WeLoTw0icw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774594779; a=rsa-sha256; cv=none; b=J8dFY+Dpr2jP1oip4wBpUwD3CqGz+pE4upx1jxY38YRZ9XvbqRy0a9B3bWHW+CyubiX0vZ lE662ZD6Us37u0HbrqtvD06T+Ss4BpmEWJ5ituJ6H2F8liPSOs3x0w9gV0klcf5zZHPYn7 IgMNhkYh0JfV2LSSYXxTS7rRDsAtJlzD1DXJzZJSMUBJn4iq9bTIgaz81FzOGB9GRF9wQS 1kI8RNosN7Vlu75H4ZNq3tThjXNHsIUaML1vUEv+1FaUIf4VokUYDfhzykzsYoFjB+DsSn Z+ZGTgF8NQZ5qaJkJ9x4v/8M/aZ8jqDQul+kyMXVA2fmKdwt0HEY/ubF1SEU9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zf3f7Ueh/sWHebnUllUNCVjllnPu2MRAwRoMcKbVSWc=; b=uqCLpuMC/Zj5ZXOmNWa+jMcCZw8/Tk3jQMB8IRCpkYghRsaWCrdAQfIlKKerensPzarZxM e13JYa9PKwDq1h6g5h9pDrOr2A2V2oN+FWexmQU4k6yzlnQVwQvHdtkWa+mYv7/jc5rNoG 7UaHPYsyULfeeHvscfNQfFcCkiw7BvVrIGrZGflFC2mUlOOy1gAQ4wJjzt3wc/SXCeZE1J xCiVYSOdlcniLctYvxBu/Bf6MqLZcnkKNVwFT/KvUbA3m/uV73n5eHawHQVerO/tmtBo1L wfqtuawx6lvfbalOijnGuu1D2FoyULwLeLbrcKcoehAScMKTx2YHSTlaOhTxsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhs2Z1CHvzCc1 for ; Fri, 27 Mar 2026 06:59:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45a08 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 06:59:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: aed3bc80fe03 - main - ofed: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aed3bc80fe033ab28e8f01cad49e73deb761516b Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 06:59:34 +0000 Message-Id: <69c62ad6.45a08.7da2a3bb@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=aed3bc80fe033ab28e8f01cad49e73deb761516b commit aed3bc80fe033ab28e8f01cad49e73deb761516b Author: Gordon Bergling AuthorDate: 2026-03-27 06:59:19 +0000 Commit: Gordon Bergling CommitDate: 2026-03-27 06:59:19 +0000 ofed: Fix a typo in a source code comment - s/refereced/referenced/ MFC after: 3 days --- sys/ofed/include/rdma/ib_mad.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ofed/include/rdma/ib_mad.h b/sys/ofed/include/rdma/ib_mad.h index 454db78dbde5..45f5ee2ff2ca 100644 --- a/sys/ofed/include/rdma/ib_mad.h +++ b/sys/ofed/include/rdma/ib_mad.h @@ -558,7 +558,7 @@ struct ib_mad_send_wc { * ib_mad_recv_buf - received MAD buffer information. * @list: Reference to next data buffer for a received RMPP MAD. * @grh: References a data buffer containing the global route header. - * The data refereced by this buffer is only valid if the GRH is + * The data referenced by this buffer is only valid if the GRH is * valid. * @mad: References the start of the received MAD. */ From nobody Fri Mar 27 08:33:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhv764R3Xz6XQc8 for ; Fri, 27 Mar 2026 08:33: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhv761k61z3QSq for ; Fri, 27 Mar 2026 08:33:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0fqc38cR4V9lsoSCxQNlwJi4nct9vo3eiDdbOWc0pFQ=; b=Zl9R5C3CH0spFiQxYqc9HQ2x8HPpFug4hx8eMCpwytzkI48hTjC3fKu3MsfuC3bYOYKHN+ oN+GNYRLSMUI8aaYxmjThZTQc7pEodqkKOta5Gci5D+Ni5SXhfPaNfKe4uGphg/PSBNPhl oWtmAsaFWBskcIrKPXQ8Da5h8KTHUEfiekve89C1RgGLpvgCz/ogOTS6lhO1kVksHfNbWc hd7T5OKLdchf4ZVYnEUwonYeX5ecB/mE4Vp63labwhrdbvmckaXNTunfade6270bVVr2Xk PAEFcZ1A8y8L4IBvxey974Dg45QEfWN7qo1CImUq3fEpeNERTQ2LIj0ZTs3UtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774600418; a=rsa-sha256; cv=none; b=KFsBt3798yDSjmtlIOmM7NGBp7WAniWX1TcOS2sVbM5JIbhsrAyNIc8xMFjyrBTssDB35J /09YAQxvTqTZTN/PDUk5/eL9EHl6cf0Rn8UVDfRWukbc5k5qve8vQpI0XJce6Sn7Y0DRK7 ovQ/gxBz4yIZ1sVOR9ENQqJixxD78524Al3spCRkdpSkgytD4Nv1ZameRNbjQTA3ODxjqv +6E2ZNWOHUORdIXCVlqo/kkrEtZdqBgiwUfDWoifJCi1LOmnH9otcWKyaUCVjQcNNLaq2L sALPETmIyrRK5/WRIrVT+VRaK3+xJaD9pQhQE42ZdvDmau5Zc6muluI7Z8Jnjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0fqc38cR4V9lsoSCxQNlwJi4nct9vo3eiDdbOWc0pFQ=; b=G0ww6f2Kzbl+Rr+ehPxzDB9oWuEF4fRpCWzzCtBZO2mGEh+h9fX00E2UWj094zQ5YPAbcL 1nXTGnZhXbVzppdJywyme6l1k/EACBp1OC/EoDo9gtqJ3mC8t3VAyVlxQHk3esLWtDaE1f +8YCfNcT/xw/vpM55i8Z30Pf9zr2cEBm+m7QbsrF3IK+I7d0kwULq6jaSVmKmfFbyXh8mT zi1wPqKncmJgHnNFB+TveHjtkAsQb0dzkKmouMSWCVqR19WfmA9daHgpnsDikbtvyd0I9Z yAcZP1GgL5IwW3Zu+CBu8VFl+R5SMDSuqjkuV2T0T1rUKY5ehGajUEezglNk4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhv761FmXzXN2 for ; Fri, 27 Mar 2026 08:33:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ece6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 08:33:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: c562c81e315c - main - uart/pci: always disable MSI for generic devices List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c562c81e315cd25bd35d5ece14ef9a3cb569cab5 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 08:33:38 +0000 Message-Id: <69c640e2.1ece6.1828b643@gitrepo.freebsd.org> The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=c562c81e315cd25bd35d5ece14ef9a3cb569cab5 commit c562c81e315cd25bd35d5ece14ef9a3cb569cab5 Author: Roger Pau Monné AuthorDate: 2026-03-26 19:59:24 +0000 Commit: Roger Pau Monné CommitDate: 2026-03-27 08:26:32 +0000 uart/pci: always disable MSI for generic devices The generic device pci_id structure in uart_pci_probe() already has PCI_NO_MSI appended to it's flags, however that information is not propagated into uart_pci_attach(). Assume that any device that doesn't match the known IDs is a generic UART device, and hence prevent the usage of MSIs. MFC: 2 weeks Reviewed by: imp Differential revision: https://reviews.freebsd.org/D56097 --- sys/dev/uart/uart_bus_pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c index 7087958cbfa9..b0d285e3c603 100644 --- a/sys/dev/uart/uart_bus_pci.c +++ b/sys/dev/uart/uart_bus_pci.c @@ -339,7 +339,8 @@ uart_pci_attach(device_t dev) * suggests this is only reliable when one MSI vector is advertised. */ id = uart_pci_match(dev, pci_ns8250_ids); - if ((id == NULL || (id->rid & PCI_NO_MSI) == 0) && + /* Always disable MSI for generic devices. */ + if (id != NULL && (id->rid & PCI_NO_MSI) == 0 && pci_msi_count(dev) == 1) { count = 1; if (pci_alloc_msi(dev, &count) == 0) { From nobody Fri Mar 27 08:33:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhv7B2VhFz6XQcC for ; Fri, 27 Mar 2026 08:33: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhv7B1pvBz3Qb8 for ; Fri, 27 Mar 2026 08:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kKEOgj0HlTiCSY9xUa2AsTCooMuBfaPuGT9kdAk64MY=; b=xJdQjJRIISZVHsyBTWJ+7Cyv1SVP3UAsvi5SIOnRmp9Xo9hQtRO5gbq61w9EfasgxiwX7q Y/ForefT3Hypi9/LEM8Xc5H1+uXtad7I88JUkbaMDPb794QLbq4vPB5FysdRsHO4trmtlj ufH67abBmWm67xN8Rm0lXggB9YHJMdQmxRsQrVXqJoLRTrE75DVCCl38JxDtkN24gO5duo JhVhrfDtuqtx6ythR+dmf7nLylwXQF/oP6nx1gkcR5vRKOdZGK3ozzmWU5yrsrh83LYg8P H02BbT4dqF4c/iq11+0dvlh8M+JKibhs84WKsF8M3e+0dBneD19EV9MeONyXTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774600422; a=rsa-sha256; cv=none; b=AJHd3nLlJl74bs+7Hwbzym2Vgvsjw7B/r0Vg8xTJ/bIaDoMh0A9DCspKTgmnBE/k+bAJn6 rMqDX4CDcUoU6jhdvEA/xe7RtY94aJNAlxow7UW3NaUv/DK7OAgLvqI6Dyn0jo4jx2M29D TglmRckqyY03lj2p279p5p3PZpaJybWuREcHV/Ii2ffv22CSvqHJxVbH3qg8XkRc/Bhxms /UjyOPeL3o4+4fkCuvr3lOjrWtWeYqnT1YQ7hOK97fNH8mah5ql2NipvZ7SCDsYXq2DzDY KEHI2Of1Egn92PClcgwkr0n2NORoOOxVIG+O6U/3K9Z66W6FAhPeoQXvbsDU3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kKEOgj0HlTiCSY9xUa2AsTCooMuBfaPuGT9kdAk64MY=; b=UtdZTPPXlGc81avLh8tTMN5B0+1qZDd5YPW5ypRZGk4wH93NZGvMhrzwsHsmkULxOANgZD Ns9+ruGw6DZMRe//mPyM5kBrZbHS6VplmIajaTXp398ZD6QB7ENJQ9o6jUvkZYoJJgxsLM Jb22Ocaa186LAF5NzT5soc4E4E/quf2xsZadfYhLW1U4PK+QBm81bbO08aUuqGNWLF1mrU WpsypGOSMN2F71ebGEo0sP4GAajUx1Zhj8znl0u4DDvTktqi8AAvKCvORQCO5ZhYpEw/DP bU2V35yw7oGG5edFJgQ5d6afd/N2zdgFz+CHfqLAZP78fvKwHUWg/cWceiV0/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 4fhv7B14HwzXTB for ; Fri, 27 Mar 2026 08:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fc2b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 08:33:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 1491fe8f864a - main - uart/pci: support 16550A PCI serial devices List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1491fe8f864af5af37e83f1d12459905fb6097fd Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 08:33:37 +0000 Message-Id: <69c640e1.1fc2b.4542bc24@gitrepo.freebsd.org> The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=1491fe8f864af5af37e83f1d12459905fb6097fd commit 1491fe8f864af5af37e83f1d12459905fb6097fd Author: Roger Pau Monné AuthorDate: 2026-03-26 10:01:57 +0000 Commit: Roger Pau Monné CommitDate: 2026-03-27 08:26:32 +0000 uart/pci: support 16550A PCI serial devices Expand the current check to also attach the ns8250 driver to devices reporting as 16550A. This has been tested to work on a real device. From an inspection of the code in the ns8250 driver it seems like it should support up to 16950A devices, but I don't have hardware to ensure that, hence be conservative with the change. MFC: 2 weeks Reviewed by: imp Differential revision: https://reviews.freebsd.org/D56095 --- sys/dev/uart/uart_bus_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c index 22af8ee8663c..7087958cbfa9 100644 --- a/sys/dev/uart/uart_bus_pci.c +++ b/sys/dev/uart/uart_bus_pci.c @@ -297,7 +297,7 @@ uart_pci_probe(device_t dev) } if (pci_get_class(dev) == PCIC_SIMPLECOMM && pci_get_subclass(dev) == PCIS_SIMPLECOMM_UART && - pci_get_progif(dev) < PCIP_SIMPLECOMM_UART_16550A) { + pci_get_progif(dev) <= PCIP_SIMPLECOMM_UART_16550A) { /* XXX rclk what to do */ id = &cid; sc->sc_class = &uart_ns8250_class; From nobody Fri Mar 27 09:00:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhvkT5nDqz6RWJ4; Fri, 27 Mar 2026 09:00:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhvkT4ywtz3Tjd; Fri, 27 Mar 2026 09:00:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774602049; h=from:from:reply-to:subject: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=shDng4ciAhGG6fc8Sbu3typKekKMiCsDiJF0XsEgkRA=; b=xt18sXwORrKH+N37syg6r0WDxqPCb4GMKurrqSL8E8rW0lfQxlR+bWvbp7bjRhHRGp0iyK CmFs6DOWpLWm02/mgKLmut+Q/O7tmZjANloF+aNy7MZ2vC26lzfBDWRdWeEUibZbhj+Uoy HwbEkIUFmmwMNVazgpkXnz1MFKNVhltrNat/wGOL4DUk+7TYH7ojBQ5Pj6nsqxS0yFxBhQ ZfoFlxB7a5/89cQdqO0o7k2hxVmJmgz/uActgumSbEDACFmdHB7bYvKqNrfynRRtrvjU1W AgW+B2x08LO766jA+2Wdz4dy+stAnMl1u85gGTw6ZTpAMp+cqPEmwd3hq7w0CQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774602049; a=rsa-sha256; cv=none; b=mFy/hPlGIJGoebp+TBIp2lbDrmDpFk6tg7K/LS+baEBlFprqqRN0eGbpDgK4z2xSTUkAXY YhqgqAOhuGGKULaDmx1pqZvDWybbsSduv2neZv0UXIZF9yCejLvkI2IWFGdMfeIrhDi02N 449mmwReoYQBez2W4X+IsltyVNgzFl25sMjNUgs0SRmkMpnxsNzwd5vhbtUtnBLmKUVk0U ip0UimxqfcdIFBYKCcgb0pQfP5xwyYgX4BcQaCxjtyRtNJWvb8AVAmaaNEPdFy29kzCFi3 R2yuyoScZ8jyXQI3MZljg9ZcVepNPEwfJXwnjgb6hn3fly9maz5IDZtCzdRK5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774602049; h=from:from:reply-to:subject: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=shDng4ciAhGG6fc8Sbu3typKekKMiCsDiJF0XsEgkRA=; b=cFZcecUOc97IORLRcwCkXChF7+kjXXp6v7Bf50/nSRc2dKeeQxSMQSmfUdhpfJ+DA7g8IU VPl3bLYIJWSKEeILKaZLK0ppDxdDNYzIlAWOSX57meHpd9fU3qvPoxu++g8cstw8GN2NvL wY5OkXqMKBRUMPi2K4BQCMbGB6qcChwuYb67gScbBgz2LBEjBJoazuY5HSXxuTKlUhavxo PYWZRVzCnB6NOxwpHWSULFYFQL4mU92rEuzP08K6W3akXxXsQ8MrpoFM7MZVHSnKKM8jmV 7v96aRz/IhXbzlcHOzlIPuEx4xqxIdMbIABWpn3JV00PjeHzfr+yVtr9MiKNOw== Received: from [10.255.82.0] (nat-184-249.net.cam.ac.uk [131.111.184.249]) (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 4fhvkT18Xkzpq3; Fri, 27 Mar 2026 09:00:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Fri, 27 Mar 2026 09:00:47 +0000 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: aed3bc80fe03 - main - ofed: Fix a typo in a source code comment Content-Language: en-US To: Gordon Bergling , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69c62ad6.45a08.7da2a3bb@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <69c62ad6.45a08.7da2a3bb@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/27/26 06:59, Gordon Bergling wrote: > The branch main has been updated by gbe: > > URL: https://cgit.FreeBSD.org/src/commit/?id=aed3bc80fe033ab28e8f01cad49e73deb761516b > > commit aed3bc80fe033ab28e8f01cad49e73deb761516b > Author: Gordon Bergling > AuthorDate: 2026-03-27 06:59:19 +0000 > Commit: Gordon Bergling > CommitDate: 2026-03-27 06:59:19 +0000 > > ofed: Fix a typo in a source code comment > > - s/refereced/referenced/ > > MFC after: 3 days > --- > sys/ofed/include/rdma/ib_mad.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sys/ofed/include/rdma/ib_mad.h b/sys/ofed/include/rdma/ib_mad.h > index 454db78dbde5..45f5ee2ff2ca 100644 > --- a/sys/ofed/include/rdma/ib_mad.h > +++ b/sys/ofed/include/rdma/ib_mad.h > @@ -558,7 +558,7 @@ struct ib_mad_send_wc { > * ib_mad_recv_buf - received MAD buffer information. > * @list: Reference to next data buffer for a received RMPP MAD. > * @grh: References a data buffer containing the global route header. > - * The data refereced by this buffer is only valid if the GRH is > + * The data referenced by this buffer is only valid if the GRH is > * valid. > * @mad: References the start of the received MAD. Please refrain from future fixes in sys/ofed as it is really vendor code (similar to sys/contrib) and local diffs like this can create conflicts for merges from upstream. I realize it is a bit confusing as it is not under sys/contrib. :-/ -- John Baldwin From nobody Fri Mar 27 08:53:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhvZn0wGfz6XRvR; Fri, 27 Mar 2026 08:54:09 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Received: from mail.e4m.org (mail.e4m.org [IPv6:2a03:4000:66:f68::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 (4096 bits) client-digest SHA256) (Client CN "mail.e4m.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhvZm1xcKz3TQy; Fri, 27 Mar 2026 08:54:08 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Authentication-Results: mx1.freebsd.org; none ARC-Filter: OpenARC Filter v1.0 mail.e4m.org 62R8rsip059473 ARC-Seal: i=1; d=e4m.org; s=s; a=rsa-sha256; cv=none; t=1774601634; b=YngvaIquhtuOaimAgu1sHhjJKwKA+lq7jbtmbIFz+CBaLBuf83JTXqoAbTV/CnVjSMh6 A9m8QuB1YWv2l0CFpK8HdcclMhP9289q/NFc8maG84iQF2jYqkkFypm9B7DXtU4aneWiE Rli26m24inIVmU0yRIEudzXfe3vaM0udekv/nThK/FGV5/QKSk/gQGPygKMRabQhW1pD6 n6ScypX3kLspLdf58p6JXMwzQiM0s0Zk2ac3ivSJfK5jLYp5EYkzhxYqUibfbEi/d/Ts4 yvwcxMC6lXqN/Y+qxQbWiTrZ+EJPSnFuCPftWhpfN60CGmRLZUeQTSLCLNIQJVmoeEA== ARC-Message-Signature: i=1; d=e4m.org; s=s; a=rsa-sha256; c=relaxed/relaxed; t=1774601634; h=DKIM-Filter:DKIM-Signature:Received:Received:Received:Date:From:To: Cc:Subject:Message-ID:References:MIME-Version:Content-Type: Content-Disposition:Content-Transfer-Encoding:In-Reply-To; bh=r7iwKYA8D5e3GTh3ZUMxijLXCgcET5odQnoT1b4OfyE=; b=nOm92/SZw1sQZpnCziEwjJ3drR6z/9EPsRrYpBrhWQle9x7K9CUVIP+acE1969eO9giJ sY+y7hZZE4d5OVHL0ydW9HC7UnzkLTvPyllK2bN1PMS7AMJqVgcbQToQhTowK8fHGsgSD g7wafHHHffbZgzs0IQIhZpt4FYtoIyss4oU2RUfMyErmIFtyO9wXRpFHvXk3T1ulnO4GX BT+cSjcSQoe6ELXlAV1BffhIqGDApWA4/f5X/rmQZZ9hNMNLPvZxEZXm05zq9rboWKB2e vSOZwZvtgIKB5v32/jpKif1BoYTikEIr9fZpNEmZevFQ0k6Vkxy3Gy57GZfufQTmjvA== ARC-Authentication-Results: i=1; mail.e4m.org; arc=none smtp.remote-ip="2a02:3100:920a:680d:ec4:7aff:fee6:add0" DKIM-Filter: OpenDKIM Filter v1.0 mail.e4m.org 62R8rsip059473 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=e4m.org; s=s; t=1774601634; i=@e4m.org; bh=r7iwKYA8D5e3GTh3ZUMxijLXCgcET5odQnoT1b4OfyE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:Date:From:To: Subject:Reply-to:Cc:In-reply-to:References; b=AIUESfTsKKk0U3v5rH2oKt0MTpOqMHxFXutWnA9+fCP2Dj07vmqBWcqUz63iibya/ FdQiLUKjxlRttDLJYLWzSnuGRUldYBGXVwf+IHzd6Pm5vvY5RgcISqyoo14iklncQn u9MpZZ+x67Fh6hyXtvgwI+BXSyIeog5BWpAGAq2KphfXrb5C6b/AJ+2TJY+MFrek86 YHKQmhjeNfkCYl2otHxlhEb7A3SgoVHAkc0/GE7AGagf3F5iG8BmtQk1dl86eyOENX bzLE4nMDlDiF8Z8o/CiS7gaiioz3Dv0FnxCuK4whaHyuDwoXZ8RV3myCrFE3tYpZWE YfMauUMRJVmig== Received: from dynamic-2a02-3100-920a-680d-0ec4-7aff-fee6-add0.310.pool.telefonica.de (dynamic-2a02-3100-920a-680d-0ec4-7aff-fee6-add0.310.pool.telefonica.de [IPv6:2a02:3100:920a:680d:ec4:7aff:fee6:add0]) (authenticated bits=128) by mail.e4m.org (8.18.1/8.18.1) with ESMTPSA id 62R8rsip059473 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=FAIL); Fri, 27 Mar 2026 09:53:54 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from stationary.client ([IPv6:fd00:0:0:0:0:0:0:3]) by gate.local (8.18.1/8.18.1) with ESMTPS id 62R8rmrT004300 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 27 Mar 2026 09:53:49 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from submit.client ([127.0.0.1]) by voyager.local (8.18.1/8.18.1) with ESMTP id 62R8rmN8004848; Fri, 27 Mar 2026 09:53:48 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: (from user@localhost) by voyager.local (8.18.1/8.18.1/Submit) id 62R8rmSs004847; Fri, 27 Mar 2026 09:53:48 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Date: Fri, 27 Mar 2026 09:53:48 +0100 From: Andre Albsmeier To: Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= Cc: Andre Albsmeier , Enji Cooper , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: Removing stuff from NOTES because it is in GENEREIC Message-ID: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> <86ldfeyggv.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86ldfeyggv.fsf@ltc.des.dev> X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:197540, ipnet:2a03:4000::/32, country:DE] X-Rspamd-Queue-Id: 4fhvZm1xcKz3TQy X-Spamd-Bar: ---- On Thu, 26-Mar-2026 at 12:31:44 +0100, Dag-Erling Smørgrav wrote: > Andre Albsmeier writes: > > Is it correct to remove something from NOTES because it is in GENERIC? > > > > My impression was that NOTES contains ALL what can be configured into > > a kernel (whether it makes sense or not). Am I wrong here? > > You are correct. NOTES is intended to have all options that can be > enabled, plus non-default values for all parameters that can be tuned. OK, thanks to you and Warner for clarifying. When checking sys/amd64/conf/GENERIC on -HEAD, I found the following items which are not in sys/{.,x86,amd64}/conf/NOTES: device ocs_fc device tws device ufshci device aq device vge option EXTERR_STRINGS option IPSEC_OFFLOAD option FIB_ALGO option PRINTF_BUFR_SIZE option KDTRACE_FRAME option DDB_CTF option RACCT_DEFAULT_TO_DISABLED option AH_AR5416_INTERRUPT_MITIGATION Should they be added? -Andre From nobody Fri Mar 27 11:45:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhzNT5nGjz6W2ZV for ; Fri, 27 Mar 2026 11:45: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhzNT12dBz3lcw for ; Fri, 27 Mar 2026 11:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774611929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SoYWa4huMpO5idNzeftr2jW/zrV7RdoWD9fqsVi9nFY=; b=w1+A6CCDYAKsbqSfwH71FUXetN5ESMnbwcTSmHoxgFn8BeyvPNtXhRWXg214pxvnz4KShP n9ssRkuP3sJjOK9o8+ZfQhGV0hjOIkA8993I4BWlU6lZFzik4I9/3L2U9FVmFHvaNfsmii /yGV7I81kqanW1EMr/P3Y1d4FgDGgSNzHVhSxYXc8uvOV3/GTn1ssDzXiLqqP/edAe83Xw INM9rcfoJVezIIgo6wq4vOHoQxPwuFhhaeJFc52cc0iDM2lP5FF3XpReH5npU/P7dCB20W yDPcizwL1aEoBTmMCvA9/lDHAZtjHwdse6+TWsFZv8uUd+oeDTW+MFOshkWRjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774611929; a=rsa-sha256; cv=none; b=UjQSwaPdA8xJgVQgj7F9lhWpc9CFvZ8x5xooWVsgVdP2YajAdrGogdNR90L6Lc0cyIf0+I qoN2jM9zNNKhyxzlgrBoGMv88d2tPk3TOCKJ9l7eg/TM9/VCMYkgqKHqEqkEU0vyYaW7r3 HlYVM0EDQPMTMKijsEudHsveY610+d6rNKuDDCcK43FACO0NwFWD+chJ2CFHq+BxMKdBeV iVx3I+KaxcwS4KCaDH2LPZw47vii9MbtMBSRTgPgkw9qpl5LhpwIIfQy9Wk35WRHup4dKR 5VVrx+YTgEoqlBpsHIaSBgafHA86k3Kzi1NT8ktIh58ykbU7uyZtp+g0jzyC0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774611929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SoYWa4huMpO5idNzeftr2jW/zrV7RdoWD9fqsVi9nFY=; b=YqXX0CnOPuSdo5mq4yvVWpp1lPx74oDjudIOezJ0IylEsKVRC1IxOHY6OGmEhKdDcF6Eui zMICzcMQbQF7Od2zpmsCs/er4UlKx0S1x9gjSlOd87u7Ihiz8sAjMMcqazVEc5Q5mnIiet 5DDeaoItv9aZB6P5if3Ci3/5M3HQghcdrfzLgJ4hBqcZtUuW2yp0AhgEvfI9hUX7Kx9HH5 YwpoQlRQJ/CtiqtcTTjCcNdABxJDBiOBwVHc2VfdqXHqgvjZetZvh6zOtaPLJz71Deew/F 1yGxIpDzUxev3vb8N5WB21spoPgHUC60GZinWbRJQF2Hm1qA7Epr6EniJcQRNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhzNT0fCHzdfQ for ; Fri, 27 Mar 2026 11:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ac5b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 11:45:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Krzysztof Galazka Subject: git: ebe529eedb79 - stable/15 - ix(4): Add EEE support for E610 adapters List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ebe529eedb790f8bf93813cff453d6c1f06a3056 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 11:45:24 +0000 Message-Id: <69c66dd4.3ac5b.75395f96@gitrepo.freebsd.org> The branch stable/15 has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=ebe529eedb790f8bf93813cff453d6c1f06a3056 commit ebe529eedb790f8bf93813cff453d6c1f06a3056 Author: Krzysztof Galazka AuthorDate: 2026-03-13 11:48:12 +0000 Commit: Krzysztof Galazka CommitDate: 2026-03-27 11:43:22 +0000 ix(4): Add EEE support for E610 adapters The ix driver now supports Energy Efficient Ethernet (EEE) on Intel E610 devices. EEE allows the network interface to enter low-power states during periods of low link utilization, reducing power consumption while maintaining full performance when needed. E610 adapters provide EEE support through BASE-T PHY functionality. Due to this PHY-based implementation, EEE is supported only on 2.5Gb speeds and above. Signed-off-by: Yogesh Bhosale Signed-off-by: Krzysztof Galazka Authored-by: Yogesh Bhosale Approved by: kbowling (mentor) Tested by: Mateusz Moga Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D55304 (cherry picked from commit 13ee84c591f8df7553fc8e3dac7e92409046f4d2) --- sys/dev/ixgbe/if_ix.c | 34 ++++++++++++++++++++++++ sys/dev/ixgbe/ixgbe_e610.c | 48 ++++++++++++++++++++++++---------- sys/dev/ixgbe/ixgbe_type_e610.h | 57 +++++++++++++++++++++++++++++++---------- 3 files changed, 112 insertions(+), 27 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 7f234ce45dbd..f94b43afbfd5 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1066,6 +1066,10 @@ ixgbe_if_attach_pre(if_ctx_t ctx) /* Ensure SW/FW semaphore is free */ ixgbe_init_swfw_semaphore(hw); + /* Enable EEE power saving */ + if (sc->feat_en & IXGBE_FEATURE_EEE) + hw->mac.ops.setup_eee(hw, true); + /* Set an initial default flow control value */ hw->fc.requested_mode = ixgbe_flow_control; @@ -4591,6 +4595,20 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) "Link is up %s Full Duplex\n", ixgbe_link_speed_to_str(sc->link_speed)); sc->link_active = true; + + /* If link speed is <= 1Gbps and EEE is enabled, + * log info. + */ + if (sc->hw.mac.type == ixgbe_mac_E610 && + (sc->feat_en & IXGBE_FEATURE_EEE) && + sc->link_speed <= IXGBE_LINK_SPEED_1GB_FULL) { + device_printf(sc->dev, + "Energy Efficient Ethernet (EEE) feature " + "is not supported on link speeds equal to " + "or below 1Gbps. EEE is supported on " + "speeds above 1Gbps.\n"); + } + /* Update any Flow Control changes */ ixgbe_fc_enable(&sc->hw); /* Update DMA coalescing config */ @@ -5584,6 +5602,17 @@ ixgbe_sysctl_eee_state(SYSCTL_HANDLER_ARGS) if ((new_eee < 0) || (new_eee > 1)) return (EINVAL); + /* If link speed is <= 1Gbps and EEE is being enabled, log info */ + if (sc->hw.mac.type == ixgbe_mac_E610 && + new_eee && + sc->link_speed <= IXGBE_LINK_SPEED_1GB_FULL) { + device_printf(dev, + "Energy Efficient Ethernet (EEE) feature is not " + "supported on link speeds equal to or below 1Gbps. " + "EEE is supported on speeds above 1Gbps.\n"); + return (EINVAL); + } + retval = ixgbe_setup_eee(&sc->hw, new_eee); if (retval) { device_printf(dev, "Error in EEE setup: 0x%08X\n", retval); @@ -5647,6 +5676,8 @@ ixgbe_sysctl_tso_tcp_flags_mask(SYSCTL_HANDLER_ARGS) static void ixgbe_init_device_features(struct ixgbe_softc *sc) { + s32 error; + sc->feat_cap = IXGBE_FEATURE_NETMAP | IXGBE_FEATURE_RSS | IXGBE_FEATURE_MSI | @@ -5702,6 +5733,9 @@ ixgbe_init_device_features(struct ixgbe_softc *sc) case ixgbe_mac_E610: sc->feat_cap |= IXGBE_FEATURE_RECOVERY_MODE; sc->feat_cap |= IXGBE_FEATURE_DBG_DUMP; + error = ixgbe_get_caps(&sc->hw); + if (error == 0 && sc->hw.func_caps.common_cap.eee_support != 0) + sc->feat_cap |= IXGBE_FEATURE_EEE; break; default: break; diff --git a/sys/dev/ixgbe/ixgbe_e610.c b/sys/dev/ixgbe/ixgbe_e610.c index 18c4612446e0..b76d96814933 100644 --- a/sys/dev/ixgbe/ixgbe_e610.c +++ b/sys/dev/ixgbe/ixgbe_e610.c @@ -776,6 +776,10 @@ ixgbe_parse_common_caps(struct ixgbe_hw *hw, struct ixgbe_hw_common_caps *caps, DEBUGOUT2("%s: next_cluster_id_support = %d\n", prefix, caps->next_cluster_id_support); break; + case IXGBE_ACI_CAPS_EEE: + caps->eee_support = (u8)number; + DEBUGOUT2("%s: eee_support = %x\n", prefix, caps->eee_support); + break; default: /* Not one of the recognized common capabilities */ found = false; @@ -1332,6 +1336,7 @@ void ixgbe_copy_phy_caps_to_cfg(struct ixgbe_aci_cmd_get_phy_caps_data *caps, cfg->link_fec_opt = caps->link_fec_options; cfg->module_compliance_enforcement = caps->module_compliance_enforcement; + cfg->eee_entry_delay = caps->eee_entry_delay; } /** @@ -1351,10 +1356,12 @@ s32 ixgbe_aci_set_phy_cfg(struct ixgbe_hw *hw, struct ixgbe_aci_cmd_set_phy_cfg_data *cfg) { struct ixgbe_aci_desc desc; + bool use_1p40_buff; s32 status; if (!cfg) return IXGBE_ERR_PARAM; + use_1p40_buff = hw->func_caps.common_cap.eee_support != 0; /* Ensure that only valid bits of cfg->caps can be turned on. */ if (cfg->caps & ~IXGBE_ACI_PHY_ENA_VALID_MASK) { @@ -1364,8 +1371,18 @@ s32 ixgbe_aci_set_phy_cfg(struct ixgbe_hw *hw, ixgbe_fill_dflt_direct_cmd_desc(&desc, ixgbe_aci_opc_set_phy_cfg); desc.flags |= IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_RD); - status = ixgbe_aci_send_cmd(hw, &desc, cfg, sizeof(*cfg)); + if (use_1p40_buff) { + status = ixgbe_aci_send_cmd(hw, &desc, cfg, sizeof(*cfg)); + } else { + struct ixgbe_aci_cmd_set_phy_cfg_data_pre_1_40 cfg_obsolete; + + memcpy(&cfg_obsolete, cfg, sizeof(cfg_obsolete)); + + status = ixgbe_aci_send_cmd(hw, &desc, &cfg_obsolete, + sizeof(cfg_obsolete)); + } + /* even if the old buffer is used no need to worry about conversion */ if (!status) hw->phy.curr_user_phy_cfg = *cfg; @@ -1599,6 +1616,7 @@ s32 ixgbe_aci_get_link_info(struct ixgbe_hw *hw, bool ena_lse, li->topo_media_conflict = link_data.topo_media_conflict; li->pacing = link_data.cfg & (IXGBE_ACI_CFG_PACING_M | IXGBE_ACI_CFG_PACING_TYPE_M); + li->eee_status = link_data.eee_status; /* update fc info */ tx_pause = !!(link_data.an_info & IXGBE_ACI_LINK_PAUSE_TX); @@ -3883,9 +3901,14 @@ s32 ixgbe_init_ops_E610(struct ixgbe_hw *hw) /* PHY */ phy->ops.init = ixgbe_init_phy_ops_E610; phy->ops.identify = ixgbe_identify_phy_E610; - phy->eee_speeds_supported = IXGBE_LINK_SPEED_10_FULL | - IXGBE_LINK_SPEED_100_FULL | - IXGBE_LINK_SPEED_1GB_FULL; + + if (hw->device_id == IXGBE_DEV_ID_E610_2_5G_T) + phy->eee_speeds_supported = IXGBE_LINK_SPEED_2_5GB_FULL; + else + phy->eee_speeds_supported = IXGBE_LINK_SPEED_2_5GB_FULL | + IXGBE_LINK_SPEED_5GB_FULL | + IXGBE_LINK_SPEED_10GB_FULL; + phy->eee_speeds_advertised = phy->eee_speeds_supported; /* Additional ops overrides for e610 to go here */ @@ -4513,19 +4536,18 @@ s32 ixgbe_setup_eee_E610(struct ixgbe_hw *hw, bool enable_eee) phy_cfg.caps |= IXGBE_ACI_PHY_ENA_LINK; phy_cfg.caps |= IXGBE_ACI_PHY_ENA_AUTO_LINK_UPDT; + /* setup only speeds which are defined for [0x0601/0x0600].eee_cap */ if (enable_eee) { - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_100BASE_TX) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_100_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_100BASE_TX; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_1000BASE_T) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_1GB_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_1000BASE_T; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_1000BASE_KX) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_1000BASE_KX; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_T) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_2_5GB_FULL) + eee_cap |= IXGBE_ACI_PHY_EEE_EN_2_5GBASE_T; + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_5GB_FULL) + eee_cap |= IXGBE_ACI_PHY_EEE_EN_5GBASE_T; + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_10GB_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_10GBASE_T; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_KR_CR1) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_10GBASE_KR; - if (phy_caps.phy_type_high & IXGBE_PHY_TYPE_HIGH_10BASE_T) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_10BASE_T; } /* Set EEE capability for particular PHY types */ diff --git a/sys/dev/ixgbe/ixgbe_type_e610.h b/sys/dev/ixgbe/ixgbe_type_e610.h index e300030c3ba4..da46e503f660 100644 --- a/sys/dev/ixgbe/ixgbe_type_e610.h +++ b/sys/dev/ixgbe/ixgbe_type_e610.h @@ -721,6 +721,7 @@ struct ixgbe_aci_cmd_list_caps_elem { #define IXGBE_ACI_CAPS_EXT_TOPO_DEV_IMG3 0x0084 #define IXGBE_ACI_CAPS_OROM_RECOVERY_UPDATE 0x0090 #define IXGBE_ACI_CAPS_NEXT_CLUSTER_ID 0x0096 +#define IXGBE_ACI_CAPS_EEE 0x009B u8 major_ver; u8 minor_ver; /* Number of resources described by this capability */ @@ -836,10 +837,8 @@ struct ixgbe_aci_cmd_get_phy_caps_data { #define IXGBE_ACI_PHY_EEE_EN_100BASE_TX BIT(0) #define IXGBE_ACI_PHY_EEE_EN_1000BASE_T BIT(1) #define IXGBE_ACI_PHY_EEE_EN_10GBASE_T BIT(2) -#define IXGBE_ACI_PHY_EEE_EN_1000BASE_KX BIT(3) -#define IXGBE_ACI_PHY_EEE_EN_10GBASE_KR BIT(4) -#define IXGBE_ACI_PHY_EEE_EN_25GBASE_KR BIT(5) -#define IXGBE_ACI_PHY_EEE_EN_10BASE_T BIT(11) +#define IXGBE_ACI_PHY_EEE_EN_5GBASE_T BIT(11) +#define IXGBE_ACI_PHY_EEE_EN_2_5GBASE_T BIT(12) __le16 eeer_value; u8 phy_id_oui[4]; /* PHY/Module ID connected on the port */ u8 phy_fw_ver[8]; @@ -869,7 +868,9 @@ struct ixgbe_aci_cmd_get_phy_caps_data { #define IXGBE_ACI_MOD_TYPE_BYTE2_SFP_PLUS 0xA0 #define IXGBE_ACI_MOD_TYPE_BYTE2_QSFP_PLUS 0x86 u8 qualified_module_count; - u8 rsvd2[7]; /* Bytes 47:41 reserved */ + u8 rsvd2; + __le16 eee_entry_delay; + u8 rsvd3[4]; #define IXGBE_ACI_QUAL_MOD_COUNT_MAX 16 struct { u8 v_oui[3]; @@ -893,11 +894,38 @@ struct ixgbe_aci_cmd_set_phy_cfg { IXGBE_CHECK_PARAM_LEN(ixgbe_aci_cmd_set_phy_cfg); +/* Set PHY config obsolete command data structure (; Fri, 27 Mar 2026 12:12:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhzzt3YdMz3njB for ; Fri, 27 Mar 2026 12:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774613562; h=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=JQgsm4JM/YvZfZCoTf6P+cI/zDDPCCoqa/64pW1jDPw=; b=dzOyGlmW5CU/SbUn517UVYifs79OqomLMZgj78Xai1uCFQsgyBYTEPPtBe+pfDDAN4lQdE VpNtdTHvJ/DKrjijjO6IVYXFYgvst7RlZ217Jqq6t7RRQibv6mBiVNfjg51HLQltNY8Zpf 2KGW3an6sZSPK8miY4NkgMMO5Uff2A+UIFzLJo8OtheIozHfIxWqJ+KF1zvHpiIXpwZUoO fzeG+vZOVFB++z6ktTCB+1oBwD0x7tyTyi0B5UiNePRpATUFHXVOnfiXz6J7wvbbHVwau0 WG4YW1lOdfaGZkmEeSMdgkJQyBRzB6nib2N7WWhXVbpdikTqKUFmThW9I2s+CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774613562; a=rsa-sha256; cv=none; b=TnBvE+QIP1lzL7FPEnooeJEQJf3yfjhHdodeSE/32lXPeF4vd1Gg4Vg7kjOw6tJcM0Eqy4 rqp3jLfMrBIoOAXp1O5VGFkiLsfLmzvOAW8cyWScuZKZ/sQ/h5lfXMurI2J2sjZIncRcYb O1B1EM4RbJalgYwralIevuMPTTy3Ek4Qi/20CcU4eir3++vcIGx39LjH5+TeKJJjc4ZGkM WvUL6+GxYMCTCn/MW4RW801Y4F6uCrpy7G0DMXcnVdpkBLYWBcHKg68byCEXyt1Ji4hO2r IlWvkkiHFyIGMT4BIrLSLD+Vq63XM0NMTA6v0aKv8FJu7mMiK2BJR357nBIqWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774613562; h=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=JQgsm4JM/YvZfZCoTf6P+cI/zDDPCCoqa/64pW1jDPw=; b=Cziw2IjB53FihYRzYA2F5Xk7MbXwYHT1E/BeIt7Fb6arR3JeNoK7i7Ap5wwYkwsTfnznQL m+S4CerQi4rU+J1jTS4m4LoiUBZcaEcNZ2RVI2IWgpJ1ORzj9uY3+r9+fMUOhcCqYsiM2F 0ahEgkLzBeJnYneQdfxrlwYUDXR4zqK8oW27+edtMlpxnV5Bsc984xmYij1hA8TWNZYHM/ jt2LTInliRqAtHl50WUlzbT86uUlsbnuU7Hz5P+PLQ1NYEjnOZNTdbByWeWQUnraRh4/Fo cNyT8Ss4QZXocUmlAf6xGI6fyzKj174gJBRf4oGC0IkS+VNod50CLY2iOiw27g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhzzt2wP2zfZl for ; Fri, 27 Mar 2026 12:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40900 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 12:12:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: K Rin From: Pouria Mousavizadeh Tehrani Subject: git: 18ce9e2dd0e0 - main - tests/netlink: Bugfix on snl_parse_errmsg_capped test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 18ce9e2dd0e062583080da624499927e8df8eaf3 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 12:12:37 +0000 Message-Id: <69c67435.40900.3c7ee0a2@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=18ce9e2dd0e062583080da624499927e8df8eaf3 commit 18ce9e2dd0e062583080da624499927e8df8eaf3 Author: K Rin AuthorDate: 2025-04-12 05:41:35 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-27 12:01:06 +0000 tests/netlink: Bugfix on snl_parse_errmsg_capped test Turn off the NETLINK_EXT_ACK flag to fix bug of snl_parse_errmsg_capped. Reviewed by: pouria Pull Request: https://github.com/freebsd/freebsd-src/pull/1660 --- tests/sys/netlink/test_snl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sys/netlink/test_snl.c b/tests/sys/netlink/test_snl.c index 3990aa0b075d..c2bbc4aff949 100644 --- a/tests/sys/netlink/test_snl.c +++ b/tests/sys/netlink/test_snl.c @@ -64,11 +64,11 @@ ATF_TC_BODY(snl_parse_errmsg_capped, tc) if (!snl_init(&ss, NETLINK_ROUTE)) atf_tc_fail("snl_init() failed"); - atf_tc_skip("does not work"); - int optval = 1; ATF_CHECK(setsockopt(ss.fd, SOL_NETLINK, NETLINK_CAP_ACK, &optval, sizeof(optval)) == 0); + optval = 0; + ATF_CHECK(setsockopt(ss.fd, SOL_NETLINK, NETLINK_EXT_ACK, &optval, sizeof(optval)) == 0); snl_init_writer(&ss, &nw); struct nlmsghdr *hdr = snl_create_msg_request(&nw, 255); From nobody Fri Mar 27 12:34:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj0Sg56Hvz6W7WZ for ; Fri, 27 Mar 2026 12:34: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj0Sg43mPz3s5P for ; Fri, 27 Mar 2026 12:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774614851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LO/cidVo3g5n9XLwysQ8+CBgVYLSX2sU1QUut5A4cPU=; b=wasqAyPF652aKdtL/yMPdK2pd/7g95yQj33yVshKiXnl20ni4lmupeSSHYRn25kSfB0EeE Ij4mDtBCuSXlPXW84ELbxl1yzBoLgAjqYhjS25CbZ+5A0r5yeXeCyjuBY1WkemCRaW67J6 QFQlxJ11GbUC++qVMurcoYODXgC44LkHTxmcyjFZiHdLA3hbB0WziwChxXVfVplsK0TtXl S30KuohC2e57VrdhjXEqPPiRLkFx8llIT0unBJmasfOdhYZWyew5e+C+qFjO2ADfwAFe0+ Xd2TKkUJczz1vId4/qYZjinBsvmie1iNtOaA+z/EwgSiAX/4eiIFHvDx+aaMeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774614851; a=rsa-sha256; cv=none; b=p2ZfqGHqJSOqML1ywYJ6sFIFLKpxmRVYehhQ9VkOXdobpjHLpx2K5Qa7xhC3IWuA9/IT8f uZmMEVbaUgxypzDq1svQJPt6oCDGtEfr/7hAdBGBB9vQ0CjtnBWsap2VAq/cEn+dNCBvTn FF2ggYY5GxvQFNnKvj6RjJALiJ1eDLRwgeoygMS/a3gJHpdk1muF2t5I5blOIM+2FCkM8J czVQybLdyuPS/vmWdRCEW7ZNHfm9HuyXYaa7ZBuf1XiGH2+fs8RgeWjNExOVqdNlsYBscF ED2VoVfnW/qNk4Ov6+YF05Ct1vSbfngi9maeKxBFdiNMDM50DuNF5YplOJCuzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774614851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LO/cidVo3g5n9XLwysQ8+CBgVYLSX2sU1QUut5A4cPU=; b=YCFPTfDAU8D9+QhT2QJ8YcjkzNb9lE78v09Ono1n4kXgr6NEoNKVRRn2BJQjQj1w7C+n7J LXiD+IGlucwn9PruEF533OWwcmzAiRAvAEPtrNNnlSXD9gqihCXyQ/yJdlSK3BMlFCpL9K gL46fdHI/fBXxPBQo6uIrVawMxFlD8JAuw3/wEQoO4YkF/E70rtkeSX6V4Teus1s3Hf38e GR8l3LlxgnnB8hyqs3/Z4CMnkmy3HkXIyqi5OneNrPcUXji7IvZEnAtW6hbrFrHj/3j7K9 kaALxNYFX0g87iD1nULEGYc8E9gGAqvcZ0RvTlvN6J0R04xqrBIr3M2EBab4Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj0Sg3fZFzg4n for ; Fri, 27 Mar 2026 12:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42105 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 12:34:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 97934f737548 - stable/14 - Revert superfluous mis-MFC of "Add ASMC_DEBUG make option" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 97934f737548d1979aadd4acc54cc4de88d05dd2 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 12:34:11 +0000 Message-Id: <69c67943.42105.41ba77e6@gitrepo.freebsd.org> The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=97934f737548d1979aadd4acc54cc4de88d05dd2 commit 97934f737548d1979aadd4acc54cc4de88d05dd2 Author: Olivier Certner AuthorDate: 2026-03-27 08:46:51 +0000 Commit: Olivier Certner CommitDate: 2026-03-27 11:14:19 +0000 Revert superfluous mis-MFC of "Add ASMC_DEBUG make option" Revert commit 12e1ab887d58 ("Add ASMC_DEBUG make option, 2026-01-04"), as the original commit it intended to MFC has already been MFCed as ab3eaa6ea29d846d on 2026/02/22 (UTC). The reverted commit introduced some (superfluous) duplicate lines and an unrelated change. This is a direct commit to stable/14. Fixes: 12e1ab887d58 ("Add ASMC_DEBUG make option, 2026-01-04") Sponsored by: The FreeBSD Foundation --- sys/amd64/conf/NOTES | 4 ---- sys/conf/options.amd64 | 3 --- 2 files changed, 7 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 9640a7a59766..5599f0503887 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -114,10 +114,6 @@ options EFIRT device asmc options ASMC_DEBUG # Enable asmc(4)-specific debug logic. -# Apple System Management Controller (SMC) -device asmc -options ASMC_DEBUG # Enable asmc(4)-specific debug logic. - # # Intel QuickAssist driver with OpenCrypto support # diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64 index a3a735731438..c7c1f4da2a4a 100644 --- a/sys/conf/options.amd64 +++ b/sys/conf/options.amd64 @@ -66,8 +66,5 @@ NO_LEGACY_PCIB opt_cpu.h # Compatibility with Linux MP table bugs. MPTABLE_LINUX_BUG_COMPAT -# x86 specific uart options -UART_NS8250_EARLY_PORT opt_uart.h - # Enable asmc(4)-specific debug logic. ASMC_DEBUG opt_asmc.h From nobody Fri Mar 27 14:55:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj3cM6Vzqz6WMmS for ; Fri, 27 Mar 2026 14:56:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj3cM60Btz46Rx for ; Fri, 27 Mar 2026 14:56:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774623363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NgxgZOsgvdrFB7Xbn+VE9MxF0+nmQNFqzCas6cU+G5Y=; b=UEQUaVTUT4zd8RiatWg8qZjuATcnIZNdypgI64LkzTBTPYZa7bOxOUwPddWfG1f0EJk0sz kX5Poornb8XRWNU3D+EiE0+D63eD92jK2Cuh3d2s21YCnPsTFlRErqE0JeHO9BzX3ndoA3 0755Yz5BEL3lwU5GnvenD/tHvlg/QzV6c9maPLQsmKjvIgmTr/mzJMa2wL9rRcnMtzwZ99 o2Y9wrOAv8a8l0qK8uuo3sNCGGC64lcub1UDEVG3iNfNv33HNEza/eSLaSOZwaGTdI0bma ljgLo5Y+i14bXFfuT6GheTG7NHJwMNrDcz+jRXNZdZT0A/eDeHMjF2TVHmCjfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774623363; a=rsa-sha256; cv=none; b=G8OZrBIOuvgvroMEfHiP/LNUVvM4O9HI7BE3D/9umG4DNtnUJmXYKk0nfIQ05kGFM1Xpaq wrwUyvunupivKA4yj98oVZhoHnwdOJTNz86V2/XQjNoaopQ9c/Nb1iMiwg3nrwMJEIgYAn CZARA4wA1NzeOpR51puhrYYdXmZ0u6Pq2OHIMOdNm3FEwC9nKHSQf9DTa9sfZfjZ4GxRUS jK5OeJcQ0t7ivuuRel+m76Pl8nycgjBTRMUn5LiojzO5+AYEs1w0xzG4yO9BXYqnY2fn1P +Yf2/I0U6P99MyuCLgJahzSrqvGBGuvEpeTOdC2UzsYiLB/ILhAoJ8ju05xCzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774623363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NgxgZOsgvdrFB7Xbn+VE9MxF0+nmQNFqzCas6cU+G5Y=; b=qpzIlsUbWUi2LKxMcXGOs/vwMn7zxZYjQ8400Ve8yM0GjJp/1Y3hz5NEj7psytUy3LT4p5 HknHa/6zH41AxwtMTyA+DGTkIXZNCq7fhShIzKmhcmsamrWGNFcPwxbl3PA2L+tEZ2HhoX N9pSc5deyKirqR3gnxvVzNyPJ0AduxLYqYm1AMCOlgd0KhFkPnTCqHcpjgwB3iXealgq+t Y0fIK+itRewHE/o35kLhrsquqmcYn5yBj0zo0y2zV9zoAXjnmIcLPRTBDLWWjTeEYMi7tf 9rUdDsdOXtZ86DmP+RtkYI9vY9vzrQ7ytPCLiRXNUNdMWGO+56KInniWlpRTLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj3cM5Y1bzkcg for ; Fri, 27 Mar 2026 14:56:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 211a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 14:55:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: c78937677c97 - main - DEVICE_IDENTIFY.9: Fix function call to detect driver in example code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: c78937677c973c48fd438ea06cfb51e11cc62851 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 14:55:48 +0000 Message-Id: <69c69a74.211a4.40b1c7fb@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=c78937677c973c48fd438ea06cfb51e11cc62851 commit c78937677c973c48fd438ea06cfb51e11cc62851 Author: Olivier Certner AuthorDate: 2026-03-27 14:46:58 +0000 Commit: Olivier Certner CommitDate: 2026-03-27 14:55:13 +0000 DEVICE_IDENTIFY.9: Fix function call to detect driver in example code Fixes: ccabc7c2e556 ("DEVICE_IDENTIFY.9: Modernize description and use cases") MFC after: 3 days Sponsored by: The FreeBSD Foundation --- share/man/man9/DEVICE_IDENTIFY.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/DEVICE_IDENTIFY.9 b/share/man/man9/DEVICE_IDENTIFY.9 index 31063ae60dff..564699b57a58 100644 --- a/share/man/man9/DEVICE_IDENTIFY.9 +++ b/share/man/man9/DEVICE_IDENTIFY.9 @@ -74,7 +74,7 @@ foo_identify(driver_t *driver, device_t parent) retrieve_device_information; if (devices matches one of your supported devices && - device_get_child(parent, "foo", DEVICE_UNIT_ANY) == NULL) { + device_find_child(parent, "foo", DEVICE_UNIT_ANY) == NULL) { child = BUS_ADD_CHILD(parent, 0, "foo", DEVICE_UNIT_ANY); bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1); } From nobody Fri Mar 27 15:42:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fJ0MKZz6WRgP for ; Fri, 27 Mar 2026 15:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj4fH6mG9z3F7Q for ; Fri, 27 Mar 2026 15:42:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynrevXERQeDtzXxASZXSgoEdGf8C+1HwqPKNpNUwVrk=; b=bUwArODX+fFVVF7UIvhv6gjcWTqL8PBNjBdiWy1F7FjH3bs4ck55z5MXYOfnHt/ugL8Cgf 6r+WNncpGN1RJlrsWPapGFOKkEhO9lHsiVp5ZzErgoQt2m2UcY2ivoetNk5fOihfd4zOCi /iMY+3u26nxWdSl6ZCrUd362/Q2fP9PBPmFxwmgwrpM7brMJ/79OQ+cLgwBqlwCSzToiNf sXO3vf470MRJYxIt8aQGA16E1HmvXd2n5Ue/P5+bG8FIGdbBkwws5lr+DK8Y3njK8m1H9V iiyjovUPnMfq8cU6imCg8NnA36VwTGgnWwEuVtDG9oIxkJzFF+7ScwGMT7CA3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774626168; a=rsa-sha256; cv=none; b=x4v45KPxZ54EQyHK0dPvDWRWSVmVzlcLAfeNRyG+duMIZ7zacav9TjZ2vFKS/CSWbKbNPS 2a8HTZSUoLKp3XICNqadDG7vcMOrC7yVrAMHyByY2VHij9i207GKSMTjSVcVFA+BNvDyLp UR3CTRHxoGx/4E8ymK8NPgNSSOKf34CHeZLTseBQfwfTRzXL0pi4B/TNWbijvGC1+uQliF 5oeNb4wn/neYcxmPapCUHdVS1qF3uFp1b8LjHUDTK51J3WefIPb3jjm3ZfMeuepWndpgsQ TWyQHIU3WLN6Eyo54Zg1/GNDqcW3lmuXFla3LwADv7bfPD1Fa6KlfuCt8xKGCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynrevXERQeDtzXxASZXSgoEdGf8C+1HwqPKNpNUwVrk=; b=rKqy0xpEAfLYIf8LLQ4Rda77Fp7DnWe1JnvIJdcqUFvkG1+/K1eEzcpsWWI6/7lSHZdamB +yY5aGz6S43TfSi2viPdQKKXMQdnvuL74cLflfwkN1G6n4nUmI/yPxVb5+YWgVggYB1n7o J5KhYtXDpGHan/AlkEDdrQ3y0kCYfW0FhhaKPFia8qgu/4aJ08YJ41bEYE/oJ6jf7BDjVS 2sjL/Y7pM5ZOYUPWD/g0XVojNPoVqz/RtT4681oaRzSkgiL6ZPkDyiBXnDHO+n5gdlZs1r 5G4UTRW0+VF9fhTdgt+3sspG10xBJ7EZYbDDCmLEJ8jJMCQP5Q7t8ESZ/H3SqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fH6GNtzljK for ; Fri, 27 Mar 2026 15:42:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26e4a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 15:42:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 8ba3ada41dda - main - etc/mtree: Restore removed package tags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ba3ada41dda46b41100fa913473058856816e0c Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 15:42:47 +0000 Message-Id: <69c6a577.26e4a.4b7e4679@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=8ba3ada41dda46b41100fa913473058856816e0c commit 8ba3ada41dda46b41100fa913473058856816e0c Author: Lexi Winter AuthorDate: 2026-03-27 14:35:16 +0000 Commit: Lexi Winter CommitDate: 2026-03-27 15:42:36 +0000 etc/mtree: Restore removed package tags Following commit 436618a427b4 which added package tags to mtree, some of the tags were later removed due to an issue with empty packages being created. That problem has been fixed by commit 7965c93e4d41, so we can now restore the tags that were removed. This reverts commit 00352ef6d2a013650f0ab2a4c9b016c22552ed25. This reverts commit 1fbdb149aa486961c5d9d6403065e90123b3f5fe. This reverts commit ef2d586d7efb908bf39e7d5eb5d4305193d0ca6e. This reverts commit 2a8a6179eb6cef8ba1a417a4c8a1f7063c704533. MFC after: 2 weeks (stable/15 only) Reviewed by: des, bapt, emaste Differential Revision: https://reviews.freebsd.org/D55645 Sponsored by: https://www.patreon.com/bsdivy --- etc/mtree/BSD.include.dist | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist index 487973bcc9b5..97f2194a3fa1 100644 --- a/etc/mtree/BSD.include.dist +++ b/etc/mtree/BSD.include.dist @@ -6,13 +6,13 @@ . arpa .. - atf-c + atf-c tags=package=atf-dev .. - atf-c++ + atf-c++ tags=package=atf-dev .. bsm tags=package=audit-dev .. - bsnmp + bsnmp tags=package=bsnmp-dev .. c++ v1 @@ -278,9 +278,9 @@ .. lib9p tags=package=lib9p-dev .. - libipt + libipt tags=package=libipt-dev .. - libmilter + libmilter tags=package=libmilter-dev .. libxo tags=package=runtime-dev .. From nobody Fri Mar 27 15:42:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fK1kLDz6WRbw for ; Fri, 27 Mar 2026 15:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj4fK0K3kz3DjV for ; Fri, 27 Mar 2026 15:42:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0ZjxA1Ar17UZp1TcYY0TQjVfw8JhGTphZLa48+U9cdw=; b=mSw0WdpWRagYCht1NTYJbRd82mIwAQ2lktfq4LttLYXuiwLOJ6JHgx0CeNFiIe6dCeXTua 3SJB3USq+RUqe5lQObxO+NlfkRhOD8L989DnF4RLgoTIAkKKFrXNbnx8NKQs/wLwnZsFHE U4CBs06wct6Tqc+id219c/amAgeUGzJS+iZuQC1EcCuwIqUV9E+awAdUHLhzni0biHs0mV JBIJJI4NOYNd8Xwkhw/iKulWwWpdQT0erZOfKF8CXRNW79lXaJeIfrcNW/E5reQr+eezNW KnLdzXiZyyHN9eM+Auy97U8l0c5UO95Z+7C6MO3vnLWPp12Of+TCo1Z8Bton3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774626169; a=rsa-sha256; cv=none; b=s7gjd6IhBmm0958x5KBZbf0fnGOzbGEM1s8seR6FNXwAUiom0DNwtkLlVlvwfOBp9GptKc 6rjU+kx7c0FJI1XtgTGAYGLVHgO1m6/pQLYe/X+y2ocwSaWVHD86jtBMu2JXUV9Er6vCuP Obp7scLXgnqwzhYaBc0YMLifspxvYL1rNYWdk3VCC1rsZShhvto9LtpZPl0Ur5aZx63pd8 yMXpoQlMFRVcSFDWCMZGVFk2wBN8xY/sg8LbNmJ+ljALUaxB0fVGJt91SJeGxnP0aQWWSN BUEitNIAchYouqRIFKtbZro3KcazNW+uPz3hWVgZEqPlre+HcDUarSTeDt/LwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0ZjxA1Ar17UZp1TcYY0TQjVfw8JhGTphZLa48+U9cdw=; b=ORh4uCdZj51Ixe2rqV2SLIoSNwcOL1Bhh2bU5d1CbbK6MAVrSsA1s0dwyNdebB5bGx7NK2 SfCVWXK/qXIfoa3b+M/Zzn97ef4Cu4kr7CIqbpw814Pbx+HhkVtSMPWba8dwhd65a5xnkl cYuhrIQG4RKhz5StQWSuWrtb8LpUC0BoLXarZNqJuDT7zV+6eStRXP5u3/UOAmIgw80S6g yHnTdAWT3uWE41uofSBcqhQgkIHLrbXUKTMDy1uH6wK+Q76IRsOARqMM7PliU6p+RTf5hc GHzDeTN5EtgDx8n7+r0I/zLrufdYNEDkiFDwl5OJTxRNtL23bRCX9wc9DmA9Fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fJ6yVwzlvV for ; Fri, 27 Mar 2026 15:42:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26e4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 15:42:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 43773002fa63 - main - packages: Move xz to the minimal set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 43773002fa63262d531ce3ee5cf5d3fe872a3388 Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 15:42:48 +0000 Message-Id: <69c6a578.26e4e.11e143a9@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=43773002fa63262d531ce3ee5cf5d3fe872a3388 commit 43773002fa63262d531ce3ee5cf5d3fe872a3388 Author: Lexi Winter AuthorDate: 2026-03-27 14:49:30 +0000 Commit: Lexi Winter CommitDate: 2026-03-27 15:42:37 +0000 packages: Move xz to the minimal set pkg(8), via its daily periodic script, requires xz. We don't have a way to encode dependencies from ports on base packages right now, so instead move xz to the minimal set so it's always installed. This isn't an ideal solution, but it's justified in this case since pkg(8) is always installed, so having its dependencies always installed is acceptable. (Following discusson on the diff, new versions of pkg have now been changed to use zstd instead of xz, but we still think xz is useful enough to keep in minimal.) MFC after: 1 week (stable/15 only) Reviewed by: des, bapt, emaste Differential Revision: https://reviews.freebsd.org/D55630 Sponsored by: https://www.patreon.com/bsdivy --- release/packages/ucl/xz-all.ucl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/packages/ucl/xz-all.ucl b/release/packages/ucl/xz-all.ucl index 8a7c33bcce46..3523dc70ca55 100644 --- a/release/packages/ucl/xz-all.ucl +++ b/release/packages/ucl/xz-all.ucl @@ -25,5 +25,5 @@ applications to use this functionality programmatically. EOD annotations { - set = "optional,optional-jail" + set = "minimal,minimal-jail" } From nobody Fri Mar 27 15:42:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fL6Nk7z6WRbx for ; Fri, 27 Mar 2026 15:42: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj4fL2tRhz3FB2 for ; Fri, 27 Mar 2026 15:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SEEs/EQsp2tiot9VgUHCvqeCheHEunwg7VXhSQpCVlM=; b=vl07xSC8k3v4EoxxKudmTFKEB0ChDrh7SDDLN7Hqj1RrvWABVVTD4F8ZEkLRoNfTL/PnrO ealkD/ipWHS/+9ZTsZ/Dy/mlRwECi5yT1rOLDqC4JbUOMoAcI0kpSogjE17B1OHSRd7pwg DT+w70pLkTVRGisYCGlOoVVMfRSlcJZJNrxnoCiaRFWvYpv3tpdHYC3TLAxTKdZ9DPmC1c ujisLF5i4eaeRyL/CDIvWvEOFo6zMgPVcbLeERkbXANR+k+COPV71mpMj7B0CxRwTM8MAl 5I9XuzDtR+vUiao36szWGavUAwYAsFWXJkggh8Amq6EKE65zDDD9CEk57iv4Pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774626170; a=rsa-sha256; cv=none; b=ADN/Q9mwMrt3KThosWlLoX1iXtsPcNhxk1YbfUJYf/Zjf44XT+1zWq4cyhod2Z3BoqWFeu mTYjCJw03QLoMU3ao44mgbvgRl7TS1cHNbG7OelTtv0axkMjsrL6uOx+MAQLSPbO7LuBMC 6WIa9RaaGS4e/Kix5BjiptkR2X9PGa/sEzcXOcrfMh1c4xeXpZec3drJJMet0t1BeWoWql P/XUalhMF3zcHaNWrQ5VE3wnwhWHp0IDQG7UTwpmhrvjsj4bzSTXjZk6GZH7EWluXLIb7Z IXFKZy3j3CJ8YmeWdoFgyhOfuIF09iEYvyrvY3gztLHvGn3vYn9heN++UptX/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=1774626170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SEEs/EQsp2tiot9VgUHCvqeCheHEunwg7VXhSQpCVlM=; b=Jv4HOam4IarWr7mBEGXjrlVPZkKW/n9TJui4h5PfZDayIBR24AuIY3zStvP9oQY2JVi4pZ DGkeVvLTwKsPdYvNWNhv7vlDqjqUpiMXSVyjFhxfbzgVcN8S+8Y+cVy7w6bxCFuf8yuKQL 8f6xMz3l071rGNXxCboq81kjxSC7HJOskZU6V527xR6+2IWu3J0GPnh0QV+/gR/me8rN+M FgTZgd08OFS7POhno3PFqgM2+0xWkptRL/zSzCUIWo+nSp/cKL37Kt7oQBLXFa34moNLzZ tcY0cfKO+Ju3uh7YqNptxEvuLV64BVxEIlIlVOf7Iz/raf91NZQgpP6OHtsgSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fL0Rl6zlR6 for ; Fri, 27 Mar 2026 15:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26578 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 15:42:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 833087185a6e - main - packages: Add dependency from rc to mtree List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 833087185a6e9a2bd26707c57c83a71a541a825a Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 15:42:50 +0000 Message-Id: <69c6a57a.26578.4e2846ee@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=833087185a6e9a2bd26707c57c83a71a541a825a commit 833087185a6e9a2bd26707c57c83a71a541a825a Author: Lexi Winter AuthorDate: 2026-03-27 14:52:58 +0000 Commit: Lexi Winter CommitDate: 2026-03-27 15:42:37 +0000 packages: Add dependency from rc to mtree /etc/rc.d/var_run uses mtree, which is in the devel set and isn't installed as part of either minimal or optional, so add a manual dependency. Reviewed by: des, bapt, emaste Differential Revision: https://reviews.freebsd.org/D54540 Sponsored by: https://www.patreon.com/bsdivy --- release/packages/ucl/rc.ucl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/release/packages/ucl/rc.ucl b/release/packages/ucl/rc.ucl index 854963a81ca1..b750c731469b 100644 --- a/release/packages/ucl/rc.ucl +++ b/release/packages/ucl/rc.ucl @@ -19,6 +19,9 @@ deps { "runtime": { version = "${VERSION}" - } + }, + # /etc/rc.d/var_run depends on mtree. + "mtree": { + version = "${VERSION}" + }, } - From nobody Fri Mar 27 15:47:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4mF1fVLz6WSGX; Fri, 27 Mar 2026 15:47:57 +0000 (UTC) (envelope-from ivy@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj4mF0y7Lz3HnN; Fri, 27 Mar 2026 15:47:57 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R5TzxykuK/gocCH5OOWh4WU8IP2OSgaqoTdTB8EXxdc=; b=KkL18pZBWAcRBSS20mSweALaI4W4cwf8pFISMJqk9sXgsVFUAOoFzv0aqzXJhFEBmpuaKr rXkt51Oti5+PQVUeST0tyb1OAKWH4P0jlIg+r95cIuUn2DfofNcDGnXPDAENqCRhWX5fSj AYSO0NDhtpwJhRq50LQnq1ybsLpznlbdVve9ixMm6k42HAcaSja1lxCaurY2mXtiZnwDb3 L82VQ090ipNvpdNkTsQJOmg03vyzapdLz9x2ncYcpTdZiajH5/4VmnUEqPMwb3zSjXKKwb mAIZVTV2p/YgA3am+/YI4uLnDnN0PpRKdN8PUwZv840nUKbFRMmMJyDxQEsuBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774626477; a=rsa-sha256; cv=none; b=Ln1JvhDPdw6TLSD/tDCB2k4iD39UTxMd2Hl4+mVWTCH49C2AcrKxUPbANJiD6l/8IScr2Z SVD5zPiKRB5nt1jS127sNJ/L0JIE7hz0OF3cgyR2fuS+gPs9Q17NTOqmXygz4iHwEll7i1 cVAXh3ETUMXxVkMLbYDmpdCt/J6Wyh7rEfBBVsAsWobe9MudWGHp9y7+CScpVO4LHrLZsa GQFjoBHnmqUH1X40dzZFxL0iHTDN1Lxx5RAczREcwrY4A0dN1vrngaNc83ehJylKram5Q+ xtxns64ZtpzA3MwQnDHVE4EnUDlod+0zJAikzzivu70FuZhao72J60f8ZYbMJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R5TzxykuK/gocCH5OOWh4WU8IP2OSgaqoTdTB8EXxdc=; b=IJjNOZcEX8mDk0AVdgZ7Jz2K84mn+d10+CyW7m4wkPrl6IXiCHMVSZEA6zBCTdg5POByoT rxtfJuMWqbSXnMnXwdgW8w5C2+5KESsb/ErcTZncVNYZMwYMsPK+1aBvV0a3QLexVhcDho C1Z8awsXl20ToDnXbjP5KirH54tWV9AwoGGHIRoPVYIhxnuYmSx0cYNxsCj2z2lY2PIOwd PlccEveu+uG4aED/iP32gl0OKq5G84h5JStcp6t3BgzT4NHzbsIXO9Cgt9t2JdaCzPBFJF mkEywpaNz4MotLAdmCQVNCuAbwvR1QfO2rFZhBzv3spR8SjDfGMu2C/j9Uz/3Q== Received: from amaryllis.le-fay.org (amaryllis.le-fay.org [IPv6:2a00:1098:6b:400::9]) (using TLSv1.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: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fj4mD4NZYz10Yg; Fri, 27 Mar 2026 15:47:56 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Fri, 27 Mar 2026 15:47:45 +0000 From: Lexi Winter To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 833087185a6e - main - packages: Add dependency from rc to mtree Message-ID: Mail-Followup-To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69c6a57a.26578.4e2846ee@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="NUqJTrZgdyXrQgPo" Content-Disposition: inline In-Reply-To: <69c6a57a.26578.4e2846ee@gitrepo.freebsd.org> --NUqJTrZgdyXrQgPo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Lexi Winter wrote in <69c6a57a.26578.4e2846ee@gitrepo.freebsd.org>: > The branch main has been updated by ivy: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D833087185a6e9a2bd26707c57c= 83a71a541a825a >=20 > commit 833087185a6e9a2bd26707c57c83a71a541a825a > Author: Lexi Winter > AuthorDate: 2026-03-27 14:52:58 +0000 > Commit: Lexi Winter > CommitDate: 2026-03-27 15:42:37 +0000 >=20 > packages: Add dependency from rc to mtree > =20 > /etc/rc.d/var_run uses mtree, which is in the devel set and isn't > installed as part of either minimal or optional, so add a manual > dependency. > =20 > Reviewed by: des, bapt, emaste > Differential Revision: https://reviews.freebsd.org/D54540 > Sponsored by: https://www.patreon.com/bsdivy MFC after: 3 days (stable/15 only) forgot this tag on the commit message, sorry. --NUqJTrZgdyXrQgPo Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCacamnQAKCRD1nT63mIK/ YEu7AP4xpC8RMSGAMC2KqONA7f3weCMp0+geM1UbpActOt1sqwEA9SowAjKXPH04 TuvMIByHDV3Vxbz47S9fQfALnXm8iwo= =/yQ7 -----END PGP SIGNATURE----- --NUqJTrZgdyXrQgPo-- From nobody Fri Mar 27 19:29:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj9hF19hjz6WLG5 for ; Fri, 27 Mar 2026 19:29: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj9hF0Vk0z3kHr for ; Fri, 27 Mar 2026 19:29:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774639789; h=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=LNvkZTMxtDWt7xlqXVO5+T3rdMitRDdMS1UuYWJwc74=; b=Fh3SV+XH7vpEg69J9gQKTa6TcJMpjG0yxGpwtcDJ38tCAE0GHgy5alSP67bW2TUGaFB42a cXNCOh2sNfrrr9OIlZ5lkTcs3jOGk3zb80XFnKUMwflcz/Df2o3J2ZYN3y8ePnvgFFEy8e eoyB36Xh338mug4zj9sXpk+XKenPSMmYh4LrkjkJxoUcII+OaLmTDkr6+CcS6BqIUdl1nu TiBy+s4VltfkFR2WRPKjRbUOkheV0339iiTQc5BI0ixFCguc6+SFs215sX1Jt1Ar4/bWym 9bIZW/1GXoQwZEecgkSjUXFLU0qafTWkHhU+8OsLAEnP8HWW90QxZi4zJwrP1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774639789; a=rsa-sha256; cv=none; b=Yferg1vikb3/RiaGHtBoo32pNRxt4yFgLXCDZ6hsmxERI4u9qTyO3OvDp5mKz25LXxg1f5 hIjIM20WjIXOs8W3nqtUeg/BdcNUXxByE16hvbNW/Bbymyd7WW1BZXkwSW1t70VfT7JE1x HookgldAhUK8uTrgIwqWL6+atR7A817syzZWl1iBmwWaa53jnHv3pA1BvxcF39R5kCxKDP 5UYEajUVU1pcdMj77JyUcS7VqVFuPsdrhHgTbZZTr+NdMx9eAjJzEpkdCSvg483gMTCKhR 1PEfJsnp9f88Ld0+InNyXULcRuHepPzhWu8nw3NwACTDo27WscF+YY9rbmce/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774639789; h=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=LNvkZTMxtDWt7xlqXVO5+T3rdMitRDdMS1UuYWJwc74=; b=lXFXEImFc/rwOs8NfiJQ9R/KYJXzmW6Yfqzq0sCc3gqauiXtgl+g+1vepCtw59T8Wy0yKh Z5fpyKFFWIYsQX9aB/c/h/fOb+JgdFNkriX07hblCAdmh79C3XC2lGScurBUkwqvIpTxFG z/rwf/5YTI1WqOFNJNe3ARPsU4R6DIC1+il6npl5f16lLhTY4oXMy/F7FtnH3OnS0h9R3C Ga78Q2Zd1TLd74jdA7EFq6bVCEcy3F79aTNsrg/+rpyXSvxPJFP5Hx4gTxNTEcGgJONGbX ntIsn4YUi+IoqKlWoNSkqaqlIaePBV7GEAxJygw0iuFU0VH+e2Dz+Vz8M6VpLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj9hD73Gyzsj4 for ; Fri, 27 Mar 2026 19:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d2d4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 19:29:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Gleb Smirnoff Subject: git: 6cf1afeccd8a - main - newsyslog: check for rename failure during log rotation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6cf1afeccd8aaf926c58c5f0ee24ca3d2329a0ce Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 19:29:43 +0000 Message-Id: <69c6daa7.1d2d4.4bb254d1@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6cf1afeccd8aaf926c58c5f0ee24ca3d2329a0ce commit 6cf1afeccd8aaf926c58c5f0ee24ca3d2329a0ce Author: Christos Longros AuthorDate: 2026-03-27 19:28:42 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-27 19:28:42 +0000 newsyslog: check for rename failure during log rotation Differential Revision: https://reviews.freebsd.org/D56088 --- usr.sbin/newsyslog/newsyslog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index 084aeb36b052..fc8ba7df79af 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -1955,9 +1955,9 @@ do_rotate(const struct conf_entry *ent) if (noaction) printf("\tmv %s %s\n", zfile1, zfile2); - else { - /* XXX - Ought to be checking for failure! */ - (void)rename(zfile1, zfile2); + else if (rename(zfile1, zfile2) != 0) { + warn("can't mv %s to %s", zfile1, zfile2); + continue; } change_attrs(zfile2, ent); if (ent->compress && strlen(logfile_suffix) == 0) { From nobody Fri Mar 27 19:38:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj9v36tKMz6WLrQ for ; Fri, 27 Mar 2026 19:39:11 +0000 (UTC) (envelope-from eduardo@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fj9v34bqDz3lc7 for ; Fri, 27 Mar 2026 19:39:11 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774640351; h=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=oI/N4ud76VBh2zOk6Jj4r6BghCuqKZ4tpRUMfzq4sBk=; b=MW3pGca8nWpPetdxtQYLcQDHMHbYKUVEZLWr7tORU4iQ4/e1+bnzdaQ3dPfYWsO6AtkotT DOfGxL6wOj7KM22/6m3jYZ5JArLFEcQvQauO7fB4bxbnk/g/TlkxUTPD3Ddc58tUiIh9c8 LTxMuAD2VKJlbrqTlLnIPLDoZf6f2DqkXNS83PaZvloOteXirS8NlnETQKXoW026APz4VU ZNL8yaiZgxGp/ZmA73f5R3FruuJfbJYaC/OGEl2xfKUmpJnRVaWhXI2Fl7xYehK5A9qVCH V1o3SDa5Wu2zgU4G2muMzBUPOK1XlB2LpcEL/tA0kmEHEMjJVZouWp5Sh5+eAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774640351; a=rsa-sha256; cv=none; b=LIQX+m0pMt6jzRDaghXumA0lREeV4QKwT4dde3AuicLYS8f1/5StQXnqEtsaNolkYFkiCd itskTciHySkYilXObq7BL9kzxIZRb8XC0Qib/9wbmqZPryg8GJXf7pxeEP0taTp0gdpwpt 6nghzV8+JpXzaak/sjiCtOq4N4va0Yx37GPMmkK1kbZ9U5BuGStx3mQ+qgdtKaH/Wga8Yq Y5cJ/yYLKQiD0e2asZHxwXHqHMAF+6LJ4YcaXC1uBe/Zu1R5Otr7zIlz2wRGtrlOGQtlXV 58axgp9EyK26m3WZ7Ewg5HOSblIzSiDCRRZ5p0AV+ZALJw03nsG8VsW7e9M4sQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774640351; h=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=oI/N4ud76VBh2zOk6Jj4r6BghCuqKZ4tpRUMfzq4sBk=; b=mx1B6DeB/cclk4MULgTyQ/6HjkMmqiPYmNl22ONVKD5dPFTj/FRjkEqf1Up8H4+HkxIezQ ZNQp5mcMliFJGT/CBZJD3dl/6pbDahM+rTGuz8Mg8n7nkOVou6OqotQuKG/aquFOOjfAxR oMvP3Zp4pdabpzqSb7bkA8cz+GC9rJxfWCk2uGAvqBJN1w6x53tFbZBfjJurscW8Mt+Tpl /MS5pMQbBrgYvnp+svpSYUUD+alAbvxs/pDOVU16zuTRXni8TfzQjjjGzU7GYJ9U93u/HI IW9uZKEmNdyno73K8ILfrlvMtzTehGeNflE3ot7wxheq9PwvA/0agXALj7o3ww== Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (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 4fj9v33HgGz156F for ; Fri, 27 Mar 2026 19:39:11 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-38c6bd590f5so1936351fa.3 for ; Fri, 27 Mar 2026 12:39:11 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWqcrsJY9L3aicqfGqmVpneOWzvM6S2Wq40MuAJQpP1saEy3yVNo67woPMLP4I4UMytxdhX57M/9IA47zWl6X+yXiZs@freebsd.org X-Gm-Message-State: AOJu0YxCGEAghh0ktwJg5X1YEaQnzRfYtyO5xn1NxIpg7evg29ymu8w1 24aqW9c60ypJuv+2i0DBqDoFfI1OjWXo2A/i9Za77IRNUK/ltR2g7A7Vu5yKYvGae4lB03UgWsj cKvJlqh8tC3Pbzk6K8iMJ9/A99aFhLwY= X-Received: by 2002:a05:651c:1447:b0:38a:f5a6:9185 with SMTP id 38308e7fff4ca-38c7326321fmr6474141fa.4.1774640349790; Fri, 27 Mar 2026 12:39:09 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> <8fff7462-710f-4e05-af78-c9e632e475a7@app.fastmail.com> In-Reply-To: <8fff7462-710f-4e05-af78-c9e632e475a7@app.fastmail.com> From: Nuno Teixeira Date: Fri, 27 Mar 2026 19:38:57 +0000 X-Gmail-Original-Message-ID: X-Gm-Features: AQROBzA1Yj4oNT47F-sqSUcWeNk85_OSGyj0DyUHv0UtC1PhSb-2IEV7dJFRRV8 Message-ID: Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: "Herbert J. Skuhra" Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000a7476b064e06a7f9" --000000000000a7476b064e06a7f9 Content-Type: text/plain; charset="UTF-8" Hello, > tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 ++++++++++++ > > 4 files changed, 43 insertions(+), 2 deletions(-) > > After this change running 'etcupdate -s .' takes about 13 minutes. > If I revert e296211fd59b and this change it takes about 2 minutes. I still see my rpi4 taking too much on it on updated src. Do we need to specify MK_LLVM_BINUTILS=no ? Thanks, -- Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --000000000000a7476b064e06a7f9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hello,

>=C2=A0 tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 +++++++= +++++
>=C2=A0 4 files changed, 43 insertions(+), 2 deletions(-)

After this change running 'etcupdate -s .' takes about 13 minutes.<= br>If I revert e296211fd59b and this change it takes about 2 minutes.

I still see my rpi4 taking too much on it on upd= ated src.
Do we need to specify=C2=A0MK_LLVM_BINUTILS=3Dno ?<= br>
Thanks,=C2=A0

--
Nuno Te= ixeira
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--000000000000a7476b064e06a7f9-- From nobody Fri Mar 27 20:51:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVG1hGtz6WTmZ for ; Fri, 27 Mar 2026 20:51: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjCVF6bL2z3tFY for ; Fri, 27 Mar 2026 20:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774644678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NoltGwVaS9SQWYsE2pPYsS7XEUfGVSEt6N1fvh4w9E0=; b=tLt2aj97VVJm7OkPyDa05p54/hcVE5PwFTtcoFUxdQBqc+vgkpIjY6yUAUeKWEXgGgc7g9 NAAKU/eC/EeaKchjdjeaAwGvtp1R27unnVwsvAFajDLUxE19yRbKGdQ/MFP8aQA4d8tPPo KHEwxmwbr+Shadtsttd+pQfHpCf/Q8mU6azy/BbHiNe+EnJlwKb1dlmWXSyuNo0y6H5MCI KeV5EREyzD+nk9WNTeOLCqgLCsn93lf31ivHHIXCTyTeUXYKYUAjoYXt3Om2VA7CwfZjDS wmwWNvRTvoMw/8GVYX7xizcZSBdiShUZxYr6rqb0WIBYP1c8c4PluzO7rQYDCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774644678; a=rsa-sha256; cv=none; b=A77UobR5651Ubf7x0Q2E/RFAHNVbmx1q1gKRC1hIdr4DeF82oPURFYGvmx6L68QuHbwYr7 VNTCDt+QSpg1G763Pwv044pTF5U33+GUwN78gzvm2aq+eT81tkSdvNmPgAmfEsMd3QS8nK C8OiVxemVzA62RZirgFs2Rghlbc2NLtlEWnCmxWCih0qKkHqBkU9kBnHc5Q95kVxwBcy53 maT1GfyyXF4ukib/167h/y2xYWN7I71La5usRNORV9oA4nTH1RU3O0owb97puK1aE1IGD1 H1CbNOhONwVL3d90D8lBe+Bm0MCUT/sYLwDddkcXnPB8ykgsZNkTPuKBGcJ+1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774644678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NoltGwVaS9SQWYsE2pPYsS7XEUfGVSEt6N1fvh4w9E0=; b=oGSFOFKgHWowBPskQcrnd9nQx2sgsSuNSCtpbVh44t2z4d8SzsY0nU2eJU8uIxkU2ZUkFK zCBBfO//9u91V8luOK//CSB7xKCzZmN2ooijKfr9c3WnMOQxZZnSwk9bZ++OJt9US/FpoN pIcC//WRITyw8uojs9BkagdjGTszMHPaBgUB+abyBP31bg3BHj3ahI1DcwsWJYAagDJ5f3 tmhOVVzWEAK6t0IvBVxp9Log1adutLsUigeVYACsRnGi5CyusvalKQ8VXLQTVpfVqZ1bBc OyKAXNMPFdsBZdddfLbm5cZrUX0wv263amFPvOI30TLOkqivnuoeXzbtWF4iog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVF5fVjzw2F for ; Fri, 27 Mar 2026 20:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27630 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 20:51:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 2371b24c22f0 - main - tests: Add grand link-layer event in netinet6/ndp List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2371b24c22f063ef79dc1935419c9854656e265e Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 20:51:17 +0000 Message-Id: <69c6edc5.27630.1b3fe319@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=2371b24c22f063ef79dc1935419c9854656e265e commit 2371b24c22f063ef79dc1935419c9854656e265e Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-18 22:48:05 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-27 20:25:30 +0000 tests: Add grand link-layer event in netinet6/ndp Add test for ndp to verity link-layer address change event actually triggers the grand. Differential Revision: https://reviews.freebsd.org/D55927 --- tests/sys/netinet6/ndp.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/tests/sys/netinet6/ndp.sh b/tests/sys/netinet6/ndp.sh index c8de4083a9ea..526ef27a7fb3 100755 --- a/tests/sys/netinet6/ndp.sh +++ b/tests/sys/netinet6/ndp.sh @@ -365,6 +365,55 @@ ndp_prefix_lifetime_extend_body() { fi } +atf_test_case "ndp_grand_linklayer_event" "cleanup" +ndp_grand_linklayer_event_head() { + atf_set descr 'Test ndp GRAND on link-layer change event' + atf_set require.user root +} + +ndp_grand_linklayer_event_body() { + local epair0 jname address mac + + vnet_init + + jname="v6t-ndp_grand_linklayer_event" + prefix="2001:db8:ffff:1000::" + mac="90:10:00:01:02:03" + + epair0=$(vnet_mkepair) + + vnet_mkjail ${jname}1 ${epair0}a + vnet_mkjail ${jname}2 ${epair0}b + + ndp_if_up ${epair0}a ${jname}1 + ndp_if_up ${epair0}b ${jname}2 + + # with no_dad, grand for new global address will NOT run + atf_check ifconfig -j ${jname}1 ${epair0}a inet6 ${prefix}1 no_dad + atf_check ifconfig -j ${jname}2 ${epair0}b inet6 ${prefix}2 no_dad + atf_check -s exit:1 -e ignore -o ignore \ + jexec ${jname}2 ndp -n ${prefix}1 + + # Create the NCE in jail 2. + atf_check -o ignore jexec ${jname}2 ping -c1 -t1 ${prefix}1 + + # Check if current mac is received + atf_check -s exit:0 -o ignore jexec ${jname}2 ndp -n ${prefix}1 + + # change mac address to trigger grand. + atf_check ifconfig -j ${jname}1 ${epair0}a ether ${mac} + + # link-local is the first address, thus our address should + # wait a second before sending its NA + atf_check -o not-match:"${prefix}1.*${mac}.*" \ + jexec ${jname}2 ndp -n ${prefix}1 + + sleep 1.1 + # Check if mac address automatically updated + atf_check -o match:"${prefix}1.*${mac}.*" \ + jexec ${jname}2 ndp -n ${prefix}1 +} + atf_init_test_cases() { atf_add_test_case "ndp_add_gu_success" @@ -373,4 +422,5 @@ atf_init_test_cases() atf_add_test_case "ndp_prefix_len_mismatch" atf_add_test_case "ndp_prefix_lifetime" atf_add_test_case "ndp_prefix_lifetime_extend" + atf_add_test_case "ndp_grand_linklayer_event" } From nobody Fri Mar 27 20:51:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVH25lNz6WTk9 for ; Fri, 27 Mar 2026 20:51: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjCVH03rqz3t96 for ; Fri, 27 Mar 2026 20:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774644679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8hKHUNYv/3+oxE4nyu/X2MJSGQV+1E5v2w4Y/N/qIE=; b=WZPdrW09PcLrYU0KBOr6uV2G9+8ROHPbVLt3z1YvG28ys918LlHSSXU3Uj55DyMYnfq44b nkRosiUEmScw9apkbrfNyauSkROCQbNHcg5/d25F54ah4yLNMQ0IjAVgbmhbO16TNM9KzD asz2wD/+IZLvKglfs+Y1DBJe3NNL6JF8X/ctB7j4q5zxD32TFnRJXn0Hqvtwb58FejMD+b pTQdA9IX9lwztr3/t/SxcemWtVbUhO+vJaYisTjAs6cFDzlO+CcibyGhopcvS4GlwH9W9v WaO+8JaQaIRZfFQiigTtSeduvZ2tZ5w/7ea3pzW8ZaSvnKOOVhfq9wcTPa9pew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774644679; a=rsa-sha256; cv=none; b=mNrovVO8GqGfkMAEx+ddP2hqN9d+uW0Y2VOggSJEKrGrvRRWEvOibKwcehoRM2LT0ZHwAB tx2OHG3UaS0aJc1l5ppGcGzLlMIDfhU9ZwXMg65JTagvsyIVAMY6hfeQUKCsqefu/bVosq PhzkLscbCt5ta8Cy8XrYAiDjPvxdDmGKL5wf6NvsfNIhECLGuHEoeynIOXoJCaIHg4m316 DqsIn66wEsGPi3VtyeSkXuAvibak6tRsCD6O0xRsQEcFvwIWKQuq3+VBYOBn+R4FuWiQQq tR8Oln0YProbm/Pye8m8C5k9QMBgJRRExfpNGS4Gs40IfnpVOT2rCSG62j440Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774644679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8hKHUNYv/3+oxE4nyu/X2MJSGQV+1E5v2w4Y/N/qIE=; b=DeaS0dIDeKB5ocDUu0oaNvACrLTPn5APhjU0k2WCljU6qNw3sR0uY6wor9dGSzbueoHePy fAX3dwrCtiHZr2TA5WQsMHMzdrZmqDsYKmeVbyMPI8t2sTjlVflmaWambDADwX/kqQBZyh GGQ7I57/rzAZzJyIowWF8b9mT3WuWqEZS94Q6WvdAhvFfkwFllE5XpotI+NlcUzmAUnrVK UcV4tjUDzWCJUXHtk5lEhR/4Jt9BRZ2bVz0/SL60sZgfWQpCtibBTQA+1h8w64cvvAwztz etksdc0YTB+6ISunOaWWT4FjJ7zuwto3ac2w2pGqCxt//yYeoQS46ukEpJ7ohQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVG6mYvzvtL for ; Fri, 27 Mar 2026 20:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27ffc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 27 Mar 2026 20:51:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 254b23eb1f54 - main - routing: Retire ROUTE_MPATH compile option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 254b23eb1f540844cf2a90f2781ae4231c5701ce Auto-Submitted: auto-generated Date: Fri, 27 Mar 2026 20:51:18 +0000 Message-Id: <69c6edc6.27ffc.663b67a0@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=254b23eb1f540844cf2a90f2781ae4231c5701ce commit 254b23eb1f540844cf2a90f2781ae4231c5701ce Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-27 11:20:05 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-27 20:25:33 +0000 routing: Retire ROUTE_MPATH compile option The ROUTE_MPATH compile option was introduced to test the new multipath implementation. Since compiling it has no overhead and it's enabled by default, remove it. Reviewed by: melifaro, markj Relnotes: yes Differential Revision: https://reviews.freebsd.org/D55884 --- sys/amd64/conf/FIRECRACKER | 1 - sys/amd64/conf/GENERIC | 1 - sys/arm64/conf/std.arm64 | 1 - sys/conf/NOTES | 3 --- sys/conf/files | 6 +++--- sys/conf/options | 1 - sys/i386/conf/GENERIC | 1 - sys/modules/netgraph/netflow/Makefile | 2 +- sys/modules/netlink/Makefile | 2 +- sys/net/route.c | 1 - sys/net/route.h | 17 ---------------- sys/net/route/fib_algo.c | 8 ++------ sys/net/route/nhgrp.c | 1 - sys/net/route/nhgrp_ctl.c | 1 - sys/net/route/nhop.c | 5 ----- sys/net/route/nhop_ctl.c | 17 ++++------------ sys/net/route/nhop_utils.c | 1 - sys/net/route/route_ctl.c | 38 ++--------------------------------- sys/net/route/route_helpers.c | 3 --- sys/net/route/route_ifaddrs.c | 2 -- sys/net/route/route_rtentry.c | 7 ++----- sys/net/route/route_subscription.c | 1 - sys/net/route/route_var.h | 5 ++--- sys/net/rtsock.c | 32 +++++++++-------------------- sys/netgraph/netflow/netflow.c | 1 - sys/netgraph/netflow/netflow_v9.c | 1 - sys/netgraph/netflow/ng_netflow.c | 1 - sys/netinet/in_fib.c | 14 ++++++------- sys/netinet/in_pcb.c | 6 ++---- sys/netinet/ip_input.c | 1 - sys/netinet/ip_output.c | 1 - sys/netinet/raw_ip.c | 9 ++------- sys/netinet/udp_usrreq.c | 10 ++------- sys/netinet6/in6_fib.c | 14 ++++++------- sys/netinet6/in6_pcb.c | 5 +---- sys/netinet6/in6_proto.c | 1 - sys/netinet6/ip6_input.c | 1 - sys/netinet6/ip6_output.c | 1 - sys/netinet6/nd6.c | 6 +----- sys/netinet6/raw_ip6.c | 8 ++------ sys/netinet6/udp6_usrreq.c | 3 --- sys/netlink/route/nexthop.c | 10 +++------ sys/netlink/route/rt.c | 34 ++++++++++++------------------- sys/powerpc/conf/GENERIC64 | 1 - sys/riscv/conf/GENERIC | 1 - tests/sys/netinet/output.sh | 2 +- tests/sys/netinet6/output6.sh | 2 +- 47 files changed, 67 insertions(+), 223 deletions(-) diff --git a/sys/amd64/conf/FIRECRACKER b/sys/amd64/conf/FIRECRACKER index 07c02d51ed4c..676199602ede 100644 --- a/sys/amd64/conf/FIRECRACKER +++ b/sys/amd64/conf/FIRECRACKER @@ -29,7 +29,6 @@ options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 -options ROUTE_MPATH # Multipath routing support options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 07e31e354d45..7de19f86afbf 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -33,7 +33,6 @@ options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 options IPSEC_OFFLOAD # Inline ipsec offload infra -options ROUTE_MPATH # Multipath routing support options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 index 68ad7ebc856e..8069703626c9 100644 --- a/sys/arm64/conf/std.arm64 +++ b/sys/arm64/conf/std.arm64 @@ -14,7 +14,6 @@ options INET6 # IPv6 communications protocols options CC_CUBIC # include CUBIC congestion control options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 options IPSEC_OFFLOAD # Inline ipsec offload infra -options ROUTE_MPATH # Multipath routing support options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 136a795cc83c..4dda93e2ee70 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1031,8 +1031,6 @@ device dummymbuf # TCP_HHOOK enables the hhook(9) framework hooks for the TCP stack. # SOCKET_HHOOK enables the hhook(9) framework hooks for socket operations. # -# ROUTE_MPATH provides support for multipath routing. -# options MROUTING # Multicast routing options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) @@ -1052,7 +1050,6 @@ options PF_DEFAULT_TO_DROP #drop everything by default options TCP_BLACKBOX options TCP_HHOOK options SOCKET_HHOOK -options ROUTE_MPATH # The MBUF_STRESS_TEST option enables options which create # various random failures / extreme cases related to mbuf diff --git a/sys/conf/files b/sys/conf/files index 269f9387ec08..de13b76e71a4 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4246,8 +4246,8 @@ net/debugnet_inet.c optional inet debugnet net/pfil.c optional ether | inet net/radix.c standard net/route.c standard -net/route/nhgrp.c optional route_mpath -net/route/nhgrp_ctl.c optional route_mpath +net/route/nhgrp.c standard +net/route/nhgrp_ctl.c standard net/route/nhop.c standard net/route/nhop_ctl.c standard net/route/nhop_utils.c standard @@ -4263,7 +4263,7 @@ net/route/route_temporal.c standard net/rss_config.c standard net/rtsock.c standard net/slcompress.c optional netgraph_vjc -net/toeplitz.c optional inet | inet6 | route_mpath +net/toeplitz.c optional inet | inet6 net/vnet.c optional vimage net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan wlan_acl diff --git a/sys/conf/options b/sys/conf/options index 53b1f61a6e0b..155fbf8e6c8a 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -473,7 +473,6 @@ MROUTING opt_mrouting.h NFSLOCKD NETLINK opt_global.h PF_DEFAULT_TO_DROP opt_pf.h -ROUTE_MPATH opt_route.h ROUTETABLES opt_route.h FIB_ALGO opt_route.h RSS opt_rss.h diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 3de346013111..595683883686 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -33,7 +33,6 @@ options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 -options ROUTE_MPATH # Multipath routing support options TCP_HHOOK # hhook(9) framework for TCP options TCP_OFFLOAD # TCP offload options SCTP_SUPPORT # Allow kldload of SCTP diff --git a/sys/modules/netgraph/netflow/Makefile b/sys/modules/netgraph/netflow/Makefile index c73e9ac41680..c743db9d7eca 100644 --- a/sys/modules/netgraph/netflow/Makefile +++ b/sys/modules/netgraph/netflow/Makefile @@ -5,6 +5,6 @@ .PATH: ${SRCTOP}/sys/netgraph/netflow KMOD= ng_netflow -SRCS= ng_netflow.c netflow.c netflow_v9.c opt_inet.h opt_inet6.h opt_route.h +SRCS= ng_netflow.c netflow.c netflow_v9.c opt_inet.h opt_inet6.h .include diff --git a/sys/modules/netlink/Makefile b/sys/modules/netlink/Makefile index 4abef5106899..6f8205289dd4 100644 --- a/sys/modules/netlink/Makefile +++ b/sys/modules/netlink/Makefile @@ -5,7 +5,7 @@ SRCS = netlink_module.c netlink_domain.c netlink_io.c \ netlink_message_writer.c netlink_generic.c \ netlink_route.c route/iface.c route/iface_drivers.c route/neigh.c \ route/nexthop.c route/rt.c -SRCS+= opt_inet.h opt_inet6.h opt_route.h +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -DNETLINK_MODULE diff --git a/sys/net/route.c b/sys/net/route.c index 1a1de22804f0..9ed3a53cbfcb 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -36,7 +36,6 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_mrouting.h" -#include "opt_route.h" #include #include diff --git a/sys/net/route.h b/sys/net/route.h index 8c713d65ec95..49bb7abd9726 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -126,30 +126,13 @@ VNET_DECLARE(u_int, fib_hash_outbound); /* Outbound flowid generation rules */ #ifdef RSS - #define fib4_calc_packet_hash xps_proto_software_hash_v4 #define fib6_calc_packet_hash xps_proto_software_hash_v6 #define CALC_FLOWID_OUTBOUND_SENDTO true - -#ifdef ROUTE_MPATH -#define CALC_FLOWID_OUTBOUND V_fib_hash_outbound -#else -#define CALC_FLOWID_OUTBOUND false -#endif - #else /* !RSS */ - #define fib4_calc_packet_hash fib4_calc_software_hash #define fib6_calc_packet_hash fib6_calc_software_hash - -#ifdef ROUTE_MPATH #define CALC_FLOWID_OUTBOUND_SENDTO V_fib_hash_outbound -#define CALC_FLOWID_OUTBOUND V_fib_hash_outbound -#else -#define CALC_FLOWID_OUTBOUND_SENDTO false -#define CALC_FLOWID_OUTBOUND false -#endif - #endif /* RSS */ diff --git a/sys/net/route/fib_algo.c b/sys/net/route/fib_algo.c index ca635ad8a7b0..2ba044a31020 100644 --- a/sys/net/route/fib_algo.c +++ b/sys/net/route/fib_algo.c @@ -1714,9 +1714,7 @@ fib_get_rtable_info(struct rib_head *rh, struct rib_rtable_info *rinfo) bzero(rinfo, sizeof(struct rib_rtable_info)); rinfo->num_prefixes = rh->rnh_prefixes; rinfo->num_nhops = nhops_get_count(rh); -#ifdef ROUTE_MPATH rinfo->num_nhgrp = nhgrp_get_count(rh); -#endif } /* @@ -1762,12 +1760,10 @@ fib_get_nhop_array(struct fib_data *fd) static uint32_t get_nhop_idx(struct nhop_object *nh) { -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) return (nhgrp_get_idx((struct nhgrp_object *)nh)); - else -#endif - return (nhop_get_idx(nh)); + + return (nhop_get_idx(nh)); } uint32_t diff --git a/sys/net/route/nhgrp.c b/sys/net/route/nhgrp.c index d048e09b045a..37f36b86c975 100644 --- a/sys/net/route/nhgrp.c +++ b/sys/net/route/nhgrp.c @@ -26,7 +26,6 @@ */ #include "opt_inet.h" -#include "opt_route.h" #include #include diff --git a/sys/net/route/nhgrp_ctl.c b/sys/net/route/nhgrp_ctl.c index e26c1fcff33a..8a1fa2113a6c 100644 --- a/sys/net/route/nhgrp_ctl.c +++ b/sys/net/route/nhgrp_ctl.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ #include "opt_inet.h" -#include "opt_route.h" #include #include diff --git a/sys/net/route/nhop.c b/sys/net/route/nhop.c index e372c4f7fcd3..dfe9df256f2e 100644 --- a/sys/net/route/nhop.c +++ b/sys/net/route/nhop.c @@ -27,7 +27,6 @@ #include #include "opt_inet.h" -#include "opt_route.h" #include #include @@ -115,9 +114,7 @@ destroy_ctl(struct nh_control *ctl) NHOPS_LOCK_DESTROY(ctl); free(ctl->nh_head.ptr, M_NHOP); free(ctl->nh_idx_head.idx, M_NHOP); -#ifdef ROUTE_MPATH nhgrp_ctl_free(ctl); -#endif free(ctl, M_NHOP); } @@ -160,9 +157,7 @@ nhops_destroy_rib(struct rib_head *rh) FIB_RH_LOG(LOG_DEBUG3, rh, "marking nhop %u unlinked", nh_priv->nh_idx); refcount_release(&nh_priv->nh_linked); } CHT_SLIST_FOREACH_END; -#ifdef ROUTE_MPATH nhgrp_ctl_unlink_all(ctl); -#endif NHOPS_WUNLOCK(ctl); /* diff --git a/sys/net/route/nhop_ctl.c b/sys/net/route/nhop_ctl.c index 0c028c7ae877..6c03e621ed82 100644 --- a/sys/net/route/nhop_ctl.c +++ b/sys/net/route/nhop_ctl.c @@ -28,7 +28,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include @@ -644,28 +643,21 @@ nhop_free(struct nhop_object *nh) void nhop_ref_any(struct nhop_object *nh) { -#ifdef ROUTE_MPATH + if (!NH_IS_NHGRP(nh)) nhop_ref_object(nh); else nhgrp_ref_object((struct nhgrp_object *)nh); -#else - nhop_ref_object(nh); -#endif } void nhop_free_any(struct nhop_object *nh) { -#ifdef ROUTE_MPATH if (!NH_IS_NHGRP(nh)) nhop_free(nh); else nhgrp_free((struct nhgrp_object *)nh); -#else - nhop_free(nh); -#endif } /* Nhop-related methods */ @@ -1169,12 +1161,11 @@ nhop_print_buf(const struct nhop_object *nh, char *buf, size_t bufsize) char * nhop_print_buf_any(const struct nhop_object *nh, char *buf, size_t bufsize) { -#ifdef ROUTE_MPATH + if (NH_IS_NHGRP(nh)) return (nhgrp_print_buf((const struct nhgrp_object *)nh, buf, bufsize)); - else -#endif - return (nhop_print_buf(nh, buf, bufsize)); + + return (nhop_print_buf(nh, buf, bufsize)); } /* diff --git a/sys/net/route/nhop_utils.c b/sys/net/route/nhop_utils.c index 0308eb331947..ee4ea969d2ac 100644 --- a/sys/net/route/nhop_utils.c +++ b/sys/net/route/nhop_utils.c @@ -27,7 +27,6 @@ #include #include "opt_inet.h" -#include "opt_route.h" #include #include diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c index d629fd1625c3..f99b8eacf0a7 100644 --- a/sys/net/route/route_ctl.c +++ b/sys/net/route/route_ctl.c @@ -28,7 +28,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include @@ -82,11 +81,9 @@ static int change_route_byinfo(struct rib_head *rnh, struct rtentry *rt, static int add_route_flags(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data *rnd_add, int op_flags, struct rib_cmd_info *rc); -#ifdef ROUTE_MPATH static int add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data *rnd_add, struct route_nhop_data *rnd_orig, int op_flags, struct rib_cmd_info *rc); -#endif static int add_route(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data *rnd, struct rib_cmd_info *rc); @@ -100,25 +97,15 @@ static bool fill_pxmask_family(int family, int plen, struct sockaddr *_dst, static int get_prio_from_info(const struct rt_addrinfo *info); static int nhop_get_prio(const struct nhop_object *nh); -#ifdef ROUTE_MPATH static bool rib_can_multipath(struct rib_head *rh); -#endif /* Per-vnet multipath routing configuration */ SYSCTL_DECL(_net_route); #define V_rib_route_multipath VNET(rib_route_multipath) -#ifdef ROUTE_MPATH -#define _MP_FLAGS CTLFLAG_RW VNET_DEFINE(u_int, rib_route_multipath) = 1; -#else -#define _MP_FLAGS CTLFLAG_RD -VNET_DEFINE(u_int, rib_route_multipath) = 0; -#endif -SYSCTL_UINT(_net_route, OID_AUTO, multipath, _MP_FLAGS | CTLFLAG_VNET, +SYSCTL_UINT(_net_route, OID_AUTO, multipath, CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(rib_route_multipath), 0, "Enable route multipath"); -#undef _MP_FLAGS -#ifdef ROUTE_MPATH VNET_DEFINE(u_int, fib_hash_outbound) = 0; SYSCTL_UINT(_net_route, OID_AUTO, hash_outbound, CTLFLAG_RD | CTLFLAG_VNET, &VNET_NAME(fib_hash_outbound), 0, @@ -132,7 +119,6 @@ uint8_t mpath_entropy_key[MPATH_ENTROPY_KEY_LEN] = { 0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, 0xf2, 0x0c, 0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa, }; -#endif #if defined(INET) && defined(INET6) FEATURE(ipv4_rfc5549_support, "Route IPv4 packets via IPv6 nexthops"); @@ -167,7 +153,6 @@ rib_can_4o6_nhop(void) } #endif -#ifdef ROUTE_MPATH static bool rib_can_multipath(struct rib_head *rh) { @@ -200,7 +185,6 @@ nhop_can_multipath(const struct nhop_object *nh) return (1); } -#endif static int get_info_weight(const struct rt_addrinfo *info, uint32_t default_weight) @@ -602,7 +586,6 @@ rib_del_route_px(uint32_t fibnum, struct sockaddr *dst, int plen, if (rc->rc_cmd == RTM_DELETE) rt_free(rc->rc_rt); -#ifdef ROUTE_MPATH else { /* * Deleting 1 path may result in RTM_CHANGE to @@ -611,7 +594,6 @@ rib_del_route_px(uint32_t fibnum, struct sockaddr *dst, int plen, */ nhop_free_any(rc->rc_nh_old); } -#endif return (0); } @@ -834,7 +816,6 @@ add_route_flags(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data RIB_WUNLOCK(rnh); -#ifdef ROUTE_MPATH if ((op_flags & RTM_F_APPEND) && rib_can_multipath(rnh) && nhop_can_multipath(rnd_add->rnd_nhop) && nhop_can_multipath(rnd_orig.rnd_nhop)) { @@ -857,7 +838,6 @@ add_route_flags(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data } return (error); } -#endif /* Out of options - free state and return error */ error = EEXIST; out: @@ -868,7 +848,6 @@ out: return (error); } -#ifdef ROUTE_MPATH static int add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data *rnd_add, struct route_nhop_data *rnd_orig, @@ -912,7 +891,6 @@ add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt, return (0); } -#endif /* * Removes route defined by @info from the kernel table specified by @fibnum and @@ -981,7 +959,6 @@ rib_del_route(uint32_t fibnum, struct rt_addrinfo *info, struct rib_cmd_info *rc if (rc->rc_cmd == RTM_DELETE) rt_free(rc->rc_rt); -#ifdef ROUTE_MPATH else { /* * Deleting 1 path may result in RTM_CHANGE to @@ -990,7 +967,6 @@ rib_del_route(uint32_t fibnum, struct rt_addrinfo *info, struct rib_cmd_info *rc */ nhop_free_any(rc->rc_nh_old); } -#endif return (0); } @@ -1008,7 +984,6 @@ rt_delete_conditional(struct rib_head *rnh, struct rtentry *rt, { struct nhop_object *nh = rt->rt_nhop; -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { struct nhgrp_object *nhg = (struct nhgrp_object *)nh; struct route_nhop_data rnd; @@ -1027,7 +1002,6 @@ rt_delete_conditional(struct rib_head *rnh, struct rtentry *rt, } return (error); } -#endif if (cb != NULL && !cb(rt, nh, cbdata)) return (ESRCH); @@ -1129,7 +1103,6 @@ change_nhop(struct rib_head *rnh, struct rt_addrinfo *info, return (error); } -#ifdef ROUTE_MPATH static int change_mpath_route(struct rib_head *rnh, struct rtentry *rt, struct rt_addrinfo *info, struct route_nhop_data *rnd_orig, @@ -1180,7 +1153,6 @@ change_mpath_route(struct rib_head *rnh, struct rtentry *rt, return (error); } -#endif static int change_route_byinfo(struct rib_head *rnh, struct rtentry *rt, @@ -1195,10 +1167,8 @@ change_route_byinfo(struct rib_head *rnh, struct rtentry *rt, if (nh_orig == NULL) return (ESRCH); -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh_orig)) return (change_mpath_route(rnh, rt, info, rnd_orig, rc)); -#endif rnd_new.rnd_weight = get_info_weight(info, rnd_orig->rnd_weight); error = change_nhop(rnh, info, nh_orig, &rnd_new.rnd_nhop); @@ -1448,14 +1418,12 @@ rt_checkdelroute(struct radix_node *rn, void *arg) /* Add to the list and return */ rt->rt_chain = di->head; di->head = rt; -#ifdef ROUTE_MPATH } else { /* * RTM_CHANGE to a different nexthop or nexthop group. * Free old multipath group. */ nhop_free_any(di->rc.rc_nh_old); -#endif } return (0); @@ -1510,7 +1478,6 @@ rib_walk_del(u_int fibnum, int family, rib_filter_f_t *filter_f, void *filter_ar rib_notify(rnh, RIB_NOTIFY_DELAYED, &di.rc); if (report) { -#ifdef ROUTE_MPATH struct nhgrp_object *nhg; const struct weightened_nhop *wn; uint32_t num_nhops; @@ -1520,8 +1487,7 @@ rib_walk_del(u_int fibnum, int family, rib_filter_f_t *filter_f, void *filter_ar for (int i = 0; i < num_nhops; i++) rt_routemsg(RTM_DELETE, rt, wn[i].nh, fibnum); } else -#endif - rt_routemsg(RTM_DELETE, rt, nh, fibnum); + rt_routemsg(RTM_DELETE, rt, nh, fibnum); } rt_free(rt); } diff --git a/sys/net/route/route_helpers.c b/sys/net/route/route_helpers.c index 2c0df15b04b7..303ff018e9e0 100644 --- a/sys/net/route/route_helpers.c +++ b/sys/net/route/route_helpers.c @@ -28,7 +28,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include @@ -257,7 +256,6 @@ rib_lookup(uint32_t fibnum, const struct sockaddr *dst, uint32_t flags, return (nh); } -#ifdef ROUTE_MPATH static void notify_add(struct rib_cmd_info *rc, const struct weightened_nhop *wn_src, route_notification_t *cb, void *cbdata) @@ -410,7 +408,6 @@ rib_decompose_notification(const struct rib_cmd_info *rc, route_notification_t * break; } } -#endif union sockaddr_union { struct sockaddr sa; diff --git a/sys/net/route/route_ifaddrs.c b/sys/net/route/route_ifaddrs.c index cf369846fd59..8da023ff0e9a 100644 --- a/sys/net/route/route_ifaddrs.c +++ b/sys/net/route/route_ifaddrs.c @@ -29,8 +29,6 @@ * SUCH DAMAGE. */ -#include "opt_route.h" - #include #include #include diff --git a/sys/net/route/route_rtentry.c b/sys/net/route/route_rtentry.c index 9440233f0906..b807f3a2d4f2 100644 --- a/sys/net/route/route_rtentry.c +++ b/sys/net/route/route_rtentry.c @@ -28,7 +28,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include @@ -105,21 +104,19 @@ static void destroy_rtentry(struct rtentry *rt) { #ifdef VIMAGE + const struct weightened_nhop *wn; struct nhop_object *nh = rt->rt_nhop; + uint32_t num_nhops; /* * At this moment rnh, nh_control may be already freed. * nhop interface may have been migrated to a different vnet. * Use vnet stored in the nexthop to delete the entry. */ -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { - const struct weightened_nhop *wn; - uint32_t num_nhops; wn = nhgrp_get_nhops((struct nhgrp_object *)nh, &num_nhops); nh = wn[0].nh; } -#endif CURVNET_SET(nhop_get_vnet(nh)); #endif diff --git a/sys/net/route/route_subscription.c b/sys/net/route/route_subscription.c index f3f0aac529c7..daf5f004f7f6 100644 --- a/sys/net/route/route_subscription.c +++ b/sys/net/route/route_subscription.c @@ -26,7 +26,6 @@ */ #include -#include "opt_route.h" #include #include diff --git a/sys/net/route/route_var.h b/sys/net/route/route_var.h index 074ebc779719..40433f1b37c0 100644 --- a/sys/net/route/route_var.h +++ b/sys/net/route/route_var.h @@ -277,13 +277,12 @@ struct nhgrp_object { static inline struct nhop_object * nhop_select(struct nhop_object *nh, uint32_t flowid) { + struct nhgrp_object *nhg; -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { - struct nhgrp_object *nhg = (struct nhgrp_object *)nh; + nhg = (struct nhgrp_object *)nh; nh = nhg->nhops[flowid % nhg->nhg_size]; } -#endif return (nh); } diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 5251d4d75f15..562cf6d426c9 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -29,7 +29,6 @@ * SUCH DAMAGE. */ #include "opt_ddb.h" -#include "opt_route.h" #include "opt_inet.h" #include "opt_inet6.h" @@ -287,13 +286,12 @@ report_route_event(const struct rib_cmd_info *rc, void *_cbdata) static void rts_handle_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) { -#ifdef ROUTE_MPATH + if ((rc->rc_nh_new && NH_IS_NHGRP(rc->rc_nh_new)) || (rc->rc_nh_old && NH_IS_NHGRP(rc->rc_nh_old))) { rib_decompose_notification(rc, report_route_event, (void *)(uintptr_t)fibnum); } else -#endif report_route_event(rc, (void *)(uintptr_t)fibnum); } static struct rtbridge rtsbridge = { @@ -750,11 +748,12 @@ fill_addrinfo(struct rt_msghdr *rtm, int len, struct linear_buffer *lb, u_int fi static struct nhop_object * select_nhop(struct nhop_object *nh, const struct sockaddr *gw) { - if (!NH_IS_NHGRP(nh)) - return (nh); -#ifdef ROUTE_MPATH const struct weightened_nhop *wn; uint32_t num_nhops; + + if (!NH_IS_NHGRP(nh)) + return (nh); + wn = nhgrp_get_nhops((struct nhgrp_object *)nh, &num_nhops); if (gw == NULL) return (wn[0].nh); @@ -762,7 +761,7 @@ select_nhop(struct nhop_object *nh, const struct sockaddr *gw) if (match_nhop_gw(wn[i].nh, gw)) return (wn[i].nh); } -#endif + return (NULL); } @@ -1029,7 +1028,6 @@ update_rtm_from_rc(struct rt_addrinfo *info, struct rt_msghdr **prtm, return (0); } -#ifdef ROUTE_MPATH static void save_del_notification(const struct rib_cmd_info *rc, void *_cbdata) { @@ -1047,7 +1045,6 @@ save_add_notification(const struct rib_cmd_info *rc, void *_cbdata) if (rc->rc_cmd == RTM_ADD) *rc_new = *rc; } -#endif #if defined(INET6) || defined(INET) static struct sockaddr * @@ -1171,7 +1168,6 @@ rts_send(struct socket *so, int flags, struct mbuf *m, error = rib_action(fibnum, rtm->rtm_type, &info, &rc); if (error == 0) { rtsock_notify_event(fibnum, &rc); -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(rc.rc_nh_new) || (rc.rc_nh_old && NH_IS_NHGRP(rc.rc_nh_old))) { struct rib_cmd_info rc_simple = {}; @@ -1179,7 +1175,7 @@ rts_send(struct socket *so, int flags, struct mbuf *m, save_add_notification, (void *)&rc_simple); rc = rc_simple; } -#endif + /* nh MAY be empty if RTM_CHANGE request is no-op */ nh = rc.rc_nh_new; if (nh != NULL) { @@ -1193,7 +1189,6 @@ rts_send(struct socket *so, int flags, struct mbuf *m, error = rib_action(fibnum, RTM_DELETE, &info, &rc); if (error == 0) { rtsock_notify_event(fibnum, &rc); -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(rc.rc_nh_old) || (rc.rc_nh_new && NH_IS_NHGRP(rc.rc_nh_new))) { struct rib_cmd_info rc_simple = {}; @@ -1201,7 +1196,6 @@ rts_send(struct socket *so, int flags, struct mbuf *m, save_del_notification, (void *)&rc_simple); rc = rc_simple; } -#endif nh = rc.rc_nh_old; } break; @@ -2249,8 +2243,11 @@ rt_dispatch(struct mbuf *m, sa_family_t saf) static int sysctl_dumpentry(struct rtentry *rt, void *vw) { + const struct weightened_nhop *wn; struct walkarg *w = vw; struct nhop_object *nh; + int error; + uint32_t num_nhops; NET_EPOCH_ASSERT(); @@ -2259,11 +2256,7 @@ sysctl_dumpentry(struct rtentry *rt, void *vw) export_rtaddrs(rt, w->dst, w->mask); nh = rt_get_raw_nhop(rt); -#ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { - const struct weightened_nhop *wn; - uint32_t num_nhops; - int error; wn = nhgrp_get_nhops((struct nhgrp_object *)nh, &num_nhops); for (int i = 0; i < num_nhops; i++) { error = sysctl_dumpnhop(rt, wn[i].nh, wn[i].weight, w); @@ -2271,7 +2264,6 @@ sysctl_dumpentry(struct rtentry *rt, void *vw) return (error); } } else -#endif sysctl_dumpnhop(rt, nh, rt->rt_weight, w); return (0); @@ -2701,11 +2693,7 @@ sysctl_rtsock(SYSCTL_HANDLER_ARGS) if (w.w_op == NET_RT_NHOP) error = nhops_dump_sysctl(rnh, w.w_req); else -#ifdef ROUTE_MPATH error = nhgrp_dump_sysctl(rnh, w.w_req); -#else - error = ENOTSUP; -#endif break; case NET_RT_IFLIST: case NET_RT_IFLISTL: diff --git a/sys/netgraph/netflow/netflow.c b/sys/netgraph/netflow/netflow.c index 05c6062463be..3b3878dbcde8 100644 --- a/sys/netgraph/netflow/netflow.c +++ b/sys/netgraph/netflow/netflow.c @@ -33,7 +33,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include #include diff --git a/sys/netgraph/netflow/netflow_v9.c b/sys/netgraph/netflow/netflow_v9.c index e6b63a8aa36b..2761bd3a0074 100644 --- a/sys/netgraph/netflow/netflow_v9.c +++ b/sys/netgraph/netflow/netflow_v9.c @@ -28,7 +28,6 @@ #include #include "opt_inet6.h" -#include "opt_route.h" #include #include #include diff --git a/sys/netgraph/netflow/ng_netflow.c b/sys/netgraph/netflow/ng_netflow.c index 9bf212871fcb..22f58b0876a2 100644 --- a/sys/netgraph/netflow/ng_netflow.c +++ b/sys/netgraph/netflow/ng_netflow.c @@ -33,7 +33,6 @@ #include #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include diff --git a/sys/netinet/in_fib.c b/sys/netinet/in_fib.c index 0bcda9fdd312..d8e373bf3dc2 100644 --- a/sys/netinet/in_fib.c +++ b/sys/netinet/in_fib.c @@ -66,7 +66,6 @@ CHK_STRUCT_ROUTE_COMPAT(struct route_in, ro_dst4); VNET_DEFINE(struct fib_dp *, inet_dp); #endif -#ifdef ROUTE_MPATH struct _hash_5tuple_ipv4 { struct in_addr src; struct in_addr dst; @@ -97,7 +96,6 @@ fib4_calc_software_hash(struct in_addr src, struct in_addr dst, return (toeplitz_hash(MPATH_ENTROPY_KEY_LEN, mpath_entropy_key, sizeof(data), (uint8_t *)&data)); } -#endif /* * Looks up path in fib @fibnum specified by @dst. @@ -192,19 +190,19 @@ static int check_urpf(struct nhop_object *nh, uint32_t flags, const struct ifnet *src_if) { -#ifdef ROUTE_MPATH + const struct weightened_nhop *wn; + uint32_t num_nhops; + if (NH_IS_NHGRP(nh)) { - const struct weightened_nhop *wn; - uint32_t num_nhops; wn = nhgrp_get_nhops((struct nhgrp_object *)nh, &num_nhops); for (int i = 0; i < num_nhops; i++) { if (check_urpf_nhop(wn[i].nh, flags, src_if) != 0) return (1); } return (0); - } else -#endif - return (check_urpf_nhop(nh, flags, src_if)); + } + + return (check_urpf_nhop(nh, flags, src_if)); } #ifndef FIB_ALGO diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index e375f0edcc7e..f72260834a96 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -41,7 +41,6 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ratelimit.h" -#include "opt_route.h" #include "opt_rss.h" #include @@ -1167,8 +1166,8 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) MPASS(error == 0); } else in_pcbrehash(inp); -#ifdef ROUTE_MPATH - if (CALC_FLOWID_OUTBOUND) { + + if (V_fib_hash_outbound) { uint32_t hash_val, hash_type; hash_val = fib4_calc_software_hash(inp->inp_laddr, @@ -1178,7 +1177,6 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) inp->inp_flowid = hash_val; inp->inp_flowtype = hash_type; } -#endif if (anonport) inp->inp_flags |= INP_ANONPORT; return (0); diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 7de3dc24dc53..5800a0854ee5 100644 --- a/sys/netinet/ip_input.c *** 538 LINES SKIPPED *** From nobody Fri Mar 27 22:39:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjFvm4Vhfz6Wfm6 for ; Fri, 27 Mar 2026 22:40:04 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjFvm2QzXz44YL for ; Fri, 27 Mar 2026 22:40:04 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774651204; h=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=LgWylTaW3mB0KOJYqomnAZ9VEU9+dSm2XdWk+q4Iw6U=; b=lspkq31M/01SQzPC7eHto8iQCuxQ7HL9MmayydNSOA8r8iy/9Bh3EUF+lgjoS5t1jUmjQW ws6G7fkvTVhD5daZnXUrDJDKIVl59eO7305o0V8zSyZ/SzNTybfi+Y/EIfrtRAwEWdQKQd V8VOhrj0aQVDV7kPQM2m/8SdZkmEK5VagA9zB/s/L21licVZvtcjQ028EocC0pQEsfO4v2 E36A8ZpfJE3TR/Z/I9Lnh4VmLSyd4ZnS2WpXsCoq0z8f2FiXj1vOLeTKzuK/T1FQUokDSD TyaJxSOQ9Hjrq5Yj4Tfy8flDat6vxaL5PZSjDNibF9Tn271f/XL8QGn42L4Yjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774651204; a=rsa-sha256; cv=none; b=tqbACfC4MVubd3hpbK8JkhHQ/4nJ7ajsvpy8Ag7eq8snNJdmpzOA4MBjZqaXvnD17K8MYa QYSmxGzm668CdMeSnluPn8P0xfgpw0XtW4QjuYmvWvlkqr0creGbotpAC0az8ZUHEr4PO8 2UWkjVw2xPBsAETrm/XR0jg6AFbUZFtowPwZuY4hxYvFqiq1pEpjrcg0vGfBuHPWXkikl+ N4reDvNj1lpMqpJNNQdTQVayE9rLekdLcTYkHMQo6FEswTmUGLSpabNbJoFu6Kc3zG736l 1gn48sKzmYUVA2cz4v+as5VMcM65FhcAIthxYOdKtcyYBduzIvUX5H4+Oz0d0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774651204; h=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=LgWylTaW3mB0KOJYqomnAZ9VEU9+dSm2XdWk+q4Iw6U=; b=H/XMls/tJ4pYvc7V7CR3RjKCqY58v4XmPUAbpIu7ZzYHO1SsrciIu6als4MEJuWs0m2Aov 23/cO1bZjRpoJVOil6gtn2up5auX1z4iZFAtC9Wf/dTB3jVVyQCAB8OFVbhyeHb61dN1Pc /5ApQkRNgRhOsQ7FUZNXuUmDLTpkd+hsRImzjnxm1sTaL9j+3QYpxlNE7rRX5Iq+C9AOmV a242IZ24P3B/0/Z+hLsfLgp3kXTYv6vJDcNFQCY2ZjUp4bU5Xq6H5hbvDtwIxB+5d8leLA 9ic97N/UZJCK+O5+E6+FGvNJyzt0GAucPLuE0NE5LSaH6YpYtmlmBXMDEviDPA== Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (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 4fjFvm0rbJz17Mv for ; Fri, 27 Mar 2026 22:40:04 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-38a3fafdec5so1645931fa.2 for ; Fri, 27 Mar 2026 15:40:04 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWTnGRo+V0UgmKD35r+DAq/Pv+L2AxBjfTRkGhLQ20laXQXLPYMXtttlQnVIVfSCGIvjB5S01LxMZwKOuI57OTDcBGu@freebsd.org X-Gm-Message-State: AOJu0Ywo//xTpIWpCrTvQ527Gp4vXiu9gSymiXbe3hWNL6vsKv2DVD0X kHVjS/suECFSOZdUDPBi+jZjmY2M7l7rhtIJRJOBWaUm4bTr8O9z9Yqc0wvBhbQfDjZwUCuFwT6 P8biAzOK+embOWVblRXcKFa8pOlQPJq0= X-Received: by 2002:a05:651c:f0b:b0:37a:5ae5:a1d2 with SMTP id 38308e7fff4ca-38c73ffbf3amr4137631fa.5.1774651202533; Fri, 27 Mar 2026 15:40:02 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> <8fff7462-710f-4e05-af78-c9e632e475a7@app.fastmail.com> In-Reply-To: From: Nuno Teixeira Date: Fri, 27 Mar 2026 22:39:50 +0000 X-Gmail-Original-Message-ID: X-Gm-Features: AQROBzDdbSXwZvBs6l141cO-n_P78Y6mAvuJJExkWM-VFfVPsIS05Nk30jfLF1U Message-ID: Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools To: "Herbert J. Skuhra" Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000087009e064e092e7a" --00000000000087009e064e092e7a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Nuno Teixeira escreveu (sexta, 27/03/2026 =C3=A0(s) 1= 9:38): > > Hello, > > > tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 ++++++++++++ >> > 4 files changed, 43 insertions(+), 2 deletions(-) >> >> After this change running 'etcupdate -s .' takes about 13 minutes. >> If I revert e296211fd59b and this change it takes about 2 minutes. > > > I still see my rpi4 taking too much on it on updated src. > Do we need to specify MK_LLVM_BINUTILS=3Dno ? > > It took some more minutes to compile, but upgrade went OK. Thanks --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --00000000000087009e064e092e7a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Nuno Teixeira &= lt;eduardo@freebsd.org> escre= veu (sexta, 27/03/2026 =C3=A0(s) 19:38):

Hello,=

>=C2=A0 tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 +++++++= +++++
>=C2=A0 4 files changed, 43 insertions(+), 2 deletions(-)

After this change running 'etcupdate -s .' takes about 13 minutes.<= br>If I revert e296211fd59b and this change it takes about 2 minutes.

I still see my rpi4 taking too much on it on upd= ated src.
Do we need to specify=C2=A0MK_LLVM_BINUTILS=3Dno ?<= br>

It took some more= minutes to compile, but upgrade went OK.

Thanks
=C2=A0
--
Nuno Teixeira
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--00000000000087009e064e092e7a-- From nobody Sat Mar 28 00:43:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjJfL1t6qz6X86m for ; Sat, 28 Mar 2026 00:43: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjJfL0xDtz3KP7 for ; Sat, 28 Mar 2026 00:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774658618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AjDTEPUD7KH7BcPO6aMjEnSPZunVKe8jko7036UPFP4=; b=NnQ5wuZyao0lg1mbcX9netacnqAlU4Uxf0YBtCWkZf2xoG6gpg5/uOZLOFb+yXrj4Qb2q9 mHJRjcmX9QUTUEGvfWmJcWMNN1QI4sTHMYsxI2dEdNctkj0Yvee9oqZLLF+DYDWxpUyK0g XmrdvaljjB4ceWPxZg0eJgJczVh/3rJcD5Ht2BJOs/WegtewJM6WXHOgtMKTbcQR3lc4tr vCUxlEfONn6AJeYmZCmTk1wDUtpdSXAu2UkSXniDi7ttTQMVyyYpBf1azrOLEH8nnOYBdZ UYMt/2zBCjFuhntyWinqgf9nHbUhRfC1fNDlfjW3J33pgtGI6Nw1eMjPY4Dauw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774658618; a=rsa-sha256; cv=none; b=HyK5uKXjvAhky5wSQpoDv1l34f9rsGvxLPwLoNCKjhp6VNcz3BdZauWvmu2h61OxoZKYZQ ENlBh1IKnwwnTWfIjAEDolgheDisqOuYiqW4bOPxeOHGdyot/W20/vrm+R3vWqDYJ6nVUQ wLl4Caa630K71B3xEZprkDQORdJ8W4i6tWbgj4OG+9i90sYAMQ2qsM8t1CA/Ruc3YVZsdy Ibzn/SkiTcRit/pe4t6HgR5DTdHvXeKfRK2ymRZn1jgFtLTgjzVdHRyRuzzX1k/r2MewoB Yse5Ns6iLJcdY1gOS4x5LJl4jDYFY/FOHmZur99OLwPwbv+GZn3k+DP031qbJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774658618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AjDTEPUD7KH7BcPO6aMjEnSPZunVKe8jko7036UPFP4=; b=FZWwiB8g29C2ai74D2c2fT+i+pzrZZ+xO11O+8o4VrzKvl+A4ghLrsCVQKNbKBxrlhcYs6 /XI55ciOsfnSAgBlkt49l6UQcM4JjCdbLRBj/cOohyFNPrupCIPyFNYSmm5p5eGp4bOjNI 22SWOTX1jyHK3ySDf2ZnXry+AgIHLh3Q+69cDqUlpZDbi34rjaNYKz7LBQ3/WnWizdzSCn tIKR7UBQmMOv0s3ZCcN15SR59QhuSlngBKWObBtCZZCqEJxCyS0JRAUP0hsMObWOWpcztY Tv0Xn6KB1sXSCZzI/RVJ5B6i7u3FRUqZUCMBxE8dic+c28eP5lyjRfO2oGLBYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjJfL0WZnz139B for ; Sat, 28 Mar 2026 00:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47490 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 00:43:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: beab2fe92453 - main - routing: Include opt_route.h in route_ctl.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: beab2fe92453861e048cf25ea784d8f82523d288 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 00:43:38 +0000 Message-Id: <69c7243a.47490.1bab1d46@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=beab2fe92453861e048cf25ea784d8f82523d288 commit beab2fe92453861e048cf25ea784d8f82523d288 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-27 23:50:13 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-27 23:56:48 +0000 routing: Include opt_route.h in route_ctl.c Fix incorrect removal of opt_route.h header in route_ctl.c Reported by: Jenkins Fixes: 254b23eb1f54 ("routing: Retire ROUTE_MPATH compile option") Differential Revision: https://reviews.freebsd.org/D55884 --- sys/net/route/route_ctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c index f99b8eacf0a7..c6d8d43a73f4 100644 --- a/sys/net/route/route_ctl.c +++ b/sys/net/route/route_ctl.c @@ -28,6 +28,7 @@ #include #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_route.h" #include #include From nobody Sat Mar 28 04:05:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjP6n64Z9z6XR51 for ; Sat, 28 Mar 2026 04:05: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjP6n3jC9z3fF2 for ; Sat, 28 Mar 2026 04:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774670705; h=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=772cEuoim1c72yj0FMCbU6Y7lm+CCeqJLxRwDNe+M3Q=; b=OZQ5gYjuV3kAlns502oyPINlS2lCmY8iok6YQf2BcZUBZvyxcFNWIxnjrk3jnT7CbrDbJt 85HwraD4QBUY4O2GXu54pLtRd6LIUImMMlHm47mewZeuwVyPGOoI36ZRwzpmun6fFYXeGa ozvv9bQS5qWIwzrUEAvHRFBu10uUzrwbTg2EL7r3U8MwsioI4S85uiduv5NtTbnzECBo4r FC9X9mWyJtOLxnYNSOO6Aj0KS8REjlCA+u/6MWVm3cPLsNcK25aYHxbvxlm05PBMdeT/DQ WkJNggaWMfUGqFc3m4V8sbZioJDPFkGyeS+n9bfWWrj80JVzE4p50ppUpvOy2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774670705; a=rsa-sha256; cv=none; b=smnMCb/3H0RsuI6D9Ijybah3GkFhOZdl4ow45J98mtpE0tbwTq6lobv9lK6JwDewdTCQ3G N0sFJtIyt6Rxdhf4DY88yX/XQ/ZjjjPT1wY2wex3MmPpyGXKb82FpuIc2p1JRe85BlFGqy nu7KJicY8mC4hpkdbgItT9Gg1MwEABix9qcoug8hHucrO32fBGLGAS7kjkdkDnhqsQGqbY 8tFh8Nk0Qzw7P+Sy+xMuWDIUFvXJ/6O5yTo5z1+ghREklJXb0K1iPQz6YsTEKtEtJq4+mM QYmi3UeaPPRZJ7TQfygbWLdbIOGax4obecBNlXuBnVcpFMYEJA0tj4uuOk0vTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774670705; h=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=772cEuoim1c72yj0FMCbU6Y7lm+CCeqJLxRwDNe+M3Q=; b=iNJVKNvEKfbpUji3QKcpUJ6FFVQt0A4M4GT+dwPAoRiVl645eIQaZqgyPv5muYAPtwTtQd wU7Z4ZcfWwzr94sasJPIJSwaNtI+ugIfR9VmCG6G6vDTR9MHOd+KR4pBXhT3Snpz+MTs3v QIIjx6e2PbrzHUWYPMQcNGykm7iZdnEL5lglKcE80aE/X7iZWFeMdpeoooQMlRpXAr5Ap+ GWn/yK0+IFAcdeSqXYv/z6Zz4n9BrIVi+a26XTGe6OIoHuV7yoGywr2DDYS5kt4N20I5Ao gntVW6Jecc43WcbnFu3nksyEf1qmDOVG+Kg7FgD9X45FsFh090QmjXZgb63fCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjP6n2wggz1866 for ; Sat, 28 Mar 2026 04:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33834 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 04:05:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Warner Losh Subject: git: ccc235fe0229 - main - vmgenc: fix typo in MODULE_DEPEND declaration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccc235fe0229685512ea7b3d8ed1ecb61dd388f5 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 04:05:00 +0000 Message-Id: <69c7536c.33834.15cfb8e0@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ccc235fe0229685512ea7b3d8ed1ecb61dd388f5 commit ccc235fe0229685512ea7b3d8ed1ecb61dd388f5 Author: Christos Longros AuthorDate: 2026-03-28 04:03:24 +0000 Commit: Warner Losh CommitDate: 2026-03-28 04:03:35 +0000 vmgenc: fix typo in MODULE_DEPEND declaration The random_harvestq dependency was registered under the misspelled name "vemgenc" instead of "vmgenc", causing the dependency to not be associated with the correct module. Signed-off-by: Christos Longros Reviewed by: cem, imp Differential Revision: https://reviews.freebsd.org/D56012 --- sys/dev/vmgenc/vmgenc_acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vmgenc/vmgenc_acpi.c b/sys/dev/vmgenc/vmgenc_acpi.c index 18519a8e4f22..59fcbd5346ba 100644 --- a/sys/dev/vmgenc/vmgenc_acpi.c +++ b/sys/dev/vmgenc/vmgenc_acpi.c @@ -261,4 +261,4 @@ static driver_t vmgenc_driver = { DRIVER_MODULE(vmgenc, acpi, vmgenc_driver, NULL, NULL); MODULE_DEPEND(vmgenc, acpi, 1, 1, 1); -MODULE_DEPEND(vemgenc, random_harvestq, 1, 1, 1); +MODULE_DEPEND(vmgenc, random_harvestq, 1, 1, 1); From nobody Sat Mar 28 04:45:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjQ1w3D74z6XVKB for ; Sat, 28 Mar 2026 04:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjQ1w1Dk3z3khN for ; Sat, 28 Mar 2026 04:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774673156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0/u4ZbZeycQfcf7aiCLmdXQ66CHC3pUk+4CH83Y3e8=; b=l6yCuEJ73b58GU+VaicKcOxsNJgueBvbAKlGLZZhOvFVtIe8p8CUVn2O/NFsuN4qhBPlUh cP8GfM3JhV36Dna4Ut/b66jnuUslULv7xoKN+q1EZn+Nyw7uAesNpaCp0w93JPVppaE5kw BirziITMRt/nV4XRUt6lNVvbgNJUP5VCHmNO0V8hkeX08ySYGfRU0Rc938j+X7wChmBGfP OzdP6j8C+9ETxdeyktxWWztnOdQ8wKkm12czwC2+Nuabj1+PkiN4mCXzdT5kZSDZozJv6k +G+5hw831OwgMYGZ+i7hbT8eYAUZz32o8/MGrNXJ8SVnoEI1XuojVQWAg9khIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774673156; a=rsa-sha256; cv=none; b=V8EyCwYb6GZw+eJDcm2CZ4nXFhc0rk/Ct4L2Fda0kHGQC2QO3AFl0u3UMajo/yBmW1qSNT ElkkKJMRJpEJ3brb5Lu8j+wkjPNZX7f7m75ko3r4MYsVCXf2IFc+t2QrcBunSjAI8GSiND sRPdS21Hhpm1vuwzgOCH2N9HmV7OwRRlS3IK7wj7T5XAJZxciREhnYjs8dL1huOofVWWvs a/B5amolABPAhQWcoJECjflDhQaM3ARKnUIF5ucyDe2Cr3i0TSg+RFKAkOhwOfqLbKJ3Wb yx9hAMdmsgywloNRk1MwNI/3PwI7qFUz+OmsQUoZXYSYmSFxjzUHY+M5HuXbmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774673156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0/u4ZbZeycQfcf7aiCLmdXQ66CHC3pUk+4CH83Y3e8=; b=MnC/18HchF9w4GZPXvJSjqWQXsDZ+UQCJnEca8Rwp8HrS2nP0es4WXrehvvf10DUOKjZPy a47uTAJVeYsWSqH8N1gHxetGC0QMnNeCS4HCI8kMHtlQz0iDqD2/Q48ARO9DZriaPJks5I 8lbK8TXV6pw5p5zWSZsuEjN6YUVHpZ5domblytxe1Qm33mnqNdc7BcyMo0ZwwXEtFjAeKJ U/QiQY52ZCYZ2CskEbDo12mP1g6RpU2KGq5pdwvfhS1iEcWOI9O3KRm78j/gN0NnEVnmiB j/8FKkSBbzg2FwBRV/V6uA5zlmUEBJRdX6qopHOe7WyxB0Rwr1nWekzMRPD6Iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjQ1w0SZrz19QQ for ; Sat, 28 Mar 2026 04:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 392cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 04:45:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 72bb61bac72e - main - i386/amd64/NOTES: Add some missing devices List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72bb61bac72eabb2e9de16206a68cde523eb59ba Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 04:45:55 +0000 Message-Id: <69c75d03.392cd.463aaf07@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=72bb61bac72eabb2e9de16206a68cde523eb59ba commit 72bb61bac72eabb2e9de16206a68cde523eb59ba Author: Warner Losh AuthorDate: 2026-03-28 04:42:18 +0000 Commit: Warner Losh CommitDate: 2026-03-28 04:42:18 +0000 i386/amd64/NOTES: Add some missing devices The following devices to x86: ocs_fc aq vge tws And this to amd64: ufshci These are in GENERIC, but not NOTES. Sponsored by: Netflix --- sys/amd64/conf/NOTES | 3 +++ sys/x86/conf/NOTES | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index b1a6995e90eb..fac8d9314cad 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -71,6 +71,9 @@ device smartpqi # Broadcom MPT Fusion, version 4, is 64-bit only device mpi3mr # LSI-Logic MPT-Fusion 4 +# Universal Flash Storage Host Controller Interface support +device ufshci # UFS host controller + # # Network interfaces: # diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES index 877cbb3beb7f..3ae80fbe45c5 100644 --- a/sys/x86/conf/NOTES +++ b/sys/x86/conf/NOTES @@ -390,6 +390,9 @@ device vmd # PMC-Sierra SAS/SATA controller device pmspcv +device ocs_fc # Emulex FC adapters +device tws # LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller + # # Standard floppy disk controllers and floppy tapes, supports # the Y-E DATA External FDD (PC Card) @@ -442,6 +445,7 @@ device cpufreq # wpi: Intel 3945ABG Wireless LAN controller # Requires the wpi firmware module +device aq # Aquantia / Marvell AQC1xx device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE device gve # Google Virtual NIC (gVNIC) device igc # Intel I225 2.5G Ethernet @@ -455,6 +459,7 @@ device mlx4 # Shared code module between IB and Ethernet device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlx4en # Mellanox ConnectX HCA Ethernet device nfe # nVidia nForce MCP on-board Ethernet +device vge # VIA VT612x gigabit Ethernet device vmx # VMware VMXNET3 Ethernet device wpi # Intel 3945ABG wireless NICs. From nobody Sat Mar 28 05:56:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbH0JsLz6Xb4G for ; Sat, 28 Mar 2026 05: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbG4ns4z3qJx for ; Sat, 28 Mar 2026 05: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=1774677386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mK5AevRY39NHPl0be/8Xc0Pv0HpcXUo9PJiovi5+I0c=; b=e8BfwcW42sXsOzsen4VifzDCWnvVFya+2W1LV66AkNbdl/Vwwcut/e9kbis8GUq3waHOzK s5AuyQ33MSGeObMk+lwGPTnRkDLvJIoYs+c8jspc3pWZDh9KQEB3U4/hQZJ9qL0onoGE4w 9eriwwouIA8ejcBPpKdHqSWJkv2gtK3NOEG8gG3Jbt8JUsOpn52AoXeDxqkK3+EMvzsHM3 uRqOHTjNsRAl28p/WDr0dIMSwBpbcSew8qbX9BRC2iYx/FN0NIsPcHqEiTNGM1SmXMugaE O7q8AQahjf3IQyZ0ZR70YtnxCmfqLdrx9zc/hBmfDqmkd+v3MHdDJlPQ/Bt/TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677386; a=rsa-sha256; cv=none; b=PBx2SXTNuTJD9a1frTaw8nNAhg4YlqmTHWdoD6VvOj0Y42CCCztSLGbXKQ0IZp65H1CdQ6 rKeh1ONt23CNkESsYLl6MZqM84SigS6PbAUkaEh22MUyWHM5xSD34zQCF1opeA7bDFBW+G Ff1t+KTswfkl8r4KuhRZJnBxx7OkrK3Dt+6unwy7pLiVtsxKDtv+l9Iu058Ue1WLb8dZUE /KC6PhTMlKrL5YUg5dVZofPSY/fs8FJOkJ88oeuTaGQSu0x3TV2tOFfpFPXMiMcqZjQw5G aHShPeUVo7iu7opHe0bZyAC1dhqNMlPr75mZvmrpwLfC5QIej2svd8IQbMHI4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mK5AevRY39NHPl0be/8Xc0Pv0HpcXUo9PJiovi5+I0c=; b=UoxqoIHfxF/uw/D6ethnLyzMebjU19/XxbDLJXxZ0Uz3EGs2uwoC+wiEBotsrwg35u9MEa 1PpW11I8XWscVpRvDw+9e5+ojvlhoVydezMgkigYCQ7nv7SpcZY60JkPLMmC8WAZLcp02A omIFnvaViFtQpqv2h+F32DL2BKKmI+YEPPFIj0AiFtBfJP1lEeOO9vU9p/GvHSA3vov0jb U1LAVaMCBI7mDn5dwTPbxhbUg5l1Zpos0csYSkrqTrBOHq+XeZjem6eb/gA7x8jY47u65S 1MEzg2/0b0b4JglCXbzJms7fzNAZqArHxD+OymaQ72fF/sMJJ2q0NOHprvnQ5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbG4LNwz1ByD for ; Sat, 28 Mar 2026 05:56:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e2c1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 1d0ccd61563d - main - x86: Add struct ioapic_intsrc.io_valid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d0ccd61563d48e914dccf3dd5cf0280d8331ec1 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:26 +0000 Message-Id: <69c76d8a.3e2c1.54866ca0@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1d0ccd61563d48e914dccf3dd5cf0280d8331ec1 commit 1d0ccd61563d48e914dccf3dd5cf0280d8331ec1 Author: Colin Percival AuthorDate: 2026-03-20 22:02:29 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:53:17 +0000 x86: Add struct ioapic_intsrc.io_valid As of this commit, io_valid is always set to 1; but a future commit will set it to 0, at which point IOART_INTMSET will be set to forcibly disable interrupt sources regardless of whether they are requested to be "masked". Reviewed by: kib MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D56006 --- sys/x86/x86/io_apic.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sys/x86/x86/io_apic.c b/sys/x86/x86/io_apic.c index d0f47f82011a..03d85acabb1a 100644 --- a/sys/x86/x86/io_apic.c +++ b/sys/x86/x86/io_apic.c @@ -85,6 +85,7 @@ struct ioapic_intsrc { u_int io_activehi:1; u_int io_edgetrigger:1; u_int io_masked:1; + u_int io_valid:1; int io_bus:4; uint32_t io_lowreg; u_int io_remap_cookie; @@ -193,7 +194,7 @@ _ioapic_eoi_source(struct intsrc *isrc, int locked) ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), low1); low1 = src->io_lowreg; - if (src->io_masked != 0) + if (src->io_masked != 0 || src->io_valid == 0) low1 |= IOART_INTMSET; ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), low1); @@ -268,7 +269,9 @@ ioapic_enable_source(struct intsrc *isrc) mtx_lock_spin(&icu_lock); if (intpin->io_masked) { - flags = intpin->io_lowreg & ~IOART_INTMASK; + flags = intpin->io_lowreg; + if (intpin->io_valid) + flags &= ~IOART_INTMASK; ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin), flags); intpin->io_masked = 0; @@ -375,7 +378,7 @@ ioapic_program_intpin(struct ioapic_intsrc *intpin) low |= IOART_INTAHI; else low |= IOART_INTALO; - if (intpin->io_masked) + if (intpin->io_masked || !intpin->io_valid) low |= IOART_INTMSET; switch (intpin->io_irq) { case IRQ_EXTINT: @@ -697,11 +700,13 @@ ioapic_create(vm_paddr_t addr, int32_t apic_id, int intbase) intpin->io_activehi = 1; intpin->io_edgetrigger = 1; intpin->io_masked = 1; + intpin->io_valid = 1; } else { intpin->io_bus = APIC_BUS_PCI; intpin->io_activehi = 0; intpin->io_edgetrigger = 0; intpin->io_masked = 1; + intpin->io_valid = 1; } /* @@ -796,6 +801,7 @@ ioapic_set_nmi(ioapic_drv_t io, u_int pin) io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_irq = IRQ_NMI; io->io_pins[pin].io_masked = 0; + io->io_pins[pin].io_valid = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) @@ -817,6 +823,7 @@ ioapic_set_smi(ioapic_drv_t io, u_int pin) io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_irq = IRQ_SMI; io->io_pins[pin].io_masked = 0; + io->io_pins[pin].io_valid = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) @@ -841,6 +848,7 @@ ioapic_set_extint(ioapic_drv_t io, u_int pin) io->io_pins[pin].io_masked = 0; else io->io_pins[pin].io_masked = 1; + io->io_pins[pin].io_valid = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) From nobody Sat Mar 28 05:56:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbH73kFz6XbRX for ; Sat, 28 Mar 2026 05: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbH5qGgz3qbb for ; Sat, 28 Mar 2026 05:56:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BBnhLDoZIIXmsZCP5v+noBAROCbYvbl92DTjV/HlzKM=; b=ouV8Jb2/EzAP8tpW6dHkmoICoPBFERPSi6Wu1XU52TX8Qae34PaSbv3FYhEKSdzTxT7TME HThUhqkhjsezYAnbTIYonP6T9EacEcuM+Tagw7icpxDnG3YoAdFQ/SgIqnTvcY4NY5Pccl AZ0pDk6pN5GZXgbRv1m95l5g1PbqKRr/YqvHY1C9ruE+DUlHjmTy2y+prEUhu9TqoAxuXs 3xxwwpyiGTNYvBeK1NB8kQYciZZrKDOdOUP1Oev2pSSVrzwnPZ/2BlxL9UbKr37MxnvXU9 R0KpMosTQojQ181y7oxNuKzjJLS0JdPYxoxONcTBsoicG1te2v8Eg2ayDvNb9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677387; a=rsa-sha256; cv=none; b=q0Yz7BwaEgAWbYfgRACQ428kYJ2axieP0u65AHaRYNcg7vBmtSA7HRnmOslUiEkwWN5Fmn 5dFdgBVjcroe+tbRZaWsqLHSXOyQZl713iadOEddVz0XCzU7Diq31NUdvZm+Gse6PupTaF rbqN1/v+D/jBaGm1VBV/cHX5QUxNK9JqpL8Xl4vjyYv6rUwBbYEVMqMjYWABnXZA0mhIsv zjtHtrKcN/ozJDLW+gK7Aa++9igDiY3KKMnIRAb9s3KpHf9KMBnZ9s59KjPkcrVTQhXR8M RJwMe6W94ebUtXaCeyOaRZMAQkHo0mIq/Q8+krgcqcziUea/lVgKTHCb5eF3IQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BBnhLDoZIIXmsZCP5v+noBAROCbYvbl92DTjV/HlzKM=; b=ecFgWMlyVbamGvm7M2LawqFySID8tl28jbUkvKdj2YVOrAks7eFnWvjopta0UVT37LmoqV S7EFI45D8Fur97/KhuZDvF5B45B8q5+N138f2gLpKsZmSLtAg4OxktxXUhqWAHwvRom5MD bLAel/8dmt2hD4M3Qfnbk2LXB1E/eEVrv0f+OhSqz6xFG11Cr8ItPXoVoOScSQtAnn24r+ 9JlnDVrCpsPVm0Qwyi+DgxphJWugDFqyRg7LEdJqqBK8jl3LUzR8i6jtNJPQvi2rkCnh+6 Kn2ti17O6XkC9MmkpoGoxKiC7m3FySqKsMV23nYjFJzsQyCwzYGTVylxN8fSbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbH56Mdz1BDt for ; Sat, 28 Mar 2026 05:56:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40425 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 5809c9a77b2d - main - io_apic: Don't route to APIC ID > 255 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5809c9a77b2d3b83c056ba3ac5ba4e261c0af595 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:27 +0000 Message-Id: <69c76d8b.40425.6f5ee91e@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5809c9a77b2d3b83c056ba3ac5ba4e261c0af595 commit 5809c9a77b2d3b83c056ba3ac5ba4e261c0af595 Author: Colin Percival AuthorDate: 2026-03-14 05:51:04 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:53:42 +0000 io_apic: Don't route to APIC ID > 255 I/O APIC Redirection Table Entries use 8 bits to encode the Destination ID. Attempting to route an IRQ to a higher APIC ID would result in it being silently routed to the value reduced modulo 256, causing a panic if the IRQ fired since the receiving CPU would not expect that IRQ. Instead, print a warning and mark the interrupt as invalid, resulting in it being forcibly masked. Reviewed by: kib Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55857 --- sys/x86/x86/io_apic.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sys/x86/x86/io_apic.c b/sys/x86/x86/io_apic.c index 03d85acabb1a..5d28b7e8c611 100644 --- a/sys/x86/x86/io_apic.c +++ b/sys/x86/x86/io_apic.c @@ -364,10 +364,20 @@ ioapic_program_intpin(struct ioapic_intsrc *intpin) /* * Set the destination. Note that with Intel interrupt remapping, * the previously reserved bits 55:48 now have a purpose so ensure - * these are zero. + * these are zero. If the CPU number (in fact, APIC ID) is too + * large, mark the interrupt as invalid, and target CPU #0. */ - low = IOART_DESTPHY; - high = intpin->io_cpu << APIC_ID_SHIFT; + if (intpin->io_cpu <= IOAPIC_MAX_ID) { + low = IOART_DESTPHY; + high = intpin->io_cpu << APIC_ID_SHIFT; + intpin->io_valid = 1; + } else { + printf("%s: unsupported destination APIC ID %u for pin %u\n", + __func__, intpin->io_cpu, intpin->io_intpin); + low = IOART_DESTPHY; + high = 0 << APIC_ID_SHIFT; + intpin->io_valid = 0; + } /* Program the rest of the low word. */ if (intpin->io_edgetrigger) From nobody Sat Mar 28 05:56:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbK26dcz6XbTj for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbK07y1z3qWN for ; Sat, 28 Mar 2026 05:56:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=saGhouzWvVZFoPgjxC023S1wlUN+ZbUxvYB30Yh8y3Q=; b=Iun1aOw1YtqJXEt5hGjapJ2YAnbog0FviWvkkru67FIaVjQwi6lkhS7LTMGAOkSsx167HL fGjjKtgHW1+MQRe8joC9dpOAdCnWWgbeUDuwIaAtfFgZy6BOjmhW5iSPg70pQpK+ldRF3z 5m5lQHNB7TB2XMV9fs1H4UQuPRvJRJZPWaGMwrxitJxK7+v3KswPUPtlV+9jewYdP7956q Ml2DpllBppUnR7FSZnLQZMuEdIsx9GzkZVoQ+W+6ac0jlx2JtI+ySGa16sG76GgrZItek7 QYD+td1HJxXAR4V3qjf80ATe71JD9a5rF8XFWxiRsS9AgJyxgG792qG1TeKsiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677389; a=rsa-sha256; cv=none; b=I1ocZjfC3LK3wDumrlfD2/BQ9CM/BjCuOWbynyKUurvJOqFL8rVis7gDPAC4AIYkyLC7US 8ZGpqDajcFNh5idRSep4Mc32J8Y29THoAZNB8iH9iKasWyKAaqQNf4jN7KV95MrVXC59ld hcY2Y7adGR+AM/WGFTA/voxPJW5UqbTdLIhYmfDjSWhkOkjmBU80LtuQO4RbrkoNEr7RBA X5v/XR6dFVdSbWxcV1N9x74HEMncMWmWEnC/2CpfEEJViz4lxT8mDqKvDjo1fUlRnWliqz e402QpUcEOzS5sjGDFgppQnea9pIQCFRhajLY4cXgXr7va9PXwdAekVceZGroA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=saGhouzWvVZFoPgjxC023S1wlUN+ZbUxvYB30Yh8y3Q=; b=kQQAjyfB8gD4kK6+4Nec6xtIsgo00yH7Q3mUqxhLWZXIys3dqNIytG+1/agBkvAV3U4J9Z 6mQ1cySY6UCWCiwbV1uGdBY0E4TcKQem6ozfG9N3EMfJOErRAkcu2I8XizbYc57fOSzDrD HmIJ5PxPi19jtoIjWjJjEEG7o1Uwj2sk+0pftdRbelCUNWOHoFd6ITiAxZAKrRxGv0caEl jpvnCPsgLclWYXVO0B4gdgd2FdjZKduosuPtt71ithY+kHBNzAiW8ifr8rEt2IFk1cwSvG QTOTZScYFTxxkTP/KDTi+WpuIOqUib9eByDZd57SaXwVS5jyP5wo5UTvmn4hfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbJ5ysWz1ByG for ; Sat, 28 Mar 2026 05:56:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e2c5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: d9db6d759dfc - main - x86: Add stub for Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9db6d759dfcf4a4559e66e777599bb3fa8ca14c Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:28 +0000 Message-Id: <69c76d8c.3e2c5.628c6a14@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d9db6d759dfcf4a4559e66e777599bb3fa8ca14c commit d9db6d759dfcf4a4559e66e777599bb3fa8ca14c Author: Colin Percival AuthorDate: 2026-03-16 23:37:04 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:00 +0000 x86: Add stub for Extended Destination ID support Without an IOMMU, the APIC standard only allows 8 bits of Destination ID for MSI messages, limiting us to 256 CPUs. While IOMMUs can allow for more than 256 CPUs to be supported, they are not necessarily desirable in virtualized environments. The Extended Destination ID standard authored by David Woodhouse uses 7 "Reserved" bits for the high bits of a 15-bit Extended Destination ID in order to address this: http://david.woodhou.se/ExtDestId.pdf Add a loader tunable machdep.apic_ext_dest_id to control the use of this feature; the default value (-1) means "autodetect" while 0 and 1 mean disabled and enabled respectively. Code to detect host support in Xen, Hyper-V, KVM, and Bhyve will come in future commits, as will the code to use this setting in msi_map and ioapic_program_intpin. Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55890 --- sys/x86/include/apicvar.h | 1 + sys/x86/x86/local_apic.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/sys/x86/include/apicvar.h b/sys/x86/include/apicvar.h index 551f5527ac00..c2f4414ec8db 100644 --- a/sys/x86/include/apicvar.h +++ b/sys/x86/include/apicvar.h @@ -265,6 +265,7 @@ device_t ioapic_get_dev(u_int apic_id); extern int x2apic_mode; extern int lapic_eoi_suppression; +extern int apic_ext_dest_id; #ifdef _SYS_SYSCTL_H_ SYSCTL_DECL(_hw_apic); diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 888fd266d364..21934b41ea62 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -2086,6 +2086,17 @@ apic_setup_local(void *dummy __unused) } SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL); +/* Are we in a VM which supports the Extended Destination ID standard? */ +int apic_ext_dest_id = -1; +SYSCTL_INT(_machdep, OID_AUTO, apic_ext_dest_id, CTLFLAG_RDTUN, &apic_ext_dest_id, 0, + "Use APIC Extended Destination IDs"); + +/* Detect support for Extended Destination IDs. */ +static void +detect_extended_dest_id(void) +{ +} + /* * Setup the I/O APICs. */ @@ -2097,6 +2108,10 @@ apic_setup_io(void *dummy __unused) if (best_enum == NULL) return; + /* Check hypervisor support for extended destination IDs. */ + if (apic_ext_dest_id == -1) + detect_extended_dest_id(); + /* * Local APIC must be registered before other PICs and pseudo PICs * for proper suspend/resume order. From nobody Sat Mar 28 05:56:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbL2Q7Dz6XbP2 for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbK6sCZz3qHQ for ; Sat, 28 Mar 2026 05:56:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nz5iP7TEbDqbu6+mzGloO0Bo2cDxw1jiEPjaidLmhOs=; b=XpyY96Z35ItWP7KAg0H/xNjuCEUg7g6sR4EvJWCi7ON6G/0L5hqPf/HUUPJb0dhnE+gvB4 Dz83JrTqtPHAEScE+nf5YtlRUV2wl6xTkRAdrvsWnLqwJPqMC0nyBsY1FFNoPiarBCqmJY E1imSNblxG1OYsC7TfFeci19d+MQ6JLRV44SMnZTU1lX9QzFDVHq7j+YQemcgP9neE9sf+ o/srxrzUHxwiFXxTnKiHpdpJ3xwHeCK6IA+M5bOC11EslcZ1j7329CYl/Y0StVrPw6u1qg e7Jb/lMAw3wlE3MnnRdQMaxSbqWzdQYDsko6gDpbFfft7d7ifhu/Ci6JZX0IMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677390; a=rsa-sha256; cv=none; b=bS1VbrMCpNiIkHt9Idcz+7e+a1GXrtkhaBTHSTqNtTokgONGOcsEciC/QEsA1meRJ7xJlf oTZ7GrQQEv8PdW3efZynrSdtP8DaKrUK/sA2w65+ykiRaldsD/xPoJ+57w0LujRBH8URVZ WaK5WB0slKn6gSJSodVIhfpqhCW/Xezr3Av0OruMCZDjAG/5dSVL3bQd+vm9+WL/qkmcbl j/UJXZkZlvddOcej4DOUzZ3IazoqisLGLPolWHjjIcKXKoQx8wRgVRURkvvC62e0DiSrIt OZppVT6U4M7c9KqhGFoZ3ndudGcy5/2KD6hx1Kd5x5tw1Bz/BtVMbBuCIFHtlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nz5iP7TEbDqbu6+mzGloO0Bo2cDxw1jiEPjaidLmhOs=; b=vx/0fPJsnkD718y0eSjO/RYNXpfgPmRObIJgX/FPzGzRn8ZgyRvg5POm6Wc0E3Tw8r39o9 BIQIUm8t80RVUBenMT83OputQ0g6mxfVPef0zDc7ZHGTovdZPNdkMplqZl4kuammej9oTB cxb1IwU2d9zavXrGpyW75YEjGkYdlhZVjnBoIS3bJXlXbKyLLYivS1qLFezyiK1d/adFNO rqNQLwnoS3Bg5CVvLFYO2sT2Pkb+15B864Z/jOfH1NFOAm2BhLqQTf/qFINBfsN/okVL3U dPtCxVDzE4yE/g0UYpbMkDws080nerlMtWiE7VTdto9u47blZAGRJ0ggsFHN0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbK6Qd9z1BmP for ; Sat, 28 Mar 2026 05:56:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 405e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 02f29c1324cf - main - msi: Support APIC Extended Destination IDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 02f29c1324cf5193c3aec181cb409917b541f7fe Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:29 +0000 Message-Id: <69c76d8d.405e6.c752a31@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=02f29c1324cf5193c3aec181cb409917b541f7fe commit 02f29c1324cf5193c3aec181cb409917b541f7fe Author: Colin Percival AuthorDate: 2026-02-22 04:08:59 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:17 +0000 msi: Support APIC Extended Destination IDs If APIC Extended Destination ID support is enabled, use it in MSIs by allowing APIC IDs up to 2^15 - 1 and encoding the high bits into Intel "reserved" bits per the standard. Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55426 --- sys/x86/x86/msi.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c index b38247bf6e45..9d5409015de7 100644 --- a/sys/x86/x86/msi.c +++ b/sys/x86/x86/msi.c @@ -92,6 +92,10 @@ #define INTEL_ADDR(msi) \ (MSI_INTEL_ADDR_BASE | (msi)->msi_cpu << 12 | \ MSI_INTEL_ADDR_RH_OFF | MSI_INTEL_ADDR_DM_PHYSICAL) +#define INTEL_ADDR_EXT(msi) \ + (MSI_INTEL_ADDR_BASE | ((msi)->msi_cpu & 0xff) << 12 | \ + ((msi)->msi_cpu & 0x7f00) >> 3 | \ + MSI_INTEL_ADDR_RH_OFF | MSI_INTEL_ADDR_DM_PHYSICAL) #define INTEL_DATA(msi) \ (MSI_INTEL_DATA_TRGREDG | MSI_INTEL_DATA_DELFIXED | (msi)->msi_vector) @@ -652,13 +656,16 @@ msi_map(int irq, uint64_t *addr, uint32_t *data) mtx_unlock(&msi_lock); error = EOPNOTSUPP; #endif - if (error == EOPNOTSUPP && msi->msi_cpu > 0xff) { + if (error == EOPNOTSUPP && + (msi->msi_cpu > 0x7fff || + (msi->msi_cpu > 0xff && apic_ext_dest_id != 1))) { printf("%s: unsupported destination APIC ID %u\n", __func__, msi->msi_cpu); error = EINVAL; } if (error == EOPNOTSUPP) { - *addr = INTEL_ADDR(msi); + *addr = (apic_ext_dest_id == 1) ? + INTEL_ADDR_EXT(msi) : INTEL_ADDR(msi); *data = INTEL_DATA(msi); error = 0; } From nobody Sat Mar 28 05:56:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbM185jz6XbTt for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbL5Mpzz3qfH for ; Sat, 28 Mar 2026 05:56:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bOWX3DzgcFcbbqy3wJ8ONU2D6ihqoyi1HgC9HVbPvJ0=; b=eyaPQnHEA/ymbqR1Te9OJxMvaTL0Cmu9vSW9kL0IghR87bXuKveEC5o4NsCT3/bst5KPDM yTraWrRHrMpPyzumBUMg1OstVIIrt7T0EON70LlvMT7S9WRn1a0EpbZigxu/7OQU+9wHgL vtqnrW9ub2CTB3i6ch2NBSvApjxv3wl82TQoIENoA5fgkgaeM02wWuX3gy/Tozva6Qv8T8 FvffkFyRsZoxYQ/mkcUc54YY2WGTB7oRxWLej3sFG4lEtNTog1Fy+PvBH8clOBrhWeF4bg K1beh5NuQ4wx7zPZE64LeISj860HMb3shCBgf72YvJ3laj5LtyQmR9LSaT8kDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677390; a=rsa-sha256; cv=none; b=h5ff30KadZUE7bB6TJ9joVKr0inwl9TvNngd0V4xCRWZbtKv3O6gLM5HS1s8S2fF4nEF0f LuMAowRTFwpEkvhnGyfn25gkJdp1E+xTHybEu2AV+PB1gRHrjOD8aqcmgiyI6VFKyF0uj/ C1zeywXNVPgs9L+PrZbbV4fNTq7x5p1+uNAzYGhuYMeTZCnSsYMDWP2opXmfYkywjqRzvb YpeuXQ5sK8tWJp2vSBfio+tlvHWV3MGWFD9iCJiOiZm+Qy+trlu32a3wrdwmrLIcErVqNI dS1+1FLhijfo4U62Jy+gulSNIW21dWiLXA1fAKns3eyz+MJN5ydPzMwivXMrRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bOWX3DzgcFcbbqy3wJ8ONU2D6ihqoyi1HgC9HVbPvJ0=; b=DMsREEdF/L/5XGe8J5iRwDbOtSCOV67kMYfLgbv3dYhYSWsAZ9ZqZyaxJ8GJDtBzt5LIbm MEw4LIauUHss4uHmIWICqZ7PNrV67mv1XJGgvwiLWI7+acKIwjG72lpKI+HvH6y+mqqJsR xoOgmyZLWVjqbXRQWAoF8CHSsFbHc3LZvJcF5rG+3PwXsHoIFMoqRPNuF1FimhNhxtCUbq NtouFEhNhObGfPx8ZGGnaTARn16Dll3Yp9kqRZ3BoHSNwAxFdRfq8SwGOaVxF0r3/7YZTq e7fXcO/GBJ+vhZL0g8j2u16bIHgg3FJ2jOp3+5AAw69HDx/14Rsnjlcv45HRKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbL4vwJz1BmR for ; Sat, 28 Mar 2026 05:56:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40098 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: f350063a251c - main - clapic_handle_intr: KASSERT isrc != NULL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f350063a251c9da0c5ce437eb4c44a2d716b673e Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:25 +0000 Message-Id: <69c76d89.40098.14c72c7b@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f350063a251c9da0c5ce437eb4c44a2d716b673e commit f350063a251c9da0c5ce437eb4c44a2d716b673e Author: Colin Percival AuthorDate: 2026-03-14 01:03:44 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:52:44 +0000 clapic_handle_intr: KASSERT isrc != NULL If an interrupt arrives at a CPU which isn't expecting that particular vector, intr_lookup_source will return an isrc of NULL and we'll panic when intr_execute_handlers increments *isrc->is_count. Place a KASSERT a few nanoseconds earlier in order to leave some more breadcrumbs for the next person to trip over this behaviour. Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55851 --- sys/x86/x86/local_apic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 8a8fb8ef41f6..888fd266d364 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -1445,6 +1445,9 @@ lapic_handle_intr(int vector, struct trapframe *frame) isrc = intr_lookup_source(apic_idt_to_irq(PCPU_GET(apic_id), vector)); + KASSERT(isrc != NULL, + ("lapic_handle_intr: vector %d unrecognized at lapic %u", + vector, PCPU_GET(apic_id))); intr_execute_handlers(isrc, frame); } From nobody Sat Mar 28 05:56:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbM47J7z6XbRf for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbM0qK9z3ql6 for ; Sat, 28 Mar 2026 05:56:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oeM9lskBCvVRHOWkDQCT1Nsm/V7TK4eVS85aqphpMO0=; b=JI8lf1jyq0lKkOD1mPjB7SsGvTqNX8YShNPBJJCX7ToSlYaINNh31CncXAU7QRU8dl3l7R h26E0R4q4XIz6GN5XCzOV/hsME30pVWQC3obaG/u2vtYVZLEftau9az8slshbOs0jRAm46 ZPazYaFUV/7RZYb/J5aMUXpfjy1kkRoo4P9wlrvZmjsVBNjMEF7MH5Y6yIvk9KmdH7E9TA SMD+4L6t+yk4pvqZrDL9Fpd5CzvlWhUvMVSOpVxZVKva29OsjmAJdKPDjm03jKieHe2YW7 c7FN30Zt87/HXW/bu1NxiO3S4qfSeVsxBVUiBFallazRTWLxhQ9vu/+d+DUSyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677391; a=rsa-sha256; cv=none; b=m8mujeZM6S3+Fng+f/LGI6wnfCO/S7iwEXWpzLsyc6ccW3fhfEvHTUnmeMG/6yDt9W/Du6 NLhccza8JNtHG0TNaxgz+MiHx1FNoVL6FpsOID7Bf9VB3ih38A3pPCSGdhgKFed/ppeMeV Yb1qQuDW7BUFE4Kv/k4psTOdK5k608S5ft4s+ed6GV3OQ8cw48TIlY9vDIjXYAXZKF9+S9 I6Bgy6OWdjwkrus1YfyWbK1eoRgWOqlYguni9Da+078wpj0OLJTx6BH38sRglDR7OP79su x+GljgSWs0uPsqBDsqMfkUSBYJWNj5Qu5eZnHvnRl63KOPNVHbvEF5NtNyzBBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oeM9lskBCvVRHOWkDQCT1Nsm/V7TK4eVS85aqphpMO0=; b=wUUfXAgNNJoqLvtq0KzINI7m1IbQEbTnJ3lHnBgCUUcjpLy4mC6hLzOQWk3B4f+VLXw5Lc ef8lxO19jFREY7hImV9ORa4FqmtZ1pT/np2TqnJ52qywhANlkwxoZWDGS9fB+SiCdoUlae BM+O2pEzgOaDMcMRPgQw6gMKRGzsILLnJSzDLg3DZqvHQIVUJbvys6sxTE8Q3MZwCjOzSi WqUgyBwzyNehfdubDgPIndIYYpKygClFHYZEX/bN5KPMsfycY0dJLEQ1bpAvuCaJccHYP5 DWH9KsIafuRw50j/D8vFF1bsBCWJ5WwEq66V228QZE1sE/Jy/RPKfgyijkn4Dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbM061Dz1BmS for ; Sat, 28 Mar 2026 05:56:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 405ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: b0e1b1069d65 - main - io_apic: Support APIC Extended Destination IDs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0e1b1069d655f12ab69cf3a1dc1904dd35ad1da Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:31 +0000 Message-Id: <69c76d8f.405ea.3218ec58@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b0e1b1069d655f12ab69cf3a1dc1904dd35ad1da commit b0e1b1069d655f12ab69cf3a1dc1904dd35ad1da Author: Colin Percival AuthorDate: 2026-03-16 23:45:32 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:22 +0000 io_apic: Support APIC Extended Destination IDs If APIC Extended Destination ID support is enabled, use it in APIC RTEs by allowing APIC IDs up to 2^15 - 1 and encoding the high bits into Intel "reserved" bits per the standard. Reviewed by: kib MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55889 --- sys/x86/include/apicvar.h | 1 + sys/x86/x86/io_apic.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/sys/x86/include/apicvar.h b/sys/x86/include/apicvar.h index c2f4414ec8db..2dda3103f93c 100644 --- a/sys/x86/include/apicvar.h +++ b/sys/x86/include/apicvar.h @@ -84,6 +84,7 @@ * to use that ID. */ #define IOAPIC_MAX_ID 0xff +#define IOAPIC_MAX_EXT_ID 0x7fff /* I/O Interrupts are used for external devices such as ISA, PCI, etc. */ #define APIC_IO_INTS (IDT_IO_INTS + 16) diff --git a/sys/x86/x86/io_apic.c b/sys/x86/x86/io_apic.c index 5d28b7e8c611..28841cfc0e21 100644 --- a/sys/x86/x86/io_apic.c +++ b/sys/x86/x86/io_apic.c @@ -371,6 +371,13 @@ ioapic_program_intpin(struct ioapic_intsrc *intpin) low = IOART_DESTPHY; high = intpin->io_cpu << APIC_ID_SHIFT; intpin->io_valid = 1; + } else if (intpin->io_cpu <= IOAPIC_MAX_EXT_ID && + apic_ext_dest_id == 1) { + low = IOART_DESTPHY; + high = intpin->io_cpu << APIC_ID_SHIFT & APIC_ID_MASK; + high |= (intpin->io_cpu >> 8) << APIC_EXT_ID_SHIFT + & APIC_EXT_ID_MASK; + intpin->io_valid = 1; } else { printf("%s: unsupported destination APIC ID %u for pin %u\n", __func__, intpin->io_cpu, intpin->io_intpin); From nobody Sat Mar 28 05:56:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbN5mqTz6XbLM for ; Sat, 28 Mar 2026 05:56:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbN1KGLz3qlF for ; Sat, 28 Mar 2026 05:56:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l+jNC/HJLBz6YZSRl3rNx/Z+KDjBnMdi9oWXXtmmJE4=; b=owKQEV2nSq6xVUaueaJK8R2ySocP5aN7Qpbo66BB2RZSv0MPF6FlHAx1+hQ0eAOygcN9kb msnK+iqe8nVXLWrRuoQDuoO7ysuWvDaNRJJR3XVfbRQjJriLwE5es9KuikHsBDENvalzBI IsT6tHrVpbK8FgYQrpNAqVyeaRcAOBY8aseXnGzy3TWoRR8jO0IIj1LYGr1zH+sc512nIt zN4Z7ylFKTUUGSkfuJrO/3VD9xUlcjLMyQ1pkU3XoZdamuoZF9vPJKN6+Q7be9dIHNqHhe 1ZzieKfxPh3nNp/F36gt6sgwK+b6wzvanuaCczDlOcBdTPkGJ7jbKoEnFFMx+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677392; a=rsa-sha256; cv=none; b=KMam9GwZ0OFQgcoD8ZTB+f33dxKiDgXLymosudp6yyDTzhur5PPALcFV6ZZIax4UdMChKQ pyjVYMo2n9VxnROVA9Z0e4yPHp1dgxyyR5+Lohcc+hutvN9+sae8pquIfkDmjp1yJE3Lkq DLXUs5GmWb7n2ZtA5SinykpP4jG6Vc3DRgPj5J4CL6XnNEYh7C0tAC8XiHda02PDI5P9e3 lEAZoIOJn38xaYDHNBnVyyCpFRjIObKaWnaLipqT1AKEdnGkqKtPJX2MGFipqKDxEsr/fU dItk712N/5u/sPuGTH7wcP/0m1YOQ+xC1kPP2z2scf3eydUflTErfqhFNMsKSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l+jNC/HJLBz6YZSRl3rNx/Z+KDjBnMdi9oWXXtmmJE4=; b=DYvCso4rV63j2Ee7kpMjvN4vLS+yMG1fJKO9dkTtkN4e7GzZFTZMr/H1LqpZHTzJ1m3+mE Jmbxcuc1GjsxJChfc7W2eEODsIUVgzJ+3BZV0oWrTKVd1rHZ9PQsSzE2gevxUTMWu93Gip GOKjxon2BzLhZiJUDXl+wfpgRAOPdKoqKkwOA418Ejc9FSd8xXaKkQoeMjTZnT0ezCjK0e woM9CLwPOINcKEwf8vJBhWOlxktDlXvYKdBZzmsI54ZBbOKZbSd6Sdt2SAZX1aenAGCS71 8W7hzILAXTUFRmGbBtxP3paNwiPjUu/otMftjoDUNfdDWjKoEmh7bLQSj9W6Lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbN0v1Hz1BDv for ; Sat, 28 Mar 2026 05:56:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40547 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 9ab5aa3d4c78 - main - KVM: Detect Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ab5aa3d4c7879d5518afc7587a864ba880e7ee9 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:32 +0000 Message-Id: <69c76d90.40547.85037f2@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9ab5aa3d4c7879d5518afc7587a864ba880e7ee9 commit 9ab5aa3d4c7879d5518afc7587a864ba880e7ee9 Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:35 +0000 KVM: Detect Extended Destination ID support KVM advertises support for the Extended Destination ID standard via bit 15 of the value returned in the EAX register when KVM features are queried via CPUID. Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55427 --- sys/x86/include/kvm.h | 1 + sys/x86/x86/local_apic.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/sys/x86/include/kvm.h b/sys/x86/include/kvm.h index fef26bde226a..83dd20fa8d23 100644 --- a/sys/x86/include/kvm.h +++ b/sys/x86/include/kvm.h @@ -49,6 +49,7 @@ #define KVM_FEATURE_CLOCKSOURCE 0x00000001 #define KVM_FEATURE_CLOCKSOURCE2 0x00000008 +#define KVM_FEATURE_MSI_EXT_DEST_ID 0x00008000 #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 0x01000000 /* Deprecated: for the CLOCKSOURCE feature. */ diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 21934b41ea62..fb3b93e4164f 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -72,6 +72,7 @@ #include #include #include +#include #ifdef DDB #include @@ -2095,6 +2096,16 @@ SYSCTL_INT(_machdep, OID_AUTO, apic_ext_dest_id, CTLFLAG_RDTUN, &apic_ext_dest_i static void detect_extended_dest_id(void) { + u_int regs[4]; + + /* Check if we support extended destination IDs. */ + switch (vm_guest) { + case VM_GUEST_KVM: + kvm_cpuid_get_features(regs); + if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID) + apic_ext_dest_id = 1; + break; + } } /* From nobody Sat Mar 28 05:56:33 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbP6pDdz6XbPD for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbP2Jwjz3qnC for ; Sat, 28 Mar 2026 05:56:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677393; h=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=y3JkdYM/1aZvp8/Pv1UM1d7NbWpQ/ND0te1lCm7adg4=; b=En5Rn6SyljvcXyYk2Z5gJ+gULxfK+dBAjzCVOXUZQcyAAHPJRTtfKpjlmligpptYUATC/A qxKgKD8BhWrtXEpZ93e9MWnmHZHWy3Psqm1swNcHTe8haJlG6ewVt6U6Z3mnOxRIjWWNNc AXYHfnG2FeAxBcOxIRmQSELBwmKJxMY4o7b2LKN6woduUezg84rsgREawLdzyYO7bG5H6j pO9AoRBSg+Aty6wnDGgrmntWPIuxCpbZdq1TUBb6qQOp8vX+DpdizXfHfeJ5/iofn/ulu9 dOzf/iYwcet1SG73yhBg/IPqAw2K0RII86xSRJLTv1TDLDe8jMQ39uxmhLxxbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677393; a=rsa-sha256; cv=none; b=kHmCveO0feyRDByWG0r5TuvGQg6BlUGUV/qKaneNEYo1e3lNZnZesk8NXDNCPqBQAAweJc NtfjDINcR0gtaMqZdDNjFNT91/PNCijTcUIQpIIbKz5YODmEZvSKyXBx3UO40/rQYZE/iz Aa2bqya/RwsBdFc3f97eZ8ySBRTsRtP3ZKw73iWmEXDLByyxzmd6NBpmAShlweJNXutryJ jJTv/jX/waB1KtTT9zQ/mpCJrabyMK7RpY0bXZO1W6I8WD3fCpd+mvNmLvuTZNfVVW97bt Z0QZiyzGA+xaN4a7/UxfBe2Ocbc25zQ1ib1f3Cs8OfiKCLO+TbFuJfwlazcNGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677393; h=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=y3JkdYM/1aZvp8/Pv1UM1d7NbWpQ/ND0te1lCm7adg4=; b=YMu/w0IEemgZiyEQGTF9hhpebzsODz9Xr7xi1KGooKANgs9mns5O1sIYPnVqQZBKiYf6A3 LdFPb+xk6WVUg7DgXq291ftsK0mROP7BN2OAOmX4DmFJkpmkYKYeR4FB4c58pzvq+3sYk8 xHvpgGyb3ZC07PGsu+csjSxxEEGtQh6GH+fl0UvCLt7V6T4VJ1GQyiW0Escb1KMvO0Ri92 ud57Xr1ubiZAqFLoDFtz11qGxbhzbCcWCYHToQMAJ8+txnw7+2LkYq8IPMM7TqPunh3rF9 YBthMsDNTShcQFCIMnwyItzR7NMv0hwnf7lph6yPsSivciYYSmNLkmVcsmCpmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbP1mNVz1C3b for ; Sat, 28 Mar 2026 05:56:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40b34 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Roger Pau =?utf-8?Q?Monn=C3=A9?= From: Colin Percival Subject: git: 8c986d164531 - main - x86/cpuid: add CPUID flag for Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c986d1645312487adf21a9104d667ac1e19c25f Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:33 +0000 Message-Id: <69c76d91.40b34.4774aa01@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8c986d1645312487adf21a9104d667ac1e19c25f commit 8c986d1645312487adf21a9104d667ac1e19c25f Author: Roger Pau Monné AuthorDate: 2022-02-18 08:17:47 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:37 +0000 x86/cpuid: add CPUID flag for Extended Destination ID support Introduce the CPUID flag to be used in order to signal the support for using an extended destination ID in IO-APIC RTEs and MSI address fields. Such format expands the maximum target APIC ID from 255 to 32768 without requiring the usage of interrupt remapping. The design document describing the feature can be found at: http://david.woodhou.se/15-bit-msi.pdf Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich --- sys/contrib/xen/arch-x86/cpuid.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/contrib/xen/arch-x86/cpuid.h b/sys/contrib/xen/arch-x86/cpuid.h index ce46305bee99..f2b2b3632c2d 100644 --- a/sys/contrib/xen/arch-x86/cpuid.h +++ b/sys/contrib/xen/arch-x86/cpuid.h @@ -102,6 +102,13 @@ #define XEN_HVM_CPUID_IOMMU_MAPPINGS (1u << 2) #define XEN_HVM_CPUID_VCPU_ID_PRESENT (1u << 3) /* vcpu id is present in EBX */ #define XEN_HVM_CPUID_DOMID_PRESENT (1u << 4) /* domid is present in ECX */ +/* + * With interrupt format set to 0 (non-remappable) bits 55:49 from the + * IO-APIC RTE and bits 11:5 from the MSI address can be used to store + * high bits for the Destination ID. This expands the Destination ID + * field from 8 to 15 bits, allowing to target APIC IDs up 32768. + */ +#define XEN_HVM_CPUID_EXT_DEST_ID (1u << 5) /* * Leaf 6 (0x40000x05) From nobody Sat Mar 28 05:56:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbQ4kdkz6XbV2 for ; Sat, 28 Mar 2026 05:56:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbQ2pp3z3qj9 for ; Sat, 28 Mar 2026 05:56:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uxU700cOgoBSgfQEpvHEWn0tJlbDlUJrx0Q8dl+vaRk=; b=BAEKendTmSIy+wLlGdeG8k+QQgqDIU/g0VcrLYXRuaPXOIoaE1qaS9qtx9OBs9C3musjiD SG+F+XAVB1EjInbnEbywn5RQnqxAuWbN4IVzApUlbSNUCFUItaM0M6fgWUtwKfDBUsvDNf UvVfkK65g4WinSQYUeGe41rcTWS6Z6EfRJdvOyQ5v5KniLxpgmrgxjSFFkywBUoaIILi2B NuzjrGVmsxw6LqAQK00K44YkTWpoK+neCb8WdVKUYI06/2cd8QxW3vl9fzkN/CoLkRBPZp b/zmMUcjeFT+rUY9j7W0w4b8aP3dfNR47PMp/+JjqNx7pGC2dNx+HeDirTguxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677394; a=rsa-sha256; cv=none; b=snfrhCZmAFPIBxvQ8/NvbWpls+35350o4UUaVD9dsKEsn2AX3xYwP5qV06S8HspT/y3o2b /mbOw/fraBdAtOle9yJHz+EUu1cNF9UbUZK2rZjbjU6jioMtrmS1pCo7X/GEQrFpbPXpgW rXlDmahQ0qOo6wnlL3PuThUfN4tzkac+7aSid0qYeYWs+JDEWM+L3OWpsuO3+2cM1FQeU9 Rl6z8Ooi5FKZs3zNz/TWxJOITAkiC/ABEdTXhotSBaSbQBxruSofWWgsPtFh8liM61AGxi OpCcsWzbxJe872PSbj0rioxtlK/gDjcd2jqi1oIEw5kDWVPe0OkRhUT9S4b8tA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uxU700cOgoBSgfQEpvHEWn0tJlbDlUJrx0Q8dl+vaRk=; b=aD7/HMsBSZJDYXhkTiJ18BdqcdD71S8Caf2P1pJwdlzlV0hUT9zaoapBlLEtXj917cCR1R t0yx/lP5JURgTfm09FhKlY+jTePbrAxjtnVgxTjPOnLz1zXthu/h0XWZxrCPXXNt9iZd1K BnQtcoOuiz3TwOrRpJeCvscMN4/3zG9tnNz9YomfL1jAhWACgudfMElX0SQBaOVUBlaOxr Tb+ZV9nooIzKsg/TH97i0iNJCzWaKDtdMz5iwiHzNttMAhd7w0e7wcWhVTP9ncZ1rwqnqc PJGsB35EjQOFmAGTvScvu8v1S2reFDYTnMNcSSKBA0OGKeNkSbkz/jwtYgGWSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbQ2P9Jz1BDw for ; Sat, 28 Mar 2026 05:56:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ffe5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 9b18ba2c16a0 - main - Xen: Detect Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b18ba2c16a0750e6c78f348845368284ef1a704 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:34 +0000 Message-Id: <69c76d92.3ffe5.4c948c4c@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9b18ba2c16a0750e6c78f348845368284ef1a704 commit 9b18ba2c16a0750e6c78f348845368284ef1a704 Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:48 +0000 Xen: Detect Extended Destination ID support Xen advertises support for the Extended Destination ID standard via bit 5 (aka XEN_HVM_CPUID_EXT_DEST_ID) of the value returned in the EAX register when Xen features are queried via CPUID. MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55429 --- sys/x86/x86/local_apic.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index fb3b93e4164f..accdf853a174 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -73,6 +73,7 @@ #include #include #include +#include #ifdef DDB #include @@ -2100,6 +2101,11 @@ detect_extended_dest_id(void) /* Check if we support extended destination IDs. */ switch (vm_guest) { + case VM_GUEST_XEN: + cpuid_count(hv_base + 4, 0, regs); + if (regs[0] & XEN_HVM_CPUID_EXT_DEST_ID) + apic_ext_dest_id = 1; + break; case VM_GUEST_KVM: kvm_cpuid_get_features(regs); if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID) From nobody Sat Mar 28 05:56:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbR65vhz6XbWj for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbR3bVtz3qjR for ; Sat, 28 Mar 2026 05:56:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G0Yh5okg7njgR8BxWhZ0l64yrwmMfuwDKy6QbU+60/A=; b=SItxFqu5ukmwu687Oa85E55+rIZmM7C7GuBY3uRQncC1KhHxZvkEvjm9QPyg+o9Ytlgiuz /xN8FCMNPXwl6IgOCGTzdhcP9Fu82NUKlUsx8sV2PNhs2QybyiA81N9DVoN1lBKDqbjEZn ui6oTPYS1CJxQdj6KJyPs3dag57mvSukG0KRmomidjufi08U+MEfvltBFhjWrAKBkkRrAG 4p4X4r4tC0h3sWU++nz0ibzsvKLgy+GcxK8IYIUmm8ikt+kkZJfmlhkc9D8ZG2ZKXBBncu wgQTWVtb0HcbAlOiQIf8hKTyjDxL/M9R212WEsTFMi+h8GKYFlRhYzYkryH5xA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677395; a=rsa-sha256; cv=none; b=NdgPNE4O1NZ+Hd2oOeCltmEKWr60vSEgox8j4oKJfBTNqTPnkZxpBJOa1O7uZuvhAKHJ5n dEDQ6e9ZgOrKsq7Hw72zdwP63aiVoSJWbE52JU8utAlkKEwkSCr5Cw8ZxCuIoMxznqJTGs CMZCXFRp2bkkdl1VqaxSMY2aVZJafWEmRUs0dqd9izqybuYJ7ybQUODWVXSAqFmHKsPQWO oGyIyWdy2UbTci8BAQlsUXUbeTyPkFLMJXY9spyWQuv9b2Ttj39/aFAiEyVxqaDaTaUhqY Ej6CjQEoRu/fK3V6y32yG0rBmJvHhMC/Tx7RHy8A7FeG0jib6N3vTa0ot4WoAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G0Yh5okg7njgR8BxWhZ0l64yrwmMfuwDKy6QbU+60/A=; b=xJaG6ZyieR3RlFcfkQvWOdcMC2Ak3p53KBkGj59rz5mJghxcflKyIltmVjBa+qHbDDwEBc DHbt5Kg6Ju1klGrTfkSMnvUmuBv/9m/gT6oSA+lF0fZC51n8jIFVfILPkCN576aJTv9vYm K36GOailLkfsLI3WZiKPM6H3p5WNR9zDpg6GSmSAkcCNWxPcKabTDjTQa6Kbq9BRsbG+TX 27FrNXpl3ag9xAK1oVw3TquqWFrUaoWVdD4J6Dn610/nbFp8PszW6qomDXBQoHbaKUohFv a1DWNJyM2kZqC2eQAzppoJGeZwUcxcSNw1/hPVw+kVulSsq7dQUsnh9AO7a39w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbR2yb9z1BDx for ; Sat, 28 Mar 2026 05:56:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40309 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 49b6254b3e09 - main - vmm: Move defines from x86.c to x86/bhyve.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49b6254b3e09ee741f456617111ecb18803459fb Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:35 +0000 Message-Id: <69c76d93.40309.5d34ce18@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=49b6254b3e09ee741f456617111ecb18803459fb commit 49b6254b3e09ee741f456617111ecb18803459fb Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:49 +0000 vmm: Move defines from x86.c to x86/bhyve.h The values CPUID_BHYVE_FEATURES and CPUID_BHYVE_FEAT_EXT_DEST_ID are useful for guests, not just hosts; so they belong in a header file in sys/x86/include rather than simply in the .c file implementing the bhyve host side. The original addition of these defines took place without adding a copyright statement, but since I'm moving them into a new file I've added the original author's standard copyright (Amazon). MFC after: 3 weeks Fixes: 313a68ea20b4 ("bhyve: Add CPUID_BHYVE_FEATURES leaf") Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55430 --- sys/amd64/vmm/x86.c | 5 +---- sys/x86/include/bhyve.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index f32107124eb8..6794110f067a 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -50,12 +51,8 @@ static SYSCTL_NODE(_hw_vmm, OID_AUTO, topology, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, NULL); #define CPUID_VM_SIGNATURE 0x40000000 -#define CPUID_BHYVE_FEATURES 0x40000001 #define CPUID_VM_HIGH CPUID_BHYVE_FEATURES -/* Features advertised in CPUID_BHYVE_FEATURES %eax */ -#define CPUID_BHYVE_FEAT_EXT_DEST_ID (1UL << 0) /* MSI Extended Dest ID */ - static const char bhyve_id[12] = "bhyve bhyve "; static uint64_t bhyve_xcpuids; diff --git a/sys/x86/include/bhyve.h b/sys/x86/include/bhyve.h new file mode 100644 index 000000000000..215bee90bd1a --- /dev/null +++ b/sys/x86/include/bhyve.h @@ -0,0 +1,35 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright © 2025 Amazon.com, Inc. or its affiliates. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _X86_BHYVE_H_ +#define _X86_BHYVE_H_ + +/* Bhyve feature detection */ +#define CPUID_BHYVE_FEATURES 0x40000001 +#define CPUID_BHYVE_FEAT_EXT_DEST_ID (1UL << 0) /* MSI Extended Dest ID */ + +#endif From nobody Sat Mar 28 05:56:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbT1WBhz6XbVC for ; Sat, 28 Mar 2026 05:56:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbS4ZQFz3qm6 for ; Sat, 28 Mar 2026 05:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RdzkWi2GQC+FPKuUDkw73e5q6iOb/tJd4WNiqEmv2FA=; b=jvjMVl7CSsQ1sLndq96zrAK7mwTH2R/nJ1raVPoLMR4yh577GsWW8a7em+M+Unkpl65Aoj JvONYRzL6bObdX+GOplZHN2xxSDWWf2pB7Gbn4lhw0iQC7VHw0x6jcv5xYek6kd+ZNMjWO ez6wYNb5F/4eKC2ysEQ17AdnMSI/5fwN5XA9cpNqj6dfyEcVYHqOC2mfDiTR7+YO7Y7BtP +VG+BuZrxLMca3HQwasLCZKk8FkPsODx0a9ZIhORHJuOHAumRHnDsn8NyNHteQb0L14+pQ NxTkReLqtcJy70NJ0cTfGVWqiUiv2D5hlXXXEpnIXIJjcKJwmKCrQFYaD8akpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677396; a=rsa-sha256; cv=none; b=bj9Wg2HNAIVRY2R62zxwGrW3nLK65c6bvFdURGawxMNPM0i+aauxtUH5U5LDyebJSQAJl/ ckW6iPedRymVh7RqdD9dbfQk0hOmKACjBa8qo4VhQVWds/H+m7516bN09Hw/XL/+LbODsU e+noHq07iIlCMZHu4q2NECSViBKHNaJeyw0xJE2KbETQHCgs9D+eh9p1CP5IfBc2fcxCZT bIG2+JH9ilaEJZZZLEfME2gbEj6z7gUWQBXFvF5hoefkHFJsK6fxBXiVBS8bNRUXMD9kLw 6SaXihpHWYRbkCEhIfvo+l3sMBK3x4i3dDMYvsRTT4WiH+Q7EFcPGHDfV8KSYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RdzkWi2GQC+FPKuUDkw73e5q6iOb/tJd4WNiqEmv2FA=; b=tV5LL7Zgs/XznvsXkvI3sTkWFv/5HHfFakWSFWV1hesVuS7dHPx+CZvB2JSImvHKfn87vT 6RnA9NSiUIWOP94WIjSu7V/LKD2zTGR9Cd7HlWzs/S4UxGNaedxK3q7MiYxMEBsHjHjlfQ SLYz35gYjKl8NJTqbD6z8807tpUIhHcFeMcV0ukeuAQ5BN+w53gauz8GmGeQNuFxFxEUFp dc1AhmyIdsDGfQAEtGmxo+V9hjoe5qroeGOZiy1aBqJL+BRVqaG0W3fBsyKCfNiBFW3bc1 0U+qYYjU/GzdDpMpJdWSuYEgjABhFUf0nkw081ZzS+P0PyxbGUt/NSxE5vS28Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbS3wtJz1BmT for ; Sat, 28 Mar 2026 05:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 405ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 8dd9a0d52175 - main - Bhyve: Detect Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8dd9a0d52175fbc5dafed851fb95a289a94fb6cd Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:36 +0000 Message-Id: <69c76d94.405ee.1f2e0e2b@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8dd9a0d52175fbc5dafed851fb95a289a94fb6cd commit 8dd9a0d52175fbc5dafed851fb95a289a94fb6cd Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:52 +0000 Bhyve: Detect Extended Destination ID support Bhyve advertises support for the Extended Destination ID standard via bit 0 (aka CPUID_BHYVE_FEAT_EXT_DEST_ID) of the value returned in the EAX register when Bhyve features are queried via CPUID. MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55431 --- sys/x86/x86/local_apic.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index accdf853a174..20f095a13574 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -74,6 +74,7 @@ #include #include #include +#include #ifdef DDB #include @@ -2111,6 +2112,13 @@ detect_extended_dest_id(void) if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID) apic_ext_dest_id = 1; break; + case VM_GUEST_BHYVE: + if (hv_high < CPUID_BHYVE_FEATURES) + break; + cpuid_count(CPUID_BHYVE_FEATURES, 0, regs); + if (regs[0] & CPUID_BHYVE_FEAT_EXT_DEST_ID) + apic_ext_dest_id = 1; + break; } } From nobody Sat Mar 28 05:56:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbV0rY7z6XbLl for ; Sat, 28 Mar 2026 05:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjRbT5Schz3qwT for ; Sat, 28 Mar 2026 05:56:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XV0pyMuZlI3LL5hBYU8EthoBEHHNweJzTScr0nC904E=; b=VC2HsXJxQIzjbmY6XQKdJUQNJd+8YVilGQ/88+GLp5pTreRhgNHig1bds2OSguNDFJqt/S AdJ051mP5HEfpQKvr8KcFN8LRG1zjDAokA3e58crjWlVAFDVh936cmqNcd7fcXQmag61k/ YOhyti9EnOVbnE+lheEQYSjpdiETpe79lM2Gd2cGr9Zh/U0K0jUY5mEuBHTmlmZWOBCTCn iIi5dZiTN5WpbxIayYUObK88oHslZ16rj1/DXvwFdGwvfQ2/AhVXzeMvMIE3GslW3HHLYp QOK3yEPKsJubuSLaxXcA/9LKJ07CjmXkUUA/dfZ7W69uVWpTkZ7qMvvbolhN7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677397; a=rsa-sha256; cv=none; b=VZ48zcxfMqhFl4as8SsRIWC/EH4ADmnq4xJ6CtZXQYix+V4qGJqkHd1NkjUvNcUX+Jjj3F RhSMGbPjcx2U8ln7/CazeQM/cXDKQFRbms/J8EdM2D9yq6WPHiZiseKI1/zIJbPZbYMAHV lJEA4b21iG3DbApP8HhtkmoB1X4LItOn2ngXRcWNsXerWWxgu8S4vf8UrfZayuvCS09eRD y3Npd69EQkuxjtV93YceRAn3/EtLjePzTeBzEwiqOe3+jy3FfVvjILda2uIpf1zqM4A3rf jWSJccD0uXt2XScJfLX6I01x9Q624B9M67iaYD6TyEYwVBw7TLBeufJW0ukfXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XV0pyMuZlI3LL5hBYU8EthoBEHHNweJzTScr0nC904E=; b=jmy+Ve/dvTSqJnLYZAt5CcG5oKmMNrs7OJ0ZLZmyjIJcYLPym8rPVRTc5bZJdtC/rlmcLd NsfdzQv4B0AYSFMfAqFRQAHXGiZOyrJ/3Jx+6LjCWH/f9hNpi68Q8UIi8MeEaFpqttZdHp yUl2t7Twqbw0jvPC/oMTPGt1YWjhPqG7Y27itwY+cIBm/jmVx2OoFRUT4+YbRxYxVH56a6 MuePBmWmPxIzXDYjD43NzBe5NL6wyppceK5n0TVbOoSEvw4rQQDMow9d5dHlpORRgOaDSy k+fUw8h6DyRsskb39GWuXmp0aWuJk5oiW5X0XKPvjWBGU4Y4f8i8P2utLRd+mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbT4WDnz1C1G for ; Sat, 28 Mar 2026 05:56:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4100b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 05:56:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 7b6be0014a4e - main - Hyper-V: Detect Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b6be0014a4eb81943491122bae70914b7fd82b6 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 05:56:37 +0000 Message-Id: <69c76d95.4100b.d90ba62@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7b6be0014a4eb81943491122bae70914b7fd82b6 commit 7b6be0014a4eb81943491122bae70914b7fd82b6 Author: Colin Percival AuthorDate: 2026-02-22 04:09:01 +0000 Commit: Colin Percival CommitDate: 2026-03-28 05:54:59 +0000 Hyper-V: Detect Extended Destination ID support Hyper-V advertises support for the Extended Destination ID standard via bit 2 of the value returned in the EAX register when the hypervisor stack properties are queried via CPUID. This is based on a commit to the Linux kernel, as there does not seem to be any other documentation of this feature. Reviewed by: Souradeep Chakrabarti MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55432 --- sys/dev/hyperv/vmbus/x86/hyperv_reg.h | 6 ++++++ sys/x86/x86/local_apic.c | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/sys/dev/hyperv/vmbus/x86/hyperv_reg.h b/sys/dev/hyperv/vmbus/x86/hyperv_reg.h index 0597a1fea953..e7560d00f25e 100644 --- a/sys/dev/hyperv/vmbus/x86/hyperv_reg.h +++ b/sys/dev/hyperv/vmbus/x86/hyperv_reg.h @@ -45,4 +45,10 @@ #define CPUID_LEAF_HV_IDENTITY 0x40000002 #define CPUID_LEAF_HV_FEATURES 0x40000003 #define CPUID_LEAF_HV_RECOMMENDS 0x40000004 + +#define CPUID_LEAF_HV_STACK_INTERFACE 0x40000081 +#define HYPERV_STACK_INTERFACE_EAX_SIG 0x31235356 /* "VS#1" */ +#define CPUID_LEAF_HV_STACK_PROPERTIES 0x40000082 +#define HYPERV_PROPERTIES_EXT_DEST_ID 0x00000004 + #endif /* !_HYPERV_REG_H_ */ diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 20f095a13574..cd5e4d474080 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -75,6 +75,7 @@ #include #include #include +#include #ifdef DDB #include @@ -2107,6 +2108,14 @@ detect_extended_dest_id(void) if (regs[0] & XEN_HVM_CPUID_EXT_DEST_ID) apic_ext_dest_id = 1; break; + case VM_GUEST_HV: + cpuid_count(CPUID_LEAF_HV_STACK_INTERFACE, 0, regs); + if (regs[0] != HYPERV_STACK_INTERFACE_EAX_SIG) + break; + cpuid_count(CPUID_LEAF_HV_STACK_PROPERTIES, 0, regs); + if (regs[0] & HYPERV_PROPERTIES_EXT_DEST_ID) + apic_ext_dest_id = 1; + break; case VM_GUEST_KVM: kvm_cpuid_get_features(regs); if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID) From nobody Sat Mar 28 07:51:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjV8C1Mtlz6W3gm for ; Sat, 28 Mar 2026 07:51:39 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Received: from mail.e4m.org (mail.e4m.org [IPv6:2a03:4000:66:f68::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 (4096 bits) client-digest SHA256) (Client CN "mail.e4m.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjV8B2Z18z45GC for ; Sat, 28 Mar 2026 07:51:38 +0000 (UTC) (envelope-from mail@fbsd2.e4m.org) Authentication-Results: mx1.freebsd.org; none ARC-Filter: OpenARC Filter v1.0 mail.e4m.org 62S7pPcl047951 ARC-Seal: i=1; d=e4m.org; s=s; a=rsa-sha256; cv=none; t=1774684286; b=VrtjzrfhhTo8vOHVt8fi2+oMpyndfuWpHBhpO8luDbRDyxOyMSd1KhCOJqoKSySjYf5d qy2W4Qetjc6vNZ39BeZHKtAXkfcuIg41XWcJ3B/wY9DkznGB//dPcj9pJY+2loi5t0Bia 5IGxbvCE5yAdswuWnECnzd5s1syrvo9aak4m73WUNrP+BQbiu2ZTjSW1gT5F/mnXPECKH wYj2icto6hvMlYOscvE76Zxwh4c6EleSAa4v4Srg4I4RQ2YtFfzWn4sPdHQBNg/sAzw7c wBc+p1/uzhEk4Z7kFmYqTiNi9UgOcueVm+Q6YscT5t1DO6hcTTVizx4bCy1vuFJnmqw== ARC-Message-Signature: i=1; d=e4m.org; s=s; a=rsa-sha256; c=relaxed/relaxed; t=1774684286; h=DKIM-Filter:DKIM-Signature:Received:Received:Received:Date:From:To: Cc:Subject:Message-ID:References:MIME-Version:Content-Type: Content-Disposition:Content-Transfer-Encoding:In-Reply-To; bh=Vcdlnm64R3TO/YQIrJlz6JAJ07W1lQN8/MmUc82dTVM=; b=hjwR4brihmVybEwVWADugAxK1Hyo3p/R39e2C4YsyhPhkDQ40/5w23xAUVqiVDXPd3Vd xNm4G62F/aaPfSIYbx2r2/NNisB7nVHSnSoEJSZb6tTjcIS7l4P3y9pRCp3vsoO7WHhR5 O1xQGNB05BCtJqkwBdmBT2iydq/DY48m3az9FHPRmW+NNp+bRDkN4rb0FcIDWtiR1/F/S QElxvwx39De9QGEklupx+hZ/A6PW2JQn5v5tWZoiYUI4woC3GmeH9Q0tLlx32K3pPfgsY Rdqwxj61XK0lXcSv+T+Q+V377pHjsboMEY6bwi+DKk39zZVht6I9Qm+BBhQwhTmyZ6w== ARC-Authentication-Results: i=1; mail.e4m.org; arc=none smtp.remote-ip="2a02:3100:9208:e782:ec4:7aff:fee6:add0" DKIM-Filter: OpenDKIM Filter v1.0 mail.e4m.org 62S7pPcl047951 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=e4m.org; s=s; t=1774684286; i=@e4m.org; bh=Vcdlnm64R3TO/YQIrJlz6JAJ07W1lQN8/MmUc82dTVM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:Date:From:To: Subject:Reply-to:Cc:In-reply-to:References; b=BOITnAw7l/qCmmfrzGbjhi4JAwrjHZXQHCZSpMbvLc+JfXc3duLNWNTjFR3glpziC slenSA5OAiPlCU6H692SrxXz6qZQdLd7aL8maJJrgRs/YY4a6CYc1V/Yp2O1LQZjMF 5jSLNjHMgRJicCB3LKurWtwg+NyPE0qMGKvbfnwm17Zr7AMsZa6+26IbfBX7oVbJkB nuVTyjFH0Uwk11KTrhDMAKTmY9cJBbU9h6pyyfq6XU11wc2UGXZp1qPCD6aUMmd7Us 1cw5a5IPe9nFMeoXwoUPT5SisStl4yd72iZ0UEWpzD348EQq03vHGNNxzmv4qJziMj 0nZOkl0Pdotjg== Received: from dynamic-2a02-3100-9208-e782-0ec4-7aff-fee6-add0.310.pool.telefonica.de (dynamic-2a02-3100-9208-e782-0ec4-7aff-fee6-add0.310.pool.telefonica.de [IPv6:2a02:3100:9208:e782:ec4:7aff:fee6:add0]) (authenticated bits=128) by mail.e4m.org (8.18.1/8.18.1) with ESMTPSA id 62S7pPcl047951 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=FAIL); Sat, 28 Mar 2026 08:51:26 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from stationary.client ([IPv6:fd00:0:0:0:0:0:0:3]) by gate.local (8.18.1/8.18.1) with ESMTPS id 62S7pJeH090230 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sat, 28 Mar 2026 08:51:20 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: from submit.client ([127.0.0.1]) by voyager.local (8.18.1/8.18.1) with ESMTP id 62S7pJbO005205; Sat, 28 Mar 2026 08:51:19 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Received: (from user@localhost) by voyager.local (8.18.1/8.18.1/Submit) id 62S7pJtI005204; Sat, 28 Mar 2026 08:51:19 +0100 (CET) (envelope-from mail@fbsd2.e4m.org) Date: Sat, 28 Mar 2026 08:51:19 +0100 From: Andre Albsmeier To: Warner Losh Cc: Andre Albsmeier , Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= , Enji Cooper , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: Removing stuff from NOTES because it is in GENEREIC Message-ID: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> <86ldfeyggv.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:197540, ipnet:2a03:4000::/32, country:DE] X-Rspamd-Queue-Id: 4fjV8B2Z18z45GC X-Spamd-Bar: ---- On Fri, 27-Mar-2026 at 22:33:46 -0600, Warner Losh wrote: > On Fri, Mar 27, 2026 at 2:54 AM Andre Albsmeier wrote: > > > On Thu, 26-Mar-2026 at 12:31:44 +0100, Dag-Erling Smørgrav wrote: > > > Andre Albsmeier writes: > > > > Is it correct to remove something from NOTES because it is in GENERIC? > > > > > > > > My impression was that NOTES contains ALL what can be configured into > > > > a kernel (whether it makes sense or not). Am I wrong here? > > > > > > You are correct. NOTES is intended to have all options that can be > > > enabled, plus non-default values for all parameters that can be tuned. > > > > OK, thanks to you and Warner for clarifying. > > > > When checking sys/amd64/conf/GENERIC on -HEAD, I found the following > > items which are not in sys/{.,x86,amd64}/conf/NOTES: > > > > device ocs_fc > > device tws > > device ufshci > > device aq > > device vge > > > > These are needed. I'll commit. > > > > option EXTERR_STRINGS > > option IPSEC_OFFLOAD > > option FIB_ALGO > > option PRINTF_BUFR_SIZE > > option KDTRACE_FRAME > > option DDB_CTF > > option RACCT_DEFAULT_TO_DISABLED > > option AH_AR5416_INTERRUPT_MITIGATION > > > > Should they be added? > > > > These are in GENERIC and not LINT, so we get things done both ways. Sorry, I don't understand entirely. Most options we find in GENERIC are also in one of the NOTES. So why shouldn't those above not be included as well? Or, in other words: Why, just as an example, do we have options IEEE80211_DEBUG options IEEE80211_SUPPORT_MESH options USB_DEBUG in NOTES when they are already in GENERIC? -Andre From nobody Sat Mar 28 08:44:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWK556jsz6W8FT; Sat, 28 Mar 2026 08:44:25 +0000 (UTC) (envelope-from bapt@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjWK54Y0Rz4B44; Sat, 28 Mar 2026 08:44:25 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774687465; h=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=SkBvk7JWcDZIkyx8ZwN15sm2mKdLf04bTW4aaq1gtIg=; b=SW1ZMIobY+ZVuXzJzbaoYEniwDgVXYR0QkBp6Mut/FUeysR0riUFMj6xdOY9gpRbEYDkje 9wTRVibiDw4R9x/iiVWuHjsHnh3mwIDer5mMTVSIH43B2oZaK7RJMoYI48CixZ/NLETp/P kzXcpJlk1FKLjiiLqQ7D7g/GNpiyi3Fdo5Pg1sXdIS6IXObKdGDA32aNPs6PQcYTWILfsN zMaNHSebqS3IoN4607/kXvYpnjCk2sMKLbtfgnqjlFIM95OfS398xiAh4LybKvSuAYq8nT F+hTsjHqSujaPPgysGk01vKcleI/vRfYpVy1xjG9+MpPTxhvg/jNRkdJPj9N+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774687465; a=rsa-sha256; cv=none; b=FsEpcXHfrIFHaCoA9IR1zdOf/z2A2VIyR96I2rgRUstXHeO5rWC5cVWfR5v6TZBLcZ5Vjg astMW36VjRYd8al0k5nYe4cQiS3IBmjFk/Q2tJJkFZdruQzkIx/c5o439tHv6WIl4C4Dc6 IIX1IRxM1CmOuOP/i8FNe5zyjughSpU56E5jtKBnFp6FxyHFDcBLipYE4Rm+0Zg6WNLlGN VSIhcu5hrIt9PaYl80gujQh3JWxc1t3M8vArMXdUi47tXHbGDTqJ/0+AQJpWOeIkIc434G Q74jZOFTgI4adnMsiLiVFsrPGKLofNGR3pcrz5DoO8e48ChAZNStHqZewkvWDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774687465; h=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=SkBvk7JWcDZIkyx8ZwN15sm2mKdLf04bTW4aaq1gtIg=; b=JpHl635qq6P1GUSrvMT+CrOmYhVmaMYYQDZ4e3cEO7psIHq1BGtpRKvvHAIZ1kLyooUnG+ dnKYOmHy/p/PEfP2fmqNtc2SxKRlSgWs5bXx31tFAcB2Obz7NQiIM3NolDum9Soxx4beUq VpQAJqhn/XEn+TuqqhcdUsXy9q5c7t+QQkny0ncNfs/LIQ6NBo29qIBFFb5bOca8LU/nek uHsJP5tmtMLtlugayIYschY6hwouVimv4KBOD/cjnsaJxt+ezPN0Y5hYzRM6KA2NPvwWtH cEHh4c+gR0WbxjlyA/1uJ2sc9/hG5iAKFJbaS4V9viGOnlzafJhTZ6Zo8jqOgw== Received: from b.nours.eu (b.nours.eu [IPv6:2001:41d0:303:5e39::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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fjWK53CvRz8D0; Sat, 28 Mar 2026 08:44:25 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by b.nours.eu (Postfix, from userid 1001) id 12774ED4EA; Sat, 28 Mar 2026 09:44:22 +0100 (CET) Date: Sat, 28 Mar 2026 09:44:22 +0100 From: Baptiste Daroussin To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 33424fd50ee0 - main - diff3: plug fd leak Message-ID: References: <69c4e316.1c06a.68bddc8@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Sat 28 Mar 02:40, Konstantin Belousov wrote: > On Thu, Mar 26, 2026 at 07:41:10AM +0000, Baptiste Daroussin wrote: > > The branch main has been updated by bapt: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=33424fd50ee0333bc6f70b5b14a270b85e5b5de1 > > > > commit 33424fd50ee0333bc6f70b5b14a270b85e5b5de1 > > Author: Baptiste Daroussin > > AuthorDate: 2026-03-26 07:40:29 +0000 > > Commit: Baptiste Daroussin > > CommitDate: 2026-03-26 07:40:29 +0000 > > > > diff3: plug fd leak > > > > MFC After: 1 week > > Reported by: kib > > --- > > usr.bin/diff3/diff3.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c > > index 75e8c6297855..8212b51e15a2 100644 > > --- a/usr.bin/diff3/diff3.c > > +++ b/usr.bin/diff3/diff3.c > > @@ -947,6 +947,7 @@ wait_and_check(int pd) > > if (errno != EINTR) > > err(2, "pdwait"); > > } > > + close(pd); > > > > if (WIFEXITED(status) && WEXITSTATUS(status) >= 2) > > errx(2, "diff exited abnormally"); > > Well, I pointed out something different. I think that pipes filedescriptors > leak to children. Oh I see you, then I guess this should cover it: https://reviews.freebsd.org/D56120 Best regards, Bapt From nobody Sat Mar 28 08:56:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWb913Swz6W8Y0 for ; Sat, 28 Mar 2026 08:56:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjWb866N9z4CjT for ; Sat, 28 Mar 2026 08:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=daKzLQZ7D57uaZylMd+YY0JzQF7tiFsyxPS4R0Fydq4=; b=VFo8KZjShngLO/lzwoI7dCjOEbgxp2roZ/7zy9UnYhXJXThQ0XuCvreuGKYQ34Rsfc+EYb EQJF7gh91Qo0/HWhZr1M8Ba/sAVNJYLzXxvvT8RTGd4z8LwpI04E7YsMSB54SYlb2poadH uqZJ5gpzlLXPcjc12L+h2be30pv49vB4eOTOUotqLyU/bi7WQbZZ9NoK3eDjR9h8RcmiOP L/TVx9RZ+pSQXGOr2juHCmFIzFmfMHWy1lM3WIBJxZjXUeeEI7uxwGljm6eoaMv15yvJbP NeluXRsK6rzd563gSatqW/dGrfu3HfZ9/eqsud4gHIcKe3dCVzGl5S5pzsiwSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774688196; a=rsa-sha256; cv=none; b=Jrf2aatGJFa18YmRbT0uEK2uq67wBFYU7vC5rk6aQ8e6odYapQT7nhoiqy6VHPDHegazzr Xpe7cOvIQs9mPmmnhuD+fsuMUnyV4lpmQSDab6mc724Q/wjKfrhIdL/2nSKDaY2DmpE+w8 RjAIJhNimQdrv3UW92x4Jp/IytiUU31AwO+yXYJEsbDFmy/pc2L81ux3rJnduPZFfbr5cU IICPQ+amAOpXGevGS4vvf8yx/XMu/K9pJcx3quZWpzdCuzl2zgCOGzLsEOH7N+qsTExX/r 3SgQL5LjDPzn/nNHeKn+LIUKlVWzsQxX416V1/MLoI7RC3M0A8/QJ2nhvTHOCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=daKzLQZ7D57uaZylMd+YY0JzQF7tiFsyxPS4R0Fydq4=; b=B9koGXiO0hSvvYu4z2WPSnilHmXxEiW18BykcXdz7O+bprh1xy0m4S9X7s30Ew6eZIZcdJ +CnfTAQVxN+V2La9P/Vhwe55YUcmtqISZAlHgZiLJo9Yj4eM473y4qfrFMf1FfdQ/qAc4+ EtRybEjrDrPMJQFU0YW4XhhWHbT/IPjw5bU2gmBV1nTOhp7QrVn+KqONLhAFRamEDQQF85 DjbQv0bbj0LTZQsEbLiz+Nahjr+g1Akv/8duGwOp5WcXLFYfDEmb37Y434BTO7LkOcJY43 HSuCDari0FXE5DxwEOCqgn6QEyEphKpY3wEKDWg79V1QjbgAq0eSnAaBKBbTHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjWb84bq3z3gj for ; Sat, 28 Mar 2026 08:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2382f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 08:56:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: c8d40bf8ecc6 - main - diff: use O_CLOEXEC on pipes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8d40bf8ecc60cc15e3904410db62065ea681fdc Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 08:56:36 +0000 Message-Id: <69c797c4.2382f.2a65e50d@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c8d40bf8ecc60cc15e3904410db62065ea681fdc commit c8d40bf8ecc60cc15e3904410db62065ea681fdc Author: Baptiste Daroussin AuthorDate: 2026-03-28 08:55:24 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-28 08:55:24 +0000 diff: use O_CLOEXEC on pipes This only simplifies the code, no functional changes expected MFC After: 1 week --- usr.bin/diff/pr.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/usr.bin/diff/pr.c b/usr.bin/diff/pr.c index 51cf2c765283..e8a4162d8b18 100644 --- a/usr.bin/diff/pr.c +++ b/usr.bin/diff/pr.c @@ -61,7 +61,7 @@ start_pr(char *file1, char *file2) xasprintf(&header, "%s %s %s", diffargs, file1, file2); signal(SIGPIPE, SIG_IGN); fflush(stdout); - if (pipe(pfd) == -1) + if (pipe2(pfd, O_CLOEXEC) == -1) err(2, "pipe"); if ((error = posix_spawnattr_init(&sa)) != 0) @@ -71,11 +71,8 @@ start_pr(char *file1, char *file2) posix_spawnattr_setprocdescp_np(&sa, &pr->procd, 0); - if (pfd[0] != STDIN_FILENO) { + if (pfd[0] != STDIN_FILENO) posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO); - posix_spawn_file_actions_addclose(&fa, pfd[0]); - } - posix_spawn_file_actions_addclose(&fa, pfd[1]); char *argv[] = { __DECONST(char *, _PATH_PR), __DECONST(char *, "-h"), header, NULL }; From nobody Sat Mar 28 08:56:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWbF0MJYz6W92k for ; Sat, 28 Mar 2026 08:56: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjWbD6Khlz4CWf for ; Sat, 28 Mar 2026 08:56:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1oydMq2MDoerE+K6tjnk5a3tagAo5Ido6qv7jMdE+xc=; b=Uy5SAGADD5qxJXSvU3CpMLyiBWCsDGn3Jped9lPVDTqdgpU1iBzApMgOb13wl0GHrcSwvl 5fWY/SLxIxgsp6VLgcaiBsfSd2Poa8pODDlX2J/hkKdhalUOLzpU9a1YWtIP4GKnHbIrec cBN6gnMIxAb8azw+NVPa/cH3j9tVO5benD3Y6D5tRI+fKJWbL5zTS84vrjM1ii1HIqbSro Pzx4+Ap6oaV2Si+XkO+gkRI6WZ4mGp/2tqWsjfO1vucqAOWj+o2GTTygNxYAqOSQXE6sE2 76MirNtDtecv2gAbMQPmuLoRbDYLFqsgl+omWi41LxGFyBvgVk+mThFutHzSKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774688200; a=rsa-sha256; cv=none; b=jwFJwsOuOVueaDnLOSCVwW7WwIgwhDCQ76cFiBGagJqcVkXI0TumvVFxyqBPPsxN+P1g1q qJufoaHxBHtH4WFx1h+4VLvtMksY3MJjEnYNajIWkpfE+ND3dx51W5gn2+TZUxe9iP0GRm 0ZQ0MJ1EDA5ygniDg8YownPtKoxWONbm4ifXxT942auwVoqAgn/BI8pF8EokUaHYTtBgQ5 qOEKhSXSlTkHMZuSaxVdnLPHkeuYsKlVdnxE2YG47wjy5OTHtnwN8pT8CmojTS1imdlVA/ VLuUNgZ7hZq9ZV5reSUkJghEqP6lWWlJ48NGjZcX6GxThkd9RnS3XTANu3awBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1oydMq2MDoerE+K6tjnk5a3tagAo5Ido6qv7jMdE+xc=; b=rO7ny3Amyk8aHIOkCWXN/jmLsJ2Iu4PyJikqlqErN3h67LfETQgruzZzCjvCBGLREAlt0m PBhqIEytjo85WVSUNFjnTWu/PUMigM4YqEpxMFoVh02ZyArE0pSckeqp4ooFJWUIfHN5m2 vkxdjJGjfxp7v/AdG7TkIiCB6K3MqqxPEPz11cXgtRbo4yAvc/Frvduvjd8a+ojv3H7b0E jLmgPxm7rnFBi5MAlj/xiFycNAH9dlzgiwNYJ/bQBFbh4w5aTTMJi8DFU4w3vgNv2s2CRf ofIOv5Q5nVg1wfudiQaJf8nMX+55SeUMRQU/4pDiIUSIvDriqcesgfznzXCdGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjWbD5qNHz3dT for ; Sat, 28 Mar 2026 08:56:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 228d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 08:56:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 945e60e018c2 - main - diff3: set O_CLOEXEC on pipes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 945e60e018c287f8097f3ee4a30ccf4921845aa1 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 08:56:35 +0000 Message-Id: <69c797c3.228d1.4b34fa8c@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=945e60e018c287f8097f3ee4a30ccf4921845aa1 commit 945e60e018c287f8097f3ee4a30ccf4921845aa1 Author: Baptiste Daroussin AuthorDate: 2026-03-28 08:41:47 +0000 Commit: Baptiste Daroussin CommitDate: 2026-03-28 08:51:48 +0000 diff3: set O_CLOEXEC on pipes This avoid leaking pipe fd in children and simplifies the code MFC After: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D56120 --- usr.bin/diff3/diff3.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c index 8212b51e15a2..bbef1f0d21a5 100644 --- a/usr.bin/diff3/diff3.c +++ b/usr.bin/diff3/diff3.c @@ -317,10 +317,7 @@ diffexec(char **diffargv, int fd[]) errc(2, error, "posix_spawn_file_actions_init"); posix_spawnattr_setprocdescp_np(&sa, &pd, 0); - - posix_spawn_file_actions_addclose(&fa, fd[0]); posix_spawn_file_actions_adddup2(&fa, fd[1], STDOUT_FILENO); - posix_spawn_file_actions_addclose(&fa, fd[1]); error = posix_spawn(&pid, diffargv[0], &fa, &sa, diffargv, environ); if (error != 0) @@ -1085,12 +1082,11 @@ main(int argc, char **argv) if (caph_rights_limit(fileno(fp[2]), &rights_ro) < 0) err(2, "unable to limit rights on: %s", file3); - if (pipe(fd13)) + if (pipe2(fd13, O_CLOEXEC)) err(2, "pipe"); - if (pipe(fd23)) + if (pipe2(fd23, O_CLOEXEC)) err(2, "pipe"); - diffargv[diffargc] = file1; diffargv[diffargc + 1] = file3; diffargv[diffargc + 2] = NULL; From nobody Sat Mar 28 09:09:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWtQ3n0Xz6WBRN for ; Sat, 28 Mar 2026 09:09: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjWtQ2r19z4Fdw for ; Sat, 28 Mar 2026 09:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57BDDgmqId9PiSvUBOchaRHdC7o3gyXitQ8K00J7SCY=; b=fBZMp6uwFC9IBonDAEfl9IzHO6cZ8Nh7qW0VNSNulxx7ieujjPOchHW/mMHgDTl5Yz07Ve aj5ecJNsA3o/ho0PYJMG3aNn7f/w4rNILEdqicxjKPofYFC/Yr34vgSC5RP6BLIbpQAq6T n1ScyIJQkJHs+CUv0IwtrgPyOckGai2UgsApsyeBK6h1hjHxOolpbY4cCCljhizqHNKKms o6kEVcYcT5nqXEft4Te9a304u47qN9wuFkUnxUs9gExazP2eBSoZ+qIj6kUtfeHVcNEWub Z/uBZLdK06azBKmBHAvi4U9bvFTYJ2WZgEoM8Z1yDSTZO0V9Bo75wxUE2ojobA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774688990; a=rsa-sha256; cv=none; b=d2GsL04RzDkkTW5wPaPBcojlVpFCC/WJvE6ptjpKZHpeSTOLCKf9bQzEY57Z+yjIcL/m1p yFYIHfvcyTSCpL2fDotKmDsCEmdIisWbYdvLTeOgOs2zueov0s6UI241saMan/hO4embh8 aeR24fymnJlx9RZNdbHBu4CgQFVsyd73RPlnUAvIAGebOm274vY8PKy50Fm6ww136DsceG 0Yo+n/1pK3HaGxI65RzvVhvjwrIwPOR4FnkfA/kc8H2uBkCE+6xx2vgbNJl8PV4JKRW66r QNMGEsEm88ISSNW0wp+cVWoG7+F//7iGd5PpPjWFRyw1i0YXBs/ELllwk+uzAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57BDDgmqId9PiSvUBOchaRHdC7o3gyXitQ8K00J7SCY=; b=CUtmrHb3WQ8U0hK8MK4L3tspg2LqzSEtEGmuD7AyVB6IVBaE1gSCdx2WBPQFTW1pKdhCBe AqqQLHGuKcP8PGCHm7zqvZYmi2UKHptRVuY7PbjoDidb7An+f2gYI3Oqqgse9N31DhVF2E c9p621XzY+mbUUU1URvH3YANOGry9y3a/FbxwrjkBxwoGVjdBpbJuOq9NUby8aWX9SDAVS 3ScSvGra6n/XCSjHlu/08ZZbtaaihkn71nQ5pLcoh7aQR/Hr4MBvpajfKMBKtkoIhftj9I JfVyK9G2SOiRQNcOjsD4U8nt+A9bZfzr+9NlEH3YFWxoyNtyZjmdTEVmMduYeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjWtQ2Ch2z45r for ; Sat, 28 Mar 2026 09:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2508e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 09:09:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 6cc99baea607 - main - dup(2): document the handling of filedescriptor flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 6cc99baea607255859ee958608e4db6e2ff24793 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 09:09:45 +0000 Message-Id: <69c79ad9.2508e.336a7876@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6cc99baea607255859ee958608e4db6e2ff24793 commit 6cc99baea607255859ee958608e4db6e2ff24793 Author: Konstantin Belousov AuthorDate: 2026-03-28 08:51:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-28 09:09:09 +0000 dup(2): document the handling of filedescriptor flags Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D56121 --- lib/libc/gen/dup3.3 | 2 ++ lib/libsys/dup.2 | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/dup3.3 b/lib/libc/gen/dup3.3 index 338a9ae74c64..ec89ef77cf17 100644 --- a/lib/libc/gen/dup3.3 +++ b/lib/libc/gen/dup3.3 @@ -52,6 +52,8 @@ The close-on-fork flag on the new file descriptor is determined by the bit in .Fa flags . .Pp +The resolve-beneath flag on the new file descriptor is preserved. +.Pp If .Fa oldd \*(Ne diff --git a/lib/libsys/dup.2 b/lib/libsys/dup.2 index 524fd7688670..9c1e3e8d648b 100644 --- a/lib/libsys/dup.2 +++ b/lib/libsys/dup.2 @@ -81,7 +81,10 @@ object reference to the file must be obtained by issuing an additional .Xr open 2 system call. -The close-on-exec flag on the new file descriptor is unset. +The close-on-exec and close-on-fork flags on the new file descriptor +are unset. +The resolve-beneath flag on the new file descriptor is set to the same +state as on the old file descriptor. .Pp In .Fn dup2 , From nobody Sat Mar 28 19:40:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjntL1BgSz6WXH9 for ; Sat, 28 Mar 2026 19:40: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjntL03GBz498r for ; Sat, 28 Mar 2026 19:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774726842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEjJpMTp1z1UGN8vBH0SYElg4VH2yi/VAA1nz6pHLw8=; b=J1pHaheplmd3I2kxmwdgppon8aSQ73mMfd8x9EmQIjLNWgcNHPscoUVtgOCmOJyE4gXhut CFSWYRynqpXuwcKj694KnKgpGNXCxchxfCRXCH4MIt0fMaPiGqEFJBqSW79WXk/PgotRG4 lkxI9XfyUkzMLai5t5yTw4vfE+ouUtMTqzZfeQ003pFUVng8UQ5dRUC4GSi2TbSOisS9wi 3co5NKvfm40lq5ARvt4rLo/Ga7v86I9nbugBmk228TNi+4HUYG9VY9TRzpOQr36cm1yDhS VU0HqkL61gq9zA4Zw0t4JLX5q7vEjP1/ze1l+ZfCdWdfMfkr6lpG/OnuH5vrNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774726842; a=rsa-sha256; cv=none; b=O1aOF3OmFvjKIztYGiw7R1QX547T23mtEa0yPQnoHhAGYFjEmLLfpMIZ1wga9s9AVLTkxO DNGB34tFgRXPGh8dN22Qz6FMFOv89TGVBPh2x3WP9ShKoejeMgreQs8ZpvXfhcV2oELAh7 HqczjssoW3Iri5KfTX2RoyknmFT989XqwqtWKvs71MK4DVGGTcG6Ks6BW2Xkw5koOLKOuC 1F9Mk+KIFtr58sACfaXSZPIRQzzQaht66zSWlTMRKd/2jWy1daNpVHEvY/5uwgIxbHGsQZ hLYh4bUho4wUDvbjU6J9K1HBK59qFlMNw8XFBqDPGEhqL/D2G4aruTmHpaBbMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774726842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEjJpMTp1z1UGN8vBH0SYElg4VH2yi/VAA1nz6pHLw8=; b=fh45BkAaAJHZX0n/cTi3VekDDPK5h5wXQbGI7Uh52XodUE/4/SWkrBS2ksWQdQW6lQamPM YbJMnd0UfRqtNoDs/UdurrWWmvHbwlW24zVaSyi0F4NIrIbDfzB7/CpbSS94vRXwHPNwFh Z5XrkCZimdoNiQ1IW7v/cSdt7SWh2ZhoRHkKJt/gvTmyNmuxbkr124Nzb2gfIhkzSnHJ/c 55KgMIzmzwmi8XkDchKbqm8X42FMTle0iXP0AA1+QZIielwOW/NPPsxyC+sRgnbeiUqXah JkkdHbqp0AZa6m6trhO8hHzcNbswNg6HM3eERSKLSv5MdHvZBu8AdrYrm6gbBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjntK6jlLzfsG for ; Sat, 28 Mar 2026 19:40:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20c88 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 28 Mar 2026 19:40:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: b65e7b4944cc - main - nfs_nfsdsocket.c: All Copy and Clone across file systems List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b65e7b4944cc2f594c9d9e6abc9b8618d3d62ff8 Auto-Submitted: auto-generated Date: Sat, 28 Mar 2026 19:40:36 +0000 Message-Id: <69c82eb4.20c88.6055a15d@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b65e7b4944cc2f594c9d9e6abc9b8618d3d62ff8 commit b65e7b4944cc2f594c9d9e6abc9b8618d3d62ff8 Author: Rick Macklem AuthorDate: 2026-03-28 19:39:10 +0000 Commit: Rick Macklem CommitDate: 2026-03-28 19:39:10 +0000 nfs_nfsdsocket.c: All Copy and Clone across file systems For some server file system types, such as ZFS, a Copy/Clone operation can be done across file systems of the same file system type. As such, this patch allows the Copy/Clone to be attempted when the file handles are for files on different file systems. This fixes a problem for exported ZFS file systems when a copy_files on file_range(2) between file systems in the same NFSv4 mount is attempted. PR: 294010 MFC after: 2 weeks --- sys/fs/nfsserver/nfs_nfsdsocket.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsserver/nfs_nfsdsocket.c b/sys/fs/nfsserver/nfs_nfsdsocket.c index 201f3b74b946..efa7906dffc7 100644 --- a/sys/fs/nfsserver/nfs_nfsdsocket.c +++ b/sys/fs/nfsserver/nfs_nfsdsocket.c @@ -1272,7 +1272,8 @@ tryagain: if (vp == NULL || savevp == NULL) { nd->nd_repstat = NFSERR_NOFILEHANDLE; break; - } else if (fsidcmp(&cur_fsid, &save_fsid) != 0) { + } else if (fsidcmp(&cur_fsid, &save_fsid) != 0 && + op != NFSV4OP_COPY && op != NFSV4OP_CLONE) { nd->nd_repstat = NFSERR_XDEV; break; } From nobody Sun Mar 29 02:54:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjzWY0h8Qz6XVxd for ; Sun, 29 Mar 2026 02:55: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fjzWR6vgvz3tC5 for ; Sun, 29 Mar 2026 02:54:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774752900; h=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=CnL8YK9W4uEkxhrFKUCdaqcto0jPr5ifntnz9nbTEG0=; b=aNv1jmNUCKWWX3Dt0IS4nc3xZkCJNACYQLasXAuILQRwGGjxquoNLnxcVvuq5hYbpDYy1P L7ZAPwI9uYYpvhNiYLyEF9ErEZJmFZBTGMoSd1MNMSzT0q8O01+xjkZIf7w93W7m4/ojaM jUMnqJ5uWh8giUl4tvLDzVwZStEEANHpOlDtXk+I3kPEEmwxzXLSIMPUpOiflYvymfL/4q xJj81XffAibS9Sonl5N3PpraAXqlFOnwxI64Ax00CjjPRklgWhjqoz1tDrzBbMrk3a6NVm Feqi1Y7sIrzgC23PpZqlWcEgQWMyJDQYOuCRsCnkFC0MQQZ8JTOMm/mw0qmxvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774752900; a=rsa-sha256; cv=none; b=akyCFfGu04TZr6iJc7HReDcJV+zwe6osnAzXaG9jUNkX4sQsp/FOyqYDZkktok5SS2p1RP Qw9GlkS8fgjfahcbt4XnIB8QhFrkNPF9B9DQQR2mlBI4kU7u+Qm4REu3YpV1vZ9R1WyXGj iHMjoGrB+5KhjoU8sCQwPIF3bEDN7Vs8RlKuILPN8E/6jfE5cELns4SMq3Hr/amS7047TU n1U/NaYInJZYfX0pgtTFtQ6FO2CxarZAoZlfJInG+miaBJyv5ykgf1Fj98BUR6J2UAS5Ng ZhuAJ1hL/YjHO4QTG/5QJNaokFz4kplVTiib9Kzxe46ZuRS0mDZwg47Bl8r56w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774752900; h=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=CnL8YK9W4uEkxhrFKUCdaqcto0jPr5ifntnz9nbTEG0=; b=BD4K67/V8jPI5XLkjCjqVDrtDU4f1iD+/p6wXXkxPo+wktsdp1Cq1uzYpLfxY/tn5lwDa3 ZT0HQ1CECrutAjW6hba2j1HxooAIz2fQvAcLkeIQbemJNha/8HzpGdAAcp2VwIgYFVIS8C 6X1xHugU0CSsmyeOovsewy3A50QLQJZUx7vVX6T0HhkUUbacA0IyRXNiC/0UDroKg2R5lA KO8j+klT1hUFAbYAAtaiC/ybOtsK5FlHd9y4x+BfYCi35K/wsK4INemxPwxEjUsRzNEKjx 4ir9kFyQagt5+Ogb/MtZ1WuZVYHBTj9JA33eglE/B2ims2eYwnrOWh/Hj+Jrwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjzWR68xJztbK for ; Sun, 29 Mar 2026 02:54:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25942 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 02:54:54 +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: e7de7feb7426 - main - usbdevs: Add USB device IDs for Nuand bladeRF SDR List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: e7de7feb74262bfdb04d285846bac2fc6229f734 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 02:54:54 +0000 Message-Id: <69c8947e.25942.628e951e@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=e7de7feb74262bfdb04d285846bac2fc6229f734 commit e7de7feb74262bfdb04d285846bac2fc6229f734 Author: Abdelkader Boudih AuthorDate: 2026-03-29 02:54:28 +0000 Commit: Adrian Chadd CommitDate: 2026-03-29 02:54:28 +0000 usbdevs: Add USB device IDs for Nuand bladeRF SDR Add vendor and product IDs for bladeRF family of USB software defined radios manufactured by Nuand LLC. Reviewed by: imp, adrian Differential Revision: https://reviews.freebsd.org/D54733 --- sys/dev/usb/usbdevs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index bb039f59ce19..b0934cd63a92 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -786,6 +786,7 @@ vendor PERASO 0x2932 Peraso Technologies, Inc. vendor PLANEX 0x2c02 Planex Communications vendor MERCUSYS 0x2c4e Mercusys, Inc. vendor QUECTEL 0x2c7c Quectel Wireless Solutions +vendor NUAND 0x2cf0 Nuand LLC vendor VIDZMEDIA 0x3275 VidzMedia Pte Ltd vendor LINKINSTRUMENTS 0x3195 Link Instruments Inc. vendor AEI 0x3334 AEI @@ -1695,6 +1696,7 @@ product CYBERTAN RT2870 0x1828 RT2870 /* Cypress Semiconductor products */ product CYPRESS MOUSE 0x0001 mouse product CYPRESS THERMO 0x0002 thermometer +product CYPRESS FX3 0x00f3 EZ-USB FX3 product CYPRESS WISPY1A 0x0bad MetaGeek Wi-Spy product CYPRESS KBDHUB 0x0101 Keyboard/Hub product CYPRESS FMRADIO 0x1002 FM Radio @@ -3556,6 +3558,11 @@ product NIKON E990 0x0102 Digital Camera E990 product NIKON LS40 0x4000 CoolScan LS40 ED product NIKON D300 0x041a Digital Camera D300 +/* Nuand LLC products */ +product NUAND BLADERF 0x5246 bladeRF Software Defined Radio +product NUAND BLADERF_BL 0x5247 bladeRF Bootloader +product NUAND BLADERF2 0x5250 bladeRF 2.0 Software Defined Radio + /* NovaTech Products */ product NOVATECH NV902 0x9020 NovaTech NV-902W product NOVATECH RT2573 0x9021 RT2573 From nobody Sun Mar 29 03:44:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fk0c95PHfz6XZkL for ; Sun, 29 Mar 2026 03:44: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fk0c94P8zz3ypV for ; Sun, 29 Mar 2026 03:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774755849; h=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=TRzH7m5hrP8oosJYEwzpJdH7mNhJQLaZfW/JnQbxAF8=; b=AF4JHSAirC8WqI9ssLoKVgmtU7EdOBYqQ1Zw7Tm0ZdOK+O96Ud0U48eiRFSrhwPFgKKZJ0 xfnrtwlTJy3lqjw6aGvh5Hcde+3qovr5J5qnTDZzp6I6DAHMcIprEQ7haqsA2eu6Jq8sJY 0Bj2CzX9s+ms5W2qqWcVSpKMic+gBUw8+WSyLI3ykMzl0rrWckBTwoZGWoidMNGSwor0wD mL6+cGmu/3vSnbAPNRTtj9uloZ2KO2GmTCwMEzYWB6C5wZvAJDmjlKN5cssu/VlAV2mfEU 1eGllvR4ETb/cxD0KA8mbzu5cx4jbFzL1+hg16Os+hRMatPMrRCjv/dWuLDedQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774755849; a=rsa-sha256; cv=none; b=ZAZtiDHzBS4+YEQ/h+9zoxgvZsCelwLn1U/LtcML0i6uQUp6DA7JhPOI48G22SJqmBbw22 Qy7F89stSkA1iXYa27O8xiLx9hwgP3OYFhuR33uTHT2BoVXXa4abYmVhZYPOSk0lgziawM YyysnMRRyJ98ABu84PpRzgD11ZwRtWhIzIFJf/LXBfihPn9nmVo35K8uCkzsa1RZuSfsAN YBb3U1qUQVCoUA4bR4DRbWC6Couio/EVM/VwMxBSDUetbugCaiHI5JhTndz8tjUGPnA50m Xc4vDQrIXuDyinhKWltCI/PyJ0QDobzqUY+j5ken14ChUFq4n3HIQZuEKZ6h2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774755849; h=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=TRzH7m5hrP8oosJYEwzpJdH7mNhJQLaZfW/JnQbxAF8=; b=kYS/Pu+S7npishlgwn1J0wCZ8bDX55Q5DaoR9AcrcsxVv/iBc1ua56uUhA+SUyVGlkXMkN ppqgxYSrezQnSWyzkExLd3cOnGOHyZoqfiQh9Lv/g/S1KWpeEeNR1fHEUbMYt2o35WY6Ub eN2GMpsJIqo004Qb5Zlm+u6n7x0s+Hz3sumtgWC4CFQy1sHCnQePx5tE4/YCZrtlQ2M36G OEPatacukYrniNFAq8oDwA8gougaTOySJq7ZZXurWIOyn7Y0EXFDcl+uyobX6wlk0F1YF6 72LubPlX5NLgDjzaej4ZIPoxUymDLRafCxVK4qOttAiZtGVQ2Rqk/2VG7Pjqqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fk0c940DpzvmQ for ; Sun, 29 Mar 2026 03:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33202 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 03:44:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: tzyt From: Enji Cooper Subject: git: 690427066047 - main - syslogd: Fix ereregex property filters and add test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 69042706604752f42072f422671a72c49343ac45 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 03:44:04 +0000 Message-Id: <69c8a004.33202.a9e2b9c@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=69042706604752f42072f422671a72c49343ac45 commit 69042706604752f42072f422671a72c49343ac45 Author: tzyt AuthorDate: 2026-03-22 08:40:57 +0000 Commit: Enji Cooper CommitDate: 2026-03-29 03:43:42 +0000 syslogd: Fix ereregex property filters and add test This change fixes Bug 293879, where ereregex filters in syslogd did not handle alternation correctly. The issue appears to come from mixing up two different kinds of flags: syslogd's internal serialized filter flags in usr.sbin/syslogd/syslogd.h, and the regex compilation flags from include/regex.h. ereregex was storing REG_EXTENDED in cmp_flags, even though cmp_flags is meant to carry syslogd's own FILT_FLAG_* values for configuration serialization and reconstruction. REG_EXTENDED has the same bit value as FILT_FLAG_EXCLUDE, so the filter could be reconstructed with the wrong semantics. The fix stores FILT_FLAG_EXTENDED instead, allowing syslogd to correctly REG_EXTENDED when compiling the regex. A test was also added for both ereregex and !ereregex filters. PR: 293879 Signed-off-by: tzyt Fixes: 2567168dc4986 MFC after: 1 week Reviewed-by: markj, ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2088 --- usr.sbin/syslogd/syslogd.c | 2 +- usr.sbin/syslogd/tests/syslogd_test.sh | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index dcc74b1a93c1..59cb56fd5970 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -2820,7 +2820,7 @@ prop_filter_compile(const char *cfilter) pfilter.cmp_type = FILT_CMP_REGEX; else if (strcasecmp(argv[1], "ereregex") == 0) { pfilter.cmp_type = FILT_CMP_REGEX; - pfilter.cmp_flags |= REG_EXTENDED; + pfilter.cmp_flags |= FILT_FLAG_EXTENDED; } else { dprintf("unknown cmp function"); goto error; diff --git a/usr.sbin/syslogd/tests/syslogd_test.sh b/usr.sbin/syslogd/tests/syslogd_test.sh index 1f235c476c49..253a26258959 100644 --- a/usr.sbin/syslogd/tests/syslogd_test.sh +++ b/usr.sbin/syslogd/tests/syslogd_test.sh @@ -238,6 +238,28 @@ prop_filter_body() syslogd_check_log_nomatch "prop1: FreeBSD" syslogd_check_log_nomatch "prop2: freebsd" syslogd_check_log "prop3: Solaris" + + printf ":msg,ereregex,\"substring1|substring2\"\nuser.debug\t${SYSLOGD_LOGFILE}\n" \ + > "${SYSLOGD_CONFIG}" + syslogd_reload + + syslogd_log -p user.debug -t "prop1" -h "${SYSLOGD_LOCAL_SOCKET}" "substring1" + syslogd_check_log "prop1: substring1" + syslogd_log -p user.debug -t "prop2" -h "${SYSLOGD_LOCAL_SOCKET}" "substring2" + syslogd_check_log "prop2: substring2" + syslogd_log -p user.debug -t "prop3" -h "${SYSLOGD_LOCAL_SOCKET}" "substring3" + syslogd_check_log_nomatch "prop3: substring3" + + printf ":msg,!ereregex,\"substring1|substring2\"\nuser.debug\t${SYSLOGD_LOGFILE}\n" \ + > "${SYSLOGD_CONFIG}" + syslogd_reload + + syslogd_log -p user.debug -t "prop1" -h "${SYSLOGD_LOCAL_SOCKET}" "substring1" + syslogd_check_log_nomatch "prop1: substring1" + syslogd_log -p user.debug -t "prop2" -h "${SYSLOGD_LOCAL_SOCKET}" "substring2" + syslogd_check_log_nomatch "prop2: substring2" + syslogd_log -p user.debug -t "prop3" -h "${SYSLOGD_LOCAL_SOCKET}" "substring3" + syslogd_check_log "prop3: substring3" } prop_filter_cleanup() { From nobody Sun Mar 29 09:04:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fk7jn1mRcz6WPSy for ; Sun, 29 Mar 2026 09: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fk7jn10ysz3Vxr for ; Sun, 29 Mar 2026 09: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=1774775069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z6tCNM5wAd7GAZJGM4uunsoPxDfxakBRGAspgDP4vCs=; b=PafI4CbgwjQB9+ozDENuoSvmRxsnT/H6oOly4bxZ5r8gdc8SVOUQUDH2W7gJrveS/P9lwK EwvMBhuNXsGZRIHkkDlo86CA6kZvLpwRuZoi6Lw6oW9N56jUSUmUIL4mGeEt0nGZEvwMAS rYe6nu5+A4vt9yHPgfectO68kxSz767PD7R05wflwaya56WYAjtVwploZUpIvuClfweYCP mclztfkP7SfbwXwva+dbm5oh0kCtFhu9gzfIg81RO5Kndz0mkmyZJBimhcyjzXguzFjIGG X90AyhTafsnbsr+Q6pmqTh8fnSJDExMRBEoUP9+2QMpaikdWaw9uLiFwxkBSGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774775069; a=rsa-sha256; cv=none; b=X+T78v0rXq2zWbMmYxlFK/8vj/K7h2WUMmTACZ1YgrmqZkFKm7j5/Y3Ujvnkpwz2++aIbX KMTZSEAh4cjhamHx5Onn3HNPeh3Q7ZuT4SCGNH2FR8DSwdZ0X+JtH6XqLTtbgXCrY9/hG9 OTMwtGe8sUQ0hfa/q8h2Jy+NHT/XDj7yMUPtBM8ltMKaT6aPtl8Pa/1UYDC8geXoUW7aKU iScnsj0m5ngwtPlIRF7JZd2kQvLIV7N3Jk2Ns3FqKZEfzxHmMTNTouhWR/qYpEQNoKv4B4 bjNWF5EQitkjvwpFOrVMSgrVyIE0Z9552wWQ2y8LP9vk0RXXNDzdpP5SrPAoFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774775069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z6tCNM5wAd7GAZJGM4uunsoPxDfxakBRGAspgDP4vCs=; b=dgayDK9xYbc+76/I3IHup/L4cBQTaXN2d26P4kn2uBOZNqMevdU6IO/I25ZAZEwm5fEcw3 9OrRK6rq4RwanJUmeKRm8nBaTEcGI77Z6RQbNfQxjCQ8ASCC9mHTZuzT/I3x+omrg6rCqy O+wjOU+hswmK/dUxmkLBNKxltzJ8xfku6PRhiumL2+YvQBKJWDmb+0Bzl43nr+Ci7npJkx /RyeQRvIf83Nz3H8iwlOCxQIUxuie4oADheuNeJSlJMiY/os+Dr6KpIsMyCOzdHKuDbfKQ A83kCyDDafJJmVyGulX+iT/Gqw4MDT2tzhUBug7AptxCTghrxX/xQs0BmAxp7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fk7jn0XvMz14Zx for ; Sun, 29 Mar 2026 09:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 246d6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 09:04:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7d1285e904aa - main - amd64 sendsig(): explicitly copy registers from trapframe to ucontext List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7d1285e904aa76ac821ac2a6a8eb61be598f0e88 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 09:04:29 +0000 Message-Id: <69c8eb1d.246d6.1acc35e9@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7d1285e904aa76ac821ac2a6a8eb61be598f0e88 commit 7d1285e904aa76ac821ac2a6a8eb61be598f0e88 Author: Konstantin Belousov AuthorDate: 2026-03-29 08:06:29 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-29 09:02:38 +0000 amd64 sendsig(): explicitly copy registers from trapframe to ucontext With the IDT event delivery, previously reserved fields in tf_cs and tf_ss are guaranteed to be zero. With FRED, these fields are not zero, which affects the values copied to userspace. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56141 --- sys/amd64/amd64/exec_machdep.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/sys/amd64/amd64/exec_machdep.c b/sys/amd64/amd64/exec_machdep.c index 7d567c561c52..f81fc5f94406 100644 --- a/sys/amd64/amd64/exec_machdep.c +++ b/sys/amd64/amd64/exec_machdep.c @@ -143,7 +143,34 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) ? ((oonstack) ? SS_ONSTACK : 0) : SS_DISABLE; sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0; - bcopy(regs, &sf.sf_uc.uc_mcontext.mc_rdi, sizeof(*regs)); + sf.sf_uc.uc_mcontext.mc_rdi = regs->tf_rdi; + sf.sf_uc.uc_mcontext.mc_rsi = regs->tf_rsi; + sf.sf_uc.uc_mcontext.mc_rdx = regs->tf_rdx; + sf.sf_uc.uc_mcontext.mc_rcx = regs->tf_rcx; + sf.sf_uc.uc_mcontext.mc_r8 = regs->tf_r8; + sf.sf_uc.uc_mcontext.mc_r9 = regs->tf_r9; + sf.sf_uc.uc_mcontext.mc_rax = regs->tf_rax; + sf.sf_uc.uc_mcontext.mc_rbx = regs->tf_rbx; + sf.sf_uc.uc_mcontext.mc_rbp = regs->tf_rbp; + sf.sf_uc.uc_mcontext.mc_r10 = regs->tf_r10; + sf.sf_uc.uc_mcontext.mc_r11 = regs->tf_r11; + sf.sf_uc.uc_mcontext.mc_r12 = regs->tf_r12; + sf.sf_uc.uc_mcontext.mc_r13 = regs->tf_r13; + sf.sf_uc.uc_mcontext.mc_r14 = regs->tf_r14; + sf.sf_uc.uc_mcontext.mc_r15 = regs->tf_r15; + sf.sf_uc.uc_mcontext.mc_trapno = regs->tf_trapno; + sf.sf_uc.uc_mcontext.mc_fs = regs->tf_fs; + sf.sf_uc.uc_mcontext.mc_gs = regs->tf_gs; + sf.sf_uc.uc_mcontext.mc_addr = regs->tf_addr; + sf.sf_uc.uc_mcontext.mc_flags = regs->tf_flags; + sf.sf_uc.uc_mcontext.mc_es = regs->tf_es; + sf.sf_uc.uc_mcontext.mc_ds = regs->tf_ds; + sf.sf_uc.uc_mcontext.mc_err = regs->tf_err; + sf.sf_uc.uc_mcontext.mc_rip = regs->tf_rip; + sf.sf_uc.uc_mcontext.mc_cs = regs->tf_cs; + sf.sf_uc.uc_mcontext.mc_rflags = regs->tf_rflags; + sf.sf_uc.uc_mcontext.mc_rsp = regs->tf_rsp; + sf.sf_uc.uc_mcontext.mc_ss = regs->tf_ss; sf.sf_uc.uc_mcontext.mc_len = sizeof(sf.sf_uc.uc_mcontext); /* magic */ get_fpcontext(td, &sf.sf_uc.uc_mcontext, &xfpusave, &xfpusave_len); update_pcb_bases(pcb); From nobody Sun Mar 29 13:17:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKx50BDz6X4Ml for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFKx3DRJz3wL0 for ; Sun, 29 Mar 2026 13:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790261; h=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=+MN7M7XO0jW8oqZnRktWa5d8Em/Re8xkJufOmG/jMVI=; b=cVXeFwyqI7rtSuXaSBL8cyvsD8AFS9ncGFLm9SC78aVGXVK4tKqApnXxY8M3EFoXvFky4+ S0Nr2I4786HhbnYP21jECfCyOd0sblobWwB1iBJuNNphVVvzcfS2qdWddHG16cihnnEfFi ANVCgyED4qehViZe+cGZl/PnKhoWR90VP/pbOvvXb0OA97OOyFCVW9ruNTxJ3P0NPvGW9u gPfV5BVCdmeNqtfNrdaORAsKIE/L3Vp5z99x4WKmcNnWxtBIG0PQQqJUcmvyZJ3sZTZfUC eTvGB5/KBY9n9RJO/jCWxZUn/292ucUZ2gnUEH168PL38lOKA1Lx8ixa+B48YA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790261; a=rsa-sha256; cv=none; b=CYs5gPzUccKVV11on/2tLrRU/J4AscP0DXYSGNA2ks6+R9YMKwctRU+9acw0cAtb4OiAo1 OtVRvb8qiLhXaT09VHXBvUUooZ8pPb8kUP7CooEvfSpiTx0mGjdZ+a4TYwZkw4WEanc04d lsXoHL+Y1aRPGXOVrorN78AacPxQsTQSDinHEcPloUyUI+7QEl0bSLZoKVzMHWoZrd6RuP YdR+Zl4M9TJEfwZlWIe0XOsjUhe6T8sIpW9PC9cbKwg1mt9oiAgvRCTMkbiAwaYROM/Jt/ tJ3RMTJiRsqjyUfrcqXr7WbQBrz4Oomy11HKChyHNiJvgIo0xdoygk9gNn4mUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790261; h=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=+MN7M7XO0jW8oqZnRktWa5d8Em/Re8xkJufOmG/jMVI=; b=Fgc3UFToIv7GdTjDrZMkwg9FOPFjnfouyZQyLeb/0EFKK2l4flAqLrasLVIfcX/cUoX3qM BQibMMnITRUfFUnul2VqXP9dx2pICSKVVB1mxYO1C5monCwhKrgKw03CVjkNxKsbrXnNH2 /FBDYdia8URC3sLaJDkVs8684LpnRmTkbfgpt3Zj77e/ZTJ1ai7aDiDmZkfuaphEh+UGC1 2wha10kt7Vmefj2rBqfvklcM89oh7oI7AgjIlBKDT5mb2bBEwMwwr9WGe9CM8d4CdU03NY 3d6FnLVWyAjsaUFb+A1Y9lK2CdgV/vpc8OzQ8rtSmPotjGpU0dxWA45pfydYFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKx1z9tz1BwY for ; Sun, 29 Mar 2026 13:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2029a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: tslight From: Vladimir Kondratyev Subject: git: f54caa04edd9 - main - hkbd(4): fix handling of apple function keys in hid and evdev List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f54caa04edd99e341fbb0636d2c621b4a2eb36bf Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:41 +0000 Message-Id: <69c92675.2029a.67a52aa9@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=f54caa04edd99e341fbb0636d2c621b4a2eb36bf commit f54caa04edd99e341fbb0636d2c621b4a2eb36bf Author: tslight AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 hkbd(4): fix handling of apple function keys in hid and evdev Signed-off-by: tslight Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 --- sys/dev/evdev/evdev_utils.c | 11 ++++-- sys/dev/hid/hid.h | 2 ++ sys/dev/hid/hkbd.c | 88 ++++++++++++++++++++++++++++++++++++--------- 3 files changed, 82 insertions(+), 19 deletions(-) diff --git a/sys/dev/evdev/evdev_utils.c b/sys/dev/evdev/evdev_utils.c index a075a9be9bb7..d7b7b790dc2c 100644 --- a/sys/dev/evdev/evdev_utils.c +++ b/sys/dev/evdev/evdev_utils.c @@ -92,8 +92,8 @@ static uint16_t evdev_usb_scancodes[256] = { NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, /* 0xc0 - 0xdf */ - NONE, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, + KEY_BRIGHTNESSDOWN, KEY_BRIGHTNESSUP, KEY_SCALE, KEY_DASHBOARD, + KEY_KBDILLUMDOWN, KEY_KBDILLUMUP, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, @@ -108,7 +108,12 @@ static uint16_t evdev_usb_scancodes[256] = { KEY_WWW, KEY_BACK, KEY_FORWARD, KEY_STOP, KEY_FIND, KEY_SCROLLUP, KEY_SCROLLDOWN, KEY_EDIT, KEY_SLEEP, KEY_COFFEE, KEY_REFRESH, KEY_CALC, - NONE, NONE, NONE, NONE, + /* + * last item maps to APPLE_FN_KEY in hkbd.c. using KEY_WAKEUP instead + * of KEY_FN as evdev translates the latter to too high of a code for + * xkb to parse. + */ + NONE, NONE, NONE, KEY_WAKEUP, }; diff --git a/sys/dev/hid/hid.h b/sys/dev/hid/hid.h index e56f8ffe772b..02709d549a56 100644 --- a/sys/dev/hid/hid.h +++ b/sys/dev/hid/hid.h @@ -57,8 +57,10 @@ #define HUP_SCALE 0x008c #define HUP_CAMERA_CONTROL 0x0090 #define HUP_ARCADE 0x0091 +#define HUP_APPLE 0x00ff #define HUP_FIDO 0xf1d0 #define HUP_MICROSOFT 0xff00 +#define HUP_HP 0xff01 /* Usages, generic desktop */ #define HUG_POINTER 0x0001 diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c index 6255c42d3b62..78e2e4bfc199 100644 --- a/sys/dev/hid/hkbd.c +++ b/sys/dev/hid/hkbd.c @@ -97,6 +97,7 @@ static int hkbd_debug = 0; #endif static int hkbd_no_leds = 0; +static int hkbd_apple_fn_mode = 0; static SYSCTL_NODE(_hw_hid, OID_AUTO, hkbd, CTLFLAG_RW, 0, "USB keyboard"); #ifdef HID_DEBUG @@ -105,6 +106,8 @@ SYSCTL_INT(_hw_hid_hkbd, OID_AUTO, debug, CTLFLAG_RWTUN, #endif SYSCTL_INT(_hw_hid_hkbd, OID_AUTO, no_leds, CTLFLAG_RWTUN, &hkbd_no_leds, 0, "Disables setting of keyboard leds"); +SYSCTL_INT(_hw_hid_hkbd, OID_AUTO, apple_fn_mode, CTLFLAG_RWTUN, + &hkbd_apple_fn_mode, 0, "0 = Fn + F1..12 -> media, 1 = F1..F12 -> media"); #define INPUT_EPOCH global_epoch_preempt @@ -126,6 +129,9 @@ SYSCTL_INT(_hw_hid_hkbd, OID_AUTO, no_leds, CTLFLAG_RWTUN, #define MOD_MIN 0xe0 #define MOD_MAX 0xe7 +/* shows up as whatever is set to the last item in evdev_usb_scancodes[] */ +#define APPLE_FN_KEY 0xff + struct hkbd_softc { device_t sc_dev; @@ -291,7 +297,7 @@ static const uint8_t hkbd_trtab[256] = { 29, 42, 56, 105, 90, 54, 93, 106, /* E0 - E7 */ NN, NN, NN, NN, NN, NN, NN, NN, /* E8 - EF */ NN, NN, NN, NN, NN, NN, NN, NN, /* F0 - F7 */ - NN, NN, NN, NN, NN, NN, NN, NN, /* F8 - FF */ + NN, NN, NN, NN, NN, NN, NN, 255, /* F8 - FF (last item is APPLE_FN_KEY) */ }; static const uint8_t hkbd_boot_desc[] = { HID_KBD_BOOTPROTO_DESCR() }; @@ -516,13 +522,14 @@ hkbd_interrupt(struct hkbd_softc *sc) continue; hkbd_put_key(sc, key | KEY_PRESS); - sc->sc_co_basetime = sbinuptime(); - sc->sc_delay = sc->sc_kbd.kb_delay1; - hkbd_start_timer(sc); - - /* set repeat time for last key */ - sc->sc_repeat_time = now + sc->sc_kbd.kb_delay1; - sc->sc_repeat_key = key; + if (key != APPLE_FN_KEY) { + sc->sc_co_basetime = sbinuptime(); + sc->sc_delay = sc->sc_kbd.kb_delay1; + hkbd_start_timer(sc); + /* set repeat time for last key */ + sc->sc_repeat_time = now + sc->sc_kbd.kb_delay1; + sc->sc_repeat_key = key; + } } /* synchronize old data with new data */ @@ -623,6 +630,27 @@ hkbd_apple_fn(uint32_t keycode) } } +/* separate so the sysctl doesn't butcher non-fn keys */ +static uint32_t +hkbd_apple_fn_media(uint32_t keycode) +{ + switch (keycode) { + case 0x3a: return 0xc0; /* F1 -> BRIGHTNESS DOWN */ + case 0x3b: return 0xc1; /* F2 -> BRIGHTNESS UP */ + case 0x3c: return 0xc2; /* F3 -> SCALE (MISSION CTRL)*/ + case 0x3d: return 0xc3; /* F4 -> DASHBOARD (LAUNCHPAD) */ + case 0x3e: return 0xc4; /* F5 -> KBD BACKLIGHT DOWN */ + case 0x3f: return 0xc5; /* F6 -> KBD BACKLIGHT UP */ + case 0x40: return 0xea; /* F7 -> MEDIA PREV */ + case 0x41: return 0xe8; /* F8 -> PLAY/PAUSE */ + case 0x42: return 0xeb; /* F9 -> MEDIA NEXT */ + case 0x43: return 0xef; /* F10 -> MUTE */ + case 0x44: return 0xee; /* F11 -> VOLUME DOWN */ + case 0x45: return 0xed; /* F12 -> VOLUME UP */ + default: return keycode; + } +} + static uint32_t hkbd_apple_swap(uint32_t keycode) { @@ -683,10 +711,19 @@ hkbd_intr_callback(void *context, void *data, hid_size_t len) } if ((sc->sc_flags & HKBD_FLAG_APPLE_FN) && (id == sc->sc_id_apple_fn)) { - if (hid_get_data(buf, len, &sc->sc_loc_apple_fn)) + if (hid_get_data(buf, len, &sc->sc_loc_apple_fn)) { + /* don't hide the function key from userland */ + bit_set(sc->sc_ndata, APPLE_FN_KEY); modifiers |= MOD_FN; + } else { + bit_clear(sc->sc_ndata, APPLE_FN_KEY); + } } + int apply_apple_fn_media = (modifiers & MOD_FN) ? 1 : 0; + if (hkbd_apple_fn_mode) /* toggle from sysctl value */ + apply_apple_fn_media = !apply_apple_fn_media; + bit_foreach(sc->sc_loc_key_valid, HKBD_NKEYCODE, i) { if (id != sc->sc_id_loc_key[i]) { continue; /* invalid HID ID */ @@ -710,6 +747,8 @@ hkbd_intr_callback(void *context, void *data, hid_size_t len) } if (modifiers & MOD_FN) key = hkbd_apple_fn(key); + if (apply_apple_fn_media) + key = hkbd_apple_fn_media(key); if (sc->sc_flags & HKBD_FLAG_APPLE_SWAP) key = hkbd_apple_swap(key); if (key == KEY_NONE || key >= HKBD_NKEYCODE) @@ -723,6 +762,8 @@ hkbd_intr_callback(void *context, void *data, hid_size_t len) if (modifiers & MOD_FN) key = hkbd_apple_fn(key); + if (apply_apple_fn_media) + key = hkbd_apple_fn_media(key); if (sc->sc_flags & HKBD_FLAG_APPLE_SWAP) key = hkbd_apple_swap(key); if (key == KEY_NONE || key == KEY_ERROR || key >= HKBD_NKEYCODE) @@ -793,13 +834,28 @@ hkbd_parse_hid(struct hkbd_softc *sc, const uint8_t *ptr, uint32_t len, HKBD_FLAG_APPLE_SWAP; DPRINTFN(1, "Found Apple eject-key\n"); } - if (hidbus_locate(ptr, len, - HID_USAGE2(0xFFFF, 0x0003), - hid_input, tlc_index, 0, &sc->sc_loc_apple_fn, &flags, - &sc->sc_id_apple_fn, NULL)) { - if (flags & HIO_VARIABLE) - sc->sc_flags |= HKBD_FLAG_APPLE_FN; - DPRINTFN(1, "Found Apple FN-key\n"); + /* + * check the same vendor pages that linux does to find the one apple + * uses for the function key. + */ + static const uint16_t apple_pages[] = { + HUP_APPLE, /* HID_UP_CUSTOM in linux */ + HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ + HUP_HP, /* HID_UP_HPVENDOR2 in linux */ + 0xFFFF /* Original FreeBSD check (Remove?) */ + }; + for (int i = 0; i < (int)nitems(apple_pages); i++) { + if (hidbus_locate(ptr, len, + HID_USAGE2(apple_pages[i], 0x0003), + hid_input, tlc_index, 0, + &sc->sc_loc_apple_fn, &flags, + &sc->sc_id_apple_fn, NULL)) { + if (flags & HIO_VARIABLE) + sc->sc_flags |= HKBD_FLAG_APPLE_FN; + DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", + apple_pages[i]); + break; + } } /* figure out event buffer */ From nobody Sun Mar 29 13:17:42 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKy6NQxz6X4F9 for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFKy2szjz3wSX for ; Sun, 29 Mar 2026 13:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790262; h=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=Hiv5HBz2dFzXC1VFcYBo/EPvPQTonJjukoPROfEXryU=; b=iw0qexkiUr6G6RQnFkOn3aE14srGREmHNT1BEF79UI5jyrUZI8U/tcEEFS42FUkoMfSK7Y cKbGwBI1yZwkNZux6Wvix3HtEPQ2fHQwZRrPMgNMeseSFIi3yeXX/tLdTOYhk3eziL4qFZ mcuSqJGXfIw4fpheuRRSeEXW7ZhfN7E2fzV2yxtvxEc8FHXZesvnJVFGYzE+JLR+OfR27S wuTIIi7vqIfNmfqTlH3H4mwTYGdHLU5CffkngYH3TroL/AlK6sKa0Jm3xdCjutZeELKlYH Cy6IWRQq/qgEg8CvXvQHr5jxgpEMtW4UDVJwsSQ1EO3i2BsICpvJCJTGcUPVKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790262; a=rsa-sha256; cv=none; b=HWyZUJ+PIA8EKAxqrVn++WrsF5MwK5bWm3AMnuO9CPzlOYbiz/8Kp2Jrz5Vz3zGMyNL1qs zhZMAF5dec7MgPS/cRIR55qdYd5O7Mw1dHW0bS1tSJFnf4Yxvb2xDGHSL/cuc6/J8f6Qez o+jaCbcRVXZKsqwwrW28GYolJwJYVFh/U1gJF80Hy4ENhgP2tOh17mp9sdJ9fvqT2VfY4a UErDTPpMvbRquda014d3Kcnji1oC4GpiUhmjq67Ry0vz1n8ZGlQASzV+JAf+AtHdR1PJrR ACCTgcWGmkDHmIruJ/FeWDP8yLp431/fAH5hbHv3VmkfzFCoO8v/iJ5n/4OFtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790262; h=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=Hiv5HBz2dFzXC1VFcYBo/EPvPQTonJjukoPROfEXryU=; b=ULwtvCb2zwbCq7J+p69WQEDGYALeMuufmkpi/b+qcUFy45mcuquIcjxyQdWY9SaroimazF TM6/0fk4R564i704CNkBaQxpIAlBP32TxujdKkE9fScX9WCeEX9PIt8swZc74daASOZ7MD 8Bkp3wwV5f5KOlBza7LGSJtixKBjdiOKhD/njyVBzh4WOBYjov4HJmTnzs/RioB/FGdQ+W JidAwqxOeQc7XX4ER7wdj4bcwBm+Dq4F973Jeqi9OkijvUPmVYPNOpfZ+ZEdEdSGydNOdr JkMlkfeSyWC4NiWhY7IQ8GeiZCpa/GQ0gOA2VJkykA2UXQNRu4ve3nLs8uPHHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKy2Jj4z1CLG for ; Sun, 29 Mar 2026 13:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21079 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: tslight From: Vladimir Kondratyev Subject: git: 40f55eada592 - main - ukbd(4): backport Apple function keys support from hkbd(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 40f55eada59250dd5d9580ad3c87a36ae9d6b4a9 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:42 +0000 Message-Id: <69c92676.21079.14175705@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=40f55eada59250dd5d9580ad3c87a36ae9d6b4a9 commit 40f55eada59250dd5d9580ad3c87a36ae9d6b4a9 Author: tslight AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 ukbd(4): backport Apple function keys support from hkbd(4) and expose eject in addition to fn. Signed-off-by: tslight Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 --- sys/dev/hid/hkbd.c | 16 +++++--- sys/dev/usb/input/ukbd.c | 101 +++++++++++++++++++++++++++++++++++++---------- 2 files changed, 91 insertions(+), 26 deletions(-) diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c index 78e2e4bfc199..a91a01a385e3 100644 --- a/sys/dev/hid/hkbd.c +++ b/sys/dev/hid/hkbd.c @@ -129,8 +129,9 @@ SYSCTL_INT(_hw_hid_hkbd, OID_AUTO, apple_fn_mode, CTLFLAG_RWTUN, #define MOD_MIN 0xe0 #define MOD_MAX 0xe7 -/* shows up as whatever is set to the last item in evdev_usb_scancodes[] */ +/* check evdev_usb_scancodes[] for names */ #define APPLE_FN_KEY 0xff +#define APPLE_EJECT_KEY 0xec struct hkbd_softc { device_t sc_dev; @@ -295,9 +296,9 @@ static const uint8_t hkbd_trtab[256] = { NN, NN, NN, NN, NN, NN, NN, NN, /* D0 - D7 */ NN, NN, NN, NN, NN, NN, NN, NN, /* D8 - DF */ 29, 42, 56, 105, 90, 54, 93, 106, /* E0 - E7 */ - NN, NN, NN, NN, NN, NN, NN, NN, /* E8 - EF */ + NN, NN, NN, NN, 254, NN, NN, NN, /* E8 - EF */ NN, NN, NN, NN, NN, NN, NN, NN, /* F0 - F7 */ - NN, NN, NN, NN, NN, NN, NN, 255, /* F8 - FF (last item is APPLE_FN_KEY) */ + NN, NN, NN, NN, NN, NN, NN, 255, /* F8 - FF */ }; static const uint8_t hkbd_boot_desc[] = { HID_KBD_BOOTPROTO_DESCR() }; @@ -703,16 +704,19 @@ hkbd_intr_callback(void *context, void *data, hid_size_t len) /* clear modifiers */ modifiers = 0; - /* scan through HID data */ + /* scan through HID data and expose magic apple keys */ if ((sc->sc_flags & HKBD_FLAG_APPLE_EJECT) && (id == sc->sc_id_apple_eject)) { - if (hid_get_data(buf, len, &sc->sc_loc_apple_eject)) + if (hid_get_data(buf, len, &sc->sc_loc_apple_eject)) { + bit_set(sc->sc_ndata, APPLE_EJECT_KEY); modifiers |= MOD_EJECT; + } else { + bit_clear(sc->sc_ndata, APPLE_EJECT_KEY); + } } if ((sc->sc_flags & HKBD_FLAG_APPLE_FN) && (id == sc->sc_id_apple_fn)) { if (hid_get_data(buf, len, &sc->sc_loc_apple_fn)) { - /* don't hide the function key from userland */ bit_set(sc->sc_ndata, APPLE_FN_KEY); modifiers |= MOD_FN; } else { diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 57e9beac34b6..c15528553086 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -97,6 +97,7 @@ static int ukbd_debug = 0; static int ukbd_no_leds = 0; static int ukbd_pollrate = 0; +static int ukbd_apple_fn_mode = 0; static SYSCTL_NODE(_hw_usb, OID_AUTO, ukbd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "USB keyboard"); @@ -106,6 +107,8 @@ SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, no_leds, CTLFLAG_RWTUN, &ukbd_no_leds, 0, "Disables setting of keyboard leds"); SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, pollrate, CTLFLAG_RWTUN, &ukbd_pollrate, 0, "Force this polling rate, 1-1000Hz"); +SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, apple_fn_mode, CTLFLAG_RWTUN, + &ukbd_apple_fn_mode, 0, "0 = Fn + F1..12 -> media, 1 = F1..F12 -> media"); #endif #define UKBD_EMULATE_ATSCANCODE 1 @@ -123,6 +126,10 @@ SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, pollrate, CTLFLAG_RWTUN, #define MOD_EJECT 0x01 #define MOD_FN 0x02 +/* check evdev_usb_scancodes[] for names */ +#define APPLE_FN_KEY 0xff +#define APPLE_EJECT_KEY 0xec + struct ukbd_data { uint64_t bitmap[howmany(UKBD_NKEYCODE, 64)]; }; @@ -282,9 +289,9 @@ static const uint8_t ukbd_trtab[256] = { NN, NN, NN, NN, NN, NN, NN, NN, /* D0 - D7 */ NN, NN, NN, NN, NN, NN, NN, NN, /* D8 - DF */ 29, 42, 56, 105, 90, 54, 93, 106, /* E0 - E7 */ - NN, NN, NN, NN, NN, NN, NN, NN, /* E8 - EF */ + NN, NN, NN, NN, 254, NN, NN, NN, /* E8 - EF */ NN, NN, NN, NN, NN, NN, NN, NN, /* F0 - F7 */ - NN, NN, NN, NN, NN, NN, NN, NN, /* F8 - FF */ + NN, NN, NN, NN, NN, NN, NN, 255, /* F8 - FF */ }; static const uint8_t ukbd_boot_desc[] = { @@ -582,14 +589,14 @@ ukbd_interrupt(struct ukbd_softc *sc) sc->sc_repeat_key = 0; } else { ukbd_put_key(sc, key | KEY_PRESS); - - sc->sc_co_basetime = sbinuptime(); - sc->sc_delay = sc->sc_kbd.kb_delay1; - ukbd_start_timer(sc); - - /* set repeat time for last key */ - sc->sc_repeat_time = now + sc->sc_kbd.kb_delay1; - sc->sc_repeat_key = key; + if (key != APPLE_FN_KEY) { + sc->sc_co_basetime = sbinuptime(); + sc->sc_delay = sc->sc_kbd.kb_delay1; + ukbd_start_timer(sc); + /* set repeat time for last key */ + sc->sc_repeat_time = now + sc->sc_kbd.kb_delay1; + sc->sc_repeat_key = key; + } } } } @@ -679,6 +686,27 @@ ukbd_apple_fn(uint32_t keycode) } } +/* separate so the sysctl doesn't butcher non-fn keys */ +static uint32_t +ukbd_apple_fn_media(uint32_t keycode) +{ + switch (keycode) { + case 0x3a: return 0xc0; /* F1 -> BRIGHTNESS DOWN */ + case 0x3b: return 0xc1; /* F2 -> BRIGHTNESS UP */ + case 0x3c: return 0xc2; /* F3 -> SCALE (MISSION CTRL)*/ + case 0x3d: return 0xc3; /* F4 -> DASHBOARD (LAUNCHPAD) */ + case 0x3e: return 0xc4; /* F5 -> KBD BACKLIGHT DOWN */ + case 0x3f: return 0xc5; /* F6 -> KBD BACKLIGHT UP */ + case 0x40: return 0xea; /* F7 -> MEDIA PREV */ + case 0x41: return 0xe8; /* F8 -> PLAY/PAUSE */ + case 0x42: return 0xeb; /* F9 -> MEDIA NEXT */ + case 0x43: return 0xef; /* F10 -> MUTE */ + case 0x44: return 0xee; /* F11 -> VOLUME DOWN */ + case 0x45: return 0xed; /* F12 -> VOLUME UP */ + default: return keycode; + } +} + static uint32_t ukbd_apple_swap(uint32_t keycode) { @@ -740,18 +768,34 @@ ukbd_intr_callback(struct usb_xfer *xfer, usb_error_t error) /* clear modifiers */ modifiers = 0; - /* scan through HID data */ + /* scan through HID data and expose magic apple keys */ if ((sc->sc_flags & UKBD_FLAG_APPLE_EJECT) && (id == sc->sc_id_apple_eject)) { - if (hid_get_data(sc->sc_buffer, len, &sc->sc_loc_apple_eject)) + if (hid_get_data(sc->sc_buffer, len, &sc->sc_loc_apple_eject)) { + sc->sc_ndata.bitmap[APPLE_EJECT_KEY / 64] |= + 1ULL << (APPLE_EJECT_KEY % 64); modifiers |= MOD_EJECT; + } else { + sc->sc_ndata.bitmap[APPLE_EJECT_KEY / 64] &= + ~(1ULL << (APPLE_EJECT_KEY % 64)); + } } if ((sc->sc_flags & UKBD_FLAG_APPLE_FN) && (id == sc->sc_id_apple_fn)) { - if (hid_get_data(sc->sc_buffer, len, &sc->sc_loc_apple_fn)) + if (hid_get_data(sc->sc_buffer, len, &sc->sc_loc_apple_fn)) { + sc->sc_ndata.bitmap[APPLE_FN_KEY / 64] |= + 1ULL << (APPLE_FN_KEY % 64); modifiers |= MOD_FN; + } else { + sc->sc_ndata.bitmap[APPLE_FN_KEY / 64] &= + ~(1ULL << (APPLE_FN_KEY % 64)); + } } + int apply_apple_fn_media = (modifiers & MOD_FN) ? 1 : 0; + if (ukbd_apple_fn_mode) /* toggle from sysctl value */ + apply_apple_fn_media = !apply_apple_fn_media; + for (i = 0; i != UKBD_NKEYCODE; i++) { const uint64_t valid = sc->sc_loc_key_valid[i / 64]; const uint64_t mask = 1ULL << (i % 64); @@ -780,6 +824,8 @@ ukbd_intr_callback(struct usb_xfer *xfer, usb_error_t error) } if (modifiers & MOD_FN) key = ukbd_apple_fn(key); + if (apply_apple_fn_media) + key = ukbd_apple_fn_media(key); if (sc->sc_flags & UKBD_FLAG_APPLE_SWAP) key = ukbd_apple_swap(key); if (key == KEY_NONE || key >= UKBD_NKEYCODE) @@ -792,6 +838,8 @@ ukbd_intr_callback(struct usb_xfer *xfer, usb_error_t error) if (modifiers & MOD_FN) key = ukbd_apple_fn(key); + if (apply_apple_fn_media) + key = ukbd_apple_fn_media(key); if (sc->sc_flags & UKBD_FLAG_APPLE_SWAP) key = ukbd_apple_swap(key); if (key == KEY_NONE || key == KEY_ERROR || key >= UKBD_NKEYCODE) @@ -1053,13 +1101,26 @@ ukbd_parse_hid(struct ukbd_softc *sc, const uint8_t *ptr, uint32_t len) sc->sc_flags |= UKBD_FLAG_APPLE_EJECT; DPRINTFN(1, "Found Apple eject-key\n"); } - if (hid_locate(ptr, len, - HID_USAGE2(0xFFFF, 0x0003), - hid_input, 0, &sc->sc_loc_apple_fn, &flags, - &sc->sc_id_apple_fn)) { - if (flags & HIO_VARIABLE) - sc->sc_flags |= UKBD_FLAG_APPLE_FN; - DPRINTFN(1, "Found Apple FN-key\n"); + /* + * check the same vendor pages that linux does to find the one apple + * uses for the function key. + */ + static const uint16_t apple_pages[] = { + HUP_APPLE, /* HID_UP_CUSTOM in linux */ + HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ + HUP_HP, /* HID_UP_HPVENDOR2 in linux */ + 0xFFFF /* Original FreeBSD check (Remove?) */ + }; + for (int i = 0; i < (int)nitems(apple_pages); i++) { + if (hid_locate(ptr, len, HID_USAGE2(apple_pages[i], 0x0003), + hid_input, 0, &sc->sc_loc_apple_fn, &flags, + &sc->sc_id_apple_fn)) { + if (flags & HIO_VARIABLE) + sc->sc_flags |= UKBD_FLAG_APPLE_FN; + DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", + apple_pages[i]); + break; + } } /* figure out event buffer */ From nobody Sun Mar 29 13:17:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL00QQvz6X4W3 for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFKz40Vcz3wVj for ; Sun, 29 Mar 2026 13:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790263; h=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=h2EgW/pIgWr8yCv2FqdNQWSFKoXjM0MZl9IvscfFh78=; b=vlAOfG9OIq/frY+mtbrWvs/LAMARs6eCKH3/sGWJd5rdtpo+uefpOyjnvjkZpToBTcYyTS wCS1c5Lj2QIM5LyidcKDYsFNPyc8tGO1MkZnHaD5bzDOpqrH30iWs4DH6unexaGo2Zom5X qe6jsBv0sHoS0ZPb5+jOeqZxPmk/JfBnbpIQB7oJ71RTD3EAIkosk3izaPb2WtNDCnV7Sn FB/59D2szYeHLvpGL027OaD5sDeV6qT3NwFylnanwJCi2IXoEm3ZhYqHbmMiiW7gELHMnq F+D7rPPMdIoQ9Iu4NfZkHy0AjcNjYA3sVtSLGnL1dt3ktULSqg32ccE6FrRXaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790263; a=rsa-sha256; cv=none; b=Y4Kyt9AGjF+jv5hPv0UU763NQriWqZTUr8YjXkdQpMDjbbO9W5uMwUWDYKqa3VPUjDfKYW sqF5uEUDKxQ9y/sTwrfz9kqKuDSBqT0PVwdIxgu0jrGq0kMHwY6/P0f2Oeeg1GvEprcpr5 /kSrHhjFFUpxMoqg4kimv1E5GxBCHS7Q9fcAUYOYztXnJnyLZIjM49j1DM63ZjUH7DIAbJ d/MSz21zuKOXOhuixCh/emepO8IFqgaDZAMvP8lssxUtf80tldWPHjJLqTS5RZCWUAvwIK RXPkPFF72MdjmboXOJGZcn6O9+GUzzJQQ8jAAirLMaKDU4AZbwpgaX4Y9KwpEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790263; h=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=h2EgW/pIgWr8yCv2FqdNQWSFKoXjM0MZl9IvscfFh78=; b=ShGWn0fqReG2bLjXp2F3O6OsbL776iLgFoDQNDiRgma1pEPfM3klbew6Mm0NmU1KOLYmfK x+EnRCxRZmPZ4pjwePXKaFw+4f1IuugW073KRB7//88kb+rzchviWHY2eCLf90XSH/gM18 ibGNwNwrKKnQAoXjFupWGh8QpSVSYPoHrslKMe+i/K5b4zijCtjBHVvMw6mvvtf+hbPcEj XiqMdF8aQjA3/+G6Gnkzrhi6HgLXjzp52kL4CQlOJ9USY5m9W/ZTyXe09vbaSghNz8K7Ja qrIj44/H+Xi126zRvCK9Bz4klNDAvbzRLeHTWd8kdOB5GVzR8z7whw7GrZwZ8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKz36J6z1C9w for ; Sun, 29 Mar 2026 13:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e161 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: tslight From: Vladimir Kondratyev Subject: git: 103325323c7d - main - hkbd(4): be more cautious & explicit about Apple vendor checking List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 103325323c7daf9fe6c9a6c71aa5c90974c9dff4 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:43 +0000 Message-Id: <69c92677.1e161.65df2900@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=103325323c7daf9fe6c9a6c71aa5c90974c9dff4 commit 103325323c7daf9fe6c9a6c71aa5c90974c9dff4 Author: tslight AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 hkbd(4): be more cautious & explicit about Apple vendor checking Apply the changes to ukbd(4) as well. Signed-off-by: tslight Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 --- sys/dev/hid/hkbd.c | 63 +++++++++++++++++++++++-------------------- sys/dev/usb/input/ukbd.c | 57 +++++++++++++++++++++------------------ sys/modules/hid/hkbd/Makefile | 2 +- 3 files changed, 66 insertions(+), 56 deletions(-) diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c index a91a01a385e3..9ab02e940089 100644 --- a/sys/dev/hid/hkbd.c +++ b/sys/dev/hid/hkbd.c @@ -73,6 +73,8 @@ #include #include +#include "usbdevs.h" + #ifdef EVDEV_SUPPORT #include #include @@ -828,40 +830,43 @@ hkbd_parse_hid(struct hkbd_softc *sc, const uint8_t *ptr, uint32_t len, sc->sc_kbd_size = hid_report_size_max(ptr, len, hid_input, &sc->sc_kbd_id); + const struct hid_device_info *hw = hid_get_device_info(sc->sc_dev); + /* investigate if this is an Apple Keyboard */ - if (hidbus_locate(ptr, len, - HID_USAGE2(HUP_CONSUMER, HUG_APPLE_EJECT), - hid_input, tlc_index, 0, &sc->sc_loc_apple_eject, &flags, - &sc->sc_id_apple_eject, NULL)) { - if (flags & HIO_VARIABLE) - sc->sc_flags |= HKBD_FLAG_APPLE_EJECT | - HKBD_FLAG_APPLE_SWAP; - DPRINTFN(1, "Found Apple eject-key\n"); - } - /* - * check the same vendor pages that linux does to find the one apple - * uses for the function key. - */ - static const uint16_t apple_pages[] = { - HUP_APPLE, /* HID_UP_CUSTOM in linux */ - HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ - HUP_HP, /* HID_UP_HPVENDOR2 in linux */ - 0xFFFF /* Original FreeBSD check (Remove?) */ - }; - for (int i = 0; i < (int)nitems(apple_pages); i++) { + if (hw->idVendor == USB_VENDOR_APPLE) { /* belt & braces! */ if (hidbus_locate(ptr, len, - HID_USAGE2(apple_pages[i], 0x0003), - hid_input, tlc_index, 0, - &sc->sc_loc_apple_fn, &flags, - &sc->sc_id_apple_fn, NULL)) { + HID_USAGE2(HUP_CONSUMER, HUG_APPLE_EJECT), + hid_input, tlc_index, 0, &sc->sc_loc_apple_eject, &flags, + &sc->sc_id_apple_eject, NULL)) { if (flags & HIO_VARIABLE) - sc->sc_flags |= HKBD_FLAG_APPLE_FN; - DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", - apple_pages[i]); - break; + sc->sc_flags |= HKBD_FLAG_APPLE_EJECT | + HKBD_FLAG_APPLE_SWAP; + DPRINTFN(1, "Found Apple eject-key\n"); + } + /* + * check the same vendor pages that linux does to find the one + * apple uses for the function key. + */ + static const uint16_t apple_pages[] = { + HUP_APPLE, /* HID_UP_CUSTOM in linux */ + HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ + HUP_HP, /* HID_UP_HPVENDOR2 in linux */ + 0xFFFF /* Original FreeBSD check (Remove?) */ + }; + for (int i = 0; i < (int)nitems(apple_pages); i++) { + if (hidbus_locate(ptr, len, + HID_USAGE2(apple_pages[i], 0x0003), + hid_input, tlc_index, 0, &sc->sc_loc_apple_fn, &flags, + &sc->sc_id_apple_fn, NULL)) { + if (flags & HIO_VARIABLE) + sc->sc_flags |= HKBD_FLAG_APPLE_FN; + DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", + apple_pages[i]); + break; + } } } - + /* figure out event buffer */ if (hidbus_locate(ptr, len, HID_USAGE2(HUP_KEYBOARD, 0x00), diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index c15528553086..3ebdf1e9747d 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -205,6 +205,7 @@ struct ukbd_softc { uint16_t sc_inputs; uint16_t sc_inputhead; uint16_t sc_inputtail; + uint16_t sc_vendor_id; uint8_t sc_leds; /* store for async led requests */ uint8_t sc_iface_index; @@ -1093,33 +1094,36 @@ ukbd_parse_hid(struct ukbd_softc *sc, const uint8_t *ptr, uint32_t len) hid_input, &sc->sc_kbd_id); /* investigate if this is an Apple Keyboard */ - if (hid_locate(ptr, len, - HID_USAGE2(HUP_CONSUMER, HUG_APPLE_EJECT), - hid_input, 0, &sc->sc_loc_apple_eject, &flags, - &sc->sc_id_apple_eject)) { - if (flags & HIO_VARIABLE) - sc->sc_flags |= UKBD_FLAG_APPLE_EJECT; - DPRINTFN(1, "Found Apple eject-key\n"); - } - /* - * check the same vendor pages that linux does to find the one apple - * uses for the function key. - */ - static const uint16_t apple_pages[] = { - HUP_APPLE, /* HID_UP_CUSTOM in linux */ - HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ - HUP_HP, /* HID_UP_HPVENDOR2 in linux */ - 0xFFFF /* Original FreeBSD check (Remove?) */ - }; - for (int i = 0; i < (int)nitems(apple_pages); i++) { - if (hid_locate(ptr, len, HID_USAGE2(apple_pages[i], 0x0003), - hid_input, 0, &sc->sc_loc_apple_fn, &flags, - &sc->sc_id_apple_fn)) { + if (sc->sc_vendor_id == USB_VENDOR_APPLE) { + if (hid_locate(ptr, len, + HID_USAGE2(HUP_CONSUMER, HUG_APPLE_EJECT), + hid_input, 0, &sc->sc_loc_apple_eject, &flags, + &sc->sc_id_apple_eject)) { if (flags & HIO_VARIABLE) - sc->sc_flags |= UKBD_FLAG_APPLE_FN; - DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", - apple_pages[i]); - break; + sc->sc_flags |= UKBD_FLAG_APPLE_EJECT; + DPRINTFN(1, "Found Apple eject-key\n"); + } + /* + * check the same vendor pages that linux does to find the one + * apple uses for the function key. + */ + static const uint16_t apple_pages[] = { + HUP_APPLE, /* HID_UP_CUSTOM in linux */ + HUP_MICROSOFT, /* HID_UP_MSVENDOR in linux */ + HUP_HP, /* HID_UP_HPVENDOR2 in linux */ + 0xFFFF /* Original FreeBSD check (Remove?) */ + }; + for (int i = 0; i < (int)nitems(apple_pages); i++) { + if (hid_locate(ptr, len, + HID_USAGE2(apple_pages[i], 0x0003), + hid_input, 0, &sc->sc_loc_apple_fn, &flags, + &sc->sc_id_apple_fn)) { + if (flags & HIO_VARIABLE) + sc->sc_flags |= UKBD_FLAG_APPLE_FN; + DPRINTFN(1, "Found Apple FN-key on page 0x%04x\n", + apple_pages[i]); + break; + } } } @@ -1208,6 +1212,7 @@ ukbd_attach(device_t dev) sc->sc_udev = uaa->device; sc->sc_iface = uaa->iface; + sc->sc_vendor_id = uaa->info.idVendor; sc->sc_iface_index = uaa->info.bIfaceIndex; sc->sc_iface_no = uaa->info.bIfaceNum; sc->sc_mode = K_XLATE; diff --git a/sys/modules/hid/hkbd/Makefile b/sys/modules/hid/hkbd/Makefile index 42b5d69dda9e..82f6599cca1d 100644 --- a/sys/modules/hid/hkbd/Makefile +++ b/sys/modules/hid/hkbd/Makefile @@ -3,6 +3,6 @@ KMOD= hkbd SRCS= hkbd.c SRCS+= opt_hid.h opt_evdev.h opt_kbd.h opt_hkbd.h -SRCS+= bus_if.h device_if.h +SRCS+= bus_if.h device_if.h usbdevs.h .include From nobody Sun Mar 29 13:17:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL10XQSz6X4L9 for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFL060mrz3wVk for ; Sun, 29 Mar 2026 13:17:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790264; h=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=WGr89LjoRejjE46T07d4J5dhzv/N1MyRCF1H1Est/4I=; b=sqyBA+/zgjlgOhb8hubTQ1eJzgPV1Hk6NHm9Hw6G1vmGbQ9yhusenKvOfm/C2j3Z1GD9Sx 47XlK3dsapS+uZf/WndAg7lF6l2CNVUcCTnMso71pO/akb4jByMBbgoAXGvc8rmF0pYbbc vyEQp2rgWVYtgZnjjelFABCZQW9OZK5CvqTAEdjmlz8mM+HZKU6AOCMQSTYpvg20ss+YMh n/Z5XVeC84jIsWfrk80QbOztL2iEyOPikv2XsKH6W/PI6tK9E9p/z7yue3vmmN3g1jOQhS yl7tcMgMexCPa5x6bs1OLZXmAgYK2N7TqFM+62mjaP1V+0t6Cq4o+WciHeAeeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790264; a=rsa-sha256; cv=none; b=NseDbxFnbip+1ubXI86Kw00FkCAVDys2KeJ7EUef94iZZ86mBTJgy1QEbM3PxH32rKsEVW LmTru0eew89xA8/icCBDqdPMuO6y6fLJCD8B1MtWBr5aSPU6VrxyoT7z2OiLptMd8Z/hU+ vhXXMQbE9rvl7TiA4356qmH/Vd2zq+AlF3C+/bPl43fGLR2C+JaVRZCEZxRevj/ELs0LXY sB9mSoOXURd1fo922OVOXGh9dexfT59UxQZcQmoE1sewJ78p/s+S6UIAkwELbJ1ET5C9Iw 0ATPHDUAwJrTMieVA9xs+f32jiPkKTsRWrHj1nuJ8vzTkWEjq3xXyY+HMDbfhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790264; h=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=WGr89LjoRejjE46T07d4J5dhzv/N1MyRCF1H1Est/4I=; b=rtz0f5GfXXHxL2PPbsdyajlcsBkrmvmXcRE1Wa1fnce/khrxU6f3pdDtd8jWRXn1h3xbmT l3OFDf0yrPBvGXm/V5i2edYysLuKVQMQwVa/XMxkS4FNcl5zWd6+vaauRe7BEKrwk0qbqS 4VSghFQB1d4nF6XhV4Xze4hh3B6KYXHlwgrdjlK8j4UG5UdUJyd/jmrXtSXIXi7/BTPlw5 E1h0ZEQOQYXYol+UZYoDP1WjGYf8aTbTnDlYCM04FQSj8bSrBP8twaog4RYMnWK//mHYrp Kf0gGDzWGlWszg9z3Wlhb5pECzZbQpr2053gCKlvZfnmjLoLRjmqDWFq9cpnuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL03wmBz1C9x for ; Sun, 29 Mar 2026 13:17:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Toby Slight From: Vladimir Kondratyev Subject: git: bb8230f838c8 - main - hkbd(4): add some extra handy fn key bindings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bb8230f838c8d5f8d362a0dad4809908b44ae379 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:44 +0000 Message-Id: <69c92678.206ec.39f0d32e@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=bb8230f838c8d5f8d362a0dad4809908b44ae379 commit bb8230f838c8d5f8d362a0dad4809908b44ae379 Author: Toby Slight AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 hkbd(4): add some extra handy fn key bindings - Fn+S for ScrollLock as it's very useful to have ScrollLock on FreeBSD's TTY. - Fn+P for PrtSc/SysRq, as it's another very handy but sadly missing key on Macbooks. - Some other Fn+ combinations duplicating existing keys. Apply the change to ukbd(4) as well. Signed-off-by: Toby Slight Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 --- sys/dev/hid/hkbd.c | 10 ++++++++++ sys/dev/usb/input/ukbd.c | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c index 9ab02e940089..c98f4be69169 100644 --- a/sys/dev/hid/hkbd.c +++ b/sys/dev/hid/hkbd.c @@ -623,6 +623,16 @@ static uint32_t hkbd_apple_fn(uint32_t keycode) { switch (keycode) { + case 0x0b: return 0x50; /* H -> LEFT ARROW */ + case 0x0d: return 0x51; /* J -> DOWN ARROW */ + case 0x0e: return 0x52; /* K -> UP ARROW */ + case 0x0f: return 0x4f; /* L -> RIGHT ARROW */ + case 0x36: return 0x4a; /* COMMA -> HOME */ + case 0x37: return 0x4d; /* DOT -> END */ + case 0x18: return 0x4b; /* U -> PGUP */ + case 0x07: return 0x4e; /* D -> PGDN */ + case 0x16: return 0x47; /* S -> SCROLLLOCK */ + case 0x13: return 0x46; /* P -> SYSRQ/PRTSC */ case 0x28: return 0x49; /* RETURN -> INSERT */ case 0x2a: return 0x4c; /* BACKSPACE -> DEL */ case 0x50: return 0x4a; /* LEFT ARROW -> HOME */ diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 3ebdf1e9747d..37deb5c56fbd 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -677,6 +677,16 @@ static uint32_t ukbd_apple_fn(uint32_t keycode) { switch (keycode) { + case 0x0b: return 0x50; /* H -> LEFT ARROW */ + case 0x0d: return 0x51; /* J -> DOWN ARROW */ + case 0x0e: return 0x52; /* K -> UP ARROW */ + case 0x0f: return 0x4f; /* L -> RIGHT ARROW */ + case 0x36: return 0x4a; /* COMMA -> HOME */ + case 0x37: return 0x4d; /* DOT -> END */ + case 0x18: return 0x4b; /* U -> PGUP */ + case 0x07: return 0x4e; /* D -> PGDN */ + case 0x16: return 0x47; /* S -> SCROLLLOCK */ + case 0x13: return 0x46; /* P -> SYSRQ/PRTSC */ case 0x28: return 0x49; /* RETURN -> INSERT */ case 0x2a: return 0x4c; /* BACKSPACE -> DEL */ case 0x50: return 0x4a; /* LEFT ARROW -> HOME */ From nobody Sun Mar 29 13:17:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL221rvz6X4QN for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFL11zJGz3wN5 for ; Sun, 29 Mar 2026 13:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790265; h=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=0TqRb4jLmveKNzxVeMPoeb4WWKc9LWD00j3+h5eIJNc=; b=wqPOFIIztdb5vfmGkcPbFVU+mNgjCF4ZapybpDlfNmKCOYXhbUs2fFZ4WRcDK33AuhpV0V 8CE2gus7Yf3fpgN1qimaguJeqJbQrL1g0+OtvTqjB3VbcYBR6tY7uJwQUQEGopRZsQvlOT GTBSs03fD0qDqlf9csIOJJRQMavEMHaypDv4Dsj70hj69lKpUvckAqDDgJGdjmiajMi2HR MZ0jRb9mDlWWWqAg4ikZnYPc+R5iGxKbPVsY4BRo3XkX3zk07X4JHYifiHQCtqKm3fvOTe t79Dl2SB0lKe/A5rx0+6rMEoXlsZ+cZYm04eMGYmP/zKtNeWRBFLdsrOd1V0mQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790265; a=rsa-sha256; cv=none; b=VG81UKRSbCmio4/8XFMM7CfPWPbQm31r1eRquodyHqs8bowp8XHOpg8WpXpl/dfKNKKhOH KDt5Y+20cU3PyZJqKCQ29zf2ct8Ttg6mTBZQ6e2UwTdOfXHWHEPFHBqCpLPYcyLLq66hno BhxWnU2Z/BM7LX+grjDakOmDD/uOw9ZYFqHwISb/N4KjXsCxfliCZTWdJnx0vpjqcscBXj umQ6vd1vGFnln8zzVb6CvXSM5MaM9/rXfqIdx2euRBN3nJjKlnu4MtO9FDNNiWM9UFPEm9 1FojZMXOYH4cErcRTvLyobckMcMUZbJNeiAoL2xZd89hX9GenYoUpUiLZrkG/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=1774790265; h=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=0TqRb4jLmveKNzxVeMPoeb4WWKc9LWD00j3+h5eIJNc=; b=BAdnID7HE7XD01UXT+iZ6sjF4kkz5WTHuRQOkNgDUdeCKwBk8ValTYQ7ZzLay37k8G2e8r 0yHP50HZMsbohgBsdCnsMYPMJks3HwO0+verr95q5vl8FsfdX2dQS+OSWSqWk4XsgRDJv3 I/jbeC+USRYPUTUnfl1MZAjjI6uP9ssNMAnTvjd0gN6OGmHbUx6TAMsB3DeK9H9snCwHX2 eLMly5THX3pnkbodPWjSDn9SM8r0cxmo/psh5QcjqiA6QKpECLbpIGybNKAl30jWsWyK8q VLzvLfy0jyTmi0FIqWjlK06mGfIDf6REhHVllDpwlRcFOARZ7KlpaCk33dJCTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL11JgSz1CKK for ; Sun, 29 Mar 2026 13:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f5c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Vladimir Kondratyev Subject: git: d82bcf5681dd - main - bluetooth: add device IDs for Intel AX411 and BE200 adapters List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d82bcf5681dd180177d78fdcd1b8bbde5eadc29b Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:40 +0000 Message-Id: <69c92674.1f5c8.3ad01052@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=d82bcf5681dd180177d78fdcd1b8bbde5eadc29b commit d82bcf5681dd180177d78fdcd1b8bbde5eadc29b Author: Christos Longros AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 bluetooth: add device IDs for Intel AX411 and BE200 adapters Add USB product IDs for Intel AX411 (0x0035) and BE200 (0x0036) Bluetooth adapters to ng_ubt_intel, ng_ubt, iwmbtfw, and iwmbtfw.conf. Both chips use the same TLV-based firmware protocol as the existing 9260/9560 entries. Newer Blazar-generation chips (BE201, BE202, Whale Peak 2) are omitted as they require IML support not yet implemented in iwmbtfw. Signed-off-by: Christos Longros Reviewed by: wulf MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56122 --- sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c | 7 ++----- sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c | 2 ++ usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 | 4 ++-- usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf | 2 +- usr.sbin/bluetooth/iwmbtfw/main.c | 2 ++ 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c index def589107725..934a5d4d37f6 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c @@ -436,13 +436,10 @@ static const STRUCT_USB_HOST_ID ubt_ignore_devs[] = { USB_VPI(USB_VENDOR_INTEL2, 0x0025, 0) }, { USB_VPI(USB_VENDOR_INTEL2, 0x0026, 0) }, { USB_VPI(USB_VENDOR_INTEL2, 0x0029, 0) }, - - /* - * Some Intel controllers are not yet supported by ng_ubt_intel and - * should be ignored. - */ { USB_VPI(USB_VENDOR_INTEL2, 0x0032, 0) }, { USB_VPI(USB_VENDOR_INTEL2, 0x0033, 0) }, + { USB_VPI(USB_VENDOR_INTEL2, 0x0035, 0) }, + { USB_VPI(USB_VENDOR_INTEL2, 0x0036, 0) }, /* MediaTek MT7925 */ { USB_VPI(USB_VENDOR_AZUREWAVE, 0x3602, 0) }, diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c index c4410b7b2c80..290c04790a46 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c @@ -101,6 +101,8 @@ static const STRUCT_USB_HOST_ID ubt_intel_devs[] = /* Intel Wireless 9260/9560 and successors */ { USB_VPI(USB_VENDOR_INTEL2, 0x0032, UBT_INTEL_DEVICE_9260) }, { USB_VPI(USB_VENDOR_INTEL2, 0x0033, UBT_INTEL_DEVICE_9260) }, + { USB_VPI(USB_VENDOR_INTEL2, 0x0035, UBT_INTEL_DEVICE_9260) }, + { USB_VPI(USB_VENDOR_INTEL2, 0x0036, UBT_INTEL_DEVICE_9260) }, }; /* diff --git a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 index ac32a675aa63..fd0118655a67 100644 --- a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 +++ b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8 @@ -48,8 +48,8 @@ device. .Pp This utility will .Em only -work with Intel Wireless 7260/8260/9260 chip based Bluetooth USB devices -and some of their successors. +work with Intel Wireless 7260/8260/9260 and newer chip based Bluetooth +USB devices, including AX and BE series wireless adapters. The identification is currently based on USB vendor ID/product ID pair. The vendor ID should be 0x8087 .Pq Dv USB_VENDOR_INTEL2 diff --git a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf index e30a3c15ccaa..d48206827f90 100644 --- a/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf +++ b/usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf @@ -7,6 +7,6 @@ notify 100 { match "subsystem" "DEVICE"; match "type" "ATTACH"; match "vendor" "0x8087"; - match "product" "(0x07dc|0x0a2a|0x0aa7|0x0a2b|0x0aaa|0x0025|0x0026|0x0029|0x0032|0x0033)"; + match "product" "(0x07dc|0x0a2a|0x0aa7|0x0a2b|0x0aaa|0x0025|0x0026|0x0029|0x0032|0x0033|0x0035|0x0036)"; action "/usr/sbin/iwmbtfw -d $cdev -f /usr/local/share/iwmbt-firmware"; }; diff --git a/usr.sbin/bluetooth/iwmbtfw/main.c b/usr.sbin/bluetooth/iwmbtfw/main.c index b27c5ad62239..1e11cc468015 100644 --- a/usr.sbin/bluetooth/iwmbtfw/main.c +++ b/usr.sbin/bluetooth/iwmbtfw/main.c @@ -81,6 +81,8 @@ static struct iwmbt_devid iwmbt_list[] = { /* Intel Wireless 9260/9560 and successors */ { .vendor_id = 0x8087, .product_id = 0x0032, .device = IWMBT_DEVICE_9260 }, { .vendor_id = 0x8087, .product_id = 0x0033, .device = IWMBT_DEVICE_9260 }, + { .vendor_id = 0x8087, .product_id = 0x0035, .device = IWMBT_DEVICE_9260 }, + { .vendor_id = 0x8087, .product_id = 0x0036, .device = IWMBT_DEVICE_9260 }, }; static enum iwmbt_device From nobody Sun Mar 29 13:17:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL23ghtz6X4FJ for ; Sun, 29 Mar 2026 13:17: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkFL166Mmz3wSZ for ; Sun, 29 Mar 2026 13:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790265; h=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=z3os/oUY0oxFgPJ25NpSBFPHocHOY+ULonnrX+mN2CU=; b=JAjSnxIzjqwCWuxFw2NKvfBVdmu8gwFz7Udd3txDDxVFyKzE8Ijx7Z+rTuEm8lR1u0Qx39 Ban1JiOrcvzt4RukDiDkVT70DoBZLpa5DhMiYIUwvUYA+ESc7RuwT5cn9EItMHPnNbj5uH JeUdMgvlVsXkVQD0AY7FqDp1H8iVkE394DhakzGoEBll9RwscvgQbUViqiZZ+lNMvHrxQN Ldltfrmau5QlvJOJleM8cksjCZXYy58ODwpWtXTzxD5YIBAmhFKHnYhw5a3xkGYMYKW7y9 Trs0TpR69GKDDIhUct/HqK/HWcjcVitUyr9topkU09NmIkNdipKXfgbOa+eL+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774790265; a=rsa-sha256; cv=none; b=BOOgGQhZ2gFm/Tn2PU+FMOhf2CTv+8p46hitUG2jt7xrLvJX9ztCMVKOrbek8osenXbWnW XnwGOGh3FbrjJ05EfRY2Hsnl18neuvgMWIyM0CXdNkfmto9TuUouKnxCFOmLnujHT+5VDT xMqchfnmgSQJXbra0HmNuelGgUbRJVG1prakkg/+m20zJQl+tmS35LvaTCn5AGakE/DWGr Aq73WTk3kpcxoAKtjy6Tl+dUhUcaoyRJx/Pomp5KplSW2Fv27iVtU+GsTbJKABjhN9aXIz Zq2JFMf0LIubbjdrQQ4JtsrOIsASR16rwzV8VENzyOTgU+M08WRDHgw9YTT1FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774790265; h=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=z3os/oUY0oxFgPJ25NpSBFPHocHOY+ULonnrX+mN2CU=; b=pOTzK7cJe6XAvhYQDuMwGvyX8JmnBCXNiCXSw36/D4U0Wj4As7pzEoosYjNMgQo5jSKQEI K/XL5+SU/67JCHXDKgpVn7oOSz68aRO6B2TNzKCnvq9E9sGV+w3JruddOUJp51Qb4soQke 948K8pgwe6BPyo/L1pGCxeD/vjS1ZjELGThTmuca3uCYPCtdfbo2TR2stwM7zfakG0FHrl ZvZByFscFIuIscXmIeZOW8+gd4TPGrpYbBb1AKM2/OEN4h0W7me/RGYT0NbQvXjIg21oYA af+R4TdU6cSWugNGMVOGCixo+Dxaxl2taX+nVn0gwcH0it00eXC7daOwToDMrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL14kW3z1CLK for ; Sun, 29 Mar 2026 13:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2107e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 13:17:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Toby Slight From: Vladimir Kondratyev Subject: git: 920ad3cef178 - main - ukbd(4): make debug guard consistent with hkbd(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 920ad3cef178c9bea37c0d07c22440828a5cb7c8 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 13:17:45 +0000 Message-Id: <69c92679.2107e.7413c022@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=920ad3cef178c9bea37c0d07c22440828a5cb7c8 commit 920ad3cef178c9bea37c0d07c22440828a5cb7c8 Author: Toby Slight AuthorDate: 2026-03-29 13:16:57 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 13:16:57 +0000 ukbd(4): make debug guard consistent with hkbd(4) Signed-off-by: Toby Slight Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 --- sys/dev/usb/input/ukbd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 37deb5c56fbd..7a33a9ad2efe 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -95,21 +95,23 @@ #ifdef USB_DEBUG static int ukbd_debug = 0; +#endif static int ukbd_no_leds = 0; static int ukbd_pollrate = 0; static int ukbd_apple_fn_mode = 0; static SYSCTL_NODE(_hw_usb, OID_AUTO, ukbd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "USB keyboard"); +#ifdef USB_DEBUG SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, debug, CTLFLAG_RWTUN, &ukbd_debug, 0, "Debug level"); +#endif SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, no_leds, CTLFLAG_RWTUN, &ukbd_no_leds, 0, "Disables setting of keyboard leds"); SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, pollrate, CTLFLAG_RWTUN, &ukbd_pollrate, 0, "Force this polling rate, 1-1000Hz"); SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, apple_fn_mode, CTLFLAG_RWTUN, &ukbd_apple_fn_mode, 0, "0 = Fn + F1..12 -> media, 1 = F1..F12 -> media"); -#endif #define UKBD_EMULATE_ATSCANCODE 1 #define UKBD_DRIVER_NAME "ukbd" From nobody Sun Mar 29 16:15:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHH6w9kz6Wcvl for ; Sun, 29 Mar 2026 16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkKHH50RNz4MM6 for ; Sun, 29 Mar 2026 16: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=1774800939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ApSdjuKc0DIofAZNGdS6Ep/HxImbRw+tJ61zPadih1E=; b=lZvF8iY3egBVS10cBiDB9XFS4cGRvcv4AbFy33nxAxwNmwfenceCdn5eb8+Ma1FtevbtkT 0MXHUrtcNFmuRRvOekwgx79Q3Ggkk3HQdSUD6xSJZ2wI4viel8r51MVgKk6SWM7kt+AyTZ Ww9AdK8mXNmtd0iGVCQAwElzFEI+/BNNvgpoZaVhitaIvIQLT1D2uu5E3qIYhM8e79nd0M 7hgUj0dPRjI5FRsS7rq4G791Ze75nlapw4Lm0EPkDJ773SkiIzRJa3wc+w3wqrljhEDU8h dNf+wHLcfTULOZOyaMIr+iMWTyLqLjl+MTZDLeSRa/mLuGJmw5r3Ra/QaW+Nfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774800939; a=rsa-sha256; cv=none; b=k0G1/JXsIo/bftzErci2+CXbpqLVAuYuqn/Kz+xkP9m+rUpTQyGmoDAfms0bo+1I4RlP/G yDZz3ewivBRLfomNc0ogU2Uxt/vCpQMBZwV+3L+8FtnSojhZ/qABmPac19dudr9FjdNwOB lp7Sk7JFTWxopP0Bh5vCusEHD56VyCnxYY3Q4n8VS0tqb3th5oSagnmxB+KEYIZWcSSfAy wH2wRFis2x38DEOvfHLnSL7WdJPOxhGEc5t8odI1Hz+IrstQt0Lndz1uHZ+vSBXaMw3o2Z owk+9SeI9lKdze+VJhwAMLwDQ+fzLNPzb+UEP3114sdA9n3y+DlyAXJaR3MYRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774800939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ApSdjuKc0DIofAZNGdS6Ep/HxImbRw+tJ61zPadih1E=; b=AztQZ/7QF6ikljtOcGUz00AHgYdGE7WTsj85cDU37oW8XuwA4NmocKIu+5LzI3vIS6Ksqu 4TCPUvRUjyMw1PKOsVyluu5ohSpZ2Q3d1g7UqpnfbeTXKtq3ahLfdFGfy0DV2GNeZGdnJ+ rxwVRRrtvkLsMp7xqll8oSBTmk4VHRqZT8rL76gN0l5U2bJmdsUratQrV/5NZ3AyvyO0TN n03a4DjWgyXyf7UP7BXpAN/pPQLlI/GrVjp8i0ByaL0L/h6K8n8PTaej4q/n4ivqPATImj KU/KCTU5k6eCidNoXPLwVmWUvxp80u5qWtvEQN7rPll+DUadtW62/ZuMHjVmcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHH4c52z1J9H for ; Sun, 29 Mar 2026 16:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b998 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 16:15:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 0d9676e1ca92 - main - mk: Disable blacklist when disabling blocklist List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d9676e1ca92febd42fbebef8d6833a0939d3f7c Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 16:15:39 +0000 Message-Id: <69c9502b.3b998.15ccc98f@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=0d9676e1ca92febd42fbebef8d6833a0939d3f7c commit 0d9676e1ca92febd42fbebef8d6833a0939d3f7c Author: Jose Luis Duran AuthorDate: 2026-03-29 16:14:50 +0000 Commit: Jose Luis Duran CommitDate: 2026-03-29 16:14:50 +0000 mk: Disable blacklist when disabling blocklist WITHOUT_BLOCKLIST, when set, should enforce WITHOUT_BLACKLIST. This fixes the build when WITHOUT_BLOCKLIST=yes is set. Reported by: ivy Reviewed by: ivy Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist") MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56118 --- share/man/man5/src.conf.5 | 19 ++++++++++++++++++- share/mk/src.opts.mk | 8 ++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index ad503a132a2c..33ce061a1114 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd March 20, 2026 +.Dd March 28, 2026 .Dt SRC.CONF 5 .Os .Sh NAME @@ -259,9 +259,20 @@ Set this if you do not want to build .Xr blocklistd 8 and .Xr blocklistctl 8 . +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_BLACKLIST +.El +.Pp When set, these options are also in effect: .Pp .Bl -inset -compact +.It Va WITHOUT_BLACKLIST_SUPPORT +(unless +.Va WITH_BLACKLIST_SUPPORT +is set explicitly) .It Va WITHOUT_BLOCKLIST_SUPPORT (unless .Va WITH_BLOCKLIST_SUPPORT @@ -274,6 +285,12 @@ support, like .Xr fingerd 8 and .Xr sshd 8 . +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_BLACKLIST_SUPPORT +.El .It Va WITHOUT_BLUETOOTH Do not build Bluetooth related kernel modules, programs and libraries. .It Va WITHOUT_BOOT diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 1cadc8450de3..47538c138eb7 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -407,6 +407,14 @@ MK_BLOCKLIST:= no MK_BLOCKLIST_SUPPORT:= no .endif +.if ${MK_BLOCKLIST} == "no" +MK_BLACKLIST:= no +.endif + +.if ${MK_BLOCKLIST_SUPPORT} == "no" +MK_BLACKLIST_SUPPORT:= no +.endif + .if ${MK_CDDL} == "no" MK_CTF:= no MK_DTRACE:= no From nobody Sun Mar 29 16:15:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHN0DHQz6WcnQ for ; Sun, 29 Mar 2026 16: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkKHM6NpJz4M3G for ; Sun, 29 Mar 2026 16: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=1774800943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LqZDszsl3ZN8bJHp0TqAfYgptMsvQqobyrxQW1WcKPQ=; b=xh2/wEe7WRg9WMBPhhuFEnbewvfF5/Nje8xHvHwX9B3XysR4jNKa3AVNYgHa4BeZJFqU6P aXCvf/jxYtkXqAlCp0p6vxzwPsE0efXEzrjlN+u+1e3uXKfT3OhVxPlLBax1Y0PxngIGRZ pRPKXp/cVRwcyZQ6mmkb9I5w2dXiq3RTLfOHq2FCLIpaw4M3xX4rXxkK5uEkf/a54WKd9r B3sNQdDR44fLjxXSLMrDcjT5VRv7f83qILmcG0qg+iJKDVahijqAHNBnney6cJh8OLSDGP cz2KTO+M3dtOOr+fh9H3duacnCIfcT8gZKK8M9D3LkWWhaXUgNUsiqzY64+HqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774800943; a=rsa-sha256; cv=none; b=TagWboRrWkiGF5mTeKQEu5rHwFYUx2RQz/S48FHUjxezN6n7nQBqLg0qXOX6r5QU+xG6KF qAlC3kHvqkQCHhk5eYz7OtESEaDLWiaxUs9Mmf5cWwtOHibZEnPbF4TzffcilVFtAuKbrq Gei9i1fq+rnFd5U03Pjy4QxaDHQ1a7QJdTczMOFuD3sx4o4Fc67WUnb1QsE2zV/JEXvodT y28ZrvOIkJEgFo6JJcokD0BNU6fBCV/zCg/HU75UKCWPLdXvaSwQkxqle+kO36sJGbvLV1 rgJ1qRIR8j68C6+AC7d6fblYx6nOM84vUCzfBz27cK5M4JEXAX72irwln4QaiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774800943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LqZDszsl3ZN8bJHp0TqAfYgptMsvQqobyrxQW1WcKPQ=; b=X2LU8bYJnS6WqahXxl5UdIqz4XhMOCJm66rmvhHvR+j/z/KUYK3tX4GUQB/nOouvUZlzhP s/bYIoJkBxWCmOa1A5tEeyVqRH9Y7l0yi/AAGvb1OKpDJO74U9k8x4GvmEJuCla4Pp0XPK eD/3RKxmC6Rga0aUeR2txpyCm23bL6PH7u5UKaLVbqthCrUDzxuYCPr8Du4kLn/VlPGRkf 94/5KyXDTlXrR1sYAdHAkY1d/HIhuLyRwEbNLcuW2+UvP3tZADe0BF0w32gBkKZZ44Ea7E 7dUe9BjAlIOSuXbgNdoqHUkWZa7rQNzbndvzphuUuy4zEwtp9ZePUn9hnPIUtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHM60HLz1J9J for ; Sun, 29 Mar 2026 16:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b555 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 16:15:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 4f0d0ed5cbe6 - main - libexec: Add pkg-serve directory List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f0d0ed5cbe6d66c496ed124110e24fb6092d480 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 16:15:38 +0000 Message-Id: <69c9502a.3b555.33634e9b@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4f0d0ed5cbe6d66c496ed124110e24fb6092d480 commit 4f0d0ed5cbe6d66c496ed124110e24fb6092d480 Author: Jose Luis Duran AuthorDate: 2026-03-29 16:13:09 +0000 Commit: Jose Luis Duran CommitDate: 2026-03-29 16:13:09 +0000 libexec: Add pkg-serve directory Add pkg-serve to the list of subdirectories in the Makefile. Reviewed by: bapt Fixes: b42e852e89cb ("pkg-serve(8): serve pkg repositories over TCP via inetd (8)") Differential Revision: https://reviews.freebsd.org/D56009 --- libexec/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/libexec/Makefile b/libexec/Makefile index bfcd55b255c7..a5e3ea655a9e 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -14,6 +14,7 @@ SUBDIR= ${_atf} \ ${_makewhatis.local} \ ${_mknetid} \ ${_phttpget} \ + ${_pkgserve} \ ${_pppoed} \ rc \ revnetgroup \ From nobody Sun Mar 29 16:17:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKKv1D71z6WcwJ for ; Sun, 29 Mar 2026 16:17:55 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkKKt34P2z4NLr for ; Sun, 29 Mar 2026 16:17:54 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-6634bb959a2so4325474a12.1 for ; Sun, 29 Mar 2026 09:17:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774801073; cv=none; d=google.com; s=arc-20240605; b=GeJb+miACFFuT5FQ5waBTasBG5SSwbzvHMAXBXzk8O/B08tb21ZKiwR0WsPd3yf5ny 0Mb2YDGdJmRsmJEdno5fgZABQoyT3WE6f6juHfhIBm0FbR4bq+TGhzbJHdfoHseyGmEk Zw78ZG8CEFvBXGuABqnXOap990S4/VZZi/6K2vFzRKwU4ttC9SoNZ1gHUVfYEH1oO2zD wIt4rrVTb9dQMo7Ih45XgfGLoPUmJIjjwZxAvIVjCr2a688GoXFOthgYJfOpCHiG+kFT hB/00LaPQ/k2MsIdvb2mfkBJkQPtEfDUs7xCSgqAPA/JnKA2nNh51WazT9aa1MdRUxCk Iimw== 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=ucZZlzzEPSAkBSC/lZTcEK3eHBVKTXWipVlCGP9qkrM=; fh=Ur0Gl6HDj4iIJN9UmRnEi3Gi6whEqjaYuYBQayCrxCc=; b=NCiC4NoCsycXeLAP7dXZCBqGOriyCJhf+x83NF5IDBEQoAaP7YrdVX3o1dWma8TKhZ Nt6v2Ep7CvNO7dqveKd+IBFn9Yass8nrq3O+MToLPHbp4ykXIADnHzHHctXp+xSWut9Q ATP4jCp/jh3DiqIPN8jUkQ9CQGFDNjFS+0sU+DjqD3sWpj/lziiEC0ZvyprXOMAoLsYI wKxmQhaZ0hZZdBV0wCb6KMR/RTFUtFWgcF5ZvBy0ce2NIzOVMJ6MyohdYsEZesO4zP7H vU5rZsoy+WqlaZolmEWUU+W1mBCloxDt7rGWXTvfbxethpzXN68J5EOEJQao627l2z6e dYxA==; 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=1774801073; x=1775405873; 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=ucZZlzzEPSAkBSC/lZTcEK3eHBVKTXWipVlCGP9qkrM=; b=i3RVE63RDO5F2FnIL7cSIy9nqpSvWqJ+Q2UnCCNVvtzmAKlDQzvgBsdSfLgZSu7P99 /yLqu7BJwCQTsBDoJaYGuEussvSR1ZVep4OCrw2uzuYQa05UhG85iOzgPMYtIl2zzc6S L5TUR+ZYFDw2tedkGZmDD0fPYJYdpHk2iNiWsNysDYwxRhHB6wthb7y0CuGvpGYd4Z0C JeqGYJQXJJDw5SkBcbQKgJZz8mD5Wl5ogdj5pJNjocBjyUOt8tLybxt2XDS8H3KRSxpb NeRQvIn20xzm2OViT09I/gXBV/JeUwxA/3hGQzoU+u/V1l5hRyeX95F14dmIB9LrcSsR a1bg== X-Forwarded-Encrypted: i=1; AJvYcCUoIHH10Gtuw5qVPGJQmxaZ7aztO9SF3MbypBDXmXnLGu1UtzdlFSJdMd1I1opXQk7jt5ib8Jheun9oDRQNVFlskGZx@freebsd.org X-Gm-Message-State: AOJu0YzOra08u5yT5yoyqhR708UyLUhJIboqU9bUct3b6zTpxADbT7eE dtyXJTEJRafZf+KrdSedBijcOJO0JjsECLtHrDJl3x2xVGX+24z0NNM2mdt+bDukWlSBrdF8eSQ k+uxRknveJu6nLsYrEeQICPNM3/K5hPw= X-Gm-Gg: ATEYQzxQlANb7XfGsZNP+bfN/2Mem/kPm1SIOnArocxMfDl5HfMnHRR1CKGoQYx1gf2 o5E2HXlgDMVbCulXeJxc6MBPaYJOAztn5/g9enQup2a4fF7wXuvrk8E0+NGr8wKtc6tfH1FJ6rf W1Qn4mGJsk+KywwwscptAvG9dJ3yHgyoQDOD/Pfsy/3pbwSntSl2dMNIyWgcfNLwNZE6jKEPL9n FaP7ZOD3TPJ6VD5r2/FJkSsxbK3JWXah0YuD8TCNsMu6ddRUB79SA/xN9ZRKLto994qsgXEOjOE Hx6XNh63AMgYjXXuxqZnRWUqlu/lse/y0lTQrvBcL+Vlxw/ZUQlqsHkb36Wm9lgp//m1 X-Received: by 2002:a05:6402:27c6:b0:668:8086:78f4 with SMTP id 4fb4d7f45d1cf-66b28e6aec2mr5802670a12.24.1774801072782; Sun, 29 Mar 2026 09:17:52 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69a71c76.409df.5a93939b@gitrepo.freebsd.org> In-Reply-To: <69a71c76.409df.5a93939b@gitrepo.freebsd.org> From: Alan Somers Date: Sun, 29 Mar 2026 10:17:40 -0600 X-Gm-Features: AQROBzCnpNVfVEbEQ2iIL2BlvUCq1XPqEFIYwINXvN-Iv120_TEfxR7sX9zQhBM Message-ID: Subject: Re: git: c8c37141a661 - main - virtio_blk: Use bus_dma for command/ack buffer allocations To: Andrew Turner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Sarah Walker Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.88 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_MEDIUM(-0.99)[-0.993]; NEURAL_HAM_LONG(-0.99)[-0.991]; NEURAL_HAM_SHORT(-0.99)[-0.991]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; FREEFALL_USER(0.00)[asomers]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.41:from]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.41:from]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4fkKKt34P2z4NLr X-Spamd-Bar: --- On Tue, Mar 3, 2026 at 10:38=E2=80=AFAM Andrew Turner = wrote: > > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc8c37141a661cc9a6a51e43599= d1afc8a3f0ef46 > > commit c8c37141a661cc9a6a51e43599d1afc8a3f0ef46 > Author: Sarah Walker > AuthorDate: 2026-03-03 16:27:38 +0000 > Commit: Andrew Turner > CommitDate: 2026-03-03 16:29:15 +0000 > > virtio_blk: Use bus_dma for command/ack buffer allocations > > While the majority of virtio platforms will be fully coherent, some m= ay > require cache maintenance or other specific device memory handling (e= g for > secure partitioning). Using bus_dma allows for these usecases. > > The virtio buffers are marked as coherent; this should ensure that sy= nc > calls are no-ops in the common cases. > > Reviewed by: andrew, br > Sponsored by: Arm Ltd > Differential Revision: https://reviews.freebsd.org/D54960 After this commit, my VM can no longer dump core. When I try, it panics again. Could you please investigate? And let's move discussion to Bugzilla: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D294120 . From nobody Sun Mar 29 18:24:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkN7n5xQLz6X675 for ; Sun, 29 Mar 2026 18:24: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkN7n5LtJz3Q9V for ; Sun, 29 Mar 2026 18:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774808661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gx5k1ECfOhsBlN1RAQ4RTscU4XLAoi7r+aBBfBVOqvs=; b=tKTEcuhUpDZnk0jvmeS24CMv/JQTO+6NBX/lNN5ong+PlHzU0WyMrcgXeec5Qn1MobWuY4 q37+jxlSYOe9Xx2Zqw/cpeD7UVYXTdiRwXm+rmNMGsrbUxfWu6bU1LpkrXfq9Ljyxii6wG zLGQvjiF0vRnfhzjo2/7HcJn9iSS/mVKPsr16gbkXfYtzOYtMLZd3kl7LzDYPvMnpYBwJj Ge79IK0y8+HbGlnFH0azcmaLWXtUMBwSxoIU7QjFVt5R3e9TVg5OtWtHg1cOv8j9KzD6dX zJZkBEeBd4kVhLSspl6SLbhco3iivqU67pITZrmJdOPlJpHCd5J3NKDsNYwPyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774808661; a=rsa-sha256; cv=none; b=oZumAbQxtVg/0i1fculBG0nHUZ6sgvd5Pr9IHXgWUYMwFX3jh5wKS3QnT65I7GSFuwWr5q w4rEBeM/ZE+E5qw6bV6MEpFCGKE/g6YX1Le+mYI4hTxYtzJrm15Wa4j7c8bN7yu8WbF2Gm whk0RbSUFmoXMyWVsgrNKfa/dl5QMspbL6s5Kkm3/krABWSVsriITwHgW9jZqQ86+VIK+z R/Kn7PclBbMnnJUJrp7GCnKVSrVBnvQCb8V0GwfnQpaSDu/LWmjwKAgAzMRwJWFsGqq7Pu XHCAoCeHzsem87O6fJNv0YtIo1NRWcRTZczAShTIAiB/ZnF43HLZOaSzBkI3BA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774808661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gx5k1ECfOhsBlN1RAQ4RTscU4XLAoi7r+aBBfBVOqvs=; b=rWAsNf6JxMY65Iey5urIhW27hBm+dLJgHX0A1LtLLAsI8zgtuk3ZFfRWVnDACbl/ekZE13 9WK+y8hV9n1x7YLikaIlembrWyw8K6sNS/iZhfdd9o67gcSXdV/LJjK5Ape3y9K12H0zbg wlZJoxt4kIoNB4yFCos1Bf+2zd42R/jnnNG9HW34BvBohi4KIqZASNEvo76zeWaNuXVDRT Fxq8bUl7Zje0T7M9SO3m5EIt0RUpzZxCLJ6hszZEsUJmK8Oo/7FA29ObGJqcBfq9nobboN SaC5Gd/dkdS3JPbGqIBymgDh7CJo+IXFwpz/XoA803sLjTT2NaAtZwYVuhLOjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkN7n4hSnz1LlD for ; Sun, 29 Mar 2026 18:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46cc4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 18:24:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Salychev Subject: git: 968164eb650f - main - dpaa2: Perform bus_dma pre-write sync before enqueue operation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dsl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 968164eb650fd986f293512a3faac5c1c9e4d51f Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 18:24:21 +0000 Message-Id: <69c96e55.46cc4.256839da@gitrepo.freebsd.org> The branch main has been updated by dsl: URL: https://cgit.FreeBSD.org/src/commit/?id=968164eb650fd986f293512a3faac5c1c9e4d51f commit 968164eb650fd986f293512a3faac5c1c9e4d51f Author: Dmitry Salychev AuthorDate: 2026-03-28 18:57:45 +0000 Commit: Dmitry Salychev CommitDate: 2026-03-29 18:23:51 +0000 dpaa2: Perform bus_dma pre-write sync before enqueue operation Without a proper synchronization payload of the egress TCP segments can be corrupted as tuexen@ described in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006#c31. This patch is indirectly related to 292006 because a properly enabled and announced support for the TX checksum offloading hides potentially corrupted frame payload. PR: 292006 Reported by: tuexen@ Reviewed by: ... Tested by: dsl@ Differential Revision: MFC after: 3 days --- sys/dev/dpaa2/dpaa2_ni.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index c72e68b8a62f..49e72c8ee14f 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -3004,6 +3004,9 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, goto err_unload; } + bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); + /* TODO: Enqueue several frames in a single command */ for (int i = 0; i < DPAA2_NI_ENQUEUE_RETRIES; i++) { /* TODO: Return error codes instead of # of frames */ @@ -3013,9 +3016,6 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, } } - bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); - bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); - if (rc != 1) { fq->chan->tx_dropped++; if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); From nobody Sun Mar 29 18:35:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNh5k76z6X7Hs for ; Sun, 29 Mar 2026 18:35: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNNh3cZ6z3RKH for ; Sun, 29 Mar 2026 18:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QqQK1xLLm6mQHwxGY/pQgQZQm8usBf19oa2gwbBpDVk=; b=A665OaYr7ly/JWECmMfl/nxx6mcxu4k1s5yCSOoPkynvO9mwyjW2bxziHoK80H3nl8FiMv epcnU7/AzsUJwmoVVsRPNLKXtlLJ764/ltBvpUbHjWhH8Fs5ZF4GZUOlz/NVBdCmAU0eMR GtAgZ1FGNHRLKRDavCusB1Mq+vKcjrLJFA1ISp9CxcbU16qBYEcWB3EemwqvpBQ+6d5URg LnP83Lste5CP0OHJV36UrLm9hncLpMBRbr01oyYiQECZ2Tl4BdSl1xC+4sNvDvTalNeANH afv9bF8mlGM3JQuJj/AEVReq/GxTfd0gBIq9g6kw14tg+krbS6zCim/UgKTecw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774809332; a=rsa-sha256; cv=none; b=i/q5QtE8z18dNzkKhholGDZggaqD8nbJN+zA9daBD0MdCPloeLiP2Hg1BJBHDW+mPMTTF7 h3GyuI+4g9ZYwPlTAKhX0i+JQeFKKeZM0IOV99EtwPlfTnRPlny2hSrl2KkCrTrAO02a1M ZmKiO6htskosZyLRA/Yo4TqffPa/t8GEwTY/519VzHgCD6Wud9d1xCNlb1P0Sk+1qByvAE OArZkgm2tOsjHBJYI7gXO6EvWoM8+1n5F/8zd+1IrDPBIFMDQdwuWVcPUxQ8vmjLFETiJQ fTtqQf4x/dYlXPb5dZdmHLbVAYZ6jslHJ56t8uXiJZVBoA4OeXkIOOKATElTMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QqQK1xLLm6mQHwxGY/pQgQZQm8usBf19oa2gwbBpDVk=; b=dK/sMrt9ttiDfkyXtqPuxwYO8bV3hlnCdW7IpOimkZPyTXc64TcmdXVJOD2e/ynPb5WIgt 0UrNVlVRg3eO3imy4OBAUJshvy8sgkw0uhI9Gx7/uuft2iUBdPliwkeNRau1f7LCngUXmE ISRoLzDAleVkJCzLEiPHRcUAVuC2eaZe4DCLUQXC1PUsDsHRGvh/lQHSlK2knL2uwCvcHC 2kjJn2eD+OnjxOt6VkYAyCeHPTNUbGD/s4OWrk7hXsECFBaW9vkv15EqyP1/8mEAwcvPr9 2WkcYqXEI+L94QvbM8F0gJIby3RyCzos1OBO/GGXdZW/kZt7fRPBfuMhaDMw/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNh394Sz1Mhq for ; Sun, 29 Mar 2026 18:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19a55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 18:35:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Salychev Subject: git: 5812415bee55 - main - dpaa2: Perform bus_dma pre-write sync before enqueue operation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dsl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5812415bee55a9063508b02fda9418b0eadb0bb4 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 18:35:32 +0000 Message-Id: <69c970f4.19a55.1c610811@gitrepo.freebsd.org> The branch main has been updated by dsl: URL: https://cgit.FreeBSD.org/src/commit/?id=5812415bee55a9063508b02fda9418b0eadb0bb4 commit 5812415bee55a9063508b02fda9418b0eadb0bb4 Author: Dmitry Salychev AuthorDate: 2026-03-28 18:57:45 +0000 Commit: Dmitry Salychev CommitDate: 2026-03-29 18:34:09 +0000 dpaa2: Perform bus_dma pre-write sync before enqueue operation Without a proper synchronization payload of the egress TCP segments can be corrupted as tuexen@ described in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006#c31. This patch is indirectly related to 292006 because a properly enabled and announced support for the TX checksum offloading hides potentially corrupted frame payload. NOTE: Returned back with updated placeholders. PR: 292006 Reported by: tuexen@ Reviewed by: tuexen@ Tested by: dsl@, tuexen@ Differential Revision: https://reviews.freebsd.org/D56144 MFC after: 3 days --- sys/dev/dpaa2/dpaa2_ni.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index c72e68b8a62f..49e72c8ee14f 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -3004,6 +3004,9 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, goto err_unload; } + bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); + /* TODO: Enqueue several frames in a single command */ for (int i = 0; i < DPAA2_NI_ENQUEUE_RETRIES; i++) { /* TODO: Return error codes instead of # of frames */ @@ -3013,9 +3016,6 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, } } - bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); - bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); - if (rc != 1) { fq->chan->tx_dropped++; if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); From nobody Sun Mar 29 18:35:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNm5kWhz6X7ZL for ; Sun, 29 Mar 2026 18:35: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNNm4JP3z3RVh for ; Sun, 29 Mar 2026 18:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CNiYlYMd4auXPv1TE2ZSGCz1j6bVOp+c8PWBr6IPw7E=; b=WC314S/kHYDBmYmyRvN8vZL2NfR0LAkBJhmhbtkxkyLbAVZQ/gnyrlYF/85MqrZmEWRebq QsuxeVY2UWtLGkyx5mEfutwwUbZbVf53lFf9nDXWGYHWBIherXVoZdhsnioaEXQRMyTtnG w1m416CfQGf8tfro4qmvu/kvdxodtBsQFWq229q7SoBMGN/b1q7/4ebuq1CbouaCu/9fzP oADEVtkxmUZOQFHEKky8jadP/wiKemaFxFG/iVclEipDXJl9+h2dyIplErofzMDPkFO4Ck DpFwZk1zjfWZO+tVhoD7cuG5bDNxXfXboylFp5VpARdq4TkVO23+Px3f/K2YVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774809336; a=rsa-sha256; cv=none; b=jir98R08DdAdCah+7C9Y/ESkW2hoRVR5XF8rcxiO+6ank15jnwI2EsDAiEEoZdA7pAuai1 0QCecgxXSTVwBaif2gwGHEccdpbPVJN/Mi8xvdt3Vvsn73Gu8VPdfb0XrQyed6u4a1X64T bQJrFeNj5/bpcEEAnJN3uNIw8dRR4NF+W9ULhnlU5oH1X7/mE0qGs+UOj50tdBGb/n8gDn i9iBGadPnh5pnfyMq2AM52JyHBnB3UkKx+L38CMER8wCXfw/+01aeV7k7czvjeHhTeqcJo rg1qTRCXzQVK3tMRUm3z3J0qTDyVeltxEi/3Puo4c8g2VGPpgDOFw0Amv+ZSPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CNiYlYMd4auXPv1TE2ZSGCz1j6bVOp+c8PWBr6IPw7E=; b=wNhaHTARj78jeyP6fdJ60AvUGVD8pDHBQRDh4i79kmYB4UUamm9qmd9ye6VT8mu9jFT7zS ARPrclqkQ0dqKMnVx5+ycb7booH5bVtJHf8eQlr9eNydXsRsHPcDmXwI8+hNanUyAE+3zR UhLiHcZIe/8Jr5Ty0h9Y2MCY/QEutGo0jhe0B8Btoikwj6Cmo9lMUkG6VJwb2fWZySu/fD cXjSn/dTue3Rt+35Mv6qdIqRcOYz3HEq0I2PfQgrd9NYXEnHQOhm880/WsPG7L1qHE+Ene xc0zOpFjS5nwlH/LWfg8ybANs/EM9U4gP2UgwSRjAQ7FDX/7pLwKRsTXuafgiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNm3lgNz1Mnl for ; Sun, 29 Mar 2026 18:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18e06 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 18:35:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Salychev Subject: git: c78e653b49f7 - main - Revert "dpaa2: Perform bus_dma pre-write sync before enqueue operation" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dsl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c78e653b49f7039bb8c84a6ad79be21b90aaf464 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 18:35:31 +0000 Message-Id: <69c970f3.18e06.5cf21ca7@gitrepo.freebsd.org> The branch main has been updated by dsl: URL: https://cgit.FreeBSD.org/src/commit/?id=c78e653b49f7039bb8c84a6ad79be21b90aaf464 commit c78e653b49f7039bb8c84a6ad79be21b90aaf464 Author: Dmitry Salychev AuthorDate: 2026-03-29 18:33:33 +0000 Commit: Dmitry Salychev CommitDate: 2026-03-29 18:33:33 +0000 Revert "dpaa2: Perform bus_dma pre-write sync before enqueue operation" This reverts commit 968164eb650fd986f293512a3faac5c1c9e4d51f. --- sys/dev/dpaa2/dpaa2_ni.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index 49e72c8ee14f..c72e68b8a62f 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -3004,9 +3004,6 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, goto err_unload; } - bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); - bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); - /* TODO: Enqueue several frames in a single command */ for (int i = 0; i < DPAA2_NI_ENQUEUE_RETRIES; i++) { /* TODO: Return error codes instead of # of frames */ @@ -3016,6 +3013,9 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, } } + bus_dmamap_sync(buf->dmat, buf->dmap, BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sgt->dmat, sgt->dmap, BUS_DMASYNC_PREWRITE); + if (rc != 1) { fq->chan->tx_dropped++; if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); From nobody Sun Mar 29 18:59:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNwP35WHz6X9MQ for ; Sun, 29 Mar 2026 18:59: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNwP1sDYz3W8G for ; Sun, 29 Mar 2026 18:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkYZ9KRHho87DzztgzSvNa5g3bPkQoql8AO2IItTIeQ=; b=KoY2jI9MD6K0CrP7xCsf6zK4VHNZ6ygnLaqQWDVBR4LQjYI700U6boqWG4J10OUqbMlZn4 L88SEbhyxP8+6/tMVHG55GnFDx2NFtYelwDkOjisajdt/5vmKISNhrZ69h7gnUI9vQCdWd o12EAKGj12Chuo0fFcisiQrLKWzh9DdEv84KAHI8yVZEP9wyYJd7UvZgfxp8n+gbBrnZvU ylqoVmzwsZ5LTpUV3GvlSTi34elicPVOUvT4XkhdMZpTzBEOkfKRaCsVpQ0WzXUupsNXGW L7nS6zAUBm+BfDQFdOzldfX7rkv3WMBdhW/FVhMNCusTPiAXazJH9/3E1RPHEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774810773; a=rsa-sha256; cv=none; b=tba404J5AnHq4FRGzun68HHDW8ARDtiKJ9k3kN4SN769Q/LiV1o39+bT/BvBRUcThbak7b XjTrLQRx4HhBpZnpGH4YPCd9G9hBPDDb/HfG+CqeuoHQc+zC/77n7EiODUB5+SP+OW5lLS +sP6jjf8few81tQS+TxtZax5/qTooxh5Nfw+wQ6uoPwW/mheGIqzGOf/W4cnSb6juxBnLp yCM68+aaBL/Vi0Wm5QoThTFZYdOPAwEZA5dWooeg2yas6mlmYKd4nPEpqS/GnhT3QI8afW vC3eP27bxoZatd4ErxbzOFjNe66zFLJxPL+VLgTA+d03qtm19x4+er1ekdh+0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkYZ9KRHho87DzztgzSvNa5g3bPkQoql8AO2IItTIeQ=; b=rdYd+YbdpTAV09Fpx5kvmiwAMsA4VjBpprkyT+qaGWomEZtqsMUttW2IQCe0lvEhANxaiR WjZPZdDWTBUDTyrytCTuGdug0OD4/mn7xAqm2ThSZerO384qePdqEx9/Mt09S/nMYFyay2 juIy8hWfvc3YyeMFhxlqibJHFbSADgqpjD0fcc6o5tcosWhuJO9RxQNh4u56cmlkRYj9IU BOeqLh3kfZChMUBS1dmoz5LVhAH4kQdbPIE4Ss2L06OesEq/tbmZm/WI3CRImWVJbkwywG nvUXnnrL80IHzG/VfNGhqQNWICBfE2xnnvBoY2+JqoeqtiiOpQaOFu5rf59EdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNwP1DqVz1MkT for ; Sun, 29 Mar 2026 18:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bf20 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 18:59:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 63ecedb3c2ce - main - packages: Fix caroot deinstall command List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63ecedb3c2ce75a44d55b9424d74d94e294de313 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 18:59:28 +0000 Message-Id: <69c97690.1bf20.5daf506f@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=63ecedb3c2ce75a44d55b9424d74d94e294de313 commit 63ecedb3c2ce75a44d55b9424d74d94e294de313 Author: Lexi Winter AuthorDate: 2026-03-29 18:57:23 +0000 Commit: Lexi Winter CommitDate: 2026-03-29 18:57:23 +0000 packages: Fix caroot deinstall command The correct syntax is 'post-deinstall', not 'post-uninstall'. MFC after: 3 days (stable/15 only) Reviewed by: jlduran, des Differential Revision: https://reviews.freebsd.org/D56109 Sponsored by: https://www.patreon.com/bsdivy --- release/packages/ucl/caroot.ucl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/packages/ucl/caroot.ucl b/release/packages/ucl/caroot.ucl index f7d0dd8acb7f..72c1105248c0 100644 --- a/release/packages/ucl/caroot.ucl +++ b/release/packages/ucl/caroot.ucl @@ -5,5 +5,5 @@ deps { } scripts: { post-install = "/usr/sbin/certctl -D${PKG_ROOTDIR}/ ${PKG_METALOG:+-U -M $PKG_METALOG} rehash" - post-uninstall = "/usr/sbin/certctl -D${PKG_ROOTDIR}/ ${PKG_METALOG:+-U -M $PKG_METALOG} rehash" + post-deinstall = "/usr/sbin/certctl -D${PKG_ROOTDIR}/ ${PKG_METALOG:+-U -M $PKG_METALOG} rehash" } From nobody Sun Mar 29 19:02:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzF0KDRz6X9pl for ; Sun, 29 Mar 2026 19:02: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNzD6Y54z3Y0R for ; Sun, 29 Mar 2026 19:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5fKRbPvKKuUQonw3kQK7odJ7P9Ud4zeN//nGlbfOXI=; b=s+iUADPUx/UJS6SMZXWbckj5kwoYsX70zYTTgfN7CfEVkgvo7DmQB177Ft394MAT1GhZm1 18hClE+0cxsHZNZrYdo0vkvAZxy7P/Rr38qlnF7u+4rbtaVf6xmqzi8wxZ3e2IgMoTikfF 4eb863GCzrmFI+e0D3ZpaB7QF5z4o49Al89nmWOVef+gH1T+rD0ykHMkK1Pz5Kvi3cpcph n7x4WAnsNBYdIQie5omI9PGCFHsL/iFJ3z0svYid1P15sjshelLHB39HZDyR2iPbzqIO6d deuyZ9wiP6rUS3KNKWJbIt4yGsyvwn54VYGJUs0I5mrunmDIEpLheemcDbKzyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774810920; a=rsa-sha256; cv=none; b=k9fDzx+HH+Zi06c36egjppfMj7Az076HxYGnZ50sWTRxczJasW8Bo3UYWGQFdWIvOQDVnK RaTUjqLUpjCEF38OJqrFmx5+kI0iAC40lbyV/hW3xyMZaWC2D/Rd5KDtsGRdkWwo6y7wrE 39WdwotlDBZ5MHhP0oQNF7teCW0irXTqF564lOQ2seDI+MoScgtwVWVWon+z9WjDgsW1O9 cx+lYUtg72wYXBlv0RlL2lAsxNzFN1ZAR+9hJEGN8Kq+ysIxKCA2OSZ8xuW4Eq0hemMM3k Wgp4JHnrj8uBYevuRADLjJ7ftfxXZpaMWaZal33QkCTzH7iNbHXqRmBWmFAgUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5fKRbPvKKuUQonw3kQK7odJ7P9Ud4zeN//nGlbfOXI=; b=FzvrsIEL0RBZ2Ioa94Qc7HXUcYDCn5TsWIAWvwDPH3TMzvGIELp+od3dGjovPXdJzs9rF9 wRKMOz7Js81vdwYPIBnYCMBDSl1z1kTfy1StUNQZQL7R34+qaFbvBePA+in/sQoobZsQ8z gmSruA4rgh5TFOcaammltUO+w2CoSMWyAzwSne8GRm27UQSjfxTGhSRN1ZxXAc8b3zCJrH c6947JX/cJzh1czi8xAwQgblr4vCQmYBwbVXKV+dAp7iUhYlKfSCy9Ukh8pYgl7mLYL115 uH8wnTsN+/9od9lJh0YcHJ7gojdi5xXSIQwoJ3z3xICQMyw24giZ/ODB6KBQsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzD65hhz1NG6 for ; Sun, 29 Mar 2026 19:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d6b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 19:02:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 056e29070f08 - main - asmc(4): Add PnP record List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 056e29070f083ac4cea31ac0a08619add6370839 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 19:02:00 +0000 Message-Id: <69c97728.1d6b7.108edb5b@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=056e29070f083ac4cea31ac0a08619add6370839 commit 056e29070f083ac4cea31ac0a08619add6370839 Author: Vladimir Kondratyev AuthorDate: 2026-03-29 19:00:59 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 19:00:59 +0000 asmc(4): Add PnP record To load asmc(4) automagically on boot with devd(8). MFC after: 1 month --- sys/dev/asmc/asmc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 17a282ce0b97..f39eef63aef4 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -606,6 +606,7 @@ static char *asmc_ids[] = { "APP0001", NULL }; static unsigned int light_control = 0; +ACPI_PNP_INFO(asmc_ids); DRIVER_MODULE(asmc, acpi, asmc_driver, NULL, NULL); MODULE_DEPEND(asmc, acpi, 1, 1, 1); From nobody Sun Mar 29 19:02:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzG2GtMz6X9n9 for ; Sun, 29 Mar 2026 19:02: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNzG0P26z3Y4s for ; Sun, 29 Mar 2026 19:02:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XOCvQ8kTcWngz/lklkePHGKVM/JmvOufCQGsDxIchSI=; b=DIyo3rz1gKjdElONGt0nRNdqGw632LUz2ZGjtZK3+crJT5oOkp8WqeUMOL1nt7BfvCAbDo 95mmNmnMOXaid+f7+RXZPDWUDENBM94g4mAnE/L1k2FnI7Gzw0/A3TEgTD4uwVRlygX3sE JbBspkdjoxeG2VzVbJ+YhGRWcDEm+2u8zLRaGXGKIaslFYIfcoUEioUlt9JUQaiNPDY1E+ nDYcPIEDpalY8YqmKb97LpaXxzqzNuP1u+CQNOovqXeTjdutibalxGBl5zR+bOmHn3nz3w DQ6C5LSOGWblNZdXsSf7Ac3M4QY3p9+xAHOt4x4/Od8eU3a/91sncxZFvFrEuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774810922; a=rsa-sha256; cv=none; b=U2tJ/v7MY4X7hwpgF+O4VaRHcaCcmc00YEQ+EuPuZRdtn2cdKPUKHRzTA+sMYCZn45HGC5 +KyxyG7xexFNIg4FB3S28nOr5BofGKKs1vavTB/bHX7acvA6z165qQKik84gbQF1t6T0+T +v+5qIXSG5n5A/UvD7sQMRd7BrEuSHUbB8dxBX3I/jKAY3WXX07rO3EI6KO99Sig/GnFb1 OyGT5uPcDEcBaTjNJs/WeX2HA5y1qG5dD3bkm0vxm0G3lmrPEZRdRudKPXwr5Y8ViaXadf tzAKI54nW08Ld/anyDgdIslLhYCd2d6aDP7WJGEpNY9OX9x2Q+G8DenxYc7ERQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XOCvQ8kTcWngz/lklkePHGKVM/JmvOufCQGsDxIchSI=; b=h9mEIVPvwf5WIKi5izeGhffaDBgduG5bvYJgBJnLh154umqW+sIlgxzM+8U4RlEcz3KnR5 wldvPOe5JkJj1jy9TIGhU2uuK31qIiETy37wBovhiIUKeUWglGwvs8hoGuRI90uD528ndk AgybVJdZd1ONoJ7EXZy+P5B+M/bnju99GUBj6C1bDOOSGcYJb3uTpshTBUTLwweT05oGVn 28X29cxHNiANUk4Tk9YCMt99va8rpdear8/OYLjU7zXW7qkjeWxUI1AVKZVYYpLgb782TZ 55ASL7u4KtRfzm3IrFNjWZedM9RnPbX8nqAT5DPZSlasKh4ZDI/sGFHv8IelbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzF6wpZz1NZl for ; Sun, 29 Mar 2026 19:02:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ce95 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 19:02:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 5d7862fb998f - main - asmc(4): Add support for backlight(9) interface List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d7862fb998f48ba71dac7e34106aaad350db348 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 19:02:01 +0000 Message-Id: <69c97729.1ce95.76b97b99@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=5d7862fb998f48ba71dac7e34106aaad350db348 commit 5d7862fb998f48ba71dac7e34106aaad350db348 Author: Vladimir Kondratyev AuthorDate: 2026-03-29 19:00:59 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 19:00:59 +0000 asmc(4): Add support for backlight(9) interface MFC after: 1 month --- share/man/man4/asmc.4 | 11 +++++++- sys/dev/asmc/asmc.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ sys/dev/asmc/asmcvar.h | 2 ++ sys/modules/asmc/Makefile | 3 ++- 4 files changed, 80 insertions(+), 2 deletions(-) diff --git a/share/man/man4/asmc.4 b/share/man/man4/asmc.4 index 4bc2a040bbce..f3eddcaf965e 100644 --- a/share/man/man4/asmc.4 +++ b/share/man/man4/asmc.4 @@ -79,7 +79,9 @@ On systems, you can control the keyboard brightness by writing a value to the .Va dev.asmc.%d.light.control -sysctl MIB. +sysctl MIB or with +.Xr backlight 8 +utility. .Pp The following sysctl MIBs contains the raw value returned by the left and right light sensors: @@ -143,8 +145,15 @@ dramatically reduce your hard drive's life span. Do not rely solely on the SMS to protect your hard drive: good care and common sense can increase your hard drive's life. +.Sh FILES +.Bl -tag -width ".Pa /dev/backlight/asmc0" -compact +.It Pa /dev/backlight/asmc0 +Keyboard +.Xr backlight 8 +device node. .Sh SEE ALSO .Xr ataidle 8 Pq Pa ports/sysutils/ataidle , +.Xr backlight 8 , .Xr devd 8 , .Xr sysctl 8 .Sh HISTORY diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index f39eef63aef4..4a6734e22786 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -58,6 +58,9 @@ #include #include +#include +#include "backlight_if.h" + /* * Device interface. */ @@ -66,6 +69,15 @@ static int asmc_attach(device_t dev); static int asmc_detach(device_t dev); static int asmc_resume(device_t dev); +/* + * Backlight interface. + */ +static int asmc_backlight_update_status(device_t dev, + struct backlight_props *props); +static int asmc_backlight_get_status(device_t dev, + struct backlight_props *props); +static int asmc_backlight_get_info(device_t dev, struct backlight_info *info); + /* * SMC functions. */ @@ -581,6 +593,12 @@ static device_method_t asmc_methods[] = { DEVMETHOD(device_attach, asmc_attach), DEVMETHOD(device_detach, asmc_detach), DEVMETHOD(device_resume, asmc_resume), + + /* Backlight interface */ + DEVMETHOD(backlight_update_status, asmc_backlight_update_status), + DEVMETHOD(backlight_get_status, asmc_backlight_get_status), + DEVMETHOD(backlight_get_info, asmc_backlight_get_info), + DEVMETHOD_END }; @@ -609,6 +627,7 @@ static unsigned int light_control = 0; ACPI_PNP_INFO(asmc_ids); DRIVER_MODULE(asmc, acpi, asmc_driver, NULL, NULL); MODULE_DEPEND(asmc, acpi, 1, 1, 1); +MODULE_DEPEND(asmc, backlight, 1, 1, 1); static const struct asmc_model * asmc_match(device_t dev) @@ -800,6 +819,13 @@ asmc_attach(device_t dev) CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, dev, 0, model->smc_light_control, "I", "Keyboard backlight brightness control"); + + sc->sc_kbd_bkl = backlight_register("asmc", dev); + if (sc->sc_kbd_bkl == NULL) { + device_printf(dev, "Can not register backlight\n"); + ret = ENXIO; + goto err; + } } if (model->smc_sms_x == NULL) @@ -882,6 +908,9 @@ asmc_detach(device_t dev) { struct asmc_softc *sc = device_get_softc(dev); + if (sc->sc_kbd_bkl != NULL) + backlight_destroy(sc->sc_kbd_bkl); + if (sc->sc_sms_tq) { taskqueue_drain(sc->sc_sms_tq, &sc->sc_sms_task); taskqueue_free(sc->sc_sms_tq); @@ -1739,6 +1768,7 @@ static int asmc_mbp_sysctl_light_control(SYSCTL_HANDLER_ARGS) { device_t dev = (device_t)arg1; + struct asmc_softc *sc = device_get_softc(dev); uint8_t buf[2]; int error; int v; @@ -1750,6 +1780,7 @@ asmc_mbp_sysctl_light_control(SYSCTL_HANDLER_ARGS) if (v < 0 || v > 255) return (EINVAL); light_control = v; + sc->sc_kbd_bkl_level = v * 100 / 255; buf[0] = light_control; buf[1] = 0x00; asmc_key_write(dev, ASMC_KEY_LIGHTVALUE, buf, sizeof(buf)); @@ -1817,3 +1848,38 @@ asmc_wol_sysctl(SYSCTL_HANDLER_ARGS) return (0); } + +static int +asmc_backlight_update_status(device_t dev, struct backlight_props *props) +{ + struct asmc_softc *sc = device_get_softc(dev); + uint8_t buf[2]; + + sc->sc_kbd_bkl_level = props->brightness; + light_control = props->brightness * 255 / 100; + buf[0] = light_control; + buf[1] = 0x00; + asmc_key_write(dev, ASMC_KEY_LIGHTVALUE, buf, sizeof(buf)); + + return (0); +} + +static int +asmc_backlight_get_status(device_t dev, struct backlight_props *props) +{ + struct asmc_softc *sc = device_get_softc(dev); + + props->brightness = sc->sc_kbd_bkl_level; + props->nlevels = 0; + + return (0); +} + +static int +asmc_backlight_get_info(device_t dev, struct backlight_info *info) +{ + info->type = BACKLIGHT_TYPE_KEYBOARD; + strlcpy(info->name, "Apple MacBook Keyboard", BACKLIGHTMAXNAMELENGTH); + + return (0); +} diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index 95a117f59533..cfc176559ed9 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -51,6 +51,8 @@ struct asmc_softc { struct taskqueue *sc_sms_tq; struct task sc_sms_task; uint8_t sc_sms_intr_works; + struct cdev *sc_kbd_bkl; + uint32_t sc_kbd_bkl_level; }; /* diff --git a/sys/modules/asmc/Makefile b/sys/modules/asmc/Makefile index 4ba45a4625d8..17f6c7eec731 100644 --- a/sys/modules/asmc/Makefile +++ b/sys/modules/asmc/Makefile @@ -1,6 +1,7 @@ .PATH: ${SRCTOP}/sys/dev/asmc KMOD= asmc -SRCS= asmc.c opt_acpi.h opt_asmc.h acpi_if.h bus_if.h device_if.h +SRCS= asmc.c opt_acpi.h opt_asmc.h +SRCS+= acpi_if.h backlight_if.h bus_if.h device_if.h .include From nobody Sun Mar 29 19:02:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzH50DVz6X9tZ for ; Sun, 29 Mar 2026 19:02:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkNzH1Rwyz3Y0g for ; Sun, 29 Mar 2026 19:02:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810923; h=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=ITKxJCWVA3qF8YcnGDut15OfuO+HcZngT2cpJvhGIL4=; b=f5TUBlW+7jqO25ON725e2ZeaXzN7/isMFkHrSHYp/IF9ESxCk8tpZ29Qx3GcCSvyMzpDu4 1PkCjy43IHPRjkVjgCx/j8zmtu6S57GlsxnxzTNHuoJR11Zk7ZT8dWkKwr9+gTFSgPOF4O D7hBEiuR45od2sByEw9DZekxayBOhGcnIW3wt4Oc7bZPbk3+3El6qhgVaqGrgHy6AtvWve Fiao6CisNMTvkO1sRmrnJ1txQgB541tEzPzjCxoRY0jMrYNxubCP+lTtwo7cihfwUhg57M c6SY0cccFZGFt5ijdFTqDXhJNFcZEJoXkdPEudvWoZgrtzBQFrSEjvTGSfluLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774810923; a=rsa-sha256; cv=none; b=mQtKDuVvl2MNPFikeM7+3QSz9xwu0XV6j5TuhNXnYx+WMQuc4jrJWalfoCWYY6JpT7akw9 TvJOkQ0LhPqz1Xphmd1hFh/TswnIccSzZ281TI7zLaiaINcvUrXFbxT0uZ9TCtnTnbNGER +eQ+fDYTLKT3QaQ7nF5Ddr45k2sDd5qZEmcAsG25F9aw181ITJnBJ/apsDHlDjuzXLfjKx A5MdOQldEy8+RJtq8RCar3fhFwP/49VBMrtovjvmz6eQxN29ljnsKVpFUBLnXhDnNrUkbJ e+ISVeZp5T4L2J/5BvIY+CbYTwxwj6MWIPSswGO2KkJQssCh4MMyaG6uxWM1wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810923; h=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=ITKxJCWVA3qF8YcnGDut15OfuO+HcZngT2cpJvhGIL4=; b=RKW+KumHoz4YqsGQZy8nu7Ek37qtWHOLIt0iikq5HY0EfshJz+jkwrw4SJdgrHH6KuAhHs oq9daK799dCrruzYShggt9n9wnh/s1+Cwgo8KiOGKrwWKD0zL0Kw3Ta61t4QfDI/r4RVN7 Vehce9t0AeOvKsGyIu+D7f3g2MNAect3JwAtA0Q2tcS1159ETXIZ4mF0CzOXGaQYlOhFAb GpqiYr0nZtfK2QAqGq3P5IfMm637ogGvWNUwhYR0Bvl7ho6PPNJUW8P2b1uF+R0Juj7iLT EscdNmrKvX7kTC760wqeQTVIqs3dMowdou245VWQKm4KDsCAV7LJOnvTEa9VQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzH0jzfz1NZn for ; Sun, 29 Mar 2026 19:02:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dda0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 19:02:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Vladimir Kondratyev Subject: git: f3fc362c0fb2 - main - bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3fc362c0fb27731e2c22523e0cedf1adec26c44 Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 19:02:03 +0000 Message-Id: <69c9772b.1dda0.1df3ab64@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=f3fc362c0fb27731e2c22523e0cedf1adec26c44 commit f3fc362c0fb27731e2c22523e0cedf1adec26c44 Author: Christos Longros AuthorDate: 2026-03-29 19:00:59 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 19:00:59 +0000 bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw Generic Realtek vendor rules already match all 0x0bda Bluetooth devices. Remove the redundant per-product entries from ng_ubt_rtl.c, rtlbtfw main.c, and rtlbtfw.conf. Reviewed by: wulf MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D56137 --- sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c | 24 +++------ usr.sbin/bluetooth/rtlbtfw/main.c | 24 +++------ usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf | 68 ------------------------- 3 files changed, 12 insertions(+), 104 deletions(-) diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c index f5dcac0a6846..54c3659d0ac9 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c @@ -74,21 +74,19 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = USB_IFACE_SUBCLASS(UDSUBCLASS_RF), USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) }, + /* + * Non-Realtek vendors using Realtek Bluetooth chipsets. + * Devices with vendor 0x0bda are already matched by the + * generic rule above. + */ + /* Realtek 8821CE Bluetooth devices */ { USB_VPI(0x13d3, 0x3529, 0) }, - /* Realtek 8822CE Bluetooth devices */ - { USB_VPI(0x0bda, 0xb00c, 0) }, - { USB_VPI(0x0bda, 0xc822, 0) }, - /* Realtek 8851BE Bluetooth devices */ { USB_VPI(0x13d3, 0x3600, 0) }, /* Realtek 8852AE Bluetooth devices */ - { USB_VPI(0x0bda, 0x2852, 0) }, - { USB_VPI(0x0bda, 0xc852, 0) }, - { USB_VPI(0x0bda, 0x385a, 0) }, - { USB_VPI(0x0bda, 0x4852, 0) }, { USB_VPI(0x04c5, 0x165c, 0) }, { USB_VPI(0x04ca, 0x4006, 0) }, { USB_VPI(0x0cb8, 0xc549, 0) }, @@ -105,9 +103,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = /* Realtek 8852BE Bluetooth devices */ { USB_VPI(0x0cb8, 0xc559, 0) }, - { USB_VPI(0x0bda, 0x4853, 0) }, - { USB_VPI(0x0bda, 0x887b, 0) }, - { USB_VPI(0x0bda, 0xb85b, 0) }, { USB_VPI(0x13d3, 0x3570, 0) }, { USB_VPI(0x13d3, 0x3571, 0) }, { USB_VPI(0x13d3, 0x3572, 0) }, @@ -115,11 +110,7 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x0489, 0xe123, 0) }, { USB_VPI(0x0489, 0xe125, 0) }, - /* Realtek 8852BT/8852BE-VT Bluetooth devices */ - { USB_VPI(0x0bda, 0x8520, 0) }, - /* Realtek 8922AE Bluetooth devices */ - { USB_VPI(0x0bda, 0x8922, 0) }, { USB_VPI(0x13d3, 0x3617, 0) }, { USB_VPI(0x13d3, 0x3616, 0) }, { USB_VPI(0x0489, 0xe130, 0) }, @@ -141,7 +132,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x7392, 0xa611, 0) }, /* Realtek 8723DE Bluetooth devices */ - { USB_VPI(0x0bda, 0xb009, 0) }, { USB_VPI(0x2ff8, 0xb011, 0) }, /* Realtek 8761BUV Bluetooth devices */ @@ -149,7 +139,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x2357, 0x0604, 0) }, { USB_VPI(0x0b05, 0x190e, 0) }, { USB_VPI(0x2550, 0x8761, 0) }, - { USB_VPI(0x0bda, 0x8771, 0) }, { USB_VPI(0x6655, 0x8771, 0) }, { USB_VPI(0x7392, 0xc611, 0) }, { USB_VPI(0x2b89, 0x8761, 0) }, @@ -175,7 +164,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x13d3, 0x3555, 0) }, { USB_VPI(0x2ff8, 0x3051, 0) }, { USB_VPI(0x1358, 0xc123, 0) }, - { USB_VPI(0x0bda, 0xc123, 0) }, { USB_VPI(0x0cb5, 0xc547, 0) }, }; const size_t ubt_rtl_devs_sizeof = sizeof(ubt_rtl_devs); diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c index 37c902739206..dc9ccd6c5fcd 100644 --- a/usr.sbin/bluetooth/rtlbtfw/main.c +++ b/usr.sbin/bluetooth/rtlbtfw/main.c @@ -57,21 +57,19 @@ struct rtlbt_devid { }; static struct rtlbt_devid rtlbt_list[] = { + /* + * Non-Realtek vendors using Realtek Bluetooth chipsets. + * Devices with vendor 0x0bda are already matched by the + * generic check in rtlbt_find_device(). + */ + /* Realtek 8821CE Bluetooth devices */ { .vendor_id = 0x13d3, .product_id = 0x3529 }, - /* Realtek 8822CE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0xb00c }, - { .vendor_id = 0x0bda, .product_id = 0xc822 }, - /* Realtek 8851BE Bluetooth devices */ { .vendor_id = 0x13d3, .product_id = 0x3600 }, /* Realtek 8852AE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x2852 }, - { .vendor_id = 0x0bda, .product_id = 0xc852 }, - { .vendor_id = 0x0bda, .product_id = 0x385a }, - { .vendor_id = 0x0bda, .product_id = 0x4852 }, { .vendor_id = 0x04c5, .product_id = 0x165c }, { .vendor_id = 0x04ca, .product_id = 0x4006 }, { .vendor_id = 0x0cb8, .product_id = 0xc549 }, @@ -88,9 +86,6 @@ static struct rtlbt_devid rtlbt_list[] = { /* Realtek 8852BE Bluetooth devices */ { .vendor_id = 0x0cb8, .product_id = 0xc559 }, - { .vendor_id = 0x0bda, .product_id = 0x4853 }, - { .vendor_id = 0x0bda, .product_id = 0x887b }, - { .vendor_id = 0x0bda, .product_id = 0xb85b }, { .vendor_id = 0x13d3, .product_id = 0x3570 }, { .vendor_id = 0x13d3, .product_id = 0x3571 }, { .vendor_id = 0x13d3, .product_id = 0x3572 }, @@ -98,11 +93,7 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x0489, .product_id = 0xe123 }, { .vendor_id = 0x0489, .product_id = 0xe125 }, - /* Realtek 8852BT/8852BE-VT Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x8520 }, - /* Realtek 8922AE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x8922 }, { .vendor_id = 0x13d3, .product_id = 0x3617 }, { .vendor_id = 0x13d3, .product_id = 0x3616 }, { .vendor_id = 0x0489, .product_id = 0xe130 }, @@ -124,7 +115,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x7392, .product_id = 0xa611 }, /* Realtek 8723DE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0xb009 }, { .vendor_id = 0x2ff8, .product_id = 0xb011 }, /* Realtek 8761BUV Bluetooth devices */ @@ -132,7 +122,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x2357, .product_id = 0x0604 }, { .vendor_id = 0x0b05, .product_id = 0x190e }, { .vendor_id = 0x2550, .product_id = 0x8761 }, - { .vendor_id = 0x0bda, .product_id = 0x8771 }, { .vendor_id = 0x6655, .product_id = 0x8771 }, { .vendor_id = 0x7392, .product_id = 0xc611 }, { .vendor_id = 0x2b89, .product_id = 0x8761 }, @@ -158,7 +147,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x13d3, .product_id = 0x3555 }, { .vendor_id = 0x2ff8, .product_id = 0x3051 }, { .vendor_id = 0x1358, .product_id = 0xc123 }, - { .vendor_id = 0x0bda, .product_id = 0xc123 }, { .vendor_id = 0x0cb5, .product_id = 0xc547 }, }; diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf index 0a2b33d33b18..f27e0ee50ccc 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf @@ -26,16 +26,6 @@ notify 100 { action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -# Realtek 8822CE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0xb00c|0xc822)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; - # Realtek 8851BE Bluetooth devices notify 100 { match "system" "USB"; @@ -47,14 +37,6 @@ notify 100 { }; # Realtek 8852AE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0x2852|0xc852|0x385a|0x4852)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -131,14 +113,6 @@ notify 100 { match "product" "0xc559"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0x4853|0x887b|0xb85b)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -156,25 +130,7 @@ notify 100 { action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -# Realtek 8852BT/8852BE-VT Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8520"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; - # Realtek 8922AE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8922"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -247,14 +203,6 @@ notify 100 { }; # Realtek 8723DE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0xb009"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -297,14 +245,6 @@ notify 100 { match "product" "0x8761"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8771"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -415,14 +355,6 @@ notify 100 { match "product" "0xc123"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0xc123"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; From nobody Sun Mar 29 19:07:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkP5r2N77z6XBXw for ; Sun, 29 Mar 2026 19:07: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkP5r1Xhmz3fg2 for ; Sun, 29 Mar 2026 19:07:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774811264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SwKqMEK7XQyslcpcDTyVkmd6gZa2EGJf/dvtPRbydTA=; b=FEg+ufwZtHPc16bTiVTf66LQpRE2pi6XbyooBX8YgYwqy7LD43x2fwJS69TuB975SIrzeQ 8jImJgZu2It49X7Fam1roH2z+/0mIrX24MfwCMJoTJPWhzy75XF89cmNv5ozGADhJQz3rM q3/fRDLZ0Fg6bHvQgVlJufIgFmIMfiC7aO63aQk+iJnvN+fsetHojn90CTKHXeJyU6976F 8nQ7rGYz7Q+zvOXREldYNd9qJ0NtztTWN5/eCQpfrPwfAGwc8ePAJOixQTEQpYOjPYgay5 MSNOLXJrZNikWIGOv8/DDlbgnS7Y11SIWGdiSrbzKRcYM54wgnxo5nD+shasNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774811264; a=rsa-sha256; cv=none; b=DfVjRGWKkKdTzlXBYTsBcJcf6vVC6UhVudYSUiTnb18O6IIFg3znq7aZKJ2gce+4pqj32N LKeGxsI2rLc76p3i0ieLkjtJMjRaMpZ6mDWsq/WgFHUIoi0gqlWUeqV8JsRADNj0FaSTqh PAFfwgy/pFw/mENZwXbU+wA3pn7hKBEPIanx8G6EKLpSc7sXj+u/UYI6ImQjyd/9sxiKAZ FlfJGbS9UKdJyzhbW/nF3T5/zEEMaFPcQp3j2PJLXaiGJJyM3tQUjot1h95iwCJCr2EH9W qjK3DLtc+sK274/bZpwNLDjNzOGyR7l6gQ6/VP2my+MIEn0EvIJrPyVR+EICRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774811264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SwKqMEK7XQyslcpcDTyVkmd6gZa2EGJf/dvtPRbydTA=; b=xHGk0Ijw6Ex+wAh2Im/1gPmEoUiahWuudPWZxOkVSq5pIeIq2roVPlxlRYlaTisrpDddO/ 4rbLPNIdT24A03EWYes7/KBzPFcURxtuYv+BBCXirtp+opPtQwlyPrX1EF2xsDaUZ/bJe5 EMZIYSLG337tf+4G8qIZKRidL6RErltGw/ow0SiXWkaYpnX5JjdXfa4h0JXIYl+myP7Egv MyTWqHF+DXjoNz5slFf567FqwIAOBXv0RtzzWMBaSKe66n6hJEHhfypUW+pV9R0FPWyAsr mtdjxwNQpNkZHKd+WrbLBx2hPnECsXIhW7B4NpcpHmMw+RGWwy1CKFtvMJtA4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkP5q6rDLz1NGW for ; Sun, 29 Mar 2026 19:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1de05 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 19:07:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 1c10825c6e5f - main - asmc(4): Bump manpage date after edition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c10825c6e5fd9a6cab364032458346866223d4f Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 19:07:38 +0000 Message-Id: <69c9787a.1de05.3b2a0829@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=1c10825c6e5fd9a6cab364032458346866223d4f commit 1c10825c6e5fd9a6cab364032458346866223d4f Author: Vladimir Kondratyev AuthorDate: 2026-03-29 19:03:41 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-03-29 19:06:33 +0000 asmc(4): Bump manpage date after edition Fixes: 5d7862fb998f ("asmc(4): Add support for backlight(9) interface") MFC after: 1 month --- share/man/man4/asmc.4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man4/asmc.4 b/share/man/man4/asmc.4 index f3eddcaf965e..9e3550661797 100644 --- a/share/man/man4/asmc.4 +++ b/share/man/man4/asmc.4 @@ -23,7 +23,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 2, 2019 +.Dd March 29, 2026 .Dt ASMC 4 .Os .Sh NAME From nobody Sun Mar 29 21:43:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkSYF1SHpz6XSHK for ; Sun, 29 Mar 2026 21:43: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fkSY80h8Mz44NG for ; Sun, 29 Mar 2026 21:43:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774820588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dK+UDsBZcMjK9D4VUVNp47NPLrcxMDWj8qb14Aan9WU=; b=kDQqmv4ENSoeMg8NH9QfPoMLSES7fQP77wJ7TnnfNDjcnoPp0BAxgxOGxsABP83+tu/11J zq5pSNfS/jHn8uEDmrNgrNBal53JKlm4MvSack6cRZrcBRJ5adwkB8DK+n+SAq/h65Bnnw WBcSJ+APj5/SnmTC3JnIq8xRD/2K0KWNBHNrtvsDnUts5HADjUxbFNx7Xp22bjrO0V8Z5G sx0ySRqapMAFpEcslQG+GNtXMUKGaGiJbszZmR8Rc9JzFWPudlKoOeIoCtnvSLI8EgeZxb AeMctJjei42u+RLNbP7UxBqoHz6gvSe8JNJ01iakR88WvXEyUX946+eZkqxNnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774820588; a=rsa-sha256; cv=none; b=KaaZXfOeHtCJoXmiZuFWVi9+5KFH6+U/PwSs7L4PIfn3MavUEbb8a7rWFjFoJNVE+N0M0k uUkUsoeaMTPy4eWi/SiGjdLV/jOxodPPiZYcj03hUjc43p6VDCYFOF0fHkZjB4vGmQ7RaT Ebrif4aydwUn4vA4OJiTP7P1YO1zsYDk1FGpvM7Hl9zQP129Z2O5Pm+2OMHRDQajXtuzhU 1arCSeQguB9hTcuucFqPMJvj3QMvYbyF27ao3HqWM6zRaIr2Iu8BuqlRx99P67sL4ntds2 6K+LswEam7AKAmaIIXCqAz8Y3grvZezQ1jMSAcuaCqFK6aLQggOnZOkxzgPa0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774820588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dK+UDsBZcMjK9D4VUVNp47NPLrcxMDWj8qb14Aan9WU=; b=ldvYcwVpDjVubm0MJ/vuvNGU5JngbgtPD06ul8gxigRz/URTzcjaacvPAwsvYR8Qaw/7uL sASQ6Xun1eSmNA5UedsMfAYcUHq603UnRxE/68C/GJ8wZ2Ud/pfPG0hQ6E+HyLlqK7T7NJ ODzGLg4HlQoV60tBlaICmZj2zqjPa6S/XcQU5EGCK7RzmPWuQB+TeG/fXrt34mzEkK8Rm6 L/kz6v5qC8/wztd96nxO4xQEQmFw2vBcL2yOi47JNYOXDUQciMsVonTOceQbUYwQ0xJhAF VXxKqtyqjsKeBOjy0PCNbSqOIB+dQY056uMQrgiw1cYV9smTD3Ug3ANCyDzK5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkSY804j0z9h for ; Sun, 29 Mar 2026 21:43:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32c7b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 29 Mar 2026 21:43:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: b5815ee99a01 - main - nfs_nfsdsocket.c: Allow Copy/Clone from a read-only fs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5815ee99a015c6ac118d7e9646d0c95b72e9f2d Auto-Submitted: auto-generated Date: Sun, 29 Mar 2026 21:43:08 +0000 Message-Id: <69c99cec.32c7b.33da81b7@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b5815ee99a015c6ac118d7e9646d0c95b72e9f2d commit b5815ee99a015c6ac118d7e9646d0c95b72e9f2d Author: Rick Macklem AuthorDate: 2026-03-29 21:41:36 +0000 Commit: Rick Macklem CommitDate: 2026-03-29 21:41:36 +0000 nfs_nfsdsocket.c: Allow Copy/Clone from a read-only fs For some server file system types, such as ZFS, a Copy/Clone operation can be done across file systems of the same file system type. However, without this patch, the Copy/Clone will fail with EROFS if the input file is on a read-only mounted file system. This happens because Copy/Clone will try to do a VOP_SETATTR() of atime to set the atime. This patch pretends the VOP_SETATTR() of atime worked for read-only file systems. It fixes a problem when copying files from a ZFS snapshot. PR: 294010 MFC after: 2 weeks --- sys/fs/nfsserver/nfs_nfsdserv.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index b5c7f4743be0..601d536d2456 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -407,7 +407,7 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, int preat_ret = 1, postat_ret = 1, gcheck = 0, error = 0; int gotproxystateid; struct timespec guard = { 0, 0 }; - nfsattrbit_t attrbits, retbits; + nfsattrbit_t atimeonly, attrbits, retbits; nfsv4stateid_t stateid; NFSACL_T *aclp = NULL, *daclp = NULL; struct thread *p = curthread; @@ -481,9 +481,28 @@ nfsrvd_setattr(struct nfsrv_descript *nd, __unused int isdgram, */ if (!nd->nd_repstat) { if (NFSVNO_NOTSETSIZE(&nva)) { + /* + * For an NFSv4.2 Setattr of atime only that fails with + * EROFS, pretend the operation succeeded. This makes + * the semantics of copying files from a ZFS snapshot + * the same over NFSv4.2 as it is locally. + * Without this "hack", the copy will fail + * with EROFS unless the NFSv4.2 mount has the + * "noatime" mount option. + */ + NFSZERO_ATTRBIT(&atimeonly); + NFSSETBIT_ATTRBIT(&atimeonly, NFSATTRBIT_TIMEACCESSSET); if (NFSVNO_EXRDONLY(exp) || - (vp->v_mount->mnt_flag & MNT_RDONLY)) - nd->nd_repstat = EROFS; + (vp->v_mount->mnt_flag & MNT_RDONLY)) { + if ((nd->nd_flag & ND_NFSV42) != 0 && + NFSEQUAL_ATTRBIT(&attrbits, &atimeonly)) { + NFSCLRBIT_ATTRBIT(&attrbits, + NFSATTRBIT_TIMEACCESSSET); + NFSSETBIT_ATTRBIT(&retbits, + NFSATTRBIT_TIMEACCESSSET); + } else + nd->nd_repstat = EROFS; + } } else { if (vp->v_type != VREG) nd->nd_repstat = EINVAL;