From nobody Mon Mar 23 00:24:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffDST035Qz6WJC8 for ; Mon, 23 Mar 2026 00:24: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 4ffDSS4Pp1z3tZp for ; Mon, 23 Mar 2026 00:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774225464; h=from:from:reply-to:subject:subject: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=GI62764edNr9+HpVR1dG9MZcuK3UfCYFA7uDtKmgGU0JTmRWAf7IJQ6aKnWLDtnfOKAynK Bvbb4+kkf+TZFffEuTNr3ii5Dabf0B4VrY87ldQDp2Hjc8OFvEhpzdclSrLOejxBh+2P6X jT65bR1BTEwoOceeui00hOPuyAUBqrc8reWYFJU5MYJaXzwmWQCHBEb2dcjyBcKJx6irQE m5ahVBkBIAz2ZWymcKBdXkq0Zd/TAK0+RtbbkCoJziIr8+AgLXGGmnkTsrzKEyTezUPkNH 5sm/cKPcB8B5+U0GZ4lBbLCdeucrpNVwA44q5rMQMArhSRNtn3xvG94VdZaNXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774225464; a=rsa-sha256; cv=none; b=jDChIoiXfcGopTgBpUBmWFJ+gN8DMWx8zr+ormzY44qxUIJT62EOuL0Hi6RTu2E3CBCqYb ILYS7uszp+Wg0EK5aEUZo/svCnPUTh3FyOKakIda0VbpkBh7T1J25s85+HIA1r3mtvxEFw vpp5iw6iKepYPgs9qY0TTWkoOKFpiF6F5TE9yXZjcsGhUnp1fcMaK5FMSBkuquV98/odxA tcOa52dRRkQp4peI2pbsG+L6w/eyVZRSJHVL6QUU7+yNDA0GLe9bm7vb/4IC26l1JHpIg+ TpFNU8AjG2x9p+hUo8Ibsx0YYDs8vexKA4S8cfpo7zMS/MR8XEPM85O0f4NSvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774225464; h=from:from:reply-to:subject:subject: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=V2DVRg4bIFlBllLll89gmdbki43V3VHTbAMj9vfDmuP+oTYC5rGxIBx6eS6UE6dSpsGlIa JMpkoCAjf9o+Dq5v90Sm244Bec1D+vCDCPTFY4Z1OlO5c77xes+jYOyAODQ5JRlgZ6cDcg Q9TFYE1WXwEt9WvP4LDv1mTbwGjV73Q95ho5bgRHNClufFbX2nkXsmpoWUswj+CZuToJcE 7FzdUny/vA2JwZVz0gjbzeP42eS+32cTgTcr8CyhxaD5NUAazZ1F5WWelzIeEFJGKcwpvq 2nEmtZL7noyI/fj8fvGuGqNNjRQu57zweCfYcTMZzQqzu4PjhUIidIADiFiJJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffDSS34XYz84Q for ; Mon, 23 Mar 2026 00:24:24 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffMGV1V4Xz6Wcwx for ; Mon, 23 Mar 2026 05:31: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 4ffMGV0r1sz3Pyw for ; Mon, 23 Mar 2026 05:31:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774243874; h=from:from:reply-to:subject:subject: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=MktZgN9Ijc9lwYob+Syvt5A1gY96EgraLjTgMzd3eDxvOV4EF8s9YacJdAzozt2eQntH5F /4QuFj7id+ALeYBT9ZxdKfnEIKC40PorIrLQ9uUPyfs8Q2U6EjJN0zR7HGIozuh/uPvJW+ USqm3un9BctWhEek1oazLSAzUhe8LDWwL28vCm8+K4GQjbOVIJ7/bZhGMzHh9WP/FLNbvH c6UQnz9/8/70IAgmmLV5UHjGWlXrSgEOkdqvAxk5ErTApbDRx3r1nWQW//BV4257HvP5OQ Nt5mxeWcA8MuTdO59w0A1rHjNtU91nctYLOGjtq2Jblt/6IgP6Lhv4UYwvfnTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774243874; a=rsa-sha256; cv=none; b=yVE7gf8bBGo/ZVj/sJ8IzJydKxEp0eb3xqJHE3s4cWjz57cgpJPuV6X8U9hE1/vys2vRwK RDmlYJJR+0pnKHswpKfh357DKodRD2ngnNNvKYEhgyNAiZLqIkicPZULPwscqnfBoF2TNK MGjtRTZRGG/bra80eJP/pq+7QhYIzIvh67/dgifO83UHPgJWpLxsVcOFIxQpnG2nErlOFc KSO0QMvC8iAjF3dHn2QGbZiln40Tmw1Olx571NXPo4kuCbxdBJC+UU3/gDimI8CxDZisvE D1jop2MM6/DxNs80MzjMTHPzkSI8zsthzL6wRJpVRkMKPv8E8m5R8F1zwkmK7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774243874; h=from:from:reply-to:subject:subject: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=fX/owyjwhdnZneut9x7jz73rSDzujoQ15bG0eyKlavXoB5HTwVit+Q1q+qZM4W80tvY/oe KIN1zqslnyisceBYYfZUsuJ7J46aHcGBx+GLV66Xod0VMLOC0Oi2gml/kCsa8KczwpmQyi XLgpBv5C3SAbpXdybzip9Ex5dqO+PllffkRsTBa+McH7D9Cpue/pKGCV4dwP/H9izxcsrw KLiUWX/XvbqLSSb3uB+/WqGv/AYT8guch16maqNL2wXhhoC6FwvFcK1lGBrygF7ojI9ivd p/7fk0j4GX8MkRJFoMT5IxYEOJ9IZ4jzJpvzDsN3vZt98NitWZFSezct8GZf4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffMGV098mzZYZ for ; Mon, 23 Mar 2026 05:31:14 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffNrz28vVz6WhhH 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 4ffNrz12R9z3VY3 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 4ffNrz0VrKzcG3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffVwn2tY5z6Vqsw 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 4ffVwn2Nc2z3lwF 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 4ffVwn1tZZzmCZ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTZ64Bpz6W5tg for ; Mon, 23 Mar 2026 14:41: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 4ffbTZ5c0Xz44Mq for ; Mon, 23 Mar 2026 14:41:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276898; h=from:from:reply-to:subject:subject: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=n3egwJrawUBW2+JzL0mKgQXNPpWKukAAsqezy2X3xVnUoc5QMp99DjRdNR7LhyLXPsuwtK Q+B2/bYGZ7jQjWhA5M6kahxcGNDbzLDHnGM2/DGsFiFMHFbbHiTtjZNmEQJRZuqi1HpU9w hq0lgZ+ZIvQY+OXxP91ITx0jXYeP8E+w54FSo1AUgx+BJj8XWTVWEFnE+KwMuoz0FojSg5 IpRkNStxOwHSg8XwF0q0aC6ylncnQaifuIbhfI/tnhNc2xnDUmIBFvKAtemUjfaMXqUMNP F/st7YfSKp/glQ5uh63cyy1+mJcBZJv0h5qnF6vBzv/VPP1If14kqt7h/1Bs9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774276898; a=rsa-sha256; cv=none; b=wgsEqQWlvQrwwtyB2Iql0hHwTJDs7fgfjeX/E9gjG/+iCvnPnZvrNjvziua47oTWMLNl/8 r46LEX2zlDMOl1vq3+3mAUvlvOE3IBNu5B6TVIIk+hWxV1S/1lmF9aW3S+VqmvzLLbvH0p 33Us92igcbTtyhv8fWU5SAVNUfvFrMWVh4fjW9sSzrJFGZ1WSCs9i6zXDubldPZSPIOb4p 4gMcp5Xv9mp7IGOex0keV3y4NbxH9Fyt3R/GeqdVJCR90wcgDet+ewzGdvWuPcEKdX7AR1 Dg9gssU5PM9yjwZcnxQchj2aAMaE6kgQ0KzncjMn4jQg4i7VS0PIJI5tNEK90w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774276898; h=from:from:reply-to:subject:subject: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=i6YvqrWHXiNoZ9uiRq0nGsCVTHb8hKSM3bOVZmkVLuNBXz0KAahZWW5DGF8aHWLUmV+VD2 2+4zYJe8wioevepLXNvANsAEQOZj/cSGDEy+D3qidhVp4EUeNtl/Go+nLobJR1HAdnHlZ5 Bjq1nubsppoOZh8n16CuwU/Ukudco51IAx15/ffpEM6XzK7FAwGt4ayXjr8fKEb4bvYn0k oMz+Hjd954RzYJ6gQJvzrPzuvoatH55i5kRz+Tmc1Ma9wrjIcgxpyft5B8qZb9vJEpABCj UA/v5SqIdaurB0ZYmOPQ38KyhOy3KAmjw/nhrD2nONhylSf2nmMnLKF3gDmt5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTZ50QkzsDr for ; Mon, 23 Mar 2026 14:41:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:41:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbTc0rDpz6W5p2 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 4ffbTb6CzQz44Kb 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 4ffbTb5km5zs8P 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:47:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffbcY092pz6W6FD for ; Mon, 23 Mar 2026 14:47: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 4ffbcX6mFWz45Vq for ; Mon, 23 Mar 2026 14:47:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774277260; h=from:from:reply-to:subject:subject: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=b0CQ97HEb/sVTupnPMFDeNIXSp/RW/2eYPyf1Yn378qbqvcnP0FO7wxKWU5DGpcGU/fL5C Dr1Jf2ehkXxxDUzKLvbAWvmXkBHSQqNd15c5BoFUonezoyA09R0GDuBJgtMgN2tUPWbWhJ 9OYeHlMARu8ud7uj6taQgPK7aKdCJtk2zWuBIf1FcZUavK5ehHKvIj3E26ALCPX3RP6/KC qdv8luENQTL5i70J4ebol5A/Uk1B6xSqv8eFDOQVVGXEDc1qK0wPuKYi7LiCGYPEokLaO1 0GGiI4zA2PEbhzxUmD5kPSQLjtTJEzemC+7rmHHhPMVupby7bxySbaQCEAejxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774277260; a=rsa-sha256; cv=none; b=i+UyoZH/07/F1gsc7WRqh2TspWaNMxS72Xww97aDHNWoNlVowPhi2cqkrRbXxapEf48ati mbc71m9GSBOwcvysBciA6ii4Jt2CYiFdYDXeQPjGmEI+I3Rr/07/IamjxKZ/I7gj+U72XM Fbv3oy3YqFUNfSdO9cQSZzoyz/4aUE7mxgnxdxtDjje9ouD73XVhhjORVSE7QIe8C9rf+V UFYrPTL0do/qoKce+6Gm4xxMd6+Gi4OXlUQQ6UbBLTcWfbjfBW+Y/ObgX3F5GdHCpL4bdE t4YfLvIiucI05RTr8mkrgy23KL/lTPbxKq/wUCNKssHrRRaFmOT+zJ+rx7pGPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774277260; h=from:from:reply-to:subject:subject: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=eYaM7vjr4JMtfL/M+wP66uTmof8UyDOpFngkJd7D07MrqIJ8ZHKeV3eeCbHsRhLgMg7HFI 7ZbpskZ0xFFckzKN+WPBwOTro7bCkupQYelREOYCaSOoo4oGNBSKcxEXlMrbGIg38w99Jw vePKStxvKwg3zWF44+yrEzjbfahArQRCp7Qd9dyTEZ+0iLJCA0TRtqr5MVFP3vB+i7FIEv vrD6WKNDh65kSuqjGm/epC+OUn0HUWzba7ue/XztDSBSYiKR8FHbFu46gqTKGOe8DUcf8w CFkf1vuhpC7TAmlKjMBTnZP8t6JcbywhC589VXI8NQLCTWXTfSRFybTxfd9Auw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffbcX6LnTzsLj for ; Mon, 23 Mar 2026 14:47:40 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:42:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffcqh4w3fz6W9BY 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 4ffcqh27YSz4Df9 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 4ffcqh1jhlztjb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 17:00:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fffcj1PZcz6WG5n for ; Mon, 23 Mar 2026 17:03:01 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 4fffcg6cLXz4MZj 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.42 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-482f454be5bso50599405e9.0 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=d1MV7mds2B4/dMlx0jtUqiErT98LeY7IIdTTviMWiKSqiwz+MS46O9GZg9m/QGQX2F J+KC8ll5NGMQk/75UwnSuG+e0GRNfIIzDWd9fbNuLTOl3yG5kpcnum/ujcgSGDrtkgZP raX2rVzDZMAQ155kgDvrie6TUN2h+xjpIzrmSjOXyEzPEp7FaBXQ3oYYQqiWXEWintr6 /KJXTruSufFPA4BL1aY5akAFrq1bo+Tvo9bTcY7inRenqfFVoJoLIMnF4Pic19X1hi4c 6kV5DGTZoOt/QZxrnRaoc8GafXTXQ74T0hTFFLWX9SXm0zd2A7CEnBCa4rPY1TXpzYA7 8TdQ== X-Forwarded-Encrypted: i=1; AJvYcCVRnM3uVbRvH1KAt1F+/PAb+gFcyVrZ5vRmeyVK1Wt+naP53fwYGymE4JcjwqfWFaa8TGM92npEPDYfltvGym+qTTPgYw==@freebsd.org X-Gm-Message-State: AOJu0YzHmYbCw2AQBFo5Ni7EYHMRuZtJLRXRN8jToSGmlyUAEeqPc3uB abAe11GljeDumZyeqKS1znbWnwl5o3lbTp6H5AMXz121+6TUzR02Tz+3hHXHb9n3lgbzEaDSZ6u 5fLTm X-Gm-Gg: ATEYQzyKWGXPMd/FZDEb1ddeMDee0ZtGjZyZ1xcihPOsTljwJiEZDq1p4bp+9TvJVRh WQhZGN3VAHZc0yyQ4AoWGd2wKMtQZ0CCRTlJ80DbgsV1hhNFmO4h8RKrnd/CTl290tDPoVYFdig bBzGVMMlohPLbBJnQiYt5eC02cufEgB6oZFTN7xsz821nwYO+33drt4lN4iiMtdlnMJFBqoZEgp CUU0UnaKsDbtfRogK4NcUKCRI7KEUUQT8lg7o+j1njVdj/c28KXbtq+8gqv+IssZEW0Mo2vXEhq /YDar/NbQ/hRLTauSurzTpNHTySjPAIOCjFEW33xe6IXxA8rLgcKr2yP2gCjSdx6cI1/WPrC46s zXVIxnL8Cs2w72XiLm5Jr2bisPf4B7d1vVKjm6VSNPrDSH06WS6yxRTMKnsPmGd2RMnCHYn5T9v vm3wvw8VBxblMxWat22SupwlRdhSXrXKfWfviHozMV7BMPnDd5mPKAH7uejAM3o3C7 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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.42: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-main@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.42:from] X-Rspamd-Queue-Id: 4fffcg6cLXz4MZj 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffgMQ45Nyz6WJ14 for ; Mon, 23 Mar 2026 17:36: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 4ffgMQ3YdQz4Q1h for ; Mon, 23 Mar 2026 17:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774287394; h=from:from:reply-to:subject:subject: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=jDDNSc719C6QQctBlwOL36we+bB6jsy1sLucbhfxcj1Ac5Mi926XlJQDbZQGE5HECETysO uDKgxycTqk3+rC4tUCVnbV/zb8BECXkbprXebGExomANzXmJoQH/qaYVfrnjN6i/nS4/ps 3PPRqfcV5gOcNXUlOdbb1Bx10WPbmmA7+TMKfquvp91ZsYwLZH/VR1Tpz2KDJ10nLct7VQ zIk1s4FP34c/zQrgi1P/jTbHv7KAVuZo48Dt+9eaROSYM5djZnaaBBDhlunrdNwqaTfv1Y N05CXCkleogQju3gjeys+f2eK9w4K4J2rPFDBMvuUyDFKfRthOeL/Gg0q6aE9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774287394; a=rsa-sha256; cv=none; b=RBjVg+a8B6qCmOvaUjilFN0lw4CvlCrL74Ci5fvkw/7cratnJ6SZjKSqlKwxM5HLCCGwnD cnJ0tg3XejQmwS+4MoMmI0UbTHrKhMbO1WeiCfb2n0W9TJUbMshe9gh7TtXQConGfKz8Ui uk/4jvQVs5wLZKuat71oqOEyX/JcSTjbCGnqRRqgCz7pHWxJWm9AqhYkqjjy3GavDx2J01 K6Luv18KvUEByT46GkudxMDtTNWQRY9wUl2yQd2iyz+HWmc3iu1DtxOlcJUwo5q10gksfW G53q8NzvqVUEA5/MxmkRJbmInfA7rMP6QXw8hSNxk/zS7meH19oYPojeZ9y0jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774287394; h=from:from:reply-to:subject:subject: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=O6wQ7113OQMMxg0MVvdWjyjurZHxj/jVyPzKNwRC2eTYBn7KGQ4mOceNH/F0+s0uPeyiuw RjjkKQsQM1luxT0AXkXB6+sb9kI3v5QPK8YKoYg2nqWlmZI0vHT3hwtxlvhEVj9AEnsm/3 THPQb9grpW5lGPruCsqrN8qxuutnJ5qlKlRJ8IJ4aGTimGZC9LRsOPxmybPnjdVKVNZVoz GNgLV3qO407ioU4efClKzCfNROD4EFXcw0RKSI7vs03InoI5K/huflqY4Wm9vEuekr/jsf teIeI0XXfKEUd+6Yhy0iRF7hWAIeCPjXIvv+CCV7UuH13pA+DfK7X0g+V7WyCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffgMQ2wWWzxlw for ; Mon, 23 Mar 2026 17:36:34 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2Z4K7kz6WSqG 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 4ffl2Z37qKz3VVd 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 4ffl2Z2cMzz13fT 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2b5X1gz6WTBP 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 4ffl2b3Smsz3V8l 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 4ffl2b33nqz13Jb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2d00fnz6WSvL 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 4ffl2c4KvLz3VFH 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 4ffl2c3shxz13fY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 20:22:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffl2f2mg7z6WSvM 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 4ffl2d5gkXz3VGy 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 4ffl2d4JhFz13X0 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 21:12:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffm8F4rL0z6WWfH for ; Mon, 23 Mar 2026 21:12:13 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com [IPv6:2607:f8b0:4864:20::1135]) (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 4ffm8F2rPkz3Zyr 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-yw1-x1135.google.com with SMTP id 00721157ae682-79628fb5c05so36380067b3.2 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=B24RC+MncjCLdcG8E08aiRFAs3nV86FBvGFldfRLSwXvLLv6NVjILXWK2hsXutMrmj XTOYMG5XzRnr0wBPilmqEkmUyHXc6aLVAn9RKR0fJbdIMW9u1ASUBgXoXdLtQjWGEgEI PAms2QbbXP9+zTZSgehTKkwbgrvVXmyv3XT658UlrmDsjASdg/zQ/IqjwPS8UspE6rTx GbuRhWgk4f4pWkN98iJO1wKze/2bNfvA1F3JO1QLgLJzOLxi9O19kDOQ0XkZozbu7MUg vrsSbV7Jmgd+wDV1EgW/XcHiiJLkdUvverqX4k5Vk2nSb8ynS74wvHm2YX9dJo23lGYr tWPQ== 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=X2cfsmXwnv0H+i9na2vyDGGORbN/YxbwlD+PFNkNC0s=; b=W3CYJwQ/aMwChiVR05f7AM1U+ngxFM03NU+amDTE4zJZFsoARI4nClkBvmy3VAaFi3 JvMKs4RB1DlZ1upq8IlvpSSgvnxhKvPDN0+SIWIMDpoYUDcqOlpVJ8mBuu89tCHT3Eqn vYOJRMNpT6GUsKEC5d/mAUCdm/Xio94VWI34nQMcZwsiIOQ4raf9U1ezcNvaFJ8qVBFu nIPlwCKq4l09mPfy3aQmQhpAJIYaMtqLGd8UXoH0os+0R4gfx5Ry1JI9XgW3oWoImPA4 2LZaD6tnjCzpfMq/Sm2fqZhtOlwZYZc2GkOsQ4aUbWaYHFVG8Ab5MVPmrtTVyTHXqmN4 OMxQ==; 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=GF7nISF7F/mNB2rI98h9uV98b/CAgJs9XrG/mcc4S7Hu/S4pmogxW8HT3XTpMoQGqG HgIfOfq/Gm7/Wg7Lu931G31AeqT0YUPjTT0S8ViaicOH6kzqfOc5wTXR2q/KUkFjjtB0 4yyMrf3B9aaoSScv8XcjRiDyiGKK3nyhWtHWeGH+G3kr5kuHozs43iC9zfUrcj3Ly+Po BGmlPNQVHpAcMqYMK0co2ss2ybjUUFICObOnMIEoz1IU6ACzGwLpxnLqwpE8wFBnA+WV tUn89IBmK98bfIA4f76scKfz81QF8rNl2IiOJ9IoGSoWmdk3HHZNYTh7ektut8YT3ZwS o8cA== X-Forwarded-Encrypted: i=1; AJvYcCU385yqnytaTWI2Etz028n34lubGdqKOrZNtCJLQ18T+K1+KZ/vrQK7q3JgD3hSCNdkU/0ap+RnD7HYugA8M34iJ9j8yA==@freebsd.org X-Gm-Message-State: AOJu0Yyw4e0P0bmmb2sbwF48Gwy42EO8HB0hXot6JCMi5M2eEdlyV0b/ jG37IcfVicqbZiGlBpkZAexvq0EWsS5K+DmhlhW1rhnUWzl5xYB+WbQ8ePSlm17FKNEtCgbmuoe kA/4hZCPkmqA2garPq0wYSTYBEeV3itw= X-Gm-Gg: ATEYQzzwZUKbNlWpabI1hsmcxXTO/XLsGXj0rPT6Hb/Zy2lkcnnKdYNXdxMT/kzzGQ1 zmvFwM3KF5490lm2yZgtGAnfiwPJRhUFeonwnpqqiyUPWVeuBn4hU6Xf0qQ7XM9J1xLa5czvN0B i6nnlgpikmqbLfgeHywp70tLXcDw4pvjBj4qyvW8V1UqrS7QdrFQqcAHap2a+PSdOwkFnAMV2uI M33dInIz05Y6wbXgpOiiJgsfgWTlKQBxBoV9myTtt9S7iOcE9WiNrcWInkfic9sHEJbjkC8rbz6 05P896L3OPOXiZTeauAMWxKOyFj1BhQQEn2aqVrn 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4ffm8F2rPkz3Zyr 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffn7643NJz6WYj5 for ; Mon, 23 Mar 2026 21:56: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 4ffn763RXjz3fcS for ; Mon, 23 Mar 2026 21:56:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774302978; h=from:from:reply-to:subject:subject: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=ZOxAJ3sbsR2zT8nJzecxHRjGlkmVMyPhepRTx5G18dTQq025Drl89Atua3iTlbX3xMPoQc CwT6GrL4VidYSgRUHoo5FT1tnDz9vKmb777Kb40tEIW8L1vxKVB345NikKm+8GoE+mut6s A1Es3Eoy6iZowejHILnTlYfRApbqX0oe+ZyYaLxz2PPUdtRKSYH5T9gZX8GVGbn8m6u36l pLxdYCKIbLY//kS9WsF198hlG4wIX+MMhjZOueIdoQPQzRfa14oqJppLyu+OGcBO/2aO7V C73FcOcF6l4cmN8pRXmq8E0MV3JJIx3TQGDo+z7Y8YTqBBmmAnFRKbekUxfhAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774302978; a=rsa-sha256; cv=none; b=Y8zQZ0gWF0QfS9tKchqIzZWEr5wBe8atakWbiWvUz7fH8PYhxDVyNAg6Ns66eIB6SaEtGy zmhOOmw5q5diadmzf3Z6Q0FFiVUK74oaXxukUsZ8kDJL7EmOYfdgH3L17pDZvMzeEvmcs8 ntq6W9+ptWLYfHLb4EboyXUqR0UlOon7N6vSMApgZg6PbftwFUqfPjiJVmt7kiumkad278 tIR0Qd3M4vwr0REy4Y8XOAsns94bu3HDD0AuBmv9MxeO7R+tiucHmSqFtcc0NAUET2j2BY DWopKMkV2PZhXhrO58rb0qhQZCFpyzNzt2gpV5LHcu4foqCH4NGmTwUrFGdzuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774302978; h=from:from:reply-to:subject:subject: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=vc4N6M5yFJSiPNng70G++xWkFV+bnDy3qrRZEnNVPQba5s5PqhWJaK5tG4o7/POtsO36zk gcAtvPDf0GMNykxQ8TdX5tB1bvb0n+MWCMdd7FED7Ia0GCJ5a0SxMRZcmyhKfyw4yp/mh8 POBkLKHTtsIfKYxFjLIL5GlSeWSppfFqv0I043weGBhVsOX+m1Z5bFnWbzGSYcOB8Jph0g 23iwxlO5TPYwi5FyiXayQxxJH68+4RdogY0rgAEBcRpP4lWEkGam0WalcO83ASUlhywCB0 paxBCKiRLk5Krg264jJ0l1iEr7H/fXMyOFWUCP9SJ50EFxQ/GfEqoMKp7eWwfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffn7633BJz15gp for ; Mon, 23 Mar 2026 21:56:18 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 06:03:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxl1895z6WB25 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 4ffzxl0Wtxz3Sx9 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 4ffzxl01llz1LJ7 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxm3Y2Wz6WB3v 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 4ffzxm1DMWz3T2v 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 4ffzxm0rVNz1LJ9 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxn4TvGz6WB40 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 4ffzxn2Kxxz3Sv2 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 4ffzxn1fZSz1L3p 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxq5r98z6WBPx 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 4ffzxp6nrFz3Ss0 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=1774332239; h=from:from:reply-to:subject:subject: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=egZ1xKsbMNFpdZJLwi0cKG18/8NYJZ51xAl8FOfLEFV1ws9CDaNVsJVqCF3kdwbnIUk5/X NhQj/yHMTp5lVnf9K/VH1GdR7GaWk2AS6FDd0eNFiWcXe3zrcVWFf/NOm21WoY3y8ZZYUO S4sCYV2xZAJ/2sBlH+AZfssB+qSHnP7u9mODma4Uy8VI5riVKPOfsniWL9OIlVQDqM/F77 GvO8StlIufwrYxW0UJYAVubIiumSL/aXT+CQ3xx1DLx1UwabEPyXlt0YFQrx0K/LXvljKP EoJOQT4LswO8kXtmNDLoJ+VJFME0xPqTbt/Yp/y19YLzROVtMmU1gsFv//IL1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774332239; a=rsa-sha256; cv=none; b=VFgZL6s3xYrbJ5XNW8EWa0tBfVvQ3IDxrnAXyMKgoRlnDMyTCI+5OU5EwjPVCuNxvG6LXp kV4kqWJXk0Pca+Ebi3mT8gvXX2Y/JGs1rfb2BtVieNnQOd25ChyJYlJqcFgbpZUkYPrWba URkyts5r16C5SbVKddgpOYKABvkNhAt561ZaskAs9RE5I0e9ZAT3lUVzkDGFmE+7t7tfSY DAFpImQmeP1Ox2NA8wRSKoAxl2G3JwlWPhUmm0+IBWHhQilIRU6NNM41ULuJsmND2P+lKl av2XT+C/DHZ94JKkVnrdW7H2NVH/HuOsaXQ8cFCXkH/BdSjfKKQkxz+kXrIt6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774332239; h=from:from:reply-to:subject:subject: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=vg9u6Aag61CDcSAkTMBJZ7fwzsNSwS4zphgQl/XUiz/N/VypNdmEhB/0GFEfD4QLoXLNg9 Rt0M61NaTq30iFE5DUf1+HV9RlWhU7J06ums1UfdpYkxFZfR8aMGIX+7lUItsBu3QAH1GE xer3N1jUJ6pOaooKdqEDBdT2mf6tB+zmr/obULyQqPmYkWcDNcoD1+qlPeF8A0Gd5Swt9+ k2NJq6upTdqIg90y/GssqIbHraOw25xydPVvUQtDuN/Hzuia+Egm2Ul+VU/++Pm70l32Ge cOvTMi1qU/CAYW6m922NS7inVhDjfvRNQAV39uHbk1QtTWt3hL3dz/QOJPDVwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ffzxp2VQZz1LXD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg0s64802z6WDpD 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 4fg0s61rgLz3Xsk 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 4fg0s574vwz1Lp4 for ; Tue, 24 Mar 2026 06:44:57 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg2ZY5Nk9z6WK6f 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 4fg2ZY4T5Gz3fdl 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 4fg2ZY41F4z1P61 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 10:38:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6270s27z6WTSs for ; Tue, 24 Mar 2026 10:38: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 4fg6270FkVz3sDS 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=1774348687; h=from:from:reply-to:subject:subject: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=M+nWSnpRqs+KWITp9iGLgRU/a1G5qnOdVE0GEsfsmlT7IDZxJnaiXqtwMVwuHoHbiRsGJ7 jfcgx/Lwyo/f3M8jzhXGunSE3BAS397ObSxN44riQzg8XDno8y9srHcJd5PY8FRvHxo38b diKXjIZ0UIk7G7fjFpRs8GX9TAgVvs5ZlSfKoQt08eQYBQ+j2PWvhuPfcTxtQgrCTSjlIv HH8sdG07QBRKwCDZUlrrDRQeBLJGjOkiA/bI8ya/XOeUvafTZVY/b3XdS4XF+kMD9ztvLH 1LhYwPhPAjVsUy452ExuhtlK0vNEEHi7DKL+ExARbYnptzipMGSTVxZULqhW5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348687; a=rsa-sha256; cv=none; b=rW2oaapA9i039UY3ai/R8KOvGeMnrDBjWaEha3OSGB2b1tLG2m3ZPZ09db3C6ZVyfkop/h +OiYtaypoCPuRl8/ie771/a0eUufgU3XiygX99INXxdDBG2iVCAx6mTScLep0ttwx7in98 JbRNGhe8rmHobrZVYh4vFjcR2HOXs6Pc3/1dL//9fhYpbzCC4evlRaL8TjWW/Vjs422XH/ qngRnw/PeAGZnbIfgxgA7CzddhjghWVYdv6QcEnWggylalXjDhYqlywfyS7eHZ3wkwAVIY 6gTGUPqq6CTJr6VOVCiMUXWR9EtuMJL7Nq6W/nJC495GLtWVbJVRguago2Gduw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348687; h=from:from:reply-to:subject:subject: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=AY0BD70q9+qjRHOWJYruMyagPaaMV1DkBeJLOKEiiG139EXyYb5/PN2muwgNiWYG99UgnZ zO6LI1m5doEauOk5Dc9iow73hV5g2F8dIbx7brskOSpQ0xMDcBu0ayTAC6GRW1vA80JZmX yzccwvaojxgFnqC6S9B4BFHZCqGRSt2fwxUJwKHy88D2vFqxOUuKgwS8M7qkHkFXCmvAC3 AzJ8YFZ1CMql5jAEFsov+v99vInKux6b9W8PhR/MC9FxMUpsHX5NjTvyGCPgqIoxm3tVuz OenFw29f1lgFU+7rIiZo1bJS6O6Ly8hF1zoUn1nVJSixRfBLs1JkYVZGzxd3LQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6266P25zq2 for ; Tue, 24 Mar 2026 10:38:06 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62816npz6WTSt 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 4fg62809HYz3sSH for ; Tue, 24 Mar 2026 10:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=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 4fg6276FW5zZy 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62924GDz6WTqQ 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 4fg6290Y0rz3sKT 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 4fg628755zzdQ for ; Tue, 24 Mar 2026 10:38:08 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62w213lz6WTQj 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 4fg62w1NwYz3tMW 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 4fg62w0zM2zdS 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62x3qH9z6WV4W 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 4fg62x2Hk4z3tVg 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 4fg62x1p2mzmy 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62y45qWz6WTpf 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 4fg62y2vsTz3tS7 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 4fg62y2MWvzVX 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg62z5Fxlz6WTwW 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 4fg62z3hhmz3tSF 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 4fg62z39NJzMP 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6305s59z6WTrV 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 4fg6304t0pz3tMw 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 4fg630408mzMQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg632257hz6WTwh 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 4fg6315YcJz3tWR 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 4fg6314sQrzdT 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6334mZkz6WV0B 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 4fg6326Xx4z3tT1 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 4fg6325tnMzn0 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6341xc4z6WTps 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 4fg63400slz3tTF 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 4fg6336S4XzQV 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6366bqGz6WV72 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 4fg6361J3wz3thL 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 4fg6360p3bzQX 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6352NdCz6WTpt 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 4fg6350M6Jz3tTT 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 4fg63472PXz1SWK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:39:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63859Fkz6WTrn 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 4fg6382wPMz3thZ 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 4fg6382SfHzb8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:38:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6380bxxz6WTww 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 4fg6372h7mz3tn7 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 4fg6371d0Zzq4 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63C0ZZbz6WTx3 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 4fg63B4VJhz3tfc 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 4fg63B42FSzsB 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6396qX9z6WTrq 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 4fg6394JFFz3trD 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 4fg6393FxTzn3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63D1y33z6WV32 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 4fg63C5BQCz3tnl 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 4fg63C4lJ3zq6 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63G51Qhz6WV9m 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 4fg63F74Ngz3tm0 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 4fg63F6PX9zbC 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63F3NjNz6WV9h 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 4fg63D67Ltz3tg4 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 4fg63D5bPnzdY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63H4J9yz6WV9r 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 4fg63H0kk0z3tvB 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 4fg63H08nrzn6 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63J2x36z6WV7W 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 4fg63J1JZWz3twq 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 4fg63J0vF0zMW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63K5yNwz6WV3N 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 4fg63K2Jfcz3tq3 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 4fg63K1f7jzbD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63M5qGcz6WV7c 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 4fg63M3Yr1z3v0S 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 4fg63M38nQzVc 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63L54Qlz6WV3Y 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 4fg63L3LgHz3v7P 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 4fg63L2L1gzdb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63P1DhFz6WV0k 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 4fg63N4cdSz3txj 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 4fg63N3x8szn8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg63Q3b30z6WV3k 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 4fg63P5QlLz3vC4 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 4fg63P4lvRzdc 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6VM0rS2z6WWLm for ; Tue, 24 Mar 2026 10:59: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 4fg6VM02rNz45l2 for ; Tue, 24 Mar 2026 10:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774349947; h=from:from:reply-to:subject:subject: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=TBFlNfnjEIEXgeuSI5PNrn00aCdcC9Ok2uCjLOT6w2wDpMuB7CWuhcGWN1e6Pd/eomOqt5 Yv68Krm2LsbToWS3bdvp0L8cpqeWjF8W7MQ88c5pLC3cure2hVGCX8gRZ6c0+MVBmMsAqn MOkOk21UGAtAJb3j0TLCw7ldE+R7DR0J5IoGcMJgMYnwKYmgagxWNPmbzigskcSq8BuHRo 6FbewKzi22CTNBWoVRfWfej5vW5QVyYkiZpIIpK3dXBo1LL9+FGhz+VmfiryeqllB5Y2C6 ecn5uQYT1TZbCAYbLxJ7FQ5JGVg6UXxedi8Vt8O5TEYK/0ZycCs8U6p5X1E/4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774349947; a=rsa-sha256; cv=none; b=RkhhqGcqedxC+OkFhlO8TxuS5vw6ayzKqMtzaD3Jm0Bm+EhNhDLIxdA4kBs0WYhpyaoStB OAYhLcQVTdfuCPQtNhz8NBCd1lyyxYoytz8X5lkpnKxd3VmNmRJ5feaj3U69dL5oUvRGtX eUiCjARe1hwoCtMPh6MG4o5EizZHPJiLuBiVmnw7Eu//il/yKn6uLqEI2MqUulh07ifD7Z yl8gUiX7FzwE4zvONzzw+TgCBVfN94cuPYyipsdH0u1s/KaNylDncaj4kiTzFtpu/AcZNs r6OIV21kbfpXz5GdBEjI5QeUzODUe4qMxJC1tyj+nWul/JaQEPoctBYwn6oedg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774349947; h=from:from:reply-to:subject:subject: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=eQCPI7b1cFTadXRDQn8oUyS2qd9wLk+yE4+sqgWfC/q90AkYy4IcWj0oNBr8QbDkUVywo7 7H9bqwAcchIu8zFBfWM0Wyyv4flR5u4Fv7BzTKr3pHw0w5bpAwle+uaCMLlTlg/Zwh4OWj 7DNkfIWbVniTvrd2fX6eRyuYPUY8Ql/VVVB9rQ1XKIuCw+UzKpgETVeTfZTy64jDYisVfj n8J5UCZd4W98oEmJdmSD1AuoyGMDELjUTEpPzTFJZTCPk7csMPc9+hHQBVlsOkKU6JZD75 MRcOyOYK8w8dzsn5P+M4S3vyxXMtxtLg6XePulICoRcow4zQyRMGHpWUeRhifg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6VL6Vn2z1Fs for ; Tue, 24 Mar 2026 10:59:06 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg6bz2xM7z6WWYg 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 4fg6bz23Bpz46Fw 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 4fg6bz1bpGztw 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fg79z2Zfdz6WYDl for ; Tue, 24 Mar 2026 11:29: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 4fg79z0KqSz49Lk for ; Tue, 24 Mar 2026 11:29:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774351799; h=from:from:reply-to:subject:subject: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=idQmPGoPOlfh4Df4BUf4Iw6Idt94sZD8B8RE35oL7FQn8R5SsIjOGAUptmOGfW9Gnn6A6g Z6OBXq04XKPal88ADkCYoed6XGp30QPP3+QuHf6pYDd/K+MPHHoRGMfNsPUGRNL3U8Hfld g3Prt9kAP+IsHdPMtwA79xSJn/V/w0HE7stGQTsK/77YifgyOCxNUVuf6V7vekLTYgTnBW VocXZvNjo2VCQUZb+c0HUeOqhAceu0d7D3lEzQF9/zlgnsM/VoILff9494AutVDmpu/fqH ljP9oaSWkIhyN1U1+fTReiJr9Un+zFfdA7bSQRA7073TahsM2VpHxJiCn6z+vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774351799; a=rsa-sha256; cv=none; b=HRKbUinvEvDzMn2XhAS2byA9Ij4+kWg4thTxHLUQfQiZ8mnb8sIWs3DYhmgDBABmQUHaox EbT6jf46p0tSYrK62uT+k1uqf6PNjHIre9FPyiU3aJZD8YHR3GuB2ypWl+1PTRqFV8OmvJ zXW7wcFD/oBjSxw1t++hst2kJdwmHyL82OLxIyGrHe7beSSrJyZE5GgnF0bVN1eZ0CdPsg 5LlK5UG9CFoLAfaPmSUI/E3n1zjde0+K2tzwXwPeipX/vORjzYD5dqMfzeKi6yrWXTmmUq 0Ao2Bpqmf2Lu3ppiiaFqBZ5klZv7LNgZHNMqhf+Fl0qBnEAMh435+XhX18CEFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774351799; h=from:from:reply-to:subject:subject: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=kVDG5WL0EexUIu8G0JmvSietNV2gRRlo56en/gwR+pGAxhEWi/iIkJrmYNmaTmpbMV/6c8 tHzZvyjSIPVFIYNp3b14YOQrpCOZCh8HBFUYYLcT9dV3QyLS0eqAzydNb+wpMeZXUe5yJ/ WZvxf2pSfFL6ubmUKzV093s3J2LOwW7zo/zjJKOsFWGDtpW7QOL3V8RyelOjjv2g9OB7cN K38aZ4zLrcORBvjkdmzbX5dnY7nmYIgaKR5ef6OcmjLunZZfAO85JqzKg6eH4v4Fhh8V08 Rmc8zPkRJH0ycwh3qS5aDyd+/EWHXwPHPVs9MbceSi3ZOxTooe04FP7jxd+v9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg79y6ZlRzxv for ; Tue, 24 Mar 2026 11:29:58 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgB2B2xzwz6WhH9 for ; Tue, 24 Mar 2026 13:38: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 4fgB2B1x2gz3Plq for ; Tue, 24 Mar 2026 13:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774359506; h=from:from:reply-to:subject:subject: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=Xbm2PEMqEaEoJBxrjGl+hgWwCt41IeH2qZZyaY66aD/fOmL2WEjIh6kfEdGw3FeYuvTTxH /0dkyo3eEAYtOKODvUfczHYF9OQZOxYepkal9PqKIoAz4nYsSh8dVyAzdWdyzI8U+8Ei45 NaPj0Ed4idvYQz6kL+nHIYGOuYNJSwCrHbfd636JbXWe0lRfuhGNe5hh8XfS06uWgHDNzA XOUaCX5qM2GZYmH78pPtMgyM4pYb2gaDR4r0G//PJ4gDMM7P45+iGIHKBgHQUH7m1Qqnrv EQCEfw9iwn8oOQOfRf8DrMhcv/9EvX0Add1AWzB52HSLRmyc//weWHV8UACtXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774359506; a=rsa-sha256; cv=none; b=FPJrSFYDzYHjNCdtQAbYPDa1Xo9uZvQLNZMmv4pehdmmrdPe4mRJo5lITgiR+8xK4CwTYp nj6lJLrvfZ4+X/dRIaxE4ClZnuNaDuPYaxL1X31kRCn9kcOyPwkW+RbYHddyWkVEEu6KJh pRI0lhHP726a4lvNDyHHwa2iUsWrNJephqvS0f69wbJ+Ie+heAiheCY71/TbBJ5OGz2Rvq oUIqBdIDB5sswAa9SnOeOx+83KRQ1lpe8JHKiI/bsND1Piq9Wno08cD2jXPdtqqFnXFRJv 4vLYLb9sM4zOez/SNOJHi6V4rcshlXWsVaY+QK17kbz2iEdqbHWA0f7nHryDmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774359506; h=from:from:reply-to:subject:subject: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=YFYIfzwSmA6vBz5YnSzl0EsEWaDBQ1QECmlHpVxJdstzDqjyx0yKzwIFNlF7cZP9Z98Euv EKFElrm5bo4w3iV3/1CXwFhF+5UBANMGDrYg0N0x0O36Y+7N0v+m5V64o2/ks/x5HFhxhy 9C5QVyWVcAANIdm3fS/xostdabS0xX096rnFXe2OewIb+ldgMEEKIqFu6GoCKQY6Ze1RkJ vHT05UQgFXgj8hVyEsCQAl8wWB0ydibV9S8RpnC6ZS2l5UYLNeNRnyLbeiwIitfrBlPytp Y+b25CRqDzTKQqZKIBz7Ei74dBDoSjsd063iqJIpNBfmAqdMnGf+u4vYLiV3zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgB2B1X7qz5Zy for ; Tue, 24 Mar 2026 13:38:26 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgBlg512jz6Wk3S for ; Tue, 24 Mar 2026 14:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgBlg4JnHz3TKq for ; Tue, 24 Mar 2026 14:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774361455; h=from:from:reply-to:subject:subject: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=fuiZJhMJqYjo5yDWWsJlml7YKAl4ldwS7LE2Lb4M8F3klrGwjk7K/s416JJz5zPPOOWjvq ftF3Uuy/vQoqgMYYlIgQW5P0yXBxJFxMMCE2ztAOsrAt7YeAZrgL9lVHtkfQH8xhwHBdet gpMQYveNTmllSux7acirmh4dEdA1g2behTelP9MqsBnS9tUqEtZlqteFZEu4ndylZa+ps5 TLwgww3uQjclRzFpW+7QNy4FBm34nY2ZUTpRko0TD/lQnkGWyq4szDKy6oV92rbgH6BXbI vkPK6VbYv9CKVvFfsdPLA8djWe0TlyurlNDehu/mvMWg9TTtTRcZe4NYGdBszw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774361455; a=rsa-sha256; cv=none; b=KP8U03r7gznjOytcCEY+lBga5GZrHsPwMvapUrWe2JT3oUQQQM4N5iL7pQLJnoGp92hVA7 x/yZQMpEvP1Ql/r5GfmhLA2MpTW2WmSlw1kr4IORc1a6QQHFfq7TrzJlSFmXadn6y6Ac1y W9UkkbPvOs9u10ISLQOC/bypEgm8M/Zwh84HkQV/FEg5hWDMLCk0gPmJq8UTK+uptnyNaq DDUoGtJCJx/1AjjV9biDijGuL0T6iumw2oxgkqjvkNwzmx5h+k+MglbWNguI0gejoFdxEa mlQa1Vb+5uBluqgLRZPznilK0vQZlPQp5McunZbOyofc+Dg4uJ08JNPR0/nRQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774361455; h=from:from:reply-to:subject:subject: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=DHF/Q2Y98fcGSizN++NQoqtyIw9u033zgNW8xCWAU1y8PzwcdzkQOokqPaSd592IXmd4sg 5vLfscuayfTHd1LxUIT1XiPsw+7Rn+dAyf2NoEVHPQ1/RM8J62emlWKAz5Uw3xSfDvvDN0 aPROOXSy96EroxvdcI3T9EFSrxCfljNPtXN99u0ckCiczjdB+PxBbu9Fl++n6wGQUViNJH U3gYKEO55aiA60C/OTMtfQmFDM8bfBEzeyMTbmXGasSqIzpNp2ZxNqLPOb/aSdnH1ZmP63 sedI7uFiyWRbp+mkUo2bdBegOsOFNaflw+scMra7gmSXgem0VMLHA5ddbsWRWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgBlg3tRqz5yH for ; Tue, 24 Mar 2026 14:10:55 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgJ6t0SYdz6W0D2 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 4fgJ6s6xVmz3v1k 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 4fgJ6s6VP2zTd6 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgNP11Tr9z6WDGp for ; Tue, 24 Mar 2026 21:25: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 4fgNP06g6lz4JfR for ; Tue, 24 Mar 2026 21:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774387524; h=from:from:reply-to:subject:subject: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=tlLvyY7laKG5jtzjRSfcq5bHBkTcryB64d3AIQxjYXdwpKtwRZqSQ33NZEvjUEhhk4cvKq Os5/h2AQ0147IhcGU7HLoNAaSGjJwS9T/b9hb+/Z+oILl6PGQxsLdHO1lXwAa6ulE0GxQZ JbqrzRYoCRvompblWtwp2fDGeB8U9IZQmWtKEKjVArEoWxVOPJhG2mLa/BxUF7fihmnUrN I19hpcFYI2gLQ/1uucDdhFMCmHvgOIr++hctTLfpZxTde0fpKC2K6aWtnXpwqtuDBnHLHu n/6gU/Dd5H61tIaikGjctcYe5TE61K2Dbpoo8eN2RQdHdZmuc+GdhhrQJWmzkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774387524; a=rsa-sha256; cv=none; b=CP3N7s4/wIeutY/BwxLee1rIbRcTUcvAEPBdQOJYCpn+vXoCzZUf3udy61PTEZcd/C+Yqy DkE96nLH04OHSsHLIfTAs2qp4NU2u8NfWT1bnvWtwpRxykueLmMaaOtyHuRQuAClaj8F5D +sq5Hc4BR2I2QkhSDM2QCQKdh8XGHF+EErI4V+Ulq3PFZTkgX4zWiQ4jKSxwefWy1S+BFF UjVxOAuxe5VWqz0QLAEzALLxnMya+EuhIk+lmqJJ1KaAuPCMxiToccKedx1xTDNJvir0ZO atq7zA/E6sV3pJ6cjWHY5hlQmIU5HljRnWsk3mPu6yMkhIDDm2Tt3vqnYGcEyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774387524; h=from:from:reply-to:subject:subject: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=vixC85PEFRmD+3j9YLl/zY+d4XpQWnRMoANtvKWA00wIm1JT+cq2Tc68pX4Jblq86hYnLD MfmmwRCC0C7/6+hBMLVqDu2XMSjM6iakQR/tPa0hA8mXoKu02wAoWT502eU619+Ug6AKgF Io8Fj1aw0YNS3tbbZUUz4Yms389a4sJaEwWXgHuXttIsPW+hMg1+DgYeDBbBplXtPdjP0Z 4XuXS7P1cSBgZHz0RE1SWdXYwSgDz1wKjVpEVUoSjFrrXxAtMAJHHN1CaoTVhJip5hcfP6 c+hZ8yvJ9SIEWlD/1SF7wtNYn9Yo4PE6c0YCTpXFg6e62jGF28J3+273E6oyQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgNP05knNzcWT for ; Tue, 24 Mar 2026 21:25:24 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgPF74J04z6WGVK for ; Tue, 24 Mar 2026 22:03:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fgPF73Z4cz4MgZ for ; Tue, 24 Mar 2026 22:03:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774389819; h=from:from:reply-to:subject:subject: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=OrbTx5ZfFvEATqwpdVZSWEgNBu++nC2EaQqByv3bKHug4QuvYrF5EcycSd17/Byijwk1em Jgd/I9lUBTyd/MKe0oqbUZKR5GCV48xuRcjBGX+iJPTk7XabfJ2q9qDVDQagcVJYi4Mrzh I5GHwKpjorJ3/LWO7npZek023J3NsXYZWZ1/gV5nH2SLTasUOS0R3/wL9EWutUah+6GXzE XUduIbBrENpY4SxFew9QHFIdwXYI6y9UZGW303YrFSkUjP1eZ5C5xw1UWj+T/jVVf2gpPR +L6WGjUSvkAhvIcWyuzBem51N/Q/E3s4d7TV+QezLYj4uqeihHRDDoBmjyAv/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774389819; a=rsa-sha256; cv=none; b=m84v+NnFMSon2QsdPnuEpuwes2t+E56b9XN3LvjvmTMxcxlobdoeNxhGenug6eMNCuQ0vX hD+F83v4lXmezOZODhKLpXCJfT5jCs/4t9aTVkGwBneS5S1RkFAzSgPjgh3tfelfCOeFPd eCFPeYwGCJkXzNxAPItP/UfjUcVWx9SDI63zkc0R/PW7+9NJjZIsJ104sKusqcDkGhUsKf ZmjYXIugAiM8DvebzA6LhLX5yOIEFp6a0a3tzoIMxX58FyS8wDE8BX3Kbq9cx0xPH4vmEk TtT66V1n5Jo8EoCHEVfZd8JHuF6ZlHI7JCip67NeX1l71i2ejYZc7Ba6jsXLcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774389819; h=from:from:reply-to:subject:subject: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=KTGszfXQvnizuFky6iezLuAehlvuudE6OEK+PLMGyLiIUu1G1QZ+DZAlABYFkNrKyjdOSI ut+DzcYqiFKD5aUHp3BwHpCxp4sDTSts0BwJV6P/IHnwlsrMRi4081HpkauH1ZqKhbYR+5 8Z8VVvM1Vzblka8xsqOWl1w7HvHGIoBhfMKdn6ni0kUEBEcrFz4vm2HVD7tG+QmPspdv7e sR91aJ5md2ajjnjKCIkTgCDCCIJ1jT2119R4BPqyRY1CPdBDVkI/XXw+hTZH1ULqN092D7 g5jnLOYs5aKOd6uFRg0pRM0QuuDuNDieKs4gOFcVNNzP877DzGb/rWiPR7zwFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgPF73815zdkw for ; Tue, 24 Mar 2026 22:03:39 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm40xP3z6WS29 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 4fgSm36rmhz3MCn 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 4fgSm36DMkzjf3 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgSm55xTfz6WSCg 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 4fgSm52zqQz3Ms4 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 4fgSm475W3zjb1 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 01:29:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq9121nz6WV9H 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 4fgTq84cMdz3Sfc 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 4fgTq843ThzkPj 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq82LQGz6WVWc 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 4fgTq803hfz3Scd 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=Y64k7zpKoKVxvBnEFmzJPjyFxBBvF8L18CSpNL1pUCE=; b=O/DYwhHkL7BuunfQndC8ach72kE00bp+rvDBaY1kmJkxf1evc7uXs9FzN/Q/CTFZHwyHcU N/UAMwM8Q3ApspQDFKBGEBYED8WVGpQaY3Yg+VrRA0ryK7rVM3EE8zxPgfwHqcV/tInxZ8 6LteDBnjYDLpkXal5ajM7Cpf8cIOiPDlOI5eba6asyc9/QhVyTSC/iFJKInljuq1V28ONW UCk5Pc0eVMVoNMW1k1zGI0hOSvp6SZ8dola6rd/ARnV/k9QLuejca7dLIcgHoo5GCc7tMG pC38vvfRXugMhhiJa/XEzWlRd/Jvw8hP4SVzXio/UZG8qji8z0Q4wwpWvQYX7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774402196; a=rsa-sha256; cv=none; b=YxrtwdwBLpVUJid8XKElYmN4X7WRcMsVz+zFXQmD8ZOnjW9JAF16RuAqKdk7ltgKdWJSwX SnfA2BcwilQb03I+MsCOj6JIKA5nEG/LaAkmW4H9K6XS66Omlo+kGY2/H5OI9FzCZFoPpT LkoVSUuqjz05ErUyfDF9vd2bLIKBgwQuSgWXsehhZJ2/+caNZrcjUhUYI9TlqhYLpDCAIZ f1piMV4+tEAiC4SL2a150C6c4jqqQG2+Sfm/e9gh1Ww1YgbxL633xg41lmWXTjAJ+faumj PfWD1/isDvgT4ozGtA8muXJCoPq6L6dYQ36Q6hunp6e4A60193W9KUxYzFLLaQ== ARC-Authentication-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=Y64k7zpKoKVxvBnEFmzJPjyFxBBvF8L18CSpNL1pUCE=; b=Pdd/oLWhoLyJ3Kh8j6u8oHiykSQgNhpBg6aK1jGv3BxvEsnsiOEWzhjTvRvgdu4h1par5v X8jRljcAOJCh+yK/vgSgpSAjBgzCi6kgykTBb+sqzR59spall5GLtd87bf0SWJJ9uL6B13 IUumo7JEcTXMTGRa1/l9D4l+0jaWoU4QYZArBU7rplsoRbGSSpYjbjUC0InOqoxPOWgqmb Jd5+nK1b17+2SKtyX6P4EzjwDmKzrKMp/9Iq3QXht913lPCUBZlZ1rgM0Pl45utZ54627k jDLVrhUzK0nJYE9sqdEdtgdotSgyTZBsSTY/A0jV6AvYYhNUXsF/J6807NmVTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgTq740wczkWl 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgTqB0stVz6WV9J 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 4fgTq95Pwyz3Sfn 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 4fgTq94vrgzkV8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgW3b0N0tz6WYgH for ; Wed, 25 Mar 2026 02:25: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 4fgW3Z4X8bz3Z4B 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 4fgW3Z40krzmJS 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgWGs47C7z6WYtr 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 4fgWGs0SR7z3Zqs for ; Wed, 25 Mar 2026 02: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=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 4fgWGr6ZRyzlXT 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBQ2v6gz6WhRj for ; Wed, 25 Mar 2026 04:46: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 4fgZBQ2Lhmz3mMb for ; Wed, 25 Mar 2026 04:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414014; h=from:from:reply-to:subject:subject: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=fE6HJd9GERFMN9rxgP/CWoQI9n03FjSrYqaqSDui9WpVMH+ts3L65XcqGw4rq3aAiiTPqY AyPYEgK0sVyKEL9i639GqRP8FcJ1qtadV1FA8ocYNwZUMsmOzdwhkam7tHTHXZH6pk5TQp ijk+UBqm61CTbsWSZ8BjZkL1Pw78BK8LrivCygYIyO3JJ9cOj2v+7kSjM/7r55OWHlk2Mg 5qSfKdriNqC/TiZDSQESo5tVclsIAdMOVo+Rhuhv1gvC7lmPLt7f4Ue6UF3ETqVo3YJu/J /bL8i1RWGBhpJuyLeUlNMod6RT3bU9na5DQjt9IMJroc4IfdamIrPZOlj+IHZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774414014; a=rsa-sha256; cv=none; b=F7DGZFKbGfOtaxYGboCR+t6KkEfvFNRM2R7HScMwNPUHSfuHNrH+bUy3zyma3sydVtb4/m PfXRwl6WdnvuAoyYC3ImBVixAciCdiGHlIK53wS5Dh0/yFeqJiX6YZZaN7rq5QE9IaF2JD Ea4e1fK9VW3YmBWK/I42ng6AwBoQp8C1acFJ+JNBocw2v8qrRPs/D3xSA0VqOaFW4wnfq5 x5Pw3WB8HsXxAtgytYAEk3BnJcaF6kk8hooyGUQpEfgWNFNjycIhMz+LAlPBJYM0IChHxI 0jujzykGYpXzBQDpBAHTvKuYCyPTIKuMjuPQSNCGOxvUZEGfUk0+ULbldPuEvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774414014; h=from:from:reply-to:subject:subject: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=t0TIf9Zk/OoR/pX3n56nsJ3zzJpwdsejCTaJwLFpTa3iscYDqlRkOM8AdnKYnT5h1ZazQt Mj9dsS+W2sIzvicfWSVG5o2ql1LtfBv7T/79XDcZCwuyOjiUnlknXV6vJAaJq2JyabxJkg QQ8eLMaRcioPNCnKw+1evEoh0ITdvJuyZCgGknS9flIlY4Y/UPsweNy7Qy5i6U/wR1tQuw wJ2uJG/axHmg7uJV0k+XOZfOQ7QZy3wm7fM1MGowvyAgLRHQ05N7ebUujN2LehSK+x2Tdw ND2BNfbD/LNidFFoZpYUOdaobDlM4f9+plKXSuVhEftaCsmWR2XCOmxP9LbGMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBQ1X8mzqgc for ; Wed, 25 Mar 2026 04:46:54 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 04:46:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBR3cFDz6WhRk 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 4fgZBR2YxQz3m7S 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 4fgZBR1bmYzr0R 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgZBS5BxTz6WhxM 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 4fgZBS32ZMz3mGS 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 4fgZBS2MwWzqgd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 10:36:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgjyJ37lnz6W4Yj for ; Wed, 25 Mar 2026 10:36: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 4fgjyJ2Pxrz3Jll for ; Wed, 25 Mar 2026 10:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774435016; h=from:from:reply-to:subject:subject: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=C+JpOjLDPZb9BltA1ZZUb+cEbxnv5rry88+T8qViQYthqS0zrQ26hdNg0TJJpw0eIIFGa5 tKaek14KNAI+J9xT5QwrCQ6g+LlConNyCF1UuJYEUw3IW4ZDZxkNx8d6GbEILfCfSfGML0 qjRp17It4WZBAchDvExiRYqxfCygjCrlZBRAGCeVNJ+vnX9gnFR3Ph85ATUTKqBCIXipPT uK0uJTDVLoI6vEg0ty0i7QXd5QZdTMaXySb6qWBWBhLXAYAL8rCKZrQjYBRBviDIPepX6f pWQnz85xHGQUxMdjo04zs76vNzsLbeIrjBlIQi1mCvHYPa/KSCKe+yEe1uG5uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774435016; a=rsa-sha256; cv=none; b=aEnxUcQmLbV2Gr0OwFP/doZPddPeSTkuJH72p3ttP8IZOYnh5pP3Fo06/Ihoqpmj8mJE5W 8ztNePhpKs0OmlNOZUKKm4lkznBBlotFFFZiNgzh5CvU43hyTt768hP/vS8fkOXsVJsly6 Qn6GMZ7YQKGRIalgyh4MRM9i2hLbMpxYAxsPrjMvAGleyWiP0H7IrJDOHizhs6xgW5M/Hl 5pAIo42+meZa9oinqZ0KtMGpTIuaVNKjtzW7cLqxNfBEUjQmdotyOjqSmeSq+PM1jqVgOZ ti1nIJSNmxTM5RGrd03u1j5UIzQ2kbCBFMvXu9SUdKDkHq8hVcfVFU0E3UMKng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774435016; h=from:from:reply-to:subject:subject: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=aD/z2uHX151DjIAuRVyYESmnMUdEJEuUoDwV7g91Xzk6VLXe1vD+1YVChMOzvYkNADUpJk D35Yrqcj/luLSBvVzZZ9POAsXceYwZXrLCLr0C589Jsbki72uD6Rwt98otVE2PK0rH2sLz qQoWG6dKMa8kjwVG5i7GJCszlBvJgkZnD59pv3LCokFcwIs19BSZop4wis1QrOM8JvqV6j +GYcrkWM91mHolvEF+cB1knpYSr0uoGUozi57QASHkM7hqv5HC0+vVNebqQroTebt8m9K5 nfHvm/6HuYyX5cVelaxu2TkvuljO8bYj8PEGwBngJcnQv6h05cnexUntGU1PrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgjyJ1Nmgz11sP for ; Wed, 25 Mar 2026 10:36:56 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: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 4fgjyK1xnRz3K0r 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 4fgjyK17vQz123B 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 15:58: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 4fgs5M1lJVz3KdG for ; Wed, 25 Mar 2026 15:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774454311; h=from:from:reply-to:subject:subject: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=UsPqcQ7lgiSvpg2ovJHpwn0dBcO3f7KyFXTl7Ntf0ypWVALm+V5FGkrRhbeMaf3OQW3ZxW dlZ4cE6dE2JO4B80/XDP9mqbqYvwlrCyBsxmNEY6T7cEbtLw8+sRhEbnDgKt9iUSLO4E8V J4zdzHfyzLnhJJIlKHp0Q53PyvwUGZ9ckC/z4e8kJUIOj9bK9HfMUoAZwpXPmlvdcf03iM m5szfoYQQFqzcH6qStDNGyOLTnAFqK+L+Lp/49zQ4TqhYXHz5eyHZukGDZQZtXIEQI0gjc V6wFB4MHTpNEYwf1dI5uNapJ/ZucGhUoUgNj/nWpgxUDNVH+7q9ACz1bhJ1WlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774454311; a=rsa-sha256; cv=none; b=P63qokh889xTFX/wnRvcaPlehCCjE/tV8WBj4KPqkXL0sVkKk59uRq1+OuEZhBV6FANGRt flQmrxn71a7/5hp6MjEDjpOzFJOu87ZRrWkmxV9KgwfUw5VuhW3uc59lL/MSc929DGkh8u xXWMI6JgPXM4jl4q3DqUPt6181myoZD5ze0ekbevXf13+KDDGrf82CPRGkR9cFw8yVL5kY jMrBNCiWRv3mtIF3RKoPjRJLQT2MFT5lyxA2ztfd2YcEaXBFpvk6LZl782gWHFxpuN3f5r 6mpNfa8WgQvemVU263c1IizSGzGno9COgDCzDNnRfoErp3TODLQAymRYbonGSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774454311; h=from:from:reply-to:subject:subject: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=Em0T0z2HWI4oARoS4fje3GY9xEvBMQW0y93WIbLsp382ZLuVB6qdOIbujMwlqzL+U9Imgl cjhZuJAndDbPpRtQPoqKU6eJdhEfWn7Zc1P2MNRxCElHw56Lq5Iqy+p3GA0/ihFNSJVpAH kPXvOera7Z4457znwd2E/KM1GCLURZjdeL9Ahwqf/84ryuyHfAq+E47vbNFzp2stmfWz8/ 8RYZRVJBaqRNca4purfcy2koNyHZ3dGuPFdCJkaB9xiQrtXa+RFktya7Wh9MbofdRGS8KS EExPbHNJxNhfEMqNqTbFnQsX8w+uEpJPVHSE4V5iSS/zbZ/4OlFByTrvnIcPFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgs5M17Qmz1BhL for ; Wed, 25 Mar 2026 15:58:31 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:59:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fgyQy0wQXz6WjYq for ; Wed, 25 Mar 2026 19:59: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 4fgyQy0Mzkz3mVd for ; Wed, 25 Mar 2026 19:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774468746; h=from:from:reply-to:subject:subject: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=S3OEtaSYr4Nf5KYBsr0k3GXqu/koc5A2KWWnjh+XWK/XTkdIuFQBHP9IoROs+5BdE623E7 mYBEbJeuDpDQTXor/nXKl3gLx5rLnAH5jTfFWm41eifxPFqJXj25afDCcesLUoLbJ90BzC jCMV1bCCQm2K+1QgX8I5OWgeUBndTsdjMsnG2GGE4NuZgqnukq5KxCMrPNWwtIUPUoqMnw zxs8L5NsTu7DdQ1HLP85mfT+aa6OcudBSJZhCaCf5mJ1proq8N2Hhh21JWKDjV1FvydXec RfMdvTJ66F/1SXvSLZXoApCkX4gCooGElYDJqdyTVzWMjXfYFl36Vcr63CDWqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774468746; a=rsa-sha256; cv=none; b=Llbeob6IGUUhVGPFqjr6RH6e+feFBbkn9e37x/WaEFkWWhBOoD474XgckDHO3FOu279CRT oyINorzH38nAyObzzxLJQ15AHLQIdFXihgujjhIRj+gVXCA3gqFSTW9ND+HEtEmNJYzuIK IO/sVIz3SAimVnOqnbsEXT79Z9zfKsAabERfhZv8NwgTs/vnlAvVPA1T5ef+DxKc0E7GfZ gz0pIy3I32lsX5jQlbJGUoNP3Sh6lw5zdhhzcul2MReS85HnEpaNvdmWytCMTwW9tALUjY yhbSPCvPaDgklzKoddrsJLTi9JH671ALMHwHcgclW69v8pBs+X7JfE6YRnUAeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774468746; h=from:from:reply-to:subject:subject: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=JWVgE5z+cXirg6lXk2t0ycJYFGBeoomQswtEgRDTPvfi3HCglpcPa/dVDeuW4l6Q7rDqYP 4gpZmPq70NcYxwn2eEhhMZ6XGHwxhM4hfKhUGJtxtjO8N+og5ga4pDx7RvEkUMnAEhghdO eRhslh1jfMylnBdF4PukEz45XUcNyO0sXXCbefjTGI5QzgkU/69Kp+OAz3Rj4hvTRHiRad cNlvY6cJ0s6F4E6a1P5P3PZIORY7jWLz3kNsKV96Y3MM2qbDJepOSEIEXIPjSDJIOMAO1C uuGh85kp8GlZZ3Vi+WbxP7PASTpq/0gZE+kR5NLjcUucsayLCmUyQ2JCgaCBkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fgyQx6mM9z4Ns for ; Wed, 25 Mar 2026 19:59:05 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh0LK6J69z6Wp4c 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 4fh0LK5Ctqz400t 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 4fh0LK4R86z71N 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh10f3R7Tz6Wq0m 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 4fh10f2C7Qz43P0 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 4fh10f1cdRz7yD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 Thu Mar 26 00:25:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh4Kw048gz6X17n 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 4fh4Kv4mq8z4N5P 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 4fh4Kv3bKzzCrN 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:13:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pr4gZTz6X47Q 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 4fh5Pr0rs3z3JMs 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 4fh5Pr0NrzzTvP 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fh5Pw4QzSz6X3xP 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 4fh5Pw2F2yz3JKZ 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 4fh5Pw1nXRzVCb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 07:37:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwG24w6z6WR1y 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 4fhFwG0zj0z3lMd 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 4fhFwG0X2YzjlG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhFwL5nx8z6WR03 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 4fhFwL2yRMz3lHW 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 4fhFwL1ybXzjlH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhG1243thz6WR86 for ; Thu, 26 Mar 2026 07:41: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 4fhG123N0tz3mG9 for ; Thu, 26 Mar 2026 07:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510870; h=from:from:reply-to:subject:subject: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=GOlXc0ryh23L2ru0o2W6NpoWritHy99t2dKapB/b9EyM3hYm+itm27lFfveoN+9Nc8RShb wZfIq4m2rzQVk0LxtLta2wiSHpkl12bVjcQl5mTm9PbDYegtd34ILEVSgSAb8qruPbzd3P A7vUW88cggHkCG7iVTzofkzSJhFwPKI04uxxWYBkvzqBz14mpOleStpafov7/V91GJbb/K B7JZn14Q5rvto+EnhHFkOUlYzEk/4v9ha4227+ps9tznOFS0+7ymCKjvPJVVirJ24h+Rzg cpDVt/3JbWE9ZjcBpQ1KO9N30GC3fGZZlHeu1bxdhvPancsXOTcq/nph77jYNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774510870; a=rsa-sha256; cv=none; b=i6hvtCbVrTUkyyg+nZtbnYaWSsZmhmhMzhu4CtJGQO0NQ6Ln3n3KpZ/h3cqWQr9JwAcvGx at67mGOShqecxzW0eRSadIPTq1/h0jCENehMbkY3J7VMAaZ6SFauS5uXPH8ygpdq7airwi Wu1zjjwyG8vIAgYy/OaT9x60HAwks8P+9BnNHNqTMA6kMBCms8KZzigamyKR5tBQW2YkCo 4hkJi/F7B/aXdV+YZ5FCnGKCcAPECe98f+iDc+HrrdkLzfwqt7dXOmmdMMbWFiJOfbAx9i iBkjfLghAzwDPtFioHDpmi9zrlFdxBMEM8PoYKoa4pU/OxIonV4bJeCjHYVnNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774510870; h=from:from:reply-to:subject:subject: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=SeloMOSVP/ZYGcRucZW1DS5uNno60o2JyuLYVE/oMpj/U2aM7tZpQvzil3AV1NS0IWBe0Z sIOArlyGqjNP5U4aXh/fh7K5xxYP0NWQlQSMx8kWVvYcT+LOssNOBTbP/BgGheXsQ5sLvR Gbts07eUzhePCrkUEFm/uuw0jtb59OMyIKcQfMICBIbYetCYB5hbWNIszlCmVuOPd+ZRgF LN2tb1ebBDAa7a28eCrVLbmlsT8V5NQY/K/snIXBjM6ieH9krudoiB7aRt8hR2GfqrsuZ7 i0byE1GTr75B/kBJ71Y9gi8S+BEg3fYOK6As0HjaawF1h7KPJyIJveQAN1W7VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhG122pR1zjjZ for ; Thu, 26 Mar 2026 07:41:10 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhHtj2Vt5z6WZkx for ; Thu, 26 Mar 2026 09:05:49 +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 4fhHtg3GXZz3vCx for ; Thu, 26 Mar 2026 09:05:47 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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.999]; DMARC_POLICY_ALLOW(-0.50)[e4m.org,quarantine]; R_SPF_ALLOW(-0.20)[+a:mail.e4m.org]; 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-main@FreeBSD.org]; RCPT_COUNT_FIVE(0.00)[5]; DKIM_TRACE(0.00)[e4m.org:+] X-Rspamd-Queue-Id: 4fhHtg3GXZz3vCx 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhJLX2WDbz6WcKZ for ; Thu, 26 Mar 2026 09:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhJLX1jfMz3wwH for ; Thu, 26 Mar 2026 09:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774517188; h=from:from:reply-to:subject:subject: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=MdTCq4L4tpT5vABRX8nfAgVdaEJFr+9zUDqKFYOdofK4SX8dNbKNLOhJmraqPzR3lsYCyB 0vAVNUZ4XzccHwRCeemCquvrU1gqUqTlK3df0rTPUUPNMn3i1E99jsftoU/9nosz42ACcd w/t/XiUEnYekDKoYLI/7/MylAHYaAenjGmx96YM6zuYwTbD+syb26d1EcMeXVMg5IIMOKM rugpmijFDjagcwBooongg7mrtIiO92BaD+kI4kIpxstjr7fdfNe/25DfBQ29r1SfiFqp72 NTvS1jFzvxUXQBZHDQn7DqDEGonW1QzBg5tSw1BR8mQywm5l3O3hWGh/GHuj3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774517188; a=rsa-sha256; cv=none; b=xiXdtaugaeRIJ96jembN51t9Cy5q41YDOh9KAxldvSDKtNj1bc3yrZkQK+DMWS8QFHNoS9 vbzqUMUVWcNe3zr0DEpKGUaJPMDn2gRd+ShGKiM2647rLzyhC33cPWf+gb93DuSipa8iEE ruFtLgAnU7J4qYgeX7TmYtkyEeZsTkIZDW4mN4kos1T4xKRG7F1sd5NiQ0/MXaI6LDbxy0 zDys7xu9ay1Jnf4EXHzHVSzKDk/aOiN4tWVICWZFQ5aVjWBailVUTXMZYnCN99S1MRt/VD W4tb5W9nAKATcE+MzkD/EE48B0i3wmFGliicyb963yPvUmA8n50YXBjKOVxDeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774517188; h=from:from:reply-to:subject:subject: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=wFgr92zOlpBzZEW4WqP3s60HPFZcdY1xTo4QIXQtH7eWA4SxThRn0buWN7v3UhKtpQn2HV HyV8Tf30s1PjGuJaibAUcc9m7oMOhtHKQfVwM9JimI9E5xrs0zJaDLWLIn5V5QZvyGUc9n 7WSZzMS9p7KbUYK7rcdGEQrxD9GMeRBl2yoMr/4w7QACXQKQ8D+O8l4XPqOJwQ66oPH7NV dujKnVGfdCjP8BvEsKMADZPS1ER1o2hRmxMhGq3EcvExWhP289FYA/RYyIZm/QNLiK5yHW GaZk2mnFb+4iWky8D2Z1UN929oj/XpLlvEqF6DhvRYijwXAi5ta1fZQn/VpT4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhJLX1HXZzm7s for ; Thu, 26 Mar 2026 09:26:28 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhK1g2sSnz6WfWZ for ; Thu, 26 Mar 2026 09:56:55 +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 4fhK1f58G0z42gH for ; Thu, 26 Mar 2026 09:56:54 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fhK1f58G0z42gH 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:31:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhMMB1rXxz6WqKL 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 4fhMMB1CS4z3Kfj 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 4fhMMB0mBJzqyK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhP7h1Sp0z6FWqD for ; Thu, 26 Mar 2026 13:02: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 4fhP7h11MPz3SXf for ; Thu, 26 Mar 2026 13:02:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530144; h=from:from:reply-to:subject:subject: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=awfjHBx0P5jzU3zWoUgPVF2li+O3mcUzW5SRrwiITbTUGL8mrMhErJHjcYkYmHTal7UEbi lZb/zoVh9SP2qAFwuATtR2zjMOB0SvF68xY9qQk0yZgnyI1KuJjJKhuB0zzjuvNUnurZYn XAPHXfCNSaNP3ek6Kpr8NGWIxRAjx1sHKlGfqB5IU/Cvca7tY6HhU8zIzsA2f/uymOV7yu p24q14NWYcW7jWoOv2f0OoCKU7Cw8WA8YbmF//EjyqwpYYrCkkcJAIgZ1u5pPuofkWP09D 6SsjeY8XDsNfx/Dg/G0WRHyzU9nlV9hSp4EIEr1vXeRIT1RVLKUq8wHmQYPx6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774530144; a=rsa-sha256; cv=none; b=wU0zC98uIe1l/L3bsDBQRen7PYhC+vanbStqeEcKKAkRwSt9pCkdJ8TAsl4sQ2VaXquR1w FDTCo1JOlvfC1bCe+/inpHYBUbdnHaKt7XgsWqDXuRHjgicWYZQCRPs1pmTWrhhddMPyhj OzEe8qGxedsVxOCKgN4oQfio0gTr6/99SV14fqmlCdFwls8qfUEAyR6ZJi3kBdIKSq7sj0 YwB6LYU0nT122Fw+fZt7KVvkQ4eU91hH1sBBEodH4dR7Zo3Hg3mb/a91gl5urKydF14olN CPKa3aZJ69rn5GII33Go7eGLs5JP8DD/8Tgf9qL7xyeOJ3lzev6DavgqMsRNrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530144; h=from:from:reply-to:subject:subject: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=gSaqOuhgvvlW2fdudo9eP1L0tjENW0UlRUKygDkk7yzIjeky6ZWaC3enJrgXNE8UdVRQOp z/J6wr7V4lrPJ+V/AfnPgWvsoTRRr/OGKyW8h6JUwLK5uGagcOGH6/nac5viW/v5gIJ6N+ 80aIHvQsismM06YF5IkSPTUShxQuRTnIx4I/XF/Gui0vlc64D9J9nUAXUnROPgMriCkdph 8mGX4Ba+z2pm1/DnI23ccT0c0xYJihsZ4tUdCnzrZ3VkQZ36cRzIrMbPo7XblyK5mg2lCL yuYtpwqV6UYdoEXb89izZ4mVV74DBvAaseQ81V0V2BXHVISFPAoBGRO9F5TTlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhP7h0bPDztGM for ; Thu, 26 Mar 2026 13:02:24 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhPNF68z9z6FXfy for ; Thu, 26 Mar 2026 13:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhPNF58CLz3WNs for ; Thu, 26 Mar 2026 13:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530797; h=from:from:reply-to:subject:subject:date: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=IhImFjs759athYZAhSj28e4uekGqE55JLjIUnO5b2U0VjeXn9VH+eYweF3kl4Z+eS6lQ3G OpvQ4a795mywnXoF+xthM+J9M81T3mJj+2ozT8utoVdn7NtNKHEljU2VvPlJ1jIeWOdpuM /nK/t61/wnqLmBj9nW6iTuSXNgmNDaVcY4rBgldwtb0VQPHmnyfP+0mTX/nj5Yn1qAJ6Le QzUnZ9tx+a8zzCJAi/Fx2UtWUFsotjiBephWzSeMSiYh41fb6kdBgZ5NJCHNpm/H0DIUNR nfj3osk5oj7AyvH9kCX+8JysEaTkdg8/Pcl8aXRkTQit16xMwiPuVQ3hnK9uaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774530797; a=rsa-sha256; cv=none; b=WczS3p3bdPHMARMtsBQ8pMicW3cETSeWiDzpLdU+oWy7/uyktOZglA5oQZ63VKrrQcyqyz JyFXytZSob5jdQ5ETP3ubKaEo/8z5Wa4rByfjPXCSu7M0oR2+FrB496W5RosaSy3aMNDes mlIF7TkvRj0OxBU3ARFknWerNLwYvciy+Lg4qZX3cPMdFWbixPO0bASyERcFcOGzSZNBy4 8rxdCYlAceNCojezSOHPLwPNm2BaIxRlGSoUNpsNIKksH462mdspTzH9u3KYaEYBj5yG0l Vt+g91xkzfrhpWsbTNNO3t4STr4jP3MrDn+BewsUYcILgR4P1HkFc6gL3v63Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774530797; h=from:from:reply-to:subject:subject:date: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=TDALipXXcfGELKmzptYOHUZ+1Z5ol0Bln768XhKr3jrAif//oxcFcrvlmyBQXby/G1Z594 2xNcrJdyH+63QLPOcjlLSOAcoescjb2j096g8s9BDjvRMVfYOz9ob6BWec3+9OBnsyhWg1 s/bwDy4nyZ/XPM/PH2au/XhbPqcZGzHk0TR5viF3i+ykcWpD0bhLgvMF6kugLYjO6Wx+3s 9ISdl7mdJJ9Jxzo62/inwgO15GpF0chmEfiAn3KPtPylMGRqMQ/CGXZn8/hEgQ86ZmBY9g C+WdrW8BM46AD7hr60FgePErbzIY/0xIVAEW0NmE+9OBb0OdAWDd6383EzQLZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhPNF4dgzztYt 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhPXF5xrLz6FYK7 for ; Thu, 26 Mar 2026 13:20: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 4fhPXF5Q5fz3YGW for ; Thu, 26 Mar 2026 13:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774531213; h=from:from:reply-to:subject:subject: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=nlN/CwiRNfnruBHTXT6MskXnpC9FV28Ick8t8olpK9k9FF2qdmTO/LKUqvT6rwt4TEbFhn E6Zbr/qE3wfBJA/uTmMpAGj2rRcsqXT9BAypX9Ci4vm9Ay/wlpII9COuU7W5kKqAnNdsVo I3KE6XHEo6TUFxcSQLLQxnWffMxT7qXW0G8ED9AWXyXG2G7mxjm0b+h9PZ8KqC706/jnk+ fNnOsmQvF12LDXqz6NrL+AHF2WOQ1smA+SjU16+wXt4QM40stGqmVhb68bcu7VXU3ECsXD 8Vd4Y6vtNldx1Mc2uMjId0EH5D9HhTw0NjB5FG6GY0tXfBk/FTiEKWIMeNWhBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774531213; a=rsa-sha256; cv=none; b=qgnPZybAHY9iUpBLGiSO3ij5i+EccTCUfXvC8wx+G4g6pMzeCNgLz9thPzzn+i9lo6+x7S fDDnk5bv0VdTmy5kCJyGccHXi1WqS6fNlwY72/iL2ZxyLD7D+0u8Fyp5rU5oF96PUdr9gI 6uRfnfBAZK2zPBSZupia80XOcdHJTCYvH+xVeoAjBTUhOhUd+JM4+w0PvyM574MqENhftF mY13xspdK5UhvRnqtGe/o9xRr84YM8sIIbW4glCPuvjxOKKuSHMu1rFRkRHH5jx8BaqDj4 0zIzfhGMhACuKMGvjqGEJnOb7iktOEhWrGBV1TDksngmevIiRkMMZzMtPE80fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774531213; h=from:from:reply-to:subject:subject: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=EZxwBNCTVTe6qW4OrPs8dn9uCS6otXFz09Y6kBk0gwKlyUyB48FwCjTWhBtLmaNtNgDxQX 5nE+d8mIZat46w5nub0uPqp/rCWj2DsBwotmT7bnkQZbgl24/byvlgHC7LZouoyEnfbSAf EvrkU/r/PHkl/VizKszgGBr9d8dzSt/h7DKSq+GLaVuvAy/AytUTB3j1OkjksaKeRqtoAQ ToBoqCslLjBI+I5QyO3f5yv5Pn1O9akvB1of3D3AycAZ9I5jVTJcN7eYGJqylsvpj0V13D NpvQZu5TvEqekWRlyAMVQncKsJyq6jrjGXT5vnktLWX15BZw16GB6reUFLRpsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhPXF4kMhztvL for ; Thu, 26 Mar 2026 13:20:13 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:53:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRcK0XCcz6RcWt for ; Thu, 26 Mar 2026 14:53:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (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 4fhRcH0KWLz3kg9 for ; Thu, 26 Mar 2026 14:53:51 +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.54 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-6634bb959a2so1369142a12.1 for ; Thu, 26 Mar 2026 07:53:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774536829; cv=none; d=google.com; s=arc-20240605; b=dC743bvoMQA1Y2kVOy8O59WlhnvQ1pqukHrROIFQVqqWHbwa1Re22YD71Zz265NIJa rA3XU4jLyOjvTepi6TUHv43TLCe0UKCzLpfWLJ5ijIB8pjxECR0FiAR9/jqeNa8EPnU1 aRs77ZlceJ9AgbiAzMfWPVN2jAyxPz+MQecgtgryxvdCSLNyByc1cRmfP8f1EZvx6YRT wGE0enbApvyfhMtrT0hUgIkYnF6bd/+Odk7QeTwEGiBUxQnShEkFVCe1wGAEt0UUx0hQ 5ubWcj0+d8OFD3oA/CXuBiNadOIhfgX/CnzcdnGGwxninT3KEl1RcB86obtJgPikluOF 7CfQ== 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=5dfNasj3aL0avREPGfx8vTpAPCzZGcem2ErnlDEjqkw=; b=HJbK7wEC6yD5itBpHAOyuav5qptzhv/2yFdnte4QR0sjPhkM6CneM8ioO/wdtbB40m vgBdWyi4GqY/iP8ETjZ4dRJP0bZst27Ofs4ZAVv2yVGSEeXk0n0bs4u8omx/qnOcfwUV DomGs3XtkRifgaW0hAQ3vH8sdaHwYUh2jIECvIRLBEd6FH1yaMY2j6F7lJNX65dgzErm 6pZUNjCHGU/C/LqIy6QQkc/kIAXyKNtXGdHK/VJDI9xRpWaF5vRUrk71KbElW27siZNI CDv+vy1twfaiXBjGOzVgoOey/ooX57GGDMGSnADYlb70Bzn3PO2Tm/aEDDHRoZHMwXIT jECA==; 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=XJHP4tnDReSCPVNFAOzSjwHdZWNxdkCi1b7ik/4TnTI7j7blIDhtrcENf8AYS1ObtW U4b0x91MCwujp63g60NOz5liYCCjkx5MZ4oegAMca3WGSy7JHaHBZu6vzMty1JmCk3Pk Ql2lwou3FSYACQQIUJqT955gQIeYjBt91wOZmig9F7hk+B019CafDEZrq9Dlr2QYweSM sMGPLfTFlPonXo00FAy2vZ/L1R8iwChVXUQSXV5qT44mlurpHpOF51SNha6zIUmjOW46 AHhRMPTpIroRllHII8hqnewlFtea0rcUg3zCpO0mOjr+ArLowudca0fq4/OS9CyRhVyk BBbA== X-Forwarded-Encrypted: i=1; AJvYcCUv0NU9xOLPwGO8LEQZJsMJNJ7UJ6mfy670OeNflBuLRq8c/DIVTKCXVkPRLJ7398JRWfIgSB1DOCtzG9ltbaJJ/4MHbQ==@freebsd.org X-Gm-Message-State: AOJu0YwozvLaI99ri2wgPdNr8YAbSi+CbqNGKsPDeiax5mniuQRpfmhl ZU5OyICt9x9seXczwZhAN/ZkzFlKXykJy6ZnU5IrVLFfGJmelESk4dQRIYWJSUGjidT0lFG5aad 7hcizkjGMQlNW/xuXTCy4+c8AaS0CXE8= X-Gm-Gg: ATEYQzzTW57RWix4GK2/y0OBqQs/VkXmXAVjRZV+1nxuBSp/DGYhMBfVJxNsFuv7+BP U3Iv/cut37ejjJar8aZhOO0/ojSEw8AoFndfRBTd/mE0n3oWiLVLEgmwGw/5AtMfldCUhMqTdGP Ec7NPJKoi3FLRAWnwUnW8VxJ4slEHWwrXR86pN2+6+ctbcfV68ZbysH6TXUsnFMc8L9/B7j3Sm6 RkbiH9otAinf+/N/dO97hrxb6motLWZCgXcIVkpNyNapqm+3g9Ad4BDu2KY0x1K5l1UtQiw1vjr S5qqO/dwPGnbDr+F8QBS6UJgxy4KMN9OvmO2JzQun+/Xq2HBE7aK5MYq820INDBJCbfrQtb3bE1 h8g0= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@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.54:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MISSING_XM_UA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.54:from]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4fhRcH0KWLz3kg9 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRhD5GTmz6RdBY for ; Thu, 26 Mar 2026 14:57:16 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f50.google.com (mail-yx1-f50.google.com [74.125.224.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fhRhD342Kz3kqv 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-f50.google.com with SMTP id 956f58d0204a3-64ae2ce2fe1so1130764d50.1 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=1774537035; x=1775141835; 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=jYjlP3ZwcB7+KyYxgBMbEWJnF4MKp5zTnjw0TjlA3nDFOQ187Hzw5l2H+7dPNdtE5T BpAzWqUuvjkA+zrlEXflP2KJgEb/Z7N0OdVv+3dRbX8QwQFmDiCIQmXMSKITzrH/ssPy xC7VEL/ZUw3iCQoKUKmaIKA5dwgtkqNsjOiuHTBywMKjIbYpz/H5daMaWI9y5yiHDQK6 8z/5ieK17KQYgXyjwXNpVWYbt9eBWMKRxHYctN97bTPUGvvmVw631dpKu2wuTfq32qUg BpEnaVyK20afIgGEWcjw/Hajt3FpAsa+VDjoEFz1fiAhGCvZTfrxN10gSVQyvDZZdJD3 mwdg== X-Forwarded-Encrypted: i=1; AJvYcCWl5824X1CPpkLNgIxEdnGZk6w/vtKL6hDn23894tFXCdAS+KuCepTTaM+Rvd/+OGM2bo+BQLwZYpM4vMngc4TWpVoyRQ==@freebsd.org X-Gm-Message-State: AOJu0YydqAhj0Fyd1PAtbG5UyatPvHESWrS28IupEgORzaWJwCIhgUDD STGL5kBAExTDlkRTKZXKKwmArc7wcyY47Mk0fecscVXBJ1u9DnG+0ZfLw0WIKvR0 X-Gm-Gg: ATEYQzxd4/6fdKXL4YTq2Q1ocrVq0B61DX6UOwBcpRT6zvnrvStdUKrUoxN78z1niWc cUcjcCVLKhYzgKG3BUxtwnTA/Oi2/Nxfvv2l1y2al5K0lmiS+qN9CQ8eTuKmfZ5GhyssrX6rcql pKbvIwHBD8asQrwNTG2LlJXbuhfqJ/cWfhyr2HCcWTQdN4drvyAokqq6skZ1Da80tA8gg0V1jZ9 j6ILS5KLsMK3lRrARUO0clwcJNQlusDI/DcJ/ont+gKsebbOzsXuBo7r/1TIVS6BDnYfMI9uhZm 1cDKSYP/3EVV64kNCsCDAs3NCuQmX3EPlXN+snyNiWsgnpYHbEQv+BtFjOK5IDM5VUoXhMCkf7W rRTciA0PM/akQU99fhikqnRg9ZhY5Zyb2JUX1PyuyvwS4H7WDvXelJYWwrpJV2LT7L+gIfbU/Rj 1VtyP/P8crUkmbqGl6FKCmZPqPmBgTkwjKCkSSLMpJNerPQc4yQtkJfUDN///6s5Xq8sZcHISRF uoe+nE5XgpafZ7B2X5K93ZiwDoumDutQCjMklxXuwtEIuKArBCqe01cO3y7c/Pagt2bdRomjZ1s ZOxl0ys= X-Received: by 2002:a05:690e:1517:b0:64e:dddf:2289 with SMTP id 956f58d0204a3-64ee608305fmr7591386d50.2.1774537035470; Thu, 26 Mar 2026 07:57:15 -0700 (PDT) Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com. [209.85.128.170]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-64ef6bdd449sm1509194d50.11.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-f170.google.com with SMTP id 00721157ae682-78fc4425b6bso10855667b3.1 for ; Thu, 26 Mar 2026 07:57:15 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUY0KzIXNST11WxWJAZVd6uXyQizkHz4/53lZ85tsVPQ/ca27ha97VH9q2sW6i4Y6adgZTW7h89vQ9cB9E9Nj4+QU0pUQ==@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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fhRhD342Kz3kqv 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRlQ5RH1z6RdVH for ; Thu, 26 Mar 2026 15:00:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (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 4fhRlQ1HYJz3lVp 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-f52.google.com with SMTP id a640c23a62f3a-b97a9f4b4dcso129100366b.3 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=bq3ptD+LgWqE/3Ip2px7Qo6Jkr06qdIy2T4E0oR7L+zUFbKF0ri7Qwir+Ds/9mHa1G lBeIztv6T5X3VfYCn5iNI5BBZkeWcUrTu+D5pKbMRb2MBUhxMANDYaHi/DRXhJsxCF/o cLXO0szZYJh/NcFuL0YJQGUg4FzVLqotcOVY439qDG4WIbqngzEq3SYwE6TxvdVcYlBY HMlgt2Jx9ueCZanNR2EeIwFhKxg4ZLoDjmMEIgNe37wLxnLj/ldY7v7ROfDpku8t7BKr KbLLXvrXKg8nOtyqAmZcyteEudBwCd7t/imMnYwremOSi2DqMVwkzZybjtwRa/09zszy jTiw== 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=sA8SSd31/Qdj74nU5uHzCsRtiZNE81xwvEX5R3bYCPk=; b=O7SM6yOSQ3IS2fXdYpk9InaPDagjijfePoq0c4K9zGnAEPVQ1jHWnyngaKQLtMsqHl h+5vSNV0rwA/WD3YZuVOSLtuKKlb30+mN9drkMaPSxAqWYx8SNFNxAL6jkIzng2iyRld qWx1XlYdJy4uRB22MUB7+bbdpqlbl44E6/3MHMKta/yxUXR1GzIdBwuoE6uPQT4ZjQJi khsoRy4EpRe1glxQKZoPJKSv2iJS23KB86DsHv85n2FL7tBHgYanzDZ56ZUj6D9Bd69x df3N7RGGv2FFzyYkxI9o6TNEr5kQljiPnuA0RRlPAyNSOaffzcnMILfHNlTB0f1NIk4f QeeQ==; 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=fa1mlR8u3CqJSF3RKvIHGvzuFpL2+f8RBZTNyXls1vVMHDTyM84D/65Pi1+k4lB/uW zE/fGOWY3Cghu50WzkUHnwnn85ruVWIMT2BEHMp4GczpJrl4389bSZZ8f4GZCzX/tAYY 7LzufNzRc9E+CqfJhrgnL60ucQ+aznKxMCZRZ8WaYzrW3bq5gvAeeD4LFyyPMnAEZkAZ nv6Ad+IQsJhORJMV+Ty0tKvYWl0xbVM4ptpZUadKLqOMOB3VnOIR2cgPGjz9TU4a50YW vTVJk9CD+Pgmtt+215KAX7DYulsbgrAydk8PioW1/iex31ESNqaz4SKrEnYAhEZEBIhp dnVQ== X-Forwarded-Encrypted: i=1; AJvYcCVDxlNo3/055AZT2XHcdfXj1x7ySTrh9v8mC5kstyFhPED3HRRRnUgR3A4xm5Oh/j9fAiC3DVKpMHBYFDX1fpbKTIlFEw==@freebsd.org X-Gm-Message-State: AOJu0YyXY8daluPkOClM5SLc8b+uxGv9vce93C/CsPytS5wLbqKdK3mP XmusiqaBLyzspKHitn7GP5NklwGCt8rSp6E5hUkG4fi/Q3yeeMiIH64H+PVIF9RyDjtwIZTQaWx dqaWP0N6isYZOU8UaNRWYgKY+bSr3cS0= X-Gm-Gg: ATEYQzzJNTlcpv4IiOaQRlRmsQ4M72B51rmwg3EJdwmQO2E1oGp4TwR95AEogjsEWxn uPPIV5qai+wLziqi2mSXGFgL+bBiLyKiRUOqLA337zQkdoBUYJxsdOFyHZTFxY9NfF3TQOjcv9k xLsH/uAECBPJfcg9pNB5UxIYz3uYp3aA04WlwzgQCtuVRQLFVmHPIoR7wcvaWEz4qBSwJpfRTYc ZH8zpAJPnVmwEFROirGEOE7gZ8KnwtthHyf8UjnCUAjJDn96zhC7KK7VjlXk2fHO1sT1i8rKKE+ vJbx7vK/2x8GyGy8CzEkwhd7h/8hzbOge/HJIgvG9DB9ABs7zofp/6kSsh5yKweEzck5 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fhRlQ1HYJz3lVp 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhRqC0VP6z6Rdjq for ; Thu, 26 Mar 2026 15:03:19 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) (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 4fhRq94dFlz3mRt 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-f172.google.com with SMTP id 00721157ae682-79800183233so13319437b3.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=rexaZOFNnI3bhTd7BAXbyraiv+Db64Kpf6cZJvcWFgdFqyNRYRs5kXfS8OHx/o8REM ZmGIb1zuFUUKr+jlN5s+izfd3+zXsLeIXMQ6wBiKFQvZjk/2HC4rIW8rt34R/9jpJxYy CFkcE6a/+R2VQXW01DFda+X1XLiZiLtEFThwfqOLiycVu1NMQG4GAgKJ5uWJfcA3oBDW Urq7xJyLurQ7GSrlj/P9qn+vJfQcx3EHWhTVSFBEf9VY4bpSBRpAeJ1/FNNc1Xt/JeKM ZKxgQ3HmYqdmnNYQ6ye/KSzVoAXtf0HQl87mU6JZPHFdQP9RnZlIyad8YnnXAJoLev42 hr/A== X-Forwarded-Encrypted: i=1; AJvYcCW2UGRkUZJWs2uMtkfPx0HCLdALXfodmpBFOwntJSaXpQTl2UJSKZj1UqnsCsH/JPSQGzHwchNpfWk7P4Eli7PGthlS6g==@freebsd.org X-Gm-Message-State: AOJu0YwJBp/t9wH4qGnc+4BOJqflricdhEav1hP+6zXS6k3RPqhzX4jY YNN+e11+uci6W04IhrOEnWxKVkxfYyGvtRuHCclp1jojDddLXfiCDmG4nFAeVUVGHdc= X-Gm-Gg: ATEYQzwfg7+Ltv0WQdZurqc2xkQPMDMCQuIj04UP25+Icaruz1sYy36X6BnAbCpXiqC m4wJ8Rfsxtl11M4OOONRuZeFyoWtsPAM0LWTq39fqaJIb0RiSE06Ur+x+AaVfYYK1DfFjG37uN3 08m+SKwLojYy0eY+VY/RldrPUFr4Udb3U/Pu9TcCgEWdDzBRepS6uZsnu/CXDSn7RkAjHFmeyXE idhU53WmA1my/G2mrelZaIjgj6xmnM3d5FpkK7peHsJIXTuefL70KXKFz4Bkk5H0cwMuXWL3Izd J2siwlLwL5VcoowPV5kWuXAlWqt34a2Sesol77eaHQ2bOdQKs6ppvOPLLnxG10G9N7WpNhAg9/8 Uq6uCuKza+fVNa9Kj3kEOuBp5fHtK1j+wS1sJX+krOo3km/K45wsmkPI1iTPGwT66N4s47yV82B ZqehjIvbgB4Aq16P8gHiaAUj+tvBdNUzveQsYUENAP9np+26nHa7ntjuwXwmlOgh7ZbZENvvwlR wzQWrSyWi0XMpu4pALjuN81EAUNMSXbYjk3z1ZXbvbWBA9W+/CispDXWxijRv4fWOkpD86oBQ9/ q7v2120= X-Received: by 2002:a05:690c:6d83:b0:79a:bf27:fe61 with SMTP id 00721157ae682-79bd01d3052mr16429757b3.14.1774537395926; Thu, 26 Mar 2026 08:03:15 -0700 (PDT) Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com. [209.85.128.170]) by smtp.gmail.com with ESMTPSA id 00721157ae682-79b17e3fc4dsm14220407b3.19.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-f170.google.com with SMTP id 00721157ae682-798374d0f44so31215867b3.0 for ; Thu, 26 Mar 2026 08:03:15 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCXLzAO6DXRA8kGpbryCLCRiE5EPN90mgJh2yYyoftO6aHRNXaaGi3ToJidLcD72sIHPHiDKHacKNZuZC+mIojvV8gzs7A==@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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fhRq94dFlz3mRt 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 16:49:29 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhV9j6tk0z6W3hX for ; Thu, 26 Mar 2026 16:49: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 4fhV9j4q8Wz40xt for ; Thu, 26 Mar 2026 16:49:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774543769; h=from:from:reply-to:subject:subject: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=ImGb3mt2C9E7S9yCC8ryjGf5Uftu/XNBmHTP8NEVwCP2bR/Mw3DDO4qig8zGHlwYQpQ8cf ZYBhfusEiJ614DoehBfoHjuAFWoKCSDBENwjv6SdDAYO9fgii777x1iLt5kLQybIUW3jAz eOIoCxf1FPaKeFN06i79EXqF4CGJrlGw19kWM5NIdh1zHciBBZHPy5LvweNpsig4rxLsVo uy3xmm1Nj1mBYv2CpNGOXALUHHcIoXTB8YWjPI4lzLOPR9Iy6e/8Ihh2OM1WiySMjbXnex EBFNt2v7hfODNFchEXfFehjMTpvGvz3BIhE1fthwEmhiy8tMcaKWxLhlTb/2Rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774543769; a=rsa-sha256; cv=none; b=VcHDgV/7vDMdVnLS1xNsNjc0sDZ3qE9cf8pPgCXhQZ28zPiVjBVditnto95cO92Fx0BQbb Y/DLA1hwBbVeWNxeqJ/9m1by3tsxoBLF6t/T98soVxEIo7fLqUoHo00suGiMyIOZOBQYCE 9s7I/maPlT6ZeD6lkmK7qEtLS55z1+KNfVrefJ9cJcsxhSnIkKwi3WkjtfG3kBD3Kj4IfH wpsCF5illYb/MMyZHWKj0Ry/GJuZKvjAAm7qstAQMygnIuEaUIOdzm5uWpb6eOpsZWd2s/ eFZSe8F4EfSkiUTEy9qQpz5XwYI+HOfOVDTt++wyq8wEveUspYu/Tro7++HG+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=1774543769; h=from:from:reply-to:subject:subject: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=ovtokTs3We15tKKwkP2reYE4AA5Q94UVHEokA8omUxYJcsX3hSvuZfxpOdRYDjASoWGJY6 f4UntabcKd60Vdzrjv16iupg77BposyTAO5jKkRNdD07DrF6bDK9FylFyBYmPLnM78K1eK /cMv8rFIBbzy61DYQpJ0Ho372k0bUuH7ItCP4TK5k/PC/wpSdu9PNywYY1zl1CGKGCw2ny Nrcd3gzvapr7+qvvZy+TVAw40IKHk0/rb00xV3LwvSetfQ87T4GjbCv05b4pCv08xAeB5H kcNmhrI28PaXapakXCy1bIyNjEwQzGbmMouVyNMgdcaOWUicRCEBtL6NJgmNNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhV9j4M1gz10dv for ; Thu, 26 Mar 2026 16:49:29 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8V167bz6WJZb 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 4fhY8T5xX6z3GqD 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 4fhY8T5YLmz14qG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8Z1nb6z6WJsM 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 4fhY8Y6nVsz3GXQ 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=1774551821; h=from:from:reply-to:subject:subject:date: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=O7fIKu6A2QvoFu77xUYh8LdtLPck8Ui83BX4v5hXOlTBoWs1ObY/M5nlKuFwWU7UzqT0DW m+mQu1R1e144G2zFA9jHT7e55bLqbq2NxQvvkMa0LRiUvokhiWnD8tEN0dDd/A7hvPPjiz vTDjrlq2uwnDZhgk9QXNa1Qnya60AhvEmZYleFI9zF4NJvQMkw5nmUsUaoBFbJcjYty+HO YFfLv+pIyzL04ExJqln+Kwyed8OjNwzIv1hSNqQCgiCd83cJRwMozWHWmIlI+MHRTpNEgk WOchW2GP27Zun+1mo/R/DDO5yHAy936Di19ufDgLBRMbXfJNW4+W1yw2aKWCyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774551822; a=rsa-sha256; cv=none; b=YTltazGm4wRyIKv/KXtL0xDrpIAzmmesB7AwQQMaLDkiW3wrsdgpXfBl/jGYmNwcg/XIKz HMATjtc/h3PpctJTcpLbMn1ecA0/1To5lvD+i5ZGb8H6Siye8pvYy2DMd9+10GyJbM3WGp hXWcC6pqLRq+Xbno7wmtDnYl4SwK3pT2RaFYN9PmH977Wo92fdroKI4E7m8uaV7rZnaJI2 x87kk2SsTXcpWi1Kr2Wl/h3LpGsgTL6AH86ffXIDFsWOj2MRuualYzFip+1AkdCOI/bCbh d1Rj92ePPbDKXwqXj553jIheKJy354S91Dwjgrn96Saf70awGHKcbjgOinCQUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774551821; h=from:from:reply-to:subject:subject:date: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=NTCxbLd0wPbc8lHkReDyPxv2k8A0QhKXfU4061b4JcaeiovKLXqd+AoUADc+HXcPQayDjQ vyIXhywJxnE/vCTp1MqeL2KEkULKeVuqmt4UjGVrS/nppWnzEMad8Z7wX2C++X1QGnOdyv rD0LU+ewC419eUdlpAoP1U0Y61vm2XJ7KaFNdyR0arNHll2gEFPWxKQuP6JEgifvtaHE/w rzWw9Y5v8w5NWCo7Al4BB3swsgys8CVQ/s9jpzrB2s4hWknEU6zOG7WMwyMoIninFK0B8f RFgDX/6Ag9+dpW7gSvicg3CTPRFq0c4mDpqYs7Rna5sF39dxmuHw9EAStFEU4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhY8Y5wHfz155S 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLB25dyz6WKWM for ; Thu, 26 Mar 2026 23:42: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 4fhgLB1LWhz3lgQ for ; Thu, 26 Mar 2026 23:42:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568546; h=from:from:reply-to:subject:subject: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=Tz/LaVezOtM68bDXQM8FRKQLVnOom00QD9wKvTVjP6Yg6d6Kq9oqDfu5m45kNQMaOwGTXh E3jVROwGEJtwW35jYBP6gzku6A/0pfjNT/yAB/wwyQBO4iwyAmPRMjCxmHDT37UTf1Y1Su YYI5m/IJg/9O08y74PjwUNazgpfzhX6n/SCEE0zAd2ixAJZ1MMqXWoel5qqFmVAv5mhODS KwCvE3u9t1JIeNlTFscYxBd5H0J9XThNKsfdrnwoUlfpZHG1wt9WufI8A/KxMAHOL353Zr R/1dQ4zVmrd5h88vUBmcm9Ft4ncpJxpVC7fAKHfBugIL8fHaj2wKtqgvdPOHFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774568546; a=rsa-sha256; cv=none; b=Cz7f+uFLklM0XYa9fYQahi51WWXAvcEhTzUIt8xS3fBQHFuSTLs6M08RuAePCLi09cvglw Isi7AtKW4bmFXbp+tY9Wqp1KF7HzwsBfZ7d++2C2RPILRNvCbCDX94UUiNBJyyyJSVqeF1 QtIZXjQu8YwjR+8/OiIbsxPvnpD0dEmnkE4dPnuf/aqOi2Boi73XP0+3s2JfER86vxIfQS ebtDhAyx+PY95DBk2Qivxicfqzo34HS45enQTj1rmyQyNCEZ5seWeSEf7YUuB3G++9bUNC TB5qrf3h4KXSL0Hbok1CYPcrY7GguPoYQt+LFfHIyaWZs8h0+cUAIXYl5KMVUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774568546; h=from:from:reply-to:subject:subject: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=X97bmxFawwvLqsrolI3ohTgqxvk1N/auXeNa5knPMe5aXzVJUg+p0FUxKmpI3SjopJRuSb BykjvjdcZoh+7JYrHE7jeqoBne7cU5BWuo4jVxu6Gcetly2SGSzpSjK7jsqYxVhEQSsIv+ nG+Rakr0LWPm0REtNqxTyUdydpTVHsF5ky+VI7KjLzBuZ86FVio5+VXv/7FrBbEQ07hayN H7XmBbYnuAny06PpDlpmyYc3xM3Nlj7Ebea5rY5sQva+qg3yZpgKB9YON1+Iv9me91v+eY p6Y0AhIiE59oPZ0QDk87swmnhyOXwqJQkjBqWO/65NLB97vxAzHNUp12zqtx9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLB0xrYz8b for ; Thu, 26 Mar 2026 23:42:26 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 Thu Mar 26 23:42:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLC3BCtz6WKlV 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 4fhgLC2610z3ljv 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 4fhgLC1fLvzHc 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLD4js6z6WKLl 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 4fhgLD2wLSz3m50 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 4fhgLD2TWMzNW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhgLG49LZz6WKLm 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 4fhgLF4KG5z3m2T 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 4fhgLF2w6ZzF7 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 Fri Mar 27 00:30:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ672BWz6WQS6 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 4fhhQ65zFKz3rfw 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 4fhhQ65XFyzhd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhhQ82wlgz6WQXJ 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 4fhhQ80PF6z3rNx 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 4fhhQ771nbzhf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhjzt6Bbnz6WXJx for ; Fri, 27 Mar 2026 01:41: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 4fhjzt4YsXz40Dk for ; Fri, 27 Mar 2026 01:41:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774575706; h=from:from:reply-to:subject:subject: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=BJ+WChsVaDUts7UwdZPSEmaAVsgZ1zy7j1xKEyjhoLdT53Vf4YnRdk65qSDX+x7tZZyfTq R/N0wVSlliNpahiyypCtJP9Qn44Gd1SncpiabuHovopkIBWHWXbNFKuTxqGv/ECAiPsTyM Y8qFb8MfkE82rzxjgzUr4Aq7Z1tZF2PfCvUpQy6HyJUj1ZtgXGkkqVwx+dJUKD9S2OgVFW 751ryJt0Z5Z+PHE2AracsN0ku/Njh7fF/ACb0o9+ZIyKyXhtgP0NnwpRgq1diiRR8kwFGT 9uUAfS6wfTrD8JfY+Ez2uaTsLTO4VmT7trt7/hea1ql+zUW9cIkInTq9PfM+vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774575706; a=rsa-sha256; cv=none; b=p22ThVP8132N56NV3goDdH+/e5KoK5iECIgGAEW0a2oCx+X2Imi4FMuVKCULq+HKM/c05b gw0qEa0JcwAF9YBlJWTM/gEFS/HZKIIFw8D6B+4zBlvjZ4JnNI6KdoYpOaBGiJc0GCPGpC WqzT7/0P/BNySiCY4QIk6SdjSZ4a1n3Cso9KDkpeVGWd1yVL946wFnntCH241WILo7T3fO 9VxOOmKPySCAQzD2m00eONB8T9HMIJ9qABlbqTvdp8JiZtvBjp7FSeeTgqlu/UdraTyDan asyvHzwGmoh58KFVlc8wDceL0uiV81YLbVmWHfDbhspixFhrVndA/iJ3sWF+KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774575706; h=from:from:reply-to:subject:subject: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=RbAQ8Z06JppLux82OJQEAk5LqvTWKf8yE/CF00jYOJCMHSeP54KlyHry7ArQEz22hcl8k2 dIbOszJyMZmP/dNl2DJXcgEBZOXFK+c0CILIFVqCAE9TKQFXssShnvQ6Kpmssa6sC0Rotz swDhC1O8Z0MnYwGSsIRuAwRCPjAkwHWINd0JXbfMMRbzu5ICI8KXvSZD3TCyOLyRzamy1v NQXWAVZ+u2MDgym+KzrZExEi7Whq5ZOikecd/XbP43RrloN9RJABV3VGNuUWS2ARYWGYg0 uQCVP4wvbpaNfHr6DkM1ZQwK4JEBVqaWwQvkqZfB5wRncHtkeZzJSoUCrNq9OA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhjzt48DLz38V for ; Fri, 27 Mar 2026 01:41:46 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 03:16:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhm4k3dpbz6Whnm for ; Fri, 27 Mar 2026 03: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 4fhm4k2lwrz4DRW for ; Fri, 27 Mar 2026 03: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=1774581366; h=from:from:reply-to:subject:subject: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=ytkA8FHByr4mZu5qbI7sg7qy/IFHhtfPnIKjVT+JYZGpu2p/Nxh4ixsLddlDXdVJVS/MET E5KIKMXDvm1T3V3ZnA31YM4i9wP/JkySo61vPibc6vjKwmqDiMGUhTFRmoUmPJ9bfgEuNu z96NCwMaV9bnKBgil9V9VJ6jNDbOvFSgoDEy4X8JZI+98cbaG+dfaZrHd3SIQMPgBy+Z59 g0IeIMj+4Bvuy8+PZHRaYxu0/qVPlfdTnR7s+iwFLha4tZ23mCYiyPThUJg6piwIsrcRRf cG2SnqWhpSdSyX4yzusXgjHPLHu+bGw7Hzd7bS7ctsNdZHS0KFtgxNF+moM1uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774581366; a=rsa-sha256; cv=none; b=ofJeAh2hYLkEEZ6T/S769WQJ7DgWRyOkTvna912cz8AXnQRpk7aY5idxTLQhKhHkwipNW9 minxk1D2zIhphNoPeQwIA085jE2PMVRwzeHDxy7aT0ZCsqvqcI+CIYdRRRbl6OThHAPyL2 Q3CZBAbEbSqaeS1bFUb8iQu4QCXUZxdTQsqTbGblmiUDeT2WtBCYIq2LQJGbVai2pKkeez SIfE+jsNV9pCyaC6Fr9RQ5BpxlAhfx9inA3SB9/z4t+XqZtPUDRLpRAbWlPDN0mIvuCIm3 HfJNX8im1zR2AlYSdx1lEfBTlGR1gEOLDyZcQ2whfzmVQYXbtNeWZ1AQMbcYpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774581366; h=from:from:reply-to:subject:subject: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=EP3Yo0+r75pDmTlEV7OXyX5aEdpy1WVirynaettk5m1YpvnUI6DNu0uMJR8VnpTAlmvxMw RTTSId9ynZoaKz5gh2AUWzQ58ZoHn2CQtX1SjVKihArgV/5TDqYLIuiLKrg86WO2jAIwFW EGzbUCMbA1wuXN16gDpTH5/DBaOkGdy1T4Xj9wBKoCS7twQrf6I1q9SV3rJ7k6L+NPmp5B 0BzC91SwyFwUk+xrbao615hvNMj+cW2qUfdD/1jUoPDlWK+0SFjSwrZ3gnnEy9AjCDVOdk Rwc/UiwkCFfIsBxeyEZHA4f9CANlRM9uFhBb0lUZWBuRBkkBOe8tJbCnvJ+33A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhm4k2MpCz5WC for ; Fri, 27 Mar 2026 03:16:06 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:58:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhs104wMsz6XH72 for ; Fri, 27 Mar 2026 06:58: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 4fhs104LPGz3GRv for ; Fri, 27 Mar 2026 06:58:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594692; h=from:from:reply-to:subject:subject: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=IWvRPoMBuKY6zapmAYtMEOEvdti8iGkplDFJlZa2yBAa5q5AapJbq/g2szWhzHIG3Q+4mT /1C+fSQPYt3CGlK4clTZWHIVOu/XhuRH8UcFQFGQjgzWjAdJbbJX93va2wH+rJumnl8MW9 cRVhfuxFw10KEWxsAmq55IAqYIc5BNef0Hm2Tud7G+O48q8/uVzYuCVcBrB2zAHZrCUU86 IqgvfPaM5zjwPE4DSan1ah+tbyCwfyOJMbdhqfJAe9Y5s5UGPyNor9Lmgo2SgSawxLRcJI CCGYl1siXDRajZMfuqe0jo9gH2ZyfuW4qWhjJD+IK69UUyWTXFEMMEAyyvphfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774594692; a=rsa-sha256; cv=none; b=LExNOwVi7ecbOGdMjlfVovVJWsaYHaDfvK4+G15EVi0ziQKOJwyvJhT7w5QNxMDdlrqLLR hKwjUav43lWqp2JYjtPYD5eoM1iJ1pvQJ7emrFjAUs1mPhQca60OIxPFUjK18fOuZ79IB5 xd1FX12D8w6yZYhr23nN1tGWoMkvz63yrrpz9IbC0xUbHMIU5Rs6PlMKCOUCan6LlyFqzQ 6nj8Zxx94hJ0SsXmu9WMpnOQIPAIw5NulFRfMiq+XpEi/mY6cm43kzUaxy9nSkIi01S61A hycK+1SIdWt0pG/gJqkkYlI27o+MZG4raGM+jEZJjMgRMT+q+teGdz5gzfjh8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594692; h=from:from:reply-to:subject:subject: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=qRCWrm4k7UTsAj96WhPgr7R7MzTwaPP3WfSlB9Ombf9OGq9YBokIZllOukaV9jnwpDgmWR vfYOnQNTfHEgvXLKylC2e9oQ2rtk4r6n9Nrsusimd5uKBmzlymvskn6eu3D+G0NfhzIseY dzYi3muo9jk9zxIOK41hsmwTWPEHkQ45+MBgxwcYakvuHjQs5vjyf2yLGqGdPn72/wK4mM /sFG509r63GhuKi3MWbAR3ATlTi8xiA9tfPgggMxOxPZFQILPomJ+NyxD4U9+Rso03j1ze zi2JfH6iJ14Znm8vwOTTwmX35Y5seZwiP7txPcTZumkvsxjDQb9PUdQvKKuXxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhs103jvfzCC1 for ; Fri, 27 Mar 2026 06:58:12 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhs2Z4Z7Hz6XHR8 for ; Fri, 27 Mar 2026 06:59: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 4fhs2Z1t4bz3GXW for ; Fri, 27 Mar 2026 06:59:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594774; h=from:from:reply-to:subject:subject: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=q+WMB5Z0F9xTZwiMF+QBcHXxYuPu5QV2+bUzF9v/p51ivMoo0hHK/9AS6B0P2fYk7Lhwn+ sdh8I0WwPrZe91v4NI7Vyo8qJ/fViBvblAdxI6Cm5olrH0X1R/w9RaqMGpRCnaqoE4dxaV yeI2cgFqXoud20S323+V16DTw4GcGHiqorLAkq1iKkndtSqbDRtsQfINnfVh/MtwR+/eWm 3CYukeUMmwDq+QYbleQ9ZkfE41A55lWbFFYzAsvQMrd1/B7qT1LU24Hl8TQrvhNyKWWaH2 wl+li2HoPYSFrLOFXQGlbfshDdUSV1aptQEL5UK+lRC2AD4Ya1NGL/ocPyDF/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774594774; a=rsa-sha256; cv=none; b=nwLe1UsdIL9A+qg0p1nNlsjQT6lomZqBAKDvDd0CqooeNEFQQn5I+RATPhZt/QtydMh27L WYO9JnUSSOrKjEgB8SPCEo/uTcKE+1FFfS4VMRFw9UGy+8ynOi8fmk5Tm+ojSlkTgbWbXV AzC6hweeYGuKlgCGkn3Zq9s5T2QbjVue7jeqrQ3C5mO8XeBako/ZOeY6fKwtUv3pi+ZNGg rBn1PApmFTUSskBTtN99agKyHG/4gK0RLGAKAvxHnICpJ4X6EhS3//hZsTRbwMIFvsLF5+ tdXGB+6XOKJAZnSJMInRgq/cmHr5mziznW3PdNlLl43v7ujl9niQ3gBdxpW+jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774594774; h=from:from:reply-to:subject:subject: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=iwLzey8tQPWR2LzVtMHNQFb7g3PoLsf32w6vnB6dWdk5ZnpBiUMwAtgQN83hq/ykmi5vLC dqvr8KDidmUNkvX6H/f1VMeACH/mnLJFWyjYn2vGbs5pQUVuKVbQKE2gv1V5g+6IIFShLh 6//NOne2N6tcnDmBrgnVqmOpS8IA+usaDyerL3ZIMJmfHX/Q7g2J8Jl9yhoKG598Zu765w aCCfj1WupImnCmPwrIXBAJknpCLo/Sqyo/Ear03m6HKaTqNTLF5ael5HKINYyJSF3gn79T f6O06/vDgEVl17istvClcIUnD1/ly+Dq+WsU5M5IjDVyqtuToHhYFhT0Vlc14Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhs2Z1CFwzCms 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhv751Vqpz6XQRL for ; Fri, 27 Mar 2026 08:33: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 4fhv750sbmz3Qtl for ; Fri, 27 Mar 2026 08:33:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600417; h=from:from:reply-to:subject:subject: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=AHe05ehDGQb0SrE0/crvewW4IYRCfGHGWD8xs2PZsY1eSRJyEpT3Sq7hldZvRFge4VsF/X tTGcScyWxeom+OkqtUPLu08MSyp9vt+cErmm/0D5ZmtAZMSutijQk03xg/u1tKnun4ggY6 O0UWlJFpso5kjSCVXaa8w5UCdvro96ER5gxGpDwO//NNQjahuhPee8ifl/CQD0xZ46EJC3 d3xvxnb5elaOhmu5cwITX+nLQkK54CF1jvw7ocmkTPsCKGfI0DW8vwiDASBA3CFQVEkdHM I1Q+Tpq1EaR9bIwmqa3hj7chGhu4/R9AxrmxQcVlID/IAnwRj4aMEW8mCYMp2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774600417; a=rsa-sha256; cv=none; b=dxctxS2SzmWbBCRc5RSQqBlAdOud+0FJcAb37+VrpkdQJQ7xnnHCrhak6xB7w1XWc+mRPs 8qZep1g4Z0xWDbpPWhE0uTDvkw2pvlzLOTHuY4AFZatE9TNUdDK7C8udMGTwoi5Dx9ES17 T6incNDyCtQlEJ5Mb27JjeQUbpwM6JdHBRm9u++u6svqX/G99jG8Z0YjtrKNvc/bCKz1R5 7n/VCGUPnmFuF8uPBR6P/D4ZDitkOUQv1CiRUrw3pAKRD+MKzR+OU3X/zTf07fzUbeFAOX CUnmNol4LdYGNuvVMn0f7U3+Oypv59eFjQit3CiMfb2FZhkXbNtg3LsSW1RVYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774600417; h=from:from:reply-to:subject:subject: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=vgUJGNNAPjO5LoSPfCMgSy/36ounfZg1zdTlp04keFRMdXZaVc1P1kYKHDP9AnCuhsHBIB YgAuLFha5RCRWsgecsfmkVnzdL9kPOgBMiyDWsNFeVDLEFs3NwISPalrVaEW5i6K+5N9q6 4yjYk5gnuus09eq7u9YcAIgVF3l0uHS2xDpVHS13Bm3kwttr1b9pknqA238xbnH48nw8tl zM3mRK6JavDBJ4s4Cbctu8HXlZqHrE/aqWcVXj4esyxoB/doIKCtfZj/qNHuLnoZPld5j/ hPIKlcnCnR2Q/CsVeQAficbzkeiDSBocigIecFVqLzcM0jknX4423Sktve9SOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fhv750PqQzXNQ for ; Fri, 27 Mar 2026 08:33:37 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 08:33:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhv764K6Kz6XQCY 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 4fhv761k6yz3Qtm 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 4fhv761FghzWrY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 09:00:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhvZl74nVz6RW6c for ; Fri, 27 Mar 2026 08:54:07 +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 4fhvZl3j3Sz3TLr for ; Fri, 27 Mar 2026 08:54:07 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fhvZl3j3Sz3TLr 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 12:12:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fhzzz4LX2z6W50M for ; 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 4fhzzt3YDWz3nj9 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 4fhzzt2vP1zfV8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 14:55:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj3c41z4pz6WMf6 for ; Fri, 27 Mar 2026 14:55: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 4fj3c41Jb7z46NJ for ; Fri, 27 Mar 2026 14:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774623348; h=from:from:reply-to:subject:subject: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=Qk4yHfnPZhJRGWJkFJxxX8OO63SBG3/F8zSWCYQKHa6btDRXGbBXGYUBz933meikvO/Ib5 r2wfSESq9vk70J0hI1sRZLKv1k9ADsTWDSOH3060RsaWZ21ksh+GaFm2uWM7ZJqeVx0I/X X8m6dAAzL4vBfejXIxLpr/tKhCwB9cmJswkk8OJRAzlmF640GJfGa/d16AxnTwtU8bmYiB 8A6tx9KYqkS2v0tsi+ph6ROrLgpjUqXM4hufOWW3LVnE8ZuylkXqRPVdrVQ3Z9iV8qSTpu d9kYQm6FnLti/ZX/gk+B4JAzdCRwYwz+illKGgRxbxXp8hVgiVuRp4pKUfChXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774623348; a=rsa-sha256; cv=none; b=KZ7SescjNQ6XJtvceJCei67Xa+oT5F6HTEOPuHePwW16Jxhar5i4zgUgrKWOruv3/YTj0b soG7OQzdkipVigNXE8TVa0enQBCUHlOy6P/AqieA/kRnxgEUH5VmqKcSBmJOeOJ1ckl2/X nkRcXe3PUQ8cAH/s/jtYK6wKp5IAiRuMb5lHrcdj8dGWuCk1yoqzfhdkH/WZrRtLkD3a6X s47P4cNIn2/Nube0tx1JETeeuJ3J9/VLB0HFCN7p7ZsKUvP6lcYq34BS4Nsgrjf75TIMfN oTwRwj5hLHE02Ek/vsCByGEKts7JOIRiOHyFe296GgvcH+KnajMpZ61Jh2Bptw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774623348; h=from:from:reply-to:subject:subject: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=yAmL1jr8Bph3W7NClj3OHRQZheHIyV0AV+N9C6hD6iReSnFajqxYyO6qXZS21nTiJcp+Iv TGDY7un0zNFjKFqAtLYPPGsNwmrJY5/a8dpXy3MRl7G3D3eP2BG0ydo28EYWzkEGEN6AY/ +XtkPTg7EwdEAGH8S4gBcPoMbUBFtCBg5ktaK2+V+wpwIY7oP+yCbA75W8uuI0Zl5070o8 EvlNj3hxpwrQndCs3sWdAwkK9YV2n19Wj6JXPtlty/p+n7nA2eF7LyLM6rHgo1iWJ4QVf5 jxVSPTvLWlJcVFzsDR1BfNGv16a8cIsz0185N/l45lHcpRr1Uu7JdQG5IsE+IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj3c40rqZzkpV for ; Fri, 27 Mar 2026 14:55:48 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fJ0MHvz6WRmF 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 4fj4fH6kTSz3F61 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=wCxrWDwcCMxTPkDdEbAw7+RDC9xRcBKfVVcDehEj9jsSl9Wl837aGqqoHDg3wqAjV6ecAB TgALz4yIfqZe0WU794ubucxhsnQ63JaTqGibrCIgD8P7bnWfYmeBCfmwg1HObDmPPPBkoh ao1U64jIS2Qp0bxQG3U8idIjbGcXj4zqyYe1vw0dOVXoa1YHBwe44opFvNuVsI3qB+5hOJ qCCdNnCWS4wAG4Ijeq0DSKrzGwT0w6npldTa4qreXv5tiHRnrMeS1/0X3BtH+zcnrZ1DRs 0Rb4CtzJXwgOTpiVm8XJ1b3rB7TCF7ayCS4x0I+q3LnA7jjpExN6F3UQU18L1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774626167; h=from:from:reply-to:subject:subject: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=Ak4hCL6XgFPhOz8CTkqRw0skQVlttD5AZyPtxYs9pA8Cm5FV7i0QQXc4oXgHnH+S3g5+cx 16/tyYjmPTYTsF/LcSsNJ9atHxkkG7/GuWdusmjQWYZoklMfNBVHtd+UYAgjJGGG0+cYfb PmVp2PqR3sRd/BAVJAz+m5bosefMdj/Q3tC6onVR0TmbODYbxZZ0ar7nzOZZnK8Wtfagdx JWRI9xnBwH+kdHeU/Z0o7YgVnUEjMNfydaJ2FaFEBgANaqbM9YblLKRRXGW574fHS94pIR /AFjmMTlDJL/cMndo1Xg8rJv29pzsvsuenTtNGFvuwzQOcpeLOe1Boa6Y0tT6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fH6GPrzm8R 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fK1h6Dz6WRyw 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 4fj4fK0KS8z3DwH 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 4fj4fJ6yb3zljL 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj4fL6NXWz6WRgV 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 4fj4fL2scZz3Djg 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 4fj4fL1Qllzm5G 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj9hF1FdDz6WKvg 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 4fj9hF0npZz3jrD 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 4fj9hF063wzstr for ; Fri, 27 Mar 2026 19:29:49 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fj9v36tB8z6WLNb for ; Fri, 27 Mar 2026 19:39:11 +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 4fj9v34Nzyz3lR8 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-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (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 4fj9v339WLz140K for ; Fri, 27 Mar 2026 19:39:11 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-38a428745e2so2652501fa.1 for ; Fri, 27 Mar 2026 12:39:11 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUUQReg9SvVEJSo9CV9/EduANcyKEutAaOJn95+7rOxHUnDigTveNlbecH0Ze+82WKLCDa3JaX5I8GvRxnrDflZ/S6g4g==@freebsd.org X-Gm-Message-State: AOJu0YwhHjxMfwAP23ghrSWsx1kdu7ZfFq+elbVg8Y99y6ZB1nIF31l7 C42ZJWJyDoHfvOlUooXNrWk32128j5B4oRZSMfYJGpzggevtAv3K/8kHiOmRciu+4aEGzDwiap/ kFcoFKLYyxhsq1g0vvtInY21XxI9gwvI= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVG1hG1z6WTk8 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 4fjCVF63yCz3t27 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=1774644677; h=from:from:reply-to:subject:subject: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=FxhbRyJ7vvAZK6apS/kb/LKuqLrlrlFdRI+HT91s+okB8y00hAsNzGkg4UG1t9AzPdysY1 dvsg6pAPMBMiowfao+QItyOdYH0PPAajYoZKasM8Hoj7U+p6UF4c42/66QLp6qQRJe6Yww 68o3I/gvkWgaUcSqDisJhjtOUMsKn1v/5wAL2GDjoDSCe/oonZSkftGEqWyHGESXHV4Dwr MJB8taK9ITJU7enPRvyUiiyibB3lI2uRe4aMguH3YA4dXRNixLoXOL8xTWn5h2IRLAT3LX LETr4gez8D5XX0WuNMoZmrcgfFzAOeINFiI3F9pG5KRPo1l+WQp2ldAeeWeXHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774644677; a=rsa-sha256; cv=none; b=rn9SVGsCH1DeCrgENNDtq3n04DfHbf6u/KLeeZc0xHS595vjySqo/3EX606FF6UYWa+yNk toNEQgh9het+gq+QbyICJBxDUV5olhN7K36XboxVvLmbeYQXC+SEJkmaJIcUB2azCHrMTG MfTOMemxaZdiyEME8aGggfG5Ihu/pzaU4nAgthjgdhIhAeb0d8SL1OV2pN3KcblC1TK1R1 0qyBKGsoU5Jz2je0seRFGrwB2cQUjgadvs9zSQz/8NObGwHIuokoNHiNdcAYaOaDgQnx7L YcvYwUTq27SrWfRuJ5oO2ai+4ZWHX8oa5FMIHTSBJ8qiLBlccwZhCZmXSzHcAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774644677; h=from:from:reply-to:subject:subject: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=xEhvbn9pKRIgOA/sFimDdqrklnODXx/QH//m5YgoiA5qJHJzO5RTZw1lRboSmX0Kxtxd6A /dtsSShWkm62uVgLLajTYL7Z/mMWVhRkOPYpyWOPaZbhf2jwUjPj2TzCx2B6rrAtXaDtxF BJsL5ZIweHpILLNLXz1OeEoXBk/7ryn0shjNcfhVU6qQtv5bCb4vmBGGhPb/fNwljWLd1m gBFKu4vYHoXykIuqry73LLfGwE9dzd3ODMvkcg+8qieKP+xln3wzDb6YV1Vs1aSOhO9dga rSDvfIH6Zvce9k+3ACxUKneOmnv5OO2xkp8Fr+W8eyYo1J33LJ+TlaODhkvO9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVF5dJbzvtK 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjCVH25Qyz6WTmg 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 4fjCVH03txz3tHm 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 4fjCVG6mXMzv4B 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjFvm2Y6Pz6WgWS for ; Fri, 27 Mar 2026 22:40:04 +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 4fjFvm1pZ1z44Mk 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-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (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 4fjFvm0rPCz17w3 for ; Fri, 27 Mar 2026 22:40:04 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-38a3fafdec5so1645941fa.2 for ; Fri, 27 Mar 2026 15:40:04 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVzkYsmqmZ87S5DRKZCvolW5rLC1kb8+RKHWx1LwOdyewHxb16cNlsGjXC2qbgFgtUNPwLzbjo80zF0oAAjBPGjBxoD1Q==@freebsd.org X-Gm-Message-State: AOJu0YxRKBzLvddi/bdgPGskdhns060jxQsKmDhQkuKAsTQgVwnG2RhW QAOoyOD6UZp/bphquc4r0rIcflqG5CMJ+pQBc0cWRHASRxqBH+sxD+P3u9Cq3ko/lQ3/5q3tNVQ keDKmou/nHl6BwGdfZlOVAkK/ObdpsSA= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjJfL1rg8z6X8Fr 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 4fjJfL0zCnz3KRW 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 4fjJfL0X0Tz139C 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjP6n3M3pz6XRDK 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 4fjP6n2Swvz3fHZ 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 4fjP6n1tfFz17sv 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjQ1w3CY8z6XVFM 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 4fjQ1w1qXPz3kVP 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 4fjQ1w0WC6z19QR 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbF6BR8z6Xb4F for ; Sat, 28 Mar 2026 05:56: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 4fjRbF43ktz3qdh for ; Sat, 28 Mar 2026 05:56:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677385; h=from:from:reply-to:subject:subject: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=rJ55WvNKLZaOA0kqgRKjl3QJIeBL+qTr1hVGcYrRevsWThHj7XI04rnQv2ZzmvkWjdBEQg r9rruL4K3VTyIJtoLose0u9HO90lKL5pIb983OHkIi8KFTPcUXEKQTv8IXmI4L1yG12kN0 wN2i54RYCGULMbue5MLEclKFe5fvAS8ucFgCNFbtXNQ1WhKjwCej527Zpz0tfbUuDSZFKn Uc9QIQaYk+JYcIDSCP3132iyA6gUXRMoNognxqivwPw3eVtsENNQyGaxFbWygsnfniqCAC h+CX82o3NNObH7f52JyU/nAKtH2vOusgb5sIuUPGYfCQGm3PGxeT7utOiu7DYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677385; a=rsa-sha256; cv=none; b=kFYwjGVMi/3npCS4g0AA3cqMPaNn/aFR4U2N4KJZqHzlCWna9L3Awv2NkGAJ7dDL+LpRjy 8x2P7FDr0ubAg1bTrXqPubFb6BjUufjDBNJIUqJX8UJmjSv1y+gKcm2D0WdxM2JUWb8sXk yxfVPpoR75S0zeV/ta4BsLTH3yiMHShy/YfsjDwt/KsZ1ME3Tyzh8HHR/Cd6PRD86RRHhM dBFZhjbz3Ud3aX5t6rJTKSb1r7/ayg6X/h5WitNyREt3/QLPbOuyss7OwWogwp/PVmS1eE jreQVOV9iDUHl6coWaN+OXmL6yHb2wBFMW1ACDfykLaDnaYxXNwIlgXGiRnJAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677385; h=from:from:reply-to:subject:subject: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=VgpzQ3RQ7RzdiFzP6+bQj6ar/IYUPcEFF2wV6g5NjMzAiLhvWIelAIWEKrgwqthcVcCU/K dz1opCfy3Oesk8xyBxFc3h1LRb+6Rr6KRw1Vwnn83qKsEyeBvOoHsaecQKln2KSchLwSGY EvMyO2LR53MheGtlABzpFg4a0/8037SdRLC4WgSwdukUiunQWU7jeFdFWfaz5omXuQJwNd WpKScfbn6YQ7ShnsfIwkXY1Ps5w8Kx6jr+LkyaNZxvnm+8PH/5RxyizKiy0wwm2SDHxgdo LzaXVzRE6Nr0aYL3iC7yvYYcN81ZFhPuMnf1rMYQ0ehcb04Ivk3Q2zwhkLhk3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbF3YC9z1C3Z for ; Sat, 28 Mar 2026 05:56:25 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbH0K8Vz6XbTZ 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 4fjRbG5NfRz3qJy 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 4fjRbG4MQwz1ByF 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbH73kqz6XbTd 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 4fjRbH5tSgz3qYT 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 4fjRbH57LWz1C1C 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbK29W9z6XbWQ 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 4fjRbJ6RZTz3qK8 for ; Sat, 28 Mar 2026 05:56:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677388; h=from:from:reply-to:subject:subject: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=I1qTdz0namTExbA124GG86uOs3vcWMsA0hEeJvEIzzvhljO/C0Rn6G7HyE4wNOXPlrA7oZ zW1DsL4MjS3xPmcAJ2A/WiGqNqEn/6IxdGqkQ55Eh83f0GccBXr2uBw9Iia8j2meIhItVe jb5/s15+sDTP8skAxafFkor6IFebTD7ZPMm+1pBvBgFgYEpnmRobsoIMNWe60Le+l+0FO8 cynwiDcZ1r0dFropZmJ6gPtj1YkVm7du1s8CZWDaFAvaAxG+xgzI8WP57aNxHl7IWw8BGe kg1ZhAYqNutjUlUPdoevM2d9ft1PGCEh7EBsQ07BW6mf9GY+OYwd1pF0JTiUtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774677388; a=rsa-sha256; cv=none; b=aDft4zo6sooJny+gGm8x2J1g3GFKp7VSxwlJBflCOP+ohRFTIrv3xn0n+jWANB9/zOlWDQ AjcrWh16cFxcGZi5PLpGgRvCXlR7tac8dGL43gk2bVsK6hgewIrg+udWt1eUUoiUE1/XaO DrEmzO9XJGIuRQFsSj4t1wvw2eAjfu+v4pyEjDyl9RmZUp+pMkj1+oBtIE3XD+RcwuIu4s /xIkWznzcJJEVv6tRLpeN+C3O7x5VkPFOLVb+NaRqtxGDnG/MWsLsVVcG5ywx8H9znvazp nQ2wEaX6Tq+qITKEy8XqBsS1UAR/psiPqmbMg5K9w0gUwmEaO6QR8mqxgTDuMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774677388; h=from:from:reply-to:subject:subject: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=kw77QWXmoMTHWYgB+5H5ypznI+KPf4o9Ff66TPVjlw55lXmqVXql7d1o/+n4a+lQB4JqwY gHZVubHIHq9FotkB79b3f18LGj7yqmF+NZExVTG92m+ymKMtCNDBGUVsmdnqtnSq97nYtz 2Or+HhDv6tf9TyNCN3RKwrUCF85PFB4LTNbwSRrEYqIfuse7eVATaoJNGI0r2/YZdLsqQV JwCjvjFkXQNFqFIoG9Z+ZmeTdEV+wp3RGrV7uj+g4r8l5DCJHubrDZOLZ0mKdBfhxBsuKq 3lDkM0WpjumDL1WCtHXMkM03qLPfc4o7QNv/nqyUUdpRtyOOFWG5jD3rNvj2ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbJ5wdnz1CDw 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbL2QNCz6XbWV 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 4fjRbL03Jbz3qHR 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=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 4fjRbK6R7vz1C1F 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbM499xz6XbRg 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 4fjRbM0Y0rz3qhc 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 4fjRbM05yJz1ByH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbN5pQ8z6XbLQ 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 4fjRbN1McSz3qlG 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 4fjRbN0ttTz1ByJ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbQ4llwz6Xb4T 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 4fjRbQ2pdPz3qKv 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 4fjRbQ2PD4z1CF1 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbP6mvXz6XbV1 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 4fjRbP2KBpz3qj6 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 4fjRbP1nKTz1BpS 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbR64b3z6XbLZ 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 4fjRbR3ZxDz3qjQ 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 4fjRbR2yk9z1BDy 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbT1W6pz6XbVB 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 4fjRbS4ZS2z3qqV 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 4fjRbS3wVyz1BpV 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjRbV0vCjz6XbPV 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 4fjRbT5TXHz3qgJ 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 4fjRbT4WJnz1BmV 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjV8D4sFTz6W3YF; Sat, 28 Mar 2026 07:51:40 +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 4fjV8C2xK7z45Js; Sat, 28 Mar 2026 07:51:39 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4fjV8C2xK7z45Js 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWb74ycFz6W8yk for ; Sat, 28 Mar 2026 08: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 4fjWb74H1fz4CtT for ; Sat, 28 Mar 2026 08: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=1774688195; h=from:from:reply-to:subject:subject: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=meyvlTZNpAE0v9AkqfOm4a2x2bOEQGgNl1ooBuCH9vis6pL1XM70JDwcg3jPSz7o096oTB E5KrIblZ67rHaxK1xol2AMNM/9OxQ/fFHOX0MUqOjWYvtTX/gqpsNOi3i7xZ9HgTpQxS03 0RZGCW6PjdGXM3Xij/mTucYdaIh4XsnZoT9n1GQfy5GV4nRCZA3v9PC9DBAlx3Wjs+BKP2 AzSEmT9fAGvjjUdebTKUR/C92xG+nYXWe0EVHRc/0YY70KePaqM8DCXH07bQC7MMgr+esI kk0cOYwbu+Tfwcr5dsPlJZL20WBN2DHWCjPqagnY1QXwqSIFg71sFiLmxX3Vpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774688195; a=rsa-sha256; cv=none; b=q+0jA89AlA1csYRbY6JXxiBYvq5YBD2sHjIwLT1JX+5uWpyCvfkbX/6Z7I6UY2+QKQnwrH eDM07B5+W89JHEY2mvmMRSVyru+KoakVMorhdMT19U/xCfjwoW3ApbhY1Z8GeAiG4oUAET iEcSY+ZDeesILTNMNJzS3vqMmsx1RV7DT77qrk5LCC4+AenNPuq8GLVNPtG2iD5FM0VCF1 +XQvL6LcLCx9uuF4bC47lFuE/cIHsL4BIfUhe/0wrzZGFyl4+Pc+a5tz22l3vbdqhGAlRr 8euQE0x+CExN50G28ifDM+v2T8U6CXg/XxZ2EZO29eVb5ddX4HsnWFyHAv5Eow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688195; h=from:from:reply-to:subject:subject: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=Cby4Zc2exnr2lGj9vMm652li1RkfU6WuUh+TTAUpdnnjCvscoi3cNvyirm4n9mKjw+DwW5 4tFU1ZauBYsqTkHlqPHgx09nQofzdQWL518yEDdd3dofKdJy24uhkaqsEyMX2FyuLUp4Km J3yY1fwUm/F5TeqLh4r+loWSvb/5UeVqel4Y4ReSuZ68GkkP5igpWrN+O9WcuArCzEW6s8 h37KXotKmY3DMbltbtEdx5tIfyjuG1oklZA+Hlzq9TsdUDCNegEcghpgG+N75L1hrYqHib 7UVcNsTHFoKGa4xQVSpcqVcRK94xvrq3L5qO4O2n23y1fvVfbf2HCy8iUOd4Xg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjWb73prDz3gg for ; Sat, 28 Mar 2026 08:56:35 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 08:56:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWb91450z6W8P5 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 4fjWb851Zmz4Cnr 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 4fjWb84YY0z3gh 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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 09:09:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjWtK1XZpz6WBFx for ; Sat, 28 Mar 2026 09:09: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 4fjWtK0mn3z4FN9 for ; Sat, 28 Mar 2026 09:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688985; h=from:from:reply-to:subject:subject: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=WpQng0eobrAnJruMj+Kdq/9q746QiOSA8WBRNgEttCidTwScONXwsFOV3l3p+LT0O6EhPR QIlCi9STOyZJMoZEQWHDyFXY7bQ5M/9bUivhBDHYWKm9+z2TdD3dXejImJh5ip4fAYILCa 7NbnvsxqGnFFUdxS3w7M2Hqg5M4iQBxv5aSPKr9LEIWI/MGCQPzIsoetvfYSaVW2TsmXSD 5iqou2f26ib42r5HAVjHtd0KxJ3ivmOTFAS+izuciCkWVz8yii4jHSNA0KlyALwU/Gpsm5 6r9yEp7PsqUfzLJNoj4cyWmqgRRGpyG7rCmqixpO1ZPXQlAQUwOzrHjWk51BJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774688985; a=rsa-sha256; cv=none; b=lBnQRYHeA7oF4hq3nLZ4HIvlcu42UpcRB7iibw2YT1FD553dzHrZvUdSUyztsOym68vq8B 0f/vvvtGkxA2cgNn8r860Al2O8MHnqKhbpN/khEQFH9DqfcJMUK2a65Ak4EmPGSpWejAda IxPnacct1wOKjn5N+KjBnTRFPS326RR4sHoYqcMUvD3TBPXnNvI76f2MuwPXXDo9PRL+mc HiKUYdkbt/z5kBBc7o2tYmmkn0tZ1XGF0Du70dCBD5Xxepji0Zq02fi+rMyqe1s1S/IxNM pShdgOWCGfz5cv7xeM+pKMorODAKH0H9A+JUGIg2ANTaXcJKHrwAJEKBVUmCBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774688985; h=from:from:reply-to:subject:subject: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=KQ6wvHfvJ22M2r4ero9ff5sA1PZKH3bIt6opSVeqIJp8swzjIPolGqaPostvVbYanLwMrY LsPjUpwy6cvYnIJZlly/n2eNs+Yw1s0+1RbuzCBZsWBLH5X//5Qy6pQKiwTZZOpXoA2HXj IaT9A7OFIXeh3SGgU6j5BhjQspVJFYsp6+EpJHIks3Xsvl/hUbdsIAJqeAHv89SmHVM0vG MA6j8iHs1S9R2LzipQhYR2pn96dscE8+XIwwdLz1mAkEtb9Fz8RYprqmOwFW9MpjSJbo+v de/+NUzvjMbmdZcQemQDWTXTTSj//2evbQvom6mFGI8PTGfJeEJ6WawyQPiqFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjWtK0MzHz45q for ; Sat, 28 Mar 2026 09:09:45 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjntF3X8Kz6WXNG for ; Sat, 28 Mar 2026 19:40: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 4fjntF01tJz496G for ; Sat, 28 Mar 2026 19:40:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774726837; h=from:from:reply-to:subject:subject: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=X3EPJGu26IH8cE8/P1oKHS+/LGo7Ckwqx9NT+3KcQasVtSb14BHWZk19ttpN29WrijZQ4+ QTgB8bPi4TNkXDiL71RYcFft9QWRo6HYM7d5hJAYPwRHAf3XxnJBoZABUBrhBfGPN9Pkru 4/uYX71mIuN58jaSuGwsKBT1akiFCtHcEbuKx5TJoixfsFvSAqhtfq6ZDW13n8/69526MW VSNWPVslm6WjyVY1QTbLG+dhnQOOl9/XWPu64+hBKPbeyHJ/VBR2O75JeFYASuiPwRaT71 ol7IAcIxNjWVBANC7wtRKhTcD4sWTurCxj1bgxuG6Ijlr6EFhUBwnZv49tZiaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774726837; a=rsa-sha256; cv=none; b=Mi2Ze9EI1jLMMM9v+rc3TSgX+LokIRuEmI6OQgwgRRDnI0+lqczk3DFYXtfzejssEdIxMt ovzKFRwcJWE5eHJ3+ShzjliY8CtEwvbIFzzZtgoybRzR2xDWn/nyRkRCZB6jn+zid/fEPI TBGPpsC1XDaN5RLKXz4aVR4NhVQYKo+6Xfg1Gl50n9lXUOO5rCTsUcnQRBU/vNTVcHkRpl EMt7uAhDXUpKjUCAlNf7OVH2UxqfKgDAr0iU8nwkdtzkfllPHL/xPTqDRFAc0zmWmEqgxU IPATPJmeQlCpTK5k2fMF2Txt/1WcQLsjW43j9pm3wKJ20EF6sf1FXAmi3RipXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774726837; h=from:from:reply-to:subject:subject: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=iYZefTJMz8HVHOu1t37OFGUxbZuLLY9SnddZt1xBjS+nuvyy7l65+h+mCiOmH8rDYOZs7/ rFP8Z7/lS1gfxTeOtNNnHIDS6wj8bKVVnKaniA0yU0oNrp4dzQKXaXSAPvusis5IyPpNby RZL58pfxaaMNGBDAhjPg+RhDpe778rO3WdoOxHQQy3Tz5aFS7lPyb4l8ypNREw0JV4k8ET QqLEWXt/PKCCYUyZdEYdQaz+qV77Osellpm2i0icv/8OX5HJgfGjClNtrHLHq1F2GzZhMv Mlhyy1Od1CGvD72lbiatPmCpyG8qntzP3nweokjwVUWF3LFYrOpZDlOa0CI5qQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fjntD6lY2zfsD for ; Sat, 28 Mar 2026 19:40:36 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fjzWY0blpz6XVsy 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 4fjzWR6tmBz3t01 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 4fjzWR68KFzshB 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fk0c95NgCz6XZ58 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 4fk0c94P9fz40K0 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 4fk0c940BRzvth 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fk7jn1ml9z6WPT1 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 4fk7jn15k0z3Vpw 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 4fk7jn0Zscz151c 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKx6gvwz6X4Sx 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 4fkFKx430lz3wQF 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 4fkFKx20Csz1C9t 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFKy6NTWz6X4W1 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 4fkFKy2tN6z3wL1 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 4fkFKy2FRgz1CWp 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL00QSCz6X4FB 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 4fkFKz40Y6z3wHL 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 4fkFKz36R0z1CWq 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL11DWjz6X4FF 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 4fkFL060nkz3wL2 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 4fkFL03wlYz1CWr 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL20XSzz6X4Mr 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 4fkFL11zLZz3wHN 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 4fkFL11Jfpz1Bt8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkFL22dCNz6X4LD 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 4fkFL166v0z3wN7 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 4fkFL14kSdz1CLJ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHG6cHbz6WcK1 for ; Sun, 29 Mar 2026 16:15: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 4fkKHG4JfQz4M2p for ; Sun, 29 Mar 2026 16:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774800938; h=from:from:reply-to:subject:subject: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=V67oqbcwuRAzDef7LgmLFOjq84ahbIB21Q/X2+MYrg70zlSZ7BILzaArPAnVDBsIp5vhIb aEKEKHzx8A5mJD0fVZpL/8JtBMK9ChzPT6iY5ebWqox5LzQbf9ffjIeXEp3rlvnCJq1lGE Sos9ua5eq10M0hMwbDLHVLL/8rBxSbz4YU2VbxyOli+78nOjMnn/eDAxiMv9DXDE+lNiEM 4srVcsAZmS/+KYFFn0dg2xMW9bhvIZi5Tv4fZH0k4P/QesIUcR1g6g3MJQsr6edicehGyF LzinEqvTtMHjUueYiCjmmhqrbz1HkTIeRRB7B5jZa4JKMAi6/ILZDjzfIi5AMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774800938; a=rsa-sha256; cv=none; b=VC1xfG+hVlxA4srpUmpEwcLQIX8CExnVVGS/7kJ1yhr3wecwmlfwBDU3nJqlU6TFwh0zrg XClPqjAEF6Vxv+GK0+gmV7Fi8ePnh2DbOAhwu7D+3wq8MOeXqhmtVw7mMs+d6dzZWW0djJ PHmic2/HRM9lh6txkK4lZk0UP4KgwoDY0EICJ9fc1SCFdnW9WwPAkEsOD1v9qexoilTvjv sRhhWRKEAnWSl/ku0JW0vTLUFEe2QTbDCJ6rzyY8HfbyoYuNN14B775MXBZoVnt/prkhx7 RpXqJgMZwuniiwq4XyYkdITMn0EMHh0pp4gszpOer8hLt6mg3IH5GaexcAZTiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774800938; h=from:from:reply-to:subject:subject: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=RCvCAdIj/PSTkrQm4DljSCvDSbgm1d21OFvPv9w8sSSAg5qZKIzlaBnybSFpUYPQ/kf6sT ANyBWOUo/NMQg43BgqbHT1GSHwF+xAPZRPzjA+mKeLiG73b4PVRk38KD6sNaaWHYyPWx7p 0L2GfJMPoVHfSWE6yt8aomXQvcyakNsthbLavtVO1P46E4hDbHeM54ThB40/bz8f6gloy6 Axf97s4BIlVlc6r4gEf0Mcv4+JsTSVUyqMQEVp6B+SFhJg1aS95KKQYYJTN5QKZBRzvy2K j2C6bpPsjhwbd3SfB6dIMWj+gOjLGVVxDneQSny01sSFjZGRkx09EMJYQtnN2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHG3nl1z1J9F for ; Sun, 29 Mar 2026 16:15:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:15:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKHH6wHxz6WcK2 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 4fkKHH50WSz4MH1 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 4fkKHH4btSz1J9G 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:17:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkKKw1TWqz6Wcyc for ; Sun, 29 Mar 2026 16:17:56 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.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 4fkKKt3KTbz4N5Y 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.49 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-66a87eb232bso6031953a12.2 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=BfOEug2BQ3GNtxekNFF5cBlf+c2iehMBJ9cHeGE/qzAeScUigHljGQmmzm3+31soC5 lBVW4f26QqyLMrnuNInAvoeJfBSRPOLaybUmdzdAY2AQV+z3NXyHT2t0DzufzioDOQGB Wq2XHJgIvkwoGdQ5kgVttj5S8AF0JXuxnXmZs8wrg00Q/oXtgzD/Dhz7BN/vI8ubbC4z QuxwUtxqeBkDewg0RHgOsVlxYwqc0x8nCNPsYAXwJD+IxzkGXLQd3rXpELY5yr45sDyF HEf/R5cU34IkwNBZjH/K92DUg3NGhYRurZkrUKWGPUSZygxsciaqkWaGvvC2mOIFgY+P ATAA== 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=S1cqtt0e3MJvOb1adhkmRFcopC5ARjCh3A7Uu9nQDj4=; b=dGDi2dpBXaISX2x/jkBdi4TDVfv5qLGrCL4AwvqFhoLRVHonFoCGhDvAQQoNb3awHP GYiXueycpbK57DRTZ3LvLwG2b+yXCw2T13I0uLOtpftPyWW5hQiDzTBY6IYeTci5aLxt bCSRK9+RFc/l5Z7P4yzCZWQF8AiM+GIxF7wCWgSUfD0kQOI76p7RptBI1UFjR8yPy7Ev g4mHG8ROK8QJoc5NF76db2GDKI4KTGDtgUJ1thYGtxEMcY/0WnxAjgCerl7cRJU5kTc0 WpuSwpeOEb94ydobLE84DT3hi8Ezg/+h9L/35XKPyJJ0EqD70mr8Uk+u/oGglAtlLhJ0 3ahg==; 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=M56S1To7HqwY1hTdLsBbGgRYgVXYxMdB6DBYEPxsSOZH3l1sxRwwXmWRq99uHN+6zY DtZLBBBGDAUeIqe9KR35DRQA/1bIn00gDoHhxxzHcwxrMy7IdASFYuWgxv5y8Y1S0evx /tXSK14v+u7yJgfQM/ZDQF2TSxm8CwYZf2LRowJjvsMNVPGFOY7/MJc3S1bXFfe5IzRS 7Y/Pel8CjmKT07wFVHbjNfdTkE8pb0y6MNpeDNQPrcheDDniY0ODKoFZX0cu6dxYjZqF wimoto9UTObWonNK2SI5U9br3aFP+Xqx6LZLyI6bmBC6upL3qf2ACy1lq4Pk+ULD3m7f ub/w== X-Forwarded-Encrypted: i=1; AJvYcCW21SRqq/qGVqy7v37LZ+JvYt7DA1MYFpOt8pWTaEC3S2sHJoMZFrxk3El4n6ujza8F+O70dt7E4BzlxaFryHlYBVt17Q==@freebsd.org X-Gm-Message-State: AOJu0YzoW4C3i3ZtFAJoNEl9WQ1J6NFN8Pk7M37EuuUWmA/s9jRGnH7g DY+9xA5WB5h8rROU7eGdTgdtSOT6fMZGpbRZKruH6uFfKTaVoXVbdFRKfrqC7swmN4JVjF5UTtK hMIFxII2arypzDz+t9i43IueEhOHYbQU= X-Gm-Gg: ATEYQzwaU2OMm3plGMb30/HeBlUJckKH9FyJIRzayhAbtDMdn0V0etpx/tr3QLTXWao hUdHKtG/vSnj2N4zq/8peeiKjWhJcycHwzvaG8tfO4vD5FiU1jX+DW1NeyBkm1gI6V1dbnuM7Ni RMmfyiK1+P2pd4mChvIzRM56gs6ev+WU10HV/nN+TGoVbADyLcOfOm7XA+wD4gyltq22T2GXl7O OyhzG3hMIVOXowLqZbtlCAxKbN8cfDpLc24ArmOafZkmsAIqVKG9CN5T2RdvEymi/jVZSbtfKRZ ciJ4NfG13t9huVsL/dBpP8RunnGktBv38QaHZs0gxJmer7X0v61uGhB+UwwhY0WqJzEM 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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.49:from]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.49:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4fkKKt3KTbz4N5Y 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkN7p0vqvz6X6Zd for ; Sun, 29 Mar 2026 18:24: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 4fkN7n5dQ6z3QNh 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 4fkN7n4jlgz1M12 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNg56YJz6X7WC for ; Sun, 29 Mar 2026 18:35: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 4fkNNg2kFYz3RBR for ; Sun, 29 Mar 2026 18:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809331; h=from:from:reply-to:subject:subject: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=x2HQ3cCHeTpcosO66K8ADLGxKJ/jLILWo0pl5uM98kulXbg2rMrjWsvUae4oZYDey8bmRy 0eCuRmpXMIpMIzNLRTL3lamEBXVdkjSEZ50aBpifUk72XV0gn1F00OBhnkKk/udEFALDmG j3ndf2NJNsrTX2cRFMoHL5dajvoM7KGuQ3Ukxjr4p7276kYt/D0OBmsgMgvIaU7ebFJRcW /zQnnqeltMEd5SiGxV8mFM1V4ewJ5JtZJwZpNiCMHGapYmXeBZizrGgTUKdQ9371Nzk0iC JY/j0yZCqjejnOIpQtX1nm0mGuv2P2C1930SC668Cxu03vOVw4XpjKwHT+rR6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774809331; a=rsa-sha256; cv=none; b=os/slBIhenZIht8GAB7LWWcIa+yowH98lnX6nXPHEJg8pfkjHc6/4grp5IWCQtH6Hpxtgq AJXlS4Vd8UDEBrTrVkdVzIqQ97JcTbo1+N8OjYypdntFi/2b7mZ9rOl7PDdQ7XheRAMfXf 8ueHmYVcz6naiqJmWl+AszCJAA85PVFcGpkkhmyWGpa2kX4ngMDGxPvIVSitpza6bPgNXh LDmtm3FxwtQqw3zPxz9aGbIgpU8HI7HzY7yRMXu8X61DlaBAVl6LJQuVnTfeWIIQTyByxl Gf1nAeGKuxWR8oieDLnrJma/eXK2oQxou8+v6bgH5Eav5uOPzf27m0tJS20vkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774809331; h=from:from:reply-to:subject:subject: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=alThkRKEekQ5kDdUX+VqDJxPyTNmIdJpb4CRLAnUFxK1dwp1cRdAP/yarublihmfgHtQJG OTgrq89aUtwphwz/BK/7Jq7S4T+Hca/L5juTN11ItzNJMeTYKaEvFhUyrtaWbMf/b1Qzbo bVI93sxnEQo2T+sSW86QHF22jboGwX/bJfrZebZGu7/dVtLFFAj8wLPokzieYxFnqCXPNF jwjZgIIb7g/4A+FHAWxx8xgBz26lFx0bUSAQQ5JNGMkUDNmceHj/WEOhxNY6/vNJi5P5lo fj2ZSG0V/+lve4ICICN0Wln5gYrvCefwWs+rjnLt4YWb/cpL4Bh+zb4zjMvj7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNg2JyVz1MFp for ; Sun, 29 Mar 2026 18:35:31 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:35:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNNh5jtcz6X7N6 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 4fkNNh3zBbz3RDr 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 4fkNNh3B3gz1Mhs 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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:59:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNwJ4L33z6X9h0 for ; Sun, 29 Mar 2026 18:59: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 4fkNwJ28TRz3WDv for ; Sun, 29 Mar 2026 18:59:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810768; h=from:from:reply-to:subject:subject: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=yHom4DXg5QO/ezfnL6k7Ab71rsyxO9Wxkyg0aEsIGvkdZUzcMe+cAZN5Np4Lpueg023H0e lgcqafaOYowdHpDqcGVzlPhu+4+2RudR/CwIG9AOgHrxwvANnsilNtnfRHfIkMbKDjcE6b gIt784VWUWkRPw5l/+1g2HaH517Nbh6NZB0rAIAuSDUtVIg+AM386UA47vtyE1XJEQK6VH E6oPpvYJP3T4eo3Q5jEpmzbuFVNxTmWacuueoEUHYOEkddftf3TgbKFkKEMD5gQBh8j5Su XMe72fEjxfpqDDhrZ81bhRP7Cbn+JOM1O8XX8PlQHzXMDFe5rTaX/43V36IWlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774810768; a=rsa-sha256; cv=none; b=T4Bsf9ebafajI9SD1HfWn8mCc4n7VMCWHXHmqS+7RGLgFB6eQRuCv11po/aiBgSaPseJnu JnukZpTSpFN5UfjmLtFFQf42Z6EXY84OqgSwcYe4+9vZI23bJ3kwg/BtZEA+tQRz45dLoj AKx1bYopvQz3clmLQGJXYxYt1YN9Ot0S7LjLM82HFGQ8N9THE6I3D5yMJYoSkGXAJzvp6y zTbK0JIRcCIDHkf559zbu4aW6KTY0tqy/PHPEqWKVRMmKVNmReG+bXGzxVZzgdKwkPO3Z8 +u17TzZMjy/D2/y196b3s9QTSuJzC03pcFyb1NYShX5X9V+JBu9mh/Z1/P6VQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774810768; h=from:from:reply-to:subject:subject: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=VkAK9KngC4gj6SrilCpiHAJDIfYcE7G2GMeCHvTvZUrzljoOGTjOdSGzlhcHzjQJDbazT6 kR23AvCcZVInqXT5HBcWqQrXEDBi8AS+wUdlTR4/qndgtGWysVVzEuUSpFrP4FmfOAv7b4 EkJaFUKEa/M4yiUeRJuTg8GA4g76V/H58tk/tz20a1gWcpugj7WTsSJcGyus6YZ56bnHg1 rB7HZnhfFLO38EYk6LLJt0jNBIiB/m8aoj9kYdnUAq8CIRmAgeyVmJ6+cXdAMzRd+7GT4P LeZWGkrnGJf+m1aVB2z+vmJDPzCE9kSWyGK2c5/BqgJyN6idB0L0B2oPJCAvMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkNwJ1TqRz1MJK for ; Sun, 29 Mar 2026 18:59:28 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzF0KXBz6X9tX 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 4fkNzD6WkLz3YPc 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 4fkNzD64chz1NXL 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzG29gkz6X9pm 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 4fkNzG0Pwrz3Y32 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 4fkNzF6xhKz1NZm 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkNzH4xmSz6X9vv 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 4fkNzH1J7Lz3Y9y 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 4fkNzH0gZSz1MTy 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkP5k4rpBz6XBS0 for ; Sun, 29 Mar 2026 19:07: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 4fkP5k4GPzz3frL for ; Sun, 29 Mar 2026 19:07:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774811258; h=from:from:reply-to:subject:subject: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=BXV0iBTkMmUexDArBOWlIf1HwdzIi5kwGWqo1+jzH6wCbLhcUygMqDanxF1H8KfAErqdNA cdm+VJ3BvQ67XY578v3fYr1AU9/d2+/FKPxi7+n5vY3cdJzQCayGy/2DFmXCTDZElYYE9/ /OXbFBvRmuVr/LMj7GbDYtL0zVl3+l631GDMzcKGn26zwtJhL+T0dWZe+PleijQI1pDIoA xUtP8hQC1p2xKctwmBRbAERMCE5tGUaOgzyeJGJxDabfWcf7X0adVf+cJ1z4xGYQf4lfyK ClJPYWYnBXLD+jKvoEBuDcoTPU/z61fcKPIftvaYJLZPA/jKiSOPFDR2kCa0Dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774811258; a=rsa-sha256; cv=none; b=vvkzzP5qoME5ePVtqlIUG76pXWzazxsLqH8PF661ocCNwIN5CMsOy5BVdI3TqgUjiCXos5 kv8QyiFz+aQKexKkEWiIiXbKdt3KDBC30K3gW7PsBcfs/YoCvEJIrGq4hK92sluj9AXlcO mhjIkQ2LzdAR6LWJdGLvJKXIxQHG1kmkC3OGPtQf/x9lFQO6SpACRJWa883JQ853gjugco Y51lfHZYGNkrLfdkFup3BCFwRezwvCzJaJaCmBZf9HX6IxoH2gUqixpHAKQ2FHijoYhcPQ B7fUY1A/8xIMTvvMoEB6fB3q+ztpbZZb7lhbTDJi8gCVZCaMK6QuliziLl+b9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774811258; h=from:from:reply-to:subject:subject: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=k3BM7117jv/xnmYV3l5fyIrQKzKUlAeEJkfl2TxJgSDmaUQvJUlCtsJYfbRJyV1QvB8aIv C2YH51vsh/RX4kjqpExB3V9rYsNxiz9OZQNi+B8o01UllTszGjPDMgHZPlP78lWluZ3tLS 9+WJemEo241X9Gi3Itp6LeAz0rmQDzOTRkCMwkyafKGs9UkcyYusZZj1IYj6z0W2C4LqU4 USdBCVfurkPyfg7dNvlOP2AgQB2xsvPSHcOHpXc5qtt8o/2JRXaYGQG66PpyZR527pG6bV 0AhYm8wADRJXKtciMA/ABWJQTG+g3zCYuYUm9o2jVDDC48wgSpEPOqeJ2zoX3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fkP5k3sw3z1NGV for ; Sun, 29 Mar 2026 19:07:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fkSY81Pm8z6XS4n for ; Sun, 29 Mar 2026 21:43: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 4fkSY80kwTz44Sw 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 4fkSY804Jbz1SDN 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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;