From nobody Mon Jun 1 00:40:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTFWF0p26z6fwDk for ; Mon, 01 Jun 2026 00:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTFWD6DtMz3RCJ for ; Mon, 01 Jun 2026 00:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780274456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dSSNNzd0zGn6cmSUW8wbgN3mgmZB93ZMD4SGEJEbuMw=; b=K2zTt8pADPGrOf+6RNII5Zrq/WXv69sYtNDDVgCx5s+Zc1gBoNBk9/p0b9lo4lIMUcOXgO BSP7nBmE1i78ZJOdDWnjBQHvnfco2l2DAW2pouRNV1qnAqDH5yu/AG/oLh5NMuj2ugUZOP UZDyYz2s8vME0QRnPyk+q6dPa4/1qqdb0LaMfvvYtAIRXDzD49vATh4+ILz22AkjXSvXHr x3xqFDMcMWiyxBB5Drr34HiNVdNHTa0DhAtvwoVaFBUyjEGGvPXA/BxoxMU4TQ4jddZgQM +vvQzaOmCDjCTztHu1z0yW2ekmqhZSlA0KU1VzQOYzWAfzxNuhB1Q6akOzOZ4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780274456; a=rsa-sha256; cv=none; b=JI34WpguUE3pea8crl1RbHWpeA4bpjuumP2XpcR6QueWdhI6vqJ6U8//wPVs9N9zFrei19 ERIAJe7Z9rttSU0vSPxCTJA+WJUSdgMZTpkyB2IZsDTkldIJt8YYWy+czqBCldb4NZkByO HS4U+Rz2dUB81A7+jZwT22OWsE2Gw3OGIdvWzL1MVTtlIpPbBOurn4kLLVcKS7cK9XmpMm 6vrZzBArsNPQL7OGKqscqH8HxD6lUUuH4HvDNUiY3hd11REvUh0DVbSi8NdQefcnxPo8wA MroSmyCCLHmNp1f7NqHc2TukCjeNi69RmXn49wzYJwcUMlOdx8IFO5L9JguuTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780274456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dSSNNzd0zGn6cmSUW8wbgN3mgmZB93ZMD4SGEJEbuMw=; b=ez67uLanREvkILYq9v5wzSoUqds3sIuzsdW1EBalXAoj2hlQJnWHAmP/7HaHmRDA01PUZx 3sDXX559DTnvZMuM//fpV+OhzyjWZpzunlyrQw2K8kOSfKUOjkagiG6ay/7l9fnug9oRmT acwQoeGdWwxbFiM2PUeox7UgiNF6S5yU3+tIclMpnyE81Az++MNS8okVsQd2B5NBLWj6Kk Zb05TzzJ/PgXdnzd51ur9iBN/xll+2sfcDL3xY8p/WhQjm39iWMkWH7uZ704DJ2bAhU4to 6E7QnSNzdK4U+ucclTbsrDMdXqBlxHvX2bP9l48U9HzP7y6fbAcBB4dPJGFGxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTFWD5lFPzTs for ; Mon, 01 Jun 2026 00:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d76b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 00:40:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 0e3c9cbee4ac - stable/15 - bsdinstall: script: Fix scripted DISTRIBUTIONS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 00:40:56 +0000 Message-Id: <6a1cd518.1d76b.794f5ea6@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 commit 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23 Author: Jose Luis Duran AuthorDate: 2026-05-29 02:09:49 +0000 Commit: Jose Luis Duran CommitDate: 2026-06-01 00:35:43 +0000 bsdinstall: script: Fix scripted DISTRIBUTIONS Restore exporting DISTRIBUTIONS to make it available to other scripts. Reviewed by: imp, asomers Fixes: dc14ae4217a0 ("bsdinstall: do pkgbase installations with the "script" command") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D57319 (cherry picked from commit 283959bbe0863917c4fc3200a92d1055a4c89bdc) --- usr.sbin/bsdinstall/scripts/script | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/bsdinstall/scripts/script b/usr.sbin/bsdinstall/scripts/script index 93d07c7899c3..4c792d80df6a 100755 --- a/usr.sbin/bsdinstall/scripts/script +++ b/usr.sbin/bsdinstall/scripts/script @@ -50,6 +50,7 @@ f_include $BSDCFG_SHARE/variable.subr ############################################################ GLOBALS : ${TMPDIR:="/tmp"} +: ${DISTRIBUTIONS=""}; export DISTRIBUTIONS # # Strings that should be moved to an i18n file and loaded with f_include_lang() From nobody Mon Jun 1 17:32:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTgyM3f0nz6gPmN for ; Mon, 01 Jun 2026 17:32:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTgyM2t2Sz44Nl for ; Mon, 01 Jun 2026 17:32:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780335147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+ZXKe6woc5ry7cl6wop9bS8Mnl9Kp0ZJWbx3PsBMDw=; b=qpTq3Twcfv4+atsSZpAKDPK+XO1KRLG39HuSQoeojZBVY57eZ91x0AlebS9HgvF/FQVyR3 um9H9TyPVH1FUJt7b+81lGcw9emig3q64ZUDDur23Dyk8v5n7WHVsYmx5Gu5vUiECQE35O BLTrAE++UfGY7jwJ68D+3/V3VBQTIrN9AFPAxOHOHaVJZWqkquvB/OCGi/FWs1HcRdJaOe smNFoPvTZCj2AwuaLhmPh0PHWYjZQuzLVoBk//PBEPxIeB+Tdm5c/ZS0g7tWcFPM5qsuVl M2cLxXxg3D35b29IJR9gVYZQiq0hj/ow8fXKKqdJxpP8zizvPVf9w0BWpjCJRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780335147; a=rsa-sha256; cv=none; b=y1r38j+nGuZxWlng/3Yzps09U9UQadFQbE3jv7/ITf/dm9po6Mg5PtaHiJVauwN9gJd2+z djOjDnR6QfsRVcD4zzHHGxdPviWk5NYmO3Q6bc4H8gKFtECiwZQHjIqqdwbpPTy8IBIz+s N3L8+aC6eK3k4Pl7KkW0s45k6755sDNK7klHY5kdJSYuUrjAXKcVFPBbY2UyhMfo2gvb5O niOXaI5gkZLZMpopB+ConzZWzYYbkCmoEw+WziQK6a4Vc//eEg2HODQAPW6Ei9o0E+Ujr3 BceNjHy9AoMWAizpgDvq7baybXCWpkdwDms/ABD89A87u0+vl7uiR2ot0QEE3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780335147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+ZXKe6woc5ry7cl6wop9bS8Mnl9Kp0ZJWbx3PsBMDw=; b=BaLVqCmgg4RjPw+Q7N3altdyIZpXgdyz4kO6e5sIBr6VANKpBkD9O9DbU6hPhh5u8zyJz9 20/3VFGcWdy69Hs73s8u8Czm7FojH3nsuGzWyGPsT8IhWHwr1lAsftxo2MX9dVzTJvIq0X twngZy3EM2jF71hXQQwNh5w7UxZgdgBJJFuCLyJgzTdHNmUsDvtVDS8l1RhjbTrkGmd0HD 5EIeqKRDq/wfw5mMb4026u91+wuplkTGQZ6pnwf1PPxTBTi69L5dkAVAL2H9X/4ThZZkCJ FPlvQ1wTtQOPnZeH7WOFYX5xD65AjZn2oiXN/k5UXKZJa3Vku6Wf6SDNK1gMKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTgyM2JCqznML for ; Mon, 01 Jun 2026 17:32:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bb5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 17:32:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 369207a6c471 - stable/15 - virtual_oss(8): Fix buffer overflow in voss_compressor() call List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 369207a6c4713c64d2411eb96e3f0d6ddab6169e Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 17:32:27 +0000 Message-Id: <6a1dc22b.1bb5e.5a7ba644@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=369207a6c4713c64d2411eb96e3f0d6ddab6169e commit 369207a6c4713c64d2411eb96e3f0d6ddab6169e Author: Christos Margiolis AuthorDate: 2026-05-28 13:51:26 +0000 Commit: Christos Margiolis CommitDate: 2026-06-01 17:32:18 +0000 virtual_oss(8): Fix buffer overflow in voss_compressor() call This particular calls swaps the samples and maxchan arguments, which can cause a buffer overflow in p_ch_chain if maxchan exceeds its bounds (VMAX_CHAN). Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste (cherry picked from commit 453de99b386d40754a038cc4b804f4c7a3b04624) --- usr.sbin/virtual_oss/virtual_oss/virtual_oss.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c b/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c index 18af38d8e7aa..1da50979873d 100644 --- a/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c +++ b/usr.sbin/virtual_oss/virtual_oss/virtual_oss.c @@ -781,8 +781,8 @@ virtual_oss_process(void *arg __unused) /* check if compressor should be applied */ voss_compressor(buffer_temp, pvp->rx_compressor_gain, - &pvp->rx_compressor_param, samples, - samples * src_chans, (1ULL << (pvp->bits - 1)) - 1ULL); + &pvp->rx_compressor_param, samples * src_chans, + src_chans, (1ULL << (pvp->bits - 1)) - 1ULL); TAILQ_FOREACH(pvc, &pvp->head, entry) { From nobody Mon Jun 1 22:34:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfc2f9Tz6gBfR for ; Mon, 01 Jun 2026 22:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfc1jyWz3ky5 for ; Mon, 01 Jun 2026 22:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akexvP9h67wj4ZaC/ZvE0qKMl9QMM2Fug9kFL2ti1UA=; b=SxjKEoDjHhqr2NbRx/exjcjWNuey8Hy1pMW4rWsz7b6j+jaScwDLg1BY8OQW5Ne1hhdKsO Eb8hwsd0fRQsRHuOewh8erhyJ/dVqR7e9H59wr/VvaxyFbPSVq4MpYa9RcgLhhPki/UbkN MHagv+KhMMSxs+E3+1936GTmzqEcwdXF0No5yHIc9+GKh3K2hnd/swvysOsuHODrPvyDEG TU58/D+ea7cSjFsGpsUC3MMfX43eXQhFcWihOMSwen/DwVrtiQDNqJnFBydiAZECMZUxRp wYJ9ut/1YGZxV3s2aBhlk5uSr3YKzROl3U7z2vVk4zto5OQPUD4WdIkrPAttBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353256; a=rsa-sha256; cv=none; b=iebc/pKdOSVIzkRefFHnzTM1fcRth+z795w+Ke3jpUWJ9+qOK3aqK53ZPg7sCQLOtPx4kE 8HTs1njsyq/Wzzr2/eQgXFbG/hnWRiRFbmIy1TEuWGc+35MBvJ1/FQW8RUguANZiO+m4DP qdqIVDQA0nfaNLZZGt5yVa+RwRV39j0gg8j3V9qCLO8bGL7O2Kh4n1gfjU2dhxkF40n0nX 5rnbldNKpFHSzsWhypZ3fY58kGk0Acbk2+bHscZ2I5uAd0hMMqWrAnLzvYRAHjhABQFc09 mQbfVjmpuo67e6osbeH3tfekA3Tt9xbhp12+/WwvJQwFUSbF5jjffEeVc1sgUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akexvP9h67wj4ZaC/ZvE0qKMl9QMM2Fug9kFL2ti1UA=; b=RhU/InIbhZlEVNEFaN96X2w4ztCMcgBv8S2WxygH4wdeUGbb/vvGTjPjs4B2c/lXcZdwFa 7drGv1OgMNjd1U2JvZoHyw17EjCfBUfu09kZ3zwXnDWt1uRWnFYvAsW5mzYWdyD0xbZk4v IHGQRGZsvt6IaPOhcVF1CUeP3Y2zCHK3KYWe9U0CVYQ5Qqi/YwW0vdf+z8WBottX6pSFxB batlbhSUVywTLjFRkl3fNb0FRq7/52EHyRdd1Gn1/Qs/1aGI2rjnzUZg7qEtLlvBtOlx12 TIxx/M8WTL88XfqShKjrIPRGBMTc5yDMmMnthwFLgP6yN0kTkEnqIfwlIvereA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfc1Hr6zxp4 for ; Mon, 01 Jun 2026 22:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42606 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: f8a72f48951f - stable/15 - lib/msun: Replaced pattern to force exception in _num families List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f8a72f48951fc9f156f122ef6ba5181df85a12e6 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:16 +0000 Message-Id: <6a1e08e8.42606.480ef7e9@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=f8a72f48951fc9f156f122ef6ba5181df85a12e6 commit f8a72f48951fc9f156f122ef6ba5181df85a12e6 Author: Jesús Blázquez AuthorDate: 2026-04-27 16:43:41 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 lib/msun: Replaced pattern to force exception in _num families Replaced the old pattern of using a ternary to force addition (raising exceptions for sNaN's) with a new one using a volatile variable. The _mag_num family was already implemented with this pattern PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month (cherry picked from commit 7c20e15592a07ea457cacb0d6706948815c8420e) --- lib/msun/src/s_fmaximum_num.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numf.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numl.c | 14 ++++++++++---- lib/msun/src/s_fminimum_num.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numf.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numl.c | 14 ++++++++++---- 6 files changed, 60 insertions(+), 24 deletions(-) diff --git a/lib/msun/src/s_fmaximum_num.c b/lib/msun/src/s_fmaximum_num.c index cf16c76f89b9..c3aae90af8e3 100644 --- a/lib/msun/src/s_fmaximum_num.c +++ b/lib/msun/src/s_fmaximum_num.c @@ -53,12 +53,18 @@ fmaximum_num(double x, double y) nan_y = u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numf.c b/lib/msun/src/s_fmaximum_numf.c index c30179e47f9e..21a3d8672f98 100644 --- a/lib/msun/src/s_fmaximum_numf.c +++ b/lib/msun/src/s_fmaximum_numf.c @@ -52,12 +52,18 @@ fmaximum_numf(float x, float y) nan_y = u[1].bits.exp == 255 && u[1].bits.man != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numl.c b/lib/msun/src/s_fmaximum_numl.c index 2291d01ca4f4..f806d97bd813 100644 --- a/lib/msun/src/s_fmaximum_numl.c +++ b/lib/msun/src/s_fmaximum_numl.c @@ -47,12 +47,18 @@ fmaximum_numl(long double x, long double y) nan_y = u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_num.c b/lib/msun/src/s_fminimum_num.c index 71b5f072c32d..562d7932b464 100644 --- a/lib/msun/src/s_fminimum_num.c +++ b/lib/msun/src/s_fminimum_num.c @@ -53,12 +53,18 @@ fminimum_num(double x, double y) nan_y = u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numf.c b/lib/msun/src/s_fminimum_numf.c index d5bab31ce403..575a3c70cba7 100644 --- a/lib/msun/src/s_fminimum_numf.c +++ b/lib/msun/src/s_fminimum_numf.c @@ -52,12 +52,18 @@ fminimum_numf(float x, float y) nan_y = u[1].bits.exp == 255 && u[1].bits.man != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numl.c b/lib/msun/src/s_fminimum_numl.c index 6b26d2218d42..60248eba48f3 100644 --- a/lib/msun/src/s_fminimum_numl.c +++ b/lib/msun/src/s_fminimum_numl.c @@ -47,12 +47,18 @@ fminimum_numl(long double x, long double y) nan_y = u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0; if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ From nobody Mon Jun 1 22:34:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfd3sZsz6gBQV for ; Mon, 01 Jun 2026 22:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfd2qRGz3kvf for ; Mon, 01 Jun 2026 22:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HrE1ODYcAmBxszzM+yikcozSC0LXxmRrfKZZ6T6kBjo=; b=RUwXRbOprPV9v6CtSlBS1KV1fEHYvlCCOXRSjtHiSzvnDfUnxqMPO+xn96xEu2WERbgXk1 0QTF4+fxatrM44EEl42jYFIlag8kBsIveHuOF9iXCT43PbYxzdhnadCcr8Zyxj//Xr20Qj PqkHjdXMHPFMqxCnt4ABU9Remj7D8xPD6YdDPzm9fNxQIDdi7Pk7xFnT1kilnGqSH9HXQJ fED0Oj1pZlhlxfH/4UJdjlNwWFhNhQXW3FprhIEmcruWA8PVhPsLGB5FRYaEduxzJuwZHg Mqnxehi8WayVDGCdn3Q8WSuAwEnzjiZQmgQc+EMQNfTPihf3FTQyvKf/rfCxQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353257; a=rsa-sha256; cv=none; b=GFs6YDRznJFTV6C6Xb2chB+yKLX3XpxkaTguFt+jL8oJMykgjrrW8il+gP7XnpsQK7U/6J g8AwdtDr1LCHC1L6vsI7rU8u3N2hOrC55XxKi8m3AvaeZm1qE9zsnkrsCycajpGDK6X4rx ChjvyxGGVchOU06DTQ4/GD8n6UFvKQmWqRiB4gQpnfhrSu1saLUtADRQhK0Q7K0FczQlCm mLBkuEFaNuHRAo8TvzKIAtJ9tMDQ3mqMHxS76z7eH/PLVdsty88JF6NaVDWWNHjv9r9Wom hLulXwEAjtJ+vGWbUWwAcgk+yoE75OPY9b0t4JkRC9CjR+sy6zwiW1XYqh3HFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HrE1ODYcAmBxszzM+yikcozSC0LXxmRrfKZZ6T6kBjo=; b=XCddHCS2H4HAGEX9hx2p3tFzKgkPMCiHwqO7075EU3Ib88jZYrmnZCEQqHXZnmZTv3UyTc cavEUMq5e1g5um9vnil9EX1c/gyq9be02f2qQaOGfCSvvldiwSkuWer13wF2+ukdud6x9l Q9SrMuBEORjcrjzgRGZy7M6dqrFtVSF8pc9rASXCL1r/8Xw/1JboeZdfV5M7B3Pn5Ip7M/ hw0AvEPuiI9o2VBUEm1z7e2VJ9B1Drqvmd4TZC1Ps2ZXnpbVN1GUuoj70AlvdPPjVqD67m SgD9ifiDVnwe9T+1XIISmbe13dr+3sxKxiwDHVQZqzB90E0a2Lq4PEYYMfRIxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfd28ZFzy0j for ; Mon, 01 Jun 2026 22:34:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4249e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: c485a0b83889 - stable/15 - man/math.3: mention fmaximum_mag_num, fminimum_mag_num List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c485a0b8388904d115ce10bbd68fa33486cb23e3 Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:17 +0000 Message-Id: <6a1e08e9.4249e.1fa840be@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c485a0b8388904d115ce10bbd68fa33486cb23e3 commit c485a0b8388904d115ce10bbd68fa33486cb23e3 Author: Robert Clausecker AuthorDate: 2026-05-02 14:53:08 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 man/math.3: mention fmaximum_mag_num, fminimum_mag_num PR: 294719 MFC after: 1 month (cherry picked from commit 9f98195ff615417f7af875b65cdaf220239206db) --- lib/msun/man/math.3 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/msun/man/math.3 b/lib/msun/man/math.3 index f98c5e1a2a75..882bfdf5225f 100644 --- a/lib/msun/man/math.3 +++ b/lib/msun/man/math.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 11, 2026 +.Dd May 2, 2026 .Dt MATH 3 .Os .Sh NAME @@ -117,12 +117,14 @@ fabs absolute value fdim positive difference fmax maximum function (legacy) fmaximum maximum function (prefers \*(Na) -fmaximum_mag maximum magnitude (prefers \*(Na) fmaximum_num maximum function (avoids \*(Na) +fmaximum_mag maximum magnitude (prefers \*(Na) +fmaximum_mag_num maximum magnitude (avoids \*(Na) fmin minimum function (legacy) fminimum minimum function (prefers \*(Na) -fminimum_mag minimum magnitude (prefers \*(Na) fminimum_num minimum function (avoids \*(Na) +fminimum_mag minimum magnitude (prefers \*(Na) +fminimum_mag_num minimum magnitude (avoids \*(Na) signbit extract sign bit .El .Ss Not a Number Functions From nobody Mon Jun 1 22:34:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfh2T6Fz6gBTc for ; Mon, 01 Jun 2026 22:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTpfh1H4Zz3l41 for ; Mon, 01 Jun 2026 22:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KHNyYp5CkyC2njUE/rkgx8rgdHD2Er06j9exbcqAXI=; b=j0+cfel/hnWDUY68YH84Zclj14bN9jrZw7j9SoiNpVhKTnRyxzWRaqxm4RkpyXLZMqY2gC QQKGQMLp/p59bCqcq+kBIDzUNeDm/TuwYb9JG2/5AaraKF3pL/Q+d196YXtPwBNdID1CSA Kqme96i0Tf/IThNDP5+S0yGwFh6xyoUtTJ2Ju4wv4VEAIj5wbkjVmVxaYYyNjW1GJkgM8b tv/d65mg1MbxpiUwGbnsE/8Kvlex7lvjVL8AMMEpGzfU9AR4z8qjKVA7qMCUk9NqZhJ9lw dI8v6+Gj/F8DdifCi4mfzBGDrylOXeBvCcDfAS81sS0Y9K9wyr4+nqgtEfUcLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780353260; a=rsa-sha256; cv=none; b=V35TOcfgXAIADfA9YbVeXm0V4Q21/szVD+yhzdFau/iR9AK9U3vcvAyc/Pd5xjqR50VYkJ moWp3OuQP28wZbqm/IgGSS9gHfQr+Zu3s0C5EQZ2HjD2N8WoPG1F+Mg1XNvmA4MOphl7mg Ns5GdV+/jX9cDjIhN8F+tgkoy85tWW6PjjCKhwi2U/mthUB4o2pD9PLZu5XM7z8XtnnY4C 2qPnMoulZTXlxZyDvuqX/KDN3iUTK/kUyt3sqi86H/aTzHKPqRtQapdLdPhkP1QuWcBfa5 NeSnzhfqvuTzOerPiOU4ZSNoBCCgoc0DWmzUXOKX1oov2r0KWeDS0pccOKrhjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780353260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KHNyYp5CkyC2njUE/rkgx8rgdHD2Er06j9exbcqAXI=; b=oHbyis6shi+XF971kmkHr8vYIs65H8d9fu+ieAjyecFrpiuosuqkK4WhKSQcPSIN8sd191 j7C+rCwwPEtz5qqV9nSwQDxiZjrUKaPjey0vxAOVS2gy6WVwHDFHbzNqqCNG2NrPv47nXd obFLg0n4Q5/yCZyXyH5ct2Yf8qRwlKyGJ6bO9CF5y8wRcxhU+ObXcdjgYiq7kEZYLxZXcR 6yZK7nRMHlaks7vD82OHlQTaJo6IqbaJI+FvRr3DgDi0BmOBRBrXJ8EPyOqU3y/CcCkJAL SBi5lx+hIowlHSH4pXdqM1bwIieZVz4valw/lyB9YmPvkIHRJ8k3Uwn5ttr8cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTpfh0rrLzy5R for ; Mon, 01 Jun 2026 22:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42c21 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 22:34:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: 9bba4a225041 - stable/15 - lib/msun: fmaximum_mag_num family. Tests and man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9bba4a22504180974bfc009f25502032d7a3232f Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 22:34:15 +0000 Message-Id: <6a1e08e7.42c21.3db5a1e4@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=9bba4a22504180974bfc009f25502032d7a3232f commit 9bba4a22504180974bfc009f25502032d7a3232f Author: Jesús Blázquez AuthorDate: 2026-04-21 17:17:00 +0000 Commit: Robert Clausecker CommitDate: 2026-06-01 22:33:34 +0000 lib/msun: fmaximum_mag_num family. Tests and man page Added the fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} functions. PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month (cherry picked from commit f62d826a6f5b9022b0cedfe22a698998ad9cb7f4) --- lib/msun/Makefile | 18 ++++-- lib/msun/Symbol.map | 18 ++++-- lib/msun/man/fmaximum_mag.3 | 2 +- lib/msun/man/fmaximum_mag_num.3 | 109 ++++++++++++++++++++++++++++++++ lib/msun/src/math.h | 18 ++++-- lib/msun/src/s_fmaximum_mag_num.c | 88 ++++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numf.c | 84 ++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numl.c | 77 ++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_num.c | 90 ++++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numf.c | 85 +++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numl.c | 79 +++++++++++++++++++++++ lib/msun/tests/fmaximum_fminimum_test.c | 28 +++++++- 12 files changed, 677 insertions(+), 19 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 75917b9b6abe..5e9adb533760 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -76,9 +76,11 @@ COMMON_SRCS= b_tgamma.c \ s_finite.c s_finitef.c \ s_floor.c s_floorf.c s_fma.c s_fmaf.c \ s_fmax.c s_fmaxf.c s_fmaximum.c s_fmaximumf.c \ - s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_num.c s_fmaximum_numf.c \ + s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_mag_num.c \ + s_fmaximum_mag_numf.c s_fmaximum_num.c s_fmaximum_numf.c \ s_fmin.c s_fminf.c s_fminimum.c s_fminimumf.c \ - s_fminimum_mag.c s_fminimum_magf.c s_fminimum_num.c s_fminimum_numf.c \ + s_fminimum_mag.c s_fminimum_magf.c s_fminimum_mag_num.c \ + s_fminimum_mag_numf.c s_fminimum_num.c s_fminimum_numf.c \ s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \ @@ -135,8 +137,10 @@ COMMON_SRCS+= b_tgammal.c catrigl.c \ s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cexpl.c \ s_clogl.c s_cosl.c s_cospil.c s_cprojl.c \ s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \ - s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c s_fmaximum_numl.c \ - s_fminl.c s_fminimuml.c s_fminimum_magl.c s_fminimum_numl.c \ + s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c \ + s_fmaximum_numl.c s_fmaximum_mag_numl.c \ + s_fminl.c s_fminimuml.c s_fminimum_magl.c \ + s_fminimum_numl.c s_fminimum_mag_numl.c \ s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \ s_scalbnl.c s_sinl.c s_sincosl.c s_sinpil.c s_rsqrtl.c \ @@ -182,7 +186,8 @@ MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ exp.3 fabs.3 fdim.3 \ feclearexcept.3 feenableexcept.3 fegetenv.3 \ fegetround.3 fenv.3 floor.3 fma.3 \ - fmax.3 fmaximum.3 fmaximum_mag.3 fmaximum_num.3 fmod.3 \ + fmax.3 fmaximum.3 fmaximum_mag.3 \ + fmaximum_mag_num.3 fmaximum_num.3 fmod.3 \ hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \ nextafter.3 remainder.3 rint.3 \ @@ -242,6 +247,9 @@ MLINKS+=fmaximum.3 fmaximumf.3 fmaximum.3 fmaximuml.3 \ MLINKS+=fmaximum_mag.3 fmaximum_magf.3 fmaximum_mag.3 fmaximum_magl.3 \ fmaximum_mag.3 fminimum_mag.3 fmaximum_mag.3 fminimum_magf.3 \ fmaximum_mag.3 fminimum_magl.3 +MLINKS+=fmaximum_mag_num.3 fmaximum_mag_numf.3 fmaximum_mag_num.3 fmaximum_mag_numl.3 \ + fmaximum_mag_num.3 fminimum_mag_num.3 fmaximum_mag_num.3 fminimum_mag_numf.3 \ + fmaximum_mag_num.3 fminimum_mag_numl.3 MLINKS+=fmaximum_num.3 fmaximum_numf.3 fmaximum_num.3 fmaximum_numl.3 \ fmaximum_num.3 fminimum_num.3 fmaximum_num.3 fminimum_numf.3 \ fmaximum_num.3 fminimum_numl.3 diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map index 245a72984f72..2484cc13013b 100644 --- a/lib/msun/Symbol.map +++ b/lib/msun/Symbol.map @@ -323,21 +323,27 @@ FBSD_1.9 { fmaximum; fmaximumf; fmaximuml; - fminimum; - fminimumf; - fminimuml; fmaximum_mag; fmaximum_magf; fmaximum_magl; - fminimum_mag; - fminimum_magf; - fminimum_magl; + fmaximum_mag_num; + fmaximum_mag_numf; + fmaximum_mag_numl; fmaximum_num; fmaximum_numf; fmaximum_numl; + fminimum; + fminimumf; + fminimuml; + fminimum_mag; + fminimum_magf; + fminimum_magl; fminimum_num; fminimum_numf; fminimum_numl; + fminimum_mag_num; + fminimum_mag_numf; + fminimum_mag_numl; rsqrt; rsqrtf; rsqrtl; diff --git a/lib/msun/man/fmaximum_mag.3 b/lib/msun/man/fmaximum_mag.3 index f5e4c39f96ef..004f9d51daa2 100644 --- a/lib/msun/man/fmaximum_mag.3 +++ b/lib/msun/man/fmaximum_mag.3 @@ -84,7 +84,7 @@ These routines do not raise any floating-point exceptions. .Sh SEE ALSO .Xr fmax 3 , .Xr fmaximum 3 , -.Xr fmaximum_num 3 , +.Xr fmaximum_mag_num 3 , .Xr math 3 .Sh STANDARDS The diff --git a/lib/msun/man/fmaximum_mag_num.3 b/lib/msun/man/fmaximum_mag_num.3 new file mode 100644 index 000000000000..525822bcde27 --- /dev/null +++ b/lib/msun/man/fmaximum_mag_num.3 @@ -0,0 +1,109 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.Dd April 3, 2026 +.Dt FMAXIMUM_MAG_NUM 3 +.Os +.Sh NAME +.Nm fmaximum_mag_num , +.Nm fmaximum_mag_numf , +.Nm fmaximum_mag_numl , +.Nm fminimum_mag_num , +.Nm fminimum_mag_numf , +.Nm fminimum_mag_numl +.Nd floating-point maximum and minimum magnitude number functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum_mag_num "double x" "double y" +.Ft float +.Fn fmaximum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fmaximum_mag_numl "long double x" "long double y" +.Ft double +.Fn fminimum_mag_num "double x" "double y" +.Ft float +.Fn fminimum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fminimum_mag_numl "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +and +.Fn fmaximum_mag_numl +functions determine the larger of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the larger absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fmaximum_num +function on the arguments. +.Pp +Likewise, the +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions determine the smaller of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the smaller absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fminimum_num +function on the arguments. +.Pp +If both arguments are \*(Nas, a quiet \*(Na is returned. +If either argument is a signaling \*(Na, an invalid exception is raised. +Otherwise, these routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fmax 3 , +.Xr fmaximum 3 , +.Xr fmaximum_mag 3 , +.Xr fmaximum_num 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +.Fn fmaximum_mag_numl , +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 ..\" diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 7a91ed13da9c..e5c2ccb786a4 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -523,18 +523,24 @@ long double tanpil(long double); double fmaximum(double, double); float fmaximumf(float, float); long double fmaximuml(long double, long double); -double fminimum(double, double); -float fminimumf(float, float); -long double fminimuml(long double, long double); double fmaximum_mag(double, double); float fmaximum_magf(float, float); long double fmaximum_magl(long double, long double); -double fminimum_mag(double, double); -float fminimum_magf(float, float); -long double fminimum_magl(long double, long double); +double fmaximum_mag_num(double, double); +float fmaximum_mag_numf(float, float); +long double fmaximum_mag_numl(long double, long double); double fmaximum_num(double, double); float fmaximum_numf(float, float); long double fmaximum_numl(long double, long double); +double fminimum(double, double); +float fminimumf(float, float); +long double fminimuml(long double, long double); +double fminimum_mag(double, double); +float fminimum_magf(float, float); +long double fminimum_magl(long double, long double); +double fminimum_mag_num(double, double); +float fminimum_mag_numf(float, float); +long double fminimum_mag_numl(long double, long double); double fminimum_num(double, double); float fminimum_numf(float, float); long double fminimum_numl(long double, long double); diff --git a/lib/msun/src/s_fmaximum_mag_num.c b/lib/msun/src/s_fmaximum_mag_num.c new file mode 100644 index 000000000000..fbb8ffbfc250 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_num.c @@ -0,0 +1,88 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUM +double +fmaximum_mag_num(double x, double y) +{ + return (__builtin_fmaximum_mag_num(x, y)); +} +#else +double +fmaximum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum_mag_num, fmaximum_mag_numl); +#endif diff --git a/lib/msun/src/s_fmaximum_mag_numf.c b/lib/msun/src/s_fmaximum_mag_numf.c new file mode 100644 index 000000000000..18232ed5aba8 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numf.c @@ -0,0 +1,84 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUMF +float +fmaximum_mag_numf(float x, float y) +{ + return (__builtin_fmaximum_mag_numf(x, y)); +} +#else +float +fmaximum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x); +} +#endif + diff --git a/lib/msun/src/s_fmaximum_mag_numl.c b/lib/msun/src/s_fmaximum_mag_numl.c new file mode 100644 index 000000000000..eceee8059b03 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numl.c @@ -0,0 +1,77 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +long double +fmaximum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x); +} diff --git a/lib/msun/src/s_fminimum_mag_num.c b/lib/msun/src/s_fminimum_mag_num.c new file mode 100644 index 000000000000..b5f62837f1b4 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_num.c @@ -0,0 +1,90 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUM +double +fminimum_mag_num(double x, double y) +{ + return (__builtin_fminimum_mag_num(x, y)); +} +#else +double +fminimum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fminimum_mag_num, fminimum_mag_numl); +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numf.c b/lib/msun/src/s_fminimum_mag_numf.c new file mode 100644 index 000000000000..b8cb31f2315a --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numf.c @@ -0,0 +1,85 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUMF +float +fminimum_mag_numf(float x, float y) +{ + return (__builtin_fminimum_mag_numf(x, y)); +} +#else +float +fminimum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].f); + + return (x); +} +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numl.c b/lib/msun/src/s_fminimum_mag_numl.c new file mode 100644 index 000000000000..1d001e84b618 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numl.c @@ -0,0 +1,79 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +long double +fminimum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[1].bits.sign ? y : x); + + return (x); +} + + diff --git a/lib/msun/tests/fmaximum_fminimum_test.c b/lib/msun/tests/fmaximum_fminimum_test.c index 4c8ec9a5b0e0..0d97c4be8d8c 100644 --- a/lib/msun/tests/fmaximum_fminimum_test.c +++ b/lib/msun/tests/fmaximum_fminimum_test.c @@ -27,7 +27,8 @@ /* * Tests for fmaximum{,f,l}(), fminimum{,f,l}(), fmaximum_mag{,f,l}, - * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l} + * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l}, + * fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} */ #include @@ -130,6 +131,30 @@ testall_num_r(long double big, long double small, int rmode) { TEST(fminimum_numl, long double, small, big, expected_min_num, rmode); } +static void +testall_mag_num_r(long double big, long double small, int rmode) { + long double expected_max_mag_num = isnan(big) ? small : big; + long double expected_min_mag_num = isnan(small) ? big : small; + + if (fabsl(small) > fabsl(big)) { + expected_max_mag_num = small; + expected_min_mag_num = big; + } + + TEST(fmaximum_mag_numf, float, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numf, float, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, small, big, expected_max_mag_num, rmode); + TEST(fminimum_mag_numf, float, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numf, float, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, small, big, expected_min_mag_num, rmode); +} + /* * Test all the functions: fmaximumf, fmaximum, fmaximuml, fminimumf, fminimum, fminimuml * in all rounding modes and with the arguments in different orders. @@ -148,6 +173,7 @@ testall(long double big, long double small) testall_r(big, small, rmodes[i]); testall_mag_r(big, small, rmodes[i]); testall_num_r(big, small, rmodes[i]); + testall_mag_num_r(big, small, rmodes[i]); } } From nobody Tue Jun 2 08:53:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gV4Nr58fGz6fK4x for ; Tue, 02 Jun 2026 08:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gV4Nr4Vqjz3xq6 for ; Tue, 02 Jun 2026 08:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780390396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK6+oYw484jOvBmxIj/LN7ceZviar4OzpuHBUcjDg0U=; b=vOTBUzTwmphvmrg7ehLrBrkpIajVac4ekRSONSNk6CQ0KGi+esehRbSkkz5c0kZxEetJQA vEc6mV1idUpnAGC+pvX0iSxB/dHHK9pvnE0VIoV8KCXX2HxG3PbspzhEf7A/qYTwV0YPUW lPovYQ0qBnVjDm5v1e+Awr+EkrRaw1RnTRDUjp3mBWCFEPFhY8gkAegFZiPyIgHgf/IRsr EzymNlr2SoKLAWnzx1E3blVgjswWGTjFT3a3FT4+kQIseusf/YRjqpLR5TE25i7dJu5hqk 3ORkEBI4kQ7bwUZP3YtYzeq2BtmTuLaGwod23YeZ8RSDayzuzVqrLRUyylP3Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780390396; a=rsa-sha256; cv=none; b=jY+cl4lzsw0TJH4kCSLQy04VxCCL3pVc7rrwbee/M49DYmQaLFOjpz6+l+bkS+miCbHyUR rOa/yL7kVzXH4F8NW/MvRwn0Kyn6NE8WCy0+Jru9INwtYHf1zOxFAsHG0pkIDRFujemcYW PGV6gGBCLFox6RFxEgDnlNCjo+7rtthcN0PLF/FGIOoxgTUGRQ78kvSesfVcMNsc0jccgn 3guawVM4iz24grWMzUcNYt1yTbf/GFX7ECMP8yksAovjv+P8CxNM1pjDSUdBLa9UHh8EPa BOxGv8WQH2JS24SnSXdZ3sqIhtRNTY0N36iaC8ermJNiusgqTLajwLLEGrAMgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780390396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK6+oYw484jOvBmxIj/LN7ceZviar4OzpuHBUcjDg0U=; b=ZXHhU38XO+zuBKjiRw1z6AmwUoZGXZO1m+AEHTKAwpU1PIBvJfr+rymZPv5I/aVpFqBk26 rPFQFQXxj1YDeDjJDHUzdqq4Jm33/J7FPla9CwXjZ8GioVg97bo/fouXbqYT32dHlDP4GV 9HKRXCRuDrDC8w37jT/g5xlz3b0Y/PSzbhwgiPuZSr5IZgiyQ7bTHc8QCDSpIJpGEKh5mG YH0nDbgTZEGU9TA7xP8Otl4UQvGkAQCDNRh9mSqS4k7RkdIPJ6nv6Ll4pTQ+b2EWyXEzN/ /uCJzhvXManWQchoPe4i1TkaBV08m+J66EZRgDUrbbkS0pPqJ2r1p4zH/My7Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gV4Nr43zQz2Kr for ; Tue, 02 Jun 2026 08:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35e6f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 08:53:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a13800ee46d7 - stable/15 - snd_hda: Patch Dell WYSE 7040 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a13800ee46d74d188c5d4dbf51997c8149dab0f6 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 08:53:16 +0000 Message-Id: <6a1e99fc.35e6f.6576a129@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a13800ee46d74d188c5d4dbf51997c8149dab0f6 commit a13800ee46d74d188c5d4dbf51997c8149dab0f6 Author: Christos Margiolis AuthorDate: 2026-05-25 11:40:05 +0000 Commit: Christos Margiolis CommitDate: 2026-06-02 08:53:11 +0000 snd_hda: Patch Dell WYSE 7040 https://forums.freebsd.org/threads/dell-wyse-7040-thin-client-intel-i5-6500te-built-in-sound-alc255-mini-how-to.102656/ Reported by: razif (on the forum) Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit c6cefcbbbb3fd5bbe9e0c36c8c553364d444e2d8) --- sys/dev/sound/pci/hda/hdaa_patches.c | 9 +++++++++ sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 10 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index d4267aae80f8..2f3a044195c4 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -328,6 +328,15 @@ hdac_pin_patch(struct hdaa_widget *w) patch_str = "as=1 seq=15"; break; } + } else if (id == HDA_CODEC_ALC255 && subid == DELL_WYSE7040_SUBVENDOR) { + switch (nid) { + case 20: + patch_str = "as=1 seq=0 device=Speaker"; + break; + case 33: + patch_str = "as=1 seq=15 device=Headphones"; + break; + } } else if (id == HDA_CODEC_ALC256 && (subid == DELL_I7577_SUBVENDOR || subid == DELL_L7480_SUBVENDOR)) { switch (nid) { diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index 04b925b31fd4..3a0e63d0d464 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -281,6 +281,7 @@ #define DELL_164AID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164a) #define DELL_164BID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164b) #define DELL_I7577_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0802) +#define DELL_WYSE7040_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0727) #define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) /* Clevo */ From nobody Tue Jun 2 16:42:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGns004Mz6ftR2 for ; Tue, 02 Jun 2026 16:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnr61k4z3n7c for ; Tue, 02 Jun 2026 16:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KLt8S083VoafzO4nYfDWf80i2DvyJi2Gxw5mQFZNEuw=; b=GtSg5ycxbDC3UASJb77N9+9mI5n+gkbNsMfYY7u/n9kraVUadNJuJ6YNG96kvoEqqojEwk 1h4ht++Y2tkdo1BBJjMhTNmWGLGftusrN4DIV1uN88845xb5kzpl0tOpDPI2nY1hsdnMH8 tsrSyrG5t9iiUEmdXURVb+xJCjumfX1SwrDf4Xx31RQnqh6tnqDUsD9DrYDVfwNzCP1fkY a8o1PbtDJwXo0Hos6Xp6RyMr7kPjG8F6hmyZgwypmXC7BTOwDpS0tiUIGD0omrV/lBygBR ytveXrrivHi0kHVZyuwhmsPlB7fyToZdyNIWvpNIfHk37h829wQo5jgagt56GQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418528; a=rsa-sha256; cv=none; b=n5nm3nq5WJd2h8QuynqyvX52HBZ4FOjV1trsu794g3Zmb2wIm5AkuPx2T9y/T5XSN1ThZ0 //Z+FFl44NyRtQIHXKManENu1fJeVqiDZH0ynQh0H1Cf+9xyokm/G7OuT2tZk1b3cttbjx dc+sZ4wqGje1P9M27hRk5LomI/XzORFYnaBluiT98fGDaHawjJARjm3rbnZ9SK5wVwwsb0 i2bCE+Fxw51JVbzz+YtFX8crqHpY7Rb5yM3x/0/FDKbjSqUA0qtNsPtJqlCGrwP4xR0PpI 4XJKOf0ll5DFWMJV+rHWBwHGCplki6675T4nMk4/ZMs3r2WG6umQURZi4lFNJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418528; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KLt8S083VoafzO4nYfDWf80i2DvyJi2Gxw5mQFZNEuw=; b=Fyh77nw4GCcCLrhWkUvYY+scTLNkitwnjExTPdHTq2L9yWQViy5mIrnMlr2vNmr5+iKg92 xFXItNhOdy8+EEsiwJ55yfl8zxNr8qj8N/Ql+DcglxgoXZp8dq5T/jFtvn7F28aPOXY5nt 00AgMhGSsFP1HwHeHREfCRkfIMxyXyQ+d+B4oZOBGnvtvfwx2sRMHwaO0YScvZKk7+r9Vv XZbuFDfEp2cQXGiXqTsYcFrCTxc5n4WFp64Hd1+Y+aTQdsi7rJwqHLfr1wODoXrasR+cj3 YO0TDNJ88uXn+fQkXHOFyds0glzFxG8W741GL2vFP6dn94a+G5c7oGl3sOW43g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnr5YskzZLC for ; Tue, 02 Jun 2026 16:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 467e9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e6470ed3d59b - stable/15 - libarchive: Force GNU iconv compatibility on FreeBSD List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e6470ed3d59b5c36262a9cdb76b71a7ad25d173b Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:08 +0000 Message-Id: <6a1f07e0.467e9.7b58d284@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6470ed3d59b5c36262a9cdb76b71a7ad25d173b commit e6470ed3d59b5c36262a9cdb76b71a7ad25d173b Author: Mark Johnston AuthorDate: 2026-05-20 16:39:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 libarchive: Force GNU iconv compatibility on FreeBSD When libarchive is compiled with FreeBSD's native iconv instead of libiconv, as happens with libarchive in the base system, we need to configure iconv(3) to handle invalid sequences by returning -1, as iconv_strncat_in_locale() assumes GNU iconv semantics. This corresponds to upstream PR 3056. PR: 294577 MFC after: 1 week (cherry picked from commit bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72) --- contrib/libarchive/libarchive/archive_string.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index c6ae8968d54f..4fb96a9fa178 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -1314,7 +1314,17 @@ create_sconv_object(const char *fc, const char *tc, else if (strcmp(fc, "CP932") == 0) sc->cd = iconv_open(tc, "SJIS"); } -#if defined(_WIN32) && !defined(__CYGWIN__) +#if defined(__FreeBSD__) && !defined(HAVE_LIBICONV) + /* + * FreeBSD's native iconv() by default returns the number of + * invalid characters in the input string, as specified by + * POSIX, but iconv_strncat_in_locale() assumes GNU iconv + * semantics. + */ + int v = 1; + + (void)iconvctl(sc->cd, ICONV_SET_ILSEQ_INVALID, &v); +#elif defined(_WIN32) && !defined(__CYGWIN__) /* * archive_mstring on Windows directly convert multi-bytes * into archive_wstring in order not to depend on locale From nobody Tue Jun 2 16:42:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnt2KHXz6ftR3 for ; Tue, 02 Jun 2026 16:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGns6qwPz3mgX for ; Tue, 02 Jun 2026 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+Elo9VAmfQvzlNsuITQ0jEt5BGM3DUzElY1QpJQz9is=; b=RXnXaLtws6/HPwyieTCvOxqoS/buMHmHzfWUvxlMed0WrSBdFn++V2I9cuPK33VuxkRRna w7sONI720Jj66HI67PmJROfKxQACkCIyGgVorCL7FQ6JhJTOB02RAJkuGePpIYwOu1NQcE jTKUT0hooVUdFdPllGeXGyWIc0jBoaqvevEr8MU/uCzET70CCWlLedFpyXOvwrYrDCkPPC fFCLKlvh8gQedeMYMMkEq/BPb73MJ99w4MmTdJfF1Kq6+kR+ZV+8HaPU7d3ruxH/P0iZ1V kXsMVx329sMOzdriA7Gqo9gWm5GNB8fPZ4x0pUY2TPhoUjbw+Cm828Df7HcBXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418530; a=rsa-sha256; cv=none; b=n2Yo5J20yN9M6KLImXJ3VbOHpAxUtCqSIFDRHPDaBkhYg4E+M2SixMHRF0VljYm6NjrdS2 Ocq8B7y8sJVTlLw7OgqqP4Ze8A1j4LwA5zOeXDVu5j7Ok0VPRIZabmWJlrElcluaeH6dLu xT7vh9R70W7Gu8lrNe0UCrJvZ3N9D3MhVFI0xkCLtgchOCQraCqw6atdwmR70T+KctpgId cvwUTyjoP0NuFLRQP41RWFVBvrOUV2fZvmZm0O2MfzjIWdD/c56+jjoyxKMEB0IQIdoVVY XItCRmZACAjqJ/eevJDIMSy00P5ursrNvFbmqB6qrtvI4WAcQr3TxEcjnBnGfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+Elo9VAmfQvzlNsuITQ0jEt5BGM3DUzElY1QpJQz9is=; b=NlFX8QmrOb2kcJUV72Zz5hYf4tR8nWkIRoTWFfp0swc3SEPFATEkEdZLVc4Kw3rhOGdvVs V529k8BT4wZ6pH7uoVc1jg3r9og/9BwCl7ELvPl1enLJIBDKCMPqTquFAXX7rf85RNcpG9 8eL0cxyLXeMzqCbHmbzP3dD8D/gQ2z/erjSlezXkM1nRg3uQuu8fT8pt+RfC5XSD/PDaZ0 BsnQp2nh5J3sAyNvE5PHG3eX60HSQjUJs0F6epd2y3pU3/qbrcLxXDwT/+bqamqexvGHEz xxtXstFSoDUW9ynpnGIAlbyO1bYF/033p4AKxkyOSEOtvbCLpZ0hjqysdV+4rQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGns6QhQzZLD for ; Tue, 02 Jun 2026 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45862 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 39381fc3a82f - stable/15 - cap_mkdb: Fix memory leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 39381fc3a82f6f3797cda43482a1d8a8b536459c Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:09 +0000 Message-Id: <6a1f07e1.45862.5040f84e@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=39381fc3a82f6f3797cda43482a1d8a8b536459c commit 39381fc3a82f6f3797cda43482a1d8a8b536459c Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 17:02:12 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 cap_mkdb: Fix memory leak This is not a big deal since it only iterates once before exiting, but that's no reason to set a bad example. PR: 195128 MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D57251 (cherry picked from commit 6880405bf97df03ffce227d34c2faa99b602a49d) --- usr.bin/cap_mkdb/cap_mkdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index 7ee6d2ddd2b3..019dad1ee72e 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -117,6 +117,7 @@ main(int argc, char *argv[]) if (capdbp->close(capdbp) < 0) err(1, "%s", capname); + free(capname); capname = NULL; exit(0); } @@ -151,7 +152,7 @@ db_build(char **ifiles) data.data = NULL; key.data = NULL; - for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0;) { + for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0; free(bp)) { /* * Allocate enough memory to store record, terminating From nobody Tue Jun 2 16:42:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnv2Rzyz6ft9x for ; Tue, 02 Jun 2026 16:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnv0GrWz3mpZ for ; Tue, 02 Jun 2026 16:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/85XTwec0wf8Y8ua3DyGND3u+b6SoaBywZJ9F5+pIc=; b=LJtBTnTqCfVQ2lvLSip42WI28HIn7HoqDpkWMrzi/J6fmUS8Jw8sIYlIGRrWZFcRPMQ+Kt 0j1FW/5q87PTGAHeFrlC88+pVbbJ7HMaZAIHPaEMGQsjdG6hIybH/jVCQKv0hrUpsHOtDa Gg1yV0f2MJ/tsI5lowk1MgLV3F+QL0kE8alyrLNKkgN05cowj1yRtS8zfFxHFe7iW/o/qL zuPhDmN2StSezk2iymzbW9AkGOXET6nRqh/QkuFEfwEnneLIeOJh+4Gyj6s10/IkxB7wvv FhfKXOmLczF4B30AJjotw/49v0WaUyXcZs36zgmUmZTBNyHPKZ9qALrpLxltCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418531; a=rsa-sha256; cv=none; b=xaagY/T4zYoC+RY51B7OrwGpBZgY2y0ZL3e4s55YDhpMk1SS02klUwGrXYZnuxqwAnTUmx ddCIDdubLyHeyNOSEzoNektfRaxyAUXpOTA87nUbv2RopjXzmtbuvw99DNiB2aLgcH2cpZ D2QLhVJwpOc5I86XBIlX3bcJ92e9DRvzcOKnwU9MoMqraAeBfPPUKApAz4NoKgXuBwjPE/ gP5P+i64XwATFfS8ClmdyrdHQZ8czzAIRu+vBYu3F6pvbQSy+859VbNTW0Tnxw/c+BQZVP 82YCSVlI6ezzxdIM9QzyPN92ZwdWdQI2vxd9Uo87cMclJCzxopri47S9zId0ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418531; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/85XTwec0wf8Y8ua3DyGND3u+b6SoaBywZJ9F5+pIc=; b=uH8q8Sl+dNG6K+FHoXems0+NL5YuE8GKMo9b3b3PcqtWX52gpr49GwS0Two7Jw2CHsGrbP z4so993migSPCQcLnyKZ0KYR+hKxvzdT+NB8MZHcqL7KybThQtXTLS+VJTrszCV6oGqjv5 4ZzPCK8iy/mUCfR/9kgaxz1AiQFyoH4OU7eQBjCCDFNv2pHGLKNciLHi3Z+mV4CppwHgmZ FibN9/cIa3ynGDakuhgAA2fGlqrFhYM94zFA5D7E+y8jB/4QhnuDagBYAoUHdIFWE3Er4d RexxMMrJXyKuyPS7BErbpkgOS4Gkwjj7WBdjvG4mfqWIKvspmEf8vRePygjWgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnt6vhTzZVB for ; Tue, 02 Jun 2026 16:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4691b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 7028772caaa8 - stable/15 - uart: Tidy the compat tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7028772caaa88ca00f4944c0460e2a1b1bd96a71 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:10 +0000 Message-Id: <6a1f07e2.4691b.3d16491c@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7028772caaa88ca00f4944c0460e2a1b1bd96a71 commit 7028772caaa88ca00f4944c0460e2a1b1bd96a71 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 20:14:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:37 +0000 uart: Tidy the compat tables No functional change intended. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D57269 (cherry picked from commit 40c846dc07943df7cdebf091de09d5680a3f3606) --- sys/dev/uart/uart_dev_ns8250.c | 44 +++++++++++++++++++++--------------------- sys/dev/uart/uart_dev_pl011.c | 30 ++++++++++++++-------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index c38d50e54ad8..6d8097db6581 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -493,40 +493,40 @@ UART_CLASS(uart_ns8250_class); */ #ifdef DEV_ACPI static struct acpi_spcr_compat_data acpi_spcr_compat_data[] = { - { &uart_ns8250_class, ACPI_DBG2_16550_COMPATIBLE }, - { &uart_ns8250_class, ACPI_DBG2_16550_SUBSET }, - { &uart_ns8250_class, ACPI_DBG2_16550_WITH_GAS }, + { &uart_ns8250_class, ACPI_DBG2_16550_COMPATIBLE }, + { &uart_ns8250_class, ACPI_DBG2_16550_SUBSET }, + { &uart_ns8250_class, ACPI_DBG2_16550_WITH_GAS }, { NULL, 0 }, }; UART_ACPI_SPCR_CLASS(acpi_spcr_compat_data); static struct acpi_uart_compat_data acpi_compat_data[] = { {"AMD0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, - {"AMDI0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, - {"APMC0D08", &uart_ns8250_class, 2, 4, 0, 0, "APM compatible UART"}, - {"MRVL0001", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, - {"SCX0006", &uart_ns8250_class, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, - {"HISI0031", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, - {"INTC1006", &uart_ns8250_class, 2, 0, 25000000, 0, "Intel ARM64 UART"}, - {"NXP0018", &uart_ns8250_class, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, - {"PNP0500", &uart_ns8250_class, 0, 0, 0, 0, "Standard PC COM port"}, - {"PNP0501", &uart_ns8250_class, 0, 0, 0, 0, "16550A-compatible COM port"}, - {"PNP0502", &uart_ns8250_class, 0, 0, 0, 0, "Multiport serial device (non-intelligent 16550)"}, - {"PNP0510", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, - {"PNP0511", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, - {"WACF004", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen"}, - {"WACF00E", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen 00e"}, - {"FUJ02E5", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet at FuS Lifebook T"}, - {NULL, NULL, 0 , 0, 0, 0, NULL}, + {"AMDI0020", &uart_ns8250_class, 2, 0, 48000000, UART_F_BUSY_DETECT, "AMD / Synopsys Designware UART"}, + {"APMC0D08", &uart_ns8250_class, 2, 4, 0, 0, "APM compatible UART"}, + {"MRVL0001", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "Marvell / Synopsys Designware UART"}, + {"SCX0006", &uart_ns8250_class, 2, 0, 62500000, UART_F_BUSY_DETECT, "SynQuacer / Synopsys Designware UART"}, + {"HISI0031", &uart_ns8250_class, 2, 0, 200000000, UART_F_BUSY_DETECT, "HiSilicon / Synopsys Designware UART"}, + {"INTC1006", &uart_ns8250_class, 2, 0, 25000000, 0, "Intel ARM64 UART"}, + {"NXP0018", &uart_ns8250_class, 0, 0, 350000000, UART_F_BUSY_DETECT, "NXP / Synopsys Designware UART"}, + {"PNP0500", &uart_ns8250_class, 0, 0, 0, 0, "Standard PC COM port"}, + {"PNP0501", &uart_ns8250_class, 0, 0, 0, 0, "16550A-compatible COM port"}, + {"PNP0502", &uart_ns8250_class, 0, 0, 0, 0, "Multiport serial device (non-intelligent 16550)"}, + {"PNP0510", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, + {"PNP0511", &uart_ns8250_class, 0, 0, 0, 0, "Generic IRDA-compatible device"}, + {"WACF004", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen"}, + {"WACF00E", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet PC Screen 00e"}, + {"FUJ02E5", &uart_ns8250_class, 0, 0, 0, 0, "Wacom Tablet at FuS Lifebook T"}, + {NULL, NULL, 0, 0, 0, 0, NULL}, }; UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); #endif #ifdef FDT static struct ofw_compat_data compat_data[] = { - {"ns16550", (uintptr_t)&uart_ns8250_class}, - {"ns16550a", (uintptr_t)&uart_ns8250_class}, - {NULL, (uintptr_t)NULL}, + {"ns16550", (uintptr_t)&uart_ns8250_class}, + {"ns16550a", (uintptr_t)&uart_ns8250_class}, + {NULL, (uintptr_t)NULL}, }; UART_FDT_CLASS_AND_DEVICE(compat_data); #endif diff --git a/sys/dev/uart/uart_dev_pl011.c b/sys/dev/uart/uart_dev_pl011.c index ae3c4d3218cf..f0d7bcda1fa4 100644 --- a/sys/dev/uart/uart_dev_pl011.c +++ b/sys/dev/uart/uart_dev_pl011.c @@ -382,32 +382,32 @@ static struct uart_class uart_pl011_class = { }; UART_CLASS(uart_pl011_class); -#ifdef FDT -static struct ofw_compat_data fdt_compat_data[] = { - {"arm,pl011", (uintptr_t)&uart_pl011_class}, - {NULL, (uintptr_t)NULL}, -}; -UART_FDT_CLASS_AND_DEVICE(fdt_compat_data); -#endif - #ifdef DEV_ACPI static struct acpi_spcr_compat_data acpi_spcr_compat_data[] = { - { &uart_pl011_class, ACPI_DBG2_ARM_PL011 }, - { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC }, - { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT }, + { &uart_pl011_class, ACPI_DBG2_ARM_PL011 }, + { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC }, + { &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT }, { NULL, 0 }, }; UART_ACPI_SPCR_CLASS(acpi_spcr_compat_data); static struct acpi_uart_compat_data acpi_compat_data[] = { - {"ARMH0011", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, - {NULL, NULL, 0, 0, 0, 0, NULL}, + {"ARMH0011", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {"ARMHB000", &uart_pl011_class, 2, 0, 0, 0, "uart pl011"}, + {NULL, NULL, 0, 0, 0, 0, NULL}, }; UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); #endif +#ifdef FDT +static struct ofw_compat_data fdt_compat_data[] = { + {"arm,pl011", (uintptr_t)&uart_pl011_class}, + {NULL, (uintptr_t)NULL}, +}; +UART_FDT_CLASS_AND_DEVICE(fdt_compat_data); +#endif + static int uart_pl011_bus_attach(struct uart_softc *sc) { From nobody Tue Jun 2 16:42:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnw2BpRz6ftR5 for ; Tue, 02 Jun 2026 16:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnw0kTLz3mt9 for ; Tue, 02 Jun 2026 16:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRfPczPt4ccAs83K2cth/eljmGxh5Qfe7+dXxYowVZk=; b=daKpdv1/ISiNYtK6nMJu289IJ2GvYskMjdSzAckGLXDTAUgPH2+0prY9ihcRLrRurj2Ywo UPWdy0tzyWAqLQGH2W8OB+NPmClU5VaS3vuRHCJIKSXGAkyPLsP0jDK9P5xfYyVrCT8U6d 7XQ7jkqCsLqGPojwlRW40XFu/1MqaJDHllofVvFrxVGMj59y1CQkBvVIzGykkTYdCVn7o7 cNdvhtyBSDlx0k5i9N5c4C6IDXCOX7m8G3QQFN78FbKWebYQg9D9zLq1qSL5y2S4nTEKDN XHbVccz0dLCepzDSaTXYbCYB48vrIHysNDsaSOTjOOQFKOnd9vsARp3Bs0oA5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418532; a=rsa-sha256; cv=none; b=FuVeFYyGoQWnk9L1CNHSnt4IWzR1FweJYB1osE0egNfT1TfodoAIsKGLZRSNgsDsvBIvPP jDYMyXgNAP3lGufVsx0jJDu4sofZFoz5bgG6BQXjesiqrRu0B6VJIcY4nY9zsYb6ytszi5 QFYxIB8ZjK+G3EQI7huxbTXA+LZ+cZ/vaMGbw+s2l/W4GVz0LXGXKLCC/druzLasJl//vJ IkZlKLOLE35eREP6R7htGiVwfE/nBUt+OHkET6xUg39GJCrwi+PKMqYwNeJsDjMIydbQJl 7GiB/ElWl0RxKj7U1HatbH4H2pOCmr345VZwSTCa9cuGzcmNiNkP8Acuw9WPlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRfPczPt4ccAs83K2cth/eljmGxh5Qfe7+dXxYowVZk=; b=up+VTlaX6TJkKZ/6j6FXovEAmq+ImU3AucEJaeHwdgV0bTw/Q130D97ySvPco0jGlgVXw6 VD2MOE0lfPEsGFM6Ytt5Usi2MDEj4t4z8LNmn2Qv6BNsaRzFA00gS3rx0qFn6N2nQ4kdZ+ zGZhZsP7FZn53ZRomg1qgvSa/+upvUTDdmbWggEzfGabIEZqrBMT57isOvVTGfcTJ1wB6w KjKZju/BLxPcEde27C9WtZHnsJi4DSyv7ol8NFs9QoYywQKRh2x5uFs6mHTFMg6HjNEm0h DxB6XJFoc8RQTZBtoyMsrmrNeO+NYRlGYMCMCoF/erqelBqdnZJdfRTwYCSLmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnw0GKnzYCf for ; Tue, 02 Jun 2026 16:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 459b3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 885a35c07b60 - stable/15 - tests: Fix reliability issues in POSIX ACL tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 885a35c07b60a3b8d1148756b52eac74403f5c5d Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:12 +0000 Message-Id: <6a1f07e4.459b3.e91136d@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=885a35c07b60a3b8d1148756b52eac74403f5c5d commit 885a35c07b60a3b8d1148756b52eac74403f5c5d Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:26:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 tests: Fix reliability issues in POSIX ACL tests The ACL tests use UIDs and GIDs 41 through 49 and expect them to be unassigned. Since GID 43 is now assigned to the audio group, some tests have begun to fail. While here, also fix a benign Perl syntax issue in the test runner. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57297 (cherry picked from commit 05039fda7ee12f3b857e55a461607b5af7b6c91f) --- tests/sys/acl/run | 2 +- tests/sys/acl/tools-posix.test | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/sys/acl/run b/tests/sys/acl/run index f8e9c8d87f71..42dbc7373f7f 100644 --- a/tests/sys/acl/run +++ b/tests/sys/acl/run @@ -105,7 +105,7 @@ if (isatty(fileno(STDOUT))) { } } print $status, "\n"; -exit $failed ? 1 : 0; +exit($failed ? 1 : 0); sub process_test($$$$) { diff --git a/tests/sys/acl/tools-posix.test b/tests/sys/acl/tools-posix.test index 2b2a27d24a0d..aa92911761a6 100644 --- a/tests/sys/acl/tools-posix.test +++ b/tests/sys/acl/tools-posix.test @@ -80,7 +80,7 @@ $ getfacl -qh lll > group::r-x > other::r-x -$ getfacl -q lll +$ getfacl -nq lll > user::rw- > user:42:r-- > group::r-- @@ -89,7 +89,7 @@ $ getfacl -q lll > other::r-- $ setfacl -hm u:44:x,g:45:w lll -$ getfacl -h lll +$ getfacl -hn lll > # file: lll > # owner: root > # group: wheel @@ -111,7 +111,7 @@ $ rm lll # Test removing entries. $ setfacl -x user:42: xxx -$ getfacl xxx +$ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel @@ -369,7 +369,7 @@ $ rm ddd/xxx $ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd $ setfacl -dm g:42:rwx,u:43:r ddd -$ getfacl -dq ddd +$ getfacl -dnq ddd > user::rwx > user:43:r-- > group::r-x @@ -378,7 +378,7 @@ $ getfacl -dq ddd > other::r-x $ touch ddd/xxx -$ getfacl -q ddd/xxx +$ getfacl -nq ddd/xxx > user::rw- > user:43:r-- > group::r-x # effective: r-- @@ -387,7 +387,7 @@ $ getfacl -q ddd/xxx > other::r-- $ mkdir ddd/ddd -$ getfacl -q ddd/ddd +$ getfacl -nq ddd/ddd > user::rwx > user:43:r-- > group::r-x @@ -405,7 +405,7 @@ $ ls -l fff | cut -d' ' -f1 > prw-r--r-- $ setfacl -m u:42:r,g:43:w fff -$ getfacl fff +$ getfacl -n fff > # file: fff > # owner: root > # group: wheel From nobody Tue Jun 2 16:42:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnx6JJCz6ftB0 for ; Tue, 02 Jun 2026 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGnx1Xsxz3mtG for ; Tue, 02 Jun 2026 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5o6q+7egCvkrRl/TCDl0uIYosNR+XVgwLYEanhFOZwo=; b=qrG7QjKWAFPRSPX7tgm9MiNd7SIewBHLHFM68WgsQJaRWCtiLSWKc8OyoGEIX1IApdArwE 8Xawmq6HSBsPYoJUv+Xg1jewHW0fO5H00szimEJZN98eEJ26/nVQhaxpCmXTpcrzb7cv6w V6M/423oDidHGw86TTOS8mr6WXs8uerg3aecAqdKUd4nh43/3KP+H16OO8wG6hxXpIzpFH TlAUPSxao2os3vpZrlfS58liA31HyzImMqHgM8/bxoZbIeL2DpX1+hu9X9d48ehhVr0Sqp 5GVsbcu6eBB0QRBuzMjkpK6vJT8ofgTZSCrTA0CbAZhP3SmRY5YkPeoqqFsdbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418533; a=rsa-sha256; cv=none; b=xDUX3m9YF6AMR2PHrah5697ADdGJTObYN9E+zUMHIp/ee6KONvQ246OyjWZgzVHZBKHOza ePuf31V8H906pjZAvYta7801rcRd/QaW0j0aqBTbwB+08syzYqIHCaSLoM9TTbAmMUhrE6 VP5mRbBIbnCHU3SU0d3rd+lkkhxRrW+2swEmh/w1XOQ1qWGNSL476+8/CbuXBPQAt8QvTF ZEgP0rZH7YriJ7JPY/ujGjYIPwUZqRkOPWWzyvRq5Lc6zfcwSJnDWKT4LTzOZWcdqxxcK2 Qls/wNeHESVPDeEtXJnyrXbm6sr5fLgHZk5GMYZHa7r33biqyWFkZWuPtbZWZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5o6q+7egCvkrRl/TCDl0uIYosNR+XVgwLYEanhFOZwo=; b=lXgJpb9/9p9Z0ySy9HclTe3iz6RcW3St3gb1YI7/Cs7u1IsnZM3mubh17GJjfguSSQoQMx zBfGBAU20GQ2/PcEcAxtfWQqeNkk3BsrDE0oJkZ3xHJWbL+Wea+HFXY6DUuyccZirJDbq4 if2RjCmTnLgoW1mRgGKqONr3/BnSefhKrul4VzMwU1gnwt6mXtQcBswEG/6mKEIhRHlcJg pdr7mn/eau1EoEW1npG6xqJPWswcxGLDcSMpR14wIK5OwcahHWxJ+l5qYD+MjBWIYuLIAP 3kmHYpL4ltG8L4NpiJUy0GC3rX31VUqfsfFSaJSXOzmVqg6Fix89xrZUBwifiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGnx0rjSzYr8 for ; Tue, 02 Jun 2026 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 467ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b243ead1edd8 - stable/15 - certctl: Style nits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:13 +0000 Message-Id: <6a1f07e5.467ee.6a88bd7b@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 commit b243ead1edd80fe1d5dddbf75d94a64a9f2b0902 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:28:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 certctl: Style nits MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57298 (cherry picked from commit 39f23af2ba4b845eb7f4ec7ae4079a67557eb63d) --- usr.sbin/certctl/certctl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/certctl/certctl.c b/usr.sbin/certctl/certctl.c index cf737565ca9e..98c12dbcaa3c 100644 --- a/usr.sbin/certctl/certctl.c +++ b/usr.sbin/certctl/certctl.c @@ -1093,6 +1093,7 @@ int main(int argc, char *argv[]) { const char *command; + unsigned int i; int opt; while ((opt = getopt(argc, argv, "BcD:d:g:lL:M:no:Uv")) != -1) @@ -1155,8 +1156,8 @@ main(int argc, char *argv[]) set_defaults(); - for (unsigned i = 0; commands[i].name != NULL; i++) + for (i = 0; commands[i].name != NULL; i++) if (strcmp(command, commands[i].name) == 0) - exit(!!commands[i].func(argc, argv)); + exit(commands[i].func(argc, argv) == 0 ? 0 : 1); usage(); } From nobody Tue Jun 2 16:42:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGny5lc0z6ft18 for ; Tue, 02 Jun 2026 16: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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGny3nbhz3nGq for ; Tue, 02 Jun 2026 16:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v27M5BX9LM3skNL/pSP7ItxzlphO1SDrExf87xT8m0w=; b=odohmjCShQzkniMgKpznoCxvlgDbvtEvP8sdV5oO5YhmE5eBGVfyktq5YPmNdhFVQb966E ALnldRg41HqsnqlQh2BhNLdENvGGObIPJ8cP3pQDgoWQoOMD0GbkE8Effxm3dzeS7TSR2l ApfaC+u0hCfIglNW3dG6AaMTO6j3Q4vzfhCg+U5St/8bZhtarxZ1KTWrr4FWHkSwoOpI+K 5sHqlz++tg420B1OOCQrv0+aDdFDk5++a/ufGiAOz+r/zCRl6LTG9+rkJqw1poqbO2582b MQ9T7mQgPFSxXS+7p0lcb8yncvqE/Ai8PAmwCPMdaBRxDQUbsNg300WLl6Jm2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418534; a=rsa-sha256; cv=none; b=p+ZYYSEowFIejSHH2RL6Pr4gIREBuEOrTXvBSqAUh8Ue53YP7l78MZlHHEKh+Q76SNJTC0 tETXLFbqMH4EB9fP3TgwpLjBC1aqpfFoeRTtVey6sQHH/E4651z1vHBaqm0qlF7vZ7kLGS U5ZTuaTkxZUP5C/CStrDPmDgNs+d9YJs0Fi/XaniaTVxEEcEmYiW/vCfZJMOSX9X5m9f7Q 6RwdJ+OD3pMWMF0LgvjTclp2+qNprP+QDdevqjd215i17AOIscgn/9jMzycsBWiVNxQMic 1E+K6Q/9pqxCi16IBMnRGqQXWa7r0Y878O3hnOUAlSM65m6cFohuws08WTQeSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v27M5BX9LM3skNL/pSP7ItxzlphO1SDrExf87xT8m0w=; b=ozmwn4MORGSueQPu4TgVzX4W9oDIOaoEtPnYEChrX+twv/4G724RWuPAk8M+OkeOpo8lb4 Jvw/ePSFkkWkVWdjRW2FW306y8LhqbsnsBMuS0Rtuqbyd1guHzE9UngY0mSC57sf9dBO+2 GvKISVX0Cd3NkSVsNs4sFtkF+1BnCfrEKQLw+8bHQJTjsMmst/g8IOmRDCSYAvJQz7g/ZJ c7WEFNH5k8mSLoqrdWFOUxhDS0Gv/WQ6x1y/fIpsKAYcTFAVEsx52G0LqgszMvmzyGlD0k BrotfAVWbeYqpcV7924PAa+H4TUXOlMgoOoSYjtgxQ6pEm+MSJ6goVNj+gh/PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGny1kLPzYxC for ; Tue, 02 Jun 2026 16:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 689206379f4c - stable/15 - ctld: More consistent error messages List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 689206379f4c419d6340a8dde402f63a236e111b Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:14 +0000 Message-Id: <6a1f07e6.451bf.63e937e1@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=689206379f4c419d6340a8dde402f63a236e111b commit 689206379f4c419d6340a8dde402f63a236e111b Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 17:22:43 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:41:38 +0000 ctld: More consistent error messages The error messages ctld emits when it finds a port or LUN it did not create were inconsistent with each other as well as with ctld's other error messages. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D57270 (cherry picked from commit 95fc64cc29fb4cddc7cad093cfa32587a623f560) --- usr.sbin/ctld/kernel.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/ctld/kernel.cc b/usr.sbin/ctld/kernel.cc index 6b17ce60ac69..f2bdf53bd3ee 100644 --- a/usr.sbin/ctld/kernel.cc +++ b/usr.sbin/ctld/kernel.cc @@ -446,8 +446,8 @@ add_iscsi_port(struct kports &kports, struct conf *conf, const struct cctl_port &port, std::string &name) { if (port.cfiscsi_target.empty()) { - log_debugx("CTL port %u \"%s\" wasn't managed by ctld; ", - port.port_id, name.c_str()); + log_debugx("CTL iSCSI port %u \"%s\" is not managed by ctld; " + "ignoring", port.port_id, name.c_str()); if (!kports.has_port(name)) { if (!kports.add_port(name, port.port_id)) { log_warnx("kports::add_port failed"); @@ -496,8 +496,8 @@ add_nvmf_port(struct conf *conf, const struct cctl_port &port, std::string &name) { if (port.nqn.empty() || port.ctld_transport_group_name.empty()) { - log_debugx("CTL port %u \"%s\" wasn't managed by ctld; ", - port.port_id, name.c_str()); + log_debugx("CTL NVMeoF port %u \"%s\" is not managed by ctld; " + "ignoring", port.port_id, name.c_str()); return; } @@ -563,7 +563,7 @@ conf_new_from_kernel(struct kports &kports) for (const auto &lun : devlist.lun_list) { if (lun.ctld_name.empty()) { - log_debugx("CTL lun %ju wasn't managed by ctld; " + log_debugx("CTL lun %ju is not managed by ctld; " "ignoring", (uintmax_t)lun.lun_id); continue; } From nobody Tue Jun 2 16:42:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp406pKz6ftH3 for ; Tue, 02 Jun 2026 16:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp32rf1z3nHm for ; Tue, 02 Jun 2026 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSQKYa0nrDWdJHyLs6Ruih62Eosy7JsfEENPDNqA9gY=; b=VaCtWoZVgzSUJkfVE7xKN9Z/cMLRTknJGAafWYG06DH9Q8i/XK+KWjxAvF7V1Xtc9jqi9m ttWwHC02fKH8ChcjB4T14RpGxnBYoeSgOYF1a6pyW8jRbDY09V9QWfmK6ATlb5ZYrVdbH4 cquEzGeUhAeHOXNLv0HeZvmfo5EtA7lOw18qv675D/WnVPM64wqxUNgnpMltt8t9IxNqWT uhbC2rzUZO4I6qanzh7D/xKbJLoepdevL7nXylz+rCv/KKOvU5jT/zZIY/Oo9hxQrlx1NL 9AwSWk1njUFe132eh32fh8eEpkINaGQIGxWabc98i4Fl0pn5WwHfqItrsycHGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418539; a=rsa-sha256; cv=none; b=jp9V3a+AtQzZDWrqgYJQuzf3L/oUe0XW3O8Uq6Ue5tA4dV0JrJo7ULjtSPTOQoBbBV+Q3k AQm7iqMbmk2H3tHi/ZAYnpAOqvryQ8EiEUA03heXINRiHMJR+mePT2TLOdHaHTHfX1BUJ6 z3xuIcOtbNoJhjsaigha+CJslbxp/6fF8NacskikdwPgpu1X9unCZJqnYv+p7sf7FPlgdA HBOWdOt0uJ4uJyP9yTfYe8JHtSdcdNyYchD46p2KSfbJmhUjLBw8j2l2eVe7x3nK8BStM9 NfX4DnHtpQLrPLgmae1bRtVdrFbqnmk+o/VhhpB6+rGQVPJNyyHGyxAISarlWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qSQKYa0nrDWdJHyLs6Ruih62Eosy7JsfEENPDNqA9gY=; b=LwDahO+/gNEaWXGA2Ves5Bb+Wr7ceE9gGGyKx19EeleZNK4BJayyAg8adOmFwbup+FyrEO bTi68OFzTAKIMWtcWz+dEFJLOj7as8E/jDMpwUBnGXNZWeL5Nejq6jxgxq0AsI0queTzRl 89u9rhf4iT8Y0XwcVJvfbXtCOI0k2APuXmAsJ7nbhv1YECBJOguV0pAhE+z6jfl5Kbbyej D4BS2oCixh6o+/yNPbHFPnmL5Mxv0yrlANbpAkW8Wa3WNPXg74Ix0E7tLRlFqkhuF/uYwo aRLHPIAzyysBfsXHEsF4d0fPpkykIDT5mOWiVfEa0/8g5Sk8WeuqCKiH9JjJZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp329dMzZVG for ; Tue, 02 Jun 2026 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 451c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 5fd06985f8f0 - stable/14 - libarchive: Force GNU iconv compatibility on FreeBSD List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5fd06985f8f0b8591866498dc59cdfa3d82c6e78 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:19 +0000 Message-Id: <6a1f07eb.451c3.5ac5b656@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5fd06985f8f0b8591866498dc59cdfa3d82c6e78 commit 5fd06985f8f0b8591866498dc59cdfa3d82c6e78 Author: Mark Johnston AuthorDate: 2026-05-20 16:39:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:02 +0000 libarchive: Force GNU iconv compatibility on FreeBSD When libarchive is compiled with FreeBSD's native iconv instead of libiconv, as happens with libarchive in the base system, we need to configure iconv(3) to handle invalid sequences by returning -1, as iconv_strncat_in_locale() assumes GNU iconv semantics. This corresponds to upstream PR 3056. PR: 294577 MFC after: 1 week (cherry picked from commit bd15d6ef126ee4c0eac931117f6bbbf6f9a3fc72) --- contrib/libarchive/libarchive/archive_string.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index c6ae8968d54f..4fb96a9fa178 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -1314,7 +1314,17 @@ create_sconv_object(const char *fc, const char *tc, else if (strcmp(fc, "CP932") == 0) sc->cd = iconv_open(tc, "SJIS"); } -#if defined(_WIN32) && !defined(__CYGWIN__) +#if defined(__FreeBSD__) && !defined(HAVE_LIBICONV) + /* + * FreeBSD's native iconv() by default returns the number of + * invalid characters in the input string, as specified by + * POSIX, but iconv_strncat_in_locale() assumes GNU iconv + * semantics. + */ + int v = 1; + + (void)iconvctl(sc->cd, ICONV_SET_ILSEQ_INVALID, &v); +#elif defined(_WIN32) && !defined(__CYGWIN__) /* * archive_mstring on Windows directly convert multi-bytes * into archive_wstring in order not to depend on locale From nobody Tue Jun 2 16:42:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp6068Lz6ft1L for ; Tue, 02 Jun 2026 16:42:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp54N89z3nJG for ; Tue, 02 Jun 2026 16:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iM9y7G2/S1zm0ya+uknExWc8H0k5Wzt2gHkv5fgqWL4=; b=t8MQQdEh3WjIgel7UIFhoRBex+4J322UUo7jAEmay2MtjhbYuR8LfsCLD1KQC611doWuqp 2p8mjU3lB0Tou548QUb4Rcd9WX2/Bb8oyFmcKEW+sh1jit8KV0Pmpb5qATDiQYUETf5/V7 0QP3soj1nCpXW5fBbI3CJoPi+8T0+jK5lcGpMXLI9femsjMLgQIY9dZ/y5vdFoOPAZA1fd iNWBdHhPrTQBja0+6VSyGJK7qn3wL6b/JBthS6kZWe3efsWlHROSPYoIsIdv973sKxBVGZ bhuxxfVPBmn35Kmmm0hzHEw/WXXWyB3Lv0ZhMwmmkQCPw2YcVXbKAfAnXCZq2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418541; a=rsa-sha256; cv=none; b=kS1b2XhNNXz3OZ/6lOxHaq47mFBlXZPY5wNZi1AgRsesQKMJNBPvy/jqHby4bzAFm3vyE+ 5EiWtjdXSO/XcfhPS1M/IePvKy1dVpFfVGKWaRYFjL6ufkO54if5l1djTS6TtDddIqmXDk 2+jsShzPDeyRt6u+fvLTxVZ8LsECx6nJ+hgaj16t8ot94qMnjIbOZtykU/WUWSYhJmWG4G J01canVKV9iwNl56aWVa/xJusHsZIEyNEdkjAIAfazHF601oAheJGa1JpNP8lmNHbE32YV /ReVBGH/IBEIqIoSZ39uhTEMfGpH97LHSF4X3vNxnEKGNVncm2GJg8NSYx4xSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iM9y7G2/S1zm0ya+uknExWc8H0k5Wzt2gHkv5fgqWL4=; b=Vb3Gp4+gThg5MSvPvx+ygI2ryu8ZsihYUIV5PuOPoGciBs84xL2EOQtTOvuB++hGQmglJW GyWZjd9XxsqlONtneXBpX09trzWh1HD3IgO74YJMSOrrESL/DP3WB/nWwa1artFo0+Rs4q 6XC+mrqC51lERBKzcyDNrjuD7UOlT/NEithDn+GPQhat45xoBuWuxJrGToSrrz7zF8a43h NzlPRLbCTn3WnjuZCbb3bj+wv/skAqFpCnRNJggBAh/cjCHH/amaJvq10gAU/iDFupQ2bh 3AJUfyp8bkJVxYHrUsnMweuQWfxOTPj/djvfKgUHN0DQTkeM8RyuGtdw7PXnBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp53wLqzZVJ for ; Tue, 02 Jun 2026 16:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46668 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 94cba369a3ba - stable/14 - tests: Fix reliability issues in POSIX ACL tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94cba369a3ba08de40e535db703db344d6a968ca Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:21 +0000 Message-Id: <6a1f07ed.46668.10bccf2b@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=94cba369a3ba08de40e535db703db344d6a968ca commit 94cba369a3ba08de40e535db703db344d6a968ca Author: Dag-Erling Smørgrav AuthorDate: 2026-05-28 12:26:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:03 +0000 tests: Fix reliability issues in POSIX ACL tests The ACL tests use UIDs and GIDs 41 through 49 and expect them to be unassigned. Since GID 43 is now assigned to the audio group, some tests have begun to fail. While here, also fix a benign Perl syntax issue in the test runner. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57297 (cherry picked from commit 05039fda7ee12f3b857e55a461607b5af7b6c91f) --- tests/sys/acl/run | 2 +- tests/sys/acl/tools-posix.test | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/sys/acl/run b/tests/sys/acl/run index f8e9c8d87f71..42dbc7373f7f 100644 --- a/tests/sys/acl/run +++ b/tests/sys/acl/run @@ -105,7 +105,7 @@ if (isatty(fileno(STDOUT))) { } } print $status, "\n"; -exit $failed ? 1 : 0; +exit($failed ? 1 : 0); sub process_test($$$$) { diff --git a/tests/sys/acl/tools-posix.test b/tests/sys/acl/tools-posix.test index 2b2a27d24a0d..aa92911761a6 100644 --- a/tests/sys/acl/tools-posix.test +++ b/tests/sys/acl/tools-posix.test @@ -80,7 +80,7 @@ $ getfacl -qh lll > group::r-x > other::r-x -$ getfacl -q lll +$ getfacl -nq lll > user::rw- > user:42:r-- > group::r-- @@ -89,7 +89,7 @@ $ getfacl -q lll > other::r-- $ setfacl -hm u:44:x,g:45:w lll -$ getfacl -h lll +$ getfacl -hn lll > # file: lll > # owner: root > # group: wheel @@ -111,7 +111,7 @@ $ rm lll # Test removing entries. $ setfacl -x user:42: xxx -$ getfacl xxx +$ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel @@ -369,7 +369,7 @@ $ rm ddd/xxx $ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd $ setfacl -dm g:42:rwx,u:43:r ddd -$ getfacl -dq ddd +$ getfacl -dnq ddd > user::rwx > user:43:r-- > group::r-x @@ -378,7 +378,7 @@ $ getfacl -dq ddd > other::r-x $ touch ddd/xxx -$ getfacl -q ddd/xxx +$ getfacl -nq ddd/xxx > user::rw- > user:43:r-- > group::r-x # effective: r-- @@ -387,7 +387,7 @@ $ getfacl -q ddd/xxx > other::r-- $ mkdir ddd/ddd -$ getfacl -q ddd/ddd +$ getfacl -nq ddd/ddd > user::rwx > user:43:r-- > group::r-x @@ -405,7 +405,7 @@ $ ls -l fff | cut -d' ' -f1 > prw-r--r-- $ setfacl -m u:42:r,g:43:w fff -$ getfacl fff +$ getfacl -n fff > # file: fff > # owner: root > # group: wheel From nobody Tue Jun 2 16:42:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp54V4zz6ftZy for ; Tue, 02 Jun 2026 16:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVGp43zmKz3nJ8 for ; Tue, 02 Jun 2026 16:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfxu90CHrgy+rldNQVk9vw6j8aMzEB2iIbBv5pwYZ5w=; b=dKAd3LhrFc5zHemFm4yeGJDYc0hIC9t8XnBwWRA42aq4bXtZvpEm3zqg04ZAVPfumbaGqF otff3aQAtOjjfeQcMjM3hbNR+6z4yk1ktuLLUu05vmenkiJRx42qBNa4mXb2HujZ0jgmSU dO7g1Fef37c/48lQ2XqrR9E6fNzJRHcEux+ioerYWJzS1QqfCOPsHP0zhz0A+89MDN0HJi Z8rgbo49+DoPPrcD4jMDE1qsn8DUuzpmwgH8rFboJAgASmt+O+oJqzQx5zUL6J89LwAr7f B2g5FGMSv60SaxwEZewh/NbkNNgGwkmoD9TZUg2HESxKUdhIsuSJnpl5CxGKCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780418540; a=rsa-sha256; cv=none; b=pMMGqhv+YbaSYVdHL+QxQBsczhor12Qa5ymuHjLmQZaxL4UihqXvf4o1cyvO+T8JCkRZo5 JGsnUXYxy3gFGdGDvteHiHCMXs/6RwEaGUtjGN9X+my3qEjFktkczlqoUxKoPtClWVURYm cMz+aBfD5Rfz6ZdquWeLFagVEm9GP6sfViMEXgBKCo0bdrGx8TMG6FmbL3oeEat94YBAg3 r0FBEdJpoSZq2EYX1hKUwg7ml+1xGSIFzgOawTcHzCqGqT6RBo6g1k1+zfdqwv4jxDSiJW WTlxt01IJr2UK5kANevZ0ENIUfzayBaHvC+1S7+lkni3Pbtoj6J9RJ5q7ZVAkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780418540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfxu90CHrgy+rldNQVk9vw6j8aMzEB2iIbBv5pwYZ5w=; b=kHajGEGZoDDEYqDosnMwHDLjUUlX2yTHlzfpVaHtIdcpXMbxUliIwO4yL1Ou8L2Xpys4YA QjE5jsK/c6LzZuDD2Mzawc5GlXd0loTieT2iAhKk0TTUKBmRUuKWiTaS22ncVp5h2q3wsU 7n35yjxqMnYeEH0Att3qQOLU2lduuqRy0ykPJeEpXfhQkwTRcr+Jgv7cYXbVx6xjzt1hnZ 09wNFeoqTFAoZmQhbdwVSMnYh1NUNuX9e4Cz5wG3mqkBfrLjX9IaTPm8XORx/2qnafbWih FITWoN7m3SU8MzZNri7cdvC/s5qeOaswdp/xdcA0OpRwkOfTyC025IqYjXDzdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVGp430crzYrD for ; Tue, 02 Jun 2026 16:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 456ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 02 Jun 2026 16:42:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 2ca3e4673a6d - stable/14 - cap_mkdb: Fix memory leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 Auto-Submitted: auto-generated Date: Tue, 02 Jun 2026 16:42:20 +0000 Message-Id: <6a1f07ec.456ec.1a969a59@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 commit 2ca3e4673a6db1ec47cca34c96c3c5384e2cde55 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 17:02:12 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-02 16:42:03 +0000 cap_mkdb: Fix memory leak This is not a big deal since it only iterates once before exiting, but that's no reason to set a bad example. PR: 195128 MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D57251 (cherry picked from commit 6880405bf97df03ffce227d34c2faa99b602a49d) --- usr.bin/cap_mkdb/cap_mkdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c index ff85c14b9b33..a6c958809e7a 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.c +++ b/usr.bin/cap_mkdb/cap_mkdb.c @@ -130,6 +130,7 @@ main(int argc, char *argv[]) if (capdbp->close(capdbp) < 0) err(1, "%s", capname); + free(capname); capname = NULL; exit(0); } @@ -164,7 +165,7 @@ db_build(char **ifiles) data.data = NULL; key.data = NULL; - for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0;) { + for (reccnt = 0, bplen = 0; (st = cgetnext(&bp, ifiles)) > 0; free(bp)) { /* * Allocate enough memory to store record, terminating From nobody Wed Jun 3 08:23:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggk1g6qz6gJfj for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggk0fjLz3gN1 for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=VvdOZbGXJlO1743dYD99i5UxVN7SvhZxPYX1Qu2/0EE9CHfsm6pw7/qMZe/i3gqTnIvRP0 aPxZhzcEkiGN3aE/eKH9LUXkWH4lxwWkR7O3nLcGjFzbYYvZ5VxriE06GkKTFOk5EsYATp v7jeBErz70gfVZ64fFgSF2Lu1kzYIDuVdMztQANq0Geg8y7I0UPlAqAoG4FDqJ/gsPco4S 96raVv4I2Hew/gmTGkTFVk4sCsQt/T91HnXsacMsPkjeDby5KwCn2aqIQTb6gKIZqRxjCP DdC/S15iLzsktapEASxZsfgEsSZJUTJUbQ6DQjAs5lEIYBPfwygpaNOiaO/LbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474994; a=rsa-sha256; cv=none; b=qEAx8YYkSgVHrQ/B1GdSJsy2h3jyINc0KQDrJLeQAHu1Bm5qzepXHDcbuWKrP2UCNNeEmi EgpJwrgkO3VbpdYnwPVsq3aLSZ7sCfzgw7c6UabTukjfIRahL6aTaCY8/2VlG1hVSLTfXV 0KhaBMeH7dB2EpIsUe8mHhPOx4Ugf00C6DTAwj0PkxY6NUMDqhI6HNKbqUENZve9T8XP3S JdkpZiIh8s40qvdf31Jimc873QjZfnwFuM8rG3adseRPqvioxZWi+lSPtj2e0Z8dMf68is x3Tj7pwxGC2JMy5KUK5sWl+08xARThFyWXrx+PA5mUgl9wNa7dPHlAwtwBccCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pBlo6J7v1hwywmMpnaNuUrB8sAL9HYlfpPtDi/qblrc=; b=Xaeiap3JBYXuk/oTr4l9spzvZFg3YcKaSGvPWgVYZYPVFjQlqmm1v2O2g4fs3o8XY9WZm4 YzVDTI3TkSwft/CkfuY545Qi9OyoCp7b4cehb8v2uJjNlBAx8gUB1P7XULzo+CN+arBw5e 0CqijCtHx0Bj0PPvMiLRB+Jmi/dsmUMUKlIOXTXgV3eJW2EVnJpqE5H2zY3IsU11fM8grR aKoeloTLxvd41zBAvZGQVmQ2dYTtTaqgw+BbwCkCRHCegxFdeiytj7Ke+nYJmXZufXmAJt MjMzsMmEnOFsQTMsOuvEOnRBgfRaJuhzmlsoqyLeNCvm/03/jEw3KxmMNvQNpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggk0BCKz13rS for ; Wed, 03 Jun 2026 08:23:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b2ab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 8511a14eb0cf - stable/15 - sound: Retire FEEDEQ_BYPASS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:14 +0000 Message-Id: <6a1fe472.3b2ab.41c7ec3d@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=8511a14eb0cf3bc78fe8436f14bd01f760f923ec commit 8511a14eb0cf3bc78fe8436f14bd01f760f923ec Author: Christos Margiolis AuthorDate: 2026-04-17 14:45:40 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:22 +0000 sound: Retire FEEDEQ_BYPASS In effect, this is the same as the disable state. There is a comment that says the bypass state skips EQ altogether, which is what the disable should be. The disable state according to the comment disables EQ but keeps the EQ preamp (dev.pcm.%d.eq_preamp), however after testing it seems that the preamp does not really take effect, because with EQ disabled, feeder_eq is non existent, so we never execute any EQ code in the first place. Make things simpler and clearer and have 2 states; enable and disable, and do what they should do intuitively. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 54a03b44ae386e26d29df6eece3fadb5c0d1105a) --- sys/dev/sound/pcm/channel.c | 4 +--- sys/dev/sound/pcm/feeder.h | 1 - sys/dev/sound/pcm/feeder_eq.c | 26 +++++++------------------- sys/dev/sound/pcm/sound.h | 4 ++-- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index c1e0d8d3bc52..be6d7f82f502 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2209,9 +2209,7 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_BYPASSED) - state = FEEDEQ_BYPASS; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) state = FEEDEQ_ENABLE; else state = FEEDEQ_DISABLE; diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index e1e91d468455..7d14022c6849 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -122,7 +122,6 @@ enum { FEEDEQ_STATE, FEEDEQ_DISABLE, FEEDEQ_ENABLE, - FEEDEQ_BYPASS, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 4cf9d4f6695f..8f3acbf4e156 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -334,8 +334,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_BYPASS || value == FEEDEQ_ENABLE || - value == FEEDEQ_DISABLE)) + if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -370,13 +369,7 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, info = f->data; - /* - * 3 major states: - * FEEDEQ_BYPASS - Bypass entirely, nothing happened. - * FEEDEQ_ENABLE - Preamp+biquad filtering. - * FEEDEQ_DISABLE - Preamp only. - */ - if (info->state == FEEDEQ_BYPASS) + if (info->state == FEEDEQ_DISABLE) return (FEEDER_FEED(f->source, c, b, count, source)); dst = b; @@ -482,9 +475,7 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); PCM_WAIT(d); - if (d->flags & SD_F_EQ_BYPASSED) - val = 2; - else if (d->flags & SD_F_EQ_ENABLED) + if (d->flags & SD_F_EQ_ENABLED) val = 1; else val = 0; @@ -495,18 +486,15 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) err = sysctl_handle_int(oidp, &val, 0, req); if (err == 0 && req->newptr != NULL && val != oval) { - if (!(val == 0 || val == 1 || val == 2)) { + if (!(val == 0 || val == 1)) { PCM_RELEASE_QUICK(d); return (EINVAL); } PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED | SD_F_EQ_BYPASSED); - if (val == 2) { - val = FEEDEQ_BYPASS; - d->flags |= SD_F_EQ_BYPASSED; - } else if (val == 1) { + d->flags &= ~(SD_F_EQ_ENABLED); + if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else @@ -612,7 +600,7 @@ feeder_eq_initsys(device_t dev) SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "eq", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, sizeof(d), sysctl_dev_pcm_eq, "I", - "Bass/Treble Equalizer (0=disable, 1=enable, 2=bypass)"); + "Bass/Treble Equalizer (0=disable, 1=enable)"); (void)snprintf(buf, sizeof(buf), "Bass/Treble Equalizer Preamp " "(-/+ %d.0dB , %d.%ddB step)", diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 7f89c1d14df1..06de95e461ec 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -104,7 +104,7 @@ struct snd_mixer; #define SD_F_VPC 0x00000080 /* volume-per-channel */ /* unused 0x00000100 */ #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ -#define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ +/* unused 0x00000400 */ #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ @@ -120,7 +120,7 @@ struct snd_mixer; "\010VPC" \ /* "\011 */ \ "\012EQ_ENABLED" \ - "\013EQ_BYPASSED" \ + /* "\013 */ \ "\014EQ_PC" \ "\015PVCHANS" \ "\016RVCHANS" From nobody Wed Jun 3 08:23:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggj0VTqz6gJwv for ; Wed, 03 Jun 2026 08:23:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggh6v1pz3gBr for ; Wed, 03 Jun 2026 08:23:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqkwgqBLAlKwJPtIuaSG+5hrfyJbnoWYACelEAai2T0=; b=t3xFlOHWctVENx6gStH93tPBcwp4YFWnJkXbFeVZQlDlIkNs1CCF1heqgB/OsZcJKDCjJc s7puFL1ZCYZYvit3g2iQbCzKYpE0lEKDX2h3BGquQ6ZG2B2bsusSdrEoZoIHVtMONyP+8D Gw3ADhl3eErxBop+CpVIYWw051D8ismrtQGCVBOmL2s8k1SiGGoR2rbLPuNPIjdOxoRr2F IhHtNBDXbSNYGqns4CseJRucn65qy9CgVDmzgYbQQdegCmMsCBcyKCWwEAOjMSs7OTevti zl/AI81R3E/ljKkkmdXDEnfcWfuxLoQg75BL3msxG0h+TuDXurUVtx9mbOjrqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474993; a=rsa-sha256; cv=none; b=hUish661PDb9u7tmAZ7Tm4zjjx9t+n+W8JB+cIFBnYdn5NE1LJ2rJFjb6wyOG5qRupHOdS OaAhayHKe7MPfRT3EoEQZmuKuJyBxnef00exNOB2BgMay2tyuHsuD6Q92Z1msHPPIAX36F 0qigwUv26rim1r65yuqlcSFlTWm7WzaCt3LmVTmtOA1us+nabn1XRt+iJLSz6kuS6lMv7S 2H7h8jupBbHdXoFilecoKdlGOVxm/QiX+eW8dYtyk5ea+HqMaDr9MV5UJLQA6QDH0dq0pi wqlHFiV7z5wDNhChE+FapuSuAioObItjSkbyuav11ytodrwFWT4D9JE0BMB75A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqkwgqBLAlKwJPtIuaSG+5hrfyJbnoWYACelEAai2T0=; b=rMjseN00T9WhWiGOe1K4q2rjPnz6O+287i7Q3ByFT7/R996+pubNDGee/f1ntjX9vTsn5w 7fmSV/OXET2u0dmIBNLV4HWsC6NLKLBdN/C7XXJ7Fltkx+q5P2xlHefpdlw38KxrzaJcYE MO5tufMw/5CF7ZqpMo0duiL1SRJwDM//mi3gGiZSoUVueMn2N7+pbJ1o9MEHaHnCFANbUv fNrqIeS4GEF0Y2/3ASwQIaRX4FPGgHPwhxpyecD/zFFzPxi/08XPtKE8kWC7ZIPynjoWD9 UPtM9dj5E9zJESr/NGoWKW06lXaNfZ2U2EfTUulltqgzWoA+Lk+PbUaQ0xSw9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggh6VX2z13Ht for ; Wed, 03 Jun 2026 08:23:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39164 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 91a6647a7d48 - stable/15 - sound: Expose EQ by default List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 91a6647a7d48fd8a3a13d3307ec78446481421c3 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:12 +0000 Message-Id: <6a1fe470.39164.18f43be6@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=91a6647a7d48fd8a3a13d3307ec78446481421c3 commit 91a6647a7d48fd8a3a13d3307ec78446481421c3 Author: Christos Margiolis AuthorDate: 2026-04-16 14:26:25 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:22 +0000 sound: Expose EQ by default The dev.pcm.%d.eq* sysctls and mixer "bass" and "treble" controls are exposed only if hint.pcm.%d.eq is set. However, there is no good reason why we shouldn't at least expose the controls, and let the user enable/disable/bypass equalization through the sysctl. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit a0011c74f8f026e04803b9815198a56f50c247e6) --- share/man/man4/pcm.4 | 9 --------- sys/dev/sound/pcm/feeder_chain.c | 2 +- sys/dev/sound/pcm/mixer.c | 17 +++-------------- sys/dev/sound/pcm/sound.c | 3 +-- sys/dev/sound/pcm/sound.h | 8 ++------ 5 files changed, 7 insertions(+), 32 deletions(-) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 8a92cefa3549..1efebffcc424 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -197,9 +197,6 @@ The Parametric Software Equalizer (EQ) enables the use of controls (bass and treble). Commonly used for ear-candy or frequency compensation due to the vast difference in hardware quality. -EQ is disabled by default, but can be enabled with the -.Va hint.pcm.%d.eq -tunable. .Ss VCHANs Each device can optionally support more playback and recording channels than physical hardware provides by using @@ -230,12 +227,6 @@ driver. The following tunables can not be changed during runtime using .Xr sysctl 8 . .Bl -tag -width indent -.It Va hint.pcm.%d.eq -Set to 1 or 0 to explicitly enable (1) or disable (0) the equalizer. -Requires a driver reload if changed. -Enabling this will make bass and treble controls appear in mixer applications. -This tunable is undefined by default. -Equalizing is disabled by default. .It Va hint.pcm.%d.vpc Set to 1 or 0 to explicitly enable (1) or disable (0) the VPC feature. This tunable is undefined by default. diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c index 4fc846f77496..35bb12a062ec 100644 --- a/sys/dev/sound/pcm/feeder_chain.c +++ b/sys/dev/sound/pcm/feeder_chain.c @@ -725,7 +725,7 @@ feeder_chain(struct pcm_channel *c) /* Soft EQ only applicable for PLAY. */ if (cdesc.dummy == 0 && - c->direction == PCMDIR_PLAY && (d->flags & SD_F_EQ) && + c->direction == PCMDIR_PLAY && (d->flags & SD_F_EQ_ENABLED) && (((d->flags & SD_F_EQ_PC) && !(c->flags & CHN_F_HAS_VCHAN)) || (!(d->flags & SD_F_EQ_PC) && !(c->flags & CHN_F_VIRTUAL)))) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 6ed2d0c3ce5c..8015c8fc0c32 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -304,7 +304,7 @@ mixer_set(struct snd_mixer *m, u_int dev, u_int32_t muted, u_int lev) if (dev == SOUND_MIXER_PCM && (d->flags & SD_F_SOFTPCMVOL)) (void)mixer_set_softpcmvol(m, d, l, r); else if ((dev == SOUND_MIXER_TREBLE || - dev == SOUND_MIXER_BASS) && (d->flags & SD_F_EQ)) + dev == SOUND_MIXER_BASS) && (d->flags & SD_F_EQ_ENABLED)) (void)mixer_set_eq(m, d, dev, (l + r) >> 1); else if (realdev != SOUND_MIXER_NONE && MIXER_SET(m, realdev, l, r) < 0) { @@ -484,8 +484,7 @@ mix_setdevs(struct snd_mixer *m, u_int32_t v) d = device_get_softc(m->dev); if (d != NULL && (d->flags & SD_F_SOFTPCMVOL)) v |= SOUND_MASK_PCM; - if (d != NULL && (d->flags & SD_F_EQ)) - v |= SOUND_MASK_TREBLE | SOUND_MASK_BASS; + v |= SOUND_MASK_TREBLE | SOUND_MASK_BASS; for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { if (m->parent[i] < SOUND_MIXER_NRDEVICES) v |= 1 << m->parent[i]; @@ -706,15 +705,6 @@ mixer_init(device_t dev, kobj_class_t cls, void *devinfo) name = device_get_name(dev); unit = device_get_unit(dev); - if (resource_int_value(name, unit, "eq", &val) == 0 && - val != 0) { - snddev->flags |= SD_F_EQ; - if ((val & SD_F_EQ_MASK) == val) - snddev->flags |= val; - else - snddev->flags |= SD_F_EQ_DEFAULT; - snddev->eqpreamp = 0; - } m = mixer_obj_create(dev, cls, devinfo, MIXER_TYPE_PRIMARY, NULL); if (m == NULL) @@ -762,8 +752,7 @@ mixer_init(device_t dev, kobj_class_t cls, void *devinfo) } if (snddev->flags & SD_F_SOFTPCMVOL) device_printf(dev, "Soft PCM mixer ENABLED\n"); - if (snddev->flags & SD_F_EQ) - device_printf(dev, "EQ Treble/Bass ENABLED\n"); + device_printf(dev, "EQ Treble/Bass ENABLED\n"); } return (0); diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 9eb2dffeb908..d98952d7a984 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -415,8 +415,7 @@ pcm_register(device_t dev, char *str) "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than " "one mode is supported)"); vchan_initsys(dev); - if (d->flags & SD_F_EQ) - feeder_eq_initsys(dev); + feeder_eq_initsys(dev); if (snd_unit_auto < 0) snd_unit_auto = (snd_unit < 0) ? 1 : 0; diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 40deee32ea5b..7f89c1d14df1 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -102,17 +102,13 @@ struct snd_mixer; #define SD_F_REGISTERED 0x00000020 #define SD_F_BITPERFECT 0x00000040 #define SD_F_VPC 0x00000080 /* volume-per-channel */ -#define SD_F_EQ 0x00000100 /* EQ */ +/* unused 0x00000100 */ #define SD_F_EQ_ENABLED 0x00000200 /* EQ enabled */ #define SD_F_EQ_BYPASSED 0x00000400 /* EQ bypassed */ #define SD_F_EQ_PC 0x00000800 /* EQ per-channel */ #define SD_F_PVCHANS 0x00001000 /* Playback vchans enabled */ #define SD_F_RVCHANS 0x00002000 /* Recording vchans enabled */ -#define SD_F_EQ_DEFAULT (SD_F_EQ | SD_F_EQ_ENABLED) -#define SD_F_EQ_MASK (SD_F_EQ | SD_F_EQ_ENABLED | \ - SD_F_EQ_BYPASSED | SD_F_EQ_PC) - #define SD_F_BITS "\020" \ "\001SIMPLEX" \ /* "\002 */ \ @@ -122,7 +118,7 @@ struct snd_mixer; "\006REGISTERED" \ "\007BITPERFECT" \ "\010VPC" \ - "\011EQ" \ + /* "\011 */ \ "\012EQ_ENABLED" \ "\013EQ_BYPASSED" \ "\014EQ_PC" \ From nobody Wed Jun 3 08:23:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggl2Fblz6gJfm for ; Wed, 03 Jun 2026 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggl1Lfgz3fyH for ; Wed, 03 Jun 2026 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvx2rFSCbgBnUovgAWOL+NYZ2esX85ijEZ2PZChZqvM=; b=RwbN0orhDt6VDA1ErFHUuVOi+dx5oNfUuBYX3jWetU9Arr84c/pNEO15cOWSMuPImxeUGe M4tJ8GtW0mkqnqVbAry9nPV8V4xhwN/NYxkFSHSxLnYwQzyiNXnctlUU2Phvr/9frjUsF0 +BlL9N8cb5ArK7v8tPoDBylHS2sIOe8k1VOmr0SClJzT6kRtgzYdylgiD43c9DUMnnPxRs lBVdYLNnUJHhkeoqoEBYXakkE4xb3NlAHRh69abrvLyoimGsrzuCsrErQFP/tgursngWbv F5yMZu4ejp23vAuWNB7k0s1E/EYNiVyVau3SeRG1pVbIwCskgXhAL7L5koyB6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474995; a=rsa-sha256; cv=none; b=iF+/alDBXwm7gp3hHdoO/NBFz5dRkAY9LmElhJ5nBMQP3uIlb3TF3OIYEs6Dh4Mk9ArkcA Cp93Etm2YXCOCZUqgYkEkfNNCCJL+NbiESqIagTx7W/56FwrkX5KgC3aJXzE24kBtWJi0L Zw24DzvNTlHVqP8ZlVjuX08QerTp7+9rgaG3lTI5Z1fNXXL0yQzMduJluxmNTzUJpne5YB HUZs6etCK/UVqj5xPIYqljjHSmsMubkjC+BRE9rSofcoB65TainHtGzPgyOlqctMkYteA+ vtlN/ykf3JEbCQFtGdE7uXueS0wn+JKRyxJFTtlIKwCt1347Fn3Wql9fzNkKrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vvx2rFSCbgBnUovgAWOL+NYZ2esX85ijEZ2PZChZqvM=; b=dbk72qqDAdgTvLzhTBNZ7yKRbZ9Rh3LQ/H5pbNF7vXdFf5a9BiHYbaVo58vjQ8toOSplww VCjtlNuN5gvLwcr+szAWxvH9UNrekQ6LRoo/PwFsvZnY2kYr0mk3pWoZy6ua9vqxbCUdjm cm2YGp2YCz09Cc1t06cgkWzLsRAmV4rhi/4YpjgE9XlywXOtHwFNVNx818p/LhM8HxjeSy aV2ssy7/6A/mHPzJM39cidckcXdFpm194Ix0K0591hcatHp5eMFOL3EMY/mDB/91xBdTcw QfRJ/tmfJAJKDkcGyLmhKXQuwzSS+vK+CchYcP/cfmJ2+JbTT+jg8hfd5Kz+jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggl0y7Nz13ZK for ; Wed, 03 Jun 2026 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a945 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 82dcd575dd28 - stable/15 - sound: Remove dead EQ FEEDEQ_DISABLE code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 82dcd575dd281bbd83a83a4fb783713dc1678b53 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:15 +0000 Message-Id: <6a1fe473.3a945.1b4fdaca@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=82dcd575dd281bbd83a83a4fb783713dc1678b53 commit 82dcd575dd281bbd83a83a4fb783713dc1678b53 Author: Christos Margiolis AuthorDate: 2026-04-17 15:05:33 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Remove dead EQ FEEDEQ_DISABLE code If EQ is disabled, we never reach those code paths in the first place. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 6f130b220d7ce64ce65f076a21edea034d14482b) --- sys/dev/sound/pcm/feeder_eq.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 8f3acbf4e156..fe47a9d7e434 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -148,19 +148,6 @@ feed_eq_biquad(struct feed_eq_info *info, uint8_t *dst, uint32_t count, pmul = feed_eq_preamp[info->preamp].mul; pshift = feed_eq_preamp[info->preamp].shift; - if (info->state == FEEDEQ_DISABLE) { - j = count * info->channels; - dst += j * AFMT_BPS(fmt); - do { - dst -= AFMT_BPS(fmt); - v = pcm_sample_read(dst, fmt); - v = ((intpcm64_t)pmul * v) >> pshift; - pcm_sample_write(dst, v, fmt); - } while (--j != 0); - - return; - } - treble = &(info->coeff[info->treble.gain].treble); bass = &(info->coeff[info->bass.gain].bass); @@ -369,9 +356,6 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, info = f->data; - if (info->state == FEEDEQ_DISABLE) - return (FEEDER_FEED(f->source, c, b, count, source)); - dst = b; count = SND_FXROUND(count, info->align); From nobody Wed Jun 3 08:23:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggn3kXvz6gJwx for ; Wed, 03 Jun 2026 08:23:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggn2WC9z3gN3 for ; Wed, 03 Jun 2026 08:23:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6KOobMWnLX4C/bv2sUMjt0QnFPqDEWREDaxUcNhW/Mo=; b=Prot2d6g2mqEDZpHkjEmftvmoyaNTAI3NimyFwncKGKOZZdq2CiC1NAwLmANsZNhdas0pZ FUnLLTbDnFc5+Gs9U//Xx4AiNO+D8S03eCttNexA6OPn0i6rqmLmpiem2V/bjiHgXME8bl kNr7XcsqJvcSpW5dkG3hg+j6L+0hIbN61zre0cKo0PCD6ExXw3wEmmKYmERlQnaG/7pByv MGXu8O4abdzeDu4Lbj9gBttlx487Q5HA7f0tJqZXguxtcQ9moPLSe7Dd6vMH6+4R2Ixqfp kWKVJ7dxMam2+gWx9HVLJpgs8nPDPXfOCIQ2WmcGWVC9d9Y+qLuysXTerD5sNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474997; a=rsa-sha256; cv=none; b=pv1ygTc2s4MU08IvoJvCDm9j8k96XJfM3IZ2w+uF4qMbSBFjqdZCsZkgvARSTmBqd54m5G 8ue6SO1dCikZ6EnSKCXcA2UZnYmBIb/dXvdZanu4GSn+joO0sQn4nB2PuEWKKOvM6lYR1S KnUVHJVFVSjEYgaWMfvcQUAtvp15zM53uhWgs2ZUeB/JNfjq7523bcj3qZdvmueFvWkPQR KfzE+h1Rt+oZP+JL9ghhdtti3cRXhFQUWP9aD6ddSPsqXlsq7tiosfg/5S6I3+QytKWYr/ l736aSvl1JoJnM638HQlcopq83su5zyBBlB327bJHo2t3LXgNwA3BY00M5VJvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6KOobMWnLX4C/bv2sUMjt0QnFPqDEWREDaxUcNhW/Mo=; b=oGMW4C/Td9qwSO+RgkNalUWUJSae4c8Q2JcBFqw6mScy5P+1xpcbojl6vtnj+9RxMSgY6T kGyZcm0cVylJv7riZ795seLoaUHm/buEHZSm/Q6bh35iBNYOPCJjmGXr6sKbW0WVG00xVj E/G0pS/lnMzBP9t2WITDbwCzm6xRFG3obSVelJP/i+/pQtbON4BNhdyVCCVorjhikMt8Tq qP0OvRqIqwtIN8bghE4taRepub4W3BzG5mHbX/EQdKpSBANlsT9AmXBFOVKppyrUTY4vnC 8AVqthVE3qwpAJVUtdphpioFsZypxbyxP6fqjUTNGbIJT/28oz0ZPGhNmQM7vw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggn26p6z13Hx for ; Wed, 03 Jun 2026 08:23:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39168 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 333af32c928d - stable/15 - sound: Retire EQ states List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 333af32c928d0064c1fdec9006e6bdc4538dcf6c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:17 +0000 Message-Id: <6a1fe475.39168.308612c5@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=333af32c928d0064c1fdec9006e6bdc4538dcf6c commit 333af32c928d0064c1fdec9006e6bdc4538dcf6c Author: Christos Margiolis AuthorDate: 2026-04-17 15:23:38 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire EQ states The SD_F_EQ_ENABLED does the same thing, and is actually what we test against in order to create the EQ feeder. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 88bc1d7325aa97520f7a308d70a5fcb39acdc5d2) --- sys/dev/sound/pcm/channel.c | 3 --- sys/dev/sound/pcm/feeder.h | 3 --- sys/dev/sound/pcm/feeder_eq.c | 25 ++----------------------- 3 files changed, 2 insertions(+), 29 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index c97a3158dbd9..a0ee16a14386 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2209,9 +2209,6 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_ENABLED && - FEEDER_SET(f, FEEDEQ_STATE, FEEDEQ_ENABLE) != 0) - device_printf(c->dev, "EQ: Failed to enable\n"); } } } diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 10bfe9dca8f3..127b479cd7c9 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -119,9 +119,6 @@ enum { FEEDEQ_TREBLE, FEEDEQ_BASS, FEEDEQ_PREAMP, - FEEDEQ_STATE, - FEEDEQ_ENABLE, - FEEDEQ_UNKNOWN }; int feeder_eq_validrate(uint32_t); diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 6fd7d7f2bfff..fdb786171d5a 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -122,7 +122,6 @@ struct feed_eq_info { uint32_t rate; uint32_t align; int32_t preamp; - int state; }; #if !defined(_KERNEL) && defined(FEEDEQ_ERR_CLIP) @@ -277,7 +276,6 @@ feed_eq_init(struct pcm_feeder *f) info->treble.gain = FEEDEQ_L2GAIN(50); info->bass.gain = FEEDEQ_L2GAIN(50); info->preamp = FEEDEQ_PREAMP2IDX(FEEDEQ_PREAMP_DEFAULT); - info->state = FEEDEQ_UNKNOWN; f->data = info; @@ -303,8 +301,6 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) if (feeder_eq_validrate(value) == 0) return (EINVAL); info->rate = (uint32_t)value; - if (info->state == FEEDEQ_UNKNOWN) - info->state = FEEDEQ_ENABLE; return (feed_eq_setup(info)); case FEEDEQ_TREBLE: case FEEDEQ_BASS: @@ -320,12 +316,6 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) return (EINVAL); info->preamp = FEEDEQ_PREAMP2IDX(value); break; - case FEEDEQ_STATE: - if (value != FEEDEQ_ENABLE) - return (EINVAL); - info->state = value; - feed_eq_reset(info); - break; default: return (EINVAL); } @@ -449,8 +439,6 @@ static int sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) { struct snddev_info *d; - struct pcm_channel *c; - struct pcm_feeder *f; int err, val, oval; d = oidp->oid_arg1; @@ -477,20 +465,11 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); - if (val == 1) { - val = FEEDEQ_ENABLE; + if (val == 1) d->flags |= SD_F_EQ_ENABLED; - } else + else d->flags &= ~SD_F_EQ_ENABLED; - CHN_FOREACH(c, d, channels.pcm.busy) { - CHN_LOCK(c); - f = feeder_find(c, FEEDER_EQ); - if (f != NULL) - (void)FEEDER_SET(f, FEEDEQ_STATE, val); - CHN_UNLOCK(c); - } - PCM_RELEASE(d); PCM_UNLOCK(d); } else From nobody Wed Jun 3 08:23:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggm3ntwz6gJww for ; Wed, 03 Jun 2026 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggm2g1mz3gN2 for ; Wed, 03 Jun 2026 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4oPbWmuFaegxO43II89f7fua6ZrLLx1o+jIJoz9Icw0=; b=I97bfAu2PGre89ZxwvFSLKrAJPcOGS6ipQBIFZEgEF9ZiueFDxzx8bHu0ZxAhcYfcDjyog uaPp5gX+GUKF+uVK0RKe7tvwQvbL0QnC2BtBJOlkW9/qVJxveMMOb0YDGYgZkt/dJsutiB oi87eYP+XTeRygS710ekPQpvWmwHHpuGk0b6J7EdzuwsH4Z0KV93cxAmjZOZlXk8+xTxI+ x1D7DmyExkxY+pxA1fJWdm4uhrTExzej2xwybPVck/cqsxEf1thSXqT+LnOpAnvsp6Cya9 YjR1pfgqbfxdMbSMDF5++BcubSDHZdLA1CklI5T8GMKptyrbUb261y7lRGz+3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474996; a=rsa-sha256; cv=none; b=T5veSKOCuUh7Qc9PVTHjI1k678U/mBx/X/MEYJmENC6MmmCQL2KGPxkn3Lr+ca6QXylLf7 ly0BK7ohEDGkAgMaPNqf0VBZqerASqhyp0VzhdVhIqllaIbbHEq10PCKOkL9WgmJ1kIelk E/ra4COx2xrNn+MlH7pHGHNCN+YQDYxzCdSZSd5TPiPtcUYBD5YxJiT8A/hNqF1HaQrl3U DNy6e8/jN6L8T0lVhzld2MYuLvTxlY1dnCnMeCdDz2aVokvZBzwo9kYUTWlDiXALI0p7Nc GsSszlqV78DqUEzm73Pdz4Qf2lWr/6nyZmCoe2pFnCrqI+bupjs2lcL3HtycCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4oPbWmuFaegxO43II89f7fua6ZrLLx1o+jIJoz9Icw0=; b=KIY8DoSZ/4WWwOYdg5vP9RBQDkNi/p1Ce7jWm2lfn9H+ky+heSWywumLwmCVqnL7ipIESz Sk3NMWUM21CkM2JyN6jBpE1SS5ZdRCg8z8NaPxmwemSRgCbrVIsjeXvWPCA5EpvuRIoD+1 1tFvKWFj1988WvCPKbBDV5J6EF8nV3/sMrNp1aGYmAuHaVg6VPuBXTQs3roOApb37xgN3O YIYLWg0KmvKbkW5AWt/jv7dPlRLfWZ+nt8zlI8NCPyLQmZKk5odiquhjykycHUDnlouu2G W36BiNBJhJubidgeObXqGgbKqcEpVfOiWLcCwtJY+NN6HjcGJL2YFGSeqQRTJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggm1nNFz13Wp for ; Wed, 03 Jun 2026 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 52536db52fd3 - stable/15 - sound: Retire FEEDEQ_DISABLE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 52536db52fd32dd8b0eb049a063e03d63a8537ce Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:16 +0000 Message-Id: <6a1fe474.39f43.39b3ed15@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=52536db52fd32dd8b0eb049a063e03d63a8537ce commit 52536db52fd32dd8b0eb049a063e03d63a8537ce Author: Christos Margiolis AuthorDate: 2026-04-17 15:14:46 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire FEEDEQ_DISABLE We can do this more efficiently by just using the SD_F_EQ* flags. In fact, the dev.pcm.%d.eq handler will (un)set SD_F_EQ_ENABLED and this is what we actually test with when choosing to creating the EQ feeder or not, so setting the state to FEEDEQ_DISABLE does not really an effect in the first place. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit f5d6e5cb5c3e0593d24c90671d72654aa59cdd1a) --- sys/dev/sound/pcm/channel.c | 12 ++++-------- sys/dev/sound/pcm/feeder.h | 1 - sys/dev/sound/pcm/feeder_eq.c | 5 ++--- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index be6d7f82f502..c97a3158dbd9 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -2177,7 +2177,7 @@ chn_syncstate(struct pcm_channel *c) if (c->feederflags & (1 << FEEDER_EQ)) { struct pcm_feeder *f; - int treble, bass, state; + int treble, bass; /* CHN_UNLOCK(c); */ treble = mix_get(m, SOUND_MIXER_TREBLE); @@ -2209,13 +2209,9 @@ chn_syncstate(struct pcm_channel *c) device_printf(c->dev, "EQ: Failed to set preamp -- %d\n", d->eqpreamp); - if (d->flags & SD_F_EQ_ENABLED) - state = FEEDEQ_ENABLE; - else - state = FEEDEQ_DISABLE; - if (FEEDER_SET(f, FEEDEQ_STATE, state) != 0) - device_printf(c->dev, - "EQ: Failed to set state -- %d\n", state); + if (d->flags & SD_F_EQ_ENABLED && + FEEDER_SET(f, FEEDEQ_STATE, FEEDEQ_ENABLE) != 0) + device_printf(c->dev, "EQ: Failed to enable\n"); } } } diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 7d14022c6849..10bfe9dca8f3 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -120,7 +120,6 @@ enum { FEEDEQ_BASS, FEEDEQ_PREAMP, FEEDEQ_STATE, - FEEDEQ_DISABLE, FEEDEQ_ENABLE, FEEDEQ_UNKNOWN }; diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index fe47a9d7e434..6fd7d7f2bfff 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -321,7 +321,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value) info->preamp = FEEDEQ_PREAMP2IDX(value); break; case FEEDEQ_STATE: - if (!(value == FEEDEQ_ENABLE || value == FEEDEQ_DISABLE)) + if (value != FEEDEQ_ENABLE) return (EINVAL); info->state = value; feed_eq_reset(info); @@ -477,12 +477,11 @@ sysctl_dev_pcm_eq(SYSCTL_HANDLER_ARGS) PCM_LOCK(d); - d->flags &= ~(SD_F_EQ_ENABLED); if (val == 1) { val = FEEDEQ_ENABLE; d->flags |= SD_F_EQ_ENABLED; } else - val = FEEDEQ_DISABLE; + d->flags &= ~SD_F_EQ_ENABLED; CHN_FOREACH(c, d, channels.pcm.busy) { CHN_LOCK(c); From nobody Wed Jun 3 08:23:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggv1cg8z6gJfv for ; Wed, 03 Jun 2026 08:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggt5SMYz3gQS for ; Wed, 03 Jun 2026 08:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFUP2vZIxL3BdAY93Et+7o67C0rS46/lPVuGYR2WbEM=; b=SJyLUNKZlofb5O2dXZRCxueX9anF4QEXcsyq4pkqWlUWQK2FC9CvM/CcT+xujB6L/B/4WN vqled35n++ZgRpOMs9oivtS+yqcCvHnpSjztla2W0AQVdusUC/qXNQwiyX/MMTI17HaZc6 b1+1ZUczxf/M5kbVdvfpQJshrszM6LVf9fNrByI49cCEqmIduHLMQqQL2078Xw6k7pp7oS mYvKMnZ5/o9B0i/1YaQ6k3+6mGjVBo86x/1+Mj8/md7VaKEDDOK2FBQtCL1aZqAgZH950Y wu0OzwAyfoPVgKL9XVoCv3M+4Ay366viZKZuo/dW7ajJ73fuLAqcZcBNxt3QoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475002; a=rsa-sha256; cv=none; b=HqbPRBNf8ANgoxqa0oWYg/g96o0YOR1dMTgRMPk83OIdHYNXWLBjvueb7mhzl3lw81wA/T 0O5iR3/l3asv0K/8jRNxgJHaOJtFzYI92NGVNhr9UPMGj91xSRk+4RvepOvo7hH/H+z4Oy RZGbqevia6y4mF11sn9lGJsUJzjFR/Qj8PUJDxO5UsrjBCHkUR8nSzp6gdzoEZSkfziS56 Qq+RA3u5qj3CwYfCeHQWGRqw4pQPgBygX/87veadTOZas1Z74Ez1XCi6L0aNgY8ulDN1fx SvozSyEpruS9MzgwgVhuvpLlQv6W6/eiVG2JX8iQ/DkUIki1A/rlndke8vV85Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFUP2vZIxL3BdAY93Et+7o67C0rS46/lPVuGYR2WbEM=; b=linuBr9tKAY6aYnTZCtzdX7ZP2o0qoJe8M9yCmKWz4RqmQyTRPaJnHPVzXgvGg2YSNy9QC RRLTvMahbi8Dmdt/0ho/66YFXado6U9J6X75l6cnjL5UBhW+jV9wBazH0KN8g9Rgv6Cu7o imUrgS4gqjcItErx17G9hmrvZgj5XLR9vKEsOk5tX4y/8MIVO0aRvXtx2mcs9LgDjHcXsR RGpbWdPXW8IB2Ov3wC4FNI+jXG143OBVj3grYjoXUQ98A4tPVo17c9eSRK/fzlMUIDPMpM 8/GvSAASVIufDNga+OEMr42LHo7d1RqFYfWsJEVmis8RwHKMcNIyjRiaMmc87Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggt524zz13rX for ; Wed, 03 Jun 2026 08:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b048 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 3c49470b551a - stable/15 - sound: Retire M_MIXER List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3c49470b551ad5302f731f4efcca97a0df1aeec4 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:22 +0000 Message-Id: <6a1fe47a.3b048.117bd23f@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=3c49470b551ad5302f731f4efcca97a0df1aeec4 commit 3c49470b551ad5302f731f4efcca97a0df1aeec4 Author: Christos Margiolis AuthorDate: 2026-04-15 23:39:23 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire M_MIXER Even though harmless, it is not really useful, as there is essentially only one allocation with M_MIXER. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit e8ea97602ca97166a0729fdc32c84c9016fe7b0c) --- sys/dev/sound/pcm/mixer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 8015c8fc0c32..7ccb57c205ba 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,8 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -static MALLOC_DEFINE(M_MIXER, "mixer", "mixer"); - static int mixer_bypass = 1; SYSCTL_INT(_hw_snd, OID_AUTO, vpc_mixer_bypass, CTLFLAG_RWTUN, &mixer_bypass, 0, @@ -638,7 +636,7 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, KASSERT(type == MIXER_TYPE_PRIMARY || type == MIXER_TYPE_SECONDARY, ("invalid mixer type=%d", type)); - m = (struct snd_mixer *)kobj_create(cls, M_MIXER, M_WAITOK | M_ZERO); + m = (struct snd_mixer *)kobj_create(cls, M_DEVBUF, M_WAITOK | M_ZERO); snprintf(m->name, sizeof(m->name), "%s:mixer", device_get_nameunit(dev)); if (desc != NULL) { @@ -659,7 +657,7 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, if (MIXER_INIT(m)) { mtx_lock(&m->lock); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); return (NULL); } @@ -678,7 +676,7 @@ mixer_delete(struct snd_mixer *m) MIXER_UNINIT(m); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); return (0); } @@ -793,7 +791,7 @@ mixer_uninit(device_t dev) MIXER_UNINIT(m); mtx_destroy(&m->lock); - kobj_delete((kobj_t)m, M_MIXER); + kobj_delete((kobj_t)m, M_DEVBUF); d->mixer_dev = NULL; From nobody Wed Jun 3 08:23:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggw2hTDz6gJlS for ; Wed, 03 Jun 2026 08:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggv6Fhtz3gBx for ; Wed, 03 Jun 2026 08:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fpouWDIVprvXf+XplxbIfl3ZVukTD58RZSk+eyQUu14=; b=IGi0fwnqgcklfX8zmTGrfu0KxHEC3hK6VJyEOaHCjLf04tjd4HFY6YWnxBQrC1sYXCeRL7 cxBIgi/Cp39OlzsFyP99blTR3ylZTgRpvtiOaPKfOtJolHUIG97J8B7Xbog1cShQ3J/MH5 pD/GKHINk8aIwYegRar9WIawyNyuDYHqZbxRBypCjaXjF3NSs0LxWpJoYO9562lVYKrWPc jdAYAPgGFjWfqZxoR805hynGJYmAHF3GdwXj7MaoXbqdVu+uXQxk0J0hvDu1n6VRqSL5FQ VQCgqBx9sjPgsvidViPzZO5xq0ZuP2wxrAC8KdJEcyAvcn3jqsQpINEqk5qbMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475003; a=rsa-sha256; cv=none; b=DAhUAVyEtCqNJZwN9Zls8lGzP3rHwPQCxS+mLewno8Cf/y9ORpIsCfYjJkZagWZ6Idvi/r SIT9soM9V481hKOv+s71Oh4qOYEuGjca2vgqMpZEIvVYRVHEv5SYdavcRS0VM2WGXl4xPu 17Pxr/DN3nRANjqSa45Kr/L+RWlIkE6uYAN+zSMEa3sH4ELUb+mFYGmjRPDeLT1fr177up 3LE+TgSNFWBHAArIKGm4e5buWe3z6j//UJIRJz8KlyQblDuP0Cawq3cMa6C3GarAnob6mc gzAYc/iZkF12R7OmViCJr+T3+t2rUhGKi6xu08B/zv3v+k2u4mZKTwv4kRMY/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fpouWDIVprvXf+XplxbIfl3ZVukTD58RZSk+eyQUu14=; b=XXP0F+cjs1h2VP+TQFdPee4SsHAHB7CoMnGvX8Bc7U5X5WiRDBTkahTRxTqYCOxnqCkcCT Gxe3RnIsDwuAaxBFPSihYQU96IJ2dOzlql+PmuywIdcJTPnOsrS7CxMkfQA2OifgvRG0sb ouzYD2GsGStCKxbAASvig6SWhOdEKlqXfl71Qi8KLXIjZZ1h7aO9qqxHkZT/mrF/xKskV5 A09Yi4F73CRCsUhran7XDxyrDtbCnvr1pV0w4qpIC6vU0cpGkwv+8/tGyCT5lHrACoIjQy ne218D80y74Cq5rMXR3ytCEvy9n39vToCdvKxzGM2ASzXMncLVYd5g192oLKIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggv5qWXz13p0 for ; Wed, 03 Jun 2026 08:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ee9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 3693f4404bec - stable/15 - sound: Retire mixer_ioctl_channel() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3693f4404bec3418bbad8a5a56e3005eb3b0f524 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:23 +0000 Message-Id: <6a1fe47b.39ee9.2c8565f7@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=3693f4404bec3418bbad8a5a56e3005eb3b0f524 commit 3693f4404bec3418bbad8a5a56e3005eb3b0f524 Author: Christos Margiolis AuthorDate: 2026-04-16 11:00:16 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Retire mixer_ioctl_channel() This function never succeeds when it is not called from the same process that has opened the file descriptor (e.g., mixer(8)). The reason is that the CHN_FOREACH() loop tries to match the pid of each channel with the pid of the process performing the ioctl, which will not be the same, unless it's the same process that both opened the channel and performed the ioctl. In the case that the same process opens the channels and performs the ioctl, however, we still do not need to worry, because mixer_ioctl_cmd() essentially does the same thing anyway. Additionally, this scenario should be quite rare, given that most applications do not open both /dev/dsp* and /dev/mixer*, and in fact, it is actively encouraged by the official OSSv4 specification not to do that. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit f61e65e1b2ac74034bfc5d1230ae23ea4b9faa60) --- sys/dev/sound/pcm/mixer.c | 117 +--------------------------------------------- 1 file changed, 1 insertion(+), 116 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 7ccb57c205ba..be4447b13964 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1032,113 +1032,6 @@ mixer_close(struct cdev *i_dev, int flags, int mode, struct thread *td) return (0); } -static int -mixer_ioctl_channel(struct cdev *dev, u_long cmd, caddr_t arg, int mode, - struct thread *td, int from) -{ - struct snddev_info *d; - struct snd_mixer *m; - struct pcm_channel *c, *rdch, *wrch; - pid_t pid; - int j, ret; - - if (td == NULL || td->td_proc == NULL) - return (-1); - - m = dev->si_drv1; - d = device_get_softc(m->dev); - j = cmd & 0xff; - - switch (j) { - case SOUND_MIXER_PCM: - case SOUND_MIXER_RECLEV: - case SOUND_MIXER_DEVMASK: - case SOUND_MIXER_CAPS: - case SOUND_MIXER_STEREODEVS: - break; - default: - return (-1); - } - - pid = td->td_proc->p_pid; - rdch = NULL; - wrch = NULL; - c = NULL; - ret = -1; - - /* - * This is unfair. Imagine single proc opening multiple - * instances of same direction. What we do right now - * is looking for the first matching proc/pid, and just - * that. Nothing more. Consider it done. - * - * The better approach of controlling specific channel - * pcm or rec volume is by doing mixer ioctl - * (SNDCTL_DSP_[SET|GET][PLAY|REC]VOL / SOUND_MIXER_[PCM|RECLEV] - * on its open fd, rather than cracky mixer bypassing here. - */ - CHN_FOREACH(c, d, channels.pcm.opened) { - CHN_LOCK(c); - if (c->pid != pid || - !(c->feederflags & (1 << FEEDER_VOLUME))) { - CHN_UNLOCK(c); - continue; - } - if (rdch == NULL && c->direction == PCMDIR_REC) { - rdch = c; - if (j == SOUND_MIXER_RECLEV) - goto mixer_ioctl_channel_proc; - } else if (wrch == NULL && c->direction == PCMDIR_PLAY) { - wrch = c; - if (j == SOUND_MIXER_PCM) - goto mixer_ioctl_channel_proc; - } - CHN_UNLOCK(c); - if (rdch != NULL && wrch != NULL) - break; - } - - if (rdch == NULL && wrch == NULL) - return (-1); - - if ((j == SOUND_MIXER_DEVMASK || j == SOUND_MIXER_CAPS || - j == SOUND_MIXER_STEREODEVS) && - (cmd & ~0xff) == MIXER_READ(0)) { - mtx_lock(&m->lock); - *(int *)arg = mix_getdevs(m); - mtx_unlock(&m->lock); - if (rdch != NULL) - *(int *)arg |= SOUND_MASK_RECLEV; - if (wrch != NULL) - *(int *)arg |= SOUND_MASK_PCM; - ret = 0; - } - - return (ret); - -mixer_ioctl_channel_proc: - - KASSERT(c != NULL, ("%s(): NULL channel", __func__)); - CHN_LOCKASSERT(c); - - if ((cmd & ~0xff) == MIXER_WRITE(0)) { - int left, right, center; - - left = *(int *)arg & 0x7f; - right = (*(int *)arg >> 8) & 0x7f; - center = (left + right) >> 1; - chn_setvolume_multi(c, SND_VOL_C_PCM, left, right, center); - } else if ((cmd & ~0xff) == MIXER_READ(0)) { - *(int *)arg = chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FL); - *(int *)arg |= - chn_getvolume_matrix(c, SND_VOL_C_PCM, SND_CHN_T_FR) << 8; - } - - CHN_UNLOCK(c); - - return (0); -} - static int mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td) @@ -1156,15 +1049,7 @@ mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_ENTER(d); PCM_ACQUIRE_QUICK(d); - ret = -1; - - if (mixer_bypass != 0 && (d->flags & SD_F_VPC)) - ret = mixer_ioctl_channel(i_dev, cmd, arg, mode, td, - MIXER_CMD_CDEV); - - if (ret == -1) - ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, - MIXER_CMD_CDEV); + ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, MIXER_CMD_CDEV); PCM_RELEASE_QUICK(d); PCM_GIANT_LEAVE(d); From nobody Wed Jun 3 08:23:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggy2HlDz6gJx2 for ; Wed, 03 Jun 2026 08:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggy0vw9z3gBy for ; Wed, 03 Jun 2026 08:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUBq6ZB9H0IEu8MNmRsslHSwH60aRq31PVO6QXDZtuY=; b=mySUfoainnqS29WruteMSV8olAVyjr7kxbk/nwF/Bcl+uFEkRFl+wLKVIxIY+Mn7NAcsJT /l3hsM0y+qRZyevuNUhSZ/eLBfMowAiTrUTrPqlKhY6qKgPlBkCl26zl8vz6edExY77PZn n5cKHsnwVZUBf0o7MIrtxOiEqc1ruhq1u4znb+H5rKb7A9XiDbyphLa+tDxq90zrxUMqZs JR1Vm3/U/x0kRqD5dGZiPnZFrcxQTdtaGnGZ9lXDVgTqUaicosQZCq48KxHsdcFYsDANM4 oJGuiwAE+FXB1BL1sU/aEsmZraiofXA35vwhnuD1PIjJnasynemF94wCy96/CQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475006; a=rsa-sha256; cv=none; b=Rp4Y0pvW/2IHURIJuMpn1fxXH+6xgvPKUJDegNVrOxIQWyTGrYeqzgm9W+c/z+8B9H127C oaZjfrcWcH4L0o69NYx+HhYzaK+vK6glT1QyRCDj/l5FHdM2WYYrLIIcYZj0bv7RzYuf89 xyHX+DpDrSxftQg4oD1/u1fsx4/cD0vpeFvQ/k+cHXePv9w6lATstawN6SJfnYmMmZDbbU CoGyvFfu/qhGTnTK/Mo+B0xt+qOOQ6vvS9Y6G9AHMYaJS/Gy5Pk73fAv3JO3NLlpQmTSko MR+TZzOsSbfrNlOwGvNIZbXMOijVHIqn8CVv/5cHfm0rc6sDGzzE9kILWMy0dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUBq6ZB9H0IEu8MNmRsslHSwH60aRq31PVO6QXDZtuY=; b=MFaiulDwBrXEu2gAwq1liL//XSS48iCj9TEC9CvBgQFkhyAR3UzqtEb4UD4bEY+CTLLCVV LkD2Guve/w3FYIxnLGEiWTnoMxkQ41Cg9xXHtScn2vOKBcjvxggat/2jRFSKc8fiKkdHyA mXK1+wHDilgPFw2Z3aVeNMJde1m72cbA3EMOTAAKhSYceS7K8Gv2R/QzL8hPeb8R58MNxC TKAvPlB3jFnKb5vjw6y7EBvoiOXuL50FII9g6YAyljdGzx49WVGsnyTys4H6BWsh3NFosq WIhqOIieWezm5gqfTOJQneJ4ZPBMz7BqASITs4YnvCLcXYq6E9USV+AI9ABoTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggy0J6tz13rZ for ; Wed, 03 Jun 2026 08:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38e76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: de5502ed01c8 - stable/15 - sound: Remove unused "from" mixer_ioctl_cmd() argument List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: de5502ed01c805320841a25643c1dd8958306d88 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:26 +0000 Message-Id: <6a1fe47e.38e76.6adf6778@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=de5502ed01c805320841a25643c1dd8958306d88 commit de5502ed01c805320841a25643c1dd8958306d88 Author: Christos Margiolis AuthorDate: 2026-04-16 11:32:03 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Remove unused "from" mixer_ioctl_cmd() argument Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 22730c4b10ba391859a06966ea3e429aaf43cd09) --- sys/dev/sound/pcm/dsp.c | 9 +++------ sys/dev/sound/pcm/mixer.c | 4 ++-- sys/dev/sound/pcm/mixer.h | 5 +---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 82c960fc3b40..8a2ce2422bef 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -728,8 +728,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = EBADF; @@ -1526,8 +1525,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, xcmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, xcmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = ENOTSUP; @@ -1539,8 +1537,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, case SNDCTL_DSP_SET_RECSRC: if (d->mixer_dev != NULL) { PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td, - MIXER_CMD_DIRECT); + ret = mixer_ioctl_cmd(d->mixer_dev, cmd, arg, -1, td); PCM_RELEASE_QUICK(d); } else ret = ENOTSUP; diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index d73361fe7e16..73d1b5870b83 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1044,7 +1044,7 @@ mixer_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_ENTER(d); PCM_ACQUIRE_QUICK(d); - ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td, MIXER_CMD_CDEV); + ret = mixer_ioctl_cmd(i_dev, cmd, arg, mode, td); PCM_RELEASE_QUICK(d); PCM_GIANT_LEAVE(d); @@ -1067,7 +1067,7 @@ mixer_mixerinfo(struct snd_mixer *m, mixer_info *mi) */ int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, - struct thread *td, int from) + struct thread *td) { struct snd_mixer *m; int ret = EINVAL, *arg_i = (int *)arg; diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 3ce8a4f5adee..4ced76082e31 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -36,7 +36,7 @@ int mixer_delete(struct snd_mixer *m); int mixer_init(device_t dev, kobj_class_t cls, void *devinfo); int mixer_uninit(device_t dev); int mixer_reinit(device_t dev); -int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td, int from); +int mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct thread *td); int mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi); int mixer_hwvol_init(device_t dev); @@ -63,9 +63,6 @@ u_int32_t mix_getparent(struct snd_mixer *m, u_int32_t dev); void *mix_getdevinfo(struct snd_mixer *m); struct mtx *mixer_get_lock(struct snd_mixer *m); -#define MIXER_CMD_DIRECT 0 /* send command within driver */ -#define MIXER_CMD_CDEV 1 /* send command from cdev/ioctl */ - #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ From nobody Wed Jun 3 08:23:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh03V9qz6gK0G for ; Wed, 03 Jun 2026 08:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh02QMJz3fyN for ; Wed, 03 Jun 2026 08:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3dFreNaEIACWtLjJx4uJoLu31kaAYxcuqd3n9Ws8K98=; b=Ue6LeOI5WBe3F0tXr394IfCmwTIJNqNCkr+QZ1SG3RU5iwoTEyt3tKTFVgYQKs30hLMEVq kAoYrWSA/5YHGY7Y4kHScc0X6XfojMMFIFamFKnrb2Xz9PROepI12vmBxwd9KZOdsEds98 /HTlmyaqnovs8f9PuCC8B9iAxunjH2irpm0jH9apKmkOv5clldapDktkHI6smQeFNuYJn1 lKNj9/ZI2HUju7vTyJTQOOxSFctfeT2rkWIFkR+XfW8JMNSO1an/ntew57MA+wB8TGfO9T GPmR673th3VjmwmeF5q28ecjBRt9D/6F2y/1R3efKlLmVdQSzhee+VPc7Mhg/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475008; a=rsa-sha256; cv=none; b=BU5V5z1VG2ivvajfg8SwWqQ8oCl0p64LmzAg6Lvx76J3QVJyHwOKDKBscQT5LN3Sge+xds Sjh4gW3zZRdCFwbZY6Af0tI13UFo88Zja7bESYK2gpctJD+C5P2+cfx+ySzjbEVmO8eilP X/LfOXW4QtCIAYzggKnSBmnfVHoHWSTmMOvA7Qm/IVuOgCI9TdncXD1yBbyGUyUHF8GXr2 4MhUNXpfU3ChHALEJvfnuax6ubf2EIgH7b3AUJA+r5OfvIQy3kUbq1ij6IK/VZD07LzXgy zCQkBVoo1wqPqF+4XCUfGf9fCUm3wH/e/K7gALT3pDIrRsTKYkNVYWH6UicP/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3dFreNaEIACWtLjJx4uJoLu31kaAYxcuqd3n9Ws8K98=; b=sMX6Ihphdkvx8OZ9xHgK1h2W+J2RV9WoMd7ttPWjqkXL9ZEHsNwMCLgQp5hPf/NqWDRR6z +Cgl9B2cILRUS/DvQD21CaXyEyvQqFBq3MyJO5fooEaZVel6Lo10aZWnbqM3Q8gK+Q/mGp ly28Y4620bvzR5HF3YVfsxZ+16TJ2J8m0OmQSNh2NYywFUu3OGu2OxOCUaJ2mAo0ALE8H2 7yRt7FZMV4wBbmrnggGomKsz6q+5TddKL3e6lqDeVB1D9S4zUnTDsvhvJcplgkfE9xl7YZ lR5ls3QHyCge7WqmM8+TfKH9YPCYUvLpiGAogIb4VBZ12fdmgSRzw37drhw1QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh01Mjtz13rc for ; Wed, 03 Jun 2026 08:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bc76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: d80356b7525b - stable/15 - snd_uaudio: Stop using mixer_get_lock() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d80356b7525b2d07fc192635489c74480a683e3c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:28 +0000 Message-Id: <6a1fe480.3bc76.15365c60@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d80356b7525b2d07fc192635489c74480a683e3c commit d80356b7525b2d07fc192635489c74480a683e3c Author: Christos Margiolis AuthorDate: 2026-04-16 12:30:25 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 snd_uaudio: Stop using mixer_get_lock() There is no reason to lock snd_mixer->lock here, since the only thing we are doing with snd_mixer is to call mix_getdevinfo() and mix_get_dev(), which are one-line getters, which are needed to eventually call uaudio_get_child_index_by_dev(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit e87654db5a0923856afbaace9bd0975331782044) --- sys/dev/sound/usb/uaudio_pcm.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/sys/dev/sound/usb/uaudio_pcm.c b/sys/dev/sound/usb/uaudio_pcm.c index c24c111f983c..4b1762cfc3ec 100644 --- a/sys/dev/sound/usb/uaudio_pcm.c +++ b/sys/dev/sound/usb/uaudio_pcm.c @@ -134,39 +134,18 @@ ua_mixer_init(struct snd_mixer *m) static int ua_mixer_set(struct snd_mixer *m, unsigned type, unsigned left, unsigned right) { - struct mtx *mtx = mixer_get_lock(m); - uint8_t do_unlock; - - if (mtx_owned(mtx)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mtx); - } uaudio_mixer_set(mix_getdevinfo(m), m, type, left, right); - if (do_unlock) { - mtx_unlock(mtx); - } + return (left | (right << 8)); } static uint32_t ua_mixer_setrecsrc(struct snd_mixer *m, uint32_t src) { - struct mtx *mtx = mixer_get_lock(m); int retval; - uint8_t do_unlock; - if (mtx_owned(mtx)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mtx); - } retval = uaudio_mixer_setrecsrc(mix_getdevinfo(m), m, src); - if (do_unlock) { - mtx_unlock(mtx); - } + return (retval); } From nobody Wed Jun 3 08:23:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp4YcYz6gJcV for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggp3Rbrz3gKg for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F8yQ/iUs2JO/1s/219ibFEJpys1AnUtO5yDzab4txy0=; b=vkpEZmsPxgkKsVnEv03jVYDj9+DtxiBmcRn3F5tIklqelsdK8fbFJ2dG7RO/kWr+WctMwK rbE+FMj6t9Z4W3qWKdKq7uYtWJQwE+825G7ssIpzRIT20n8uR6yEOayNwh99o7N498FTEw +hydoRBpm2OLOoTf3p+nhq5HRa4TVHOdJPfbpI4ien/TXuXKYFFV6d9xUSdekF+i9fmZju K6DqQxUFIzh0Dmto1gGwQvpLLIjsZd5q6fxUMarNpFAJwwHTZsG9a0e9NEH9/uBdSJi2PC jDf5SfpXZIxhORG2RkvkrYJJ2CsGNOj+oWRkIVZPTR1/g/0uK0K4Qcp1Sn23sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474998; a=rsa-sha256; cv=none; b=o8FVJLCU57HkakcNciZ1ZZhJMu3/B2dvIG/aBFB3T3Qu4SeKtxYaYBwu6iUCcuX4SI52Rn A9cxBWnl2flu/m/jzx7pKY2IY6x/1eubeaI0SAU4NSTWmawNhwhrOGj+4WFmRUDvJPFdb0 OnXQbSsYle/+ZeJSm4AjKTnBUJ4zS7FhiCdIvUhqRvd1Qkni6Nm772BxnDiT0sYoFIfdcF Z7oTnIFm3xB5Twc8ijLvjnpSeiZs6dCSfXQMZF5z4TiLv51L41UHEVR8ktN0UFf0ncYryW 2q5JJjLpVh4ydXCxDRDsZrHbRHlHjLSQoG6eVKkf6lm6PocoSMjrd91RNY4mtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F8yQ/iUs2JO/1s/219ibFEJpys1AnUtO5yDzab4txy0=; b=dB0CmiU7J6SPtQ4XYvL2A0ys6PwVxnpiEaZ05Cfxf6vIM96eFNUSmKeks4u1DtMZxsGIMM nZLu3e8b2JLpWLKj8MzexKgJSCd6nJV9W1BiFFWVoj5Birl4j2t0+/kPCjWDxZnLlZA9j4 WIw7CLIzwuMvLRztlfsCs7ImGBEf+nakbirs/II838WxowY+wnDHQ/fjtI4ibtNf2OUlE+ E4HTYbtW9NHzCj98gcXE54U04BsraySK7/oAGrKADQCPZdN0gvwSed5MCmaBY1E6fjGwzY fnDJsdypntaiVZGAozcUipuGAWR+xuo0AoG5G2zis5Xv75vgwgD25CrsWOIfaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggp2xT3z13Hy for ; Wed, 03 Jun 2026 08:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3af18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: ea09d6148255 - stable/15 - sound: Retire hint.pcm.%d.eq_preamp List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ea09d61482550266b064a9cb35b790014dfcc949 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:18 +0000 Message-Id: <6a1fe476.3af18.5fa32403@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ea09d61482550266b064a9cb35b790014dfcc949 commit ea09d61482550266b064a9cb35b790014dfcc949 Author: Christos Margiolis AuthorDate: 2026-04-17 16:14:44 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Retire hint.pcm.%d.eq_preamp It wasn't documented in the first place, but it is easier to just use the sysctl. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 3a3cb16ad4181700d787e6b24bedafe85c791901) --- sys/dev/sound/pcm/feeder_eq.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index fdb786171d5a..9179148d2bd2 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -542,17 +542,11 @@ void feeder_eq_initsys(device_t dev) { struct snddev_info *d; - const char *preamp; char buf[64]; d = device_get_softc(dev); - if (!(resource_string_value(device_get_name(dev), device_get_unit(dev), - "eq_preamp", &preamp) == 0 && - (d->eqpreamp = feed_eq_scan_preamp_arg(preamp)) != - FEEDEQ_PREAMP_INVALID)) - d->eqpreamp = FEEDEQ_PREAMP_DEFAULT; - + d->eqpreamp = FEEDEQ_PREAMP_DEFAULT; if (d->eqpreamp < FEEDEQ_PREAMP_MIN) d->eqpreamp = FEEDEQ_PREAMP_MIN; else if (d->eqpreamp > FEEDEQ_PREAMP_MAX) From nobody Wed Jun 3 08:23:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggr5JSQz6gJft for ; Wed, 03 Jun 2026 08:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggr4Mx0z3gKh for ; Wed, 03 Jun 2026 08:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kjn8MAGMa6Stq1zo0IC6MsDJrIGre03LHcXl/Jf6CBk=; b=mS/SobKJEYyuFytcMZuWMIdfcRZshWunnOGctYDCBc6ySXQ+OjxQJZ4W8D899721nC/cSv wyO9L2jA0Y1K02C34W9FxEOAnEYWTwwTUVzkV98bjadjJ8waRX0pc4Usmy3qUpE7iCwp4I 93UWwdPjjOVvMF2Wr+1LnHGw3ppXoQLhTb8dJNBpNSdjxfBZQ6cs6Krkk5fX9b8vW/m36U UUwV5ZIu/7PvGmOBDyh/oBvHtpcTjJRTw4ytY0fb3kcRxfEuH99vcgxXmqORsDprZdiS6h IgfVsfbtYU+M5XfPVAcam5Ad6OI0732djyyYKDpjTk+9Jv8gsRdv61TOEZCY6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475000; a=rsa-sha256; cv=none; b=C9wmh1tQpNYWPVUtgz1WS3/SRa8gMFjDB6B7Z56SFYj7jViH3V4hmk34jE8Xj1H1AQrX9g SlMworCYtbwybdFBd86GNLFqJe7+ckAQOeMSR1hROUy6Tjd8wFXRemRje/e2qXDzhJqpiK 52yVcZoB8BIMNY/Li4yrUgk3Dp2+im4nDumZ/CMuPyJB5BO4Ad6QLCBSIVYZIC8WUkRpsD P1N2unip3Wo7TV8eOlSvohdOUN4/4AGjx4TBcxdijD5ULqwIUgi7pbCPMl+XCCTL59RXQl r+30PzfcPaTokQ+pe88ylmX1Kuyfmt+9oHYHlEZS4Ocw/Ym0k2YvtUyhpVL3dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kjn8MAGMa6Stq1zo0IC6MsDJrIGre03LHcXl/Jf6CBk=; b=LHDL/bILsYGUFKkcuYr6k9TMrzhEU6WpcwpeozA42EEb9bmL8ItYUkPwpcuBtYE4C+QcA5 D/Ul31/Rc1pIX1puudrfHXn3n2er6ot2YXc2tryLSo6C3Qf2a8ICY2w0r8gN/0BE/9tTo3 n40XF3XK+oqb5Ov5VU7e+a+uPk7Jk8zz2YO9X44eVxJtf80HbQ2AWayCzxy5/5sxOLzz68 2YcYFdn0hoeZyO1dQ85OYbPirpQzPbEAvQetq1pxVTcA3RxPIRpmPDzYAUNS7qfWkMmHNn AGVS2DGMPOFuRVuc42AMRc2GtYJzit5rse2agVfSjloyGxoTCo8WlnbX3VrDJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggr3tCTz13Kj for ; Wed, 03 Jun 2026 08:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a949 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 65029fee7837 - stable/15 - sndctl(8): Implement EQ controls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 65029fee78371398e0d978a0f08307c1dd23f7b8 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:20 +0000 Message-Id: <6a1fe478.3a949.7bf2ac84@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=65029fee78371398e0d978a0f08307c1dd23f7b8 commit 65029fee78371398e0d978a0f08307c1dd23f7b8 Author: Christos Margiolis AuthorDate: 2026-04-17 16:10:48 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sndctl(8): Implement EQ controls Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 8b8dbc6bbe391fd95a19bd1d9f0aac47bac085f8) --- usr.sbin/sndctl/sndctl.8 | 4 +++- usr.sbin/sndctl/sndctl.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/usr.sbin/sndctl/sndctl.8 b/usr.sbin/sndctl/sndctl.8 index 73414bd95325..44dcb791ca51 100644 --- a/usr.sbin/sndctl/sndctl.8 +++ b/usr.sbin/sndctl/sndctl.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 2, 2025 +.Dd April 17, 2026 .Dt SNDCTL 8 .Os .Sh NAME @@ -82,6 +82,8 @@ The device controls are as follows: .It bitperfect Ta Boolean Ta Read/Write Ta Bit-perfect mode enabled .It autoconv Ta Boolean Ta Read/Write Ta Auto-conversions enabled .It realtime Ta Boolean Ta Read/Write Ta Real-time mode enabled +.It eq Ta Boolean Ta Read/Write Ta Equalization enabled +.It eq_preamp Ta String Ta Read/Write Ta Equalization preamp value (in dB) .It play Ta Group Ta Read Ta Playback properties .It play.format Ta String Ta Read/Write Ta Playback format .It play.rate Ta Number Ta Read/Write Ta Playback sample rate diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index bbc2da6a4ab9..778643a2a978 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -97,6 +97,8 @@ struct snd_dev { int bitperfect; int realtime; int autoconv; + int eq; + char eq_preamp[BUFSIZ]; struct { char format[FMTSTR_LEN]; int rate; @@ -130,6 +132,8 @@ struct map { static int mod_bitperfect(struct snd_dev *, void *); static int mod_autoconv(struct snd_dev *, void *); static int mod_realtime(struct snd_dev *, void *); +static int mod_eq(struct snd_dev *, void *); +static int mod_eq_preamp(struct snd_dev *, void *); static int mod_play_vchans(struct snd_dev *, void *); static int mod_play_rate(struct snd_dev *, void *); static int mod_play_format(struct snd_dev *, void *); @@ -149,6 +153,8 @@ static struct snd_ctl dev_ctls[] = { { "bitperfect", F(bitperfect), NUM, mod_bitperfect }, { "autoconv", F(autoconv), NUM, mod_autoconv }, { "realtime", F(realtime), NUM, mod_realtime }, + { "eq", F(eq), NUM, mod_eq }, + { "eq_preamp", F(eq_preamp), STR, mod_eq_preamp }, { "play", F(play), GRP, NULL }, { "play.format", F(play.format), STR, mod_play_format }, { "play.rate", F(play.rate), NUM, mod_play_rate }, @@ -436,6 +442,7 @@ read_dev(char *path) struct sndstioc_nv_arg arg; struct snd_dev *dp = NULL; struct snd_chan *ch; + char buf[64]; size_t nitems, nchans, i, j; int fd, caps, unit, t1, t2, t3; @@ -557,6 +564,14 @@ read_dev(char *path) if (t1 == 0 && t2 == 0 && t3 == 0) dp->realtime = 1; + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq", dp->unit); + if (sysctl_int(buf, NULL, &dp->eq)) + xo_err(1, "%s: sysctl", dp->name); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq_preamp", dp->unit); + if (sysctl_str(buf, NULL, dp->eq_preamp, sizeof(dp->eq_preamp))) + xo_err(1, "%s: sysctl", dp->name); + if (!nvlist_exists(nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), SNDST_DSPS_SOUND4_CHAN_INFO)) xo_errx(1, "%s: channel info list empty", dp->name); @@ -842,6 +857,32 @@ mod_realtime(struct snd_dev *dp, void *arg) return (rc); } +static int +mod_eq(struct snd_dev *dp, void *arg) +{ + char buf[64]; + + if (dp->from_user) + return (-1); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq", dp->unit); + + return (sysctl_int(buf, arg, &dp->eq)); +} + +static int +mod_eq_preamp(struct snd_dev *dp, void *arg) +{ + char buf[64]; + + if (dp->from_user) + return (-1); + + snprintf(buf, sizeof(buf), "dev.pcm.%d.eq_preamp", dp->unit); + + return (sysctl_str(buf, arg, dp->eq_preamp, sizeof(dp->eq_preamp))); +} + static int mod_play_vchans(struct snd_dev *dp, void *arg) { From nobody Wed Jun 3 08:23:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggq58YJz6gJcW for ; Wed, 03 Jun 2026 08:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggq3nNTz3gSZ for ; Wed, 03 Jun 2026 08:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lY4zRB99TEDUQVsjL1dZabG920gu3rLaUrjTdgWJGo8=; b=exm49Bg1CztaTtp8XNKNx6/+F7XexG+jo5e3fYfpj+BcFTiK9P/L1G1pkkFgK5KlCLboDG VLbh53/08STQs3ss+P20aB0Y7fJXab6r1J/FmIdmB0UboFMOXOBLaasAkjdvXkJuUuWCaq 4mfeZHSC14RrvkLIeYbDSuiCSGcEaQLPpcECcenSpWceF1tKhZMUUja5BMZmd5h76t3OES fHwSXOkPz3zJWIy4Nrdp8/Opz0lUvRlmy4H21NPIXS9qePP1SEMHQXaywv89qgyiZkRoig eh2qV8UwUleBlZuK2vOGDjaNQmR6wa/XHKn0NQJ+yhHRS+ycBdT83JsX7XZ64g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780474999; a=rsa-sha256; cv=none; b=t8tYrfKfBLzw0r8CS1n0J+qnPYfgN7yerXMhDDDJbeLkJ/L50IcmUCnl11frP2nJpfBxsy Q4fo7LlhROAdKzQcCHMS4VyVi/IqiBT1owzuun0hkATR7pYfG41l/FBIZ5Cx5UYLSlxuKr w1ivSsCAOqJGTrx+6TRVwmXNa+LJG6JSST36ejsD1OOv+Bul1IxS/JicSbI8AtwOY2EvOp 7A9+AFl1stFg5EmzfZkaunmIp5O5RBc5T5zgXhN28Ry0ECaQcy8Ta7KS2mATDo/Jb7hwuG eeJseFWfT/ecIpyz7S/Ru7Fhkc2cj78DBLGW1FPQ47OALW9UPDDr1+YYeIO08g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780474999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lY4zRB99TEDUQVsjL1dZabG920gu3rLaUrjTdgWJGo8=; b=fh5CyynN7hl+C1ld0LIyrZshggeeKS96SJmLAcqenZ1upjrgqq4OBajp5pwXaXK2ZhyaZX IEpT3GnkZWX8GUINS96D5l3Ym8frmc+OK5x9u2yWJhcFHbvVMPqSIqub4XCWKkRDHyIsTY gRZOtA+AE+aaxQjac8dhnOE/psQo5GST+4+N9iIVxJJNJjsDzwtOHsZ8fJdILRYKDgH6lC Y5khiFJOkn8jnJCsVqrm7Y1Fiqq4Y3tJt1LZCKhyzbO8I0n5A5Qw7PtgInUEUQ8gDlg2rb C58xRQVls/ZKkUHnKpaE0rxqLzXllrvOCAi50uYOrMjppIN5pncpvLl+J/6O5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggq3Kzyz13rW for ; Wed, 03 Jun 2026 08:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b044 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 9060512d2be6 - stable/15 - pcm.4: Document dev.pcm.%d.eq* List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:19 +0000 Message-Id: <6a1fe477.3b044.47709096@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 commit 9060512d2be6e84dbdb6e2fd06cef7e67cb7b774 Author: Christos Margiolis AuthorDate: 2026-04-17 15:47:44 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 pcm.4: Document dev.pcm.%d.eq* Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit 98a62ccab6ac30d13c2dbcdc7468af8f87df4ec9) --- share/man/man4/pcm.4 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 1efebffcc424..f576209c3e1f 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -430,6 +430,17 @@ the definitive format/rate target. The recommended way to use bitperfect mode is to disable VCHANs and enable this sysctl. Default is disabled. +.It Va dev.pcm.%d.eq +Set to 1 or 0 to enable (1) or disable (0) the equalizer. +Default is disabled. +When enabled, the mixer bass and treble controls can be used, as well as the +.Va dev.pcm.%d.eq_preamp +tunable. +.It Va dev.pcm.%d.eq_preamp +Equalizer preamp (in dB). +.Va dev.pcm.%d.eq +has to be enabled, in order for this tunable to take effect. +Read the tunable's description to see the available range of values. .It Va dev.pcm.%d.[play|rec].vchans Enable (1) or disable (0) VCHANs. Default is enabled. From nobody Wed Jun 3 08:23:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggx1N1Nz6gJlW for ; Wed, 03 Jun 2026 08:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggw71Nkz3gKj for ; Wed, 03 Jun 2026 08:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOulIY1wTGE7cauKeiJmTUHFgWCxEB5T0JHLkws09lg=; b=KyzErcK/J0LDtbiDqMKJHnmUquJKyhzgPuOKZXS/m01sZXxfKTc9LFjDGLZF8ipG1nGw9y uW8xBp8nT6T5pHLbN9qHFmNYRv4ScYX/3ps2sjr6ezo+GQEGduyoA+71DzhE/iYMX2APhc t0rCtFhb4p+QAo1mRXcTR2Sn9oW4y4Ki8XAem0blmBhyYIReXvaJaoFRLPCtOOJaK085J/ A+CpZipiEat52g0R4GV+vKFFnAnPCpka2V4pfbA49tTMSP+KxQb2SfJdQW/d7Y7JDk6Dn/ QsS/Br2wuaqjufc/1SueuJ8+8MgYWEP/xv0z6oBhgnwQRokhSa+roqzZq7plYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475005; a=rsa-sha256; cv=none; b=P8ezEvk2B1+brg12/MKIpZV8fTPmyAN75rUJkB5106EiroRK2fbos6gHiwdAPNk63SXSH3 4XeNtVlj56Z0pOcKmHdPYKmP/WlcPjdH1an9n/Q5SgJfevuMeiHvUGBTkACPeF+oj6yBhL Xds0FjgumheEIe+LijlQ3cnQF+9mxQHYKe2cjLERQWUKKP4voRUImBXPlZGQLN4KJvilWD zR1PSstNNGJI+N93AvaPXQy/bVR8Qq3yba5NpYYm1wXqWNbNvvYh+hbXIwVKtOnHVTq8tl hxo6B0mguO1utNUHhBD7StLgLZmFmot8mD/fwjwQd+6JRSjewzub4kPFk0mieQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOulIY1wTGE7cauKeiJmTUHFgWCxEB5T0JHLkws09lg=; b=bkpijSAR2CsahnGz9TiS9VWjszrQO26ip1gYQ9q4O0rwfLqaIdkD5fCAsOP87bC8odEYTt r/yL+aZQ8ciShXPvoBMiXFNMae0yJg57TOo/Mwx8ZgkiUhAeoON3szNXiy3r2K8maSRYmU OzkkW1d3KXycEvpdE49SBpXSyNLf4rRJVHof3H9+F6fCQdB2C5Mw0durBTmlcvctrUsAhX FJeH2TGNZooVaKYMbmfR4ftrFrZD/H6jXBikw96m+s3MHXUzxOirsCeY/Iv9fxFPZqmQcb H3V76n6Lj3QbqLFrmjl8FJ/5nrtVDfDPnSX/qQca34rrKuQoZREdup5N4D5ABw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggw6YGKz13Wv for ; Wed, 03 Jun 2026 08:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38ffa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: f94bb91ac69c - stable/15 - sound: Retire unused hw.snd.vpc_mixer_bypass List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f94bb91ac69cdca93535349f3739d1ac76cd863d Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:24 +0000 Message-Id: <6a1fe47c.38ffa.5c07d912@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f94bb91ac69cdca93535349f3739d1ac76cd863d commit f94bb91ac69cdca93535349f3739d1ac76cd863d Author: Christos Margiolis AuthorDate: 2026-04-16 11:25:20 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:24 +0000 sound: Retire unused hw.snd.vpc_mixer_bypass Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 8e804f3dd6298d6aa8cbaf0f2a0267c6207ac8f7) --- share/man/man4/pcm.4 | 9 --------- sys/dev/sound/pcm/mixer.c | 5 ----- 2 files changed, 14 deletions(-) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index f576209c3e1f..14d7e52eed5d 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -407,15 +407,6 @@ When a channel is closed the channel volume will be reset to 0db. This means that any changes to the volume will be lost. Enabling this will preserve the volume, at the cost of possible confusion when applications tries to re-open the same device. -.It Va hw.snd.vpc_mixer_bypass -The recommended way to use the VPC feature is to teach applications to use the -correct -.Fn ioctl : -.Dv SNDCTL_DSP_GETPLAYVOL , SNDCTL_DSP_SETPLAYVOL , -.Dv SNDCTL_DSP_SETRECVOL , SNDCTL_DSP_SETRECVOL . -This is however not always possible. -Enable this to allow applications to use their own existing mixer logic -to control their own channel volume. .It Va hw.snd.vpc_reset Enable to restore all channel volumes back to the default value of 0db. .It Va dev.pcm.%d.bitperfect diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index be4447b13964..d73361fe7e16 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,11 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -static int mixer_bypass = 1; -SYSCTL_INT(_hw_snd, OID_AUTO, vpc_mixer_bypass, CTLFLAG_RWTUN, - &mixer_bypass, 0, - "control channel pcm/rec volume, bypassing real mixer device"); - #define MIXER_NAMELEN 16 struct snd_mixer { KOBJ_FIELDS; From nobody Wed Jun 3 08:23:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggz2XFmz6gJx5 for ; Wed, 03 Jun 2026 08:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggz1LHkz3fyL for ; Wed, 03 Jun 2026 08:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ikJzfCFq2afm81wXjrpXMyBVsB7icJ2ejAbckngkYs=; b=gJucFLAaNekm6jSaJktTSuYCXDaR9NHs53dotpx/aEyrXBzFOSVKMITgXxAObydjkZc/ih V62T+i4nD7Kqt+AsvdKC9NRytTVCGU59hjsv8MmSoU/lmWpkI3H289WLLnaTxnpB2jsWd8 2RQYtP24227LzeO9LIV+/MWpXRhahJw8aRrqerEiGskyDfCgGbLzj3mbxCr523jsGLoMgn 0QpTZ3oJgXwM9rvHgKHqLvPnvDWO/2BTJhV/PjKQK0dGr8Z39Q0NdiFguAFkiDu7Ik7AwQ 2adLFRRDCZDwtTMN3/akU1IPtxPTDGk/IqxtrB3B7Ckj0BqA23AJ/G97cobKUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475007; a=rsa-sha256; cv=none; b=jfYVz8Y6yK7elu05NxtU1W6gN/Wq6dxInqNrJcxtO5KSVhdV2pTlzXnlJeky0mBhaFGqTF 97BsseoKI6WTEw0j0iSxPFy0ISnBSb2hYZzIQKkVGUMEUOfFCrf98CRjRzDo4YhifVwGA2 tmBKBKERurU4qX0yjc3AJFdtwZp9sNDiJE5lRshgUlyrWTtviuYebx19dXTV8THyRtkpIK RPKOcDvHtWMmzXY3FeR3vgWOEBezRVbZdF/iywWbW/+dV3+fT/ZwJoJvLFAfbOqYhmmR9e oDf2Hq2/zfFdVuCuFX3kEZ4jF6NR94XqxnYWMzkeTw4yNTa8u+1s3EHbMe6tsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ikJzfCFq2afm81wXjrpXMyBVsB7icJ2ejAbckngkYs=; b=Wxjad35WladRsp98QdjAkXO9e15M5YwdL6ZzL76H4Whs05thGR0YP+3o6APrhj+V9vqbou DsvnwQn5mv5px60eCoNvWwZcd1aY8k+pz3N6Vz/43UuGHHT3td+GrG6Wrbec7biyg6RSS4 yR3hdVdnWCiA1ea2GsBrMlCDfwH7qgZq56ERPL2lE8fwd+Dj9LD7nVuW7inyFxzzv4seb8 0bpbVFHk1vdfuNNWE0+oj4E/1PE1M7BFsoD3UqROOY6CH4moy+ojXPC0zJYyWzZ96/djx+ SaTBJ2/rEXVQcdDYxaEIBjtGIXYCdDKwG/+e3tKHxCivfAsbqV9yANU/OO95Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggz0xzVz13ZQ for ; Wed, 03 Jun 2026 08:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b73e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: d608731d556d - stable/15 - snd_uaudio: Do not use snd_mixer->lock as mixer_lock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d608731d556df49572f347db6663d5a53609b6f1 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:27 +0000 Message-Id: <6a1fe47f.3b73e.60092e2@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d608731d556df49572f347db6663d5a53609b6f1 commit d608731d556df49572f347db6663d5a53609b6f1 Author: Christos Margiolis AuthorDate: 2026-04-16 12:15:21 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:58 +0000 snd_uaudio: Do not use snd_mixer->lock as mixer_lock In similar fashion to c234740c9d34 ("snd_uaudio: Do not use pcm_channel->lock to protect uaudio_chan"), stop this layering violation, and introduce a snd_uaudio(4)-internal mixer_lock. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 9a00e0b8ca566b6942874eb08c03baf035a17702) (cherry picked from commit fc9dc848239652ec1e4135adb4833a5f002cef0f) --- sys/dev/sound/usb/uaudio.c | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index f477eb768fde..eedd52774b70 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -356,7 +356,7 @@ struct uaudio_hid { struct uaudio_softc_child { device_t pcm_device; - struct mtx *mixer_lock; + struct mtx mixer_lock; struct snd_mixer *mixer_dev; uint32_t mix_info; @@ -2955,12 +2955,9 @@ uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS) sc = (struct uaudio_softc *)oidp->oid_arg1; hint = oidp->oid_arg2; - if (sc->sc_child[0].mixer_lock == NULL) - return (ENXIO); - /* lookup mixer node */ - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); for (pmc = sc->sc_mixer_root; pmc != NULL; pmc = pmc->next) { for (chan = 0; chan != (int)pmc->nchan; chan++) { if (pmc->wValue[chan] != -1 && @@ -2971,7 +2968,7 @@ uaudio_mixer_sysctl_handler(SYSCTL_HANDLER_ARGS) } } found: - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); error = sysctl_handle_int(oidp, &temp, 0, req); if (error != 0 || req->newptr == NULL) @@ -2979,7 +2976,7 @@ found: /* update mixer value */ - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); if (pmc != NULL && temp >= pmc->minval && temp <= pmc->maxval) { @@ -2989,7 +2986,7 @@ found: /* start the transfer, if not already started */ usbd_transfer_start(sc->sc_mixer_xfer[0]); } - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); return (0); } @@ -3220,10 +3217,7 @@ uaudio_mixer_reload_all(struct uaudio_softc *sc) struct uaudio_mixer_node *pmc; int chan; - if (sc->sc_child[0].mixer_lock == NULL) - return; - - mtx_lock(sc->sc_child[0].mixer_lock); + mtx_lock(&sc->sc_child[0].mixer_lock); for (pmc = sc->sc_mixer_root; pmc != NULL; pmc = pmc->next) { /* use reset defaults for non-oss controlled settings */ if (pmc->ctl == SOUND_MIXER_NRDEVICES) @@ -3235,7 +3229,7 @@ uaudio_mixer_reload_all(struct uaudio_softc *sc) /* start HID volume keys, if any */ usbd_transfer_start(sc->sc_hid.xfer[0]); - mtx_unlock(sc->sc_child[0].mixer_lock); + mtx_unlock(&sc->sc_child[0].mixer_lock); } static void @@ -5392,8 +5386,8 @@ uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int val) } static void -uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, - uint8_t chan, int val) +uaudio_mixer_ctl_set(struct uaudio_softc *sc, unsigned index, + struct uaudio_mixer_node *mc, uint8_t chan, int val) { val = uaudio_mixer_bsd2value(mc, val); @@ -5402,7 +5396,9 @@ uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, /* start the transfer, if not already started */ + mtx_lock(&sc->sc_child[index].mixer_lock); usbd_transfer_start(sc->sc_mixer_xfer[0]); + mtx_unlock(&sc->sc_child[index].mixer_lock); } static void @@ -5439,13 +5435,13 @@ uaudio_mixer_init_sub(struct uaudio_softc *sc, struct snd_mixer *m) DPRINTF("child=%u\n", i); - sc->sc_child[i].mixer_lock = mixer_get_lock(m); + mtx_init(&sc->sc_child[i].mixer_lock, "uaudio mixer lock", NULL, MTX_DEF); sc->sc_child[i].mixer_dev = m; if (i == 0 && usbd_transfer_setup(sc->sc_udev, &sc->sc_mixer_iface_index, sc->sc_mixer_xfer, uaudio_mixer_config, 1, sc, - sc->sc_child[i].mixer_lock)) { + &sc->sc_child[i].mixer_lock)) { DPRINTFN(0, "could not allocate USB transfer for mixer!\n"); return (ENOMEM); } @@ -5470,7 +5466,7 @@ uaudio_mixer_uninit_sub(struct uaudio_softc *sc, struct snd_mixer *m) if (index == 0) usbd_transfer_unsetup(sc->sc_mixer_xfer, 1); - sc->sc_child[index].mixer_lock = NULL; + mtx_destroy(&sc->sc_child[index].mixer_lock); return (0); } @@ -5488,7 +5484,7 @@ uaudio_mixer_set(struct uaudio_softc *sc, struct snd_mixer *m, for (mc = sc->sc_mixer_root; mc != NULL; mc = mc->next) { if (mc->ctl == type) { for (chan = 0; chan < mc->nchan; chan++) { - uaudio_mixer_ctl_set(sc, mc, chan, + uaudio_mixer_ctl_set(sc, index, mc, chan, chan == 0 ? left : right); } } @@ -5529,7 +5525,7 @@ uaudio_mixer_setrecsrc(struct uaudio_softc *sc, struct snd_mixer *m, uint32_t sr for (i = mc->minval; (i > 0) && (i <= mc->maxval); i++) { if (temp != (1U << mc->slctrtype[i - 1])) continue; - uaudio_mixer_ctl_set(sc, mc, 0, i); + uaudio_mixer_ctl_set(sc, index, mc, 0, i); break; } } @@ -6186,9 +6182,6 @@ uaudio_hid_attach(struct uaudio_softc *sc, if (!(sc->sc_hid.flags & UAUDIO_HID_VALID)) return (-1); - if (sc->sc_child[0].mixer_lock == NULL) - return (-1); - /* Get HID descriptor */ error = usbd_req_get_hid_desc(uaa->device, NULL, &d_ptr, &d_len, M_TEMP, sc->sc_hid.iface_index); @@ -6247,7 +6240,7 @@ uaudio_hid_attach(struct uaudio_softc *sc, /* allocate USB transfers */ error = usbd_transfer_setup(uaa->device, &sc->sc_hid.iface_index, sc->sc_hid.xfer, uaudio_hid_config, UAUDIO_HID_N_TRANSFER, - sc, sc->sc_child[0].mixer_lock); + sc, &sc->sc_child[0].mixer_lock); if (error) { DPRINTF("error=%s\n", usbd_errstr(error)); return (-1); From nobody Wed Jun 3 08:23:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVggt2xvHz6gK0B for ; Wed, 03 Jun 2026 08:23:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVggs56lzz3gN7 for ; Wed, 03 Jun 2026 08:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vlCdGntXT4OYORQqCPlws9CqvCKx0Mn+PEcD0REnZg=; b=jnUA0y3kR+ptBe24pxXfgTWdROYLkDHqNr3WY8NTelLa3WT4fWqWxb7h7PALw6r3lwDL5M vm6yqbV0FjclVFHpaqjNd6ewDmF9EGjlbcrbP3RxEb/JgJLYEYlxRdSftr5lyvkkay82T/ T06uk3DBR/9PEI9qovRsaCdRowOszfWeDlExBBW/v48jaTMTArK4s3NVFgQTk9UbnWnSOk 9XYeFP2DkIS7HcV0XM8dqT+X0VfFefbbKWeBlzxuOywUuD3YMqS5/k5JlE7qtfKbTo2A30 sg3ua763qCoLdoZIVgIHGd52lIs0nf/SUaAt0vKbHo90SD5u9JRztRsWBVD7sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475001; a=rsa-sha256; cv=none; b=Y/eiVJgGtx/IPCde3z0ch2gRwpw4u7DFe7oqpDHZAw+LD7St97EqpgiA/UDUQnaaQnlk7w NVgYoAvLw51yudxlUOcBEGLt+yp8OUvgCIOhKBsSo2plXM8zgXXZggkJrTGQyiAiZqiQkw +ggBCUzXY/ZLmQzmsaJ9rNqQnCsELhAQHASHDiJ4pT6n4LcXXJ3mXBNXL99WGVxyd7kgXp K20o9xX+UtbgB/Gb1nPirExHXkIQ0m+lH1I7GlCU5ejlIXBwYB5A2oG8Vp3zy9F/mjgGXl R20P8vK+steEfpZtZumBhKjkKR3CGm4SNURhEAk5+AP+XodqMUfEBaLOduRBrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vlCdGntXT4OYORQqCPlws9CqvCKx0Mn+PEcD0REnZg=; b=o1FI2eh5K9ld5mhTTs+b4CQQ5s2BMsw9cejRNvNrHUdQ8KFmtfzZGYD+WzZxmBXkxyrKEO vDvhYBX+XNKijgr9wUWusMvZLwAlDZnn81KDAx/oG16D2gkbM1jjazGbk70bUdVvxvxDbm BIkl1NvYhmnspMMlzsxlwG+oMg9d0GVNy9KvaF90QevN9ORSJ5OIClWi0Y8V30v2p+8Itc ByOvr70QLzIbDxhpDzSyU07DqBTLH6bKqDgJNitLDVeToBJ1IG+jyGAVbhjx2OfOygshy2 cIScY2KT8q1X89AyFEcHvyVKzRJWCHOBHuvt6+NN5L0czBy/YnfVoANlogxP6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVggs4gThz13Kk for ; Wed, 03 Jun 2026 08:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b73a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 755a785affcf - stable/15 - sound: Update feeder_eq.c LICENSE header List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 755a785affcf60a2a1cd5b860a55693cd28d0ceb Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:21 +0000 Message-Id: <6a1fe479.3b73a.20337e9f@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=755a785affcf60a2a1cd5b860a55693cd28d0ceb commit 755a785affcf60a2a1cd5b860a55693cd28d0ceb Author: Christos Margiolis AuthorDate: 2026-04-17 16:54:03 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:22:23 +0000 sound: Update feeder_eq.c LICENSE header Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/15 (cherry picked from commit dfa52e8ed5b5c00f0a587f02258c90e407e5bf6b) --- sys/dev/sound/pcm/feeder_eq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 9179148d2bd2..0a28dfa1ba17 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -3,7 +3,7 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. - * Copyright (c) 2024-2025 The FreeBSD Foundation + * Copyright (c) 2024-2026 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. From nobody Wed Jun 3 08:23:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh60g1xz6gJX0 for ; Wed, 03 Jun 2026 08:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh55wX7z3gFB for ; Wed, 03 Jun 2026 08:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PPDtnna0fS5Mq1a7rq7/4fFDOEHesYxtLMKipZPICXY=; b=Ok/J9O99u7Ef7DWXWrUYhlQyjaIBVEqKdFckovUQ/GlOf183csP76Sbww37J3lyIdDl+pV ctsn5XjCYq33PMSj8N5Ae8RqWOOBySBRLJXYJU/Ku6/r84YcsuqEvT0S4apbUBRYt2Adkk eERghuGUlJFXLemUIRKdE5K6Yt3MV4Qn3gAuV1r1L1UowO6h/xy+UCw54IXGwD3OpFLw7f upkzOZY3rvceVd43Ki0+i+DVSIuVNUji0msy6hz3fULp3g+SJz4njzzZoYwC8mMnKdbFV5 XFGwUZjnKoVgq6LMKRC+FGaGE6z4zeLqLDUeHq5/u7COJ4Hfp9UKBMSl4tExmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475013; a=rsa-sha256; cv=none; b=s5CYVde+TUk24Xyo7jNweJAYr9t7XajUAAwai1B3DEyTkzk1o+L+/Z3Xhwf+utinVnzODv vZyRAAeX90OzuvoZNO32295Jooe46gkfDpqXFfejhb7rK6l/0fjhel48jjAxhAiR7LJzBC GAMYe0WZxSdU9+VNAf5xaHyr4Kvz1DE+joevwQQgVPfJZi/71AeTpqXcQso+o2ne0772oY 4IhOgK1TTdizD0i/Bx/seeTEdB+Fo75OPM+qO9CIfMDyw3XRtL5viJQWfCH+kA1KjAy+oB t/AgpCb5Y9embX5/13itQt514QEBRQGHwukEgHLfpWILPxwzkC5IAll6ZujirA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PPDtnna0fS5Mq1a7rq7/4fFDOEHesYxtLMKipZPICXY=; b=J7lP0BuZp1P3X4zOFfGo76bvqmTMMZzi6of7T9SbTrFUUFiLfS8xmSSYYXS8UAk0vqCN1q 9faZz39UbMfc6sxbNV/0cNv/8C552L7dW4Fb8HH4l6jpYe8TiYkmEwU+/CKEvTduSCPti8 izp5sr1ZgdASIvz30m4loLTS/wZn+ctZ+f6S+1eru0BMRwAumE9QxIA7FCp4o+slFYnvzj yW0SNQXVpfMcvUpZJLW+xKxTWll82sbodjSGlllysRVCU09RPdm5eb//aA9otpnVALuHsM JCMl4nokn5NXkfcpg8sY+xxoSw2yIFErrynvbVHGnItjRixCj/BgwGx3mrEbDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh55KT7z13p5 for ; Wed, 03 Jun 2026 08:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f4f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 323e28ed4cac - stable/15 - sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 323e28ed4cacbbf6184f0d0b780066cb23ef217c Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:33 +0000 Message-Id: <6a1fe485.39f4f.4ef83810@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=323e28ed4cacbbf6184f0d0b780066cb23ef217c commit 323e28ed4cacbbf6184f0d0b780066cb23ef217c Author: Christos Margiolis AuthorDate: 2026-04-18 10:29:39 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS I am not sure why this hack was needed, but the size should be sizeof(struct snd_mixer). Unfortunately, we have to expose snd_mixer, but it should be better than relying on a hack. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 64ebbb1d74415cb93445cc625da63449f01ac8c5) --- sys/dev/sound/pcm/mixer.c | 22 ---------------------- sys/dev/sound/pcm/mixer.h | 32 ++++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index e61371d13610..8d96486c862b 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -37,28 +37,6 @@ #include "feeder_if.h" #include "mixer_if.h" -#define MIXER_NAMELEN 16 -struct snd_mixer { - KOBJ_FIELDS; - void *devinfo; - int hwvol_mixer; - int hwvol_step; - int type; - device_t dev; - u_int32_t devs; - u_int32_t mutedevs; - u_int32_t recdevs; - u_int32_t recsrc; - u_int16_t level[32]; - u_int16_t level_muted[32]; - u_int8_t parent[32]; - u_int32_t child[32]; - u_int8_t realdev[32]; - char name[MIXER_NAMELEN]; - struct mtx lock; - int modify_counter; -}; - static u_int16_t snd_mixerdefaults[SOUND_MIXER_NRDEVICES] = { [SOUND_MIXER_VOLUME] = 75, [SOUND_MIXER_BASS] = 50, diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index b16256862b4f..34f0514c6271 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -30,6 +30,28 @@ #ifndef _PCM_MIXER_H_ #define _PCM_MIXER_H_ +#define MIXER_NAMELEN 16 +struct snd_mixer { + KOBJ_FIELDS; + void *devinfo; + int hwvol_mixer; + int hwvol_step; + int type; + device_t dev; + u_int32_t devs; + u_int32_t mutedevs; + u_int32_t recdevs; + u_int32_t recsrc; + u_int16_t level[32]; + u_int16_t level_muted[32]; + u_int8_t parent[32]; + u_int32_t child[32]; + u_int8_t realdev[32]; + char name[MIXER_NAMELEN]; + struct mtx lock; + int modify_counter; +}; + struct snd_mixer *mixer_create(device_t dev, kobj_class_t cls, void *devinfo, const char *desc); int mixer_delete(struct snd_mixer *m); @@ -65,13 +87,7 @@ void *mix_getdevinfo(struct snd_mixer *m); #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ -/* - * this is a kludge to allow hiding of the struct snd_mixer definition - * 512 should be enough for all architectures - */ -#define MIXER_SIZE (512 + sizeof(struct kobj) + \ - sizeof(oss_mixer_enuminfo)) - -#define MIXER_DECLARE(name) static DEFINE_CLASS(name, name ## _methods, MIXER_SIZE) +#define MIXER_DECLARE(name) static DEFINE_CLASS(name, name ## _methods, \ + sizeof(struct snd_mixer)) #endif /* _PCM_MIXER_H_ */ From nobody Wed Jun 3 08:23:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh254cfz6gJx8 for ; Wed, 03 Jun 2026 08:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh23hFnz3gNB for ; Wed, 03 Jun 2026 08:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SqUFH5n6ZXmtscNR0QM3tyCTSryk8Mv8iXmeWeQdIUw=; b=oYe89J2r2IXeuxl5nWmhUznHsCd9+CpoEwDu2wVeja6SLmUodFZNzytwUr2uUowxQ+RaDF TbOUB5/cNOZW0jSn/4kHGO/yZvNxAgjtQNZfqp0ss42PlUANsBO3J6vABpOTkFYml1TR8D d8Vp2uzsFFkwuxIfaxfydQiMFiSzWAl33no1YrjEHGHWTl6zv82ho2tk0+cDxJxy4Vn5HZ hZcxaJD8KN+zyCqRVYKqOMpBYkOwzx2655HufSdnXeIuecom1QIJga+xdqytwOvHNbck8F 2ImgFrJjE05WZkhORo+OwDpiJQQCStQ9dBnes90SN7pfARDnR5aX3GnQc+26ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475010; a=rsa-sha256; cv=none; b=mbUvmGAMOnjrFYR9ZZ69YbUko4l3aw65A4lori5HSWFNtt69Rd2wh9FR0shbZGnzO5fzpn LhRpY0mRAUXzJoH9mIKtMyjiqtxMrSePor0ipdt8YNcF1Ad47wmlQPATB9iw+Vx/fAMznE eZJAfoKQjQrj8UV18t8I4VGBFwaKSlY9D48dy3tBJ1PWVu76p/TnH8RsPP02hO9vqHxJwp BqBoRxu8WLo15g7k9ywVc17YtuhQA8RFSYB2M4oKjRVBS6SoLWpoS5XcPhFKpH4AyXD4/u mm00nB+yh+f8kP+3ajCxKaT77kvgFnNuSSQrRystsg5TzhR2dQSLy6TvbuKAbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SqUFH5n6ZXmtscNR0QM3tyCTSryk8Mv8iXmeWeQdIUw=; b=VAnCfkBdlabH8ZyAMVjsbvEJxSbAQSFJxeYegOfhxdJTRqIA4h1wJnMEE+2aQHxumU3p2A oa7CsHFOA+DRYWLqqa1QKQKuGVp7zX6TyRxKWavZ2mg8p6SG9hC7DVh/f1GAmf0eeUcNr4 B+x2Il7EBBBo0VNV21UnDaaTfexaoJ3xJZ6Y6f8l6AE6AUTD2zHDRa6jGJFRrQBYXRHptK WlUV/BAKLU1a7G8M+fVAj86AgWxUvuzVx4gmOCGid/yLC9OCty6m9wkzAGvym6TJtDi97p xjwyjkOqMjjJpBQLxxBzVWVVq8L4/c41Qk77oWaeHZsk/HqqtxIVI9whvRKj6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh231THz135x for ; Wed, 03 Jun 2026 08:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b60e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: da80fa2c3d6b - stable/15 - sound: Retire unused mixer_get_lock() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:30 +0000 Message-Id: <6a1fe482.3b60e.17ff6da8@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 commit da80fa2c3d6bcbb5e1530ff93512f23f6e4d8903 Author: Christos Margiolis AuthorDate: 2026-04-16 12:46:48 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire unused mixer_get_lock() Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 6a3a42c57cf45874294105419f5c5de6602db3f8) --- sys/dev/sound/pcm/mixer.c | 10 ---------- sys/dev/sound/pcm/mixer.h | 1 - 2 files changed, 11 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 73d1b5870b83..1baeb1b23077 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1382,13 +1382,3 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi) return (EINVAL); } - -/* - * Allow the sound driver to use the mixer lock to protect its mixer - * data: - */ -struct mtx * -mixer_get_lock(struct snd_mixer *m) -{ - return (&m->lock); -} diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 4ced76082e31..b16256862b4f 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -61,7 +61,6 @@ void mix_setparentchild(struct snd_mixer *m, u_int32_t parent, u_int32_t childs) void mix_setrealdev(struct snd_mixer *m, u_int32_t dev, u_int32_t realdev); u_int32_t mix_getparent(struct snd_mixer *m, u_int32_t dev); void *mix_getdevinfo(struct snd_mixer *m); -struct mtx *mixer_get_lock(struct snd_mixer *m); #define MIXER_TYPE_PRIMARY 0 /* mixer_init() */ #define MIXER_TYPE_SECONDARY 1 /* mixer_create() */ From nobody Wed Jun 3 08:23:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh35mWtz6gJch for ; Wed, 03 Jun 2026 08:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh34L62z3fyP for ; Wed, 03 Jun 2026 08:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOwwyYswPHCETzXMrkxH71HIMYH7BQOX0/W1I8Vw0p4=; b=NH4HfXDbzmkxNi12xHaq7Qs4FHIFdiZDH24AKFC6ujuc2SlrpYSSq1Gyx2vTRgN/LFJHen DoPj+XHUB45BkaRZOkB7f7SdkNqtmT9tSvea7IG5QcD+5slndLyie95/iFm+rv2wywUvcK 5JIoEF49pq7qBjKY5E6GgNK159a9mLqTUQLlk3qSQaPlBsJCo8rDh1AmXpxiqYgEO6KsjV sxpG1gzYFWUnrINZ5oO0HNf+hBWU3ywBE6dui1AOxn2Ysn1n+Xvm52ZQioTRrhbJrq/xnX fiRxr8TVTScnqN7TostBHjvvZON4kCY+iGkiKvHrc7GQDr0EpIVkV17vZEKJ3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475011; a=rsa-sha256; cv=none; b=QUT7dmHGddigi8yYdbIJSG0pVX9E2FRFclV/JtrGahXZGrR33679pLBr6gZFxRMApyQeDb 04G9Eyh42R9TmlZaBaXv70n3BFuhWScvNT/K1qFl5UWQATW8qgOXQWvC4SSmNQK2g6kNdx qgs9NEAP7fWrVwDidscg+P1XLK+KBfHWoLkMyzGGYVghnWELLHZNmchy3GcDk7wk9FV8od nRxVYP7ohmEpQgtOb/W3N2kUQwwtK2sWfDTJk5zjseJu03aSeWlpJ0zwZ2/Yw5QNy4X3HS mZ92ftR8srmBdHVIu16WS3KMxo6vEpT/rY7nR1qWQah8UV7BZB2tteBcl10R/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOwwyYswPHCETzXMrkxH71HIMYH7BQOX0/W1I8Vw0p4=; b=V/kdc9ep7QfMXqRV9jEZsDnmIrbCL99upySb/KHj7tMr3Q5ktBgmfFUPqUFrV4pY5NOc6o H76AaZ0T8kM+wa50LcFsbjmGDlJgCU74Kf6yN7tFGCESjBgw9iulg5LLdUM7E9+g4UoBGH nTZ/dZFYKSVpXZ5xzTVOwoiMxWhnO5Vn0mzdJ4D0LvBuDx4dmSVoNyUZ25Ik4bGYmNr9UQ oIFPI6y2VlYMK2plzyDEla4gwnGjB7F1Iv0B8MKsUpVxA4WQN6OITGZR2t48zbg8P1/ZFr 2tkh5SxKDMZaW5vZE8IVlmm6mFq/diuVZ9OKH4ZbxygttHi/Ah+IxadRWY2+GQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh33s6vz13J3 for ; Wed, 03 Jun 2026 08:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: b8d119c96986 - stable/15 - sound: Do not lock before destroying snd_mixer->lock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b8d119c969861cacd81d83d112c8c1eb8e23c428 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:31 +0000 Message-Id: <6a1fe483.39f4b.740d9992@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b8d119c969861cacd81d83d112c8c1eb8e23c428 commit b8d119c969861cacd81d83d112c8c1eb8e23c428 Author: Christos Margiolis AuthorDate: 2026-04-16 12:51:56 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Do not lock before destroying snd_mixer->lock Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 7485519d56346909c4db595ab0342128353d5b8d) --- sys/dev/sound/pcm/mixer.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 1baeb1b23077..0001ea7b481a 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -650,7 +650,6 @@ mixer_obj_create(device_t dev, kobj_class_t cls, void *devinfo, } if (MIXER_INIT(m)) { - mtx_lock(&m->lock); mtx_destroy(&m->lock); kobj_delete((kobj_t)m, M_DEVBUF); return (NULL); From nobody Wed Jun 3 08:23:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh13sMXz6gJcf for ; Wed, 03 Jun 2026 08:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh12y9Nz3gF9 for ; Wed, 03 Jun 2026 08:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nk4rXQ3UvRYEGCxPPQgj4RYuW2bE4aylBkLQpukxuw=; b=v/jWPcjOyDirmbXHGvOutu9RFIw/9e+v+etYV+tEDyda8s6dHKV403/eW4Ina0LsalKOY4 X1Tli9XOFFAH0qN2YAa9JYSzANVmVddussTleYgu1iJtA+OOmowIIyaijC5aC1NhaGqT0s 1Ub9gOgM4LadUQAzryMr8oJPoEA9d2cxrnBcvvhCFiNCUA+ehk4jvSGtcB+glKzoswSDom 3aGHKSIiiR8K5WbMzXzX3bVIf50rVLybKk8WmNHz+MkQdl1e+HekNN0+gwPSrFfEKlCnt5 ODud0qFVNOsoOUPoe4h5EIx0GGeJvqTJeThdrqwAN0BA5vrJcyhbLPW73oewPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475009; a=rsa-sha256; cv=none; b=ivnTNzdV8Uqe+Aw0rKbECbxJ/tBXWS2Hc7Z9M5x0UNDEUcyEmo5R14No5u7KdEca1hjVDC MRNgEd+WLIZ3SFYDSe3tFq3Xez66wVBrdPoBZ2nDF7XAryft1gqZp6pps3ojTTfPb+HbVI i/APBn5VGqAElsQPud4pr2hvOblY2r5NiVhcos1f1F9yrGvmbrzhUI9yU4PVD1Lp4+L052 IWUGAFeSiEANP7IF62F4pkWD0imEY+291BzBvWlDzb3/eHLCKAF6/M6CBNFLrjJyPq0vOa FNyCslOV/rkBb9pdvu3RPniXUpKYnBCfpmsPO26qTOrvGD9nREQN1XhcqWh5Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nk4rXQ3UvRYEGCxPPQgj4RYuW2bE4aylBkLQpukxuw=; b=j/TaFh4pUY93f16+mUpwWEL87krRuRDiZeSddt06KPIJlzla5QybS5WwAeNEW+v29+ZwGz MgHpOYepgqpO2Zq17IeVMIK5EipkdD+iVXm6ycqpjY/+sQy7ZVFjzDDK70U6Wq0Us1petg Rj78MjtMP5p/ekIgKjddbYxw2AK9vMeDZb8O52xOcyVZfnHe9VYt66D2vxq66BXkEI1hhr 8HEQrqtTyh2tJJkR9o7mI09vWZLqbFVoHW/T/sn9SprlJpGQTylNri95a2lavB1Nr2mLts CUDR/AuewcAQB40kAsZ4Jv1sSb07TCeqh8Jb+gJk553YzjBynRESauJiOLUU0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh12Ctcz135w for ; Wed, 03 Jun 2026 08:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f47 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 1ed48176bc0b - stable/15 - sound: Remove all remaining uses of mixer_get_lock() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1ed48176bc0b3c3bc245d11764e82f9d95559787 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:29 +0000 Message-Id: <6a1fe481.39f47.97af30e@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=1ed48176bc0b3c3bc245d11764e82f9d95559787 commit 1ed48176bc0b3c3bc245d11764e82f9d95559787 Author: Christos Margiolis AuthorDate: 2026-04-16 12:41:13 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Remove all remaining uses of mixer_get_lock() These functions are called from sound(4) through MIXER_SET() in mixer_set(), but nothing mixer-related is used or needs to be locked in these cases. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 1e72608a3c6a60b76938c5ded2a290d0b9ff6456) --- sys/arm/allwinner/a64/sun50i_a64_acodec.c | 14 -------------- sys/arm64/rockchip/rk3328_codec.c | 14 -------------- sys/dev/sound/macio/onyx.c | 17 ----------------- sys/dev/sound/macio/snapper.c | 17 ----------------- sys/dev/sound/macio/tumbler.c | 17 ----------------- 5 files changed, 79 deletions(-) diff --git a/sys/arm/allwinner/a64/sun50i_a64_acodec.c b/sys/arm/allwinner/a64/sun50i_a64_acodec.c index 12c9a86cf361..93b0328e99e0 100644 --- a/sys/arm/allwinner/a64/sun50i_a64_acodec.c +++ b/sys/arm/allwinner/a64/sun50i_a64_acodec.c @@ -339,19 +339,9 @@ static int a64codec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct a64codec_softc *sc; - struct mtx *mixer_lock; - uint8_t do_unlock; u_int val; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - - if (mtx_owned(mixer_lock)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mixer_lock); - } right = left; @@ -375,10 +365,6 @@ a64codec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned ri } A64CODEC_UNLOCK(sc); - if (do_unlock) { - mtx_unlock(mixer_lock); - } - return (left | (right << 8)); } diff --git a/sys/arm64/rockchip/rk3328_codec.c b/sys/arm64/rockchip/rk3328_codec.c index 22e3cde9093e..a019cab27cc9 100644 --- a/sys/arm64/rockchip/rk3328_codec.c +++ b/sys/arm64/rockchip/rk3328_codec.c @@ -416,18 +416,8 @@ static int rkcodec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct rkcodec_softc *sc; - struct mtx *mixer_lock; - uint8_t do_unlock; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - - if (mtx_owned(mixer_lock)) { - do_unlock = 0; - } else { - do_unlock = 1; - mtx_lock(mixer_lock); - } right = left; @@ -443,10 +433,6 @@ rkcodec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned rig } RKCODEC_UNLOCK(sc); - if (do_unlock) { - mtx_unlock(mixer_lock); - } - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/onyx.c b/sys/dev/sound/macio/onyx.c index f4f825a705cc..5ba22dd7c495 100644 --- a/sys/dev/sound/macio/onyx.c +++ b/sys/dev/sound/macio/onyx.c @@ -268,38 +268,21 @@ static int onyx_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct onyx_softc *sc; - struct mtx *mixer_lock; - int locked; uint8_t l, r; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); switch (dev) { case SOUND_MIXER_VOLUME: - - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ if (left > 100 || right > 100) return (0); l = left + 128; r = right + 128; - if (locked) - mtx_unlock(mixer_lock); - onyx_write(sc, PCM3052_REG_LEFT_ATTN, l); onyx_write(sc, PCM3052_REG_RIGHT_ATTN, r); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/snapper.c b/sys/dev/sound/macio/snapper.c index f14009f447a8..ed83990d563b 100644 --- a/sys/dev/sound/macio/snapper.c +++ b/sys/dev/sound/macio/snapper.c @@ -436,14 +436,10 @@ static int snapper_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct snapper_softc *sc; - struct mtx *mixer_lock; - int locked; u_int l, r; u_char reg[6]; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); if (left > 100 || right > 100) return (0); @@ -460,21 +456,8 @@ snapper_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) reg[4] = (r & 0x00ff00) >> 8; reg[5] = r & 0x0000ff; - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ - - if (locked) - mtx_unlock(mixer_lock); - snapper_write(sc, SNAPPER_VOLUME, reg); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } diff --git a/sys/dev/sound/macio/tumbler.c b/sys/dev/sound/macio/tumbler.c index bd40ea6b4f6b..89af4434e7fe 100644 --- a/sys/dev/sound/macio/tumbler.c +++ b/sys/dev/sound/macio/tumbler.c @@ -383,14 +383,10 @@ static int tumbler_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) { struct tumbler_softc *sc; - struct mtx *mixer_lock; - int locked; u_int l, r; u_char reg[6]; sc = device_get_softc(mix_getdevinfo(m)); - mixer_lock = mixer_get_lock(m); - locked = mtx_owned(mixer_lock); switch (dev) { case SOUND_MIXER_VOLUME: @@ -407,21 +403,8 @@ tumbler_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) reg[4] = (r & 0x00ff00) >> 8; reg[5] = r & 0x0000ff; - /* - * We need to unlock the mixer lock because iicbus_transfer() - * may sleep. The mixer lock itself is unnecessary here - * because it is meant to serialize hardware access, which - * is taken care of by the I2C layer, so this is safe. - */ - - if (locked) - mtx_unlock(mixer_lock); - tumbler_write(sc, TUMBLER_VOLUME, reg); - if (locked) - mtx_lock(mixer_lock); - return (left | (right << 8)); } From nobody Wed Jun 3 08:23:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh46Rffz6gJcj for ; Wed, 03 Jun 2026 08:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh44tbdz3gKn for ; Wed, 03 Jun 2026 08:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FzEXMowZAOopxfbA3FEA35UR298tX9hFkkn+SNDlV8=; b=fppDXkHFf/qMZaMzfc/bYEAsbNpi0QeMQZYaSGVXaP4B7GqICjNkjalFlHL3D8zNljohEH /6dBCxp5xpPheHjXwI9gjDkenLt2v8qDKLSqNJ5OBQ361sWkfZ8rTL8mnwammes3ooNyvs aCeE0S9nHVxMA0Rx6jBOhyQN6skqgYIBRDRp/5OMvRqF60LTc5fIPDiJSCV/EWNKQjlYjJ 7ekX5iCXz6LvobdMp6846my0WArZ5mltTQGFAd0AxRBvBjHnYIHm/udXGUbxCkhKdOXh8B 4zLe9FOerTKYeudaAWiOtSkrrCEyH9er+ZT1NY1Zp4gLtMGtGTvXVZ9q128IuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475012; a=rsa-sha256; cv=none; b=fLe+6M25iVTNtxCJEk9quBjQ3oFIG6AsPjEINhHIBmBLP3zYWBHbp3YYEn/SVNUXSQWe7/ ngDfi9HvHeGAFHgspKKCvZ3snZc+rl2Qto93Zf8Pk5HJ33za+5u9qF0MpQtU8t1C+LgZPB N6DwznNRqXbIrHV7gDXjza3FWzZa/I8HElnt6P1iesK7MSvgnaOdI5TZE9Texochi0B7AP 4KuJ22Nada05ycwj6QZQtOLPV82TM0Gm4FV2sN0QzZEUZRv0drgJktpwdeyuPZZXGWSbDW AEYGIB55HxSha9ZyLE84HXOEFysx9nhidZi1BoN8PNqGy9GvHpkxZ+1Hwlh0rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FzEXMowZAOopxfbA3FEA35UR298tX9hFkkn+SNDlV8=; b=ZoBS8yjevLK1cZvKYEscV+TVKHCOO5nxoEE4XHfhXt5Kqf3WtxyIclj2LLqYjWYQzEBpxN tSb71FhFtpQ7+uNerhxtQ5Yv/mwkfFxQFVuJ7gkoHvNydhFURD5dylSWiWp+a99pkWd8gk kXqfA+kLzJXhGboucY6XjeonyULZceYsBNMQK6YN1W+1me3JxCs6VeawidsdlQw1M4Vvkl H7rMbXq88bLPwbHZvWmKHXXvsP6Q2aoPAiPk6nLKYf46xh10msqCIyEc3qXwV3E/Q4zgBh efNbXSayblVlQ+FOgcLM3yzjxy5p6+c+GCe/j91VIE/H2YEG2BUJnZ0oK5mY6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh44VG2z13lZ for ; Wed, 03 Jun 2026 08:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b347 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a22f7e404446 - stable/15 - sound: Retire snd_mixer->enuminfo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a22f7e40444670683f61404dcc66bc9d87b943fd Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:32 +0000 Message-Id: <6a1fe484.3b347.7450caff@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a22f7e40444670683f61404dcc66bc9d87b943fd commit a22f7e40444670683f61404dcc66bc9d87b943fd Author: Christos Margiolis AuthorDate: 2026-04-17 17:31:00 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Retire snd_mixer->enuminfo Instead of caching this when mix_setrecdevs() is called (which many drivers never call), calculate it when we need it. After all, it is quite rare that this structure is used by applications. Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 5589a7499add5912a88e9424b0aec843e099fb60) --- sys/dev/sound/pcm/mixer.c | 78 ++++++++++++++--------------------------------- 1 file changed, 23 insertions(+), 55 deletions(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 0001ea7b481a..e61371d13610 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -56,7 +56,6 @@ struct snd_mixer { u_int8_t realdev[32]; char name[MIXER_NAMELEN]; struct mtx lock; - oss_mixer_enuminfo enuminfo; int modify_counter; }; @@ -493,64 +492,12 @@ mix_setdevs(struct snd_mixer *m, u_int32_t v) * recording devices. This function records that value in a structure * used by the rest of the mixer code. * - * This function also populates a structure used by the SNDCTL_DSP_*RECSRC* - * family of ioctls that are part of OSSV4. All recording device labels - * are concatenated in ascending order corresponding to their routing - * numbers. (Ex: a system might have 0 => 'vol', 1 => 'cd', 2 => 'line', - * etc.) For now, these labels are just the standard recording device - * names (cd, line1, etc.), but will eventually be fully dynamic and user - * controlled. - * * @param m mixer device context container thing * @param v mask of recording devices */ void mix_setrecdevs(struct snd_mixer *m, u_int32_t v) { - oss_mixer_enuminfo *ei; - char *loc; - int i, nvalues, nwrote, nleft, ncopied; - - ei = &m->enuminfo; - - nvalues = 0; - nwrote = 0; - nleft = sizeof(ei->strings); - loc = ei->strings; - - for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { - if ((1 << i) & v) { - ei->strindex[nvalues] = nwrote; - ncopied = strlcpy(loc, snd_mixernames[i], nleft) + 1; - /* strlcpy retval doesn't include terminator */ - - nwrote += ncopied; - nleft -= ncopied; - nvalues++; - - /* - * XXX I don't think this should ever be possible. - * Even with a move to dynamic device/channel names, - * each label is limited to ~16 characters, so that'd - * take a LOT to fill this buffer. - */ - if ((nleft <= 0) || (nvalues >= OSS_ENUM_MAXVALUE)) { - device_printf(m->dev, - "mix_setrecdevs: Not enough room to store device names--please file a bug report.\n"); - device_printf(m->dev, - "mix_setrecdevs: Please include details about your sound hardware, OS version, etc.\n"); - break; - } - - loc = &ei->strings[nwrote]; - } - } - - /* - * NB: The SNDCTL_DSP_GET_RECSRC_NAMES ioctl ignores the dev - * and ctrl fields. - */ - ei->nvalues = nvalues; m->recdevs = v; } @@ -1104,10 +1051,31 @@ mixer_ioctl_cmd(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, mtx_lock(&m->lock); switch (cmd) { - case SNDCTL_DSP_GET_RECSRC_NAMES: - bcopy((void *)&m->enuminfo, arg, sizeof(oss_mixer_enuminfo)); + case SNDCTL_DSP_GET_RECSRC_NAMES: { + oss_mixer_enuminfo *ei = (oss_mixer_enuminfo *)arg; + char *loc; + int i, nvalues, nwrote, nleft, ncopied; + + nvalues = 0; + nwrote = 0; + nleft = sizeof(ei->strings); + loc = ei->strings; + + for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { + if (!((1 << i) & m->recdevs)) + continue; + ei->strindex[nvalues] = nwrote; + ncopied = strlcpy(loc, snd_mixernames[i], nleft) + 1; + nwrote += ncopied; + nleft -= ncopied; + nvalues++; + loc = &ei->strings[nwrote]; + } + ei->nvalues = nvalues; + ret = 0; goto done; + } case SNDCTL_DSP_GET_RECSRC: ret = mixer_get_recroute(m, arg_i); goto done; From nobody Wed Jun 3 08:23:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh70n3mz6gJg0 for ; Wed, 03 Jun 2026 08:23:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVgh66drgz3fyQ for ; Wed, 03 Jun 2026 08:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tS82DQd5ACsZBRR8EzmwCmdTkyrFVHVO3lcx9jv2vbo=; b=f0dKHHKfx8elpEyxbiSPCFtXnoW9ceeseCZ5RNEot1usoEAKwth3ICAJQgtpiga1zyDFAw Vdm8aIkZQptfjm8eq9XDatvrkktVnDwi+UWHbhtFHc1mj25ZcCxsZSQU8hQ4m3pP6vtZLs 8RcGlskExIwYVEscaG2o9pVhPhiOi01i4vT9HnzYXFbBPbQWkqPncUG9XrFnNQnoEqtReU 08YnNhZmoa9q6ZsSFR/LAWEvvIj/Axok0QKgrsbvJv96cbYxA3d5Edq92wuk5VMLSWuQH+ Rxsbd75PnifTdfeM58889Rl5zLqRPKYCYKRsvJTfhhPHoRz0Ir+SnucLeDN6AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780475014; a=rsa-sha256; cv=none; b=KKZPSf1xG9fOMoI0KItHDORdN2SJg6ZnT+6SCUEg9pvV/a99LULqnn4ehVK07bYyFysPBl DV/QgUGtmVNLavhVSwNg/PagT9b1yv0bcR5KE/x78dxx8OZdmAaPXBVdS92LLDT+3T/2UX r1QUPwRZZTeXWyuGyaZFxFsClhAen9g73EWqMENt6tEPOMebNdtFpLdGYRqr5g3qtH6kZs H7c/FtsKcp4VcjEz6rAzDy+5Js1rwpbS4scJTijoJtiCKtvwQA8d4B0V2ZVeGHKnNOJnXC PO1iyPt6PguSZ9jfNUO0u14bP/xlyk0VerZq7gLb5TTPwwhaX+GLeL8iytZnAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780475014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tS82DQd5ACsZBRR8EzmwCmdTkyrFVHVO3lcx9jv2vbo=; b=DB3BpHfiY5h7lS6afVMDOoyKK1ma3NfKdJubE9ccW6glrLdmSmHr6mqgs1KUw+NU+ROf/2 0haU1FaR2QbZXuFTYJHtwnyHZT3gxT3tET4xRadCe8PG/p2QYmClq65HXZQN901qY9l7Rt wCRqP57DCJlSSOXaP94X0oO/yaO+pAzCvvOicBuzT9jdtdCtCjtSvrQyKQKWb4hDGLWHjt B3C9BelsJaA85r2TFsFc2ohquiN7W3E+lMPBaTon1jRTEdo4tAFmEfpQj0Zz+6HG3djVVK vG7gMHOFiRlksenHJq4v1EfrlyFn5NSZMSdidqZ+V/AGyA32ne87tWjiptI7MQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVgh667twz13lc for ; Wed, 03 Jun 2026 08:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a3e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 08:23:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 70f682385515 - stable/15 - sound: Update mixer.c LICENSE header List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 70f682385515d4b50881c2d35dbf3d41ec595b75 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 08:23:34 +0000 Message-Id: <6a1fe486.3a3e8.67efd614@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=70f682385515d4b50881c2d35dbf3d41ec595b75 commit 70f682385515d4b50881c2d35dbf3d41ec595b75 Author: Christos Margiolis AuthorDate: 2026-04-17 17:33:00 +0000 Commit: Christos Margiolis CommitDate: 2026-06-03 08:23:03 +0000 sound: Update mixer.c LICENSE header Sponsored by: The FreeBSD Foundation MFC after: 1 week Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/18 (cherry picked from commit 773bbfc57328f0a7947f2ad9a30de6a45ccce758) --- sys/dev/sound/pcm/mixer.c | 4 ++++ sys/dev/sound/pcm/mixer.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index 8d96486c862b..3ddee24417cc 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -5,6 +5,10 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2026 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h index 34f0514c6271..6f764307cfc8 100644 --- a/sys/dev/sound/pcm/mixer.h +++ b/sys/dev/sound/pcm/mixer.h @@ -4,6 +4,10 @@ * Copyright (c) 2005-2009 Ariff Abdullah * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2026 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Wed Jun 3 20:02:49 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzBx6ZJfz6gckP for ; Wed, 03 Jun 2026 20:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzBx3pYZz4PSd for ; Wed, 03 Jun 2026 20:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780516969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJm7IJCMVpf6mldyi2DQ3xhldIrlGL7q8pmWHjvfBCI=; b=yGxaobn1z96Mre62VybC7a7rI9+MhHrwrFbhdsbA1DTrAKxzTQxRcNygdksx+8RZVXIjHE mFTj0xI2KoDaXNs3gprh9EeMFMdNGwwu1UbBK/FQ5DsGt5IMI9GNPQuH/feUUOYt+JeHoE i++D8yfeJKhC7FSvXLKdgMiiv38ei/PfdEUJvKv9IG9Pq8vaVJLqXB9/q7vWPaApXNdaGM e8mEAz1U3rDDriN+KsD9Zz2mfMsa3M57pHSaR/9ZXATgohOxLCXvgBhxMOhszIMyOZZbnk LsBC1ihCR6aYiNaRyW30Fyx9xj601s/XuP0FOqbKdiq6VzTcJ++NNzfAGwJD7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780516969; a=rsa-sha256; cv=none; b=ybQly4p2yKhnav+7+sulLczS+gjDcUr0c7gC28XppjWZxr6PRCSgcUIeo8VpXQPnp8sYCJ QurjgyiiXl/dweVCAsUG0EgeB0xNjtp2htRgwjfjhitGih7xgMy+rwLstc+KH+hVzpjV+F B6IzFzhBgrV8iSfYFYR45svySknl/y1rtwJHD0wEBYY2WMXA3DTDr0d5Kr2lZjDQuJqWIa OgwqzXqdJJxQVvuhzXt7Y5qMWIEWVARTyfSCr+vHbZDY7luvekZ/5Y3ZdfoPXjojdlB7st r+5NO/eopwGrX2i6RjmyBafzAf3DksFtDOVLclHyrKeObI74MhEaWm3+Gdc1MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780516969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJm7IJCMVpf6mldyi2DQ3xhldIrlGL7q8pmWHjvfBCI=; b=a7gAjUJ0c35MZKwovScWdUwEBXibhJtC4uF/3pk2gg1jyh49Npw17/Gyryxrk+oFr/kjUE Sh2RggTlhYpDn2guckFugiisa21ru19sL0V3bnPOOXb2zgekuztC6yp0Ruxh+qr7HWs15S z40juZiG8gJLW7i0yaCLQTCBXXGUVCaDNtIHztHYXKcvVtlA8RUtGOcf6DIccZWzRAS5dM 6BITux2WdRaMRfPeBN2yK+LNySpOvUobCjPJt5OlNULmeZL7zKo8rYS9HFRDNQF+6Bikvj nKwrHqGGOZpBnXZEgLyt0GYdyWA3nAKvBzLUMauaDW8DybeYKpeUG7+KbahOsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzBx3Q6Lz9nm for ; Wed, 03 Jun 2026 20:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 335d0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:02:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: ce77cd3d9c1a - stable/15 - nfscl: Fix handling of gssd upcalls for the NFS client List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ce77cd3d9c1a2752a1bb5641320f281fb83ec468 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:02:49 +0000 Message-Id: <6a208869.335d0.65dff694@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ce77cd3d9c1a2752a1bb5641320f281fb83ec468 commit ce77cd3d9c1a2752a1bb5641320f281fb83ec468 Author: Rick Macklem AuthorDate: 2026-05-02 19:36:00 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 19:59:46 +0000 nfscl: Fix handling of gssd upcalls for the NFS client Without this patch, all upcalls to the gssd daemon are done in vnet0 (outside of any vnet jail). This does not work well, because a user principal's credential cache can be within the jail (/tmp/krb5cc_NNN in the jail's namespace). This patch modifies the client so that RPCs done from within vnet jails does an upcall to a gssd daemon running within the vnet jail. It required that the cache of uid->credential shorthands in the rpcsec_gss be vnet'd. The situation is still less than ideal and sec=krb5[ip] mounts that are visible within vnet jails is still not something I would recommend, but it can work ok with this patch. Vnet'ng the NFS client so that mounts can be done within vnet jails is probably more useful, but that will require additional work. (cherry picked from commit a6e527f893df2cbbd941839a93e50ae39ac0db55) --- sys/fs/nfs/nfs_commonkrpc.c | 23 +++++++- sys/fs/nfs/nfs_commonsubs.c | 3 +- sys/fs/nfsserver/nfs_nfsdserv.c | 8 ++- sys/fs/nfsserver/nfs_nfsdstate.c | 1 + sys/rpc/clnt_bck.c | 7 ++- sys/rpc/clnt_dg.c | 7 ++- sys/rpc/clnt_vc.c | 7 ++- sys/rpc/rpcsec_gss/rpcsec_gss.c | 111 +++++++++++++++++++++------------------ 8 files changed, 107 insertions(+), 60 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 1e4e8506790f..9ea4e5f4c9df 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -561,7 +561,9 @@ newnfs_disconnect(struct nfsmount *nmp, struct nfssockreq *nrp) } } mtx_unlock(&nrp->nr_mtx); + CURVNET_SET_QUIET(CRED_TO_VNET(nrp->nr_cred)); rpc_gss_secpurge_call(client); + CURVNET_RESTORE(); CLNT_CLOSE(client); CLNT_RELEASE(client); if (nmp != NULL && nmp->nm_aconnect > 0) { @@ -685,7 +687,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, struct nfsreq *rep = NULL; char *srv_principal = NULL, *clnt_principal = NULL; sigset_t oldset; - struct ucred *authcred; + struct ucred *authcred, *savcred; struct nfsclsession *sep; uint8_t sessionid[NFSX_V4SESSIONID]; bool nextconn_set; @@ -832,6 +834,11 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, ((nmp->nm_tprintf_delay)-(nmp->nm_tprintf_initial_delay)); } + /* + * For Kerberos, the upcall needs to be done to the gssd daemon + * running in the correct vnet. + */ + CURVNET_SET_QUIET(CRED_TO_VNET(authcred)); if (nd->nd_procnum == NFSPROC_NULL) auth = authnone_create(); else if (usegssname) { @@ -849,8 +856,9 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, } else auth = nfs_getauth(nrp, secflavour, NULL, srv_principal, NULL, authcred); - crfree(authcred); + CURVNET_RESTORE(); if (auth == NULL) { + crfree(authcred); m_freem(nd->nd_mreq); if (set_sigset) newnfs_restore_sigmask(td, &oldset); @@ -967,6 +975,13 @@ tryagain: } } + /* + * In case CLNT_CALL_MBUF()/clnt_bck_call() does an AUTH_REFRESH(), + * the thread's credentials need to be set to authcred, so that the + * correct vnet will be set. + */ + savcred = curthread->td_ucred; + curthread->td_ucred = authcred; nd->nd_mrep = NULL; if (clp != NULL && sep != NULL) stat = clnt_bck_call(nrp->nr_client, &ext, procnum, @@ -988,6 +1003,7 @@ tryagain: stat = CLNT_CALL_MBUF(nrp->nr_client, &ext, procnum, nd->nd_mreq, &nd->nd_mrep, timo); NFSCL_DEBUG(2, "clnt call=%d\n", stat); + curthread->td_ucred = savcred; if (rep != NULL) { /* @@ -1069,6 +1085,7 @@ tryagain: error = EACCES; } if (error) { + crfree(authcred); m_freem(nd->nd_mreq); if (usegssname == 0) AUTH_DESTROY(auth); @@ -1429,6 +1446,7 @@ tryagain: } } out: + crfree(authcred); #ifdef KDTRACE_HOOKS if (nmp != NULL && dtrace_nfscl_nfs234_done_probe != NULL) { @@ -1460,6 +1478,7 @@ out: newnfs_restore_sigmask(td, &oldset); return (0); nfsmout: + crfree(authcred); m_freem(nd->nd_mrep); m_freem(nd->nd_mreq); if (usegssname == 0) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 39d7cb447d6a..95703b4cf94d 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -4168,7 +4168,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) rp->nr_sotype = SOCK_DGRAM; rp->nr_soproto = IPPROTO_UDP; rp->nr_lock = (NFSR_RESERVEDPORT | NFSR_LOCALHOST); - rp->nr_cred = NULL; + rp->nr_cred = crhold(curthread->td_ucred); rp->nr_prog = RPCPROG_NFSUSERD; error = 0; switch (nargs->nuserd_family) { @@ -4236,6 +4236,7 @@ nfsrv_nfsuserddelport(void) NFSUNLOCKNAMEID(); newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 41f3c6893378..0124de2db93d 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -4270,7 +4270,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, /* Allocated large enough for an AF_INET or AF_INET6 socket. */ clp->lc_req.nr_nam = malloc(sizeof(struct sockaddr_in6), M_SONAME, M_WAITOK | M_ZERO); - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4360,6 +4360,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4378,6 +4379,7 @@ nfsmout: if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4635,7 +4637,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, break; #endif } - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4708,6 +4710,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4751,6 +4754,7 @@ nfsmout: if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index e36a5c7810da..fd27de05b35f 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -1503,6 +1503,7 @@ nfsrv_zapclient(struct nfsclient *clp, NFSPROC_T *p) newnfs_disconnect(NULL, &clp->lc_req); free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); NFSLOCKSTATE(); diff --git a/sys/rpc/clnt_bck.c b/sys/rpc/clnt_bck.c index c5cbbf045bdc..9ff85b1fa2c0 100644 --- a/sys/rpc/clnt_bck.c +++ b/sys/rpc/clnt_bck.c @@ -58,6 +58,7 @@ #include #include +#include #include #include #include @@ -440,15 +441,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); /* end of unsuccessful completion */ + } /* end of valid reply message */ } else errp->re_status = stat = RPC_CANTDECODERES; diff --git a/sys/rpc/clnt_dg.c b/sys/rpc/clnt_dg.c index b6a8cdce0d76..d7870aef5674 100644 --- a/sys/rpc/clnt_dg.c +++ b/sys/rpc/clnt_dg.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -738,15 +739,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&cs->cs_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index ecd5fdd04f34..e395cd27ccaa 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -559,15 +560,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/rpcsec_gss/rpcsec_gss.c b/sys/rpc/rpcsec_gss/rpcsec_gss.c index d99e3a3090df..de690bbbd1d1 100644 --- a/sys/rpc/rpcsec_gss/rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/rpcsec_gss.c @@ -150,26 +150,42 @@ static struct timeval AUTH_TIMEOUT = { 25, 0 }; #define RPC_GSS_HASH_SIZE 11 #define RPC_GSS_MAX 256 -static struct rpc_gss_data_list rpc_gss_cache[RPC_GSS_HASH_SIZE]; -static struct rpc_gss_data_list rpc_gss_all; -static struct sx rpc_gss_lock; -static int rpc_gss_count; + +VNET_DEFINE_STATIC(struct rpc_gss_data_list *, rpc_gss_cache); +VNET_DEFINE_STATIC(struct rpc_gss_data_list, rpc_gss_all); +VNET_DEFINE_STATIC(struct sx, rpc_gss_lock); +VNET_DEFINE_STATIC(int, rpc_gss_count); static AUTH *rpc_gss_seccreate_int(CLIENT *, struct ucred *, const char *, const char *, gss_OID, rpc_gss_service_t, u_int, rpc_gss_options_req_t *, rpc_gss_options_ret_t *); static void -rpc_gss_hashinit(void *dummy) +rpc_gss_hashinit(void *dummy __unused) { int i; + VNET(rpc_gss_cache) = mem_alloc(sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); for (i = 0; i < RPC_GSS_HASH_SIZE; i++) - TAILQ_INIT(&rpc_gss_cache[i]); - TAILQ_INIT(&rpc_gss_all); - sx_init(&rpc_gss_lock, "rpc_gss_lock"); + TAILQ_INIT(&VNET(rpc_gss_cache)[i]); + TAILQ_INIT(&VNET(rpc_gss_all)); + sx_init(&VNET(rpc_gss_lock), "rpc_gss_lock"); } -SYSINIT(rpc_gss_hashinit, SI_SUB_KMEM, SI_ORDER_ANY, rpc_gss_hashinit, NULL); +VNET_SYSINIT(rpc_gss_hashinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit, NULL); + +static void +rpc_gss_hashinit_cleanup(void *dummy __unused) +{ + + rpc_gss_secpurge(NULL); + mem_free(VNET(rpc_gss_cache), sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); + sx_destroy(&VNET(rpc_gss_lock)); +} +VNET_SYSUNINIT(rpc_gss_hashinit_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit_cleanup, NULL); static uint32_t rpc_gss_hash(const char *principal, gss_OID mech, @@ -198,15 +214,16 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, struct rpc_gss_data *gd, *tgd; rpc_gss_options_ret_t options; - if (rpc_gss_count > RPC_GSS_MAX) { - while (rpc_gss_count > RPC_GSS_MAX) { - sx_xlock(&rpc_gss_lock); - tgd = TAILQ_FIRST(&rpc_gss_all); + CURVNET_ASSERT_SET(); + if (VNET(rpc_gss_count) > RPC_GSS_MAX) { + while (VNET(rpc_gss_count) > RPC_GSS_MAX) { + sx_xlock(&VNET(rpc_gss_lock)); + tgd = TAILQ_FIRST(&VNET(rpc_gss_all)); th = tgd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[th], tgd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, tgd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[th], tgd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), tgd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(tgd->gd_auth); } } @@ -217,23 +234,24 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, h = rpc_gss_hash(principal, mech_oid, cred, service); again: - sx_slock(&rpc_gss_lock); - TAILQ_FOREACH(gd, &rpc_gss_cache[h], gd_link) { + sx_slock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(gd, &VNET(rpc_gss_cache)[h], gd_link) { if (gd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(gd->gd_principal, principal) && gd->gd_mech == mech_oid && gd->gd_cred.gc_svc == service) { refcount_acquire(&gd->gd_refs); - if (sx_try_upgrade(&rpc_gss_lock)) { + if (sx_try_upgrade(&VNET(rpc_gss_lock))) { /* * Keep rpc_gss_all LRU sorted. */ - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, + gd_alllink); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); } else { - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); } /* @@ -249,7 +267,7 @@ again: return (gd->gd_auth); } } - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); /* * We missed in the cache - create a new association. @@ -262,8 +280,8 @@ again: gd = AUTH_PRIVATE(auth); gd->gd_hash = h; - sx_xlock(&rpc_gss_lock); - TAILQ_FOREACH(tgd, &rpc_gss_cache[h], gd_link) { + sx_xlock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(tgd, &VNET(rpc_gss_cache)[h], gd_link) { if (tgd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(tgd->gd_principal, principal) && tgd->gd_mech == mech_oid @@ -272,17 +290,17 @@ again: * We lost a race to create the AUTH that * matches this cred. */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(auth); goto again; } } - rpc_gss_count++; - TAILQ_INSERT_TAIL(&rpc_gss_cache[h], gd, gd_link); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, gd_alllink); + VNET(rpc_gss_count)++; + TAILQ_INSERT_TAIL(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); refcount_acquire(&gd->gd_refs); /* one for the cache, one for user */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); return (auth); } @@ -293,14 +311,15 @@ rpc_gss_secpurge(CLIENT *clnt) uint32_t h; struct rpc_gss_data *gd, *tgd; - TAILQ_FOREACH_SAFE(gd, &rpc_gss_all, gd_alllink, tgd) { - if (gd->gd_clnt == clnt) { - sx_xlock(&rpc_gss_lock); + CURVNET_ASSERT_SET(); + TAILQ_FOREACH_SAFE(gd, &VNET(rpc_gss_all), gd_alllink, tgd) { + if (clnt == NULL || gd->gd_clnt == clnt) { + sx_xlock(&VNET(rpc_gss_lock)); h = gd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[h], gd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(gd->gd_auth); } } @@ -748,6 +767,7 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gss_OID_set mechlist; static enum krb_imp my_krb_imp = KRBIMP_UNKNOWN; + CURVNET_ASSERT_SET(); rpc_gss_log_debug("in rpc_gss_refresh()"); gd = AUTH_PRIVATE(auth); @@ -773,17 +793,6 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gd->gd_cred.gc_proc = RPCSEC_GSS_INIT; gd->gd_cred.gc_seq = 0; - /* - * XXX Threads from inside jails can get here via calls - * to clnt_vc_call()->AUTH_REFRESH()->rpc_gss_refresh() - * but the NFS mount is always done outside of the - * jails in vnet0. Since the thread credentials won't - * necessarily have cr_prison == vnet0 and this function - * has no access to the socket, using vnet0 seems the - * only option. This is broken if NFS mounts are enabled - * within vnet prisons. - */ - CURVNET_SET_QUIET(vnet0); /* * For KerberosV, if there is a client principal name, that implies * that this is a host based initiator credential in the default @@ -1030,14 +1039,12 @@ out: gss_delete_sec_context(&min_stat, &gd->gd_ctx, GSS_C_NO_BUFFER); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_START; wakeup(gd); mtx_unlock(&gd->gd_lock); return (FALSE); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_ESTABLISHED; From nobody Wed Jun 3 20:06:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzHR6Zz5z6gccN for ; Wed, 03 Jun 2026 20:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzHR6Dlmz4Q9n for ; Wed, 03 Jun 2026 20:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYknPUSP4B1mqwOx2TileYF9pBE7gIpS7khqiBsEPGM=; b=FjUrVDgAabQsaKDpyv/x4Tf3W/aejug3SuU8TbcWwTiamxowQpPrJguBkdxam56amnZzzm rvSHjeTPqv6cNbmC/JjFGqxBYFXH3CmGtfvNkJZvjJfbe/1lRJXbdxvjYpzVXsdUtYg7QC tAWt35LJC1oDzJfioa8lX5oZoz5PzwlNGcDaf6v/JupuUcdD5ZYIeZXjDBko2ZXUNRaOuO 8NvPREKKtJ7WUyTdbxLkCD46vgtfBBbriO9RERREWZxhzhpmyNtUxTOZpLstC7IREEONXZ 9A9hGt9pMNGRbqG+nQPb02+wXEuTd8pjpeL3JwwvCWa8mK6+aI+n3wzm0rzsyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517203; a=rsa-sha256; cv=none; b=VSwzYszmx3ooQMOaK4Px3q3PFjwQAEaQMngqm6Y/vlsBav5yBvYyNHcGGceHc9t4O9gptk uvifXLAzAljjagVMWuJkwZQ7RRzwUIf1bhv8W/7Szqv82wy435h3An0yVGgV4jF+lCje+t Mq9NDHXo5lGbuyPZ7OPOGWyspQ8AVfWix96/axyYAOctKgFYeuGE/pnE65nERHDxL3BFmL aZ4tOm7h0vxasIYZIj7FY7bpyZ8WLdD9VvMATpWlMp6nG4Sr2/rYzqOa9F7yjyhHNOCTbZ QK37E4YfmJwsmI7g6s8UrgbPHU89k88fJ6hqc3y2C6GIbgS3Rf0+NgYfIspQYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYknPUSP4B1mqwOx2TileYF9pBE7gIpS7khqiBsEPGM=; b=qe4Bxddn8p3NvyZUNy+gZa/Df8X8lNzyfFMcZAfVVKTNblLbmgYuQcVQ9sPmn3arLGs0Ln 9NbG+n3FvnDUvyJeHFCjZQREs1GhESZ7JjDmxNRV6PV4ofXOyi+lCU2e1efy6eOCpUDn9J OBq3wOqfD/yRMIc314Lq9E7HoZk3/+U++X+XkMwKhRltMHWP2CcqnDJT4QrfR6dmeynyY1 q7/Z6qzD+TM/fQPujKBIIXBcJTmLF7MdEpi2rlDdWtxn3rR9BO4ARPwBzPK9dJ5iBeKVZa 5xLBOmrJMIcHVXKjGNKs1tGMM5pNW458GW86eVopULSIKgg1YW+DVsjKWy9PPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzHR5YFrz9GS for ; Wed, 03 Jun 2026 20:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32dc6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:06:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: fcc7609d699a - stable/15 - nfsd: Get rid of NFSD_VNET macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: fcc7609d699aa669c8dc4bedd2445483fdb871b5 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:06:43 +0000 Message-Id: <6a208953.32dc6.245238d4@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=fcc7609d699aa669c8dc4bedd2445483fdb871b5 commit fcc7609d699aa669c8dc4bedd2445483fdb871b5 Author: Rick Macklem AuthorDate: 2026-05-02 21:36:43 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 20:04:50 +0000 nfsd: Get rid of NFSD_VNET macros When the nfsd was vnet'd, the VNET macros were hidden behind macros that had the NFSD_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. (cherry picked from commit 821976facf746ef241e1524b44bb1de0af98fdc0) --- sys/fs/nfs/nfs_commonport.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfs_commonsubs.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfsdport.h | 2 +- sys/fs/nfs/nfsport.h | 14 -- sys/fs/nfs/nfsrvstate.h | 12 +- sys/fs/nfsclient/nfs_clport.c | 4 +- sys/fs/nfsserver/nfs_fha_new.c | 84 +++++------ sys/fs/nfsserver/nfs_nfsdcache.c | 134 ++++++++--------- sys/fs/nfsserver/nfs_nfsdkrpc.c | 82 +++++------ sys/fs/nfsserver/nfs_nfsdport.c | 178 +++++++++++------------ sys/fs/nfsserver/nfs_nfsdsocket.c | 66 ++++----- sys/fs/nfsserver/nfs_nfsdstate.c | 160 ++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 32 ++--- 13 files changed, 671 insertions(+), 685 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 91d9188d30c5..03c6688b1406 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -71,10 +71,10 @@ vop_advlock_t *nfs_advlock_p = NULL; vop_reclaim_t *nfs_reclaim_p = NULL; uint32_t nfs_srvmaxio = NFS_SRVMAXIO; -NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); -NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); +VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); int nfs_pnfsio(task_fn_t *, void *); @@ -428,9 +428,9 @@ nfssvc_nfscommon(struct thread *td, struct nfssvc_args *uap) { int error; - NFSD_CURVNET_SET(NFSD_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); error = nfssvc_call(td, uap, td->td_ucred); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -470,105 +470,105 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if ((uap->flag & NFSSVC_NEWSTRUCT) == 0) { /* Copy fields to the old ext_nfsstat structure. */ oldnfsstats.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; oldnfsstats.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; oldnfsstats.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; oldnfsstats.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; oldnfsstats.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; oldnfsstats.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; oldnfsstats.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; oldnfsstats.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; oldnfsstats.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; oldnfsstats.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; oldnfsstats.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; oldnfsstats.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; oldnfsstats.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; oldnfsstats.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; oldnfsstats.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; oldnfsstats.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; oldnfsstats.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; oldnfsstats.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV4_NPROCS; i++) oldnfsstats.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; oldnfsstats.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV4OP_NOPS; i++) oldnfsstats.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV4OP_NOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) oldnfsstats.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; oldnfsstats.reserved_0 = 0; oldnfsstats.reserved_1 = 0; oldnfsstats.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; oldnfsstats.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; oldnfsstats.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; oldnfsstats.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; oldnfsstats.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; oldnfsstats.reserved_2 = 0; oldnfsstats.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; oldnfsstats.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; oldnfsstats.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; oldnfsstats.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; oldnfsstats.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; oldnfsstats.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; oldnfsstats.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; oldnfsstats.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; oldnfsstats.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; oldnfsstats.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV4OP_CBNOPS; i++) oldnfsstats.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; oldnfsstats.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; - oldnfsstats.clopens = NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopenowners; + oldnfsstats.clopens = VNET(nfsstatsv1_p)->clopens; oldnfsstats.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; - oldnfsstats.cllocks = NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllockowners; + oldnfsstats.cllocks = VNET(nfsstatsv1_p)->cllocks; oldnfsstats.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; oldnfsstats.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; oldnfsstats.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; oldnfsstats.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; oldnfsstats.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; error = copyout(&oldnfsstats, uap->argp, sizeof (oldnfsstats)); } else { @@ -578,174 +578,174 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if (nfsstatver.vers == NFSSTATS_OV1) { /* Copy nfsstatsv1 to nfsstatsov1. */ nfsstatsov1.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; nfsstatsov1.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; nfsstatsov1.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; nfsstatsov1.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; nfsstatsov1.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; nfsstatsov1.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; nfsstatsov1.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; nfsstatsov1.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; nfsstatsov1.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; nfsstatsov1.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; nfsstatsov1.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; nfsstatsov1.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; nfsstatsov1.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; nfsstatsov1.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; nfsstatsov1.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; nfsstatsov1.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; nfsstatsov1.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; nfsstatsov1.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV42_OLDNPROCS; i++) nfsstatsov1.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; nfsstatsov1.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV42_PURENOPS; i++) nfsstatsov1.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) nfsstatsov1.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; nfsstatsov1.reserved_0 = 0; nfsstatsov1.reserved_1 = 0; nfsstatsov1.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; nfsstatsov1.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; nfsstatsov1.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; nfsstatsov1.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; nfsstatsov1.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; nfsstatsov1.reserved_2 = 0; nfsstatsov1.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; nfsstatsov1.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; nfsstatsov1.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; nfsstatsov1.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; nfsstatsov1.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; nfsstatsov1.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; nfsstatsov1.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; nfsstatsov1.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; nfsstatsov1.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; nfsstatsov1.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV42_CBNOPS; i++) nfsstatsov1.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; nfsstatsov1.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; + VNET(nfsstatsv1_p)->clopenowners; nfsstatsov1.clopens = - NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopens; nfsstatsov1.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; + VNET(nfsstatsv1_p)->cllockowners; nfsstatsov1.cllocks = - NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllocks; nfsstatsov1.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; nfsstatsov1.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; nfsstatsov1.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; nfsstatsov1.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; nfsstatsov1.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; nfsstatsov1.srvstartcnt = - NFSD_VNET(nfsstatsv1_p)->srvstartcnt; + VNET(nfsstatsv1_p)->srvstartcnt; nfsstatsov1.srvdonecnt = - NFSD_VNET(nfsstatsv1_p)->srvdonecnt; + VNET(nfsstatsv1_p)->srvdonecnt; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) { nfsstatsov1.srvbytes[j] = - NFSD_VNET(nfsstatsv1_p)->srvbytes[i]; + VNET(nfsstatsv1_p)->srvbytes[i]; nfsstatsov1.srvops[j] = - NFSD_VNET(nfsstatsv1_p)->srvops[i]; + VNET(nfsstatsv1_p)->srvops[i]; nfsstatsov1.srvduration[j] = - NFSD_VNET(nfsstatsv1_p)->srvduration[i]; + VNET(nfsstatsv1_p)->srvduration[i]; } nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; error = copyout(&nfsstatsov1, uap->argp, sizeof(nfsstatsov1)); } else if (nfsstatver.vers != NFSSTATS_V1) error = EPERM; else - error = copyout(NFSD_VNET(nfsstatsv1_p), + error = copyout(VNET(nfsstatsv1_p), uap->argp, sizeof(nfsstatsv1)); } } if (error == 0) { if ((uap->flag & NFSSVC_ZEROCLTSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->attrcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->attrcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_reads = 0; - NFSD_VNET(nfsstatsv1_p)->read_bios = 0; - NFSD_VNET(nfsstatsv1_p)->read_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_writes = 0; - NFSD_VNET(nfsstatsv1_p)->write_bios = 0; - NFSD_VNET(nfsstatsv1_p)->write_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks = 0; - NFSD_VNET(nfsstatsv1_p)->readlink_bios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs = 0; - NFSD_VNET(nfsstatsv1_p)->readdir_bios = 0; - NFSD_VNET(nfsstatsv1_p)->rpcretries = 0; - NFSD_VNET(nfsstatsv1_p)->rpcrequests = 0; - NFSD_VNET(nfsstatsv1_p)->rpctimeouts = 0; - NFSD_VNET(nfsstatsv1_p)->rpcunexpected = 0; - NFSD_VNET(nfsstatsv1_p)->rpcinvalid = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->rpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->rpccnt)); + VNET(nfsstatsv1_p)->attrcache_hits = 0; + VNET(nfsstatsv1_p)->attrcache_misses = 0; + VNET(nfsstatsv1_p)->lookupcache_hits = 0; + VNET(nfsstatsv1_p)->lookupcache_misses = 0; + VNET(nfsstatsv1_p)->direofcache_hits = 0; + VNET(nfsstatsv1_p)->direofcache_misses = 0; + VNET(nfsstatsv1_p)->accesscache_hits = 0; + VNET(nfsstatsv1_p)->accesscache_misses = 0; + VNET(nfsstatsv1_p)->biocache_reads = 0; + VNET(nfsstatsv1_p)->read_bios = 0; + VNET(nfsstatsv1_p)->read_physios = 0; + VNET(nfsstatsv1_p)->biocache_writes = 0; + VNET(nfsstatsv1_p)->write_bios = 0; + VNET(nfsstatsv1_p)->write_physios = 0; + VNET(nfsstatsv1_p)->biocache_readlinks = 0; + VNET(nfsstatsv1_p)->readlink_bios = 0; + VNET(nfsstatsv1_p)->biocache_readdirs = 0; + VNET(nfsstatsv1_p)->readdir_bios = 0; + VNET(nfsstatsv1_p)->rpcretries = 0; + VNET(nfsstatsv1_p)->rpcrequests = 0; + VNET(nfsstatsv1_p)->rpctimeouts = 0; + VNET(nfsstatsv1_p)->rpcunexpected = 0; + VNET(nfsstatsv1_p)->rpcinvalid = 0; + bzero(VNET(nfsstatsv1_p)->rpccnt, + sizeof(VNET(nfsstatsv1_p)->rpccnt)); } if ((uap->flag & NFSSVC_ZEROSRVSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->srvrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->srvrpccnt)); - bzero(NFSD_VNET(nfsstatsv1_p)->cbrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->cbrpccnt)); + VNET(nfsstatsv1_p)->srvcache_inproghits = 0; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; + VNET(nfsstatsv1_p)->srvcache_misses = 0; + VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; + bzero(VNET(nfsstatsv1_p)->srvrpccnt, + sizeof(VNET(nfsstatsv1_p)->srvrpccnt)); + bzero(VNET(nfsstatsv1_p)->cbrpccnt, + sizeof(VNET(nfsstatsv1_p)->cbrpccnt)); } } goto out; @@ -891,11 +891,11 @@ nfs_vnetinit(const void *unused __unused) { if (IS_DEFAULT_VNET(curvnet)) - NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + VNET(nfsstatsv1_p) = &nfsstatsv1; else - NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), M_TEMP, M_WAITOK | M_ZERO); - mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", + mtx_init(&VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", NULL, MTX_DEF); } VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_FIRST, @@ -905,10 +905,10 @@ static void nfs_cleanup(void *unused __unused) { - mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); + mtx_destroy(&VNET(nfsrv_nfsuserdsock).nr_mtx); if (!IS_DEFAULT_VNET(curvnet)) { - free(NFSD_VNET(nfsstatsv1_p), M_TEMP); - NFSD_VNET(nfsstatsv1_p) = NULL; + free(VNET(nfsstatsv1_p), M_TEMP); + VNET(nfsstatsv1_p) = NULL; } /* Clean out the name<-->id cache. */ nfsrv_cleanusergroup(); @@ -945,7 +945,7 @@ nfscommon_modevent(module_t mod, int type, void *data) case MOD_UNLOAD: if (newnfs_numnfsd != 0 || - NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING || + VNET(nfsrv_nfsuserd) != NOTRUNNING || nfs_numnfscbd != 0) { error = EBUSY; break; diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 95703b4cf94d..cc93c2270fa0 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -96,19 +96,19 @@ struct nfs_prime_userd nfs_prime_userd[] = { { 0, 0, 0, NULL }, }; -NFSD_VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; -NFSD_VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; -NFSD_VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; -NFSD_VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; +VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; +VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; +VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; +VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; +VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; SYSCTL_DECL(_vfs_nfs); -NFSD_VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; +VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, - CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfs_enable_uidtostring), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nfs_enable_uidtostring), 0, "Make nfs always send numeric owner_names"); int nfsrv_maxpnfsmirror = 1; @@ -216,14 +216,14 @@ struct nfsrv_lughash { struct nfsuserhashhead lughead; }; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; +VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; +VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; +VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; +VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; /* * This static array indicates whether or not the RPC generates a large @@ -1370,7 +1370,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, #endif CTASSERT(sizeof(ino_t) == sizeof(uint64_t)); - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (compare) { retnotsup = 0; error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup); @@ -2065,7 +2065,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtouid(nd, cp, j, &uid)) nap->na_uid = - NFSD_VNET(nfsrv_defaultuid); + VNET(nfsrv_defaultuid); else nap->na_uid = uid; } @@ -2099,7 +2099,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtogid(nd, cp, j, &gid)) nap->na_gid = - NFSD_VNET(nfsrv_defaultgid); + VNET(nfsrv_defaultgid); else nap->na_gid = gid; } @@ -2603,7 +2603,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, error = nfsm_advance(nd, attrsize - attrsum, -1); } nfsmout: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE2(error, nd); return (error); } @@ -3653,16 +3653,16 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultuid to "nobody". */ - if (uid == NFSD_VNET(nfsrv_defaultuid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 7; + if (uid == VNET(nfsrv_defaultuid)) { + i = VNET(nfsrv_dnsnamelen) + 7; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3674,9 +3674,9 @@ tryagain: *retlenp = i; NFSBCOPY("nobody@", cp, 7); cp += 7; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3701,7 +3701,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3716,14 +3716,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -3751,7 +3751,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -3772,7 +3772,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { @@ -3820,7 +3820,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) uid_t tuid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -3832,7 +3832,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *uidp = tuid; else error = NFSERR_BADOWNER; @@ -3849,7 +3849,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the domain name matches, search for * the name with dns stripped off. @@ -3857,10 +3857,10 @@ tryagain: * since RFC8881 defines this string as a DNS domain name. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -3868,7 +3868,7 @@ tryagain: * Check for the special case of "nobody". */ if (len == 6 && !NFSBCMP(str, "nobody", 6)) { - *uidp = NFSD_VNET(nfsrv_defaultuid); + *uidp = VNET(nfsrv_defaultuid); error = 0; goto out; } @@ -3903,7 +3903,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -3925,16 +3925,16 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultgid to "nogroup". */ - if (gid == NFSD_VNET(nfsrv_defaultgid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 8; + if (gid == VNET(nfsrv_defaultgid)) { + i = VNET(nfsrv_dnsnamelen) + 8; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3946,9 +3946,9 @@ tryagain: *retlenp = i; NFSBCOPY("nogroup@", cp, 8); cp += 8; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3973,7 +3973,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3988,14 +3988,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -4023,7 +4023,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -4046,7 +4046,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) gid_t tgid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -4058,7 +4058,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *gidp = tgid; else error = NFSERR_BADOWNER; @@ -4075,16 +4075,16 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the dns name matches, search for the * name with the dns stripped off. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -4092,7 +4092,7 @@ tryagain: * Check for the special case of "nogroup". */ if (len == 7 && !NFSBCMP(str, "nogroup", 7)) { - *gidp = NFSD_VNET(nfsrv_defaultgid); + *gidp = VNET(nfsrv_defaultgid); error = 0; goto out; } @@ -4127,7 +4127,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -4149,12 +4149,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING) { + if (VNET(nfsrv_nfsuserd) != NOTRUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* * Set up the socket record and connect. * Set nr_client NULL before unlocking, just to ensure that no other @@ -4162,7 +4162,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) * occur if the use of the nameid lock to protect nfsrv_nfsuserd is * broken. */ - rp = &NFSD_VNET(nfsrv_nfsuserdsock); + rp = &VNET(nfsrv_nfsuserdsock); rp->nr_client = NULL; NFSUNLOCKNAMEID(); rp->nr_sotype = SOCK_DGRAM; @@ -4203,12 +4203,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) &rp->nr_client); if (error == 0) { NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = RUNNING; + VNET(nfsrv_nfsuserd) = RUNNING; NFSUNLOCKNAMEID(); } else { free(rp->nr_nam, M_SONAME); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } out: @@ -4224,21 +4224,21 @@ nfsrv_nfsuserddelport(void) { NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); return; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* Wait for all upcalls to complete. */ - while (NFSD_VNET(nfsrv_userdupcalls) > 0) - msleep(&NFSD_VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, + while (VNET(nfsrv_userdupcalls) > 0) + msleep(&VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, "nfsupcalls", 0); NFSUNLOCKNAMEID(); - newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); - free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + newnfs_disconnect(NULL, &VNET(nfsrv_nfsuserdsock)); + free(VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } @@ -4258,7 +4258,7 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; @@ -4267,9 +4267,9 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) * Maintain a count of upcalls in progress, so that nfsrv_X() * can wait until no upcalls are in progress. */ - NFSD_VNET(nfsrv_userdupcalls)++; + VNET(nfsrv_userdupcalls)++; NFSUNLOCKNAMEID(); - KASSERT(NFSD_VNET(nfsrv_userdupcalls) > 0, + KASSERT(VNET(nfsrv_userdupcalls) > 0, ("nfsrv_getuser: non-positive upcalls")); nd = &nfsd; cred = newnfs_getcred(); @@ -4287,13 +4287,13 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) len = strlen(name); (void) nfsm_strtom(nd, name, len); } - error = newnfs_request(nd, NULL, NULL, &NFSD_VNET(nfsrv_nfsuserdsock), + error = newnfs_request(nd, NULL, NULL, &VNET(nfsrv_nfsuserdsock), NULL, NULL, cred, RPCPROG_NFSUSERD, RPCNFSUSERD_VERS, NULL, 0, NULL, NULL); NFSLOCKNAMEID(); - if (--NFSD_VNET(nfsrv_userdupcalls) == 0 && - NFSD_VNET(nfsrv_nfsuserd) == STARTSTOP) - wakeup(&NFSD_VNET(nfsrv_userdupcalls)); + if (--VNET(nfsrv_userdupcalls) == 0 && + VNET(nfsrv_nfsuserd) == STARTSTOP) *** 2401 LINES SKIPPED *** From nobody Wed Jun 3 20:12:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzPY4rlxz6gd2k for ; Wed, 03 Jun 2026 20:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzPY4BkPz3Btx for ; Wed, 03 Jun 2026 20:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBvxGVR8e6m6G9k0ePFuTviI6EaD81PVBcm6psr/Ibc=; b=WQNejtC3ntJ2HFHAGcXg5FEdshrv/7yRnwCp+KS59XOSyRarTgIxx5YTg24Y/emPOlYX6J VD0Oe2ZdNwqNqHEIQshquI1RV2amw4TRpWsvvK2+wRbeAqXEG8aSmtkKAi9Dh82UMtzB/H Lw9qC6XEAJMaVXokCLIl542iGGvI3NewlBOA752QLkulO5VbA/D6GEEV2+1S5MvpT8FXnk Gm7Sqkfeu4AgLDwpTyNeqRt8IKAMnaq6DlgjtHTX1P/Q4ThWYhyzLv3VyIRKeWZ6Z2E/an EDEKkW5Kc8ATZsgfoTR6C4fIuRHnhuLMX4Eqa7EDJNMDV8utEFwVtKRNLNDzLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780517521; a=rsa-sha256; cv=none; b=VNvetaqXW9YyOxbQBpO74YqDVB6UwDjyqMWDWdXE2sVAmpFubKt/+VKJscLFafMXeQlfWc FNK6WEVXSHhMhn/jjudZZdMtbAfYFl2bjJJ+L4ZoDbs9MY2j9n6A1cpFWsPBLKyHE92eWN 1thzZ9hmdbgOXAOg/Xs9wUsKIQlc9lnY/d3wWYqipd0HqufUeRUUw1eUDaMFdmRmwR0iYm zgrdGGpSRsBeQ7C/1EX1/1pozcmm+kItfwP6Iv3PlwEcUOiBslh8PueDcZ6VAVzaTzzUB1 M+DDOkkDOTObjIMHfnum5+da7lwH/l7cniYdvTnFNuSgpbry9tVK0ar0ZqOiPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780517521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBvxGVR8e6m6G9k0ePFuTviI6EaD81PVBcm6psr/Ibc=; b=lcVNxQtZ6TnBOFJmvW2ykjDl/5l++91TM6S5gJFU7CoNkbt6eKk1wemDOZmtxq8xK8okRF OnP54WTNhh6tthYS8UmUySHFmyXDznlNoJOridjwVp/o7Ltx0ZZ7G2t9DKtDgHnTKU1hEP 9kLJq5TNyk8y5P6N53Sw6hjspptp4QkQkefYEE2cSQksbXB08seRYl48fYAf3kCKte9Gjp dMxuvFg5mAqj+qI3h7dmm207NoUQOPgxPqLhlvtDRFdf1ZuUtiQtdU82bxtNaEFl3H7dIp q2E1jTsOVlA7xHC8AXSHv5jSPy2aOkF19h+DWT+UPscBhdz5XPjwHxzZM0SRDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzPY3n4JzB63 for ; Wed, 03 Jun 2026 20:12:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 348ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:12:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 303df71969f5 - stable/15 - krpc: Get rid of KRPC_VNET macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 303df71969f5547922c942b7fc866320ceee4260 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:12:01 +0000 Message-Id: <6a208a91.348ae.5fc46175@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=303df71969f5547922c942b7fc866320ceee4260 commit 303df71969f5547922c942b7fc866320ceee4260 Author: Rick Macklem AuthorDate: 2026-05-03 21:25:06 +0000 Commit: Rick Macklem CommitDate: 2026-06-03 20:10:26 +0000 krpc: Get rid of KRPC_VNET macros When the krpc was vnet'd, the VNET macros were hidden behind macros that had the KRPC_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. (cherry picked from commit d8d9e1cf5e055433565a7e686bc096a8494d2bb8) --- sys/rpc/rpcsec_tls.h | 15 ------- sys/rpc/rpcsec_tls/rpctls_impl.c | 30 +++++++------- sys/rpc/svc_vc.c | 90 ++++++++++++++++++++-------------------- 3 files changed, 60 insertions(+), 75 deletions(-) diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 97c49dc32245..d796ca88f31a 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -65,21 +65,6 @@ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, /* String for AUTH_TLS reply verifier. */ #define RPCTLS_START_STRING "STARTTLS" -/* Macros for VIMAGE. */ -/* Just define the KRPC_VNETxxx() macros as VNETxxx() macros. */ -#define KRPC_VNET_NAME(n) VNET_NAME(n) -#define KRPC_VNET_DECLARE(t, n) VNET_DECLARE(t, n) -#define KRPC_VNET_DEFINE(t, n) VNET_DEFINE(t, n) -#define KRPC_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) -#define KRPC_VNET(n) VNET(n) - -#define CTLFLAG_KRPC_VNET CTLFLAG_VNET - -#define KRPC_CURVNET_SET(n) CURVNET_SET(n) -#define KRPC_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) -#define KRPC_CURVNET_RESTORE() CURVNET_RESTORE() -#define KRPC_TD_TO_VNET(n) TD_TO_VNET(n) - #endif /* _KERNEL */ #endif /* _RPC_RPCSEC_TLS_H_ */ diff --git a/sys/rpc/rpcsec_tls/rpctls_impl.c b/sys/rpc/rpcsec_tls/rpctls_impl.c index 22ba699a6fab..e1b80217263f 100644 --- a/sys/rpc/rpcsec_tls/rpctls_impl.c +++ b/sys/rpc/rpcsec_tls/rpctls_impl.c @@ -75,8 +75,8 @@ static struct syscall_helper_data rpctls_syscalls[] = { static struct opaque_auth rpctls_null_verf; -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); static CLIENT *rpctls_connect_handle; static CLIENT *rpctls_server_handle; @@ -159,7 +159,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) if (error != 0) return (error); - KRPC_CURVNET_SET(KRPC_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); mtx_lock(&rpctls_lock); upsp = RB_FIND(upsock_t, &upcall_sockets, &(struct upsock){ @@ -176,7 +176,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) } mtx_unlock(&rpctls_lock); if (upsp == NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); printf("%s: socket lookup failed\n", __func__); return (EPERM); } @@ -187,7 +187,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) * As such, it needs to be closed here. */ soclose(ups.so); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } soref(ups.so); @@ -211,7 +211,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) finit(fp, FREAD | FWRITE, DTYPE_SOCKET, ups.so, &socketops); fdrop(fp, td); /* Drop fp reference. */ td->td_retval[0] = fd; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } @@ -441,8 +441,8 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) u_int maxlen; #endif - KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); - KRPC_VNET(svc_vc_tls_handshake_failed)++; + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + VNET(svc_vc_tls_handshake_failed)++; /* Initialize reply. */ rqst->rq_verf = rpctls_null_verf; @@ -450,12 +450,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) if (rqst->rq_cred.oa_length != 0 || msg->rm_call.cb_verf.oa_length != 0 || msg->rm_call.cb_verf.oa_flavor != AUTH_NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_BADCRED); } if (rqst->rq_proc != NULLPROC) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -465,7 +465,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) call_stat = TRUE; #endif if (!call_stat) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -488,7 +488,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_dontrcv = FALSE; sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -506,12 +506,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_uid = uid; xprt->xp_gidp = gidp; } - KRPC_VNET(svc_vc_tls_handshake_failed)--; - KRPC_VNET(svc_vc_tls_handshake_success)++; + VNET(svc_vc_tls_handshake_failed)--; + VNET(svc_vc_tls_handshake_success)++; } sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (RPCSEC_GSS_NODISPATCH); } diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c index 848109704ad0..24c09f182174 100644 --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -77,57 +77,57 @@ SYSCTL_NODE(_kern_rpc, OID_AUTO, tls, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, SYSCTL_NODE(_kern_rpc, OID_AUTO, unenc, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "unencrypted"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, alerts, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_alerts), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_alerts), 0, "Count of TLS alert messages"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_failed, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_failed), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_failed), 0, "Count of TLS failed handshakes"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_success, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_success), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_success), 0, "Count of TLS successful handshakes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgbytes), 0, "Count of TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgcnt), 0, "Count of TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgbytes), 0, "Count of TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgcnt), 0, "Count of TLS tx messages"); static bool_t svc_vc_rendezvous_recv(SVCXPRT *, struct rpc_msg *, @@ -850,15 +850,15 @@ tryagain: * This record needs to be handled in userland * via an SSL_read() call, so do an upcall to the daemon. */ - KRPC_CURVNET_SET(so->so_vnet); + CURVNET_SET(so->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0 && error == ENXIO) { - KRPC_VNET(svc_vc_tls_alerts)++; + VNET(svc_vc_tls_alerts)++; /* Disable reception. */ xprt->xp_dontrcv = TRUE; sx_xunlock(&xprt->xp_lock); ret = rpctls_srv_handlerecord(so, &reterr); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); sx_xlock(&xprt->xp_lock); xprt->xp_dontrcv = FALSE; if (ret != RPC_SUCCESS || reterr != RPCTLSERR_OK) { @@ -875,7 +875,7 @@ tryagain: } if (error) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); SOCK_RECVBUF_LOCK(so); if (xprt->xp_upcallset) { xprt->xp_upcallset = 0; @@ -889,7 +889,7 @@ tryagain: } if (!m) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); /* * EOF - the other end has closed the socket. */ @@ -915,20 +915,20 @@ tryagain: m_freem(m); m_free(ctrl); rcvflag = MSG_DONTWAIT | MSG_TLSAPPDATA; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); goto tryagain; } - KRPC_VNET(svc_vc_tls_rx_msgcnt)++; - KRPC_VNET(svc_vc_tls_rx_msgbytes) += + VNET(svc_vc_tls_rx_msgcnt)++; + VNET(svc_vc_tls_rx_msgbytes) += 1000000000 - uio.uio_resid; } m_free(ctrl); } else { - KRPC_VNET(svc_vc_rx_msgcnt)++; - KRPC_VNET(svc_vc_rx_msgbytes) += 1000000000 - + VNET(svc_vc_rx_msgcnt)++; + VNET(svc_vc_rx_msgbytes) += 1000000000 - uio.uio_resid; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (cd->mpending) m_last(cd->mpending)->m_next = m; @@ -1017,7 +1017,7 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, htonl(0x80000000 | (len - sizeof(uint32_t))); /* For RPC-over-TLS, copy mrep to a chain of ext_pgs. */ - KRPC_CURVNET_SET(xprt->xp_socket->so_vnet); + CURVNET_SET(xprt->xp_socket->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { /* * Copy the mbuf chain to a chain of @@ -1029,13 +1029,13 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, maxextsiz = min(maxextsiz, maxlen); #endif mrep = _rpc_copym_into_ext_pgs(mrep, maxextsiz); - KRPC_VNET(svc_vc_tls_tx_msgcnt)++; - KRPC_VNET(svc_vc_tls_tx_msgbytes) += len; + VNET(svc_vc_tls_tx_msgcnt)++; + VNET(svc_vc_tls_tx_msgbytes) += len; } else { - KRPC_VNET(svc_vc_tx_msgcnt)++; - KRPC_VNET(svc_vc_tx_msgbytes) += len; + VNET(svc_vc_tx_msgcnt)++; + VNET(svc_vc_tx_msgbytes) += len; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); atomic_add_32(&xprt->xp_snd_cnt, len); /* * sosend consumes mreq. From nobody Wed Jun 3 20:37:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz71zbGz6ggRW for ; Wed, 03 Jun 2026 20:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz70zftz3Hbg for ; Wed, 03 Jun 2026 20:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAIDn2Hg8FIYk7877t46TFhgaDt1kkUe4Pbh921DSXs=; b=KZe/9gshsZFmHzVYAOeo5qbwVN9UEw7PxvCTshScnAUTjfpX9I1HTtaYOXKsl4YxBR5Vcj 4cEeP8le9/vC/jwh9hY5kMopOturLN5Y4dT/xg9sUWLf+LRQB2CUrSubYt63G6pRzmU3X9 bcxBRQms8vbPbkSpqPQKVOF1MPW4+4fnB2xnvx/qtHpWp1mDIP8xiGbF65a0+qE5er5pNO hGqqP0SEbjaHangzWGV3rGDIQYJwByFwIdNThvAQCCBQuMk7N8SVor7G+dHZefYlxuq2gi 0Y6QoObXcNv4yNw1358j9Y9fISvr+iLumOkxUxJp+VmNzjBT1NTUmLfxj7m1Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519059; a=rsa-sha256; cv=none; b=fKOCTWyixqDAheBEqn3ymTs5HNfgkgm/34uvzJGrROVe506qdPDxWpjs35gZ02IeVxVhfB 13bb/pUzYi+tkcqNUqnopHOIsKLNL6NUS5UEREqoGMCeWNHeD2w02iV0TlS0R03v9/CWvU 4O6LaZrvcVnRSTdWnOegDbYsYY7QQ3aENkXWtYz6bGqv62nozn8jRgDtZ5LemPNhQx+yzh /x7jyG3pLx6dLZaXxnpTLPpAPG/44kPcIcGIyN1F0n4E+vr0FlERA5fnNXebRixlP1vRxG AXcQ9cDteZJrU6TN5ihUBTKy/1l89BeBT7cCRs1FnF4iwKyL7zoKqj1d8xkFWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAIDn2Hg8FIYk7877t46TFhgaDt1kkUe4Pbh921DSXs=; b=VK7/GZy2mkEiXlyf64vte5+uyzzYkUVnGbVWFi5GVNF4z49LC6yCqmQUXiVODRv98EtRJE bAjiPi3Usti9Q5S1j2Fr3dfLRLRlKJ4Lyo1nvMjgo4or4Qz3WkE24l79xX87pDwmnd+3Li VxuAP7K3QpMypUrPwx+cFtUy3l2SjACMLsTsI0S9F1S6PHCku/rLqAgK057cdPLVKnByQc WaiG7+wny+C+aGXF+VpaYDYNE7ngsPrEig9uTmakuhRUwSrQXXGZECB0y1DHynXhQUW2i7 brhI7p+l9+vMdKD4YXG8Y19Q5RUBGmEoIG58zW0sIERDsVbrvKMeC549L3WgTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz670YPzC4H for ; Wed, 03 Jun 2026 20:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 390e5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Colin Percival From: Arthur Kiyanovski Subject: git: 94659fc28c25 - stable/14 - ena: Adjust ena_[rt]x_cleanup to return bool List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94659fc28c253b99328c0377bd909635da812459 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:38 +0000 Message-Id: <6a209092.390e5.2d7d26be@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=94659fc28c253b99328c0377bd909635da812459 commit 94659fc28c253b99328c0377bd909635da812459 Author: Colin Percival AuthorDate: 2026-04-17 17:13:44 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Adjust ena_[rt]x_cleanup to return bool The ena_[rt]x_cleanup functions are limited internally to a maximum number of packets; this ensures that TX doesn't starve RX (or vice versa) and also attempts to ensure that we get a chance to refill the RX buffer ring before the device runs out of buffers and starts dropping packets. Historically these functions have returned the number of packets which they processed which ena_cleanup compares to their respective budgets to decide whether to reinvoke them. This is unnecessary complication; since the precise number of packets processed is never used, adjust the APIs of those functions to return a bool indicating if they want to be reinvoked (aka if they hit their limits). Since ena_tx_cleanup now only uses work_done if diagnostics are enabled (ena_log_io macros to nothing otherwise) eliminate that variable and pass its value (ENA_TX_BUDGET - budget) to ena_log_io directly. No functional change intended; this will simplify a future commit. Reviewed by: akiyano Sponsored by: Amazon MFC after: 6 days Differential Revision: https://reviews.freebsd.org/D56478 (cherry picked from commit f6d2c8591c10d87050c358ef20428f13c19554ca) --- sys/dev/ena/ena_datapath.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index ab082fa1810f..ab7b8a468c30 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -44,8 +44,8 @@ * Static functions prototypes *********************************************************************/ -static int ena_tx_cleanup(struct ena_ring *); -static int ena_rx_cleanup(struct ena_ring *); +static bool ena_tx_cleanup(struct ena_ring *); +static bool ena_rx_cleanup(struct ena_ring *); static inline int ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, uint16_t *req_id); static void ena_rx_hash_mbuf(struct ena_ring *, struct ena_com_rx_ctx *, @@ -75,7 +75,8 @@ ena_cleanup(void *arg, int pending) struct ena_com_io_cq *io_cq; struct ena_eth_io_intr_reg intr_reg; int qid, ena_qid; - int txc, rxc, i; + int i; + bool rx_again, tx_again; tx_ring = que->tx_ring; rx_ring = que->rx_ring; @@ -99,14 +100,14 @@ ena_cleanup(void *arg, int pending) atomic_store_8(&rx_ring->first_interrupt, 1); for (i = 0; i < ENA_CLEAN_BUDGET; ++i) { - rxc = ena_rx_cleanup(rx_ring); - txc = ena_tx_cleanup(tx_ring); + rx_again = ena_rx_cleanup(rx_ring); + tx_again = ena_tx_cleanup(tx_ring); if (unlikely(((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) || (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)))) return; - if ((txc != ENA_TX_BUDGET) && (rxc != ENA_RX_BUDGET)) + if (!rx_again && !tx_again) break; } @@ -238,7 +239,7 @@ ena_get_tx_req_id(struct ena_ring *tx_ring, struct ena_com_io_cq *io_cq, * TX_COMMIT. The first check of free descriptor is performed before the actual * loop, then repeated at the loop end. **/ -static int +static bool ena_tx_cleanup(struct ena_ring *tx_ring) { struct ena_adapter *adapter; @@ -250,7 +251,6 @@ ena_tx_cleanup(struct ena_ring *tx_ring) int rc; int commit = ENA_TX_COMMIT; int budget = ENA_TX_BUDGET; - int work_done; bool above_thresh; adapter = tx_ring->que->adapter; @@ -304,10 +304,8 @@ ena_tx_cleanup(struct ena_ring *tx_ring) } } while (likely(--budget)); - work_done = ENA_TX_BUDGET - budget; - ena_log_io(adapter->pdev, DBG, "tx: q %d done. total pkts: %d\n", - tx_ring->qid, work_done); + tx_ring->qid, ENA_TX_BUDGET - budget); /* If there is still something to commit update ring state */ if (likely(commit != ENA_TX_COMMIT)) { @@ -339,7 +337,7 @@ ena_tx_cleanup(struct ena_ring *tx_ring) tx_ring->tx_last_cleanup_ticks = ticks; - return (work_done); + return (budget == 0); } static void @@ -559,7 +557,7 @@ ena_rx_checksum(struct ena_ring *rx_ring, struct ena_com_rx_ctx *ena_rx_ctx, * ena_rx_cleanup - handle rx irq * @arg: ring for which irq is being handled **/ -static int +static bool ena_rx_cleanup(struct ena_ring *rx_ring) { struct ena_adapter *adapter; @@ -701,7 +699,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) tcp_lro_flush_all(&rx_ring->lro); - return (ENA_RX_BUDGET - budget); + return (budget == 0); } static void From nobody Wed Jun 3 20:37:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz82xDgz6ggRf for ; Wed, 03 Jun 2026 20:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz80VFDz3HVl for ; Wed, 03 Jun 2026 20:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZFzkmZWRtdH0z0rDJxhjSgieuXDbd6+8dh8Ly44uEmw=; b=NkHZMNo8cPDmudyNphBHjaqf3R8jlqKO2VYI9WXOnB92SY+LLZiCca5A9J8DYeADDKrA6R bBSUgd1v6Vd1go5sMVFNMWvKReUXrCf4DXd3R8Fzs6D4/nQ/kZXtrwYxx1Nk/BJRVuuI1U TVx6cybXEoWslAbTGPIgtkc3Q4+KLuqQZtfDAZ7elk+fGrczJUlCGDVOy8BRWGczvaihKf mIQ3XG4/DwIv1tv+ufUxbxrzHHfCK8x5V9l/69Jx2OSyAKocPjHBK/pE7dgs9GzechPyXQ +w0J8s6i1uzSLsKAOTIXaAE8RM4av3L+OXTDq7hVFDffe3NuBVBH+cg5JTvffg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519060; a=rsa-sha256; cv=none; b=nLABWwGrhBRmYcVdWx6idwktasTz2n1u60ahRkSqvWJGl5nu6VwQZcG+bbHZwMQSGqPWup Nz9yVAGdM2UJrqeyoDPVwianqpwWBAlqdgBVOh8Q44ci6rjscCMTB/rzN2tD6Mf/plRyWp +EF6+FLiRPztEM6ze05v9HPZO1Z6h2bQEUTv0IOA0Ei3pG482Xh0SuB28FPUbDz3aAu/Ha x5pBpW/GDa6pZyd1PJO/Nuyhw6z5lCIbrkZ7rEckAcp9SxA9lE606DHSeYnmDYQ3j/fY2G nj2x1z+TSpV5Br62md/cCSFCxjZha9hyL5UivKLAK+HJmYX7ektIeRuCj+PuAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZFzkmZWRtdH0z0rDJxhjSgieuXDbd6+8dh8Ly44uEmw=; b=cK1lBRmOJTbWh0yC/evkopxAe1x4Ao7t89ESiztIfETrLpntm44N6BIBVvKvsD/S7geYxa Qe0SGyPrLOhpdBJu0OPBrtNQHMolS0SHVQDB3HEeIZSvzZDhhiXy/vtOZ+vni3ruglz8lW rwG/W4O0y8TvV6jzemPzGjBkxFUDm2mz51n4TZ9Zw1o+ywASnGdOCDch5mPnK1qsFJyQbx wvri531GbM/J4+6/v72fDgYtwR3ic9nRkfcBPVCw/Q6v4auFVNUtfLDtqLW9UNtcVbC1Xy TvQ1Z5lQGknjPVsn2LSLMPglKxlYJdGmtO2sD0liSj3dABfVIpLi3p4RlxzJ+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz805NpzBkj for ; Wed, 03 Jun 2026 20:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3782c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Colin Percival From: Arthur Kiyanovski Subject: git: 109ee0abc18d - stable/14 - ena: Budget rx descriptors, not packets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 109ee0abc18d7a4920092ea14a13e8b5987789f6 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:40 +0000 Message-Id: <6a209094.3782c.2da83a2e@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=109ee0abc18d7a4920092ea14a13e8b5987789f6 commit 109ee0abc18d7a4920092ea14a13e8b5987789f6 Author: Colin Percival AuthorDate: 2026-04-17 17:40:00 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Budget rx descriptors, not packets We had ENA_RX_BUDGET = 256 in order to allow up to 256 received packets to be processed before we do other cleanups (handling tx packets and, critically, refilling the rx buffer ring). Since the ring holds 1024 buffers by default, this was fine for normal packets: We refill the ring when it falls below 7/8 full, and even with a large burst of incoming packets allowing it to fall by another 1/4 before we consider refilling the ring still leaves it at 7/8 - 1/4 = 5/8 full. With jumbos, the story is different: A 9k jumbo (as is used by default within the EC2 network) consumes 3 descriptors, so a single rx cleanup pass can consume 3/4 of the default-sized rx ring; if the rx buffer ring wasn't completely full before a packet burst arrives, this puts us perilously close to running out of rx buffers. This precise failure mode has been observed on some EC2 instance types within a Cluster Placement Group, resulting in the nominal 10 Gbps single-flow throughput between instances dropping to ~100 Mbps as a result of repeated rx overruns causing packet loss and ultimately retransmission timeouts. To correct this, switch from processing up to ENA_RX_BUDGET (256) packets to processing up to ENA_RX_DESC_BUDGET (256) descriptors (or slightly more, if we hit the limit in the middle of a packet). This ensures that, even with jumbos, we refill the ring before processing most of a ring worth of descriptors, and returns the throughput to expected levels. Note that theoretically up to ENA_PKT_MAX_BUFS (19) descriptors can be used for a single packet, in which case even 54 packets would exhaust the default rx buffer ring; it's not clear if this ever occurs in practice, but this fix will address that case as well. Reviewed by: akiyano Sponsored by: Amazon MFC after: 6 days Differential Revision: https://reviews.freebsd.org/D56479 (cherry picked from commit 0f7b8f79f67b25cb0727c7b7d604eb1eec91fef1) --- sys/dev/ena/ena.h | 4 ++-- sys/dev/ena/ena_datapath.c | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index f67c7002327d..b2156437f847 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -99,8 +99,8 @@ * of TCP retransmissions. */ #define ENA_TX_BUDGET 128 -/* RX cleanup budget. -1 stands for infinity. */ -#define ENA_RX_BUDGET 256 +/* RX cleanup budget, in descriptors. -1 stands for infinity. */ +#define ENA_RX_DESC_BUDGET 256 /* * How many times we can repeat cleanup in the io irq handling routine if the * RX or TX budget was depleted. diff --git a/sys/dev/ena/ena_datapath.c b/sys/dev/ena/ena_datapath.c index ab7b8a468c30..23cbf62b5143 100644 --- a/sys/dev/ena/ena_datapath.c +++ b/sys/dev/ena/ena_datapath.c @@ -575,7 +575,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) uint32_t do_if_input = 0; unsigned int qid; int rc, i; - int budget = ENA_RX_BUDGET; + int budget = (ENA_RX_DESC_BUDGET == -1) ? INT_MAX : ENA_RX_DESC_BUDGET; #ifdef DEV_NETMAP int done; #endif /* DEV_NETMAP */ @@ -684,7 +684,14 @@ ena_rx_cleanup(struct ena_ring *rx_ring) counter_u64_add_protected(rx_ring->rx_stats.cnt, 1); counter_u64_add_protected(adapter->hw_stats.rx_packets, 1); counter_exit(); - } while (--budget); + + /* + * Adjust our budget; note that we count descriptors, not + * packets, since we need to ensure we don't run out of rx + * buffers when receiving jumbos. + */ + budget -= ena_rx_ctx.descs; + } while (budget > 0); rx_ring->next_to_clean = next_to_clean; @@ -699,7 +706,7 @@ ena_rx_cleanup(struct ena_ring *rx_ring) tcp_lro_flush_all(&rx_ring->lro); - return (budget == 0); + return (budget <= 0); } static void From nobody Wed Jun 3 20:37:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz93QzHz6ggXK for ; Wed, 03 Jun 2026 20:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzz91KSxz3HhK for ; Wed, 03 Jun 2026 20:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVZLdLeyFrECXwRsh8Ao21eKfJnSkQL7a2QsmOIaaZ4=; b=EEcKJBR3OZGKkeLOmBGJvVjnmg9f8MwVOupFn4SYmqE5iO7ur91jcQQ0CYTBqZ8jsaRasK ztXjl/cMx6voo2R7DMk6AbXQu62zFikzaHAks9SVahfvs00PdgVQpHMz7l+2tkyYS4hov/ fpHORrM5kC3XKcdUotdhO+odiSND4zuSEDw9/M+w8U40WjnbZYJnFbC0tVvwWlFm4zK7cE 2VmTUhhKoeuY+7xSuKlUOYbbANHZ1tKt5jcqQYcvpAHFubImrXq/rKiUgjG82xTqd5+5OG /ercAcVVgsR8K4NLQ3R/7gDYJ6o227HuSkuBPZs7z5DyetYyZd1Cgx5mzEIVaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519061; a=rsa-sha256; cv=none; b=SktXBg6R92edl8+rftkujEUJlWgBRJm7KcRti4IjNdd1PdN6GbdNo4ARuafIVJITEsSw0D XIjDptxMkeef/0QJ5/7LkdyV9BLzQnGSnw/M3gBr7/lW4t3shC7LjMbuN5GnKACvf3m5IA 04qmO9aVH4fyuYGViMcQfL2lF46lZ8BCwi9EFfAha4kkfHZ2IjCjD5m4LuA/GN7OzAr9Bl ioS1twx/jxYvElm78dJJff7uQBKJ5Oy1wiSbgkL1OHO8RGfyV9WSMhbyjQXVl2dcTFCFpd z+c9lT3CdqlMHZS8EXL/eRN0R8mhW7ibrOvneaGS5YciJNRpl2YGwF6Cax1vWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVZLdLeyFrECXwRsh8Ao21eKfJnSkQL7a2QsmOIaaZ4=; b=kpk8umOZaPpS4Y48W2Rurd/y6qrB2D8M/AOPKFircOFMHlE6j8o9OPkQqoNjFH7NbzO6kc JFp3EQWo4k1o8SxXL/ETJinmRRm1yc7dVvyPeDpCRbuShDMZFLYPpyurUd/nyutaoF1i01 J13tAqQp7DUxGJzi2TBMmMrRBII7v9SI4S3+0kr1LNhng2zzI4IS7h6xVEKOkuUa/3+n1Q Vm3tHwbKzD/KI8hcENNBh6Qqabn2fyYkwtyClxqRd2rJY0gqE4NtQ/8//Wz0+HJLp8GrGi fYhc2400Q0BddnsR6gIBkNfdCxeOXaoiIr2K2OLeLpELWctGg5avngVYM/AASA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzz90tZlzBpv for ; Wed, 03 Jun 2026 20:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38534 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: David Arinzon From: Arthur Kiyanovski Subject: git: 77876eba7d9e - stable/14 - ena: Report RX overrun errors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77876eba7d9ea5551c9666fdc73fa56e78bf3e73 Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:41 +0000 Message-Id: <6a209095.38534.64faf6e2@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=77876eba7d9ea5551c9666fdc73fa56e78bf3e73 commit 77876eba7d9ea5551c9666fdc73fa56e78bf3e73 Author: David Arinzon AuthorDate: 2026-04-15 12:13:56 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:35 +0000 ena: Report RX overrun errors Extract rx_overruns from the keep alive descriptor reported by the device and expose it via sysctl hw stats. RX overrun errors occur when a packet arrives but there are not enough free buffers in the RX ring to receive it. MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D56640 (cherry picked from commit e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0) --- sys/dev/ena/ena.c | 4 ++++ sys/dev/ena/ena.h | 2 ++ sys/dev/ena/ena_sysctl.c | 2 ++ 3 files changed, 8 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index eddb7dbd42e8..b91fade61cec 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3090,15 +3090,19 @@ ena_keep_alive_wd(void *adapter_data, struct ena_admin_aenq_entry *aenq_e) sbintime_t stime; uint64_t rx_drops; uint64_t tx_drops; + uint64_t rx_overruns; desc = (struct ena_admin_aenq_keep_alive_desc *)aenq_e; rx_drops = ((uint64_t)desc->rx_drops_high << 32) | desc->rx_drops_low; tx_drops = ((uint64_t)desc->tx_drops_high << 32) | desc->tx_drops_low; + rx_overruns = ((uint64_t)desc->rx_overruns_high << 32) | desc->rx_overruns_low; counter_u64_zero(adapter->hw_stats.rx_drops); counter_u64_add(adapter->hw_stats.rx_drops, rx_drops); counter_u64_zero(adapter->hw_stats.tx_drops); counter_u64_add(adapter->hw_stats.tx_drops, tx_drops); + counter_u64_zero(adapter->hw_stats.rx_overruns); + counter_u64_add(adapter->hw_stats.rx_overruns, rx_overruns); stime = getsbinuptime(); atomic_store_rel_64(&adapter->keep_alive_timestamp, stime); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index b2156437f847..8b5bcdc3214f 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -417,6 +417,8 @@ struct ena_hw_stats { counter_u64_t rx_drops; counter_u64_t tx_drops; + + counter_u64_t rx_overruns; }; /* Board specific private data structure */ diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 837d9b9a7165..cac5c07ce7b7 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -419,6 +419,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &hw_stats->rx_drops, "Receive packet drops"); SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "tx_drops", CTLFLAG_RD, &hw_stats->tx_drops, "Transmit packet drops"); + SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "rx_overruns", CTLFLAG_RD, + &hw_stats->rx_overruns, "Receive overruns"); /* ENA Admin queue stats */ admin_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "admin_stats", From nobody Wed Jun 3 20:37:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gVzzC0dcWz6ggBb for ; Wed, 03 Jun 2026 20:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gVzzB2CX3z3Hbp for ; Wed, 03 Jun 2026 20:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CHdNuI89hIX1+NqU8DbAxDnjJv6bPKrqHZY0t6niSY4=; b=xFrzReu9viRI021RfBKqiKhORVK6vwaj2BfUVwveXdqOCC+ed75n9GT6qIsPOPljF7sn9d 2ZBCb/WDdpjorAB1cuAKx+SGizXt17/TiF1PyHIdFhiBdrt/XT300IDiRr7FzMMzziyVU2 nsgm2aJejOm69wx381SKAuHTnMgIAmeByYWV7bW9azVOI/Bsy7Ta1nefhvgjnS6IdDSxtJ B9th6rnf51AC0NHrz0ZVyVArL2rGujrptj3bPbCe0PYDZwIqYPGIHrKm2PNMPklxgZVofa dKIo2RgYpH9hQzf4JEFIWwQ7P8bQTSTVZqTRW6HLiO8oeZoleRGC1oIaLbxhCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780519062; a=rsa-sha256; cv=none; b=gBlh+BTe7xJuBXbR6cdSFA+0WHs0tDGfUTyzOPLV36m0tX/JFSekHPGOtUOOdPV586gXtX Gr85gcl2w0Gjk9iHXa4RCswpVGH/J48mYzM1xQ3bPXvDwtyXRzdve0l+ZEb70qXz2J/A9/ 9W8UBOJvepMi/ZcCdhy7NPtUOVkH7axSRBJXlUx4CQfb4Fv1UV5KJVRKFKfc4uOZ3TG2x/ 2m7MJ2c1SVuITojTfe+cG4ZbICO5mUuexTRg2bHokBVuzs2bSiO6mlQhfPMQXtGJg55MsI qyLPJrTcXxx/2U3KGXdQUVIHAWwIVHrk37lTGccoMRsvobY9kHMEKuiR/nZpJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780519062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CHdNuI89hIX1+NqU8DbAxDnjJv6bPKrqHZY0t6niSY4=; b=vpQ2BbtoTrifJtpyUC+lsz6pijR6xU3aPhKFZ047pgfbwsmIm34M9CZjvDhbAJT3rmkhcY +Zno0eK+a4AKwNxFCqHDiAxp3f20oc5wGwq6wCYwP8REt9FLVwzu14I0ru4cXikbrZKjjg IzBCYkKSRKNWcxrD6HaedaLQN1ehvIM42v0ECCh9ux5B8UhgLmlY6Z/4jPt61kcacczo0t 7fRI3gIRy+3KN9yIogNHHEuqLVRoWCdMFt3CphbkRB4bL8ccdRSA0rJHJvbVd6uqAV6q5Y bOQNM8Z9rLzJDMwy9VuNhN6d26+NcGo3sHEv2IGpMrTxPu8HsyuHYsVawipAPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gVzzB1gtMzBmK for ; Wed, 03 Jun 2026 20:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a79 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 03 Jun 2026 20:37:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: 545cef127528 - stable/14 - ena: Update driver version to v2.8.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 545cef127528bfd58232f065453696ce7e3fa7dd Auto-Submitted: auto-generated Date: Wed, 03 Jun 2026 20:37:42 +0000 Message-Id: <6a209096.37a79.5c21abe5@gitrepo.freebsd.org> The branch stable/14 has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=545cef127528bfd58232f065453696ce7e3fa7dd commit 545cef127528bfd58232f065453696ce7e3fa7dd Author: Arthur Kiyanovski AuthorDate: 2026-04-25 18:47:26 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-06-03 20:35:36 +0000 ena: Update driver version to v2.8.3 Features: * Report RX overrun errors via sysctl hw stats Bug Fixes: * Budget rx descriptors, not packets, to fix jumbo frame throughput Minor Changes: * Adjust ena_[rt]x_cleanup to return bool MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D56641 (cherry picked from commit af7911d3b732b8e0d4254c5d0bf60d74ced89157) --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 8b5bcdc3214f..ca5abe494e04 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -39,7 +39,7 @@ #define ENA_DRV_MODULE_VER_MAJOR 2 #define ENA_DRV_MODULE_VER_MINOR 8 -#define ENA_DRV_MODULE_VER_SUBMINOR 2 +#define ENA_DRV_MODULE_VER_SUBMINOR 3 #define ENA_DRV_MODULE_NAME "ena" From nobody Thu Jun 4 00:36:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GV40Vfz6h648 for ; Thu, 04 Jun 2026 00:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GV3Lypz3prN for ; Thu, 04 Jun 2026 00:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l1CVLBPrbKekw7ZJXdwUPgwKJTlAB+V/+iWsZVmVHhA=; b=NfEmDM7bYx1a1TnmKKGX1UHLBuLYbjTjSXBpcx2FvUqk8g1rOh/I3MCOTqkfDQ64MxzPQ3 b2gRcMEz35aSgRCpwFxiEH2m18Kim16/D0oqUGv7ywfvwQWUR16OB7i1yfTVCnSO0fw+xP KlGxI/xdpheRKvK7XT1Eje5vwMrnPdaXwDqOCUiqxDD0B6Fo681WFlh1+uF+Bl7m/Bbw4O 55QLPwAW++M5KfVCNVe5gV6xOK/Yl+3BdGIoQ2w50Vba+rT2jKhfELIAyCXxzJ9US+OZ6b veO5sNV3Mrhv40F5WUfGtJL/VdInxN9B/V2B+pN++tBanrnBGE+/i/K2JEN9Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533378; a=rsa-sha256; cv=none; b=MehzwpWS90Jhqs0cE1C9kvV/1JQTGClmCK2Ugdbq9YhQFLsCnjHSnGDn+QbwaLvAuXQ8yg wH0W7yOr2GjsiWZqE8ltmlAJxWwZ+4dk8dzocvZsnemdet7FEkvSf0LRsSXQ8gWjjRCEIY miF9ZZ8KK/zSMFXTMHiQwJagsjEqYlrBMeEeeUml+1etfFlhOjYopQMFwc6CXeZwdypi5t q1Jd3svir6rpSEL28/Zb23o9s5c/lda/dTLJLjzReehHqjflceCSyqigZDIUede5HpB/7v CMgXNwxd90oZwjg/Kjs+MMusIBhRvwptWB0skCJ7nkTBMx22Ddlwk9pIhS0cWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l1CVLBPrbKekw7ZJXdwUPgwKJTlAB+V/+iWsZVmVHhA=; b=wqZTiv8UCJxsYYLW2KBMZa4Hjp1bk/0WjjN3ZNsbFQvle+QuMDhJzxynCe5bAinpBltIC9 14lo4w2xA8E981Kn/AZLXLu8VkpKjbsdGC1suwJSmqW8TM3QH/Ls006qBLSaduObiInWFk jb1svi/EKV4rOUstal1Ku35Cp1xbD7eK68LZ8eAq86VZ6AXkfC9K0gNhtYrFsF4xdudIXQ 8WyVyx80+rI+MoFYckZhbqz2ILvbQYEPhuS3k9a23oXTtONr0Hw1E++L50p7LnLEUY68pU YviwKmB5DbET9MYn4CYO8i99f1UdfVcZPo0qhi2hiAZoXZ8qXhyW738nxzHf9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GV2blqzbQB for ; Thu, 04 Jun 2026 00:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21b96 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5bbd104c48ea - stable/15 - image activators: pass the current thread List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5bbd104c48ea592fef4cd2b90ce83922114f1235 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:18 +0000 Message-Id: <6a20c882.21b96.67cbd145@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5bbd104c48ea592fef4cd2b90ce83922114f1235 commit 5bbd104c48ea592fef4cd2b90ce83922114f1235 Author: Konstantin Belousov AuthorDate: 2026-05-28 09:06:04 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 image activators: pass the current thread (cherry picked from commit 9b729333bb2495afb8821044fa42c9ebe0874703) --- sys/kern/imgact_elf.c | 36 ++++++++++++++++-------------------- sys/kern/kern_exec.c | 1 + sys/sys/imgact.h | 1 + 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index c91fd8089487..21db327d27f4 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -94,7 +94,7 @@ static int __elfN(check_header)(const Elf_Ehdr *hdr); static const Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, const char *interp, int32_t *osrel, uint32_t *fctl0); -static int __elfN(load_file)(struct proc *p, const char *file, u_long *addr, +static int __elfN(load_file)(struct thread *td, const char *file, u_long *addr, u_long *entry); static int __elfN(load_section)(const struct image_params *imgp, vm_ooffset_t offset, caddr_t vmaddr, size_t memsz, size_t filsz, @@ -780,8 +780,8 @@ __elfN(load_sections)(const struct image_params *imgp, const Elf_Ehdr *hdr, * the entry point for the loaded file. */ static int -__elfN(load_file)(struct proc *p, const char *file, u_long *addr, - u_long *entry) +__elfN(load_file)(struct thread *td, const char *file, u_long *addr, + u_long *entry) { struct { struct nameidata nd; @@ -802,7 +802,7 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, * XXXJA: This check can go away once we are sufficiently confident * that the checks in namei() are correct. */ - if (IN_CAPABILITY_MODE(curthread)) + if (IN_CAPABILITY_MODE(td)) return (ECAPMODE); #endif @@ -814,7 +814,8 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, /* * Initialize part of the common data */ - imgp->proc = p; + imgp->td = td; + imgp->proc = td->td_proc; imgp->attr = attr; NDINIT(nd, LOOKUP, ISOPEN | FOLLOW | LOCKSHARED | LOCKLEAF, @@ -867,8 +868,8 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr, if (error != 0) goto fail; - if (p->p_sysent->sv_protect != NULL) - p->p_sysent->sv_protect(imgp, SVP_INTERP); + if (imgp->proc->p_sysent->sv_protect != NULL) + imgp->proc->p_sysent->sv_protect(imgp, SVP_INTERP); *addr = base_addr; *entry = (unsigned long)hdr->e_entry + rbase; @@ -1008,7 +1009,6 @@ static int __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, char **interpp, bool *free_interpp) { - struct thread *td; char *interp; int error, interp_name_len; @@ -1016,8 +1016,6 @@ __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, ("%s: p_type %u != PT_INTERP", __func__, phdr->p_type)); ASSERT_VOP_LOCKED(imgp->vp, __func__); - td = curthread; - /* Path to interpreter */ if (phdr->p_filesz < 2 || phdr->p_filesz > MAXPATHLEN) { uprintf("Invalid PT_INTERP\n"); @@ -1045,8 +1043,8 @@ __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr, error = vn_rdwr(UIO_READ, imgp->vp, interp, interp_name_len, phdr->p_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, - NOCRED, NULL, td); + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); if (error != 0) { free(interp, M_TEMP); uprintf("i/o error PT_INTERP %d\n", error); @@ -1079,13 +1077,13 @@ __elfN(load_interp)(struct image_params *imgp, const Elf_Brandinfo *brand_info, if (brand_info->interp_newpath != NULL && (brand_info->interp_path == NULL || strcmp(interp, brand_info->interp_path) == 0)) { - error = __elfN(load_file)(imgp->proc, + error = __elfN(load_file)(imgp->td, brand_info->interp_newpath, addr, entry); if (error == 0) return (0); } - error = __elfN(load_file)(imgp->proc, interp, addr, entry); + error = __elfN(load_file)(imgp->td, interp, addr, entry); if (error == 0) return (0); @@ -1102,7 +1100,6 @@ __elfN(load_interp)(struct image_params *imgp, const Elf_Brandinfo *brand_info, static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) { - struct thread *td; const Elf_Ehdr *hdr; const Elf_Phdr *phdr; Elf_Auxargs *elf_auxargs; @@ -1152,7 +1149,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) entry = proghdr = 0; interp = NULL; free_interp = false; - td = curthread; /* * Somewhat arbitrary, limit accepted max alignment for the @@ -1329,7 +1325,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) map = &vmspace->vm_map; maxv = sv->sv_usrstack; if ((imgp->map_flags & MAP_ASLR_STACK) == 0) - maxv -= lim_max(td, RLIMIT_STACK); + maxv -= lim_max(imgp->td, RLIMIT_STACK); if (error == 0 && mapsz >= maxv - vm_map_min(map)) { uprintf("Excessive mapping size\n"); error = ENOEXEC; @@ -1339,7 +1335,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) KASSERT((map->flags & MAP_ASLR) != 0, ("ET_DYN_ADDR_RAND but !MAP_ASLR")); error = __CONCAT(rnd_, __elfN(base))(map, - vm_map_min(map) + mapsz + lim_max(td, RLIMIT_DATA), + vm_map_min(map) + mapsz + lim_max(imgp->td, RLIMIT_DATA), /* reserve half of the address space to interpreter */ maxv / 2, maxalign, &imgp->et_dyn_addr); } @@ -1362,7 +1358,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) * calculation is that it leaves room for the heap to grow to * its maximum allowed size. */ - addr = round_page((vm_offset_t)vmspace->vm_daddr + lim_max(td, + addr = round_page((vm_offset_t)vmspace->vm_daddr + lim_max(imgp->td, RLIMIT_DATA)); if ((map->flags & MAP_ASLR) != 0) { maxv1 = maxv / 2 + addr / 2; @@ -2809,7 +2805,7 @@ __elfN(parse_notes)(const struct image_params *imgp, const Elf_Note *checknote, } error = vn_rdwr(UIO_READ, imgp->vp, buf, pnote->p_filesz, pnote->p_offset, UIO_SYSSPACE, IO_NODELOCKED, - curthread->td_ucred, NOCRED, NULL, curthread); + imgp->td->td_ucred, NOCRED, NULL, imgp->td); if (error != 0) { uprintf("i/o error PT_NOTE\n"); goto retf; diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 22e18876a20c..417c7da19449 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -448,6 +448,7 @@ do_execve(struct thread *td, struct image_args *args, struct mac *mac_p, */ bzero(imgp, sizeof(*imgp)); imgp->proc = p; + imgp->td = td; imgp->attr = &attr; imgp->args = args; oldcred = p->p_ucred; diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h index c1c94a2eabfd..51cda4406cad 100644 --- a/sys/sys/imgact.h +++ b/sys/sys/imgact.h @@ -57,6 +57,7 @@ struct image_args { struct image_params { struct proc *proc; /* our process */ + struct thread *td; struct label *execlabel; /* optional exec label */ struct vnode *vp; /* pointer to vnode of file to exec */ struct vm_object *object; /* The vm object for this vp */ From nobody Thu Jun 4 00:36:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GW4yzlz6h5tM for ; Thu, 04 Jun 2026 00:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GW43FTz3pty for ; Thu, 04 Jun 2026 00:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDmpKF+U21M5+WRc+klBpG6n3fnwMVx1D+8/+iK7cao=; b=fxYR6y8aScAzlPzm57SU33IevP2xlSe4G5tmMdraRE4Uvne02go0kfQEi2IOn/R7ZWJKrt Rvimp1kZeNelZFPkOlbN7R7kr5i/Hj4Zxuy+AW5OE1e+4oYhXaLfSnKeNUqwnpWwptB5x8 EAHuoOoJRhPmmXcq7hL+qAZ7JH2UuHGG0drvn9YHcfVGCfiVC/71G/rxqlM3QRmzsSL9Un MxIfBguP+VW5b7rrgIulDVrrFej1TWKWHJ7ziMd7QG9g/uFC2wujkxcm8XDLXcf3Hx1rQl vx+XORwK7/YgPDSRrIbbxkGviPoYSn4yzHtgE5XPHIcMoMvSZOgMpfT/Zf0KmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533379; a=rsa-sha256; cv=none; b=rbuWfWvlNB/40N7O+nreIahFD/CGt2HBwuc02jQ0D63UJbvmStkOHMYLlfHd+u4S6wkgXC 7MP1pgpzQZY3VhEc4Q/MkNb8UG3LVHQGBYJP+Yl6oMCM7KWAsJEMrrPCM2sTZ6hxmIqPez vVyI0FTIbuF4pJEhckt9atxPyAr7D1nU/t4I3PzWU4XGjfHaedSel126Qm+3BijQIKHSEx bNHOczoWTh0xQCCh2seXXODFGN9wuCMXfWJQyYtQT3W91Ms/RkhYH4+/lQsDc16ewQ1rD0 bXH2ZQ5xedh2L5G07f2IuRqBiOAZqu33YDf6oH2JMcOMCAERoNPvA8b9ejUbAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDmpKF+U21M5+WRc+klBpG6n3fnwMVx1D+8/+iK7cao=; b=qV1TVml2Yby3RhS4zL0P2/VLPoCWJEzCNYutFdTxpHkZvUOCVpv6lpdlZ1j3e3el3mLRh/ qGicTnq461y7RjbNDE04nz6cZW6AYBKcou8tsBwRaBSzjloWUk6CicDoYiW08Utrol8FBp CCsEKui6ecvNSFaSkjy0eqvX2xxtI9bJLaklpGDOcSdxFipB8DzPIx22sGF4I9Mm4FBsnl o0scRRGY6k3vdKSgh4S0jRxunghn158msOgFi97gyc0SRjM/waXQdRXbfWAxm/dtRl7hP5 xVDTHtcDy2MgVCK3d9+3kskntH363HdhH1OpFTQJVZEZsoVm9/1n61l+CAjoGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GW3SLlzbj7 for ; Thu, 04 Jun 2026 00:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2fa4a6b79f7b - stable/15 - imgact_elf: read program headers if not contained in the first page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:19 +0000 Message-Id: <6a20c883.206c3.3b973587@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a commit 2fa4a6b79f7b00caa206d1bd52cb0253988f2f6a Author: Konstantin Belousov AuthorDate: 2026-05-28 09:06:33 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 imgact_elf: read program headers if not contained in the first page PR: 295629 (cherry picked from commit 804daf166406a1b0e22f93b9417b90ed7d3aa1ae) --- sys/kern/imgact_elf.c | 91 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 21db327d27f4..9b5215d9217a 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -84,6 +84,8 @@ #define ELF_NOTE_ROUNDSIZE 4 #define OLD_EI_BRAND 8 +#define ELF_OFFPAGE_PHNUM 128 + /* * ELF_ABI_NAME is a string name of the ELF ABI. ELF_ABI_ID is used * to build variable names. @@ -93,7 +95,7 @@ static int __elfN(check_header)(const Elf_Ehdr *hdr); static const Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, - const char *interp, int32_t *osrel, uint32_t *fctl0); + const Elf_Phdr *phdr, const char *interp, int32_t *osrel, uint32_t *fctl0); static int __elfN(load_file)(struct thread *td, const char *file, u_long *addr, u_long *entry); static int __elfN(load_section)(const struct image_params *imgp, @@ -103,7 +105,7 @@ static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp); static bool __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel); static bool kfreebsd_trans_osrel(const Elf_Note *note, int32_t *osrel); -static bool __elfN(check_note)(struct image_params *imgp, +static bool __elfN(check_note)(struct image_params *imgp, const Elf_Phdr *phdr, const Elf_Brandnote *checknote, int32_t *osrel, bool *has_fctl0, uint32_t *fctl0); static vm_prot_t __elfN(trans_prot)(Elf_Word); @@ -339,8 +341,8 @@ __elfN(brand_inuse)(const Elf_Brandinfo *entry) } static const Elf_Brandinfo * -__elfN(get_brandinfo)(struct image_params *imgp, const char *interp, - int32_t *osrel, uint32_t *fctl0) +__elfN(get_brandinfo)(struct image_params *imgp, const Elf_Phdr *phdr, + const char *interp, int32_t *osrel, uint32_t *fctl0) { const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header; const Elf_Brandinfo *bi, *bi_m; @@ -369,8 +371,8 @@ __elfN(get_brandinfo)(struct image_params *imgp, const char *interp, has_fctl0 = false; *fctl0 = 0; *osrel = 0; - ret = __elfN(check_note)(imgp, bi->brand_note, osrel, - &has_fctl0, fctl0); + ret = __elfN(check_note)(imgp, phdr, bi->brand_note, + osrel, &has_fctl0, fctl0); /* Give brand a chance to veto check_note's guess */ if (ret && bi->header_supported) { ret = bi->header_supported(imgp, osrel, @@ -787,12 +789,13 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, struct nameidata nd; struct vattr attr; struct image_params image_params; - } *tempdata; + } *tempdata = NULL; const Elf_Ehdr *hdr = NULL; const Elf_Phdr *phdr = NULL; struct nameidata *nd; struct vattr *attr; struct image_params *imgp; + void *m_phdrs = NULL; u_long rbase; u_long base_addr = 0; int error; @@ -852,16 +855,27 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, goto fail; } - /* Only support headers that fit within first page for now */ - if (!__elfN(phdr_in_zero_page)(hdr)) { + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { error = ENOEXEC; goto fail; } - - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - if (!aligned(phdr, Elf_Addr)) { - error = ENOEXEC; - goto fail; + if (__elfN(phdr_in_zero_page)(hdr)) { + phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); + } else { + if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { + error = ENOEXEC; + goto fail; + } + VOP_UNLOCK(imgp->vp); + phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), + M_TEMP, M_WAITOK | M_ZERO); + vn_lock(imgp->vp, LK_SHARED | LK_RETRY); + error = vn_rdwr(UIO_READ, imgp->vp, m_phdrs, + hdr->e_phnum * sizeof(Elf_Phdr), hdr->e_phoff, + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); + if (error != 0) + goto fail; } error = __elfN(load_sections)(imgp, hdr, phdr, rbase, &base_addr); @@ -883,6 +897,7 @@ fail: VOP_UNSET_TEXT_CHECKED(nd->ni_vp); vput(nd->ni_vp); } + free(m_phdrs, M_TEMP); free(tempdata, M_TEMP); return (error); @@ -1108,6 +1123,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) char *interp; const Elf_Brandinfo *brand_info; struct sysentvec *sv; + void *m_phdrs; u_long addr, baddr, entry, proghdr; u_long maxalign, maxsalign, mapsz, maxv, maxv1, anon_loc; uint32_t fctl0; @@ -1132,16 +1148,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) * detected an ELF file. */ - if (!__elfN(phdr_in_zero_page)(hdr)) { - uprintf("Program headers not in the first page\n"); - return (ENOEXEC); - } - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - if (!aligned(phdr, Elf_Addr)) { - uprintf("Unaligned program headers\n"); - return (ENOEXEC); - } - n = error = 0; baddr = 0; osrel = 0; @@ -1149,6 +1155,33 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) entry = proghdr = 0; interp = NULL; free_interp = false; + m_phdrs = NULL; + + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { + uprintf("Unaligned program headers\n"); + return (ENOEXEC); + } + if (hdr->e_phoff + hdr->e_phnum * hdr->e_phentsize < hdr->e_phoff) { + uprintf("PHDRS wrap\n"); + return (ENOEXEC); + } + if (__elfN(phdr_in_zero_page)(hdr)) { + phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); + } else if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { + uprintf("Too many program headers\n"); + return (ENOEXEC); + } else { + VOP_UNLOCK(imgp->vp); + phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), + M_TEMP, M_WAITOK | M_ZERO); + vn_lock(imgp->vp, LK_SHARED | LK_RETRY); + error = vn_rdwr(UIO_READ, imgp->vp, m_phdrs, + hdr->e_phnum * sizeof(Elf_Phdr), hdr->e_phoff, + UIO_SYSSPACE, IO_NODELOCKED, imgp->td->td_ucred, + NOCRED, NULL, imgp->td); + if (error != 0) + goto ret; + } /* * Somewhat arbitrary, limit accepted max alignment for the @@ -1230,7 +1263,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) } } - brand_info = __elfN(get_brandinfo)(imgp, interp, &osrel, &fctl0); + brand_info = __elfN(get_brandinfo)(imgp, phdr, interp, &osrel, &fctl0); if (brand_info == NULL) { uprintf("ELF binary type \"%u\" not known.\n", hdr->e_ident[EI_OSABI]); @@ -1434,6 +1467,7 @@ ret: ASSERT_VOP_LOCKED(imgp->vp, "skipped relock"); if (free_interp) free(interp, M_TEMP); + free(m_phdrs, M_TEMP); return (error); } @@ -2914,17 +2948,16 @@ note_fctl_cb(const Elf_Note *note, void *arg0, bool *res) * as for headers. */ static bool -__elfN(check_note)(struct image_params *imgp, const Elf_Brandnote *brandnote, - int32_t *osrel, bool *has_fctl0, uint32_t *fctl0) +__elfN(check_note)(struct image_params *imgp, const Elf_Phdr *phdr, + const Elf_Brandnote *brandnote, int32_t *osrel, bool *has_fctl0, + uint32_t *fctl0) { - const Elf_Phdr *phdr; const Elf_Ehdr *hdr; struct brandnote_cb_arg b_arg; struct fctl_cb_arg f_arg; int i, j; hdr = (const Elf_Ehdr *)imgp->image_header; - phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); b_arg.brandnote = brandnote; b_arg.osrel = osrel; f_arg.has_fctl0 = has_fctl0; From nobody Thu Jun 4 00:36:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GX6cCzz6h5tN for ; Thu, 04 Jun 2026 00:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GX51Lmz3prQ for ; Thu, 04 Jun 2026 00:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8n7uhB/qi7ZLrH1ahIwexKIAegJM3Ykz9oqcKm9aXM=; b=S7UwkjMt2n7d1JwVNlGLQtys8I1Hp1GRNRLpUil1af9A/1B/8IFyb0xnA2sHde9OvZM89c Edc/BGEpEl4zvViC+yCarOAy6slv/wuN59oTYwrfp9PlbBhdCBE4dWmrQQiIgeRHOE12HX R4bR8ZELQX29uo7DA73J+GIDHwN43MGhwBaW90rR+TnIo4ownTgVpY+DdWCGX6+Rx4Nq+6 0E6XW8ywfRkDF695QKGzjglnJ7REf4mJIcp01K9/4ucpJimoAd2r6q12XSjf7dIyrdYRlT FFRbJPWpchMnHTf7ytYy7w27TyFij/8gM2YZj1r+FPictOFGxLwROEcckT9tdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533380; a=rsa-sha256; cv=none; b=r6iXU453Ma0Z7iNUIws5D4iD+JnNQBBiV6V0Tu0WI+ulBPSkv38Z3rDB7cusJ7Elhfy/kp 9ZvGSPjMV07FKYCBSNNyV978p+nQRxDjpxK/XfO+p67CmtNFxRtce+OGU1rS3kGaSk63RE 72l0sdvWJcJ7/BRMLK0C2RGv/mPOFoCuu2o9AKcCXQm2pw5R8kPMz7W79GwovQDT3WXfYp ZSILDMOysXjDAbs9VjS45FIzQNa0dIjKOVr2UYKYxWJ38nL9vUmT7La7bmtuFnYh2ghptx AebpMaqRTyNfl6eY5sNH5ERzKcYX0XrUGy6jxxmw7CBPVxcqyq37VfFv+jclAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8n7uhB/qi7ZLrH1ahIwexKIAegJM3Ykz9oqcKm9aXM=; b=ggZtvk5ywLYxh5RGPaaV3dByVbk3OsjecfvUBPPXPNsugDIpQPN9LdCrF7TtacAMRZQQZh 6TizdHreCj/6G10N8mmBtYAukdZiS+LVn4nszcaMQJLp8BhoExo/UsDfNQdO1H4KTRRCqw Stg8BCgCZCLGAdFWWemwv1RlDFhsrHV5s3O/JNgzQkkMJiE7CjHeBDG4cUfVe/x6d44uro cKAAay225TO+lRsS6m9zq7DXEaMuFu93lK5k6yOzhuO8ZxXpNIOjRQEcCGMA7Xhi2DQKiM 22cIV6kOHT781XC4FTuAWom8nD6nxNEdTeiL6mfwKdYb7qKiW95NoHvgJbXY5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GX4KS1zbQC for ; Thu, 04 Jun 2026 00:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22210 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 21d0d2a519da - stable/15 - imgact_elf: add sysctl kern.elfXX.phnums for the number of program headers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 21d0d2a519da14acb55f164b43ff2aaf7254e0c2 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:20 +0000 Message-Id: <6a20c884.22210.1f7a35d1@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=21d0d2a519da14acb55f164b43ff2aaf7254e0c2 commit 21d0d2a519da14acb55f164b43ff2aaf7254e0c2 Author: Konstantin Belousov AuthorDate: 2026-05-29 14:47:31 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:42 +0000 imgact_elf: add sysctl kern.elfXX.phnums for the number of program headers (cherry picked from commit 201090678e033237e20d80eb29cc059e0df9a1e1) --- sys/kern/imgact_elf.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 9b5215d9217a..31102522ef35 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -84,8 +84,6 @@ #define ELF_NOTE_ROUNDSIZE 4 #define OLD_EI_BRAND 8 -#define ELF_OFFPAGE_PHNUM 128 - /* * ELF_ABI_NAME is a string name of the ELF ABI. ELF_ABI_ID is used * to build variable names. @@ -229,6 +227,11 @@ SYSCTL_BOOL(ELF_NODE_OID, OID_AUTO, allow_wx, CTLFLAG_RWTUN, &__elfN(allow_wx), 0, "Allow pages to be mapped simultaneously writable and executable"); +static u_int __elfN(phnums) = 128; +SYSCTL_UINT(ELF_NODE_OID, OID_AUTO, phnums, + CTLFLAG_RWTUN, &__elfN(phnums), 0, + "Max number of program headers to accept"); + static const Elf_Brandinfo *elf_brand_list[MAX_BRANDS]; #define aligned(a, t) (rounddown2((u_long)(a), sizeof(t)) == (u_long)(a)) @@ -855,17 +858,14 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr, goto fail; } - if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) { + if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr) || + hdr->e_phnum > __elfN(phnums)) { error = ENOEXEC; goto fail; } if (__elfN(phdr_in_zero_page)(hdr)) { phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); } else { - if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { - error = ENOEXEC; - goto fail; - } VOP_UNLOCK(imgp->vp); phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), M_TEMP, M_WAITOK | M_ZERO); @@ -1165,11 +1165,13 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp) uprintf("PHDRS wrap\n"); return (ENOEXEC); } + if (hdr->e_phnum > __elfN(phnums)) { + uprintf("Too many program headers (%u, %u max)\n", + hdr->e_phnum, __elfN(phnums)); + return (ENOEXEC); + } if (__elfN(phdr_in_zero_page)(hdr)) { phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); - } else if (hdr->e_phnum > ELF_OFFPAGE_PHNUM) { - uprintf("Too many program headers\n"); - return (ENOEXEC); } else { VOP_UNLOCK(imgp->vp); phdr = m_phdrs = malloc(hdr->e_phnum * sizeof(Elf_Phdr), From nobody Thu Jun 4 00:36:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb28Kxz6h5w7 for ; Thu, 04 Jun 2026 00:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ0pycz3pxj for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANad9gMMqE56hhnFWZO03dG3xdgVGGtlxFW3ZGm458=; b=HPlwohKZ3+FDCiU6jZlASvJnVvPm+2uOUngOJ8l/wigwwgjllcN9ynDwJUxlVoSoriHYfv QtBrswQJ6QTZ3jPNcf4rCi5EGoxr3vAgSbJ1mBLmrENjqJLmALZUCQ2ks43L75j7i0maFP UU+jKMWtJZOBxRTI84ijN94lV3gkBi5CW3nl+4oRyqAvh+Cm36HSIOQyyPgIWyTrPKIuoA 0nAQs3TJAHrivUpIhq9vDNDoQFnN2m4ZkjWPkjOOpfo1l5clXTPDmrf/ez9oE36CZjGQMy 28qosGhble1l17GVofY1TFs2bNrczUwXDGoAHLFE8lVpnNrjpvsCfv7SHaPs+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=S3J5WZkg8+vbLw9b4sDiZrcNFevyoMgNeuDK2WYL6xnX5YMWlMWLw8CauOyA6o+y/DyFvj kOdvXE/ttEmOLdNCxhKT9BZfbWmy84/wdGYDjNEIBvycAt9z1+EiptPNLTk0MIRubKAr1h USlTDdyAWpLdoZinLpDS4QWJA7O9MA434Hp+hmICmLOwtJcG7lFEFjiaF/i3ZwlUMa/X1E scC6cPKLaQAHslK2HZmXZBrWugq2PUtM5AhEIs09LSiraKUjqP/2xr2s6XdxvesEW7f/pR 7kxiC0pbIJ3tTx96vodUpfEfwSCZoPalcTvuq7tDX8jSwEbbjQBfg9Rjmm1uQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANad9gMMqE56hhnFWZO03dG3xdgVGGtlxFW3ZGm458=; b=B8DXcsMwfgjHKu5svs/6iSsNgqfXYmvJV98+Hu1BmDCbCG298HuqW/nbyQJcmxfIHvJj5k vwPaqhXGUqaB5FRLsicjgLEPE9ykOYK6pzJVUosnyZCaceN3R1qxhoMqOPVi4jzOSfoYms NlY+HD0lHKq7aDUYiMGiA7fPBeZXNrmyDoyXNDDS8O6qZkYKqR1Y0IXcE06IB/a4tTEGzU AvlvBfiion6JLl8cFZUHD3l7sV9WRex7uh8lLibgnXSpqmGDEywxOew3GU13ljjtRTx/Qt mZsjgm/JxxZkLejYPefzYIJCt/GYJFI0YEAAJT2NpAFuATN5Q2MTldTCzT7Vww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GY5C8Szb22 for ; Thu, 04 Jun 2026 00:36:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21eb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: cc0080607d14 - stable/15 - x86: for wrmsr_early_safe(), catch all exceptions, not only #GP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: cc0080607d14fe437ca0f0faa6999536df59acae Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:21 +0000 Message-Id: <6a20c885.21eb6.3b2cce95@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cc0080607d14fe437ca0f0faa6999536df59acae commit cc0080607d14fe437ca0f0faa6999536df59acae Author: Konstantin Belousov AuthorDate: 2026-05-27 08:21:10 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 x86: for wrmsr_early_safe(), catch all exceptions, not only #GP (cherry picked from commit 0a02a47fd94a8326e84ac0a6cb857342b59671f8) --- sys/amd64/amd64/machdep.c | 24 +++++++++++++++--------- sys/amd64/amd64/support.S | 7 +++---- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 2c69c1b3ace5..0d4ed59a98b1 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1828,29 +1828,35 @@ wrmsr_early_safe_start(void) { struct region_descriptor efi_idt; struct gate_descriptor *gpf_descr; + int i; sidt(&wrmsr_early_safe_orig_efi_idt); efi_idt.rd_limit = 32 * sizeof(idt0[0]); efi_idt.rd_base = (uintptr_t)idt0; lidt(&efi_idt); - gpf_descr = &idt0[IDT_GP]; - gpf_descr->gd_looffset = (uintptr_t)wrmsr_early_safe_gp_handler; - gpf_descr->gd_hioffset = (uintptr_t)wrmsr_early_safe_gp_handler >> 16; - gpf_descr->gd_selector = rcs(); - gpf_descr->gd_type = SDT_SYSTGT; - gpf_descr->gd_p = 1; + /* Setup handler for all possible exceptions. */ + for (i = 0; i < 32; i++) { + gpf_descr = &idt0[i]; + gpf_descr->gd_looffset = + (uintptr_t)wrmsr_early_safe_gp_handler; + gpf_descr->gd_hioffset = + (uintptr_t)wrmsr_early_safe_gp_handler >> 16; + gpf_descr->gd_selector = rcs(); + gpf_descr->gd_type = SDT_SYSTGT; + gpf_descr->gd_p = 1; + } } void wrmsr_early_safe_end(void) { - struct gate_descriptor *gpf_descr; + int i; lidt(&wrmsr_early_safe_orig_efi_idt); - gpf_descr = &idt0[IDT_GP]; - memset_early(gpf_descr, 0, sizeof(*gpf_descr)); + for (i = 0; i < 32; i++) + memset_early(&idt0[i], 0, sizeof(idt0[0])); } #ifdef KDB diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index 27694a95653c..547a37b37376 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -1566,20 +1566,19 @@ msr_onfault: ret ENTRY(wrmsr_early_safe) + movq %rsp,%r11 movl %edi,%ecx movl %esi,%eax sarq $32,%rsi movl %esi,%edx wrmsr xorl %eax,%eax -wrmsr_early_faulted: ret ENTRY(wrmsr_early_safe_gp_handler) - addq $8,%rsp + movq %r11,%rsp movl $EFAULT,%eax - movq $wrmsr_early_faulted,(%rsp) - iretq + ret /* * void pmap_pti_pcid_invalidate(uint64_t ucr3, uint64_t kcr3); From nobody Thu Jun 4 00:36:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb19ltz6h5yQ for ; Thu, 04 Jun 2026 00:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ2yfWz3prW for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+WlaP4YzXgUtvyU//C5IvPCgLHpPJGoKc2rq3PLuX0o=; b=tn7zl6Ujh1l2A7TJAo+wgDNAcGfIM1dJmTZLr/IoCraxm2Jcidov3tuZVu7uguUgxetAPN EXcxDAilM9KQb1xYE+YRyAXeYW2tfmyvTaVOExMteHxcnmlGylhTR6GNTGLKsZX8f0eXsU +BxJxmIE2McDJbUqLkRvJgK5lJtKzBRZJVhrdoKkefsiLZtiT0wUrr48FwjNj0TFCuaZBj MqEyh0Hw949Ti2vMyyAGmeE/pRQs0/iTfCNvvbU3IV78PRx4734BBG0LKh6m1rPYrJNjXj JNeIl+Ig+jhumSswSQdHH/4QBz8YORI28ObJRFKy3xRzgLO+CSuKcPAERSuqbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=qJ6HYrIrUxQ5o4l6yMMths1kvcXgyfELJLJrNgUCv9iVflZaO4i7em+6tFvtwmXZu2jHAN +3qf9YuU4ysLkXSloXLKEOc1U62H6xruBtJVsVbKvJxRS6puE6B+ZexhjUc0AcLRyUULdX +DmQ0KBpKacf5vXAlbMWHlJVYAeR3JHcDOJtBmqVd0T+vVWn7HaGZjW/rZLWpoQWeNrJSB DN30CDyR2tfsuszFoEPtcslJsqWF+kEdE8OL/KbsOz6GK+oZsQ6p11k27+XOzbagmzrqJK /Kt2nBBf8Ksj0GYkWUX/IY5NoTvu4QAf9x5yjiPyAzVJx1iF0G+9wXGvhqlUAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+WlaP4YzXgUtvyU//C5IvPCgLHpPJGoKc2rq3PLuX0o=; b=MJzwdcKnMXeQPgL8l7GFpVatwULvLQBhz+swcVuhn1D5pb8gwFBNO2Uaw8+CkT2hqpCAZB wmISJE3z9vc4zqDmxrcZmpqPa5sR/x0YAvhKKBwwPGRvMyWnhJ3Bux74WrsPHyPtWxZHVY 9cvVrweW5qraPJuLk1w3jxmNRDaNkXgIlOVlnrn/BAdM9Djz573vSOR4k13vjbQHHOetwU uktojIJoCKKNZ1PQfySHhHIOwi4/nADRVZ3ZlgQnH2AfKX/eaFA7ayZ866ITR3YGH7/Ik1 F5eRnjh8VKsMmUHnW63bK6mRTRGzSuLUxTVx1CIYsSoCxa94JG50OYET09PEfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GZ2P2bzbQF for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20551 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Haoxiang Li From: Konstantin Belousov Subject: git: 21fb5a5e61c3 - stable/15 - smbfs: plug smbfs_node_alloc() leak of name buffers when insmntque() fails List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 21fb5a5e61c333131cfbb4b522db00142a905707 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:17 +0000 Message-Id: <6a20c881.20551.f452cb@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=21fb5a5e61c333131cfbb4b522db00142a905707 commit 21fb5a5e61c333131cfbb4b522db00142a905707 Author: Haoxiang Li AuthorDate: 2026-05-26 13:21:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:24:13 +0000 smbfs: plug smbfs_node_alloc() leak of name buffers when insmntque() fails PR: 295577 (cherry picked from commit f0e702a7a289f0f350bdaeb943805d6d17f9e403) --- sys/fs/smbfs/smbfs_node.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index 9893987f7ccd..b2b5d63e2eaf 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -212,6 +212,10 @@ smbfs_node_alloc(struct mount *mp, struct vnode *dvp, const char *dirnm, SMBERROR("new vnode '%s' born without parent ?\n", np->n_name); error = insmntque(vp, mp); if (error) { + smbfs_name_free(np->n_name); + free(np->n_rpath, M_SMBNODENAME); + if (np->n_parent != NULL && (np->n_flag & NREFPARENT) != 0) + vrele(np->n_parent); free(np, M_SMBNODE); return (error); } From nobody Thu Jun 4 00:36:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb3F5jz6h61n for ; Thu, 04 Jun 2026 00:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5GZ6kZyz3pmC for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lnB03oEA5dzbMm7qIbUCBUp/yMKWVj8C6LZEL6xYIMM=; b=SYoXqGg9pndxrP31AOUs0U7tj2Z42Ityp7WUww951MMS6EnVGdNyBKg3jJIQlfqea9Sjli wQIjgIHLjy5GZXXRD6gjfnsE9qW5P5IaMfGMb5VgeQWjYtWGh4Zrx8jdR0nyuHVDfd17EZ Q5sAohFM7Uhw6quJOtaYwPqtQVlbCFpVObzVQQI4dRGwdg9+K1UylDHJJdXdnElMotriud zVNguf+bbD/LsiG2LRtolK43zCI+b9Dn3OQtbfsBSse5TllWaGA00wW/HGu8d0OCt4T6cb 8iIVHTHXRwmUyipl+kCg7m+x0nDFBSfL5p5vJXkepUO6h5dZ74SSZl9D5DtKDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533382; a=rsa-sha256; cv=none; b=f6WpJhZHfS4kG2kvWVi2j2Xw0PzaS6B5oqJMTzFGIok71DzXpfpvUvLIAY1DXieSIMiumw gR1WLwLP3OZm+opjSXccW1RE9wRI1Er53uqCDsx2ie/rjj8CfM+pthoWP+Gv+prO/oSH4/ 59h2B8Uog69bwI1a2DYP89TYe1+XVNKzryxUBE66DO+v5b0G4Xykj90z9GXt5WQzFrAuvF BrNPRE8Cz7t2qiACzE/YSHUuv++3Au2DQO4/joDC9xVmBJ8iAx330BtrxJjIb2fdG9/xyo RBSu4tukx8ADEYB0mpfEzafb6XYePqzI+9q2VBN1s5ZkCHxMVEqdAl3sboLgWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lnB03oEA5dzbMm7qIbUCBUp/yMKWVj8C6LZEL6xYIMM=; b=rNFSiPm2ohacSIzMwjXEf/j8SX7OK+OGoriZwiyaw6/Dhyb4xpVtTLKdy3ikOXPVl1k2G0 KVV+7l9aZKYvIwBo/+6deezQkDjeV78bynV2F0AZEUOfTW03L53jhk7yF2BS94+1dUKOVf oWFNhRD57wD3WiUC30kc1SJt1KHKDYoJpojCVEIcg62wzjRuttcvHAyicnMGG2q1/uSwjX xVRBz61c8oci1HY3YPOKg5Rrd09ONCRycSAOjvrvhrHPokKnu9tofa6hy4+4zqq4EqJTMp 8JaSJunru0LctABnNSHGR4lyM/kQQXwUmzWdLJ16KbrMygH5nJEJz4mjWIkOkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5GZ626dzb24 for ; Thu, 04 Jun 2026 00:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21eba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e5488ddf9b22 - stable/15 - amd64: explain in more details why the slop is needed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e5488ddf9b22e8894cb0650f530abea5d10c4045 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:22 +0000 Message-Id: <6a20c886.21eba.62f2c4f0@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e5488ddf9b22e8894cb0650f530abea5d10c4045 commit e5488ddf9b22e8894cb0650f530abea5d10c4045 Author: Konstantin Belousov AuthorDate: 2026-05-31 19:15:37 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 amd64: explain in more details why the slop is needed (cherry picked from commit 963a92d63b7443d27588fb4260bd4226f7525117) --- stand/man/loader.efi.8 | 3 +++ sys/amd64/amd64/machdep.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index 8bb88dd2e24f..9ff31b02dcb6 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -228,7 +228,10 @@ rootdev=disk0s1a .Ss Staging Slop The kernel must parse the firmware memory map tables to know what memory it can use. +It also needs to allocate memory for the kernel page tables. Since it must allocate memory to do this, +without overwriting important structures, +for instance the trampoline page table, .Nm ensures there's extra memory available, called .Dq slop , diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 0d4ed59a98b1..d51e5501aca9 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1273,6 +1273,13 @@ amd64_bsp_ist_init(struct pcpu *pc) * - there is a usable memory block right after the end of the * mapped kernel and all modules/metadata, pointed to by * physfree, for early allocations + * + * The memory block after the end of the kernel is important, loader + * must ensure that no critical data structures are put there. Among + * them is the trampoline page table, which must not be overwritten by + * the allocations until pmap_bootstrap() switches %cr3 to the initial + * version of the kernel page table. Size of the block is controlled + * by the 'staging_slop' command for loader.efi. */ vm_paddr_t __nosanitizeaddress __nosanitizememory amd64_loadaddr(void) From nobody Thu Jun 4 00:36:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gc29kMz6h61s for ; Thu, 04 Jun 2026 00:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5Gc07Hyz3prs for ; Thu, 04 Jun 2026 00:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8isxXw/4XanLrZfMFcKNluBB++8qnqNrdLSJcH3ZPkg=; b=nv6AkVkb5hrRi54cYI+eHaGqDZOv21roQi2yBgNAYsqEJbS8THOwQQxKDwgDu53jqfaU7q f603jcOodUhf/S8N5dzgtqVWhrrvVk6GFe2m4GNQAlLo/qt//IXkDtSRX6i4wZ8Prv3N0E RaA3ERoeMiBmHzqf5rNA5zOpqhNAlNZFWidRuvOGgvAbBhf6VtPQjRv9Inn4sBoOHTKklG CjV6NT8w1xtPzOuy6OT1XnLCc7VCP2nX7J5zm+tQLvqoTzYNbla4kPCSC6cxmy9did6kyw aa+6xaakPBlN6/3RZBH7HcwBn3f9JvjvxErWuaX48ADQ0D1bYJAnoR7DnE9Hqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533384; a=rsa-sha256; cv=none; b=PJhDpUGYLGW+X6F+uURjbqYUqGkadXCvH6fZsn9Y+Mg5HbMidHj0Y22AzPF7SbsXsyjAYa cCS2f8GS0CQuPNJJyU5oP8wUONvxY25Q/NBvqQnhIWMYFZdWJYBRtjCRoc1q7L/I8CqynW HH7T5jsQZ92NE3kTXV50YdrLmKiDUXSNJp6W8dNwPz74G9TrrERgyRau6DxEClfWnGBdYa 4C+AotdPa3jWawNze5e2HPUvhKxakW5fb1PdaoaP735w0Du6QpKCq1XOjZWjjAKs+p0v5S EEgb0x3tcFGZDKcFyaNfiLbCN0RWK6aom17uSxr7kcc+zDFrWfBNljSXrBf9sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8isxXw/4XanLrZfMFcKNluBB++8qnqNrdLSJcH3ZPkg=; b=V1e+3N9N8MiXdx/trmmNM+8tlPmyaVuU0Dlg6K5/+bbZx34bS+auzBCAtL/BChitXd+xIC 8G4PJXFviIuFHXjEEC/WIs+qkuPYPIa9BjR0OO23fH5zj2hNDHyFI0hJkvcU5QoJ3bAuY6 8Rg8gF1wIkayPPwHtxDm+ieh9X/J+OwMg41ZzsMqxv1zWMKN6BJxnME2aFprRbAx0EPPjo pGZSER1kYe5Ncy4QJ59xl1LU6XfwqP57UwoeeEqr0SLUr6bsCoyATs8v7xU57KLseJihYg J2/Es98VD5Y2gZv2D0U7RdoCW5I4DcW4eujFiC4fzmRpOtSPLXOYiW0zesDuJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gb6rRFzbtM for ; Thu, 04 Jun 2026 00:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9681364e4b6d - stable/15 - amd64: extract uiomove_mem() from memrw() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9681364e4b6dfa78a23122b8e1310d37df849dc1 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:23 +0000 Message-Id: <6a20c887.206c7.d13b1d2@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9681364e4b6dfa78a23122b8e1310d37df849dc1 commit 9681364e4b6dfa78a23122b8e1310d37df849dc1 Author: Konstantin Belousov AuthorDate: 2026-05-24 11:48:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 amd64: extract uiomove_mem() from memrw() (cherry picked from commit 67d61d18bb8debb4ffc51ef2248aa37ed0bfb8f5) --- sys/amd64/amd64/mem.c | 103 +++++------------------------------------- sys/amd64/amd64/uio_machdep.c | 96 +++++++++++++++++++++++++++++++++++++++ sys/amd64/include/md_var.h | 6 +++ 3 files changed, 113 insertions(+), 92 deletions(-) diff --git a/sys/amd64/amd64/mem.c b/sys/amd64/amd64/mem.c index 851f2df0e6e1..7d1f0f42d01c 100644 --- a/sys/amd64/amd64/mem.c +++ b/sys/amd64/amd64/mem.c @@ -61,10 +61,6 @@ #include #include -#include -#include -#include - #include /* @@ -72,99 +68,22 @@ */ MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors"); -/* ARGSUSED */ int memrw(struct cdev *dev, struct uio *uio, int flags) { - struct iovec *iov; - void *p; - ssize_t orig_resid; - vm_prot_t prot; - u_long v, vd; - u_int c; - int error; - - error = 0; - orig_resid = uio->uio_resid; - while (uio->uio_resid > 0 && error == 0) { - iov = uio->uio_iov; - if (iov->iov_len == 0) { - uio->uio_iov++; - uio->uio_iovcnt--; - if (uio->uio_iovcnt < 0) - panic("memrw"); - continue; - } - v = uio->uio_offset; - c = ulmin(iov->iov_len, PAGE_SIZE - (u_int)(v & PAGE_MASK)); - - switch (dev2unit(dev)) { - case CDEV_MINOR_KMEM: - /* - * Since c is clamped to be less or equal than - * PAGE_SIZE, the uiomove() call does not - * access past the end of the direct map. - */ - if (v >= kva_layout.dmap_low && - v < kva_layout.dmap_high) { - error = uiomove((void *)v, c, uio); - break; - } - - switch (uio->uio_rw) { - case UIO_READ: - prot = VM_PROT_READ; - break; - case UIO_WRITE: - prot = VM_PROT_WRITE; - break; - } + enum uiomove_mem_req req; - if (!kernacc((void *)v, c, prot)) { - error = EFAULT; - break; - } - - /* - * If the extracted address is not accessible - * through the direct map, then we make a - * private (uncached) mapping because we can't - * depend on the existing kernel mapping - * remaining valid until the completion of - * uiomove(). - * - * XXX We cannot provide access to the - * physical page 0 mapped into KVA. - */ - v = pmap_extract(kernel_pmap, v); - if (v == 0) { - error = EFAULT; - break; - } - /* FALLTHROUGH */ - case CDEV_MINOR_MEM: - if (v < dmaplimit) { - vd = PHYS_TO_DMAP(v); - error = uiomove((void *)vd, c, uio); - break; - } - if (v > cpu_getmaxphyaddr()) { - error = EFAULT; - break; - } - p = pmap_mapdev(v, PAGE_SIZE); - error = uiomove(p, c, uio); - pmap_unmapdev(p, PAGE_SIZE); - break; - } + switch (dev2unit(dev)) { + case CDEV_MINOR_KMEM: + req = UIO_MEM_KMEM; + break; + case CDEV_MINOR_MEM: + req = UIO_MEM_MEM; + break; + default: + __unreachable(); } - /* - * Don't return error if any byte was written. Read and write - * can return error only if no i/o was performed. - */ - if (uio->uio_resid != orig_resid) - error = 0; - return (error); + return (uiomove_mem(req, uio)); } /* diff --git a/sys/amd64/amd64/uio_machdep.c b/sys/amd64/amd64/uio_machdep.c index 83795653fa28..0f29e7f7435f 100644 --- a/sys/amd64/amd64/uio_machdep.c +++ b/sys/amd64/amd64/uio_machdep.c @@ -44,9 +44,11 @@ #include #include +#include #include #include +#include /* * Implement uiomove(9) from physical memory using the direct map to @@ -141,3 +143,97 @@ out: td->td_pflags &= ~TDP_DEADLKTREAT; return (error); } + +int +uiomove_mem(enum uiomove_mem_req req, struct uio *uio) +{ + struct iovec *iov; + void *p, *vd; + ssize_t orig_resid; + vm_prot_t prot; + u_long v; + u_int c; + int error; + + error = 0; + orig_resid = uio->uio_resid; + while (uio->uio_resid > 0 && error == 0) { + iov = uio->uio_iov; + if (iov->iov_len == 0) { + uio->uio_iov++; + uio->uio_iovcnt--; + if (uio->uio_iovcnt < 0) + panic("memrw"); + continue; + } + v = uio->uio_offset; + c = ulmin(iov->iov_len, PAGE_SIZE - (u_int)(v & PAGE_MASK)); + + switch (req) { + case UIO_MEM_KMEM: + /* + * Since c is clamped to be less or equal than + * PAGE_SIZE, the uiomove() call does not + * access past the end of the direct map. + */ + if (v >= kva_layout.dmap_low && + v < kva_layout.dmap_high) { + error = uiomove((void *)v, c, uio); + break; + } + + switch (uio->uio_rw) { + case UIO_READ: + prot = VM_PROT_READ; + break; + case UIO_WRITE: + prot = VM_PROT_WRITE; + break; + } + + if (!kernacc((void *)v, c, prot)) { + error = EFAULT; + break; + } + + /* + * If the extracted address is not accessible + * through the direct map, then we make a + * private (uncached) mapping because we can't + * depend on the existing kernel mapping + * remaining valid until the completion of + * uiomove(). + * + * XXX We cannot provide access to the + * physical page 0 mapped into KVA. + */ + v = pmap_extract(kernel_pmap, v); + if (v == 0) { + error = EFAULT; + break; + } + /* FALLTHROUGH */ + case UIO_MEM_MEM: + if (v < dmaplimit) { + vd = (void *)PHYS_TO_DMAP(v); + error = uiomove(vd, c, uio); + break; + } + if (v > cpu_getmaxphyaddr()) { + error = EFAULT; + break; + } + p = pmap_mapdev(v, PAGE_SIZE); + error = uiomove(p, c, uio); + pmap_unmapdev(p, PAGE_SIZE); + break; + } + } + /* + * Don't return error if any byte was written. Read and write + * can return error only if no i/o was performed. + */ + if (uio->uio_resid != orig_resid) + error = 0; + return (error); +} diff --git a/sys/amd64/include/md_var.h b/sys/amd64/include/md_var.h index 46a30518b212..5a71b9109eba 100644 --- a/sys/amd64/include/md_var.h +++ b/sys/amd64/include/md_var.h @@ -107,6 +107,12 @@ void wrmsr_early_safe_start(void); void wrmsr_early_safe_end(void); int wrmsr_early_safe(u_int msr, uint64_t data); +enum uiomove_mem_req { + UIO_MEM_KMEM = 101, + UIO_MEM_MEM, +}; +int uiomove_mem(enum uiomove_mem_req req, struct uio *uio); + #endif /* !_MACHINE_MD_VAR_H_ */ #endif /* __i386__ */ From nobody Thu Jun 4 00:36:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gd4hXqz6h687 for ; Thu, 04 Jun 2026 00:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW5Gd0cwQz3pyH for ; Thu, 04 Jun 2026 00:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpIxpqL7K3KLvpwbt8qz2ATXzu7iPN/b+750zi0LGE=; b=TKZmN9dhGp3+4j3ksJKuEOoVxmAM26qVKzWK/EwMsIufdYe/t1EjqMazBdsYkxCMVD8l4M fKdyrnKKlCbPIXfPFYvPiwaotTR8UTttl2XiHZ2pyYxkL7srtzSFBsIyx3OyT7oorRIGT3 wZB0NW41PZK7PmMFfMpybiTT2P9oNKEmh+dNZmlzyEBzu78VuPBXW5rhh4JzWvK3wktZkR SFcu7sQlYBItyztl8a6ezQtgOBykNNTMBfccxktynErUh125DGW1EfL4G9qAE/f9E1Jrd4 7v4wAqV8gKnIrdo6qXD8LDlNUnal4R7qNtZudi8ZywwoZeFv362Covoe2BIQgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780533385; a=rsa-sha256; cv=none; b=jQOLjDGKhn0/f4cAFMj/VhjfWyZ6hnoH+rB7o4/XtTs29RE7V4mVufKm7+FhbCmrH8tL/f aosAulz25cEFikMCktjw2hQiaiL4Yeb8fIC9aotvkeC9UlE9VpsLdSh5kD0Qi/qPAa6h5m Ju+L/khElFJ6pZG30ny8kY5M9MAuC1cxu5QWzn/q5TiE/A0Fmrhac51093CquWkhIxh7lf S5hiK5p1K2/MVhgGU4Yv58nhgJuhOqiHMUgzS2fZHJC6U4QQKBGNZo+KF39TSPeeJJs8D5 pCzJS+H7w3HjmoKwZWJaCNGttSvv5TaDSHGZwJyo36fZ5a8GwqSxAbONLqxrUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780533385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpIxpqL7K3KLvpwbt8qz2ATXzu7iPN/b+750zi0LGE=; b=g3vGP7tghPuytsB7sTv2Gpof5idej5yUzxg8NMEmi2L7oPt//dKrpTvQHfDS/mnPhQ/b05 hbtEGrB5A9eXZSHzgk46EDXq+Yi9HL7//93AFAkeVb3AgHcZZIgAqjf3faSK9LQbXu6Ma+ FBjp3TEQ65aFrow+ZuNEYeI9IgLkHOdcKvfYAHj2PR+TNs6iHc1K80ML3YjjSrayqFvV4e FZWWQsnY+ly/2LQucypPM6Z0umrtm2potMwGZDBGNG2ens0cOZ9a/5tLzjCgNYc+SooA5j pPcqMmHJqpVgk+voSEQ7cytFA2svIkmXfZ0AgrtPu5VP9HDoGCuQ+wtnV0TAig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW5Gd08cvzb26 for ; Thu, 04 Jun 2026 00:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20824 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 00:36:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5377cd66852c - stable/15 - sys: add safe_read(9) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 00:36:25 +0000 Message-Id: <6a20c889.20824.3034595d@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 commit 5377cd66852c13e3a5f29f2ccc0c0e14b7431c11 Author: Konstantin Belousov AuthorDate: 2025-03-29 17:17:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 00:34:43 +0000 sys: add safe_read(9) (cherry picked from commit 7b2702ee25f5230011fa7f8f650b65b37248fcca) --- sys/amd64/amd64/machdep.c | 18 ++++++++++++++++++ sys/sys/systm.h | 8 ++++++++ 2 files changed, 26 insertions(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index d51e5501aca9..e337337fd8e7 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1866,6 +1866,24 @@ wrmsr_early_safe_end(void) memset_early(&idt0[i], 0, sizeof(idt0[0])); } +int +safe_read(vm_offset_t addr, char *valp) +{ + struct uio uio; + struct iovec iov; + + iov.iov_base = valp; + iov.iov_len = 1; + uio.uio_offset = addr; + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_resid = 1; + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_READ; + uio.uio_td = NULL; + return (uiomove_mem(UIO_MEM_KMEM, &uio)); +} + #ifdef KDB /* diff --git a/sys/sys/systm.h b/sys/sys/systm.h index c4e0aafac452..d6488f45acae 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -563,6 +563,14 @@ void intr_prof_stack_use(struct thread *td, struct trapframe *frame); void counted_warning(unsigned *counter, const char *msg); +/* + * Safely read one byte of kernel memory at address addr, placing the + * value into *valp. Returns 0 on success, EFAULT if read was + * impossible, e.g. due to the address not being mapped or not having + * necessary permissions. + */ +int safe_read(vm_offset_t addr, char *valp); + /* * APIs to manage deprecation and obsolescence. */ From nobody Thu Jun 4 01:16:52 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW69J4YpXz500BJ for ; Thu, 04 Jun 2026 01:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW69J3w4sz40qY for ; Thu, 04 Jun 2026 01:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780535812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5H1mwzhc2p2TLT6AHpEsaF9LWWwKVmWBWhMXcBNqO3U=; b=oi0iHngXK8VC+CVFzP/Z1DbdiD4njEt28rFTZ2VhK0Gk23TDpWzrzRJAAj1p1iYalpq0UC 3VbRu2dEc23kQnbJWzJGACGIFIrCpH7MykufeA6xKrOjdis0nAzZ74L04TddTM77QH0KY1 kjM/Z8CkDQfKPVW+6LbPQOoEiho2+T8w9yDrI8owqDbQvii9kdgKoEcPIAl89/kZDwSKi1 lFtoLFyYtopfZKQlKwB4j5EFmtjuxY0DmaRBkXWH/W+NOoU4QhcK9MQw20j2CgtS+RWw7v Hc1Gz2OZZdvmF5TIR05y9FzL2t3GmMja9GC/5UIL4hldV3E3ce+atATPlK1+pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780535812; a=rsa-sha256; cv=none; b=ywXD4LBg1jlqitH2g+z1Y8dprPpROUiFVR5vAssBNGpRtH/8RGqeGqDRpdB6sWABZDH4Q/ lFVpasvU8Sl2bprmZvTTGas5Q5DIGI7oPIhYsyjATMBrHcU4wCNjYnyefFVOjsuEvPI8gz BMn+EaeKJWD8SmTqTHnFOx/vppqSD3Fz+d4apiAYDYnVeanfDV5M+Ua7PoOA4Io7pCybyV HRUrAFRuB3pYZx4noBEZm6zBCQFHenr8eMBNIw9pcXmUrCF8f6fwgjfmSAk1woBuTmv9zs SE4TseqUQbWF38UR20nNAJfiB3rzvkZb5E2nStnlftNTiK8YUBhJHdbC7+sIAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780535812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5H1mwzhc2p2TLT6AHpEsaF9LWWwKVmWBWhMXcBNqO3U=; b=SWwLBGHwkWnocSRqgjVZbV2wUKNhsuxTDWSmpLnq0b0gk7jmb3gXlE2gKoNXeaCd6gb7Mw WSM4Ru0Brv/RZ7GwN1oA+5uQHGfR1VdmyZyVHR2c/ckDKELn6kMwPMSV9eE08qWmqDilaY vQ1BYOZdSFPLHVpT+w7DUuJtSlEzfhpH7halb8zPbTNKU4xpl+EvwbzV3TUWnmC7dTU3RX 2ODqRWEvOPJ/q/18yXvyoaCfycrmFC7osRQIJWJgyR/UYsq+n425gJbGfaYrYpKCgtU4Mm 0wIc/BvqVeI7W35AY+Ze5eOBtWA0EW6Je4Hb+57FWEK1RlmnFV/eECGU56YuhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW69J3GM7zd0Q for ; Thu, 04 Jun 2026 01:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24ccc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 01:16:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: f0ac411a7747 - stable/15 - bsdinstall: Use libarchive secure flags for extract List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f0ac411a774775c5b89b82b9da4c7d51c762259c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 01:16:52 +0000 Message-Id: <6a20d204.24ccc.3ac50ed9@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f0ac411a774775c5b89b82b9da4c7d51c762259c commit f0ac411a774775c5b89b82b9da4c7d51c762259c Author: Ed Maste AuthorDate: 2026-05-27 13:29:21 +0000 Commit: Ed Maste CommitDate: 2026-06-04 01:16:02 +0000 bsdinstall: Use libarchive secure flags for extract This doesn't really matter, as we trust that the installer tarballs are not malicious, but it doesn't hurt to set these flags. Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57274 (cherry picked from commit f9f46294d6af2a937afa74938bd4bb6826cbb921) --- usr.sbin/bsdinstall/distextract/distextract.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/bsdinstall/distextract/distextract.c b/usr.sbin/bsdinstall/distextract/distextract.c index 32bd9453eb80..35cf19aae33f 100644 --- a/usr.sbin/bsdinstall/distextract/distextract.c +++ b/usr.sbin/bsdinstall/distextract/distextract.c @@ -291,6 +291,8 @@ extract_files(struct bsddialog_fileminibar *file) /* If that went well, perform the extraction */ if (retval == ARCHIVE_OK) retval = archive_read_extract(archive, entry, + ARCHIVE_EXTRACT_SECURE_NODOTDOT | + ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS | ARCHIVE_EXTRACT_TIME | ARCHIVE_EXTRACT_OWNER | ARCHIVE_EXTRACT_PERM | ARCHIVE_EXTRACT_ACL | ARCHIVE_EXTRACT_XATTR | ARCHIVE_EXTRACT_FFLAGS); From nobody Thu Jun 4 02:32:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gW7rq0PJWz5080f for ; Thu, 04 Jun 2026 02:32:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gW7rp4tVfz49bT for ; Thu, 04 Jun 2026 02:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780540362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J0FrwBpZzvCHMGmFndnVoOcJLFePL9VD64971vHJZh8=; b=dzYvjQhRMkM7c+Sv4jv6D1+fw4xyheJI+QTP2shewInCqLkZ6GbXMaBdinRjEoUVZfVtc9 Okm/re3GXH6Ly1WykLB0/xIX1GfcgcO89lqYhcWdaHgceJPprETwRydARLgC4Pulp7r7Uk 4TA7kcF7GmjPCjiUZldgWZiFKBFpmfFvjEgBPHD/ZzjHPkDM1mNPJWPrbj4aDObXz8R4Yn Q6ut1gn+32teKcfow/ZEeAMeZUBC4wFVlbNF9wYAGaYS80rKg0V25xZtBJzO89fVCCeeIm Qv+TF8iYbmiocwyV85MLLQ8VzYZ7qdEk/DEsexPiOMi2QAhfJvnR4d0/NlLCcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780540362; a=rsa-sha256; cv=none; b=LrmLbH+k6z6wKyvuUjIo2mLk/pKOcXwcUs5t04e0N3ANsjpXuRivIyc6zsic0y7djNbp9h XVgcLGSDC4joXQJuFVQcrSRf8BMgArKppE/J0fFwJt2LyUCrH+0Tk2xnBJpLx75jQqsdUC KOAMwR82edceowIVyJx9gg0BwU/2k2fDSjqwS5iPa9KDdT8KF06KBA4VmL6k4Xx8NiwYE9 eh4EqkMeHfmkF8vBMNZiAeuyXAr5XlpmPESYtEWXz2aOo6XLkznCzOkt41LRvUSP0p925b XGutRtKYBoQhykYLSjUuiZ9aDgPGVSBNkxPt6Yq2F90zaBdEeh1izYFqhipZXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780540362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J0FrwBpZzvCHMGmFndnVoOcJLFePL9VD64971vHJZh8=; b=SP+2IEZFGBCE3lr0cdhD7iMq4k+QdH1QLC32dY8zMTkI3Yy9cr8RFvUFsncZdfW4vtADLP VTHlUoHDuzAC9z7ls+rZhg4oIZeOMCEevObd68Citg8zErmE7UdZqN29K+EqcmBioesm+M qa+WbgEecFwcVrfwzn7/eAowg4ZEBH+3ZiptdLQJQKS5WhWngyQhyiUcMNT1tGicl1+TfO ZtAtehapgAGhpPgsAPE59UHpamXJ7nSHwTCSZCy/FqDuy+9PMfaIn7ITyT4IV82R6OZC0q kn5SOUCEFRV/QVuBkXilPed4+q1HZEirj3LlQ10Z7rGqTkElrCV/skcw9UI76w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gW7rp4VFxzfwY for ; Thu, 04 Jun 2026 02:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 360e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 02:32:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0696d3889369 - stable/15 - amd64/machdep.c: explicitly include sys/uio.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0696d3889369b1fda133cc99fcf7c7ba5f3142a9 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 02:32:42 +0000 Message-Id: <6a20e3ca.360e6.79db9a3b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0696d3889369b1fda133cc99fcf7c7ba5f3142a9 commit 0696d3889369b1fda133cc99fcf7c7ba5f3142a9 Author: Konstantin Belousov AuthorDate: 2026-06-04 02:29:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 02:32:07 +0000 amd64/machdep.c: explicitly include sys/uio.h Some kernel configurations result in struct uio being only forward-declared. This is direct commit to stable/15. Sponsored by: The FreeBSD Foundation --- sys/amd64/amd64/machdep.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index e337337fd8e7..7b652d241250 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -87,6 +87,7 @@ #include #include #include +#include #include #include From nobody Thu Jun 4 08:20:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZG5j6Wz6gGNl for ; Thu, 04 Jun 2026 08:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHZG4svwz3rQc for ; Thu, 04 Jun 2026 08:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvAVXKRGuWkpXdjbFyE5y2npbUsmCfGgl5ZFlvxeBPo=; b=Qot44KgMNE9doPIcwDVoGlWPR3yjn4xVRsvTTNgU1k4s+rSPke7ofgS1K647atiuiEHZEQ ka+Dxrn2xISpOyKzr8hZCGYlW/1/j+lk7YPAZglxr4f0hIHJmqprcJRcZHTbLrK1NBBxZf sqe1ugqugvVmxJw/sNOaU+efb3tz6nvznyaTVnbIb1n+SGyqhusw6OHggO0foZz9Jq1rrB q3Xx3Z8ogoNxNQYo0saPLOvFaauwE4i+UVl0olEdpZPLxColkqGB/UFcTX9ZuRiPS4c8+Y BxpqFfeVtDO+fcsfObSCuMkmPPKresrtA4DdeIB2GJpzBW8eq+HZQgruTTxnXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780561238; a=rsa-sha256; cv=none; b=rqiuLG08zdEF1NM/j7lfxJLYZoshL1cq2ITkmyNM0E74sNxEbjXYZBh1sf9OeodbMijrgX /aHM7/McLfYb7BcwEOTsuQslX5ZFO7MT5v1WLCGX37VhuC7UKlnfYg1FEByNwTiM6qt4y9 sLPAE0msu503PTjwv4yNkcsofunfd3KK1bJWbZBKj0l/sELltpkzxPOdFv0Fs6oTAy4gW8 wdT2CcZ8pRcVGG7lsjwt5njP30kJ4B4UnuKJijRlwD6M0Wr69cbYQ0lg2F0FjQjn4zxdB2 SkL24EuY/4iD3LFgCYz8NaWkGUjFyqal3gWGguGGIOVHGTMmynlonrOQjDksmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvAVXKRGuWkpXdjbFyE5y2npbUsmCfGgl5ZFlvxeBPo=; b=vRZCGz8lROrB9uK5MC8RH+8smjMWO98UnKIAVXfLFC8QmxDj5UrSEbVd+RtGrTK3d2NGIX MbE1aadLQJOYHQiDOSvMUfgFcwN+d7reOMBgcJChaljOnlQqZLxojRHh9WlPAiBn8eoZyA cixbVbBhOw7Mfsgbz35xBbb/nmF6t6D1V8vYu3o21ntEY87Q8d29m4ij7pgk4Nj9Yf2kZf qy/9EsVoFk6EuekCLWwz2R+6QxUvatr6f/Xe+VyMUqqxs1X+9SfOJZoTJX3RNUG5OpU9a4 +IFOR5isYfRuWy+SDC/B/Jn1+Mv9Oo8YU7T0qYR8ArITcY4oDkUs8GeEDFFFPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZG4HNXzr2Q for ; Thu, 04 Jun 2026 08:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b032 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:20:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 2cdb0c07e25b - stable/15 - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:20:38 +0000 Message-Id: <6a213556.3b032.36d1edd5@gitrepo.freebsd.org> The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 commit 2cdb0c07e25b5b4782a94e18abf5d39e763a1b13 Author: Dimitry Andric AuthorDate: 2026-06-01 17:10:11 +0000 Commit: Dimitry Andric CommitDate: 2026-06-04 08:20:21 +0000 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): [Serialization] Fix assertion on re-deserialized friend template spec… (#200566) …ialization in PCH (#198133) A friend function-template specialization declared inside a class template is serialized into a PCH. When the class template is later instantiated while loading the PCH, the friend specialization can be deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ... -> VisitFunctionDecl for the same specialization) at the same time as the canonical copy, producing two redeclarations of the same specialization in the template's specialization set. ASTDeclReader::VisitFunctionDecl asserted that this collision could only happen when merging declarations from different modules. Since 38b3d87bd384, friend functions defined inside dependent class templates are loaded eagerly, so the collision can now also occur within a single PCH/AST file (non-modules build), tripping the assertion: Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl The merge that follows (mergeRedeclarable) already links the two redeclarations correctly regardless of whether modules are enabled, so the fix is to drop the modules-only assumption and let the merge run. Fixes https://github.com/llvm/llvm-project/issues/198133 This fixes (well, simply removes :) an assertion when building the cad/OrcaSlicer port with precompiled headers turned on. PR: 295296 MFC after: 3 days (cherry picked from commit 86326398b73b81f84831fb5fc4c12d9219bc0f57) --- contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp index b918bfbd549c..87224fae5dbb 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { if (InsertPos) CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); else { - assert(Reader.getContext().getLangOpts().Modules && - "already deserialized this template specialization"); Existing = ExistingInfo->getFunction(); } } From nobody Thu Jun 4 08:20:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZR0lQcz6gGMp for ; Thu, 04 Jun 2026 08:20:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWHZQ37Xvz3rZq for ; Thu, 04 Jun 2026 08:20:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqPK4iXmdiThY+jPHUOQtcLk2t9WgfVND4cYCfBEdbI=; b=iSHPkzsEbq0W74qKZOTz1j2QyuDuLySihmYQmmNj3adOsx1/JnYPD0hd51rQNjcvBJ27f+ bqiioaj15nX/AxHQvGeGL3+KvXeJ/U1MuMF2Fuene2NWr4PkdfvVJcCwDIi3/5aflvYgMP yM+UVrTjcMPuT6sBA43M5UDis2A3qpJVewVj4+vd7CTAnlagyuNqpAA6nP+fq/GsqC5XII ynWFugBuL/Hw1u/8e1YwhSfsoHSw9ICPOlRiPYEwBbdsh8eDAiDs51wCvZ8DiC1dQSSzyV t78uEZ7shL7w9fhd52zABNiYv6uQnSAydBy4k3PCkpR8SJ0i/jr60LHfDIRskQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780561246; a=rsa-sha256; cv=none; b=cvAhCTXv3hTKOth5NHaUL0NcoZLR0inOqveEbvIgz/HlyVVHwtojSfShJySQZPOQ1Ayagn Zl6pTPzgDGuuovspIGNHIl8NBRHWmvEWt+rGGKYrTFbEAS0iZ4TlsH5JcLdh0H17ESnWke 1+jmNUwQp3VHRimhPoKm+OqqWDpTraIMLvKiC69f3QjtZ2N5VXepKVHp9/pVJ9AJMLKScQ ehZyg0bbsvHktcZRmNK4CaJUFZR8W/JZaPaCBbovr71tBfVvoxe5hmPjRFk2aWfMUjqo5c mquJ5+e/IH7pteX9LT2xT4y2msEWOmEmtB3gsLTNe+SZgizjA2sQ73l/BYepSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780561246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqPK4iXmdiThY+jPHUOQtcLk2t9WgfVND4cYCfBEdbI=; b=l4n1QjGz0oX8KrK9u0WxDScXw1n3EiCgQAFh2SrdA5chdIXYLzXItEYZZEMZNma0UvTYL7 whhLo30J/yaTVgEINnvZU+49Z5GEI4qfoGnfKnYwQBUXEGy0Xl9u2j2qjsohjvJpw6CgrG 5QAFfrha5KAMIMSoczsgvSYrotyXqXQ/2Id/VsxVSwWKkEPrTyiJwn2zvrrAx8hCPWpui8 Pu3ekORpqtPH2I3z0LyrXp2tPDIwAoPZ8QoGDGqU3BBzYQ72YYLkXSNys6i705TGy+1BTj LnSX67BUk7Eucfsayngql+OouN+L5od8j5dhp43x4LNS1O5STgl30l82cuLxYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWHZQ2DCLzqnZ for ; Thu, 04 Jun 2026 08:20:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c162 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:20:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a8e709c66769 - stable/14 - Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8e709c667693508a31e2e3a9857a1b8f0587c3e Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:20:46 +0000 Message-Id: <6a21355e.3c162.12acb467@gitrepo.freebsd.org> The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a8e709c667693508a31e2e3a9857a1b8f0587c3e commit a8e709c667693508a31e2e3a9857a1b8f0587c3e Author: Dimitry Andric AuthorDate: 2026-06-01 17:10:11 +0000 Commit: Dimitry Andric CommitDate: 2026-06-04 08:20:25 +0000 Merge commit 63c29df8eceb from llvm git (by Dmitry Polukhin): [Serialization] Fix assertion on re-deserialized friend template spec… (#200566) …ialization in PCH (#198133) A friend function-template specialization declared inside a class template is serialized into a PCH. When the class template is later instantiated while loading the PCH, the friend specialization can be deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ... -> VisitFunctionDecl for the same specialization) at the same time as the canonical copy, producing two redeclarations of the same specialization in the template's specialization set. ASTDeclReader::VisitFunctionDecl asserted that this collision could only happen when merging declarations from different modules. Since 38b3d87bd384, friend functions defined inside dependent class templates are loaded eagerly, so the collision can now also occur within a single PCH/AST file (non-modules build), tripping the assertion: Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl The merge that follows (mergeRedeclarable) already links the two redeclarations correctly regardless of whether modules are enabled, so the fix is to drop the modules-only assumption and let the merge run. Fixes https://github.com/llvm/llvm-project/issues/198133 This fixes (well, simply removes :) an assertion when building the cad/OrcaSlicer port with precompiled headers turned on. PR: 295296 MFC after: 3 days (cherry picked from commit 86326398b73b81f84831fb5fc4c12d9219bc0f57) --- contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp index b918bfbd549c..87224fae5dbb 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp @@ -989,8 +989,6 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { if (InsertPos) CommonPtr->Specializations.InsertNode(FTInfo, InsertPos); else { - assert(Reader.getContext().getLangOpts().Modules && - "already deserialized this template specialization"); Existing = ExistingInfo->getFunction(); } } From nobody Thu Jun 4 14:30:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmT691nz6gPBL for ; Thu, 04 Jun 2026 14:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWRmT5XZ2z3my4 for ; Thu, 04 Jun 2026 14:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4P4Iqtbow7tvzKylM3Zhg78ponq64vDp0tkglL+kGo=; b=mObcW544RDll/fItoqJ99FjXQoFoeaQHEmieGgkPdV46dTHqYrl24YWVQSXPb7t8twcsaa J4dANC4Ha6/9/IkEvSCzLwJC2cMN1XcphB76rRoyUcleKv/mw/m5mYkXFSgWbdarlgkn0Q nBkx6z8ZeaLjfk7a3k2eg7fCk9jnazfUAI64zkSlpcF29wW3GXnXuxRjaKMcGTtiFdYMhZ XrPc1JqT4pC+purGOie2SkGqe0QKv82eozcHzhIjqiU5cKOercnEdvX3sqADD1S68k1aFg Uzpa5szGlmXuXeS0G3LkI476xzFt+ZVbTKR5b1HW+6awB6iHGN2vhkAngkv6Ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780583401; a=rsa-sha256; cv=none; b=oltiIyc79CBgB13xuUrYxxqUc5Odn0N/c8oQH8w12Oxa2CsMOtsknBWy+B87uRNyWoPDY/ jnzosSsXUraqkptLULpdTpui5ueHKsBXfRkS7GXx72/LpvRLZyfrPae2epJx6xKQVOM0Li xLqpYdk9dVKHqbFI3g7gRpC0ID1qPH2OhZ5Kzmf7IaTZX1LXXuPQi/1fagkoDCIedcAU2z 1wWYoE/lyTeMImi0m2fEqSeujZfPkZzl/IF7r8se9uRPKP4/K7qboopJZbaDG8Mvstxp6o xtTbkL7IyvDQTBAXrB6gubRAYiNr8UoNhj2apqwvtAKumANM7t5gY7CTdtue6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4P4Iqtbow7tvzKylM3Zhg78ponq64vDp0tkglL+kGo=; b=nZQxyaHIo2qUsUQTBtorH/a87kAt1Z3ABWVGIm4PVs9XENfLUTG+ZI3QCiNdObxpLL0WbT WveCQ3PTd+I2AO76BhUh5/pijv6IQAsbLPSQmguLSJzs6KjaDVB1RmymUPB676RHX6l8LI UB/SC/tp7EoivBqtxlzPCbkFE7uDCsaNjO8g2giw3wdCetAs7XonIcmPdjRN/NamlBYH7C DilKoxdTGomBF8kBSy8LtJylnvq6DsZY1R0Q5qFd8SkwxMNEjJuUCdSAH/vIcC+cl81IEl x4lFdvyyLWhriMMuxFpGlap88tKt1gjy7HQjNfvbTwRzvaPZsBhtw1/gsT5NeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmT58JDz12W9 for ; Thu, 04 Jun 2026 14:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 394d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:30:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 42e66606ca50 - stable/15 - amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 42e66606ca505b39c63c43a0860152f0e74415d2 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:30:01 +0000 Message-Id: <6a218be9.394d2.2f21921b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=42e66606ca505b39c63c43a0860152f0e74415d2 commit 42e66606ca505b39c63c43a0860152f0e74415d2 Author: Konstantin Belousov AuthorDate: 2026-05-29 07:32:41 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 14:29:19 +0000 amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end() (cherry picked from commit 606d3cb1be5fd594c1f51addd063e7c13e16bdbc) --- sys/amd64/amd64/machdep.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 7b652d241250..64bffe2777ce 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1829,7 +1829,6 @@ clear_pcb_flags(struct pcb *pcb, const u_int flags) } extern const char wrmsr_early_safe_gp_handler[]; -static struct region_descriptor wrmsr_early_safe_orig_efi_idt; void wrmsr_early_safe_start(void) @@ -1838,7 +1837,6 @@ wrmsr_early_safe_start(void) struct gate_descriptor *gpf_descr; int i; - sidt(&wrmsr_early_safe_orig_efi_idt); efi_idt.rd_limit = 32 * sizeof(idt0[0]); efi_idt.rd_base = (uintptr_t)idt0; lidt(&efi_idt); @@ -1859,12 +1857,6 @@ wrmsr_early_safe_start(void) void wrmsr_early_safe_end(void) { - int i; - - lidt(&wrmsr_early_safe_orig_efi_idt); - - for (i = 0; i < 32; i++) - memset_early(&idt0[i], 0, sizeof(idt0[0])); } int From nobody Thu Jun 4 14:30:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmW1bntz6gP5q for ; Thu, 04 Jun 2026 14:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWRmV67gbz3n1X for ; Thu, 04 Jun 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOxaPdjHJwDl0i68782llfffgDhDacO56nz/mu061aw=; b=XcCbxat9QFviMdHnakgT0qh+phZ7tAZ89UpQvb/SMD5YDA8uQxcTWy+5mg6p2jY4TTub8t zJYdYeNeJYKhRwHqLP8wpzYKf3UFCL1HwzMXYoyL7tmeDVCe1S/mrE48n6QD5h44ig4zTq /cV6XKXW/jQ3gm8KpFCsxv2r1pGeDG6VDQ4XZnuevSuNjeHNFwjDmrvuMl08VPewvd24Wd 88O8hdiSnQhfkhB4L+Ao30BHD0ynQhYzE4J2deXRmpPb0R/QPyvg2o3bcUs1K+rKywp9lb 8wgzxLVj2zfZfQVcyME7neBKSgnGdomKW7lNRXRSR/e2NOUJM8+zebNeAKILrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780583402; a=rsa-sha256; cv=none; b=mgbUwPUmJBRMEGgVl6baudeW0eKo5e53EocTNckADAOk33vZtWZY4I/7BPadKXhwp4atBr PRLryC/GVuAFJZoNCVCf3/Pw1SbeybDYXjJsOZUOx6JQKDNMhbMoXWbNJuNwedEyzBGGDQ mW8XTb5nTlqWlzVa3mtJx+Ndp++ReG7xGHWEIuZOPpJnxyhULGptvI7aO20HvquveuuyTX EXAnbnzk87GQdydAjRcNPUFUcsMEIWJXbJcw+bgU2HIYvcqIKakIW9v6awYLkzPK6EuJvy OJLGt6Wh+X/g+se2sIVa7ot7PMnhneyGflWGYnO5juQ5l0v9YxxTM/0+GDsJ5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780583402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOxaPdjHJwDl0i68782llfffgDhDacO56nz/mu061aw=; b=reIsBZ4dsauIPHI35OodfEBQ3teESD/BJBCsBoIUpSV87ojJBVp6/qcKmWyQd5rVCaLHq8 XdNBq1/zpoxlOViifcppDH4l2Ck8+oSVstxXc0PGwQ84MPU4qDZIRA1A02xDq5HnhdwC/J tx16Kq0a/nA+C19TwX47wTXMMdu++SqQmgwHm5Rthrw2dEdXFB5tB3sMEPVw3Zp/ApRNhm bUqzG3Iyps/SX7Z3ej9JtgKkZP007UrwshmxsPxviyGqfNvAQQ5cTr/3noC61ZK+L+NTtY kO9yqH1CB6jbr57jNkEe/PRtRZWMuwjPyiVqcZE27cfR85HdouT1Anx91VJHvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWRmV5XSZz12LC for ; Thu, 04 Jun 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a871 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:30:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c6ccef4a32b4 - stable/15 - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c6ccef4a32b4e09927dfdcc0f734af25c6193f5a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:30:02 +0000 Message-Id: <6a218bea.3a871.37977cac@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c6ccef4a32b4e09927dfdcc0f734af25c6193f5a commit c6ccef4a32b4e09927dfdcc0f734af25c6193f5a Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-04 14:29:19 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() PR: 294630 (cherry picked from commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a) --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 72133de211f8..613a7b03489f 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -361,18 +361,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -405,7 +407,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -440,14 +442,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len); From nobody Thu Jun 4 14:40:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0S2dVKz6gQ0r for ; Thu, 04 Jun 2026 14:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0S1yxpz3pxc for ; Thu, 04 Jun 2026 14:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9shm3+Tw+OQ3z/gjKGLY9+/18bsE/Fa00uB2feyyQEg=; b=dxVlg7JH8zXC1Qu0JQSyhD9BiH9mGCxHgtbU8KKgJ/sqejssoBBkh9NS0/HKbEaLlbv8cl 0UBem5QD6WVoFz55aB82i+WQmKyBI2z2Po0TxHKA4V0iSgt483hituwsfwSIpQZNXV6AoZ Tgiqwtu0dp1NnuT5h/yMEUVJRSjFPEtRcdmdxgdaY5nY7PFKJmcfpjtdsWBzUSJOntC22h Kk7mCRRzP1n+QBObmbhlwA7+s0Z/RLPdGUCez1e1thsDLkRYALNspGznDPh6I6X8RHXPfD OuEf3VcnaZL8eM6QCmiKfh6HVVU4ruuPf9XnW8fDZLlXMvBHqbIHmtrBl0GbTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584024; a=rsa-sha256; cv=none; b=lyqffY/NgSnIHEhOJhs2k9Pn/KVWM7bkoy8ruAe6AK5NaDnHZsq1jaq4u2Pk3cN5wYV2uE kb074IFbzxiRu4xk7Bf5UnKoaR3h3lxGH6nS7B/GxdHtFq2fUTeLBL0jPyJYuCv8zMC+tL FItL3TPvQWkwsSj/Cg0aKUM02Q8oCUj4qAiYxN6gAhlGjFZ0Ghg+buCZLLynIJ0fq0Kel+ Amikj8ldFYSdhsmLGrK8Dogwa7SholzocYaoKy0A/8y+s5nKIpLk998aWqO2kWPJjYmVgW 6X7fYtvQiOLvaXekTxfNaf16VNl7nZihNQkw7j+fa678EWl8T+eHAcIfEBazAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9shm3+Tw+OQ3z/gjKGLY9+/18bsE/Fa00uB2feyyQEg=; b=fcKqz5xT1WKwdneidk81HMPUXP0EylTP8KVII0aBBOxdYUAG6bJBEw5zvjCOtn8TdaTnSw bLOplegFfgkvpffpajKzW4VlmwLE2oEBpW103mhUgb9VPGJCJ0231HS9HGz76MW+vrlndR cEPxhwj/HiDhHFj4ig1tndmobYcAyf2fJ+amuZ8Eg64fM6BUkS1J1SHbTAo8/Aha2pyNy3 p2zlNyAs7+0w92KjQMx9Vn+ba4lvx97hnfDmM0olIATRTrc2vHt31lITPQlIulzmtzm4H4 5afeSprn4DZ+YSIeG4i/9WXeZ9g7w4Ek/3ld0iOCyDs2GECVj519FUDO8BVqfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0S1LJDz12d0 for ; Thu, 04 Jun 2026 14:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cb8f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b1cec2bd42c2 - stable/15 - fts: Add some depth to the options test List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b1cec2bd42c2a79966bee005e104c8e5daf8331c Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:24 +0000 Message-Id: <6a218e58.3cb8f.2a8ea3b3@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b1cec2bd42c2a79966bee005e104c8e5daf8331c commit b1cec2bd42c2a79966bee005e104c8e5daf8331c Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Add some depth to the options test MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57323 (cherry picked from commit 7ec549870f2adeb0e896885220d4af6b47c4c9ba) --- lib/libc/tests/gen/fts_options_test.c | 74 +++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/lib/libc/tests/gen/fts_options_test.c b/lib/libc/tests/gen/fts_options_test.c index fc3015138a49..863c0809d16e 100644 --- a/lib/libc/tests/gen/fts_options_test.c +++ b/lib/libc/tests/gen/fts_options_test.c @@ -36,6 +36,8 @@ fts_options_prepare(const struct atf_tc *tc) ATF_REQUIRE_EQ(0, mkdir("dir", 0755)); ATF_REQUIRE_EQ(0, close(creat("file", 0644))); ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644))); + ATF_REQUIRE_EQ(0, mkdir("dir/sd", 0750)); + ATF_REQUIRE_EQ(0, mkdir("dir/sd/sd", 0700)); ATF_REQUIRE_EQ(0, symlink("..", "dir/up")); ATF_REQUIRE_EQ(0, symlink("dir", "dirl")); ATF_REQUIRE_EQ(0, symlink("file", "filel")); @@ -57,6 +59,10 @@ ATF_TC_BODY(fts_options_logical, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DL, "dead", "dir/up/dead" }, { FTS_DC, "dir", "dir/up/dir" }, @@ -67,6 +73,10 @@ ATF_TC_BODY(fts_options_logical, tc) { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DL, "dead", "dirl/up/dead" }, { FTS_DC, "dir", "dirl/up/dir" }, @@ -108,6 +118,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_NSOK, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DL, "dead", "dir/up/dead" }, { FTS_DC, "dir", "dir/up/dir" }, @@ -118,6 +132,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc) { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_NSOK, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DL, "dead", "dirl/up/dead" }, { FTS_DC, "dir", "dirl/up/dir" }, @@ -151,6 +169,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc) { FTS_DOT, ".", "dir/." }, { FTS_DOT, "..", "dir/.." }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_DOT, ".", "dir/sd/." }, + { FTS_DOT, "..", "dir/sd/.." }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DOT, ".", "dir/sd/sd/." }, + { FTS_DOT, "..", "dir/sd/sd/.." }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_D, "up", "dir/up" }, { FTS_DOT, ".", "dir/up/." }, { FTS_DOT, "..", "dir/up/.." }, @@ -165,6 +191,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc) { FTS_DOT, ".", "dirl/." }, { FTS_DOT, "..", "dirl/.." }, { FTS_F, "file", "dirl/file" }, + { FTS_D, "sd", "dirl/sd" }, + { FTS_DOT, ".", "dirl/sd/." }, + { FTS_DOT, "..", "dirl/sd/.." }, + { FTS_D, "sd", "dirl/sd/sd" }, + { FTS_DOT, ".", "dirl/sd/sd/." }, + { FTS_DOT, "..", "dirl/sd/sd/.." }, + { FTS_DP, "sd", "dirl/sd/sd" }, + { FTS_DP, "sd", "dirl/sd" }, { FTS_D, "up", "dirl/up" }, { FTS_DOT, ".", "dirl/up/." }, { FTS_DOT, "..", "dirl/up/.." }, @@ -198,6 +232,10 @@ ATF_TC_BODY(fts_options_physical, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -224,6 +262,10 @@ ATF_TC_BODY(fts_options_physical_nochdir, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "dir/file" }, + { FTS_D, "sd", "dir/sd" }, + { FTS_D, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd/sd" }, + { FTS_DP, "sd", "dir/sd" }, { FTS_SL, "up", "dir/up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -250,10 +292,18 @@ ATF_TC_BODY(fts_options_physical_comfollow, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dirl", "dirl" }, { FTS_F, "file", "file" }, @@ -279,10 +329,18 @@ ATF_TC_BODY(fts_options_physical_comfollowdir, tc) { FTS_DL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_D, "dirl", "dirl" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dirl", "dirl" }, { FTS_F, "file", "file" }, @@ -308,6 +366,10 @@ ATF_TC_BODY(fts_options_physical_nostat, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_NSOK, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_NSOK, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -334,6 +396,10 @@ ATF_TC_BODY(fts_options_physical_nostat_type, tc) { FTS_SL, "dead", "dead" }, { FTS_D, "dir", "dir" }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_D, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, @@ -362,6 +428,14 @@ ATF_TC_BODY(fts_options_physical_seedot, tc) { FTS_DOT, ".", "." }, { FTS_DOT, "..", ".." }, { FTS_F, "file", "file" }, + { FTS_D, "sd", "sd" }, + { FTS_DOT, ".", "." }, + { FTS_DOT, "..", ".." }, + { FTS_D, "sd", "sd" }, + { FTS_DOT, ".", "." }, + { FTS_DOT, "..", ".." }, + { FTS_DP, "sd", "sd" }, + { FTS_DP, "sd", "sd" }, { FTS_SL, "up", "up" }, { FTS_DP, "dir", "dir" }, { FTS_SL, "dirl", "dirl" }, From nobody Thu Jun 4 14:40:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0T3hs7z6gPqk for ; Thu, 04 Jun 2026 14:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0T2cwHz3plt for ; Thu, 04 Jun 2026 14:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3D5E7ALMW8H2wxZpQDOpSc4NO9Oa17RbSLPcR7p1Onw=; b=Md/6duHMX+SyVQ/ZT2ut1MupPG3CRMZjDmYgonRYPA94oqtdpjwwEUS1rQYBAbXNLtULbj 8fcrdIc35zsSmViRAnD0xcxtVo9bCGXT+IwS5g2Ji3QYr1/P4cpmTvECs+Wocorsk+owJL y/zVVc/joQoE4Eo6rdWcNoj/NnapEXFAZKrCBqAQe2di2sDTEAQpwZRxdwC1EOZUyA2lG5 8oG1zCOnXHoyWVTZWsBsh+PvKAVWM3sh85ATVVvFXxLMpJ1Ofu54kGgtunbnrxqz/GW4Z6 gibtzRiAm86QojLq4WJKkhUxys+t6Pqd1Mem45e0MQ2BfJxr/QoVCYmlvPLO3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584025; a=rsa-sha256; cv=none; b=XMJsm8zxsBhk9jHysctI5UCoWgh0uZ12NF5REmF+gRaujhNHk5bNOaVk7ARBTCQkDIG/wn KTbdHvBGIYxsYoviMwNv0Ma2tT+5ZDL/+qdcvpZFUrLbx6sLs9GULDWRxOdLvLecQt4TQV M6hMb7FbXD4KLiUMg0D9cA/lo0ZIbSTWyEJRdb4vhyiH1wvtTeuAsZRiRj7nw9EZR4B99s yoACcNmiiTRGUkVKeKeP8XxNDlwkeHQ4WNsVKKmc5wg7+c1U6F9Zz2BsisdW+2RozHo4LJ JVQJwpr0qpWCjEi4YtJ4xjRjW33YxHaGiQ2NCl0oWHprqFKYGZLsc9SD3mbPsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3D5E7ALMW8H2wxZpQDOpSc4NO9Oa17RbSLPcR7p1Onw=; b=EuYNNykzo59J+SzXUq4aU45xibIUy2n5E4/Nz1iaKBh1n8rLqGmSz5Pjgv/2YrPY0c73z/ Oo/TjNjcyWu4EGvpayHZUUaUpsHYAcJpI5au6lMATR3My/b/8OhzeavcQ6Om7wOQVAmExR 8PSINg221qOUfh/knugU64cmtd75Ra7c99I0CSs6SgYMIEERIf+4O7hdTwylKISi1mo+ex DnU19wvi3ccDRetkn9IfYpq5aojrRCevB/NolQw1BqmU/cIqrlNmoPY8G9MvzKI/JQ06JY kC8Q4mIpqmqwPlXaXJlNydh810ajyFsyEyeqbs979y+cDm5Y8v6NARB1fpIsTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0T2CN2z12Fp for ; Thu, 04 Jun 2026 14:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b263 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e4dd3505c2d1 - stable/15 - fts: Check link count before using it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:25 +0000 Message-Id: <6a218e59.3b263.43be2985@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 commit e4dd3505c2d12f1c1a4e626b18f2d4e75273af85 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Check link count before using it * Check the range of the link count before trying to use it. * Rewrite the comment explaining what the link count is used for. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57324 (cherry picked from commit b2b95249ae0e24a6e24ad4286da56f1aff7a6db0) --- lib/libc/gen/fts.c | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 4aa386d777cd..e8063ecb646e 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -114,6 +115,19 @@ static const char *ufslike_filesystems[] = { 0 }; +/* + * POSIX provides nlink_t but unfortunately not NLINK_MAX. + */ +#define NLINK_MAX \ + _Generic((nlink_t)0, \ + int16_t: INT16_MAX, \ + uint16_t: UINT16_MAX, \ + int32_t: INT32_MAX, \ + uint32_t: UINT32_MAX, \ + int64_t: INT64_MAX, \ + uint64_t: UINT64_MAX, \ + default: 0) + static FTS * __fts_open(FTS *sp, char * const *argv) { @@ -736,7 +750,7 @@ fts_build(FTS *sp, int type) int cderrno, descend, oflag, saved_errno, nostat, doadjust, readdir_errno; long level; - long nlinks; /* has to be signed because -1 is a magic value */ + int64_t nlinks; /* has to be signed because -1 is a magic value */ size_t dnamlen, len, maxlen, nitems; /* Set current node pointer. */ @@ -759,16 +773,36 @@ fts_build(FTS *sp, int type) } /* - * Nlinks is the number of possible entries of type directory in the - * directory if we're cheating on stat calls, 0 if we're not doing - * any stat calls at all, -1 if we're doing stats on everything. + * In the FTS_PHYSICAL | FTS_NOSTAT case, we want to avoid calling + * fstat() unnecessarily, but we still need to call it for + * subdirectories. The current directory's link count provides an + * upper bound on the number of subdirectories we may encounter + * (including . and .. in the FTS_SEEDOT case). We initialize + * nlinks to the current directory's link count, then decrement it + * every time we encounter a directory, so when we hit zero we can + * save some time by not calling fstat() on subsequent entries. + * + * If FTS_NOSTAT is not set, or the link count is less than two + * (which should not be possible) or equal to NLINK_MAX (which + * suggests that the actual value could be higher), or the current + * filesystem is not known to provide reliable link counts, we + * initialize nlinks to -1 and fstat() everything. + * + * In the rare case where we don't need to stat anything, even + * subdirectories, we initialize nlinks to 0 regardless of the + * actual link count. + * + * Note that we ignore the FTS_NOSTAT flag in the FTS_LOGICAL + * case, although we could choose to only stat symbolic links. + * Implementing this is left as an exercise for the reader. */ if (type == BNAMES) { nlinks = 0; /* Be quiet about nostat, GCC. */ nostat = 0; } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { - if (fts_ufslinks(sp, cur)) + if (cur->fts_nlink >= 2 && cur->fts_nlink < NLINK_MAX && + cur->fts_nlink <= INT64_MAX && fts_ufslinks(sp, cur)) nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); else nlinks = -1; From nobody Thu Jun 4 14:40:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0V5SKsz6gQ0x for ; Thu, 04 Jun 2026 14:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0V3kYsz3q0X for ; Thu, 04 Jun 2026 14:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCG5UnZRBDcF4tpknEhrSoo7KBw5CEeYEQAO/6YzuoU=; b=tev0AcuYDuqRs++EU90s3ZGpfjmneBfSrYIWqTZf3G0Kyt+ucO9PdCv+nnJjbIdI2qjdle 1mm/SkVjzkzv1IF5aOh2LrDGRScdpD8B6pO8XQCQGKOXp6VbZJJJd1yooFDndEar7aYEbZ GsgZ9ArFgZiq8MhE1qCMig7X1c/JB0rFg6teohb+gioP5r60RIyDd3hg2aPax477MvuW3g 7ynY0ulgMxqPLQPlUIdkLPid3hqpDnoQnLkNW9EL2YfdWCfAZPDfBLzf5cHtvAiuLNuxQE X5BfgE1ZIMaM7CncuEHXjCUqZmmXxJW8ys+bGfPRAknB5EAtO0Njlr/dPQzC1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584026; a=rsa-sha256; cv=none; b=iHiA6LBC3K9cKMUhLF+/R4C6Rva0E1nfuyaUsC1ePaRPjqnmJ+oTnASvsnST95CM9UL0CI 4EpHdht4OyyCFfAHZncWAvhTZieAjdPIufNG/OfXmPKr9XzFZpDXHmR9ImKVYctYEUv47+ NXzZrbicdFh96lsXrlaUmKGXGQkIlWTAC2BfxK0Le5ALnnhHLFeVozz/TZ4o7RSpntnQv7 i0jh6deBoD53ZVinUNDJiRogJWsrhfbmFfZ1N3dDZUS52xsennkhK+vyqL5zDeVs3Hk9w4 ypJUfZRjOccrDC4sYTwZ0nGsMxn1QrDB7Ovh7MFEL+N5zpqIM0EdBXUF7iHDQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCG5UnZRBDcF4tpknEhrSoo7KBw5CEeYEQAO/6YzuoU=; b=oNcX6Ef9ml6L0NdAtQtO36ifb5iVest3/UVovPIPUmZU8CB2Z5+aL+t6c9HOFwFzTL4PE8 4lCUqnJCaoo+lpAAhz6pWqB9uIjgeVepUJABB9y+SMXmtdeCplfcsREjScSJfqzHw+BbBQ YFYzRY7nXuXqinrkFy6dxuQA+zWgkz7vnBab1l7QUGs2nz2zWUSLb3VZKJYKYyuhktSZgy pw3JloTWeB85adoSJSveegKv0Dwtu7TrejQW0gj7ag8pAKxjunCL+4LEDv/4kBbiT4kCki nchuIoswuQpiPL0Ewn7nlgavmPoJseGaI6fQoniIW0qofhD8OGs6rfcvPDMfqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0V35lNz12d1 for ; Thu, 04 Jun 2026 14:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cb64 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e6cabe3030ce - stable/15 - fts: Improve the description of FTS_NOSTAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:26 +0000 Message-Id: <6a218e5a.3cb64.272aab94@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 commit e6cabe3030ce6add2e7a0db3ec4e13e76549ff01 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 fts: Improve the description of FTS_NOSTAT Note that we still need to stat directories and the roots. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57325 (cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041) --- lib/libc/gen/fts.3 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index da304e59ee72..79b94afa806a 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 6, 2025 +.Dd May 29, 2026 .Dt FTS 3 .Os .Sh NAME @@ -497,6 +497,13 @@ field to and leave the contents of the .Fa statp field undefined. +The roots and any directories encountered during traversal +.Po +.Dv FTS_D , +.Dv FTS_DC , +.Dv FTS_DP +.Pc +are still fully populated. .It Dv FTS_NOSTAT_TYPE This option is similar to .Dv FTS_NOSTAT , From nobody Thu Jun 4 14:40:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0X1wHVz6gQ4W for ; Thu, 04 Jun 2026 14:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0W4nK4z3pvP for ; Thu, 04 Jun 2026 14:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZBKig/b8A+3MKUSbdBMkaQznWqBT19WQcl4/bilpE=; b=EXpVzvVqGLimuAueHYzTN3tJP4Pfa5Us9H1oYNNdC5sHclHRRzHk3BweAiL5GBu2kHP+tA 3ZDFSZRHVW7AV7oM4bnSbjixh0ashGa3c6tbyS+RroBtBs1Z+p4TGMlsueBNNJxJBPxUhR 4O3HfQpk3wdrhJkyQYPfNOW6U/b7n1r+2/ufHNqnhw33d0tAjh9BL9egdRFXO1BgsBUMdS VVMgdw1+omSdlh95GiLb4aFlL7QUsL7JMASkLauDzCbv1M+dLncNEDVQCZSsdi8hY3p8+y 805CU+1ntnngocYx18c0m/N9TjXwRmatJCX+FsfSxA4GEPeqMdqpDOE0jG6Pww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584027; a=rsa-sha256; cv=none; b=re4i5D2wRupyH+kx5iSjGgmJqkxqXDUY5qoqI0hcHrWIqUtj6BHfuEO+IL83aooHHpB9gP Gep6P6UzPiAP1e2qWH/O5ES2SJav4ZDnEbEPsLWW01/l9LxyFpuXOR5jsoYUZ0G/Bf+pqm nvtsuNWV2SzQ7ZvAtX0ByHPCbDsLtUjvA2BQfrpGkHE68VWxc6Djk2LtxE5j5NcT614+PL rLgU7gK+sKvTiwLMMmzp7Tl9dtF9H+KfYcLZheQFAQ3LUW8noNUQ+melkDyTQd396J9zNc Ie2Wyi4/b85miPDC/UP13qmZoWhRgY5BoatNOrzFRHY4muJXbLx19Srv/Uhaow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZBKig/b8A+3MKUSbdBMkaQznWqBT19WQcl4/bilpE=; b=ymNeN6ujtS4Gncsi+JzIXTqQFJLmPkvfo1Bh2umpaNmbMX7U0cVIEXlkpoo1dfZKCpyCGU y1aHZn5uM6/5kHIYTpJ+P4rpdv4Zgthc8vS60Jr17VA5i20yLxW++WRZSiikPBJ/C0Ga5n U3AVNRhH21UdeUVwJFaXE+qcg5crrmQDbHaOZDWV+SfSzK4yGFyX4E39ytekoXHH/qlX99 nfQFLmYr59+tgHtmrG7BlDH431SX5SziRh+ATMBBdtW8DsIcVUxw4MuAWcV7TGHEEflBN4 1uJNAtTNHBkSyb4nLii1+HR0OD3t2mgxcts/vffY+IAy8v8M9BM59o9qcNAhBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0W40nMz12bW for ; Thu, 04 Jun 2026 14:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b5c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: e8abb1003278 - stable/15 - login.conf(5): Add missing resource limits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e8abb1003278c60e61e11fb29bff9e0acfb630ec Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:27 +0000 Message-Id: <6a218e5b.3b5c0.3b825442@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e8abb1003278c60e61e11fb29bff9e0acfb630ec commit e8abb1003278c60e61e11fb29bff9e0acfb630ec Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 13:10:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 login.conf(5): Add missing resource limits While here, reorder the table. PR: 295618 MFC after: 1 week Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D57258 (cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2) --- lib/libutil/login.conf.5 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libutil/login.conf.5 b/lib/libutil/login.conf.5 index 942f3ecd2661..a23f78ba0244 100644 --- a/lib/libutil/login.conf.5 +++ b/lib/libutil/login.conf.5 @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.Dd September 25, 2025 +.Dd May 27, 2026 .Dt LOGIN.CONF 5 .Os .Sh NAME @@ -194,17 +194,18 @@ login environment. .It "cputime time CPU usage limit." .It "datasize size Maximum data size limit." .It "filesize size Maximum file size limit." +.It "kqueues number Maximum number of kernel event queues." .It "maxproc number Maximum number of processes." .It "memorylocked size Maximum locked in core memory size limit." .It "memoryuse size Maximum of core memory use size limit." .It "openfiles number Maximum number of open files per process." +.It "pipebuf size Maximum size of pipe buffers." +.It "pseudoterminals number Maximum number of pseudo-terminals." .It "sbsize size Maximum permitted socketbuffer size." -.It "vmemoryuse size Maximum permitted total VM usage per process." .It "stacksize size Maximum stack size limit." -.It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." .It "umtxp number Maximum number of process-shared pthread locks." -.It "pipebuf size Maximum size of pipe buffers." +.It "vmemoryuse size Maximum permitted total VM usage per process." .El .Pp These resource limit entries actually specify both the maximum From nobody Thu Jun 4 14:40:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y2jChz6gPkq for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0X5MS2z3pkG for ; Thu, 04 Jun 2026 14:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOMa5vX8beAWBB9BTocamxtId4mkUEW3XojKBb3QDtI=; b=AUfM27Pn3ndXMqPaJMdeQzSRlacHN6FojoEKNrsq5Rrl1rJ6zXOwuVwke05vLm9mhk6Opu HspEsBKOfDtKdkrqk+DNfGmKuVeggGu+Z3izqXdjbQqaqzHkywX8f/8EK5J0rfZF6GaCci unKtSKiTCKm4LboO9Y8AihS7WS0XSLfXkHPd3gAgb3eY9b99tKeGxxxbaBBlbm7mGmkzPv 7l/VDEL+svw/wKzSE1IsWwsI6zDv6RrozELufEpLRSiQrNMeiHmXhD01Ot4EqG7UgFLeWH fWpjdJqEa52gMVi9s8Pk0NlpjBZYK+7Ed1zSjXgRb30TtFCXvvXeHT36G2b1ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584028; a=rsa-sha256; cv=none; b=gunr1tCNIv4kfjfdSOHllt+cgRi4ybF37FdbocXYLZIs4017QS0fopQjfWgo41cst8hz4R 0RzdsITx74qkYy4ogMneiXYwcCDk5YHVH4vKm6ZsIfBkAru2fmlLm85GJHfXb3K4BDizST h+VGD7K+g2Rpc/OAE3biTjQWAmPWmkkcymawJAxFVw649Zr9rlb/RKsS5rp30HKlUcGNKv Mre6BAOzCiDOz6JbypIvZOyR36GfeN8mK20aaqSs+E4bYxZLV6uwdcKHRk7vfKmk8z4uqm uxE9POOu3qSZLdnnTuBzokefimH9pgpp/TEizzzeusKHK8qOGr6Io+65WaDLCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pOMa5vX8beAWBB9BTocamxtId4mkUEW3XojKBb3QDtI=; b=hU+CPu17EwLn4KOlSvgpM2keO3G7Od66TJMSDAR34H72s4omfwYUKmnj4a2BDOBcXf3fL4 5BPjNk8cU/wgSasPSsYgzOYQuLQYXwug9AZQQcIGXhajD0DvFo11OwgzMo0jcmUlDHwtzc JS63iOwqho5Th2THwvVD0cFKzGe3FPB0vEhsGpQ8+m8l4CBLJrh5gep9CZJpfRNHyICxxe 5GT9b3022gqe+MQWX3WT3nBA4X25dYYwuO9e3AKxvJFV57hmrfRBUcA3GtZ+s36BDllxNi R1W5hOdu0EInahjTc6QjRApalgBd8EhTgA7n+mAGRWO7xgJgWpBBUqApIafE0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0X4wSDz12pJ for ; Thu, 04 Jun 2026 14:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c799 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 2a0e9a9b5934 - stable/15 - login_class: Fix kqueues, pipebuf resource types List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:28 +0000 Message-Id: <6a218e5c.3c799.2ad3e2a7@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 commit 2a0e9a9b5934ced31c90ff5c3231e1599b3b1e75 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 22:06:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 login_class: Fix kqueues, pipebuf resource types * kqueues is a count but is listed as a size * pipebuf is a size but is listed as a count PR: 295623 MFC after: 1 week Fixes: a4c04958f526 ("libutil: support RLIMIT_PIPEBUF") Fixes: 85a0ddfd0b26 ("Add a resource limit for the total...") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57333 (cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0) --- lib/libutil/login_class.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c index 9478b4dc98ca..3db831efc688 100644 --- a/lib/libutil/login_class.c +++ b/lib/libutil/login_class.c @@ -63,9 +63,9 @@ static struct login_res { { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, - { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "kqueues", login_getcapnum, RLIMIT_KQUEUES }, { "umtxp", login_getcapnum, RLIMIT_UMTXP }, - { "pipebuf", login_getcapnum, RLIMIT_PIPEBUF }, + { "pipebuf", login_getcapsize, RLIMIT_PIPEBUF }, { NULL, 0, 0 } }; From nobody Thu Jun 4 14:40:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y6vHLz6gQ21 for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0Y5nlWz3ppy for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AK4/wFT4QBLyDeaodPJTGLl5v4lzpoE1Nswu0iC2+qs=; b=ll+Q7XXGhG6W5qXCHlKIl6PUhS+M6FjVaIjiQQWp+/cuQtM4fIJebje1/eUcXGQf/VCmu3 y+PsEfTzT1vJvbZ+WoYCtct32rqPr9tgF5BujlcPevutoyG6pDedDnWQZv2TCK8yXKG/3Y O8lsYlpTGuEtePxWdFonRic+fwIvRN8I4wWlS5Y5LvANy67etr9u0bRA91dlOBTyXoGg5E wG0bV0P5UjBuwEeUhDkZxqJw4EeiB7cDBBRmWoMH6EgOmUtpRZDRttDN8GD/i1LH9eWOw1 XmonjL8rXWsKPiui0bdvyhkQa1awxsE6pjSt1BbOhcHNFMTNB39K3ANsDzyppw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584029; a=rsa-sha256; cv=none; b=n7W7lpJsfO9IQOCgWutxKJFK8e46GEtI0ml8aQG7AqpGKrthFP0qQOR2sFimmGh5HRBR9o m9Nn5Q1eSuKznD/HC3f+ZIDk7gCZzP8rRUw5pcN0meXtqv172FwnPmj0G/d143g9v5aaLz aLs5+C6YryQubErSLqWLDOmedKv9Y0eMiQx7fuwoeUg+dlo4xok3jWoowN6ZH7M7EYEBZ+ ecI55jSM3Ji+Ik3+wdQqY8RRsESzWBmCN5DsEHUzwW4crJW4g6YwM2djSxx5v4noji1+SK TKNS+YVarERpONqD/WA0wVzRWgbjJzG/C9jOJ34WrgFc+cWuHJn5xWBlKJ5Btg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AK4/wFT4QBLyDeaodPJTGLl5v4lzpoE1Nswu0iC2+qs=; b=Jd/pqPH1tmrdnPSI3aZNz+ngbCEvkwzL6HL59PCwmHes2nGl9umFQuCaTm1p32QRXRfyr+ feb/1aCdufCJJYhl5WfYGCLRUDMX/sdiI8z/WjJfhzNfik/jFfwhz9DKYs3XtFB/PCZM/T iQr4U4A88QHXd8iOZiPq92IOrAzOS4SCp1+/8QP+F+j9tvXSAcErtnyTzjvpjKeZ7U15xA pRMxueuWXl4HHnc2uyHiOokt7+5n9s4ykRD3HQIWwUVCi8vsyCnL2lpPZCFojnagvUFf5O z4qId5oSf1B+8IGUCHZhvcw3PaSFraDftJHhx49G2oy/xoXKqqTg7gpLMnFOoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Y5Kwnz12sd for ; Thu, 04 Jun 2026 14:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c363 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 7ad1006a20e4 - stable/15 - sh: Fix pipebuf limit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:29 +0000 Message-Id: <6a218e5d.3c363.35bdf032@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc commit 7ad1006a20e4d3381c079d8eacb050b1f3b9fbfc Author: Dag-Erling Smørgrav AuthorDate: 2026-06-01 08:51:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:17 +0000 sh: Fix pipebuf limit Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: 5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352 (cherry picked from commit dfd2273d27627313f944650840381e878077e825) --- bin/sh/miscbltin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index bbf0aa5b8bde..a13a1a05aef2 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -516,7 +516,7 @@ static const struct limits limits[] = { { "umtx shared locks", (char *)0, RLIMIT_UMTXP, 1, 'o' }, #endif #ifdef RLIMIT_PIPEBUF - { "pipebuf", (char *)0, RLIMIT_PIPEBUF, 1024, 'y' }, + { "pipebuf", "kbytes", RLIMIT_PIPEBUF, 1024, 'y' }, #endif { (char *) 0, (char *)0, 0, 0, '\0' } }; From nobody Thu Jun 4 14:40:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0b4NtZz6gPtg for ; Thu, 04 Jun 2026 14:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0Z6r24z3q3F for ; Thu, 04 Jun 2026 14:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Wm7kkXvd5TELaEB9h15Gt5bt5K6le5UsvaptK0V/Ls=; b=LQuEsi3oUW+9g8k7XoH0bJrSBT83yEieVjHcyJJgJisPhXkh1fmblgMdsA/1DileGm9nSy nr3ZgWPVQxcljaPHwpWYtk9MRpL9CE4vpruLiul4A5FdmaooVL2noTwh+W3QYxl7g3Bm1b CCGdTtBFqqZ1GmeVUiiBEDAwrPSBThHHtrCeQ8ymSDoP9zKGI7jt44sWrHqwJZluX1eQlZ 0gGFm3gT9jKoZxkWA87rdA+E0q3ijL2NgxXn+oEZlCobYzeyKGJBt55C752erh9ZC+IepH HWNQepqmKqlbjpHbkfjdJNX7srqyeCxiWREYBfFZ0XAdoujLc4s2htRb17+Jzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584031; a=rsa-sha256; cv=none; b=NSaCZDsvS5+9xq6jMNmkf+HYQbcW/axxdXaa01OQgI8v5YibOmrwVJ4bD3Gw0gMW4Y4QkP NffB6mNNpgyS1HpyFg/lspS8U5jj8kskx1z+5eQQYbpgX1QUw10oeH51ifaWb9+s3IZiFm IH2oICfdbVI5QpLm9K/TWfwOSchgiTaPa7ALrIFuntzMQH6JqW5bECATdpMXNqHUuD2jJ7 jJP48qdYr8gIKQvxAG9sAPOwQsv8J1lG5Ezr/7Upma6PJF39zplKnXaQVIufwA8cFoxUYT 3kh3Mn5Wqpi5OBF0lRdGNr2WJlVKt/hKYPpBzrxuxgo/bPbZ3T7GQ0VPffml6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Wm7kkXvd5TELaEB9h15Gt5bt5K6le5UsvaptK0V/Ls=; b=mTeEMRXXZy1ImegBICYeNOpV6/Hh4PK6l7PS3IhNZeRh6RJbk+s/sboIWWMybsCukqDukM rEoXic2j0OYdU0tpdW0WcnbjdMDsGzOyB4NXEg7ssxYQDuzMOyVIBTfpBEnuHK95iuNbng V/ZBWK+CCtLSTC6q52j5BewDrpMzrbgiUr2QsGENEsrYeZWqWGgmvHWeIclW4lrhEJn+5z 7si1e9aHY7+CoM9diaKfFHswI9e5GblueWYrmY1Zp+GwZLG41ViMXNCt2NvL5B4K+Fp1se /F4b7PT8/xnpcf5c7N/FagKNU/GWnyg5rKKP065/gDC7hDrwBdygbic4ccPS0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0Z66Mhz12qS for ; Thu, 04 Jun 2026 14:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cab2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 7546f06f5e06 - stable/15 - ObsoleteFiles: Add some ancient locale symlinks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7546f06f5e0658ae0846116f42825d73479f9196 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:30 +0000 Message-Id: <6a218e5e.3cab2.5867d0c1@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7546f06f5e0658ae0846116f42825d73479f9196 commit 7546f06f5e0658ae0846116f42825d73479f9196 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-02 08:36:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:18 +0000 ObsoleteFiles: Add some ancient locale symlinks These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: 295668 MFC after: 1 week Fixes: 0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331 (cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756) --- ObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index c688785da8b4..d9924e3e2e42 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20260602: Removed by 0a36787e4c1f on 20210723 +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC + # 20260430: Provide stdint.h macros unconditionally OLD_FILES+=usr/include/c++/v1/stdint.h From nobody Thu Jun 4 14:40:49 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0y4LNpz6gQ2F for ; Thu, 04 Jun 2026 14:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0x6DGRz3qfN for ; Thu, 04 Jun 2026 14:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0g0M5XC+R3zNzwO5t5wML3JgfWF8Chtk4umlnWKWcE=; b=K0unjE9NR0Uo/dzQgpez3x8hTpY4y96r6//WuZpkLdMBUgb7dZjpn5w4WiUkgIqYJpWz7M 7MA88hfBqJc1tAYt3HbMCOvb3WcJzHWqa6fKSZHQbDw16+exfEUd7VkMgX7dbKcAkFHwQB wy+iCGjtgX2IhcptUraRFI3gzSuc76pgGp1y/65T5Dyf6aRE05HIVe/YgvTHG595kVyTUn 0meCJgd3H2HbhXrLhlUcOUSADpxdQvVY7Twr8qqj+YCcUgCKuhcAvQxq0Uh6/PdxmhUBhq FODw8vKX0Qc9i1yYWPnTO4LJjXM4cu7Zl19vv/XIB4ol47cmBLh2OnLjNvmgbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584049; a=rsa-sha256; cv=none; b=TswFJZgpyhvl4c+K0cfBZbEjA5BlxDZn8CNmPPOrWhu2VzcRmjUV6xGTM0Vc3YrUxXTjq4 0yLNMrboSFRICnpp+7IhMCznMhRCDXcODlh2ZRzE1CwqdBafliZT4ZUdTCpwH1ZPtOhSjH U+Ny+ePnWam2oNkVbR4qxkVLvSFC+NSrBWjrkib6+CHi1sxT3AJ9nlV5dzO4M8cTWrVOrj 4HOAHCcEGvNsfEzCNT99RNzm/+UQ8XpNw4Umsug2CGUjjbke4D/M9ve/YYb9EgTsHHzS8Y awtDFFOvBAV2p6Icmcch5+z66sy/XmCncrC8CqRINwHHv6D5/i13TwWpd7z8xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0g0M5XC+R3zNzwO5t5wML3JgfWF8Chtk4umlnWKWcE=; b=RsdY9RkZjTBw1wkcAuzO4tzU5O91WJCkszhW9y3ZEpXp1eE1diSkCo3xXNPitgKUNVc1uB ZgGCf7xoIG97G5xrIIV6EWJQvE4KL928Ylagu9BAdvuNnx/+s/11jxpHuVA4phNFvTkftP 8pVFII3uM77pjspZDgQlzg3/vjRIp9qOAU5+FgNz0PIh+MQpfVnBrQVVIlMo+LdE6Yy/Zx Ucmd4r7jyKgm0o238uhr+y2BJmLMUeF6obedVQL+m6vhyY/B1PoozQQbMCADU5qSgzQb7w eN9/ay69EelL44DuoBNspJkJTbzf8HIoP+bS0fFg043nyAbA1m0pli3NgSc9TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0x5gnhz12M2 for ; Thu, 04 Jun 2026 14:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c507 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 78381cdaf50f - stable/14 - login.conf(5): Add missing resource limits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 78381cdaf50fabbcda520f6c163880f2deab0740 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:49 +0000 Message-Id: <6a218e71.3c507.1986bd2a@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=78381cdaf50fabbcda520f6c163880f2deab0740 commit 78381cdaf50fabbcda520f6c163880f2deab0740 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-27 13:10:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 login.conf(5): Add missing resource limits While here, reorder the table. PR: 295618 MFC after: 1 week Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D57258 (cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2) --- lib/libutil/login.conf.5 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libutil/login.conf.5 b/lib/libutil/login.conf.5 index 27f37fb5fc30..03a2ae89e4df 100644 --- a/lib/libutil/login.conf.5 +++ b/lib/libutil/login.conf.5 @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.Dd June 28, 2023 +.Dd May 27, 2026 .Dt LOGIN.CONF 5 .Os .Sh NAME @@ -194,17 +194,18 @@ login environment. .It "cputime time CPU usage limit." .It "datasize size Maximum data size limit." .It "filesize size Maximum file size limit." +.It "kqueues number Maximum number of kernel event queues." .It "maxproc number Maximum number of processes." .It "memorylocked size Maximum locked in core memory size limit." .It "memoryuse size Maximum of core memory use size limit." .It "openfiles number Maximum number of open files per process." +.It "pipebuf size Maximum size of pipe buffers." +.It "pseudoterminals number Maximum number of pseudo-terminals." .It "sbsize size Maximum permitted socketbuffer size." -.It "vmemoryuse size Maximum permitted total VM usage per process." .It "stacksize size Maximum stack size limit." -.It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." .It "umtxp number Maximum number of process-shared pthread locks." -.It "pipebuf size Maximum size of pipe buffers." +.It "vmemoryuse size Maximum permitted total VM usage per process." .El .Pp These resource limit entries actually specify both the maximum From nobody Thu Jun 4 14:40:48 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0x015sz6gPtv for ; Thu, 04 Jun 2026 14:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0w5k61z3qkr for ; Thu, 04 Jun 2026 14:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WZvi7ix2xDPKOyrWV2kEVPKp5626/tn5UWHTaGwV5qY=; b=YlXsR5zcU2J4Mp0WikkdbN7Y9gYfvsfdcvOZNfRMCAGr/kSBMRQT7pIdqWuKK/fptDpDB/ whWLSe1H1aS12eexbdd6+e+kp8hGpWqLOAQ+0RLBo40WWlIXNid631mHgYpCzhhA0N+OIY VxUS66Syw2w6eZxY45dkJVvt6/IdL85YtDU/Q7NC8/IKWcjLh8eStZa5hOcxdVEFn+nTYU YQ3FwGIEBhHyH+MCwm/gDNfDX/bAHTBDOZILZe+oWGkkNdjMNvT0Cw51p1a9v2o699sU6Y BI88cqDmq86DcrZWfqDAbbILKgqoxuFq4V1t7A+rInyK4zcvimPgz9ht2/iEvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584048; a=rsa-sha256; cv=none; b=xdpgYKCzZbU6CI+o0x+6fNPAGpQyJWuS+xTVkbICckedkU0ShU8g2AzicenDwFELn+eyVj /ZyPAPX8TRgGapwB6bkgJht+CfZgf8KTqTqrdRgkpQk3eoRy5L1bJoPNZFGd+jQozHRDeS BwtcBCeDMS/UKX8gSb4RdScPIp5JVYhjMqGzLPW1ngLG9PX3niX9WmbCOGGMzEU0m5miLM MRCGzp0XFpB0FcqqH+c+IY+9rCzCud4PL0xPdzNRSxupEz/vNLhnm7JeSfbAo0B8Yi2QCw jnplfUaUyGjDci/zMLqnBzOaRt8kzmUEOJGuDemi3IWVxwYw6j9TRyQBth7DpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WZvi7ix2xDPKOyrWV2kEVPKp5626/tn5UWHTaGwV5qY=; b=LBl5s9ZGzjx9CUZaftNokywwZz/KIk/7RekKOI3yXB5Aj9sZXRpIgOU3W0SYQaKPQSCVZT UzBXuCkT5Ekr0gmG7dKfkT9GIrh3pmYBnmhW2bya8dPB6ye/qgHcufKEj38fTrWYInE2IR tlZoXBMe5Gji67GYqFrLS3gsPuH55hNDbRhprj19nfgsPDh7is2re6fErmQ+XSo777jBke ojupa8EImSjSLVvRlUTMB5amnlILMLaHKMks8X6Rst4iUYGwFB4Y8vSiTey/NOjNbqqmC3 FL8PJXteH16Dek2gmznKUnyk4YePb8gSgEfvJjcKLz4T6q3ykzVNlN8OD9KnbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0w4vFMz12d5 for ; Thu, 04 Jun 2026 14:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ca57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: d3c855f40fc2 - stable/14 - fts: Improve the description of FTS_NOSTAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d3c855f40fc294874c93e25d89af096aef04c6e5 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:48 +0000 Message-Id: <6a218e70.3ca57.696a08b2@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d3c855f40fc294874c93e25d89af096aef04c6e5 commit d3c855f40fc294874c93e25d89af096aef04c6e5 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 17:45:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:28 +0000 fts: Improve the description of FTS_NOSTAT Note that we still need to stat directories and the roots. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57325 (cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041) --- lib/libc/gen/fts.3 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index b3e82a7200e4..9c249480b18a 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -27,7 +27,7 @@ .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" -.Dd October 6, 2025 +.Dd May 29, 2026 .Dt FTS 3 .Os .Sh NAME @@ -477,6 +477,13 @@ field to and leave the contents of the .Fa statp field undefined. +The roots and any directories encountered during traversal +.Po +.Dv FTS_D , +.Dv FTS_DC , +.Dv FTS_DP +.Pc +are still fully populated. .It Dv FTS_PHYSICAL This option causes the .Nm From nobody Thu Jun 4 14:40:51 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS102qj1z6gQ2K for ; Thu, 04 Jun 2026 14:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS100sVqz3qym for ; Thu, 04 Jun 2026 14:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qR2ZW97JF6QosM4sJZR7V58zFLIMcRGMeqOYpLexsu8=; b=XgI9mX9ndfwxDEq7bwAK+PJRx3qdrT0Ea9TIsbqjw/Y9pRxdW39WEvn2oIDt79vU50BnQp PVi9TcLmfo8nJ6+nj1FlBP2CRR6WeyyMEfaKEfhA7z+YV4c3gSCKKxNTbIVuE/Ifl+teBr QyqfsR5a9KRkEhwaRc3JfAsToFb4tITlpfmunRjr/t7gNnI1+DZFP1pD2CxkdKqbLigfUl c8/4Rij3bwVKV1BJK2Z3zMpg5SFum2XWkskkLrMQylPNERFk02Tl7tCotHTwP7ugXAcF0H m9IvcXcsugbZ17fLhFmbBj8HSWKi/p4Z30z1BYvI48tXdmwxDKt/FKLoZ/B5KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584052; a=rsa-sha256; cv=none; b=gmxN23Uv2vcKxaj8EXYlsFLI7IutceyhmSCjcIMTjzP3r03sa8oa00sbbOkPjK9T190wl2 PEreWIlb9Brn+2h4Oc2dyywliyixjC2J5KdsgZgxo4QQjkvQV79XDbDizqged5F7PrxAKf qBp22d9RLynivdhpg41Z6oCp1m8OYV8MLOYElBJ8Hq8ZueUsjRoFpHORRcBQsBh/CxkG0y 8/v6dJLOGUr01GgLftYM80kiAtfJ6cRRrILDCv1wHfyK9pJKc00fAKHyv5PJuFkSHEkhhV xX9Sut5g0nvHiOyPoRuAJiXTS+AADIaXt0RHtN7N6wOCg5imN0xlPCa2eH9MNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qR2ZW97JF6QosM4sJZR7V58zFLIMcRGMeqOYpLexsu8=; b=TIkVtFSUZzaEcfte4+ySKBf2BKgDZ35nYLmOp7BlhqQZM54Gygv28HWCa2EpGJaAwlO8hU kMvaYBiPXA1ifcA3VrWNWjxVJlftdusHE1NgWT6QBWbhABcPDIJmnwCfuJ9tbtIpKafS/d kFCA6YVTaa3Q9Fa3Abbefx696iBhP2X6RV5GO9qiEVbOokgRXNJQLmcX98xbMjPexBgqBP V6W4ip8q8Tib2S5YrYPGoT9OaUGifg8nhbQoaU/gx4hreQD8qPr3wWABZHH70O2xJpAWAo 7mcBtiFdHFJGLJOnHBT6FOrX3hPeWP65TGL6/S8Nk4hxgQEEazSU5/Yh0vTIBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0z6zsFz12qc for ; Thu, 04 Jun 2026 14:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b42b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: c435622e6704 - stable/14 - sh: Fix pipebuf limit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c435622e67045f622c778fc87b19739ed60d7c1a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:51 +0000 Message-Id: <6a218e73.3b42b.68d36869@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c435622e67045f622c778fc87b19739ed60d7c1a commit c435622e67045f622c778fc87b19739ed60d7c1a Author: Dag-Erling Smørgrav AuthorDate: 2026-06-01 08:51:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 sh: Fix pipebuf limit Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: 5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352 (cherry picked from commit dfd2273d27627313f944650840381e878077e825) --- bin/sh/miscbltin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index 70b2aac58e93..819c713bdb46 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -522,7 +522,7 @@ static const struct limits limits[] = { { "umtx shared locks", (char *)0, RLIMIT_UMTXP, 1, 'o' }, #endif #ifdef RLIMIT_PIPEBUF - { "pipebuf", (char *)0, RLIMIT_PIPEBUF, 1024, 'y' }, + { "pipebuf", "kbytes", RLIMIT_PIPEBUF, 1024, 'y' }, #endif { (char *) 0, (char *)0, 0, 0, '\0' } }; From nobody Thu Jun 4 14:40:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0z1TNxz6gQFX for ; Thu, 04 Jun 2026 14:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS0y6nR6z3qTY for ; Thu, 04 Jun 2026 14:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Uxfd+lCs9HvLmtCDpkWKxO4VCmzs3aDBuin69y0ZXk=; b=bj3QDtDww+exeHbTM0Nbj3Lba/uzIYlBWf6WG5R0qQkng+hHUr692I31KbXnsSQZimK0dt OzHt3lSVwpWomZaJQLujoBKBAvAqt3qt1I7XuKX03NAsNxgqhg3rlwgHXpnqSkup8zaZeF ewSHRjNIIVZ0kM9AgfqXgDnBvpyxA1puNK9lMAvjDt3ygu/7HEqkd6MsWggMAei+QQlQSe 8tGhOVV5TOxYd4PX/vdOQKQdlwg+62oo1wFjIVzD9N5sjV7+gLXqAvpDF2HhUAQUEkGu9+ 8B154PSgHTCNilhBWFiWWr4t6ArBpRONecyFrOqdEiXh/m92qMtl1Etcd0/iQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584051; a=rsa-sha256; cv=none; b=smzEoBtx7MET6b+MoxPL7kO4qqj1kcjrzyWcmSa+Z+F56vDwO8edQJNTqW5DyoG4okhmPo B7BjK+bGvSi7O+FipaNjHFEIZdy2eQaLGbl5rjSyGfyTWOcZLfRVKV93lAx35cxU2bef/7 pRm5yqqeRNDgkGys3gkTHgtNYYxNqZSL7RwDxxikFwDNsA9/nCEFL+gVN93IQrm2Nwl/rW nSCGorOmMUJy7Td4RQxcn46JLOKXytbCFrxo3etb4V2LoD14TY8t/EKT8MikhlzHgUxvAo QBpZaHliESL/OXy+2RnNjs374m824jnT4bxjFbHa8OPcffO3eB+TA+3thK5oQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8Uxfd+lCs9HvLmtCDpkWKxO4VCmzs3aDBuin69y0ZXk=; b=GwklLtP8QPwK9exOl4q9Lk9u6fzY2TK/LXXKG4ECqE8cmQxwXF45LvbJ9vQVHtwFnCWpSA ijnskrvZiqwJ8+1ANBZYGJeQfJbQdrudBBnrYZo3FsepsObEw3CziZ5zzdF0Mm6vv6xh8X lNbtEapIsI0Tqbp0Bzw91eDpfdJ47CTliebEUCMrJ7/Eu+QO4DDqc1nAqaSijJnB47SjNZ ZVMOgPMdim1tFRAbwQ1lQCOewEnbnsQx5TJA6bNLzy37drUWJ9dD5dAVh7wSSxwsz8PsDe 4/EEhFLjjot+1pm+z6hCXnY/44d7+c0XxRVadj6F+UoGO2GwvFNzsfBCTMP9kA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS0y6NNXz12sk for ; Thu, 04 Jun 2026 14:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c39d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 34fc5ccbc553 - stable/14 - login_class: Fix kqueues, pipebuf resource types List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 34fc5ccbc5534290dd874ea4bb50fac428621193 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:50 +0000 Message-Id: <6a218e72.3c39d.36c4a085@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=34fc5ccbc5534290dd874ea4bb50fac428621193 commit 34fc5ccbc5534290dd874ea4bb50fac428621193 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-29 22:06:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 login_class: Fix kqueues, pipebuf resource types * kqueues is a count but is listed as a size * pipebuf is a size but is listed as a count PR: 295623 MFC after: 1 week Fixes: a4c04958f526 ("libutil: support RLIMIT_PIPEBUF") Fixes: 85a0ddfd0b26 ("Add a resource limit for the total...") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57333 (cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0) --- lib/libutil/login_class.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c index db0218f94371..31db5574dfa5 100644 --- a/lib/libutil/login_class.c +++ b/lib/libutil/login_class.c @@ -64,9 +64,9 @@ static struct login_res { { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, - { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "kqueues", login_getcapnum, RLIMIT_KQUEUES }, { "umtxp", login_getcapnum, RLIMIT_UMTXP }, - { "pipebuf", login_getcapnum, RLIMIT_PIPEBUF }, + { "pipebuf", login_getcapsize, RLIMIT_PIPEBUF }, { NULL, 0, 0 } }; From nobody Thu Jun 4 14:40:53 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWS115ZZcz6gQ2P for ; Thu, 04 Jun 2026 14:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWS111Lwgz3qjN for ; Thu, 04 Jun 2026 14:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJJre5bU/Kf8tluuCoW5qX2sREaD+MswDirCViRM95s=; b=BfMMUZURHUma6LypLONoj05h7cgIl3EvoeTMtIZxEfc4Yff9ghgvqnhwlPSQ3NN7iVacPq hN4M9xnWpRMM26DGkD10zoGfa7RoQdusaWMILzpBa+EIDaqnXXmyEsfauyuumkuy2ClBqb GfmXFrdNe/p4j7vMRJxdz0wTMmTHXje76dPBoq3BOPl8gLluHy3VAaDNFGiEVmzVyXBcPG j2IDex3BfglKSiXNHU1sfQd95kaDvFpKpO913xyYWbfaAgMMZ7xIBFnmz8yBpalqAIYMyu WAjdOOyvQbb0kdMj6UXguYgPV8ldtiYROHWmgw1Lz6+DtFAKxGBDeoiNVUEpZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780584053; a=rsa-sha256; cv=none; b=oUiv3WFn9jGcwzxp5MdZ6BnWShjMb54Zjz+7ecylwlMO5a1Bcv/IDVjW7WFrFet9WQ3N34 iaj43TUQrHeJmMCU0lcXdWzpxYSh0xumZnjpBQXN5WcQ11LGOtWs+jPLOk+7bwSCYzTUu9 0Llf0aY0uqRjJ46CnnsPJaC8xFPiVsWjdUdPTrbflXHEUozEF7vbLXgllra/bmY5D45S+2 dKEwb7w/589QS3OVgLDtNi5yMf+aZSPmlHJUsVhwW3O8yEQ6Wyy5Ew04R+Mt/6HQxYua6r iquiRTpYYt0railI2eoAlvLtDnIvIj8eFpAo+vobP8InVfZVrQoltx5iqu8edQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780584053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJJre5bU/Kf8tluuCoW5qX2sREaD+MswDirCViRM95s=; b=IQpq+So4mAgXLHIAYbLDGz7k2MgHwxuHOXFlNojCcUepcXK4eTxlLaJys6RM3/V57z47sr 8KYQ1nD6VaA+f9nTNXhmj7SmLwwPl3kuDBenxEMtTXDAmuAiiJjwNXrAcyLHvYIK8J2fE5 c/mFManRbgCjgbjDUGmfEqr7O7L8PQl70GSQR8TfQNSt9x2mPEgOIygyTBr2zeC/GCeteP z7td9BWH3FwN73RMpVLcwTtxMzlikraimqeaxjSHEf5kxpr/TLTQkGNLwD+mlVlhObSMj/ VKmTnesYl4lDeIs72qK/NniRMvpp5/CotdKttVb8CVJD9d0bi5fmYEMw32gp6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWS110t0Dz12ld for ; Thu, 04 Jun 2026 14:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b8b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 14:40:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8bbe1d5422bc - stable/14 - ObsoleteFiles: Add some ancient locale symlinks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8bbe1d5422bc04e870482de6a0c05e769a106b1a Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 14:40:53 +0000 Message-Id: <6a218e75.3b8b1.ee2da34@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8bbe1d5422bc04e870482de6a0c05e769a106b1a commit 8bbe1d5422bc04e870482de6a0c05e769a106b1a Author: Dag-Erling Smørgrav AuthorDate: 2026-06-02 08:36:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-04 14:40:29 +0000 ObsoleteFiles: Add some ancient locale symlinks These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: 295668 MFC after: 1 week Fixes: 0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331 (cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756) --- ObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 1540f7d00246..fdc4f8b7bad2 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20260602: Removed by 0a36787e4c1f on 20210723 +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC + # 20260430: Provide stdint.h macros unconditionally OLD_FILES+=usr/include/c++/v1/stdint.h From nobody Fri Jun 5 19:28:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXBLZ3XY4z6gNPP for ; Fri, 05 Jun 2026 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXBLZ2B9Bz3D1D for ; Fri, 05 Jun 2026 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780687718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMirtrn5ygJJvjSI9C1UpvYrXJW8UWJKsa8kNDQU82E=; b=YosZJhtuad/0xhV+Owb6GYBzVKSjhNF3sdKL8Ksk/dsFDJG3RMZhcb0uYin9HhUol0PXpb wmpeMGWQvTVnHDiKXZWbL2DJ0/Kg35MG+Re31x/qOBFa0lI/LD4KQ+seLkBWUmlqpJexpV TPbdHvK7zeBygvytUH3/QJy6mqeZgtEfEmTV8HGCIAxFSCdWe9RuVyT1Ov+W0AbDevmbwx BUrbH5wtANgVrQloEEvdUfcQOCuxNDNslh0iW5ZZ6UzXjr/+o3Sz38L+hhwvXAQHHLvXQ1 twcFBGtA7W/FEH9A2QQEOMIoHWL3/NTL9lLNacNdtjzjsWMlGFagEsxg1MtcBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780687718; a=rsa-sha256; cv=none; b=TSnojwjLkm/BHUfxRDbv+Nu2IjNk5n/Ukj8Xr5L/HiESmiR2hnPVp7iNZBapvZtO2ai4oA qdrEiY7FxjpDUjgoDY8q3d/oISVVqNulO2s7IprrNOzsVAKtytNjADGr13FxXxuEQRaRId cx+Kn1aX7j3XvPwf/yaf8OrxeILKtUoc9UPghSXbrzc67tx51jj5wyjWPF0RT1OTnsy4CY vzxoF93Vb4EfbWM4Twq1VPFnDobhW6XBuD3RsT6QrXWsKcMxNQeDT5FvGAuQt08XRcMfVh cFMiCVKCF69bEDnUSaEwiPdIkZJ0GFliSiiR3xLOt1KqC4zBhvCo9a47ghmj7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780687718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMirtrn5ygJJvjSI9C1UpvYrXJW8UWJKsa8kNDQU82E=; b=VzTOTUKsDamKzsKIQQY5YvYSvbdCiERXFtU7DiFJLg3g9+nL5cuIis5dRwPA8a/cG/NMX5 6JpQgMXEdDFqKXcsD4SqF361BWkjjBMSuq6UrleYH9XkSeiTsxi+bt3qmsVCV+MCRWy9ct DGe+7VfsZ6K+DnRbVuc197Wur/+gGxYAH4zF4Dcny2Cgy2fNBnV5Ao2pSB5zqwvBFzXyEN e4Ma0c2DFfNYoKAlPcVsL2CtJS3phd+78R5GQpwkcOuAmIfHhWq3W5PZfYkFV9zwjArJbl KSyWyQAKDlBSqdXdJppqcG0qNQOlTjS3+FMXvDwVR0Uq8m4/2PYav2wnWGO5/g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXBLZ1lfxzk9q for ; Fri, 05 Jun 2026 19:28:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33569 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 19:28:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: ab599e44dba3 - stable/15 - netlink: Fix lock leak in nl_find_nhop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ab599e44dba31d7b002aed8c71242e06d992b21a Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 19:28:32 +0000 Message-Id: <6a232360.33569.6c8af2b3@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ab599e44dba31d7b002aed8c71242e06d992b21a commit ab599e44dba31d7b002aed8c71242e06d992b21a Author: Ed Maste AuthorDate: 2026-05-21 21:14:41 +0000 Commit: Ed Maste CommitDate: 2026-06-05 19:28:06 +0000 netlink: Fix lock leak in nl_find_nhop Reviewed by: bz, pouria Fixes: 7e5bf68495cc ("netlink: add netlink support") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57156 (cherry picked from commit d66fec481bfd65cbabb6c12a410d76843e76083e) --- sys/netlink/route/nexthop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 30aa3dd72534..8f3ebc123600 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -174,7 +174,7 @@ nl_find_nhop(uint32_t fibnum, int family, uint32_t uidx, CHT_SLIST_FIND_BYOBJ(&ctl->un_head, unhop, &key, unhop); if (unhop != NULL) { struct nhop_object *nh = unhop->un_nhop; - UN_RLOCK(ctl); + UN_RUNLOCK(ctl); *perror = 0; nhop_ref_any(nh); return (nh); From nobody Fri Jun 5 19:38:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXBYZ6dp7z6gPBc for ; Fri, 05 Jun 2026 19:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXBYZ5vyfz3DNC for ; Fri, 05 Jun 2026 19:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780688290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dV20vK4+b4E+E2TvvCRhfSMPitGkT9z43XTi4KSbrkc=; b=uGgCGeh7rEGqq2fNlzeRr2NfBYpWgXuXmZT7aIwZwNbQoqhW3WCigSyQT/eaH9U8tCaKfl 8MzffqjdZEBUDtXmDF4iDRZY6esKATGIn96U0sQggbcYGUa+v1YCsWyfamO/EGiP2HudD5 UmCZBUQad5PPGqHDBZHt3aWYT4zoIv66/e7blae+8V6ORkuJ3NaUZFBdMCEKRcWo39zscy tJuw81KXMYLCNVsSrVtulcOP/0XddgDOzApWsm/eyWQK8gVllIxVtERoyWRhGEtrPpkK1K VG0g1zKekm6XvWvkzPDZvcaqJIU4LU45/qLavx0vxmCjWJcdSKc/HyOJD+31FA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780688290; a=rsa-sha256; cv=none; b=w1LpRcPZdZkOInMfxRWUee1nZUNr9oAK7Lq9AR8BUuXu3cNFjVIDQElRM3IKCH1caBpdcE Q09+7r6KNR7g+o5MTaYzweeKn0MEMN6xGx7syP4J56loVsm+JZEBFuYRV5BjRUg6chfZf6 oHzByAYg7u1gbaLgxBcluJPUFf9wjsOq4Gxr5ONuVXCIGWpvrw4yEl7Y1vjmpD05WtlOKg 7qEZMjF1rfg1paUM24aOWIJ6Lw0lwIfd5+qqitiBTaKQZM+BI5ONmJZPKRMQrsHYhy+QzE w7N8wxyn6dgBzRhALU+iiMKopVus6Zha5Yo3UuXQRJXkm9yqrWHWGH7SQVVKHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780688290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dV20vK4+b4E+E2TvvCRhfSMPitGkT9z43XTi4KSbrkc=; b=I0ImoopxP+Ps8auiGEayAOyzXQhUMQ7lCWTKmi8NL83hl0mE0B/AJdIAlMW4ZRqaeHKdjW TzO4MNHD953jW5c9508EQOcu6SClxkpMf24q+xYyldnASje50JWILF4VmSjBNv7/hEoKR7 HgqStgQDT577A4RWKJAtyu2lw7ctSvhFduMOE2dxu5vp4z19w3niYScU6+YS0iFyPkOcEZ 8jL+pKDGTYU5EG1yg6si/pHJQKbsyNApJEx7H3EBGtb2TExtZpHjsjRJ/qviI9Lj7+niz3 lc8XjI8KYmWhJ8FKjdkRacA4hMUmsxCkMnoTfDI5dD34fg29T5UR7kbdtNlfHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXBYZ5FqvzkSl for ; Fri, 05 Jun 2026 19:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33b03 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 19:38:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 28833ade34e4 - stable/14 - netlink: Fix lock leak in nl_find_nhop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 28833ade34e4eabbbbf985217e552ac589fb9329 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 19:38:10 +0000 Message-Id: <6a2325a2.33b03.1c2a5a7@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=28833ade34e4eabbbbf985217e552ac589fb9329 commit 28833ade34e4eabbbbf985217e552ac589fb9329 Author: Ed Maste AuthorDate: 2026-05-21 21:14:41 +0000 Commit: Ed Maste CommitDate: 2026-06-05 19:37:58 +0000 netlink: Fix lock leak in nl_find_nhop Reviewed by: bz, pouria Fixes: 7e5bf68495cc ("netlink: add netlink support") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57156 (cherry picked from commit d66fec481bfd65cbabb6c12a410d76843e76083e) (cherry picked from commit ab599e44dba31d7b002aed8c71242e06d992b21a) --- sys/netlink/route/nexthop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 0d6bb5c9ec84..e7f08f2f8f3a 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -174,7 +174,7 @@ nl_find_nhop(uint32_t fibnum, int family, uint32_t uidx, CHT_SLIST_FIND_BYOBJ(&ctl->un_head, unhop, &key, unhop); if (unhop != NULL) { struct nhop_object *nh = unhop->un_nhop; - UN_RLOCK(ctl); + UN_RUNLOCK(ctl); *perror = 0; nhop_ref_any(nh); return (nh); From nobody Fri Jun 5 22:39:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXGZc4wh7z6gfxv for ; Fri, 05 Jun 2026 22:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXGZc3YkXz3Zn2 for ; Fri, 05 Jun 2026 22:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780699160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7J1DRXP9/qhaZbeOgLaNhCXiZFd/FJJlx6+iuD2ibk=; b=ZralAV6EQD+tHtWjWpSlYmivJHVVMZIdreAaHuyROc4gq+9cY2oGAHaIPKPpWpR35aJaW4 7csEdrwLVOvoxkuPdR1YzrUxbFv8kxeSbT9WbYbT13ljgYzkymmY13TbSB4AmTzQij05V6 Cb0BOuivitZ9aWhfgFuVB4PbdnQnO5PdN5bf8iKCeVVsEDpxIRvZaCamZZtjW8ZHXnD4nB AZFncgy+JrH7Lb74ymwSmOANwPCcd7G+BaDhQLzmMC3CgdG8/Nmr6+P0UFotZH4hd6F+EO Ys/CEhUa+58Z7jZbIjusIJaDaD6VuVCXTUefuX1I6z922W3Pdq1drGx4RQHiJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780699160; a=rsa-sha256; cv=none; b=AcdkUhvNwZZrI1RlQNtNIj7pPLlR9nk4w5YQ7oNUtVUP9OumrceNtHn9hSx3yFfNDUAl59 UkX8i4tissAmb1f0AoC0Bd3Y/dmyGs46YSC2NdxjDkVkUIMGcQETy8V59Ui7n6pQGhKh4i DwJwbRKG1OS46/k+KdjlcecPF+ahRalZo09850gotA7p2aNNOZ6v6EMjHRb8NbMMtGSloU tz04P4RMCrtdrADzIcoh6XSF1A83BsEZmYfzAp2dUAPOoOV8Bm2s+dLcY6RGWvlvTpcGDA 9X71St7rVnVmMzK/BpAtibp9gg6WfWsfANtSJbOieeoaEISZxCfPSniuIg82TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780699160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7J1DRXP9/qhaZbeOgLaNhCXiZFd/FJJlx6+iuD2ibk=; b=Tq+/2GSTI1IUsHVU4MDB8X7M8uH2qgYLpMNHbBhd0HT02JG9/RzJvE/d+Kgtgi6h1791DF gwPdh0JkBkanJnUUGqbgX/lTUvScEJZ699dGW7sswzgpicpTnNUTB/Jbi6+I/JDs/8l1vZ cmqSWORx/L81Fptr/MPGLcR5dWQsJgzitD0u2rXNOrK0IwzZGvK1c6BlqRprWAn5Icg7I8 zV0BaR9N4ZJ2+wJoIvqcGyJEceO67gL9HdBhzkw2McVoeCzJ9zKm16QKdELYNdImn5dKhU ablvB1nmKD76sqF1mE158QF0ZKZw92pzMTHm/4UwEftkvIqVgC7xmgf9c0vrFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXGZc2rXMzpxm for ; Fri, 05 Jun 2026 22:39:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fa13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 05 Jun 2026 22:39:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Konstantin Belousov From: Colin Percival Subject: git: e27261d80594 - releng/15.1 - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: e27261d80594f32eefb7562989a4836cb81ba262 Auto-Submitted: auto-generated Date: Fri, 05 Jun 2026 22:39:15 +0000 Message-Id: <6a235013.1fa13.1a3a69f@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e27261d80594f32eefb7562989a4836cb81ba262 commit e27261d80594f32eefb7562989a4836cb81ba262 Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Colin Percival CommitDate: 2026-06-05 22:38:47 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() Approved by: re (cperciva) PR: 294630 (cherry picked from commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a) (cherry picked from commit c6ccef4a32b4e09927dfdcc0f734af25c6193f5a) --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 72133de211f8..613a7b03489f 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -361,18 +361,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -405,7 +407,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -440,14 +442,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len); From nobody Sat Jun 6 01:26:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXLHj6TCbz6gtMG for ; Sat, 06 Jun 2026 01:26:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXLHj3STxz3sys for ; Sat, 06 Jun 2026 01:26:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780709201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STB0Yr8TzLz8sFsiPJCI8IjAxhb8FmfCNAlRI5xxuCM=; b=FSLWHjIxU0OMtgEhZotA/ajOHa6hJZHT/APlnowARIFWOrPKjmS7/9/lLWAEDbrDJojJqq ZbyEyfGL/KlFMsX5rEkYKgBsUYSHPRujSXvX6n5en6tSHwpcp6nNAmR0MpjNl42Dp3e7Tc ooko7qJHH2pDnRXa7oW0/BoohKc+XI4zN/F6J1WN+U9QBSnAvT7ki+VWp9n7sLMdarfK4L aw9jVreY/+OppmZc/t7CjjZFWEnCLuFnrZs4VGfxMEVGF/X1b3TwR94JQKZHAxKipjI/G3 c2bcLiC944I9SrwZpKXn7pXFYqKqSkQ+ICJD4FzKk6oqxnY8HOJ7EjGYP4gvRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780709201; a=rsa-sha256; cv=none; b=Fd9zZw7X0H3VzCrsJ70fKmqzSTj4LXR88+bb4Rjt1V8lqVC+klHPY0Nvo5tmwzRAjKb8Cb R6PE37Cm+g14qMLUt2QyDin8IciAuTQImUC9raX68ehCKgPbY/U3TDyeHquTUUghuM74t8 BeDUslEJDsCiTgRssHuGfUdGPZWUafGth4IjGej0EmUQXr953hk2kqndcyRtKM8iBXrevi PfKdvxGYqhdH1Q+obAhTNVKhk4qe59FmhTyNQjcpT2suiPdkK0pH87260C/DBB+Pl/EKnU b8JLEpMNo88h1qHteYSy1KsFTSfS01atWLZ9bIAWsDo66ZN3WoxqZe96xJe9bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780709201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STB0Yr8TzLz8sFsiPJCI8IjAxhb8FmfCNAlRI5xxuCM=; b=r4BJfKOR6LK8wQzWPKeL6wbiHNkgREmm+l6BC+Zlk70vE8O2FqXurctkXoxU7DkaZ3S/Bj ZuaHMcZZHF6t9OdVX7hvt3nQwHCjxAYqJzj7JRs4BJGhQCcPSA49+8IOmi6ZyS744r28qP D/h5c0TN1qupBJ8O/0AHWSvcI0Sn1fgYMF5SXV5Jh43892YtJDkkg3kg8dMBTIM8DSlHtP FzvGaUvWvtqWgNtNeWWXNvM9l6osmiBth/8KqhBU+wdKXyPraxAAUqTD+wWvwGsxDHMyul RaBGQLQ+qbXEJSh8X48dAAqa0xE5h55Uj99ZNDhmSTIXwuztlFp8rGCqcZDefg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXLHj30K7zvRj for ; Sat, 06 Jun 2026 01:26:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38daf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 01:26:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 95632c90ba32 - stable/15 - loader.efi: Fix when staging moves late List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 95632c90ba32a55ec39a14ad7224a21d1c62c096 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 01:26:41 +0000 Message-Id: <6a237751.38daf.555170e5@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=95632c90ba32a55ec39a14ad7224a21d1c62c096 commit 95632c90ba32a55ec39a14ad7224a21d1c62c096 Author: Warner Losh AuthorDate: 2026-06-05 05:18:40 +0000 Commit: Warner Losh CommitDate: 2026-06-06 01:25:13 +0000 loader.efi: Fix when staging moves late Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. PR: 294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462 (cherry picked from commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 51 ++++++++++++++----------- stand/efi/loader/arch/i386/elf64_freebsd.c | 58 +++++++++++++++++------------ stand/efi/loader/bootinfo.c | 18 ++++++++- 3 files changed, 81 insertions(+), 46 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 35bd4d6c1419..62716d7b1369 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -89,7 +89,7 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - bool copy_auto; + bool copy_auto, needs_pt4; copy_auto = copy_staging == COPY_STAGING_AUTO; if (copy_auto) @@ -156,6 +156,7 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, @@ -167,7 +168,35 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p\n", + copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { bzero(PT4, 9 * EFI_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -204,26 +233,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf("staging %#lx (%scopying) tramp %p PT4 %p\n", - staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", - trampoline, PT4); - printf("Start @ 0x%lx ...\n", ehdr->e_entry); - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - if (copy_auto) - copy_staging = COPY_STAGING_AUTO; - return (err); - } - trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 22cdd685ea9b..f3f8c91e0275 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -99,6 +99,7 @@ elf64_exec(struct preloaded_file *fp) struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; + bool needs_pt4; switch (copy_staging) { case COPY_STAGING_ENABLE: @@ -199,10 +200,8 @@ elf64_exec(struct preloaded_file *fp) */ PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { - pdpt_entry_t *PT3_l, *PT3_u; - pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; - err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { @@ -213,6 +212,38 @@ elf64_exec(struct preloaded_file *fp) } PT4 = (pml4_entry_t *)(uintptr_t)ptr; + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p GDT %p\n" + "Start @ %#llx ...\n", + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, + ehdr->e_entry + ); + + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; PT2_l0 = &PT3_u[512]; @@ -245,27 +276,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf( - "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" - "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, - ehdr->e_entry - ); - - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - return (err); - } - trampoline(trampstack, type == AllocateMaxAddress ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, gdtr, ehdr->e_entry); diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 78f94e0aa9b2..fe8c4f5e609a 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -210,6 +210,16 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) } #endif +#if defined(__amd64__) || defined(__i386__) + /* + * Staging can't move after this point, so report the final value before + * we try to exit boot services below. The metadata added is added to + * the malloced arena that we setup when we started and doesn't interact + * with boot services. + */ + printf("staging %#jx\n", (uintmax_t)staging); +#endif + do_vmap = true; efi_novmap = getenv("efi_disable_vmap"); if (efi_novmap != NULL) @@ -299,14 +309,20 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) * loader.conf(5). By default we will setup the virtual * map entries. */ - if (do_vmap) efi_do_vmap(mm, sz, dsz, mmver); + + /* + * Add the memory map to the metadata. addmetadata copies the data into + * the malloc arena, so we can safely free the memory map pages after. + * Or could if boot services was still running. + */ efihdr->memory_size = sz; efihdr->descriptor_size = dsz; efihdr->descriptor_version = mmver; file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, efihdr); + /* BS->FreePages(addr, pages); */ return (0); } From nobody Sat Jun 6 02:24:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZQ0rs1z6gyF5 for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZQ09syz401c for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S0lVctWpeNMm2r1op4+jWiv2aCwblSoraFLuINdNRmw=; b=TwY5fmDPdUpvv4ikykgYsyeWUKITsTvvpPwy+w92tURU/dcV3Wz0GnfiT3fErtOFiDxslP ++yQjGyyP6GK/wTDbQYB7B4cC7RrdPwbJAr7xkyNfQqmYHwiF6+PENau+VgtZuGNzuXkhQ Dl9KlaAsMBm1Rh45WHEv10IWx1muwbTZY9YljMxu/XdZKs1OorZVlAxb45PUsEliThlOKx Ocfmpw+FLbZVbcK8wXulwpxp07Dzr87bLMibwBR6CXJ+9CQLptWb2LrFB9hm/lyjzBM3hL D3w0CoFrEqip+UXlYKGTqtyGoJDwFFApvASPJ3drh8O3b0AL1n+GXUP8c2LmOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712670; a=rsa-sha256; cv=none; b=aO8bOhaNV5nwo7rLbeFowaBIr8aar76HqtPgapyo7gix6i1lGGwAcMRHyYDGhHPgNUccAi YBM3eI0gCMLmhMUzmW2x6XshUSgHeGPC6Vt6LNZLzqRlWV2X9CeRS9BOhFuEzrT8H3qmMm lfGwZRToMzWFqfqgrFK0EZjY+6FCczIdnx9ejYhlX9gsLUXJFhWpy9sShB9bNbYhf0aTGF O6/AAl/7FTbVdKSOGN/L21/Mz+6nmieOxsSzcvS3t7C0lrEmeHnRJylVYPgnzzOHEkkRt8 Wir3htokuBYiPfrDCxIRNdFmxRf7XxXqeFXd2k3ArOImax1wESxfuops4nodOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S0lVctWpeNMm2r1op4+jWiv2aCwblSoraFLuINdNRmw=; b=TIbKwY40xxEM+Otc8d4fRrUWGVlVkyoMhAx3e0jyavQawlpBqPEdi5MUvSlkSvsg7RqQYA 5snwPkOblbr35hKhjNMvHpRcIzHoMHkxRPFd3YZIYH2ijGx0hUZfWwCjaHojwuU/pq4Gw2 6p3SL3N4/iIafTeTCnmTU+TtpbJo+xW1bZKSLiwrSVLsJRrOgJLVXSt7up3M1Nz1XVKcuM GBIbUyGb0kHB3RX5uQbVc+10Ev8lJzf+Ik2cvkXF69H+wO4FgdMWYMn3yxJhqACLAz4fPO DYlOTtgLSI0DzuO3Zl1J8qBbsMv6UPu0ey18JU5a7+FK1YDq4cKa4h6CJfGGrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZP60kKzx5r for ; Sat, 06 Jun 2026 02:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa31 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jose Luis Duran From: Colin Percival Subject: git: dd2e9aa21a45 - releng/15.1 - bsdinstall: script: Fix scripted DISTRIBUTIONS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: dd2e9aa21a45f746a57d386bb315d58590e3d716 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:29 +0000 Message-Id: <6a2384dd.3fa31.53e33d2@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=dd2e9aa21a45f746a57d386bb315d58590e3d716 commit dd2e9aa21a45f746a57d386bb315d58590e3d716 Author: Jose Luis Duran AuthorDate: 2026-05-29 02:09:49 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:22:28 +0000 bsdinstall: script: Fix scripted DISTRIBUTIONS Restore exporting DISTRIBUTIONS to make it available to other scripts. Approved by: re (cperciva) Reviewed by: imp, asomers Fixes: dc14ae4217a0 ("bsdinstall: do pkgbase installations with the "script" command") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D57319 (cherry picked from commit 283959bbe0863917c4fc3200a92d1055a4c89bdc) (cherry picked from commit 0e3c9cbee4ac735b7c19f3cb719b65f960be0b23) --- usr.sbin/bsdinstall/scripts/script | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/bsdinstall/scripts/script b/usr.sbin/bsdinstall/scripts/script index 93d07c7899c3..4c792d80df6a 100755 --- a/usr.sbin/bsdinstall/scripts/script +++ b/usr.sbin/bsdinstall/scripts/script @@ -50,6 +50,7 @@ f_include $BSDCFG_SHARE/variable.subr ############################################################ GLOBALS : ${TMPDIR:="/tmp"} +: ${DISTRIBUTIONS=""}; export DISTRIBUTIONS # # Strings that should be moved to an i18n file and loaded with f_include_lang() From nobody Sat Jun 6 02:24:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZR0TZjz6gyTh for ; Sat, 06 Jun 2026 02:24:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZQ6JvXz3y4s for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aMOVJdp4om4+ZTCvsgkwbdcT33tLbvipZonSXxbVLlQ=; b=IbmB3QEJ32sV2VQBQYGEuHRUcTW6ZufnQht513FJ+fAIMfoB9/T8o8/RUm6LjHRmK7R0Gu zZjDVYnTI+o6ijCY3YyJhTEAk3cVBJ2rBIQI2Ef/56j9wo1Gxl5dZ4C/1W8E+TnuVZuRt3 HQNXQkRwSD1HzhYU3PIjOJ8zdyqcOXr14mZh3CXk/0ALRX3vBpE3OB24CgmXmp+eVlouQF EJuIhCOe2nal3XnfR6i+w90FM74jKZaur1Qe0gj2k5gaaJDIKhZaeR26cAEW8SAY7neIFD /ZTRek891n7DEG0+EImcQpz1cQoWig8S/tvdEguAo92KWRIGLs9nUnyTRnLMcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712670; a=rsa-sha256; cv=none; b=WpDO0Ua04INmwiauF+gu7c6Peq3ycB/RCiprZ4T54oqIaa/S5RlxZwS5Y4w9JWiz6CBKKt YQGhlT7oG4K6E+IRPsLceNnW9kvPLjFGEhW7IzF2IrL1BEzGKYK/W798jV0XkEt6P1WWka ufYJ39dwxwEOkA49/6Pwj8lFccJ4vv0MHGBBYEibTSy6rZeunguu/7duxY1c6SdbNU3pT5 qNJMHsJN+FnLROw9Di6gQn1b2O1iFwT2dDfRRbnHQfjDMkg9xl3h6d/MZtkvVZucl+b/5a 1uQ/GYcdChWLLes1w/U6ghk2w+jHWw5X/aQ/SWUwBNbfPRikoLEmSfvRYyi3Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aMOVJdp4om4+ZTCvsgkwbdcT33tLbvipZonSXxbVLlQ=; b=pMgSjE1l1FXPzoh1gD/PIhToObvEZ660WacTJm7VX6sCy2sDvCkpJFrm0NegW12piiHxLM GUj0JWnyEVZWQTUXnG0S63c5W138/OJiTeGFwd9vXzNchkLWDUphBrja9QNnL9ozQo0RQY lgH+eLmxSGj2tLjBhhuJBNyk2rWencQ5puZZ5SIIEPvpuGwGHQB6t5fAog2uZ690Nw4B8N 7j9Ex00yhGlv2Tqg/m/DyeNqbAu25yfqnzNSIDxsFZWNccf0fKcIDQWBmniOOIiRtVocVA IAYHffK7c9XyvIRkmSykZWoR/J4Nj89N0rWBDhpe3b3GjuoFOqDDQarkiaJZ/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZQ5pVkzx5s for ; Sat, 06 Jun 2026 02:24:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40033 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Warner Losh From: Colin Percival Subject: git: 56e59980b673 - releng/15.1 - loader.efi: Fix when staging moves late List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 56e59980b673affb82c8c5da9d4338e10d946acd Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:30 +0000 Message-Id: <6a2384de.40033.16eb29a3@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=56e59980b673affb82c8c5da9d4338e10d946acd commit 56e59980b673affb82c8c5da9d4338e10d946acd Author: Warner Losh AuthorDate: 2026-06-05 05:18:40 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:22:41 +0000 loader.efi: Fix when staging moves late Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. Approved by: re (cperciva) PR: 294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462 (cherry picked from commit 3915ffb1c3e04b26d1506bf35d3f665b2e25a915) (cherry picked from commit 95632c90ba32a55ec39a14ad7224a21d1c62c096) --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 51 ++++++++++++++----------- stand/efi/loader/arch/i386/elf64_freebsd.c | 58 +++++++++++++++++------------ stand/efi/loader/bootinfo.c | 18 ++++++++- 3 files changed, 81 insertions(+), 46 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 35bd4d6c1419..62716d7b1369 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -89,7 +89,7 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - bool copy_auto; + bool copy_auto, needs_pt4; copy_auto = copy_staging == COPY_STAGING_AUTO; if (copy_auto) @@ -156,6 +156,7 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, @@ -167,7 +168,35 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p\n", + copy_staging == COPY_STAGING_ENABLE ? "" : "not ", + trampoline, PT4); + printf("Start @ 0x%lx ...\n", ehdr->e_entry); + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + if (copy_auto) + copy_staging = COPY_STAGING_AUTO; + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { bzero(PT4, 9 * EFI_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -204,26 +233,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf("staging %#lx (%scopying) tramp %p PT4 %p\n", - staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", - trampoline, PT4); - printf("Start @ 0x%lx ...\n", ehdr->e_entry); - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - if (copy_auto) - copy_staging = COPY_STAGING_AUTO; - return (err); - } - trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 22cdd685ea9b..f3f8c91e0275 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -99,6 +99,7 @@ elf64_exec(struct preloaded_file *fp) struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; + bool needs_pt4; switch (copy_staging) { case COPY_STAGING_ENABLE: @@ -199,10 +200,8 @@ elf64_exec(struct preloaded_file *fp) */ PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } + needs_pt4 = false; } else { - pdpt_entry_t *PT3_l, *PT3_u; - pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; - err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { @@ -213,6 +212,38 @@ elf64_exec(struct preloaded_file *fp) } PT4 = (pml4_entry_t *)(uintptr_t)ptr; + needs_pt4 = true; + } + + printf("%scopying staging tramp %p PT4 %p GDT %p\n" + "Start @ %#llx ...\n", + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, + ehdr->e_entry + ); + + + /* + * we have to cleanup here because net_cleanup() doesn't work after + * we call ExitBootServices + */ + dev_cleanup(); + + efi_time_fini(); + err = bi_load(fp->f_args, &modulep, &kernend, true); + if (err != 0) { + efi_time_init(); + return (err); + } + + /* + * staging might move in bi_load because we automatiaclly move when we + * copy data in. At this point, staging can't move anymore, so create + * PT4 with the correct value. + */ + if (needs_pt4) { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; PT2_l0 = &PT3_u[512]; @@ -245,27 +276,6 @@ elf64_exec(struct preloaded_file *fp) } } - printf( - "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" - "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, - ehdr->e_entry - ); - - - /* - * we have to cleanup here because net_cleanup() doesn't work after - * we call ExitBootServices - */ - dev_cleanup(); - - efi_time_fini(); - err = bi_load(fp->f_args, &modulep, &kernend, true); - if (err != 0) { - efi_time_init(); - return (err); - } - trampoline(trampstack, type == AllocateMaxAddress ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, gdtr, ehdr->e_entry); diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 78f94e0aa9b2..fe8c4f5e609a 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -210,6 +210,16 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) } #endif +#if defined(__amd64__) || defined(__i386__) + /* + * Staging can't move after this point, so report the final value before + * we try to exit boot services below. The metadata added is added to + * the malloced arena that we setup when we started and doesn't interact + * with boot services. + */ + printf("staging %#jx\n", (uintmax_t)staging); +#endif + do_vmap = true; efi_novmap = getenv("efi_disable_vmap"); if (efi_novmap != NULL) @@ -299,14 +309,20 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) * loader.conf(5). By default we will setup the virtual * map entries. */ - if (do_vmap) efi_do_vmap(mm, sz, dsz, mmver); + + /* + * Add the memory map to the metadata. addmetadata copies the data into + * the malloc arena, so we can safely free the memory map pages after. + * Or could if boot services was still running. + */ efihdr->memory_size = sz; efihdr->descriptor_size = dsz; efihdr->descriptor_version = mmver; file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, efihdr); + /* BS->FreePages(addr, pages); */ return (0); } From nobody Sat Jun 6 02:24:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZS2rW5z6gycj for ; Sat, 06 Jun 2026 02:24:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMZR6gwmz4017 for ; Sat, 06 Jun 2026 02:24:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DXqP5XhtHC+EAzAr4YPcWvC1wIjtFhq8dwQFV8JDfcA=; b=TWgFi+clTdY05S6IPmpVaXdElyuQPcZOVEflWol+lKLoE4PvEQhVQB3xFe6sm7u91WeoSy YNxbdwO5iaTTQ7thTQ+Ubuc2U+q+7LzIE70j/U6E98rHNgsk1797c0vg/T7t71ksFT0Nux sPCqbJzVxDVjEO9zMn+Lf3YdqPzn90e0BgJyRiziJxlIC4hTFuWk6DzEv5Skx2CBxQzBKD he8RtBejE5AP4hrsfyAjAJwZtf/rAkNRIYyGlImM78MJQBQ1a6KuDVMWV1mDlc1l68DEq8 8FY9GqBSmtZRRVeLojTmXiDW8t9KsTiAY9K1Gj+N0E9l4TLCqbUpPmDEldAlYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780712672; a=rsa-sha256; cv=none; b=nlwn4gDzPeI5XHMR/TWkSwyzvdQ/PhIsjOCU1fm7M8K35CEpewF9xHuTQ8iOsHEq8N+5aP a/z0Kv80ixHon7Si0OgK4kuHZPYQ9f3Q7COyzlBW+8SSLDSCoTDNuIxFeIFPTdpoAsndiq yQX+94nQ1x059XUbAcCtD1L1BMBTcxyPo/cr4TFx4QXQJF3exVL7u6a6gNal13K7Lw6Xoc UgdZshWhMhEJ/p/p+OD1qoOVUiv8Kon+DZ3m+IAI7Ae0hBk/siYJTVApIgZs51t7iYcfcp 9SRfBieQ9Vi4hcrcwUPChrZi1bR6hsvNMk/1VNX+OkMd/3mN1UWfvMsfWAJpbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780712672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DXqP5XhtHC+EAzAr4YPcWvC1wIjtFhq8dwQFV8JDfcA=; b=wuB3fwAT0yQjbP540uzmERAl26rCZnm6o+iCTz5uk8IyAflo7mOJeEQfdcjHi3iPKzfdDr nTBgY4/9FijdQpQEm3tMZdtI2ZlImJhvLRrtZ0A2Q8LpwJOqyFu4HX/rU+4MTqbIFkZev6 H3aZYtOp81+/y+HGysMY2VvELSfLAs85jkxzY1EIaVk4UTkKceRGqXOlvvAzsVOJBs1Gq2 Vt+p/dgIUz3RrBbZ585vpxGeeMyvTA7HF87aiORCDfvAORRj83ubyscjx3sIjnjSWkAFJD 2de83WZilh09ZQ5ASRZy0qjiSu/MQ988sIbU/+4QNuDd094AgtQgXlF4ktIAQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXMZR6FSRzwdC for ; Sat, 06 Jun 2026 02:24:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa37 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 02:24:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 9263fb9bab26 - releng/15.1 - 15.1: Update to RC2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 9263fb9bab261980c57c38d55bd4d8f2e1746992 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 02:24:31 +0000 Message-Id: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9263fb9bab261980c57c38d55bd4d8f2e1746992 commit 9263fb9bab261980c57c38d55bd4d8f2e1746992 Author: Colin Percival AuthorDate: 2026-06-06 02:23:24 +0000 Commit: Colin Percival CommitDate: 2026-06-06 02:23:24 +0000 15.1: Update to RC2 Approved by: re (implicit) Sponsored by; OpenSats Initiative --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 8d43d168aace..17d6f240b2ca 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -51,7 +51,7 @@ TYPE="FreeBSD" REVISION="15.1" -BRANCH="RC2" +BRANCH="RC3" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Sat Jun 6 02:30:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXMjC4MqCz6gyxn; Sat, 06 Jun 2026 02:30:23 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXMjC3kdSz40tn; Sat, 06 Jun 2026 02:30:23 +0000 (UTC) (envelope-from cperciva@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780713023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=krn6vni3pfhDNBFoSfOpFuo+DwDgnlb/xkcu645QX0Y=; b=kqybykQlNOP7/wOPEuSTYNDr7RSbMS3OqqYMrQr/zRGF6ov9mkgy4GVoqcA/nKDgvFfTOU kNVqtYcatHCr2KQ72ZRlZcVaymAV/A0voR10QoTnP4ysVDvNwG2F0VrUdtEmQeRq3XvZZu M6rSD0TAEXzMo+pt2cRQe9mIzATXOXdyOCCx63Z5Nuorwhq49aYkRuzNyWFLpz8XgBFSTt 0/m8Nxc9DsuPcpURIgJ0fGNdxENB3bg2q9MV9JhOkvAiLYI3bX1X/xn6AGLuMfT6w1C47d pioficb1nNkxlG70h/vNpA+fHGZuTD+kgtgq3J7Y3jyBMkmDp9h3IIA0DeiG+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780713023; a=rsa-sha256; cv=none; b=uVTnCTm5gLZsfCeQ8xl0XX3Qe9lkc0XQXKLoxa18Bi64XXZ13GZ/Jwhk0zATKrvAJO1vh8 OCYHP+tN3dNAnV73rFt4Fx18O67C2e00WZCAHtN04S8UMWyP/v7X/lUhmrCaCmoNVx0yr8 2cNSa0mcAaCsjSXfU0iOe6u/OkUCn8hS4ei9haOrRTDJ7zByZ9FP2WXrA9VskdEbHa0Ccv k5Q1h+xpPs93R+9mMD682GrLc6PnsJ68qYSXiDTw5DuR73JuHNkVQ/dFEGG4mQzSPLHR5r qbOq3bezRL2V7sQrOkTLUIUcr1J0NZEBZj0p2uBKOxxc2eLH6sJ/wljQI8h48Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780713023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=krn6vni3pfhDNBFoSfOpFuo+DwDgnlb/xkcu645QX0Y=; b=nVmJp6ukUJZjFE5j5UF6Fvk/ADEbRw4BZqHZ3WH+tAmMHlvn6d5VlhLeLGjKMCJJmjF8OZ STbVsEsNe6Vy0x5robBjkwMHy571OHZT8zI/mH82MZYQQJXuRH0Pzh20ujB5PaIXUjKHpO spmj7Ks2TmLIi4Tvna/NWUG8xhDGWKXmHdVVhATS5cfH4EJNHFlaj2r0jH6Hn9ht4Ezt8P 9Lcvbx2gxUxgWBd0qjlFpD2qqOxbBE5StU0HwsSYtFoww1cLRhjDVrXk+YTw/caOx3/SXp XGQqor/VTAIXjifcdjIz5yBiadBCVYWtSfEMPaVL/eZaqY0rCKr91KPxwFgwLw== Received: from [192.168.4.47] (S0106684a76304d01.vf.shawcable.net [70.69.240.84]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: cperciva/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gXMjC0gwFzwVt; Sat, 06 Jun 2026 02:30:22 +0000 (UTC) (envelope-from cperciva@freebsd.org) Message-ID: <22eb30a1-e618-49d9-8e24-6b9a8c0eae5e@freebsd.org> Date: Fri, 5 Jun 2026 19:30:22 -0700 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 9263fb9bab26 - releng/15.1 - 15.1: Update to RC2 From: Colin Percival To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> Content-Language: en-US Autocrypt: addr=cperciva@freebsd.org; keydata= xsFNBGWMSrYBEACdWRqDn3B3SKO7IG0/fGHYtfs26f3Q5QeAcasy1fQLniwGQWn5rlILhbCD K/jdNoDm5Zxq20eqyffoDNObCjnHgg4tGANdi+RmDy+7CDpE789H8dss9y7Pt5DlGGAXQQnt hxush3EYS/Ctprd9UUL/lzOOLOU1aNtzB84tNrJBtcJmL7OYHfyTSNFxvedqJrrasejIQOLI t/DQ89BPzz+vsKHz7FJPXh3fsVkzLA00DJYcfkgxyABfJNA7U6yMwd4DVSdx/SsvfIDMVXnu UXCXswo106WPZbYGlZPpq0wW6iibtTerJix+8AeuwXvl9O1p8yESK4ErkIxCnmghTSz+pdzj z/6xBRkdDM9VdZ0r+CzsaNXMpDOzFuKyjaiYBdgCLljbDnXIHFcqXenrZ7Xwkm09g/M4uVSh pIUG2RYa6tsHSQoGCp3f2RZv1znfViKQFbbL83QjtPA20AhseZSYbHp1FPhXyy9J0wkGL16L e99g6gdGeIRE82BZjBjKGDkoyDPq+oDRSFl8NtzmIKy+cfz00nViqcTF4bREXEawFGhlpO0X O9q8mijI9iFB6zaPBiSdJGBL5ML5qLTNCl8Zlf4m1TBvmRTqF/lzMHVXHidDoUhpSh/y3AFZ 1KrYc27ztJQywDJPJPWPbtY8YhFLFs377gfP8WldsZjzp8nvoQARAQABzSVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+wsGRBBMBCAA7FiEEglY7hNBiDtwN+4ZBOJfy 4i5lrT8FAmWMSrYCGwMICwkNCAwHCwMFFQoJCAsFFgMCAQACHgUCF4AACgkQOJfy4i5lrT++ ig/9GZKdN2fHSyrANKZX38ivd7IX2wAYouqH9DrQM94W8IciaDLmarN4Pl9mY+aucMwQUSyp uNtKOJwKqhVVaalF9Zw0sRMH4CJuvT7vKCtZ3q1Okb7soRvFte4d+vXhvPxCvBFDA5JzU7Lg DR5eqqcvF1dN1OuCq16pl0zCOSH/Jr5ToE3LM3Av1KBGcZD7ZSzHRWsFjV5AOUJKySuA3GwJ e/jASQcQ0YfCnru8ntLmYg/2SKvZFlfthZiCBnAppMt4n4BUAw3TDvf10HIDtdneejawcbLS gofLCvGqumwbZYAMKWrFzT4+7KQvr0pOw8QD7EbxnB4f9hQ7UiVF8qWsyKU3iv6b5JLhbS59 ooKRccyOvdMLcVJ0ZdpqoxrNv061ZUqLL5RiWjBlc1qjBnDxeg5oyM0rT8WLftdgvyH6RQt0 KWngumBAT5AT2DUYL8Uz1490cqfO9K4yEGZAJB9XRVX1g2IWTOjae+0g9ZII+h91UngFz+Rz aKDeseKBbCGDOFXx1TqKiHl2g255ZnUxKYTlucFtguv4gDGBgEk4G9JaEWBw1IWblcKhxH7L 2vWsUhvwghjIxHdO/RkeIeHvSp4YZxCJ7a3TaJLYAlwYopfTKVzNhcDY5h5syEuoHjyJCxXK SyoJYAVu8Yl2KUhvOtOmL1VZ6xyHnpdMRWKJZ5jOwU0EZYxKtgEQANYfgbtUMVnhjxDHhWLp g5kLHK3YW0TfJKzpXqDB7NiqxHofn4OcbZnVC3MKggcbs9o1/UtsjnlsG8550PfiYkDXvPiO RJwgbGs6MGIDK797C6cnBLQ8xwBa9SL4cl5iQFnhWmt6vwnJ+an/cm5JpYves3wL7jV09qU9 57hkHXEUcl38r4FssZzVcLKPUVTa3Un+QGRTGDGe/f4ctjMaqv0ZCM+l2ixPhf/vqESrfSLv V/+T3dmtUfXjazO3SABvsHwxgGuTTYOlKoPCaebr+BRdqm0xeIShoIlhvTI8y4clchqx/Uxg UG5X2kvU13k3DS3Q8uLE4Et9x1CcZT6WGgBZSR6R0WfD0SDnzufNnRWJ0dEPA2MtJHE7+85R Vi9j/IgZV+y5Ur+bnPkjDG1s2SVciX5v9HQ0oilcBhvx0j5lGE9hhurD9F+fCvkr4KdbCknE 6Y8ce8pCNBUoB/DqibJivOzTk9K9MGB5x0De5TerIrFiaw3/mQC9nGeO9dtE7wvDJetWeoTq 4BEaCzpufNqbkpOaTQILr4V6Gp7M6v97g83TVAwZntz/q8ptwuKQPZ2JaSFLZn7oWUpYXA5s +SIODFHLn6iMoYpBQskHQjnj4lEPJadl4qj+ZKA89iDAKsniyoFXsbJe2CPbMS1yzBxKZq6K D/jpt7BOnuHr/JrXABEBAAHCwXYEGAEIACAWIQSCVjuE0GIO3A37hkE4l/LiLmWtPwUCZYxK tgIbDAAKCRA4l/LiLmWtP3jmEACQrh9gWe8F1Tkw3m6VoHKwLc5he4tX3WpQa//soPO6iGG3 S3WPruQ46NrAaAojoOcKI9UONDO5rxG0ZTX53S+lu2EO47jbcLwOCjaEpjKpDRt9ZXBQE8Xl mtBE9Bp3W9gpjB1nE3KNM1mJYgsK0QdRpwwfh4pVgGpOj8j23I6MCK+v99zEBnpgCn2GX8W/ kctRXHqWwndHysOJtRP/zrl7dDaABF1f9efUl0LL3TD3GJ9VDz+DNOin/uK2a1hiJo8QzTRk PpfUQ2ebzDsrd1i/pOWkMSkdH+rEu4AGrXWtaBwrMyrGkL6Icb6yO+P9/z0W2wlgBf3P1YRt JPgQt/Dj3yvA/UnaV/QmuVQPjl13o24UnJGsZM8XGnNdfWBKkC1Q6VXC4QT+dyBHYH9MuE9d 6oGl8pFM1+cTfEfbM62/rRoPkF1yHMsI/903VxEvuUIKfhEZAVLFyHldooNxuchntHQP9y8J 8Ou9bWYQP7MnEn+kwSwrZkjurfPkan+xQvp6dDYnj3V0GwA5pprBMaB928VIDVOv+1PNQI3t Cvk5VPv/skq+TJRMHW7bFSt8PRa91cUf1FOLIz9APDiJOzXkwxUEHGV3zPSaUhs1JYjyBeGT wDAvtLUdjOnRhEUOwlnIrztmvyciutjJoVzKEEjj5WXnHk9L9kQ1bpAjkjTONw== In-Reply-To: <6a2384df.3fa37.7254fe58@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/5/26 19:24, Colin Percival wrote: > 15.1: Update to RC2 That's *RC3*, of course. Sorry, it's May 36th and I'm a bit tired... -- Colin Percival FreeBSD Release Engineering Lead & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Sun Jun 7 17:11:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMCj1LRfz6gyqC for ; Sun, 07 Jun 2026 17:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMCh4yT5z42Dd for ; Sun, 07 Jun 2026 17:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJ+TLFjkm7zIkYnwn1ojS1uCsRFLQTYC9isHmRpluYs=; b=AK61BQecsJQtKeIOrsKAmbIUUC8Ng00933fGQpF0fNyPF1BQeU5z6pCM/+lt22AwapkoWt fLDL7gcDMjUwxju/oF6OoUGZDx8SFx+phFbBNGjQ77Av0KahmdnqFi9Im6eMm3ZrINeN0L OHXTVpZfYBgoRbWaPkNrgz6I8FgmDjrcpYa0TIxYEVftV+D0CLaQJnZ0XARlS8XOuZIqBf fFbO2ophWUvb/Y+P8HQ0aTXUYrYXi99IPrWgfqH5KmtNNRWECOr1IS0zht9F64GVf7h3ze PSD8mSgX4sSLFNkiv0rLey7DtFPToG1mCLphX7kVIXKIc8ffWRkRB7G8eeAFdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852304; a=rsa-sha256; cv=none; b=OlYmGl/UlYJRowk3C/v8hst8FUr/+fEz8Hglsikyz/nXkTr23/SJD1zIvv5Pn+rppmNVGV mopbsReiIZxHNvN5isUyV0n/oKNYHqazhPghKDTJ71w9e+KiBKZHwDRnpVjYXiFUJgx0wE eAbql9mapVdTVRl2iaCPlxouTq6A0vsev8PeQU4MgAB4HJ+ChQGerCjkgR1Em2/k9By+Nn fALqG6NEfy73JiNe2hIFkDrdVKvUS+59P6R7enDEZuWvCsZ03WoV5C5iNGlj0AD5eY6Af2 55fkXhYBZM7JRjqYgJJUBFbZaABzTr5Of7KiwvmWjcQTmwy88NwSU9k1EiWr+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJ+TLFjkm7zIkYnwn1ojS1uCsRFLQTYC9isHmRpluYs=; b=CCKS+te9DLI9JhyIFsNDTb18F+xgtLc98iDlcH7AQcykpy8TLmCZ6kShghYry8gbGUBi3X Xu8p7g0JrSpHFCkkAg78+SOMBN7qAhmViWcOwIKBTTeRZUQw/qXRPwLLV6tFwz1hH1Se9D OQM1bWiTskTcVqdvOXumFib4m3tqEe4GIYGroM2DvbGXb2VaibqeGD44PYNK/3kDPIpM0G q4S2T2WBxSfxVgkzhyMokadzEMtNeEibwJMToxHujz3iAw1sNT2IoYEyhH8maYgZk/gEk8 kCyeej8vByq6pdROMUv1p+bQPJcH59c/N2eFfv6QTdaHW13dE3MnXi7eix1ggQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMCh4J1Fz18cB for ; Sun, 07 Jun 2026 17:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27aa9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:11:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: deaaddf1d3c4 - stable/15 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: deaaddf1d3c4283649945553ad7e3208c8424308 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:11:44 +0000 Message-Id: <6a25a650.27aa9.68553b6@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=deaaddf1d3c4283649945553ad7e3208c8424308 commit deaaddf1d3c4283649945553ad7e3208c8424308 Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:10:53 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index e1e4ebc23491..43657fcecbdc 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -499,7 +499,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -510,10 +509,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 8360f0b80fb5..922b44028a23 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -2798,8 +2799,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 17:12:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMDs3nvZz6gyqW for ; Sun, 07 Jun 2026 17:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMDs3KGhz42qM for ; Sun, 07 Jun 2026 17:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXsHcGeOBs7j75Aye429lAtfCF32ZN6K0wk77MbvnUE=; b=XUw6zzWnNMZx/XTPOM/wlbHRGV8QssoNb34gUgGLAmjdOaOfwGAjqX5vfRlN2JbTtWlmBS gS+N9BcVtdCoEv8P/C9zN4q2vnvRXdKqYzlehG5+nPQfSoeLEQ8FI9oOX49pap7qF19JJY x2DgUn1EZZJAkoOPzcRGkCqteypowkfu+dx9S32FUmePQYlpKt73yZ01EQ2mWUyPDdiEPF EQ/culqLHp9kYlfGwjGgXWi8y+m1Kiz1+hFSpMUPXbJxs7LhnZAiZ/dUqrgbyto5Swt8mk RdtNqZB+g8HMhYTXq8o4XK8PYPTSycKwJQG/cAuA4pYVdQs3oA4CHh1D9w/tjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852365; a=rsa-sha256; cv=none; b=fbvqa7VkBgZo9dRa0Gc45JWzNpg2zn2L8g1jHTXXRuHwJGEY94Y1jAfvwqznQ/E9g/re2M WWJYsTiJ8afB1xmbt4+o6KJN/I9OASMevJb4LsoLD6sGnvgrVzt1rzHXUx8pFbMX1CH6DY 12VLhSeyO/ae/L0WLhBJsNlbQIoMJgtzbo4g0KJJxs2vLgeOYmY/X96o6di4SlWSStUFJQ nq7SRCdzNhYrboKOGNz2o3mNDgJb7280uTBc0UaKZyDIRXc4wo6k8QvoC4Oj3H5JRLkEbk iMgIsa1eJGQ2p7OBWtV0D0aVoaG5W3NReEP7ZUl61jpJ8t3UHPtYovqJsgkxgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rXsHcGeOBs7j75Aye429lAtfCF32ZN6K0wk77MbvnUE=; b=OVMi4TaEPm2AwFJ8YDYdtDPmbmmC1ZTu1c/WxDcE8D3B2QPN1Ouv5tAknxxsBMamoYNUEq fU/glITibaFAPKayMhxKamwHcIJvocqO4zdPrj3BvJovCOeakfK6GoVBDtezUSbNWreq1q qIJ+vSUzSZ3aCH7xXMC/H5dwWJFqbjqckRb8hzD8U9fEaxTu9mKkY7kWVGWRhH2xL54PAe YQphKf/My9YRoPl257NBNpp2hbHKKO4sIKbIvliQEtBfA82xh7qxoOxsok7Dk/hrJ5ZQ0q WJrwMteSVg7HVhhCsvaQDg2lz12evPUG1lp0tzUKqNiH2cA0+4BnG+K5DHE6WA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMDs2bX5z19Xl for ; Sun, 07 Jun 2026 17:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27a13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:12:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b5a4f4bfbc95 - stable/14 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:12:45 +0000 Message-Id: <6a25a68d.27a13.5f22128@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 commit b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60 Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:12:28 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) (cherry picked from commit deaaddf1d3c4283649945553ad7e3208c8424308) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index ea27ea8a5ebf..0fd301bb662a 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -500,7 +500,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -511,10 +510,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index d365187b037f..5b4be11b1168 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -2777,8 +2778,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 17:13:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYMFV0HqJz6gyMb for ; Sun, 07 Jun 2026 17:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYMFT5jcnz434r for ; Sun, 07 Jun 2026 17:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbwCLNPzg9c8LM/LAyG9apHYAD/CSDC8O/Dzz/QtvBg=; b=Aekh+v6GJxumWz0fYKFqWkRMvQ75j7IRiQc/Kqc9imNck4ZVHpKFwzetxq1LMPikHM1y7f nLUcuAqUE5l7k0yO+ERCEL9R7mNmc/UKE5ryFM3jWjDEWxiTTcAY73JhSePIWiW2dra1bg DphniMkkcXWkhnV7kfcZ98ix0VsS5dgF3JLiXsMQUZ0FYVHtroVWPVY8yrSIVjSF35Ciu2 M121uzu993wtjNmiwzINOes+2AuU2Zgp5X/BQavaEtqMjrz2DmLQgZhMMo49CodTLNhiDg Bn255z2YvmUYKHuDZQMtklZTzf/mQ+ik4Dvs7Bbw/PHQR0THqPhBVgfRoPqjDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780852397; a=rsa-sha256; cv=none; b=HItScbRJIwhqw2JPM3JWEZemOjMMhOPN6h2tlb1p8rd5NeUk0pKIopgo7Yjs4FDRLln1/Q VLicuC6ieyjsUOD5yaItDNCzVnxNquoUUIiNMeHQe4fNrX0lKNT5T8oUeLJnFiRynWsarM oYok7wtE+NGiZznD53ISA9uQ8xAErZza3NCyYYUYcHbBlI3HKGfpN3jDHHz/wMShYW5g4x eZ3WFWPXhNyPj3p4yMaxKDgiL3OHZ0KHrsXGchULP3pv3FXFb6hvUqujKTS0APfhinDVJN SDlyDYefcr4Y2az0J7zTiu9MDFvMYAFinzSb/JL0IzMuAJ0AzdrX5J6ZwVsc4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780852397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbwCLNPzg9c8LM/LAyG9apHYAD/CSDC8O/Dzz/QtvBg=; b=rqR54rRJFG0eDFux6D5V6b2Uien6CtsdNA4puCrFuweyEuDK1mI/CulwS3VXDS5ivhTcLL I9YxsRbHDAg8vW2TQYxZIrKDhXPdYXMuXraFr5Ab/IzXVMfaRKvq3jk4x4x6BH2jj49hM0 qmeoSIYLJ4g2qX/3j9ntr36gBhi7XT+HLbDtrKwIWBO9YDBA6vk+8Bus6yimK8SrfiysMZ uIHitb6eUKPFQ5ayQJYk4Za1yxeg3KWTx8PZz1aeo4CT9t+mIudwUGaDhC5gMmCHVtgQw2 DBHOtQImAK4QipMk3xeSy0xe1AS6A68lXMhMLuTkd6hMdqui6Nv6Sc+nzSpWXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYMFT5Hscz19cW for ; Sun, 07 Jun 2026 17:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27c08 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 17:13:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b1ad74074d4d - stable/13 - vt: Avoid integer overflow in CONS_HISTORY ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b1ad74074d4d5139106680ac766348f5d8b6873a Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 17:13:17 +0000 Message-Id: <6a25a6ad.27c08.20d04c92@gitrepo.freebsd.org> The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b1ad74074d4d5139106680ac766348f5d8b6873a commit b1ad74074d4d5139106680ac766348f5d8b6873a Author: Ed Maste AuthorDate: 2026-05-26 16:19:47 +0000 Commit: Ed Maste CommitDate: 2026-06-07 17:13:07 +0000 vt: Avoid integer overflow in CONS_HISTORY ioctl Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250 (cherry picked from commit 0ae946e7223df5ef3f7980af1d774d7f593f6421) (cherry picked from commit deaaddf1d3c4283649945553ad7e3208c8424308) (cherry picked from commit b5a4f4bfbc95d5d5361da708728f7f4a6db2ee60) --- sys/dev/vt/vt_buf.c | 9 ++++----- sys/dev/vt/vt_core.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/dev/vt/vt_buf.c b/sys/dev/vt/vt_buf.c index ea27ea8a5ebf..0fd301bb662a 100644 --- a/sys/dev/vt/vt_buf.c +++ b/sys/dev/vt/vt_buf.c @@ -500,7 +500,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; unsigned int w, h, c, r, old_history_size; - size_t bufsize, rowssize; int history_full; const teken_attr_t *a; term_char_t ch; @@ -511,10 +510,10 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) history_size = MAX(history_size, p->tp_row); /* Allocate new buffer. */ - bufsize = history_size * p->tp_col * sizeof(term_char_t); - new = malloc(bufsize, M_VTBUF, M_WAITOK | M_ZERO); - rowssize = history_size * sizeof(term_pos_t *); - rows = malloc(rowssize, M_VTBUF, M_WAITOK | M_ZERO); + new = mallocarray(history_size, p->tp_col * sizeof(term_char_t), + M_VTBUF, M_WAITOK | M_ZERO); + rows = mallocarray(history_size, sizeof(term_pos_t *), M_VTBUF, + M_WAITOK | M_ZERO); /* Toggle it. */ VTBUF_LOCK(vb); diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 80d9ae1f22c2..c290e34648f4 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -2558,8 +2559,9 @@ skip_thunk: /* XXX */ return (0); case CONS_HISTORY: - if (*(int *)data < 0) - return EINVAL; + if (*(int *)data < 0 || + *(int *)data > UINT_MAX / USHRT_MAX / sizeof(term_char_t)) + return (EINVAL); if (*(int *)data != vw->vw_buf.vb_history_size) vtbuf_sethistory_size(&vw->vw_buf, *(int *)data); return (0); From nobody Sun Jun 7 21:19:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjl4hXMz6g6qY for ; Sun, 07 Jun 2026 21:19:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjl42PWz3b8j for ; Sun, 07 Jun 2026 21:19:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YyKsMGBBnyLIeGKxSBRgcfdn8Zt+UgdB4xhf7CthOxM=; b=FOgUyzPOF/ku6/fonuU8Z5LDFpq/ODt9+UHLsvfVyyRD+tmBKBCZ/WZB6hobZlGbudf12b OM2cPZmnDK/MgIMpOF9TQ7vzzsrq/xfpVJhADyLO45aTtG+jcrcK0vdn4JaeWZGqaXwK/p XKZ8nhQtqYMDwRSTg90scG6nUllWEAMCDMcUPuyBXG3xCmKwpphVbJwqp8S52BiKEwaUtJ bHQxL/MkBOcpxKgU/myDvxVIWsSNJDVrmhro61wb57e44JQ4p1KQI7NHp+irTceiR3CVfV 6KCp9q0KFB3MrVtVVULQ5BbYcJZsQr6RmbX9F4Cd0pB7WWp8oXJMYoFx2hb39w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867179; a=rsa-sha256; cv=none; b=S//9guXNsiLLQJNLjTzep7ZqeXhrtrzAxPNxdcGYpOW7HyGO2qhdwQLFFRVdTF3AJ+bK4H P3iEffE1KDzc3NySJ/ka0pAWt/LPbpKMfDIQB40Qz4AfnOB/b5KGT9PK4+PoXUzkAGaNIl pGmxKr1ZwD2oqufr0jRwFBm34Hk/JCadcgOFFfj+BfqrQEsGV2mMG0FMYfScZ/sMznQfoh BmiSGFxw+oCScPLLPsFn8tE1/z9REcSnzJbuF8YDdI3TNRynqneYRBgHnx4g1a/3adf7XN 8pZ6GiA9sKq7pHXHcpHLHKLWhv2AWp8+d5BMHxIlnDx490HWS+vDDlOP+LV2xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YyKsMGBBnyLIeGKxSBRgcfdn8Zt+UgdB4xhf7CthOxM=; b=a6ki4p3JsMyOHnloMwFL27rF4AR08hNLD8SGhLCfw/M0wlFkxww8a0l1ISm2ChcGxNxD/d qZTJ4JZJQSZfSzJA0lYAfv0RBGlMks+oDOCEFu4zDUSmfxuyH96XiLJvM5PNDi88MXTdhD N2XlUN123JKlR6nlhR4C5VUcRipRN3Hhn+3KPAjjIhG/fpLCE+bBuIQWLt0PrUmlFarB5P v0tQZv87fPiorfDb9miZpXLKjqzi0b8Jz4oRnSgYx60pn73ru0DHDlf6Vsp3Q75BAu2xlB Z4QXn56Hwl1Y52a/pNWz5HbU+CwTwTKC5eOS1HDcjx0Zbv7nvas2gqZw2CJauQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjl3cvfz3q8 for ; Sun, 07 Jun 2026 21:19:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 479c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 4910c5a7d518 - stable/15 - rc: virtual_oss: Define some variables in rc.conf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4910c5a7d518411ba39a9228316cc572f3857a7c Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:39 +0000 Message-Id: <6a25e06b.479c6.6e99d951@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4910c5a7d518411ba39a9228316cc572f3857a7c commit 4910c5a7d518411ba39a9228316cc572f3857a7c Author: Christos Margiolis AuthorDate: 2026-05-21 11:38:22 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Define some variables in rc.conf They will now be part of /etc/defaults/rc.conf and be accessible by sysrc(8). Fixes: 70e27ecba518 ("virtual_oss: Introduce virtual_oss_default_control_device rc variable") PR: 295560 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Reqeust: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit a576e5140ef352af6cf227528d1bfc6b964516c8) --- libexec/rc/rc.conf | 6 +++++- libexec/rc/rc.d/virtual_oss | 12 +----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index d497d7009a15..fdf6a24db119 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -733,7 +733,11 @@ newsyslog_flags="-CN" # Newsyslog flags to create marked files mixer_enable="YES" # Run the sound mixer. opensm_enable="NO" # Opensm(8) for infiniband devices defaults to off nuageinit_enable="NO" # Run nuageinit at startup -virtual_oss_enable="NO" # Run virtual_oss at startup + +virtual_oss_enable="NO" # Run virtual_oss at startup. +virtual_oss_configs="dsp" # List of configurations. +virtual_oss_default_control_device="vdsp.ctl" # Default configuration's + # control device. # rctl(8) requires kernel options RACCT and RCTL rctl_enable="YES" # Load rctl(8) rules on boot diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index 73a486f547a5..07f81aeed4bc 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -22,13 +22,9 @@ status_cmd="${name}_status" required_modules="cuse" -configs= pidpath="/var/run/${name}" -default_unit=$(sysctl -n hw.snd.default_unit 2> /dev/null) - -# Default configuration's control device. -: "${virtual_oss_default_control_device:="vdsp.ctl"}" +default_unit=$(sysctl -n hw.snd.default_unit 2> /dev/null) virtual_oss_default_args="\ -S \ -C 2 \ @@ -42,12 +38,6 @@ virtual_oss_default_args="\ -l dsp.loop \ -t ${virtual_oss_default_control_device}" -# Set to NO by default. Set it to "YES" to enable virtual_oss. -: "${virtual_oss_enable:="NO"}" - -# List of configurations to use. Default is "dsp". -: "${virtual_oss_configs:="dsp"}" - # Default (dsp) virtual_oss config. : "${virtual_oss_dsp:="${virtual_oss_default_args}"}" From nobody Sun Jun 7 21:19:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjn0gM0z6g715 for ; Sun, 07 Jun 2026 21:19:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjm4s77z3bBv for ; Sun, 07 Jun 2026 21:19:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0zAWcaKqR5x1nIgFVjqgzqkViLt5wAcpL5fADJq4Ck=; b=lqg2gutf3rDajuM64LLnRKrRTI9rYmXKHror+b9VbYNaAmf5XvVKJET+Qlpd75wLKTSnHK ZNtUfzUvoDHNbv/RU+aZUPW8y/zpfiDE0yPydrJ3U8ycs4lHNAGukAuc+Nwc0Q59PC/gyY NWEqaNtXahP0yX/2wl63uURqIdJ8ZQ1WJDueaAV4rRN693uTHVq3ZSDN4YQqz2Ip4CSbNR voTU3Vfu9T7t0JpjaNrEW2gUOd46qBYvUtfLsA9KnyGyocVu/7p9IGBrKj8yg8rpiHOkc0 XE6wcLBhvNFeGeBLWJZ1HL2aJMFyd/Cneskyg0iUYWdzdIFiXOzBI5e66JZAYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867180; a=rsa-sha256; cv=none; b=idjgkABwrlmxxkD/IOZhEeR34V9g4Vv3f+S+kRoH8iSd4kmVanLL1WxJZUq3svc/OOWGmb rfaxcXtX4lVZdQBGq+8I4Cb6/RfUoRIcLsEX0HhPW9nOVSsKc2h03EhnzpOY1gCoC618CV HWTvN6PzU1TO3YfwB+a97v4k/uyolEWHzn8f15rIH15APZt5nNTA7LDwAGIxUUEWzlFmsO oHtzxj71iRrPbxCawz/76sp+L+yynkc91Fqqs+q76N9g27L5vyKMdxJbRtnU0ZdVZZjpic X+hnpS37vqy3+ZK/wkghnUEdDMoZOPlnjKFrnoHr2crECg/F5DlarpNZFj03LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0zAWcaKqR5x1nIgFVjqgzqkViLt5wAcpL5fADJq4Ck=; b=cpV2Ia0qjA6UqS0t5IVpGyjdgWHl5DK3N6IXh+NdDXoa68MDj2fQd0Gg5rYlJNo4OhbKth sgjTwkL0C6Er3U/mFCBGYFYVKbZka99TrCa9WIgk1TGjDV2Asue44l5fCAA4e5Xa52JgSS HTfj3sB7EWX1nbigYg5TGqGShrGXa/oqCBMGuJTgjXb5IU+fgSjlooOPqIG54TyMFldsbz uWNISpwUN4WynyeMdydY/zFVxecf5MjAKbhUVdIfHeAoCsYRoK7s3L6JADhVjcfoXU0Z7B DcbvUiNmqiV4ZiBMEc8k1ZbdVjqwFM4pDo4qqhfOiBvBhAoKQguP+I3mYKfK7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjm4Mfvz3mv for ; Sun, 07 Jun 2026 21:19:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4723b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: b8a97cc677df - stable/15 - rc: virtual_oss: Wait for process to exit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b8a97cc677dfbb38b6c333d00e241cfdf223a684 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:40 +0000 Message-Id: <6a25e06c.4723b.79a248e@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b8a97cc677dfbb38b6c333d00e241cfdf223a684 commit b8a97cc677dfbb38b6c333d00e241cfdf223a684 Author: Christos Margiolis AuthorDate: 2026-05-21 16:26:46 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Wait for process to exit Sometimes virtual_oss processes do not exit immediatelly. If we do not wait for the processes to fully exit before returning from virtual_oss_stop(), then the service restart operation might call virtual_oss_start() too early and fail, because it will think the service wasn't stopped and is still running. Reported by: jrm Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit 803f686938ec2472d54a26bff668e48cc4999558) --- libexec/rc/rc.d/virtual_oss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index 07f81aeed4bc..dd3bbe41c094 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -76,8 +76,10 @@ stop_instance() if [ -z "${instance_args}" ]; then warn "no such config: ${config}" else + pid="$(cat "${pidpath}/${config}.pid")" startmsg -n "Stopping virtual_oss config: ${config}: " - kill "$(cat "${pidpath}/${config}.pid")" + kill "${pid}" + pwait "${pid}" rm -f "${pidpath}/${config}.pid" startmsg "done" fi From nobody Sun Jun 7 21:19:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjp0xdNz6g6y7 for ; Sun, 07 Jun 2026 21:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjn5crGz3bDj for ; Sun, 07 Jun 2026 21:19:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eryQ1Ced+rBIghGY0XpBWziIwIWe8EDmcR8Y6Z29yvk=; b=pLm5D0dv6TpTlvDCVikDkey1n5V4XZOHRCx5AZdD/DBOMiTXISaYqhwtaN+pK4qTjNqtao vwpWw4iL3uB/+xlEYveNh8NNrLu31X8dpg4KoYZMVWtxP5ZLBQ7SqJkrUHF+1GMwX6UDS3 /8Syjc9929aYAgBOybn/PbPx/XK5J8mymPpXywM0bb5ABUSIgPUwbzvO5thL60nterF04P 0ficBFWj8zmns4uHhy6qYwBg4B7hRAViMrZ5Nj3mYOsTBCF5Ckj1y2DcM/9AzfC+WnETn3 OOK/ReXc7JrXJf7UAYF8Lsqv5Xmb/H90gU3cNJABERuCDW1ztveibMvukIlC6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867181; a=rsa-sha256; cv=none; b=HhOax33kj5wlWGdgbMsRrUM/tKJcmUptsh3AXSLjhJ5NjwcLKwpY7g2wYLWeJ+pZNZkhdY LkVLLA1o2WhFJrwBgUA0AN+uj5kp8yTyVpISppmQOKwcakRDgq7pKrdPlheo8wbeIsBveZ VKA5ioAgEwDMNzMtSBBwPXSboRyQmvQ3dsDBADpGBzxVB2wL5o1R5lye/WUNd1qbmOKNBe ixeBSWlPkyFs5tJF/0fq40kYvzLMI3ORqt2/gVfo6rihOnHdEsvXRQnTCIRHwmveTxrZQk B3GAEzYvjcnj7Yik1+sXAu9xXireVMm7o4TTgaV91/JLgYYZKavAzNcCxuNO2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eryQ1Ced+rBIghGY0XpBWziIwIWe8EDmcR8Y6Z29yvk=; b=lQkC99G6M4in7+oIbX1oP1pinc5V1pvC7L6jPySFSzHJ2zwNISg9prpZLsTL6UQE/9WBPd 1u5e3EtXE6uvCLk1BDjcC7oYTNRoDxqOQevCsV7QV7+J0ob5ZtNHZiACdemGmpzOdAH5Wm 93lLfSkQB7K6/1ekzG7/lmIH6IrUqwYmHmaGToPCwcizJILnvFWy4dipuDoOGm9rQIARhb QXAkAZ8uLeyl87rFur7u12Zw3aZTS/gPuT39YSFv6+tVcqgnf2wTsHvm5EVAhXJmKsm54K MTafcu4Cg5PRv51ed4kWJdtTImfGb5b1xS7endg4hxhW1isZGeqTmV/8JJwyjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjn5CK5z429 for ; Sun, 07 Jun 2026 21:19:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1875e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 91167d0b66e8 - stable/15 - rc: virtual_oss: Handle absent pidfile properly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 91167d0b66e8a377a12b76d4cc6e4808000e1718 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:41 +0000 Message-Id: <6a25e06d.1875e.93ef7bf@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=91167d0b66e8a377a12b76d4cc6e4808000e1718 commit 91167d0b66e8a377a12b76d4cc6e4808000e1718 Author: Christos Margiolis AuthorDate: 2026-05-21 16:53:27 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:34 +0000 rc: virtual_oss: Handle absent pidfile properly Instead of throwing errors from the programs that use it, print a warning if the file does not exist. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp, jrm Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/33 (cherry picked from commit b2677d002edbe9308b1f8cecd1a5fc515d2a5deb) --- libexec/rc/rc.d/virtual_oss | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/libexec/rc/rc.d/virtual_oss b/libexec/rc/rc.d/virtual_oss index dd3bbe41c094..9861545b8bfc 100644 --- a/libexec/rc/rc.d/virtual_oss +++ b/libexec/rc/rc.d/virtual_oss @@ -76,12 +76,17 @@ stop_instance() if [ -z "${instance_args}" ]; then warn "no such config: ${config}" else - pid="$(cat "${pidpath}/${config}.pid")" - startmsg -n "Stopping virtual_oss config: ${config}: " - kill "${pid}" - pwait "${pid}" - rm -f "${pidpath}/${config}.pid" - startmsg "done" + pidfile="${pidpath}/${config}.pid" + if [ ! -f "${pidfile}" ]; then + warn "not running: ${config}" + else + pid="$(cat "${pidfile}")" + startmsg -n "Stopping virtual_oss config: ${config}: " + kill "${pid}" + pwait "${pid}" + rm -f "${pidfile}" + startmsg "done" + fi fi } From nobody Sun Jun 7 21:19:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjq1Ttjz6g6sZ for ; Sun, 07 Jun 2026 21:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gYSjp6SCKz3b8r for ; Sun, 07 Jun 2026 21:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2MmSLZgq9s9Nmwq32GUWRHbmEgI+KUWFxcJFXNM93jk=; b=jw31tipWt5l0HZaU4twclAEJ97W+NpctECGmGYfjY+UYn2pJ7ggAYC6IdlaHHf9cwzvnl/ qpEaKUDocnllDZkOLXV3v+de5YTxw+7wWfxP0zrwns/y1n6YGr/VmYtMu5+l4S1b2NeRQy jVXZg8ZhNfE8nPVOL0ixqYtvTgRrs/37cgriuNuFBAn1AF27uTIvL5UxCEeNbYFToQmStJ wWs1lEv3PCFlEI3XJkEfh8dmMf1FOQogX4S4t4ao1KPcnmObs1tVjSIbcMoxI1hgcdn5sJ Ixi0dw+fYLQbITNlZYoFTWl6CesLBnt7tQ8bcLALnSMwlseOO5isZZM1RDg0ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780867182; a=rsa-sha256; cv=none; b=DYNv+T635YSMB7+fcT4kGxFzOpgpQsVB3R9MT/Pziwd4GM83pYaLT0U8VzTQYhzuzzIAZ5 TlPhb1BPqxxlB4RYArIJzVVMdxw6hr0IIY0o7BlMSXEsirFtRTq3FJ5BKgDHswhI0zEofa pL3Ct3684dZ8fs2nD4wklH2QJkkAVhcaxcuHMrWSDUYqsltR68dm39Ec4g/n5GV4m3g7fV y5b7fYMLyjQuswZHN4c64bfqS+5ZIXncSvAaM4bV/z+XpNDKDWHPBgWoENzqlvXVIvvayk ZVHNUn3Ip3FY9qRbHQW45BpAimxhOhzNHSE/6hnOOpqKx1mzLHsP8iXAYpDXlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780867182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2MmSLZgq9s9Nmwq32GUWRHbmEgI+KUWFxcJFXNM93jk=; b=lgk7tZ8Vh3QkoJsDo7X9SMGuzMHl94OMPXQ1C9zPT9yKnrmqPs+R9GgapT85AdBO43g8nx Fkqc2+SScFmrs7ODr7E06I+HzQGdPOpQOCkdOOCYF0GPvyiwDtf6+StP+WeTMW5DIM2Z1i oTfto8rFyeSt/oIfIZtX+2CcPp/NK8wOyf51XHx8g5ey4YBCG8Oz0IsbSqO4Obxj28Op1z WaZkXHmb9FPtn3yOEH9DC2tbKBBB/oQjhuZke1+1UqRig3jCEaNss2I0yuloklbFlkFwr0 3gq3B5GiUE2LOIvhffJ57ocipUNY7WjVa+GBgSwJDnvMX+4dIuRWnm8i7t/vBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYSjp5qYXz3V5 for ; Sun, 07 Jun 2026 21:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18491 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 07 Jun 2026 21:19:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a48a807e9bf7 - stable/15 - sound: Centralize and improve hot-swapping List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a48a807e9bf784ec06eeb89f38b1c6c2f191c212 Auto-Submitted: auto-generated Date: Sun, 07 Jun 2026 21:19:42 +0000 Message-Id: <6a25e06e.18491.3a66d880@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a48a807e9bf784ec06eeb89f38b1c6c2f191c212 commit a48a807e9bf784ec06eeb89f38b1c6c2f191c212 Author: Christos Margiolis AuthorDate: 2026-05-21 12:22:38 +0000 Commit: Christos Margiolis CommitDate: 2026-06-07 21:19:35 +0000 sound: Centralize and improve hot-swapping Introduce pcm_hotswap(), which is responsible for sending devctl SND/CONN notifications. There are two user-visible improvements with this patch: First, in pcm_unregister(), instead of just sending a SND/CONN/NODEV notification when all devices have detached, we also switch to the new default device if the previously default one has detached, but there are more left. Second, in pcm_register(), if the device happens to also be the new default device, we hot-swap to it. Additionally, if hw.snd.default_auto is set to 2, then we will essentially be hot-swapping to the newest attached device. The latter is especially useful for laptops like the Framework 16, which comes with a built-in snd_hda(4) speaker-microphone-only device, and headphones can work with the Framework Audio Expansion Card, which does not extend the snd_hda(4) device, but is in fact a separate snd_uaudio(4) device. To achieve automatic audio redirection between headphones and speakers in this case, there has to be a way to switch between different devices. The way the Audio Expansion Card works is by having snd_uaudio(4) attach to it when the headphones are plugged, and detach when unplugged, so this patch, along with hw.snd.default_auto=2, can pick up those attach events and switch automatically. Combined with the pcm_unregister() update, it becomes possible to switch back and forth between headphones and speakers. While here, be more robust and lock around snd_unit reads. In collaboration with: jrm Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit 9fb56421425fa35e56ce294284c08b09852052a5) --- sys/dev/sound/pcm/sound.c | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index d98952d7a984..235142eb5209 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -77,11 +77,30 @@ snd_setup_intr(device_t dev, struct resource *res, int flags, driver_intr_t hand return bus_setup_intr(dev, res, flags, NULL, hand, param, cookiep); } +static void +pcm_hotswap(void) +{ + struct snddev_info *d; + char buf[32]; + + bus_topo_assert(); + if (snd_unit >= 0) { + d = devclass_get_softc(pcm_devclass, snd_unit); + if (!PCM_REGISTERED(d)) + return; + snprintf(buf, sizeof(buf), "cdev=dsp%d", snd_unit); + if (d->reccount > 0) + devctl_notify("SND", "CONN", "IN", buf); + if (d->playcount > 0) + devctl_notify("SND", "CONN", "OUT", buf); + } else + devctl_notify("SND", "CONN", "NODEV", NULL); +} + static int sysctl_hw_snd_default_unit(SYSCTL_HANDLER_ARGS) { struct snddev_info *d; - char buf[32]; int error, unit; unit = snd_unit; @@ -95,13 +114,8 @@ sysctl_hw_snd_default_unit(SYSCTL_HANDLER_ARGS) } snd_unit = unit; snd_unit_auto = 0; + pcm_hotswap(); bus_topo_unlock(); - - snprintf(buf, sizeof(buf), "cdev=dsp%d", snd_unit); - if (d->reccount > 0) - devctl_notify("SND", "CONN", "IN", buf); - if (d->playcount > 0) - devctl_notify("SND", "CONN", "OUT", buf); } return (error); } @@ -373,6 +387,7 @@ int pcm_register(device_t dev, char *str) { struct snddev_info *d = device_get_softc(dev); + int err; /* should only be called once */ if (d->flags & SD_F_REGISTERED) @@ -417,6 +432,13 @@ pcm_register(device_t dev, char *str) vchan_initsys(dev); feeder_eq_initsys(dev); + sndstat_register(dev, SNDST_TYPE_PCM, d->status); + + err = dsp_make_dev(dev); + if (err) + return (err); + + bus_topo_lock(); if (snd_unit_auto < 0) snd_unit_auto = (snd_unit < 0) ? 1 : 0; if (snd_unit < 0 || snd_unit_auto > 1) @@ -424,9 +446,11 @@ pcm_register(device_t dev, char *str) else if (snd_unit_auto == 1) snd_unit = pcm_best_unit(snd_unit); - sndstat_register(dev, SNDST_TYPE_PCM, d->status); + if (snd_unit == device_get_unit(dev)) + pcm_hotswap(); + bus_topo_unlock(); - return (dsp_make_dev(dev)); + return (0); } int @@ -469,13 +493,14 @@ pcm_unregister(device_t dev) cv_destroy(&d->cv); mtx_destroy(&d->lock); + bus_topo_lock(); if (snd_unit == device_get_unit(dev)) { snd_unit = pcm_best_unit(-1); if (snd_unit_auto == 0) snd_unit_auto = 1; - if (snd_unit < 0) - devctl_notify("SND", "CONN", "NODEV", NULL); + pcm_hotswap(); } + bus_topo_unlock(); return (0); }