From nobody Mon Apr 27 00:07:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3kQy1fTZz6bHlK for ; Mon, 27 Apr 2026 00:07:38 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb131.google.com (mail-yx1-xb131.google.com [IPv6:2607:f8b0:4864:20::b131]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3kQw5sPSz3JRP for ; Mon, 27 Apr 2026 00:07:36 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=NJP5D2+I; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20240605:i=1"); spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b131 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb131.google.com with SMTP id 956f58d0204a3-64937edbc9eso8181838d50.2 for ; Sun, 26 Apr 2026 17:07:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777248454; cv=none; d=google.com; s=arc-20240605; b=CmkOq3sFOOUpbrceyDikAlZk9xa5f73wlfldpBQCSq2Tkjj1GWaR4Il/O8NIkzoJoj 6CSpqUo5yDS77osXtGBfyIcJf9u0YBHlKYkFv7wJBWM3+G1kth+uuc+yLnV1w5W3inX6 kjagX5dF1z9mKiKXP25o+qpCXArSp/WuiZxOvNRZYRUFFRFzDWij4PfnCYDVdMMeo1pO MMBoVcmbDJAJTkdNMcq6LK6sz6qIGAlBWjEjXpcJ3mvJHpwCXjubUc+LAGq6hLNY/RBK fFhkdp1k0ygds5iNK52rKbYIpZUjiY//s2T4uT9wzu80EaIlQSpzNCdxf5aJKCIG2YBq qYsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=FZ8vENP1nW95B3r7puKpWIg/bNBkQk5Owq801tANlKw=; fh=lsbO4UjFpN9SjBERsJTbz/LQZRclaJ7RbGszf6q4+3A=; b=Wz3lY1TitzIKCZPYClLF7U6gqdjGTKpJQD1MZRC1s1+0tlFsy3nWAO/DHz0RHqws6T u+OReQ8bY4EIlMztnRdb+xUWYJkZ2J4wtMTAIX3DllaUD0wNV+5THC49luG95BRWeOuD d9NtrabsJkp/GvnD3HYCEGaqAk7K57vjQGFKknG3pfOt/N8WWqAJSHxVUP9mIQMiBYH1 WcciPeO2mkRrI/9pm44U0TtSK3+VHoKckUykjx4HW25Y2Tdi8Y5zh36aaMsuLaaxDsLv Zm6tMLciOYW8+DCiaFWl2qE+FAaUQZWrJXHiNwMNP3oi8rYFXPfNU8FTYu5eWUJWwoSs 2o6w==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777248454; x=1777853254; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FZ8vENP1nW95B3r7puKpWIg/bNBkQk5Owq801tANlKw=; b=NJP5D2+ISjIHT4symHD2Q2mbHTS3f5FqhL+eTJgCUkGAXaDSfYesZtmQoyCyWq2Op1 goAZ0VU57CRN8ijOYbPSMaoqs7GHtC6lpFq25GHu8z8S8WIlrP4iE55yTvMtdyUvUHiB xPIwXgJj9mBbqQc1soKNzMrM5CDz7uXR95u3Q8xe1zPNy+HUofgWhbm+B2wwgmhFwzyW IR+uHVDjdDbJWg4nVexwhJPCjAwCd8PVglzPizKM4AjtM5pLkFUxAoPpIL2qapPQkUBf apqkBOd54cgd62gKpLTEO2B7EyCFsKGLl2EV1f6AiU0WYon1TKiXCRp9nobC6aHWuon4 vIRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777248454; x=1777853254; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FZ8vENP1nW95B3r7puKpWIg/bNBkQk5Owq801tANlKw=; b=omOyQOsHRp5gQQR6bu7XgNa9G5JdI6xiNQGnPGjuqg2v8AkbNfekJLcPKAtMmynqH9 YTwq7M9AH3MyI+ycq7pe+MbYrlW1/cYck7TwmhRyQ4/MEckqZpVB7gHHHDNVSAsnsfAN Zoc6IVUFh1PhX3mbhg28TAbTjM63aCN3dHZVwEaBIImRY/ZofFlHJMMK5K5Z4OzLQBXe iVwHMVZQRv5uQbgklArzUg1n9wXA2jeqEPwNZErNo44yQySar8d+TxOLBJqT4d4lQyzo +Y97C/ZN7ysXi7ovlPyqMlS1MOfLh7KOqakAk6AL3p3nYdNCIhbSuyA+FXvqmTnx23t4 qfEw== X-Forwarded-Encrypted: i=1; AFNElJ+KjwPtJDoPWgN901jUg3TIvd1enNLBt7Kt2ZTFiKGg0u0bPzpTDe5Vx7/nY21NPSQfnZoc1YTse2meMb582YYYNN+K@freebsd.org X-Gm-Message-State: AOJu0Yy8/DbqEWS+ZELpPObdu+evjWCvbJ5ApsMJzkTGqo1EpfomM/By BSAKaqiLT+QMvRhhaRV81yEzACLuLWArU+GSlFOGIuPEz8Q2N5MWTBtoodE0clAmqdeyv57ZWR9 B/lK3OnEnWl5/8PDz5y30dKjAkdAxiVE= X-Gm-Gg: AeBDietU/XZfLWCjC58WT8mlo4bCNMSKG4woErjKLIODq1quZOQChsp0zFLwA0/4kCE K+C0ec+SUTlVI3TV0ONXxXSUIHfBbRrsGunOl8r8Q3BFQ3J+JGCsPzRav2mIkwZqQS9mXR6+XdL 60AQ0QFIeHMnY0qECwIZnktfShlCg1yjkapI4pP3FdOVBoYElfZMHB+KumQGLo36NsBn/um2OmK NdvUK2+MoOmu7cOKnfBWvMFIIyA8VnQkLCh+HTdMUiwJZ5sphI6aD2i/ptPcdO1jDwdugYBQ25M CsEZ/u7G1/0GTu3Ztuq8fuKlVEaHlbBtJ0Oa4YSeovYYPUdzxd35 X-Received: by 2002:a53:e304:0:b0:651:d0a5:cee with SMTP id 956f58d0204a3-65310a0b6famr29178761d50.34.1777248453878; Sun, 26 Apr 2026 17:07:33 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7010:3d1f:b0:515:7086:c541 with HTTP; Sun, 26 Apr 2026 17:07:32 -0700 (PDT) In-Reply-To: <69e8f964.39869.24418b55@gitrepo.freebsd.org> References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> From: Oliver Pinter Date: Mon, 27 Apr 2026 01:07:32 +0100 X-Gm-Features: AVHnY4JDb8IzvAJg5shAlDyfL4lpzl_VIaqrT6O4iHaDjNeEW9G_nTxGhdIOlSo Message-ID: Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently To: "Simon J. Gerraty" Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000c568a3065065e699" X-Spamd-Result: default: False [-5.00 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MISSING_XM_UA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b131:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4g3kQw5sPSz3JRP X-Spamd-Bar: ---- --000000000000c568a3065065e699 Content-Type: text/plain; charset="UTF-8" Hi! Do you have unit tests for these? Have a nice day, op On Wednesday, April 22, 2026, Simon J. Gerraty wrote: > The branch main has been updated by sjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > 566cc005812b72a4ba236764651dd8e82c94a166 > > commit 566cc005812b72a4ba236764651dd8e82c94a166 > Author: Simon J. Gerraty > AuthorDate: 2026-04-22 16:37:35 +0000 > Commit: Simon J. Gerraty > CommitDate: 2026-04-22 16:37:35 +0000 > > safe_set treat ':' and '#' differently > > Treat '#' as a comment anywhere, > but ':' only at start of line. > --- > libexec/rc/safe_eval.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libexec/rc/safe_eval.sh b/libexec/rc/safe_eval.sh > index f96c34dda936..3b3241ae821d 100644 > --- a/libexec/rc/safe_eval.sh > +++ b/libexec/rc/safe_eval.sh > @@ -1,6 +1,6 @@ > : > # RCSid: > -# $Id: safe_eval.sh,v 1.27 2026/04/22 16:11:57 sjg Exp $ > +# $Id: safe_eval.sh,v 1.28 2026/04/22 16:36:32 sjg Exp $ > # > # @(#) Copyright (c) 2023-2026 Simon J. Gerraty > # > @@ -32,7 +32,7 @@ fi > # "xtras" should be used with caution and cannot include ';' > # > safe_set() { > - ${SED:-sed} 's/^[ ]*//;s/^[:#].*//;/^[A-Za-z_][ > A-Za-z0-9_]*=/!d;s;[^A-Za-z0-9_. "'"$1"'$,/=:+-];_;g' > + ${SED:-sed} 's/^[ ]*//;s/[ ]*#.*//;s/^:.*//;/^[A-Za-z_][ > A-Za-z0-9_]*=/!d;s;[^A-Za-z0-9_. "'"$1"'$,/=:+-];_;g' > } > > ## > > --000000000000c568a3065065e699 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi!

Do you have unit tests for these?

Have a nice day,
op

On Wednesday, April 22, 2026, S= imon J. Gerraty <sjg@freebsd.org&= gt; wrote:
The branch main has been updat= ed by sjg:

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

commit 566cc005812b72a4ba236764651dd8e82c94a166
Author:=C2=A0 =C2=A0 =C2=A0Simon J. Gerraty <sjg@FreeBSD.org>
AuthorDate: 2026-04-22 16:37:35 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Simon J. Gerraty <sjg@FreeBSD.org>
CommitDate: 2026-04-22 16:37:35 +0000

=C2=A0 =C2=A0 safe_set treat ':' and '#' differently

=C2=A0 =C2=A0 Treat '#' as a comment anywhere,
=C2=A0 =C2=A0 but ':' only at start of line.
---
=C2=A0libexec/rc/safe_eval.sh | 4 ++--
=C2=A01 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libexec/rc/safe_eval.sh b/libexec/rc/safe_eval.sh
index f96c34dda936..3b3241ae821d 100644
--- a/libexec/rc/safe_eval.sh
+++ b/libexec/rc/safe_eval.sh
@@ -1,6 +1,6 @@
=C2=A0:
=C2=A0# RCSid:
-#=C2=A0 =C2=A0 =C2=A0 $Id: safe_eval.sh,v 1.27 2026/04/22 16:11:57 sjg Exp= $
+#=C2=A0 =C2=A0 =C2=A0 $Id: safe_eval.sh,v 1.28 2026/04/22 16:36:32 sjg Exp= $
=C2=A0#
=C2=A0#=C2=A0 =C2=A0 =C2=A0 @(#) Copyright (c) 2023-2026 Simon J. Gerraty =C2=A0#
@@ -32,7 +32,7 @@ fi
=C2=A0# "xtras" should be used with caution and cannot include &#= 39;;'
=C2=A0#
=C2=A0safe_set() {
-=C2=A0 =C2=A0 ${SED:-sed} 's/^[=C2=A0 ]*//;s/^[:#].*//;/^[A-Za-z_][A-Za-z0-9_]*=3D/!d;s;[^A-Za-z0-9_.=C2=A0 =C2=A0"'"$1&q= uot;'$,/=3D:+-];_;g'
+=C2=A0 =C2=A0 ${SED:-sed} 's/^[=C2=A0 ]*//;s/[=C2=A0 =C2=A0 =C2=A0 =C2= =A0 ]*#.*//;s/^:.*//;/^[A-Za-z_][A-Za-z0-9_]*=3D/!d;s;[^A-Za-z0-9= _.=C2=A0 =C2=A0"'"$1"'$,/=3D:+-];_;g'
=C2=A0}

=C2=A0##

--000000000000c568a3065065e699-- From nobody Mon Apr 27 00:30:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3kwz2NBMz6bKmW for ; Mon, 27 Apr 2026 00:30: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 4g3kwy6BTbz3RWX for ; Mon, 27 Apr 2026 00:30:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777249810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GefgSmGP3W5Uf2uWWeVj9BUTdBAwLSEAQYxoJCtR9xo=; b=o6GxdO025mfpYTMlFVd3WZa5QOMBfNwWQuMdXbgGUJIdxu/umSgUKJEK+sWK0mGEh5t7B9 bG6z3EMrW9LOOylapkI3sl5RTDrTgPK+WB88hxTaNUrr7zC0ST7iBn+crDi/DfgT0/jBnn Zf3zBQq6h5r9EqKCYlStl++FUCNbbi5yS6A1SK8J+9U4D0Vfq0ji10MhxYiYwuk5zGLgxT uabdcr4H5gena0IPoGMr4lI2N9NnR6/m52SNv01HtsEqm52751CbNG5eFxEh1c4tsXaihq GWNT6cUX9Kw5GfLyJukoKg+vKpewF4wyJGL0zZL640IPng6UN/b3jcJi8JZ1cA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777249810; a=rsa-sha256; cv=none; b=Jv+4k1PWslXvQJehsZX9mLQem+68x3u2pdJemHM9juSmZorl7Z2X0cSmCdwCtTFbo4O1DZ eQxIdOzPc43vJ7MMNrmQD6dBcK5ePVD3CtYO9PgN+ebYVI3eLGU+eEPp6R1IaOar23IiQE U8L9kKZC++9oQmer08FyPdb6QzbGwvCamqCUs4uKtbC9Vur8awgLNDOvIcFkJmjiXm/sI5 1XFiQXD/Bb4TEBits3eXUGAnuv7P4jPR6O2t7KPDNL5+nBPqo+80gDLkgNj7o57mRju7I6 Y6uT4qFBb27uycezl4PcWnN+6JXWjw7U28X6ehQj6sWKoPqRyy3K5mI9BNNVeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777249810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GefgSmGP3W5Uf2uWWeVj9BUTdBAwLSEAQYxoJCtR9xo=; b=rETk+BGFaFX8Wkl7RkgQVa4bPywCwOiJdIu86cAYnDlhIUrI9BTt1BES96ask7RmRUbB5S GrMWEnJkZojwzvqkWmVzKzfCwxyDkX9ngbOds8h3xi1IWVbKYhfvBZJNbD4nP3JAO465sf J684GIWkJOXQZYFe4KdTFt54inNrOb1W+NaUivFE5DkYUVlCh2w46fnks5bW9y1BOJXynr hPDiaIcIkgkhc1jZzj5eJbddOw7ngZW2563hkpUgO1zB6AX7xu9DNzlE9z/QXLQjwhSHvr jYWa75pOmFv/I7nf1fDAJJM+D7oe3musnirvm2s4c4qwkbBxgnBOSsH2FPZdnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3kwy5mXYzkw6 for ; Mon, 27 Apr 2026 00:30:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ee69 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 00:30:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: 16ed84d2b9a1 - stable/15 - include/stdbit.h: declare size_t, (u)int*_t, and (u)int_least*_t List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 16ed84d2b9a1c95b6e0aabd5b7976367b2997d00 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 00:30:05 +0000 Message-Id: <69eeae0d.1ee69.664c2129@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=16ed84d2b9a1c95b6e0aabd5b7976367b2997d00 commit 16ed84d2b9a1c95b6e0aabd5b7976367b2997d00 Author: Robert Clausecker AuthorDate: 2026-04-19 12:36:34 +0000 Commit: Robert Clausecker CommitDate: 2026-04-27 00:29:49 +0000 include/stdbit.h: declare size_t, (u)int*_t, and (u)int_least*_t These are required by ISO/IEC 9899:2024 § 7.18.1 ¶ 1 but were forgotten in my initial work. The current approach leaks intptr_t, uintptr_t, intmax_t, and uintmax_t through . This could be avoided using a more complicated approach if desired. PR: 294131 Fixes: 6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Reported by: Collin Funk Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56515 (cherry picked from commit c8c9324c94dfd4eeecbcfe4a1d3daa047420d3e5) --- include/stdbit.h | 22 +++++++++++++++++++++- sys/sys/stdint.h | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/stdbit.h b/include/stdbit.h index a529676bed4b..6b9ea02971b0 100644 --- a/include/stdbit.h +++ b/include/stdbit.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2025 Robert Clausecker + * Copyright (c) 2025-2026 Robert Clausecker * * SPDX-License-Identifier: BSD-2-Clause */ @@ -8,6 +8,26 @@ #define __STDC_VERSION_STDBIT_H__ 202311L #include +#include +#include + +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + +#ifndef _INT_LEAST_T_DECLARED +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +#define _INT_LEAST_T_DECLARED +#endif /* byte order */ #define __STDC_ENDIAN_LITTLE__ __ORDER_LITTLE_ENDIAN__ diff --git a/sys/sys/stdint.h b/sys/sys/stdint.h index 77f469f3c2a3..dccc5a8e6a6d 100644 --- a/sys/sys/stdint.h +++ b/sys/sys/stdint.h @@ -35,6 +35,7 @@ #include #include +#ifndef _INT_LEAST_T_DECLARED typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; @@ -44,6 +45,8 @@ typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; +#define _INT_LEAST_T_DECLARED +#endif typedef __int_fast8_t int_fast8_t; typedef __int_fast16_t int_fast16_t; From nobody Mon Apr 27 01:18:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3m0x5B1tz6bPpq for ; Mon, 27 Apr 2026 01:18: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 4g3m0x4QkSz3VbT for ; Mon, 27 Apr 2026 01:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777252721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2GMdK6ickVQHmAIc17/ojysywMDpDUhEeLg6PfJlQQ=; b=hwb2tzWO37kaUet0/XG6aD5Ew1EakrR3j1Zq3K5gIBvsZu+DYsegy/qhjJMwDsN1avMSMS dKWzTQ17pYKB5kbQEJdf36e1WJnMZ7P8k5VUrIlJ5hQwH/RRj13U1GeWXPGdruJM1wnTFy z0n+g041YYiyxuAsEyY3/ZQi35+Pnp2GHBAZ+dRkjl09yTv7tW/njmgGNGTU2LHo9fIN3I EpOSdqGVWj86fxHt3qRkhL1jA1ejtxnmG+D/2J2tc6QQCbxU5obb/Xn4HE6Tg9TJQ0uep9 7JEBzwZLHV2gQuBBFCtrGhKwhVtmhIApdUWSXAuz53hO17G5rwFY+bts2OKxvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777252721; a=rsa-sha256; cv=none; b=uO1sTs+UiECANacDc3vxGoOoh03VTuoscQuvoksvQ1/VS2lLxpfm2yxotsd9QVZH/iiHlw wxdbRBwwHezo6QggnWgV3jjKCCCH5StUk23DYHYhmbB1DKwLu41aM6X5IsRHx/Ofm6HbHo KycrxIHgL06mfWH9ga9CdfYrZfWLDsJsIS//NGGLVz6JW2TEEn7wE51R9iyv8stdFFa3PX IrwPhMzvlkiw77+ET5X68dJ4qu9qymTh7poNwevmkUjYv6OSemXIxM/AtJyZuyJNwkFfIH 6On2HT9kv/PD64TSrqLgjDF4+CfLrSnv8PHVorX2//DxTRhnkpA2yq9EkkT5mQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777252721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2GMdK6ickVQHmAIc17/ojysywMDpDUhEeLg6PfJlQQ=; b=AbDoPaEZ6UUVLMdXIww50g5w2MO+vqPfml1/spV2HVcb57iZ25Jn8uY6eS8Diz1UXxc6/D AUm1BGNOmNl5nXgcMOEoGZ7Oub4OXM20AuXuEvBG8AcaOLZFFEzKrr5pSgiNBDNV73f37f aiIfO113LXh2NL5MbWzvdFNIOBIguXD/MmdYC0x7wkoDD+TDGsMQkQg4aSWNaNbTqjKTvz QAFl6xXYyLSVyRNgepE+hHk/g89NlKUqvTgtA8rG7706Ao+Lj7+Bw4zW/sA9D7JACGrnwD 4B65GSsKVtlNhYX6i3kLpjPIYgTI7SLn+0C3hlorD3di1fa4nsZqABc/3GG6IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3m0x3rVZzlmJ for ; Mon, 27 Apr 2026 01:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25497 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:18:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: f7bf9fd6199c - main - tests/tcp_hpts_test: Fix resource leaks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7bf9fd6199c99284dbc899928d8ad62861da414 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:18:36 +0000 Message-Id: <69eeb96c.25497.3455786a@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f7bf9fd6199c99284dbc899928d8ad62861da414 commit f7bf9fd6199c99284dbc899928d8ad62861da414 Author: Mark Johnston AuthorDate: 2026-04-27 01:17:36 +0000 Commit: Mark Johnston CommitDate: 2026-04-27 01:17:36 +0000 tests/tcp_hpts_test: Fix resource leaks When a KTEST_EQUAL assertion fails, the test function returns, but this can cause it to leak locks, which can trigger a panic under witness. Add a variant which causes control flow to jump to a label in case of failure, and use that to prevent this problem. Reviewed by: Nick Banks , tuexen MFC after: 1 weeks Differential Revision: https://reviews.freebsd.org/D56647 --- sys/netinet/tcp_hpts_test.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/sys/netinet/tcp_hpts_test.c b/sys/netinet/tcp_hpts_test.c index a664e9fafcc3..bc61b64b8c58 100644 --- a/sys/netinet/tcp_hpts_test.c +++ b/sys/netinet/tcp_hpts_test.c @@ -90,6 +90,18 @@ SYSCTL_INT(_net_inet_tcp_hpts_test, OID_AUTO, exit_on_failure, CTLFLAG_RW, } \ } while (0) +#define KTEST_EQUAL_GOTO(x, y, label) do { \ + if ((x) != (y)) { \ + KTEST_ERR(ctx, "FAIL: %s != %s (%d != %d)", #x, #y, (x), (y)); \ + if (test_exit_on_failure) { \ + error = EINVAL; \ + goto label; \ + } \ + } else { \ + KTEST_LOG(ctx, "PASS: %s == %s", #x, #y); \ + } \ +} while (0) + #define KTEST_NEQUAL(x, y) do { \ if ((x) == (y)) { \ KTEST_ERR(ctx, "FAIL: %s == %s (%d == %d)", #x, #y, (x), (y)); \ @@ -1461,6 +1473,7 @@ KTEST_FUNC(direct_wake_mechanism) struct tcp_hptsi *pace; struct tcpcb *tp; struct tcp_hpts_entry *hpts; + int error; test_hpts_init(); @@ -1477,8 +1490,8 @@ KTEST_FUNC(direct_wake_mechanism) hpts->p_on_queue_cnt = 50; /* Below threshold */ hpts->p_hpts_wake_scheduled = 0; tcp_hpts_wake(hpts); - KTEST_EQUAL(hpts->p_hpts_wake_scheduled, 1); - KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 1); + KTEST_EQUAL_GOTO(hpts->p_hpts_wake_scheduled, 1, cleanup_locked); + KTEST_EQUAL_GOTO(call_counts[CCNT_SWI_SCHED], 1, cleanup_locked); HPTS_UNLOCK(hpts); /* Reset for next test */ @@ -1490,9 +1503,9 @@ KTEST_FUNC(direct_wake_mechanism) hpts->p_on_queue_cnt = 200; /* Above threshold */ hpts->p_direct_wake = 1; /* Request direct wake */ tcp_hpts_wake(hpts); - KTEST_EQUAL(hpts->p_hpts_wake_scheduled, 0); /* Should be inhibited */ - KTEST_EQUAL(hpts->p_direct_wake, 0); /* Should be cleared */ - KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 0); /* No SWI scheduled */ + KTEST_EQUAL_GOTO(hpts->p_hpts_wake_scheduled, 0, cleanup_locked); + KTEST_EQUAL_GOTO(hpts->p_direct_wake, 0, cleanup_locked); + KTEST_EQUAL_GOTO(call_counts[CCNT_SWI_SCHED], 0, cleanup_locked); HPTS_UNLOCK(hpts); test_hpts_free_tcpcb(tp); @@ -1500,6 +1513,10 @@ KTEST_FUNC(direct_wake_mechanism) tcp_hptsi_destroy(pace); return (0); + +cleanup_locked: + HPTS_UNLOCK(hpts); + return (error); } /* From nobody Mon Apr 27 01:29:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFj5frlz6bQZH for ; Mon, 27 Apr 2026 01:29: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 4g3mFj37Xfz3XZG for ; Mon, 27 Apr 2026 01:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+bKrymRHqpVADIJpuICFvlLZ3soWLlOVY/1zlBSmCY=; b=oLLOcYBGnQZNk3F3wMilsxMXBv2+sgLjyneRVnF74qV7X/AyrP9/jsnM0yH0S4gJDmFocU Jo84Hs+iu7FFGyWmJkdTexwbfsmXsQaBcUQtOwaXD8gAbAxVecb/AqBLiOqBA9rEo8y3BF J/pjBnEuLuKWd7k56vn5JkkNkQZ+29PozFQdWa1G70PMAHDN2qKLmegTT+ozfhph9ADZ0O KISUGIus7Br1aWhp8SM/5UQ3g0jsmHpTrklSTEsXh6qgcXuQ6Um8PNDIDSGurEsej6DnWo +Ug96qmiG9s/BUGwu0+FsDeN1cvydrZ/ZOc9uRibdgN/i00iGbg6qQCAtJxinw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777253385; a=rsa-sha256; cv=none; b=pKfMC3iCzECvNJ8topSLpQfv05X38QFK6PeTkZ209WdTnXqo/TRlK2okDbOxOV+d/E50b2 Q886P1w/6otDFq6xkipnZ07dtXaBLxsIwEib4tz5FhkAJwwdZH96rnLuAU2jMIdod3ikkG mqhiOyd5SSYqOqEUD1CCgz889OcqtCvUB1iBUw3BdZfjcT/X42/P0y78k7/OiH/GeqTEHb uY6YyqDxpOK7x7O0T6RyDSAHKsb/dkQUIUaLYxnp3TF4sDMT5YbYJEIinBvHs3ppUHWO01 L/oFwNrW1nSrNp6+qD9YxqCvNniv+q9EBqUobfuv2kZPICiqkGVXHmXUi7BiGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+bKrymRHqpVADIJpuICFvlLZ3soWLlOVY/1zlBSmCY=; b=LZQVsCqrkwyBJJ4KTkSro2XKPuVfYbhIurezr6+rYb0vMSi9+4J8V8BmKYmTjaURS4Iyxe rWZnnRPOeXXK3eMTQFlJrjuUxUdpgsaJBn9E48Z2J4cnmthEDnxuZGCNpWcfqI9nanvyn4 Jl4LutiekZlVoF3/RSyG5CS4cAydOzbKBgq6O7fkHftHXrn0uciMkX667ZcU+N6KgSxFvM wgNylKOVSyQvEEdskOSSBDfuUIMNp6lUbXRPh0L/GPJUPO2d5f+9J429z3YHtSD85Oy5ln 58nzLsj7r5HNJjdsn2N0+Be8yep2KPZyWqgvvkTbyf4bD5bxpBU9xTih4DvDng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFj2grLzmPF for ; Mon, 27 Apr 2026 01:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 270fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:29:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 342ce4b6b4d9 - stable/15 - membarrier(2): implement the MEMBARRIER_CMD_GET_REGISTRATIONS command List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 342ce4b6b4d98c5bf6ba5e0be46dd2805d710d75 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:29:45 +0000 Message-Id: <69eebc09.270fe.31f09416@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=342ce4b6b4d98c5bf6ba5e0be46dd2805d710d75 commit 342ce4b6b4d98c5bf6ba5e0be46dd2805d710d75 Author: Konstantin Belousov AuthorDate: 2026-04-18 18:43:59 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:28:59 +0000 membarrier(2): implement the MEMBARRIER_CMD_GET_REGISTRATIONS command (cherry picked from commit aaa10396a997bafc28ce6551e92563620caf3df4) --- sys/kern/kern_membarrier.c | 20 +++++++++++++++++--- sys/sys/membarrier.h | 3 +++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_membarrier.c b/sys/kern/kern_membarrier.c index 6d210a1b1783..0c8f4b843473 100644 --- a/sys/kern/kern_membarrier.c +++ b/sys/kern/kern_membarrier.c @@ -51,7 +51,8 @@ MEMBARRIER_CMD_PRIVATE_EXPEDITED | \ MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED | \ MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE | \ - MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE | \ + MEMBARRIER_CMD_GET_REGISTRATIONS) static void membarrier_action_seqcst(void *arg __unused) @@ -120,7 +121,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) struct thread *td1; cpuset_t cs; uint64_t *swt; - int c, error, f; + int c, error, f, res; bool first; if (flags != 0 || (cmd & ~MEMBARRIER_SUPPORTED_CMDS) != 0) @@ -218,13 +219,26 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE: - if ((p->p_flag2 & P2_MEMBAR_PRIVE_SYNCORE) == 0) { + if ((f & P2_MEMBAR_PRIVE_SYNCORE) == 0) { PROC_LOCK(p); p->p_flag2 |= P2_MEMBAR_PRIVE_SYNCORE; PROC_UNLOCK(p); } break; + case MEMBARRIER_CMD_GET_REGISTRATIONS: + res = 0; + if ((f & P2_MEMBAR_GLOBE) != 0) + res |= MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED; + if ((f & P2_MEMBAR_PRIVE) != 0) + res |= MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED; + if ((f & P2_MEMBAR_PRIVE_SYNCORE) != 0) { + res |= + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE; + } + td->td_retval[0] = res; + break; + default: error = EINVAL; break; diff --git a/sys/sys/membarrier.h b/sys/sys/membarrier.h index 31a605634ddb..34a525dabae6 100644 --- a/sys/sys/membarrier.h +++ b/sys/sys/membarrier.h @@ -55,6 +55,9 @@ enum membarrier_cmd { */ MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 0x00000080, MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 0x00000100, + + /* Return the bitmask of current registrations. */ + MEMBARRIER_CMD_GET_REGISTRATIONS = 0x00000200, }; enum membarrier_cmd_flag { From nobody Mon Apr 27 01:29:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFh5Mj6z6bQRb for ; Mon, 27 Apr 2026 01:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3mFh44HWz3XKF for ; Mon, 27 Apr 2026 01:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xzfg5H1ncAvp6UervSk1vbSjSfu5a+knTG5aoEfwCzw=; b=FLiWpXw8TbiEmxvfUJJ0Wf2BYG8PJzRPDHFnJVhCGJfQ8zTEjSA08rLNg4gOq4kkG+sXYw T5c/v3XACBrxaWWGfCY97aD3JUOjpj/Vmf7KjA/XzgJdoDBeF7Pt9uC49XBFKJNryY/1X8 j8PmzN2cR8UkGhPxplIz/QXDODk69GaOMiYnBfWDSOKppba9dbJYk5Ej1cWYekb27KaE3G kT0xnMYU1jlQlQtY5bJRkAkbK9Y0tBCCwsgg0X07ukcIDkOP9Omy0IaCVWRs53R8BVTer9 wTZu4Lei7FlK2C8PaEW/Ray6AuMagoAzIrO45SS1AFQlqWdz6zj1IPM+jzEsJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777253384; a=rsa-sha256; cv=none; b=wrtGJKEnDjct8D1hZXk6CYolGvjU84sRUpR2I62z2Ek42sixLJ8YaW0iLMjoF2FORNL1l/ R455C5DSLRu8As9f241PYk2jmA8bmzYXitOBquhTj6iGrQHmIGux3BM5vX1BUHjZkgcWUS h3TUpvMxMrC5cv+HDFTM6ZsB9XF9mmcFQv0DlP4A2dEU+a9wplIPBMS3KnezY6YwyxvZjA T76hma/T8i+76qpPCQp1tcJnX7MDCZQrFGqqV0ulGOhPyaHSQNykVGXZTYUv+s9Obap86p z9rw4ijTXgjhDrrelSFGLNmiv+EQanXNXiAWTURE4wipKW6MB43w2YppdwWgNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xzfg5H1ncAvp6UervSk1vbSjSfu5a+knTG5aoEfwCzw=; b=ykmhhZT1PVpR05X3ymY6/yaYPHp971o8dZRQTvDIjkSvC5K2Gknkco4/26n0zJpJ1yRCjs W6wAjE4h17jyboQasZOLAb/8C58/WBEVY/xvdXe1/9Z2n+cBpzkBWX8Nyvkfn8qcM4WZCl TvJWNaaxpKHZFO7Juy3IDrUSDpFQMePvqhBk64cpNW7Ps9N4ReHm72a1ilBboQPwRXV/Xt Kq94mFnAgpiPT+wM9skhUNdtQ6Sw8cxiwkd3HSP150hy0b4eLMt7RMLaub4XJkDjlK0anX SxfUjkpPmbZB66/wm/HTnW1r9saacZpM3hL4YW70zxUfk8CuKL3+vYx3Bj6Duw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFh2mGGzmMc for ; Mon, 27 Apr 2026 01:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2695f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:29:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fad4e7b656b8 - stable/15 - membarrier(2): use atomic for lockless read of curproc->p_flag2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: fad4e7b656b86befd5995fc4704c68e57a96caa6 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:29:44 +0000 Message-Id: <69eebc08.2695f.43727b7c@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fad4e7b656b86befd5995fc4704c68e57a96caa6 commit fad4e7b656b86befd5995fc4704c68e57a96caa6 Author: Konstantin Belousov AuthorDate: 2026-04-18 18:42:56 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:28:59 +0000 membarrier(2): use atomic for lockless read of curproc->p_flag2 (cherry picked from commit 950fd59955e10429c1325c327f0141a7e97fcfe5) --- sys/kern/kern_membarrier.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_membarrier.c b/sys/kern/kern_membarrier.c index f0660bd7360e..6d210a1b1783 100644 --- a/sys/kern/kern_membarrier.c +++ b/sys/kern/kern_membarrier.c @@ -120,7 +120,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) struct thread *td1; cpuset_t cs; uint64_t *swt; - int c, error; + int c, error, f; bool first; if (flags != 0 || (cmd & ~MEMBARRIER_SUPPORTED_CMDS) != 0) @@ -133,6 +133,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) p = td->td_proc; error = 0; + f = atomic_load_int(&td->td_proc->p_flag2); switch (cmd) { case MEMBARRIER_CMD_GLOBAL: @@ -155,7 +156,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_GLOBAL_EXPEDITED: - if ((td->td_proc->p_flag2 & P2_MEMBAR_GLOBE) == 0) { + if ((f & P2_MEMBAR_GLOBE) == 0) { error = EPERM; } else { CPU_ZERO(&cs); @@ -171,7 +172,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED: - if ((p->p_flag2 & P2_MEMBAR_GLOBE) == 0) { + if ((f & P2_MEMBAR_GLOBE) == 0) { PROC_LOCK(p); p->p_flag2 |= P2_MEMBAR_GLOBE; PROC_UNLOCK(p); @@ -179,7 +180,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_PRIVATE_EXPEDITED: - if ((td->td_proc->p_flag2 & P2_MEMBAR_PRIVE) == 0) { + if ((f & P2_MEMBAR_PRIVE) == 0) { error = EPERM; } else { pmap_active_cpus(vmspace_pmap(p->p_vmspace), &cs); @@ -188,7 +189,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED: - if ((p->p_flag2 & P2_MEMBAR_PRIVE) == 0) { + if ((f & P2_MEMBAR_PRIVE) == 0) { PROC_LOCK(p); p->p_flag2 |= P2_MEMBAR_PRIVE; PROC_UNLOCK(p); @@ -196,7 +197,7 @@ kern_membarrier(struct thread *td, int cmd, unsigned flags, int cpu_id) break; case MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE: - if ((td->td_proc->p_flag2 & P2_MEMBAR_PRIVE_SYNCORE) == 0) { + if ((f & P2_MEMBAR_PRIVE_SYNCORE) == 0) { error = EPERM; } else { /* From nobody Mon Apr 27 01:29:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFk5xqxz6bQXM for ; Mon, 27 Apr 2026 01:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3mFk3s6lz3XLf for ; Mon, 27 Apr 2026 01:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3Rv16HzcGAyBL9Uki446o7qOQRxP1mg09tarXJwvLQ=; b=tN2YDRCzBlV4xoK0/lasXlrMD8bAb2oF/nRQuqaHM6w2UB5UdtBxHxcAVy4OV8VX2SnH28 SUMJSbPL7QKuzCwcUewZl7Ckr/E21AoKEBchqbGaU1bVtVTDKaveWlgc6XEuejt4oHuqk/ e26/t6cYewPjOtbl18DYkuyIR5MnJJzhl6jsKZQ99bei4XtWRlK382/evlD6JXBX3UvnjE FVyc+gCr0X7TpB1X3onMLwRqA4KlKp/L+8w7mIRvTEPXpVMkhbs2og/+hk6IhwonXsVXtZ R9yWu0IHnybm54NfTD9dtj1tEkqGDecA4FLcINvEgygKOFgPdobNs01yqEFEjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777253386; a=rsa-sha256; cv=none; b=KUmLoxADLjGr0yf5X3gpFprxMkXG5nXtYXCBGZiekFLWTdzheafi1dCHAixC9PrPqr6HCy j+1WiSrjJrS+w0TbJl7o1bpWXynhGQWUqahag7uxQvrdzZ+Xq1WyWufZ+/BFuwtS61nZPZ 8kNCWwghuu4nNEnJ02e1AkJ3rwJjfXLFXkktAhFBLdBdXDD+CvprO1v/c0Bp1pbstl9xGn sV1zWkT8HZpFsmhRxBTNDeyEZBMO98qPltCPFB8z8VR8O1v/6+p1kKjIkz1LjvMH5DSJyB mtpjsGdfpt3SAxkzZIo2hqsluAfHhsEFIMkweKmyv+Xl4GNe/dE6+WoDRjGADw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3Rv16HzcGAyBL9Uki446o7qOQRxP1mg09tarXJwvLQ=; b=JllOsVxdg7fczvshQovtENkN9uRZ0JFwfYBl8eh0UwX+TpipGKK38buBMtFmz/q4P7+l8m CcggbvWZLQ46z2xvSLq4R9GXX3dthOXlsjaDljpcKOAogFdgheaZgtm60r2d/BLGy+NYhf vbiAdlVSDqUCP40rz0FNGX7gXqhZ34lgrCIZXu6qTF/8A1aycEU2cIcLYwWt04KLSQ8Vzy 7lzTBrrQRPkkqGRu73qphbT8B1hvmZhw5Krn1scVbRsEihnEM6FuDUBmmOZSqOzth0vOSx etiUdF+J+OGNs1mNpm+8Y9170brK7JaG8ya4F2ZX4SEipVkiv3xzftiGfWTWHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFk3SG5zmPG for ; Mon, 27 Apr 2026 01:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2641e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:29:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b024a8d082a9 - stable/15 - membarrier.2: document MEMBARRIER_CMD_GET_REGISTRATIONS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b024a8d082a96a9c9d0151d0aeb864f67a4e9fcb Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:29:46 +0000 Message-Id: <69eebc0a.2641e.5ce8a89c@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b024a8d082a96a9c9d0151d0aeb864f67a4e9fcb commit b024a8d082a96a9c9d0151d0aeb864f67a4e9fcb Author: Konstantin Belousov AuthorDate: 2026-04-18 18:47:02 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:28:59 +0000 membarrier.2: document MEMBARRIER_CMD_GET_REGISTRATIONS (cherry picked from commit 324b3c2892a53e5fd9b1d8795a31a59ee835c5de) --- lib/libsys/membarrier.2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/libsys/membarrier.2 b/lib/libsys/membarrier.2 index 87db620975ef..1dce2c823022 100644 --- a/lib/libsys/membarrier.2 +++ b/lib/libsys/membarrier.2 @@ -83,6 +83,8 @@ CPU are fenced. Register the process to receive .Dv MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE memory barriers. +.It Dv MEMBARRIER_CMD_GET_REGISTRATIONS +Return the bitmask of the currently registered receive barriers. .El .Pp The following @@ -106,6 +108,10 @@ If the is .Dv MEMBARRIER_CMD_QUERY a bitmask of supported commands is returned. +For the +.Dv MEMBARRIER_CMD_GET_REGISTRATIONS +command, a bitmask of the registrations for the current process +is returned. Otherwise, on success, .Nm returns 0. From nobody Mon Apr 27 01:29:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFl6yFYz6bQL5 for ; Mon, 27 Apr 2026 01:29: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 4g3mFl56Mvz3XKH for ; Mon, 27 Apr 2026 01:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4KatSwTwJki3cvCl7pMKR+u2JjMqpm8Kpo9ALhlt37I=; b=iumdWkM9RLKrOKu5l1qE2tF1xeSDSe1WeLTMTnM78wLx+JwVdOfCS7dnV1eUXA2heyIJuM +k9m0OhuoAaTyKfqFt/crI+AIYWCh791kdHvlCagaC2yt9abp0EPsht833on3uk1ectjlQ 4NTyy9Lh68ZpQA5Sn43DHrxyfRfKjijc+a7mvS3AFPXWo1FQ0teHi0VB8NjJyUztCuStMR Zo3SYsr+FzHRb+FIpFfuMnq6KvgHOcqB2sa/vXXuLBdl54cUmdwHKK6VWZmM1+EYs7drIi D3vfE3wG/OuaRcHmgUvkAyZ11AGPQdtS6VG5AHfH26fD5qN8cv8DjPyAKhezUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777253387; a=rsa-sha256; cv=none; b=Nx5NU3lAr+AogCjKij+iwgPQicuVlmkKy5XxSTB5Gq88loRAHS3UPJo8SH4bbaqkLDhGsn Fgw8g29iYyhdL8ncWMKSaf0PQ8827lziAFO5/ch+XjeB6XoXqelt/E8Gqg6c9gfdfU2N8e Wk7x4hGVVVs0yv0cChdroOdP61Ig3M4wpzIP7JY8pyTngge6VcHJ7IaPBAZQE0RKVZfnxT Qk7bio5YAsorXUoVohKKQy22uRfirFG/xTO8fenpSf/Gz/qeQdxShUncFomOQWwUClieIe 9r08VnpNZj8UyDMGxIhWpG/lMmCHH/fYJr9MOjCy3+aZOHURp2zS+aEXCvq+Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4KatSwTwJki3cvCl7pMKR+u2JjMqpm8Kpo9ALhlt37I=; b=esbmZWbHnvnSvS1Xd7495mq2abYDWPhsBnO1L57j15Mf4vT+IM5FYvnUyhxleKdyBpNBbd WZ5y9etp9WRjYwNTsHXSce/S3OWaC1aWpb4mZu/io6MUrGcf1eTD3gkuaS+WXgu0fnP0Dw 6rxY2xGt58q0fByOeZd53/WXUmWXf0gyvZyUlkgTxVNyA8MM9U4pf3wovBt7QQiGdmV9mj vwF9INNfmcmV4Rf4BfD/AODUAoKeeuvHp/+RzpF/SAWrKeFWwt4wyq77jXwAZrTrHGa8w6 AiGJ5vK0Z/Nev3cUixD81FTV+JYxKRyYnpjcSoadxH2Rx6iqyBR8UpChTFTRAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFl4LSHzlqK for ; Mon, 27 Apr 2026 01:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26487 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:29:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: GenericRikka From: Konstantin Belousov Subject: git: ea8fd844183f - stable/15 - kern/proc: expose reaper PID and subtree root in struct kinfo_proc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ea8fd844183feb8ff44a32aa30291477e88fe4ae Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:29:47 +0000 Message-Id: <69eebc0b.26487.68aa34f7@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ea8fd844183feb8ff44a32aa30291477e88fe4ae commit ea8fd844183feb8ff44a32aa30291477e88fe4ae Author: GenericRikka AuthorDate: 2026-04-20 23:32:49 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:28:59 +0000 kern/proc: expose reaper PID and subtree root in struct kinfo_proc PR: 293871 (cherry picked from commit 0f89380a3d208d67698f2d35afd35257e5fdbe09) --- lib/libkvm/kvm_proc.c | 8 ++++++++ sys/compat/freebsd32/freebsd32.h | 4 +++- sys/kern/kern_proc.c | 4 ++++ sys/sys/user.h | 4 +++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index fed483978e62..a952888c9ef0 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -121,6 +121,7 @@ kvm_proclist(kvm_t *kd, int what, int arg, struct proc *p, struct thread mtd; struct proc proc; struct proc pproc; + struct proc rproc; struct sysentvec sysent; char svname[KI_EMULNAMELEN]; struct thread *td = NULL; @@ -365,6 +366,13 @@ nopgrp: kp->ki_xstat = KW_EXITCODE(proc.p_xexit, proc.p_xsig); kp->ki_acflag = proc.p_acflag; kp->ki_lock = proc.p_lock; + if (KREAD(kd, (u_long)proc.p_reaper, &rproc)) { + _kvm_err(kd, kd->program, + "can't read reaper at %p", proc.p_reaper); + return (-1); + } + kp->ki_reaper = rproc.p_pid; + kp->ki_reapsubtree = proc.p_reapsubtree; kp->ki_tdev_freebsd11 = kp->ki_tdev; /* truncate */ /* Per-thread items; iterate as appropriate. */ diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h index 1436b630689f..3f5b93859f5c 100644 --- a/sys/compat/freebsd32/freebsd32.h +++ b/sys/compat/freebsd32/freebsd32.h @@ -392,8 +392,10 @@ struct kinfo_proc32 { char ki_emul[KI_EMULNAMELEN+1]; char ki_loginclass[LOGINCLASSLEN+1]; char ki_moretdname[MAXCOMLEN-TDNAMLEN+1]; - char ki_sparestrings[46]; + char ki_sparestrings[38]; int ki_spareints[KI_NSPARE_INT]; + pid_t ki_reaper; + pid_t ki_reapsubtree; freebsd32_uint64_t ki_tdev; int ki_oncpu; int ki_lastcpu; diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index e6541c73ccac..758f54c540ab 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -1237,6 +1237,8 @@ fill_kinfo_proc_pgrp(struct proc *p, struct kinfo_proc *kp) kp->ki_tdev = NODEV; kp->ki_tdev_freebsd11 = kp->ki_tdev; /* truncate */ } + kp->ki_reaper = p->p_reaper->p_pid; + kp->ki_reapsubtree = p->p_reapsubtree; } /* @@ -1496,6 +1498,8 @@ freebsd32_kinfo_proc_out(const struct kinfo_proc *ki, struct kinfo_proc32 *ki32) CP(*ki, *ki32, ki_fibnum); CP(*ki, *ki32, ki_cr_flags); CP(*ki, *ki32, ki_jid); + CP(*ki, *ki32, ki_reaper); + CP(*ki, *ki32, ki_reapsubtree); CP(*ki, *ki32, ki_numthreads); CP(*ki, *ki32, ki_tid); CP(*ki, *ki32, ki_pri); diff --git a/sys/sys/user.h b/sys/sys/user.h index 59210913f889..e1a3897cd319 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -186,8 +186,10 @@ struct kinfo_proc { * front of ki_sparestrings, and ints from the end of ki_spareints. * That way the spare room from both arrays will remain contiguous. */ - char ki_sparestrings[46]; /* spare string space */ + char ki_sparestrings[38]; /* spare string space */ int ki_spareints[KI_NSPARE_INT]; /* spare room for growth */ + pid_t ki_reaper; /* pid of reaper process */ + pid_t ki_reapsubtree; /* reaper subtree id */ uint64_t ki_tdev; /* controlling tty dev */ int ki_oncpu; /* Which cpu we are on */ int ki_lastcpu; /* Last cpu we were on */ From nobody Mon Apr 27 01:29:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFn3Ctpz6bQLB for ; Mon, 27 Apr 2026 01:29:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3mFn0MfHz3XQx for ; Mon, 27 Apr 2026 01:29:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTmnlwTsninQBD+xyABEEhl+NewjJvlrVALFko+gJW0=; b=NJInSD60hgdKwFh2VQElvSkF+IYmkQzjpF3jLEbPFNVcflvvR8QpEMuBvu/zml0jJ2V4YG 8RO9YoXxAti2agPQDiKpaNc6urMI9hzfrOXaoMAyCp6/1JQXFYDs2bWdTpQC9SI3DH1Y9L pE+3QDbPA4wjiHdnu+lrRdCHcBVcqwO1KoYHWPcgF24DQ536nKhY5sR1KM1SwMG6mom9wl B2BqwMWxW3+2gkMUOXzZdpaIzjiJSWIh7krDl+edvyp9ID2r8vyjkgT/njnPfKdQjRcvgr WV5ot4nyKVLK++Oopq5ZXLq+3u+SXWt6FWornLYEJ4X2cgtKYgy77N1CJjl9Ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777253389; a=rsa-sha256; cv=none; b=J/YEdDA5q4eSRLy20Iicm5JMlQpOEOeodXX5LYETiCU/OWQNPXmBGXzRl5jnCqt447WY5e KPbKpGNdnbD9fzBCRKoqgv8ZZeYI0lsMcoSXWLxb8VUd/zdWFE34Ptu7BfKTRxeH0aIN6i hvMZtKJMd7ZqPPYrjfMlzyeDyh090KkT6MArDFE4KiRnhKaCs4Fm3iioplbkm2SXE0xK/S 83UJGEY/0xEGoPqWy8crd5c9xnkoSDDifbr1pEAsXGaSg8dZzyoQx5RUVbOsBTj2rcCJzG l232Ytgegl/mkv+xFLmGy76hMpwAB8jHmGnKrG56+BQ2pz+r14j38uoTBFmIeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777253389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTmnlwTsninQBD+xyABEEhl+NewjJvlrVALFko+gJW0=; b=MmAMyFwTBiikHinGVNqHcN9H6CjZH70fJ1+Prb9ZFZqbJc7yxK3FxvR/AoN7IJrUagdDIU HJ/APwNIA4++cvO/mFb5LfZxN3Wfjf1w2rlKBS7zIGk56ML9XYyoB+Zbuq5jcsVXX7zZ+/ JTbNLHuXxhmWp11HoRY6mRV9wDaPeLjBc1XfSCkU3OWF0/Mv28/vZTDEFHW551X9S+97XU uiKifg0OSvoLwCasyYAWU5vVKuQjiLy//4uns3VrwbiWvMwmAdSv2rXbR/49QPYCWNthxt Qytfd73We0xDCSbCP52wHZF5tdM9slhFRQMN9jhPkORuUHBEw/BNCGIVRU/CNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3mFm5R4kzmMg for ; Mon, 27 Apr 2026 01:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26422 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 01:29:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f60defbd2bcb - stable/15 - conf/std.nodebug: disable DEBUG_LOCKS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f60defbd2bcb6212294a783958f7884faa8b2b34 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 01:29:48 +0000 Message-Id: <69eebc0c.26422.3aa8568a@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f60defbd2bcb6212294a783958f7884faa8b2b34 commit f60defbd2bcb6212294a783958f7884faa8b2b34 Author: Konstantin Belousov AuthorDate: 2026-04-26 02:16:55 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:29:00 +0000 conf/std.nodebug: disable DEBUG_LOCKS (cherry picked from commit 85a04bea5a54d6879c8fbf49eea20aba7ca24692) --- sys/conf/std.nodebug | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/conf/std.nodebug b/sys/conf/std.nodebug index 4035e28d2a62..bb5f1ef8cb02 100644 --- a/sys/conf/std.nodebug +++ b/sys/conf/std.nodebug @@ -8,6 +8,7 @@ nooptions DIAGNOSTIC nooptions WITNESS nooptions WITNESS_SKIPSPIN nooptions DEBUG_VFS_LOCKS +nooptions DEBUG_LOCKS nooptions BUF_TRACKING nooptions FULL_BUF_TRACKING nooptions DEADLKRES From nobody Mon Apr 27 03:21:33 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkj1xHnz6bbKh for ; Mon, 27 Apr 2026 03:21:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3pkj0mNhz3lJ6 for ; Mon, 27 Apr 2026 03:21:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hC7GbVX7dB7+ENu8/NMrAHSjP3AtcP0hw7EGpMtqZ/I=; b=gNhOglA24so06wNfLlBPwB+9a5ckfMpd3Xl4gQVZrRhfJhu5IQ3qlXM+HjP5W8bUuxSkRs 1uaxx2O3NvscjrmXqYppem3cNvhtq6aaRotl3duJD+jRWe2/yZL5srrQaZ2UkgRysLQwHv vy3sGXadnnDCqlq4fiR1ukcyF91jCH7M1Xx/w+sZalKjCk+/+FzpCsZWP0M6Md30sGZCP+ cyLr6JzCbFxyThA9aLgOwXQk/gu5rzCKIMfLUipy53QYJpBkb8swT5EcB9GHmUO8fTBc/c cf3OXG2vfbrr0KJA6yuEw0pMkByMQaJq+5wrqp5Q9tPFXnudV/Qu7Bi2kNcJ4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260093; a=rsa-sha256; cv=none; b=cC+RxJA9OFhBU6o6wK1QWPJAdKkXr2uBFGmm8ad9l2BIuPU0O3AAEv3kUMVj04zdAQ3z17 /6kJQOcVfaS59kDWz12vN6qRSZeV71FbatXb7TjZs6B0GlabsAZJfp5YOAbTEv1y6rEG4r xfWPmDk5rBoiOAHQBF4YnPcji9FBvWSqrcoKaJkKpx2mX/oWYuoXVPPXJTOFMwgB1zS9FO Bs69ccpfNajpFEROoKYYY8Tzyb0A2xhZmPRygk2FtYxtwqjpV+TyOmN45DPFNIaJN+GNkb QnVkPvURHrZn3g4ymkEEuYw7uLB3I7bt5h7XTJ/Fb8Vhkc+3jJ2JMuXc5EhIPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hC7GbVX7dB7+ENu8/NMrAHSjP3AtcP0hw7EGpMtqZ/I=; b=WkbEwQgzcov/8nq1gIaHJeSliiVnwN0P1tydaffwKG0jzr90FmKXMtn0esInvwlWwRGyVf 3c1s6K6xdQyv96nXh0VJIDJu9mP9N+2QQhugp+N8LylCUCbU5eRGtAB7VLwqqW82W7cIfJ 1+EX8Ke4W5nFYOxEEaUX5n4EubG3Yz5/T+INxV+YKOsusyJSb47iUMn+pq9yrWYC5lRACC hfL6AGbLv9CeppqxWBOFC1I0lZOVTzSwLG2czwrv4vhBTNN5FpfXwL0Mx+lBtcuXcTqWJ3 iYnQ7ijA2fuJuud2qAJ803VeUk1hdEiySt/HWaTrvQP1VlWT3TYCeUQ3qE+wWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkj0KkfzqCG for ; Mon, 27 Apr 2026 03:21:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a042 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:21:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 24d887436dcd - main - init: build dynamically List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24d887436dcd5b6c18a7505e477c79cae3002c3a Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:21:33 +0000 Message-Id: <69eed63d.3a042.27d6bb7c@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=24d887436dcd5b6c18a7505e477c79cae3002c3a commit 24d887436dcd5b6c18a7505e477c79cae3002c3a Author: Konstantin Belousov AuthorDate: 2026-04-20 17:52:59 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:44:09 +0000 init: build dynamically This makes it easier to downgrade kernel when it stops providing some syscall required by libc. In this case, it is enough to downgrade libc as well, our crt1 delegates all non-trivial work to libc::__libc_start1(). With static init, the /sbin/init should be downgraded as well, which might be not easy. This does not mean that we support forward compatibility. Reviewed by: imp, jilles, zlei Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56536 --- sbin/init/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/sbin/init/Makefile b/sbin/init/Makefile index 1fc9b633f664..342df4596a72 100644 --- a/sbin/init/Makefile +++ b/sbin/init/Makefile @@ -10,6 +10,4 @@ LIBADD= util crypt CONFTTYSNAME= ttys CONFTTYS+= ttys -NO_SHARED?= YES - .include From nobody Mon Apr 27 03:21:34 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkk4Jz9z6bbKj for ; Mon, 27 Apr 2026 03:21: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 4g3pkk1h4Jz3lJ8 for ; Mon, 27 Apr 2026 03:21:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8zxOPJOdjvfEU5aIVAi0H/uxvGqmuZDF/V4xQfX0pmw=; b=VhzP4hMMc7Maf7acL7x+y0+7OMKmVpiJdZmZIabUPHf+IVL6OAoSB1lchIPudBtl/vM2aD bgWgt9Bu3LsVQskxQMtMIFCZShkGGAKuJyRk54G7uMchSiZ4pXnIAqfCvnygIu28D/TU5a tu4OqrZsihcW0A9Xlfc9ycdu8MnQbJhEo5HHTmsA+Iz3XcvrE5C7LSi9x48fW3X+Hm1Vg7 4LV/cxUhm2S7T8gSc/vlSfw1IrraG17mv9GeotVZhNc3yle/+NhEfo6LjG/XIk4G+wJUS6 vWGlJF0fmXdRrld88DAD0VhpfnE5AF88WmeqhWhP4DlRk1mrLTEL2KBIPsEGAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260094; a=rsa-sha256; cv=none; b=qQpKfXZ3ywF1ST7blYuMrFIarNC0TPVWGfrt7GByWKZbT2vqSAh8iCnUZ0iFr/LvqHI4XL yMNrsvZLC8dU0Q0Zk0doCk+Pc40Xp9ltbga+GWv0Oq+qmeY5z/NcgNDqS1x7S95+W+RsOy 0tdvmvPwcvEeA22XhiCHLblaewHnenPKZ6k7rrczOuH6v0E8K7iWeZ2nV4iA9TbQE4JmR2 P79OM0ODp32UE/oIdUXnGnRiH5eNBBOSLA8K++q3Jb454e2axfe6NW7NpGEpNm0m91r52R A388fnZkSPcRp++EAp0Co1vsNi4Z8WzzI/XtXcdK/rNbuoT4HWjMTlsblxTnBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8zxOPJOdjvfEU5aIVAi0H/uxvGqmuZDF/V4xQfX0pmw=; b=Xy+2AnGTlMSsJKFrbbconyV4G+YEijgS9juSxZ47pvGdwApf3qZR0WD6GsgDcMFRVr//c5 ueVSsbkBxKzflMBSv5roouQtq13vextAaVNmfkKfthjKkD5pmdPtAld+THSnXzvgO9kkQI sg0LmeE4TmhqZQ/k5/YUIh9d0ieTfDE9fzeIEoF4zoQ0NXWBekacJS1sSXTM7RyYclRO31 MU2udBbE9PHd7/Pjg7UaIWUP12/WP1Hlf4wCIKtAS2ZBdHofJgPE4ZbkYY3KjH83Q7vRho A5VllYQX3v4MiVC8Vdd5DMRn1ftw5OBushOgaWl9HAl+lnlGx7M+Xi8vxF0ZYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkk0jYfzqbp for ; Mon, 27 Apr 2026 03:21:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3af1e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:21:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d7338bb4914d - main - bin/sh: make it possible to use as interactive init List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7338bb4914d120e5719d3216b23a509c49ed3be Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:21:34 +0000 Message-Id: <69eed63e.3af1e.59d3cfe4@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d7338bb4914d120e5719d3216b23a509c49ed3be commit d7338bb4914d120e5719d3216b23a509c49ed3be Author: Konstantin Belousov AuthorDate: 2026-04-20 18:03:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:45:12 +0000 bin/sh: make it possible to use as interactive init If the /sbin/init binary is broken somehow, the way out is to set the loader environment variable init_path to something else. The most natural choice would be either /bin/sh or /rescue/sh. Unfortunately, this does not work because the init process starts withoud stdin/out descriptors. Make it nicer to users by teaching /bin/sh startup code to open standard descriptors on /dev/console if the shell is run as init. Reviewed by: imp, jilles, zlei Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56536 --- bin/sh/main.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bin/sh/main.c b/bin/sh/main.c index 94e8da6b4921..0ca2d4942426 100644 --- a/bin/sh/main.c +++ b/bin/sh/main.c @@ -39,6 +39,9 @@ #include #include #include +#include +#include +#include #include "shell.h" #include "main.h" @@ -124,6 +127,22 @@ main(int argc, char *argv[]) trputs("Shell args: "); trargs(argv); #endif rootpid = getpid(); + if (rootpid == 1) { + /* + * Make sh usable for invocation as interactive init + * substitute with init_path=/bin/sh, by opening + * file descriptors 0, 1, and 2 on /dev/console. + */ + if (fcntl(STDIN_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) { + (void)open(_PATH_CONSOLE, O_RDWR); + (void)setsid(); + (void)tcsetsid(STDIN_FILENO, rootpid); + } + if (fcntl(STDOUT_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) + (void)dup2(STDIN_FILENO, STDOUT_FILENO); + if (fcntl(STDERR_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) + (void)dup2(STDIN_FILENO, STDERR_FILENO); + } rootshell = 1; INTOFF; initvar(); From nobody Mon Apr 27 03:21:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkl4KDsz6bbJn for ; Mon, 27 Apr 2026 03:21: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 4g3pkl1xzCz3lBt for ; Mon, 27 Apr 2026 03:21:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xP39MagZXjon2MeA4+HqFuxNi7hL1rmO6ASZM56W1JA=; b=iSw21VGqAqtaXZMG19KeiLOZANmxPnOfZLax6nokhHbH10F9bQHqgdUDm2BoIPSdcriy/a E1evLKz+tUVNVlJTlo38qt4gVDnRB8CrtI24i21qM3vKzI5twHdBSRF/+loW3dgUTxthjK V2NYpIRAFrxd4OzNylqXB9EubEOGEOMIXczRJO+6bObbe86A6o/nhFD9e/DCnQd6Wzi85e K+1mzAnuWhfVRB0J+QgRCWUXHfawDoMK0vU5MjmjHR7mw/j1vbBJuN/hoESeT0pTOdv0k5 p9hTTM188JKDlrYCLFnyR3tqqY/PP3PnbkMgCxlv31hPJ3dxnlY+9Bs6w6QWFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260095; a=rsa-sha256; cv=none; b=b4/cN5WgMKeyw6Y6+qmLV/tqf1FYLN1EwOcs6pPvlT1STfKS2bz4mUylKhz6Z7X9uiZsmF qldLFTXhXBHbP8vcnf/2+KTWTMXg/MmHHWdNs6u83j/5pemYRgbRgmd/+7NMd+Bj+mKVqy 2Gvq/N+HNSQdlKFJ3vX+Jk4tPqZbRwru1r+x0O7W/fOfsR2Q/0KGYtHH8kq4abiczvyzgW BNW3vmxCw32MR/KlgAnHrvRbXzi16rAHnSgCDLyBj8EYKO9iHhvQNMyhU1FV8uFUph9T22 THaYfNrzLznEflQkVgwTwqpM98z6HZj6m9PFKbgdXSpV0BoSFR2M8Wab6PaUQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xP39MagZXjon2MeA4+HqFuxNi7hL1rmO6ASZM56W1JA=; b=sA04KmqcxBMR2hVEo35njGety6W3uz8ntmod27O9vh91VnqxOqq37f3pZSa3wD/B5tyamw 2Lt3g0esenBO4Id0yR1zizTqhlgw9QAwsxOkArSA6PoK0ooCw/3qILod7N8jLFN7tMVSmQ TUD5YdGWolgtzJi85lCxFaEHZyshfBubgfETOmbaJCdPxNrrLnipVIaoQ2iECo/JYppalx MNKslWjeHLSYRP4zAACg0v3uyCLEryIzY/wFlofqgdTjxJxMWAZvK3QyXQdMakUtYN4E/9 g28rhKqgoKKVdiq4HK2UbEtqtmAFZs3rEayEnLQw2Z9Z5UH1ukq77EJ9hpRXsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkl1MnfzqPk for ; Mon, 27 Apr 2026 03:21:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b7a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:21:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a268af3447eb - main - kern/init_main.c: path is for the binary, not process List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a268af3447ebaa9712174ba2d226ffdc66f68e98 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:21:35 +0000 Message-Id: <69eed63f.3b7a9.2e861f87@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a268af3447ebaa9712174ba2d226ffdc66f68e98 commit a268af3447ebaa9712174ba2d226ffdc66f68e98 Author: Konstantin Belousov AuthorDate: 2026-04-26 10:15:18 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:45:25 +0000 kern/init_main.c: path is for the binary, not process Reviewed by: imp, jilles Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56536 --- sys/kern/init_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 39357b8d4440..cfca5d9d1296 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -709,7 +709,7 @@ static char init_path[MAXPATHLEN] = "/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init"; #endif SYSCTL_STRING(_kern, OID_AUTO, init_path, CTLFLAG_RD, init_path, 0, - "Path used to search the init process"); + "Path used to search for the init binary"); /* * Shutdown timeout of init(8). From nobody Mon Apr 27 03:21:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkm6jn4z6bbJp for ; Mon, 27 Apr 2026 03:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3pkm3JmFz3lNF for ; Mon, 27 Apr 2026 03:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fDFBHXxZNIo0QyJrM/AxBHp1kmN3/GclIO1UhLuE5D0=; b=ExJkPcEBuTFLZapof4Y8FDnmXOgm8ZHArRhbFlq7U6LaKpiMIIMJnzKDGQfsRyOdNwB5B/ 6vkAqJrx/v8aaJg6QDnO2btEvFPyJ72l+RS4XwzNnsc81vxUYKsyh5Nx3gAyQ/BRnn98Gh fbEq2qfp4qg5e+CmvBbzBxQXftHX24CrAT1Sj4FKWPmZCXKxbpv8giOMrQHKITJtL4iVk8 tMcAwlVDQU+KMxN/n1tjG6HLdvIM/ztMKfV9OUOvmgHaKVPWecpwtYn1PiVJaxdxN8uUY/ N12bnHaKGEPn37EDe8DkTZvoGHvXTqI/UGA6On/D2l98HB48ltIWNz53KudqqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260096; a=rsa-sha256; cv=none; b=qYVtx17h4rFBYtWS0jFCbBkx5hwxFrZ/1KoT12duj45pRJdLtWj3aXwGfDtrlC9xPFpA0M QXJsbUxWIW2Mt8NE2nqpOjtniloEJRyrTg9Pa3ICL3KVUHWpMcv+qVpw92pOW9cCzYwy4m JSN+nqZc0fX8QEDTHCLur+soRgikxLfZtYiUYr7rNHC/0ykHBUMfl1NnUuzrupUJZhhd6m Hm9CTOYESa4GBjGffoxLAnDqe9x6HDp802ZooOofKS7Z0kY7N8cKD1TxicjfAkK42OnabQ /Q7uEwB5rJGrFrk21bFSFPhbFBoOmEwAG/6TYWGUPVlK97aty6xTSzUB0p+cEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fDFBHXxZNIo0QyJrM/AxBHp1kmN3/GclIO1UhLuE5D0=; b=A8Z2BxDbAV6fAgsnKZfdoxbl3rSbOfeyL6/cURqAKZXCdD31EcFwHENbqyDt8KX1tAJ+VJ 38iOPb8zdBeJVME+Y8v+VmXC3I11JjGu7jJYuB+YTa29pr3fuQDBNw9RzbZKmRhOV9W1hM cqNNt/6azhILRs4YrkCYOTuo/4OhbUumh7r41vwZMb30pj4bROAK42ncjPQYeWUwfSsGqn jxy9MaKPX8izvjXluOo9oOWK/DaB1HpDT8QMgv59r+EyyTtGgSEADBxVVNe7fUcJJutQ/D q+eBGeLhc7xxsAeTjd/twBJqlhXUL5UCF1gaO4kc2NKb1W5EFcAUQOYhYqK0rQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkm20bGzpyr for ; Mon, 27 Apr 2026 03:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 393e1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:21:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 9e6ae89d831a - main - init.8: document init_path among loader tunables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e6ae89d831a4ddce0925ac3682d602a71f1b26d Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:21:36 +0000 Message-Id: <69eed640.393e1.2164c9cf@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9e6ae89d831a4ddce0925ac3682d602a71f1b26d commit 9e6ae89d831a4ddce0925ac3682d602a71f1b26d Author: Konstantin Belousov AuthorDate: 2026-04-26 10:20:16 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:45:45 +0000 init.8: document init_path among loader tunables Reviewed by: imp, jilles Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56536 --- sbin/init/init.8 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sbin/init/init.8 b/sbin/init/init.8 index 8f6e78b79d7b..f86adf53b361 100644 --- a/sbin/init/init.8 +++ b/sbin/init/init.8 @@ -396,6 +396,11 @@ back to the default, so that the .Pa /etc/rc script is executed with the standard shell .Pa /bin/sh . +.It Va init_path +Specifies the path used to search for the init binary. +More than one binary can be listed in the string, +candidate file names are split by the \[lq]:\[rq] separator. +Each name is opened in sequence until a valid executable is found. .El .Sh FILES .Bl -tag -width /var/log/init.log -compact From nobody Mon Apr 27 03:21:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkn5222z6bbMy for ; Mon, 27 Apr 2026 03:21:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3pkn2kRVz3lQ2 for ; Mon, 27 Apr 2026 03:21:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xj3Y8yj2+EBrzAnQK/rXGGOWRrlLtc55HshU7+JRdh4=; b=OpKbsU9aD0oNKiFayKfI0hUDqfohS0YEg54Dc9TRm1Oys3Rjmhvmc6myf2u0A/Jvc/a7Oa lrVmTcksZp70zJoYpLjlYQkUgskUeP60TORGrWiMz53LswN+GYNwCiITWpXk6XkQboQI1f YR4oXqtA4vidUmMsHf1zjavQmPy+5QYEKIGur8Q2nlaUfm+Y+FBbszk0GL5PT80yxVOCuI W5nZeOfWzgOmFZ+RsV6wfZ/NhFoNeSFmFzJiisZMwFRHUdyDDkcSGI/ZLkCMZWrD4px8sY J6GtvOz2dcoHl4SVjgxVXbU4pTndZT5bfzTF8szbppzCG5p8kL9zdmUdPMqO2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260097; a=rsa-sha256; cv=none; b=LyQEyKOH6rdjgTmY8eIdXILrFLtVTpx6tvF5hpjBtXQBq/qs/1HiI6z4S8Bop8UpJ35yR0 ZK/WqAI/eg7Ajus1OLY81sNY+4XC5RgVmuq/wt7m4oseXdlBYigNTVIPTQQueW8SZUzhwz f60WFT3FToMJ/KV0lmnMhA3KQ5obXWkQ1FGOBvtzIo8jyGMd/x+qzmjUIZ2FvLQSyNK/Yo vmT7FTP0lntuHBtPKaRD1LWhy1+vvj5aVXZMHILQTLXBsdodB62aPmrESfQ7sZesUXBgiu 1And7l26T8VOZ9Kek4QtzUkDcMJc3n+388MLD5dnxRBUBOQ1zAv3ZUUXrGPJ9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xj3Y8yj2+EBrzAnQK/rXGGOWRrlLtc55HshU7+JRdh4=; b=mDTP/IIjwYckxocPdKV4IjfVtvcpbOPpN+AX8Y9dzaBBtdUG1uyquQ8CQ3RAqpEe5adyHn QK0zpUZnObWFrIpzaRDQOH4QsXWSHxy7tPSYc4TYBJUbmEsjYtw+uwOn/b/LxoAXrd6EwD XiYfpaIP7nFAGDOgFEn+xQRHuNpDZqYp0CF4C2FajpHG9INK6Y/Fs9MEPIQSf/U08TGngK o+ySP2m1OPzIwniqSagHGgmKnQuuL6WyI4YMEnrcUrGC/be/lPPh/yuakNk3NfXHwOcEy5 uZ3rLvTSdyrfPW8lJnXfAX4NbsA99JROHhdDa6YmBb+ziPhfwx/ywti1+a6nyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkn2JvLzqYP for ; Mon, 27 Apr 2026 03:21:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b7ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:21:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: e378d97eeb2b - main - init.8: add RECOVERING section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e378d97eeb2b8961f312cc04d4751579a7b70741 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:21:37 +0000 Message-Id: <69eed641.3b7ad.3fb0a6d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e378d97eeb2b8961f312cc04d4751579a7b70741 commit e378d97eeb2b8961f312cc04d4751579a7b70741 Author: Konstantin Belousov AuthorDate: 2026-04-26 10:28:05 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 01:45:57 +0000 init.8: add RECOVERING section Reviewed by: imp, jilles Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56536 --- sbin/init/init.8 | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/sbin/init/init.8 b/sbin/init/init.8 index f86adf53b361..85b1db2ddf06 100644 --- a/sbin/init/init.8 +++ b/sbin/init/init.8 @@ -401,6 +401,41 @@ Specifies the path used to search for the init binary. More than one binary can be listed in the string, candidate file names are split by the \[lq]:\[rq] separator. Each name is opened in sequence until a valid executable is found. +.Sh RECOVERING +If the +.Pa /sbin/init +binary is broken or cannot be executed by the current kernel, +recovery requires console access. +Then, the +.Va init_path +loader tunable can be used to specify alternative +.Nm +location. +.Pp +By default, system install leaves copy of the previous +.Nm init +binary at +.Pa /sbin/init.bak , +and this path is set as one component of the default +.Va init_path . +.Pp +If +.Nm +cannot be run, the +.Fx +version of +.Xr sh 1 +has a special provision for running as PID 1. +If the shell detects that it is running as init, it opens +.Pa /dev/console +as it standard input and output and enters the +command loop. +.Pp +The session should be exited using +.Ic reboot Fl q +or exec-ing fixed +.Nm , +since a normal exit will cause a kernel panic. .El .Sh FILES .Bl -tag -width /var/log/init.log -compact From nobody Mon Apr 27 03:24:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnj4zD8z6bbQG for ; Mon, 27 Apr 2026 03:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3pnj2VH2z3nT7 for ; Mon, 27 Apr 2026 03:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bw5w/GjAdu/uWSRgmMV9peZv7T2GSUrkQIFURN6Tk7o=; b=VVTxvwn/vWnZJjiZrZRoq+VWxKPeQufN+WIZLh+fsZ0GEUVnIUPleS+FUISbXhvz4E7Mjr xmIyBAP7Psy1QRzwD7GoMGYoYRmoX/cfO2AMviiJm8v1irlk9+a8mLy4dhU8xcPsMk1tmU WyFW+sB3zojHmobf3dXNZWmLFWOO5YjurUPtJ2V4qVm0fDNEgOQgMU2EiFLaRSnSvU14LO CmcUG953iD3pZSR7G6mfBz6g7m+as3+tmeVyTjPZMxZoS7bCa70gFzHsUGD5gAOrcM0gtA y/qXucnNV199UnmNE0zFSZ5WZILwp09WPZbWWxhQjJTRz6fV93txvn19FSfoQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260249; a=rsa-sha256; cv=none; b=CiMR/lS2xAyeMI4j2ps2R6PV/iN3o/Djd31Aij/cQhABO3lUuX+PrgvNQrbJUVD8m1OBrY 8errr6I70ADYkIAf1K5LqI9X84FAi4Q8yZuHsMDpMX3bu7j7dlPnAwXY+/uilLnPaSOEnc DhUwJ8su8Y7rNqhMcn8zlwDA/6DS2xrg2AGjQLXioazYXr9ylRV0U36889fEZcLMmBNz0C mtFNWdhAJV3KY64sgaKdgj4joDMChsRfh2UGb6R/m8l3KvX2PejPECfV0ptz7espEYxGyu UVTA1/9swN3K23LJp+y9ejfkwFsG1aYzRIh6RRyaUTk1VOikzdLvQxCChR1sUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bw5w/GjAdu/uWSRgmMV9peZv7T2GSUrkQIFURN6Tk7o=; b=BE2zHhrgbGnQY/uUPCo93jjUE/5QRzWhPxbnkUFRAY33M7t8uWvRKeJufPlWIocESetvIS dcsqh1zNKgUHRwt7dGgWDR8KSWXHGk/HynndrOe+ZJjxT4dSHpCURkGNh066pJtN14Clha zFxBrQsL7A6FxPsReTCHVQrEFZqowhVbZJJwRlDPD8Z/6CB2FQCOufOk2oyy0HsNHthdPE exVdPxeumRnYd5V3Jml+UhFP3BnwtuPwJ7fYKc19XbM5YNQCu56q4JK/Fbd7knDRKZSJq5 l5JYXJSFuJUUYv0wmzZlUdjCoia8BsAgDbBYmIXqGWh/vANkwc7xhvu4N3//Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnj1hJRzqCc for ; Mon, 27 Apr 2026 03:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b10e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:24:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: bd8edba0792b - main - amd64 ia32_syscall(): only allow for ILP32 processes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd8edba0792b71be3f8ed5dea9c22287e95c986a Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:24:09 +0000 Message-Id: <69eed6d9.3b10e.6872e0fd@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bd8edba0792b71be3f8ed5dea9c22287e95c986a commit bd8edba0792b71be3f8ed5dea9c22287e95c986a Author: Konstantin Belousov AuthorDate: 2026-04-25 09:49:08 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 03:23:19 +0000 amd64 ia32_syscall(): only allow for ILP32 processes 64bit processes can issue INT $0x80 instruction, and get the syscall dispatched through ia32_syscall(). This works because syscall argument fetch and result return are selected from the process sysent. But, ia32_syscall() does not verify some conditions and does not perform some actions which are considered unnecessary because the caller is supposed to only access lower 4G. The INT syscall path breaks this assumption. We never supported such hack, so disable it. Send the offending thread SIGBUS as if #GP was issued by hardware due to IDT vector 0x80 having not numerically high enough DPL value. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56630 --- sys/amd64/ia32/ia32_syscall.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c index 85e3d8f8e920..edafb753faa0 100644 --- a/sys/amd64/ia32/ia32_syscall.c +++ b/sys/amd64/ia32/ia32_syscall.c @@ -218,6 +218,15 @@ ia32_syscall(struct trapframe *frame) orig_tf_rflags = frame->tf_rflags; td = curthread; td->td_frame = frame; + if (__predict_false(SV_PROC_FLAG(td->td_proc, SV_ILP32) == 0)) { + ksiginfo_init_trap(&ksi); + ksi.ksi_signo = SIGBUS; + ksi.ksi_code = BUS_OBJERR; + ksi.ksi_addr = (void *)frame->tf_rip; + trapsignal(td, &ksi); + userret(td, td->td_frame); + return; + } syscallenter(td); From nobody Mon Apr 27 03:24:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnn5XX8z6bb1X for ; Mon, 27 Apr 2026 03:24: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 4g3pnn2wtbz3nJd for ; Mon, 27 Apr 2026 03:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4vzSZlxy9i4LPvyFibz+F/Cq2NSz1OaLwdEMQc+0LI=; b=WEPmY4LFRGualZlHPjUMvjfQ+RVq4YbaFj78/geWemxC3EaBi6o81XRKIH2CZMQ9iCuIOE cH64/kSehbGRWENiOS3nU9psBbgRilLYQo+IqFqWExV9tbz6SY0HO/hVeJxQfZEVuMrUMi MYi2ttMNFKT3yWnFrnwUMeyhLAxQjrnjkUakC64km991AwXLmLXLtibGQ0vLHIz/znncTt NF+iArSNkiYG8oBxkJQ7Zxn6ueAaRvn+cw0SmCCaMTOUhQjXuGY91sRISJ5rbtfg2GDZBV z9/wD7e6i+r6QkjI1ofdiD1AF5Gq36RxyPF+oFM4xLK7i0nSeh67o6V/P7mB6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260253; a=rsa-sha256; cv=none; b=e+4nO7EayBPqBmjkXlhJYPpBEErVwmLw4EhOkt8wd2Bth4F1jXdnCI+d10LQwGjMo9idXW jNjxfwPQ7ZQ822iH9SwKGp29xssFrMpZQB/f7NlTa4odOv1xZiWrWvf3gZ9vctj7fdM/GD x1eY/PPKwRfp4baxgsaH2wfMs8BRPy5JqBR1Ts+MU5xugfgWNmr4uep9vylnrbFcp1KFFE ktIotRsJ5YYgXHq6oJNak5aflO/P8E9lmGptgh6svei2N92dH5X0539y6haIQPYPf21muG xlIQX+lnVSD2D92g8gzTbl44nZskbIL5AzpOdr6m0MWSnI8rXW5XIZ5ujRmcLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4vzSZlxy9i4LPvyFibz+F/Cq2NSz1OaLwdEMQc+0LI=; b=vbDK5vKUPyOyPZhu22+0bTp69wAPeazb5pzIAinAkwnz47PS+sKI3Jcugo+xmiJrWYqEXj e8YRKRvGiyGiLNS7mis4DO++u4oxGY9vmpNEEjeQpnOnm/x+2rlgnAMBBNiN7u/DBlwI84 rbJJ5kwUE3weJDmhvaX+b2WUKeEnB+FE4WI4Nqhzo1ym1V7SRfccB4R1NpgJhd3gtBMKFA utmSev7pE4MtRaEXcwRnHCf7dp0cugrV/3a7Kr30x3JC7LeTcHqudiz5Pf68nATYJpEC9M 1dkJgStUVZm/76Gisq62LVrePeHuNl/Fql/VF13SalTZUsHVj6DaNn2Y+pogQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnn2Xh8zqQ5 for ; Mon, 27 Apr 2026 03:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b67a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 03:24:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 912f9dfca451 - main - amd64: ia32_fetch_syscall_args() does not need to check params != NULL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 912f9dfca451e359dda7cdf45539b7c19764f54d Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 03:24:08 +0000 Message-Id: <69eed6d8.3b67a.1a6ed2c7@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=912f9dfca451e359dda7cdf45539b7c19764f54d commit 912f9dfca451e359dda7cdf45539b7c19764f54d Author: Konstantin Belousov AuthorDate: 2026-04-25 09:46:50 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-27 03:23:19 +0000 amd64: ia32_fetch_syscall_args() does not need to check params != NULL Whatever params pointer is, it does not matter. copyin() handles any values. In fact, params cannot be ever NULL. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56630 --- sys/amd64/ia32/ia32_syscall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c index c61587a93d1f..85e3d8f8e920 100644 --- a/sys/amd64/ia32/ia32_syscall.c +++ b/sys/amd64/ia32/ia32_syscall.c @@ -187,7 +187,7 @@ ia32_fetch_syscall_args(struct thread *td) else sa->callp = &p->p_sysent->sv_table[sa->code]; - if (params != NULL && sa->callp->sy_narg != 0) + if (sa->callp->sy_narg != 0) error = copyin(params, (caddr_t)args, (u_int)(sa->callp->sy_narg * sizeof(int))); else From nobody Mon Apr 27 05:47:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3sz01P75z6bmJL for ; Mon, 27 Apr 2026 05:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3sz00rLnz42fv for ; Mon, 27 Apr 2026 05:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777268844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErfLlp2JAi7981KvfK27VYZLEkM40zNZmmY/pCnymEg=; b=tUHAbXASZ4+kec8q2uXytVZTUzrTzzTs5Q3gKr9Ez0AzcHCeJNDrKqw3zremwp/hIP0OcJ fV7NuEd7ZEzQAMj4HRiJtT5VTRx7oU6COAqUb7i4UfVZ2QADPi8MDH8mz6VJyoM9V6I6ov YGAGWLZebRG7mX0sf6zrDTzyh1m9RM0JYS3aDrFShZ3GVWowu4eHnheWImArAcjav/PQg1 zbiNRbpF+Jy0wcltsgVANo7okOwLE8ZuWyDZ6hqE3GbeYcS5QsgWGFseit/Kn7MnBn3jKP +oA9vkHB2K5Du2nvLvzfruSVmwedOm8N3rQSG+O4NLCkcGcrFNVNsrJhNcoHQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777268844; a=rsa-sha256; cv=none; b=EeE8jHIOhryQ1NEZg6pg+RPjxq7zq5KJvFMNJEs66ZNoqfNQkkil6/mMaRIYCMcKU2HZzA t4VzEvE2uRMTIbwWvBATB9vmoGlYDLPazpQRuE/MRUswnYZ9acvNyXAoGtWyC1YVN0F3QR I0SRuj8rMw4E75+EiDMiYTNELnR/O7Jbg2ZOObJ6fui7w235XQYKLWCxROkeMR+8p/KuQb UYUugDSEyvsYosXVM+zQwtg1NPb3ueenktXdkqSLPLzt0Go1Gvt123AOQcGLTNnSk6Kj3D sThsG8QpW/X+5oq0MTobWXwHfputlnzuafgrZicBqtiRdkJ7GPsgD6BOAKOyOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777268844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErfLlp2JAi7981KvfK27VYZLEkM40zNZmmY/pCnymEg=; b=ccJE1Q4GUeGJk6H3uNOHxbsY3pJd6vRr/7E5xBsiebq0NQyZl83/Guj0zIA6xVenMLnOcZ Y7sv7mYEfDWFSxTeBDb6wjyq44OKJdrrvSzqoJHt++9na4kFTL19EBKEK0r9W5mxvkQWSS 7Ymtyo3G9dYeNP9MxdHF+sQXBwyUl9mXoLMRoBYW2rzQbO2u2CmS9Q1cQJS50nhyR3y7bz 56Mc4FYvTNbueq+Hg8m/5WNgc06JNZg4wE02EA6oBeO3EUJV99JkaCOHhPhGk9I+qP9+78 tLJE2J8p1VZWdiCSh49DO43JAVJUZY1pq6USsiztmu8BdK3a4rPhomfiqjnbqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3sz00NFQzv5m for ; Mon, 27 Apr 2026 05:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20269 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 05:47:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 221b1d4156a2 - main - packages: Don't build quotacheck if WITHOUT_QUOTAS=yes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 221b1d4156a2bfe71a473e5abf6a739c063e60d8 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 05:47:18 +0000 Message-Id: <69eef866.20269.1d1fde5c@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=221b1d4156a2bfe71a473e5abf6a739c063e60d8 commit 221b1d4156a2bfe71a473e5abf6a739c063e60d8 Author: Lexi Winter AuthorDate: 2026-04-27 05:45:48 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 05:45:48 +0000 packages: Don't build quotacheck if WITHOUT_QUOTAS=yes PR: 294775 Fixes: bb75b0d581f7 ("packages: Convert world to a subdir build") MFC after: 2 weeks Reported by: Alastair Hogge Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56635 --- packages/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/Makefile b/packages/Makefile index ba70a38880e0..3c189770dac5 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -61,7 +61,6 @@ SUBDIR= blocklist \ periodic \ powerd \ ppp \ - quotacheck \ rc \ rcmds \ resolvconf \ @@ -141,6 +140,7 @@ SUBDIR.${MK_OPENSSL}+= openssl SUBDIR.${MK_PKGBOOTSTRAP}+= pkg-bootstrap SUBDIR.${MK_PKGCONF}+= pkgconf SUBDIR.${MK_PMC}+= pmc +SUBDIR.${MK_QUOTAS}+= quotacheck SUBDIR.${MK_RESCUE}+= rescue SUBDIR.${MK_SENDMAIL}+= sendmail libmilter SUBDIR.${MK_SOUND}+= sound From nobody Mon Apr 27 06:57:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3vXH3tNSz6brPt for ; Mon, 27 Apr 2026 06:57: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 4g3vXH2GS2z46sL for ; Mon, 27 Apr 2026 06:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bc8lHUAhTLoKvtDiMQABBT5RIB/oufq6luVOt9WxEWA=; b=Uc3dcpAM03jsukqhIWWLo/zM0VcyZeta8PPF66HC9B+8X5R5ZZQsHhXfI3MZieTTxN4tjx qv1kY6kdVdHLIiuYM42U79/eswBLmNb+9JH9jg++js6HmtSRXXLqVG+FL70CVPC3jI8Dm/ Zq6cf1G+GBEFYWr0PN4z+BKB8qTy4zZud1AxNg/uxuDcEkk3jWQQLVLOYoDz7yO4oYKt3e UdxeqS6sCTU2LftPhACrDAjN1m1ytoDZEDtVzwc6lFS/e+xC7uQeYVV5qkepheelTKw/Jg 36W7uXhjN52Nn7rRtNUKerI4/qUsGKtGXKTwirzjZMkKSpiXnCVGn73SfBPd8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777273071; a=rsa-sha256; cv=none; b=GsEQx290e6nNun26H3ipR+euD+/lQp+Awlk521dptJv0nM7QpjnFbZNIm2/YsZLB8sovF5 kDGqLXfpK7snBVvXaIf/2x5P3U74+O55F8SoqZ6V6IGJnhath3Rn21z3nzkQ2w9c1CrkFa g/TZRxg2Sot8qsTLxApxiwBmFXImF8X8LDlX7R14coaV8kEZhECW2R26SvrtEbWMYreOWg sM6qbkmz4On93msRC0YQDwm0OFnsD50hX5Hc91/TME7428WM96QWks+Z9hkqW9hs5vGSVH pY1l7EaKLBEfKasvDm6/tK43zlABKxNgjMM36NisN4jJ4NfFRRpQDTWM1u55NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bc8lHUAhTLoKvtDiMQABBT5RIB/oufq6luVOt9WxEWA=; b=LY9jiNgzAK3iAUH59FNmjNIjM6q+fP/JytqaBpOhcTIIlBErnEv1EebsKXfU+obxkIK5D0 PLeLg80Z4kdiTc57qzKVk4D8Y6sCcOAFmnu+jdQ/x9Ks0o2NaoBmJHgrP4Td3UW0rYOl+l zuUqMw2TsN2A2E8PytmV02fkhvvkvMBglnJEtLex0KkuEHPi8QRykrK9nBS0tIQvNhCQ2P Y03SXQ9lzOVXj7h4gpPGDcYZQ5cPK+mCsJlAuvbtXtwc69QC8Y0AC0k5YKs0FJwqPEbTxv IdrnYcw5LPjGi8OmMeZJG8a1uQhjIEKS1HkvMWQc+PL5za4J6gcfhIxUl1vkfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3vXH1DSPzwZ2 for ; Mon, 27 Apr 2026 06:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31ab9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 06:57:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: c73cd9ca3ff8 - main - if_awg: Add missing awg_poll() prototype List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c73cd9ca3ff875a65b6969b7183eb7fcdb23857c Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 06:57:46 +0000 Message-Id: <69ef08ea.31ab9.393148a3@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=c73cd9ca3ff875a65b6969b7183eb7fcdb23857c commit c73cd9ca3ff875a65b6969b7183eb7fcdb23857c Author: Lexi Winter AuthorDate: 2026-04-27 06:57:13 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 06:57:13 +0000 if_awg: Add missing awg_poll() prototype The function awg_poll() was missing a prototype, which causes the build to fail if DEVICE_POLLING is enabled, which it is in the ARMADAXP config. MFC after: 2 weeks Reviewed by: tuexen, mmel, adrian Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56651 --- sys/arm/allwinner/if_awg.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm/allwinner/if_awg.c b/sys/arm/allwinner/if_awg.c index d5a6fdb96192..3459779743ba 100644 --- a/sys/arm/allwinner/if_awg.c +++ b/sys/arm/allwinner/if_awg.c @@ -226,6 +226,9 @@ static uint32_t syscon_read_emac_clk_reg(device_t dev); static void syscon_write_emac_clk_reg(device_t dev, uint32_t val); static phandle_t awg_get_phy_node(device_t dev); static bool awg_has_internal_phy(device_t dev); +#ifdef DEVICE_POLLING +static int awg_poll(if_t ifp, enum poll_cmd cmd, int count); +#endif /* * MII functions From nobody Mon Apr 27 07:02:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3vf91B74z6brQl for ; Mon, 27 Apr 2026 07:02: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 4g3vf85fNyz47hF for ; Mon, 27 Apr 2026 07:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6QWY19d+Xxvsyr/aC0Xau5ho3O92odw9XiOkT+xPDLA=; b=I0/FGgw9xaChhDVo15DFXdKkouwGdYtEWTZdzxrWCVreAeCiKK8k1GolwnCCMk8FPLAJrr EGAg5iKyijWTc+ZB4dg8TjBXvPHlWwUGrW1eY4l4ES56HzXiQex8OARV3fULYw3fxdAVhF f2KXCMnLPozEd668+0JEC4SlrnKDf99rvi85vIEJM4M0FsmkcxvxUmGKGhAs0zIGNn/7z1 XTEjvtQSxYVAa4KOVDVU0s3vi+VjI1EltQkUEWHUynKTcFIkSWXPRdTf3dFrdEIYqhkghX jUlFyw/bsiVs6XPaq3IRTmZ5l3UJ1XVDPs+do69l7Tu9EMS6TWrkJDFuC7zdfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777273376; a=rsa-sha256; cv=none; b=pNd8jtjLPKj3rMSFdV22Y3t5ni/V1GnTFGQjuq+/crGlqrzwmcxJb3JsWK5reBSk6pi5dQ KpKrHE3GJXj3cnDXmMIeEy4L7XQbm816Yc3JE0QIW0yk9z8Frt4QmMeoz6+Ymd6pUkOkdc BvyYGSlmeY3++HZjPSpoe1BbH9oCXZu2dZbaNQ3ac9RoEUjx2kIRRnfJqtsxFa2Kr9PSdj DVcOgmhqaaBJfOS5eC6JTD0RcGqMpN73ZAKSGUBArs3c/I7YDEoX6+Vy/WJzuVIs0DjQRK DQINg3C/9VG0s9wAu/iers2uJ6ma7e7vcTqI1vk6zLVJ9eZV3wJTVqI/689GhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6QWY19d+Xxvsyr/aC0Xau5ho3O92odw9XiOkT+xPDLA=; b=e2xF5mUdz9zNBu3+GcuqQFimSVwcZseOKqyeoVm1HqynV8dLPB2q3v6kXjV+er5Wd/hZ6c HR+a7xQl7HPFj6BiguJMnu36B254nkIhaQmHRrB1wMC6gaHKtB7JaPWI7VqNYOwDCUCo9Z 3xjpwZ0j5eDg7kQGUY2TM1f4dTug+VotjSOvNGe1UJ02+HI94cJHPyFLl/ybCe/VgaT77H ATzwAmVHISNQOEyTbovlYRhWoFJaPukALGGrbpCQxAQi1bqkHxx3wy67I6rFtofwf6lp4V Opa0q3zkZL1CHeSYy/Si/t9n3WdQOEa3k5RDwToUdSajuGiKmbxYyzspjYqsJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3vf84lg2zwZK for ; Mon, 27 Apr 2026 07:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 327a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 07:02:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Philip Paeps Subject: git: a54862e12ec0 - Create tag vendor/expat/2.8.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/tags/vendor/expat/2.8.0 X-Git-Reftype: annotated tag X-Git-Commit: a54862e12ec0077ef899f8008f723e90445eb230 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 07:02:56 +0000 Message-Id: <69ef0a20.327a0.6ff769c8@gitrepo.freebsd.org> The annotated tag vendor/expat/2.8.0 has been created by philip: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/expat/2.8.0 tag vendor/expat/2.8.0 Tagger: Philip Paeps TaggerDate: 2026-04-27 06:59:07 +0000 Tag expat 2.8.0 commit 1102bfff8f2caed02885b18aceb9859b0bb943ae Author: Philip Paeps AuthorDate: 2026-04-27 06:59:07 +0000 Commit: Philip Paeps CommitDate: 2026-04-27 06:59:07 +0000 Vendor import of expat 2.8.0 From nobody Mon Apr 27 07:02:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3vfG19TDz6brPR for ; Mon, 27 Apr 2026 07:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3vfG0Pm2z47tW for ; Mon, 27 Apr 2026 07:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+gWmn0aWBlaDrVOZpfWJHIwBboLe/XO9YnJ+5kNDYA=; b=AnbUWur4Q4pkUNaRlX8DZmwa7pQRdjm5rzAhmhIp7Ga28/Kh0TIMvt+axFgS+O8xndc6Jn vRjLOcZt3A6Nao3W509U1O6YM8cgHzJyalisokCPZuEeId4Ific1cs4+dNo95inRvczbs9 NHgpJGWoKZDh5UpGanE+tYwImN6ZLqeZhf57wzOLyG73E0vZMv0YiPvmUmktbhqtLeMZo+ +B2bEIxYFeEKJpKn7VlXfWxpYyEO98c0c7IBFi49Z+e0m2Gvayb00wn7Xhg3hFPhp91G88 Dxu7G1q1B1zNpnC71Kx4fbQwViG8laEWcwDpCmyj/n9/ThPNRouX31l7McG1dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777273382; a=rsa-sha256; cv=none; b=CG6iaclSrDB5OCCJraI1F1tAt5m8/3fy0Du6Ul/atcJADSTABKayPZHHefIjucCnKltSjB 9uAJmmDgwrPg7jnxu/Ew1TqI7WN+soILW0umC3vqSngEBG1fq8XMEil10aegxhdUblhlMh 1SHg763XtcIcPgAnrKx++XNZazbksT345ZSEZcGqUNWCejOiHX+x3NtaN5Kqe0Nng3H7CI dp1hEtKhU6s36ZLDZFocVvto7g/F8wfnDKthFw6R9QLsuYedx5X07ZzzgSO3T/cXqe/1YQ glYgfqXFp8QGjVCRLNdTXCaPch1RCNN6B2sbDfCH5AbQrH8+Gf7zAcK4jPsuEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+gWmn0aWBlaDrVOZpfWJHIwBboLe/XO9YnJ+5kNDYA=; b=yEyThbJWKjzjmptcf2f2hrQHaI/3ExQ8eYZORT7oMfIkbtClVgj6eQh/XibQVBUyRB9KpU Fn1Ql1JzetdixOYvtfDuzW73HpTeffSHWzrKiBmrrkw+TqvshNws8DcXkJ23UrD2qB+E+V ZY+ssjsc3EH29vWyuBYylP38f92X/4TaDunfBSygufZUb3e7+2pE2BRaRbXwGriwcdEQsO txFQejv8KfCjLO7OZARg/R6NH5YUTh0D7l2f/KCtXsa0u3/OjahGR1hlczzyxV9g4gGPXo oqrQeRxxHd8zjmck/PipJyLp3+cbDsF00bECOQbWzzUydTk509Xq7J0CrAfLiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3vfF6knDzxFJ for ; Mon, 27 Apr 2026 07:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31dca by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 07:02:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Philip Paeps Subject: git: f5b5e292795b..1102bfff8f2c - vendor/expat - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/vendor/expat X-Git-Reftype: branch X-Git-Commit: 1102bfff8f2caed02885b18aceb9859b0bb943ae X-Git-Oldrev: f5b5e292795b65df1847b90ab5b23889828ee28b X-Git-Newrev: 1102bfff8f2caed02885b18aceb9859b0bb943ae Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 07:02:56 +0000 Message-Id: <69ef0a20.31dca.1671e4a5@gitrepo.freebsd.org> The branch vendor/expat has been updated by philip: URL: https://cgit.FreeBSD.org/src/log/?id=f5b5e292795b..1102bfff8f2c 1102bfff8f2c Vendor import of expat 2.8.0 From nobody Mon Apr 27 09:33:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3z041mjRz6ZmsL for ; Mon, 27 Apr 2026 09:33: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 4g3z0411jbz3Q5g for ; Mon, 27 Apr 2026 09:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777282420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KWKaYGU8B9s6IL8y3cRKiFqrM8JzOrl+Gf9R2XkV0LI=; b=ddw9dx4taNcCt+LerXyGe7cmTbY3usmD8korvrRKyasRmvmMtrM3GZIZeoUx+5VvplSuCW rkCxSvtOauip4fHrcBNgC2ziSgRlrJMYR2bEnSS5/Y96QCcGUmJefSoJzAjZRBuTNfifY1 NJF3jz6/OrwRx7giJz+ZL3kQOVWIW5Lef3OkPQ77oWHBEqaTjUBfWoQ7mgw0A5GoHJD3d8 RA2P9Fm4PydLwjIVtoBz8rQW90Pr0iKMgP5gxPzLl3f0p3aIWlN/2MsIbRe5XVMXx5DrPU LDrX59EIJy2dpW+6VI+xHa7Pkn1YgG4dnXW132AiPGScNVP7DhCdhtGlq4AXYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777282420; a=rsa-sha256; cv=none; b=FVOf0DKrIpa7WLQ5D0eLrln/nE/C8peZkmf/Ya6B3QS1AOCHY23tqr77+QROtzmhmJHoSm ylky93UlUwHMo0qiv1r38943uBLYz6cqQQh/6V7tRJ26XdEjnNJLsdmjQT63UZ4K2kmr4r jgHMjCZCoLHhOvvHjvq/94+hOePmoE+/KwUR5THqto2UDjZ9spQgfSZB9TmftDIARHAs2R cdLCmxYA5cFzTzDIYejgqTv2qadPoECyrCdYyoGvXZza5DqnYb0A1KOj1l0oBHPBx6P2WD C4y7e/MF2s+XsrSDiB3l0ZAa5l14S5KO+LjT0wR5wx86Rc1+wCGL+/HrbuzDWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777282420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KWKaYGU8B9s6IL8y3cRKiFqrM8JzOrl+Gf9R2XkV0LI=; b=mN2FyXTZdW9dJpgK7MMayWzq205DHvkORop6dkgVAIs15nmMcAP5JCOEcxIiBckhhaR7B0 6648DHUV7Vlyoa0BME3WuRmgRDHVNdod2bTWd5IEw1QzU4A5AL+YhDF8b25iHaZl3PZAit xi3ZhltJQCifJTR6O8e1PVadHuAp66Tk3viTPtRSFnYu6tBXCr7S7G8NGljClY/yWJz1dA uULWhfdp7muu6wl5Qd9o5UAMH09u/yygubh+C+/arrpj+yk/WCmOs4+2Gj6ifAKS+oyaNa UxuZ0puKFC3fCfwzzsv4X5P1ptVeh7nn2fnWk8m7eLTkxGYQSx6iPJdUd0bx0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3z040bBtz11LN for ; Mon, 27 Apr 2026 09:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42406 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 09:33:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: ce33d6396aad - main - caroot: Clean up List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce33d6396aadb0613f1e74661bdbec571f836a60 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 09:33:39 +0000 Message-Id: <69ef2d73.42406.4162e208@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ce33d6396aadb0613f1e74661bdbec571f836a60 commit ce33d6396aadb0613f1e74661bdbec571f836a60 Author: Dag-Erling Smørgrav AuthorDate: 2026-04-27 09:32:19 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-04-27 09:33:09 +0000 caroot: Clean up * Get certdata.txt directly from the NSS Mercurial repository, rather than from the Mozilla Firefox repository which imports it from NSS at irregular intervals. * Instead of always fetching the latest certdata.txt, fetch a specific version. For this commit, we set this to the version that was last imported in May 2025. * Add a refrence to the MPL to the generated files. * Regenerate with latest OpenSSL. This is purely cosmetic; mostly, the certificate names now contain less unnecessary whitespace and some elements are quoted. MFC after: 1 week Reviewed by: michaelo, kevans Differential Revision: https://reviews.freebsd.org/D56620 --- secure/caroot/Makefile | 7 ++++++- secure/caroot/ca-extract.pl | 4 ++-- secure/caroot/trusted/ACCVRAIZ1.pem | 12 +++++------- secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem | 11 ++++------- .../caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem | 11 ++++------- secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem | 11 ++++------- secure/caroot/trusted/Actalis_Authentication_Root_CA.pem | 11 ++++------- secure/caroot/trusted/AffirmTrust_Commercial.pem | 11 ++++------- secure/caroot/trusted/AffirmTrust_Networking.pem | 11 ++++------- secure/caroot/trusted/AffirmTrust_Premium.pem | 11 ++++------- secure/caroot/trusted/AffirmTrust_Premium_ECC.pem | 11 ++++------- secure/caroot/trusted/Amazon_Root_CA_1.pem | 11 ++++------- secure/caroot/trusted/Amazon_Root_CA_2.pem | 11 ++++------- secure/caroot/trusted/Amazon_Root_CA_3.pem | 11 ++++------- secure/caroot/trusted/Amazon_Root_CA_4.pem | 11 ++++------- secure/caroot/trusted/Atos_TrustedRoot_2011.pem | 11 ++++------- .../trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem | 11 ++++------- .../trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem | 11 ++++------- ...idad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem | 11 ++++------- secure/caroot/trusted/BJCA_Global_Root_CA1.pem | 11 ++++------- secure/caroot/trusted/BJCA_Global_Root_CA2.pem | 11 ++++------- secure/caroot/trusted/Baltimore_CyberTrust_Root.pem | 11 ++++------- secure/caroot/trusted/Buypass_Class_2_Root_CA.pem | 11 ++++------- secure/caroot/trusted/Buypass_Class_3_Root_CA.pem | 11 ++++------- secure/caroot/trusted/CA_Disig_Root_R2.pem | 11 ++++------- secure/caroot/trusted/CFCA_EV_ROOT.pem | 11 ++++------- secure/caroot/trusted/COMODO_Certification_Authority.pem | 12 +++++------- .../caroot/trusted/COMODO_ECC_Certification_Authority.pem | 11 ++++------- .../caroot/trusted/COMODO_RSA_Certification_Authority.pem | 11 ++++------- secure/caroot/trusted/Certainly_Root_E1.pem | 11 ++++------- secure/caroot/trusted/Certainly_Root_R1.pem | 11 ++++------- secure/caroot/trusted/Certigna.pem | 11 ++++------- secure/caroot/trusted/Certigna_Root_CA.pem | 13 ++++++------- secure/caroot/trusted/Certum_EC-384_CA.pem | 11 ++++------- secure/caroot/trusted/Certum_Trusted_Network_CA.pem | 11 ++++------- secure/caroot/trusted/Certum_Trusted_Network_CA_2.pem | 11 ++++------- secure/caroot/trusted/Certum_Trusted_Root_CA.pem | 11 ++++------- .../caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem | 11 ++++------- .../caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem | 11 ++++------- .../caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem | 11 ++++------- .../caroot/trusted/CommScope_Public_Trust_RSA_Root-02.pem | 11 ++++------- secure/caroot/trusted/Comodo_AAA_Services_root.pem | 13 ++++++------- secure/caroot/trusted/D-TRUST_BR_Root_CA_1_2020.pem | 13 ++++++------- secure/caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem | 12 +++++------- secure/caroot/trusted/D-TRUST_EV_Root_CA_1_2020.pem | 13 ++++++------- secure/caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem | 12 +++++------- secure/caroot/trusted/D-TRUST_Root_Class_3_CA_2_2009.pem | 13 ++++++------- secure/caroot/trusted/D-TRUST_Root_Class_3_CA_2_EV_2009.pem | 13 ++++++------- secure/caroot/trusted/DigiCert_Assured_ID_Root_CA.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Assured_ID_Root_G2.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Assured_ID_Root_G3.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Global_Root_CA.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Global_Root_G2.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Global_Root_G3.pem | 11 ++++------- .../caroot/trusted/DigiCert_High_Assurance_EV_Root_CA.pem | 11 ++++------- secure/caroot/trusted/DigiCert_TLS_ECC_P384_Root_G5.pem | 11 ++++------- secure/caroot/trusted/DigiCert_TLS_RSA4096_Root_G5.pem | 11 ++++------- secure/caroot/trusted/DigiCert_Trusted_Root_G4.pem | 11 ++++------- .../caroot/trusted/Entrust_Root_Certification_Authority.pem | 11 ++++------- .../trusted/Entrust_Root_Certification_Authority_-_EC1.pem | 11 ++++------- .../trusted/Entrust_Root_Certification_Authority_-_G2.pem | 11 ++++------- .../trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem | 11 ++++------- secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem | 11 ++++------- secure/caroot/trusted/GDCA_TrustAUTH_R5_ROOT.pem | 11 ++++------- secure/caroot/trusted/GLOBALTRUST_2020.pem | 11 ++++------- secure/caroot/trusted/GTS_Root_R1.pem | 11 ++++------- secure/caroot/trusted/GTS_Root_R2.pem | 11 ++++------- secure/caroot/trusted/GTS_Root_R3.pem | 11 ++++------- secure/caroot/trusted/GTS_Root_R4.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_ECC_Root_CA_-_R4.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_ECC_Root_CA_-_R5.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_Root_CA.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_Root_CA_-_R3.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_Root_CA_-_R6.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_Root_E46.pem | 11 ++++------- secure/caroot/trusted/GlobalSign_Root_R46.pem | 11 ++++------- secure/caroot/trusted/Go_Daddy_Class_2_CA.pem | 11 ++++------- .../trusted/Go_Daddy_Root_Certificate_Authority_-_G2.pem | 11 ++++------- secure/caroot/trusted/HARICA_TLS_ECC_Root_CA_2021.pem | 11 ++++------- secure/caroot/trusted/HARICA_TLS_RSA_Root_CA_2021.pem | 11 ++++------- ...c_Academic_and_Research_Institutions_ECC_RootCA_2015.pem | 11 ++++------- ...lenic_Academic_and_Research_Institutions_RootCA_2015.pem | 11 ++++------- secure/caroot/trusted/HiPKI_Root_CA_-_G1.pem | 11 ++++------- secure/caroot/trusted/Hongkong_Post_Root_CA_3.pem | 11 ++++------- secure/caroot/trusted/ISRG_Root_X1.pem | 11 ++++------- secure/caroot/trusted/ISRG_Root_X2.pem | 11 ++++------- secure/caroot/trusted/IdenTrust_Commercial_Root_CA_1.pem | 11 ++++------- secure/caroot/trusted/IdenTrust_Public_Sector_Root_CA_1.pem | 11 ++++------- secure/caroot/trusted/Izenpe_com.pem | 11 ++++------- secure/caroot/trusted/Microsec_e-Szigno_Root_CA_2009.pem | 11 ++++------- .../Microsoft_ECC_Root_Certificate_Authority_2017.pem | 11 ++++------- .../Microsoft_RSA_Root_Certificate_Authority_2017.pem | 11 ++++------- .../trusted/NAVER_Global_Root_Certification_Authority.pem | 11 ++++------- .../NetLock_Arany__Class_Gold__F__tan__s__tv__ny.pem | 11 ++++------- secure/caroot/trusted/OISTE_WISeKey_Global_Root_GB_CA.pem | 11 ++++------- secure/caroot/trusted/OISTE_WISeKey_Global_Root_GC_CA.pem | 11 ++++------- secure/caroot/trusted/QuoVadis_Root_CA_1_G3.pem | 11 ++++------- secure/caroot/trusted/QuoVadis_Root_CA_2.pem | 11 ++++------- secure/caroot/trusted/QuoVadis_Root_CA_2_G3.pem | 11 ++++------- secure/caroot/trusted/QuoVadis_Root_CA_3.pem | 11 ++++------- secure/caroot/trusted/QuoVadis_Root_CA_3_G3.pem | 11 ++++------- .../trusted/SSL_com_EV_Root_Certification_Authority_ECC.pem | 11 ++++------- .../SSL_com_EV_Root_Certification_Authority_RSA_R2.pem | 11 ++++------- .../trusted/SSL_com_Root_Certification_Authority_ECC.pem | 11 ++++------- .../trusted/SSL_com_Root_Certification_Authority_RSA.pem | 11 ++++------- secure/caroot/trusted/SSL_com_TLS_ECC_Root_CA_2022.pem | 11 ++++------- secure/caroot/trusted/SSL_com_TLS_RSA_Root_CA_2022.pem | 11 ++++------- secure/caroot/trusted/SZAFIR_ROOT_CA2.pem | 11 ++++------- .../Sectigo_Public_Server_Authentication_Root_E46.pem | 11 ++++------- .../Sectigo_Public_Server_Authentication_Root_R46.pem | 11 ++++------- secure/caroot/trusted/SecureSign_Root_CA12.pem | 11 ++++------- secure/caroot/trusted/SecureSign_Root_CA14.pem | 11 ++++------- secure/caroot/trusted/SecureSign_Root_CA15.pem | 11 ++++------- secure/caroot/trusted/SecureTrust_CA.pem | 12 +++++------- secure/caroot/trusted/Secure_Global_CA.pem | 12 +++++------- .../caroot/trusted/Security_Communication_ECC_RootCA1.pem | 11 ++++------- secure/caroot/trusted/Security_Communication_RootCA2.pem | 11 ++++------- secure/caroot/trusted/Starfield_Class_2_CA.pem | 11 ++++------- .../trusted/Starfield_Root_Certificate_Authority_-_G2.pem | 11 ++++------- .../Starfield_Services_Root_Certificate_Authority_-_G2.pem | 11 ++++------- secure/caroot/trusted/SwissSign_Gold_CA_-_G2.pem | 11 ++++------- secure/caroot/trusted/T-TeleSec_GlobalRoot_Class_2.pem | 11 ++++------- secure/caroot/trusted/T-TeleSec_GlobalRoot_Class_3.pem | 11 ++++------- .../TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem | 11 ++++------- secure/caroot/trusted/TWCA_CYBER_Root_CA.pem | 11 ++++------- secure/caroot/trusted/TWCA_Global_Root_CA.pem | 11 ++++------- secure/caroot/trusted/TWCA_Root_Certification_Authority.pem | 11 ++++------- .../caroot/trusted/Telekom_Security_TLS_ECC_Root_2020.pem | 11 ++++------- .../caroot/trusted/Telekom_Security_TLS_RSA_Root_2023.pem | 11 ++++------- secure/caroot/trusted/TeliaSonera_Root_CA_v1.pem | 11 ++++------- secure/caroot/trusted/Telia_Root_CA_v2.pem | 11 ++++------- secure/caroot/trusted/TrustAsia_Global_Root_CA_G3.pem | 11 ++++------- secure/caroot/trusted/TrustAsia_Global_Root_CA_G4.pem | 11 ++++------- .../trusted/Trustwave_Global_Certification_Authority.pem | 11 ++++------- .../Trustwave_Global_ECC_P256_Certification_Authority.pem | 11 ++++------- .../Trustwave_Global_ECC_P384_Certification_Authority.pem | 11 ++++------- secure/caroot/trusted/TunTrust_Root_CA.pem | 11 ++++------- secure/caroot/trusted/UCA_Extended_Validation_Root.pem | 11 ++++------- secure/caroot/trusted/UCA_Global_G2_Root.pem | 11 ++++------- .../trusted/USERTrust_ECC_Certification_Authority.pem | 11 ++++------- .../trusted/USERTrust_RSA_Certification_Authority.pem | 11 ++++------- secure/caroot/trusted/XRamp_Global_CA_Root.pem | 12 +++++------- secure/caroot/trusted/certSIGN_ROOT_CA.pem | 11 ++++------- secure/caroot/trusted/certSIGN_Root_CA_G2.pem | 11 ++++------- secure/caroot/trusted/e-Szigno_Root_CA_2017.pem | 11 ++++------- secure/caroot/trusted/ePKI_Root_Certification_Authority.pem | 11 ++++------- secure/caroot/trusted/emSign_ECC_Root_CA_-_C3.pem | 11 ++++------- secure/caroot/trusted/emSign_ECC_Root_CA_-_G3.pem | 11 ++++------- secure/caroot/trusted/emSign_Root_CA_-_C1.pem | 11 ++++------- secure/caroot/trusted/emSign_Root_CA_-_G1.pem | 11 ++++------- secure/caroot/trusted/vTrus_ECC_Root_CA.pem | 11 ++++------- secure/caroot/trusted/vTrus_Root_CA.pem | 11 ++++------- .../untrusted/Camerfirma_Chambers_of_Commerce_Root.pem | 10 +++++----- .../caroot/untrusted/Camerfirma_Global_Chambersign_Root.pem | 10 +++++----- secure/caroot/untrusted/Certum_Root_CA.pem | 9 ++++----- .../caroot/untrusted/Chambers_of_Commerce_Root_-_2008.pem | 9 ++++----- secure/caroot/untrusted/D-TRUST_Root_CA_3_2013.pem | 11 ++++++----- secure/caroot/untrusted/E-Tugra_Global_Root_CA_ECC_v3.pem | 11 ++++------- secure/caroot/untrusted/E-Tugra_Global_Root_CA_RSA_v3.pem | 11 ++++------- secure/caroot/untrusted/EC-ACC.pem | 9 ++++----- secure/caroot/untrusted/EE_Certification_Centre_Root_CA.pem | 10 ++++------ .../untrusted/Entrust_Root_Certification_Authority_-_G4.pem | 11 ++++------- .../untrusted/GeoTrust_Primary_Certification_Authority.pem | 10 ++++------ .../GeoTrust_Primary_Certification_Authority_-_G2.pem | 9 ++++----- .../GeoTrust_Primary_Certification_Authority_-_G3.pem | 10 ++++------ secure/caroot/untrusted/GeoTrust_Universal_CA.pem | 10 ++++------ secure/caroot/untrusted/GeoTrust_Universal_CA_2.pem | 10 ++++------ secure/caroot/untrusted/Global_Chambersign_Root_-_2008.pem | 9 ++++----- ...lenic_Academic_and_Research_Institutions_RootCA_2011.pem | 11 ++++------- secure/caroot/untrusted/LuxTrust_Global_Root_2.pem | 10 ++++------ .../untrusted/Network_Solutions_Certificate_Authority.pem | 12 +++++------- secure/caroot/untrusted/OISTE_WISeKey_Global_Root_GA_CA.pem | 9 ++++----- secure/caroot/untrusted/SecureSign_RootCA11.pem | 11 ++++------- secure/caroot/untrusted/Security_Communication_RootCA3.pem | 11 ++++------- .../caroot/untrusted/Staat_der_Nederlanden_Root_CA_-_G3.pem | 9 ++++----- secure/caroot/untrusted/SwissSign_Platinum_CA_-_G2.pem | 9 ++++----- secure/caroot/untrusted/SwissSign_Silver_CA_-_G2.pem | 11 ++++------- ..._Class_1_Public_Primary_Certification_Authority_-_G4.pem | 10 ++++------ ..._Class_1_Public_Primary_Certification_Authority_-_G6.pem | 9 ++++----- ..._Class_2_Public_Primary_Certification_Authority_-_G4.pem | 10 ++++------ ..._Class_2_Public_Primary_Certification_Authority_-_G6.pem | 9 ++++----- secure/caroot/untrusted/Taiwan_GRCA.pem | 10 ++++------ secure/caroot/untrusted/TrustCor_ECA-1.pem | 11 ++++------- secure/caroot/untrusted/TrustCor_RootCert_CA-1.pem | 11 ++++------- secure/caroot/untrusted/TrustCor_RootCert_CA-2.pem | 11 ++++------- ..._Class_3_Public_Primary_Certification_Authority_-_G4.pem | 10 ++++------ ..._Class_3_Public_Primary_Certification_Authority_-_G5.pem | 10 ++++------ .../VeriSign_Universal_Root_Certification_Authority.pem | 9 ++++----- ..._Class_1_Public_Primary_Certification_Authority_-_G3.pem | 9 ++++----- ..._Class_2_Public_Primary_Certification_Authority_-_G3.pem | 9 ++++----- ..._Class_3_Public_Primary_Certification_Authority_-_G3.pem | 10 ++++------ secure/caroot/untrusted/thawte_Primary_Root_CA.pem | 10 ++++------ secure/caroot/untrusted/thawte_Primary_Root_CA_-_G2.pem | 10 ++++------ secure/caroot/untrusted/thawte_Primary_Root_CA_-_G3.pem | 10 ++++------ 194 files changed, 800 insertions(+), 1300 deletions(-) diff --git a/secure/caroot/Makefile b/secure/caroot/Makefile index e0ef4623b498..c20499e52a76 100644 --- a/secure/caroot/Makefile +++ b/secure/caroot/Makefile @@ -5,12 +5,17 @@ SUBDIR+= untrusted .include +# Set this to an upstream hash or tag +# https://hg-edge.mozilla.org/projects/nss/tags +HGVER = e71e3de47d4ca7a3efa7c11096ab2e20ae71683e + # To be used by secteam@ to update the trusted certificates fetchcerts: .PHONY - fetch --no-sslv3 --no-tlsv1 -o certdata.txt 'https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/security/nss/lib/ckfw/builtins/certdata.txt' + fetch --mirror -o certdata.txt 'https://hg-edge.mozilla.org/projects/nss/raw-file/${HGVER}/lib/ckfw/builtins/certdata.txt' cleancerts: .PHONY @${MAKE} -C ${.CURDIR}/trusted ${.TARGET} + @${MAKE} -C ${.CURDIR}/untrusted ${.TARGET} updatecerts: .PHONY cleancerts fetchcerts perl ${.CURDIR}/ca-extract.pl -i certdata.txt \ diff --git a/secure/caroot/ca-extract.pl b/secure/caroot/ca-extract.pl index 75f8352e384e..c02411b2cf42 100755 --- a/secure/caroot/ca-extract.pl +++ b/secure/caroot/ca-extract.pl @@ -40,7 +40,6 @@ use Carp; use MIME::Base64; use Getopt::Long; use Time::Local qw( timegm_posix ); -use POSIX qw( strftime ); my $generated = '@' . 'generated'; my $inputfh = *STDIN; @@ -79,7 +78,8 @@ sub print_header($$) ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## $generated ## diff --git a/secure/caroot/trusted/ACCVRAIZ1.pem b/secure/caroot/trusted/ACCVRAIZ1.pem index 9c48cb1f7155..4306a9da04ea 100644 --- a/secure/caroot/trusted/ACCVRAIZ1.pem +++ b/secure/caroot/trusted/ACCVRAIZ1.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 6828503384748696800 (0x5ec3b7a6437fa4e0) Signature Algorithm: sha1WithRSAEncryption - Issuer: CN = ACCVRAIZ1, OU = PKIACCV, O = ACCV, C = ES + Issuer: CN=ACCVRAIZ1, OU=PKIACCV, O=ACCV, C=ES Validity Not Before: May 5 09:37:37 2011 GMT Not After : Dec 31 09:37:37 2030 GMT - Subject: CN = ACCVRAIZ1, OU = PKIACCV, O = ACCV, C = ES + Subject: CN=ACCVRAIZ1, OU=PKIACCV, O=ACCV, C=ES Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) @@ -79,6 +76,7 @@ Certificate: X509v3 CRL Distribution Points: Full Name: URI:http://www.accv.es/fileadmin/Archivos/certificados/raizaccv1_der.crl + X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Alternative Name: diff --git a/secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem b/secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem index b526b6694741..7cf292057c7a 100644 --- a/secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem +++ b/secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07 Signature Algorithm: sha256WithRSAEncryption - Issuer: C = ES, O = FNMT-RCM, OU = AC RAIZ FNMT-RCM + Issuer: C=ES, O=FNMT-RCM, OU=AC RAIZ FNMT-RCM Validity Not Before: Oct 29 15:59:56 2008 GMT Not After : Jan 1 00:00:00 2030 GMT - Subject: C = ES, O = FNMT-RCM, OU = AC RAIZ FNMT-RCM + Subject: C=ES, O=FNMT-RCM, OU=AC RAIZ FNMT-RCM Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem b/secure/caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem index c90964ddb4d3..2a08b9a091ec 100644 --- a/secure/caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem +++ b/secure/caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 62:f6:32:6c:e5:c4:e3:68:5c:1b:62:dd:9c:2e:9d:95 Signature Algorithm: ecdsa-with-SHA384 - Issuer: C = ES, O = FNMT-RCM, OU = Ceres, organizationIdentifier = VATES-Q2826004J, CN = AC RAIZ FNMT-RCM SERVIDORES SEGUROS + Issuer: C=ES, O=FNMT-RCM, OU=Ceres, organizationIdentifier=VATES-Q2826004J, CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS Validity Not Before: Dec 20 09:37:33 2018 GMT Not After : Dec 20 09:37:33 2043 GMT - Subject: C = ES, O = FNMT-RCM, OU = Ceres, organizationIdentifier = VATES-Q2826004J, CN = AC RAIZ FNMT-RCM SERVIDORES SEGUROS + Subject: C=ES, O=FNMT-RCM, OU=Ceres, organizationIdentifier=VATES-Q2826004J, CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) diff --git a/secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem b/secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem index 158d806bffc3..8a133cfc419d 100644 --- a/secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem +++ b/secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 996390341000653745 (0xdd3e3bc6cf96bb1) Signature Algorithm: sha256WithRSAEncryption - Issuer: serialNumber = G63287510, C = ES, O = ANF Autoridad de Certificacion, OU = ANF CA Raiz, CN = ANF Secure Server Root CA + Issuer: serialNumber=G63287510, C=ES, O=ANF Autoridad de Certificacion, OU=ANF CA Raiz, CN=ANF Secure Server Root CA Validity Not Before: Sep 4 10:00:38 2019 GMT Not After : Aug 30 10:00:38 2039 GMT - Subject: serialNumber = G63287510, C = ES, O = ANF Autoridad de Certificacion, OU = ANF CA Raiz, CN = ANF Secure Server Root CA + Subject: serialNumber=G63287510, C=ES, O=ANF Autoridad de Certificacion, OU=ANF CA Raiz, CN=ANF Secure Server Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/Actalis_Authentication_Root_CA.pem b/secure/caroot/trusted/Actalis_Authentication_Root_CA.pem index b71e3f700c29..d695e866c1bd 100644 --- a/secure/caroot/trusted/Actalis_Authentication_Root_CA.pem +++ b/secure/caroot/trusted/Actalis_Authentication_Root_CA.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 6271844772424770508 (0x570a119742c4e3cc) Signature Algorithm: sha256WithRSAEncryption - Issuer: C = IT, L = Milan, O = Actalis S.p.A./03358520967, CN = Actalis Authentication Root CA + Issuer: C=IT, L=Milan, O=Actalis S.p.A./03358520967, CN=Actalis Authentication Root CA Validity Not Before: Sep 22 11:22:02 2011 GMT Not After : Sep 22 11:22:02 2030 GMT - Subject: C = IT, L = Milan, O = Actalis S.p.A./03358520967, CN = Actalis Authentication Root CA + Subject: C=IT, L=Milan, O=Actalis S.p.A./03358520967, CN=Actalis Authentication Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/AffirmTrust_Commercial.pem b/secure/caroot/trusted/AffirmTrust_Commercial.pem index b59fd17d8d7b..b889d02ba6b7 100644 --- a/secure/caroot/trusted/AffirmTrust_Commercial.pem +++ b/secure/caroot/trusted/AffirmTrust_Commercial.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 8608355977964138876 (0x7777062726a9b17c) Signature Algorithm: sha256WithRSAEncryption - Issuer: C = US, O = AffirmTrust, CN = AffirmTrust Commercial + Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Commercial Validity Not Before: Jan 29 14:06:06 2010 GMT Not After : Dec 31 14:06:06 2030 GMT - Subject: C = US, O = AffirmTrust, CN = AffirmTrust Commercial + Subject: C=US, O=AffirmTrust, CN=AffirmTrust Commercial Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) diff --git a/secure/caroot/trusted/AffirmTrust_Networking.pem b/secure/caroot/trusted/AffirmTrust_Networking.pem index 33f7a4bebcb6..e4a201bc82ae 100644 --- a/secure/caroot/trusted/AffirmTrust_Networking.pem +++ b/secure/caroot/trusted/AffirmTrust_Networking.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 8957382827206547757 (0x7c4f04391cd4992d) Signature Algorithm: sha1WithRSAEncryption - Issuer: C = US, O = AffirmTrust, CN = AffirmTrust Networking + Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Networking Validity Not Before: Jan 29 14:08:24 2010 GMT Not After : Dec 31 14:08:24 2030 GMT - Subject: C = US, O = AffirmTrust, CN = AffirmTrust Networking + Subject: C=US, O=AffirmTrust, CN=AffirmTrust Networking Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) diff --git a/secure/caroot/trusted/AffirmTrust_Premium.pem b/secure/caroot/trusted/AffirmTrust_Premium.pem index ec32ac850bbd..853f7dc0e2d3 100644 --- a/secure/caroot/trusted/AffirmTrust_Premium.pem +++ b/secure/caroot/trusted/AffirmTrust_Premium.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 7893706540734352110 (0x6d8c1446b1a60aee) Signature Algorithm: sha384WithRSAEncryption - Issuer: C = US, O = AffirmTrust, CN = AffirmTrust Premium + Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Premium Validity Not Before: Jan 29 14:10:36 2010 GMT Not After : Dec 31 14:10:36 2040 GMT - Subject: C = US, O = AffirmTrust, CN = AffirmTrust Premium + Subject: C=US, O=AffirmTrust, CN=AffirmTrust Premium Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem b/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem index 19a9ffb6b45b..68ce02904f4f 100644 --- a/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem +++ b/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 8401224907861490260 (0x7497258ac73f7a54) Signature Algorithm: ecdsa-with-SHA384 - Issuer: C = US, O = AffirmTrust, CN = AffirmTrust Premium ECC + Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC Validity Not Before: Jan 29 14:20:24 2010 GMT Not After : Dec 31 14:20:24 2040 GMT - Subject: C = US, O = AffirmTrust, CN = AffirmTrust Premium ECC + Subject: C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) diff --git a/secure/caroot/trusted/Amazon_Root_CA_1.pem b/secure/caroot/trusted/Amazon_Root_CA_1.pem index 5a7236d01703..ffbbd9359026 100644 --- a/secure/caroot/trusted/Amazon_Root_CA_1.pem +++ b/secure/caroot/trusted/Amazon_Root_CA_1.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca Signature Algorithm: sha256WithRSAEncryption - Issuer: C = US, O = Amazon, CN = Amazon Root CA 1 + Issuer: C=US, O=Amazon, CN=Amazon Root CA 1 Validity Not Before: May 26 00:00:00 2015 GMT Not After : Jan 17 00:00:00 2038 GMT - Subject: C = US, O = Amazon, CN = Amazon Root CA 1 + Subject: C=US, O=Amazon, CN=Amazon Root CA 1 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) diff --git a/secure/caroot/trusted/Amazon_Root_CA_2.pem b/secure/caroot/trusted/Amazon_Root_CA_2.pem index 5418e52f1cfd..d46be964b784 100644 --- a/secure/caroot/trusted/Amazon_Root_CA_2.pem +++ b/secure/caroot/trusted/Amazon_Root_CA_2.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37 Signature Algorithm: sha384WithRSAEncryption - Issuer: C = US, O = Amazon, CN = Amazon Root CA 2 + Issuer: C=US, O=Amazon, CN=Amazon Root CA 2 Validity Not Before: May 26 00:00:00 2015 GMT Not After : May 26 00:00:00 2040 GMT - Subject: C = US, O = Amazon, CN = Amazon Root CA 2 + Subject: C=US, O=Amazon, CN=Amazon Root CA 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/Amazon_Root_CA_3.pem b/secure/caroot/trusted/Amazon_Root_CA_3.pem index 0baa14e92de3..6c83842bcad5 100644 --- a/secure/caroot/trusted/Amazon_Root_CA_3.pem +++ b/secure/caroot/trusted/Amazon_Root_CA_3.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a Signature Algorithm: ecdsa-with-SHA256 - Issuer: C = US, O = Amazon, CN = Amazon Root CA 3 + Issuer: C=US, O=Amazon, CN=Amazon Root CA 3 Validity Not Before: May 26 00:00:00 2015 GMT Not After : May 26 00:00:00 2040 GMT - Subject: C = US, O = Amazon, CN = Amazon Root CA 3 + Subject: C=US, O=Amazon, CN=Amazon Root CA 3 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) diff --git a/secure/caroot/trusted/Amazon_Root_CA_4.pem b/secure/caroot/trusted/Amazon_Root_CA_4.pem index 06ccb20544dc..167f0d3ae365 100644 --- a/secure/caroot/trusted/Amazon_Root_CA_4.pem +++ b/secure/caroot/trusted/Amazon_Root_CA_4.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e Signature Algorithm: ecdsa-with-SHA384 - Issuer: C = US, O = Amazon, CN = Amazon Root CA 4 + Issuer: C=US, O=Amazon, CN=Amazon Root CA 4 Validity Not Before: May 26 00:00:00 2015 GMT Not After : May 26 00:00:00 2040 GMT - Subject: C = US, O = Amazon, CN = Amazon Root CA 4 + Subject: C=US, O=Amazon, CN=Amazon Root CA 4 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) diff --git a/secure/caroot/trusted/Atos_TrustedRoot_2011.pem b/secure/caroot/trusted/Atos_TrustedRoot_2011.pem index 736143dc94ff..a5781197cff1 100644 --- a/secure/caroot/trusted/Atos_TrustedRoot_2011.pem +++ b/secure/caroot/trusted/Atos_TrustedRoot_2011.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 6643877497813316402 (0x5c33cb622c5fb332) Signature Algorithm: sha256WithRSAEncryption - Issuer: CN = Atos TrustedRoot 2011, O = Atos, C = DE + Issuer: CN=Atos TrustedRoot 2011, O=Atos, C=DE Validity Not Before: Jul 7 14:58:30 2011 GMT Not After : Dec 31 23:59:59 2030 GMT - Subject: CN = Atos TrustedRoot 2011, O = Atos, C = DE + Subject: CN=Atos TrustedRoot 2011, O=Atos, C=DE Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) diff --git a/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem b/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem index c1d1df849c8f..b696144b1487 100644 --- a/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem +++ b/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 3d:98:3b:a6:66:3d:90:63:f7:7e:26:57:38:04:ef:00 Signature Algorithm: ecdsa-with-SHA384 - Issuer: CN = Atos TrustedRoot Root CA ECC TLS 2021, O = Atos, C = DE + Issuer: CN=Atos TrustedRoot Root CA ECC TLS 2021, O=Atos, C=DE Validity Not Before: Apr 22 09:26:23 2021 GMT Not After : Apr 17 09:26:22 2041 GMT - Subject: CN = Atos TrustedRoot Root CA ECC TLS 2021, O = Atos, C = DE + Subject: CN=Atos TrustedRoot Root CA ECC TLS 2021, O=Atos, C=DE Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) diff --git a/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem b/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem index c602172911ed..410b7cbed96f 100644 --- a/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem +++ b/secure/caroot/trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 53:d5:cf:e6:19:93:0b:fb:2b:05:12:d8:c2:2a:a2:a4 Signature Algorithm: sha384WithRSAEncryption - Issuer: CN = Atos TrustedRoot Root CA RSA TLS 2021, O = Atos, C = DE + Issuer: CN=Atos TrustedRoot Root CA RSA TLS 2021, O=Atos, C=DE Validity Not Before: Apr 22 09:21:10 2021 GMT Not After : Apr 17 09:21:09 2041 GMT - Subject: CN = Atos TrustedRoot Root CA RSA TLS 2021, O = Atos, C = DE + Subject: CN=Atos TrustedRoot Root CA RSA TLS 2021, O=Atos, C=DE Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem b/secure/caroot/trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem index ceae80a3e6d8..0e4b90b76ffe 100644 --- a/secure/caroot/trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem +++ b/secure/caroot/trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 1977337328857672817 (0x1b70e9d2ffae6c71) Signature Algorithm: sha256WithRSAEncryption - Issuer: C = ES, CN = Autoridad de Certificacion Firmaprofesional CIF A62634068 + Issuer: C=ES, CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 Validity Not Before: Sep 23 15:22:07 2014 GMT Not After : May 5 15:22:07 2036 GMT - Subject: C = ES, CN = Autoridad de Certificacion Firmaprofesional CIF A62634068 + Subject: C=ES, CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/BJCA_Global_Root_CA1.pem b/secure/caroot/trusted/BJCA_Global_Root_CA1.pem index b8ae26804770..060a47ab2ee6 100644 --- a/secure/caroot/trusted/BJCA_Global_Root_CA1.pem +++ b/secure/caroot/trusted/BJCA_Global_Root_CA1.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 55:6f:65:e3:b4:d9:90:6a:1b:09:d1:6c:3e:c0:6c:20 Signature Algorithm: sha256WithRSAEncryption - Issuer: C = CN, O = BEIJING CERTIFICATE AUTHORITY, CN = BJCA Global Root CA1 + Issuer: C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA1 Validity Not Before: Dec 19 03:16:17 2019 GMT Not After : Dec 12 03:16:17 2044 GMT - Subject: C = CN, O = BEIJING CERTIFICATE AUTHORITY, CN = BJCA Global Root CA1 + Subject: C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA1 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/BJCA_Global_Root_CA2.pem b/secure/caroot/trusted/BJCA_Global_Root_CA2.pem index 8265c5da88e8..d551c65560a2 100644 --- a/secure/caroot/trusted/BJCA_Global_Root_CA2.pem +++ b/secure/caroot/trusted/BJCA_Global_Root_CA2.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -17,11 +14,11 @@ Certificate: Serial Number: 2c:17:08:7d:64:2a:c0:fe:85:18:59:06:cf:b4:4a:eb Signature Algorithm: ecdsa-with-SHA384 - Issuer: C = CN, O = BEIJING CERTIFICATE AUTHORITY, CN = BJCA Global Root CA2 + Issuer: C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA2 Validity Not Before: Dec 19 03:18:21 2019 GMT Not After : Dec 12 03:18:21 2044 GMT - Subject: C = CN, O = BEIJING CERTIFICATE AUTHORITY, CN = BJCA Global Root CA2 + Subject: C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA2 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) diff --git a/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem b/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem index e7bc165793d8..8f5973a12f5b 100644 --- a/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem +++ b/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 33554617 (0x20000b9) Signature Algorithm: sha1WithRSAEncryption - Issuer: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Validity Not Before: May 12 18:46:00 2000 GMT Not After : May 12 23:59:00 2025 GMT - Subject: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root + Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) diff --git a/secure/caroot/trusted/Buypass_Class_2_Root_CA.pem b/secure/caroot/trusted/Buypass_Class_2_Root_CA.pem index 20f28f053315..5596e08b3cb3 100644 --- a/secure/caroot/trusted/Buypass_Class_2_Root_CA.pem +++ b/secure/caroot/trusted/Buypass_Class_2_Root_CA.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: sha256WithRSAEncryption - Issuer: C = NO, O = Buypass AS-983163327, CN = Buypass Class 2 Root CA + Issuer: C=NO, O=Buypass AS-983163327, CN=Buypass Class 2 Root CA Validity Not Before: Oct 26 08:38:03 2010 GMT Not After : Oct 26 08:38:03 2040 GMT - Subject: C = NO, O = Buypass AS-983163327, CN = Buypass Class 2 Root CA + Subject: C=NO, O=Buypass AS-983163327, CN=Buypass Class 2 Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/Buypass_Class_3_Root_CA.pem b/secure/caroot/trusted/Buypass_Class_3_Root_CA.pem index c9e409413ec6..7c6136850886 100644 --- a/secure/caroot/trusted/Buypass_Class_3_Root_CA.pem +++ b/secure/caroot/trusted/Buypass_Class_3_Root_CA.pem @@ -3,11 +3,8 @@ ## ## This is a single X.509 certificate for a public Certificate ## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## It contains a certificate trusted for server authentication. -## -## Extracted from nss +## root CA list (the file `certdata.txt' in security/nss) +## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. ## ## @generated ## @@ -16,11 +13,11 @@ Certificate: Version: 3 (0x2) Serial Number: 2 (0x2) Signature Algorithm: sha256WithRSAEncryption - Issuer: C = NO, O = Buypass AS-983163327, CN = Buypass Class 3 Root CA + Issuer: C=NO, O=Buypass AS-983163327, CN=Buypass Class 3 Root CA Validity Not Before: Oct 26 08:28:58 2010 GMT Not After : Oct 26 08:28:58 2040 GMT - Subject: C = NO, O = Buypass AS-983163327, CN = Buypass Class 3 Root CA + Subject: C=NO, O=Buypass AS-983163327, CN=Buypass Class 3 Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) diff --git a/secure/caroot/trusted/CA_Disig_Root_R2.pem b/secure/caroot/trusted/CA_Disig_Root_R2.pem index 86f93bb2f151..1b007f970460 100644 --- a/secure/caroot/trusted/CA_Disig_Root_R2.pem +++ b/secure/caroot/trusted/CA_Disig_Root_R2.pem *** 5538 LINES SKIPPED *** From nobody Mon Apr 27 09:33:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3z054lWkz6ZnBN for ; Mon, 27 Apr 2026 09:33: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 4g3z052dhZz3Q7w for ; Mon, 27 Apr 2026 09:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777282421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EC1fTJdU/3w1vcFnwOORQyvZGHHPZuuDdEssRkmJ4RY=; b=kEO9qbAWTEVkVQ02RzTKVYIuxLdx1J3AyLLlBmklAux3WxhQqjP+br5GUV3UdGwkhhCPKY x++k5ehSlurYJZJNUiRGK/b7CTEpQBq0y9WifoLLAPr64ZXlmFcs/OoEsU1rljyiAomUA8 Tm/O1XvdYbq73bAmf+l9JtLkcopJSHwsMuDPN3O9pVWjzz1Uj6fqd2+8u2F4u7RpobrqqP 8KxaAUaOcSe/Tw7yyFKizztD4HOTML0WnGfqpLzXY4lR+aZVE2kokb/oEfDVHDj+0cvHjo kYsHQCcUVYRnhpwMrY0UfcDN7+g6FFq7ccUm4XViK4CLlulfXqRKcdcPebcylQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777282421; a=rsa-sha256; cv=none; b=YDRgkaBLJK8X5xVjSk4lBGNDB7BInrrNE8Z3kfq6+P1yAFwnW/7XbkJPjMdX07ZSIx7AoI nlsU7BeJc4iYTLPZUoeo/b92PJi+r7n8CI8l6YoiBDbCbOxrBgadOqLCsq5zV+VBH+X7AQ NwzgJ5dHhsyOz0we7FNN55x1a7o+Hz2whW6IKXZgyqWgFRkAst9IjXcqTTPvCRwaP3MmoO yjXONMkbceJEpb8TaNiSRrcwm7ItBrQgXL5TN/bxoWAxW0Y4vonPtXU4oJ1dEIckHLvgMr IwiJOPgovMXqNCy8AuZfeAR8b+zvqTyNkGGWg/JCvEGyR+8fvaEwM+r/DssOBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777282421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EC1fTJdU/3w1vcFnwOORQyvZGHHPZuuDdEssRkmJ4RY=; b=vFduO6Wask2Ewkpsdqc28FEEs/CI/eLwFzf9WVnZOjP4wQcWSjhQnVUSiftpIRcrm7j7wv zyhlSNFD9nY/xikMdA9zgKG5NlZ15aByPECL9O1pfREWJE7DeabPeS2c53SI09iHUvyKx/ rGNd3KVc5DM6eUmxUGk25x5yz/WeYZleoplf/m/qOrtEOVAaFqOCQsacvzAH5mwQeVPKw4 BXa1eRbkyh1AU9DzMue7AFVM5aFbG7nvOhx2fCEl5NmY+ugxXLu6JIgVDd4B4JLpG43YNr 5ziyy8+GcEZ5ad7uXWeIy184sTbEb6WDTeztP41yOFKoHtS7QysgA6HHsZrYhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3z0529K4z122Y for ; Mon, 27 Apr 2026 09:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 420a6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 09:33:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 07b52233e8b7 - main - caroot: Regenerate List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07b52233e8b74c5ac884b9c9a894f57fad8dbd00 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 09:33:41 +0000 Message-Id: <69ef2d75.420a6.41dbd75@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=07b52233e8b74c5ac884b9c9a894f57fad8dbd00 commit 07b52233e8b74c5ac884b9c9a894f57fad8dbd00 Author: Dag-Erling Smørgrav AuthorDate: 2026-04-27 09:32:51 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-04-27 09:33:09 +0000 caroot: Regenerate Regenerate using certificate data from NSS 3.123.1. MFC after: 1 week Reviewed by: kevans --- ObsoleteFiles.inc | 75 +++++++++++ secure/caroot/Makefile | 2 +- secure/caroot/trusted/AffirmTrust_Commercial.pem | 88 ------------ secure/caroot/trusted/AffirmTrust_Networking.pem | 88 ------------ secure/caroot/trusted/AffirmTrust_Premium.pem | 130 ------------------ secure/caroot/trusted/AffirmTrust_Premium_ECC.pem | 62 --------- .../caroot/trusted/Baltimore_CyberTrust_Root.pem | 89 ------------ .../trusted/CommScope_Public_Trust_ECC_Root-01.pem | 64 --------- .../trusted/CommScope_Public_Trust_ECC_Root-02.pem | 64 --------- .../trusted/CommScope_Public_Trust_RSA_Root-01.pem | 131 ------------------ .../trusted/CommScope_Public_Trust_RSA_Root-02.pem | 131 ------------------ .../trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem | 68 ---------- secure/caroot/trusted/GLOBALTRUST_2020.pem | 134 ------------------ secure/caroot/trusted/OISTE_Server_Root_ECC_G1.pem | 66 +++++++++ secure/caroot/trusted/OISTE_Server_Root_RSA_G1.pem | 134 ++++++++++++++++++ secure/caroot/trusted/SecureTrust_CA.pem | 99 -------------- secure/caroot/trusted/Secure_Global_CA.pem | 99 -------------- .../trusted/SwissSign_RSA_TLS_Root_CA_2022_-_1.pem | 134 ++++++++++++++++++ secure/caroot/trusted/TeliaSonera_Root_CA_v1.pem | 130 ------------------ .../caroot/trusted/TrustAsia_TLS_ECC_Root_CA.pem | 64 +++++++++ .../caroot/trusted/TrustAsia_TLS_RSA_Root_CA.pem | 132 ++++++++++++++++++ .../Trustwave_Global_Certification_Authority.pem | 134 ------------------ ...ave_Global_ECC_P256_Certification_Authority.pem | 61 --------- ...ave_Global_ECC_P384_Certification_Authority.pem | 67 --------- secure/caroot/trusted/XRamp_Global_CA_Root.pem | 102 -------------- secure/caroot/trusted/certSIGN_ROOT_CA.pem | 88 ------------ .../caroot/trusted/e-Szigno_TLS_Root_CA_2023.pem | 74 ++++++++++ .../Atos_TrustedRoot_Root_CA_ECC_G2_2020.pem | 66 +++++++++ .../Atos_TrustedRoot_Root_CA_RSA_G2_2020.pem | 134 ++++++++++++++++++ .../COMODO_Certification_Authority.pem | 0 .../Camerfirma_Chambers_of_Commerce_Root.pem | 109 --------------- .../Camerfirma_Global_Chambersign_Root.pem | 109 --------------- secure/caroot/{trusted => untrusted}/Certigna.pem | 0 .../untrusted/Chambers_of_Commerce_Root_-_2008.pem | 149 --------------------- .../Comodo_AAA_Services_root.pem | 0 .../untrusted/D-Trust_SBR_Root_CA_1_2022.pem | 69 ++++++++++ .../untrusted/D-Trust_SBR_Root_CA_2_2022.pem | 137 +++++++++++++++++++ .../untrusted/DIGITALSIGN_GLOBAL_ROOT_ECDSA_CA.pem | 67 +++++++++ .../untrusted/DIGITALSIGN_GLOBAL_ROOT_RSA_CA.pem | 135 +++++++++++++++++++ .../DigiCert_Assured_ID_Root_CA.pem | 0 .../DigiCert_Global_Root_CA.pem | 0 .../DigiCert_High_Assurance_EV_Root_CA.pem | 0 .../untrusted/DigiCert_SMIME_ECC_P384_Root_G5.pem | 64 +++++++++ .../untrusted/DigiCert_SMIME_RSA4096_Root_G5.pem | 131 ++++++++++++++++++ .../untrusted/E-Tugra_Global_Root_CA_ECC_v3.pem | 69 ---------- .../untrusted/E-Tugra_Global_Root_CA_RSA_v3.pem | 136 ------------------- secure/caroot/untrusted/EC-ACC.pem | 107 --------------- .../untrusted/EE_Certification_Centre_Root_CA.pem | 95 ------------- .../Entrust_Root_Certification_Authority.pem | 0 .../Entrust_Root_Certification_Authority_-_EC1.pem | 0 .../Entrust_Root_Certification_Authority_-_G2.pem | 0 .../Entrust_net_Premium_2048_Secure_Server_CA.pem | 0 .../caroot/{trusted => untrusted}/GTS_Root_R2.pem | 0 .../GeoTrust_Primary_Certification_Authority.pem | 90 ------------- ...oTrust_Primary_Certification_Authority_-_G2.pem | 67 --------- ...oTrust_Primary_Certification_Authority_-_G3.pem | 93 ------------- secure/caroot/untrusted/GeoTrust_Universal_CA.pem | 132 ------------------ .../caroot/untrusted/GeoTrust_Universal_CA_2.pem | 132 ------------------ .../{trusted => untrusted}/GlobalSign_Root_CA.pem | 0 .../untrusted/GlobalSign_Secure_Mail_Root_E45.pem | 64 +++++++++ .../untrusted/GlobalSign_Secure_Mail_Root_R45.pem | 132 ++++++++++++++++++ .../untrusted/Global_Chambersign_Root_-_2008.pem | 148 -------------------- .../{trusted => untrusted}/Go_Daddy_Class_2_CA.pem | 0 .../untrusted/HARICA_Client_ECC_Root_CA_2021.pem | 65 +++++++++ .../untrusted/HARICA_Client_RSA_Root_CA_2021.pem | 133 ++++++++++++++++++ ...demic_and_Research_Institutions_RootCA_2011.pem | 103 -------------- .../caroot/untrusted/LAWtrust_Root_CA2__4096_.pem | 135 +++++++++++++++++++ secure/caroot/untrusted/LuxTrust_Global_Root_2.pem | 138 ------------------- .../Network_Solutions_Certificate_Authority.pem | 96 ------------- .../caroot/untrusted/OISTE_Client_Root_ECC_G1.pem | 66 +++++++++ .../caroot/untrusted/OISTE_Client_Root_RSA_G1.pem | 134 ++++++++++++++++++ .../{trusted => untrusted}/QuoVadis_Root_CA_2.pem | 0 .../{trusted => untrusted}/QuoVadis_Root_CA_3.pem | 0 .../untrusted/SSL_com_Client_ECC_Root_CA_2022.pem | 67 +++++++++ .../untrusted/SSL_com_Client_RSA_Root_CA_2022.pem | 134 ++++++++++++++++++ .../Sectigo_Public_Email_Protection_Root_E46.pem | 64 +++++++++ .../Sectigo_Public_Email_Protection_Root_R46.pem | 132 ++++++++++++++++++ secure/caroot/untrusted/SecureSign_RootCA11.pem | 89 ------------ .../untrusted/Security_Communication_RootCA3.pem | 132 ------------------ .../Starfield_Class_2_CA.pem | 0 .../SwissSign_Gold_CA_-_G2.pem | 0 .../untrusted/SwissSign_Platinum_CA_-_G2.pem | 137 ------------------- .../SwissSign_RSA_SMIME_Root_CA_2022_-_1.pem | 134 ++++++++++++++++++ .../caroot/untrusted/SwissSign_Silver_CA_-_G2.pem | 137 ------------------- ...Public_Primary_Certification_Authority_-_G4.pem | 67 --------- ...Public_Primary_Certification_Authority_-_G6.pem | 93 ------------- ...Public_Primary_Certification_Authority_-_G4.pem | 67 --------- ...Public_Primary_Certification_Authority_-_G6.pem | 93 ------------- secure/caroot/untrusted/TWCA_Global_Root_CA_G2.pem | 134 ++++++++++++++++++ secure/caroot/untrusted/Taiwan_GRCA.pem | 132 ------------------ .../Telekom_Security_SMIME_ECC_Root_2021.pem | 65 +++++++++ .../Telekom_Security_SMIME_RSA_Root_2023.pem | 135 +++++++++++++++++++ .../untrusted/TrustAsia_SMIME_ECC_Root_CA.pem | 64 +++++++++ .../untrusted/TrustAsia_SMIME_RSA_Root_CA.pem | 132 ++++++++++++++++++ secure/caroot/untrusted/TrustCor_ECA-1.pem | 96 ------------- secure/caroot/untrusted/TrustCor_RootCert_CA-1.pem | 96 ------------- secure/caroot/untrusted/TrustCor_RootCert_CA-2.pem | 137 ------------------- ...Public_Primary_Certification_Authority_-_G4.pem | 73 ---------- ...Public_Primary_Certification_Authority_-_G5.pem | 99 -------------- ...Sign_Universal_Root_Certification_Authority.pem | 99 -------------- ...Public_Primary_Certification_Authority_-_G3.pem | 86 ------------ ...Public_Primary_Certification_Authority_-_G3.pem | 86 ------------ ...Public_Primary_Certification_Authority_-_G3.pem | 86 ------------ secure/caroot/untrusted/thawte_Primary_Root_CA.pem | 94 ------------- .../untrusted/thawte_Primary_Root_CA_-_G2.pem | 66 --------- .../untrusted/thawte_Primary_Root_CA_-_G3.pem | 94 ------------- 106 files changed, 3273 insertions(+), 5662 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index f45e264b9bff..0073b4f13c6c 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,81 @@ # xargs -n1 | sort | uniq -d; # done +# 20260426: Regenerate trust store +OLD_FILES+=usr/share/certs/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem +OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Premium.pem +OLD_FILES+=usr/share/certs/trusted/Starfield_Class_2_CA.pem +OLD_FILES+=usr/share/certs/trusted/GTS_Root_R2.pem +OLD_FILES+=usr/share/certs/trusted/GLOBALTRUST_2020.pem +OLD_FILES+=usr/share/certs/trusted/Secure_Global_CA.pem +OLD_FILES+=usr/share/certs/trusted/GlobalSign_Root_CA.pem +OLD_FILES+=usr/share/certs/trusted/CommScope_Public_Trust_RSA_Root-01.pem +OLD_FILES+=usr/share/certs/trusted/Trustwave_Global_ECC_P384_Certification_Authority.pem +OLD_FILES+=usr/share/certs/trusted/SwissSign_Gold_CA_-_G2.pem +OLD_FILES+=usr/share/certs/trusted/Go_Daddy_Class_2_CA.pem +OLD_FILES+=usr/share/certs/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem +OLD_FILES+=usr/share/certs/trusted/Trustwave_Global_Certification_Authority.pem +OLD_FILES+=usr/share/certs/trusted/Trustwave_Global_ECC_P256_Certification_Authority.pem +OLD_FILES+=usr/share/certs/trusted/CommScope_Public_Trust_ECC_Root-01.pem +OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_EC1.pem +OLD_FILES+=usr/share/certs/trusted/Certigna.pem +OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Commercial.pem +OLD_FILES+=usr/share/certs/trusted/DigiCert_Assured_ID_Root_CA.pem +OLD_FILES+=usr/share/certs/trusted/Baltimore_CyberTrust_Root.pem +OLD_FILES+=usr/share/certs/trusted/CommScope_Public_Trust_ECC_Root-02.pem +OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority.pem +OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Premium_ECC.pem +OLD_FILES+=usr/share/certs/trusted/CommScope_Public_Trust_RSA_Root-02.pem +OLD_FILES+=usr/share/certs/trusted/TeliaSonera_Root_CA_v1.pem +OLD_FILES+=usr/share/certs/trusted/QuoVadis_Root_CA_2.pem +OLD_FILES+=usr/share/certs/trusted/COMODO_Certification_Authority.pem +OLD_FILES+=usr/share/certs/trusted/SecureTrust_CA.pem +OLD_FILES+=usr/share/certs/trusted/Comodo_AAA_Services_root.pem +OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G2.pem +OLD_FILES+=usr/share/certs/trusted/QuoVadis_Root_CA_3.pem +OLD_FILES+=usr/share/certs/trusted/DigiCert_High_Assurance_EV_Root_CA.pem +OLD_FILES+=usr/share/certs/trusted/certSIGN_ROOT_CA.pem +OLD_FILES+=usr/share/certs/trusted/DigiCert_Global_Root_CA.pem +OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Networking.pem +OLD_FILES+=usr/share/certs/trusted/XRamp_Global_CA_Root.pem +OLD_FILES+=usr/share/certs/untrusted/Security_Communication_RootCA3.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Primary_Certification_Authority_-_G3.pem +OLD_FILES+=usr/share/certs/untrusted/E-Tugra_Global_Root_CA_ECC_v3.pem +OLD_FILES+=usr/share/certs/untrusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem +OLD_FILES+=usr/share/certs/untrusted/EE_Certification_Centre_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/EC-ACC.pem +OLD_FILES+=usr/share/certs/untrusted/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Universal_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Global_Chambersign_Root_-_2008.pem +OLD_FILES+=usr/share/certs/untrusted/Camerfirma_Global_Chambersign_Root.pem +OLD_FILES+=usr/share/certs/untrusted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem +OLD_FILES+=usr/share/certs/untrusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Primary_Certification_Authority_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/TrustCor_RootCert_CA-2.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Universal_CA_2.pem +OLD_FILES+=usr/share/certs/untrusted/Network_Solutions_Certificate_Authority.pem +OLD_FILES+=usr/share/certs/untrusted/thawte_Primary_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/E-Tugra_Global_Root_CA_RSA_v3.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Primary_Certification_Authority.pem +OLD_FILES+=usr/share/certs/untrusted/Taiwan_GRCA.pem +OLD_FILES+=usr/share/certs/untrusted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem +OLD_FILES+=usr/share/certs/untrusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem +OLD_FILES+=usr/share/certs/untrusted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem +OLD_FILES+=usr/share/certs/untrusted/SwissSign_Platinum_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/TrustCor_RootCert_CA-1.pem +OLD_FILES+=usr/share/certs/untrusted/thawte_Primary_Root_CA_-_G3.pem +OLD_FILES+=usr/share/certs/untrusted/Camerfirma_Chambers_of_Commerce_Root.pem +OLD_FILES+=usr/share/certs/untrusted/SwissSign_Silver_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/TrustCor_ECA-1.pem +OLD_FILES+=usr/share/certs/untrusted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem +OLD_FILES+=usr/share/certs/untrusted/SecureSign_RootCA11.pem +OLD_FILES+=usr/share/certs/untrusted/Chambers_of_Commerce_Root_-_2008.pem +OLD_FILES+=usr/share/certs/untrusted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem +OLD_FILES+=usr/share/certs/untrusted/VeriSign_Universal_Root_Certification_Authority.pem +OLD_FILES+=usr/share/certs/untrusted/LuxTrust_Global_Root_2.pem +OLD_FILES+=usr/share/certs/untrusted/thawte_Primary_Root_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem + # 20260425: new clang import which bumps version from 19 to 21 OLD_FILES+=usr/lib/clang/19/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/19/include/__clang_cuda_cmath.h diff --git a/secure/caroot/Makefile b/secure/caroot/Makefile index c20499e52a76..fa4119034dd9 100644 --- a/secure/caroot/Makefile +++ b/secure/caroot/Makefile @@ -7,7 +7,7 @@ SUBDIR+= untrusted # Set this to an upstream hash or tag # https://hg-edge.mozilla.org/projects/nss/tags -HGVER = e71e3de47d4ca7a3efa7c11096ab2e20ae71683e +HGVER = NSS_3_123_1_RTM # To be used by secteam@ to update the trusted certificates fetchcerts: .PHONY diff --git a/secure/caroot/trusted/AffirmTrust_Commercial.pem b/secure/caroot/trusted/AffirmTrust_Commercial.pem deleted file mode 100644 index b889d02ba6b7..000000000000 --- a/secure/caroot/trusted/AffirmTrust_Commercial.pem +++ /dev/null @@ -1,88 +0,0 @@ -## -## AffirmTrust Commercial -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 8608355977964138876 (0x7777062726a9b17c) - Signature Algorithm: sha256WithRSAEncryption - Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Commercial - Validity - Not Before: Jan 29 14:06:06 2010 GMT - Not After : Dec 31 14:06:06 2030 GMT - Subject: C=US, O=AffirmTrust, CN=AffirmTrust Commercial - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:f6:1b:4f:67:07:2b:a1:15:f5:06:22:cb:1f:01: - b2:e3:73:45:06:44:49:2c:bb:49:25:14:d6:ce:c3: - b7:ab:2c:4f:c6:41:32:94:57:fa:12:a7:5b:0e:e2: - 8f:1f:1e:86:19:a7:aa:b5:2d:b9:5f:0d:8a:c2:af: - 85:35:79:32:2d:bb:1c:62:37:f2:b1:5b:4a:3d:ca: - cd:71:5f:e9:42:be:94:e8:c8:de:f9:22:48:64:c6: - e5:ab:c6:2b:6d:ad:05:f0:fa:d5:0b:cf:9a:e5:f0: - 50:a4:8b:3b:47:a5:23:5b:7a:7a:f8:33:3f:b8:ef: - 99:97:e3:20:c1:d6:28:89:cf:94:fb:b9:45:ed:e3: - 40:17:11:d4:74:f0:0b:31:e2:2b:26:6a:9b:4c:57: - ae:ac:20:3e:ba:45:7a:05:f3:bd:9b:69:15:ae:7d: - 4e:20:63:c4:35:76:3a:07:02:c9:37:fd:c7:47:ee: - e8:f1:76:1d:73:15:f2:97:a4:b5:c8:7a:79:d9:42: - aa:2b:7f:5c:fe:ce:26:4f:a3:66:81:35:af:44:ba: - 54:1e:1c:30:32:65:9d:e6:3c:93:5e:50:4e:7a:e3: - 3a:d4:6e:cc:1a:fb:f9:d2:37:ae:24:2a:ab:57:03: - 22:28:0d:49:75:7f:b7:28:da:75:bf:8e:e3:dc:0e: - 79:31 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 9D:93:C6:53:8B:5E:CA:AF:3F:9F:1E:0F:E5:99:95:BC:24:F6:94:8F - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha256WithRSAEncryption - Signature Value: - 58:ac:f4:04:0e:cd:c0:0d:ff:0a:fd:d4:ba:16:5f:29:bd:7b: - 68:99:58:49:d2:b4:1d:37:4d:7f:27:7d:46:06:5d:43:c6:86: - 2e:3e:73:b2:26:7d:4f:93:a9:b6:c4:2a:9a:ab:21:97:14:b1: - de:8c:d3:ab:89:15:d8:6b:24:d4:f1:16:ae:d8:a4:5c:d4:7f: - 51:8e:ed:18:01:b1:93:63:bd:bc:f8:61:80:9a:9e:b1:ce:42: - 70:e2:a9:7d:06:25:7d:27:a1:fe:6f:ec:b3:1e:24:da:e3:4b: - 55:1a:00:3b:35:b4:3b:d9:d7:5d:30:fd:81:13:89:f2:c2:06: - 2b:ed:67:c4:8e:c9:43:b2:5c:6b:15:89:02:bc:62:fc:4e:f2: - b5:33:aa:b2:6f:d3:0a:a2:50:e3:f6:3b:e8:2e:44:c2:db:66: - 38:a9:33:56:48:f1:6d:1b:33:8d:0d:8c:3f:60:37:9d:d3:ca: - 6d:7e:34:7e:0d:9f:72:76:8b:1b:9f:72:fd:52:35:41:45:02: - 96:2f:1c:b2:9a:73:49:21:b1:49:47:45:47:b4:ef:6a:34:11: - c9:4d:9a:cc:59:b7:d6:02:9e:5a:4e:65:b5:94:ae:1b:df:29: - b0:16:f1:bf:00:9e:07:3a:17:64:b5:04:b5:23:21:99:0a:95: - 3b:97:7c:ef -SHA1 Fingerprint=F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/AffirmTrust_Networking.pem b/secure/caroot/trusted/AffirmTrust_Networking.pem deleted file mode 100644 index e4a201bc82ae..000000000000 --- a/secure/caroot/trusted/AffirmTrust_Networking.pem +++ /dev/null @@ -1,88 +0,0 @@ -## -## AffirmTrust Networking -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 8957382827206547757 (0x7c4f04391cd4992d) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Networking - Validity - Not Before: Jan 29 14:08:24 2010 GMT - Not After : Dec 31 14:08:24 2030 GMT - Subject: C=US, O=AffirmTrust, CN=AffirmTrust Networking - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:b4:84:cc:33:17:2e:6b:94:6c:6b:61:52:a0:eb: - a3:cf:79:94:4c:e5:94:80:99:cb:55:64:44:65:8f: - 67:64:e2:06:e3:5c:37:49:f6:2f:9b:84:84:1e:2d: - f2:60:9d:30:4e:cc:84:85:e2:2c:cf:1e:9e:fe:36: - ab:33:77:35:44:d8:35:96:1a:3d:36:e8:7a:0e:d8: - d5:47:a1:6a:69:8b:d9:fc:bb:3a:ae:79:5a:d5:f4: - d6:71:bb:9a:90:23:6b:9a:b7:88:74:87:0c:1e:5f: - b9:9e:2d:fa:ab:53:2b:dc:bb:76:3e:93:4c:08:08: - 8c:1e:a2:23:1c:d4:6a:ad:22:ba:99:01:2e:6d:65: - cb:be:24:66:55:24:4b:40:44:b1:1b:d7:e1:c2:85: - c0:de:10:3f:3d:ed:b8:fc:f1:f1:23:53:dc:bf:65: - 97:6f:d9:f9:40:71:8d:7d:bd:95:d4:ce:be:a0:5e: - 27:23:de:fd:a6:d0:26:0e:00:29:eb:3c:46:f0:3d: - 60:bf:3f:50:d2:dc:26:41:51:9e:14:37:42:04:a3: - 70:57:a8:1b:87:ed:2d:fa:7b:ee:8c:0a:e3:a9:66: - 89:19:cb:41:f9:dd:44:36:61:cf:e2:77:46:c8:7d: - f6:f4:92:81:36:fd:db:34:f1:72:7e:f3:0c:16:bd: - b4:15 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 07:1F:D2:E7:9C:DA:C2:6E:A2:40:B4:B0:7A:50:10:50:74:C4:C8:BD - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - Signature Value: - 89:57:b2:16:7a:a8:c2:fd:d6:d9:9b:9b:34:c2:9c:b4:32:14: - 4d:a7:a4:df:ec:be:a7:be:f8:43:db:91:37:ce:b4:32:2e:50: - 55:1a:35:4e:76:43:71:20:ef:93:77:4e:15:70:2e:87:c3:c1: - 1d:6d:dc:cb:b5:27:d4:2c:56:d1:52:53:3a:44:d2:73:c8:c4: - 1b:05:65:5a:62:92:9c:ee:41:8d:31:db:e7:34:ea:59:21:d5: - 01:7a:d7:64:b8:64:39:cd:c9:ed:af:ed:4b:03:48:a7:a0:99: - 01:80:dc:65:a3:36:ae:65:59:48:4f:82:4b:c8:65:f1:57:1d: - e5:59:2e:0a:3f:6c:d8:d1:f5:e5:09:b4:6c:54:00:0a:e0:15: - 4d:87:75:6d:b7:58:96:5a:dd:6d:d2:00:a0:f4:9b:48:be:c3: - 37:a4:ba:36:e0:7c:87:85:97:1a:15:a2:de:2e:a2:5b:bd:af: - 18:f9:90:50:cd:70:59:f8:27:67:47:cb:c7:a0:07:3a:7d:d1: - 2c:5d:6c:19:3a:66:b5:7d:fd:91:6f:82:b1:be:08:93:db:14: - 47:f1:a2:37:c7:45:9e:3c:c7:77:af:64:a8:93:df:f6:69:83: - 82:60:f2:49:42:34:ed:5a:00:54:85:1c:16:36:92:0c:5c:fa: - a6:ad:bf:db -SHA1 Fingerprint=29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/AffirmTrust_Premium.pem b/secure/caroot/trusted/AffirmTrust_Premium.pem deleted file mode 100644 index 853f7dc0e2d3..000000000000 --- a/secure/caroot/trusted/AffirmTrust_Premium.pem +++ /dev/null @@ -1,130 +0,0 @@ -## -## AffirmTrust Premium -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 7893706540734352110 (0x6d8c1446b1a60aee) - Signature Algorithm: sha384WithRSAEncryption - Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Premium - Validity - Not Before: Jan 29 14:10:36 2010 GMT - Not After : Dec 31 14:10:36 2040 GMT - Subject: C=US, O=AffirmTrust, CN=AffirmTrust Premium - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (4096 bit) - Modulus: - 00:c4:12:df:a9:5f:fe:41:dd:dd:f5:9f:8a:e3:f6: - ac:e1:3c:78:9a:bc:d8:f0:7f:7a:a0:33:2a:dc:8d: - 20:5b:ae:2d:6f:e7:93:d9:36:70:6a:68:cf:8e:51: - a3:85:5b:67:04:a0:10:24:6f:5d:28:82:c1:97:57: - d8:48:29:13:b6:e1:be:91:4d:df:85:0c:53:18:9a: - 1e:24:a2:4f:8f:f0:a2:85:0b:cb:f4:29:7f:d2:a4: - 58:ee:26:4d:c9:aa:a8:7b:9a:d9:fa:38:de:44:57: - 15:e5:f8:8c:c8:d9:48:e2:0d:16:27:1d:1e:c8:83: - 85:25:b7:ba:aa:55:41:cc:03:22:4b:2d:91:8d:8b: - e6:89:af:66:c7:e9:ff:2b:e9:3c:ac:da:d2:b3:c3: - e1:68:9c:89:f8:7a:00:56:de:f4:55:95:6c:fb:ba: - 64:dd:62:8b:df:0b:77:32:eb:62:cc:26:9a:9b:bb: - aa:62:83:4c:b4:06:7a:30:c8:29:bf:ed:06:4d:97: - b9:1c:c4:31:2b:d5:5f:bc:53:12:17:9c:99:57:29: - 66:77:61:21:31:07:2e:25:49:9d:18:f2:ee:f3:2b: - 71:8c:b5:ba:39:07:49:77:fc:ef:2e:92:90:05:8d: - 2d:2f:77:7b:ef:43:bf:35:bb:9a:d8:f9:73:a7:2c: - f2:d0:57:ee:28:4e:26:5f:8f:90:68:09:2f:b8:f8: - dc:06:e9:2e:9a:3e:51:a7:d1:22:c4:0a:a7:38:48: - 6c:b3:f9:ff:7d:ab:86:57:e3:ba:d6:85:78:77:ba: - 43:ea:48:7f:f6:d8:be:23:6d:1e:bf:d1:36:6c:58: - 5c:f1:ee:a4:19:54:1a:f5:03:d2:76:e6:e1:8c:bd: - 3c:b3:d3:48:4b:e2:c8:f8:7f:92:a8:76:46:9c:42: - 65:3e:a4:1e:c1:07:03:5a:46:2d:b8:97:f3:b7:d5: - b2:55:21:ef:ba:dc:4c:00:97:fb:14:95:27:33:bf: - e8:43:47:46:d2:08:99:16:60:3b:9a:7e:d2:e6:ed: - 38:ea:ec:01:1e:3c:48:56:49:09:c7:4c:37:00:9e: - 88:0e:c0:73:e1:6f:66:e9:72:47:30:3e:10:e5:0b: - 03:c9:9a:42:00:6c:c5:94:7e:61:c4:8a:df:7f:82: - 1a:0b:59:c4:59:32:77:b3:bc:60:69:56:39:fd:b4: - 06:7b:2c:d6:64:36:d9:bd:48:ed:84:1f:7e:a5:22: - 8f:2a:b8:42:f4:82:b7:d4:53:90:78:4e:2d:1a:fd: - 81:6f:44:d7:3b:01:74:96:42:e0:00:e2:2e:6b:ea: - c5:ee:72:ac:bb:bf:fe:ea:aa:a8:f8:dc:f6:b2:79: - 8a:b6:67 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 9D:C0:67:A6:0C:22:D9:26:F5:45:AB:A6:65:52:11:27:D8:45:AC:63 - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha384WithRSAEncryption - Signature Value: - b3:57:4d:10:62:4e:3a:e4:ac:ea:b8:1c:af:32:23:c8:b3:49: - 5a:51:9c:76:28:8d:79:aa:57:46:17:d5:f5:52:f6:b7:44:e8: - 08:44:bf:18:84:d2:0b:80:cd:c5:12:fd:00:55:05:61:87:41: - dc:b5:24:9e:3c:c4:d8:c8:fb:70:9e:2f:78:96:83:20:36:de: - 7c:0f:69:13:88:a5:75:36:98:08:a6:c6:df:ac:ce:e3:58:d6: - b7:3e:de:ba:f3:eb:34:40:d8:a2:81:f5:78:3f:2f:d5:a5:fc: - d9:a2:d4:5e:04:0e:17:ad:fe:41:f0:e5:b2:72:fa:44:82:33: - 42:e8:2d:58:f7:56:8c:62:3f:ba:42:b0:9c:0c:5c:7e:2e:65: - 26:5c:53:4f:00:b2:78:7e:a1:0d:99:2d:8d:b8:1d:8e:a2:c4: - b0:fd:60:d0:30:a4:8e:c8:04:62:a9:c4:ed:35:de:7a:97:ed: - 0e:38:5e:92:2f:93:70:a5:a9:9c:6f:a7:7d:13:1d:7e:c6:08: - 48:b1:5e:67:eb:51:08:25:e9:e6:25:6b:52:29:91:9c:d2:39: - 73:08:57:de:99:06:b4:5b:9d:10:06:e1:c2:00:a8:b8:1c:4a: - 02:0a:14:d0:c1:41:ca:fb:8c:35:21:7d:82:38:f2:a9:54:91: - 19:35:93:94:6d:6a:3a:c5:b2:d0:bb:89:86:93:e8:9b:c9:0f: - 3a:a7:7a:b8:a1:f0:78:46:fa:fc:37:2f:e5:8a:84:f3:df:fe: - 04:d9:a1:68:a0:2f:24:e2:09:95:06:d5:95:ca:e1:24:96:eb: - 7c:f6:93:05:bb:ed:73:e9:2d:d1:75:39:d7:e7:24:db:d8:4e: - 5f:43:8f:9e:d0:14:39:bf:55:70:48:99:57:31:b4:9c:ee:4a: - 98:03:96:30:1f:60:06:ee:1b:23:fe:81:60:23:1a:47:62:85: - a5:cc:19:34:80:6f:b3:ac:1a:e3:9f:f0:7b:48:ad:d5:01:d9: - 67:b6:a9:72:93:ea:2d:66:b5:b2:b8:e4:3d:3c:b2:ef:4c:8c: - ea:eb:07:bf:ab:35:9a:55:86:bc:18:a6:b5:a8:5e:b4:83:6c: - 6b:69:40:d3:9f:dc:f1:c3:69:6b:b9:e1:6d:09:f4:f1:aa:50: - 76:0a:7a:7d:7a:17:a1:55:96:42:99:31:09:dd:60:11:8d:05: - 30:7e:e6:8e:46:d1:9d:14:da:c7:17:e4:05:96:8c:c4:24:b5: - 1b:cf:14:07:b2:40:f8:a3:9e:41:86:bc:04:d0:6b:96:c8:2a: - 80:34:fd:bf:ef:06:a3:dd:58:c5:85:3d:3e:8f:fe:9e:29:e0: - b6:b8:09:68:19:1c:18:43 -SHA1 Fingerprint=D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27 ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem b/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem deleted file mode 100644 index 68ce02904f4f..000000000000 --- a/secure/caroot/trusted/AffirmTrust_Premium_ECC.pem +++ /dev/null @@ -1,62 +0,0 @@ -## -## AffirmTrust Premium ECC -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 8401224907861490260 (0x7497258ac73f7a54) - Signature Algorithm: ecdsa-with-SHA384 - Issuer: C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC - Validity - Not Before: Jan 29 14:20:24 2010 GMT - Not After : Dec 31 14:20:24 2040 GMT - Subject: C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC - Subject Public Key Info: - Public Key Algorithm: id-ecPublicKey - Public-Key: (384 bit) - pub: - 04:0d:30:5e:1b:15:9d:03:d0:a1:79:35:b7:3a:3c: - 92:7a:ca:15:1c:cd:62:f3:9c:26:5c:07:3d:e5:54: - fa:a3:d6:cc:12:ea:f4:14:5f:e8:8e:19:ab:2f:2e: - 48:e6:ac:18:43:78:ac:d0:37:c3:bd:b2:cd:2c:e6: - 47:e2:1a:e6:63:b8:3d:2e:2f:78:c4:4f:db:f4:0f: - a4:68:4c:55:72:6b:95:1d:4e:18:42:95:78:cc:37: - 3c:91:e2:9b:65:2b:29 - ASN1 OID: secp384r1 - NIST CURVE: P-384 - X509v3 extensions: - X509v3 Subject Key Identifier: - 9A:AF:29:7A:C0:11:35:35:26:51:30:00:C3:6A:FE:40:D5:AE:D6:3C - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: ecdsa-with-SHA384 - Signature Value: - 30:64:02:30:17:09:f3:87:88:50:5a:af:c8:c0:42:bf:47:5f: - f5:6c:6a:86:e0:c4:27:74:e4:38:53:d7:05:7f:1b:34:e3:c6: - 2f:b3:ca:09:3c:37:9d:d7:e7:b8:46:f1:fd:a1:e2:71:02:30: - 42:59:87:43:d4:51:df:ba:d3:09:32:5a:ce:88:7e:57:3d:9c: - 5f:42:6b:f5:07:2d:b5:f0:82:93:f9:59:6f:ae:64:fa:58:e5: - 8b:1e:e3:63:be:b5:81:cd:6f:02:8c:79 -SHA1 Fingerprint=B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem b/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem deleted file mode 100644 index 8f5973a12f5b..000000000000 --- a/secure/caroot/trusted/Baltimore_CyberTrust_Root.pem +++ /dev/null @@ -1,89 +0,0 @@ -## -## Baltimore CyberTrust Root -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 33554617 (0x20000b9) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root - Validity - Not Before: May 12 18:46:00 2000 GMT - Not After : May 12 23:59:00 2025 GMT - Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: - d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: - 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: - 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: - 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: - 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: - 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: - a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: - 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: - d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: - 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: - 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: - ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: - 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: - c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: - ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: - 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: - 1a:39 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 - X509v3 Basic Constraints: critical - CA:TRUE, pathlen:3 - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - Signature Algorithm: sha1WithRSAEncryption - Signature Value: - 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03: - bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f: - 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a: - 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f: - ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01: - 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8: - 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9: - 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d: - 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b: - 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88: - 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee: - 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e: - 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0: - fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42: - ea:63:39:a9 -SHA1 Fingerprint=D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem b/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem deleted file mode 100644 index a88e88b1f0c7..000000000000 --- a/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem +++ /dev/null @@ -1,64 +0,0 @@ -## -## CommScope Public Trust ECC Root-01 -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 43:70:82:77:cf:4d:5d:34:f1:ca:ae:32:2f:37:f7:f4:7f:75:a0:9e - Signature Algorithm: ecdsa-with-SHA384 - Issuer: C=US, O=CommScope, CN=CommScope Public Trust ECC Root-01 - Validity - Not Before: Apr 28 17:35:43 2021 GMT - Not After : Apr 28 17:35:42 2046 GMT - Subject: C=US, O=CommScope, CN=CommScope Public Trust ECC Root-01 - Subject Public Key Info: - Public Key Algorithm: id-ecPublicKey - Public-Key: (384 bit) - pub: - 04:4b:36:e9:ae:57:5e:a8:70:d7:d0:8f:74:62:77: - c3:5e:7a:aa:e5:b6:a2:f1:78:fd:02:7e:57:dd:91: - 79:9c:6c:b9:52:88:54:bc:2f:04:be:b8:cd:f6:10: - d1:29:ec:b5:d0:a0:c3:f0:89:70:19:bb:51:65:c5: - 43:9c:c3:9b:63:9d:20:83:3e:06:0b:a6:42:44:85: - 11:a7:4a:3a:2d:e9:d6:68:2f:48:4e:53:2b:07:3f: - 4d:bd:b9:ac:77:39:57 - ASN1 OID: secp384r1 - NIST CURVE: P-384 - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - 8E:07:62:C0:50:DD:C6:19:06:00:46:74:04:F7:F3:AE:7D:75:4D:30 - Signature Algorithm: ecdsa-with-SHA384 - Signature Value: - 30:65:02:31:00:9c:33:df:41:e3:23:a8:42:36:26:97:35:5c: - 7b:eb:db:4b:f8:aa:8b:73:55:15:5c:ac:78:29:0f:ba:21:d8: - c4:a0:d8:d1:03:dd:6d:d1:39:3d:c4:93:60:d2:e3:72:b2:02: - 30:7c:c5:7e:88:d3:50:f5:1e:25:e8:fa:4e:75:e6:58:96:a4: - 35:5f:1b:65:ea:61:9a:70:23:b5:0d:a3:9b:92:52:6f:69:a0: - 8c:8d:4a:d0:ee:8b:0e:cb:47:8e:d0:8d:11 -SHA1 Fingerprint=07:86:C0:D8:DD:8E:C0:80:98:06:98:D0:58:7A:EF:DE:A6:CC:A2:5D ------BEGIN CERTIFICATE----- -MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa -Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C -flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE -hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq -hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg -2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS -Um9poIyNStDuiw7LR47QjRE= ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem b/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem deleted file mode 100644 index 3e5828e5f8fe..000000000000 --- a/secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem +++ /dev/null @@ -1,64 +0,0 @@ -## -## CommScope Public Trust ECC Root-02 -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 28:fd:99:60:41:47:a6:01:3a:ca:14:7b:1f:ef:f9:68:08:83:5d:7d - Signature Algorithm: ecdsa-with-SHA384 - Issuer: C=US, O=CommScope, CN=CommScope Public Trust ECC Root-02 - Validity - Not Before: Apr 28 17:44:54 2021 GMT - Not After : Apr 28 17:44:53 2046 GMT - Subject: C=US, O=CommScope, CN=CommScope Public Trust ECC Root-02 - Subject Public Key Info: - Public Key Algorithm: id-ecPublicKey - Public-Key: (384 bit) - pub: - 04:78:30:81:e8:63:1e:e5:eb:71:51:0f:f7:07:07: - ca:39:99:7c:4e:d5:0f:cc:30:30:0b:8f:66:93:3e: - cf:bd:c5:86:bd:f9:b1:b7:b4:3e:b4:07:c8:f3:96: - 31:f3:ed:a4:4f:f8:a3:4e:8d:29:15:58:b8:d5:6f: - 7f:ee:6c:22:b5:b0:af:48:45:0a:bd:a8:49:94:bf: - 84:43:b0:db:84:4a:03:23:19:67:6a:6f:c1:6e:bc: - 06:39:37:d1:88:22:f7 - ASN1 OID: secp384r1 - NIST CURVE: P-384 - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - E6:18:75:FF:EF:60:DE:84:A4:F5:46:C7:DE:4A:55:E3:32:36:79:F5 - Signature Algorithm: ecdsa-with-SHA384 - Signature Value: - 30:64:02:30:26:73:49:7a:b6:ab:e6:49:f4:7d:52:3f:d4:41: - 04:ae:80:43:83:65:75:b9:85:80:38:3b:d6:6f:e4:93:86:ab: - 8f:e7:89:c8:7f:9b:7e:6b:0a:12:55:61:aa:11:e0:79:02:30: - 77:e8:31:71:ac:3c:71:03:d6:84:26:1e:14:b8:f3:3b:3b:de: - ed:59:fc:6b:4c:30:7f:59:ce:45:e9:73:60:15:9a:4c:f0:e6: - 5e:25:22:15:6d:c2:87:59:d0:b2:8e:6a -SHA1 Fingerprint=3C:3F:EF:57:0F:FE:65:93:86:9E:A0:FE:B0:F6:ED:8E:D1:13:C7:E5 ------BEGIN CERTIFICATE----- -MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa -Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL -j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU -v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq -hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n -ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV -mkzw5l4lIhVtwodZ0LKOag== ------END CERTIFICATE----- diff --git a/secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem b/secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem deleted file mode 100644 index 6a4e2cfb42a4..000000000000 --- a/secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem +++ /dev/null @@ -1,131 +0,0 @@ -## -## CommScope Public Trust RSA Root-01 -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss) -## licensed under the MPL 2.0, http://mozilla.org/MPL/2.0/. -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 3e:03:49:81:75:16:74:31:8e:4c:ab:d5:c5:90:29:96:c5:39:10:dd - Signature Algorithm: sha256WithRSAEncryption - Issuer: C=US, O=CommScope, CN=CommScope Public Trust RSA Root-01 - Validity - Not Before: Apr 28 16:45:54 2021 GMT - Not After : Apr 28 16:45:53 2046 GMT - Subject: C=US, O=CommScope, CN=CommScope Public Trust RSA Root-01 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (4096 bit) - Modulus: - 00:b0:48:65:a3:0d:1d:42:e3:91:6d:9d:84:a4:61: - 96:12:c2:ed:c3:da:23:34:19:76:f6:ea:fd:55:5a: - f6:55:01:53:0f:f2:cc:8c:97:4f:b9:50:cb:b3:01: - 44:56:96:fd:9b:28:ec:7b:74:0b:e7:42:6b:55:ce: - c9:61:b2:e8:ad:40:3c:ba:b9:41:0a:05:4f:1b:26: - 85:8f:43:b5:40:b5:85:d1:d4:71:dc:83:41:f3:f6: - 45:c7:80:a2:84:50:97:46:ce:a0:0c:c4:60:56:04: - 1d:07:5b:46:a5:0e:b2:4b:a4:0e:a5:7c:ee:f8:d4: - 62:03:b9:93:6a:8a:14:b8:70:f8:2e:82:46:38:23: - 0e:74:c7:6b:41:b7:d0:29:a3:9d:80:b0:7e:77:93: - 63:42:fb:34:83:3b:73:a3:5a:21:36:eb:47:fa:18: - 17:d9:ba:66:c2:93:a4:8f:fc:5d:a4:ad:fc:50:6a: - 95:ac:bc:24:33:d1:bd:88:7f:86:f5:f5:b2:73:2a: - 8f:7c:af:08:f2:1a:98:3f:a9:81:65:3f:c1:8c:89: - c5:96:30:9a:0a:cf:f4:d4:c8:34:ed:9d:2f:bc:8d: - 38:86:53:ee:97:9f:a9:b2:63:94:17:8d:0f:dc:66: - 2a:7c:52:51:75:cb:99:8e:e8:3d:5c:bf:9e:3b:28: - 8d:83:02:0f:a9:9f:72:e2:2c:2b:b3:dc:66:97:00: - 40:d0:a4:54:8e:9b:5d:7b:45:36:26:d6:72:43:eb: - cf:c0:ea:0d:dc:ce:12:e6:7d:38:9f:05:27:a8:97: - 3e:e9:51:c6:6c:05:28:c1:02:0f:e9:18:6d:ec:bd: - 9c:06:d4:a7:49:f4:54:05:6b:6c:30:f1:eb:03:d5: - ea:3d:6a:76:c2:cb:1a:28:49:4d:7f:64:e0:fa:2b: - da:73:83:81:ff:91:03:bd:94:bb:e4:b8:8e:9c:32: - 63:cd:9f:bb:68:81:b1:84:5b:af:36:bf:77:ee:1d: - 7f:f7:49:9b:52:ec:d2:77:5a:7d:91:9d:4d:c2:39: - 2d:e4:ba:82:f8:6f:f2:4e:1e:0f:4e:e6:3f:59:a5: - 23:dc:3d:87:a8:28:58:28:d1:f1:1b:36:db:4f:c4: - ff:e1:8c:5b:72:8c:c7:26:03:27:a3:39:0a:01:aa: - c0:b2:31:60:83:22:a1:4f:12:09:01:11:af:34:d4: - cf:d7:ae:62:d3:05:07:b4:31:75:e0:0d:6d:57:4f: - 69:87:f9:57:a9:ba:15:f6:c8:52:6d:a1:cb:9c:1f: - e5:fc:78:a8:35:9a:9f:41:14:ce:a5:b4:ce:94:08: - 1c:09:ad:56:e5:da:b6:49:9a:4a:ea:63:18:53:9c: - 2c:2e:c3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Key Usage: critical - Certificate Sign, CRL Sign - X509v3 Subject Key Identifier: - 37:5D:A6:9A:74:32:C2:C2:F9:C7:A6:15:10:59:B8:E4:FD:E5:B8:6D - Signature Algorithm: sha256WithRSAEncryption - Signature Value: - af:a7:cf:de:ff:e0:bd:42:8d:4d:e5:22:96:df:68:ea:7d:4d: - 2a:7d:d0:ad:3d:16:5c:43:e7:7d:c0:86:e8:7a:35:63:f1:cc: - 81:c8:c6:0b:e8:2e:52:35:a4:a6:49:90:63:51:ac:34:ac:05: - 3b:57:00:e9:d3:62:d3:d9:29:d5:54:be:1c:10:91:9c:b2:6d: - fe:59:fd:79:f7:ea:56:d0:9e:68:54:42:8f:26:52:e2:4c:df: - 2f:97:a6:2f:d2:07:98:a8:f3:60:5d:4b:9a:58:57:88:ef:82: - e5:fa:af:6c:81:4b:92:8f:40:9a:93:46:59:cb:5f:78:16:b1: - 67:3e:42:0b:df:28:d9:b0:ad:98:20:be:43:7c:d1:5e:1a:09: - 17:24:8d:7b:5d:95:e9:ab:c1:60:ab:5b:18:64:80:fb:ad:e0: - 06:7d:1d:ca:59:b8:f3:78:29:67:c6:56:1d:af:b6:b5:74:2a: - 76:a1:3f:fb:75:30:9f:94:5e:3b:a5:60:f3:cb:5c:0c:e2:0e: - c9:60:f8:c9:1f:16:8a:26:dd:e7:27:7f:eb:25:a6:8a:bd:b8: - 2d:36:10:9a:b1:58:4d:9a:68:4f:60:54:e5:f6:46:13:8e:88: - ac:bc:21:42:12:ad:c6:4a:89:7d:9b:c1:d8:2d:e9:96:03:f4: - a2:74:0c:bc:00:1d:bf:d6:37:25:67:b4:72:8b:af:85:bd:ea: - 2a:03:8f:cc:fb:3c:44:24:82:e2:01:a5:0b:59:b6:34:8d:32: - 0b:12:0d:eb:27:c2:fd:41:d7:40:3c:72:46:29:c0:8c:ea:ba: - 0f:f1:06:93:2e:f7:9c:a8:f4:60:3e:a3:f1:38:5e:8e:13:c1: - b3:3a:97:87:3f:92:ca:78:a9:1c:af:d0:b0:1b:26:1e:be:70: - ec:7a:f5:33:98:ea:5c:ff:2b:0b:04:4e:43:dd:63:7e:0e:a7: - 4e:78:03:95:3e:d4:2d:30:95:11:10:28:2e:bf:a0:02:3e:ff: - 5e:59:d3:05:0e:95:5f:53:45:ef:6b:87:d5:48:cd:16:a6:96: - 83:e1:df:b3:06:f3:c1:14:db:a7:ec:1c:8b:5d:90:90:0d:72: - 51:e7:61:f9:14:ca:af:83:8f:bf:af:b1:0a:59:5d:dc:5c:d7: - e4:96:ad:5b:60:1d:da:ae:97:b2:39:d9:06:f5:76:00:13:f8: - 68:4c:21:b0:35:c4:dc:55:b2:c9:c1:41:5a:1c:89:c0:8c:6f: - 74:a0:6b:33:4d:b5:01:28:fd:ad:ad:89:17:3b:a6:9a:84:bc: - eb:8c:ea:c4:71:24:a8:ba:29:f9:08:b2:27:56:35:32:5f:ea: - 39:fb:31:9a:d5:19:cc:f0 -SHA1 Fingerprint=6D:0A:5F:F7:B4:23:06:B4:85:B3:B7:97:64:FC:AC:75:F5:33:F2:93 ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1 -NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk -YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh -suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al -DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj -WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl -P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547 -KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p -UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/ -kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO -Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB -Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U -CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ -KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 -NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ -nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+ -QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v -trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a -aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD -j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4 -Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w -lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn -YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc -icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw *** 8685 LINES SKIPPED *** From nobody Mon Apr 27 10:31:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40Gp4tBTz6ZsCr for ; Mon, 27 Apr 2026 10:31: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 4g40Gp4C2sz3XTM for ; Mon, 27 Apr 2026 10:31:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777285890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uNG4KWOSlTxnxaQU7hJadIaPDs5taDlMN1OKyOamGUQ=; b=hkjbc3uduydGg9IRkIggR7lPycKNe4pyBpHYQHLVCfYiuaXJBg7KQUiHzDhIEahb5UoSkF nLxk2laPtuPsIcJZdtT81SabqzRPccr45iC7cCscwKrf77PCI093PUEt7yei+DChJXbuF0 5x+cKOHQHfr3WouJiWwdlLlTllUzZ6nuHOpwU1mjxuIZ1mfOxGg5BNZxW1lGCGUOsjzXWN 0FlDRD6ndKppMDBebKl1TbDwBqDjwlLRBDi3isjexIY7NGmjiotELebB24//wE7d3xe9/P 4uqVXveaIEYmBN5rerocDqNfMXMRNQpEV4F/k0UEoYE0Ih9svf3Q/xcJgGYxbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777285890; a=rsa-sha256; cv=none; b=o82PGyvUDT3Jo78HtZJZiUIWtTIjEn22dNEcMSi3w1SnQ9Ye32xe/ogZXehM+t4YQUyTbx gYYOC54FmuxLKUTNS9iIThufv90eP2QrGaRVQfzELqYpQqFtaiH3hnL6mNCWAhfba3ICfK DJuKajAs6OQ1LTwH6DRWPN0GkQiXtEbxLrjIJvW2SXebMAfWZWKfhwAUgQX+yncvTPDA6W /CzHuDqmxYz/WHRe3329EEMW89jGToP75D3W8RUSHgFVfRV56dJwML14+y5ngKB5+Roavf jgdylYnUXFPXR07VEuSAGW6mY2UqS221qKUc9zUL3lQM8uqkpHXAzSk77CdGDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777285890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uNG4KWOSlTxnxaQU7hJadIaPDs5taDlMN1OKyOamGUQ=; b=aQkuhDkRR8jtIfxCCaxRAp4IzoCBM0C4vUbthWIXXvym8qz5pYOmKOsXwEYKTCfmgvaKlW nSIvAUkwD1NAI6Tc5yfGAy+m6jS4mtPNA74xHpmY597KqgfQj1TEtZ9UlgOBY15yBuJAlG 6A0D/6ZZikdCfE5uIRDdj4B9Nie3jlY3kTaCgmEJk8YdFQo3zjeGg5Z3XSZbtDUW7nFoKJ LSXAXmQupA2v6w8TiaeAkloe14XG+NSJzHEHq4JEZ+qjsZ+iWS61ppO2kfU+zS3IAJkzou QLFQ6LAPzhOp2yJ2qMMxbfVJKuBIUPpVsr2UCCg7ambeBNmGBuPrcdK5teE6NQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g40Gp3fvBz1310 for ; Mon, 27 Apr 2026 10:31:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 471ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 10:31:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 4c6d8aa069f2 - main - chroot.2: "filedescriptors" => "file descriptors" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c6d8aa069f2ac22f801fa69add61085631b3356 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 10:31:30 +0000 Message-Id: <69ef3b02.471ad.5e3ad048@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4c6d8aa069f2ac22f801fa69add61085631b3356 commit 4c6d8aa069f2ac22f801fa69add61085631b3356 Author: Olivier Certner AuthorDate: 2026-04-27 10:16:30 +0000 Commit: Olivier Certner CommitDate: 2026-04-27 10:31:00 +0000 chroot.2: "filedescriptors" => "file descriptors" "filedescriptors" is the odd one out when looking at other manual pages. MFC after: 3 days Sponsored by: The FreeBSD Foundation --- lib/libsys/chroot.2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libsys/chroot.2 b/lib/libsys/chroot.2 index 809dbaad2f65..6e64b28ccf97 100644 --- a/lib/libsys/chroot.2 +++ b/lib/libsys/chroot.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 2, 2025 +.Dd April 27, 2026 .Dt CHROOT 2 .Os .Sh NAME @@ -70,7 +70,7 @@ and the process has enabled the .Pp Depending on the setting of the .Ql kern.chroot_allow_open_directories -sysctl variable, open filedescriptors which reference directories +sysctl variable, open file descriptors which reference directories will make the .Fn chroot fail as follows: @@ -126,7 +126,7 @@ process has not enabled the .Dv PROC_NO_NEW_PRIVS_CTL .Xr procctl 2 . .It Bq Er EPERM -One or more filedescriptors are open directories and the +One or more file descriptors are open directories and the .Ql Va kern.chroot_allow_open_directories sysctl is not set to permit this. .It Bq Er EIO From nobody Mon Apr 27 10:41:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40Vd6s7Bz6ZrsD for ; Mon, 27 Apr 2026 10:41: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 4g40Vd6DmWz3YTJ for ; Mon, 27 Apr 2026 10:41:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777286505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRRXpVj/90q08+YiHkgrLgIfcSnn9aBBVwTfdd551x0=; b=pVGbMQoX3qkUgxVnC5jR3sq7CK8A2rt2PU3wFgaGI+RkcZ8Xh2K4V0QZ0EWjWuENNvTSmH zbb6TrTrC3Kg/7/UmEJdsNClGD2FBpcZbRyeO4BI3/nHbLaMUsP8Ry+ZPStLLNLg3ixP0F GnpsWGHBh9Au9ybMpNpxfRGh/xB+ldhz7m9stfpTS0Orl2y8AzAMDQW4d950IxYAZw3jEb mk9V2q6wsFiiCaRgQ1ik9azsNB1OwdgUA01u1VsSkyNCB5UvrtV9BLEi3257jdxU9AF4lr kC3fm464i12IvYHTk64v+ByRZxsTH8h5s/SKIWqvdaJWw2/mum++7Q5LZRd5Pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777286505; a=rsa-sha256; cv=none; b=TDcKUrGrIm2n2jS9VkHpXlsln+NwMT1+CruJFUYYOSP5iinrihTKZh3msxXi/y/BwjIpyc MR7arVb64RUhVg8s3pV0x0bA2wU089F1vzjPt2rXVM5jrEUeBYiGE+BD34TVwM27JoSUU2 /hpG8IrYYY20kfxi/U2HQgdynP2ncjV7xLPhpHQCAEzlDnKQNaxs8EYDodRI9yaf8fDH+3 W7YINqKW/K8fLY75WcaejqPv4uhtzNiUyWyucEPr8qvTMb6llrkRX5P3p5eSZh8jJ6ZIY8 aAkKV9rMTapv3bm8CRWPq7SuGLVtyfOs+J51IhVkT8JfsbUSj1kfkWRllokFRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777286505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SRRXpVj/90q08+YiHkgrLgIfcSnn9aBBVwTfdd551x0=; b=mfnDgmqrvfT/mMY5+MUVV7gKqvc8H/K0MaS4PAYFLmriSUo4u7vHPaq0pnCPQYfdym8H4d CEyQHyxwD1/NAM7i8CEWG5oaO/duxx1IlXIK+0qeZDLinwiQB9THftUBycz7K1PCNkk+La aBAWdwsLI7hxxmAkPNDO/BxFT4o26lnKfLQgncZ4bq00ccbISk0YxaifDbhpQeIuzf7Jhv 7NiDLbfvx+qTIDWPRG+ursCSrIJnVL54MWItYPiioiDAr1Ik/p5iNmIoNFEMWKualV/adN xX6HmbUwI8HRZ3009a4kosyhbDEufw4oyJ50bPDVSh6llkFstgKkE1L3qs/99Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g40Vd5lBCz13FS for ; Mon, 27 Apr 2026 10:41:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18043 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 10:41:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Philip Paeps Subject: git: e3935639d8d8 - main - contrib/expat: import expat 2.8.0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3935639d8d8b6556cad18e1c90e419a65f26b40 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 10:41:45 +0000 Message-Id: <69ef3d69.18043.27d534e4@gitrepo.freebsd.org> The branch main has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=e3935639d8d8b6556cad18e1c90e419a65f26b40 commit e3935639d8d8b6556cad18e1c90e419a65f26b40 Merge: 4c6d8aa069f2 1102bfff8f2c Author: Philip Paeps AuthorDate: 2026-04-27 10:38:10 +0000 Commit: Philip Paeps CommitDate: 2026-04-27 10:39:36 +0000 contrib/expat: import expat 2.8.0 Changes: https://github.com/libexpat/libexpat/blob/R_2_8_0/expat/Changes Security: CVE-2026-41080 MFC after: 1 week contrib/expat/Changes | 66 +++++ contrib/expat/README.md | 8 +- contrib/expat/configure.ac | 137 +++++++-- contrib/expat/doc/reference.html | 57 +++- contrib/expat/doc/xmlwf.1 | 2 +- contrib/expat/doc/xmlwf.xml | 2 +- contrib/expat/examples/element_declarations.c | 5 +- contrib/expat/expat_config.h.in | 3 + contrib/expat/lib/Makefile.am | 36 +++ contrib/expat/lib/Makefile.in | 170 ++++++++++- contrib/expat/lib/expat.h | 16 +- contrib/expat/lib/expat_external.h | 5 +- contrib/expat/lib/internal.h | 4 +- contrib/expat/lib/libexpat.map.in | 5 + contrib/expat/lib/random_arc4random.c | 56 ++++ .../acc_tests_cxx.cpp => lib/random_arc4random.h} | 13 +- .../random_arc4random_buf.c} | 21 +- .../random_arc4random_buf.h} | 13 +- contrib/expat/lib/random_dev_urandom.c | 72 +++++ .../chardata_cxx.cpp => lib/random_dev_urandom.h} | 14 +- contrib/expat/lib/random_getentropy.c | 54 ++++ .../random_getentropy.h} | 14 +- contrib/expat/lib/random_getrandom.c | 90 ++++++ contrib/expat/lib/random_getrandom.h | 40 +++ contrib/expat/lib/random_rand_s.c | 88 ++++++ contrib/expat/lib/random_rand_s.h | 41 +++ contrib/expat/lib/xmlparse.c | 316 ++++++++------------- contrib/expat/lib/xmlrole.c | 2 +- contrib/expat/lib/xmltok.c | 2 +- contrib/expat/lib/xmltok_ns.c | 2 +- contrib/expat/tests/Makefile.am | 24 +- contrib/expat/tests/Makefile.in | 156 +--------- contrib/expat/tests/basic_tests.c | 26 ++ contrib/expat/tests/common_cxx.cpp | 32 --- contrib/expat/tests/dummy_cxx.cpp | 32 --- contrib/expat/tests/handlers_cxx.cpp | 32 --- contrib/expat/tests/memcheck_cxx.cpp | 32 --- contrib/expat/tests/minicheck_cxx.cpp | 32 --- contrib/expat/tests/misc_tests.c | 2 +- contrib/expat/tests/misc_tests_cxx.cpp | 32 --- contrib/expat/tests/ns_tests_cxx.cpp | 32 --- contrib/expat/tests/nsalloc_tests.c | 11 +- contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 --- contrib/expat/tests/structdata_cxx.cpp | 32 --- contrib/expat/xmlwf/xmlfile.c | 2 +- contrib/expat/xmlwf/xmlwf.c | 2 +- lib/libexpat/Makefile | 2 +- lib/libexpat/expat_config.h | 6 +- lib/libexpat/libbsdxml.3 | 4 +- 49 files changed, 1136 insertions(+), 741 deletions(-) diff --cc contrib/expat/README.md index a67548be7fc9,000000000000..619e60b2d16b mode 100644,000000..100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@@ -1,306 -1,0 +1,300 @@@ +[![Run Linux CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) +[![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions) +[![Downloads SourceForge](https://img.shields.io/sourceforge/dt/expat?label=Downloads%20SourceForge)](https://sourceforge.net/projects/expat/files/) +[![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10205/badge)](https://www.bestpractices.dev/projects/10205) + +> [!CAUTION] +> +> Expat is **understaffed** and without funding. +> There is a [call for help with details](https://github.com/libexpat/libexpat/blob/master/expat/Changes) +> at the top of the `Changes` file. + + - # Expat, Release 2.7.5 ++# Expat, Release 2.8.0 + +This is Expat, a C99 library for parsing +[XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by +[James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997. +Expat is a stream-oriented XML parser. This means that you register +handlers with the parser before starting the parse. These handlers +are called when the parser discovers the associated structures in the +document being parsed. A start tag is an example of the kind of +structures for which you may register handlers. + +Expat supports the following C99 compilers: + +- GNU GCC >=4.5 (for use from C) or GNU GCC >=4.8.1 (for use from C++) +- LLVM Clang >=3.5 +- Microsoft Visual Studio >=17.0/2022 + (the oldest version supported by the [official GitHub Actions Windows images](https://github.com/actions/runner-images)) + +Windows users can use the +[`expat-win32bin-*.*.*.{exe,zip}` download](https://github.com/libexpat/libexpat/releases), +which includes both pre-compiled libraries and executables, and source code for +developers. + +Expat is [free software](https://www.gnu.org/philosophy/free-sw.en.html). +You may copy, distribute, and modify it under the terms of the License +contained in the file +[`COPYING`](https://github.com/libexpat/libexpat/blob/master/expat/COPYING) +distributed with this package. +This license is the same as the MIT/X Consortium license. + + +## Using libexpat in your CMake-Based Project + +There are three documented ways of using libexpat with CMake: + +### a) `find_package` with Module Mode + +This approach leverages CMake's own [module `FindEXPAT`](https://cmake.org/cmake/help/latest/module/FindEXPAT.html). + +Notice the *uppercase* `EXPAT` in the following example: + +```cmake +cmake_minimum_required(VERSION 3.10) + +project(hello VERSION 1.0.0) + +find_package(EXPAT 2.2.8 MODULE REQUIRED) + +add_executable(hello + hello.c +) + +target_link_libraries(hello PUBLIC EXPAT::EXPAT) +``` + +### b) `find_package` with Config Mode + +This approach requires files from… + +- libexpat >=2.2.8 where packaging uses the CMake build system +or +- libexpat >=2.3.0 where packaging uses the GNU Autotools build system + on Linux +or +- libexpat >=2.4.0 where packaging uses the GNU Autotools build system + on macOS or MinGW. + +Notice the *lowercase* `expat` in the following example: + +```cmake +cmake_minimum_required(VERSION 3.10) + +project(hello VERSION 1.0.0) + +find_package(expat 2.2.8 CONFIG REQUIRED char dtd ns) + +add_executable(hello + hello.c +) + +target_link_libraries(hello PUBLIC expat::expat) +``` + +### c) The `FetchContent` module + +This approach — as demonstrated below — requires CMake >=3.18 for both the +[`FetchContent` module](https://cmake.org/cmake/help/latest/module/FetchContent.html) +and its support for the `SOURCE_SUBDIR` option to be available. + +Please note that: +- Use of the `FetchContent` module with *non-release* SHA1s or `master` + of libexpat is neither advised nor considered officially supported. +- Pinning to a specific commit is great for robust CI. +- Pinning to a specific commit needs updating every time there is a new + release of libexpat — either manually or through automation —, + to not miss out on libexpat security updates. + +For an example that pulls in libexpat via Git: + +```cmake +cmake_minimum_required(VERSION 3.18) + +include(FetchContent) + +project(hello VERSION 1.0.0) + +FetchContent_Declare( + expat + GIT_REPOSITORY https://github.com/libexpat/libexpat/ + GIT_TAG 000000000_GIT_COMMIT_SHA1_HERE_000000000 # i.e. Git tag R_X_Y_Z + SOURCE_SUBDIR expat/ +) + +FetchContent_MakeAvailable(expat) + +add_executable(hello + hello.c +) + +target_link_libraries(hello PUBLIC expat) +``` + + +## Building from a Git Clone + +If you are building Expat from a check-out from the +[Git repository](https://github.com/libexpat/libexpat/), +you need to run a script that generates the configure script using the +GNU autoconf and libtool tools. To do this, you need to have +autoconf 2.58 or newer. Run the script like this: + +```console +./buildconf.sh +``` + +Once this has been done, follow the same instructions as for building +from a source distribution. + + +## Building from a Source Distribution + +### a) Building with the configure script (i.e. GNU Autotools) + +To build Expat from a source distribution, you first run the +configuration shell script in the top level distribution directory: + +```console +./configure +``` + +There are many options which you may provide to configure (which you +can discover by running configure with the `--help` option). But the +one of most interest is the one that sets the installation directory. +By default, the configure script will set things up to install +libexpat into `/usr/local/lib`, `expat.h` into `/usr/local/include`, and +`xmlwf` into `/usr/local/bin`. If, for example, you'd prefer to install +into `/home/me/mystuff/lib`, `/home/me/mystuff/include`, and +`/home/me/mystuff/bin`, you can tell `configure` about that with: + +```console +./configure --prefix=/home/me/mystuff +``` + +Another interesting option is to enable 64-bit integer support for +line and column numbers and the over-all byte index: + +```console +./configure CPPFLAGS=-DXML_LARGE_SIZE +``` + +However, such a modification would be a breaking change to the ABI +and is therefore not recommended for general use — e.g. as part of +a Linux distribution — but rather for builds with special requirements. + +After running the configure script, the `make` command will build +things and `make install` will install things into their proper +location. Have a look at the `Makefile` to learn about additional +`make` options. Note that you need to have write permission into +the directories into which things will be installed. + +If you are interested in building Expat to provide document +information in UTF-16 encoding rather than the default UTF-8, follow +these instructions (after having run `make distclean`). +Please note that we configure with `--without-xmlwf` as xmlwf does not +support this mode of compilation (yet): + +1. Mass-patch `Makefile.am` files to use `libexpatw.la` for a library name: +
+ `find . -name Makefile.am -exec sed + -e 's,libexpat\.la,libexpatw.la,' + -e 's,libexpat_la,libexpatw_la,' + -i.bak {} +` + +1. Run `automake` to re-write `Makefile.in` files:
+ `automake` + +1. For UTF-16 output as unsigned short (and version/error strings as char), + run:
+ `./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf`
+ For UTF-16 output as `wchar_t` (incl. version/error strings), run:
+ `./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T + --without-xmlwf` +
Note: The latter requires libc compiled with `-fshort-wchar`, as well. + +1. Run `make` (which excludes xmlwf). + +1. Run `make install` (again, excludes xmlwf). + +Using `DESTDIR` is supported. It works as follows: + +```console +make install DESTDIR=/path/to/image +``` + +overrides the in-makefile set `DESTDIR`, because variable-setting priority is + +1. commandline +1. in-makefile +1. environment + +Note: This only applies to the Expat library itself, building UTF-16 versions +of xmlwf and the tests is currently not supported. + +A reference manual is available in the file `doc/reference.html` in this +distribution. + + +### b) Building with CMake + +The CMake build system is still *experimental* and may replace the primary +build system based on GNU Autotools at some point when it is ready. + + +#### Available Options + +For an idea of the available (non-advanced) options for building with CMake: + +```console +# rm -f CMakeCache.txt ; cmake -D_EXPAT_HELP=ON -LH . | grep -B1 ':.*=' | sed 's,^--$,,' +// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +// Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +// Path to a program. +DOCBOOK_TO_MAN:FILEPATH=/usr/bin/docbook2x-man + +// Build man page for xmlwf +EXPAT_BUILD_DOCS:BOOL=ON + +// Build the examples for expat library +EXPAT_BUILD_EXAMPLES:BOOL=ON + +// Build fuzzers for the expat library +EXPAT_BUILD_FUZZERS:BOOL=OFF + +// Build pkg-config file +EXPAT_BUILD_PKGCONFIG:BOOL=ON + +// Build the tests for expat library +EXPAT_BUILD_TESTS:BOOL=ON + +// Build the xmlwf tool for expat library +EXPAT_BUILD_TOOLS:BOOL=ON + +// Character type to use (char|ushort|wchar_t) [default=char] +EXPAT_CHAR_TYPE:STRING=char + +// Install expat files in cmake install target +EXPAT_ENABLE_INSTALL:BOOL=ON + +// Use /MT flag (static CRT) when compiling in MSVC +EXPAT_MSVC_STATIC_CRT:BOOL=OFF + +// Build fuzzers via OSS-Fuzz for the expat library +EXPAT_OSSFUZZ_BUILD:BOOL=OFF + +// Build a shared expat library +EXPAT_SHARED_LIBS:BOOL=ON + +// Define to provide symbol versioning for dependency generation +EXPAT_SYMBOL_VERSIONING:BOOL=OFF + +// Treat all compiler warnings as errors +EXPAT_WARNINGS_AS_ERRORS:BOOL=OFF - - // Make use of getrandom function (ON|OFF|AUTO) [default=AUTO] - EXPAT_WITH_GETRANDOM:STRING=AUTO - - // Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO] - EXPAT_WITH_SYS_GETRANDOM:STRING=AUTO +``` diff --cc contrib/expat/lib/random_arc4random.c index 000000000000,243fbbc82fda..243fbbc82fda mode 000000,100644..100644 --- a/contrib/expat/lib/random_arc4random.c +++ b/contrib/expat/lib/random_arc4random.c diff --cc contrib/expat/lib/random_dev_urandom.c index 000000000000,e508fe9f3e3c..e508fe9f3e3c mode 000000,100644..100644 --- a/contrib/expat/lib/random_dev_urandom.c +++ b/contrib/expat/lib/random_dev_urandom.c diff --cc contrib/expat/lib/random_getentropy.c index 000000000000,b4be70ed73c1..b4be70ed73c1 mode 000000,100644..100644 --- a/contrib/expat/lib/random_getentropy.c +++ b/contrib/expat/lib/random_getentropy.c diff --cc contrib/expat/lib/random_getrandom.c index 000000000000,e5724a211cc6..e5724a211cc6 mode 000000,100644..100644 --- a/contrib/expat/lib/random_getrandom.c +++ b/contrib/expat/lib/random_getrandom.c diff --cc contrib/expat/lib/random_getrandom.h index 000000000000,ed4d829cd0d6..ed4d829cd0d6 mode 000000,100644..100644 --- a/contrib/expat/lib/random_getrandom.h +++ b/contrib/expat/lib/random_getrandom.h diff --cc contrib/expat/lib/random_rand_s.c index 000000000000,46156563c91c..46156563c91c mode 000000,100644..100644 --- a/contrib/expat/lib/random_rand_s.c +++ b/contrib/expat/lib/random_rand_s.c diff --cc contrib/expat/lib/random_rand_s.h index 000000000000,2b487d62a7c5..2b487d62a7c5 mode 000000,100644..100644 --- a/contrib/expat/lib/random_rand_s.h +++ b/contrib/expat/lib/random_rand_s.h diff --cc lib/libexpat/Makefile index 92ba6b671488,000000000000..1c5be3659eba mode 100644,000000..100644 --- a/lib/libexpat/Makefile +++ b/lib/libexpat/Makefile @@@ -1,31 -1,0 +1,31 @@@ +PACKAGE= runtime +EXPAT= ${SRCTOP}/contrib/expat + +LIB= bsdxml +SHLIBDIR?= /lib +SHLIB_MAJOR= 4 - SRCS= xmlparse.c xmlrole.c xmltok.c ++SRCS= random_arc4random_buf.c xmlparse.c xmlrole.c xmltok.c +INCS= bsdxml.h bsdxml_external.h +MAN= libbsdxml.3 + +.PATH: ${EXPAT}/lib + +CFLAGS+= -I${.CURDIR} -DHAVE_EXPAT_CONFIG_H +CLEANFILES= bsdxml.h bsdxml_external.h + +WARNS?= 2 + +# OK, so it is not entirely unadulterated: we amend the COPYING to +# point people to the right place and use FreeBSD-style include guards. +# We also want to point it at the new bsdxml_external.h rather than the +# old expat_external.h file. +bsdxml.h: expat.h + sed -e 's/XmlParse_INCLUDED/_BSD_XML_H_/' \ + -e 's/COPYING/src\/contrib\/expat\/COPYING/' \ + -e 's/expat_external/bsdxml_external/' ${.ALLSRC} \ + > ${.TARGET} + +bsdxml_external.h: expat_external.h + ${CP} ${.ALLSRC} ${.TARGET} + +.include diff --cc lib/libexpat/expat_config.h index 2ee8a71a7871,000000000000..fcc692224520 mode 100644,000000..100644 --- a/lib/libexpat/expat_config.h +++ b/lib/libexpat/expat_config.h @@@ -1,149 -1,0 +1,149 @@@ +/* expat_config.h. Generated from expat_config.h.in by configure. */ +/* expat_config.h.in. Generated from configure.ac by autoheader. */ + +#ifndef EXPAT_CONFIG_H +#define EXPAT_CONFIG_H 1 + +#include + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* 1234 = LILENDIAN, 4321 = BIGENDIAN */ +#if BYTE_ORDER == LITTLE_ENDIAN +#define BYTEORDER 1234 +#else +#define BYTEORDER 4321 +#endif + +/* Define to 1 if you have the `arc4random' function. */ +#define HAVE_ARC4RANDOM 1 + +/* Define to 1 if you have the `arc4random_buf' function. */ +#define HAVE_ARC4RANDOM_BUF 1 + +/* define if the compiler supports basic C++11 syntax */ +#define HAVE_CXX11 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the 'getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrandom' function. */ +#define HAVE_GETRANDOM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the 'bsd' library (-lbsd). */ +/* #undef HAVE_LIBBSD */ + +/* Define to 1 if you have a working 'mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have `syscall' and `SYS_getrandom'. */ +#define HAVE_SYSCALL_GETRANDOM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "expat" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://github.com/libexpat/libexpat/issues" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "expat" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "expat 2.7.5" ++#define PACKAGE_STRING "expat 2.8.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "expat" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "2.7.5" ++#define PACKAGE_VERSION "2.8.0" + +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Version number of package */ - #define VERSION "2.7.5" ++#define VERSION "2.8.0" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to allow retrieving the byte offsets for attribute names and values. + */ +/* #undef XML_ATTR_INFO */ + +/* Define to specify how much context to retain around the current parse + point, 0 to disable. */ +#define XML_CONTEXT_BYTES 1024 + +/* Define to include code reading entropy from `/dev/urandom'. */ +#define XML_DEV_URANDOM 1 + +/* Define to make parameter entity parsing functionality available. */ +#define XML_DTD 1 + +/* Define as 1/0 to enable/disable support for general entities. */ +#define XML_GE 1 + +/* Define to make XML Namespaces functionality available. */ +#define XML_NS 1 + +/* Define to empty if 'const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to 'long int' if does not define. */ +/* #undef off_t */ + +#endif // ndef EXPAT_CONFIG_H diff --cc lib/libexpat/libbsdxml.3 index 2eea4810ef6c,000000000000..e5fedea71dd1 mode 100644,000000..100644 --- a/lib/libexpat/libbsdxml.3 +++ b/lib/libexpat/libbsdxml.3 @@@ -1,67 -1,0 +1,67 @@@ +.\"- +.\" Copyright (c) 2002 Poul-Henning Kamp +.\" 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 2, 2026 ++.Dd April 27, 2026 +.Dt LIBBSDXML 3 +.Os +.Sh NAME +.Nm libbsdxml +.Nd eXpat XML parser library +.Sh SYNOPSIS +.In bsdxml.h +.Sh DESCRIPTION +The +.Nm - library is a verbatim copy of the eXpat XML library version 2.7.5. ++library is a verbatim copy of the eXpat XML library version 2.8.0. +.Pp +The +.Nm +library is intended to be used within the +.Fx +base system only. +Use of the +.Nm +library for other purposes is not supported and discouraged. +.Pp +To avoid version and autoconfiguration issues, the library has been +renamed to +.Nm +rather than retain the original eXpat library and include file names +to prevent confusion and autoconfiguration issues for 3rd party +software. +.Sh SEE ALSO +For full documentation, please see the eXpat webpage at +.Pa http://www.libexpat.org/ . +.Sh AUTHORS +.An -nosplit +The original eXpat was written by +.An James Clark Aq Mt jjc@jclark.com . +.Pp +Subsequently eXpat maintenance and development been taken up by a group +of people under the leadership of +.An Fred Drake Aq Mt fdrake@acm.com , +.An Paul Prescod , +and +.An Clark Cooper . From nobody Mon Apr 27 10:47:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40cr5346z6ZsTR; Mon, 27 Apr 2026 10:47:08 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g40cr4Tk9z3Z3Q; Mon, 27 Apr 2026 10:47:08 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777286828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iWnqLRcRD+CEnscUNyENLAoMnDIYDRcpc0ZeY1/fxoA=; b=sycmvk6or6o3nWLPMWgZrwXSAKThqgTwrs0yBc+p5xrKf2N5IBO7ZZUGs/jUuzF6IMf7PY X1sc4R1lH5b9Q+U2fXnSOqs5hAiPNdJ7oBHljln3i6r8L6ElbSeEmZqxc1M0v5aFSYSWpJ PDsAb+uaU/fUTfSzt0aqTEGn6g/xL8SVOxENP6UA7zRpue9mslcn2DZyXdkpT6eCAzD91A gbpdWjaq/46sKm6j4T/WZVHpVWKbxyY09IH2Z58lLPsNXA746b8tujYGz7hYpN4fse2WhT cnWHRBTnbPJlS3CDA1woIDklGYgzkpbJC/OQJcBWXrBVX4OanHWKb27NbjmpiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777286828; a=rsa-sha256; cv=none; b=o9vl4lNKkHFpFfnf7pkOaKcUXutOb0KJBpve1VS33nKYdmQFXh6aNipLZ5SCvAP9pfIwzS s6IBo6MvmgQ6YSEnCBK2LZQX2hFDluLa2RxMeI5gUznX+a0aXtJ9M7SS6g/OcCG+r0RIkD DntWkMniVBQ/7j0I48fg4IkzStDh4wksPiWe7IfPW7Z0HJpIdm87M1vdNjb6KYsjonCDs/ cTOnbfwcP3eWAkGRWbu+DASWSVz5dRxcd4xdT1O2yIzakAJSCy/xK+l9D8OlGNKTAVhIQk S1mkKRGOfphAL4TAkvlNaCCPHYDjMbIbNPk+e8DVyyAwZdr2tT2g7lVzr98xZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777286828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iWnqLRcRD+CEnscUNyENLAoMnDIYDRcpc0ZeY1/fxoA=; b=nFkYG/umFgjO8wXo/Khb3LzpB1h02a4BAAhEOy7MhDd8RDf/OOiUap8pauuUQ0B0C8iw6F LftBdY8JZhIac4A56tt1B5JJ3xkhIQA6sGX/pzW1nDDJjgJxMsGsGEDhgRUPqcLZHprUGP L3aVXXJ3wt7pn9WczpYy/uAo/Y8t63gDEh20xNL7d/PmnVMP4JKdKtrZOoTL40Wc/VaD1i 2J4gop7a5c5q4K4NhPxow0sGnRHv47DuthPTGs/Cp+HYfOdiMyoWSfiU+yvaPKJfmXaWmE Ln7GQzpjQ81NJOvl5DQx1kfrjzf1++GECCB5VdbqJsuz5W1Rp+FoPYcaiSCMAA== Received: from ltc.des.dev (lfbn-nan-1-698-103.w86-236.abo.wanadoo.fr [86.236.35.103]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g40cr2TdMz10Lr; Mon, 27 Apr 2026 10:47:08 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id A02F783331; Mon, 27 Apr 2026 12:47:04 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Simon J. Gerraty Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: <69e8f964.39869.24418b55@gitrepo.freebsd.org> (Simon J. Gerraty's message of "Wed, 22 Apr 2026 16:37:56 +0000") References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Mon, 27 Apr 2026 12:47:04 +0200 Message-ID: <86jyts1xzr.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Simon J. Gerraty writes: > The branch main has been updated by sjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D566cc005812b72a4ba23676465= 1dd8e82c94a166 > > commit 566cc005812b72a4ba236764651dd8e82c94a166 > Author: Simon J. Gerraty > AuthorDate: 2026-04-22 16:37:35 +0000 > Commit: Simon J. Gerraty > CommitDate: 2026-04-22 16:37:35 +0000 > > safe_set treat ':' and '#' differently >=20=20=20=20=20 > Treat '#' as a comment anywhere, > but ':' only at start of line. I can't quite figure out what your goal is with this, but it doesn't seem right: `:` is not at all a comment, it is just a built-in alias for the `true` command. Among other things, this means that (assuming a clean environment) these lines do absolutely nothing: # ${foo:=3Dbar} >baz ; echo $foo #${foo:=3Dbar} >baz ; echo $foo while this line: : ${foo:=3Dbar} >baz ; echo $foo sets the variable `foo` to `bar`, creates or truncates the file `baz`, and finally prints `bar\n` to stdout; and this line: :${foo:=3Dbar} >baz ; echo $foo creates or truncate the file `baz`, emits an error to stderr because the command `:bar` does not exist, and finally prints `bar\n` to stdout. It also means that this line: foo=3Dbar # hello sets `foo` to `bar`, but this one: foo=3Dbar : hello does not (or, more accurately, it does, but only for the duration of the `:` command). (except in our sh, but that's a bug) DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Apr 27 10:52:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40l345wxz6Zt51; Mon, 27 Apr 2026 10:52:31 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g40l32ZLdz3b6X; Mon, 27 Apr 2026 10:52:31 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777287151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IHTQcGqnIztJK0eKuMXJwZjjWJkgzXndCNmq0fFUwjQ=; b=C4UpIxfPXoxAZAT+Ja9UdLQ5KxtzsfvKQjFy4eIeTXAOPdIp2wNlEL3Kqw0WR38XpSSALD A8SZcg6v8yxMXS4oKmaanBOprNM/H/gh6tGxNRVW9qTOP9dDJgE5ajnY8WAeYWlrZOmRc4 Pq3FtEq0GM6Gp8Qn4sU2JUpFO4HKFClpNmfKwf3s/BUVnmvRJNQs8/5uXstLaRWE5XdsHC dUKhyRO0vjVRqtF1YdnqdiIddwsReQtYIAHtrEBtO7Pn/CPIW0zzES356/LrOjFr9eT44M XArCpachtL3liApcPjmdXVZh/TezedqhJp74zw2/jJhaOIMfYaHzNACR1cyTsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777287151; a=rsa-sha256; cv=none; b=pxGo0MC9LKUvWsmBgKQg2cjG9/Pk5iaWNLfK+UxNcExXWBmTQ0e19uRZovm6qgSpOJRHCV 9I4QNVfSOi3ejVKCqqh3VDwV8CXOfWNll+jFqvGAHSGEixUK1ZgEyrh7dLyUWpWTztca2W A92itfBWU0gv1ICxDC8oQxcpZIlNUUcHYsqKUIU9bQqLAVnu7QyjMpQl6Eqo05sys5AXq4 1YWjltGX2y8wLhz68tS1GZO1gBHqqlR0/JdPDWhJC5uUu2QCVMSntUCVjIwUDiUefJ+t6H 3s6yQlN6TFUvm9xpDqVSEOwcHbovn4F0DjE51hqBPZ39ZIK1zTpS+lX5s0hx2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777287151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IHTQcGqnIztJK0eKuMXJwZjjWJkgzXndCNmq0fFUwjQ=; b=T9L5BZSKq8K7TeS8J2DicBtLirR9zZUz/eWT0ypM6e2OEsv2BqB2Yvx5GouHvuojGHTFio E9Zq1B0Ha6olVcfIdQ9jifUAWhYN6RGfr+ttF+/71PnZbz1Ksr98sb24wpM8/4HwWRNaAc Fwyb2BDgm6rVktGNVf34Bba0vfpazAr3H/6c1DTh/uI3+rCkCHLsfcxYy/mp4P7/qnj1sq /PpQpLHmpFc0rV0+Co6I5H9HV65B7A8hSmbnB3eD99wadD9mNCYX4fWRq60iL+Li3SFsmT b5OzVKiX/oBTckHz4ijpp+HvPWR/0HqQ5Fzs3PJJYqrutuLw6MHAHgH++HsiMQ== Received: from ltc.des.dev (lfbn-nan-1-698-103.w86-236.abo.wanadoo.fr [86.236.35.103]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g40l31Kg5z10FQ; Mon, 27 Apr 2026 10:52:31 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 0C7E1831BE; Mon, 27 Apr 2026 12:52:30 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Simon J. Gerraty Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: <86jyts1xzr.fsf@ltc.des.dev> ("Dag-Erling =?utf-8?Q?Sm=C3=B8r?= =?utf-8?Q?grav=22's?= message of "Mon, 27 Apr 2026 12:47:04 +0200") References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Mon, 27 Apr 2026 12:52:29 +0200 Message-ID: <86fr4g1xqq.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dag-Erling Sm=C3=B8rgrav writes: > It also means that this line: > > foo=3Dbar # hello > > sets `foo` to `bar`, but this one: > > foo=3Dbar : hello > > does not (or, more accurately, it does, but only for the duration of the > `:` command). > > (except in our sh, but that's a bug) correction: oddly enough POSIX says our sh is right to persist `foo` here, although it would be wrong for any other command; bash agrees with me when invoked as bash, but agrees with POSIX (and our sh) when invoked as sh. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Apr 27 11:38:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mf20Klz6Zwh2 for ; Mon, 27 Apr 2026 11:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g41mf0fvBz3fLv for ; Mon, 27 Apr 2026 11:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KDVLEIN8GA/iJ4RLqd5oPWnMR1xl78xpDT44SS7ey8=; b=X1BjPrMBkTOCsinzlRudJTIeNSHu3C6PjofiSFHIbnGjnRDeS0GmNKPKtsCSuHmNa4aIcz tiKcuPZPj3v9aWhZCNmaIKwl0OqDwInET7Mnz1ZJHWmPMcYcjDn38GTd9ffOi1ogSEJHwD RzRz4SNa6EzdQDb5AxSC09ABEHBjoRHtXq8t8O522alXCLIZ83WoNHZFoEkKWZzjTm79/5 iuGWf2HJu7V6uth7WI6Lq/weR/wGCdsG/Tuu8QToAp0fshH1Uh1+hyghmR6jzylTJ9GSjg Jv3bnouFRbIBlXLsmZ2NovDajeqSw047qk5UV4URkcyIuTtPbegU7wf0AGLE2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289938; a=rsa-sha256; cv=none; b=YnVOkEhyQoFS7NC2TXCHo6tQl2Os/DLrWSfW2XdZVO41686OyhTdYNOrAlvC9v/1d6i1mJ J/jcNLBZiUQ9Rb8QDx9rpO6rD/UxHMC+jUjZI+o0hSBtL3M8xqxwxIKPtbn9mLpH32kiNw BG0Ug+eLr4hKE94Wta+Qk+FCoLvDNkzb1tjCXoiNf4d+RRQ+kAu1EWXpoS+XCZbrCuo76n FRsiL14Ljm2NqrLJNJJfDi1U9PWLzkkYzm6YOXznwGo0O82iLx0mbRDoiHkGnxBlTnnqHM 7vE/035BSYN72I7F3+2wNTgXBnnPhggMkOiCPQz6rWh3O+tHofYrdegIoCxyXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KDVLEIN8GA/iJ4RLqd5oPWnMR1xl78xpDT44SS7ey8=; b=hEA7/Hy9kFLHkg+qNXIxo4GU0NpJWGrL23k/zle/Z7VBPt7VjqAsiUbQjtpykJw23WMGlk xABrYcsV5uEvwPytCSXFxKcbGd9U1uI/9bWZ8SpS9a+aO9iDzkDMIFSOOvtsupFsAdj1eV R9wDOxgUQDtGhSyr2b0aAvEz1Hm40PHjLwEFXnDbPzzaBOF4+11wFBouorYmFB3+aSN72f soLntunVD6rJVmsQLuGXQxKJfQE5ouYEvrJaviSKR2VIZhLfFbUYCUDdcCzUINp4tWwFGM rCmpHeB5qaoUQgHkh30xVRzIYgHpQ8VnNiXSy7T/mRedxMsPODc6AmvWuIYLlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41md6vxwz14MY for ; Mon, 27 Apr 2026 11:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c7d4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:38:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: e63eee84cad5 - main - libgcc_s: Add a linker script to link to libgcc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e63eee84cad59f63338a539e73bed07917932088 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:38:57 +0000 Message-Id: <69ef4ad1.1c7d4.4b8c5d49@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e63eee84cad59f63338a539e73bed07917932088 commit e63eee84cad59f63338a539e73bed07917932088 Author: Andrew Turner AuthorDate: 2026-04-27 10:54:18 +0000 Commit: Andrew Turner CommitDate: 2026-04-27 11:37:53 +0000 libgcc_s: Add a linker script to link to libgcc When using outline atomics on arm64 the compiler will create a call to a function that performs the atomic operation. This allows us to use the fastest operation depending on the hardware. As these functions are implemented in libgcc create a linker script so libraries that link against libgcc_s will include libgcc to pull them in. Reviewed by: imp, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45268 --- lib/libgcc_s/Makefile | 2 ++ lib/libgcc_s/libgcc_s.ldscript | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/libgcc_s/Makefile b/lib/libgcc_s/Makefile index 7e3911043843..e09a4fb2cd62 100644 --- a/lib/libgcc_s/Makefile +++ b/lib/libgcc_s/Makefile @@ -2,6 +2,8 @@ PACKAGE= clibs SHLIB_NAME= libgcc_s.so.1 SHLIBDIR?= /lib +SHLIB_LDSCRIPT=libgcc_s.ldscript + # Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info" MK_UBSAN:= no diff --git a/lib/libgcc_s/libgcc_s.ldscript b/lib/libgcc_s/libgcc_s.ldscript new file mode 100644 index 000000000000..a7e94ac4c9a0 --- /dev/null +++ b/lib/libgcc_s/libgcc_s.ldscript @@ -0,0 +1 @@ +GROUP ( @@SHLIB@@ @@LIBDIR@@/libgcc.a ) From nobody Mon Apr 27 11:38:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mg2lpMz6ZwlQ for ; Mon, 27 Apr 2026 11:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g41mg0rmyz3dtC for ; Mon, 27 Apr 2026 11:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNJ5zSN6Jaui++HrS08mcSXO696d3PKyVBskD1MJJjI=; b=TMwujJtv2JkqQUQSwL19QRPwrOIQNov+5SN6VvHh4S/lQSSDTANwzPvauaZ7C/Y7T1Yj7z ChpsCGNhNVaJjSY7CtoJjZ13Puzs+bWRz1UNWU4ljq90dQmnmjsV/3O83Lo7NBy33sPjKd L7rxuS8a74RrMP1ftGyzpBk8kKPiSvBpwyCEfNZYYcfhoskCE9e7AVhXFuIZm8AaPxvOir eoUgr4y+o9a3KJuW4qJVb2SCpZeNlOoE2L86nE4oPCDKDvy/Qp9k86t1z83QWkvn8/LAej KuNeX91IYbG+UyzJLpNP7dpDQGDfWUgSY+WBCi/xFYEzeSX+2Z+aXL/NkNqLHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289939; a=rsa-sha256; cv=none; b=MpqR9tszzZhMaZ3k2zXicJ5q1Jkde/gYC5a0JGE8DDgawfk6ZVDjDC1tODembUYOGIJjkD Atov/Ky4UIFToVwCyqXtMKI2I7DWI33ERd4efR5lRe1qzpVTHhAMRBR8cF+r5uuTPWE6Zd p339NpjS7UtaNhnVaL6K+DCbt8osSNZsaGFIipjBK4EJ77fYyIboz9X8rYOZBnBe53UpXh JdKFwDtgxe5wdh7zYBmVGGu6urwY2d4sBLaHpbA9wenybUw+WmpD4iCV/944rQedbnoBdB Q9aObz/7Y0uop1ViktVqJjm9K+mwNbad6oELbh2w7n6xuU2ynubY8f2OXyvwig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DNJ5zSN6Jaui++HrS08mcSXO696d3PKyVBskD1MJJjI=; b=OIyCGLWqqAZu9ansnX1ksXiFKoTGw65oHXaDtPEDkWGGpCz4mEzrfN3gqoB1oUv5oiRx2F 9+cyssSR8CpzeaSWoc8xmcoABcDEQs8g1NRkZDJNNCxOEoqRMF7pf0ajfd64A/5/Jm81GB cxeLbni39logkkUlpdjnkB/xtcvmLp99rVzyXzYOKm6k1cecBoXm/qEvqukh0SyA7TUM4D HcnSvzr7Kj0LvMVukJXptd+NlninL5EVBLkGPD1dHAcpSByPd9NWKtQzl5fkO3F/mKYCIY HTTJDfJPKC06D0L9cXaT9QK/J7W26cDVLZaGxVtXsESWe2DNDJJTR6kIlAJniA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41mg0Pcbz14ZH for ; Mon, 27 Apr 2026 11:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fcd7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:38:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 4bdbb6f7f7c6 - main - arm64: Stop using cpu_tlb_flushID in kexec List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bdbb6f7f7c6913d6296279a856a0bb229ecb83f Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:38:59 +0000 Message-Id: <69ef4ad3.1fcd7.3f1e3899@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4bdbb6f7f7c6913d6296279a856a0bb229ecb83f commit 4bdbb6f7f7c6913d6296279a856a0bb229ecb83f Author: Andrew Turner AuthorDate: 2026-04-27 11:34:56 +0000 Commit: Andrew Turner CommitDate: 2026-04-27 11:37:54 +0000 arm64: Stop using cpu_tlb_flushID in kexec It will be removed soon & replaces with pmap_s1_invalidate_all_kernel. This allows us to handle errata that cpu_tlb_flushID is missing workarounds for. Sponsored by: Arm Ltd --- sys/arm64/arm64/kexec_support.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/arm64/kexec_support.c b/sys/arm64/arm64/kexec_support.c index 7ca6bf659d91..84e4ab56aec2 100644 --- a/sys/arm64/arm64/kexec_support.c +++ b/sys/arm64/arm64/kexec_support.c @@ -148,7 +148,7 @@ kexec_reboot_md(struct kexec_image *image) reg = pmap_kextract((vm_offset_t)pagetable_l0_ttbr0_bootstrap); set_ttbr0(reg); - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); typeof(kexec_reboot_bottom) *p = (void *)ptr; switch_stack((void *)pmap_kextract((vm_offset_t)initstack_end), From nobody Mon Apr 27 11:39:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mh4zQmz6ZwGP for ; Mon, 27 Apr 2026 11:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g41mh1CMKz3fLx for ; Mon, 27 Apr 2026 11:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPEu7hES4Dx8Zlbhur09YzdXrY9KxaHnd1zk66gxpeM=; b=xZIvTQZZwELoK7KX+PzVrShVBMcWWqAGGFeVSmAjsObSRXONIYDmkGf//bWE3+5qQIww7I a965oTg3I9jz05r4iIBXtpRoov++STOt0jk6f20hXg6mx5yi/erwqfdUA9NZs5HFKA1AdQ RCsGWjz5q25fpQ1YIUrzJQs9z5Y8UpnhN7zotYfM1q+hQW1voOJmI5cFITOgWrWnLl5oE6 R8X3b1vEzq9wWIVLuSLFDrpfrXVJYQaw2QgrDwYjBn9yh+1iQUEzApcxaeS7UxN4RTNVWJ al74vqtcLCwQskLQgvpMnVhBfRCy18kXlSPLj0gtCSUDyCp4dqpqLV86IJV2rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289940; a=rsa-sha256; cv=none; b=ROKZOkve5ufApBLwi/tzdxY3/yvXLAjdCbd3XTsNOO7pbXDT4dN9q/8D8EoYP8k8WxT2ni 9nKLMQQLc+IMxF+CBKLsK8oR3CDwX6smnF17DrtTuVjtSwCsJYgN5uN1+FAWQeqrvaWhNV cnbwym4bb69nPNHBYQ4y3XeSb7PjuOmLyhXOzO7Pj0WWg7qnXhxlTv8JQ6XuqkxHQ2cNRe +7CQU31tMLDiZtqvs6vwATjqNyJIn0h0f2XCfnbkEBldzpr8msVSUqUI16ADx5o12wI1Jn bi1exFzIzi6QHYc9WyvN4LQq+5+mfPptLugSA/VQcodLNnh8Y9nUWKw94gQxKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPEu7hES4Dx8Zlbhur09YzdXrY9KxaHnd1zk66gxpeM=; b=mu8DwCkeZ4PLuq/8U9DdCjBTiF1VwwYQ2LdVJ0CDKvxgccHPcJ/mYPNsi68lJ109zLWhC4 JCKevMZYQ9utA4df2cuZhgTSnh9ukAjG6IvgAdGih40hhZca8C5kiSewsbeKGEwpkItVf0 /QgpFTl75d7ihhp4sbfsHRAUKwvx4EjIqpjqHixlMe30hnMDjnBOCX7raTFQN9hS4JFj/g ErPMztEgcqaBcukdufZhiiT6hD4ZOYfDWriAEIRkwgckD+EnpVb9puLimy1237rc1QMqKl EmSZsp64mxjXQsQv8YLBRp1s0IGMjK6XE6UO98P5lMaeipEvmCBjgb/vOfvH+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41mh0l6mz14rG for ; Mon, 27 Apr 2026 11:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fc32 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:39:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 04e4268f60e4 - main - arm64: Remove cpu_tlb_flushID now it's unused List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04e4268f60e432097427e3d757aac6bc0ae24044 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:39:00 +0000 Message-Id: <69ef4ad4.1fc32.22e40749@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=04e4268f60e432097427e3d757aac6bc0ae24044 commit 04e4268f60e432097427e3d757aac6bc0ae24044 Author: Andrew Turner AuthorDate: 2026-04-27 10:57:32 +0000 Commit: Andrew Turner CommitDate: 2026-04-27 11:37:54 +0000 arm64: Remove cpu_tlb_flushID now it's unused Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52185 --- sys/arm64/arm64/cpufunc_asm.S | 16 ---------------- sys/arm64/include/cpufunc.h | 3 --- 2 files changed, 19 deletions(-) diff --git a/sys/arm64/arm64/cpufunc_asm.S b/sys/arm64/arm64/cpufunc_asm.S index a13b97c2cdee..1b5a61204c1b 100644 --- a/sys/arm64/arm64/cpufunc_asm.S +++ b/sys/arm64/arm64/cpufunc_asm.S @@ -89,22 +89,6 @@ ENTRY(arm64_nullop) ret END(arm64_nullop) -/* - * Generic functions to read/modify/write the internal coprocessor registers - */ - -ENTRY(arm64_tlb_flushID) - dsb ishst -#ifdef SMP - tlbi vmalle1is -#else - tlbi vmalle1 -#endif - dsb ish - isb - ret -END(arm64_tlb_flushID) - /* * void arm64_dcache_wb_range(void *, vm_size_t) */ diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h index e9eee643216b..f600b30edf5f 100644 --- a/sys/arm64/include/cpufunc.h +++ b/sys/arm64/include/cpufunc.h @@ -196,8 +196,6 @@ extern int64_t dczva_line_size; #define cpu_nullop() arm64_nullop() #define cpufunc_nullop() arm64_nullop() -#define cpu_tlb_flushID() arm64_tlb_flushID() - #define cpu_dcache_wbinv_range(a, s) arm64_dcache_wbinv_range((a), (s)) #define cpu_dcache_inv_range(a, s) arm64_dcache_inv_range((a), (s)) #define cpu_dcache_wb_range(a, s) arm64_dcache_wb_range((a), (s)) @@ -208,7 +206,6 @@ extern void (*arm64_icache_sync_range)(void *, vm_size_t); #define cpu_icache_sync_range_checked(a, s) arm64_icache_sync_range_checked((a), (s)) void arm64_nullop(void); -void arm64_tlb_flushID(void); void arm64_dic_idc_icache_sync_range(void *, vm_size_t); void arm64_idc_aliasing_icache_sync_range(void *, vm_size_t); void arm64_aliasing_icache_sync_range(void *, vm_size_t); From nobody Mon Apr 27 11:38:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mk23Pjz6ZwZt for ; Mon, 27 Apr 2026 11:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g41mj6ZhSz3f8x for ; Mon, 27 Apr 2026 11:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzd8DZ9YztC+dLqy4yT3isEYjXMpz33zkKb8KdUzF1s=; b=NraYmzjjR/WtFsNcSrSYSk3Q5PUBm+SYfl1lPnwQHhqSdCmhe6gh2MHBL0x3SMy6c4u+pW ePo9pHEHrJIeBc3hfA9vBcsGWJnDJp1izW4Y3CIOULNNCx1Ym/dMPFg3sFk2QPD2LKPL/5 SpghadkU6JL5OMsZJicp/in4ouyw1tyE8b4xcUsQ310gA4xtrqaWToGkjxarHVV6RpeZQ/ 467IvtChX8qIKB9y9Y2XfbMt15z0SziJfb05oKlGAUOGkug4Jpnhp20ovywSXPiHLiL2EZ +tcAa+X0fptOjwwE9JqQDMPXoeowmOpN79GWn7akPfRBBTzl1KBT1fGS3l2l1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289941; a=rsa-sha256; cv=none; b=wvguO4qRuENK4d3hitNJ2D+CNsm0jw07uaeCzcl26NHIyQAL/mKf3sxKD+SBhcasZrGdzy Wb2iQJWNPHQpeLkkXct5YX4cGau7tCc23zGvdX/TGJe2YU2Qlav/okmyqrjSOYjgBU49ta vtCdQcxLdmnWYlxSYwWOXQ81YM1oJYxsjbW6CY3/HDHAy8EtNMnVGFtO6wuAKbZD6295HF D4WOw07XXOE4VZIipJ4lJdvG3Gq3V0aT57LskCj0GcAlf2/FXEy6y9ksjDnntWPg1RbFf5 Sp5X0zbvTgo7biMnxmiEAdW2MP4HwuxPuquKjPDoDrAppU5nT2NvGR6C2HHCQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzd8DZ9YztC+dLqy4yT3isEYjXMpz33zkKb8KdUzF1s=; b=wyKb7vvTSNjkAXMu/GmZlO571uIO/P9E0scbplPD5yYCJ9s8Xd/7FawMcvZDMi4QbgsPg0 TSoZCokylEy3zt3DVXINx7xQPWHtRXxWRISRmIGE4NaRbbjYo3WCqOHSvXuX2Pd6Qa+YXQ X8VZJcxh142PXVg2PND2/YdZuSJBQlmj9pi6pwd+LaHWn9OccY4STFlCieWKf6kJ8huakH VespBZ/eroYHkP2iI9EXFP6AZ2fkaAUQI0OLCrj3bmE5HQ4dvC8T9L9+aBtwMOhbzTvMDt CQXW42BwVUISonfu+ae5s+xaS/i107iMxF0+82w9dS1xMCnCzqjH5DCZ3GXElA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41mj674lz14kK for ; Mon, 27 Apr 2026 11:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f221 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:38:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: b5bad6df467c - main - virtio_net: Use bus_dma for command/ack buffers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5bad6df467cc95bea641afe674c55cd5b9f1510 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:38:56 +0000 Message-Id: <69ef4ad0.1f221.796b75f@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b5bad6df467cc95bea641afe674c55cd5b9f1510 commit b5bad6df467cc95bea641afe674c55cd5b9f1510 Author: Sarah Walker AuthorDate: 2026-02-27 14:17:15 +0000 Commit: Andrew Turner CommitDate: 2026-04-27 11:37:53 +0000 virtio_net: Use bus_dma for command/ack buffers While the majority of virtio platforms will be fully coherent, some may require cache maintenance or other specific device memory handling (eg for secure partitioning). Using bus_dma allows for these usecases. The virtio buffers are marked as coherent; this should ensure that sync calls are no-ops in the common cases. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55564 --- sys/dev/virtio/network/if_vtnet.c | 336 +++++++++++++++++++++++++++++------ sys/dev/virtio/network/if_vtnetvar.h | 6 + 2 files changed, 284 insertions(+), 58 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index e88602a44664..40792482672c 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -219,7 +219,7 @@ static void vtnet_init_locked(struct vtnet_softc *, int); static void vtnet_init(void *); static void vtnet_free_ctrl_vq(struct vtnet_softc *); -static void vtnet_exec_ctrl_cmd(struct vtnet_softc *, void *, +static int vtnet_exec_ctrl_cmd(struct vtnet_softc *, uint8_t *, struct sglist *, int, int); static int vtnet_ctrl_mac_cmd(struct vtnet_softc *, uint8_t *); static int vtnet_ctrl_guest_offloads(struct vtnet_softc *, uint64_t); @@ -523,6 +523,50 @@ vtnet_attach(device_t dev) goto fail; } + mtx_init(&sc->vtnet_hdr_mtx, device_get_nameunit(dev), + "VirtIO Net header lock", MTX_DEF); + + error = bus_dma_tag_create( + bus_get_dma_tag(dev), /* parent */ + sizeof(uint16_t), /* alignment */ + 0, /* boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + PAGE_SIZE, /* max request size */ + 1, /* max # segments */ + PAGE_SIZE, /* maxsegsize */ + BUS_DMA_COHERENT, /* flags */ + busdma_lock_mutex, /* lockfunc */ + &sc->vtnet_hdr_mtx, /* lockarg */ + &sc->vtnet_hdr_dmat); + if (error) { + device_printf(dev, "cannot create bus_dma_tag\n"); + goto fail; + } + + mtx_init(&sc->vtnet_ack_mtx, device_get_nameunit(dev), + "VirtIO Net ACK lock", MTX_DEF); + + error = bus_dma_tag_create( + bus_get_dma_tag(dev), /* parent */ + sizeof(uint8_t), /* alignment */ + 0, /* boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + sizeof(uint8_t), /* max request size */ + 1, /* max # segments */ + sizeof(uint8_t), /* maxsegsize */ + BUS_DMA_COHERENT, /* flags */ + busdma_lock_mutex, /* lockfunc */ + &sc->vtnet_ack_mtx, /* lockarg */ + &sc->vtnet_ack_dmat); + if (error) { + device_printf(dev, "cannot create bus_dma_tag\n"); + goto fail; + } + #ifdef __powerpc__ /* * Virtio uses physical addresses rather than bus addresses, so we @@ -531,6 +575,8 @@ vtnet_attach(device_t dev) */ bus_dma_tag_set_iommu(sc->vtnet_rx_dmat, NULL, NULL); bus_dma_tag_set_iommu(sc->vtnet_tx_dmat, NULL, NULL); + bus_dma_tag_set_iommu(sc->vtnet_hdr_dmat, NULL, NULL); + bus_dma_tag_set_iommu(sc->vtnet_ack_dmat, NULL, NULL); #endif error = vtnet_alloc_rx_filters(sc); @@ -3751,10 +3797,43 @@ vtnet_free_ctrl_vq(struct vtnet_softc *sc) } static void -vtnet_exec_ctrl_cmd(struct vtnet_softc *sc, void *cookie, - struct sglist *sg, int readable, int writable) +vtnet_load_callback(void *arg, bus_dma_segment_t *segs, int nsegs, + int error) { + bus_addr_t *paddr; + + if (error != 0) + return; + + KASSERT(nsegs == 1, ("%s: %d segments returned!", __func__, nsegs)); + + paddr = (bus_addr_t *)arg; + *paddr = segs[0].ds_addr; +} + +static int +vtnet_exec_ctrl_cmd(struct vtnet_softc *sc, uint8_t *ack, struct sglist *sg, + int readable, int writable) +{ + bus_dmamap_t ack_dmap; + bus_addr_t ack_paddr; struct virtqueue *vq; + int error; + + error = bus_dmamap_create(sc->vtnet_ack_dmat, 0, &ack_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_ack_dmat, ack_dmap, ack, + sizeof(uint8_t), vtnet_load_callback, &ack_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy; + + bus_dmamap_sync(sc->vtnet_ack_dmat, ack_dmap, BUS_DMASYNC_PREWRITE); + + error = sglist_append_phys(sg, ack_paddr, sizeof(uint8_t)); + if (error) + goto error_unload; vq = sc->vtnet_ctrl_vq; @@ -3762,152 +3841,237 @@ vtnet_exec_ctrl_cmd(struct vtnet_softc *sc, void *cookie, VTNET_CORE_LOCK_ASSERT(sc); if (!virtqueue_empty(vq)) - return; + goto error_unload; /* * Poll for the response, but the command is likely completed before * returning from the notify. */ - if (virtqueue_enqueue(vq, cookie, sg, readable, writable) == 0) { + if (virtqueue_enqueue(vq, (void *)ack, sg, readable, writable) == 0) { virtqueue_notify(vq); virtqueue_poll(vq, NULL); } + + bus_dmamap_sync(sc->vtnet_ack_dmat, ack_dmap, BUS_DMASYNC_POSTREAD); + +error_unload: + bus_dmamap_unload(sc->vtnet_ack_dmat, ack_dmap); +error_destroy: + bus_dmamap_destroy(sc->vtnet_ack_dmat, ack_dmap); +error_out: + return (error); } static int vtnet_ctrl_mac_cmd(struct vtnet_softc *sc, uint8_t *hwaddr) { struct sglist_seg segs[3]; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; struct { struct virtio_net_ctrl_hdr hdr __aligned(2); uint8_t pad1; uint8_t addr[ETHER_ADDR_LEN] __aligned(8); uint8_t pad2; - uint8_t ack; } s; + uint8_t ack; int error; - error = 0; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &s, + sizeof(s), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy_hdr; + MPASS(sc->vtnet_flags & VTNET_FLAG_CTRL_MAC); s.hdr.class = VIRTIO_NET_CTRL_MAC; s.hdr.cmd = VIRTIO_NET_CTRL_MAC_ADDR_SET; bcopy(hwaddr, &s.addr[0], ETHER_ADDR_LEN); - s.ack = VIRTIO_NET_ERR; + ack = VIRTIO_NET_ERR; + bus_dmamap_sync(sc->vtnet_hdr_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &s.hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &s.addr[0], ETHER_ADDR_LEN); - error |= sglist_append(&sg, &s.ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + hdr_paddr + ((uintptr_t)&s.addr - (uintptr_t)&s), + ETHER_ADDR_LEN); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &s.ack, &sg, sg.sg_nseg - 1, 1); + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); - return (s.ack == VIRTIO_NET_OK ? 0 : EIO); + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +error_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +error_out: + return (error); } static int vtnet_ctrl_guest_offloads(struct vtnet_softc *sc, uint64_t offloads) { struct sglist_seg segs[3]; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; struct { struct virtio_net_ctrl_hdr hdr __aligned(2); uint8_t pad1; uint64_t offloads __aligned(8); uint8_t pad2; - uint8_t ack; } s; + uint8_t ack; int error; - error = 0; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &s, + sizeof(s), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy_hdr; + MPASS(sc->vtnet_features & VIRTIO_NET_F_CTRL_GUEST_OFFLOADS); s.hdr.class = VIRTIO_NET_CTRL_GUEST_OFFLOADS; s.hdr.cmd = VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET; s.offloads = vtnet_gtoh64(sc, offloads); - s.ack = VIRTIO_NET_ERR; + ack = VIRTIO_NET_ERR; + bus_dmamap_sync(sc->vtnet_hdr_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &s.hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &s.offloads, sizeof(uint64_t)); - error |= sglist_append(&sg, &s.ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + hdr_paddr + ((uintptr_t)&s.offloads - (uintptr_t)&s), + sizeof(uint64_t)); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &s.ack, &sg, sg.sg_nseg - 1, 1); + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); - return (s.ack == VIRTIO_NET_OK ? 0 : EIO); + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +error_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +error_out: + return (error); } static int vtnet_ctrl_mq_cmd(struct vtnet_softc *sc, uint16_t npairs) { struct sglist_seg segs[3]; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; struct { struct virtio_net_ctrl_hdr hdr __aligned(2); uint8_t pad1; struct virtio_net_ctrl_mq mq __aligned(2); uint8_t pad2; - uint8_t ack; } s; + uint8_t ack; int error; - error = 0; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &s, + sizeof(s), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy_hdr; + MPASS(sc->vtnet_flags & VTNET_FLAG_MQ); s.hdr.class = VIRTIO_NET_CTRL_MQ; s.hdr.cmd = VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET; s.mq.virtqueue_pairs = vtnet_gtoh16(sc, npairs); - s.ack = VIRTIO_NET_ERR; + ack = VIRTIO_NET_ERR; + bus_dmamap_sync(sc->vtnet_hdr_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &s.hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &s.mq, sizeof(struct virtio_net_ctrl_mq)); - error |= sglist_append(&sg, &s.ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + hdr_paddr + ((uintptr_t)&s.mq - (uintptr_t)&s), + sizeof(struct virtio_net_ctrl_mq)); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &s.ack, &sg, sg.sg_nseg - 1, 1); + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); - return (s.ack == VIRTIO_NET_OK ? 0 : EIO); + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +error_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +error_out: + return (error); } static int vtnet_ctrl_rx_cmd(struct vtnet_softc *sc, uint8_t cmd, bool on) { struct sglist_seg segs[3]; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; struct { struct virtio_net_ctrl_hdr hdr __aligned(2); uint8_t pad1; uint8_t onoff; uint8_t pad2; - uint8_t ack; } s; + uint8_t ack; int error; - error = 0; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &s, + sizeof(s), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy_hdr; + MPASS(sc->vtnet_flags & VTNET_FLAG_CTRL_RX); s.hdr.class = VIRTIO_NET_CTRL_RX; s.hdr.cmd = cmd; s.onoff = on; - s.ack = VIRTIO_NET_ERR; + ack = VIRTIO_NET_ERR; + bus_dmamap_sync(sc->vtnet_hdr_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &s.hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &s.onoff, sizeof(uint8_t)); - error |= sglist_append(&sg, &s.ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + hdr_paddr + ((uintptr_t)&s.onoff - (uintptr_t)&s), + sizeof(uint8_t)); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &s.ack, &sg, sg.sg_nseg - 1, 1); + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); - return (s.ack == VIRTIO_NET_OK ? 0 : EIO); + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +error_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +error_out: + return (error); } static int @@ -3978,6 +4142,10 @@ vtnet_rx_filter_mac(struct vtnet_softc *sc) struct virtio_net_ctrl_hdr hdr __aligned(2); struct vtnet_mac_filter *filter; struct sglist_seg segs[4]; + bus_dmamap_t filter_dmap; + bus_addr_t filter_paddr; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; if_t ifp; bool promisc, allmulti; @@ -4017,6 +4185,25 @@ vtnet_rx_filter_mac(struct vtnet_softc *sc) if (promisc && allmulti) goto out; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto out_error; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &hdr, + sizeof(hdr), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto out_destroy_hdr; + + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &filter_dmap); + if (error) + goto out_unload_hdr; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, filter, + sizeof(*filter), vtnet_load_callback, &filter_paddr, + BUS_DMA_NOWAIT); + if (error) + goto out_destroy_filter; + filter->vmf_unicast.nentries = vtnet_gtoh32(sc, ucnt); filter->vmf_multicast.nentries = vtnet_gtoh32(sc, mcnt); @@ -4025,19 +4212,33 @@ vtnet_rx_filter_mac(struct vtnet_softc *sc) ack = VIRTIO_NET_ERR; sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &filter->vmf_unicast, + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + filter_paddr + ((uintptr_t)&filter->vmf_unicast - + (uintptr_t)filter), sizeof(uint32_t) + ucnt * ETHER_ADDR_LEN); - error |= sglist_append(&sg, &filter->vmf_multicast, + error |= sglist_append_phys(&sg, + filter_paddr + ((uintptr_t)&filter->vmf_multicast - + (uintptr_t)filter), sizeof(uint32_t) + mcnt * ETHER_ADDR_LEN); - error |= sglist_append(&sg, &ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg - 1, 1); - if (ack != VIRTIO_NET_OK) + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); + + bus_dmamap_unload(sc->vtnet_hdr_dmat, filter_dmap); +out_destroy_filter: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, filter_dmap); +out_unload_hdr: + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +out_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +out_error: + if (error != 0) if_printf(ifp, "error setting host MAC filter table\n"); - out: if (promisc && vtnet_set_promisc(sc, true) != 0) if_printf(ifp, "cannot enable promiscuous mode\n"); @@ -4049,34 +4250,53 @@ static int vtnet_exec_vlan_filter(struct vtnet_softc *sc, int add, uint16_t tag) { struct sglist_seg segs[3]; + bus_dmamap_t hdr_dmap; + bus_addr_t hdr_paddr; struct sglist sg; struct { struct virtio_net_ctrl_hdr hdr __aligned(2); uint8_t pad1; uint16_t tag __aligned(2); uint8_t pad2; - uint8_t ack; } s; + uint8_t ack; int error; - error = 0; + error = bus_dmamap_create(sc->vtnet_hdr_dmat, 0, &hdr_dmap); + if (error) + goto error_out; + + error = bus_dmamap_load(sc->vtnet_hdr_dmat, hdr_dmap, &s, + sizeof(s), vtnet_load_callback, &hdr_paddr, BUS_DMA_NOWAIT); + if (error) + goto error_destroy_hdr; + MPASS(sc->vtnet_flags & VTNET_FLAG_VLAN_FILTER); s.hdr.class = VIRTIO_NET_CTRL_VLAN; s.hdr.cmd = add ? VIRTIO_NET_CTRL_VLAN_ADD : VIRTIO_NET_CTRL_VLAN_DEL; s.tag = vtnet_gtoh16(sc, tag); - s.ack = VIRTIO_NET_ERR; + ack = VIRTIO_NET_ERR; + bus_dmamap_sync(sc->vtnet_hdr_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); sglist_init(&sg, nitems(segs), segs); - error |= sglist_append(&sg, &s.hdr, sizeof(struct virtio_net_ctrl_hdr)); - error |= sglist_append(&sg, &s.tag, sizeof(uint16_t)); - error |= sglist_append(&sg, &s.ack, sizeof(uint8_t)); - MPASS(error == 0 && sg.sg_nseg == nitems(segs)); + error |= sglist_append_phys(&sg, hdr_paddr, + sizeof(struct virtio_net_ctrl_hdr)); + error |= sglist_append_phys(&sg, + hdr_paddr + ((uintptr_t)&s.tag - (uintptr_t)&s), + sizeof(uint16_t)); + MPASS(error == 0 && sg.sg_nseg == nitems(segs) - 1); if (error == 0) - vtnet_exec_ctrl_cmd(sc, &s.ack, &sg, sg.sg_nseg - 1, 1); + error = vtnet_exec_ctrl_cmd(sc, &ack, &sg, sg.sg_nseg, 1); + if (error == 0) + error = (ack == VIRTIO_NET_OK ? 0 : EIO); - return (s.ack == VIRTIO_NET_OK ? 0 : EIO); + bus_dmamap_unload(sc->vtnet_hdr_dmat, hdr_dmap); +error_destroy_hdr: + bus_dmamap_destroy(sc->vtnet_hdr_dmat, hdr_dmap); +error_out: + return (error); } static void diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 6cafe827d733..e445bdf6d6cb 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -196,6 +196,12 @@ struct vtnet_softc { bus_dma_tag_t vtnet_tx_dmat; struct mtx vtnet_tx_mtx; + + bus_dma_tag_t vtnet_hdr_dmat; + struct mtx vtnet_hdr_mtx; + + bus_dma_tag_t vtnet_ack_dmat; + struct mtx vtnet_ack_mtx; }; /* vtnet flag descriptions for use with printf(9) %b identifier. */ #define VTNET_FLAGS_BITS \ From nobody Mon Apr 27 11:38:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mj2HKbz6ZwX4 for ; Mon, 27 Apr 2026 11:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g41mj0cw5z3fJK for ; Mon, 27 Apr 2026 11:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kmimaBPNIrR89FjH/+NkFp9AAZtcLhlwdkU2orbz+BE=; b=Qp6kr6Mm1xokNZy68qXGpvvlDkMZ9kztZdeg0puR6ehuRDWXmblnNm7uV9qnfCVfoTPia5 wFlg2MVl2D2M2BenN10qwLUvrvhQGICbfD1z5x7tYaxHylgYKZ5AA3Y5/IoHUQOYMmte+p BCbhcvAGjYVgIlfwHK+e+2CNPDM6lrCNn2pBYuG/IIHGN2qo8ZtrKjK4O4vfrtEoYt43Eq IMUsJlVam+XqBr8yYrVcg2r4IZyGgoOfD/w6a0R+LwdLsjcDk3Z1kVGjJlDfrMwBlYim4F didXUfIbwawP4py/UzZMFA5ZALF/Jntu9zhFw2iSSmB0s4RCB0B+36p3cEn8lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289941; a=rsa-sha256; cv=none; b=vhLMC5/4fveyw/UlmCeROyPjeDHYEFcOwns9ZI9ksPyjQb2m7WEqmUFT7TMHmLVEjxKZeI HmBKZ7ItPf16o18ztjo5OuyXXb8+acrRgQBaFZJDkA/tHfcJrj8c47pL/1sDjeFkSRCPDI psactjE2rIzlfmE6hB++TTtfsuj72Fzs0uirkIMEW8uJ3MdjUtW6i/DMK+7znTkDFjOEI0 BDqC5JUCInq0McYskyR1vWRsQ2RSehBgmdEIsOAnZ6emb8ExmM1peJi1qe5yWyc/73sQuw Mv59l1xcvVf7G8aUjKKDPJ78giYgwWMwg7nDl+mSZdWMTxnldOB8GxP01hSvQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kmimaBPNIrR89FjH/+NkFp9AAZtcLhlwdkU2orbz+BE=; b=hZUtJ8rXJcSiDSWtTZzRMlCi8s7PWnpSlBwp34Zh8o7iJ6pE2+mZ3ojFb7WoZdFmCRIdET CZnkWoSv4kBcsOWBhTLNrGhgtI3xmKbWK9jeblyRppdwI1p1HdoplFjCBAMOs7QgjYa4Wa k0qODo+ar4oqDs0GlS1hRl0wKZtD3Ey3cTzU9lzzF85uHJHkV5amqnprhR0AoOrKJwsJ4X OaCZX4iNGu5NNfY8+3zgNog+0ps4+fZ+n+MTh7zwVF6/SE/P9LepjNkvkZtWz+nfAOkiPv kX8Q9WlxK+fLkDAonN8A2OSQe/717wR7v1PxYj5VEryHun+5mJHy4JbdRQk1dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41mh6C0rz14kJ for ; Mon, 27 Apr 2026 11:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fcd2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:38:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: c16c95192f01 - main - virtio_net: Use bus_dma for rxq/txq buffers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c16c95192f01237a876eb7bc336e3bbda9310171 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:38:55 +0000 Message-Id: <69ef4acf.1fcd2.4d4d3e54@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c16c95192f01237a876eb7bc336e3bbda9310171 commit c16c95192f01237a876eb7bc336e3bbda9310171 Author: Sarah Walker AuthorDate: 2026-02-16 14:19:13 +0000 Commit: Andrew Turner CommitDate: 2026-04-27 11:37:53 +0000 virtio_net: Use bus_dma for rxq/txq buffers While the majority of virtio platforms will be fully coherent, some may require cache maintenance or other specific device memory handling (eg for secure partitioning). Using bus_dma allows for these usecases. The virtio buffers are marked as coherent; this should ensure that sync calls are no-ops in the common cases. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55492 --- sys/dev/virtio/network/if_vtnet.c | 275 ++++++++++++++++++++++++++++++++--- sys/dev/virtio/network/if_vtnetvar.h | 10 ++ 2 files changed, 268 insertions(+), 17 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index ef01833b9e03..e88602a44664 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -96,6 +96,17 @@ #define VTNET_ETHER_ALIGN ETHER_ALIGN #endif +/* + * Worst case offset to ensure header doesn't share any cache lines with + * payload. + */ +#define VTNET_RX_BUFFER_HEADER_OFFSET 128 + +struct vtnet_rx_buffer_header { + bus_addr_t addr; + bus_dmamap_t dmap; +}; + static int vtnet_modevent(module_t, int, void *); static int vtnet_probe(device_t); @@ -384,6 +395,17 @@ MODULE_DEPEND(vtnet, netmap, 1, 1, 1); VIRTIO_SIMPLE_PNPINFO(vtnet, VIRTIO_ID_NETWORK, "VirtIO Networking Adapter"); +static struct vtnet_rx_buffer_header * +vtnet_mbuf_to_rx_buffer_header(struct vtnet_softc *sc, struct mbuf *m) +{ + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) + return (struct vtnet_rx_buffer_header *)((uintptr_t)m->m_data - + VTNET_RX_BUFFER_HEADER_OFFSET - VTNET_ETHER_ALIGN); + else + return (struct vtnet_rx_buffer_header *)((uintptr_t)m->m_data - + VTNET_RX_BUFFER_HEADER_OFFSET); +} + static int vtnet_modevent(module_t mod __unused, int type, void *unused __unused) { @@ -457,6 +479,60 @@ vtnet_attach(device_t dev) goto fail; } + mtx_init(&sc->vtnet_rx_mtx, device_get_nameunit(dev), + "VirtIO Net RX lock", MTX_DEF); + + error = bus_dma_tag_create( + bus_get_dma_tag(dev), /* parent */ + sizeof(uint16_t), /* alignment */ + 0, /* boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + MJUM9BYTES, /* max request size */ + 1, /* max # segments */ + MJUM9BYTES, /* maxsegsize - worst case */ + BUS_DMA_COHERENT, /* flags */ + busdma_lock_mutex, /* lockfunc */ + &sc->vtnet_rx_mtx, /* lockarg */ + &sc->vtnet_rx_dmat); + if (error) { + device_printf(dev, "cannot create bus_dma_tag\n"); + goto fail; + } + + mtx_init(&sc->vtnet_tx_mtx, device_get_nameunit(dev), + "VirtIO Net TX lock", MTX_DEF); + + error = bus_dma_tag_create( + bus_get_dma_tag(dev), /* parent */ + sizeof(uint16_t), /* alignment */ + 0, /* boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + sc->vtnet_tx_nsegs * MJUM9BYTES, /* max request size */ + sc->vtnet_tx_nsegs, /* max # segments */ + MJUM9BYTES, /* maxsegsize */ + BUS_DMA_COHERENT, /* flags */ + busdma_lock_mutex, /* lockfunc */ + &sc->vtnet_tx_mtx, /* lockarg */ + &sc->vtnet_tx_dmat); + if (error) { + device_printf(dev, "cannot create bus_dma_tag\n"); + goto fail; + } + +#ifdef __powerpc__ + /* + * Virtio uses physical addresses rather than bus addresses, so we + * need to ask busdma to skip the iommu physical->bus mapping. At + * present, this is only a thing on the powerpc architectures. + */ + bus_dma_tag_set_iommu(sc->vtnet_rx_dmat, NULL, NULL); + bus_dma_tag_set_iommu(sc->vtnet_tx_dmat, NULL, NULL); +#endif + error = vtnet_alloc_rx_filters(sc); if (error) { device_printf(dev, "cannot allocate Rx filters\n"); @@ -1545,6 +1621,11 @@ static struct mbuf * vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) { struct mbuf *m_head, *m_tail, *m; + struct vtnet_rx_buffer_header *vthdr; + bus_dma_segment_t segs[1]; + bus_dmamap_t dmap; + int nsegs; + int err; int i, size; m_head = NULL; @@ -1562,13 +1643,43 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; + vthdr = (struct vtnet_rx_buffer_header *)m->m_data; + + /* Reserve space for header */ + m_adj(m, VTNET_RX_BUFFER_HEADER_OFFSET); + /* * Need to offset the mbuf if the header we're going to add * will misalign. */ - if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) m_adj(m, VTNET_ETHER_ALIGN); + + err = bus_dmamap_create(sc->vtnet_rx_dmat, 0, &dmap); + if (err) { + printf("Failed to create dmamap, err :%d\n", + err); + m_freem(m); + return (NULL); } + + nsegs = 0; + err = bus_dmamap_load_mbuf_sg(sc->vtnet_rx_dmat, dmap, m, segs, + &nsegs, BUS_DMA_NOWAIT); + if (err != 0) { + printf("Failed to map mbuf into DMA visible memory, err: %d\n", + err); + m_freem(m); + bus_dmamap_destroy(sc->vtnet_rx_dmat, dmap); + return (NULL); + } + KASSERT(nsegs == 1, + ("%s: unexpected number of DMA segments for rx buffer: %d", + __func__, nsegs)); + + vthdr->addr = segs[0].ds_addr; + vthdr->dmap = dmap; + if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1594,7 +1705,7 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, int len, clustersz, nreplace, error; sc = rxq->vtnrx_sc; - clustersz = sc->vtnet_rx_clustersz; + clustersz = sc->vtnet_rx_clustersz - VTNET_RX_BUFFER_HEADER_OFFSET; /* * Need to offset the mbuf if the header we're going to add will * misalign, account for that here. @@ -1709,9 +1820,12 @@ vtnet_rxq_replace_buf(struct vtnet_rxq *rxq, struct mbuf *m, int len) static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *rxq, struct mbuf *m) { + struct vtnet_rx_buffer_header *hdr; struct vtnet_softc *sc; struct sglist *sg; int header_inlined, error; + bus_addr_t paddr; + struct mbuf *mp; sc = rxq->vtnrx_sc; sg = rxq->vtnrx_sg; @@ -1724,28 +1838,38 @@ vtnet_rxq_enqueue_buf(struct vtnet_rxq *rxq, struct mbuf *m) header_inlined = vtnet_modern(sc) || (sc->vtnet_flags & VTNET_FLAG_MRG_RXBUFS) != 0; /* TODO: ANY_LAYOUT */ + hdr = vtnet_mbuf_to_rx_buffer_header(sc, m); + paddr = hdr->addr; + /* * Note: The mbuf has been already adjusted when we allocate it if we * have to do strict alignment. */ - if (header_inlined) - error = sglist_append_mbuf(sg, m); - else { - struct vtnet_rx_header *rxhdr = - mtod(m, struct vtnet_rx_header *); + if (header_inlined) { + error = sglist_append_phys(sg, paddr, m->m_len); + } else { MPASS(sc->vtnet_hdr_size == sizeof(struct virtio_net_hdr)); /* Append the header and remaining mbuf data. */ - error = sglist_append(sg, &rxhdr->vrh_hdr, sc->vtnet_hdr_size); + error = sglist_append_phys(sg, paddr, sc->vtnet_hdr_size); if (error) return (error); - error = sglist_append(sg, &rxhdr[1], + error = sglist_append_phys(sg, + paddr + sizeof(struct vtnet_rx_header), m->m_len - sizeof(struct vtnet_rx_header)); if (error) return (error); - if (m->m_next != NULL) - error = sglist_append_mbuf(sg, m->m_next); + mp = m->m_next; + while (mp) { + hdr = vtnet_mbuf_to_rx_buffer_header(sc, mp); + paddr = hdr->addr; + error = sglist_append_phys(sg, paddr, mp->m_len); + if (error) + return (error); + + mp = mp->m_next; + } } if (error) @@ -1931,6 +2055,7 @@ vtnet_rxq_merged_eof(struct vtnet_rxq *rxq, struct mbuf *m_head, int nbufs) m_tail = m_head; while (--nbufs > 0) { + struct vtnet_rx_buffer_header *vthdr; struct mbuf *m; uint32_t len; @@ -1940,6 +2065,10 @@ vtnet_rxq_merged_eof(struct vtnet_rxq *rxq, struct mbuf *m_head, int nbufs) goto fail; } + vthdr = vtnet_mbuf_to_rx_buffer_header(sc, m); + bus_dmamap_sync(sc->vtnet_rx_dmat, vthdr->dmap, + BUS_DMASYNC_POSTREAD); + if (vtnet_rxq_new_buf(rxq) != 0) { rxq->vtnrx_stats.vrxs_iqdrops++; vtnet_rxq_discard_buf(rxq, m); @@ -2060,6 +2189,7 @@ static int vtnet_rxq_eof(struct vtnet_rxq *rxq) { struct virtio_net_hdr lhdr, *hdr; + struct vtnet_rx_buffer_header *vthdr; struct vtnet_softc *sc; if_t ifp; struct virtqueue *vq; @@ -2075,14 +2205,31 @@ vtnet_rxq_eof(struct vtnet_rxq *rxq) CURVNET_SET(if_getvnet(ifp)); while (count-- > 0) { - struct mbuf *m; + struct mbuf *m, *mp; uint32_t len, nbufs, adjsz; + uint32_t synced; m = virtqueue_dequeue(vq, &len); if (m == NULL) break; deq++; + mp = m; + + /* + * Sync all mbufs in this packet. There will only be a single + * mbuf unless LRO is in use. + */ + synced = 0; + while (mp && synced < len) { + vthdr = vtnet_mbuf_to_rx_buffer_header(sc, mp); + bus_dmamap_sync(sc->vtnet_rx_dmat, vthdr->dmap, + BUS_DMASYNC_POSTREAD); + + synced += mp->m_len; + mp = mp->m_next; + } + if (len < sc->vtnet_hdr_size + ETHER_HDR_LEN) { rxq->vtnrx_stats.vrxs_ierrors++; vtnet_rxq_discard_buf(rxq, m); @@ -2342,6 +2489,14 @@ vtnet_txq_free_mbufs(struct vtnet_txq *txq) while ((txhdr = virtqueue_drain(vq, &last)) != NULL) { if (kring == NULL) { + bus_dmamap_unload(txq->vtntx_sc->vtnet_tx_dmat, + txhdr->dmap); + bus_dmamap_destroy(txq->vtntx_sc->vtnet_tx_dmat, + txhdr->dmap); + bus_dmamap_unload(txq->vtntx_sc->vtnet_tx_dmat, + txhdr->hdr_dmap); + bus_dmamap_destroy(txq->vtntx_sc->vtnet_tx_dmat, + txhdr->hdr_dmap); m_freem(txhdr->vth_mbuf); uma_zfree(vtnet_tx_header_zone, txhdr); } @@ -2511,15 +2666,36 @@ drop: return (NULL); } +static void +vtnet_txq_enqueue_callback(void *arg, bus_dma_segment_t *segs, + int nsegs, int error) +{ + vm_paddr_t *hdr_paddr; + + if (error != 0) + return; + + KASSERT(nsegs == 1, ("%s: %d segments returned!", __func__, nsegs)); + + hdr_paddr = (vm_paddr_t *)arg; + *hdr_paddr = segs[0].ds_addr; +} + static int vtnet_txq_enqueue_buf(struct vtnet_txq *txq, struct mbuf **m_head, struct vtnet_tx_header *txhdr) { + bus_dma_segment_t segs[VTNET_TX_SEGS_MAX]; + int nsegs; struct vtnet_softc *sc; struct virtqueue *vq; struct sglist *sg; struct mbuf *m; int error; + vm_paddr_t hdr_paddr; + bus_dmamap_t hdr_dmap; + bus_dmamap_t dmap; + int i; sc = txq->vtntx_sc; vq = txq->vtntx_vq; @@ -2527,15 +2703,55 @@ vtnet_txq_enqueue_buf(struct vtnet_txq *txq, struct mbuf **m_head, m = *m_head; sglist_reset(sg); - error = sglist_append(sg, &txhdr->vth_uhdr, sc->vtnet_hdr_size); + + error = bus_dmamap_create(sc->vtnet_tx_dmat, 0, &hdr_dmap); + if (error) + goto fail; + + error = bus_dmamap_load(sc->vtnet_tx_dmat, hdr_dmap, &txhdr->vth_uhdr, + sc->vtnet_hdr_size, vtnet_txq_enqueue_callback, &hdr_paddr, + BUS_DMA_NOWAIT); + if (error) + goto fail_hdr_dmamap_destroy; + + error = sglist_append_phys(sg, hdr_paddr, sc->vtnet_hdr_size); if (error != 0 || sg->sg_nseg != 1) { KASSERT(0, ("%s: cannot add header to sglist error %d nseg %d", __func__, error, sg->sg_nseg)); - goto fail; + goto fail_hdr_dmamap_unload; } - error = sglist_append_mbuf(sg, m); + bus_dmamap_sync(sc->vtnet_tx_dmat, hdr_dmap, BUS_DMASYNC_PREWRITE); + + error = bus_dmamap_create(sc->vtnet_tx_dmat, 0, &dmap); + if (error) + goto fail_hdr_dmamap_unload; + + nsegs = 0; + error = bus_dmamap_load_mbuf_sg(sc->vtnet_tx_dmat, dmap, m, segs, + &nsegs, BUS_DMA_NOWAIT); + if (error != 0) + goto fail_dmamap_destroy; + KASSERT(nsegs <= sc->vtnet_tx_nsegs, + ("%s: unexpected number of DMA segments for tx buffer: %d (max %d)", + __func__, nsegs, sc->vtnet_tx_nsegs)); + + bus_dmamap_sync(sc->vtnet_tx_dmat, dmap, BUS_DMASYNC_PREWRITE); + + for (i = 0; i < nsegs && !error; i++) + error = sglist_append_phys(sg, segs[i].ds_addr, segs[i].ds_len); + if (error) { + sglist_reset(sg); + bus_dmamap_unload(sc->vtnet_tx_dmat, dmap); + + error = sglist_append_phys(sg, hdr_paddr, sc->vtnet_hdr_size); + if (error != 0 || sg->sg_nseg != 1) { + KASSERT(0, ("%s: cannot add header to sglist error %d nseg %d", + __func__, error, sg->sg_nseg)); + goto fail_dmamap_destroy; + } + m = m_defrag(m, M_NOWAIT); if (m == NULL) { sc->vtnet_stats.tx_defrag_failed++; @@ -2545,16 +2761,41 @@ vtnet_txq_enqueue_buf(struct vtnet_txq *txq, struct mbuf **m_head, *m_head = m; sc->vtnet_stats.tx_defragged++; - error = sglist_append_mbuf(sg, m); + nsegs = 0; + error = bus_dmamap_load_mbuf_sg(sc->vtnet_tx_dmat, dmap, m, + segs, &nsegs, BUS_DMA_NOWAIT); + if (error != 0) + goto fail_dmamap_destroy; + KASSERT(nsegs <= sc->vtnet_tx_nsegs, + ("%s: unexpected number of DMA segments for tx buffer: %d (max %d)", + __func__, nsegs, sc->vtnet_tx_nsegs)); + + bus_dmamap_sync(sc->vtnet_tx_dmat, dmap, BUS_DMASYNC_PREWRITE); + + for (i = 0; i < nsegs && !error; i++) + error = sglist_append_phys(sg, segs[i].ds_addr, + segs[i].ds_len); + if (error) - goto fail; + goto fail_dmamap_unload; } txhdr->vth_mbuf = m; + txhdr->dmap = dmap; + txhdr->hdr_dmap = hdr_dmap; + error = virtqueue_enqueue(vq, txhdr, sg, sg->sg_nseg, 0); return (error); +fail_dmamap_unload: + bus_dmamap_unload(sc->vtnet_tx_dmat, dmap); +fail_dmamap_destroy: + bus_dmamap_destroy(sc->vtnet_tx_dmat, dmap); +fail_hdr_dmamap_unload: + bus_dmamap_unload(sc->vtnet_tx_dmat, hdr_dmap); +fail_hdr_dmamap_destroy: + bus_dmamap_destroy(sc->vtnet_tx_dmat, hdr_dmap); fail: m_freem(*m_head); *m_head = NULL; diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index eb5e6784b07f..6cafe827d733 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -190,6 +190,12 @@ struct vtnet_softc { struct mtx vtnet_mtx; char vtnet_mtx_name[16]; uint8_t vtnet_hwaddr[ETHER_ADDR_LEN]; + + bus_dma_tag_t vtnet_rx_dmat; + struct mtx vtnet_rx_mtx; + + bus_dma_tag_t vtnet_tx_dmat; + struct mtx vtnet_tx_mtx; }; /* vtnet flag descriptions for use with printf(9) %b identifier. */ #define VTNET_FLAGS_BITS \ @@ -273,6 +279,10 @@ struct vtnet_tx_header { } vth_uhdr; struct mbuf *vth_mbuf; + + bus_dmamap_t dmap; + + bus_dmamap_t hdr_dmap; }; /* From nobody Mon Apr 27 11:55:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g427S435hz6Zxf8 for ; Mon, 27 Apr 2026 11:55: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 4g427R70qVz3hjr for ; Mon, 27 Apr 2026 11:55:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777290916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kP9ey5Hh1+PsmYL01IE1Sic3ukl0vnYgfUZ+y4g8QLQ=; b=iNLxKkQhroThuqVzviknaqw6CaXa0U4+2JP2BMSSrkCt+R38AY3sZ1Kya8Xa/yZ7+fASMA rLVD2EBe5kZqzj386w1xUisNsfhfzyOwSnw40oMHRDQ6zn2EyzsRImQ7+sU/Et7mY9ZoPm R/6ZZQaWkrB5HM4ExAQuRnYBHEhXKrj8mCvxM86EtnZGAiuwfo/0uO2TmT9tF4eRpRDIVs SMSgp7JxTqFjBX/iqwyN8DTHvfb8vPASbCuXzHmA7kJyUOe0zATc7HXXlmxM1a1CtnTarF JovOm2ToT527lkGGIwarlJNo8tiZFlYNLh9Sj7oAPrBcJpcbC0UL3S9/u/wq9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777290916; a=rsa-sha256; cv=none; b=CTS8KgrrbdbkIfsYbE4iJpnZvcG7r9NGYKllwhnP4bZfTXjtnf11GnUbGlbmyGRZopm9LZ 8Zu2wy1JOTrZV4R2FZaH2tOwIHJmMrjxuZqbGmILKygWNoUP0e7HZj8hD8HUeWTwDzxTPL Y64ZBF2fu4gzDFgqpSuCs7ZTZQxJYbD6tnu4tE1MkkGk2EOxEAv+Ns3oWqePlsYq1Rk50n Y7NpcmD0x23lZvvtxgH7bIX/yRVs2X5XY0ndTob7yYSnh6xYfPS2WAuvuXAbb5IvtVE+zq FQ526ZX7JhFVaugZBo1KRG6wHM+liH8kGxgdj4sgFFmuZIBioDV1bfIhvSoIWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777290916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kP9ey5Hh1+PsmYL01IE1Sic3ukl0vnYgfUZ+y4g8QLQ=; b=RCMr1VGAYjvTPdU7IK+hnK6Vexsl4SIdm/yAAD0yKLGJmhOpr1gCO0U4KoeGAtcSOKpUiX OOZrsx1n1ReQymFdgCHzUYOo97XrZaDYzUwxCBvd5hz+f7vN63F/7t2mbaPrh9EMvIVuFE 12aOQpk6FEwxXp9PQovtPYMF2L2iDoUjqruJrTuA3KqQfG2sRyP1AHEdzlfAkB4gvc++W7 hjamK00JFLkH0ShquuyHxsjoWFx1J7AFuoe441ZvsXXMDVxOgj3ccmCwjNZ1O847UQsA7p 4UfeBbGdW8SXMJhA0dzHkpA6yfQ3fNMKJGzFqVfvyiD+MbSAghNkri6OKRfzHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g427R6FQ0z15JP for ; Mon, 27 Apr 2026 11:55:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21caf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 11:55:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ricardo Branco From: Pouria Mousavizadeh Tehrani Subject: git: fdea83a5f63b - main - linux: Ignore sigaction(2) flags SA_UNSUPPORTED and SA_EXPOSE_TAGBITS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdea83a5f63b881ade91c6cc9dfbf173137512c5 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 11:55:10 +0000 Message-Id: <69ef4e9e.21caf.72e553f3@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=fdea83a5f63b881ade91c6cc9dfbf173137512c5 commit fdea83a5f63b881ade91c6cc9dfbf173137512c5 Author: Ricardo Branco AuthorDate: 2026-04-26 09:44:53 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-27 11:50:39 +0000 linux: Ignore sigaction(2) flags SA_UNSUPPORTED and SA_EXPOSE_TAGBITS SA_UNSUPPORTED was introduced in Linux 5.11 to probe support for other flags such as SA_EXPOSE_TAGBITS, introduced at the same time. Ignore both. Signed-off-by: Ricardo Branco PR: 289285 Reviewed by: pouria, kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2163 --- sys/amd64/linux/linux.h | 2 ++ sys/amd64/linux32/linux.h | 2 ++ sys/arm64/linux/linux.h | 2 ++ sys/compat/linux/linux_signal.c | 8 ++++++++ sys/i386/linux/linux.h | 2 ++ 5 files changed, 16 insertions(+) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index 918b9129f47b..fb7aaa2d731c 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -154,6 +154,8 @@ struct l_newstat { #define LINUX_SA_NOCLDSTOP 0x00000001 #define LINUX_SA_NOCLDWAIT 0x00000002 #define LINUX_SA_SIGINFO 0x00000004 +#define LINUX_SA_UNSUPPORTED 0x00000400 +#define LINUX_SA_EXPOSE_TAGBITS 0x00000800 #define LINUX_SA_RESTORER 0x04000000 #define LINUX_SA_ONSTACK 0x08000000 #define LINUX_SA_RESTART 0x10000000 diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 5542df1b3185..737f785905fa 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -255,6 +255,8 @@ struct l_statfs64 { #define LINUX_SA_NOCLDSTOP 0x00000001 #define LINUX_SA_NOCLDWAIT 0x00000002 #define LINUX_SA_SIGINFO 0x00000004 +#define LINUX_SA_UNSUPPORTED 0x00000400 +#define LINUX_SA_EXPOSE_TAGBITS 0x00000800 #define LINUX_SA_RESTORER 0x04000000 #define LINUX_SA_ONSTACK 0x08000000 #define LINUX_SA_RESTART 0x10000000 diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index 00a70fabc54f..b44512e51ed1 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -150,6 +150,8 @@ struct l_newstat { #define LINUX_SA_NOCLDSTOP 0x00000001 #define LINUX_SA_NOCLDWAIT 0x00000002 #define LINUX_SA_SIGINFO 0x00000004 +#define LINUX_SA_UNSUPPORTED 0x00000400 +#define LINUX_SA_EXPOSE_TAGBITS 0x00000800 #define LINUX_SA_RESTORER 0x04000000 #define LINUX_SA_ONSTACK 0x08000000 #define LINUX_SA_RESTART 0x10000000 diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 9a84700b3949..2318cfcccc1e 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -129,6 +129,14 @@ linux_to_bsd_sigaction(l_sigaction_t *lsa, struct sigaction *bsa) bsa->sa_flags |= SA_NODEFER; } + /* + * SA_UNSUPPORTED was introduced in Linux 5.11 to probe support for + * other flags such as SA_EXPOSE_TAGBITS, introduced at the same time. + * Ignore both. + */ + if (lsa->lsa_flags & (LINUX_SA_UNSUPPORTED | LINUX_SA_EXPOSE_TAGBITS)) + flags &= ~(LINUX_SA_UNSUPPORTED | LINUX_SA_EXPOSE_TAGBITS); + if (flags != 0) linux_msg(curthread, "unsupported sigaction flag %#lx", flags); } diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 914dc9c9ae84..f547ddfae8fd 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -227,6 +227,8 @@ struct l_statfs64 { #define LINUX_SA_NOCLDSTOP 0x00000001 #define LINUX_SA_NOCLDWAIT 0x00000002 #define LINUX_SA_SIGINFO 0x00000004 +#define LINUX_SA_UNSUPPORTED 0x00000400 +#define LINUX_SA_EXPOSE_TAGBITS 0x00000800 #define LINUX_SA_RESTORER 0x04000000 #define LINUX_SA_ONSTACK 0x08000000 #define LINUX_SA_RESTART 0x10000000 From nobody Mon Apr 27 12:54:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g43Rf1rZlz6b1lD for ; Mon, 27 Apr 2026 12:54: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 4g43Rf0yzwz3rLL for ; Mon, 27 Apr 2026 12:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777294462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwPLyFA6bvlVYZolb3HLhjB8PIjlKkr9gT1zhxWf0pc=; b=fx8FBp8W/G7sbimQxXYYIAC5FSQBf1kCPdTuMQQ2TSX73KGpGapf5k1Y1+bpbtdRLQdF6Q EdfFwgxvlFON/26KMWUjUsBqMjOwI+8pBeIB6qMOpNe+8ymbCFL48tLk+zf1+6MCZdEM93 gVMmLjbC0KRdhJghnGdA8Xm3hWPoCNuZMZZ7dNnm7O5ocRSB2xdqPS2FqPyHhe6KbnSG2n oftteRTSYdPRUNxoAvX1lsdunNYFKwtEyVPnmkSdRp4A7uHi748FDsAmL1K3sBvEszeD6U r31dzTpGb+xjlOX+5V5Ol0UZxnfhAR4JIPxwq4B3Tm+p8sUUSYym0+MN+9s61g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777294462; a=rsa-sha256; cv=none; b=lauK27/VtXANG7AS+7cxvtjhZH+WrqmqKvBWnP5R/jIRF2p+UUJ8AK3GlHJtx3HR7m8/yG rA7ix+6ZNwChkUjWuOALSv6PyO4GwZdEkI0rGs5RMwOftMDSTaPVqhX5dIsp9PdDVAyYXF heZmaW9glTk/IlAGL9LZCowZA1PZFsrYq08mG3E7YeZJgaavbH5Gg32OIdbaKLR6eG7d1u nUmh3ot7iSYSLSbB0jr7VoYmRZvp47PMGItDAAOrz6kr5lHARrMliC5Nv4YzjMCa0jrcnb rJCY8PywImvPF/gwvGmplY6oQxHZZRL6wjQ8GdLPP9rFjQJC+ODnV/fflB/JXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777294462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwPLyFA6bvlVYZolb3HLhjB8PIjlKkr9gT1zhxWf0pc=; b=Yk4LgRIwbeVdWGs76IAU+aa3zjbTgftAEoqMntghpYWcFYIiekoG4ai07Kami1+Km3vC9z hP4GQWairz9TgGoFXzPl/+e0lstUv91wEkM/CilYgmVXz6bPLthtd/Y+ZAVfFhJ6OP+mRW hx1eTqWHSLqHivt9xC9G0ZP3ub4oVhHeuj4K5Tofk/pj99lzDQ7f0vm4SJhevHorHvvOwp UXX7OmK5e5eQy5nfWM7HTc0hSkINC6ID+SO9qNjW/Au3mT6kvka7Gk/57vRO2Oao/drNG0 2KbrGk+bvfpWdFeHFcBMQfwzcY2ziUsjPhAj7Ww3i2CkvPfdlCFirMW29CNKSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g43Rf0YqSz16S6 for ; Mon, 27 Apr 2026 12:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26b9d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 12:54:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 551d47c5677a - main - arm64: Ditch arm64-specific unsound PCPU optimisation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 551d47c5677a5eaf0a1ed2ea3b2b1406b192764d Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 12:54:22 +0000 Message-Id: <69ef5c7e.26b9d.7a4ba55a@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=551d47c5677a5eaf0a1ed2ea3b2b1406b192764d commit 551d47c5677a5eaf0a1ed2ea3b2b1406b192764d Author: Jessica Clarke AuthorDate: 2026-04-27 12:53:29 +0000 Commit: Jessica Clarke CommitDate: 2026-04-27 12:53:29 +0000 arm64: Ditch arm64-specific unsound PCPU optimisation The current arm64 PCPU implementation uses a global register asm variable to use x18, which we reserve with -ffixed-x18, from C. Inside a critical_enter() or sched_pin(), it is vital that any PCPU reads use the right PCPU pointer, as often the whole point of the critical_enter() or sched_pin() is to ensure consistent PCPU use (e.g. for SMR it relies on zpcpu giving the same SMR state). critical_enter() and sched_pin() both include atomic_interrupt_fence(), i.e. asm volatile("" ::: "memory"), barriers to ensure that memory accesses don't get moved by the compiler outside the critical section, which on most architectures will also order the read of the PCPU pointer itself (whether due to the read being another asm volatile statement, or due to using a segment-relative memory access as on x86). However, this approach on arm64 is in no sense a memory access, and therefore the register access is not ordered with respect to the the critical_enter() or sched_pin(), or more specifically the curthread->td_critnest++ / curthread->td_pinned++ within. In practice upstream today this works out ok because the read of x18 is inlined into the actual PCPU_GET/ADD/SET memory accesses (i.e. you will get something like ldr xN, [x18, #imm-or-xM] for PCPU_GET, etc.), and since *that* instruction is ordered properly due to being a memory access, the x18 ends up being read in the right place. However, that is not in any way guaranteed, it just relies on the hope that compiler optimisations will be perfect at inlining the use. Moreover, PCPU_PTR is definitely not a memory access in this world, it's just pointer arithmetic on x18, and so that has nothing ordering it. This can be observed with the following test function compiled into the kernel: void pcpu_test(void) { extern void __weak_symbol use_pcpu_ptr(void *); critical_enter(); use_pcpu_ptr(PCPU_PTR(curthread)); critical_exit(); } Obviously, this is a bit contrived as you could just read curthread directly via its atomic definition that bypasses any worries about PCPU atomicity, but it illustrates the point. With the in-tree LLVM*, this ends up being compiled for me to: paciasp stp x29, x30, [sp, #-0x10]! mov x29, sp ldr x8, [x18] ldr w9, [x8, #0x4fc] mov x0, x18 add w9, w9, #0x1 str w9, [x8, #0x4fc] bl use_pcpu_ptr ... Note that, although the PCPU_PTR was within the critical section in the C source, the read of x18 into x0, the argument register passed to use_pcpu_ptr, has been hoisted to before the str, which is storing the new, incremented, value of td_critnest to curthread, and so there is a window within which we have to hope the thread is not preempted and migrated to a different CPU, otherwise it will pass a pointer to the wrong CPU's pc_curthread PCPU member. Initially it would seem as though the solution to this would be to add an additional barrier to critical_enter() / sched_pin() to ensure the register reads could not be hoisted like this. However, I have not been able to find a sequence that works reliably across both GCC and Clang, independent of optimisation level. Using inline asm with x18 marked as a clobber, using "=r"(pcpup), and using "+r"(pcpup) all run into various issues; some combinations don't actually seem to be a barrier, and for Clang at -O0 some combinations will actually generate writes to x18**, at which point you then have to hope that the kernel is compiled with optimisations, and that the redundant writes are optimised away such that x18 is just passed through. But that just gets us back to hoping optimisation works, which isn't a solution to the problem, it just trades one point of fragility for another. In talking to GCC developers, who seemed rather horrified by the implications of trying to do this (which is effectively "register volatile", a combination that's explicitly forbidden), we could not find a solution to this, and so I have concluded that the only reliable to have a sound PCPU implementation is to ditch this optimisation and follow other non-x86 architectures in using inline asm in one form or another; specifically, this adopts riscv's approach of just calling get_pcpu(), which, curiously, was already implemented in inline asm here on arm64, rather than reading pcpup. Anyone who feels strongly enough about PCPU performance is welcome to try to find a working approach, but such proposals should be heavily scrutinised to be certain that they won't come back to bite us in future. In particular, this caused a lot of problems downstream in CheriBSD's experimental compartmentalised kernel, which is trialling interposing on PCPU accesses in order to restrict access within compartments. As a result, even PCPU_GET/SET/ADD can look like PCPU_PTR, as they pass an opaque PCPU reference to wrapper functions, and so this case gets hit all over the kernel, giving highly-confusing panics with locks that aren't owned by the current thread or SMR use allegedly not within an smr_enter(). The ia64 port encountered the same issue and reached the same conclusion in e31ece45b7a4 ("Fix the PCPU access macros."), though went to the trouble of trying to fold the offset into the inline assembly (assuming it fit, with no fallback if not, since it's using the add pseudo-op that will be expanded to either adds with a 14-bit immediate or, if somehow that doesn't fit, addl with a 22-bit immediate). Curiously though it left pcpup around as a footgun. sparc64 had similar code but was never fixed. It also defined a curpcb in the same manner which was presumably similarly broken, but looks to have been entirely unreferenced from C, only referenced in actual assembly files. Alpha also had the same design, but it was removed whilst critical_enter() was extern rather than static inline so uses of the pointer could not have been hoisted, and whilst sched_pin() didn't have any form of atomic_interrupt_fence() to even try to make PCPU well-ordered. * At time of writing, when that was LLVM 19, not verified at time of commit with LLVM 21. ** For "+r"(pcpup), Clang's initial code generation is to do: mov xTtmp1, x18 mov x18, xTmp1 /* asm (empty) */ mov xTmp2, x18 mov x18, xTmp2 since its interpretation of what that means is "read the value of pcpup, and make sure that value is in x18 for the duration of the assembly due to the asm("x18") on pcpup", and similarly for the output side. Reviewed by: andrew, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56601 --- sys/arm64/include/pcpu.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h index 73399d2c3f8c..286a40e7de3d 100644 --- a/sys/arm64/include/pcpu.h +++ b/sys/arm64/include/pcpu.h @@ -58,8 +58,6 @@ struct debug_monitor_state; struct pcb; struct pcpu; -register struct pcpu *pcpup __asm ("x18"); - static inline struct pcpu * get_pcpu(void) { @@ -80,10 +78,10 @@ get_curthread(void) #define curthread get_curthread() -#define PCPU_GET(member) (pcpup->pc_ ## member) -#define PCPU_ADD(member, value) (pcpup->pc_ ## member += (value)) -#define PCPU_PTR(member) (&pcpup->pc_ ## member) -#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) +#define PCPU_GET(member) (get_pcpu()->pc_ ## member) +#define PCPU_ADD(member, value) (get_pcpu()->pc_ ## member += (value)) +#define PCPU_PTR(member) (&get_pcpu()->pc_ ## member) +#define PCPU_SET(member,value) (get_pcpu()->pc_ ## member = (value)) #define PCPU_GET_MPIDR(pc) ((pc)->pc_mpidr) From nobody Mon Apr 27 13:41:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g44Th0zn9z6b622; Mon, 27 Apr 2026 13:41:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g44Tg3Cw1z3QdP; Mon, 27 Apr 2026 13:41:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777297271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P9PtybZpOkWXPfyNd0S0hgfLWbJ/yI7S30lMVh1DPAA=; b=EjV5+quFMYLa2r4K9+Zp9peIACSuNR/i87gNZHXf3c+PVWQwqk/8K15/NLbIK0BJu+eABL pWS+a110QfrwPy6HszNw9g7JUP8rBKmDFVwNE8HvePeZ7JvjuBnR1t3yZIlRAL2r/90x4C lb0W9Swd7wdTY9MSuKYrdnIwcYhu6w0clNM1ArJtS5enaw5g6fBRaWS7X4oElgMkxCaZ9/ A1fnCh8EpCcaBe9F1KiokQsliFC9YDk1p803PQGzv5f+bIjX0T5tAtHHNMzBPky4hnwnLZ kayWhM8/kR7/jBCVvaBKV4SrqFf7+zVjuIkjURZ650/Cng7iqviwCJTOeK328Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777297271; a=rsa-sha256; cv=none; b=O/34IziezC1XKvEJL76mnO909PkRc7pAIC6T/29KpE7tmFGd0A0O+Et4tpkaLEYCQM8AZu esEGXMFtGxMLaotdoxJSoc1EY2siKEfM9YjhnWfQ1LoAwDU4yR69RpEnGKToGvabFcV4kg zmsUHK212yE7e6H3Px7CvO+uXMr4Ga/U7nWJInDlO+0G3ZExSto0fnSvIsWFYuP9NsDaqO cY5ri9p8Fj81W6hd4vAgQHLpd882+fuWNajgbRvseXEOQhAps3P4B8qTiSgzn4FaBzhRA1 QWBFf98eJAdIAW6ZoEl/H/hcQ0dTPDuaqkTmbdsAcnD0RpAnLEpLNhiL6DFNWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777297271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P9PtybZpOkWXPfyNd0S0hgfLWbJ/yI7S30lMVh1DPAA=; b=HFKjaNpxvYWWH+JFsFlS7Fi6eS1JPnlQCX0A+sI+WmKu7vqydbxEsBcEmbOINfxO15gLNM n/UcYJ1h31QfZULztiEmbCJVdc7Py9Nyc/XSfKSTTrQT/32L3//ZIOcN6fx3nb5poabdRU EhEtYxXwUd9SZTExKNK53rrH3ttxWr+8n0dr9Otj7CFvOeqBRfMoTPtnx/dAmFieZVlX8z QXw/r7vJluUUw9VgBsB61HEuGbj7MGPJiVRv9cZ7IU9lQZ3z4C8tzxGhlt/XgnOvIx115I VuoSMRh2c6qRxn3SVCuyHB0YztMnEKViuX51cmdMWesvG/YBi0hC/yaEQyItKA== Received: from [IPV6:2601:5c0:4202:5670:b0ee:e944:825e:91ed] (unknown [IPv6:2601:5c0:4202:5670:b0ee:e944:825e:91ed]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g44Tg1HfQz13Zf; Mon, 27 Apr 2026 13:41:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Mon, 27 Apr 2026 09:41:10 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: f31e6b198faa - main - speaker(4): move static data to text Content-Language: en-US To: Warner Losh , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Raphael 'kena' Poss References: <69ebe99c.3fe97.15e89e6@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <69ebe99c.3fe97.15e89e6@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/24/26 18:07, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f31e6b198faa98c4f8a7b681b4e01218f8468411 > > commit f31e6b198faa98c4f8a7b681b4e01218f8468411 > Author: Raphael 'kena' Poss > AuthorDate: 2026-01-11 21:07:35 +0000 > Commit: Warner Losh > CommitDate: 2026-04-24 22:04:43 +0000 > > speaker(4): move static data to text > > Make this data const (it doesn't change) which will also move it to > a text section. Well, it moves it to .rodata. :) -- John Baldwin From nobody Mon Apr 27 13:52:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g44kP1Fn8z6b75G; Mon, 27 Apr 2026 13:52:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g44kN5vRzz3Rb5; Mon, 27 Apr 2026 13:52:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777297932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QXfk5/lw/nNm6K4/KzIGgu60OKmk0XmqkG9GuRTpRsI=; b=JDLs+ldAy6hnmo+UJIf3dUxXNmWYtzIuSIH2USqGRTzWB6rAE/oXYwZcFOByBj6zgm6T54 zqgIFXN2xbtOtKgSJCjA6dVDjAP8eZRD7g228uD/1NRxdG5uy1rIORb0FeAv1NmU+mp7RG Z8AKV5ZDwisxpEyk7MG29GkwsZggj0UzKI2U24lXYUzkh8P+wwgkn0NKa++sfMduzFnGt8 Nz36De/AAtq8Ao9dYpsX4oN0tacYYMy6oaEqHRZ2f4Ojz4igI07ZCsrtA2CvPUVmIPuWYz DP5/jDZrgKM81OFajeZbQmtfFxlEOzCB2JQfuidSA/yvATfjX2oOMKmlwcbMcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777297932; a=rsa-sha256; cv=none; b=L9AEznY3bLDScUDf6zykutG5aRB62h9f9CxRks7z+uNVn/GQFKKsYJvKQZ+2+KvnxOFw4w HMcWdqmCnUd2llwyCNP0LZaLkERv1ElaJkZML+W1YbfIh7k/rsP06ArPxLV+NI4FjW/zgR g/oIVxkd2OvvufjcKKHBDCBlCiNH4wa0MAh2pxg2OUupalMu9E/o1LwIjRKIUxA/PlzLBu kHZNuvRA1BMHIAYbR3XicwmHIBID7PwXIZ6B8dFzDF6a3Jhjuv7ifj3txzCDQJpN3FxfSD fxmQi5JTu2hC8/A+w4vyeDqxVxrklQTdk2KhnSrC06vzNIs/+7BE7tUSydkLAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777297932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QXfk5/lw/nNm6K4/KzIGgu60OKmk0XmqkG9GuRTpRsI=; b=KmELwlnQKsaVeXbBnh/Qt0XgXazIGybKZO1Ur+P6IGnID5zlGYFlxEgArcKJgmMAZ/CznX Otew+ZQmtI3gsaWCHywlwNAt1LG54ekPxjDDBEFgrtvB5TPt85rZXGukrT5I+rUTLvizlE ToIGgwjDgCKBL9e2Qxn05EJNQ71ZBEQSvTUo9IX/AgAwTuRFkUfyxOgaWDrZIlJmzoQKqX ZEqIHES8j+rHe8b1xbBqGkensNycXw18kZxz6YuPBdJDCAclUqlie5kkXf7xoI9dcABp8P sNmAtQ5DbQRM7a6gVRezYEzKSmv4Vy96PNQLjO5hRdmHchJ40LtCBz1GNQ000w== Received: from [IPV6:2601:5c0:4202:5670:b0ee:e944:825e:91ed] (unknown [IPv6:2601:5c0:4202:5670:b0ee:e944:825e:91ed]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g44kN4FCTz13T6; Mon, 27 Apr 2026 13:52:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <30459007-56a1-4edf-8b20-2921e8e2e420@FreeBSD.org> Date: Mon, 27 Apr 2026 09:52:12 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: e63eee84cad5 - main - libgcc_s: Add a linker script to link to libgcc Content-Language: en-US To: Andrew Turner , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69ef4ad1.1c7d4.4b8c5d49@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <69ef4ad1.1c7d4.4b8c5d49@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/27/26 07:38, Andrew Turner wrote: > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=e63eee84cad59f63338a539e73bed07917932088 > > commit e63eee84cad59f63338a539e73bed07917932088 > Author: Andrew Turner > AuthorDate: 2026-04-27 10:54:18 +0000 > Commit: Andrew Turner > CommitDate: 2026-04-27 11:37:53 +0000 > > libgcc_s: Add a linker script to link to libgcc > > When using outline atomics on arm64 the compiler will create a call to > a function that performs the atomic operation. This allows us to use > the fastest operation depending on the hardware. > > As these functions are implemented in libgcc create a linker script > so libraries that link against libgcc_s will include libgcc to pull > them in. Some additional notes: GCC only links with -lgcc_s (the shared library) when linking C++ executables and libraries, but links with both -lgcc_s and -lgcc when linking C executables and libraries. clang does the same on most libgcc-using platforms like Linux, except that for FreeBSD, clang treats C++ like C and links in both libraries (this is probably an accidental bug in clang's FreeBSD toolchain driver, but kind of moot). Linux distributions use an ldscript for libgcc_s on all architectures (not just aarch64) to handle this weirdness of GCC. This is all pretty sad as GCC ships with libgcc and should "know" if libgcc_s needs symbols from libgcc, but matching Linux is probably the path of least friction going forward. It would only be worth fixing the toolchain driver in clang if it meant removing the custom libgcc code, but I suspect we will always need it for existing FreeBSD versions, so it's not clear to me that it is worth doing. -- John Baldwin From nobody Mon Apr 27 15:58:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47WY4zDbz6bG8w for ; Mon, 27 Apr 2026 15:58: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 4g47WY234lz3cQF for ; Mon, 27 Apr 2026 15:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akNCgImYn5Hu1Aof6BVTxWupqO1Zrx0PUAQusL92NQY=; b=o44lD1KobX/Qgmcu65Y2nLqJTuiD4BxvOMBuziWcX6htFtd6bDImeuXcX9W6fnNUnxqi3D WD+6POKS+XNJHq13fq7bKqkl6eHQVB4JjzBHo/Ye20z/MUmUjcjKRHD79DXpr6UA6iLIPx jxk/kJ3m1dkwC8oglAvMBm0wsAfYF5NjDE8r5V0tQezp1FiIOi/g8Sn4QsgMkMKXi6Iod7 tdRGZSN7XAWZrf0CwdpXJEAJ1ypwSYpJoKC+uDXMHqi1c2f41/srXRAVeIrFc+3wNiJAND 6zNI/D5asmDMJBfON6+i9rGw0JCIZV0+0mN72knV7Bj+hjtS7kZbYd4w2hTIAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777305481; a=rsa-sha256; cv=none; b=wu7ps3ZuS2IpjLtTzk4dHHqRylf5HHTMiNU0uJEyiMOc4PI3ndA2xIdz7gdPcin7d8FboN gAcQQrsAztJXAjG6doYEbHIqiiIYOUi/cB3KmEnnjOEG3FuDjEBzGXi6UjDWv6Ga7uhpPt AUh6GM2XAyt2YrARb4mnRu5qtPWcJcdvZj+aMAv4ByCgFDEI9bErHcjxZrh9t1qz56bL0r oa0B11jtqejQhlciyDAfW4xNP901LlYAROWxy1LlnSlz/5IsxpENPcQi1DD9H9d9XlXJla QSb75XsmgxtV6aKECzBwKrjGW1TUeCtLhX4Asf0jzqt1sJ95qlyta9jTRgX76Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akNCgImYn5Hu1Aof6BVTxWupqO1Zrx0PUAQusL92NQY=; b=XfGY9GisK5Ww0Rn/FOpESFJ9cZfd9mf8La5455Tt8sehQW+uqheqj1yrXYYamuKilmlzuT mBlcsPFSWciC0sjt62ZNMxL7f5Tt2Q3EhUyv3c7sj4rInH75lM/O0eHXftrmhqf0fvSdAZ VuLmagEinWtVAYM5pOLKp5jo9tOE2r2VJZ18mF860e+b+97HsIh6BDE8g5x/zc8mXcyH92 OLKIbw0sd+6CvaD4ix/mE+TyRV70P3vxaAMG+ShJiXUZ21+v/OvNCWbP9wGzEiwQpr1QTk I3y36rOJMxBcRcfGcvGtAEQ8qK+kFQ0PmmXPp76HNbbwEl0iq1YM6lJMEok9lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47WY09Hmz1CQ8 for ; Mon, 27 Apr 2026 15:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42cf1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 15:58:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: fedc032e110a - main - qcom_tlmm: extend the IPQ4018 pinmux function mask to 4 bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fedc032e110aea98cc976f71ef934c564fc0a8ad Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 15:58:01 +0000 Message-Id: <69ef8789.42cf1.40a787f4@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=fedc032e110aea98cc976f71ef934c564fc0a8ad commit fedc032e110aea98cc976f71ef934c564fc0a8ad Author: Adrian Chadd AuthorDate: 2026-04-07 10:08:20 +0000 Commit: Adrian Chadd CommitDate: 2026-04-27 15:57:50 +0000 qcom_tlmm: extend the IPQ4018 pinmux function mask to 4 bits It's 4 bits, not 3. Oops. Differential Revision: https://reviews.freebsd.org/D56350 --- sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_reg.h b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_reg.h index f1465ae28bb9..9507614fadc7 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_reg.h +++ b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_reg.h @@ -48,7 +48,7 @@ #define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_PULLUP 2 /* There's no BUSHOLD on IPQ4018 */ #define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_BUSHOLD 0 -#define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_MUX_MASK 0x7 +#define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_MUX_MASK 0xf #define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_MUX_SHIFT 2 /* function/mux control */ #define QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_DRIVE_STRENGTH_SHIFT 6 From nobody Mon Apr 27 15:58:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47WZ3WZsz6bGBx for ; Mon, 27 Apr 2026 15:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g47WZ0zLCz3cHd for ; Mon, 27 Apr 2026 15:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Umc3YS3ZrHahidc5kk8XEV2/ILe/qccPBU+drdNrGc=; b=IuGTABY0+ulzejYPLktu0E5wpHNST2U4l1f+eHUpCSUUr+9W/WLSMNS10bPZ1nVEso7kah 5imtEmEm9r4NtzqUPP49ZBjAOGvg1/x383qXOUOGdWsG2D449dop7YBT3Jm9zFLvY3SFcQ gIMjD0pJRCuK9ywPDqoz9VXWFlA9cEox0fNbBG1RCsE/U1rHRSwDeCvNoY8WY8Wky/14/4 1YxDMu28pR4h11Vdu23g4FtXMGQ/4Ma2/xG5glOpGkTFTjU5AhamY+JfiIlxrWZXEjx2qu PmasEfY4k7F+D8lZoTRUpaMSvO0IqF7GXKlQkxfBrKuyUMgyw+3aKT58CK82JA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777305482; a=rsa-sha256; cv=none; b=AhJOXgSPevCTVE/3hDE5uz4iUeuQFKLgfI1u3I3IyO9JhVl41lFctfYrc7wAK9qs+YhM2D 0C7HOCerFNih72JK2I4veq9v8EAjSxeDWjli8Wz9EjNSYtL+3obOmK2BR/bMjMdYuSPtXf dsX9R0TqXKfX9LkbcDN2htNZa4eUejTm2kbHdpCDXrftrY1NcD8oBvGdRHAsABxxp0lTlN A/m0XYgzu+LHOupY0SSlAlpSxDEC4+9sjkzXFj2t1vLSeqRX3FO4joHi8K/swjd8L/iVWU tsJn0jXiHsiCX0/4qHhiZzwtEQjOanAmir2mT+acgH8mP3bWkIRPzX/BCdgkNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Umc3YS3ZrHahidc5kk8XEV2/ILe/qccPBU+drdNrGc=; b=eS2E+Gfgt69mXCC7SheZHb11jZbzIPye+3K0gDfOFEBofz7uR49lUJNFzKkgwlJpUUZ3oA Bxmq5ZcByJrM7ksREMQaA/MyyEIheJpSPphrGtRK3SpZ0MaVSsV/sqnK6bs8x454KRNHfE ZWD4yWrWFYCWxAh1O8/XyvNewI7h0Sq6VoSSxoo8s+/YLZoYFI69SEKVz/8QteByNkjRW4 aPKqD04Qs7mgcHgQ+eadWr4LsT9+y6t9X/nVv7ORTLmE8f303dCVfx1qwiWr3Xz/UDS/0P 2VrQOIg+7hyqPgsDRfZy8Z9/9g+q6pi3Cx51qVSq1BgrKILX8p7fTIxjkj+j0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47WZ0WCfz1Cm5 for ; Mon, 27 Apr 2026 15:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43091 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 15:58:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: f65a4854bf82 - main - qcom_tlmm: add i2c pull up strength config option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f65a4854bf82f60002e268928614e379da852005 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 15:58:02 +0000 Message-Id: <69ef878a.43091.77818756@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=f65a4854bf82f60002e268928614e379da852005 commit f65a4854bf82f60002e268928614e379da852005 Author: Adrian Chadd AuthorDate: 2026-04-07 10:09:44 +0000 Commit: Adrian Chadd CommitDate: 2026-04-27 15:57:54 +0000 qcom_tlmm: add i2c pull up strength config option The X1E and others have a separate configuration bit to increase the pull-up drive strength for i2c busses. Add the plumbing; it doesn't do anything just yet. Differential Revision: https://reviews.freebsd.org/D56351 --- sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c | 1 + sys/dev/qcom_tlmm/qcom_tlmm_pin.c | 5 +++++ sys/dev/qcom_tlmm/qcom_tlmm_var.h | 1 + 3 files changed, 7 insertions(+) diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c index 12aa1b7f8305..14d1055f195a 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c +++ b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c @@ -314,6 +314,7 @@ qcom_tlmm_ipq4018_hw_pin_set_pupd_config( reg |= QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_PULLDOWN << QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_SHIFT; break; + case QCOM_TLMM_PIN_PUPD_CONFIG_STRONG_PULL_UP: case QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP: reg |= QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_PULLUP << QCOM_TLMM_IPQ4018_REG_PIN_CONTROL_PUPD_SHIFT; diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_pin.c b/sys/dev/qcom_tlmm/qcom_tlmm_pin.c index 27d6f904d664..fcdcb20f6c95 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_pin.c +++ b/sys/dev/qcom_tlmm/qcom_tlmm_pin.c @@ -101,6 +101,7 @@ qcom_tlmm_pin_configure(struct qcom_tlmm_softc *sc, pin->gp_flags |= GPIO_PIN_PULLUP; sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP); + /* XXX todo: i2c strong pull-up? */ } else if (flags & GPIO_PIN_PULLDOWN) { pin->gp_flags |= GPIO_PIN_PULLDOWN; sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, @@ -197,6 +198,10 @@ qcom_tlmm_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) case QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP: *flags |= GPIO_PIN_PULLUP; break; + case QCOM_TLMM_PIN_PUPD_CONFIG_STRONG_PULL_UP: + /* XXX flag i2c "strong" pull-up? */ + *flags |= GPIO_PIN_PULLUP; + break; case QCOM_TLMM_PIN_PUPD_CONFIG_BUS_HOLD: *flags |= (GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN); break; diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_var.h b/sys/dev/qcom_tlmm/qcom_tlmm_var.h index 4fd37f83192e..f9b9bcd9a3c8 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_var.h +++ b/sys/dev/qcom_tlmm/qcom_tlmm_var.h @@ -95,6 +95,7 @@ typedef enum { QCOM_TLMM_PIN_PUPD_CONFIG_PULL_DOWN = 1, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP = 2, QCOM_TLMM_PIN_PUPD_CONFIG_BUS_HOLD = 3, + QCOM_TLMM_PIN_PUPD_CONFIG_STRONG_PULL_UP = 4, /* i2c */ } qcom_tlmm_pin_pupd_config_t; From nobody Mon Apr 27 15:57:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47Wd48XNz6bFkq for ; Mon, 27 Apr 2026 15:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g47Wd14fKz3cSV for ; Mon, 27 Apr 2026 15:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCBM7ydvaNlIKFC9jt45wYzimd7mTKIVAimQXgLNONU=; b=c5+Yq/CH5VurDgNN2wZViOVpuGs8K0H8Uh7KcdjXDiLtpToz3lnpMdyQC8hBNOW21omZoL rZavCbqwYfhz5bTfcxtcv+dmA/PwQg58r4/Sr50g5Kb2XKnmEAbigw59uJpjvnm2nuUF7U qI6xBG+feDdyNPK3qVUFEouWDYqmGuGc1/vUVRUxqtzWSS7AsZNGa4qromQR9zWteoGqOT SP/ZqooL5TwkNrSvq/PS3GeXdQ0XCaYyp/5SXWGoBlRt9OQZgwr+DuhPnB1RbuezkpU8WM 9L2j6mqO5t0O1jYZdH+1beCyJSikf8ITXtNPqUIkYrBcAYOL1ModKTJ5ZsWFGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777305485; a=rsa-sha256; cv=none; b=gVxHjO/HF8wBNSUMIIc8uZ4bSEkVB8+k6qrUzu5jIUFw/qiMv/ts4nL4UG06nqhcpd/Ex9 wHBLWGkx1QeuNluc9D3Zmy4pnvISphyijgP2zVhklEz6OeOKVrpYX0MIiVOnAaLRaVTNwB eTnLN3TfMwJu689AoX0zG5Sxf+w6Cs8ivdI7Y6QvJPOXneP27xvNWGNo0o9a2c46QP2XPX vC6Sf+kOmwPVDWFhLLoBnrjVHt/QC26WP9A5FK823yjdQwP1sW1wXBjLmR3XJDSlZYaMIn OPYR8bgPwRfUzKk9sKXT6CoZfd63/tKj/wysW6wDIMYwG7ua75vMxFV7doBtbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCBM7ydvaNlIKFC9jt45wYzimd7mTKIVAimQXgLNONU=; b=ZAOgMX4HKvz83jEQ1TpdZpMsTlILh/f7R9m5WUeA1Zyd0IMIIjfMjH1r4JXzg6yjBCmMon 8/MZIioTo95w10QykZnxJ39TFXlQRboyZBb+iUDXLIrQe1dP6QCvsxVZowfG5zwyadqQ9+ Y1wkU2nrgfaFCLAsNR8waRTAY2n66jcwVcoCl0fYaZx1s6h+1hCWjebBs2yACR4LyTHgAz 66QYR8exkfA+iOeIHcj/ngGGg4IGdxhLywjN+gVJBFZ/SyPwH2sVsRfAY3NBSPfNR69GMh G8VAVS+2OzvoFJeyqHWLIeX9SVz8109fRdiHYWDxO5pGGNvyZzZXXPk/h2ovoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47Wd0SBLz1CT3 for ; Mon, 27 Apr 2026 15:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42a48 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 15:57:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 20baee6bfed2 - main - qcom_tlmm: prepare for supporting multiple TLMM platforms List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20baee6bfed2f39008955dce1f0ce31eb10805f3 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 15:57:59 +0000 Message-Id: <69ef8787.42a48.26bf9566@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=20baee6bfed2f39008955dce1f0ce31eb10805f3 commit 20baee6bfed2f39008955dce1f0ce31eb10805f3 Author: Adrian Chadd AuthorDate: 2025-02-10 00:49:45 +0000 Commit: Adrian Chadd CommitDate: 2026-04-27 15:57:44 +0000 qcom_tlmm: prepare for supporting multiple TLMM platforms * Create a set of callbacks implementing the hardware specific GPIO bus operations * Migrate the IPQ4018 TLMM setup code into qcom_tlmm_ip4018.c Differential Revision: https://reviews.freebsd.org/D56349 --- sys/arm/conf/std.qca | 2 +- sys/arm/qualcomm/std.ipq4018 | 11 +- sys/arm64/conf/std.qcom | 3 + sys/conf/files.arm64 | 6 + sys/dev/qcom_tlmm/qcom_tlmm.c | 237 ++++++++++++++++++++++++++++++++++ sys/dev/qcom_tlmm/qcom_tlmm_ipq4018.c | 166 ++++-------------------- sys/dev/qcom_tlmm/qcom_tlmm_pin.c | 24 ++-- sys/dev/qcom_tlmm/qcom_tlmm_pinmux.c | 28 ++-- sys/dev/qcom_tlmm/qcom_tlmm_var.h | 47 +++++++ 9 files changed, 350 insertions(+), 174 deletions(-) diff --git a/sys/arm/conf/std.qca b/sys/arm/conf/std.qca index ea6912606517..454b99e5b1b1 100644 --- a/sys/arm/conf/std.qca +++ b/sys/arm/conf/std.qca @@ -50,7 +50,7 @@ device qcom_gcc # TLMM (gpio/pinmux) device gpio -device qcom_tlmm_ipq4018 +device qcom_tlmm device fdt_pinctrl # TCSR (core top control and status registers) diff --git a/sys/arm/qualcomm/std.ipq4018 b/sys/arm/qualcomm/std.ipq4018 index 1c70ecc448bd..fef633576e95 100644 --- a/sys/arm/qualcomm/std.ipq4018 +++ b/sys/arm/qualcomm/std.ipq4018 @@ -50,11 +50,12 @@ dev/qcom_clk/qcom_clk_rcg2.c optional qcom_gcc dev/qcom_clk/qcom_clk_branch2.c optional qcom_gcc dev/qcom_clk/qcom_clk_ro_div.c optional qcom_gcc -dev/qcom_tlmm/qcom_tlmm_debug.c optional qcom_tlmm_ipq4018 -dev/qcom_tlmm/qcom_tlmm_ipq4018.c optional qcom_tlmm_ipq4018 -dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c optional qcom_tlmm_ipq4018 -dev/qcom_tlmm/qcom_tlmm_pin.c optional qcom_tlmm_ipq4018 -dev/qcom_tlmm/qcom_tlmm_pinmux.c optional qcom_tlmm_ipq4018 +dev/qcom_tlmm/qcom_tlmm_debug.c optional qcom_tlmm +dev/qcom_tlmm/qcom_tlmm_ipq4018.c optional qcom_tlmm +dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c optional qcom_tlmm +dev/qcom_tlmm/qcom_tlmm_pin.c optional qcom_tlmm +dev/qcom_tlmm/qcom_tlmm_pinmux.c optional qcom_tlmm +dev/qcom_tlmm/qcom_tlmm.c optional qcom_tlmm dev/qcom_tcsr/qcom_tcsr.c optional qcom_tcsr diff --git a/sys/arm64/conf/std.qcom b/sys/arm64/conf/std.qcom index 4051df46bf49..3b11523a3474 100644 --- a/sys/arm64/conf/std.qcom +++ b/sys/arm64/conf/std.qcom @@ -9,6 +9,9 @@ device qcom_mdio # MDIO support # Serial (COM) ports device uart_msm # Qualcomm MSM UART driver +# TLMM driver +device qcom_tlmm + # MMC/SD/SDIO Card slot support device sdhci diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 5d1b6e164a51..44f292d9048f 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -783,6 +783,12 @@ dev/qcom_clk/qcom_clk_rcg2.c optional qcom_gcc fdt dev/qcom_clk/qcom_clk_branch2.c optional qcom_gcc fdt dev/qcom_clk/qcom_clk_ro_div.c optional qcom_gcc fdt dev/qcom_mdio/qcom_mdio_ipq4018.c optional qcom_mdio fdt mdio mii +dev/qcom_tlmm/qcom_tlmm_debug.c optional qcom_tlmm gpio +dev/qcom_tlmm/qcom_tlmm_pin.c optional qcom_tlmm gpio +dev/qcom_tlmm/qcom_tlmm_pinmux.c optional qcom_tlmm gpio +dev/qcom_tlmm/qcom_tlmm.c optional qcom_tlmm gpio +dev/qcom_tlmm/qcom_tlmm_ipq4018.c optional qcom_tlmm gpio +dev/qcom_tlmm/qcom_tlmm_ipq4018_hw.c optional qcom_tlmm gpio # RockChip Drivers arm64/rockchip/rk3328_codec.c optional fdt rk3328codec soc_rockchip_rk3328 diff --git a/sys/dev/qcom_tlmm/qcom_tlmm.c b/sys/dev/qcom_tlmm/qcom_tlmm.c new file mode 100644 index 000000000000..3581e651fd59 --- /dev/null +++ b/sys/dev/qcom_tlmm/qcom_tlmm.c @@ -0,0 +1,237 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Adrian Chadd + * + * 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 unmodified, 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. + */ + +/* + * This is a pinmux/gpio controller for the Qualcomm IPQ/MSM/Snapdragon SoCs. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include + +#include "qcom_tlmm_var.h" +#include "qcom_tlmm_pin.h" +#include "qcom_tlmm_debug.h" + +#include "gpio_if.h" + +#define DEFAULT_CAPS (GPIO_PIN_INPUT | GPIO_PIN_OUTPUT | \ + GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN) + +/* TODO: put in a header file */ +extern void qcom_tlmm_ipq4018_attach(struct qcom_tlmm_softc *sc); + +struct qcom_tlmm_chipset_list { + qcom_tlmm_chipset_t id; + const char *ofw_str; + const char *desc_str; + void (*attach_func)(struct qcom_tlmm_softc *); +}; + +static struct qcom_tlmm_chipset_list qcom_tlmm_chipsets[] = { + { QCOM_TLMM_CHIPSET_IPQ4018, "qcom,ipq4019-pinctrl", + "Qualcomm Atheros TLMM IPQ4018/IPQ4019 GPIO/Pinmux driver", + qcom_tlmm_ipq4018_attach }, + { 0, NULL, NULL, NULL }, +}; + +static int +qcom_tlmm_probe(device_t dev) +{ + struct qcom_tlmm_softc *sc = device_get_softc(dev); + struct qcom_tlmm_chipset_list *ql; + int i; + + if (! ofw_bus_status_okay(dev)) + return (ENXIO); + + for (i = 0; qcom_tlmm_chipsets[i].id != 0; i++) { + ql = &qcom_tlmm_chipsets[i]; + device_printf(dev, "%s: checking %s\n", __func__, ql->ofw_str); + if (ofw_bus_is_compatible(dev, ql->ofw_str) == 1) { + sc->sc_chipset = ql->id; + sc->sc_attach_func = ql->attach_func; + device_set_desc(dev, ql->desc_str); + return (0); + } + } + + return (ENXIO); +} + +static int +qcom_tlmm_detach(device_t dev) +{ + struct qcom_tlmm_softc *sc = device_get_softc(dev); + + KASSERT(mtx_initialized(&sc->gpio_mtx), ("gpio mutex not initialized")); + + gpiobus_detach_bus(dev); + if (sc->gpio_ih) + bus_teardown_intr(dev, sc->gpio_irq_res, sc->gpio_ih); + if (sc->gpio_irq_res) + bus_release_resource(dev, SYS_RES_IRQ, sc->gpio_irq_rid, + sc->gpio_irq_res); + if (sc->gpio_mem_res) + bus_release_resource(dev, SYS_RES_MEMORY, sc->gpio_mem_rid, + sc->gpio_mem_res); + if (sc->gpio_pins) + free(sc->gpio_pins, M_DEVBUF); + mtx_destroy(&sc->gpio_mtx); + + return(0); +} + +static int +qcom_tlmm_attach(device_t dev) +{ + struct qcom_tlmm_softc *sc = device_get_softc(dev); + int i; + + KASSERT((device_get_unit(dev) == 0), + ("qcom_tlmm: Only one gpio module supported")); + + mtx_init(&sc->gpio_mtx, device_get_nameunit(dev), NULL, MTX_DEF); + + /* Map control/status registers. */ + sc->gpio_mem_rid = 0; + sc->gpio_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + &sc->gpio_mem_rid, RF_ACTIVE); + + if (sc->gpio_mem_res == NULL) { + device_printf(dev, "couldn't map memory\n"); + qcom_tlmm_detach(dev); + return (ENXIO); + } + + if ((sc->gpio_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &sc->gpio_irq_rid, RF_SHAREABLE | RF_ACTIVE)) == NULL) { + device_printf(dev, "unable to allocate IRQ resource\n"); + qcom_tlmm_detach(dev); + return (ENXIO); + } + + if ((bus_setup_intr(dev, sc->gpio_irq_res, INTR_TYPE_MISC, + qcom_tlmm_filter, qcom_tlmm_intr, sc, &sc->gpio_ih))) { + device_printf(dev, + "WARNING: unable to register interrupt handler\n"); + qcom_tlmm_detach(dev); + return (ENXIO); + } + + sc->dev = dev; + sc->sc_debug = 0; + + /* Call platform specific attach function */ + sc->sc_attach_func(sc); + + qcom_tlmm_debug_sysctl_attach(sc); + + /* Allocate local pin state for all of our pins */ + sc->gpio_pins = malloc(sizeof(*sc->gpio_pins) * sc->gpio_npins, + M_DEVBUF, M_WAITOK | M_ZERO); + + /* Note: direct map between gpio pin and gpio_pin[] entry */ + for (i = 0; i < sc->gpio_npins; i++) { + snprintf(sc->gpio_pins[i].gp_name, GPIOMAXNAME, + "gpio%d", i); + sc->gpio_pins[i].gp_pin = i; + sc->gpio_pins[i].gp_caps = DEFAULT_CAPS; + (void) qcom_tlmm_pin_getflags(dev, i, + &sc->gpio_pins[i].gp_flags); + } + + fdt_pinctrl_register(dev, NULL); + fdt_pinctrl_configure_by_name(dev, "default"); + + sc->busdev = gpiobus_add_bus(dev); + if (sc->busdev == NULL) { + device_printf(dev, "%s: failed to attach bus\n", __func__); + qcom_tlmm_detach(dev); + return (ENXIO); + } + bus_attach_children(dev); + + return (0); +} + +static device_method_t qcom_tlmm_methods[] = { + /* Driver */ + DEVMETHOD(device_probe, qcom_tlmm_probe), + DEVMETHOD(device_attach, qcom_tlmm_attach), + DEVMETHOD(device_detach, qcom_tlmm_detach), + + /* GPIO protocol */ + DEVMETHOD(gpio_get_bus, qcom_tlmm_get_bus), + DEVMETHOD(gpio_pin_max, qcom_tlmm_pin_max), + DEVMETHOD(gpio_pin_getname, qcom_tlmm_pin_getname), + DEVMETHOD(gpio_pin_getflags, qcom_tlmm_pin_getflags), + DEVMETHOD(gpio_pin_getcaps, qcom_tlmm_pin_getcaps), + DEVMETHOD(gpio_pin_setflags, qcom_tlmm_pin_setflags), + DEVMETHOD(gpio_pin_get, qcom_tlmm_pin_get), + DEVMETHOD(gpio_pin_set, qcom_tlmm_pin_set), + DEVMETHOD(gpio_pin_toggle, qcom_tlmm_pin_toggle), + + /* OFW */ + DEVMETHOD(ofw_bus_get_node, qcom_tlmm_pin_get_node), + + /* fdt_pinctrl interface */ + DEVMETHOD(fdt_pinctrl_configure, qcom_tlmm_pinctrl_configure), + + {0, 0}, +}; + +static driver_t qcom_tlmm_driver = { + "gpio", + qcom_tlmm_methods, + sizeof(struct qcom_tlmm_softc), +}; + +EARLY_DRIVER_MODULE(qcom_tlmm, simplebus, qcom_tlmm_driver, + NULL, NULL, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE); +EARLY_DRIVER_MODULE(qcom_tlmm, ofwbus, qcom_tlmm_driver, + NULL, NULL, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE); +MODULE_VERSION(qcom_tlmm, 1); diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018.c b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018.c index 50f54b896748..f6f00bdb1e1f 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018.c +++ b/sys/dev/qcom_tlmm/qcom_tlmm_ipq4018.c @@ -245,152 +245,34 @@ static const struct qcom_tlmm_gpio_mux gpio_muxes[] = { GDEF(-1), }; -static int -qcom_tlmm_ipq4018_probe(device_t dev) -{ - - if (! ofw_bus_status_okay(dev)) - return (ENXIO); - - if (ofw_bus_is_compatible(dev, "qcom,ipq4019-pinctrl") == 0) - return (ENXIO); - - device_set_desc(dev, - "Qualcomm Atheross TLMM IPQ4018/IPQ4019 GPIO/Pinmux driver"); - return (0); -} - -static int -qcom_tlmm_ipq4018_detach(device_t dev) -{ - struct qcom_tlmm_softc *sc = device_get_softc(dev); - - KASSERT(mtx_initialized(&sc->gpio_mtx), ("gpio mutex not initialized")); - - gpiobus_detach_bus(dev); - if (sc->gpio_ih) - bus_teardown_intr(dev, sc->gpio_irq_res, sc->gpio_ih); - if (sc->gpio_irq_res) - bus_release_resource(dev, SYS_RES_IRQ, sc->gpio_irq_rid, - sc->gpio_irq_res); - if (sc->gpio_mem_res) - bus_release_resource(dev, SYS_RES_MEMORY, sc->gpio_mem_rid, - sc->gpio_mem_res); - if (sc->gpio_pins) - free(sc->gpio_pins, M_DEVBUF); - mtx_destroy(&sc->gpio_mtx); - - return(0); -} - +static struct qcom_tlmm_hw_callbacks qcom_tlmm_ipq4018_hw_callbacks = { + .qcom_tlmm_hw_pin_set_function = qcom_tlmm_ipq4018_hw_pin_set_function, + .qcom_tlmm_hw_pin_get_function = qcom_tlmm_ipq4018_hw_pin_get_function, + .qcom_tlmm_hw_pin_set_oe_output = qcom_tlmm_ipq4018_hw_pin_set_oe_output, + .qcom_tlmm_hw_pin_set_oe_input = qcom_tlmm_ipq4018_hw_pin_set_oe_input, + .qcom_tlmm_hw_pin_get_oe_state = qcom_tlmm_ipq4018_hw_pin_get_oe_state, + .qcom_tlmm_hw_pin_set_output_value = qcom_tlmm_ipq4018_hw_pin_set_output_value, + .qcom_tlmm_hw_pin_get_output_value = qcom_tlmm_ipq4018_hw_pin_get_output_value, + .qcom_tlmm_hw_pin_get_input_value = qcom_tlmm_ipq4018_hw_pin_get_input_value, + .qcom_tlmm_hw_pin_toggle_output_value = qcom_tlmm_ipq4018_hw_pin_toggle_output_value, + .qcom_tlmm_hw_pin_set_pupd_config = qcom_tlmm_ipq4018_hw_pin_set_pupd_config, + .qcom_tlmm_hw_pin_get_pupd_config = qcom_tlmm_ipq4018_hw_pin_get_pupd_config, + .qcom_tlmm_hw_pin_set_drive_strength = qcom_tlmm_ipq4018_hw_pin_set_drive_strength, + .qcom_tlmm_hw_pin_get_drive_strength = qcom_tlmm_ipq4018_hw_pin_get_drive_strength, + .qcom_tlmm_hw_pin_set_vm = qcom_tlmm_ipq4018_hw_pin_set_vm, + .qcom_tlmm_hw_pin_get_vm = qcom_tlmm_ipq4018_hw_pin_get_vm, + .qcom_tlmm_hw_pin_set_open_drain = qcom_tlmm_ipq4018_hw_pin_set_open_drain, + .qcom_tlmm_hw_pin_get_open_drain = qcom_tlmm_ipq4018_hw_pin_get_open_drain, +}; +/* TODO: move to a header file */ +extern void qcom_tlmm_ipq4018_attach(struct qcom_tlmm_softc *sc); -static int -qcom_tlmm_ipq4018_attach(device_t dev) +void +qcom_tlmm_ipq4018_attach(struct qcom_tlmm_softc *sc) { - struct qcom_tlmm_softc *sc = device_get_softc(dev); - int i; - - KASSERT((device_get_unit(dev) == 0), - ("qcom_tlmm_ipq4018: Only one gpio module supported")); - - mtx_init(&sc->gpio_mtx, device_get_nameunit(dev), NULL, MTX_DEF); - - /* Map control/status registers. */ - sc->gpio_mem_rid = 0; - sc->gpio_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &sc->gpio_mem_rid, RF_ACTIVE); - - if (sc->gpio_mem_res == NULL) { - device_printf(dev, "couldn't map memory\n"); - qcom_tlmm_ipq4018_detach(dev); - return (ENXIO); - } - if ((sc->gpio_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &sc->gpio_irq_rid, RF_SHAREABLE | RF_ACTIVE)) == NULL) { - device_printf(dev, "unable to allocate IRQ resource\n"); - qcom_tlmm_ipq4018_detach(dev); - return (ENXIO); - } - - if ((bus_setup_intr(dev, sc->gpio_irq_res, INTR_TYPE_MISC, - qcom_tlmm_filter, qcom_tlmm_intr, sc, &sc->gpio_ih))) { - device_printf(dev, - "WARNING: unable to register interrupt handler\n"); - qcom_tlmm_ipq4018_detach(dev); - return (ENXIO); - } - - sc->dev = dev; sc->gpio_npins = QCOM_TLMM_IPQ4018_GPIO_PINS; sc->gpio_muxes = &gpio_muxes[0]; - sc->sc_debug = 0; - - qcom_tlmm_debug_sysctl_attach(sc); - - /* Allocate local pin state for all of our pins */ - sc->gpio_pins = malloc(sizeof(*sc->gpio_pins) * sc->gpio_npins, - M_DEVBUF, M_WAITOK | M_ZERO); - - /* Note: direct map between gpio pin and gpio_pin[] entry */ - for (i = 0; i < sc->gpio_npins; i++) { - snprintf(sc->gpio_pins[i].gp_name, GPIOMAXNAME, - "gpio%d", i); - sc->gpio_pins[i].gp_pin = i; - sc->gpio_pins[i].gp_caps = DEFAULT_CAPS; - (void) qcom_tlmm_pin_getflags(dev, i, - &sc->gpio_pins[i].gp_flags); - } - - fdt_pinctrl_register(dev, NULL); - fdt_pinctrl_configure_by_name(dev, "default"); - - sc->busdev = gpiobus_add_bus(dev); - if (sc->busdev == NULL) { - device_printf(dev, "%s: failed to attach bus\n", __func__); - qcom_tlmm_ipq4018_detach(dev); - return (ENXIO); - } - - bus_attach_children(dev); - return (0); + sc->sc_hw = &qcom_tlmm_ipq4018_hw_callbacks; } - -static device_method_t qcom_tlmm_ipq4018_methods[] = { - /* Driver */ - DEVMETHOD(device_probe, qcom_tlmm_ipq4018_probe), - DEVMETHOD(device_attach, qcom_tlmm_ipq4018_attach), - DEVMETHOD(device_detach, qcom_tlmm_ipq4018_detach), - - /* GPIO protocol */ - DEVMETHOD(gpio_get_bus, qcom_tlmm_get_bus), - DEVMETHOD(gpio_pin_max, qcom_tlmm_pin_max), - DEVMETHOD(gpio_pin_getname, qcom_tlmm_pin_getname), - DEVMETHOD(gpio_pin_getflags, qcom_tlmm_pin_getflags), - DEVMETHOD(gpio_pin_getcaps, qcom_tlmm_pin_getcaps), - DEVMETHOD(gpio_pin_setflags, qcom_tlmm_pin_setflags), - DEVMETHOD(gpio_pin_get, qcom_tlmm_pin_get), - DEVMETHOD(gpio_pin_set, qcom_tlmm_pin_set), - DEVMETHOD(gpio_pin_toggle, qcom_tlmm_pin_toggle), - - /* OFW */ - DEVMETHOD(ofw_bus_get_node, qcom_tlmm_pin_get_node), - - /* fdt_pinctrl interface */ - DEVMETHOD(fdt_pinctrl_configure, qcom_tlmm_pinctrl_configure), - - {0, 0}, -}; - -static driver_t qcom_tlmm_ipq4018_driver = { - "gpio", - qcom_tlmm_ipq4018_methods, - sizeof(struct qcom_tlmm_softc), -}; - -EARLY_DRIVER_MODULE(qcom_tlmm_ipq4018, simplebus, qcom_tlmm_ipq4018_driver, - NULL, NULL, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE); -EARLY_DRIVER_MODULE(qcom_tlmm_ipq4018, ofwbus, qcom_tlmm_ipq4018_driver, - NULL, NULL, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE); -MODULE_VERSION(qcom_tlmm_ipq4018, 1); diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_pin.c b/sys/dev/qcom_tlmm/qcom_tlmm_pin.c index be7b37f21156..27d6f904d664 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_pin.c +++ b/sys/dev/qcom_tlmm/qcom_tlmm_pin.c @@ -85,11 +85,11 @@ qcom_tlmm_pin_configure(struct qcom_tlmm_softc *sc, * pin value before we flip on oe_output. */ pin->gp_flags |= GPIO_PIN_OUTPUT; - qcom_tlmm_ipq4018_hw_pin_set_oe_output(sc, + sc->sc_hw->qcom_tlmm_hw_pin_set_oe_output(sc, pin->gp_pin); } else { pin->gp_flags |= GPIO_PIN_INPUT; - qcom_tlmm_ipq4018_hw_pin_set_oe_input(sc, + sc->sc_hw->qcom_tlmm_hw_pin_set_oe_input(sc, pin->gp_pin); } } @@ -99,20 +99,20 @@ qcom_tlmm_pin_configure(struct qcom_tlmm_softc *sc, */ if (flags & GPIO_PIN_PULLUP) { pin->gp_flags |= GPIO_PIN_PULLUP; - qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, pin->gp_pin, + sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP); } else if (flags & GPIO_PIN_PULLDOWN) { pin->gp_flags |= GPIO_PIN_PULLDOWN; - qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, pin->gp_pin, + sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_DOWN); } else if ((flags & (GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN)) == (GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN)) { pin->gp_flags |= GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN; - qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, pin->gp_pin, + sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, QCOM_TLMM_PIN_PUPD_CONFIG_BUS_HOLD); } else { pin->gp_flags &= ~(GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN); - qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, pin->gp_pin, + sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, pin->gp_pin, QCOM_TLMM_PIN_PUPD_CONFIG_DISABLE); } } @@ -169,12 +169,12 @@ qcom_tlmm_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) GPIO_LOCK(sc); /* Lookup function - see what it is, whether we're a GPIO line */ - ret = qcom_tlmm_ipq4018_hw_pin_get_function(sc, pin, &val); + ret = sc->sc_hw->qcom_tlmm_hw_pin_get_function(sc, pin, &val); if (ret != 0) goto done; /* Lookup input/output state */ - ret = qcom_tlmm_ipq4018_hw_pin_get_oe_state(sc, pin, &is_output); + ret = sc->sc_hw->qcom_tlmm_hw_pin_get_oe_state(sc, pin, &is_output); if (ret != 0) goto done; if (is_output) @@ -183,7 +183,7 @@ qcom_tlmm_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) *flags |= GPIO_PIN_INPUT; /* Lookup pull-up / pull-down state */ - ret = qcom_tlmm_ipq4018_hw_pin_get_pupd_config(sc, pin, + ret = sc->sc_hw->qcom_tlmm_hw_pin_get_pupd_config(sc, pin, &pupd_config); if (ret != 0) goto done; @@ -251,7 +251,7 @@ qcom_tlmm_pin_set(device_t dev, uint32_t pin, unsigned int value) return (EINVAL); GPIO_LOCK(sc); - ret = qcom_tlmm_ipq4018_hw_pin_set_output_value(sc, pin, value); + ret = sc->sc_hw->qcom_tlmm_hw_pin_set_output_value(sc, pin, value); GPIO_UNLOCK(sc); return (ret); @@ -267,7 +267,7 @@ qcom_tlmm_pin_get(device_t dev, uint32_t pin, unsigned int *val) return (EINVAL); GPIO_LOCK(sc); - ret = qcom_tlmm_ipq4018_hw_pin_get_input_value(sc, pin, val); + ret = sc->sc_hw->qcom_tlmm_hw_pin_get_input_value(sc, pin, val); GPIO_UNLOCK(sc); return (ret); @@ -283,7 +283,7 @@ qcom_tlmm_pin_toggle(device_t dev, uint32_t pin) return (EINVAL); GPIO_LOCK(sc); - ret = qcom_tlmm_ipq4018_hw_pin_toggle_output_value(sc, pin); + ret = sc->sc_hw->qcom_tlmm_hw_pin_toggle_output_value(sc, pin); GPIO_UNLOCK(sc); return (ret); diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_pinmux.c b/sys/dev/qcom_tlmm/qcom_tlmm_pinmux.c index a4b4dffa3dbb..59e97dfe7602 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_pinmux.c +++ b/sys/dev/qcom_tlmm/qcom_tlmm_pinmux.c @@ -238,7 +238,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, __func__, gmux->id, tmp); - err = qcom_tlmm_ipq4018_hw_pin_set_function(sc, gmux->id, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_function(sc, gmux->id, tmp); if (err != 0) { device_printf(sc->dev, @@ -263,7 +263,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, cfg->params[i]); switch (i) { case PIN_ID_BIAS_DISABLE: - err = qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, gmux->id, QCOM_TLMM_PIN_PUPD_CONFIG_DISABLE); if (err != 0) { device_printf(sc->dev, @@ -274,7 +274,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_BIAS_PULL_DOWN: - err = qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, gmux->id, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_DOWN); if (err != 0) { device_printf(sc->dev, @@ -285,7 +285,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_BIAS_BUS_HOLD: - err = qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, gmux->id, QCOM_TLMM_PIN_PUPD_CONFIG_BUS_HOLD); if (err != 0) { device_printf(sc->dev, @@ -297,7 +297,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, break; case PIN_ID_BIAS_PULL_UP: - err = qcom_tlmm_ipq4018_hw_pin_set_pupd_config(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_pupd_config(sc, gmux->id, QCOM_TLMM_PIN_PUPD_CONFIG_PULL_UP); if (err != 0) { device_printf(sc->dev, @@ -308,7 +308,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_OUTPUT_LOW: - err = qcom_tlmm_ipq4018_hw_pin_set_oe_output(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_oe_output(sc, gmux->id); if (err != 0) { device_printf(sc->dev, @@ -317,7 +317,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, __func__, gmux->id, err); goto done; } - err = qcom_tlmm_ipq4018_hw_pin_set_output_value( + err = sc->sc_hw->qcom_tlmm_hw_pin_set_output_value( sc, gmux->id, 0); if (err != 0) { device_printf(sc->dev, @@ -328,7 +328,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_OUTPUT_HIGH: - err = qcom_tlmm_ipq4018_hw_pin_set_oe_output(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_oe_output(sc, gmux->id); if (err != 0) { device_printf(sc->dev, @@ -337,7 +337,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, __func__, gmux->id, err); goto done; } - err = qcom_tlmm_ipq4018_hw_pin_set_output_value( + err = sc->sc_hw->qcom_tlmm_hw_pin_set_output_value( sc, gmux->id, 1); if (err != 0) { device_printf(sc->dev, @@ -348,7 +348,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_DRIVE_STRENGTH: - err = qcom_tlmm_ipq4018_hw_pin_set_drive_strength(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_drive_strength(sc, gmux->id, cfg->params[i]); if (err != 0) { device_printf(sc->dev, @@ -360,7 +360,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_VM_ENABLE: - err = qcom_tlmm_ipq4018_hw_pin_set_vm(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_vm(sc, gmux->id, true); if (err != 0) { device_printf(sc->dev, @@ -371,7 +371,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_VM_DISABLE: - err = qcom_tlmm_ipq4018_hw_pin_set_vm(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_vm(sc, gmux->id, false); if (err != 0) { device_printf(sc->dev, @@ -382,7 +382,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, } break; case PIN_ID_DRIVE_OPEN_DRAIN: - err = qcom_tlmm_ipq4018_hw_pin_set_open_drain(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_open_drain(sc, gmux->id, true); if (err != 0) { device_printf(sc->dev, @@ -394,7 +394,7 @@ qcom_tlmm_pinctrl_config_gmux(struct qcom_tlmm_softc *sc, char *pin_name, break; case PIN_ID_INPUT_ENABLE: /* Configure pin as an input */ - err = qcom_tlmm_ipq4018_hw_pin_set_oe_input(sc, + err = sc->sc_hw->qcom_tlmm_hw_pin_set_oe_input(sc, gmux->id); if (err != 0) { device_printf(sc->dev, diff --git a/sys/dev/qcom_tlmm/qcom_tlmm_var.h b/sys/dev/qcom_tlmm/qcom_tlmm_var.h index 1fea18275397..4fd37f83192e 100644 --- a/sys/dev/qcom_tlmm/qcom_tlmm_var.h +++ b/sys/dev/qcom_tlmm/qcom_tlmm_var.h @@ -49,6 +49,10 @@ #define GPIO_CLEAR_BITS(sc, reg, bits) \ GPIO_WRITE(sc, reg, GPIO_READ(sc, (reg)) & ~(bits)) +typedef enum { + QCOM_TLMM_CHIPSET_NONE = 0, + QCOM_TLMM_CHIPSET_IPQ4018 = 1, +} qcom_tlmm_chipset_t; enum prop_id { PIN_ID_BIAS_DISABLE = 0, @@ -141,6 +145,45 @@ struct qcom_tlmm_spec_pin { uint32_t hdrv_shift; }; +struct qcom_tlmm_softc; + +struct qcom_tlmm_hw_callbacks { + int (*qcom_tlmm_hw_pin_set_function)(struct qcom_tlmm_softc *, + int, int); + int (*qcom_tlmm_hw_pin_get_function)(struct qcom_tlmm_softc *, + int, int *); + int (*qcom_tlmm_hw_pin_set_oe_output)(struct qcom_tlmm_softc *, + int); + int (*qcom_tlmm_hw_pin_set_oe_input)(struct qcom_tlmm_softc *, + int); + int (*qcom_tlmm_hw_pin_get_oe_state)(struct qcom_tlmm_softc *, + int, bool *); + int (*qcom_tlmm_hw_pin_set_output_value)(struct qcom_tlmm_softc *, + uint32_t, unsigned int); + int (*qcom_tlmm_hw_pin_get_output_value)(struct qcom_tlmm_softc *, + uint32_t, unsigned int *); + int (*qcom_tlmm_hw_pin_get_input_value)(struct qcom_tlmm_softc *, + uint32_t, unsigned int *); + int (*qcom_tlmm_hw_pin_toggle_output_value)(struct qcom_tlmm_softc *, + uint32_t); + int (*qcom_tlmm_hw_pin_set_pupd_config)(struct qcom_tlmm_softc *, + uint32_t, qcom_tlmm_pin_pupd_config_t); + int (*qcom_tlmm_hw_pin_get_pupd_config)(struct qcom_tlmm_softc *, + uint32_t, qcom_tlmm_pin_pupd_config_t *); + int (*qcom_tlmm_hw_pin_set_drive_strength)(struct qcom_tlmm_softc *, + uint32_t, uint8_t); + int (*qcom_tlmm_hw_pin_get_drive_strength)(struct qcom_tlmm_softc *, + uint32_t, uint8_t *); + int (*qcom_tlmm_hw_pin_set_vm)(struct qcom_tlmm_softc *, + uint32_t, bool); + int (*qcom_tlmm_hw_pin_get_vm)(struct qcom_tlmm_softc *, + uint32_t, bool *); + int (*qcom_tlmm_hw_pin_set_open_drain)(struct qcom_tlmm_softc *, + uint32_t, bool); + int (*qcom_tlmm_hw_pin_get_open_drain)(struct qcom_tlmm_softc *, + uint32_t, bool *); +}; + struct qcom_tlmm_softc { device_t dev; device_t busdev; @@ -153,6 +196,10 @@ struct qcom_tlmm_softc { int gpio_npins; struct gpio_pin *gpio_pins; uint32_t sc_debug; + qcom_tlmm_chipset_t sc_chipset; + void (*sc_attach_func)(struct qcom_tlmm_softc *); + + struct qcom_tlmm_hw_callbacks *sc_hw; const struct qcom_tlmm_gpio_mux *gpio_muxes; const struct qcom_tlmm_spec_pin *spec_pins; From nobody Mon Apr 27 16:12:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47qn1X8dz6bHS0 for ; Mon, 27 Apr 2026 16:12:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g47qm72qCz3f4m for ; Mon, 27 Apr 2026 16:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Rd3rGYQKSfAd8fXsESHfhiIuizdJCUB19/Qg28MG2Q=; b=obN8qpVJMPd2or2nbeVqeW1dAWyMiDPTjw0rm1b3/CP4OlfVQ+BhOiWrn8F8xRmBvIccsI V3znaQxUQOHRiwfBtbzYbic63hhaOaUze8utnZfQWtsUbmbRsJwhB6W5O7byeuKTFG8oPB gW81jHANerOr1ZAzMktZVjctn5mkofKIFEzwt5+iAmWYfeL4rSR0WmozP6m07RJzhfhTQZ 4ObQcpY7MphyQ9Kib185GVIEIcAdXP9JO4IZ+sxYFLYKO0eKdlNmN78RfokfEAS3hpgh0e M8oFyYwPb5y10AzZK+WzJvgOWKbTYNNPsxVVo6awq/auxrS9xR3y+/Jm3uqSlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777306324; a=rsa-sha256; cv=none; b=U/8CY05Xrsiqs5S+ZD84NOfXQw4Ty5C9oCtxaGe2qp1hMb+pC5sN4fQbBy8+Skw1O75p0u nQW9zg7tQhTByZSlePy1QM3DX7Xk/+GJ1hZMJalulUgQ+mDLnCd2XED47tgz7mLbB9ta6y i+ts2NmqaCT2x+Ck9Qh0Plb166LRNqpHSw0D8JuEALBhHHW0aV0iv5IEDx9D5mv+8R2GWR AhMemVIUNqTEYar/n23tnX/AEQdmojVPV7CyYfdz9/HJbIg4qEUw2HxltCJ1uV78QIZk/k QQTuSzO8au1TPwi225h9vV+ee/e1Cl7fOoZ33i3CFzMtjlPv69wwtEcOH2soXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Rd3rGYQKSfAd8fXsESHfhiIuizdJCUB19/Qg28MG2Q=; b=n+iI0Lt+b2M9nVgn/m1k9RfsxyZf7gA6LlFZR/OyzTh49359+EhYx1xT+RYJO47Le3+1XO m69ekhnebQ/EfP1rM+onZhDBh72zIcFs0cVXbpa9EbcweajDMNUHdMINObiY7vnKe6TEZF UicZZIrt07KHpVurOftxWx6mm+Fwitmv6khDRuCkAF5JgbfaC407anXLtF4vZ+Fun0YL0B 4bhYXWFjHA1gFJmGx6nGdmsLJK5Cqp3TrrEadqkngmgrDq+hd0Oz9guF0mVUSWMu/MGSiZ DwhwIkG9/i+xTeEj/EUic3iBWPbiOu5URD61+lk/IPwPj1KyyO7W/5Zn7dourA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47qm6bFpzJB for ; Mon, 27 Apr 2026 16:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 444b2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:12:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: 8695b968815f - stable/15 - kgss: remove KGSS_VNET_* macros family List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8695b968815f9e9a4da0654495df3de02d1af8ae Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:12:04 +0000 Message-Id: <69ef8ad4.444b2.11552bb8@gitrepo.freebsd.org> The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=8695b968815f9e9a4da0654495df3de02d1af8ae commit 8695b968815f9e9a4da0654495df3de02d1af8ae Author: Gleb Smirnoff AuthorDate: 2026-04-25 02:55:45 +0000 Commit: Gleb Smirnoff CommitDate: 2026-04-27 16:11:51 +0000 kgss: remove KGSS_VNET_* macros family The original idea was that something else than VNET(9) might be used for kgss in jails, but that is very unlikely to happen. Mechanical change done with sed+grep. No functional change. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D56560 (cherry picked from commit 50c5715159f172103f68fa90e5423a45aea2a626) --- sys/kgssapi/gss_delete_sec_context.c | 8 ++--- sys/kgssapi/gss_impl.c | 30 ++++++++-------- sys/kgssapi/gss_release_cred.c | 8 ++--- sys/kgssapi/gss_release_name.c | 8 ++--- sys/kgssapi/gssapi_impl.h | 14 +------- sys/rpc/rpcsec_gss/rpcsec_gss.c | 6 ++-- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 66 ++++++++++++++++++------------------ 7 files changed, 64 insertions(+), 76 deletions(-) diff --git a/sys/kgssapi/gss_delete_sec_context.c b/sys/kgssapi/gss_delete_sec_context.c index a5da31af136b..c435e6193b0f 100644 --- a/sys/kgssapi/gss_delete_sec_context.c +++ b/sys/kgssapi/gss_delete_sec_context.c @@ -52,12 +52,12 @@ gss_delete_sec_context(OM_uint32 *minor_status, gss_ctx_id_t *context_handle, *minor_status = 0; - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); - if (!KGSS_VNET(kgss_gssd_handle)) { - KGSS_CURVNET_RESTORE(); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + if (!VNET(kgss_gssd_handle)) { + CURVNET_RESTORE(); return (GSS_S_FAILURE); } - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (*context_handle) { ctx = *context_handle; diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c index 323b379e1619..e7e0e5d00118 100644 --- a/sys/kgssapi/gss_impl.c +++ b/sys/kgssapi/gss_impl.c @@ -52,7 +52,7 @@ MALLOC_DEFINE(M_GSSAPI, "GSS-API", "GSS-API"); struct kgss_mech_list kgss_mechs; struct mtx kgss_gssd_lock; -KGSS_VNET_DEFINE(CLIENT *, kgss_gssd_handle) = NULL; +VNET_DEFINE(CLIENT *, kgss_gssd_handle) = NULL; static int kgss_load(void) @@ -79,11 +79,11 @@ kgss_load(void) */ clnt_control(cl, CLSET_WAITCHAN, "gssd"); - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - KGSS_VNET(kgss_gssd_handle) = cl; + VNET(kgss_gssd_handle) = cl; mtx_unlock(&kgss_gssd_lock); - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (0); } @@ -93,9 +93,9 @@ static void kgss_unload(void) { - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); - clnt_destroy(KGSS_VNET(kgss_gssd_handle)); - KGSS_CURVNET_RESTORE(); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + clnt_destroy(VNET(kgss_gssd_handle)); + CURVNET_RESTORE(); } #endif @@ -207,16 +207,16 @@ kgss_transfer_context(gss_ctx_id_t ctx, void *lctx) return (maj_stat); } - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); - if (!KGSS_VNET(kgss_gssd_handle)) { - KGSS_CURVNET_RESTORE(); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + if (!VNET(kgss_gssd_handle)) { + CURVNET_RESTORE(); return (GSS_S_FAILURE); } args.ctx = ctx->handle; bzero(&res, sizeof(res)); - stat = gssd_export_sec_context_1(&args, &res, KGSS_VNET(kgss_gssd_handle)); - KGSS_CURVNET_RESTORE(); + stat = gssd_export_sec_context_1(&args, &res, VNET(kgss_gssd_handle)); + CURVNET_RESTORE(); if (stat != RPC_SUCCESS) { return (GSS_S_FAILURE); } @@ -250,13 +250,13 @@ kgss_gssd_client(void) { CLIENT *cl; - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - cl = KGSS_VNET(kgss_gssd_handle); + cl = VNET(kgss_gssd_handle); if (cl != NULL) CLNT_ACQUIRE(cl); mtx_unlock(&kgss_gssd_lock); - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (cl); } diff --git a/sys/kgssapi/gss_release_cred.c b/sys/kgssapi/gss_release_cred.c index 91625000fa9c..191eca0904c6 100644 --- a/sys/kgssapi/gss_release_cred.c +++ b/sys/kgssapi/gss_release_cred.c @@ -50,12 +50,12 @@ gss_release_cred(OM_uint32 *minor_status, gss_cred_id_t *cred_handle) *minor_status = 0; - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); - if (!KGSS_VNET(kgss_gssd_handle)) { - KGSS_CURVNET_RESTORE(); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + if (!VNET(kgss_gssd_handle)) { + CURVNET_RESTORE(); return (GSS_S_FAILURE); } - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (*cred_handle) { args.cred = (*cred_handle)->handle; diff --git a/sys/kgssapi/gss_release_name.c b/sys/kgssapi/gss_release_name.c index ee9a259134e3..d5d86fb107ff 100644 --- a/sys/kgssapi/gss_release_name.c +++ b/sys/kgssapi/gss_release_name.c @@ -51,12 +51,12 @@ gss_release_name(OM_uint32 *minor_status, gss_name_t *input_name) *minor_status = 0; - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); - if (!KGSS_VNET(kgss_gssd_handle)) { - KGSS_CURVNET_RESTORE(); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + if (!VNET(kgss_gssd_handle)) { + CURVNET_RESTORE(); return (GSS_S_FAILURE); } - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (*input_name) { name = *input_name; diff --git a/sys/kgssapi/gssapi_impl.h b/sys/kgssapi/gssapi_impl.h index d8a85f20a602..f5b36d67816b 100644 --- a/sys/kgssapi/gssapi_impl.h +++ b/sys/kgssapi/gssapi_impl.h @@ -52,22 +52,10 @@ struct kgss_mech { }; LIST_HEAD(kgss_mech_list, kgss_mech); -/* Macros for VIMAGE. */ -/* Just define the KGSS_VNETxxx() macros as VNETxxx() macros. */ -#define KGSS_VNET_DEFINE(t, n) VNET_DEFINE(t, n) -#define KGSS_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) -#define KGSS_VNET_DECLARE(t, n) VNET_DECLARE(t, n) -#define KGSS_VNET(n) VNET(n) - -#define KGSS_CURVNET_SET(n) CURVNET_SET(n) -#define KGSS_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) -#define KGSS_CURVNET_RESTORE() CURVNET_RESTORE() -#define KGSS_TD_TO_VNET(n) TD_TO_VNET(n) - extern struct mtx kgss_gssd_lock; extern struct kgss_mech_list kgss_mechs; -KGSS_VNET_DECLARE(CLIENT *, kgss_gssd_handle); +VNET_DECLARE(CLIENT *, kgss_gssd_handle); CLIENT *kgss_gssd_client(void); int kgss_oid_equal(const gss_OID oid1, const gss_OID oid2); diff --git a/sys/rpc/rpcsec_gss/rpcsec_gss.c b/sys/rpc/rpcsec_gss/rpcsec_gss.c index 4d5c53e2545e..d99e3a3090df 100644 --- a/sys/rpc/rpcsec_gss/rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/rpcsec_gss.c @@ -783,7 +783,7 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) * only option. This is broken if NFS mounts are enabled * within vnet prisons. */ - KGSS_CURVNET_SET_QUIET(vnet0); + 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 +1030,14 @@ out: gss_delete_sec_context(&min_stat, &gd->gd_ctx, GSS_C_NO_BUFFER); } - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_START; wakeup(gd); mtx_unlock(&gd->gd_lock); return (FALSE); } - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_ESTABLISHED; diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 528112d5642a..3990b0220229 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -100,7 +100,7 @@ struct svc_rpc_gss_callback { rpc_gss_callback_t cb_callback; }; SLIST_HEAD(svc_rpc_gss_callback_list, svc_rpc_gss_callback); -KGSS_VNET_DEFINE_STATIC(struct svc_rpc_gss_callback_list, +VNET_DEFINE_STATIC(struct svc_rpc_gss_callback_list, svc_rpc_gss_callbacks) = SLIST_HEAD_INITIALIZER(svc_rpc_gss_callbacks); struct svc_rpc_gss_svc_name { @@ -113,7 +113,7 @@ struct svc_rpc_gss_svc_name { u_int sn_version; }; SLIST_HEAD(svc_rpc_gss_svc_name_list, svc_rpc_gss_svc_name); -KGSS_VNET_DEFINE_STATIC(struct svc_rpc_gss_svc_name_list, +VNET_DEFINE_STATIC(struct svc_rpc_gss_svc_name_list, svc_rpc_gss_svc_names) = SLIST_HEAD_INITIALIZER(svc_rpc_gss_svc_names); enum svc_rpc_gss_client_state { @@ -195,9 +195,9 @@ SYSCTL_UINT(_kern_rpc_gss, OID_AUTO, client_count, CTLFLAG_RD, &svc_rpc_gss_client_count, 0, "Number of rpc-gss clients"); -KGSS_VNET_DEFINE(struct svc_rpc_gss_client_list *, svc_rpc_gss_client_hash); -KGSS_VNET_DEFINE(struct svc_rpc_gss_client_list, svc_rpc_gss_clients); -KGSS_VNET_DEFINE_STATIC(uint32_t, svc_rpc_gss_next_clientid) = 1; +VNET_DEFINE(struct svc_rpc_gss_client_list *, svc_rpc_gss_client_hash); +VNET_DEFINE(struct svc_rpc_gss_client_list, svc_rpc_gss_clients); +VNET_DEFINE_STATIC(uint32_t, svc_rpc_gss_next_clientid) = 1; static void svc_rpc_gss_init(void *unused __unused) @@ -223,12 +223,12 @@ svc_rpc_gss_vnetinit(void *unused __unused) { int i; - KGSS_VNET(svc_rpc_gss_client_hash) = mem_alloc( + VNET(svc_rpc_gss_client_hash) = mem_alloc( sizeof(struct svc_rpc_gss_client_list) * svc_rpc_gss_client_hash_size); for (i = 0; i < svc_rpc_gss_client_hash_size; i++) - TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_client_hash)[i]); - TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_clients)); + TAILQ_INIT(&VNET(svc_rpc_gss_client_hash)[i]); + TAILQ_INIT(&VNET(svc_rpc_gss_clients)); } VNET_SYSINIT(svc_rpc_gss_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, svc_rpc_gss_vnetinit, NULL); @@ -237,7 +237,7 @@ static void svc_rpc_gss_vnet_cleanup(void *unused __unused) { - mem_free(KGSS_VNET(svc_rpc_gss_client_hash), + mem_free(VNET(svc_rpc_gss_client_hash), sizeof(struct svc_rpc_gss_client_list) * svc_rpc_gss_client_hash_size); } @@ -256,7 +256,7 @@ rpc_gss_set_callback(rpc_gss_callback_t *cb) } scb->cb_callback = *cb; sx_xlock(&svc_rpc_gss_lock); - SLIST_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_callbacks), scb, cb_link); + SLIST_INSERT_HEAD(&VNET(svc_rpc_gss_callbacks), scb, cb_link); sx_xunlock(&svc_rpc_gss_lock); return (TRUE); @@ -268,11 +268,11 @@ rpc_gss_clear_callback(rpc_gss_callback_t *cb) struct svc_rpc_gss_callback *scb; sx_xlock(&svc_rpc_gss_lock); - SLIST_FOREACH(scb, &KGSS_VNET(svc_rpc_gss_callbacks), cb_link) { + SLIST_FOREACH(scb, &VNET(svc_rpc_gss_callbacks), cb_link) { if (scb->cb_callback.program == cb->program && scb->cb_callback.version == cb->version && scb->cb_callback.callback == cb->callback) { - SLIST_REMOVE(&KGSS_VNET(svc_rpc_gss_callbacks), scb, + SLIST_REMOVE(&VNET(svc_rpc_gss_callbacks), scb, svc_rpc_gss_callback, cb_link); sx_xunlock(&svc_rpc_gss_lock); mem_free(scb, sizeof(*scb)); @@ -343,7 +343,7 @@ rpc_gss_set_svc_name(const char *principal, const char *mechanism, } sx_xlock(&svc_rpc_gss_lock); - SLIST_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_svc_names), sname, sn_link); + SLIST_INSERT_HEAD(&VNET(svc_rpc_gss_svc_names), sname, sn_link); sx_xunlock(&svc_rpc_gss_lock); return (TRUE); @@ -356,10 +356,10 @@ rpc_gss_clear_svc_name(u_int program, u_int version) struct svc_rpc_gss_svc_name *sname; sx_xlock(&svc_rpc_gss_lock); - SLIST_FOREACH(sname, &KGSS_VNET(svc_rpc_gss_svc_names), sn_link) { + SLIST_FOREACH(sname, &VNET(svc_rpc_gss_svc_names), sn_link) { if (sname->sn_program == program && sname->sn_version == version) { - SLIST_REMOVE(&KGSS_VNET(svc_rpc_gss_svc_names), sname, + SLIST_REMOVE(&VNET(svc_rpc_gss_svc_names), sname, svc_rpc_gss_svc_name, sn_link); sx_xunlock(&svc_rpc_gss_lock); gss_release_cred(&min_stat, &sname->sn_cred); @@ -603,7 +603,7 @@ svc_rpc_gss_find_client(struct svc_rpc_gss_clientid *id) if (id->ci_hostid != hostid || id->ci_boottime != boottime.tv_sec) return (NULL); - list = &KGSS_VNET(svc_rpc_gss_client_hash) + list = &VNET(svc_rpc_gss_client_hash) [id->ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_FOREACH(client, list, cl_link) { @@ -612,9 +612,9 @@ svc_rpc_gss_find_client(struct svc_rpc_gss_clientid *id) * Move this client to the front of the LRU * list. */ - TAILQ_REMOVE(&KGSS_VNET(svc_rpc_gss_clients), client, + TAILQ_REMOVE(&VNET(svc_rpc_gss_clients), client, cl_alllink); - TAILQ_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_clients), + TAILQ_INSERT_HEAD(&VNET(svc_rpc_gss_clients), client, cl_alllink); refcount_acquire(&client->cl_refs); break; @@ -648,7 +648,7 @@ svc_rpc_gss_create_client(void) client->cl_id.ci_hostid = hostid; getboottime(&boottime); client->cl_id.ci_boottime = boottime.tv_sec; - client->cl_id.ci_id = KGSS_VNET(svc_rpc_gss_next_clientid)++; + client->cl_id.ci_id = VNET(svc_rpc_gss_next_clientid)++; /* * Start the client off with a short expiration time. We will @@ -658,11 +658,11 @@ svc_rpc_gss_create_client(void) client->cl_locked = FALSE; client->cl_expiration = time_uptime + 5*60; - list = &KGSS_VNET(svc_rpc_gss_client_hash) + list = &VNET(svc_rpc_gss_client_hash) [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_INSERT_HEAD(list, client, cl_link); - TAILQ_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_clients), client, cl_alllink); + TAILQ_INSERT_HEAD(&VNET(svc_rpc_gss_clients), client, cl_alllink); svc_rpc_gss_client_count++; sx_xunlock(&svc_rpc_gss_lock); return (client); @@ -716,10 +716,10 @@ svc_rpc_gss_forget_client_locked(struct svc_rpc_gss_client *client) struct svc_rpc_gss_client_list *list; sx_assert(&svc_rpc_gss_lock, SX_XLOCKED); - list = &KGSS_VNET(svc_rpc_gss_client_hash) + list = &VNET(svc_rpc_gss_client_hash) [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; TAILQ_REMOVE(list, client, cl_link); - TAILQ_REMOVE(&KGSS_VNET(svc_rpc_gss_clients), client, cl_alllink); + TAILQ_REMOVE(&VNET(svc_rpc_gss_clients), client, cl_alllink); svc_rpc_gss_client_count--; } @@ -732,7 +732,7 @@ svc_rpc_gss_forget_client(struct svc_rpc_gss_client *client) struct svc_rpc_gss_client_list *list; struct svc_rpc_gss_client *tclient; - list = &KGSS_VNET(svc_rpc_gss_client_hash) + list = &VNET(svc_rpc_gss_client_hash) [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_FOREACH(tclient, list, cl_link) { @@ -764,18 +764,18 @@ svc_rpc_gss_timeout_clients(void) * svc_rpc_gss_clients in LRU order. */ sx_xlock(&svc_rpc_gss_lock); - client = TAILQ_LAST(&KGSS_VNET(svc_rpc_gss_clients), + client = TAILQ_LAST(&VNET(svc_rpc_gss_clients), svc_rpc_gss_client_list); while (svc_rpc_gss_client_count > svc_rpc_gss_client_max && client != NULL) { svc_rpc_gss_forget_client_locked(client); sx_xunlock(&svc_rpc_gss_lock); svc_rpc_gss_release_client(client); sx_xlock(&svc_rpc_gss_lock); - client = TAILQ_LAST(&KGSS_VNET(svc_rpc_gss_clients), + client = TAILQ_LAST(&VNET(svc_rpc_gss_clients), svc_rpc_gss_client_list); } again: - TAILQ_FOREACH(client, &KGSS_VNET(svc_rpc_gss_clients), cl_alllink) { + TAILQ_FOREACH(client, &VNET(svc_rpc_gss_clients), cl_alllink) { if (client->cl_state == CLIENT_STALE || now > client->cl_expiration) { svc_rpc_gss_forget_client_locked(client); @@ -964,7 +964,7 @@ svc_rpc_gss_accept_sec_context(struct svc_rpc_gss_client *client, */ sx_xlock(&svc_rpc_gss_lock); if (!client->cl_sname) { - SLIST_FOREACH(sname, &KGSS_VNET(svc_rpc_gss_svc_names), + SLIST_FOREACH(sname, &VNET(svc_rpc_gss_svc_names), sn_link) { if (sname->sn_program == rqst->rq_prog && sname->sn_version == rqst->rq_vers) { @@ -1271,7 +1271,7 @@ svc_rpc_gss_callback(struct svc_rpc_gss_client *client, struct svc_req *rqst) * See if we have a callback for this guy. */ result = TRUE; - SLIST_FOREACH(scb, &KGSS_VNET(svc_rpc_gss_callbacks), cb_link) { + SLIST_FOREACH(scb, &VNET(svc_rpc_gss_callbacks), cb_link) { if (scb->cb_callback.program == rqst->rq_prog && scb->cb_callback.version == rqst->rq_vers) { /* @@ -1407,7 +1407,7 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) int call_stat; enum auth_stat result; - KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); rpc_gss_log_debug("in svc_rpc_gss()"); /* Garbage collect old clients. */ @@ -1418,7 +1418,7 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) /* Deserialize client credentials. */ if (rqst->rq_cred.oa_length <= 0) { - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_BADCRED); } @@ -1429,7 +1429,7 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) if (!xdr_rpc_gss_cred(&xdrs, &gc)) { XDR_DESTROY(&xdrs); - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_BADCRED); } XDR_DESTROY(&xdrs); @@ -1665,7 +1665,7 @@ out: svc_rpc_gss_release_client(client); xdr_free((xdrproc_t) xdr_rpc_gss_cred, (char *) &gc); - KGSS_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (result); } From nobody Mon Apr 27 16:12:06 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47qp2jPDz6bHCR for ; Mon, 27 Apr 2026 16:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g47qp19WYz3fMF for ; Mon, 27 Apr 2026 16:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zxkdKuNNNu4I99EKn6ZHlBujN39Y62Fn8IU6u2rnYUg=; b=H5tz6vB/k1xH0UOTKPxkAjSW+z0P9XT0vldZk6qlJmyJZdb8183ctR43rOUttzpgPshATJ ux9Ij2B5Clu3MYpQYVE9X3jZ+oLE4/81FCZt0rw4dgca6E2aVUTsFEbqtRaVwviOO90KTY hvYas8gI5c1F4AptGRl3gkmhGxfzBivO/O6hjwanWWzKQ24n5JRKLin8jiv6uxfoUFnfWQ 6U/9fKq/59kKHsjrEJC2krjWfADBgTCYtrEN1pjXXPkfc5D35NSIzW2r28QCJnGd/s8ktb StdDCsthMUu/Iyn+IGnquZBd9enqWQWX42HBTdCC/UaT1kBhYuwYKXVKMe8BCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777306326; a=rsa-sha256; cv=none; b=udrbSBuprsbsrP+RLdw1dyfgFV9oqq7GGxJ2halCZ4I2PDw7ruWXJi4P+w7B9A8XHVzoeA fTWzshBmnR596az5maBo+Sch1Wo/ntzf0lTug0nvAGLqNf5LfHt4cmwjjFMOMVmcM9dHmv I8UeP7EwUjS913dl7O88ycljz8nS2eLuyX7zTgTTL57THnHiPhxjTJASwmqliY9yi9eUs4 74MkuubTaSIT4buU/FwuzrnDWyj6PMXWlWUY0hCYk9uF9YruMmive4GJ/gC0IAarXJeFpD wKMO/nOuCIEERgWlko4dW2skAq+J+eBtf4v5nWdXE1T/4Vrg6pYbovt8goKVTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zxkdKuNNNu4I99EKn6ZHlBujN39Y62Fn8IU6u2rnYUg=; b=ndHYYLOGECGkGnbwnjyof/66BFJLE9QZAzEeEh5fc/2jZmpJ2P23yRMitNyo1v4/Cym0yU jMEUO3dB2N53hvLudUL5lUnj9ZlWiGSA8mYKctkoW9f/u2CPJ10YbJlsHD9YfpyWacne9M dAf5kDqyAEQo4RYwhUQb/ZCdGN8HYqAltMRhK2in+og5nYI/5ni+1WbROwICLceAns8OuX 4Xp5/fDEXamqBZCYF5EvJMTsSfWzHSAX5Z/HLlPYl/BvtWT+E6vWGynnPDERVzpoN6TK4u tvAmiGBZjaqXFVKaOt/GSH/d1oHSzZxRy3aW3uCC4WkXRnsKUJOMajohUywAUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47qp0MF2z1Cc7 for ; Mon, 27 Apr 2026 16:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44db4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:12:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: f8c8cc64ff0d - stable/15 - kgss: remove unnecessary CURVNET_SET() and kgss_gssd_handle checks List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f8c8cc64ff0dbd9f1ada030e2742391d854a11aa Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:12:06 +0000 Message-Id: <69ef8ad6.44db4.6131170f@gitrepo.freebsd.org> The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f8c8cc64ff0dbd9f1ada030e2742391d854a11aa commit f8c8cc64ff0dbd9f1ada030e2742391d854a11aa Author: Gleb Smirnoff AuthorDate: 2026-04-25 02:55:50 +0000 Commit: Gleb Smirnoff CommitDate: 2026-04-27 16:11:51 +0000 kgss: remove unnecessary CURVNET_SET() and kgss_gssd_handle checks These RPC methods correctly acquire the kgss_gssd_handle later with call to kgss_gssd_client(). Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D56561 (cherry picked from commit 2bd2f267f344c51c66fc18d963df8cec78db34c1) --- sys/kgssapi/gss_delete_sec_context.c | 8 -------- sys/kgssapi/gss_release_cred.c | 8 -------- sys/kgssapi/gss_release_name.c | 8 -------- 3 files changed, 24 deletions(-) diff --git a/sys/kgssapi/gss_delete_sec_context.c b/sys/kgssapi/gss_delete_sec_context.c index c435e6193b0f..b5a985215b6b 100644 --- a/sys/kgssapi/gss_delete_sec_context.c +++ b/sys/kgssapi/gss_delete_sec_context.c @@ -28,7 +28,6 @@ */ #include -#include #include #include #include @@ -52,13 +51,6 @@ gss_delete_sec_context(OM_uint32 *minor_status, gss_ctx_id_t *context_handle, *minor_status = 0; - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); - if (!VNET(kgss_gssd_handle)) { - CURVNET_RESTORE(); - return (GSS_S_FAILURE); - } - CURVNET_RESTORE(); - if (*context_handle) { ctx = *context_handle; diff --git a/sys/kgssapi/gss_release_cred.c b/sys/kgssapi/gss_release_cred.c index 191eca0904c6..f46c3ec5ac06 100644 --- a/sys/kgssapi/gss_release_cred.c +++ b/sys/kgssapi/gss_release_cred.c @@ -28,7 +28,6 @@ */ #include -#include #include #include #include @@ -50,13 +49,6 @@ gss_release_cred(OM_uint32 *minor_status, gss_cred_id_t *cred_handle) *minor_status = 0; - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); - if (!VNET(kgss_gssd_handle)) { - CURVNET_RESTORE(); - return (GSS_S_FAILURE); - } - CURVNET_RESTORE(); - if (*cred_handle) { args.cred = (*cred_handle)->handle; diff --git a/sys/kgssapi/gss_release_name.c b/sys/kgssapi/gss_release_name.c index d5d86fb107ff..76c77868ed9e 100644 --- a/sys/kgssapi/gss_release_name.c +++ b/sys/kgssapi/gss_release_name.c @@ -28,7 +28,6 @@ */ #include -#include #include #include #include @@ -51,13 +50,6 @@ gss_release_name(OM_uint32 *minor_status, gss_name_t *input_name) *minor_status = 0; - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); - if (!VNET(kgss_gssd_handle)) { - CURVNET_RESTORE(); - return (GSS_S_FAILURE); - } - CURVNET_RESTORE(); - if (*input_name) { name = *input_name; args.input_name = name->handle; From nobody Mon Apr 27 16:12:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47qq6f2Qz6bHCT for ; Mon, 27 Apr 2026 16:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g47qq1T8Lz3fMH for ; Mon, 27 Apr 2026 16:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GZEpjTHnePqUhK4efwcgjg2QX3r+JSraNIPlvgfBKw8=; b=SmUxuUl/EmtieQq7Ztyqbx+rBwA01tpA4y+iPc+AHOK/q2feKhIpjCb9le49RvFOpcafih jvd9RCFYfnx3fLW7+9nT6Z+clhYXXsaGvPok2GsiYWC0FoUm3pyWM196c70+gsw0nupW2A 7bK2aRVsYxNoPUjcVJ+6ofxll1SVL2+z+bbJgkxx+swtIz56rVP3tEG9JgtR9eCTl5wicW OiXJ/6uJVBxOTAcYmKWSPEDDNrg0mU/GFlvTLCy0wPyU57l1n6Sd/TEMa0U9aW3NEGb9Fh SQNnrfNDOielznJ6pNYNvMc/MhanEp3uQGhjkO1C1GBZVRyXaRONpGa7V6zd6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777306327; a=rsa-sha256; cv=none; b=Vu4lXUxT2WMT2BNhI3Vj3zfXJIKIkRKgWhGJUaUwiRPCo9ulChzwoB0OmbDlF/VXywsRR9 3yASN5PFW7UUXnO6hF6xPSP/waAj/6qfsNrZMFRcaV9ywbsuGL+WS4iUq/AMIp0e4RewVC snK37KKMni1993xbT9hPsxAQ8wsT/mKAtvO46oxh0hUvaIDyygZLcuEP18PKBNQntMsYo7 vDakGvB9q/Qj6HG6sdEqWQUxcilc07L2m6CF4FM84CxDr1UqjQSuOxfn/J9dvmZUtQkXGl K7P1dgu4TXUUj/gZ3DqMSFpQE3V0idWAeJf+y10OKUbQYzz9s8RM1vQ7SzvZAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777306327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GZEpjTHnePqUhK4efwcgjg2QX3r+JSraNIPlvgfBKw8=; b=V/5olYlJeEyZLCvsGWgk4iHm/wYttrpPUpB3QjXdXEPidYCAlUrdd3Rsk8JsIjQlM4sq0T LdTOywh+cae41nAPCmAGaXzplkpiRkUGwGLLVsGyMyjOxLWzkJ1dKfVYvw33Xbp/5serO5 ImztNzkoq6hKijIE3RTqOCeiVOtpUP7r+qsnkjR5K+N5pTg14ykSynmQ9SYMP+vWmSiytE 8R2MPQbgiMQ4BIZMDjrPeTG4VyoZN8b5ev2Rc77PRkqBCCB1aBZIVDaCJA+/0cOesoyw2t gYJ9kSDClDrJwRrHA8jHt+VvBaNTwrpLDclb7q/2s0WxU0kcW+O2Rip+uOZ20w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47qq11KKz2L for ; Mon, 27 Apr 2026 16:12:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4459e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:12:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: b5f4d40951c3 - stable/15 - kgss: de-virtualize kgss_gssd_handle List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b5f4d40951c302cf803d3b7c18a17f9bc0f1c3f0 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:12:07 +0000 Message-Id: <69ef8ad7.4459e.7a6c90cc@gitrepo.freebsd.org> The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b5f4d40951c302cf803d3b7c18a17f9bc0f1c3f0 commit b5f4d40951c302cf803d3b7c18a17f9bc0f1c3f0 Author: Gleb Smirnoff AuthorDate: 2026-04-25 02:55:55 +0000 Commit: Gleb Smirnoff CommitDate: 2026-04-27 16:11:51 +0000 kgss: de-virtualize kgss_gssd_handle The RPC client is more of a class rather than an instance. RPCs from different VNETs are served by the same client. This makes the kgss layer fully transparent to VIMAGE and not even required to be aware of it. It is responsibility of the rpcsec_gss module to have curvnet set on the calling thread when doing RPC calls via kgssapi. This change should enable proper operation of an NFS server with gssd(8) in a VIMAGE jail. PR: 294501 Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D56562 (cherry picked from commit 4602d45eb3b1d33e0ea0d97c4d18033af95d7fca) --- sys/kgssapi/gss_impl.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c index e7e0e5d00118..97b85a034071 100644 --- a/sys/kgssapi/gss_impl.c +++ b/sys/kgssapi/gss_impl.c @@ -28,7 +28,6 @@ */ #include -#include #include #include #include @@ -52,7 +51,7 @@ MALLOC_DEFINE(M_GSSAPI, "GSS-API", "GSS-API"); struct kgss_mech_list kgss_mechs; struct mtx kgss_gssd_lock; -VNET_DEFINE(CLIENT *, kgss_gssd_handle) = NULL; +CLIENT *kgss_gssd_handle; static int kgss_load(void) @@ -79,11 +78,9 @@ kgss_load(void) */ clnt_control(cl, CLSET_WAITCHAN, "gssd"); - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - VNET(kgss_gssd_handle) = cl; + kgss_gssd_handle = cl; mtx_unlock(&kgss_gssd_lock); - CURVNET_RESTORE(); return (0); } @@ -93,9 +90,7 @@ static void kgss_unload(void) { - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); - clnt_destroy(VNET(kgss_gssd_handle)); - CURVNET_RESTORE(); + clnt_destroy(kgss_gssd_handle); } #endif @@ -207,16 +202,9 @@ kgss_transfer_context(gss_ctx_id_t ctx, void *lctx) return (maj_stat); } - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); - if (!VNET(kgss_gssd_handle)) { - CURVNET_RESTORE(); - return (GSS_S_FAILURE); - } - args.ctx = ctx->handle; bzero(&res, sizeof(res)); - stat = gssd_export_sec_context_1(&args, &res, VNET(kgss_gssd_handle)); - CURVNET_RESTORE(); + stat = gssd_export_sec_context_1(&args, &res, kgss_gssd_handle); if (stat != RPC_SUCCESS) { return (GSS_S_FAILURE); } @@ -250,13 +238,11 @@ kgss_gssd_client(void) { CLIENT *cl; - CURVNET_SET_QUIET(TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - cl = VNET(kgss_gssd_handle); + cl = kgss_gssd_handle; if (cl != NULL) CLNT_ACQUIRE(cl); mtx_unlock(&kgss_gssd_lock); - CURVNET_RESTORE(); return (cl); } From nobody Mon Apr 27 16:25:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g486y637Pz6bHMy for ; Mon, 27 Apr 2026 16:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g486y5PZmz3hyF for ; Mon, 27 Apr 2026 16:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lRXRmL8Q8jMAPQLylBaBYCS8oYOreIwFHc7mfKhAGNw=; b=rhlCgThbjwBFrJ1kG6269/PALEPDqFtREuoIJ4/ps3YDN9FOBZIfHxwiSUnTt6KjM/4IK9 RKT4xnrS5TKHEcpae4+lgCd+z6gcn1KeJbUF6ZPp70bO6j3pUpD/ZMzcEcfQrUTJoxhect XG6sOQ9VTlMOZAleQSleUovQytkMbLAil0CFuK/kFGxwBkXZHtrFLUlQTFOupY7uohKiej vE46j67vRKVhA61lapfr1zeA9DUPa8F2L6/NYADPkjyVrgElyFYlb8q3xTmFtQP5v/ZHAK xoDwok9muFVhtnCtSDoxvMg/FANVF9yVcVq/Jrj07kqTXUh3tP8t26DkTsoryQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777307114; a=rsa-sha256; cv=none; b=vCYHXMIMx1yIywtX93YccFt5yAEg6xZghcDWWSpGZ9qAU9YNJbogWCW2n3GmUXVONjyA/L PF7yweKu2LkI9LBUvYH96AbUuCr1RhFz+Rxd5wvnynwptQ1OSk/Peh7e8rqnC7UA7WJ43X 4td4J0BbdaVisxKDS2hcXv8n1r0HKa4UBLNJW3PYWeSS6ct+q7tOm6cA9tb4x0PPXXeloz f5ev7R5DGTlquh+lVBXPh7f0InP3urMmzM3sdG+x4DXaISvgPN5h5W3edk2YdRVMIH3MtE 7yKeEV3PxGtsBt1bsEXYrUkzvPnN/LY4zf61CMYfKZtiZDcFxNf41CFO9+g8QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lRXRmL8Q8jMAPQLylBaBYCS8oYOreIwFHc7mfKhAGNw=; b=BLprrqBWhr8Kaj/vDCznWBdf6QsTAMGcyzG9vq1yp863pV/6v19hlWxYp4Li9W4xupjZCF 4j7nQoix2weIqGbJtHDRET5k8A5eOizuiujgNpA4s1TmJYsCealIyT0+Yzps0XZ3SWDLpo Ot4kNe1yJAnslLCrehATCMZC0sW3x1ckTZDKBQWpUwJiNdoL9nBPryWZIDnag6R/m/gaax szEKIHlzpl5FGjTHMwxfqMYTZMskwIVKVM8e+l50pfqkjtRTyKC5WZipoKsJQ06qKOwTua a1wSQcmIXsnAsSX52d5MZwbcGkelfXYAnVX0Pj4CbiFQOK4xiMmCulHl9huaxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g486y4sZRzKJ for ; Mon, 27 Apr 2026 16:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 444e9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:25:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: a28bb575c89c - main - mixer(8): Deprecate some unintuitive control values List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a28bb575c89c8de62684419ece1ff5e070e4ce24 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:25:09 +0000 Message-Id: <69ef8de5.444e9.31dbcced@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a28bb575c89c8de62684419ece1ff5e070e4ce24 commit a28bb575c89c8de62684419ece1ff5e070e4ce24 Author: Christos Margiolis AuthorDate: 2026-04-23 12:06:15 +0000 Commit: Christos Margiolis CommitDate: 2026-04-27 16:23:36 +0000 mixer(8): Deprecate some unintuitive control values This is a follow-up to cc7479d7dc9b ("mixer(8): Improve mute and recsrc controls"). These deprecated values will be completely removed on 2026-06-15. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/21 --- usr.sbin/mixer/mixer.8 | 20 +++++++++----------- usr.sbin/mixer/mixer.c | 48 +++++++++++++++++++++++++++++++----------------- 2 files changed, 40 insertions(+), 28 deletions(-) diff --git a/usr.sbin/mixer/mixer.8 b/usr.sbin/mixer/mixer.8 index bdff0dbedc11..2d12e6057797 100644 --- a/usr.sbin/mixer/mixer.8 +++ b/usr.sbin/mixer/mixer.8 @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2021 Christos Margiolis +.\" Copyright (c) 2021-2026 Christos Margiolis .\" .\" Permission is hereby granted, free of charge, to any person obtaining a copy .\" of this software and associated documentation files (the "Software"), to deal @@ -19,7 +19,7 @@ .\" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN .\" THE SOFTWARE. .\" -.Dd February 26, 2026 +.Dd April 4, 2026 .Dt MIXER 8 .Os .Sh NAME @@ -113,9 +113,7 @@ with one of the available devices): .Oo Cm \&+ | Cm \&- Oc Ar lvol Oo % Oc .Oo Cm \&: Oo Cm \&+ | Cm \&- Oc Ar rvol Oo % Oc Oc .Xc -.It Ar dev Cm .mute Ta Cm 0 | 1 | ^ .It Ar dev Cm .mute Ta Cm off | on | toggle -.It Ar dev Cm .recsrc Ta Cm ^ | + | - | = .It Ar dev Cm .recsrc Ta Cm toggle | add | remove | set .El .Sm on @@ -153,13 +151,13 @@ The control (un)mutes a device. The following values are available: .Bl -tag -width "xxxxxxxxxx" -offset indent -.It Cm 0 | off +.It Cm off unmutes .Ar dev -.It Cm 1 | on +.It Cm on mutes .Ar dev -.It Cm ^ | toggle +.It Cm toggle toggles the mute of .Ar dev .El @@ -177,19 +175,19 @@ on a .Sy rec device: .Bl -tag -width "xxxxxxxxxx" -offset indent -.It Cm ^ | toggle +.It Cm toggle toggles .Ar dev of possible recording devices -.It Cm + | add +.It Cm add adds .Ar dev to possible recording devices -.It Cm - | remove +.It Cm remove removes .Ar dev from possible recording devices -.It Cm = | set +.It Cm set makes .Ar dev the only recording device. diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c index a0fc9705a301..c9efacc666eb 100644 --- a/usr.sbin/mixer/mixer.c +++ b/usr.sbin/mixer/mixer.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2021 Christos Margiolis + * Copyright (c) 2021-2026 Christos Margiolis * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -428,16 +428,22 @@ mod_mute(struct mix_dev *d, void *p) m = d->parent_mixer; cp = mixer_get_ctl(m->dev, C_MUT); val = p; - if (strncmp(val, "off", strlen(val)) == 0 || - strncmp(val, "0", strlen(val)) == 0) + if (strncmp(val, "off", strlen(val)) == 0) { opt = MIX_UNMUTE; - else if (strncmp(val, "on", strlen(val)) == 0 || - strncmp(val, "1", strlen(val)) == 0) + } else if (strncmp(val, "0", strlen(val)) == 0) { + warnx("%s: deprecated: use \"off\" instead", val); + opt = MIX_UNMUTE; + } else if (strncmp(val, "on", strlen(val)) == 0) { + opt = MIX_MUTE; + } else if (strncmp(val, "1", strlen(val)) == 0) { + warnx("%s: deprecated: use \"on\" instead", val); opt = MIX_MUTE; - else if (strncmp(val, "toggle", strlen(val)) == 0 || - strncmp(val, "^", strlen(val)) == 0) + } else if (strncmp(val, "toggle", strlen(val)) == 0) { + opt = MIX_TOGGLEMUTE; + } else if (strncmp(val, "^", strlen(val)) == 0) { + warnx("%s: deprecated: use \"toggle\" instead", val); opt = MIX_TOGGLEMUTE; - else { + } else { warnx("%s: no such modifier", val); return (-1); } @@ -464,19 +470,27 @@ mod_recsrc(struct mix_dev *d, void *p) m = d->parent_mixer; cp = mixer_get_ctl(m->dev, C_SRC); val = p; - if (strncmp(val, "add", strlen(val)) == 0 || - strncmp(val, "+", strlen(val)) == 0) + if (strncmp(val, "add", strlen(val)) == 0) { + opt = MIX_ADDRECSRC; + } else if (strncmp(val, "+", strlen(val)) == 0) { + warnx("%s: deprecated: use \"add\" instead", val); opt = MIX_ADDRECSRC; - else if (strncmp(val, "remove", strlen(val)) == 0 || - strncmp(val, "-", strlen(val)) == 0) + } else if (strncmp(val, "remove", strlen(val)) == 0) { opt = MIX_REMOVERECSRC; - else if (strncmp(val, "set", strlen(val)) == 0 || - strncmp(val, "=", strlen(val)) == 0) + } else if (strncmp(val, "-", strlen(val)) == 0) { + warnx("%s: deprecated: use \"remove\" instead", val); + opt = MIX_REMOVERECSRC; + } else if (strncmp(val, "set", strlen(val)) == 0) { + opt = MIX_SETRECSRC; + } else if (strncmp(val, "=", strlen(val)) == 0) { + warnx("%s: deprecated: use \"set\" instead", val); opt = MIX_SETRECSRC; - else if (strncmp(val, "toggle", strlen(val)) == 0 || - strncmp(val, "^", strlen(val)) == 0) + } else if (strncmp(val, "toggle", strlen(val)) == 0) { opt = MIX_TOGGLERECSRC; - else { + } else if (strncmp(val, "^", strlen(val)) == 0) { + warnx("%s: deprecated: use \"toggle\" instead", val); + opt = MIX_TOGGLERECSRC; + } else { warnx("%s: no such modifier", val); return (-1); } From nobody Mon Apr 27 16:27:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g48B202Vvz6bJGt for ; Mon, 27 Apr 2026 16:27:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g48B15mKbz3kf7 for ; Mon, 27 Apr 2026 16:27:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XumhasR2FfC4koBUNZyM8W2gMNEFPq7QCC6O/Uok0o8=; b=MSQAFAwUGdRE/TuNpYUxarLAX5l5aKUjPnSxuOeHY9ujm3SvMozvdGkYJn9Btp9MdQhEtO SWosyLhchiNt54H8UnkijbXHhrCOHb1M8fAcu2fAdKs0V99waJ8CHOTsLwQZdavLKdyBC3 b7xmHK0zBK/pDQA7l07wZnu5yiisAz4mQNnoclZcH6wd+5fK74ltRqu7GR5xmys7Y5Ktnn vhh7u4f3c2la5ErXuQcfi6DKt56cp08pVwvf9fwqfMlNXg0Bus28Ns0SSttOtHIokpLa5Z BdU4iKdUFAF2zppg6LDgwfreoFwzMQb5BCfmTD6o4lGq1ybTBH1vJnlZxf+vSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777307273; a=rsa-sha256; cv=none; b=cETI/oSKmAVGgNj7OVpaDR/c3t2dZCWhOqWxwfEgfzfzQ1VeNOgoCzjCIOL8LFNMD8mvEG 4gbNkc8hqwcHr1nNswG3GCo1xRqOUDLX5gKlcUSlG0V9IvAf3GI1bRAKk6ajAVUtbC7wKO 6QP++JRuvUTzcjN0QKrWr39qCAltl2xDmlo+uyDuTkfkNRzWzGDI/2EocwCM3YY6sIFPZp jKXyZWIE7IlExKiGasoPuPxst8xiuvYLy7z2pOmSkbuV+S5n4DadG7XHW0oodtizMB/T2T AiPr9uRuMP1sz5CRZip3YhSgpRtaim9cvHnCZCabEdAK4wywJ2/N+LijYpMVUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XumhasR2FfC4koBUNZyM8W2gMNEFPq7QCC6O/Uok0o8=; b=eCY+NcuZ4hQ24cn8L0g/Dkz01mX1ArQmxLRmpyT5dwhdFikWN9YmV3R/4kSsQ35Y5naTdI d17xTH29aDbpNw6SRWl115p8fJp/k/dNxbJBM7wmpI6BnPZLzWcwxBn+0guALXy3ArNV9S YLiQzZ/ywY3twGDsu0IiWbmvnTIl2cx0t+f/6n85CtnV3NgxI42Mpb7x6HojunEsmKfURH zwucdWcJJgQnS/vYDc/wc1K9FHFH+Pdzt4TE2d9FMtt3LgBay5K1J9BwGI8IN905PunVA8 f38UJX87oWe5JoKNPKLs11G+Xc18HnBpBDRPoyFMBJzbqdSXmMAAbANDdpbkLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g48B14qYGz1CpD for ; Mon, 27 Apr 2026 16:27:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44cba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:27:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alice Cariboni From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 464818ebc9e1 - stable/15 - tuning.7: Fix suds typo in manual pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 464818ebc9e14ce22271f1cd24d6bee0cb00ffde Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:27:53 +0000 Message-Id: <69ef8e89.44cba.3940ade1@gitrepo.freebsd.org> The branch stable/15 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=464818ebc9e14ce22271f1cd24d6bee0cb00ffde commit 464818ebc9e14ce22271f1cd24d6bee0cb00ffde Author: Alice Cariboni AuthorDate: 2026-04-09 15:35:47 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-04-27 16:27:29 +0000 tuning.7: Fix suds typo in manual pages MFC after: 3 days Fixes: fc32c802158f Add two new manual pages Differential Revision: https://reviews.freebsd.org/D55814 (cherry picked from commit f9160912415eef078c32317e02695bc0cc775d39) --- share/man/man7/tuning.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 586b63c247a8..831362e9e179 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 28, 2025 +.Dd April 9, 2026 .Dt TUNING 7 .Os .Sh NAME @@ -687,7 +687,7 @@ There are many solutions to saturated disks: increasing memory for caching, mirroring disks, distributing operations across several machines, and so forth. .Pp -Finally, you might run out of network suds. +Finally, you might run out of network resources. Optimize the network path as much as possible. For example, in From nobody Mon Apr 27 16:28:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g48BY3gLvz6bJDs for ; Mon, 27 Apr 2026 16:28: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 4g48BY2pTtz3l90 for ; Mon, 27 Apr 2026 16:28:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0IU+9hzwpx89hdrLOH9DAVPuv4Y2TUJtP52tH++MTXE=; b=WMzFC5YQ8lZcWuhe3iS8eB16vd+t+oGMfMs3xnUF5rjzOAHQFcVjmXdwhs+YNhRs1MFePA /1z9LFnKYyRr6lJ9ZSxiYDp02kkI4NvJ48aO1upM5VBMi7Wcur1HQd7LHGCh4WToEFaIws Qbw8HyOtPOU7BZid3N67qSPYf9wgXKXVaHXLpIATPNHs0Hftn1H+4TBScGBFljz8d/kUJn t53wOUYpRbUneqUX1p2Kl8wLuay6MGiKpDQCY6cODO0C7myMrUBoiE+hwMbStuZ0XAVtfL SX8wxx484hQaZCdEwLkVwPYO9SqdCrBXKvfWuP0dBc8x9eN5H60COVWWqAwrSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777307301; a=rsa-sha256; cv=none; b=pnOEDXIL5yDds5Io9n1azNBXtOCLmz+6YuaiL5SYJ9iWhvFHkj3gu/5Nxy0h9wLmqbxahY 1l01Gbu0q8gvOt3CKc2AM0SjhbNZL29A02RhjWlXGp0ui42m4P9Rj2FsO1FGhTKyxrJRyJ 7TBBcVvK2ueMrkojATz4nNTCpXLOlzAFVvoI3hxGD2oCQxJpLDZ9pJTl1Ymu8HcYBUQ/Ft vSN5m/HWdM9KC2UjAp3ut+/S8oARfbXS4PdgGCIBr2lYfFS/7fFWBVktRADuR//DX3w1Pv WvVqmJglkpsgw9REgAHYi03pIh8AKUjdAiMIRjx4Rh8LNS8nXNAsE7vKwDHi7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0IU+9hzwpx89hdrLOH9DAVPuv4Y2TUJtP52tH++MTXE=; b=Ld2HPEwKE5IGLP3K7i4WkVMRjkFzz5eBSBvsC5DXWaGJxhFMVi9go5N2aY53BSfHxIDUBu iEny5hiMVNvqY8y2ZILk9f1hXkW3XEsVmjpCYttk5XLcJGBVpAemEIVKqCjHZxAndH9HKr TNvM9VKEizykx3fU5LG98e09lG8+R6ijt9tdLVKHXFsnJMHLBX8ThF+SxJGvDNhsWC4dzv 1TcbgtXdRmJyXzrQr90pm6oIL0Ff/l/51mVfy7vJufdq6wv9bpdrrYwgsczQj8CznncvZR O3zNejT0yKuvs0YzmAI5ZJ2gxD1t0Vt0qrFidkrC3jtZhbzMc5fwSpbzx8a1XQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g48BY2QB4zch for ; Mon, 27 Apr 2026 16:28:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44e43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:28:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alice Cariboni From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: e1d544c49956 - stable/14 - tuning.7: Fix suds typo in manual pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e1d544c49956cd710d6fbe8929974c66c658fa34 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:28:21 +0000 Message-Id: <69ef8ea5.44e43.67935da3@gitrepo.freebsd.org> The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=e1d544c49956cd710d6fbe8929974c66c658fa34 commit e1d544c49956cd710d6fbe8929974c66c658fa34 Author: Alice Cariboni AuthorDate: 2026-04-09 15:35:47 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-04-27 16:28:09 +0000 tuning.7: Fix suds typo in manual pages MFC after: 3 days Fixes: fc32c802158f Add two new manual pages Differential Revision: https://reviews.freebsd.org/D55814 (cherry picked from commit f9160912415eef078c32317e02695bc0cc775d39) --- share/man/man7/tuning.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 8da4b55b9d4f..609a16b140ad 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 28, 2025 +.Dd April 9, 2026 .Dt TUNING 7 .Os .Sh NAME @@ -670,7 +670,7 @@ There are many solutions to saturated disks: increasing memory for caching, mirroring disks, distributing operations across several machines, and so forth. .Pp -Finally, you might run out of network suds. +Finally, you might run out of network resources. Optimize the network path as much as possible. For example, in From nobody Mon Apr 27 16:28:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g48Bv31Swz6bJ7t for ; Mon, 27 Apr 2026 16:28: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 4g48Bv2BCjz3lVT for ; Mon, 27 Apr 2026 16:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t7v3Qy4eWcRhwxRWbSlg9ZQWO5P7KiwZzkw9/VHEFEw=; b=G4bw3irlOTXHT0IczFZnZm6foRM+ThXfanPTxp245K5+Y/RF5rJinu2fWtG9N93FMsXzAB etGKsgeX2Teg9Ms7JKRHkEZR9LqfdbNDpOySHzW2/Yddt9kZ98Yw3ODNowir3BsifrQQLF QEcs4a5FpDCnyCgIvy+QMecue3kGTAlLVX59/iwmNTYkZ9mVyR0ewheokW7SacJp3jOgls toG4b0n/rYBW/xGRnKtDMeIjkiViTUGkrANwUaR0GD5k3YKu8OrheAGxFxM2Qx30nGg0Wg 8tTbivE+zBd6u4tP9RXIblYfdHxJRJBBSPOC+oB1N9vK+8/kx+WsJTwopE41YA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777307319; a=rsa-sha256; cv=none; b=ObTjfusgf1Gebspo/0XRlU9YfW23wvE3B1muXOZm0PuB1iv0etFLT5wpQrTKUWIAiKok+8 frYPc/+c9JDubpxYxDFtis967pnFxg+BRkipHXZ/gCWivnaSklMXLijBgKIdZHPq3xl06T mZ3pQbOKeuUgIJlBqzPPyB4Tojk9ltIu4HCZTehisJsw2CN69in71ySnv22DTDvhb/8FBn urLs4dAwqZMr2UkLYcbtxPV7ezWq8ZGHvHEtexB6fMivtpsbrcaA2nZtaY85g3Il3U82W0 MLp5C1qocczTgyQUn41APenxBctUYM9Ynopt/rj6Acxf7I2oYKcIJo+AjiycXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t7v3Qy4eWcRhwxRWbSlg9ZQWO5P7KiwZzkw9/VHEFEw=; b=VRZ7zDIF3AReUNVt6VD37kLO1T6teqStSNaQ0PAfAjZh3SsNkDGjMyW20QpQc/aNSjTETg paVG74z7GvB+JoBEsIgIOmJ+0AFzs2HQ1fy6m1jgIpVachaBVEmr7vQG22rJireXPPMiFu 2QrGrbblwxBiJ4HZHWcC/iKl+ElBzHvVL/7PoZOlXnAJDxSzKRL0PcJnjfnfrR49m/93Bx 2kgXm9X8N++KgouVyXvzX75SyVoDK1j5O30FKsdIx+zlrszPMrozDAWArZ8Ipb4eMmpkmf 15QU1MMZTZ1g1r0jRmyeh4wJWhsRszKuvCYd6MpMMpJmzTB9npQewqSZufMYyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g48Bv1nVwz9y for ; Mon, 27 Apr 2026 16:28:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 445cf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:28:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alice Cariboni From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 4a56a9aae6e3 - stable/13 - tuning.7: Fix suds typo in manual pages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4a56a9aae6e3c71f7ecbfb31304609db34e1d8ce Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:28:39 +0000 Message-Id: <69ef8eb7.445cf.1039d540@gitrepo.freebsd.org> The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=4a56a9aae6e3c71f7ecbfb31304609db34e1d8ce commit 4a56a9aae6e3c71f7ecbfb31304609db34e1d8ce Author: Alice Cariboni AuthorDate: 2026-04-09 15:35:47 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-04-27 16:28:31 +0000 tuning.7: Fix suds typo in manual pages MFC after: 3 days Fixes: fc32c802158f Add two new manual pages Differential Revision: https://reviews.freebsd.org/D55814 (cherry picked from commit f9160912415eef078c32317e02695bc0cc775d39) --- share/man/man7/tuning.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 8da4b55b9d4f..609a16b140ad 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 28, 2025 +.Dd April 9, 2026 .Dt TUNING 7 .Os .Sh NAME @@ -670,7 +670,7 @@ There are many solutions to saturated disks: increasing memory for caching, mirroring disks, distributing operations across several machines, and so forth. .Pp -Finally, you might run out of network suds. +Finally, you might run out of network resources. Optimize the network path as much as possible. For example, in From nobody Mon Apr 27 16:50:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g48h85n5Zz6bKZ0 for ; Mon, 27 Apr 2026 16:50: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 4g48h85DpGz3nYt for ; Mon, 27 Apr 2026 16:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777308632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qxs9a2ccDvIBsokhpO4BluaBBoUMxVgqpkF+L8ETd8I=; b=Ju1BNjZsMZ7QCsHi5xEaP7TRjGb7vr4JDLOsrmz1IzdiEGvYKYPVZidGUSwp2VC+oHvKiP KcYGlGRcHQZpgG/Hz2uTRFz2kGvA2A4+fVoeoqxYFA0liYBCQlzBiUV3UO1rMwTROeeYgw UvHbhLaTxW1g/H/MqRxDK6pKc1bubiMr0Cj6hnTV/s7ylPZLVwoa31iT6fdDAox+4KGkrG mYid5SS7F9HNixhF79B0hWHrkZot9aEdSd0hj9vyZ2RRP2NujEDo72afpCxfYRMmvzVCYd 9+FqGwN/KnHcV7wIYxurVdbnllFCxZqMeb2iMl/FZS6NEnYkyCvGG6yBMkODiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777308632; a=rsa-sha256; cv=none; b=Y1ZcdOzJvJycvCh2GXMGZaGE3RC+4Xwxv8ZTUJYQpajww6p+fcSQILC8e3feTtc7ksWeg2 fqzzqj7QXcWYjtC6Y7eb9Ou/GqFIMCcHd3+r6Bitu1+D6IaP093OY9LO/eUJAXjRsuyMWL JReX4wVqFvX85jNnDaRT/b6fW2upIiRiBj71iP98C2IgZCSJHzYR2WA8lC3LKxpru91Pl/ uZLsCuJtc0Kv7onRoZHEuGP1avRazQDiRfGTfH02cErBPmtMYIY3YlubAqBqJfxAbUlxw/ qadYoQh2Ep0wqMgo45eLgBvqRtm4zHdbjp+e1bc2t1WOXnnalX8uN97NUmH9zQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777308632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qxs9a2ccDvIBsokhpO4BluaBBoUMxVgqpkF+L8ETd8I=; b=BItsZRLi44OjXdRJeusOjn/lSAozR1Oo3qKZrRtYmiGf5AYaIDCoE60Qby59pgXPR0/3Hh 69Xe613ZS65v3/viDYP4U+Kpe38snlsLmGRHl1r7ybAs+EQnmmiPY+5eaMn7/iX+coYzXM zkozWmgpAWpqHl2fMMCjkHeXqscEpb6oen82JfitMRRKCI/BNY9a2uMc1NITtUWz+L3d5B tSmJaT6S59N2iz5t67gQJfm87jzEsmd9AiGMo90qIzIqAqVvTknhkn2cGh8eqGiuA0MnwT pOhTv64jEHShljrI3THJwTgQQIehR+NWwMSlDWuJZNrSUbwPSa88DUNdjdHWgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g48h84VPFz16m for ; Mon, 27 Apr 2026 16:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18953 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:50:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 050ee8641ff8 - stable/15 - mdo.1: Cross-reference with security.7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 050ee8641ff8e44b3f4e64f61244aab743aa853f Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:50:27 +0000 Message-Id: <69ef93d3.18953.fe6786a@gitrepo.freebsd.org> The branch stable/15 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=050ee8641ff8e44b3f4e64f61244aab743aa853f commit 050ee8641ff8e44b3f4e64f61244aab743aa853f Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-03-22 07:31:44 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-04-27 16:50:18 +0000 mdo.1: Cross-reference with security.7 MFC after: 3 days Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D56024 (cherry picked from commit e23f0deceac4fb77c14066d4a76074548ee75fc4) --- share/man/man7/security.7 | 3 ++- usr.bin/mdo/mdo.1 | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index 0685da5db437..4cbe4b3090b8 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 1, 2024 +.Dd March 22, 2026 .Dt SECURITY 7 .Os .Sh NAME @@ -1099,6 +1099,7 @@ Enables mapping of simultaneously writable and executable pages for .Xr chflags 1 , .Xr find 1 , .Xr md5 1 , +.Xr mdo 1 , .Xr netstat 1 , .Xr openssl 1 , .Xr proccontrol 1 , diff --git a/usr.bin/mdo/mdo.1 b/usr.bin/mdo/mdo.1 index 1de694c69e40..c1a0295535df 100644 --- a/usr.bin/mdo/mdo.1 +++ b/usr.bin/mdo/mdo.1 @@ -9,7 +9,7 @@ .\" at Kumacom SARL under sponsorship from the FreeBSD .\" Foundation. .\" -.Dd November 26, 2025 +.Dd March 22, 2026 .Dt MDO 1 .Os .Sh NAME @@ -232,7 +232,8 @@ mdo -k --euid root --svuid root id .Sh SEE ALSO .Xr su 1 , .Xr setcred 2 , -.Xr mac_do 4 +.Xr mac_do 4 , +.Xr security 7 .Sh HISTORY The .Nm From nobody Mon Apr 27 16:50:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g48hG218Lz6bKSG for ; Mon, 27 Apr 2026 16:50: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 4g48hF68ZBz3nZt for ; Mon, 27 Apr 2026 16:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777308637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OvNpyLOg6aT11pZkcIG1Sr0JEPF+2nBT9QC36Zsu168=; b=pqERDocFtsnPllH2r/JieR6OLP/OkLKqDb6sU0nER/oBU0Ds1ktDPAwTo/gxvmf/oacUtu EFWxpALVEh+h3x0H2ZNvw2MVhyUw+oCwzzAg8KXCeWLR66Ii/qjnUJ7rOd5YRuVv7lB9// d6ivPMnrWhQf5lkL9TC+R8kJsVJJrYpafWzpKjVTIxK99zXBco+6ElW+ZQnenyKyFzHmNh 9/oH3GzY4ftgPReGtzQBosnUxRcnyWGdk1C4qB8TlsEXcL1WI54BKkIdksQqWhFZg+/MEn fyA11GGxu8PyJbWfEoGkuZllQF57oz/bg4HsATp3jo+ptYVL6cDlDv2UCeYeoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777308637; a=rsa-sha256; cv=none; b=cnfgcMuTUVvhFzlHmsQjVbbIheyVsj6wwrCowXGxStYEwslly8tyZ+tZoDq3Qo670NuR+a UwV+Y8pKFE5VhWClgs3GUhSyFUjO1vMlWQzzMf6UV5OMgmcBrpxhjHs0YAKYr7slEXbB/2 hHy5mV2unjo5KCYsDfBOsZmkvbPTrUFgEXTpfgAtSBvi7x3cNQQZyLKeBYZUpab0iLbtLE z4m/E9pkNzm30khwvOJ9bs3WyDKjskrySJS576BLw5GVoqwsDkBBt0AKuSBkuy0CV6eZpq DjKmVtAgdXz8AN6H7ZXCBtF5eteMcZd/iGfw1cwgZb7MM1xbODH+AhydMLdfmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777308637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OvNpyLOg6aT11pZkcIG1Sr0JEPF+2nBT9QC36Zsu168=; b=AyvSA/KZVu8Rikxg3FI33cCcoV70Qneeqlx6mTiaVis0zizUVaXBNMuxoYxhKL/y8W02sy i5mXGFHNkPUosPeQCJ8z7FVa9EGmLToJgbpj6ueNXLfzKDsV3J0vmzuht4av2FPpu2QGck sAuBPthWOWm7Sr/pm0xC1ALBO4aF4yzizFHl10a1a4XdYGeydqHInQpeSFODpsPW8cLP7X 7ZBP32+Y1KZFrUUpdq+SBP2PQpKKiCHQZOrzL5GW7dcyP06a3TcUofU416uwGNzD20GtYL DVLd5miemKbI6nszQGEnSAopb2ct39GdO2FojSrjKMnNy1w5Muq3f2rxb3czUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g48hF4fZ1zxJ for ; Mon, 27 Apr 2026 16:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18589 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 16:50:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 2fb72649b5e4 - stable/14 - mdo.1: Cross-reference with security.7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2fb72649b5e47f7d2bd4e32822a4b5b2c2f23130 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 16:50:37 +0000 Message-Id: <69ef93dd.18589.cb5c708@gitrepo.freebsd.org> The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=2fb72649b5e47f7d2bd4e32822a4b5b2c2f23130 commit 2fb72649b5e47f7d2bd4e32822a4b5b2c2f23130 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-03-22 07:31:44 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-04-27 16:50:32 +0000 mdo.1: Cross-reference with security.7 MFC after: 3 days Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D56024 (cherry picked from commit e23f0deceac4fb77c14066d4a76074548ee75fc4) --- share/man/man7/security.7 | 3 ++- usr.bin/mdo/mdo.1 | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index 20334edef6c3..594595dae8da 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 1, 2024 +.Dd March 22, 2026 .Dt SECURITY 7 .Os .Sh NAME @@ -1100,6 +1100,7 @@ Enables mapping of simultaneously writable and executable pages for .Xr chflags 1 , .Xr find 1 , .Xr md5 1 , +.Xr mdo 1 , .Xr netstat 1 , .Xr openssl 1 , .Xr proccontrol 1 , diff --git a/usr.bin/mdo/mdo.1 b/usr.bin/mdo/mdo.1 index 1de694c69e40..c1a0295535df 100644 --- a/usr.bin/mdo/mdo.1 +++ b/usr.bin/mdo/mdo.1 @@ -9,7 +9,7 @@ .\" at Kumacom SARL under sponsorship from the FreeBSD .\" Foundation. .\" -.Dd November 26, 2025 +.Dd March 22, 2026 .Dt MDO 1 .Os .Sh NAME @@ -232,7 +232,8 @@ mdo -k --euid root --svuid root id .Sh SEE ALSO .Xr su 1 , .Xr setcred 2 , -.Xr mac_do 4 +.Xr mac_do 4 , +.Xr security 7 .Sh HISTORY The .Nm From nobody Mon Apr 27 17:18:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g49JM04spz6bMT6 for ; Mon, 27 Apr 2026 17:18: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 4g49JL6Ytpz3r8V for ; Mon, 27 Apr 2026 17:18:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777310306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BSvwcuk0Q11q+XTju6tJOMgMj0uy8ZP/T21pVawTfJw=; b=E2KkOAaUHJH4dGXBIJaKsDJ4v3ttcDRLrHiEHnRxacw/665V+bTzU789mkcswXWYyofgGd YbxwOL/qgwzaeRcLfeW+k4CSQzwTUSX3Cs/MQBiDZWIoCcs0S2qm8tOYl6+c8r4ViF2y2D AeKr9GHrmcFZ/cS0LdsoRtpNFyfOKx2p8JrCRKRju3BJMVAG+qTUk4bny2VWqllmvhFtK8 FnDEqnS+148weFvMJTTmpXkl7Fe1w1JFFX/r7K03EodwldFkWD7aGogABYIsglmBi+98KJ mdrI4NCH1rLCRYVnkoVv6pI5cvqJmWyCKbnRow7ZiiIkIATKckevE/meWRAmXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777310306; a=rsa-sha256; cv=none; b=Qlm1TB+ZKGt2ycLSug3keweJxkaV6OAiSgXpNBVfHlfyCJyBEhW3qzRaPsJ5MWlx3fJAaX MBWII7Vh0k8vgD6KmUNc9Iv3TP6tBAQuouokOmy6JLXifBizSFTLpYL2gnkcpk+7pgPUgG 1hWpybqcWi9k+NBKdnT4exS2qXQmhe8xbd+4IutriWE+UvFLEOV0OakE8e7iMxhfCXCsIM IF5DDeppGdvKNtFmBhKHV8bf1fc0df97j4CAPbCgko3V2T21tbdfh1VVfcS9u9rxDFUqn0 OskFw4QC8gm9Mwo0G9cBfLt/kVtxX6zwQ8tljqvI9UyvRY/vQXAN6yzI5WO3SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777310306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BSvwcuk0Q11q+XTju6tJOMgMj0uy8ZP/T21pVawTfJw=; b=KZB1QDMJt7xUW2B74s+98CdNuBlo2Z6udFx4H7Gi7tqQC0UqMjlCymWFXG7R0cKFSOqAa/ 6e/VWGF5ZoF097xJU2shJKHBRQsfJgBGeNVTdStCIA/vf0AUIvUhszI6TA39lJnh+DT4ea 3z0WpEwwysLQe3SECzkEza3tMBtI08ZVUd7f+0N9F0HhaeoJjreYD5+4ewfcqJiPv7uuPw hWgCcTglIByFhYsFgmsR7n1fxoANdHmvEzSjkInuRuPfbConxOSmGE7stmJcDYIRc8jknw 2DS5vPf5tPGvuLApwW60tkt0Tf9syfvJYOU07af5cTIkEEgKodX/CHPBkpyq4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g49JL697wz1vB for ; Mon, 27 Apr 2026 17:18:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19e4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 17:18:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ali Mashtizadeh From: Ed Maste Subject: git: 43315a8a15cc - stable/15 - powerpc: remove dead code call into x86 perfmon List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 43315a8a15cc5a690ac97ccb911106cf704286f9 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 17:18:21 +0000 Message-Id: <69ef9a5d.19e4e.8cb29e@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=43315a8a15cc5a690ac97ccb911106cf704286f9 commit 43315a8a15cc5a690ac97ccb911106cf704286f9 Author: Ali Mashtizadeh AuthorDate: 2026-04-20 22:23:57 +0000 Commit: Ed Maste CommitDate: 2026-04-27 17:17:46 +0000 powerpc: remove dead code call into x86 perfmon FreeBSD and NetBSD has copied these lines from the x86 architecture when porting to other machines and forgetting to delete them. Reviewed by: mhorne Sponsored by: Netflix Pull Request: https://github.com/freebsd/freebsd-src/pull/2154 (cherry picked from commit 0ac31026e1e0fb4e4b8a2eaa8ce2ead6a945dc6e) --- sys/powerpc/powerpc/machdep.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 04b3967ee110..a98f095cadc0 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -195,9 +195,6 @@ cpu_startup(void *dummy) */ cpu_setup(PCPU_GET(cpuid)); -#ifdef PERFMON - perfmon_init(); -#endif printf("real memory = %ju (%ju MB)\n", ptoa((uintmax_t)physmem), ptoa((uintmax_t)physmem) / 1048576); realmem = physmem; From nobody Mon Apr 27 17:52:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4B3J1yNqz6bP2b for ; Mon, 27 Apr 2026 17:52: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 4g4B3J136bz3vTZ for ; Mon, 27 Apr 2026 17:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777312332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRKdpqZ7O+NVTAh9xUBW2kOXFcF22r2jZpMC0yoxF9o=; b=xj1O79qJuofJAhmbvpXmZAbWFQ4GFmBtzHAilp+AVSm394fLX03Pc+i/ltcYgHAQWpeAwc wFZsqeeRKaUg6txb9ryVFpfTP6ppVvJQm4PtA5svblV4BKcoyI7sRAL3pMxGzwVOUdTVxn 0+FcBYGt/RYQkhtK+rF0D1PuoDCEvvjIr+6ILPjccfJpDdiXgR8olz9DnmN1oy7waWqRlQ 8ILCWKZvpCmJ5VSyRD+PqCeBSoNllzORps3oBhSOflzMKV/ZUHrakz0xfvW10MKQwRzt8k 4kKuVbZAAAE31U6mwrceH6VQ2dUwtH1HPK2jn5tLRXfSVNxgrewNFIpOGLzO6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777312332; a=rsa-sha256; cv=none; b=CIzi6t7vmTUyoy8WPwvEz1k6P12qjna58WsT8jUqHBdxG2n45FFYswHbObxL6rgFSU4U09 U7BiBkFiA3O75+zHKJMMsAAT4WwnRCMs3KIN7ipCQC9gXgGUIiNVsHx+nEKRHMtm22EwF5 Gqk01fPeJIOw7qBNx3sXGdoL7UkagIiFaBxyEHIpfeWZBK8/W0+E6cKoIbc3c8bMwpuDZS E/z7m9BKBqEWE50bzXq8ffwaZ5J59Z2MSRaD7yRLaudpxk+Mrd9Rrf+l6GQJeAu/PYXLyC C/h9XlA9n//EIB0Ru+6F+jCT5knm0acp1k7InyY80z6RIJLV7jJ3TS75qvPtUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777312332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRKdpqZ7O+NVTAh9xUBW2kOXFcF22r2jZpMC0yoxF9o=; b=mMn5qhV4cpyLEZtHr0eV5+aAWtDiPwOb+0CRrWW8dcVCn8EATCP8euSUoSirG2wIRXDwyv gbQun0oVTSr8ugu/qOp8VFzJRHfeMhW2mSriV3/e0ag5ufG8hfzPqsahy9OKHO8I5lqPK2 sLrKUUa2DXFR4ZN7+VAp6wANVYHvmtBXLrfny54UYAyse1e4OxxCYEKdh+NJ1MED5J1T4b FyOfHrKVT7SRasWqes3OFMQRl59pI/dToBiZONCG+w4ISivmsW6kwtmerATtf3RLL50BbS u4UXj3jo/od539T3LxG6/SLGyvLpxJ3dBXW+LP6s0n4rYNNhs4fQH+OxbzcgWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4B3J0cqwz2TV for ; Mon, 27 Apr 2026 17:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 202e9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 17:52:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Tuukka Pasanen From: Ed Maste Subject: git: 80c73c89dc6a - main - bsdinstall: Add SPDX-License-Identifier tags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 80c73c89dc6a156a119350d7c28c6db1f3b741df Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 17:52:07 +0000 Message-Id: <69efa247.202e9.544d6744@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=80c73c89dc6a156a119350d7c28c6db1f3b741df commit 80c73c89dc6a156a119350d7c28c6db1f3b741df Author: Tuukka Pasanen AuthorDate: 2026-02-16 09:10:57 +0000 Commit: Ed Maste CommitDate: 2026-04-27 17:51:26 +0000 bsdinstall: Add SPDX-License-Identifier tags Reviewed by: emaste Sponsored by: The FreeBSD Foundation --- usr.sbin/bsdinstall/partedit/partedit_efi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/bsdinstall/partedit/partedit_efi.c b/usr.sbin/bsdinstall/partedit/partedit_efi.c index 7c4f85a69b8b..21d03c6668ba 100644 --- a/usr.sbin/bsdinstall/partedit/partedit_efi.c +++ b/usr.sbin/bsdinstall/partedit/partedit_efi.c @@ -1,4 +1,6 @@ /* + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (C) 2016 Cavium Inc. * All rights reserved. * From nobody Mon Apr 27 18:31:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Bwg6k46z6bS7r; Mon, 27 Apr 2026 18:31:31 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Bwg6Gflz41Bl; Mon, 27 Apr 2026 18:31:31 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777314691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CcBGcxN5kk7E9gAA92ettl6nKlt2SAOLnfuMq0mBi8Y=; b=FNQTVeH2ChFpr9JPpGtRGdxsL2UqYwL1dVIy9FthHC5F6877igdzNkbpUYv5ieTEP/fy+P NKfqntVn0fN7V4aZuF5CkYQcMHoRy0hz3/IpGoXWUsdDSgG83LP9eKt/94/EQZLqgf1kiz Fn5DRBDUKkR4bSow5Z/nHTZUo9q3AzU5U0pRbWjKpj3ukbnzqjXefEz1N2mbfC58EN2Azn p/bFnQCOlW86Te5eUlejtxK6ElB0QszZCVJ+l5BNIS+nPvbhAWDhJ7xq6LkJ52rNzhuLgT blY6xL7L4gwLDLz1wwf6yuyoJ1vAM5bPAvz+zUjzqf3qn97LjQiG0ctdC3L6AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777314691; a=rsa-sha256; cv=none; b=xcRzI1QF6VS9dUBhh8kWfxFurF4Fme96UDTGmSf3abodwzlhKcvygJcGqCqH7Lf02qGHpf 3W5zJt3e+e+qrMSBFNER5B2m9yznx1w6s58rXkmqUbPakxzBZi4NXEy15vJ1whwXd9Mnb8 DRBcwySwphCWdGRqhYaSNQ6i76Hbb4J/6nTcOdZ9WFwmIG+y4I5r0GlLBX0lJu7S8rsk1B VCqdSD3heQt2zUucSgi04y5w5Exw2eEzV6aHQ/AzETNwGXME209csc5IjnQ/DOlQmc+iO2 048G4r/rXXgfBAlSU9r+SudkkOLCE5fiOWGlJm9vUH/FjxHCOSKYbIRNJ/XA+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=1777314691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CcBGcxN5kk7E9gAA92ettl6nKlt2SAOLnfuMq0mBi8Y=; b=cq0Ru7xfIq1jFCAi7Fa6dqU/gRpxRQi+BKPORirAXhliwqXkAJp1hzrZX5HN4IUkDAcv74 U5hYt+FsQsl+EB7L0du6lpNPQV0hIYO+p2pw/I67CjTb6+fz0uKf8tsyArDVvOhU4eX86y m8bZAsI4v7oVI8FL6p7pOfDHhoKlebDJNEIJv7e74VaBu53ECrLo4iJthnvxP+/M6pUZOa T8jeP8TZMoek6MVHT8I9El/dQMKbwRpXMG1+EmfwiZc8aegIe6vOjLORcAa1NrTq6cMEB9 GACDaJtzc8dq4t1t3l+UDQ75hmK1kS8dVCRCdCS5UpE0EfunuL1rN1k1kfYWqg== Received: from ltc.des.dev (lfbn-nan-1-698-103.w86-236.abo.wanadoo.fr [86.236.35.103]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g4Bwg4nYtz191q; Mon, 27 Apr 2026 18:31:31 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 2990F8DF9F; Mon, 27 Apr 2026 20:31:29 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Simon J. Gerraty" Cc: , , Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: <15177.1777314263@kaos.jnpr.net> (Simon J. Gerraty's message of "Mon, 27 Apr 2026 11:24:23 -0700") References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> <15177.1777314263@kaos.jnpr.net> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Mon, 27 Apr 2026 20:31:29 +0200 Message-ID: <86bjf41chq.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable "Simon J. Gerraty" writes: > Dag-Erling Sm=C3=B8rgrav wrote: > > > Treat '#' as a comment anywhere, > > > but ':' only at start of line. > >=20 > > I can't quite figure out what your goal is with this, but it doesn't > > seem right: `:` is not at all a comment, it is just a built-in alias for > > the `true` command. Among other things, this means that (assuming a > > clean environment) these lines do absolutely nothing: > > Not quite. > I use lines like: > > : tag=3D$tag > > to aid debugging. Eg: > > for tag in `IFS=3D,; echo $DEBUG_SH` > do > : tag=3D$tag > case "$tag" in > > without the : tag=3D$tag one cannot tell what the value of tag is > in the set -x output. > > The goal here is to ensure a line like that will be ignored. That's beside the point, which is that your regex is incorrect. It will treat e.g. `:foo` as a comment. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Apr 27 18:24:23 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Bmm2Mx1z6bRPc; Mon, 27 Apr 2026 18:24:40 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.pphosted.com", Issuer "Sectigo Public Server Authentication CA OV R36" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Bml6ntxz4169; Mon, 27 Apr 2026 18:24:39 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108156.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63RHWipk1347778; Mon, 27 Apr 2026 11:24:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=PPS03102026; bh=aBmZOxr345Vo/4PDGAkVRLbPh+a7j7RaKu0ufPEyDGA=; b=M1Ks/rZh5pss c0fHnrnPzsbXAIS/XbkA6ZJ8fZ7xNuidZgp7xDc5yk1GBPIaEXhFKPHy+iMvta24 zsqo55mm0iYBIoF2bh3vUQlm3lEgGiPOaqt5r9xqLYHW1i8fPVtvkJ0sw8Uarxre QiIr9Md958yyVuMp1hn9LIhyJDHNm0pLZIX2C2WEDfnp8MKeFXk0LbVkApzFqRbz FWSe11TssfwzDq8/2fZvVVw3kiveESvMporEQulr7BgMZOuHAWRC28CTkYNoq1zS ASe7pfOdBt3UiI76kw9A26Hnz3lhKbeBjDzGeAfzgv/Q+d0U7XnCeToHtd6hX5sZ Nvv8c4HdhA== Received: from sn4pr0501cu005.outbound.protection.outlook.com (mail-southcentralusazon11011054.outbound.protection.outlook.com [40.93.194.54]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 4dt80nsrnu-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 27 Apr 2026 11:24:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Wvc090H90TEd4A1/PqU9t/UhqH1EVAPmsKk13hVGftBl44T+sMwcPFf/kvDBh0/C7Ad6tugemfiv/siwU+7ellYq0cj3PquMu6DU3edYuLMHkYtL0rP+OM/95FdlWjQPtlqonpoBItdBLVTZHgiWK22U7g22J1E6xZoJ7d8UFRw/XYCo6jjT/yEvVRz17+15gSN0x786YKtwMSAzmfR1vEEUJfsFItcFznqPiPqMW2AWCMSWTbj6IsAPhyGAYo0W0ZsEH6kNAEZypigIMaGTAGCCIc8m9mfOOID/ZrAh4B8hdGbGcpZqbGo3fHfrdZze2CC//2pHb9cSnobprFdsYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aBmZOxr345Vo/4PDGAkVRLbPh+a7j7RaKu0ufPEyDGA=; b=na5JQovhrClmUO+A9Yd9n0mRDk7Ig0yGfOipWC6DN24A5BD6K93gRxz6MjHW7GF9+PWPeD0cd8dithrF2J+h5l5qiNMJzSUF0UKfLg4UiQs8bEQ8Rdgbndv60lR1W/dw6EqrciXgIiK4Mxu2BFucfzY80X3MsDEeGXnn8UdRAHGzHn0CFtWRkbC0dWs3BC0KaJ0laaepkm/DC3Fj3RCwahXWtWZwGbFPsZZismJMGEfCZcfVHltzP2kwiGPGvjFpdc/V9q1epT0cE0D2idQ1+nE4hxFDx7RbBSbMAjZ4NgcFiwJtQTrPCAcVVaEn79iF9BPTYvWbxBMyzOuVBux98Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 66.129.239.14) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aBmZOxr345Vo/4PDGAkVRLbPh+a7j7RaKu0ufPEyDGA=; b=jiU/jovxpJMZ9Smw5X+gI/6QsnQp8SZzCPbtf5o508tgKpskyOpTuAD+ZUmFSkF9NOEyEijn1G1T+r2h4VYOK0nNjqcWBJ4BYJ3Xdj2u8TkNsYHSe47aXAGlt4qTS0ldK3bV3oieuPIhGQaF7JDxnDCGuVFkoKmJu02JhJJPvfM= Received: from DS7PR03CA0160.namprd03.prod.outlook.com (2603:10b6:5:3b2::15) by IA1PR05MB10240.namprd05.prod.outlook.com (2603:10b6:208:454::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 27 Apr 2026 18:24:32 +0000 Received: from CY4PEPF0000EE32.namprd05.prod.outlook.com (2603:10b6:5:3b2:cafe::ae) by DS7PR03CA0160.outlook.office365.com (2603:10b6:5:3b2::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.25 via Frontend Transport; Mon, 27 Apr 2026 18:24:32 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 66.129.239.14) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: Fail (protection.outlook.com: domain of juniper.net does not designate 66.129.239.14 as permitted sender) receiver=protection.outlook.com; client-ip=66.129.239.14; helo=juniper.net; Received: from juniper.net (66.129.239.14) by CY4PEPF0000EE32.mail.protection.outlook.com (10.167.242.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.18 via Frontend Transport; Mon, 27 Apr 2026 18:24:31 +0000 Received: from p-exchfe-eqx-03.jnpr.net (10.104.9.50) by p-exchfe-eqx-04.jnpr.net (10.104.9.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 27 Apr 2026 11:24:23 -0700 Received: from p-exchbe-eqx-03.jnpr.net (10.104.9.86) by p-exchfe-eqx-03.jnpr.net (10.104.9.50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 27 Apr 2026 11:24:23 -0700 Received: from kaos.jnpr.net (10.104.20.6) by p-exchbe-eqx-03.jnpr.net (10.104.9.86) with Microsoft SMTP Server id 15.2.2562.37 via Frontend Transport; Mon, 27 Apr 2026 11:24:23 -0700 Received: by kaos.jnpr.net (Postfix, from userid 1377) id 50D2DC6798; Mon, 27 Apr 2026 11:24:23 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 4DA6FC6797; Mon, 27 Apr 2026 11:24:23 -0700 (PDT) To: =?us-ascii?Q?=3D=3Futf-8=3FQ=3FDag-Erling=5FSm=3DC3=3DB8rgrav=3F=3D?= CC: , , , Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: <86jyts1xzr.fsf@ltc.des.dev> References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> Comments: In-reply-to: =?us-ascii?Q?=3D=3Futf-8=3FQ=3FDag-Erling=5FSm=3DC3?= =?us-ascii?Q?=3DB8rgrav=3F=3D?= message dated "Mon, 27 Apr 2026 12:47:04 +0200." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.8; Emacs 30.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Mon, 27 Apr 2026 11:24:23 -0700 Message-ID: <15177.1777314263@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE32:EE_|IA1PR05MB10240:EE_ X-MS-Office365-Filtering-Correlation-Id: 24650427-30d4-4b4f-c33f-08dea48a3a05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: tgxivMUSwE7d/RShPYZOITqAyFjSkUksxazOQ8x+uf5vEE6sa4GM/Q9bazovG3Q46ZqWZ2dnNyvdnqCgTbOA3IdgIHwvA0ZS8KPzik4wbAo4lZKAnbFXblaXOyvf2J8wzk2MQhxo1wD2eaCQ7HuDCttcwlZ8J3YDy83SqX97Y6p2gVYzxs9NdsxYki5tfB/sKBXCnANZVbJPGtzay8XF7C6qkTol7fAUo8vFygM76i1vJv4gdHbG6yAroiHj3irh8dX8ZoCxEkCdPX3csm+qvzvpoDujT/Ou1iP7z3n51LBeFS5+tcYbzQivikUxDiVdanu2jWvjp9J3Y7W2CtH+bUh1JZL9WaVxUX9hrY3MNHfsTUONWbR9KTiFsUN1Hon/bXKWSOCveLqv8lbMkY/a2OJ+M1XMQRvGxdo3vxn98aCqUlwE9ThURwQnPVu+9N5m28DmraoqWmvBLepj498m0i6YVf3yKxBOQAlj9dAsVdF0C88Y8o7NkfuZzaLIzlF5fYUnGalooGXMcY4/ArVAbBw2mxiLfwVdtC5gsfcQgpRs73s6VyTMW1Jt1LyXgf7dPNhBS0FzjrpoT0BC/BQy6il67f8JoDogrhTFVv60NVe4Wgc+vU5eqg1Mgz4yflEE70gmwrpmYV4SRANYsaOPhw11u9bexdlWEj3FnHbN3vaeyY1yrocnzwhlG+vbEOsjjSNCl8VorKSS0a0YIBHR5bGP6Z4bTSQySp9WF/tuA/FXkD3qZlDjpk19GOzlbW0vRONT5FDkV1VUEOLpgSsVQw== X-Forefront-Antispam-Report: CIP:66.129.239.14;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:juniper.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qAZqSRqzRmOtePG25hlOsk73qd75q5mg38oz4t+njmC1SmRiCvuKZ44ChdP6Ld6p0bvy3gyQqxaZcYRX0zwe8+J/QdKzO8omGzcpZ1HR7yTdB9+SbArfk1ObOvePIKR1Ox8v2UHQgrZd4YxidPg7hjBof7B6VcqJgtzCUvsNCwCt2SJydgXdKXGndiyWFIyYAbeWnSDaXHy/+owFw4n2gwJy4ouqnE3/Or8DGCR1DOchQhPrgisMPzsGUPdUgiimv0jQ93FXPuDJfT09Pg+UT8vGvYygzic/BdTtFVybLCJnU+wRKIQXdDWJeBWmhcH9Kw1VJvPQg21lp3HGb5+MDQJQa9tfO/rVJa20HQPvTzYRxo0g35VjU4HkZvqdLrhovSnXWFhX6Bhk4In6LzSF2NqfhLvUle7WX1or7YYw5DwOdf8Cegb2FKUNtJ0axTP+ X-Exchange-RoutingPolicyChecked: omzAFSCUb7ELw9Y7g8Ju7aMTuuSgdvF2PbMhKxbcZmtkRxtXXvD5G+fy/ww72C5V1oOpc4iBfLQ5uQlegZ5dDDYhuw5HVrY6GDcYQSkHPebXiGg0m+N0jAaJgDHuwghKzgKMrbaIsvmxSWcpniDsvhbMmmS6kt/L4e2Ke4tx6EletrXXvQwiJ3rKovOJkMjcRcGckZsItPF+5DvPPy/gCkHueCJ9Gf6Dgbo+d17DUwGGv50t714x/L5DeGJzYqbjPw2APCZqJWGwftu7JYyJjRxYl32aE91zc4cJ++hpABo0HRWABV8kz9/jMC+x49OLnnY+2MEIkGkRSyU28n7NTA== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2026 18:24:31.8493 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 24650427-30d4-4b4f-c33f-08dea48a3a05 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.14];Helo=[juniper.net] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE32.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR05MB10240 X-Authority-Analysis: v=2.4 cv=Rf+gzVtv c=1 sm=1 tr=0 ts=69efa9e6 cx=c_pps a=cVuenkWoTzwZy9czxFkdkA==:117 a=f/rncuQqEjTEF/G1odkJ9w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s63m1ICgrNkA:10 a=rhJc5-LppCAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7vL3O5uBSuztJ3xaqtyr:22 a=8vlvHv4eveIrSVLlmQuz:22 a=6I5d2MoRAAAA:8 a=Pv3bd-gxF8kaP3_T5fgA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: TlTCSK9XNdynpp5SaItUdIkT1QDGnvdG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDE5NiBTYWx0ZWRfX0puc5QEDXwcm XpYyXBzvxlebE+faYoNLIeLJeOXyeJ+wumuO0ri0x3H/p58MyoLgVH4qwlrDymGq579gnfU1FhC fR8lyw/RztolqtWy5lmUjvaBUXzXvPUW5Ow3TLmLOF4g8jgdiD/CQhmxfJdtEo8tLcOU4ivOUri 5ACs7nQHDND7iNm9W2HO2+ALXEmE+iMkNOE3Fevy6pY+vfJViAJbdQT7dFLHhtr2/TEiXdlCDHS WAij+e1xJfL3Q2DIm3o3QWbrWSY/AGJ1BEGsrqrRjZyjuGwiLyjZ10lFkji7h6rDpVwNAjAPGE8 k6MsnUQUMM84M8jJKUrUAoTqYpDm83fcdZpa/09cBGKKqPkcmeCl93TrmmWk/mokScFJ/e9ZLru 8Zft9p9sEed4PuZMA4bnx12hbmtIBhCbjEOoHFcF9lEWylxoabsWE7wESLWS0x0iD9AlyKjlUXj 8lz9+Yhx6Wtqk7RfM1Q== X-Proofpoint-ORIG-GUID: TlTCSK9XNdynpp5SaItUdIkT1QDGnvdG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-27_04,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 spamscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 malwarescore=0 clxscore=1011 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270196 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:26211, ipnet:208.84.65.0/24, country:US] X-Rspamd-Queue-Id: 4g4Bml6ntxz4169 X-Spamd-Bar: ---- Dag-Erling Sm=C3=B8rgrav wrote: > > Treat '#' as a comment anywhere, > > but ':' only at start of line. >=20 > I can't quite figure out what your goal is with this, but it doesn't > seem right: `:` is not at all a comment, it is just a built-in alias for > the `true` command. Among other things, this means that (assuming a > clean environment) these lines do absolutely nothing: Not quite. I use lines like: : tag=3D$tag to aid debugging. Eg: for tag in `IFS=3D,; echo $DEBUG_SH` do : tag=3D$tag case "$tag" in without the : tag=3D$tag one cannot tell what the value of tag is in the set -x output. The goal here is to ensure a line like that will be ignored. From nobody Mon Apr 27 18:36:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4C2l2gBtz6bSFL; Mon, 27 Apr 2026 18:36:47 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.pphosted.com", Issuer "Sectigo Public Server Authentication CA OV R36" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4C2l1K0Gz42f6; Mon, 27 Apr 2026 18:36:47 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108157.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63RI0Lew177895; Mon, 27 Apr 2026 11:36:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=PPS03102026; bh=K/2iAfIlyg8Xr55CFYBaduXQ1eNnoMCWaoSd2KZbieg=; b=JyP5CnIQeYqi 5na1HFtrDfKCxhkQbde3plRs/POgzr/CMjkTv9S8SrrtnCjwMqvxyLyvRLblCxto rfKZ/s/ZZG0sZK6z0zhEpgdO17VKiNsZlJ8ZlZCSO0sNIsdph3LWQJc4gB48wPsO HPr5Rvas8eXcXpI6htl8BuRjaFC6GES5vMEeuAGiXnNHsO5dP+uEn2gQjQxiAkem PWt1aloyhvUBKMI7J6Thswk5dxP+BvDvHlc7F45H5JnNHHAlCnGHi4zMt54GGEHI sg2M2mP41SGJm8aGlOliLtVIc8CUlnJFN0Ptvsc9V6ZEi4qSOxP2YZRp+4nI4vBq ewuEVOBddQ== Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012041.outbound.protection.outlook.com [40.93.195.41]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 4dta5r8vdg-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 27 Apr 2026 11:36:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ExZiUZV6Aip/MoRsUU6YQoGGb4lVHex8fjEquMroYuIUg+q8Aqx1XWRorW0UJk+Zf2WFaWWPJ4NHKaaTAIhybz6Bhp+n2x8MKoMjP8B75Ll+niI1fQtVTlxX3Re0H3xmUyiVPdq8ESzp/+vQmpzH6aKb1+VBgQI7TGh84VZrX+NLqzgifslYpSicuYlHjjD008CgXr9ux34UmRKe5D/ejUNGvDIEG9vwTalv050nM8JYVK33jksk16Syd27zcfNnJkuuGXtiMMjsOKYdWSI/J3hgdNUD2rLNWBsMmNKh8YvyFlEvOEOqaDSN3/j5uWmi47mp5HAYSqv42n300Dui+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=K/2iAfIlyg8Xr55CFYBaduXQ1eNnoMCWaoSd2KZbieg=; b=aGXU4MieG9qyDZoIJHnPLZB7vwP/PanTQR/jkKxNecsw8FQSLAn5gIVSBOh4i1m3HKqJpKQsDUowxJug8I6mmC/omzLGj6FPl40zQNsfpj554WYb98Jnrk9PHFO5iC2SUPruBcHwa0w0FCxidBPtgVFaGn4lju0ftZN6HjRAQQY1TNakbeAWUhoX3gTDhrF+1sC71Rr7A+OpJeIKnfTP5jwXEzrlKI06ukOnqjwYy1CnoL9pWDOszRtDKxgvADGaX1g6LcRqm+Wm4QqCu7YSmJ3C+xHREYyLoAwINwhTGavaJFpsXVR+CQBgo/TreGhkzkAZ9YzQicJkOFZDr8doVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 66.129.239.14) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K/2iAfIlyg8Xr55CFYBaduXQ1eNnoMCWaoSd2KZbieg=; b=OCb3I3B1QJ/9Z7NJT0Qf0iVhrrBaxUgxtYvaL7oSIiSkWP5KU1BQxqSi3xXGPjs+I6yatmDzOoarpCK1+foH2xBd1edUEXT61fYWkCrMTh3f007RUgq+v444kpsP2h3YnUxQ93quHQkpHButFuGSgUuBJHfM+DQwobvA9r22K2Y= Received: from BN9PR03CA0307.namprd03.prod.outlook.com (2603:10b6:408:112::12) by BY3PR05MB8387.namprd05.prod.outlook.com (2603:10b6:a03:3c6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 27 Apr 2026 18:36:40 +0000 Received: from BN2PEPF000055DC.namprd21.prod.outlook.com (2603:10b6:408:112:cafe::8a) by BN9PR03CA0307.outlook.office365.com (2603:10b6:408:112::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.26 via Frontend Transport; Mon, 27 Apr 2026 18:36:40 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 66.129.239.14) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: Fail (protection.outlook.com: domain of juniper.net does not designate 66.129.239.14 as permitted sender) receiver=protection.outlook.com; client-ip=66.129.239.14; helo=juniper.net; Received: from juniper.net (66.129.239.14) by BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.0 via Frontend Transport; Mon, 27 Apr 2026 18:36:39 +0000 Received: from p-exchbe-eqx-03.jnpr.net (10.104.9.86) by p-exchfe-eqx-04.jnpr.net (10.104.9.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 27 Apr 2026 11:36:39 -0700 Received: from p-exchbe-eqx-04.jnpr.net (10.104.9.87) by p-exchbe-eqx-03.jnpr.net (10.104.9.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 27 Apr 2026 11:36:38 -0700 Received: from kaos.jnpr.net (10.104.20.6) by p-exchbe-eqx-04.jnpr.net (10.104.9.87) with Microsoft SMTP Server id 15.2.2562.37 via Frontend Transport; Mon, 27 Apr 2026 11:36:38 -0700 Received: by kaos.jnpr.net (Postfix, from userid 1377) id AECD1C6727; Mon, 27 Apr 2026 11:36:38 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id ABA6FC6882; Mon, 27 Apr 2026 11:36:38 -0700 (PDT) To: =?us-ascii?Q?=3D=3Futf-8=3FQ=3FDag-Erling=5FSm=3DC3=3DB8rgrav=3F=3D?= CC: , , , Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: <86bjf41chq.fsf@ltc.des.dev> References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> <15177.1777314263@kaos.jnpr.net> <86bjf41chq.fsf@ltc.des.dev> Comments: In-reply-to: =?us-ascii?Q?=3D=3Futf-8=3FQ=3FDag-Erling=5FSm=3DC3?= =?us-ascii?Q?=3DB8rgrav=3F=3D?= message dated "Mon, 27 Apr 2026 20:31:29 +0200." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.8; Emacs 30.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Mon, 27 Apr 2026 11:36:38 -0700 Message-ID: <24831.1777314998@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|BY3PR05MB8387:EE_ X-MS-Office365-Filtering-Correlation-Id: bbd38d19-8e45-475c-dd86-08dea48bebee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|82310400026|1800799024|376014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: GCXSDqQlNlD2ErYoNGvcOKbXn/n9/r3S8aAjrs1yg5WMMJlIsfBXDp2M1QZyMXLURaeO+9CcBsmOpgcsojk/PGkXx4LDwwK/WJiNi2F60P1el0xwgEyIMURQJhiXWa3dvJAsjC4Auj/YbxVjfb/8uCO4LydkZFnXFS7Nx0JwZQfhZ/WqxswSiVbruaj3ezt/3Hk3pdZVnCIR9s7ZKD1TGfktrNXwwqsG/3vRWJhK3bOuumP9LsqedMJbaVxHmBPD8X5FsZXfU3Cnhj6vgPQa0bLYryG5Qo5eMBrvxLe1d+0ECSQ9R0jpirKS7mMeW6Oew4tk95VUPzXWiTCePfotYXuUaQdgEwtdTl2VQXwrg7fE/It/CoIMeszpdJWd/DpAS604GIQyjbcNdhH3bJ61s69PIluUoDV0qiVp6fY16QFqwxPhCjKPcKAC1Id+HkVBHRuFgozWVWPpwZpG8FogbSprF36R3ae+WSf6OP3aHXv59Lkhhtp5Gxoj87tdTNLzVvS0BFWG2aaiIzQ+6l45QwsqipAHvMJ3KF0P+0VPIT+U8/nibz2P2+WMHFHvpeo1LofFTa+jjW3TE6Cci3QD5mN23A7ef1ZedabVhAyo4U+xmIRL9cTXLHzgcoZx0//wF3t9CFelhkTZKLS1b1Qdn9+uKD1+vWIyQ8bgN3PNBDPpIA4f1XbpH4qufgfO+uwAtJwPmDKClznLTPg81RLjYQtEicRAZTRnMgMJ6eiYHMHG0JAz+mfDXUCHsIALtHW8HtXytDUA3lgJ5sOKPGi5aA== X-Forefront-Antispam-Report: CIP:66.129.239.14;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:juniper.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(1800799024)(376014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5JNPzBS/eqT4MD4pp+GYxhksqT2nk3F5DEC75jiWgKncdXqkQrmZfYLyTUTD4dcoUfzhjAr3boIWPY1xRgtl2OFWxcpBFuYuRYFfG3JrxDkZaPwfbYY8o6tEQhKVE2g31ZImTXCHexiK0kBss+rXez2OEJGpt+YWVOxHBdkHBt167vEihKGSBuwWRLh8/9srRDsEZLAz3kzAfAWAw8efdfXc0satCv6p0TvxMp8i3h1t2ewCr/ilM8IMfHJt4Q/w5y6dAxa9kY5bXACPueIkPqmnWM0T0ZtDuyv4tsQ6pT2EeghAu52rzu7Avk4/X9bjT3wmDA6RIfghkmvr5I7lo8QZIvHWUxQs85MEevlXCe5cng3RLUhMtWMPUeposUOGtQe/2BwXscOk4/sblryE2F04wNwFQuJcQQ0GHevHsYX75gJTMzTkVuEwO/H8ixQr X-Exchange-RoutingPolicyChecked: X07ZuRwRzb0xPHTP3j+EmYC7NndfcSsNp9X+pC2xjotWF+cloEdVwD2cbCbRsgff0ceISwjqv37+Wj/cI5BQcu5LehLiBo2AM6N/ICv3BxLJUdi5XrFJ7RsKoXRS5xZKa+xmbozWVE7/K2rb5tTQQKXsqBbjvNl3YihUt7ac6BotAha9UOPDu/NSDb0pOYBOn0cktS8TVi0HXzIBaLFKZ0IG7FvZlfy+oyUV+IA3SMfgmFfYT0U955lmehOg+wBnvtGaO7f/tPufo8wBORuppHcIC7cOyrctjc1scz4qlkc52e6zZj0q66WRoG0pTegeCFQOCJaqsg4gMKzd7Ohj/A== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2026 18:36:39.7427 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bbd38d19-8e45-475c-dd86-08dea48bebee X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.14];Helo=[juniper.net] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000055DC.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY3PR05MB8387 X-Proofpoint-ORIG-GUID: khoNbznT-nw8PLss10ONtk8RrS-DZahg X-Authority-Analysis: v=2.4 cv=C9vZDwP+ c=1 sm=1 tr=0 ts=69efacbd cx=c_pps a=9jlK8eo7xmF8zH0m+f/LEA==:117 a=f/rncuQqEjTEF/G1odkJ9w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s63m1ICgrNkA:10 a=rhJc5-LppCAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7vL3O5uBSuztJ3xaqtyr:22 a=O1S9G-DnkxobS-ZkPuRe:22 a=6I5d2MoRAAAA:8 a=5zyAEg4KNuEpZcpAOOYA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDE5OSBTYWx0ZWRfXyaPwV9TxSVIC wHuRycDG/TkGVAludbwCIX6wg0XmKDUR/H0wIGn9VnAoS2H4ScpG5tphSxHDutCwwAbZ/5atPVf P865ezQPwsjtoak11/pHd+5cN1bwfTo+W4HcZ3G4068u6BCaRpqQ9STuG9V4oA6kEjTOhjkV+E0 QUqGEQhyf1IEBI9TjsTmc3vSkdpnmJi8HgduF3+sSOx/anzi+WbTMYF3NqLL2RkS4cvSSllxQz3 3Wnx9hEq39mTQUVaFJdCEZDEX3wxj5PXSHnCMpW7TZNlnQdKWQWFs6Em5cEuvarlw9DFWTcc6W2 ocuhJxS1bAmpr9nvPwyu2XsM24P6nsJWymKVi6Dypf6CokW7VzsiGtJ6mzH+3oJrHBcn2W2A5X3 SVSoWwR6STyAc++4HNPi7Rkwf2lyWlsMsesRHRkkzuZvgARFyKJxbhq1jb5R9ih22bfyr9vHU8Q De7YVcz0gsD2IJaMeLw== X-Proofpoint-GUID: khoNbznT-nw8PLss10ONtk8RrS-DZahg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-27_04,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270199 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:26211, ipnet:208.84.65.0/24, country:US] X-Rspamd-Queue-Id: 4g4C2l1K0Gz42f6 X-Spamd-Bar: ---- Dag-Erling Sm=C3=B8rgrav wrote: > > The goal here is to ensure a line like that will be ignored. >=20 > That's beside the point, which is that your regex is incorrect. It will > treat e.g. `:foo` as a comment. Which is fine by me. That is not a syntax one commonly expects to see in rc.conf.d/* safe_eval is used it sitations where we are paranoid, normally only wanting to read *verified* input, but there are exceptions to every rule, and the goal of safe_set is to ensure nothing wicked gets eval'd. So I don't mind rejecting :foo=3Dbar From nobody Mon Apr 27 19:20:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1R5nM7z6bVhY for ; Mon, 27 Apr 2026 19:20: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 4g4D1R3hbjz47BD for ; Mon, 27 Apr 2026 19:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iy/zDQh1rCcW5xh8TXXBZkPbaPS17nqQ5DdQ11Aj7LE=; b=dBlPzevagVNTJhyCwcMBJwn1V0GTHvwCbVifk3GG+7Vca9yGvVCORBZkTgG3U8CtJsDicc GC2uGp7JOSp1nboX1hHje54JGb4d2Vrh4AAVe/me5AlE1hMpQmZ+QCcaSkGvciXQ7uo4Td Qp/8xSQitQgBwV3qDl9lndy+/qrslkDpl+yCXnMDKPtUrbqoz1eIPK3edB9tPZ9cdCTIOL Ka6f/55F2RJ0CVED0gNn2rFU+hquqOFK8zTrgFvhZIRTTPxjRwHDZYb8AdE4zt2CRP2CMq WB7RCVsRvxb4wvPuTtsAddiBElmLMrKBcVFjSegvyupLM057Lwn6ZvLoG1koYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777317643; a=rsa-sha256; cv=none; b=aVALH1KBWjlwwEr421G8cQZoEe43iGdCVcozRWmbfvWnmnOPCs9d1v15bh3ZHx9BWSGN95 kKSQt4FTPeLXBbirEZ6oWWe0lMWuKUHYqBoRVbwnCx6obqGXMsibw4vdIkmZ3qaCoBBicd QFaXoj3z4W29HAUyVYYNK7Z6H9iuHLZIJlANEVbFNKEnrJ1eCYJVEDNFM/QLQ1wvt3gd1D ckPx3TEHMQKlxI/Vc2QmmPWboDOd05mZuLd3pbv7eSQ+WuBP/E3v3jnHWBnjtQcbBWS0Fm QvOUTMAUqdodNXLdfFGCixgj1UVMnQhr33cvNdPRrYBy/6s8mbqpQtu8XzNL/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iy/zDQh1rCcW5xh8TXXBZkPbaPS17nqQ5DdQ11Aj7LE=; b=yUWC2sg2PoQQqaqSUzb6gpFCZdU56hiSiZ8gxcpxX3ob9upyLgJbHNGRMdvdTGokQljHZc G2Xmp9UEyEam5N5LBq2k4aLuM8LiWyMEuP1dT1UQlrpnnWlzchZKuT/YFMq+Szbn2m/dpA EwG8qlV427c1fu3CnsMxCxXm2HZU/EZMowGMP5M24HbhktUtKwVxlPXUrctesqs18cHrP4 A9j7VGO3p/vbK193Ik9Q2KFnd1vi1tJVqlQk6ZqhuuFqx1s6v7WT37HMsQWt460aZaQlLP VyHQB7SDT+s4NfsijUEJsK9m0YtqVjw7IFcUu4BXaV6sHnmI5OKYjobx7pvgQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1R2tN7z53g for ; Mon, 27 Apr 2026 19:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27f3a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:20:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: f4be16983dea - main - tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4be16983dea4904f85ac20e921ad2a8c18a0f79 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:20:43 +0000 Message-Id: <69efb70b.27f3a.411ca92f@gitrepo.freebsd.org> The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f4be16983dea4904f85ac20e921ad2a8c18a0f79 commit f4be16983dea4904f85ac20e921ad2a8c18a0f79 Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:21 +0000 Commit: Zhenlei Huang CommitDate: 2026-04-27 19:17:21 +0000 tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() Ideally we shall have tests for all possible races. It is races between if_detach(), if_vmove_loan(), if_vmove_reclaim() and vnet_if_return(). Well that requires too many tests and it appears to be less valuable to have them all. So focus on potential in future regressions related to recent fixes [1] and [2] only. [1] ee9456ce3753 ifnet: Fix races in if_vmove_reclaim() [2] ba7f47d47dc1 ifnet: if_detach(): Fix races with vmove operations MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56606 --- tests/sys/net/if_clone_test.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/sys/net/if_clone_test.sh b/tests/sys/net/if_clone_test.sh index 864ff86a7d44..d636815175b4 100755 --- a/tests/sys/net/if_clone_test.sh +++ b/tests/sys/net/if_clone_test.sh @@ -96,6 +96,34 @@ epair_destroy_race_cleanup() cleanup_ifaces } +atf_test_case epair_destroy_race2 cleanup +epair_destroy_race2_head() +{ + atf_set "descr" "Race if_detach() and if_vmove_reclaim()" + atf_set "require.user" "root" +} +epair_destroy_race2_body() +{ + jid=$(jail -ic vnet host.hostname="epair_destroy2" persist path=/) + + for i in `seq 1 10` + do + epair_a=$(ifconfig epair create) + epair_b=${epair_a%a}b + ifconfig $epair_b vnet $jid + ifconfig $epair_a destroy & pid1=$! + ifconfig $epair_b -vnet $jid & pid2=$! + wait $pid1 + wait $pid2 + done + + jail -R $jid + true +} +epair_destroy_race2_cleanup() +{ +} + atf_test_case epair_ipv6_up_stress cleanup epair_ipv6_up_stress_head() { @@ -432,6 +460,7 @@ atf_init_test_cases() atf_add_test_case epair_stress atf_add_test_case epair_up_stress atf_add_test_case epair_destroy_race + atf_add_test_case epair_destroy_race2 atf_add_test_case faith_ipv6_up_stress atf_add_test_case faith_stress atf_add_test_case faith_up_stress From nobody Mon Apr 27 19:20:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1T0DPqz6bVf1 for ; Mon, 27 Apr 2026 19:20: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 4g4D1S4QZWz47M2 for ; Mon, 27 Apr 2026 19:20:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+rnbbyFtFei+qVpJELQJwsNasfVWTZmPaDJsuGM3KU=; b=IwXdbHMUXKmk0AgfKJoYKP9pX1wIpQPg7gKYSONb6/0X9WEy75vjtDL9au5IOWbZltoFus pFLu/Fp7Wb00Dek9OByyqQqwjzbWsUAxL3BmsD6/6QlmZwFaX+zR0VEq5nSnapv4NRMFyR mZxK2bYggQuONE2Rv98OZAOl2P8B0JlNkI+OU88FKMVQlSBKNiz2bw54gXv7h6eF8wMxxc SrlsWAyjvHhUbAFUlPrfZhe5TqbdXhE81iNkTn7MdGre67nNPbtPM3II7/GIkmlaloD5jA n0wzH5B/7OQg1SITMGAquU78AoOQQDUYRrFj0a8YLTr9J6b7zLnWjsU4Po0FsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777317644; a=rsa-sha256; cv=none; b=SmcsRq25WLY8UU3zfVdtx0yBOZhf8n5NJXNitd6gnFoySUWRuI9I/7FByTqcMrZf1QVIRY fuhNfBdg6ELZP8I8HoAf5tv/8QoqOi16CgIrb90GvxZ0JnatL93M7r0gEAuIyLisMAzq1q 33E9zSSc/Md/bckKaJe/m6QzTv6NlVaUw++BQQybkbTScPVIYkot/IkZwITrH9E68OX/nU Vr8h3CSNRiIjKQmmOzv6lGc9smzhwo2o3Ro6qQrDi/JNdBb0/KYRe2Qbjt9lkyKI+9y+hf gEW5/G5RI64mRC+vyu3sWfCNkCNBfbkzG/4NcBgvYcLCQVHPOpS7mPEG5Ri51w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+rnbbyFtFei+qVpJELQJwsNasfVWTZmPaDJsuGM3KU=; b=xVBYVaVgVSHtcnxn4e7ibaKqTh6BB/QurWwlouvdmyH42mk7sq6184bWbIKcju3zP5mBNN EbvCkq0p1HIR6MfpFeqR22Iyvg0dBOoqOkiEFZm9K8oZCg4mPPhPEs1/yD/B4TmuATtrrn wmHfK8EubLyKCV+FrB7YezLPaCI01+25+CEzw+PaS3bsAUYm8FtgfDG4kOjQOaFi1WvaxV TzFtstjqnA156yesjrF/T0wxth+ZOnA27FxobZS7x543uxclWbv1afSmQtXihfk9vpxHUq OxJ2S9QTUgwjddcSHpqdiNTmqzS78+54ETBQzYfBijha+y9uBmuBZeZA/HXSZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1S3k2nz4hK for ; Mon, 27 Apr 2026 19:20:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30d10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:20:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 0988abd52352 - main - tests/netgraph: Add a test for races between if_detach() and vnet_if_return() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0988abd52352ae0977cd3e5c10316b7d94e1cac8 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:20:44 +0000 Message-Id: <69efb70c.30d10.35ff2b82@gitrepo.freebsd.org> The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0988abd52352ae0977cd3e5c10316b7d94e1cac8 commit 0988abd52352ae0977cd3e5c10316b7d94e1cac8 Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:22 +0000 Commit: Zhenlei Huang CommitDate: 2026-04-27 19:17:22 +0000 tests/netgraph: Add a test for races between if_detach() and vnet_if_return() A ng_eiface(4) or physical interface does not involve the cloner hence the detaching is a bit different with epair(4). Add more tests to cover that. PR: 292993 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56609 --- tests/sys/netgraph/Makefile | 2 ++ tests/sys/netgraph/eiface_test.sh | 67 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/tests/sys/netgraph/Makefile b/tests/sys/netgraph/Makefile index f0eb4928ec7f..4c1c42d6caa8 100644 --- a/tests/sys/netgraph/Makefile +++ b/tests/sys/netgraph/Makefile @@ -17,6 +17,8 @@ ATF_TESTS_C+= basic \ socket \ vlan_rotate \ +ATF_TESTS_SH+= eiface_test + SRCS.basic= basic.c util.c SRCS.bridge= bridge.c util.c SRCS.hub= hub.c util.c diff --git a/tests/sys/netgraph/eiface_test.sh b/tests/sys/netgraph/eiface_test.sh new file mode 100644 index 000000000000..442f5c1a71d2 --- /dev/null +++ b/tests/sys/netgraph/eiface_test.sh @@ -0,0 +1,67 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Zhenlei Huang +# +# 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. + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "pr292993" "cleanup" +pr292993_head() +{ + atf_set descr 'Test for PR 292993' + atf_set require.user root +} + +pr292993_body() +{ + vnet_init + + for i in `seq 1 10` + do + ngeth=$(ngctl -f - <<__EOF__ | awk '$1 == "Args:" {print substr($2, 2, length($2)-2)}') +mkpeer . eiface path_$i ether +msg .path_$i getifname +__EOF__ + # Sanity check + atf_check -s exit:0 -o ignore \ + ifconfig $ngeth + jail -c vnet name="eiface_destroy_$i" path=/ \ + vnet.interface="$ngeth" exec.start="sleep 0.1" & + pid=$! + sleep 0.1 + ngctl shutdown ${ngeth}: + wait $pid + done + true +} + +pr292993_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "pr292993" +} From nobody Mon Apr 27 19:20:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1V1VvNz6bVf6 for ; Mon, 27 Apr 2026 19:20:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4D1T4vvtz47PV for ; Mon, 27 Apr 2026 19:20:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gC5Ow5liFxlce3ZqWsYgrie5urbt7wc1Hj7SDjwrgBw=; b=e5uRRd8pavqZPqwYmVyXfGlTLFS8Ds4wSOMp3cwXQeM8XreZEwXYWLFnyE05NkwkzAfx18 Ysee5FMTD1ZYzQa8SJFVI7eMIKDEsdWXoKzacaPxE5RU9a4jhyJkzDqcZqxgeh8xDizLdB pDC+hMpH4t/ln0+nZSM2FZ+EgClYB/kmSXKp5IH1TVKaA2ZRnUjczekXA+xyMYczECJISZ 9lZuxt8ffNCy3EYZS2iOHRMQyKeN4MGnAeOTw5ZP6nCKfLqVzPVr9lI6vWG78l1Vublgyh +zV8vwPksPcaX/A5P3Nfnx3jykNGjbnlYNL1w/ZDgY9npHqY31DU96TjKYX+ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777317645; a=rsa-sha256; cv=none; b=obzKZ4n6ArEMSqLEn/N49yzu3CmEqon3VuHe/oXkagf9dJurp/CgOlCAFgphipei1A28eY JQSg4+hqOyzVCPy51/iA+XIVv79A4Rdgc16ToSl5sr5TfCIyMFMuPhHcsPbDncRB7J4NcR g6mzWdtychp0tiSiJ9LVsDj8WZVkmGYLnTALcj6SloHpzQEqI8g+9bjTGIGb9zkBcv44pH yfZ0CbK501eBHJAj8x8uC8wjZsdASB0g2/+kMe5oziYkBgYsfnR1WDrIoRSzj1vqo8t4pE 9m4RtIqIFIdl0CqoDZW9fTXLPMUY0X3kjFnAu320wGLwz2lEZiad+dG/2Hlnqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gC5Ow5liFxlce3ZqWsYgrie5urbt7wc1Hj7SDjwrgBw=; b=Kd5/GmQOP2O7XGBoGKmgCtD51qQvVl3U76qw3cAjWBsNUsOaFGeH8PlAlH3fvNv8sPoLfR jMLHjNpOBJmK+IS4G5Wytej2VD1jTHFxXh3ENh9QzPHvC5d6fj9hmUm0nJiJoDQCSbRMVz rpbSle/aRbqyDRyD6K7fQJei4vZJvnvgBNXJpFk4qK2fPO5s2jXs8lwRcEjR8uc1aOjHu4 MgKXoVdBDKUq1BPqfbptksQefS9X20Xv8UKBtzGGiMBzrKdrRgmiarPRLL6Bj/vE+i7+4H ex/IoVsxGMtMHn/uH/BItj0/R2mgBkWdH/HCqS3KgSw2K6MleuBCTLv9O+TX+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 4g4D1T4Szxz4Wx for ; Mon, 27 Apr 2026 19:20:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25876 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:20:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: afa4648b6a30 - main - tests: Temporarily skip two testcases List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afa4648b6a30603faab56b649605a3393eac9986 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:20:45 +0000 Message-Id: <69efb70d.25876.77aee607@gitrepo.freebsd.org> The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=afa4648b6a30603faab56b649605a3393eac9986 commit afa4648b6a30603faab56b649605a3393eac9986 Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:22 +0000 Commit: Zhenlei Huang CommitDate: 2026-04-27 19:17:22 +0000 tests: Temporarily skip two testcases The changes [1] and [2] made to CURRENT introduce races between ifnet detach and vmove operations. That requires extra effort to fix. They are not MFCed to stable branches so the latter are not affected. Temporarily skip two affected tests on CURRENT right now. [1] 0bf42a0a05b9 bpf: virtualize bpf_iflist [2] a4d766caf711 bpf: add a crutch to support if_vmove PR: 292993 Discussed with: kp --- tests/sys/net/if_clone_test.sh | 2 ++ tests/sys/netgraph/eiface_test.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tests/sys/net/if_clone_test.sh b/tests/sys/net/if_clone_test.sh index d636815175b4..6be14d0332a7 100755 --- a/tests/sys/net/if_clone_test.sh +++ b/tests/sys/net/if_clone_test.sh @@ -104,6 +104,8 @@ epair_destroy_race2_head() } epair_destroy_race2_body() { + atf_skip "Need BPF fix due to (bpf: virtualize bpf_iflist)" + jid=$(jail -ic vnet host.hostname="epair_destroy2" persist path=/) for i in `seq 1 10` diff --git a/tests/sys/netgraph/eiface_test.sh b/tests/sys/netgraph/eiface_test.sh index 442f5c1a71d2..317294bbcf7d 100644 --- a/tests/sys/netgraph/eiface_test.sh +++ b/tests/sys/netgraph/eiface_test.sh @@ -35,6 +35,8 @@ pr292993_head() pr292993_body() { + atf_skip "Need BPF fix due to (bpf: virtualize bpf_iflist)" + vnet_init for i in `seq 1 10` From nobody Mon Apr 27 19:21:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D2Y3q65z6bVP7 for ; Mon, 27 Apr 2026 19:21: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 4g4D2Y2mpcz49CF for ; Mon, 27 Apr 2026 19:21:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+U8Bb20txTztfYWMZTCQriVwDrXD3ba3+/O4mn7Z3qY=; b=wR3olQOIWORwBmM0iREeMbdV4k8sxfdNx+94vIyHXNJhgPqXvGwiZ+hFzaEHCcP3N0+1IH HCwwQ0iKiCjacZ739ZiwiMeU0nJu0zculKuyahthSXJZPTrpE4ZvFLU2NLkCl8mNmBfuIo j6YBWfJIWszIfGiEBfOimEfKen072e+zLNlB78iToT0JRqMUM36rq7L3qDAZXLbhHHv3+i OrgUdy8zi+/6CO5gBsT/Dk13Qdf6iIj4GMpPZQafKlns5LoeN5eDTDg/FwCLbDJmBi3d0o zu4Fwkehst8qFRRq8dYVzTeC3G5OXT1X7ze2OCkc6B6MHmLjxEGWpN2TQnImeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777317701; a=rsa-sha256; cv=none; b=k/CVgLpd+FtK3scUWTx29BH0uZuBYgtAlZ3GAjJaUottcPkau6WIhpGfDN8153Cvsm6c4x /HOWRWB5LZRlWkGiCZ28Yt6+0icsTKhNvupCLKveC8HykS3HyGRK5ZlDzuJytjxJg/NQgw heAOg414bs0AAshFbGQthOsEAuSvwEuTGC3Ogo7TsR9rRje/WXuL5fYQnyLqoFX8aWEfLo cGVN5eT6AcWo0CIsp7NsqqWtlEGM4dHbX6wFdUrynVfgLQG2c4B8f6BerYICWKB6rui3s8 yYLWgXZKJ3JqQD36T/1E4QM55zrv6tt5BpB7mhjooAoix/mB57yDaG9oKmXwfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+U8Bb20txTztfYWMZTCQriVwDrXD3ba3+/O4mn7Z3qY=; b=BFHqyVozXzwHbMeycMQntSkNxqUUDdJY0zndNZty/n6lQZ5FxSxPvyZaccTrGiMgUx95hu I6RoEw+qGRXTk6ni/+8RzWcKb/9xKeCQZavlM7NbK6lKXmzeUYkv0CpdVRYfqUb5FTGdHv pE/qSq/G/DDSU9ymPmnPQ6/IgIasy1RtmqDCVxfxwGrZ5PKYZgDn3+Qd2ruaODXGmBa9P6 EBN/xefa+qPHPgDVZalXUu33BSSoGnXT96Q+S3iXPf1gvS6rXMMQBu+h0OfVyZPRGMUwR5 RD1kVZPJz6fR0A7iREqwbgyROej2LJFOTrJKJBZ55wE7X7cwrtJwtg/AOXA94A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4D2Y2HwDz4nW for ; Mon, 27 Apr 2026 19:21:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3006d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:21:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: ea27ec183d0f - main - makeman.lua: Downgrade `make showconfig` error to warning List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea27ec183d0ff26e1273202841a02041b6d93955 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:21:36 +0000 Message-Id: <69efb740.3006d.45c2aff2@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ea27ec183d0ff26e1273202841a02041b6d93955 commit ea27ec183d0ff26e1273202841a02041b6d93955 Author: Ed Maste AuthorDate: 2026-04-26 19:30:17 +0000 Commit: Ed Maste CommitDate: 2026-04-27 19:21:12 +0000 makeman.lua: Downgrade `make showconfig` error to warning The sh-based makeman silently ignored errors from `make showconfig`. Ignore errors also from makeman.lua (but emit a warning). We may want to revisit this in the future, but want makeman.lua to behave identically for now. PR: 294822 Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56663 --- tools/build/options/makeman.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/build/options/makeman.lua b/tools/build/options/makeman.lua index af641ff6d638..a7b577d76efb 100644 --- a/tools/build/options/makeman.lua +++ b/tools/build/options/makeman.lua @@ -192,7 +192,10 @@ local function run_make(args) local _, exit_type, exit_code = assert(sys_wait.wait(pid)) assert(exit_type == "exited", "make exited with wrong status") - assert(exit_code == 0, "make exited unsuccessfully") + if exit_code ~= 0 then + io.stderr:write("Warning: make exited unsuccessfully\n" .. + "cmd: make " .. table.concat(args, " ") .. "\n") + end return output end From nobody Mon Apr 27 19:37:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4DPF39mpz6bWTM for ; Mon, 27 Apr 2026 19:37: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 4g4DPF2Qq1z3Fy8 for ; Mon, 27 Apr 2026 19:37:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777318673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0fLge3QZOYso+NnMn0LMYNblrG1CtCObmwff6kHM3I=; b=rnkn9QklM67/lbAKLuvNxyPwI9XW/QEg1dBG6FiG/jSxyO1LFiO6j7HAtCLuphcnqk60qu OZ40vLfQujK7hrU1kUn3WWTPSGdQH9iTrKnB5Mn7EbxvDzx2v0UlaoCLWQUF7SsFxEdF/X CK9ctjt2LXpg28raDtTwngBXAz5miF2XCSuZQB8WqalwhWmKyEBjtC9FfZ1Cec2jVgM5XP Y8fP1ywPh0Dz6eMbRcZZ53hmi4gc7bJIqsYqHYyxzzXIBTc9xm5jN+uQ7n7o87C/EKKwiI ycSvfTlc8GoiCnGLCbt5+cNTCcnJ1UOe6nbg++xECHgdr8/xqvwNc4zRg8d1YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777318673; a=rsa-sha256; cv=none; b=tiCdU+/c3+/NQIgtL15WN8f/Q4eURJwhKXUG//AdrEWSIYERwlccEyfwsuZHLqm/MH0cvW 9PP8A7b2DcYA82wt5abX+3WcZxWjCUK/7IQXWs91ixspvVce0TSQ+NisjdhZV6iSy2LMO/ cCKtAM/yiikadbZ7Uc1K2cFpxP4woEWkDQcDNUboYcsfGMsxP7tnI5Ne1EBEFTmVwEy0/7 NFW+SzLmdyni+xC1odPd1ol1/rVyEBG8Orel8ZwBXgep2o77SmJSI73Ot84LhZ12TIgQE0 u5pr+4nThLP5CP7glnaH9rgVJje3h5nEvUxCdrFda+8Zlh4KvMlNzMnDcB3HiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777318673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0fLge3QZOYso+NnMn0LMYNblrG1CtCObmwff6kHM3I=; b=QZIsWEsJvBzFW9icqC0bp7jBpQhw3c/S+k6BAU2VkbF19nw9c2C5xYoxlmAx3LCi1H3/WA A0zxRd38iJraEUYr/lYZRLqOspeAdh+Sg7xytsr3PikrEVBpDhxpMyvVcqugF5ff5q2ar4 4qn1WvV5ctvMUNTaFp3hr8LfEPsCJvsPzb43H34+5zFHPyNWmcZqhOZJRvUL9wGRDmeor3 JAYsBmRvYEDPKxA0gvjQku9Ywc+zPt0C8IRmqKfSm5DuYl66K9goMDdRWvRiuSRjMtmMth zwhfoFzlLlvo9vp71GFXEZt3ABHqIITNNEur49klkVL4OtfA0xpFXck3RkukRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4DPF207sz5QB for ; Mon, 27 Apr 2026 19:37:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31c2c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:37:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: fac95c74d23d - stable/15 - pdfork.2: correct pdrfork's HISTORY section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: fac95c74d23d645eb2b8487049051cb2d83fb117 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:37:48 +0000 Message-Id: <69efbb0c.31c2c.68161a79@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=fac95c74d23d645eb2b8487049051cb2d83fb117 commit fac95c74d23d645eb2b8487049051cb2d83fb117 Author: Alan Somers AuthorDate: 2026-04-19 15:26:50 +0000 Commit: Alan Somers CommitDate: 2026-04-27 19:37:22 +0000 pdfork.2: correct pdrfork's HISTORY section Since pdrfork will be included in FreeBSD 15.1 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D56513 (cherry picked from commit 9d39213d222395eb40323102db018cbedf773ddf) --- lib/libsys/pdfork.2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libsys/pdfork.2 b/lib/libsys/pdfork.2 index 49226cf069de..3997570d2125 100644 --- a/lib/libsys/pdfork.2 +++ b/lib/libsys/pdfork.2 @@ -30,7 +30,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 20, 2026 +.Dd April 19, 2026 .Dt PDFORK 2 .Os .Sh NAME @@ -256,7 +256,7 @@ The and .Fn pdwait system calls first appeared in -.Fx 16.0 . +.Fx 15.1 . .Pp Support for process descriptors mode was developed as part of the .Tn TrustedBSD From nobody Mon Apr 27 19:42:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4DVG67CRz6bX7j for ; Mon, 27 Apr 2026 19: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 4g4DVG5Zxfz3GcJ for ; Mon, 27 Apr 2026 19: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=1777318934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnKb47OarKkoMAZ+VsX6L2IkoS89JmFZIpFsMiegmO0=; b=MGZ2mbOuhUKs7Ydol4qb4rtinw0RfcehUc87LlegTxbqSnThzo42cCXRJ5pvvBhB5IgM+a nLBLVFgem5hjV1EOVOxZ7Har5LWo4aFN+vgkn7t7jSMDuFQCh1HVfhPxdvdykVJlQ9EZl8 VjcZXKQ1CIdkXbQjfovaGcKxx1v8Lpxj3rM09QW1wqmZ6ZTHXdnvqB6a6YlePf11p1ab5p vfX0sg3i7njDB5gsK0el7PcYH7nSLXNXHEV7oZ9nHkJEtEGo8qQtxlyQup6zmildlH+mdk m/9g9fE/pnCnzwkzZkPDdXn1n4IRSk9xWfquWWFlL9DKdGTBGHK+mwM+hkH6Uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777318934; a=rsa-sha256; cv=none; b=GeG3fDKgp4Zwv/c1ZKR23/zYpRlaDDUtPkYtHt3iGwM0qw1LqRNt8PU3DMvqS1Ijtv+Nw9 qtcrKWXssD3IraOk62IONQTxVZeNhULyZDNjjU1IF+dXW+lyVOMGmg7TV+m9UK+nS2PSa+ sLi1dTLG0F8eNkB+NcEE+Oc6ULDBpodMlKDLpQ1YYrFTeJVV7rp0rBzvsCHSRDSqxlx+bI hrqtQD8Ds/1gGGeCBen+kP42ARKbCFdbNk89l8etyAxYeMnU3GY2nCkK14L+8vPTqii2ZW UTpGQofgAT4DfyXkhQyxTPo8v6LTEnOTBdkqX30XxrHZDyQSkwAIkjIqZKQeWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777318934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnKb47OarKkoMAZ+VsX6L2IkoS89JmFZIpFsMiegmO0=; b=l7tSzH0Nl9ANKCwfDcI9p38bLhDaXVPqkjSepHS7PKiXXHnVdNspnhTFfoeNus5nWS6V9f s3WZVSYx2renO9INaZxTdIqQA0aPRIptC6ASInLfNR75wMkGLYsf+5B4f41NinrV3K9aD2 ncszDPp4zvOY90mgi2/vVQIPC9nGxOS08lJFUJ9wlNpccpp4zmP+KmqZ68vmQ/WCfqr+TE zAnStsVfDyZLdUucjlMAJEKegR2KTIAvZg7phooZS+PcRyj+UbdRidzAl9l4/Rzj3u3fJy +UJbKZsYAFrIz9f83LDTejMRYTAid2TNm9ih8sYkoTHDVb2/ANaTJx2rs/Poyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4DVG59N1z5Yb for ; Mon, 27 Apr 2026 19:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32f15 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:42:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 43e7448343dd - stable/15 - fusefs: better handling for low-memory conditions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 43e7448343ddfc487e8899c3b3e7582b5618da4d Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:42:09 +0000 Message-Id: <69efbc11.32f15.76bbaf43@gitrepo.freebsd.org> The branch stable/15 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=43e7448343ddfc487e8899c3b3e7582b5618da4d commit 43e7448343ddfc487e8899c3b3e7582b5618da4d Author: Alan Somers AuthorDate: 2026-03-30 14:22:07 +0000 Commit: Alan Somers CommitDate: 2026-04-27 19:37:59 +0000 fusefs: better handling for low-memory conditions Under conditions of low memory, getblk can fail. fusefs was not handling those failures very systematically. It was always using PCATCH, which appears to have been originally copy/pasted from the NFS client code, but isn't always appropriate: * During fuse_vnode_setsize_immediate, which can be called from many different VOPs and from the vn_delayed_setsize mechanism, remove PCATCH. Some of these callers cannot tolerate allocate failure. * In fuse_inval_buf_range, don't assume that getblk will always succeed. * When calling fuse_inval_buf_range from VOP_ALLOCATE, VOP_COPY_FILE_RANGE, or VOP_WRITE (with IO_DIRECT), return EINTR if the allocation fails. * When calling fuse_inval_buf_range from VOP_DEALLOCATE, remove PCATCH. This VOP must not fail with EINTR. No new tests, because I can't force any particular getblk call to fail. PR: 293957 Sponsored by: ConnectWise Reported by: zjk7@wp.pl (cherry picked from commit 374548e930bd9452351059c14e697036d903b1c4) --- sys/fs/fuse/fuse_node.c | 6 +----- sys/fs/fuse/fuse_vnops.c | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/sys/fs/fuse/fuse_node.c b/sys/fs/fuse/fuse_node.c index f4fb993a7ca1..6768e87fdef1 100644 --- a/sys/fs/fuse/fuse_node.c +++ b/sys/fs/fuse/fuse_node.c @@ -506,11 +506,7 @@ fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink) */ lbn = newsize / iosize; - bp = getblk(vp, lbn, iosize, PCATCH, 0, 0); - if (!bp) { - err = EINTR; - goto out; - } + bp = getblk(vp, lbn, iosize, 0, 0, 0); if (!(bp->b_flags & B_CACHE)) goto out; /* Nothing to do */ MPASS(bp->b_flags & B_VMIO); diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 80db04a25166..43a0d2de0d1a 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -326,7 +326,8 @@ fuse_fifo_close(struct vop_close_args *ap) /* Invalidate a range of cached data, whether dirty of not */ static int -fuse_inval_buf_range(struct vnode *vp, off_t filesize, off_t start, off_t end) +fuse_inval_buf_range(struct vnode *vp, off_t filesize, off_t start, off_t end, + int slpflag) { struct buf *bp; daddr_t left_lbn, end_lbn, right_lbn; @@ -338,7 +339,9 @@ fuse_inval_buf_range(struct vnode *vp, off_t filesize, off_t start, off_t end) end_lbn = howmany(end, iosize); left_on = start & (iosize - 1); if (left_on != 0) { - bp = getblk(vp, left_lbn, iosize, PCATCH, 0, 0); + bp = getblk(vp, left_lbn, iosize, slpflag, 0, 0); + if (!bp) + return (EINTR); if ((bp->b_flags & B_CACHE) != 0 && bp->b_dirtyend >= left_on) { /* * Flush the dirty buffer, because we don't have a @@ -357,7 +360,9 @@ fuse_inval_buf_range(struct vnode *vp, off_t filesize, off_t start, off_t end) right_lbn = end / iosize; new_filesize = MAX(filesize, end); right_blksize = MIN(iosize, new_filesize - iosize * right_lbn); - bp = getblk(vp, right_lbn, right_blksize, PCATCH, 0, 0); + bp = getblk(vp, right_lbn, right_blksize, slpflag, 0, 0); + if (!bp) + return (EINTR); if ((bp->b_flags & B_CACHE) != 0 && bp->b_dirtyoff < right_on) { /* * Flush the dirty buffer, because we don't have a @@ -647,7 +652,10 @@ fuse_vnop_allocate(struct vop_allocate_args *ap) err = fuse_vnode_size(vp, &filesize, cred, curthread); if (err) return (err); - fuse_inval_buf_range(vp, filesize, *offset, *offset + *len); + err = fuse_inval_buf_range(vp, filesize, *offset, *offset + *len, + PCATCH); + if (err) + return (err); fdisp_init(&fdi, sizeof(*ffi)); fdisp_make_vp(&fdi, FUSE_FALLOCATE, vp, curthread, cred); @@ -941,7 +949,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) vnode_pager_clean_sync(invp); err = fuse_inval_buf_range(outvp, outfilesize, *ap->a_outoffp, - *ap->a_outoffp + io.uio_resid); + *ap->a_outoffp + io.uio_resid, PCATCH); if (err) goto unlock; @@ -2589,7 +2597,7 @@ fuse_vnop_write(struct vop_write_args *ap) end = start + uio->uio_resid; if (!pages) { err = fuse_inval_buf_range(vp, filesize, start, - end); + end, PCATCH); if (err) goto out; } @@ -3123,7 +3131,9 @@ fuse_vnop_deallocate(struct vop_deallocate_args *ap) err = fuse_vnode_size(vp, &filesize, cred, curthread); if (err) goto out; - fuse_inval_buf_range(vp, filesize, *offset, *offset + *len); + err = fuse_inval_buf_range(vp, filesize, *offset, *offset + *len, 0); + if (err) + goto out; fdisp_init(&fdi, sizeof(*ffi)); fdisp_make_vp(&fdi, FUSE_FALLOCATE, vp, curthread, cred); From nobody Mon Apr 27 19:51:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4DhP3Fdhz6bXXF for ; Mon, 27 Apr 2026 19:51: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 4g4DhP0xS7z3Hb0 for ; Mon, 27 Apr 2026 19:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777319461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOGnKRKC9NhkCC9KmDCCJZ7ljNHS2JCdXqvOBT/mh3k=; b=ZfPJjcG0xWZmWQca1tBWCNiHSK6e39G/HaK4tJtfsIAzqXaCv+qcZFnW5fhSKej6AxPFvs 1jyfX1Jn0Nlf10qeyVgjxwNZrmVXOLPhSi4c3ycCD7Spqv2BcWTLTJlWVi8ge+DQg6Q72x acbAyUlH7sZADBCp54/aSxhSLTgCp1DxLdBxKaYofFp3DXXaPoUOCrcy2sK0ONz/+0Tace Fel0QpHJ7vNMr8axRhJPe1j7Ua/xWRC9VvWJ086BgtosVBOERX//MO/9iEKjI2U6+OT5xk /bixmefAu2I6U2gN5eimU6nMpcLd/5/19GtGIUn9EXZw5fC/4hxXmLjncs1xIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777319461; a=rsa-sha256; cv=none; b=kXbX8HskyBKz5akg64bUZUZshj06NSAICFa+jmE5v9OWbrEUz8+8cXnvA4vxIvrPuY4Ft4 3k3brZvGfVFtMVStaBaLeUGmIDMvDfYtTblGrtxundxjWwiWf//ma6RfJD8SA5rNprkQe4 8JBBJBEPy5DvAACQNxVsDdiEUl+5nBdtOg1l/HxYhFOu6i8/mNMPeYX848TzJywT1Lv1IA bJpfdSM4UD2HCufKhu9CG+sqdwhcyh3UUmS9MKn7nbs0N8bbbAuumte1VY0CARNJdo3A1+ 2sbddHagEIibMaNcz8XDCgAHHneoG/GAaCRBWQgEPlUwnqb6ePOP59B3z0z8TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777319461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOGnKRKC9NhkCC9KmDCCJZ7ljNHS2JCdXqvOBT/mh3k=; b=EQXcBX+pahxrW1qsf0kkJh0tVZG3FUuw3DMOaA7Gqvso6SJ+7CgwwkpkOEck4FCLHsgLNX OfFghHYz9MDLFVMSKi5VzSbEBFpD5Owg+9qPlVCrKBgbrJJ8uQa3HqFYXkfUdRHiCn8hWX Zkr867VF7A5S2AGxbDLhWJ6C5d4F2C8EMba3UhHn6dlUIt84TK4Hw4xyUM8gD4TMhrX9XS ogsXzX3fbxiICm1YnCFLkJpM3RtKV5OHHqWrhNqq4s4OUTGXCvRhbc+G63/ylfFvdaa7XJ AbOtyMMLVlBay9nzDOFGEaVebQaWW49IvRnheaGPh+IRds1keto8I0ZP0ojMFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4DhP0HzHz5RS for ; Mon, 27 Apr 2026 19:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32e5b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 19:51:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4846afc9104a - main - pkg-stage: Improve symlink creation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4846afc9104a1b4aeec31dc7c324f69ad5ffab1b Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 19:51:00 +0000 Message-Id: <69efbe24.32e5b.62894ae8@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4846afc9104a1b4aeec31dc7c324f69ad5ffab1b commit 4846afc9104a1b4aeec31dc7c324f69ad5ffab1b Author: Ed Maste AuthorDate: 2025-05-05 18:01:21 +0000 Commit: Ed Maste CommitDate: 2026-04-27 19:47:24 +0000 pkg-stage: Improve symlink creation Invoke ln with -n and -f. In normal use it doesn't matter, but during development this might be run in a partially populated leftover tree. Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52883 --- release/scripts/pkg-stage.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 2f56cf794973..278f7422894d 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -76,7 +76,7 @@ export PKG_REPODIR="packages/${PKG_ABI}" /bin/mkdir -p ${ROOTDIR}/${PKG_REPODIR} if [ -n "${PKG_ALTABI}" ]; then - ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} + ln -nfs ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi # Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the @@ -115,7 +115,7 @@ ${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} # using the on-disc packages. export LATEST_DIR="${ROOTDIR}/${PKG_REPODIR}/Latest" mkdir -p ${LATEST_DIR} -ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg +ln -nfs ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg ${PKGCMD} repo ${PKG_REPODIR} From nobody Mon Apr 27 20:14:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4FCF6gVCz6bYh9 for ; Mon, 27 Apr 2026 20:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4FCF5vm7z3LmL for ; Mon, 27 Apr 2026 20:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777320857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ypx5XZn+Yy8vln4RWqW83zq/aWjvbwdQsBcuYpvDS4k=; b=adZPcqqCJNEyXNxJkqHQgSfGLS7rNR3NdCe4UhvFZgeFeFgZga5eBrfmjxAIKC/mUnqgBe qvt/vwQPyWld8PniRKLds3Rxx6sKg2SnGvCZ4FFJmXgyvD+cp8O7DPuzgmzs2OHY2aUeOP KqZ7r8u/5eZCm2kL1HyfZumTc0MOCwH0vIu+UsAWm4h7q863A/URHFirfn3aJoiEtH28Ey 9x5A9XZaeENcQtM1TA9F5kqTAoq9LCzLeQHSprBg7hmXlEe0vXvqD/5y7n23nKyGPLh6YJ rsXTtHl/UagNc4IZYrb6Vsg9P1XJ9lnQbCflbO31i86D2CkdiVbnUkEYzjnODQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777320857; a=rsa-sha256; cv=none; b=DTKCrW29k+/zos6iogXIqnMxFjK5WRuGpEDeQBChOCqnXQKTIiI1kOSeCleS9oeTu5xsGI kX/O60dEEN3u+sIbs/LQW0UoIUkxBm+n7pPJHZmf7+shAt6UOVCrTIOfRXEngdD65O5FM1 Z+t6eE2RQ6LFJsBQ46WTaUIwN8YM28c0rUa/IjXAcnEQBZgkyRrCOeX/Tyl29Qhvng/Cj3 +5mkqQncV2Jo1D4bChW4RrJhQQUPXD4/X1/SgQfmQOgxpEd4XgW6E5ADOU95m0jeGF2yH2 +zTqov5oCcngQFuxkjAAKvS5JJW+yqzeXue1rzPqOurNq9dZIMobAWgIGUT2YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777320857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ypx5XZn+Yy8vln4RWqW83zq/aWjvbwdQsBcuYpvDS4k=; b=O7KqHbZcV+0c43VHzDUYC8P/DI31dT7l1yT0AZ0gebH6gMIRtaGjF/jBFsnbLkbO6H76M7 BX5uolzsubEskhEKIlzGOWKQS48LxhLFrLTtjDd359DR91mQJCQtBRceZ3HWtkyD/Y5k94 pyRuoNNYlq23yGtSlqt3lnJanJEJoNLoDmHsSDr8WA4edbicOdOqXtHp6JSFp2s2eRAtYE Bf6OkduIfhi3cnJDHQ4AYIyQreFeiYbNv0L8Fh2Ho1Ta7RhcevOtG1LuHmICt9Peatddj+ 7yWQmuwDj43i+Gtm3AgGsBAvppmXD+PsRUwtlodP7cJgnL9iP2ReRNZgYOSxDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4FCF5Nmpz6Mm for ; Mon, 27 Apr 2026 20:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35cec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 20:14:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Siva Mahadevan Subject: git: 321937183be7 - stable/15 - tests/fibs_test: unskip udp_dontroute6 testcase List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 321937183be7b13c2fd990b1da5f83856f6f1d93 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 20:14:12 +0000 Message-Id: <69efc394.35cec.79dba3eb@gitrepo.freebsd.org> The branch stable/15 has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=321937183be7b13c2fd990b1da5f83856f6f1d93 commit 321937183be7b13c2fd990b1da5f83856f6f1d93 Author: Siva Mahadevan AuthorDate: 2026-04-27 20:13:42 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-27 20:13:42 +0000 tests/fibs_test: unskip udp_dontroute6 testcase This test now consistently passes (300+ consecutive runs). Approved by: lwhsu (mentor) Signed-off-by: Siva Mahadevan PR: 244172 Sponsored by: The FreeBSD Foundation (cherry picked from commit e93e57d3da2ea54598b5db01cc12a3acd656faba) --- tests/sys/netinet/fibs_test.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/sys/netinet/fibs_test.sh b/tests/sys/netinet/fibs_test.sh index 2d0b63f8e30a..51f19d359137 100644 --- a/tests/sys/netinet/fibs_test.sh +++ b/tests/sys/netinet/fibs_test.sh @@ -663,9 +663,6 @@ udp_dontroute6_head() udp_dontroute6_body() { - if [ "$(atf_config_get ci false)" = "true" ]; then - atf_skip "https://bugs.freebsd.org/244172" - fi # Configure the TAP interface to use an RFC3849 nonrouteable address # and a non-default fib ADDR0="2001:db8::2" From nobody Mon Apr 27 21:15:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYT61kZz6bdnD for ; Mon, 27 Apr 2026 21:15:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4GYT4X8Hz3XrK for ; Mon, 27 Apr 2026 21:15:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yCvKj9ZxR++tiD2w3W2i73w7ZBT/HzIujI1G/Z9w9tg=; b=V0+g1nw41n7ocE1rGR9t9RItGBQR58f6NveBQ1Y+6WOEiorO4ncXAoh4xWV9knu7L+AId5 RcgIkHyf1YOthO3eGLRkvFV7o9xciZ4xbSDaAW0dQkm18PLfA2e0umIGm6s7HoHB7/OAYd 7I5+txBBolr4Ll173gaoCtzSNuhZjx1FUFEvPjHlM5vGboo677iuZ+wI2Wjzgv0oIiwPLd k5Sz6XcAsTAtX/0iNCdo/2jNqwHm5fjsO+D8uGGeosjBqrojKYR9UegnykCYfLPqCXVajc goswo1XKiH/avioFczEw00dXWitGM7GRuTLb+6M9Zp67hyJCQlc688C7EXGDNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777324509; a=rsa-sha256; cv=none; b=SPtOqlnTxCBEpL33QOwaiAHjDyAHv2Sqi/2+gFTeyERkWSNfl5D9qi3pEhZsKP7OyccgXX foDq0rQu0Nqoau1VEqgXSVWR2wy4v8rn6KXE8vOOIe4MILsOjuYmpDWoPX+c7kp3YTzr9o OvRaNElM3SkFQ2zCoNWwH5T1cQ29UCqTjkEOQ/YZDUOx/SLo2p9hZG4yZQbgBdWZFjDNQB pl+ZjiB5RJp47o209Hmjpj7KvNDyJECVH6d4tclx3AJbt3W8aDGvrVH1V85ouwubvS842/ Ahf4H6Bfxm+3DirfdaoADZeOsWcQKNwiYxS2V9U1pZur9jPMmeizuu9umlqFAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yCvKj9ZxR++tiD2w3W2i73w7ZBT/HzIujI1G/Z9w9tg=; b=n/Qbt+w6WYz+3YpY5EkETg1Qh5CvtTBxCKohyydBFRg4+jYjH/3QeUjRxaEQ22s5TNBj6x zQzo7gHsaHSpagwnd8KSM9gYQK+TFJnxolodSvTXeouYnqUzmGO2Sed69YtDFf1Mxzpg6O YPtNU/JCttcysk1Ek5OIP43pK8kLHI4YDlChRhsB7rbXVqgLhSAr6frFhpOZfWBgwZXpE9 RqSyG1Cy7F4cN+FbG2KrVfvYGjxsgwlS8qiyQVBdL9U3M4c0fS9rZP0r1lAJA9zYUBQc8H IBURDyV2uGaYFdJG8Tmj+pSt9tYKg+SJLBSrJw8wCYbwTuWsznNh8Ww98z1Fmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYT44lkz8VL for ; Mon, 27 Apr 2026 21:15:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b0e5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 21:15:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: David Arinzon From: Arthur Kiyanovski Subject: git: e3f4a63af63b - main - ena: Report RX overrun errors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/main X-Git-Reftype: branch X-Git-Commit: e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 21:15:09 +0000 Message-Id: <69efd1dd.3b0e5.5dfd1c46@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0 commit e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0 Author: David Arinzon AuthorDate: 2026-04-15 12:13:56 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-04-27 21:13:53 +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 --- 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 6972c71bd67c..4f45d9103d76 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 38e52f9066cc..a46119e06adf 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 Mon Apr 27 21:15:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYV5rzXz6bdkm for ; Mon, 27 Apr 2026 21:15: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 4g4GYV4q03z3XyM for ; Mon, 27 Apr 2026 21:15:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xvvr5xn74H1QF/TmEHTjchIqNjCHTDKQH/ekUw7O6hA=; b=TLmxmH/3Od08mHHXiDQwUJHfYev3GQ3zAd4DLYqQ2f6aqukyySD1R9ap83WgCMd9tmCs1k 0NpWRI+7UJKLFibeoyNrP17+NzP9F1Xu5I69Lq2sJ6lpcbZYb5IlKKz+Mccmwn+ydtp6Z4 A0mHGGLnI3uXLaV74MdA7ShuGvStTjYnO0JL7xFt46RvE+n7gSCGg6THMuqd9Y8vsjOoYV TVKMAB/JqV9WMAQeJf63NyA0/loPbmGG2U3eBnQqgXWptJUiDnm6nL69LQnwovQRNTmB4T VLnmz/j2HC3NgSeB6Bc/XokkZFDBLeLsP68F9RTqCidhtlEyARmVpOrmEIyZbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777324510; a=rsa-sha256; cv=none; b=AyiU+5nrRfUHtEHFXzrPmPjQ9a63dr46MAxCJOVHRxDvCQrUS78U6AnpQ+ENkZ41NyL8gc HqRgsFfJLkDyauOPj4th8pPkI70yJaVcM1Sg6mCsCjCarlB+mwQFVmLrQtkXdvb04p9CE4 AcrjrZyvE86yNcZ4TNwmZYJ2VzOTxkgXoP9Mt43gap+zlQPRRfYOUnSit3pUv7b7M2pWYO +tL6FuYBFB6LlCtO8eF7vtOEPlG/qoAyNoWIFD/AqnoVrJ0JXN7jYwNG4by7OUqSfG+DkY 22eZmkLPqEVG/p55czWjRCe6vWxpfSjGc/OjyiDMttecdyas7QXI3RzSBhv3iA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xvvr5xn74H1QF/TmEHTjchIqNjCHTDKQH/ekUw7O6hA=; b=do0aH3uvGfrGRVGYzzw5XXQjGOC2wwWSy/5++4xVcBWVljLAcg3qG7OBv+ULqyKQo5SAbo UtfTc1MPfbAAdyckYc5B69ZBZ1aAr4Oe041abx8VulC60XS4s1QK2lGCfQduxgOdxYi7T+ Z6LebYSzu4mVffKI+TmDoTpsA5oSaMO5E8LF3PnDJJsVelYBLbv1SoFJZP29bo6vSlvLkQ RROsK9NtT0T7Y2xBPVbWCuwBo50/2Y6DJRzUsXaRl0Sxc7/S0de4QPEjdRbBBptMj/EuXb 4FUXWtKudHnxMShr/7loZ4OLmnr9cJqkB0d1J2JHRXTaKMwcgxABCy+lSI96Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYV4PkPz8G8 for ; Mon, 27 Apr 2026 21:15:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d233 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 21:15:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: af7911d3b732 - main - ena: Update driver version to v2.8.3 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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/main X-Git-Reftype: branch X-Git-Commit: af7911d3b732b8e0d4254c5d0bf60d74ced89157 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 21:15:10 +0000 Message-Id: <69efd1de.3d233.76b44c48@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=af7911d3b732b8e0d4254c5d0bf60d74ced89157 commit af7911d3b732b8e0d4254c5d0bf60d74ced89157 Author: Arthur Kiyanovski AuthorDate: 2026-04-25 18:47:26 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-04-27 21:14:06 +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: * pmap_change_attr void * API change for FreeBSD 16.0+ * Adjust ena_[rt]x_cleanup to return bool MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D56641 --- 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 Mon Apr 27 21:16:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4GbH1k1cz6bdMY for ; Mon, 27 Apr 2026 21:16: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 4g4GbH0qRtz3YVj for ; Mon, 27 Apr 2026 21:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NyIuOCc72mCj03ZCNwgZug/W+kA4QN9CjwPqBIxTTrQ=; b=FtY+F9t/nl2g2zohRVDX3fkigLoHAAte+4rXd1O3Pr+uh1jlteV9JdECgw/kHPwtZLvDgv Va46qVZU1RHkrmPlGQjcaI7v03zJO52KszVPjX5Y2z9moFt+fUjg7XOdsgSpv1VMmOrgua F4M/uwYBPf/eOrpTBUhEeCbHJY5Er2+M+55dZIwExP6xRvHrF6dCwIxZNWl8N4QrZkKD0W ugYg1Grg/SOJHHoLpEG7a89s4bjovxRpCcNidcEEeMyXbUtfHQfgks1Xwhwvda5KrEMSly WW90Zsym85KAmFnAmTWZQcsQDB9Mv2jLNzOU2B61tYaP1JhgakV4UQPjvEvxyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777324603; a=rsa-sha256; cv=none; b=I+3d5AtakHMnG1GxTiHmnpLlIsSaj7bhHfuQq7bLMGsd0G95n82t5kQKd2EQ/ROXNnRiIy jScQQHhygGXYRmqd3iuPP9ahkXVQVpV9actk3s1sRmgQslGmpwUHu2jHy0D1vONiEvOM0Y fYULWtZuPaVlVwrUnofaVDN9aLB80FEbVqmsTQd2Q6WWmn2iKfGknpAs9OWTZ2cyiPSS8h XFEadmKW8lRA9qmZP9+AwC3c6rEuatmAPVC8+A+GzBHh1gjYnzKM3D1zFseqyzuY5UHYtr tS8+RF7YFMCEYguQLSbEQ0gfsNzBDf8m6O4rIjMDjH9wIXA50nR0KvLiQik/gQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NyIuOCc72mCj03ZCNwgZug/W+kA4QN9CjwPqBIxTTrQ=; b=hRJScjl5Bn9lZ93S+Me7WZTv2aagSs1JvstLkjlNS5KF/HLyUkTup5ZteXB9v3Pn2olw4m tbiDFKapWBu7ATvvwdeviITeLD2wCH9XjkyHQBLG7HBtj6/HyNWgW5lbh5JgEbMoP7mK0i Axw/fZCbgbi6PKA+RnL4Hs7INh5Ik5fzwH84m7PZvNiLuP30Kz7GcAau5UTEkrtl+U5mNq Q2f7CvPcD4fyVO09yU+U7L3aTNNcq0G5VVfgWCVOBp30iAt/8nnA1XFTRcTZ+bNL0dMxEY cKT4KSq6THbx3bBZeM1jEBABG98PIyeIqqjab0+b6OEVTxR31nFMDjugjlC4og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4GbH0LBnz8Ch for ; Mon, 27 Apr 2026 21:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d2a7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 21:16:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0068c706f8ce - main - make-pkg-package: Add set -e; abort if a cmd fails List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0068c706f8ce872c735ddcc383c5cd5ab85acc88 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 21:16:37 +0000 Message-Id: <69efd235.3d2a7.1a5652e6@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0068c706f8ce872c735ddcc383c5cd5ab85acc88 commit 0068c706f8ce872c735ddcc383c5cd5ab85acc88 Author: Ed Maste AuthorDate: 2025-10-04 20:14:43 +0000 Commit: Ed Maste CommitDate: 2026-04-27 21:16:18 +0000 make-pkg-package: Add set -e; abort if a cmd fails This makes it less likely we will silently generate broken artifacts. Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56671 --- release/scripts/make-pkg-package.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release/scripts/make-pkg-package.sh b/release/scripts/make-pkg-package.sh index 3a1b163bd591..97ff5da93aac 100755 --- a/release/scripts/make-pkg-package.sh +++ b/release/scripts/make-pkg-package.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -e + # Simulate the build environment. Note that we need to unset some variables # which are set in the src tree since they have different (unwanted) effects # in the ports tree. From nobody Mon Apr 27 22:00:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4HYz1RpYz6Zjph; Mon, 27 Apr 2026 22:00:39 +0000 (UTC) (envelope-from markj@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 4g4HYz0L0Vz3glr; Mon, 27 Apr 2026 22:00:39 +0000 (UTC) (envelope-from markj@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LjtK3XwSiaQ6NROSDCcOyrRYcFFZcsF1TPqeI1GBKnc=; b=p0eRUIry+qU6D13FkKxrAbWP/7foBssySZBBtZS5Nke4CrUvk3ZIakB1UoCRnZu5wuYwG7 O0W1W2jhvQ2R56X4ChJ7WnuUKBopUhcuv+tqrWr4TcvsmQeB1gepffMSTl65xsLoTKtloe tpy6ugV/3JaxqJx+Qd1mImliat6QzIv16z/MsTu/UpPn/l35twl/vG17IXJnjwqa3YMAW9 GQZA1FBCUvFATqmX6e6sQojbsTeXHIkV0Fp8LaTId8q3g2SEa5RtyCigaVk9um94ZZYDTc OvTTs5bhNpeZYKsid6/6jJAMBHdb0BDTk166g7ElTdWoftfRXVThDinLzZ9JjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777327239; a=rsa-sha256; cv=none; b=KNdMg+Y2ByOmccPqbnNize6qvwAMe8o0cxJnQ9T++uOi6xVNMF/8fN5zOnn12VK1jmUsap 3TPRuxfuulgrv03bFlcZgFydvcw/no9Vts57PZMPGnZesfKZHfLp9iPbDGG1WNlAqFRMfS RLPxXRD5sMHRCjYaBcwHztvm7q0rvNXybgQSheUPVEj/8F4MXu32Qf8P4xVYT6XOQr6+OT ZC4Mc1P6aQYI5LaVj2n/7xBWfsyaI6XlKIVrVelcN6zH8j2ZX+0XyyUr6RgtpT3DisJOKz iRoWDhGL89ODoxKvlhq++yisqRk8xY6MAtv7/X7CnI5NGu9J6WyYxm5Dbyh5DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LjtK3XwSiaQ6NROSDCcOyrRYcFFZcsF1TPqeI1GBKnc=; b=PDoMMGRkI40JJcRp22X9gvPR/9xXzVAGKNygM835bLe+ylPFL9mJKOEcf6u1vYxuYWif3E UGsp/aiRInsiJ0kKgnZYj5+iJrIyJ0OeGfbMMHlsimGo2FD8yxGXqutpYWSOOIbkMt1MNj oxXpmzGJ8ZoJTqAsrwGDE/KsY4180uwxLAsDB+lo1mOAZ/Kfv1C7BDGt4HEJD2AiGWay6J d4P47gLMF3zG/8QVdvcRauVG3ZCGRMnXL1aNB4nAZbVplqjRMTBU8fyJs7eKTbmNy89IWF qNx0Si19V+Vejy5SWzNnZQ/vhG1hE+OiMqZM0FYLyvK/HWwqcBFMy+OCl2OxXA== Received: from nuc (192-0-220-237.cpe.teksavvy.com [192.0.220.237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: markj) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g4HYy5GLlzpb; Mon, 27 Apr 2026 22:00:38 +0000 (UTC) (envelope-from markj@freebsd.org) Date: Mon, 27 Apr 2026 18:00:37 -0400 From: Mark Johnston To: Andrew Turner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Sarah Walker Subject: Re: git: c16c95192f01 - main - virtio_net: Use bus_dma for rxq/txq buffers Message-ID: References: <69ef4acf.1fcd2.4d4d3e54@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <69ef4acf.1fcd2.4d4d3e54@gitrepo.freebsd.org> On Mon, Apr 27, 2026 at 11:38:55AM +0000, Andrew Turner wrote: > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c16c95192f01237a876eb7bc336e3bbda9310171 > > commit c16c95192f01237a876eb7bc336e3bbda9310171 > Author: Sarah Walker > AuthorDate: 2026-02-16 14:19:13 +0000 > Commit: Andrew Turner > CommitDate: 2026-04-27 11:37:53 +0000 > > virtio_net: Use bus_dma for rxq/txq buffers > > While the majority of virtio platforms will be fully coherent, some may > require cache maintenance or other specific device memory handling (eg for > secure partitioning). Using bus_dma allows for these usecases. > > The virtio buffers are marked as coherent; this should ensure that sync > calls are no-ops in the common cases. > > Reviewed by: andrew > Sponsored by: Arm Ltd > Differential Revision: https://reviews.freebsd.org/D55492 After this commit I see a ton of warnings during boot in an amd64 bhyve VM: uma_zalloc_debug: zone "malloc-16" with the following non-sleepable locks held: exclusive sleep mutex vtnet0-rx0 (vtnet0-rx0) r = 0 (0xfffffe00f1e71d80) locked @ /home/markj/sb/main/src/sys/dev/virtio/network/if_vtnet.c:3584 exclusive sleep mutex vtnet0 (VTNET Core Lock) r = 0 (0xfffffe00f1b819a8) locked @ /home/markj/sb/main/src/sys/dev/virtio/network/if_vtnet.c:1572 stack backtrace: #0 0xffffffff8134b497 at witness_debugger+0x137 #1 0xffffffff8134dad9 at witness_warn+0x749 #2 0xffffffff819524bc at uma_zalloc_debug+0xbc #3 0xffffffff81951df0 at uma_zalloc_arg+0x30 #4 0xffffffff812083cb at malloc+0xab #5 0xffffffff8126f92c at sysctl_add_oid+0x7c #6 0xffffffff81b92fcd at alloc_bounce_zone+0x58d #7 0xffffffff81b91164 at bounce_bus_dmamap_create+0x294 #8 0xffffffff80ededc6 at vtnet_rx_alloc_buf+0x166 #9 0xffffffff80ee2ce2 at vtnet_init_locked+0xb42 #10 0xffffffff80ee10da at vtnet_ioctl+0x33a #11 0xffffffff814b63da at ifhwioctl+0x153a #12 0xffffffff814b81bb at ifioctl+0x76b #13 0xffffffff81356d36 at kern_ioctl+0x406 #14 0xffffffff8135687c at sys_ioctl+0x26c #15 0xffffffff81bffea5 at amd64_syscall+0x3d5 #16 0xffffffff81bb77fb at fast_syscall_common+0xf8 It seems surprising that we need to create a UMA zone at all. From nobody Mon Apr 27 22:06:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhw1wHgz6Zkkq for ; Mon, 27 Apr 2026 22:06: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 4g4Hhv6QVjz3hYR for ; Mon, 27 Apr 2026 22:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=riED4GZFbRZtqZ9KxoOI9uhiDnNhu1bakUt4gXp5dNA=; b=FjeR/6UxVwr5HbQfEmrB0mmdbkBVEoShsPi/skt2VmQUUR/hBlpbXWMEHk/7jHbNGE62cS xzkCm72ZiGc5zCg4ltMTS2euG52kGnIml5WCcFVVIMugWv4MuHSAENJPSsE3VGdr8SeSBM 04kFhgl4a8LsKNnJKXnUAXP6ZZ6tfPG90tqqkjNo/fzL2lG4VcQ7x87N4AeVNGwEGfadUw dTVw2Mx8JhrPzJtDsjciixrClr0Jpg/JROKhj9hu8NpeJVD0intsdwwjccyLYZ4ald78/B ENtfNWrtqD2aDFJfEXnsozG4Z0abZAdVr+ZF5P+u18jHcsPOo3qUgPQq91IVLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777327599; a=rsa-sha256; cv=none; b=Z+KqGHrusVwPVJaPhMf48GRIxdTx8vLQZw2gbUx+xYj/xEXkLSdEtlsrh24iMofbiSnrfy AD1/PTZZ7KNpbivnHoxafYrhJbxt8RQ+AwNzn2+nadb9tmqFUOttR/2cTUXffFq19iPAx+ PkHgIluLYOSkHoKAaWoAI5BEboWoW+A64aOnokX+lX27sOCJG5U0LgwvCrLgc4KRzQajwb ykkIrgg1V3iWMH2IkqUJzfbmbyAT3LdUI5TjnB46sK9L/QsSOMRhlv1lH4IY5NDLtsE5yR 4gU314cF4DAubqZNWNojibTgotZAD+5TKNGPt0KCfYAkcZN/TRRQ8b2kbtY7Lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=riED4GZFbRZtqZ9KxoOI9uhiDnNhu1bakUt4gXp5dNA=; b=w6cCT4wOo7WYj6MexOw/uXZwdz4WHB6w1T6zKCIIAqBKlfO853bJUTbcT/nloCXq3Dqk/O rrS/C1pH7nG3gG1hqYrC9oQJD40p39X5RT7u9GJkJXQ5FrGr+4gIpmwmoL6zwjNI4mVIPS zwvmcVzl1oVg+UCXdflXS9AdapWCtM7Mz3jJanBDZi64h3LvCAPmpFkSreIQIlYcpNULFg dszqzHtonJHf3QLs3roqHJibt0hIDOSeBCFlxTz2F6VWEBAr/Zok3GSif2rMFq0hhTRV6g YCS78rM1ue6tgyZZYksdPp9jqnWdh2L7b2TFmuJhBr+w0T+byXenL1UgQeONBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhv5Tf2z9dW for ; Mon, 27 Apr 2026 22:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 190cf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 22:06:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: b866d05ea286 - main - Makefile.inc1: Always use ${PKG_CMD} List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b866d05ea2860f9ccc27c75ff0501372896b5bf2 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 22:06:39 +0000 Message-Id: <69efddef.190cf.4b7308e@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=b866d05ea2860f9ccc27c75ff0501372896b5bf2 commit b866d05ea2860f9ccc27c75ff0501372896b5bf2 Author: Lexi Winter AuthorDate: 2026-04-27 21:29:43 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 21:29:43 +0000 Makefile.inc1: Always use ${PKG_CMD} Previously we had a mix of ${PKG_CMD} and bare 'pkg', which is wrong, and breaks the build when 'pkg' isn't in the tools path, e.g. when cross-building. MFC after: 2 weeks Reviewed by: wosch, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56655 --- Makefile.inc1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 9b8cc4234ae1..dcdc735aa645 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2062,7 +2062,7 @@ _pkgbootstrap: .PHONY BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ all install clean .else - @env ASSUME_ALWAYS_YES=YES pkg bootstrap + @env ASSUME_ALWAYS_YES=YES ${PKG_CMD} bootstrap .endif .endif @@ -2124,13 +2124,13 @@ real-update-packages: stage-packages .PHONY .if defined(PKG_VERSION_FROM_DIR) @echo "==> Checking for new packages (comparing ${PKG_VERSION} to ${PKG_VERSION_FROM})" @for pkg in ${PKG_VERSION_FROM_DIR}/${PKG_NAME_PREFIX}-*; do \ - pkgname=$$(pkg query -F $${pkg} '%n' | sed 's/${PKG_NAME_PREFIX}-\(.*\)/\1/') ; \ + pkgname=$$(${PKG_CMD} query -F $${pkg} '%n' | sed 's/${PKG_NAME_PREFIX}-\(.*\)/\1/') ; \ newpkgname=${PKG_NAME_PREFIX}-$${pkgname}-${PKG_VERSION}.${PKG_EXT} ; \ - oldsum=$$(pkg query -F $${pkg} '%X') ; \ + oldsum=$$(${PKG_CMD} query -F $${pkg} '%X') ; \ if [ ! -f ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} ]; then \ continue; \ fi ; \ - newsum=$$(pkg query -F ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} '%X') ; \ + newsum=$$(${PKG_CMD} query -F ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} '%X') ; \ if [ "${BRANCH_EXT_FROM}" = "${BRANCH_EXT}" -a "$${oldsum}" = "$${newsum}" ]; then \ echo "==> Keeping old ${PKG_NAME_PREFIX}-$${pkgname}-${PKG_VERSION_FROM}.${PKG_EXT}" ; \ rm ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} ; \ From nobody Mon Apr 27 22:06:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhx2ttxz6ZknJ for ; Mon, 27 Apr 2026 22:06: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 4g4Hhw6js8z3hSd for ; Mon, 27 Apr 2026 22:06:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NQcjGOm6WGxQU9EEVRWkGEH8bMmHVI5lWJw5IRFpAlo=; b=spykRBP57MxdlbOOGFJsbTKBoBmWECS0N1+1DPzP8adZrh7T/NHx6bqVb/x0toTmCPcGPp ISZYeGCuQhUKQq2GE0qsYp4LK86T7Si7yhsG4H5EFS/CwrwA80FxeG6AMMpq2Prv7AajkC Cytenje5jws1DDgsynG54cWm3Az30HV2MuCMrAVJVwGjSm6pmzhrGapt0n7/Lg84Z/CM2N aCjHGPAqVKFUqvMuEEGIu2QkyxSr5MHgt9BSMQ1iH9YMS4nNnDwnkvqejqZpvpOMVRGD9+ MUFXtY/ZDnbG7gCbYBei6q6k9g49DxeUkCXcFoSDBS6nO3Tu7Lt2ydS2aW/iFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777327601; a=rsa-sha256; cv=none; b=P0XjrX4vzzywyVhXOUlKcSWZQTsYshisuOz5PV9sOgBfCpuiDI845dKiZKeb0O4T3PWy5j 4XXT9TAnxeBktXDtJ0LfDF0CFNV3Ce4Q770QB/wGRQWRtl6caImXMlkqfmEkkDJJMQtomy NQ5fWpDALWVW+41dd1iu0ry1JPgQ6c2StZlfASnLt9hPsaVQ1mGHBURwN+xapNL9Dy5aTB HcaKPYT1p8ROby838huZjT0JBIe/QB4GUdzxLwSg7D+B8TOl/Jvw0f5V/u80ROkxTv2wY8 3XPZ+kP9ykx5M5Uwet4aDOGHZw7MuuYlBWGKNmDx8NNdGVaTblaXmR/qrDNWxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NQcjGOm6WGxQU9EEVRWkGEH8bMmHVI5lWJw5IRFpAlo=; b=RfXFVsepk3WBIZ0guP3D88+Yzzj1sPAIMvyU76+2yqbyS5ASsSVYFtS7yws42KRgMbdJyC vLBKVT/eC6lW2xQSMu2S7+0NiUeiKsoikNvjj2PhZQLtGG58qY9k9ow1I6UwKjaWJklpIO 9bGmbcYDqcDh4uCCYlCM1wlLJWxMSpugMnPX9wgck2UhcCQnE+mH66VRw35bC4m90kn2r6 3FFBe0rmp24o0TvOV0nYRyLiXp3W2j8zFsS+5dCP4Mls2tc3i2Ex6WaOIaOqDtOhZxWzch /pFtOhBHt2P8QuCLMcz31lxJnDpAgtjexFrxp+Ej1TuWC2+1LruYnqlnkDHrcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhw6GyHz9dX for ; Mon, 27 Apr 2026 22:06:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3faeb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 22:06:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 036ff38ebd5a - main - libzpool: Set -Wno-error=typedef-redefinition for clang List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 22:06:40 +0000 Message-Id: <69efddf0.3faeb.3786da4b@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6 commit 036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6 Author: Lexi Winter AuthorDate: 2026-04-27 21:31:47 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 21:31:47 +0000 libzpool: Set -Wno-error=typedef-redefinition for clang In some versions of LLVM (at least 21), the <*intrin.h> headers contain unguarded duplicate typedefs; this isn't permitted prior to C11, and libzpool is built as C99. FreeBSD's LLVM backported LLVM PR #153820 to fix this, but other versions of LLVM (e.g., upstream, or on Linux) don't have the patch, so this breaks the build. Add -Wno-error=typedef-redefinition to downgrade this from an error to a warning. MFC after: 2 weeks Reviewed by: dim, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56653 --- cddl/lib/libzpool/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cddl/lib/libzpool/Makefile b/cddl/lib/libzpool/Makefile index 0c680367956f..db09d33e19b4 100644 --- a/cddl/lib/libzpool/Makefile +++ b/cddl/lib/libzpool/Makefile @@ -293,6 +293,11 @@ CFLAGS+= -g -DDEBUG=1 CFLAGS.gcc+= -Wno-pointer-to-int-cast +# Some versions of LLVM contain duplicate typedefs in the <*intrin.h> headers, +# which are not allowed prior to C11; since libzpool is built with C99, make +# this not be an error. +CFLAGS.clang+= -Wno-error=typedef-redefinition + # Pointer values are used as debugging "tags" to mark reference count # ownerships and in some cases the tag reference is dropped after an # object is freed. From nobody Mon Apr 27 22:06:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hj047cLz6Zkgk for ; Mon, 27 Apr 2026 22:06:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Hj00w34z3hfL for ; Mon, 27 Apr 2026 22:06:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vE04UyHA1dOappDkq9LVsEkfjvCXcqB+vBUWZ/HwkQg=; b=ywtcnh9TaKZgfayHEKyD7c5DBuEUDA7YbSpaGtb29mKw1vZWcG8BcOs+Iagd9duVHguNDZ afKyVVtixwGF6Zy+n7GIuLNBa5W6WtTYDStqkyk343mfsjXloA+wXdtZTRTZGqucTwbGdr Auf2MID0rOJGCj4w9EPNwjZ4trV2dF/IZgO+1Dnp2E5XUgVXXQQYJHn1V4inAIvvwiGanf pfvD46DrqPWBfX5vR09VoHd6RyVd3296ywGezLqnx7XISRwZ/YpUmag9YNUCmTGStEAUKs f7CgShIpBN3CaSw77CdVnuy6GLOimc0KNe/D2dVUZo2vvZyGNoCSINHRQVzpqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777327604; a=rsa-sha256; cv=none; b=BxnAVSE1jE+dRbQUaRKihgvJreudfwNdlq+/8Bscq7WfY74P8Yo/EoZLdHS+sKWUV2Rs2h 8CVvEqfPDA6enEl61XTOYgBK9PoO2OuF/DvY1zFltTZEIss5vbbrQEz89K+ry4z10NEgTT m0nZHRHsvEpkNlE8lxH00GcLF+Z04uWeN7/aoeJHli3EYJcvNI1C+iv0zy0fxZPVV42yKg oeucF/E74eEuQvYAap+3REbGyvi+qunHEdgmx5X+Ysu5/oQ7C2e+I2LA2resLCuvpUmgBj gxaRA8/g8tKWI77AEcRWUCOITbmbLNODAo6Il8cTQcZX53c1tJphwrzsbQPxng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vE04UyHA1dOappDkq9LVsEkfjvCXcqB+vBUWZ/HwkQg=; b=nxZJpu1WBhfqt8lBaiCia07Y47VxmIEPhGIbLQc26PaK0FZ2fJPw/221CzdRLIhxnqvLTE IS3TL+CQJdFY7dvFI5I8vig3sCnBn38DAbq2j/kq97TF2eu2NS1nY4jEg4CaS0CNUxhsCV DLs9UV6hEhf0VYq3FEmiPtEj8DmaDBaLo063Mh7ZmISbkS04pSa0lVSSsOKVzXmzOCzN6R Aw4oda5MLE/89bSqvI0DKD8xVaSmou6PnI4O7HVSwzTeB1ZkIHbZ2qODQ1WktMXCHQ6kOK CsiHYNbc4lDOIk7B1fkoOtbFpmmYYxts5Ye3X3+CsZdIkfLszJIbPC4IkCA7xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhz6tFMz94H for ; Mon, 27 Apr 2026 22:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 190cb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 22:06:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: d455c4bb69ec - main - Makefile.inc1: Use ln -n instead of ln -h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d455c4bb69eca975854262207687db50a5edc434 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 22:06:38 +0000 Message-Id: <69efddee.190cb.32cc7aac@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=d455c4bb69eca975854262207687db50a5edc434 commit d455c4bb69eca975854262207687db50a5edc434 Author: Lexi Winter AuthorDate: 2026-04-27 21:26:45 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 21:26:45 +0000 Makefile.inc1: Use ln -n instead of ln -h We support both -h and -n, but GNU coreutils only supports -n, so use that instead. This fixes the package build on Linux. MFC after: 2 weeks Reviewed by: (wosch, imp) (previous version), emaste Better fix than the original patch suggested by: jrtc27 Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56656 --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index ea066d8aad8a..9b8cc4234ae1 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2418,7 +2418,7 @@ real-sign-packages: _pkgbootstrap .PHONY ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ ${PKG_REPO_SIGNING_KEY} ; \ cd ${REPODIR}/${PKG_ABI}; \ - ln -hfs ${PKG_OUTPUT_DIR} latest + ln -nfs ${PKG_OUTPUT_DIR} latest # # From nobody Mon Apr 27 22:20:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4J0R311Xz6Zm1c for ; Mon, 27 Apr 2026 22:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4J0R0XfKz3m8S for ; Mon, 27 Apr 2026 22:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777328407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FghSekl5BFFf819j15UB+rd8Qvz1GzklqSxstdIrRXE=; b=mdLDe400h8vXJr36XPJ7XNgh2PmAROHxXdi2ndpGr8AcDR0OFvDyLkFkpfV5gTIlVCFsRB UHx16vPvkvS/q1qkcccJEr+uwCa9g+LnayHIEMxZVPOzoM3TzQtKqdmTf7qRROtPnkpd4y qqgcszvQTC+1uCpOgmVWhNdVxwkqMYBzB6us6QcJJxRethAAs1YJYN1EjtXij4woX4TkIW Hg04AI7qg1S84oqsUSoFE5I4E66SWPdRU3G8TyKKVtZUL21TuG2nMuVQKRKq2ZcsPan56n slEFXtUKSsLJVWlP3O7ZfwuAMad7FDuPQpFeYaOUbVnbljSSmnRUsL59+BHV9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777328407; a=rsa-sha256; cv=none; b=bFcic0OCk35/pZlOeGxuuM14MPsMo0crXtvTiQdMIq11cvJmkGSbK0Kaz1COGO1yem0+8g 4Yk3dfznafNyQ9rPFFnJF8dLzwn1LxdXOWlhq+NsMa0Lbc95Y0h7jMU2mXA4NGlGXP46tr WG091D4BEUQbcapfThyZvrQihI052xsZ/ZeBZ1r1pfzIJNCvlSYYP5vw5H1UdWh12Qk2M8 g0nIB+7qbP8BFQvUHZy8r8HL3gcwPiQyz7OyCxmVhFJEuYk/oPY1p14GOiueWSnx5E9qPk p1ziJhTeP7KX2ePWm6vSVFzqAqfTWL285Vq3GHxXKZ+bVPOFndhIk12I6vigRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777328407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FghSekl5BFFf819j15UB+rd8Qvz1GzklqSxstdIrRXE=; b=gGWVBIU7J5cpPIRsdMpjidksJY23oF5ziS1LhEwR6/TamsHxfJOIU+4uFxumqJipNI1Zbb QGVPf06oDrTix73HWycQzJwy8JnOjLOWV6yjpYXGu9jBrNHZmxihJtXGag7WcJM2rtK1Xh f3Kz6mGHxQULGo7aMBs7TderH/p5kceOWka4E1XEgwfHA4PQ78f4pmrSLIUaIY/SdebteQ FeGee9jX1hFVkAgpqblRnsRTYWh0BRf0IXoCZcM+k+l9gynkXgoxVEt4d7IYQNuvCvW1Ld acwX5QpKx6HYW3BSpIRXmDWYD+dh21AHHNw5niUIfT+uKuFSdJrtfMjhUNacvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4J0Q5lf1z9yj for ; Mon, 27 Apr 2026 22:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 199da by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 22:20:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: e6d112bbbbf0 - main - packages: Fix clang conditional List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6d112bbbbf0b09f0f18a85a0a3c6d5a49aff653 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 22:20:01 +0000 Message-Id: <69efe111.199da.78866c04@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=e6d112bbbbf0b09f0f18a85a0a3c6d5a49aff653 commit e6d112bbbbf0b09f0f18a85a0a3c6d5a49aff653 Author: Lexi Winter AuthorDate: 2026-04-27 22:15:13 +0000 Commit: Lexi Winter CommitDate: 2026-04-27 22:15:13 +0000 packages: Fix clang conditional Various src.conf options can cause us to build something that ends up in the clang package, but MK_TOOLCHAIN is not one of them; copy the proper conditional from lib/Makefile to decide if we need to build the package. This fixes the build when LLVM/clang is entirely disabled. Fixes: bb75b0d581f7 ("packages: Convert world to a subdir build") MFC after: 2 weeks Reviewed by: emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56657 --- packages/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/Makefile b/packages/Makefile index 3c189770dac5..79bdab9f1abd 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -80,7 +80,8 @@ SUBDIR= blocklist \ SUBDIR+= acct .endif -.if ${MK_CLANG} != "no" || ${MK_TOOLCHAIN} != "no" +.if ${MK_CLANG} != "no" || ${MK_LLD} != "no" || \ + ${MK_LLDB} != "no" || ${MK_LLVM_BINUTILS} != "no" SUBDIR+= clang .endif From nobody Mon Apr 27 23:00:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Jvc0624z6ZpY8 for ; Mon, 27 Apr 2026 23:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Jvb4r1Sz3pw4 for ; Mon, 27 Apr 2026 23:00:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777330859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=040sd3UkTejVDtDy+3oukYftI65p35sqaI0pytnzJaA=; b=d6zp3ky4mdi2kzFfjgkoOH2eljknJmPs+mOWTw8EbLPVEs2nIAl1GunL80J5KTRMMK99aM hOhsltpZ/V1kfc0Y8R0IOV6k37aAUeB20Kg5w9kkJMLaSufCWv+XfQ7J2xBUPoejIjyWXM w2xxENt56BXuIggLvUFWtAEJb2gstZ1B1oCOyanGqnqLRvRL2qZIwQO97ZyrwYUTiT/zdD 0NDShRxfq5sRwIdAI5yDwCdDF3Fmxrumr1tWFYjDon5WqGgsRBvns46MCp8IiRea1y51+k EexiFZEqXyvzkNwtREMHuzGulYwiBFBi6bKbkz+OszA7tQhA2M5X27PpOgHLxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777330859; a=rsa-sha256; cv=none; b=pcVTWhvow9jEIESDaA8DMxFRRIWD0sVfS+BTlyuIBtAYqgpIzg3TfS/VLxLMlLzhSaiQwV gsPNWau4noP2AxWD9s4cKQ0ILpAZbe5bK/4JyGKgk6hyO/YYEkmaX/MJTBtDTbiw2NLXFD 1LfizfWrpE3IUr95KdR1Luk3JNn2ZOg2kh/Y1E+2UeIP+l6mOgqHQJW+03992DwUSgmqNv wqby8cO2+T+R866T8h1PShgA1xUw4Rdko/ErgYQQ7Jqq7VQ9swVaOPzaFRtmbjJrqH2dXX HmpBP/ixR5+/VbbH4BbOy8h+LyIJGBC1XD7lM7bzx8RUZGLvKwxZ6Kem8MKZGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777330859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=040sd3UkTejVDtDy+3oukYftI65p35sqaI0pytnzJaA=; b=MvkgYGyhVTLs/cINmd6lXNfICwdZ1VKDA4zqSY5uBCDP0pyb0ui0bT4reaiKPPuRla1HFz Y/Y++9B6ZgskQR8iqj2lLEaP/IhDXzME2SooD+q5I9fcEwlvxlq+0m6oJXhDEpt9/W8Zbk IVJsunX9NnNuzj0vNm0mLpOnwciMaWgnPvyXqPP+OshCMJEc1N6QUjeIOfjljKIH8lz0zj 6MVSgcbVyXp2g31tLHODeIpHZPMe+vHzeoaaynDHCOABw/dA0Kr1IH0lkN70XB/n6wA/Iv 7245vE0bU8MtHEzr8H6k4saSqhcFKJ5/IXUOzvb2x20gKq0ZLRjZG3WOvjtjbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Jvb4JJ1zBCp for ; Mon, 27 Apr 2026 23:00:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21291 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 23:00:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 54922e4ec890 - main - mixer(8) tests: Remove tests for deprecated control values List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 54922e4ec8909829a7ca8d2158c2a514a06df094 Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 23:00:54 +0000 Message-Id: <69efeaa6.21291.79389774@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=54922e4ec8909829a7ca8d2158c2a514a06df094 commit 54922e4ec8909829a7ca8d2158c2a514a06df094 Author: Christos Margiolis AuthorDate: 2026-04-27 22:59:38 +0000 Commit: Christos Margiolis CommitDate: 2026-04-27 23:00:46 +0000 mixer(8) tests: Remove tests for deprecated control values Fixes: a28bb575c89c ("mixer(8): Deprecate some unintuitive control values") Sponsored by: The FreeBSD Foundation MFC after: 1 week --- usr.sbin/mixer/tests/mixer_test.sh | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/usr.sbin/mixer/tests/mixer_test.sh b/usr.sbin/mixer/tests/mixer_test.sh index c48512db5ec7..da5f4d7566bc 100755 --- a/usr.sbin/mixer/tests/mixer_test.sh +++ b/usr.sbin/mixer/tests/mixer_test.sh @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2024 The FreeBSD Foundation +# Copyright (c) 2024-2026 The FreeBSD Foundation # # This software was developed by Christos Margiolis # under sponsorship from the FreeBSD Foundation. @@ -210,16 +210,6 @@ mute_body() atf_check -o ignore -e empty mixer vol.mute=toggle atf_check -o match:"=off" mixer vol.mute - # Test deprecated interface - atf_check -o ignore -e empty mixer vol.mute=0 - atf_check -o match:"=off" mixer vol.mute - - atf_check -o ignore -e empty mixer vol.mute=1 - atf_check -o match:"=on" mixer vol.mute - - atf_check -o ignore -e empty mixer vol.mute=^ - atf_check -o match:"=off" mixer vol.mute - # Test wrong values atf_check -o ignore -e not-empty mixer vol.mute=foobar atf_check -o ignore -e not-empty mixer vol.mute=10 @@ -248,12 +238,6 @@ recsrc_body() atf_check -o ignore -e empty mixer ${recsrc}.recsrc=set atf_check -o ignore -e empty mixer ${recsrc}.recsrc=toggle - # Test deprecated interface - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=+ - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=- - atf_check -o ignore -e empty mixer ${recsrc}.recsrc== - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=^ - # Test wrong values atf_check -o ignore -e not-empty mixer ${recsrc}.recsrc=foobar atf_check -o ignore -e not-empty mixer ${recsrc}.recsrc=10 From nobody Mon Apr 27 23:20:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4KL76LMJz6Zr43 for ; Mon, 27 Apr 2026 23:20:31 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4KL71W3Wz3sXT for ; Mon, 27 Apr 2026 23:20:31 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-35da8d037a5so5093824a91.0 for ; Mon, 27 Apr 2026 16:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777332024; x=1777936824; darn=freebsd.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5to4gJneD4iT+S/FOEtWxIKvXbmESYBRQtQSjv6hQoA=; b=V0XX6GGnFTGOAYMK/RFPIQHe1u0ijLTnzOPvjqutyDWrCQFOvkcFhIC5a2QQ9Ky/Md yi/uvIFaTjEwt0UCoonIMtYYjs6QxxsCoh6q/K6CAGiR1gxh4jeSBNcvwcsmK0q5/v3i SvZvfVCMoc623DGElUBGx5SL8/7VPwfFjahdWS1KyzzdRYf9k0QuuffYmq+SKqDV7AD1 1kLJnuQB7cVwB7hBa1ds7qBTd00go9NN1iA2Yk8Azq4OnNQ3uuuACLpz/Xq3h3nICFBB wranigvirLkrzekK4lz2jo9WXVL/alVObH9KPkvKFvK2Tja5wmHsrmcQaEMFEDzmY2GS 3Uew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777332024; x=1777936824; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5to4gJneD4iT+S/FOEtWxIKvXbmESYBRQtQSjv6hQoA=; b=UriWO2yS/jxpv/QA7Q/3h2l897fK2n/7Caw+0EAs6efAtULCikzfwKgdyr9zH3wSq8 Bp64dLk4THUJmgBAdczICRxO0cyiMHSiDnZBKTYfgIV4yYiv/B3LGYjItznb+R1cTIqE jBpGpclY+c0MTgnIoZggdvwh40Hl2lsE2wPcczAhIvFPuoWI+Xr2rOVVA+vEoqhV7VH8 mqXbQmAAo2mrM+OW7a7emDK2dgU2vUjcgeYUsQOZTTF9hQ6vriQDIQ3UsG4c8vWn833P FWkDunA76f/7+DOF7J9NGJrUPbLXdOzRYNPLIa7DlfN/H3vH1C23wwkwJ1ZzsGpliRLJ t/yw== X-Forwarded-Encrypted: i=1; AFNElJ/BhF/Pr1Ut258jTikJ7XIwvziaBaGT9KIgtYVbLnhVb4O4bL0YvHu4m7342Zvc2Kyip7C5JmPEk5ZmQDDCyhWHPedR@freebsd.org X-Gm-Message-State: AOJu0YxEdPlyRRM8p9OUSXsknvHJRxs1EBQltWGXHof99/okB0Mo50YF gMieHksGqFbRlNLzq2tHl5MgGfQURxG83tfQMgXeLw5txlzTnnfffByeA7aUDMcZ X-Gm-Gg: AeBDievTaqp5wQxefR4qsCesT7mMvh5lxE1nRKxx7wKBonXOz+zKzLGKDV4LDDR+0zr pDF+gYSB2Bx474peQq/FXzHXm9JcsdH+hb0qs+Z9x0G3PrJIfSGG6OTSGQL82WPOENk51z7ssOJ TXRvBuChXYmZO1Sae2aDvfet0U3XNKogDfruKNLBmXN4ZAig9uvlojf/iAt2QxN9m4DP2RDhFgs caV48WFsbkB4kaxw3M8NJWqQm8mampNV/GtlgK3DMDFz6516Orlvb+kAtm0idFFM+HWX8JEfoC4 LxbVUKe8VsPt8T2f3cG3M+BQfFGDz3XhA48qIl0GKP2PqJ3tgBX/KN0ex+6E/AwJHEozt7kDvd5 PSFg82cZ6A/b9Y55rrFrkWHRIguPLv8ZXgTnIyeOWN2ISzJiFCVWIQQERrtUeMvFWSS3gJao/Wr 73YXICFwJL0rdlhJUhNiK7/UadUp9CxcxOLO0ljliI8LMQs+7zx+69ZnfXbGo= X-Received: by 2002:a17:90b:1dc5:b0:364:7467:53e7 with SMTP id 98e67ed59e1d1-36491f89d55mr652093a91.6.1777332024136; Mon, 27 Apr 2026 16:20:24 -0700 (PDT) Received: from smtpclient.apple ([185.153.179.248]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36490dbca93sm663034a91.2.2026.04.27.16.20.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Apr 2026 16:20:23 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently From: "Enji Cooper (yaneurabeya)" In-Reply-To: <24831.1777314998@kaos.jnpr.net> Date: Mon, 27 Apr 2026 16:20:12 -0700 Cc: =?us-ascii?B?PT91dGYtOD9RP0RhZy1FcmxpbmdfU209QzM9QjhyZ3Jhdj89?= , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> <15177.1777314263@kaos.jnpr.net> <86bjf41chq.fsf@ltc.des.dev> <24831.1777314998@kaos.jnpr.net> To: "Simon J. Gerraty" X-Mailer: Apple Mail (2.3864.400.21) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4g4KL71W3Wz3sXT X-Spamd-Bar: ---- > On Apr 27, 2026, at 11:36=E2=80=AFAM, Simon J. Gerraty = wrote: >=20 > Dag-Erling Sm=C3=B8rgrav wrote: >>> The goal here is to ensure a line like that will be ignored. >>=20 >> That's beside the point, which is that your regex is incorrect. It = will >> treat e.g. `:foo` as a comment. >=20 > Which is fine by me. >=20 > That is not a syntax one commonly expects to see in rc.conf.d/* >=20 > safe_eval is used it sitations where we are paranoid, > normally only wanting to read *verified* input, but there are = exceptions > to every rule, and the goal of safe_set is to ensure nothing wicked = gets > eval'd. So I don't mind rejecting :foo=3Dbar Using `:` as a comment marker seems a bit esoteric (at best) =E2=80= =94 especially when it has other meanings in /bin/sh . I'd vote for reverting the change personally, but I=E2=80=99m = not going to be adamant about it. Cheers, -Enji= From nobody Mon Apr 27 23:44:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Kt26Wtxz6Zt6H; Mon, 27 Apr 2026 23:44:42 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.pphosted.com", Issuer "Sectigo Public Server Authentication CA OV R36" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Kt24Jbpz3w1l; Mon, 27 Apr 2026 23:44:42 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108161.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63RNPrfu1907374; Mon, 27 Apr 2026 16:44:41 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=PPS03102026; bh=c05VOIxqFsSHbdXdeSCvvqH0K0vmrn7ANBR03a6UNLY=; b=oGk7EOponiTg IQ/C3/xUNlb6sDgnki59ieh8XX7176p8D+r+FOngsw9ULSe2uY+heYOwn+5BwscV P0BTWOdfLejA/LpAbrVftqfZ1J5uxfz9cW1OtpBaASUkR+kY+a0O4IYhtfxmAgHK AbOCn4ZBXQD1+v33ci0f9ZoxdyVj0oKOg+Xe1L0eXbzfiHitMReDkBUtGm64kGjW OePXM/pbsv8YnfIivh/u8zCDGcEg6jbhzoDEFTs4wPadwskyLve4ky6bsQVXINa8 DHC+JgY0EWEOowr78GxjSNBVGn7Q/dhDH/vrZhMpAY+E7k4MEoysPg0RKdEjYbxf jjIdlohquw== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11011051.outbound.protection.outlook.com [52.101.57.51]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 4dt5q2ket5-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 27 Apr 2026 16:44:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C4k8gthfY9DgdE4aC8fpLCkcUBjbEGWrQV+jhXOOypVpfNRy75kPlrVSHps/ZKBYvUfbQkDxc8cckMMIlMVpltDJYnO8w0XgG3RAhGDD7KHcwauOSEDE40XPeH0nIHNMXJsOIkA6g91eNJhb+Op9W56uYIctTDexfe+ODEwV0ONm9kZy4jT82OlNFmj8FZQomdDiVgem8yvHwpKPhw0WkPVnYd2285rDfsdAJuHePVLjJapN6+A2AB+QNk6/YJzpOqGzhhY+Pmy9u4xJ+YAZsh2ZpN6wpKwG1aI7oLKesOp/9rIBbwWBjZLKFpxI0GFsfVMYTtVWZ+6hezWieeifeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c05VOIxqFsSHbdXdeSCvvqH0K0vmrn7ANBR03a6UNLY=; b=dp3YwAoupGAlCWg0LG0lQ29CWrSD9aNxpXT1/bFowytLSqGsnc2UFP1Fp3WUcZ+wXZlVbFxgeiwQXyVmGotp3YIn4REOZ3s3tUZY/dyFZhEVg3KYD+glcW7qA3A/poMltqZGTWr6+Snz5gAavZWFQb+v6MYXx5S6vB1mRBsWYYX5WA/XijSULgWhSX7gGg5dTMduxagygD+UB4ZWUweCWvbLVicqH420Ak4PSLIrT5athk+azDPOmQ4CYetS0YDKasPE5dpu2AN/fYqm5aBDOCZ/OjrdOro49+SnyoPPUxEOBOpy66xmzgv3M3oH0WXIK++r0UFMq7BbC4BpBwo/pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 66.129.239.14) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c05VOIxqFsSHbdXdeSCvvqH0K0vmrn7ANBR03a6UNLY=; b=WMMpPSnw0WkZx1GJDcLjbwtjIqGlM1rjECBw9uEi9pF7nHxPP8rAH4NvsgOPD6goq3TzegVClZuDqI12m/EuxFqGfsKjmWvV1F1FYD1DG6tOf6+KwGqEGxlQNnjyii1cbZRoXwpy//EZk3yBTfp8zeBBkfBgDcLYBlWytaX8vIY= Received: from SJ0PR03CA0181.namprd03.prod.outlook.com (2603:10b6:a03:2ef::6) by SA3PR05MB11076.namprd05.prod.outlook.com (2603:10b6:806:464::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Mon, 27 Apr 2026 23:44:37 +0000 Received: from MWH0EPF000A6730.namprd04.prod.outlook.com (2603:10b6:a03:2ef:cafe::67) by SJ0PR03CA0181.outlook.office365.com (2603:10b6:a03:2ef::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.26 via Frontend Transport; Mon, 27 Apr 2026 23:44:37 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 66.129.239.14) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: Fail (protection.outlook.com: domain of juniper.net does not designate 66.129.239.14 as permitted sender) receiver=protection.outlook.com; client-ip=66.129.239.14; helo=juniper.net; Received: from juniper.net (66.129.239.14) by MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.18 via Frontend Transport; Mon, 27 Apr 2026 23:44:37 +0000 Received: from p-exchbe-eqx-03.jnpr.net (10.104.9.86) by p-exchfe-eqx-04.jnpr.net (10.104.9.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 27 Apr 2026 16:44:36 -0700 Received: from kaos.jnpr.net (10.104.20.6) by p-exchbe-eqx-03.jnpr.net (10.104.9.86) with Microsoft SMTP Server id 15.2.2562.37 via Frontend Transport; Mon, 27 Apr 2026 16:44:36 -0700 Received: by kaos.jnpr.net (Postfix, from userid 1377) id A3D10C698A; Mon, 27 Apr 2026 16:44:36 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id A08D7C6672; Mon, 27 Apr 2026 16:44:36 -0700 (PDT) To: "Enji Cooper (yaneurabeya)" CC: =?us-ascii?Q?=3D=3Fus-ascii=3FB=3FPT91dGYtOD9RP0RhZy1FcmxpbmdfU209QzM9?= =?us-ascii?Q?QjhyZ3Jhdj89=3F=3D?= , , , , Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently In-Reply-To: References: <69e8f964.39869.24418b55@gitrepo.freebsd.org> <86jyts1xzr.fsf@ltc.des.dev> <15177.1777314263@kaos.jnpr.net> <86bjf41chq.fsf@ltc.des.dev> <24831.1777314998@kaos.jnpr.net> Comments: In-reply-to: "Enji Cooper (yaneurabeya)" message dated "Mon, 27 Apr 2026 16:20:12 -0700." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.8; Emacs 30.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Mon, 27 Apr 2026 16:44:31 -0700 Message-ID: <6875.1777333471@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000A6730:EE_|SA3PR05MB11076:EE_ X-MS-Office365-Filtering-Correlation-Id: 34d4030b-d7d7-422e-2b5a-08dea4b6f145 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|1800799024|82310400026|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: VL4kUIcxVcWx6Bl2wxRUQx6DjY73iJnw5N4FrDmYykrsKtDgqLGpI7Feji/KVjst1tky0N3y450nrsT5y6tHA25t41hEaYKERp8qb1olTB83jTKJOv9xWlyvyY5jVu01o1+vjVh1vjLtxOQxkklESqFq+LjCjDASqqZ+PFafMmmAk5IlhAeW8hTYSQAyZTk1nAAMdpF0a3O0qNPEQWvrem0leQ89MlAMmmYLGkKeKEzRazguMomaObT0PESvsAZjogQ2sECxZQjfz6lxROfqw47HlcrV+tE53paNAGwGkE8FRkQ03/vEa3i5pWM7+K/ymItm2jyeSIIl5aRe9shh7hmr+eJLeMWlDkE77xK0IH6yLl1rE1bosaIr+VvZmx4Y7ObjJQYbfRlYiFIGEhVX9qPunJW++Bb4ck/BzObpaLU6FjS9bzJ2NZIaneYq08OE4R1FerFhRW7jKWOEYoetKIRoLPh3J+VQhnoFRXVC23M5+kdXWyXp2+CmIpSH59NCn6mCHqY1EVpaiScVmsPke90vSMpwjMbQgf1lnomsbf2NK/LLMAvnpVp+G13M2gCIbxVBylQ0VJosmHSQ5BL4a+KT6XJ1leyGOho4BAHjekag2qZqQQ56YkDmldAyTZxtIzZP6j1BBVG7fs8DWYgyCePZjShd/PVJFzvLRc29I3mFBqcZu7JN+95RNCPRHcYSbqGBQk93JvgMxAzczJFsRWVppEX5jk1t0KY0H39tfZHutUGleadZJxfWSC8/STz/Qo5fZfDsthvKSMtIEQbUNA== X-Forefront-Antispam-Report: CIP:66.129.239.14;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:juniper.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m/DOYp2+Ym+LfUIgJB7YzrCDeTEKnNrFFQey7O9XSvy+pXmJQh0xCn09OUq0YlZJ/YfTJ+da6rtpp4Rlw6sdELtPJVfUQxNB9yv1j6ZMPbksRG1wJqWRWG67sUk2bp/QesCt/RoIfGR+EMlG4p9hPNkdndgRDP1WCwjYbaekFKU9nu55iHt6Rm3hrTDF2igJcKn0on6lpOKxa6LDTvgea1GI0VkC8OtUSLyOSMTUH7hejZxWO6gzfW5lk1NCIh8IqWcWwKSS+FuqQ0L0BGq2ILJ4pzSQGNPNNBO7yqQVyGpj/fVBej46TJY9q/0GjOtWQuW9PhMCtX3zDkMSgh4jG8kLi8QLioyAPlt15w/K/rq/vnOEN+CX2p+JtMwZEa2+NRxwZPKvWK8ux29pgcN1H9UeehldU4JtnmunMdky5UKAdHuylktKQp+Ldvjdz7if X-Exchange-RoutingPolicyChecked: FoRhz1xMLAxVIRAFwaPoa2KGAvx/aI3MoG0yKrM7NR5tRCPrJptOJQCWv+pl76yKgYt2yyEAW4aISQVo6KMk9IY5N+MLjjlJxIuTAiEhgg94y8UGDt+7oRJfcamw6VAYlATvGZljRGMXmCvHmMzL5ghn5I5EsALRoXgD50i3eSscKEh9vkhlJVAvPtgnQwSkCncBZdHANHp69bqOxt5luQ5PAs37D5It9Hn+n3Azv8h2ZdG6D9e1VDMf5YMQ0jbLOKQpAGF6xann5YwEglNxE+LZDEi01lF892vD7tcoaVnetTA7eqySBt0HZSOz1K7tFzNjc4ZRZRNsPjHAP61xuA== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2026 23:44:37.1452 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34d4030b-d7d7-422e-2b5a-08dea4b6f145 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.14];Helo=[juniper.net] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000A6730.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR05MB11076 X-Proofpoint-ORIG-GUID: TzeZq_sKqGCQmaWsrhWUDouW_rNHVWss X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDI1MCBTYWx0ZWRfX1iIGIi/ifyBQ ILo/34HMSyJ3pVBruPqXVulkKzbrz0MRpHKaVNGpufiW6sxvUdeRrwIfWmeq6qmDcBYdW6sJWUq 0wXJeiMi0BH643CNH008kbuJaTnWKX0+fodf63jIc7OBn7usdzXyYRB+TG/oP+rXp7GD1eXs0sH li8VvwFRaNqhvyFC3CrBUm4Pm3fhhZMhC1ivABdlcKJYNH0mls/+luYTbsfIfdM7C9u7kni3Twu 0ez6EOYQxH72plijfCjzU+c5AUDSVoTfNvN3b4TWsuvMvOa7Q0zmrkw4W0L4mHfmaMH9CejKQos AdhD24HcjENlfPMW2oe9I44F9Wos83hDem2Z0doCRwTDy67FtXUPJnNz7x0k+jzmjrvF1vLj2mk fo2CRYRP0UmlaZolDrPuY2SaAuilTTBUkSYerqXqiEbQe2bQvH0o2dpYNcG+dlJ3+PHNLCku1UQ gypfrt9L2hJiJWXoWTw== X-Authority-Analysis: v=2.4 cv=cOXQdFeN c=1 sm=1 tr=0 ts=69eff4e9 cx=c_pps a=aOchWjQmdX1ADhYh+yUFEQ==:117 a=f/rncuQqEjTEF/G1odkJ9w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s63m1ICgrNkA:10 a=rhJc5-LppCAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7vL3O5uBSuztJ3xaqtyr:22 a=3yS7yMrOVflTMqpn9XM3:22 a=pGLkceISAAAA:8 a=bXROpxAjXP2mNnUUKgYA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: TzeZq_sKqGCQmaWsrhWUDouW_rNHVWss X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-27_04,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 clxscore=1011 spamscore=0 priorityscore=1501 phishscore=0 impostorscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270250 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US] X-Rspamd-Queue-Id: 4g4Kt24Jbpz3w1l X-Spamd-Bar: ---- Enji Cooper (yaneurabeya) wrote: >=20 > Using `:` as a comment marker seems a bit esoteric (at best) =E2= =80=94 Using : in the manner I described is extremely useful for being able to debug complex systems written in sh. There is no useful alternative. The change is harmless, and allows safe_set to be re-used in other contexts. I see zero benefit to reverting it. From nobody Tue Apr 28 00:10:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4LRj0kPTz6Zv4v for ; Tue, 28 Apr 2026 00:10: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 4g4LRj00Snz40R8 for ; Tue, 28 Apr 2026 00:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777335025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ri4APSY/5kskerfQFlPsjuBEU21x7nWXyMsDz1NXbys=; b=bZsLbA0fipArh9UvhEzBgAqvgciqGQt4ptoVWeMMHZ7wui5XZpLRx7P+lqunH18BgBeuIj Gov39VvFduLapTXOuYvOiz4x+qAtIxhFlemE4xrtZACaCA24QM9Z6ACN+701Svfq7oFveX EVoeg8n2cXJ+ePNBv708OwLIXJRN56yD8bV3gapGTA23eTzWS9YzBxDHtDjrc2dBaoIB4E MtuFFH94ac7/heQkx1hZVMaJrY59XHD5AcyDmUgE67smS8Pr4f3FZJYTqoNcr2E50MAnFd VDUajjAXpfrEl9K98yTH9iugSPh8mtGN0TaXSuTO/IQybb4au79DXroIBJ85ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777335025; a=rsa-sha256; cv=none; b=DHDdpU6QAtSwOOXuTmiwM5ZL05oai3wz3JZhlCkNEVW0cbIZd1I0xSvjVPsQKhwPJvGhaw an5Da+fqRpSqYAH5ipI26w3QEwDOBRtFaPhvBATMxq8tFq/7frbMqtF1Z1fqVxCoPLJwNk yKErQx6RWF8sFY71zXzvE7RPstyOHbF5WgnucPJL7twZszLuawc/hcUHACFSe1XuvOFXn+ J8pKt27QQYfKJ83zR1cU/2vj9RORw27+sZo4EyR0uQOLumfdujVXHeAf0i9m79wAFEw0x/ yUTo3uqfXOkUmWgiFevp/FhnJt5f1t4hN8CxiDQXUiiQn9cQS/QgEmd1A8p7uA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777335025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ri4APSY/5kskerfQFlPsjuBEU21x7nWXyMsDz1NXbys=; b=Y61uv3eyczcKvVq5xiZYANJ4Wg2nj8TCPx1r0qgsRKGroSQT8no8gN5qWuQImFO4TUpKKP HitKNLtzrq6LEu0lqEacGeeQtZdTCOLcitz/bUSYBEVo4h9pBZeBvVP+Nj2cbc1Bfrb/vf urtztz8r+Ut/NZnfyfsef0ADg7kmLb2bgWgvk5x8OPoyp2b6DxC3dGtP4ffca6KLrIIMXe y/LiW4/BPfq9qhcDWmvV1x9s5iBANeG2waBOS7eok2n10aDyakBBwLIXf7tO1UTxSoE1ub pBIbPiCn/fdiUitgFmoLHDOTJ9NwFIOKc7r5rj1ycyqspRPzR8TRy9EGaOrfXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4LRh6jS7zDCY for ; Tue, 28 Apr 2026 00:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30964 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 00:10:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Siva Mahadevan Subject: git: 8c84a6ebbe16 - stable/15 - tests/pf/nat: endpoint_independent: wait for tcpdump to start List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8c84a6ebbe166710be42815d29da683363b385a8 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 00:10:19 +0000 Message-Id: <69effaeb.30964.3a1900a@gitrepo.freebsd.org> The branch stable/15 has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=8c84a6ebbe166710be42815d29da683363b385a8 commit 8c84a6ebbe166710be42815d29da683363b385a8 Author: Siva Mahadevan AuthorDate: 2026-04-22 17:20:38 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-27 20:15:16 +0000 tests/pf/nat: endpoint_independent: wait for tcpdump to start This matches pflog.sh tests and fixes flaky tests found in CI[0]. [0] https://ci.freebsd.org/job/FreeBSD-main-amd64-test/28126/testReport/junit/sys.netpfil.pf/nat/endpoint_independent_exhaust/ PR: 289628 Reviewed by: glebius Approved by: lwhsu (mentor) Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56145 (cherry picked from commit 60000d94b4e85caf931230a8a7ae86888db00d01) --- tests/sys/netpfil/pf/nat.sh | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/tests/sys/netpfil/pf/nat.sh b/tests/sys/netpfil/pf/nat.sh index 71af0f31d174..1355da83d2f3 100644 --- a/tests/sys/netpfil/pf/nat.sh +++ b/tests/sys/netpfil/pf/nat.sh @@ -159,20 +159,26 @@ endpoint_independent_common() pft_set_rules nat "${1}" jexec server1 tcpdump -i ${epair_server1}a -w ${PWD}/server1.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server1tcppid="$!" jexec server2 tcpdump -i ${epair_server2}a -w ${PWD}/server2.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server2tcppid="$!" - # send out multiple packets - for i in $(seq 1 10); do - echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 -w 0 - echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 -w 0 + # wait for tcpdumps to fully attach and block in bpfread() + for p in ${server1tcppid} ${server2tcppid}; do + while [ $(ps -o wchan ${p} | tr "\n" " " | cut -w -f 2) != "bpf" ]; do + sleep 0.01; + done done - kill $server1tcppid - kill $server2tcppid + echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 + echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 + + for p in ${server1tcppid} ${server2tcppid}; do + wait ${p} + atf_check_equal 0 $? + done tuple_server1=$(tcpdump -r ${PWD}/server1.pcap | awk '{addr=$3} END {print addr}') tuple_server2=$(tcpdump -r ${PWD}/server2.pcap | awk '{addr=$3} END {print addr}') @@ -198,20 +204,26 @@ endpoint_independent_common() pft_set_rules nat "${2}" jexec server1 tcpdump -i ${epair_server1}a -w ${PWD}/server1.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server1tcppid="$!" jexec server2 tcpdump -i ${epair_server2}a -w ${PWD}/server2.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server2tcppid="$!" - # send out multiple packets, sometimes one fails to go through - for i in $(seq 1 10); do - echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 -w 0 - echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 -w 0 + # wait for tcpdumps to fully attach and block in bpfread() + for p in ${server1tcppid} ${server2tcppid}; do + while [ $(ps -o wchan ${p} | tr "\n" " " | cut -w -f 2) != "bpf" ]; do + sleep 0.01; + done done - kill $server1tcppid - kill $server2tcppid + echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 + echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 + + for p in ${server1tcppid} ${server2tcppid}; do + wait ${p} + atf_check_equal 0 $? + done tuple_server1=$(tcpdump -r ${PWD}/server1.pcap | awk '{addr=$3} END {print addr}') tuple_server2=$(tcpdump -r ${PWD}/server2.pcap | awk '{addr=$3} END {print addr}') From nobody Tue Apr 28 01:05:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Mgj47kVz6Zykg for ; Tue, 28 Apr 2026 01:05:53 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-21.consmr.mail.gq1.yahoo.com (sonic313-21.consmr.mail.gq1.yahoo.com [98.137.65.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) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4Mgj0Nxcz45hP for ; Tue, 28 Apr 2026 01:05:52 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777338348; bh=/QXc98CFTKJ7ReyBRE65grb02WbAgyTCBIriP7ci1Ys=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=P/041n4/zUGZGd0h4G0j5s4BrWNJW0uU1quYM9P3HEfcLTAwmLxhx7dglSnw+WP9GF3HtGdznPIOto7PxDSmrk7j5s41zBIC91Ktq1UlG9B/EfZUVMaBeUbstFAL3Gf3Dg2dJPqtS2mzBWGmZHMAwLhj08YUptOU3SoTXFDL89hEI7G1BBg1kZmPjgtnKL6/ftutn3yTrfot1mT0VzWQZXyL/wZc0UX4AjmxosroZ0olifaCf5jkuQA3F1juAJFcvrYkiD6/wlwOqg/DsW2h7l9FiEPJjqa0KGV4vNCv0NRrt1ObdBJa7L3XCCKXNHLnPdgy6C64joDPmpuD8BLwFQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777338348; bh=r/N0OpV3DUAgDYdnxQexqrwhh4ooFlaMSpuS4DKIlyN=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=danVu3e95NcA/99z3OSbdBnfdw4sP9z/fa6r7EASp20NGejPr9WJ7T8bL5lee3o/v2eSI9a3E8jVTAxOZfWfjIP2Iy35dp9CDsSqJfozBXAh1Jia3ghK9GXomPJ8QumzK/NNITKh1JZTriW5QBmwBMnW0E1cLdxy0FJOh5hmEThDNlLdvVCU7PDt7/SaRl7O48MMSaH9OFlZb+hG6hYLqQWEITr0hMVudZudIyPan6U7jNaeGeljbFF/Oegll9Aa/ZmZaXlaqDF5Wg0L4LeCy0HR+y6lTPWJaDoa7z5rqVnt0y2ovw/3BzNVlvkoHmXnjdEfMOSeXwsNlgva1pQ+dg== X-YMail-OSG: n6zeh.IVM1mL6u6ebhCYqaE5YQJMHsrQkHyVTpkxojh7Bj5RwTepBoY9qrvOUlV mxM.HtMy7oz4RnoXtgv2XaMMK9SQl44s77okKGNJCMHwQGRHRAHxZVetID0XvVL5ZBBrSGimBiBV He1XXne2wzBc9iK6B77m_akDJjBuQbgXoua9vrG.lv7CCnr68Fe4N4VTgrEQ0TTFhQpCLPLMnJrJ SK4e4YYKD9pBUCGH63mKzvkcDvXYQ7EQYJiPr406m6mDzDSljbGzoi_RgYthQRo20caaeJIc1iAc jNpK_9MJFbrcYzFa8nmcl3_nlYlkTUXBG44UhMCOlQAXXMa6yA4yIyM36hMXj.QiAMXZ6.RI0fWB JrHlC1cJYxPpUPl7JJrKaqFDG61Aa8yztJm0TqiEgYz_Np4KsHyKD4oj11aXsjV0sq5DwE6WB2DL 69TpGzH5O6xJvi1ocbbBb.9vcYFj0EjrPMha57hu0Oy9LPZpFwgtj9VzlF2ezaBbjnHTX1hFyZv9 EmWWse8Py.ALbGgt8.1wWGrpKbto.WIAABBxJfrAxt50_nyH8ToEld0NqGLcqzj_2s8oqCiEPdkQ LeZ_hg69F17J1.2MxzfLI2VTIsXYQiGtO_9PTCpwtgd_.022gex_dEl_5BXNFw0BqNy5NvFGURC9 ZTs7uiVuQp8nVU8uCeiGOfWqi3AKJYfkOh4mnXe0nRaqnNbJqErFGoW7S9P23TI4YUGA1vE06F2g cPm6_hXeNwikMhzpRwUEU0fa4_mi1Qa1S6O.qz.V.EKpyWeJmVMPPCLTkEGXdasiGDMOVPvq1IhM Tf6Z2HIsKHgqexOBWF.iacueLJaCJIcW4SPvp.YiB63Zj83O4YQ0vC40yvKCpswFSfSbHQ5g4j9Q v_eGPMXGMwATWIRLBKPeKH1ImlO6HEgTK.5unDS79HkV_q70u9S3xn.gwNcDZJDmjB7nfpLuTQ12 mRcxEklgCIt.aYjGHZGSkXqTGRcbM4PMFYH5oxpkbabLaE2xBHC27jK4YvKVBRJMDjUJ1ml3bzXn yi7gpmK9nz0mC9JlQ91rofz9ma.tRNawd9q6J4vOfYqJHPBE4Jj5BaygVCirpu6O6cRI5FoL4UXx .5nIGUYysoGd0mrnjeCBWBu.oX0PN6BAxiwJQAGBTg9UkZmLbrumaSQvSak2FeN3qDrAH0hRoths KG0Mf.azTFG_J.O1FMa0W.tg2VpHO_g0T3oDQFDANV04Khe3AVTOzwTMiYmPOXemM49eb3qE3PLQ yIkW6mlnk8HSUXQLypMeM3IUhcTt4Duju0Yt3CSu5wCBLi.Qsn4bp7ffqUIhZIlGQTojwgHYf31X nMlQc0E.hVV1s5An4JNWiah1NseGto5avL2qsqTdqcUMZsZSqAYCe42IKWhDzAbdEmuo6vhgLsw7 74MPJU659oY1dx5p.3JoKA9qhmTlj8Ii4GOrKAejx1_eaUF4DzWxgjr18N2lENrNoWe9foDGcl2I 6q_xl0ugjHj5qMTaxAww4KDrZxEzgyCPioUzReZTq0AiN.DQ_DBqRBCPea_8jED_8tC87bctlOvX c4FLdv04d.LqQ6y59DW5T2zW.8ZRTR3VwumticDz6E.mYKRsyhc9egkMk4xCI_wWTSsFxQ3pYFy1 MrAsZDhoBAHae1AhcEVxvX2enh_EfO6kRl4Kk0H1JqkiFoSpKu1PqDLkpiFZYWj4uVLAUh5uvasS t_5dcYPThMAP46jBUBOyLg.zSU4K3U1fM96CdT2ROj9ekh4pu650yAMWYooHhLjuTDVBQDREovzs j0XxpQ5qdpEch82dZ0HGauiVvHw04hZpKpdEJn6JJPuAwFRaA3ruDwynWGsI1MmztjTAkHC.AxP8 TblzI4T4WwJ8GcIGD8KaPCq4z7t0K0MW6txysPErF47LeBm8hNusodx_8gyE7TRljihShg8MzYtF xLZH767KFEPGZwVcm4EbBPlVeT.6PAYPksCInDXahihI9u8HmY8znkBy_a3NV6r2nebiVu1o3fBP T12WnliW5mqbNDFStzVAsG6C6Taq8iNFUVQ.BWCWH_zBb2yz6N.noFdVpTeZfUOduXJT2OQsQ7vJ GzvfOO.Jj45wfhOB17_H.vPpyyjCTDb8Tun5Luw1W7r2Y.Hkzxy.d0SlxwNM9GASsFLxDPPC.fvH qxgQaoer_0EAew8LjsNOvs5tPo4SxLLVF26OQ9gwsqt4h1UFeOVypiy3dTdxcxUHmjEvnhi49zks bKXRS3oCLuPhM38vAr4NAQzrw_ANB312XB7MB3ABWa4QtXD2Xgj7YHQHEdDtX9zBHmg7XFN_D3oR a.Mk_Ss1.hEEhG0PNL9360IzEIBWF2GhXyH.zWuuDYpbMRrzFDmS9cTn4St7dWEcd_y17 X-Sonic-MF: X-Sonic-ID: 41ee3861-e11b-40cf-b429-4c4a713943cd Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Tue, 28 Apr 2026 01:05:48 +0000 Received: by hermes--production-gq1-7bb7df5c46-cpn2t (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8668192475fd0d1fc924693bb2a687b2; Tue, 28 Apr 2026 01:05:46 +0000 (UTC) Message-ID: Date: Mon, 27 Apr 2026 18:05:45 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: e63eee84cad5 - main - libgcc_s: Add a linker script to link to libgcc To: John Baldwin , Andrew Turner , dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69ef4ad1.1c7d4.4b8c5d49@gitrepo.freebsd.org> <30459007-56a1-4edf-8b20-2921e8e2e420@FreeBSD.org> Content-Language: en-US From: Mark Millard In-Reply-To: <30459007-56a1-4edf-8b20-2921e8e2e420@FreeBSD.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.25559 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4g4Mgj0Nxcz45hP X-Spamd-Bar: ---- On 4/27/26 06:52, John Baldwin wrote: > On 4/27/26 07:38, Andrew Turner wrote: >> The branch main has been updated by andrew: >> >> URL: https://cgit.FreeBSD.org/src/commit/? >> id=e63eee84cad59f63338a539e73bed07917932088 >> >> commit e63eee84cad59f63338a539e73bed07917932088 >> Author:     Andrew Turner >> AuthorDate: 2026-04-27 10:54:18 +0000 >> Commit:     Andrew Turner >> CommitDate: 2026-04-27 11:37:53 +0000 >> >>      libgcc_s: Add a linker script to link to libgcc >>           When using outline atomics on arm64 the compiler will create >> a call to >>      a function that performs the atomic operation. This allows us to use >>      the fastest operation depending on the hardware. >>           As these functions are implemented in libgcc create a linker >> script >>      so libraries that link against libgcc_s will include libgcc to pull >>      them in. > > Some additional notes: > > GCC only links with -lgcc_s (the shared library) when linking C++ > executables > and libraries, but links with both -lgcc_s and -lgcc when linking C > executables > and libraries.  clang does the same on most libgcc-using platforms like > Linux, > except that for FreeBSD, clang treats C++ like C and links in both > libraries > (this is probably an accidental bug in clang's FreeBSD toolchain driver, > but > kind of moot).  Linux distributions use an ldscript for libgcc_s on all > architectures (not just aarch64) to handle this weirdness of GCC. > > This is all pretty sad as GCC ships with libgcc and should "know" if > libgcc_s > needs symbols from libgcc, but matching Linux is probably the path of least > friction going forward. An oddity is that the lang/gcc*'s libgcc_s.so.1 and the FreeBSD system libgcc_s.so.1 do not match, FreeBSD having many symbols missing compared to GCC --and the other way around as well. It can be required to use something like -Wl,-rpath=... to force use of the appropriate lang/gcc*'s libgcc_s.so when using the gcc* or g++* compiler in order to avoid failures from missing symbols. modern amd64 examples are listed in: modern aarch64 examples are listed in: There are also mismatches like (aarch64 context): (-: FreeBSD OS, +: lang/gcc15) +GCC_4.5.0 __unordtf2 -GCC_4.6.0 __unordtf2 and: +GCC_3.0 __addtf3 -GCC_4.6.0 __addtf3 Even: int main() { } compiled/linked via g++15 gets: # ./trivial ld-elf.so.1: /lib/libgcc_s.so.1: version GCC_4.5.0 required by /usr/local/lib/gcc15/libstdc++.so.6 not found So there is more to the mismatches in this general area than just -lgcc being used vs. not. (I've never checked for -lgcc mismatches.) > It would only be worth fixing the toolchain driver > in clang if it meant removing the custom libgcc code, but I suspect we will > always need it for existing FreeBSD versions, so it's not clear to me > that it is > worth doing. > -- === Mark Millard marklmi at yahoo.com From nobody Tue Apr 28 02:29:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4PWq55pXz6b65X for ; Tue, 28 Apr 2026 02:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4PWq3qzYz3FCD for ; Tue, 28 Apr 2026 02:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777343351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcAnpkMnsXwqp1ia4y+/FxVuXgfdYeEkF+3eg1rLUZU=; b=yMKXjQhCXSvNsMjL/88GOZfDCiDOLJP19g6PyK/xjgp7bT1DLB8mtxutyVRh3TYJ6nKdO6 eQNoQbGjLdETjbFPq1BwXpcnVOlh8yZvuu5HPhRDJRL2zUKB9VpQb3fYBShN4ZQvVvNUI7 r5zeXx+tdCp4NflvB8jYBs18H7Ncef3fv1i/HPP4BIwvUAWw3ginFgP14hhnj3l4zYrR7z 8RR5W1t7ZgoL/koZiD/7WsXX7CVLK6wGceYtQ9dCj81JcJkGpOc74w7adU673TErmzypgA p4Gg2ScBJLzcMkE4d0px3b7o2FZ6Ha7iOtMQHtaHzaEya29iCOTxZ2p86PQW2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777343351; a=rsa-sha256; cv=none; b=QolIOLB9ntgAcpKGNeFcpA1KM6DXAoabvH4d2DBqen32qjhOD+32zfqcvlT8LOzHdumhfi x/wLqyCABzCXOqR2O5LuXeGKfXKS3l3RuIJyV4GjPfYlaPUBUWkeVxRt98/3gut0DHyV2F +Zs2auLbV+HuMFTegdYaUb94LNNcVv1zgkZ85dbRZEPh7tOMRN4qq6xnsSQzeufj05X1I6 I5suNMnfbEaGyDsdIHAUT84pA0PsyrAYnOdftOUkfcJeD3+iD7xWbp8qJGcftEqLTdbqtd UUP+GVTF4yeOR3RI+FLhaAjEBp7snMf5sI19uJmhZkO4yR+yHJvOxCy5W2wUGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777343351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcAnpkMnsXwqp1ia4y+/FxVuXgfdYeEkF+3eg1rLUZU=; b=x0AAYN+YOr4r20HJuRxnx8hnUef6Glh2eSbwDZOXW4VL2S/aDSzYUiXJk2iWwzeVaSUlR3 p6OfO5620pHsMmOZfM+HTfK7/k5We+S4zTo1rXVz0ExmxWZPzoCWDkBO2HcbxFnruzQegX 5aNYkRJTAy8iqlRXavy5mdLiu7fO4A79S1INAseB9ebXrTraJU1PgO8NExghlhFoV/KEde M/xVPS5mnxTPGLEDPDZtBHMya1OR2zUJpm7blTNilweaWJjgp9xVyn4xoVytyZDIfbDptI F9KzU2f4G/8l1nmhlzpbHT7zM3ESa3LjQhmJIbQ5ykaF+8iAWIuS1dyauG2dmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4PWq37rCzZmp for ; Tue, 28 Apr 2026 02:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d1ac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 02:29:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christos Longros From: Vladimir Kondratyev Subject: git: 8d584f064885 - stable/15 - bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8d584f064885495d47811c98027a8005ea5135c1 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 02:29:11 +0000 Message-Id: <69f01b77.3d1ac.2a4a6708@gitrepo.freebsd.org> The branch stable/15 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8d584f064885495d47811c98027a8005ea5135c1 commit 8d584f064885495d47811c98027a8005ea5135c1 Author: Christos Longros AuthorDate: 2026-03-29 19:00:59 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-04-28 02:25:47 +0000 bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw Generic Realtek vendor rules already match all 0x0bda Bluetooth devices. Remove the redundant per-product entries from ng_ubt_rtl.c, rtlbtfw main.c, and rtlbtfw.conf. Reviewed by: wulf MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D56137 (cherry picked from commit f3fc362c0fb27731e2c22523e0cedf1adec26c44) --- sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c | 24 +++------ usr.sbin/bluetooth/rtlbtfw/main.c | 24 +++------ usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf | 68 ------------------------- 3 files changed, 12 insertions(+), 104 deletions(-) diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c index f5dcac0a6846..54c3659d0ac9 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c @@ -74,21 +74,19 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = USB_IFACE_SUBCLASS(UDSUBCLASS_RF), USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) }, + /* + * Non-Realtek vendors using Realtek Bluetooth chipsets. + * Devices with vendor 0x0bda are already matched by the + * generic rule above. + */ + /* Realtek 8821CE Bluetooth devices */ { USB_VPI(0x13d3, 0x3529, 0) }, - /* Realtek 8822CE Bluetooth devices */ - { USB_VPI(0x0bda, 0xb00c, 0) }, - { USB_VPI(0x0bda, 0xc822, 0) }, - /* Realtek 8851BE Bluetooth devices */ { USB_VPI(0x13d3, 0x3600, 0) }, /* Realtek 8852AE Bluetooth devices */ - { USB_VPI(0x0bda, 0x2852, 0) }, - { USB_VPI(0x0bda, 0xc852, 0) }, - { USB_VPI(0x0bda, 0x385a, 0) }, - { USB_VPI(0x0bda, 0x4852, 0) }, { USB_VPI(0x04c5, 0x165c, 0) }, { USB_VPI(0x04ca, 0x4006, 0) }, { USB_VPI(0x0cb8, 0xc549, 0) }, @@ -105,9 +103,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = /* Realtek 8852BE Bluetooth devices */ { USB_VPI(0x0cb8, 0xc559, 0) }, - { USB_VPI(0x0bda, 0x4853, 0) }, - { USB_VPI(0x0bda, 0x887b, 0) }, - { USB_VPI(0x0bda, 0xb85b, 0) }, { USB_VPI(0x13d3, 0x3570, 0) }, { USB_VPI(0x13d3, 0x3571, 0) }, { USB_VPI(0x13d3, 0x3572, 0) }, @@ -115,11 +110,7 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x0489, 0xe123, 0) }, { USB_VPI(0x0489, 0xe125, 0) }, - /* Realtek 8852BT/8852BE-VT Bluetooth devices */ - { USB_VPI(0x0bda, 0x8520, 0) }, - /* Realtek 8922AE Bluetooth devices */ - { USB_VPI(0x0bda, 0x8922, 0) }, { USB_VPI(0x13d3, 0x3617, 0) }, { USB_VPI(0x13d3, 0x3616, 0) }, { USB_VPI(0x0489, 0xe130, 0) }, @@ -141,7 +132,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x7392, 0xa611, 0) }, /* Realtek 8723DE Bluetooth devices */ - { USB_VPI(0x0bda, 0xb009, 0) }, { USB_VPI(0x2ff8, 0xb011, 0) }, /* Realtek 8761BUV Bluetooth devices */ @@ -149,7 +139,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x2357, 0x0604, 0) }, { USB_VPI(0x0b05, 0x190e, 0) }, { USB_VPI(0x2550, 0x8761, 0) }, - { USB_VPI(0x0bda, 0x8771, 0) }, { USB_VPI(0x6655, 0x8771, 0) }, { USB_VPI(0x7392, 0xc611, 0) }, { USB_VPI(0x2b89, 0x8761, 0) }, @@ -175,7 +164,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x13d3, 0x3555, 0) }, { USB_VPI(0x2ff8, 0x3051, 0) }, { USB_VPI(0x1358, 0xc123, 0) }, - { USB_VPI(0x0bda, 0xc123, 0) }, { USB_VPI(0x0cb5, 0xc547, 0) }, }; const size_t ubt_rtl_devs_sizeof = sizeof(ubt_rtl_devs); diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c index 37c902739206..dc9ccd6c5fcd 100644 --- a/usr.sbin/bluetooth/rtlbtfw/main.c +++ b/usr.sbin/bluetooth/rtlbtfw/main.c @@ -57,21 +57,19 @@ struct rtlbt_devid { }; static struct rtlbt_devid rtlbt_list[] = { + /* + * Non-Realtek vendors using Realtek Bluetooth chipsets. + * Devices with vendor 0x0bda are already matched by the + * generic check in rtlbt_find_device(). + */ + /* Realtek 8821CE Bluetooth devices */ { .vendor_id = 0x13d3, .product_id = 0x3529 }, - /* Realtek 8822CE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0xb00c }, - { .vendor_id = 0x0bda, .product_id = 0xc822 }, - /* Realtek 8851BE Bluetooth devices */ { .vendor_id = 0x13d3, .product_id = 0x3600 }, /* Realtek 8852AE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x2852 }, - { .vendor_id = 0x0bda, .product_id = 0xc852 }, - { .vendor_id = 0x0bda, .product_id = 0x385a }, - { .vendor_id = 0x0bda, .product_id = 0x4852 }, { .vendor_id = 0x04c5, .product_id = 0x165c }, { .vendor_id = 0x04ca, .product_id = 0x4006 }, { .vendor_id = 0x0cb8, .product_id = 0xc549 }, @@ -88,9 +86,6 @@ static struct rtlbt_devid rtlbt_list[] = { /* Realtek 8852BE Bluetooth devices */ { .vendor_id = 0x0cb8, .product_id = 0xc559 }, - { .vendor_id = 0x0bda, .product_id = 0x4853 }, - { .vendor_id = 0x0bda, .product_id = 0x887b }, - { .vendor_id = 0x0bda, .product_id = 0xb85b }, { .vendor_id = 0x13d3, .product_id = 0x3570 }, { .vendor_id = 0x13d3, .product_id = 0x3571 }, { .vendor_id = 0x13d3, .product_id = 0x3572 }, @@ -98,11 +93,7 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x0489, .product_id = 0xe123 }, { .vendor_id = 0x0489, .product_id = 0xe125 }, - /* Realtek 8852BT/8852BE-VT Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x8520 }, - /* Realtek 8922AE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0x8922 }, { .vendor_id = 0x13d3, .product_id = 0x3617 }, { .vendor_id = 0x13d3, .product_id = 0x3616 }, { .vendor_id = 0x0489, .product_id = 0xe130 }, @@ -124,7 +115,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x7392, .product_id = 0xa611 }, /* Realtek 8723DE Bluetooth devices */ - { .vendor_id = 0x0bda, .product_id = 0xb009 }, { .vendor_id = 0x2ff8, .product_id = 0xb011 }, /* Realtek 8761BUV Bluetooth devices */ @@ -132,7 +122,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x2357, .product_id = 0x0604 }, { .vendor_id = 0x0b05, .product_id = 0x190e }, { .vendor_id = 0x2550, .product_id = 0x8761 }, - { .vendor_id = 0x0bda, .product_id = 0x8771 }, { .vendor_id = 0x6655, .product_id = 0x8771 }, { .vendor_id = 0x7392, .product_id = 0xc611 }, { .vendor_id = 0x2b89, .product_id = 0x8761 }, @@ -158,7 +147,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x13d3, .product_id = 0x3555 }, { .vendor_id = 0x2ff8, .product_id = 0x3051 }, { .vendor_id = 0x1358, .product_id = 0xc123 }, - { .vendor_id = 0x0bda, .product_id = 0xc123 }, { .vendor_id = 0x0cb5, .product_id = 0xc547 }, }; diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf index 0a2b33d33b18..f27e0ee50ccc 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf @@ -26,16 +26,6 @@ notify 100 { action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -# Realtek 8822CE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0xb00c|0xc822)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; - # Realtek 8851BE Bluetooth devices notify 100 { match "system" "USB"; @@ -47,14 +37,6 @@ notify 100 { }; # Realtek 8852AE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0x2852|0xc852|0x385a|0x4852)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -131,14 +113,6 @@ notify 100 { match "product" "0xc559"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "(0x4853|0x887b|0xb85b)"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -156,25 +130,7 @@ notify 100 { action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -# Realtek 8852BT/8852BE-VT Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8520"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; - # Realtek 8922AE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8922"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -247,14 +203,6 @@ notify 100 { }; # Realtek 8723DE Bluetooth devices -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0xb009"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -297,14 +245,6 @@ notify 100 { match "product" "0x8761"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0x8771"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; @@ -415,14 +355,6 @@ notify 100 { match "product" "0xc123"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; -notify 100 { - match "system" "USB"; - match "subsystem" "DEVICE"; - match "type" "ATTACH"; - match "vendor" "0x0bda"; - match "product" "0xc123"; - action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; -}; notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; From nobody Tue Apr 28 06:44:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBz5LM7z6bR85 for ; Tue, 28 Apr 2026 06:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WBz2mWKz3ZNK for ; Tue, 28 Apr 2026 06:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lldEeLxoaIRJ/AI9MoE2PgepPwfzZR2mPUhrMV3REw=; b=vWFk/SGRhn4uuiIHzj1UO+jq/zBJEI1wmdOZCAY5aovi92s6y1ed8s46w15H4/HbhX1e6F CtCF/9ebMRltEUdwh+MpeFDvENcPuWxZXsenjb6uuYF16Totqc0c2eOwUppbYalO+uwKFq IwWHInL+AGEIYhrkPZQKbDTGON65xWCKH+lnmmdbLkUI/GOjIqrVAxfF+vxO3LCp85mF6+ os9TeaDeQYgfc7sUA2DaKUX5Pw5e6LzRGfjPygaT9ERHx3lxr4hm3yfpZx9NxUCP1I8xqw 4vlfZaTy8LQDzyDoUYwKN1+ypS8arhJRztag0p2mehnR8fvZ/rzi+t8zJ8EbQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358699; a=rsa-sha256; cv=none; b=sAYdhgXj9UDTuxPvNTqU4V/L5l+DQSMybq+uEkk+yWZONX/Ln5fi/rYxsGeyn5ZhGpA9w3 7N9q98PZY5zD9IiY/Mx+Tc/jhpF9FLEsqe8SJJEBYQ41IkNtREggqFYHZWSUKdt1X+/JzE 8ZxuA3HTY07eRpAsWexNv1V2cnQu0eLtMqaevyxmr8OQxTF9vJpwHjUyQ4X97GEWyFin4D /rOLgMmiyCbm/Y6A/kmCWoE7qQqAvRknGlxmGdDCIZdoAo5MHb1UYxwJyU4pINoRfZ30Yr rwHHWerusuRHb1w0c76ZXyr1W+5cuKBBOBOdyohv/CPcNcFCHL+8odtfDiN2fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lldEeLxoaIRJ/AI9MoE2PgepPwfzZR2mPUhrMV3REw=; b=gG+S1LX5Bztj+JuhUPFTqWCVgw4g/y+pbHULyKigP+c9U+TJjH11N42PApHHYZDIH9esTA I/s4+zFIl/8/JhhG95Cl0I74zdbORH7HMyWxuVDorkRUhUqpXzAoNsu+gsjbSZiYK7MYY3 MITdpbNVlHeTw9DkJtdb/Pgyf6xa8MRSS9at6zi7KBVW5G+baEWPV/5G88rRAqTFqhBl3S TX2DPp93C7/j1hCVLltaNJ19/iBGBWAA112GLc0zpXp44Q3AuLDInKuWEW9Ci/eo10dzTK NZc51ouCGkV7UoCjP8qjC5YVUa3cTX1dHYao2EUlkeATqhBPCUrLdmbgUL2yLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBz2KRqzjdQ for ; Tue, 28 Apr 2026 06:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 275f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:44:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: a5bedb41e5d6 - main - bnxt_en: Add VF load path and PF/VF context differentiation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a5bedb41e5d6b3680981f109c3e89fb5ffd8eee1 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:44:59 +0000 Message-Id: <69f0576b.275f3.617c731d@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=a5bedb41e5d6b3680981f109c3e89fb5ffd8eee1 commit a5bedb41e5d6b3680981f109c3e89fb5ffd8eee1 Author: Chandrakanth Patil AuthorDate: 2026-03-31 16:59:01 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:21:46 +0000 bnxt_en: Add VF load path and PF/VF context differentiation Teach the driver to distinguish a Physical Function from a Virtual Function at probe time and configure each appropriately. * Introduce bnxt_is_vf_device() to identify all known VF device IDs (NetXtreme-C/E Gen1-3, Thor1/2, Hyper-V variants). Add corresponding PVID entries to bnxt_vendor_info_array. * Refactor the iflib shared context: rename bnxt_sctx_init to bnxt_sctx_template, add a Thor2-specific bnxt_sctx_template_p7, and build per-call PF/VF instances via bnxt_init_sctx_variants(); the VF instance carries IFLIB_IS_VF. bnxt_register() selects the correct sctx. * bnxt_attach_pre(): replace the hard-coded NPAR/VF switch with bnxt_set_flags_by_devid(); on a VF call bnxt_approve_mac() to request PF approval for the firmware-assigned MAC address. * bnxt_hwrm_func_qcaps(): populate fw_fid and MAC for PF and VF contexts separately; for PF call iflib_set_mac() and record max_msix_vfs; for VF handle the case where the PF has not yet assigned a MAC. * bnxt_hwrm_func_qcfg(): populate the new alloc_* counters used by the VF resource configuration path; record registered_vfs for PF and VLAN/trust state for VF. * bnxt_init(): call bnxt_update_vf_mac() on VFs after each bring-up. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56198 --- sys/dev/bnxt/bnxt_en/bnxt.h | 1 + sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 106 +++++++++++++++------ sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 62 ++++++++++++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 193 ++++++++++++++++++++++++++++++-------- 4 files changed, 292 insertions(+), 70 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index bae419d0eefe..4172e5e86b4f 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1397,5 +1397,6 @@ int bnxt_dcb_ieee_setapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); int bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, size_t nitems, int *num_inputs); +void bnxt_set_flags_by_devid(struct bnxt_softc *softc); #endif /* _BNXT_H */ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 2a79b418fe62..944824a1c182 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1224,7 +1224,6 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_GENERIC_STATS_SUPPORTED) softc->fw_cap |= BNXT_FW_CAP_GENERIC_STATS; func->fw_fid = le16toh(resp->fid); - memcpy(func->mac_addr, resp->mac_address, ETHER_ADDR_LEN); func->max_rsscos_ctxs = le16toh(resp->max_rsscos_ctx); func->max_cp_rings = le16toh(resp->max_cmpl_rings); func->max_tx_rings = le16toh(resp->max_tx_rings); @@ -1235,6 +1234,7 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) func->max_l2_ctxs = le16toh(resp->max_l2_ctxs); func->max_vnics = le16toh(resp->max_vnics); func->max_stat_ctxs = le16toh(resp->max_stat_ctx); + if (BNXT_PF(softc)) { struct bnxt_pf_info *pf = &softc->pf; @@ -1247,10 +1247,40 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) pf->max_tx_wm_flows = le32toh(resp->max_tx_wm_flows); pf->max_rx_em_flows = le32toh(resp->max_rx_em_flows); pf->max_rx_wm_flows = le32toh(resp->max_rx_wm_flows); - } - if (!_is_valid_ether_addr(func->mac_addr)) { - device_printf(softc->dev, "Invalid ethernet address, generating random locally administered address\n"); - get_random_ether_addr(func->mac_addr); + + pf->fw_fid = le16toh(resp->fid); + memcpy(pf->mac_addr, resp->mac_address, ETHER_ADDR_LEN); + pf->max_msix_vfs = le16toh(resp->max_msix_vfs); + if (!_is_valid_ether_addr(pf->mac_addr)) { + device_printf(softc->dev, "Invalid PF ethernet address, generating random " + "locally administered PF mac address\n"); + get_random_ether_addr(pf->mac_addr); + } + iflib_set_mac(softc->ctx, pf->mac_addr); + memcpy(softc->func.mac_addr, pf->mac_addr, ETHER_ADDR_LEN); + } else { + struct bnxt_vf_info *vf = &softc->vf; + + vf->fw_fid = le16toh(resp->fid); + memcpy(vf->mac_addr, resp->mac_address, ETHER_ADDR_LEN); + /* if PF has assigned a MAC -> use it. */ + if (_is_valid_ether_addr(vf->mac_addr)) { + iflib_set_mac(softc->ctx, vf->mac_addr); + memcpy(softc->func.mac_addr, vf->mac_addr, ETHER_ADDR_LEN); + } else { + /* else PF has NOT assigned a MAC -> Generate one. */ + uint8_t la_mac[ETHER_ADDR_LEN]; + device_printf(softc->dev, "PF has not assigned a MAC address to VF, generating random " + "locally administered VF mac address\n"); + get_random_ether_addr(la_mac); + + /* Set OS MAC and function MAC to LAA */ + if (_is_valid_ether_addr(la_mac)) { + iflib_set_mac(softc->ctx, la_mac); + memcpy(softc->func.mac_addr, la_mac, ETHER_ADDR_LEN); + memcpy(vf->mac_addr, la_mac, ETHER_ADDR_LEN); + } + } } fail: @@ -1261,25 +1291,31 @@ fail: int bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) { - struct hwrm_func_qcfg_input req = {0}; - struct hwrm_func_qcfg_output *resp = - (void *)softc->hwrm_cmd_resp.idi_vaddr; - struct bnxt_func_qcfg *fn_qcfg = &softc->fn_qcfg; + int rc; uint32_t min_db_offset = 0; uint16_t flags; - int rc; + struct hwrm_func_qcfg_input req = {0}; + struct hwrm_func_qcfg_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + struct bnxt_func_qcfg *fn_qcfg = &softc->fn_qcfg; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_QCFG); - req.fid = htole16(0xffff); + req.fid = htole16(0xffff); BNXT_HWRM_LOCK(softc); rc = _hwrm_send_message(softc, &req, sizeof(req)); - if (rc) + if (rc) goto end; - fn_qcfg->alloc_completion_rings = le16toh(resp->alloc_cmpl_rings); fn_qcfg->alloc_tx_rings = le16toh(resp->alloc_tx_rings); fn_qcfg->alloc_rx_rings = le16toh(resp->alloc_rx_rings); + fn_qcfg->alloc_completion_rings = le16toh(resp->alloc_cmpl_rings); fn_qcfg->alloc_vnics = le16toh(resp->alloc_vnics); + fn_qcfg->alloc_rss_ctx = le16toh(resp->alloc_rsscos_ctx); + fn_qcfg->alloc_l2_ctx = le16toh(resp->alloc_l2_ctx); + fn_qcfg->alloc_vfs = le16toh(resp->alloc_vfs); + fn_qcfg->alloc_hw_ring_grps = le16toh(resp->alloc_hw_ring_grps); + fn_qcfg->alloc_stat_ctx = le16toh(resp->alloc_stat_ctx); + fn_qcfg->alloc_msix = le16toh(resp->alloc_msix); switch (resp->port_partition_type) { case HWRM_FUNC_QCFG_OUTPUT_PORT_PARTITION_TYPE_NPAR1_0: @@ -1291,22 +1327,34 @@ bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) } flags = le16toh(resp->flags); - if (flags & (HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_DCBX_AGENT_ENABLED | - HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_LLDP_AGENT_ENABLED)) { - softc->fw_cap |= BNXT_FW_CAP_LLDP_AGENT; - if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_DCBX_AGENT_ENABLED) - softc->fw_cap |= BNXT_FW_CAP_DCBX_AGENT; - } - if (BNXT_PF(softc) && (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_HOST)) - softc->flags |= BNXT_FLAG_MULTI_HOST; - if (BNXT_PF(softc) && (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_ROOT)) - softc->flags |= BNXT_FLAG_MULTI_ROOT; - if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_SECURE_MODE_ENABLED) - softc->fw_cap |= BNXT_FW_CAP_SECURE_MODE; - if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_RING_MONITOR_ENABLED) - softc->fw_cap |= BNXT_FW_CAP_RING_MONITOR; - if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_ENABLE_RDMA_SRIOV) - softc->fw_cap |= BNXT_FW_CAP_ENABLE_RDMA_SRIOV; + + if (BNXT_VF(softc)) { + struct bnxt_vf_info *vf = &softc->vf; + + vf->vlan = le16toh(resp->vlan) & BNXT_VLAN_VID_MASK; + if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_TRUSTED_VF) + vf->flags |= BNXT_VF_TRUST; + else + vf->flags &= ~BNXT_VF_TRUST; + } else + softc->pf.registered_vfs = le16toh(resp->registered_vfs); + + if (flags & (HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_DCBX_AGENT_ENABLED | + HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_LLDP_AGENT_ENABLED)) { + softc->fw_cap |= BNXT_FW_CAP_LLDP_AGENT; + if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_FW_DCBX_AGENT_ENABLED) + softc->fw_cap |= BNXT_FW_CAP_DCBX_AGENT; + } + if (BNXT_PF(softc) && (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_HOST)) + softc->flags |= BNXT_FLAG_MULTI_HOST; + if (BNXT_PF(softc) && (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_ROOT)) + softc->flags |= BNXT_FLAG_MULTI_ROOT; + if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_SECURE_MODE_ENABLED) + softc->fw_cap |= BNXT_FW_CAP_SECURE_MODE; + if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_RING_MONITOR_ENABLED) + softc->fw_cap |= BNXT_FW_CAP_RING_MONITOR; + if (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_ENABLE_RDMA_SRIOV) + softc->fw_cap |= BNXT_FW_CAP_ENABLE_RDMA_SRIOV; if (softc->db_size) goto end; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c index b2a65c044cee..0ca1881514c2 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -212,6 +212,68 @@ static int bnxt_set_vf_params(struct bnxt_softc *softc, int vf_id) return rc; } +int bnxt_approve_mac(struct bnxt_softc *sc) +{ + + struct hwrm_func_vf_cfg_input req = (struct hwrm_func_vf_cfg_input){0}; + struct bnxt_vf_info *vf = &sc->vf; + u8 *mac = vf->mac_addr; + int rc = 0; + + if (!BNXT_VF(sc)) + return EOPNOTSUPP; + + bnxt_hwrm_cmd_hdr_init(sc, &req, HWRM_FUNC_VF_CFG); + req.enables = htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_DFLT_MAC_ADDR); + memcpy(req.dflt_mac_addr, mac, ETHER_ADDR_LEN); + + BNXT_HWRM_LOCK(sc); + rc = _hwrm_send_message(sc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(sc); + + if (rc) { + device_printf(sc->dev, + "VF MAC %02x:%02x:%02x:%02x:%02x:%02x not approved by PF (rc=%d)\n", + mac[0], mac[1], mac[2], mac[3], mac[4], mac[5], rc); + return EADDRNOTAVAIL; + } + return rc; +} + +void +bnxt_update_vf_mac(struct bnxt_softc *sc) +{ + int rc = 0; + struct hwrm_func_qcaps_input req = {0}; + struct hwrm_func_qcaps_output *resp = + (void *)sc->hwrm_cmd_resp.idi_vaddr; + bool inform_pf = false; + + bnxt_hwrm_cmd_hdr_init(sc, &req, HWRM_FUNC_QCAPS); + req.fid = htole16(0xffff); + + BNXT_HWRM_LOCK(sc); + rc = _hwrm_send_message(sc, &req, sizeof(req)); + if (rc) + goto update_vf_mac_exit; + + if (!ether_addr_equal(resp->mac_address, sc->vf.mac_addr)) { + memcpy(sc->vf.mac_addr, resp->mac_address, ETHER_ADDR_LEN); + if (!is_valid_ether_addr(sc->vf.mac_addr)) + inform_pf = true; + } + + if (is_valid_ether_addr(sc->vf.mac_addr)) { + iflib_set_mac(sc->ctx, sc->vf.mac_addr); + memcpy(sc->func.mac_addr, sc->vf.mac_addr, ETHER_ADDR_LEN); + } + +update_vf_mac_exit: + BNXT_HWRM_UNLOCK(sc); + if (inform_pf) + bnxt_approve_mac(sc); +} + static int bnxt_hwrm_func_vf_resc_cfg(struct bnxt_softc *softc, int num_vfs, bool reset) { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index b9fb7fb8a7e4..9226ea85a34a 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -168,6 +168,20 @@ static const pci_vendor_info_t bnxt_vendor_info_array[] = "Broadcom NetXtreme-E Ethernet Virtual Function"), PVID(BROADCOM_VENDOR_ID, NETXTREME_E_VF3, "Broadcom NetXtreme-E Ethernet Virtual Function"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_VF4, + "Broadcom NetXtreme-E Ethernet Virtual Function"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_VF5, + "Broadcom NetXtreme-E Ethernet Virtual Function"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P5_VF1, + "Broadcom BCM5750X NetXtreme-E Ethernet Virtual Function"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P5_VF2, + "Broadcom BCM5750X NetXtreme-E Ethernet Virtual Function"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P5_VF_HV1, + "Broadcom NetXtreme-C Virtual Function for Hyper-V"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P5_VF_HV2, + "Broadcom NetXtreme-C Virtual Function for Hyper-V"), + PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P7_VF, + "Broadcom BCM5760X Virtual Function"), /* required last entry */ PVID_END @@ -364,14 +378,19 @@ static driver_t bnxt_iflib_driver = { /* * iflib shared context */ - #define BNXT_DRIVER_VERSION "230.0.133.0" const char bnxt_driver_version[] = BNXT_DRIVER_VERSION; + +static char drv_version_msg[] = + "Broadcom NetXtreme-C/E Ethernet Driver if_bnxt" \ + " v" BNXT_DRIVER_VERSION; + extern struct if_txrx bnxt_txrx; -static struct if_shared_ctx bnxt_sctx_init = { + +static struct if_shared_ctx bnxt_sctx_template = { .isc_magic = IFLIB_MAGIC, .isc_driver = &bnxt_iflib_driver, - .isc_nfl = 2, // Number of Free Lists + .isc_nfl = 2, .isc_flags = IFLIB_HAS_RXCQ | IFLIB_HAS_TXCQ | IFLIB_NEED_ETHER_PAD, .isc_q_align = PAGE_SIZE, .isc_tx_maxsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), @@ -380,28 +399,117 @@ static struct if_shared_ctx bnxt_sctx_init = { .isc_tso_maxsegsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), .isc_rx_maxsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), .isc_rx_maxsegsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), - - // Only use a single segment to avoid page size constraints .isc_rx_nsegments = 1, .isc_ntxqs = 3, .isc_nrxqs = 3, .isc_nrxd_min = {16, 16, 16}, .isc_nrxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 8, - PAGE_SIZE / sizeof(struct rx_prod_pkt_bd), - PAGE_SIZE / sizeof(struct rx_prod_pkt_bd)}, + PAGE_SIZE / sizeof(struct rx_prod_pkt_bd), + PAGE_SIZE / sizeof(struct rx_prod_pkt_bd)}, .isc_nrxd_max = {BNXT_MAX_RXD, BNXT_MAX_RXD, BNXT_MAX_RXD}, .isc_ntxd_min = {16, 16, 16}, .isc_ntxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 2, - PAGE_SIZE / sizeof(struct tx_bd_short), - /* NQ depth 4096 */ - PAGE_SIZE / sizeof(struct cmpl_base) * 16}, + PAGE_SIZE / sizeof(struct tx_bd_short), + PAGE_SIZE / sizeof(struct cmpl_base) * 16}, .isc_ntxd_max = {BNXT_MAX_TXD, BNXT_MAX_TXD, BNXT_MAX_TXD}, + .isc_vendor_info = bnxt_vendor_info_array, + .isc_driver_version = bnxt_driver_version, +}; - .isc_admin_intrcnt = BNXT_ROCE_IRQ_COUNT, +static struct if_shared_ctx bnxt_sctx_template_p7 = { + .isc_magic = IFLIB_MAGIC, + .isc_driver = &bnxt_iflib_driver, + .isc_nfl = 2, + .isc_flags = IFLIB_HAS_RXCQ | IFLIB_HAS_TXCQ | IFLIB_NEED_ETHER_PAD, + .isc_q_align = PAGE_SIZE, + .isc_tx_maxsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_tx_maxsegsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_tso_maxsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_tso_maxsegsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_rx_maxsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_rx_maxsegsize = BNXT_TSO_SIZE + sizeof(struct ether_vlan_header), + .isc_rx_nsegments = 1, + .isc_ntxqs = 3, + .isc_nrxqs = 3, + .isc_nrxd_min = {16, 16, 16}, + .isc_nrxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 8, + PAGE_SIZE / sizeof(struct rx_prod_pkt_bd), + PAGE_SIZE / sizeof(struct rx_prod_pkt_bd)}, + .isc_nrxd_max = {BNXT_MAX_RXD, BNXT_MAX_RXD, BNXT_MAX_RXD}, + .isc_ntxd_min = {128, 128, 128}, + .isc_ntxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 2, + PAGE_SIZE / sizeof(struct tx_bd_short), + PAGE_SIZE / sizeof(struct cmpl_base) * 16}, + .isc_ntxd_max = {BNXT_MAX_TXD, BNXT_MAX_TXD, BNXT_MAX_TXD}, .isc_vendor_info = bnxt_vendor_info_array, .isc_driver_version = bnxt_driver_version, }; +static struct if_shared_ctx bnxt_sctx_pf_init; +static struct if_shared_ctx bnxt_sctx_vf_init; +static bool sctx_initialized = false; + +static inline void +bnxt_init_sctx_variants(uint16_t device_id) +{ + if (device_id == BCM57608) + bnxt_sctx_pf_init = bnxt_sctx_template_p7; + else + bnxt_sctx_pf_init = bnxt_sctx_template; + + bnxt_sctx_pf_init.isc_admin_intrcnt = BNXT_ROCE_IRQ_COUNT; + + bnxt_sctx_vf_init = bnxt_sctx_template; + bnxt_sctx_vf_init.isc_flags |= IFLIB_IS_VF; +} + +static inline bool +bnxt_is_vf_device(uint16_t device_id) +{ + switch (device_id) { + case NETXTREME_C_VF1: + case NETXTREME_C_VF2: + case NETXTREME_C_VF3: + case NETXTREME_E_VF1: + case NETXTREME_E_VF2: + case NETXTREME_E_VF3: + case NETXTREME_E_VF4: + case NETXTREME_E_VF5: + case NETXTREME_E_P5_VF1: + case NETXTREME_E_P5_VF2: + case NETXTREME_E_P5_VF_HV1: + case NETXTREME_E_P5_VF_HV2: + case NETXTREME_E_P7_VF: + return true; + default: + return false; + } +} + +void +bnxt_set_flags_by_devid(struct bnxt_softc *softc) +{ + uint16_t device_id = pci_get_device(softc->dev); + + if (bnxt_is_vf_device(device_id)) + softc->flags |= BNXT_FLAG_VF; + + switch (device_id) { + case BCM57402_NPAR: + case BCM57404_NPAR: + case BCM57406_NPAR: + case BCM57407_NPAR: + case BCM57412_NPAR1: + case BCM57412_NPAR2: + case BCM57414_NPAR1: + case BCM57414_NPAR2: + case BCM57416_NPAR1: + case BCM57416_NPAR2: + softc->flags |= BNXT_FLAG_NPAR; + break; + } +} + #define PCI_SUBSYSTEM_ID 0x2e static struct workqueue_struct *bnxt_pf_wq; @@ -414,7 +522,23 @@ extern void bnxt_destroy_irq(struct bnxt_softc *softc); static void * bnxt_register(device_t dev) { - return (&bnxt_sctx_init); + uint16_t vendor_id = pci_get_vendor(dev); + uint16_t device_id = pci_get_device(dev); + + if (vendor_id != BROADCOM_VENDOR_ID) + return NULL; + + if (!sctx_initialized) { + printf("if_bnxt: %s\n", drv_version_msg); + sctx_initialized = true; + } + + bnxt_init_sctx_variants(device_id); + + if (bnxt_is_vf_device(device_id)) + return &bnxt_sctx_vf_init; + + return &bnxt_sctx_pf_init; } static void @@ -2317,38 +2441,14 @@ bnxt_attach_pre(if_ctx_t ctx) softc->scctx = iflib_get_softc_ctx(ctx); softc->sctx = iflib_get_sctx(ctx); scctx = softc->scctx; - - /* TODO: Better way of detecting NPAR/VF is needed */ - switch (pci_get_device(softc->dev)) { - case BCM57402_NPAR: - case BCM57404_NPAR: - case BCM57406_NPAR: - case BCM57407_NPAR: - case BCM57412_NPAR1: - case BCM57412_NPAR2: - case BCM57414_NPAR1: - case BCM57414_NPAR2: - case BCM57416_NPAR1: - case BCM57416_NPAR2: - case BCM57504_NPAR: - softc->flags |= BNXT_FLAG_NPAR; - break; - case NETXTREME_C_VF1: - case NETXTREME_C_VF2: - case NETXTREME_C_VF3: - case NETXTREME_E_VF1: - case NETXTREME_E_VF2: - case NETXTREME_E_VF3: - softc->flags |= BNXT_FLAG_VF; - break; - } - softc->domain = pci_get_domain(softc->dev); softc->bus = pci_get_bus(softc->dev); softc->slot = pci_get_slot(softc->dev); softc->function = pci_get_function(softc->dev); softc->dev_fn = PCI_DEVFN(softc->slot, softc->function); + bnxt_set_flags_by_devid(softc); + if (bnxt_num_pfs == 0) SLIST_INIT(&pf_list); bnxt_num_pfs++; @@ -2505,6 +2605,15 @@ bnxt_attach_pre(if_ctx_t ctx) if (rc) goto failed; + /* Inform PF to approve MAC as default VF MAC. */ + if (BNXT_VF(softc)) { + rc = bnxt_approve_mac(softc); + if (rc) { + device_printf(softc->dev, "attach: bnxt_approve_mac failed\n"); + goto failed; + } + } + /* * Register the driver with the FW * Register the async events with the FW @@ -2531,8 +2640,6 @@ bnxt_attach_pre(if_ctx_t ctx) goto failed; } - iflib_set_mac(ctx, softc->func.mac_addr); - scctx->isc_txrx = &bnxt_txrx; scctx->isc_tx_csum_flags = (CSUM_IP | CSUM_TCP | CSUM_UDP | CSUM_TCP_IPV6 | CSUM_UDP_IPV6 | CSUM_TSO); @@ -3141,6 +3248,10 @@ skip_def_cp_ring: goto fail; } + /* Inform PF to approve MAC as default VF MAC. */ + if (BNXT_VF(softc)) + bnxt_update_vf_mac(softc); + /* And now set the default CP / NQ ring for the async */ rc = bnxt_cfg_async_cr(softc); if (rc) @@ -5339,4 +5450,4 @@ bnxt_get_wol_settings(struct bnxt_softc *softc) do { wol_handle = bnxt_hwrm_get_wol_fltrs(softc, wol_handle); } while (wol_handle && wol_handle != BNXT_NO_MORE_WOL_FILTERS); -} \ No newline at end of file +} From nobody Tue Apr 28 06:44:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBy4rTPz6bRPR for ; Tue, 28 Apr 2026 06:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WBy3WbRz3ZNJ for ; Tue, 28 Apr 2026 06:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HpTgqX1XXxIhJxoXlkTNYGVoLh54qzKndtaDmHFKhto=; b=OGexwaXbh42mgA1MEYM74lBYzYuoSlMxNOGnTnyGyWX1U2HZ0py+JKBBHzOL49VFfJBo51 4ylrgHzFsZnloNMKrJS2fzQX9rkIdEF6NR4NJUvvbi6FOvKFISLRNU2bJjrXaazS84ERtN ZJlJ6RKEb0d3imnWbHEiEpOqanDMtu3l88N5IY+BnESpRtwd5OspmmxNXWPrgwy+7qCb3L AthyiWxNrfope7vcm7qSPvazgKO6L8NdMp3yGMUIjR79ACx9koCOyOJvWqdUwsQDSgPN2M oKeq2/9c3MdFnVJ/cixPjhOMiEm2yEh5AmQ/QVItp+709tzYE+ItCCdmuFswNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358698; a=rsa-sha256; cv=none; b=bRRwnNEbG4S3lZjUTFo58VLSpkWkUwaR9IaqqFi/c0KZ8IOLZdbrF9tEJJWU2S9pYIuh/i +zbaN+o9i1KXBYLrI6CSNY73ILDwEZO9CarsLZh1ZX9LJt7hwx3JeauVElYZ7mhQKPM5aS zdOnG7vhh9v8r+u8Mz7TP+2a67tMDekb9MuAt2RYRer4c1XYXtIHATlidVeQP+Nf+70Ut4 yYnUgFii7jdc/k+wJCDn35dvVWBvk6d/D2stJQR2GD956IVk+OtkZEm4Cdx9GBy+F3Voi/ TJcTLUF5+fPvRH+OwDl52hGE0NiywfHDd9OM4CmL2rhnlg2isUpIeAkZtkbWFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HpTgqX1XXxIhJxoXlkTNYGVoLh54qzKndtaDmHFKhto=; b=RtReNNyULXx3OkHyrcDyDSYvweHh8QUHK6XOOQut2cxRYiPcG2BvCxEgBBl6cK4llXkAIy kdpa4HYNh5q+46YOC45Glp8o4Yq0n9HWqvxiNPAAz4O6xpaj5k8U6V1SZrJZ8NidJkvZSh BriotKADAJwmVrv3KYpmYlN9OBzTE6Xj00tdtJT0GiOBODtPZmQJSrf7bAJu4azvPdNTUf WPfBrb33YQntYH0sXc6Y4BfM0DuEEQBUC2H0Hkrl0RfittG6ppZyxNsyaPJ3O3hnUK3Kkq RtZbucDDnaT07SuB7puQHtcjT/ty8hn6cXo3zC7s3jReBw1uxy3SuAXDIi6piw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBy2C9dzjVn for ; Tue, 28 Apr 2026 06:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31521 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:44:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: f2f831b2c151 - main - bnxt_en: Add core SR-IOV infrastructure List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2f831b2c151a9d989a94fc7c894118c802ef348 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:44:58 +0000 Message-Id: <69f0576a.31521.3b0166c9@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=f2f831b2c151a9d989a94fc7c894118c802ef348 commit f2f831b2c151a9d989a94fc7c894118c802ef348 Author: Chandrakanth Patil AuthorDate: 2026-03-31 16:59:00 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:16:16 +0000 bnxt_en: Add core SR-IOV infrastructure Introduce the foundational building blocks for SR-IOV Virtual Function support on Broadcom NetXtreme-C/E adapters. * Add bnxt_sriov.h: defines the extended bnxt_vf_info structure (per-VF firmware FID, MAC addresses, VLAN, flags, DMA command buffers, resource counts), the bnxt_resc_map helper, flag macros (BNXT_VF_TRUST, BNXT_VF_SPOOFCHK, etc.), and prototypes for all SR-IOV functions. * Add bnxt_sriov.c: implements the SR-IOV attachment sequence (bnxt_sriov_attach), the iflib IOV callbacks (bnxt_iov_init, bnxt_iov_uninit, bnxt_iov_vf_add), VF resource allocation and firmware configuration helpers (bnxt_alloc_vf_resources, bnxt_cfg_hw_sriov, bnxt_hwrm_func_vf_resc_cfg, bnxt_hwrm_func_buf_rgtr, bnxt_hwrm_func_vf_resource_free), and the per-VF parameter helper. * Extend bnxt.h: include bnxt_sriov.h; extend bnxt_pf_info with VF- tracking fields (vf array, firmware FID/MAC, resource-reservation strategy, DMA page management, sysctl context); replace the upstream bnxt_vf_info stub with the full definition from bnxt_sriov.h; extend bnxt_func_qcfg with allocation counters required by the VF resource configuration path; add vf_resc_cfg_input and sriov_lock to bnxt_softc. * Update Makefile to build bnxt_sriov.c and include bnxt_sriov.h. * Wire up PCI-IOV device methods (pci_iov_init / pci_iov_uninit / pci_iov_add_vf) and iflib IOV callbacks (ifdi_iov_init / ifdi_iov_uninit / ifdi_iov_vf_add) in if_bnxt.c; call bnxt_sriov_attach() from bnxt_attach_post() on P5+ Physical Functions. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56197 --- sys/dev/bnxt/bnxt_en/bnxt.h | 55 ++--- sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 469 ++++++++++++++++++++++++++++++++++++++ sys/dev/bnxt/bnxt_en/bnxt_sriov.h | 116 ++++++++++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 19 +- sys/modules/bnxt/bnxt_en/Makefile | 1 + 5 files changed, 632 insertions(+), 28 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 64482a656e9d..bae419d0eefe 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -47,6 +47,7 @@ #include "hsi_struct_def.h" #include "bnxt_dcb.h" #include "bnxt_auxbus_compat.h" +#include "bnxt_sriov.h" #define DFLT_HWRM_CMD_TIMEOUT 500 @@ -95,9 +96,18 @@ #define NETXTREME_C_VF1 0x16cb #define NETXTREME_C_VF2 0x16e1 #define NETXTREME_C_VF3 0x16e5 -#define NETXTREME_E_VF1 0x16c1 -#define NETXTREME_E_VF2 0x16d3 -#define NETXTREME_E_VF3 0x16dc + +#define NETXTREME_E_VF1 0x1606 +#define NETXTREME_E_VF2 0x1609 +#define NETXTREME_E_VF3 0x16c1 +#define NETXTREME_E_VF4 0x16d3 +#define NETXTREME_E_VF5 0x16dc + +#define NETXTREME_E_P5_VF1 0x1806 +#define NETXTREME_E_P5_VF2 0x1807 +#define NETXTREME_E_P5_VF_HV1 0x1808 +#define NETXTREME_E_P5_VF_HV2 0x1809 +#define NETXTREME_E_P7_VF 0x1819 #define EVENT_DATA1_RESET_NOTIFY_FATAL(data1) \ (((data1) & \ @@ -504,7 +514,9 @@ struct bnxt_pf_info { uint8_t port_id; uint32_t first_vf_id; uint16_t active_vfs; + uint16_t registered_vfs; uint16_t max_vfs; + uint16_t max_msix_vfs; uint32_t max_encap_records; uint32_t max_decap_records; uint32_t max_tx_em_flows; @@ -515,31 +527,14 @@ struct bnxt_pf_info { uint16_t hwrm_cmd_req_pages; void *hwrm_cmd_req_addr[4]; bus_addr_t hwrm_cmd_req_dma_addr[4]; -}; - -struct bnxt_vf_info { uint16_t fw_fid; uint8_t mac_addr[ETHER_ADDR_LEN]; - uint16_t max_rsscos_ctxs; - uint16_t max_cp_rings; - uint16_t max_tx_rings; - uint16_t max_rx_rings; - uint16_t max_hw_ring_grps; - uint16_t max_l2_ctxs; - uint16_t max_irqs; - uint16_t max_vnics; - uint16_t max_stat_ctxs; - uint32_t vlan; -#define BNXT_VF_QOS 0x1 -#define BNXT_VF_SPOOFCHK 0x2 -#define BNXT_VF_LINK_FORCED 0x4 -#define BNXT_VF_LINK_UP 0x8 - uint32_t flags; - uint32_t func_flags; /* func cfg flags */ - uint32_t min_tx_rate; - uint32_t max_tx_rate; - void *hwrm_cmd_req_addr; - bus_addr_t hwrm_cmd_req_dma_addr; + uint8_t vf_resv_strategy; + uint8_t num_vfs; + struct bnxt_vf_info *vf; + uint16_t vf_hwrm_cmd_req_page_shift; + struct sysctl_ctx_list sysctl_ctx; + struct sysctl_oid *sysctl_node; }; #define BNXT_PF(softc) (!((softc)->flags & BNXT_FLAG_VF)) @@ -698,6 +693,12 @@ struct bnxt_func_qcfg { uint16_t alloc_tx_rings; uint16_t alloc_rx_rings; uint16_t alloc_vnics; + uint16_t alloc_rss_ctx; + uint16_t alloc_l2_ctx; + uint16_t alloc_vfs; + uint16_t alloc_hw_ring_grps; + uint16_t alloc_stat_ctx; + uint16_t alloc_msix; }; struct bnxt_hw_lro { @@ -1089,6 +1090,7 @@ struct bnxt_softc { struct bnxt_func_qcfg fn_qcfg; struct bnxt_pf_info pf; struct bnxt_vf_info vf; + struct hwrm_func_vf_resource_cfg_input vf_resc_cfg_input; uint16_t hwrm_cmd_seq; uint32_t hwrm_cmd_timeo; /* milliseconds */ @@ -1097,6 +1099,7 @@ struct bnxt_softc { /* Interrupt info for HWRM */ struct if_irq irq; struct mtx hwrm_lock; + struct mtx sriov_lock; uint16_t hwrm_max_req_len; uint16_t hwrm_max_ext_req_len; uint32_t hwrm_spec_code; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c new file mode 100644 index 000000000000..b2a65c044cee --- /dev/null +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -0,0 +1,469 @@ +#include +#include + +#include "opt_global.h" +#include "bnxt.h" +#include "hsi_struct_def.h" +#include "bnxt_hwrm.h" +#include "bnxt_sriov.h" + + +static int +bnxt_set_vf_admin_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf, + const uint8_t *mac) +{ + struct hwrm_func_cfg_input req = {0}; + int rc; + + if (!BNXT_PF(softc)) + return (EOPNOTSUPP); + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_CFG); + + req.fid = htole16(vf->fw_fid); + req.enables = htole32(HWRM_FUNC_CFG_INPUT_ENABLES_DFLT_MAC_ADDR); + memcpy(req.dflt_mac_addr, mac, ETHER_ADDR_LEN); + + BNXT_HWRM_LOCK(softc); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + + return (rc); +} + +static void +bnxt_vf_parse_schema(struct bnxt_softc *softc, struct bnxt_vf_info *vf, + const nvlist_t *params) +{ + const void *mac; + size_t maclen; + + memset(vf->mac_addr, 0, ETHER_ADDR_LEN); + memset(vf->vf_mac_addr, 0, ETHER_ADDR_LEN); + + if (params == NULL) + return; + + if (nvlist_exists(params, "mac-anti-spoof")) + vf->spoofchk = nvlist_get_bool(params, "mac-anti-spoof"); + if (nvlist_exists(params, "trust")) + vf->trusted = nvlist_get_bool(params, "trust"); + + if (!nvlist_exists(params, "mac-addr")) + return; + + mac = nvlist_get_binary(params, "mac-addr", &maclen); + + if (maclen != ETHER_ADDR_LEN) + return; + + if (!is_valid_ether_addr(mac)) + return; + + memcpy(vf->mac_addr, mac, ETHER_ADDR_LEN); + vf->has_admin_mac = true; +} + +/* Add a Virtual Functions */ +int +bnxt_iov_vf_add(if_ctx_t ctx, uint16_t vfnum, const nvlist_t *params) +{ + struct bnxt_softc *softc = iflib_get_softc(ctx); + struct bnxt_vf_info *vf = &softc->pf.vf[vfnum]; + int rc; + + vf->fw_fid = softc->pf.first_vf_id + vfnum; + vf->vfnum = vfnum; + + /* Parse schema */ + bnxt_vf_parse_schema(softc, vf, params); + + /* + * If user provided MAC, program it into firmware. + */ + if (vf->has_admin_mac) { + rc = bnxt_set_vf_admin_mac(softc, vf, vf->mac_addr); + if (rc) + device_printf(softc->dev, + "vf%u: PF-assigned MAC programming failed (rc=%d), falling back to firmware/default MAC\n", + vfnum, rc); + } + + return 0; +} + +/* Free driver-side VF resources (called after hwrm_vf_resc_free) */ +void bnxt_free_vf_resources(struct bnxt_softc *softc) +{ + int i; + size_t page_size = 1UL << softc->pf.vf_hwrm_cmd_req_page_shift; + + softc->pf.active_vfs = 0; + + if (softc->pf.vf) { + kfree(softc->pf.vf); + softc->pf.vf = NULL; + } + if (softc->pf.vf_event_bmap) { + kfree(softc->pf.vf_event_bmap); + softc->pf.vf_event_bmap = NULL; + } + for (i = 0; i < softc->pf.hwrm_cmd_req_pages; i++) { + if (softc->pf.hwrm_cmd_req_addr[i]) { + dma_free_coherent(&softc->pdev->dev, page_size, + softc->pf.hwrm_cmd_req_addr[i], + softc->pf.hwrm_cmd_req_dma_addr[i]); + softc->pf.hwrm_cmd_req_addr[i] = NULL; + } + } +} + +/* Free firmware-side VF resources */ +int +bnxt_hwrm_func_vf_resource_free(struct bnxt_softc *softc, int num_vfs) +{ + int i, rc; + struct hwrm_func_vf_resc_free_input req; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_VF_RESC_FREE); + + BNXT_HWRM_LOCK(softc); + for (i = softc->pf.first_vf_id; i < softc->pf.first_vf_id + num_vfs; i++) { + req.vf_id = cpu_to_le16(i); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + if (rc) + break; + } + BNXT_HWRM_UNLOCK(softc); + + return rc; +} + +/* Free all VF resources */ +void bnxt_iov_uninit(if_ctx_t ctx) +{ + int rc; + struct bnxt_softc *softc = iflib_get_softc(ctx); + int num_vfs = softc->pf.num_vfs; + + if (!num_vfs) + return; + + BNXT_SRIOV_LOCK(softc); + softc->pf.num_vfs = 0; + BNXT_SRIOV_UNLOCK(softc); + + rc = bnxt_hwrm_func_vf_resource_free(softc, num_vfs); + if (rc) + device_printf(softc->dev, "VF resource free HWRM failed: %d\n", rc); + + bnxt_free_vf_resources(softc); + BNXT_SRIOV_LOCK_DESTROY(softc); +} + +static inline int +bnxt_set_vf_resc_field(uint16_t *min_field, uint16_t *max_field, + uint16_t hw_max, uint16_t pf_alloc, int num_vfs) +{ + uint16_t val = 0; + + if (num_vfs <= 0) + return -EINVAL; + + if (hw_max > pf_alloc) + val = (hw_max - pf_alloc) / num_vfs; + + *min_field = *max_field = cpu_to_le16(val); + + return 0; +} + +static int bnxt_set_vf_params(struct bnxt_softc *softc, int vf_id) +{ + struct hwrm_func_cfg_input req = {0}; + struct bnxt_vf_info *vf; + int rc; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_CFG); + + vf = &softc->pf.vf[vf_id]; + req.fid = cpu_to_le16(vf->fw_fid); + + + if (is_valid_ether_addr(vf->mac_addr)) { + req.enables |= cpu_to_le32(HWRM_FUNC_CFG_INPUT_ENABLES_DFLT_MAC_ADDR); + memcpy(req.dflt_mac_addr, vf->mac_addr, ETHER_ADDR_LEN); + } + + if (vf->vlan) { + req.enables |= cpu_to_le32(HWRM_FUNC_CFG_INPUT_ENABLES_DFLT_VLAN); + req.dflt_vlan = cpu_to_le16(vf->vlan); + } + + if (vf->flags & BNXT_VF_TRUST) + req.flags = cpu_to_le32(HWRM_FUNC_CFG_INPUT_FLAGS_TRUSTED_VF_ENABLE); + + BNXT_HWRM_LOCK(softc); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + if (rc) + device_printf(softc->dev, "hwrm_func_cfg failed (error:%d)\n", rc); + + return rc; +} + +static int +bnxt_hwrm_func_vf_resc_cfg(struct bnxt_softc *softc, int num_vfs, bool reset) +{ + struct hwrm_func_vf_resource_cfg_input req = {0}; + struct bnxt_pf_info *pf = &softc->pf; + struct bnxt_func_qcfg *fn_qcfg = &softc->fn_qcfg; + struct bnxt_hw_resc *hw_resc = &softc->hw_resc; + int i, rc; + uint16_t msix_val = 0; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_VF_RESOURCE_CFG); + struct bnxt_resc_map resc_table[] = { + { &req.min_tx_rings, &req.max_tx_rings, hw_resc->max_tx_rings, fn_qcfg->alloc_tx_rings }, + { &req.min_rx_rings, &req.max_rx_rings, hw_resc->max_rx_rings, fn_qcfg->alloc_rx_rings }, + { &req.min_cmpl_rings, &req.max_cmpl_rings, hw_resc->max_cp_rings, fn_qcfg->alloc_completion_rings }, + { &req.min_stat_ctx, &req.max_stat_ctx, hw_resc->max_stat_ctxs, fn_qcfg->alloc_stat_ctx }, + { &req.min_vnics, &req.max_vnics, hw_resc->max_vnics, fn_qcfg->alloc_vnics }, + { &req.min_hw_ring_grps, &req.max_hw_ring_grps, hw_resc->max_hw_ring_grps, fn_qcfg->alloc_hw_ring_grps }, + { &req.min_rsscos_ctx, &req.max_rsscos_ctx, hw_resc->max_rsscos_ctxs, fn_qcfg->alloc_rss_ctx }, + { &req.min_l2_ctxs, &req.max_l2_ctxs, hw_resc->max_l2_ctxs, fn_qcfg->alloc_l2_ctx }, + }; + + for (i = 0; i < sizeof(resc_table) / sizeof(resc_table[0]); i++) { + rc = bnxt_set_vf_resc_field(resc_table[i].min_field, + resc_table[i].max_field, + resc_table[i].hw_max, + resc_table[i].pf_alloc, + num_vfs); + if (rc) + return rc; + } + + if (hw_resc->max_irqs > fn_qcfg->alloc_msix && num_vfs > 0) + msix_val = (hw_resc->max_irqs - fn_qcfg->alloc_msix) / num_vfs; + + req.max_msix = cpu_to_le16(msix_val); + + for (i = 0; i < num_vfs; i++) { + struct bnxt_vf_info *vf = &pf->vf[i]; + + vf->fw_fid = pf->first_vf_id + i; + if (reset) { + rc = bnxt_set_vf_params(softc, i); + if (rc) + break; + } + + req.vf_id = cpu_to_le16(vf->fw_fid); + + BNXT_HWRM_LOCK(softc); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + + if (rc) { + device_printf(softc->dev, "HWRM_FUNC_VF_RESOURCE_CFG req dump:\n"); + break; + } + + pf->active_vfs = i + 1; + + vf->min_tx_rings = le16_to_cpu(req.min_tx_rings); + vf->min_rx_rings = le16_to_cpu(req.min_rx_rings); + vf->min_cp_rings = le16_to_cpu(req.min_cmpl_rings); + vf->min_stat_ctxs = le16_to_cpu(req.min_stat_ctx); + vf->min_ring_grps = le16_to_cpu(req.min_hw_ring_grps); + vf->min_vnics = le16_to_cpu(req.min_vnics); + } + + if (pf->active_vfs) + memcpy(&softc->vf_resc_cfg_input, &req, + sizeof(struct hwrm_func_vf_resource_cfg_input)); + + return rc; +} + +static int +bnxt_hwrm_func_buf_rgtr(struct bnxt_softc *softc) +{ + int rc; + struct hwrm_func_buf_rgtr_input req; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_BUF_RGTR); + + req.req_buf_num_pages = cpu_to_le16(softc->pf.hwrm_cmd_req_pages); + req.req_buf_page_size = cpu_to_le16(softc->pf.vf_hwrm_cmd_req_page_shift); + req.req_buf_len = cpu_to_le16(BNXT_HWRM_REQ_MAX_SIZE); + req.req_buf_page_addr0 = cpu_to_le64(softc->pf.hwrm_cmd_req_dma_addr[0]); + req.req_buf_page_addr1 = cpu_to_le64(softc->pf.hwrm_cmd_req_dma_addr[1]); + req.req_buf_page_addr2 = cpu_to_le64(softc->pf.hwrm_cmd_req_dma_addr[2]); + req.req_buf_page_addr3 = cpu_to_le64(softc->pf.hwrm_cmd_req_dma_addr[3]); + + BNXT_HWRM_LOCK(softc); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + + return rc; +} + +static void +bnxt_set_vf_attr(struct bnxt_softc *softc, int num_vfs) +{ + int i; + struct bnxt_vf_info *vf; + + for (i = 0; i < num_vfs; i++) { + vf = &softc->pf.vf[i]; + memset(vf, 0, sizeof(*vf)); + } +} + +static int +bnxt_alloc_vf_resources(struct bnxt_softc *softc, int num_vfs) +{ + struct pci_dev *pdev = softc->pdev; + u32 nr_pages, size, i, j, k = 0; + u32 page_size, reqs_per_page; + void *p; + + p = kcalloc(num_vfs, sizeof(struct bnxt_vf_info), GFP_KERNEL); + if (!p) + return ENOMEM; + + rcu_assign_pointer(softc->pf.vf, p); + bnxt_set_vf_attr(softc, num_vfs); + + size = num_vfs * BNXT_HWRM_REQ_MAX_SIZE; + page_size = BNXT_PAGE_SIZE; + softc->pf.vf_hwrm_cmd_req_page_shift = BNXT_PAGE_SHIFT; + while (size > page_size * BNXT_MAX_VF_CMD_FWD_PAGES) { + page_size *= 2; + softc->pf.vf_hwrm_cmd_req_page_shift++; + } + nr_pages = DIV_ROUND_UP(size, page_size); + reqs_per_page = page_size / BNXT_HWRM_REQ_MAX_SIZE; + + for (i = 0; i < nr_pages; i++) { + softc->pf.hwrm_cmd_req_addr[i] = + dma_alloc_coherent(&pdev->dev, page_size, + &softc->pf.hwrm_cmd_req_dma_addr[i], + GFP_ATOMIC); + + if (!softc->pf.hwrm_cmd_req_addr[i]) + return ENOMEM; + + for (j = 0; j < reqs_per_page && k < num_vfs; j++) { + struct bnxt_vf_info *vf = &softc->pf.vf[k]; + + vf->hwrm_cmd_req_addr = (char *)softc->pf.hwrm_cmd_req_addr[i] + + j * BNXT_HWRM_REQ_MAX_SIZE; + vf->hwrm_cmd_req_dma_addr = + softc->pf.hwrm_cmd_req_dma_addr[i] + j * + BNXT_HWRM_REQ_MAX_SIZE; + k++; + } + } + + softc->pf.vf_event_bmap = kzalloc(ALIGN(DIV_ROUND_UP(num_vfs, 8), + sizeof(long)), GFP_ATOMIC); + if (!softc->pf.vf_event_bmap) + return ENOMEM; + + softc->pf.hwrm_cmd_req_pages = nr_pages; + + return 0; +} + +int bnxt_cfg_hw_sriov(struct bnxt_softc *softc, uint16_t *num_vfs, bool reset) +{ + int rc; + + rc = bnxt_hwrm_func_buf_rgtr(softc); + if (rc) { + device_printf(softc->dev, "hwrm func buf rgtr failed (error=%d)\n", rc); + return (EIO); + } + + rc = bnxt_hwrm_func_vf_resc_cfg(softc, *num_vfs, reset); + if (rc) { + device_printf(softc->dev, "hwrm func VF resc config failed (error=%d)\n", rc); + return (EIO); + } + + return (0); +} + +int +bnxt_iov_init(if_ctx_t ctx, uint16_t num_vfs, const nvlist_t *params) +{ + int rc; + if_t ifp = iflib_get_ifp(ctx); + struct bnxt_softc *softc = iflib_get_softc(ctx); + bool admin_up = !!(if_getflags(ifp) & IFF_UP); + bool running = !!(if_getdrvflags(ifp) & IFF_DRV_RUNNING); + + if (!admin_up || !running) { + device_printf(softc->dev, "PF is down, rejecting VF creation\n"); + return ENETDOWN; + } + + if (num_vfs > BNXT_MAX_VFS) { + device_printf(softc->dev, "Requested %u VFs exceeds maximum supported (%u)\n", + num_vfs, BNXT_MAX_VFS); + return ERANGE; + } + + /* + * Initialize SR-IOV lock before creating any SR-IOV state, so sysctl/VF + * paths can safely synchronize and error paths can always destroy it. + */ + BNXT_SRIOV_LOCK_INIT(softc, device_get_nameunit(softc->dev)); + + rc = bnxt_alloc_vf_resources(softc, num_vfs); + if (rc) { + device_printf(softc->dev, "VF resource alloc failed (error=%d)\n", rc); + goto fail_lock; + } + + rc = bnxt_cfg_hw_sriov(softc, &num_vfs, false); + if (rc) + goto fail_free_vf_resc; + + + BNXT_SRIOV_LOCK(softc); + softc->pf.num_vfs = num_vfs; + BNXT_SRIOV_UNLOCK(softc); + + return 0; + +fail_free_vf_resc: + bnxt_free_vf_resources(softc); +fail_lock: + BNXT_SRIOV_LOCK_DESTROY(softc); + return rc; +} + +void bnxt_sriov_attach(struct bnxt_softc *softc) +{ + int rc; + device_t dev = softc->dev; + nvlist_t *pf_schema, *vf_schema; + + pf_schema = pci_iov_schema_alloc_node(); + vf_schema = pci_iov_schema_alloc_node(); + + /* Optionally add VF-specific attributes to the VF schema */ + pci_iov_schema_add_unicast_mac(vf_schema, "mac-addr", 0, NULL); + pci_iov_schema_add_bool(vf_schema, "mac-anti-spoof", IOV_SCHEMA_HASDEFAULT, FALSE); + pci_iov_schema_add_bool(vf_schema, "trust", IOV_SCHEMA_HASDEFAULT, FALSE); + + /* Attach SR-IOV schemas to the device */ + rc = pci_iov_attach(dev, pf_schema, vf_schema); + if (rc) + device_printf(dev, "Failed to initialize SR-IOV (error=%d)\n", rc); +} + diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.h b/sys/dev/bnxt/bnxt_en/bnxt_sriov.h new file mode 100644 index 000000000000..c0c3d2d70b08 --- /dev/null +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.h @@ -0,0 +1,116 @@ +#ifndef _BNXT_SRIOV_H_ +#define _BNXT_SRIOV_H_ + +#include +#include +#include + +#include "opt_global.h" +#include "bnxt.h" + +#ifndef PCI_IOV +#define PCI_IOV 1 +#endif + +/* macro definations */ + +#define BNXT_MAX_VFS 4 +#define BNXT_HWRM_REQ_MAX_SIZE 128 +#define BNXT_MAX_VF_CMD_FWD_PAGES 4 +#define BNXT_VF_QOS 0x1 +#define BNXT_VF_SPOOFCHK 0x2 +#define BNXT_VF_LINK_FORCED 0x4 +#define BNXT_VF_LINK_UP 0x8 +#define BNXT_VF_TRUST 0x10 +#define BNXT_VLAN_VID_MASK 0x0fff + +#define BNXT_EXEC_FWD_RESP_SIZE_ERR(n) \ + ((offsetof(struct hwrm_exec_fwd_resp_input, encap_request) + n) >\ + offsetof(struct hwrm_exec_fwd_resp_input, encap_resp_target_id)) + +#define BNXT_VF_RESV_STRATEGY_MAXIMAL 0 +#define BNXT_VF_RESV_STRATEGY_MINIMAL 1 +#define BNXT_VF_RESV_STRATEGY_MINIMAL_STATIC 2 +#define FUNC_RESOURCE_QCAPS_RESP_FLAGS_MIN_GUARANTEED 0x1UL + +#define BNXT_SRIOV_LOCK_INIT(sc, _name) \ + mtx_init(&(sc)->sriov_lock, _name, "sriov_lock", MTX_DEF | MTX_NOWITNESS) +#define BNXT_SRIOV_LOCK(sc) mtx_lock(&(sc)->sriov_lock) +#define BNXT_SRIOV_UNLOCK(sc) mtx_unlock(&(sc)->sriov_lock) +#define BNXT_SRIOV_LOCK_DESTROY(sc) \ + do { \ + if (mtx_initialized(&(sc)->sriov_lock)) \ + mtx_destroy(&(sc)->sriov_lock); \ +} while (0) + + +/* structure declartions/definations */ + +struct bnxt_softc; + +struct bnxt_vf_info { + uint8_t vfnum; + uint16_t fw_fid; + uint8_t mac_addr[ETHER_ADDR_LEN]; + uint8_t vf_mac_addr[ETHER_ADDR_LEN]; + uint32_t vlan; + uint32_t flags; + uint32_t func_qcfg_flags; + uint32_t min_tx_rate; + uint32_t max_tx_rate; + uint16_t min_tx_rings; + uint16_t max_tx_rings; + uint16_t min_rx_rings; + uint16_t max_rx_rings; + uint16_t min_cp_rings; + uint16_t max_cp_rings; + uint16_t min_rsscos_ctxs; + uint16_t max_rsscos_ctxs; + uint16_t min_stat_ctxs; + uint16_t max_stat_ctxs; + uint16_t min_ring_grps; + uint16_t max_hw_ring_grps; + uint16_t min_vnics; + uint16_t max_vnics; + uint16_t min_irqs; + uint16_t max_irqs; + uint16_t min_l2_ctxs; + uint16_t max_l2_ctxs; + void *hwrm_cmd_req_addr; + bus_addr_t hwrm_cmd_req_dma_addr; + struct iflib_dma_info hwrm_cmd_req; + uint16_t trusted; + bool spoofchk; + bool has_admin_mac; +}; + +struct bnxt_resc_map { + uint16_t *min_field; + uint16_t *max_field; + uint16_t hw_max; + uint16_t pf_alloc; +}; + +/* function prototypes */ + +void bnxt_sriov_attach(struct bnxt_softc *softc); +int bnxt_iov_init(if_ctx_t ctx, uint16_t num_vfs, const nvlist_t *params); +void bnxt_iov_uninit(if_ctx_t ctx); +int bnxt_iov_vf_add(if_ctx_t ctx, uint16_t vfnum, const nvlist_t *params); +int bnxt_hwrm_func_vf_resource_free(struct bnxt_softc *softc, int num_vfs); +void bnxt_free_vf_resources(struct bnxt_softc *softc); +int bnxt_create_trusted_vf_sysctls(struct bnxt_softc *softc, uint16_t num_vfs); +int bnxt_create_spoofchk_vf_sysctls(struct bnxt_softc *softc, uint16_t num_vfs); +bool bnxt_is_trusted_vf(struct bnxt_softc *bp, struct bnxt_vf_info *vf); +void bnxt_hwrm_exec_fwd_req(struct bnxt_softc *bp); +void bnxt_destroy_trusted_vf_sysctls(struct bnxt_softc *softc); +int bnxt_set_vf_trust(struct bnxt_softc *softc, int vf_id, bool trusted); +int bnxt_approve_mac(struct bnxt_softc *sc); +void bnxt_update_vf_mac(struct bnxt_softc *sc); +bool bnxt_promisc_ok(struct bnxt_softc *softc); +int bnxt_set_vf_spoofchk(struct bnxt_softc *sc, int vf_id, bool enable); +int bnxt_cfg_hw_sriov(struct bnxt_softc *softc, uint16_t *num_vfs, bool reset); +void bnxt_reenable_sriov(struct bnxt_softc *bp); + + +#endif /* _BNXT_SRIOV_H_ */ diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index dea6fd68181e..b9fb7fb8a7e4 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -266,6 +266,11 @@ static device_method_t bnxt_methods[] = { DEVMETHOD(device_shutdown, iflib_device_shutdown), DEVMETHOD(device_suspend, iflib_device_suspend), DEVMETHOD(device_resume, iflib_device_resume), +#ifdef PCI_IOV + DEVMETHOD(pci_iov_init, iflib_device_iov_init), + DEVMETHOD(pci_iov_uninit, iflib_device_iov_uninit), + DEVMETHOD(pci_iov_add_vf, iflib_device_iov_add_vf), +#endif DEVMETHOD_END }; @@ -344,7 +349,11 @@ static device_method_t bnxt_iflib_methods[] = { DEVMETHOD(ifdi_i2c_req, bnxt_i2c_req), DEVMETHOD(ifdi_needs_restart, bnxt_if_needs_restart), - +#ifdef PCI_IOV + DEVMETHOD(ifdi_iov_init, bnxt_iov_init), + DEVMETHOD(ifdi_iov_uninit, bnxt_iov_uninit), + DEVMETHOD(ifdi_iov_vf_add, bnxt_iov_vf_add), +#endif DEVMETHOD_END }; @@ -2738,6 +2747,12 @@ bnxt_attach_post(if_ctx_t ctx) bnxt_dcb_init(softc); bnxt_rdma_aux_device_init(softc); +#if PCI_IOV + /* SR-IOV attach */ + if (BNXT_PF(softc) && BNXT_CHIP_P5_PLUS(softc)) + bnxt_sriov_attach(softc); +#endif + failed: return rc; } @@ -5324,4 +5339,4 @@ bnxt_get_wol_settings(struct bnxt_softc *softc) do { wol_handle = bnxt_hwrm_get_wol_fltrs(softc, wol_handle); } while (wol_handle && wol_handle != BNXT_NO_MORE_WOL_FILTERS); -} +} \ No newline at end of file diff --git a/sys/modules/bnxt/bnxt_en/Makefile b/sys/modules/bnxt/bnxt_en/Makefile index 12c23898c106..dc9b30b7f2af 100644 --- a/sys/modules/bnxt/bnxt_en/Makefile +++ b/sys/modules/bnxt/bnxt_en/Makefile @@ -9,6 +9,7 @@ SRCS += bnxt_sysctl.c SRCS += bnxt_mgmt.c SRCS += bnxt_dcb.c bnxt_dcb.h SRCS += bnxt_auxbus_compat.c bnxt_auxbus_compat.h +SRCS += bnxt_sriov.c bnxt_sriov.h SRCS += bnxt_ulp.c bnxt_ulp.h SRCS += ${LINUXKPI_GENSRCS} From nobody Tue Apr 28 06:45:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC05VXFz6bR86 for ; Tue, 28 Apr 2026 06:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WC03W70z3ZQM for ; Tue, 28 Apr 2026 06:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S1jMjDhKckx80ITb9QwTgy9q1Q/57PaQYX06qQ3LeOI=; b=P00k8KSJhhUwyC4+PSiRA7QoSVghtjpYX5Tl0xHE0tcvbUWJDy48AumscuuaaRspnkaBby WdW4N/1SOhYGCEg393jh3BjmYXzr3oNh32M4frU7VgupKbg3DWWPkaSa49pUPIl7Z7P/4U fCLHrlNaTfHBUtc4Ij/S3FzWKSTCXHeJfvQVbnnAEdQLXhUfnVuMoj7QfwJvsfEtPnygqP vI46V84zFAX43n3tNkoBhNgSwXX8aDiyT97tgEFn/QocmH66dhExZbGonglbRLWo5jowUq d2Bn/o+bGVWjeBFzLymB/8HOOvu4JeKY349R2vY7haU2yU5Xkj/IkhJlH6FYuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358700; a=rsa-sha256; cv=none; b=hbdabFOT/1j01JQiDMXwYrBRbxLkAQTLZ0A4ZqZU++qDGjqoilAldBbiUSD4piamIy0fpc +ajpBy6gCwE4/p1dRTbbptiFtVfsHL1UjuQyh7KUMvvuy2ctiC++7E8yVaBabn8IoMbn0L 3KQkk+cl9kVdhlgMoqEcAonEJHYEHDxmVm6ObkkxSbUAH+5HXbd2pnP+kSyNWANijEDru7 cq54ZW+Ot4rYqigiUYBuKdR+cFcxYBqHMHAww1AGe2r3gvV77GJHCLNY/wcyYQnKS1zS1g XL6TsDZmfzXfQGCcpRsnW546GarsDOCkUpO157jtYrnj83cI1lKdlk3FI4yBqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S1jMjDhKckx80ITb9QwTgy9q1Q/57PaQYX06qQ3LeOI=; b=XIP5zpxg8ioyXNBS1EJSsSKsts8nfBKompANGsrIdqRSB73weto4n9uaJMkaSAi6K7buxq +kbSXiXOa6yUVjt2nc23+DrLEHgNrtIiEJibyVVAMWsue8667yHuoKC19fEsSUy3L4Ht24 EGreMaU8gFRfzwajTB5XvOoq+jMRmPmxYjrMwqDgkLPZx60P0BqhgPxW9mGczdyNnKnDaz zanu8reoXa/dqba02yzHjPryC1Y7ZbPmodbtDI39x126ZUAx4+dGJfVXxvjNBSgGPSW5yu VDNhJQLZmM2/gGoXp46ZPk56xtk4HE54lKq7migmRHFSRAqNiWaSWNojrOYulg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC033nXzjq6 for ; Tue, 28 Apr 2026 06:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 313e1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:45:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: fcf100da9b38 - main - bnxt_en: Add VF forwarded HWRM request handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fcf100da9b381ad9d81f94499fdadea15ae2b431 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:45:00 +0000 Message-Id: <69f0576c.313e1.4e0d4d6b@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=fcf100da9b381ad9d81f94499fdadea15ae2b431 commit fcf100da9b381ad9d81f94499fdadea15ae2b431 Author: Chandrakanth Patil AuthorDate: 2026-03-31 16:59:01 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:29:37 +0000 bnxt_en: Add VF forwarded HWRM request handling Enable the Physical Function to proxy HWRM commands issued by Virtual Functions through the firmware forwarded-request mechanism. When a VF issues a command that requires PF arbitration, the firmware delivers a CMPL_BASE_TYPE_HWRM_FWD_REQ completion to the PF async ring. * bnxt_process_async_msg() recognises CMPL_BASE_TYPE_HWRM_FWD_REQ, identifies the originating VF by its firmware function ID, sets the corresponding bit in pf.vf_event_bmap, and raises BNXT_HWRM_EXEC_FWD_REQ_SP_EVENT to schedule deferred processing. * bnxt_sp_task() dispatches to bnxt_hwrm_exec_fwd_req(), which iterates over all pending VF bits and calls bnxt_vf_req_validate_snd() for each. * bnxt_vf_req_validate_snd() inspects the encapsulated request type: HWRM_FUNC_VF_CFG (MAC change) is handled by bnxt_vf_configure_mac() which enforces trust/existing-MAC rules; HWRM_CFA_L2_FILTER_ALLOC is handled by bnxt_vf_validate_set_mac(); HWRM_FUNC_CFG is forwarded as-is; all other commands are rejected. All forwarded-request code is guarded by #ifdef PCI_IOV. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56199 --- sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 178 ++++++++++++++++++++++++++++++++++++++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 22 +++++ 2 files changed, 200 insertions(+) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c index 0ca1881514c2..9bec955f9890 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -274,6 +274,184 @@ update_vf_mac_exit: bnxt_approve_mac(sc); } +static int +bnxt_hwrm_fwd_err_resp(struct bnxt_softc *softc, struct bnxt_vf_info *vf, + u32 msg_size) +{ + struct hwrm_reject_fwd_resp_input req; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_REJECT_FWD_RESP); + + if (msg_size > sizeof(req.encap_request)) + msg_size = sizeof(req.encap_request); + + req.target_id = cpu_to_le16(vf->fw_fid); + req.encap_resp_target_id = cpu_to_le16(vf->fw_fid); + memcpy(&req.encap_request, vf->hwrm_cmd_req_addr, msg_size); + + BNXT_HWRM_LOCK(softc); + int rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + if (rc) + device_printf(softc->dev, "hwrm_fwd_err_resp failed (error=%d)\n", rc); + + return rc; +} + +static int +bnxt_hwrm_exec_fwd_resp(struct bnxt_softc *softc, struct bnxt_vf_info *vf, + u32 msg_size) +{ + struct hwrm_exec_fwd_resp_input req; + + if (BNXT_EXEC_FWD_RESP_SIZE_ERR(msg_size)) + return bnxt_hwrm_fwd_err_resp(softc, vf, msg_size); + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_EXEC_FWD_RESP); + + req.target_id = cpu_to_le16(vf->fw_fid); + req.encap_resp_target_id = cpu_to_le16(vf->fw_fid); + memcpy(&req.encap_request, vf->hwrm_cmd_req_addr, msg_size); + + BNXT_HWRM_LOCK(softc); + int rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + if (rc) + device_printf(softc->dev, "hwrm_exec_fw_resp failed (error=%d)\n", rc); + + return rc; +} + +static int +bnxt_hwrm_func_qcfg_flags(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + struct hwrm_func_qcfg_input req; + struct hwrm_func_qcfg_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_QCFG); + + req.fid = cpu_to_le16(BNXT_PF(softc) ? vf->fw_fid : 0xffff); + + BNXT_HWRM_LOCK(softc); + int rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + if (!rc) + vf->func_qcfg_flags = cpu_to_le16(resp->flags); + + return rc; +} + +bool +bnxt_is_trusted_vf(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + bnxt_hwrm_func_qcfg_flags(softc, vf); + return !!(vf->func_qcfg_flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_TRUSTED_VF); +} + +static int +bnxt_vf_configure_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + u32 msg_size = sizeof(struct hwrm_func_vf_cfg_input); + struct hwrm_func_vf_cfg_input *req = + (struct hwrm_func_vf_cfg_input *)vf->hwrm_cmd_req_addr; + + /* Allow VF to set a valid MAC address, if trust is set to on or + * if the PF assigned MAC address is zero + */ + if (req->enables & + cpu_to_le32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_DFLT_MAC_ADDR)) { + bool trust = bnxt_is_trusted_vf(softc, vf); + + if (is_valid_ether_addr(req->dflt_mac_addr) && + (trust || !is_valid_ether_addr(vf->mac_addr) || + ether_addr_equal(req->dflt_mac_addr, vf->mac_addr))) { + ether_addr_copy(vf->vf_mac_addr, req->dflt_mac_addr); + return bnxt_hwrm_exec_fwd_resp(softc, vf, msg_size); + } + return bnxt_hwrm_fwd_err_resp(softc, vf, msg_size); + } + return bnxt_hwrm_exec_fwd_resp(softc, vf, msg_size); +} + +static int bnxt_vf_validate_set_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + u32 msg_size = sizeof(struct hwrm_cfa_l2_filter_alloc_input); + struct hwrm_cfa_l2_filter_alloc_input *req = + (struct hwrm_cfa_l2_filter_alloc_input *)vf->hwrm_cmd_req_addr; + bool mac_ok = false; + + if (!is_valid_ether_addr((const u8 *)req->l2_addr)) + return bnxt_hwrm_fwd_err_resp(softc, vf, msg_size); + + /* Allow VF to set a valid MAC address, if trust is set to on. + * Or VF MAC address must first match MAC address in PF's context. + * Otherwise, it must match the VF MAC address if firmware spec >= + * 1.2.2 + */ + if (bnxt_is_trusted_vf(softc, vf)) { + mac_ok = true; + } else if (is_valid_ether_addr(vf->mac_addr)) { + if (ether_addr_equal((const u8 *)req->l2_addr, vf->mac_addr)) + mac_ok = true; + } else if (is_valid_ether_addr(vf->vf_mac_addr)) { + if (ether_addr_equal((const u8 *)req->l2_addr, vf->vf_mac_addr)) + mac_ok = true; + } else { + mac_ok = true; + } + if (mac_ok) + return bnxt_hwrm_exec_fwd_resp(softc, vf, msg_size); + + return bnxt_hwrm_fwd_err_resp(softc, vf, msg_size); +} + +static int bnxt_vf_req_validate_snd(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + int rc = 0; + struct input *encap_req = vf->hwrm_cmd_req_addr; + u32 req_type = le16_to_cpu(encap_req->req_type); + + switch (req_type) { + case HWRM_FUNC_VF_CFG: + rc = bnxt_vf_configure_mac(softc, vf); + break; + case HWRM_CFA_L2_FILTER_ALLOC: + rc = bnxt_vf_validate_set_mac(softc, vf); + break; + case HWRM_FUNC_CFG: + rc = bnxt_hwrm_exec_fwd_resp( + softc, vf, sizeof(struct hwrm_func_cfg_input)); + break; + case HWRM_PORT_PHY_QCFG: + /* ckp todo: Disable set VF link command now, enable it later + * Auto neg works as of now. + * rc = bnxt_vf_set_link(softc, vf); + */ + break; + default: + rc = bnxt_hwrm_fwd_err_resp(softc, vf, softc->hwrm_max_req_len); + break; + } + return rc; +} + +void bnxt_hwrm_exec_fwd_req(struct bnxt_softc *softc) +{ + u32 i = 0, active_vfs = softc->pf.active_vfs, vf_id; + + /* Scan through VF's and process commands */ + while (1) { + vf_id = find_next_bit(softc->pf.vf_event_bmap, active_vfs, i); + if (vf_id >= active_vfs) + break; + + clear_bit(vf_id, softc->pf.vf_event_bmap); + bnxt_vf_req_validate_snd(softc, &softc->pf.vf[vf_id]); + i = vf_id + 1; + } +} + static int bnxt_hwrm_func_vf_resc_cfg(struct bnxt_softc *softc, int num_vfs, bool reset) { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 9226ea85a34a..83cace50291f 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -2411,6 +2411,11 @@ static void bnxt_sp_task(struct work_struct *work) return; } +#ifdef PCI_IOV + if (test_and_clear_bit(BNXT_HWRM_EXEC_FWD_REQ_SP_EVENT, &bp->sp_event)) + bnxt_hwrm_exec_fwd_req(bp); +#endif + if (test_and_clear_bit(BNXT_FW_RESET_NOTIFY_SP_EVENT, &bp->sp_event)) { if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state) || test_bit(BNXT_STATE_FW_NON_FATAL_COND, &bp->state)) @@ -3868,6 +3873,10 @@ bnxt_process_async_msg(struct bnxt_cp_ring *cpr, tx_cmpl_t *cmpl) { struct bnxt_softc *softc = cpr->ring.softc; uint16_t type = cmpl->flags_type & TX_CMPL_TYPE_MASK; +#ifdef PCI_IOV + struct hwrm_fwd_req_cmpl *fwd_req_cmpl = (struct hwrm_fwd_req_cmpl *)cmpl; + uint16_t vf_id; +#endif switch (type) { case HWRM_CMPL_TYPE_HWRM_DONE: @@ -3876,6 +3885,19 @@ bnxt_process_async_msg(struct bnxt_cp_ring *cpr, tx_cmpl_t *cmpl) case HWRM_ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT: bnxt_handle_async_event(softc, (cmpl_base_t *) cmpl); break; +#ifdef PCI_IOV + case CMPL_BASE_TYPE_HWRM_FWD_REQ: + vf_id = le16_to_cpu(fwd_req_cmpl->source_id); + + if ((vf_id < softc->pf.first_vf_id) || + (vf_id >= softc->pf.first_vf_id + softc->pf.active_vfs)) + return; + + set_bit(vf_id - softc->pf.first_vf_id, softc->pf.vf_event_bmap); + set_bit(BNXT_HWRM_EXEC_FWD_REQ_SP_EVENT, &softc->sp_event); + bnxt_queue_sp_work(softc); + break; +#endif default: device_printf(softc->dev, "%s:%d Unhandled async message %x\n", __FUNCTION__, __LINE__, type); From nobody Tue Apr 28 06:45:01 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC20tyGz6bRVY for ; Tue, 28 Apr 2026 06:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WC14gCzz3ZQN for ; Tue, 28 Apr 2026 06:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KQcS5QL++D/H3Lp8qc9QD1IpFE3SUDNuMK3SHePpzuY=; b=yh0BCn6dFGeIBYs0hp9cso7jsOqwCI7YWg2w+8CnusQfVK4ER7wUYNPUXRC196VJmbx9Si z6wGlK7k5b78XA4hTqCK7Y/rkTP53auZ6kE/9DNT/jPTvSmh4FIhhAss4dyzx5/6fsxbfD pE5KyWOOIBlU7wcJgXKtdMXTPIKCaKg/Zh3nn3EPz6IexfsGJxvYCGcZF1xd/4KexIwgbF ILWO2knKkJVWJH4TEsl4rCbEpWiq+fF2yJ5viM2zkL0yYOOs/PeSrqHt4IS2OcWRWNbC8L txx85fKULlX6nJTb9cd8eSPDKTdW75JvUAglISIOnh0Qqyz7O0Jie/8dV4Lr5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358701; a=rsa-sha256; cv=none; b=ruauyrIzahOVuKJ850iJgsck0YyS82+g7rlYR3alYbMukKXbLRehWlf+b28BW9ZyQor2Ta x09nyZKyS0y2C9mwQ1zOt2OyJIEuiU4uuzUwVBw711yH5zO8cVkMxw9t0asQj8qGq6k7Og Fr1ZUDAr6mIvBGsT0Sz/WgG2src5DRtaKabPZYdIGqSh03nUMoBPQ0y9w68K9Elxa243tP uWXGyG4qoaOs/gkLZceOC1YIu79zq5pvT5CjnmApHYnKSaRnJmmkLOdLLQ5682HyNS9Af7 Z9RY04dGg680EWt5uugqvH6rnVomoY8Xj/S17SYXB2eZYD6d2F5835sUgwn5Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KQcS5QL++D/H3Lp8qc9QD1IpFE3SUDNuMK3SHePpzuY=; b=yoTM5uun3TivZ0BZe9YKGrACajC46GDo0DQpw64yIeCv43/ijUnlRseBFI10KdS6bFSLqE sPT4hpQKtJDvImr1UwSr8+gS0LJZzDfEeB8GnysClup+vY5EmewFD5+1M05sUKBXri56tG D89T0hgmsvqgwWbY4lAJqNTiHnG3sRqpmZFqoQpDFlerKNKfkPziiSk5wFbNEFE+OLsHjk ItmnFvMX3e/J3tOHqG0Qj4dRHSiTu3MaAJap6IUPuMn9X0x6bmkvtO0LDJb0rUiPxadI54 PbP1T3+6PBowVli7rZCLLra6Uh/LhzYAB2Qoo609YVDuev1Qs7g5aRKHks4K0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC13kK6zjdR for ; Tue, 28 Apr 2026 06:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31bac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:45:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: ea4ab7e36ed9 - main - bnxt_en: Add per-VF trust, spoof-check and promiscuous controls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea4ab7e36ed9cf153c374782be446254a7d11822 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:45:01 +0000 Message-Id: <69f0576d.31bac.79d6ce26@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=ea4ab7e36ed9cf153c374782be446254a7d11822 commit ea4ab7e36ed9cf153c374782be446254a7d11822 Author: Chandrakanth Patil AuthorDate: 2026-03-31 16:59:01 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:32:12 +0000 bnxt_en: Add per-VF trust, spoof-check and promiscuous controls Expose per-VF policy knobs via the FreeBSD sysctl tree and enforce them at the data-path level. Trust (dev.bnxt..vfN.trusted): bnxt_set_vf_trust() sets/clears BNXT_VF_TRUST and sends HWRM_FUNC_CFG with FLAGS_TRUSTED_VF_ENABLE/DISABLE. bnxt_create_trusted_vf_sysctls() / bnxt_destroy_trusted_vf_sysctls() manage the sysctl lifetime with VF creation/teardown. Spoof-check (dev.bnxt..vfN.spoofchk): bnxt_set_vf_spoofchk() issues HWRM_FUNC_CFG with SRC_MAC_ADDR_CHECK_ENABLE/DISABLE. Promiscuous gating: bnxt_is_trusted_vf() queries firmware via HWRM_FUNC_QCFG. bnxt_promisc_ok() returns false for untrusted VFs, preventing them from entering promiscuous mode. bnxt_promisc_set() is updated to gate the PROMISCUOUS and ANYVLAN_NONVLAN mask bits on bnxt_promisc_ok(). bnxt_iov_vf_add() applies the initial trust/spoof-check policy from the nvlist schema. bnxt_iov_init() creates the sysctl trees after bnxt_cfg_hw_sriov() succeeds. bnxt_iov_uninit() tears them down. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56200 --- sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 267 +++++++++++++++++++++++++++++++++++++- sys/dev/bnxt/bnxt_en/if_bnxt.c | 6 +- 2 files changed, 270 insertions(+), 3 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c index 9bec955f9890..2d9b43728c2d 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -7,7 +7,6 @@ #include "bnxt_hwrm.h" #include "bnxt_sriov.h" - static int bnxt_set_vf_admin_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf, const uint8_t *mac) @@ -89,6 +88,9 @@ bnxt_iov_vf_add(if_ctx_t ctx, uint16_t vfnum, const nvlist_t *params) vfnum, rc); } + (void)bnxt_set_vf_trust(softc, vfnum, vf->trusted); + (void)bnxt_set_vf_spoofchk(softc, vfnum, vf->spoofchk); + return 0; } @@ -157,6 +159,7 @@ void bnxt_iov_uninit(if_ctx_t ctx) if (rc) device_printf(softc->dev, "VF resource free HWRM failed: %d\n", rc); + bnxt_destroy_trusted_vf_sysctls(softc); bnxt_free_vf_resources(softc); BNXT_SRIOV_LOCK_DESTROY(softc); } @@ -349,6 +352,75 @@ bnxt_is_trusted_vf(struct bnxt_softc *softc, struct bnxt_vf_info *vf) return !!(vf->func_qcfg_flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_TRUSTED_VF); } +bool bnxt_promisc_ok(struct bnxt_softc *softc) +{ + if (BNXT_VF(softc) && !bnxt_is_trusted_vf(softc, &softc->vf)) + return false; + return true; +} + +static int +bnxt_hwrm_set_trusted_vf(struct bnxt_softc *softc, struct bnxt_vf_info *vf) +{ + struct hwrm_func_cfg_input req = {0}; + int rc; + + if (!(softc->fw_cap & BNXT_FW_CAP_TRUSTED_VF)) + return (EOPNOTSUPP); + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_CFG); + + req.fid = htole16(vf->fw_fid); + + if (vf->flags & BNXT_VF_TRUST) + req.flags = cpu_to_le32(HWRM_FUNC_CFG_INPUT_FLAGS_TRUSTED_VF_ENABLE); + else + req.flags = cpu_to_le32(HWRM_FUNC_CFG_INPUT_FLAGS_TRUSTED_VF_DISABLE); + + BNXT_HWRM_LOCK(softc); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(softc); + if (rc) + device_printf(softc->dev, "bnxt_hwrm_set_trusted_vf failed. rc:%d\n", rc); + + return rc; +} + +int +bnxt_set_vf_trust(struct bnxt_softc *softc, int vf_id, bool trusted) +{ + int rc; + struct bnxt_vf_info *vf = NULL; + + BNXT_SRIOV_LOCK(softc); + if (softc->pf.num_vfs == 0 || vf_id >= softc->pf.num_vfs) { + BNXT_SRIOV_UNLOCK(softc); + return (ENOENT); + } + vf = &softc->pf.vf[vf_id]; + + if (trusted) + vf->flags |= BNXT_VF_TRUST; + else + vf->flags &= ~BNXT_VF_TRUST; + + BNXT_SRIOV_UNLOCK(softc); + + rc = bnxt_hwrm_set_trusted_vf(softc, vf); + if (rc == 0) { + BNXT_SRIOV_LOCK(softc); + if (softc->pf.num_vfs != 0 && vf_id < softc->pf.num_vfs) { + vf = &softc->pf.vf[vf_id]; + if (trusted) + vf->flags |= BNXT_VF_TRUST; + else + vf->flags &= ~BNXT_VF_TRUST; + } + BNXT_SRIOV_UNLOCK(softc); + } + return rc; +} + static int bnxt_vf_configure_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf) { @@ -452,6 +524,186 @@ void bnxt_hwrm_exec_fwd_req(struct bnxt_softc *softc) } } +/* destroy VF sysctls when VFs are removed / PF detaches. */ +void +bnxt_destroy_trusted_vf_sysctls(struct bnxt_softc *softc) +{ + sysctl_ctx_free(&softc->pf.sysctl_ctx); +} + +/* Handler for: dev.bnxt..vf.trusted (0/1) */ +static int +bnxt_sysctl_vf_trusted(SYSCTL_HANDLER_ARGS) +{ + struct bnxt_softc *softc = (struct bnxt_softc *)arg1; + int vf_id = (int)arg2; + int val, rc; + + BNXT_SRIOV_LOCK(softc); + if (softc->pf.num_vfs == 0 || vf_id < 0 || vf_id >= softc->pf.num_vfs) { + BNXT_SRIOV_UNLOCK(softc); + return (ENOENT); + } + val = (softc->pf.vf[vf_id].flags & BNXT_VF_TRUST) ? 1 : 0; + BNXT_SRIOV_UNLOCK(softc); + + rc = sysctl_handle_int(oidp, &val, 0, req); + if (rc) + return rc; + + /* If no new value supplied, it was a READ */ + if (req->newptr == NULL) + return 0; + + /* WRITE path: 'val' now holds the user's 0/1 */ + rc = bnxt_set_vf_trust(softc, vf_id, (val != 0)); + + return rc; +} + +/* + * Create per-VF sysctls: + * dev.bnxt..vf0.trusted + * dev.bnxt..vf1.trusted + * .. + */ +int +bnxt_create_trusted_vf_sysctls(struct bnxt_softc *softc, uint16_t num_vfs) +{ + struct sysctl_oid_list *root_list; + struct sysctl_oid *vf_node; + char node_name[16]; + + /* use the device's sysctl tree as root: dev.bnxt.. */ + sysctl_ctx_init(&softc->pf.sysctl_ctx); + root_list = SYSCTL_CHILDREN(device_get_sysctl_tree(softc->dev)); + + for (int i = 0; i < num_vfs; i++) { + snprintf(node_name, sizeof(node_name), "vf%d", i); + + /* dev.bnxt..vfN */ + vf_node = SYSCTL_ADD_NODE(&softc->pf.sysctl_ctx, + root_list, OID_AUTO, + node_name, CTLFLAG_RW, 0, "VF node"); + + /* dev.bnxt..vfN.trusted */ + SYSCTL_ADD_PROC(&softc->pf.sysctl_ctx, + SYSCTL_CHILDREN(vf_node), + OID_AUTO, "trusted", + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, + softc, i, bnxt_sysctl_vf_trusted, "I", + "0=untrusted (default), 1=trusted"); + } + return 0; +} + +static int +bnxt_hwrm_set_vf_spoofchk(struct bnxt_softc *sc, struct bnxt_vf_info *vf, + bool enable) +{ + struct hwrm_func_cfg_input req = {0}; + int rc = 0; + + bnxt_hwrm_cmd_hdr_init(sc, &req, HWRM_FUNC_CFG); + + req.fid = htole16(vf->fw_fid); + req.flags = htole32(enable ? + HWRM_FUNC_CFG_INPUT_FLAGS_SRC_MAC_ADDR_CHECK_ENABLE : + HWRM_FUNC_CFG_INPUT_FLAGS_SRC_MAC_ADDR_CHECK_DISABLE); + + BNXT_HWRM_LOCK(sc); + rc = _hwrm_send_message(sc, &req, sizeof(req)); + BNXT_HWRM_UNLOCK(sc); + if (rc) + device_printf(sc->dev, "bnxt_hwrm_set_vf_spoofchk failed. rc:%d\n", rc); + + return rc; +} + +int +bnxt_set_vf_spoofchk(struct bnxt_softc *sc, int vf_id, bool enable) +{ + struct bnxt_vf_info *vf; + int rc; + + BNXT_SRIOV_LOCK(sc); + if (sc->pf.num_vfs == 0 || vf_id >= sc->pf.num_vfs) { + BNXT_SRIOV_UNLOCK(sc); + return (ENOENT); + } + vf = &sc->pf.vf[vf_id]; + BNXT_SRIOV_UNLOCK(sc); + + rc = bnxt_hwrm_set_vf_spoofchk(sc, vf, enable); + if (rc == 0) { + BNXT_SRIOV_LOCK(sc); + if (sc->pf.num_vfs != 0 && vf_id < sc->pf.num_vfs) { + vf = &sc->pf.vf[vf_id]; + if (enable) + vf->flags |= BNXT_VF_SPOOFCHK; + else + vf->flags &= ~BNXT_VF_SPOOFCHK; + } + BNXT_SRIOV_UNLOCK(sc); + } + return rc; +} + +static int +bnxt_sysctl_vf_spoofchk(SYSCTL_HANDLER_ARGS) +{ + struct bnxt_softc *sc = (struct bnxt_softc *)arg1; + int vf_id = (int)arg2; + int val, rc; + + BNXT_SRIOV_LOCK(sc); + if (sc->pf.num_vfs == 0 || vf_id >= sc->pf.num_vfs) { + BNXT_SRIOV_UNLOCK(sc); + return (ENOENT); + } + val = (sc->pf.vf[vf_id].flags & BNXT_VF_SPOOFCHK) ? 1 : 0; + BNXT_SRIOV_UNLOCK(sc); + + rc = sysctl_handle_int(oidp, &val, 0, req); + if (rc || req->newptr == NULL) + return rc; + + return bnxt_set_vf_spoofchk(sc, vf_id, val != 0); +} + +/* + * Create per-VF spoofchk: + * dev.bnxt..vf0.spoofchk + * dev.bnxt..vf1.spoofchk + * .. + */ +int +bnxt_create_spoofchk_vf_sysctls(struct bnxt_softc *softc, uint16_t num_vfs) +{ + struct sysctl_oid_list *root_list; + struct sysctl_oid *vf_node; + char node_name[16]; + + /* Reuse the same ctx & root tree as trusted vf */ + root_list = SYSCTL_CHILDREN(device_get_sysctl_tree(softc->dev)); + + for (int i = 0; i < num_vfs; i++) { + snprintf(node_name, sizeof(node_name), "vf%d", i); + + vf_node = SYSCTL_ADD_NODE(&softc->pf.sysctl_ctx, + root_list, OID_AUTO, + node_name, CTLFLAG_RW, 0, "VF node"); + + SYSCTL_ADD_PROC(&softc->pf.sysctl_ctx, + SYSCTL_CHILDREN(vf_node), + OID_AUTO, "spoofchk", + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, + softc, i, bnxt_sysctl_vf_spoofchk, "I", + "0=spoofchk off, 1=spoofchk on"); + } + return 0; +} + static int bnxt_hwrm_func_vf_resc_cfg(struct bnxt_softc *softc, int num_vfs, bool reset) { @@ -673,6 +925,17 @@ bnxt_iov_init(if_ctx_t ctx, uint16_t num_vfs, const nvlist_t *params) if (rc) goto fail_free_vf_resc; + rc = bnxt_create_trusted_vf_sysctls(softc, num_vfs); + if (rc) { + device_printf(softc->dev, "trusted VF sysctl creation failed (error=%d)\n", rc); + goto fail_free_hwrm_vf_resc; + } + + rc = bnxt_create_spoofchk_vf_sysctls(softc, num_vfs); + if (rc) { + device_printf(softc->dev, "spoof check VF sysctl creation failed (error=%d)\n", rc); + goto fail_free_hwrm_vf_resc; + } BNXT_SRIOV_LOCK(softc); softc->pf.num_vfs = num_vfs; @@ -680,6 +943,8 @@ bnxt_iov_init(if_ctx_t ctx, uint16_t num_vfs, const nvlist_t *params) return 0; +fail_free_hwrm_vf_resc: + bnxt_hwrm_func_vf_resource_free(softc, num_vfs); fail_free_vf_resc: bnxt_free_vf_resources(softc); fail_lock: diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 83cace50291f..8023ee1524c5 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -3730,13 +3730,15 @@ bnxt_promisc_set(if_ctx_t ctx, int flags) softc->vnic_info.rx_mask &= ~HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ALL_MCAST; - if (if_getflags(ifp) & IFF_PROMISC) + if ((if_getflags(ifp) & IFF_PROMISC) && + bnxt_promisc_ok(softc)) softc->vnic_info.rx_mask |= HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS | HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN; else softc->vnic_info.rx_mask &= - ~(HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS); + ~(HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS | + HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN); rc = bnxt_hwrm_cfa_l2_set_rx_mask(softc, &softc->vnic_info); From nobody Tue Apr 28 06:45:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC31cX3z6bRLG for ; Tue, 28 Apr 2026 06:45: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 4g4WC24rkcz3Z4p for ; Tue, 28 Apr 2026 06:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bGLFkvvHS5KxB4FEbKPjIJ5yWaZQrnFInM4dZI8jc2U=; b=Nspt08G9V9ekb3NCvXdjVQFOgWhxf3G3ck7hGulObYF20e7nkRJYgsXDNxTwMbxRT+0sMR RkGgN3dTjg/Ao13GCcIh3HNdwIOHrNtdcwFZTxDOFBDj8fw8vA59y63YC1bfABMqJfS8nB DX8EKtoKuNz/Q1GjVjkabl+s+GhTO7xkaBzCecQH7pKnwg1pkod/DlN4Nki3nDmPoZbwfJ RFspbgLQ0CzTVWgLH3Evy3jyi4HF2+Bc/W/oOKZvoMWyJ5foefOynkIm7r8cGoefkVVGjV oSb4bQVNov2M+vKmkOrnHCjlxPtwL2DksPxkOztxUxo5T+OSMeKZyHNokIEJ/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358702; a=rsa-sha256; cv=none; b=vtWrNbIQLHKzjVyGKIpIyRTDZoz5aWcJEyWF57spLbX6F6LTviLlgbHCo4mwSzQsTQvh08 E9J4lYQfclMJr+TZWNaf0qzBLelLmK82DMwTPXd9+fpiNC6SDzMrEHl4XEhRYzQltXxsfF +1Uka+Dm/1CF12q7EV+mT9tRtpAwBNlKAmMhSHTrq9FP8jzZs//Qn+b5UWGYyiPQGnNjJa Or3TZkE7ZzfssVGKltJbfDRScGd3zlGdDHSk8th7HZnj3lz7S9FmDc+3nQJ4avCpfR/dPP dZwzYRYVDUAxR5bWngR1fj0magySEIz7O/ddNEGpQv64TcMJiDWZwbrRaU0NTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bGLFkvvHS5KxB4FEbKPjIJ5yWaZQrnFInM4dZI8jc2U=; b=NZaHmh0GqEUWl68o5zxkH1gnIfP+FnaiYrcA/+9ErY7lydCnhk1hFKKJw8mvnWUmvj57PD wPhG3I+u3g2L4CRHie1/yoM2X1qGjPIMyrojtIfcWrezRMSts7KSVrGPCe8oMGya+vfwis B7f7ndtdYY7fzC1JvYtUleEj7/fmkbYuSTE2nXteffMh5ktUAQBZwL59Jxcm2YqqH0So4M q7FtgmWq5t/A2cHYK2qxJ4kOb6VvvF9XBF+6XbNmCgyxqPt/enUeRjNi7w5Qlk8K2QAaxW qjOvwc8ZyxXt2olCG2ery1CMKqXPjRrGdQ6q4nES8nPqmzcofFwBRq7/i3s3Tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC24GNnzjq7 for ; Tue, 28 Apr 2026 06:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30542 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:45:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: 8743209350cb - main - bnxt_en: Re-enable SR-IOV after firmware reset List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8743209350cb4b7db6d367df99da0a7ae3bc5d39 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:45:02 +0000 Message-Id: <69f0576e.30542.432194c9@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=8743209350cb4b7db6d367df99da0a7ae3bc5d39 commit 8743209350cb4b7db6d367df99da0a7ae3bc5d39 Author: Chandrakanth Patil AuthorDate: 2026-03-31 16:59:02 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:34:31 +0000 bnxt_en: Re-enable SR-IOV after firmware reset When the firmware undergoes a hot-reset and the driver re-opens the device, previously active Virtual Functions lose their resource configuration. bnxt_reenable_sriov() restores that configuration by replaying bnxt_cfg_hw_sriov() with the saved resource parameters. The function is called from bnxt_fw_reset_task() in the BNXT_FW_RESET_STATE_OPENING state, guarded by #ifdef PCI_IOV. Because bnxt_cfg_hw_sriov() is a no-op when active_vfs is zero the call is safe on any PF regardless of whether VFs were ever created. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56201 --- sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 10 ++++++++++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c index 2d9b43728c2d..2aeefd9308fb 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -972,3 +972,13 @@ void bnxt_sriov_attach(struct bnxt_softc *softc) device_printf(dev, "Failed to initialize SR-IOV (error=%d)\n", rc); } +void bnxt_reenable_sriov(struct bnxt_softc *bp) +{ + if (BNXT_PF(bp)) { + struct bnxt_pf_info *pf = &bp->pf; + uint16_t n = pf->active_vfs; + + if (n) + bnxt_cfg_hw_sriov(bp, &n, true); + } +} diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 8023ee1524c5..b48c28f002d8 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -2327,6 +2327,9 @@ static void bnxt_fw_reset_task(struct work_struct *work) bnxt_ulp_start(bp, 0); clear_bit(BNXT_STATE_FW_ACTIVATE, &bp->state); set_bit(BNXT_STATE_OPEN, &bp->state); +#ifdef PCI_IOV + bnxt_reenable_sriov(bp); +#endif rtnl_unlock(); } return; From nobody Tue Apr 28 06:45:04 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC61tfRz6bR2j for ; Tue, 28 Apr 2026 06:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WC50xSSz3Z51 for ; Tue, 28 Apr 2026 06:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fy8wysMSldwbveiy2QXdM81wf/AAQxJ0JlKVaq1HYAg=; b=DJKxYXKfOgOdwk2zIq6dMAW7mwIptte3GW9s8QCeHnzvy7YW9teCslnPJMbbLrorS85EBH I3+o21ea3PpKOicEREnaiiuB24zqCDkmlCtu/1/yFXgZe061td4BuUf1X9ceXUjkjQ4/1B xplGSk460MbiVa24c3UiHxuzg15uQiaptWbQD5/2zafVUYkEM2gP4ryz3XKMidgKHUyuJc uBx3p7Rmn53w2IkjR0nD6LVYuN7vq4eus1AP0bwAH0CL7BQReOzVveoE4O9diXnYqgrekh 64tpK5aJ6Uc1YnXV+9wHG4aBZ+Cq1N91UN38UdDHr/9ENu+mFtaRLcK3VSUlaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358705; a=rsa-sha256; cv=none; b=rt0GUNOjGlAJKID+JXCd+3ElaG+GxMjy9m0+fIzaeY7VZUgnbL9Rxh1It0wdeIokQVxY6V +GrqNPTSzYJkLkbf6VtoX3H1nwV82Q27JU+FdDke/Or2X8EzbOuNtfnraiQqg/apWvwxAS xoOS+egceFJUriJVWGUvFY6iZNgTDnN1+7ybD3YsV2zgSE92Ub/EDagFW1L3ZEcP9+EZlY njH0day8LEXrRy7ZAfP7apfpADg3K7sRdwDN1o/bY+fdsPSrqYW2PYEY/LOBf3U8/Z8/OJ k52F/vRlCFUZ905jVSPwsdsCt2EPUUSlaNX7DgSQLOrCKwRA66VIsJTm7+zDsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fy8wysMSldwbveiy2QXdM81wf/AAQxJ0JlKVaq1HYAg=; b=gpOOaQNBN75AiPDCXj4liiWgwBDVj5z+V4oOesMw7EuhCzKAc/tEcB6F4+1w61G6FPJNg/ nfdZFeF3SSLIJcYf93iopPthVULzWeC5qlnj03qt5qFj6+7jlp16ZF9JmUV8UAYd+O5VO8 vOZwGvVpqw2K5zk8qON8Nojh3WVuhII20eOouIgSiDxrYX+1yJRI0D3zAxk3vigzburUgD xWmmLdE6bo2ZgL+uTbLYF25H9PPdcbRiTcJ9cdWWRqJSERl5RITTmJzF/7XNXMxQtkNapd HGUC5AVaQeKPVm/5PiCBszuIbjn5/dKEJawo5hLUB9tJfuy/WXb5bKQepSL9oQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC45WcwzjVq for ; Tue, 28 Apr 2026 06:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 264fc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:45:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: 7c450d1127c7 - main - bnxt_en: Address review comments for core SR-IOV support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c450d1127c7f08361f848c0ac57189910da8d3b Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:45:04 +0000 Message-Id: <69f05770.264fc.5860a40d@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=7c450d1127c7f08361f848c0ac57189910da8d3b commit 7c450d1127c7f08361f848c0ac57189910da8d3b Author: Chandrakanth Patil AuthorDate: 2026-04-26 18:11:31 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:37:06 +0000 bnxt_en: Address review comments for core SR-IOV support This patch addresses the code review comments provided for: https://reviews.freebsd.org/D56197 * P7 VF PCI ID: rename NETXTREME_E_P7_VF to E_P7_VF (P7/Thor2 line drops the Netxtreme name in product strings; other VF device IDs are unchanged). * Use the return value of bnxt_vf_parse_schema() in bnxt_iov_vf_add() to decide when to call bnxt_set_vf_admin_mac(); make parse_schema() return bool and remove the has_admin_mac field. * In bnxt_free_vf_resources(), fix indentation after dma_free_coherent() so the NULL assignment is clearly separate from the call. * In bnxt_hwrm_func_vf_resource_free(), use first_vf_id/last_vf_id in the HWRM_FUNC_VF_RESC_FREE loop. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56644 --- sys/dev/bnxt/bnxt_en/bnxt.h | 2 +- sys/dev/bnxt/bnxt_en/bnxt_sriov.c | 31 ++++++++++++++++--------------- sys/dev/bnxt/bnxt_en/bnxt_sriov.h | 1 - sys/dev/bnxt/bnxt_en/if_bnxt.c | 4 ++-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 6d00cd4d601d..b15cc65e290e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -107,7 +107,7 @@ #define NETXTREME_E_P5_VF2 0x1807 #define NETXTREME_E_P5_VF_HV1 0x1808 #define NETXTREME_E_P5_VF_HV2 0x1809 -#define NETXTREME_E_P7_VF 0x1819 +#define E_P7_VF 0x1819 #define EVENT_DATA1_RESET_NOTIFY_FATAL(data1) \ (((data1) & \ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c index 2aeefd9308fb..270c18165fb7 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c @@ -30,7 +30,7 @@ bnxt_set_vf_admin_mac(struct bnxt_softc *softc, struct bnxt_vf_info *vf, return (rc); } -static void +static bool bnxt_vf_parse_schema(struct bnxt_softc *softc, struct bnxt_vf_info *vf, const nvlist_t *params) { @@ -41,7 +41,7 @@ bnxt_vf_parse_schema(struct bnxt_softc *softc, struct bnxt_vf_info *vf, memset(vf->vf_mac_addr, 0, ETHER_ADDR_LEN); if (params == NULL) - return; + return (false); if (nvlist_exists(params, "mac-anti-spoof")) vf->spoofchk = nvlist_get_bool(params, "mac-anti-spoof"); @@ -49,18 +49,18 @@ bnxt_vf_parse_schema(struct bnxt_softc *softc, struct bnxt_vf_info *vf, vf->trusted = nvlist_get_bool(params, "trust"); if (!nvlist_exists(params, "mac-addr")) - return; + return (false); mac = nvlist_get_binary(params, "mac-addr", &maclen); if (maclen != ETHER_ADDR_LEN) - return; + return (false); if (!is_valid_ether_addr(mac)) - return; + return (false); memcpy(vf->mac_addr, mac, ETHER_ADDR_LEN); - vf->has_admin_mac = true; + return (true); } /* Add a Virtual Functions */ @@ -74,13 +74,10 @@ bnxt_iov_vf_add(if_ctx_t ctx, uint16_t vfnum, const nvlist_t *params) vf->fw_fid = softc->pf.first_vf_id + vfnum; vf->vfnum = vfnum; - /* Parse schema */ - bnxt_vf_parse_schema(softc, vf, params); - /* - * If user provided MAC, program it into firmware. + * If the schema provided a valid admin MAC, program it into firmware. */ - if (vf->has_admin_mac) { + if (bnxt_vf_parse_schema(softc, vf, params)) { rc = bnxt_set_vf_admin_mac(softc, vf, vf->mac_addr); if (rc) device_printf(softc->dev, @@ -113,9 +110,9 @@ void bnxt_free_vf_resources(struct bnxt_softc *softc) for (i = 0; i < softc->pf.hwrm_cmd_req_pages; i++) { if (softc->pf.hwrm_cmd_req_addr[i]) { dma_free_coherent(&softc->pdev->dev, page_size, - softc->pf.hwrm_cmd_req_addr[i], - softc->pf.hwrm_cmd_req_dma_addr[i]); - softc->pf.hwrm_cmd_req_addr[i] = NULL; + softc->pf.hwrm_cmd_req_addr[i], + softc->pf.hwrm_cmd_req_dma_addr[i]); + softc->pf.hwrm_cmd_req_addr[i] = NULL; } } } @@ -125,12 +122,16 @@ int bnxt_hwrm_func_vf_resource_free(struct bnxt_softc *softc, int num_vfs) { int i, rc; + int first_vf_id, last_vf_id; struct hwrm_func_vf_resc_free_input req; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_VF_RESC_FREE); + first_vf_id = softc->pf.first_vf_id; + last_vf_id = first_vf_id + num_vfs - 1; + BNXT_HWRM_LOCK(softc); - for (i = softc->pf.first_vf_id; i < softc->pf.first_vf_id + num_vfs; i++) { + for (i = first_vf_id; i <= last_vf_id; i++) { req.vf_id = cpu_to_le16(i); rc = _hwrm_send_message(softc, &req, sizeof(req)); if (rc) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.h b/sys/dev/bnxt/bnxt_en/bnxt_sriov.h index c0c3d2d70b08..176f54af0aa8 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.h @@ -81,7 +81,6 @@ struct bnxt_vf_info { struct iflib_dma_info hwrm_cmd_req; uint16_t trusted; bool spoofchk; - bool has_admin_mac; }; struct bnxt_resc_map { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 80ca53db4782..6618016f3932 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -180,7 +180,7 @@ static const pci_vendor_info_t bnxt_vendor_info_array[] = "Broadcom NetXtreme-C Virtual Function for Hyper-V"), PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P5_VF_HV2, "Broadcom NetXtreme-C Virtual Function for Hyper-V"), - PVID(BROADCOM_VENDOR_ID, NETXTREME_E_P7_VF, + PVID(BROADCOM_VENDOR_ID, E_P7_VF, "Broadcom BCM5760X Virtual Function"), /* required last entry */ @@ -479,7 +479,7 @@ bnxt_is_vf_device(uint16_t device_id) case NETXTREME_E_P5_VF2: case NETXTREME_E_P5_VF_HV1: case NETXTREME_E_P5_VF_HV2: - case NETXTREME_E_P7_VF: + case E_P7_VF: return true; default: return false; From nobody Tue Apr 28 06:45:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC50z2cz6bR8F for ; Tue, 28 Apr 2026 06:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4WC40QLWz3ZSM for ; Tue, 28 Apr 2026 06:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TfFWKTl0Oi6zbsV9D0Ko97afxhrStHBwDviccmldZMM=; b=gqxoMK0MQGKdKIBC+kZ9xVO275UmZepdcxeQsnIz38HWiZHW4MTXWPiXCIxx8pHIjAm8Jk V3jBpsTgYA6sgiFQ7LCAZi2EDzArQQPgR49ckRdoDUIx7Yhy6CYHaS5HogD45CMES13yxm PcLBRl2M/o59pa38AE8gyd66YvYAbbYGpo8mfl8Q5kCqcCfgf7AQ2EaIK14nAgZmn2mmmw kGn65mCvXFf/jGOauV2Z6bSHUBZZeNoKJDRZupG/8QOmZpWD6wpvzOuw4p8BhQ73xnt81q 3r20WGK6MKCoHxUFzfODUgto7a1ekHsvOiSdbR6SI0LIEfXsu7TM5jKXsLVO+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358704; a=rsa-sha256; cv=none; b=E7ng7V4KmCPbLb+8NH1wADgQ7eXmUR6tp/sLMWVUXVw6U02gOMLszEPh4wnCBWN6p5jrRr BzzM0kNzJMMjXISzVBirqIR0xSA/im0pm810ztIUwkNTGSyD6KLTY/ha3JYqBByZVNDq6d xFjR2wslNc17hxBmcwh8jfa0EVulFKNeHF0IjOSIowDtEUmcJ8QIo1//Wl7pCMRuAAav3w YTBvVZ5MRyjBmEZ/+N5Y1MVewBHe40WwFH8pPgnpqOs8+f0Tg37Y67K4AXg8TOjw1IPwSY 1Y4sKCTMUtjv4RZ9mYN35FkxidY4XbvsgIYWZLH9jvJ3bNTIGRJY04OtFdDdlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TfFWKTl0Oi6zbsV9D0Ko97afxhrStHBwDviccmldZMM=; b=LSN/9MiM5uBVfOFsAIziefah/famNCrDqFeyifQTcaTpf9ckglplKzDkwqtUCCNM/Mfclz L4E+Z62KPZrd7FAfWPxj8ctYwbQ8dJLCn1aXx5mLL+QV7/lYsJcZRGbotEdobO++1v+gU6 pv3cBty9u1EO0y2rIciD573jIxGD+JZ5HUYIcr2F2iVMszZBGd86u/YhePUdsHKANK5GWc 3QZL8h42jQDlK8/R0LUBgzR39xBD51DqNDHxISO+EPbW06g536EMe/GmcUmyVvzApwRzsp 4sWpwh3nf8xGCQ5PGBeLCAnZNfdZiM2A4b7lfBh4sZ5K56b14JtIwd3SxjL5Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC350CGzhqm for ; Tue, 28 Apr 2026 06:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 275f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 06:45:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: c972c5acbac4 - main - bnxt_en: VF ring reservation, HWRM registration, and PF-only operation guards List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c972c5acbac472a5dc797856f39f478862b6c6ea Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 06:45:03 +0000 Message-Id: <69f0576f.275f8.102c997@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=c972c5acbac472a5dc797856f39f478862b6c6ea commit c972c5acbac472a5dc797856f39f478862b6c6ea Author: Chandrakanth Patil AuthorDate: 2026-04-02 23:04:45 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 06:35:09 +0000 bnxt_en: VF ring reservation, HWRM registration, and PF-only operation guards VFs require separate HWRM commands for ring reservation and async completion ring setup, so a common PF/VF dispatcher is introduced and the async CR path is extended to handle both. The PF must populate the VF request forwarding bitmap during driver registration so the firmware correctly forwards VF-originated HWRM commands. VF reservation strategy and min-guaranteed capability flags are now parsed for correct resource partitioning, and PF-only operations (DCB, NVM, package version sysctl) are guarded against VF invocation. The short command buffer allocation is also reordered before the function reset to ensure extended HWRM messages are available when needed, a prerequisite uncovered during VF bring-up. MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56232 --- sys/dev/bnxt/bnxt_en/bnxt.h | 1 + sys/dev/bnxt/bnxt_en/bnxt_dcb.c | 3 ++ sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 105 ++++++++++++++++++++++++++++++++----- sys/dev/bnxt/bnxt_en/bnxt_hwrm.h | 1 + sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 9 ++-- sys/dev/bnxt/bnxt_en/if_bnxt.c | 23 ++++++-- 6 files changed, 121 insertions(+), 21 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 4172e5e86b4f..6d00cd4d601d 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1398,5 +1398,6 @@ int bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, size_t nitems, int *num_inputs); void bnxt_set_flags_by_devid(struct bnxt_softc *softc); +int bnxt_hwrm_reserve_rings(struct bnxt_softc *softc); #endif /* _BNXT_H */ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c index e0643f200021..d169be6e5c7b 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c @@ -326,6 +326,9 @@ bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, if (softc->hwrm_spec_code < 0x10601) return 0; + if (BNXT_VF(softc)) + return 0; + bnxt_hwrm_cmd_hdr_init(softc, &get, HWRM_FW_GET_STRUCTURED_DATA); n = BNXT_IEEE_8021QAZ_MAX_TCS; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 944824a1c182..b89a44e4677b 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -79,6 +79,14 @@ long bnxt_rx_pkts_pri_arr_base_off[] = {BNXT_RX_STATS_PRI_ENTRIES(rx_packets)}; long bnxt_tx_bytes_pri_arr_base_off[] = {BNXT_TX_STATS_PRI_ENTRIES(tx_bytes)}; long bnxt_tx_pkts_pri_arr_base_off[] = {BNXT_TX_STATS_PRI_ENTRIES(tx_packets)}; +uint16_t bnxt_vf_req_snif[] = { + HWRM_FUNC_CFG, + HWRM_FUNC_VF_CFG, + HWRM_PORT_PHY_QCFG, + HWRM_CFA_L2_FILTER_ALLOC, + HWRM_OEM_CMD, +}; + static int bnxt_hwrm_err_map(uint16_t err) { @@ -757,9 +765,21 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt_softc *softc, bool all) hw_resc->max_stat_ctxs = le16toh(resp->max_stat_ctx); if (BNXT_CHIP_P5_PLUS(softc)) { - hw_resc->max_nqs = le16toh(resp->max_msix); + hw_resc->max_nqs = hw_resc->max_irqs = le16toh(resp->max_msix); hw_resc->max_hw_ring_grps = hw_resc->max_rx_rings; } + + if (BNXT_PF(softc)) { + struct bnxt_pf_info *pf = &softc->pf; + + pf->vf_resv_strategy = le16toh(resp->vf_reservation_strategy); + if (pf->vf_resv_strategy > BNXT_VF_RESV_STRATEGY_MINIMAL_STATIC) + pf->vf_resv_strategy = BNXT_VF_RESV_STRATEGY_MAXIMAL; + + if (resp->flags & + htole16(FUNC_RESOURCE_QCAPS_RESP_FLAGS_MIN_GUARANTEED)) + softc->fw_cap |= BNXT_FW_CAP_VF_RES_MIN_GUARANTEED; + } hwrm_func_resc_qcaps_exit: BNXT_HWRM_UNLOCK(softc); @@ -1054,6 +1074,26 @@ int bnxt_hwrm_func_drv_rgtr(struct bnxt_softc *bp, unsigned long *bmap, int bmap req.os_type = htole16(HWRM_FUNC_DRV_RGTR_INPUT_OS_TYPE_FREEBSD); if (BNXT_PF(bp)) { + u32 data[8]; + int i; + + memset(data, 0, sizeof(data)); + for (i = 0; i < ARRAY_SIZE(bnxt_vf_req_snif); i++) { + u16 cmd = bnxt_vf_req_snif[i]; + unsigned int bit, idx; + + if ((bp->fw_cap & BNXT_FW_CAP_LINK_ADMIN) && + (cmd == HWRM_PORT_PHY_QCFG)) + continue; + + idx = cmd / 32; + bit = cmd % 32; + data[idx] |= 1 << bit; + } + + for (i = 0; i < 8; i++) + req.vf_req_fwd[i] = cpu_to_le32(data[i]); + req.enables |= htole32(HWRM_FUNC_DRV_RGTR_INPUT_ENABLES_VF_REQ_FWD); } @@ -2299,25 +2339,63 @@ bnxt_hwrm_reserve_pf_rings(struct bnxt_softc *softc) return hwrm_send_message(softc, &req, sizeof(req)); } +#define BNXT_VF_MAX_L2_CTX 4 +int bnxt_hwrm_reserve_vf_rings(struct bnxt_softc *softc) +{ + struct hwrm_func_vf_cfg_input req = {0}; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_VF_CFG); + + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_RSSCOS_CTXS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_CMPL_RINGS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_TX_RINGS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_RX_RINGS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_VNICS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_STAT_CTXS); + req.enables |= htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_NUM_L2_CTXS); + req.num_rsscos_ctxs = htole16(0x8); + req.num_cmpl_rings = htole16(BNXT_MAX_NUM_QUEUES * 2); + req.num_tx_rings = htole16(BNXT_MAX_NUM_QUEUES); + req.num_rx_rings = htole16(BNXT_MAX_NUM_QUEUES); + req.num_vnics = htole16(BNXT_MAX_NUM_QUEUES); + req.num_stat_ctxs = htole16(BNXT_MAX_NUM_QUEUES * 2); + req.num_l2_ctxs = htole16(BNXT_VF_MAX_L2_CTX); + + return hwrm_send_message(softc, &req, sizeof(req)); +} + int bnxt_cfg_async_cr(struct bnxt_softc *softc) { int rc = 0; - struct hwrm_func_cfg_input req = {0}; - if (!BNXT_PF(softc)) - return 0; + if (BNXT_PF(softc)) { + struct hwrm_func_cfg_input req = {0}; - bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_CFG); + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_CFG); - req.fid = htole16(0xffff); - req.enables = htole32(HWRM_FUNC_CFG_INPUT_ENABLES_ASYNC_EVENT_CR); - if (BNXT_CHIP_P5_PLUS(softc)) - req.async_event_cr = htole16(softc->nq_rings[0].ring.phys_id); - else - req.async_event_cr = htole16(softc->def_cp_ring.ring.phys_id); + req.fid = htole16(0xffff); + req.enables = htole32(HWRM_FUNC_CFG_INPUT_ENABLES_ASYNC_EVENT_CR); + if (BNXT_CHIP_P5_PLUS(softc)) + req.async_event_cr = htole16(softc->nq_rings[0].ring.phys_id); + else + req.async_event_cr = htole16(softc->def_cp_ring.ring.phys_id); - rc = hwrm_send_message(softc, &req, sizeof(req)); + rc = hwrm_send_message(softc, &req, sizeof(req)); + } else { + /* VF needs to configure async event completion ring using HWRM_FUNC_VF_CFG */ + struct hwrm_func_vf_cfg_input req = {0}; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_VF_CFG); + + req.enables = htole32(HWRM_FUNC_VF_CFG_INPUT_ENABLES_ASYNC_EVENT_CR); + if (BNXT_CHIP_P5_PLUS(softc)) + req.async_event_cr = htole16(softc->nq_rings[0].ring.phys_id); + else + req.async_event_cr = htole16(softc->def_cp_ring.ring.phys_id); + + rc = hwrm_send_message(softc, &req, sizeof(req)); + } return rc; } @@ -2391,6 +2469,9 @@ bnxt_hwrm_nvm_find_dir_entry(struct bnxt_softc *softc, uint16_t type, (void *)softc->hwrm_cmd_resp.idi_vaddr; int rc = 0; uint32_t old_timeo; + + if (BNXT_VF(softc)) + return 0; MPASS(ordinal); diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.h b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.h index 126cad977c82..b10981d9d53f 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.h @@ -141,4 +141,5 @@ int bnxt_hwrm_passthrough(struct bnxt_softc *softc, void *req, uint32_t req_len, int _hwrm_send_message(struct bnxt_softc *, void *, uint32_t); int hwrm_send_message(struct bnxt_softc *, void *, uint32_t); void bnxt_hwrm_cmd_hdr_init(struct bnxt_softc *, void *, uint16_t); +int bnxt_hwrm_reserve_vf_rings (struct bnxt_softc *softc); #endif diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 51438e657546..741cba4588aa 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1219,10 +1219,11 @@ bnxt_create_ver_sysctls(struct bnxt_softc *softc) "chip_type", CTLFLAG_RD, vi->chip_type > MAX_CHIP_TYPE ? bnxt_chip_type[MAX_CHIP_TYPE] : bnxt_chip_type[vi->chip_type], 0, "RoCE firmware name"); - SYSCTL_ADD_PROC(&vi->ver_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, - "package_ver", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, - softc, 0, bnxt_package_ver_sysctl, "A", - "currently installed package version"); + if (!BNXT_VF(softc)) + SYSCTL_ADD_PROC(&vi->ver_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, + "package_ver", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + softc, 0, bnxt_package_ver_sysctl, "A", + "currently installed package version"); SYSCTL_ADD_PROC(&vi->ver_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "hwrm_min_ver", CTLTYPE_STRING | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, softc, 0, bnxt_hwrm_min_ver_sysctl, "A", diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index b48c28f002d8..80ca53db4782 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -2197,7 +2197,8 @@ static int bnxt_open(struct bnxt_softc *bp) } if (BNXT_CHIP_P5_PLUS(bp)) - bnxt_hwrm_reserve_pf_rings(bp); + bnxt_hwrm_reserve_rings(bp); + /* Get the current configuration of this function */ rc = bnxt_hwrm_func_qcfg(bp); if (rc) { @@ -2435,6 +2436,16 @@ static void bnxt_sp_task(struct work_struct *work) clear_bit(BNXT_STATE_IN_SP_TASK, &bp->state); } +int +bnxt_hwrm_reserve_rings(struct bnxt_softc *softc) +{ + if (BNXT_PF(softc)) + return bnxt_hwrm_reserve_pf_rings(softc); + + else + return bnxt_hwrm_reserve_vf_rings(softc); +} + /* Device setup and teardown */ static int bnxt_attach_pre(if_ctx_t ctx) @@ -2510,15 +2521,15 @@ bnxt_attach_pre(if_ctx_t ctx) goto ver_fail; } - /* Now perform a function reset */ - rc = bnxt_hwrm_func_reset(softc); - if ((softc->flags & BNXT_FLAG_SHORT_CMD) || softc->hwrm_max_ext_req_len > BNXT_HWRM_MAX_REQ_LEN) { rc = bnxt_alloc_hwrm_short_cmd_req(softc); if (rc) goto hwrm_short_cmd_alloc_fail; } + + /* Now perform a function reset */ + rc = bnxt_hwrm_func_reset(softc); if ((softc->ver_info->chip_num == BCM57508) || (softc->ver_info->chip_num == BCM57504) || @@ -2670,8 +2681,10 @@ bnxt_attach_pre(if_ctx_t ctx) /* Get the queue config */ bnxt_get_wol_settings(softc); + if (BNXT_CHIP_P5_PLUS(softc)) - bnxt_hwrm_reserve_pf_rings(softc); + bnxt_hwrm_reserve_rings(softc); + rc = bnxt_hwrm_func_qcfg(softc); if (rc) { device_printf(softc->dev, "attach: hwrm func qcfg failed\n"); From nobody Tue Apr 28 13:21:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4h0r5N1kz6bSYt for ; Tue, 28 Apr 2026 13:21:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4h0r3Rwhz4KXD for ; Tue, 28 Apr 2026 13:21:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777382508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxttkBXYkWalxtIi5DE0mxVxXHGf1VZ316xVX/Vuhcw=; b=ShnsvImPMnS6B8jayuCemgNZBYKrlNmIIWogEM36rfyZrqr3fue6BsmKHtiKaIdQfUfF3E 0HVJwJTXeOcgg9n1xvWUAoIcWNBuSy93X4uJ43pWYX04ADzvPP/TUf7/4XaQUdiCvvE1MK c82AHpArKk3AoPkGgGdNld+zNj99Q1eFeMUAbwMqo9DJPrmjhMAVPekZ6zMj4vYubBasIh kXpRHYgI6OogcCuoIK4ZyFMR9GwPDhlURnkiXGMKFzqepR6KBpOowu6OyexWvHkRfEVxHo ttrzvFIOz+V7pNR1ZCsGfIJDblZgIb+j8zObJ+nKnfuf1irG74jjrym2RqFZmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777382508; a=rsa-sha256; cv=none; b=axkFRYFDI862soquQFoJP1y5YrSeuJVhiUx4I1om4VdzYIjrgOh9CbimJovpj/IyVosu5i h1hJ5yaCTXGe5Ceek6V23hU1RM9v8R0XDkUjRo2EYFuq7k89WT3XKuw74w89sIQ083RDkT OC9SO7uD8Bn20XCFH9G9aGj3j8Z8YewBE/xrxQXA0k3lqs6lH3c2KKpLIASVt6MnPfCrdU xmFyr9VUYUK/lbvUYHxzOVFacpwYR+L69Ng4Z8tD5cMEmGW8ISjsbqEFXfDVA3Cyk6YBYy kmFQoUWjNExsDsQbDIFQIf144y1Lx3+MMltirhyPqMnHsA2M+FqvuZXL5MuYIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777382508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxttkBXYkWalxtIi5DE0mxVxXHGf1VZ316xVX/Vuhcw=; b=uI+RxuEJboQE4DTbTC7jNU8ZxFykS9idVLk5VG7Tbeux56n7dthGNKVWADSOXvHNIp6vUY aGDfs/wRJGnVxnYAvxU9lhcaFsJ5Do9nCPS0sAxb1vZiOpe4E+dGr/Eo9HHPG+kMxgEAeU 7WQuKYkl/YOYu4EWuMtaPA4rcAA06l7fBwbyR6NN9fvxM3L1PIVP7tvlnQ/7aDnhfjHUn7 B9gt6hESiLP8RTwCU7nkDv764zg5wNITL9ddu3oYd5FqVxjrCSw3xz/BFO72UVi4d4Pv2K YksgKhacP6OeXCNCH6E3LJBNTJ39G2IXLYtiqYS3RtbV0GVnT7pc14PwMZ00Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4h0r2zY0zvJx for ; Tue, 28 Apr 2026 13:21:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33615 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 13:21:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Tuukka Pasanen From: Ed Maste Subject: git: d5a896bfc209 - stable/15 - caesar: Add SPDX-License-Identifier tags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d5a896bfc2092b39e72d799059322dd32b52ad17 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 13:21:43 +0000 Message-Id: <69f0b467.33615.68705159@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d5a896bfc2092b39e72d799059322dd32b52ad17 commit d5a896bfc2092b39e72d799059322dd32b52ad17 Author: Tuukka Pasanen AuthorDate: 2026-04-21 14:43:35 +0000 Commit: Ed Maste CommitDate: 2026-04-28 13:21:29 +0000 caesar: Add SPDX-License-Identifier tags Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55461 (cherry picked from commit 3cc113c94fb9635ba9f11f5dd797530b9231ca58) --- usr.bin/caesar/caesar.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/caesar/caesar.c b/usr.bin/caesar/caesar.c index 011f9c8e0630..0717f2637646 100644 --- a/usr.bin/caesar/caesar.c +++ b/usr.bin/caesar/caesar.c @@ -1,4 +1,6 @@ /* + * SPDX-License-Identifier: BSD-3-Clause + * * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * From nobody Tue Apr 28 13:31:19 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hCw70xQz6bTNG for ; Tue, 28 Apr 2026 13:31: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 4g4hCw4pcVz4LFc for ; Tue, 28 Apr 2026 13:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777383084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfAAQ3HdH74QyA43KYSrR3l/0cKAGDELre68ZfCDWi8=; b=T+3gl7adic4YpAtEsbIZ4Zbb3Yh6853o+QA2xuhy7BIEMurzwjSa1VA+0+802g6czB41V8 2XaeFJz3G9aXu/HrKZzmGXllm1NLkc83Vm3M9RplVnCATff3/7EZ4yF6sWoKVPC6mz5F6S e2Ju0e5PGJOEx6JN+/h2e9O73530yrP8u2YJIDL5jv5ftCGNkUnSZGm44sKlBwT/KI/5hQ 8xtdDxhk4US9Cibr9GZOp759yiXfhUmhqcbECVq1IKvPfd+9vVT5tUU+0nTK8bhd+XnN7I KXqJ6/AATAshvLODcT7hjleng8QKYV/UKk8HHS/JF/NZEmW1uB6YRiK8S2g6CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777383084; a=rsa-sha256; cv=none; b=AIAgm6RoyUnRJDXtMbDnloo/pn2bTAYbmpBZlXnAlkOwSw5+l8O5CoDostjlUj98qDSkgL IKWI48ZFR7wtagu8PhS/lXMqtL4Svj+rQIOIzv9SKe9FIo621HT3P4UyPqDaE+1tIJh98L b+Mrx3beZKEOA9wqIyK+g3e55JNkJBl/X0NBQxU+TJTcTSKO0ytS1jwMfvpF89qm4sBm9K 8QKv9lL4toqPsjAVeB5BmC/bQ6eJDX9cQsxpwp7othhSTuAiq0jUdXXeD5aUHDr5Wz3GsK aoKIaWMppnQsfESgql1R5uW7SIqN5wX5fYxzrh/cil6aOI+fM/FW17ZMw8Asaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777383084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfAAQ3HdH74QyA43KYSrR3l/0cKAGDELre68ZfCDWi8=; b=gbwcQ/XoLF3jvx8jclefpwBYj+DFpuXEtEfu2FiwUmV86LZtCfDCzByrpOOq7+fd+ipsbR E2j+lImKCergSs9URdMRBIHyVKSrDLiVyQCgaOXD0Bi6hiMxhxiRplGk3GL4MakgT27UQo 88Eko8DTwl5xQBzbh7Y1QPGOTJG/viEk+Kf1iyn4049+Oszyr5XCHGEanwfS6Yo1dz5Bjg iCalWcASRk+Fi8DJPZWRNaarsuaOR7BNtgytArez8F9fKLIlbam0tafIbT/BZwmyK691z6 WTg7WqvOodT3R4LxtAOpL9uOe3Zm4eCrndGTxpqnTtEokLZ7ok4moMXcKSHFlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hCw3m1FzvpC for ; Tue, 28 Apr 2026 13:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34ad0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 13:31:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: bea1c2fcd783 - main - pf: improve ASCONF chunk validation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bea1c2fcd7839fd90a8ce96d6dc6a033779bc3c2 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 13:31:19 +0000 Message-Id: <69f0b6a7.34ad0.5db46cc7@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=bea1c2fcd7839fd90a8ce96d6dc6a033779bc3c2 commit bea1c2fcd7839fd90a8ce96d6dc6a033779bc3c2 Author: Kristof Provost AuthorDate: 2026-04-28 08:54:24 +0000 Commit: Kristof Provost CommitDate: 2026-04-28 12:00:35 +0000 pf: improve ASCONF chunk validation When processing an ASCONF chunk we failed to verify that the chunk length was at least 8 bytes. As a result we might end up passing a negative length to pf_multihome_scan(). Fortunately this merely meant the function did nothing, but we should discard such invalid packets, so explicitly check for this. MFC after: 1 week Reported by: Mark Johnston Sponsored by: Orange Business Services --- sys/netpfil/pf/pf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index dea40816e30f..53f74271e268 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8462,6 +8462,9 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) NULL, pd->af)) return (PF_DROP); + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, SCTP_ADD_IP_ADDRESS); @@ -8476,6 +8479,10 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) if (!pf_pull_hdr(pd->m, start + off, &ah, sizeof(ah), NULL, pd->af)) return (PF_DROP); + + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, SCTP_DEL_IP_ADDRESS); From nobody Tue Apr 28 13:54:05 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hkB4mG5z6bVsL for ; Tue, 28 Apr 2026 13:54: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 4g4hkB4Hk1z4MnM for ; Tue, 28 Apr 2026 13:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9sp4wEbzD44VGdh3KIr5j/+YDrNBnKZJ57wWRRNHfa4=; b=G14F9zDXmz8T9UxhHq82nu+yNc/SzA3nBfix5O/yFoet3ZbxxEWPqYbxmzgvuQdkIjLM74 2E66x5DfX5DVI68YmAIJMYRof47jJBmiHmnkBQBPhGTG0R9ieFNNzQ9bgVkqhsf9kc7MHm /KQIkYVdNuq/zbbMQVPWcRibIQWBMXbhmOWJkldSKyVogslxuf++lvcmnjAE9XeG5foq8T dpm0/IaFFOCagPMp2wz3cVEeUy5Q4yahmaPv/+zxlSdh1rDj7Jq92DKZZ+rny2ojHq2s4r wM4NlDn+T17ePCbgElSOEwT/cbFiS20zMyy5T+OzUFXDA8VDmWn98lmWbWxSBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777384450; a=rsa-sha256; cv=none; b=ItLKaX/1AXRIAWQD6ods1ZIbsXezKnr6ygGCJXF/Pto5lB+r+Lh9/A9kkHD4wwmiKMfnw5 PZFRaIl/WfvzdCMZD77ZWPP5wz1zhcJKcilGYsARtzrXS9MJJnF5MUtX8Vg16nS4+yGtdo WdfRwYYmmaHLrKQqjCvtPGrVIonV1DKodWODvAKH4mbWqYb1hfgUKVFAwp0Vbwoe2GqY/0 JN+H3YdVofhafnLByUp0JJzcvEAD1U6R26H01HScGMBG0IjQB3Sy7UwdfSlcj7+SqlRBzF Rd0cyF8LV0uO3RQvByEH1G5UuezafCWNMtYjWCIolmcI5RlwxUZzJkqv1+VRxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9sp4wEbzD44VGdh3KIr5j/+YDrNBnKZJ57wWRRNHfa4=; b=wOxMUdey132aoHg4jqcII/h03RzHQsGVZBgKKjLrPvCdppVpbhRmxd22av4GQFHDE0m39K a9wSSoaK7q9OPadk9nK0nSZsaPqeHE9I/tt4b7e9oRZ6c+8J+GkFMUpd4tbMz5xQkDlEY0 VGZ9FCyZNkn5cyeE9zPof/gFxOs7B+XTDBsT2SHVVeH1nmwYwV/YBp4CQNa2f4KhRX9J8h fXH5A3F+TyRe+5bUAv91QZR3XPaGWX+AwXi8pFvH53oenfA8Gmxcconu1eSuQV4Qax95YR sByGvZ0GOdKBq9y/2wXBawh2Zi/Q8smj2SnuIrHOazLZlWhLv1PZySG8jrscvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hkB3m1Qzwpj for ; Tue, 28 Apr 2026 13:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36549 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 13:54:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: e09104dfb76a - main - groups.7: New manual page of standard group names List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e09104dfb76a36b65a64bd315bd1520941c4beed Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 13:54:05 +0000 Message-Id: <69f0bbfd.36549.5468fcc9@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=e09104dfb76a36b65a64bd315bd1520941c4beed commit e09104dfb76a36b65a64bd315bd1520941c4beed Author: Artem Bunichev AuthorDate: 2026-04-28 13:48:52 +0000 Commit: Alexander Ziaee CommitDate: 2026-04-28 13:53:39 +0000 groups.7: New manual page of standard group names Import groups(7) from NetBSD, with tweaks for our system. The group list is sorted by GID. All the group names from /usr/src/etc/group are described, except "uucp". The FILES section was added on top of the original manual page. PR: 264966 Relnotes: yes MFC after: 3 days Obtained from: NetBSD Reviewed by: des, ziaee Differential Revision: https://reviews.freebsd.org/D54114 --- share/man/man5/group.5 | 3 +- share/man/man5/passwd.5 | 3 +- share/man/man7/Makefile | 2 + share/man/man7/groups.7 | 345 +++++++++++++++++++++++++++++++++++++++++++++ usr.bin/id/groups.1 | 5 +- usr.bin/id/id.1 | 5 +- usr.bin/newgrp/newgrp.1 | 5 +- usr.sbin/adduser/adduser.8 | 3 +- usr.sbin/chkgrp/chkgrp.8 | 5 +- usr.sbin/chown/chgrp.1 | 3 +- usr.sbin/chown/chown.8 | 3 +- usr.sbin/pw/pw.8 | 3 +- 12 files changed, 371 insertions(+), 14 deletions(-) diff --git a/share/man/man5/group.5 b/share/man/man5/group.5 index 8f7c59c59d52..ba26a7114ac0 100644 --- a/share/man/man5/group.5 +++ b/share/man/man5/group.5 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 29, 2025 +.Dd April 19, 2026 .Dt GROUP 5 .Os .Sh NAME @@ -152,6 +152,7 @@ may still have this limit. .Xr initgroups 3 , .Xr nsswitch.conf 5 , .Xr passwd 5 , +.Xr groups 7 , .Xr chkgrp 8 , .Xr pw 8 , .Xr yp 8 diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index b1d9e362492c..56dbabfe901e 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 16, 2023 +.Dd April 19, 2026 .Dt PASSWD 5 .Os .Sh NAME @@ -425,6 +425,7 @@ BEGIN { FS = ":"} .Xr login.conf 5 , .Xr netgroup 5 , .Xr nsswitch.conf 5 , +.Xr groups 7 , .Xr adduser 8 , .Xr nologin 8 , .Xr pw 8 , diff --git a/share/man/man7/Makefile b/share/man/man7/Makefile index 6a426cc29b15..6fd32da900e1 100644 --- a/share/man/man7/Makefile +++ b/share/man/man7/Makefile @@ -14,6 +14,7 @@ MAN= arch.7 \ development.7 \ environ.7 \ firewall.7 \ + groups.7 \ growfs.7 \ hier.7 \ hostname.7 \ @@ -50,6 +51,7 @@ MLINKS+= c.7 c11.7 MLINKS+= c.7 c17.7 MLINKS+= c.7 c23.7 MLINKS+= c.7 c2y.7 +MLINKS+= groups.7 wheel.7 .if ${MK_INET} != "no" MAN+= networking.7 diff --git a/share/man/man7/groups.7 b/share/man/man7/groups.7 new file mode 100644 index 000000000000..822717d68983 --- /dev/null +++ b/share/man/man7/groups.7 @@ -0,0 +1,345 @@ +.\" $NetBSD: groups.7,v 1.8 2020/04/02 20:57:20 roy Exp $ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2020 The NetBSD Foundation, Inc. +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 19, 2026 +.Dt GROUPS 7 +.Os +.Sh NAME +.Nm groups +.Nd standard group names +.Sh DESCRIPTION +A standard +.Fx +installation has the following user group names: +.Bl -tag -width "realtime" +.It Em wheel +Users authorized to elevate themselves to the super-user privileges of +the root user, meaning uid\~0. +Normally the +.Em wheel +group has gid\~0. +.Pp +Users who are not in the group +.Em wheel +are never allowed by +.Xr su 1 +to gain root privileges. +.It Em daemon +Used by the set-group-id programs +.Xr lpr 1 +and +.Xr rwho 1 . +.It Em kmem +Used by the set-group-id programs (like +.Xr ktrdump 8 ) +that need to access kernel memory +.Po Pa /dev/mem +and +.Pa /dev/kmem +are in the group +.Em kmem +.Pc . +See +.Xr mem 4 . +.It Em sys +Historic group. +Unused in modern +.Fx . +.It Em tty +Used by the set-group-id programs +.Xr wall 1 +and +.Xr write 1 +to allow users to send messages to another tty even if they don't own +it (static tty device nodes +.Pa /dev/pts/* +are all in the group +.Em tty ) . +See +.Xr tty 4 . +.It Em operator +Users authorized to take backups of disk devices and shut down the +machine. +.Pp +The disk device nodes +(such as +.Pa /dev/ada0 ) +are in the group +.Em operator +and group-readable so users in the group can read from disk devices, +for example with +.Xr dump 8 . +The tape device nodes +(such as +.Pa /dev/sa0 ) +are in the group +.Em operator +and are both group-readable and group-writable so users in the group +can write to tape devices. +.Pp +The +.Xr shutdown 8 +program is executable only by root and members of the +.Em operator +group. +.It Em mail +Used by mail agents (like +.Xr dma 8 ) . +.Pp +By default, root mail +.Pq Pa /var/mail/root +is in the +.Em mail +group. +.It Em bin +Historic group. +Unused in modern +.Fx . +.It Em news +Historic group. +Unused in modern +.Fx . +.It Em man +Historic group; used to be used for managing manual pages (see +.Xr man 1 ) . +.It Em games +Used by various set-group-id games to maintain high-scores files +and other common files in +.Pa /var/games . +The members of this group are also allowed to access +.Pa /dev/input/event* +device nodes (see +.Xr hgame 4 ) . +See also +.Xr intro 6 . +.It Em ftp +Used to be used by +.Xr sysinstall 8 +(which is now replaced with +.Xr bsdinstall 8 ) +for setting up anonymous FTP. +Unused in modern +.Fx . +.It Em staff +Staff users, in contrast to guest users (see +.Em guest +group). +Not used by +.Fx ; +available for the administrator's interpretation. +See +.Xr security 7 +for some recommendations on managing accounts in +.Em staff +group. +.It Em sshd +Primary group for the +.Em sshd +pseudo-user used by the +.Xr sshd 8 +secure shell daemon. +.It Em smmsp +Primary group for user +.Em smmsp , +which is used by +.Xr sendmail 8 +if no non-root users were configured for running it. +.Pp +The name of the group means "SendMail Message Submission Program". +.It Em mailnull +Used by electronic mail transport agent +.Xr sendmail 8 +as group for its default user +.Em mailnull . +.It Em guest +Guest users, in contrast to staff users (see +.Em staff +group). +Not used by +.Fx ; +available for the administrator's interpretation. +.It Em video +Used for access to +.Pa /dev/drm/* +devices, which are used for GPU hardware acceleration. +See +.Xr drm 7 . +.It Em realtime +Used by +.Xr mac_priotiry 4 +to allow members of this group to run threads and processes with +realtime scheduling priority. +See also +.Xr rtprio 1 . +.It Em idletime +Used by +.Xr mac_priority 4 +to allow members of this group to run processes with idle scheduling +priority. +See also +.Xr idprio 1 . +.It Em bind +Used to be used as primary group for the +.Em bind +pseudo-user used by +.Xr named 8 +Internet domain name server, which has been removed from the base system in +.Fx 10.0 . +.It Em unbound +Primary group for the +.Em unbound +pseudo-user used by the +.Xr local-unbound 8 +recursive DNS resolver. +.It Em proxy +Primary group for the +.Em proxy +pseudo-user used by the +.Xr ftp-proxy 8 +proxy daemon with packet filters such as +.Xr pf 4 . +.It Em authpf +Used by the set-group-id program +.Xr authpf 8 +to configure authenticated gateways. +.It Em _pflogd +Primary group for the +.Em _pflogd +pseudo-user used by the +.Xr pflogd 8 +log daemon with the +.Xr pf 4 +packet filter. +.It Em _dhcp +Primary group for the +.Em _dhcp +pseudo-user used by the +.Xr dhclient 8 +DHCP Client. +.It Em dialer +Users authorized to make outgoing modem calls (see +.Xr cu 1 +and +.Pa /dev/cuauN +devices). +.It Em network +Historic group. +Unused in modern +.Fx . +.It Em audit +Primary group for the +.Em auditdistd +pseudo-user used by +.Xr auditd 8 +and +.Xr auditdistd 8 +audit daemons. +.It Em www +Historic group for accessing World Wide Web. +Unused in modern +.Fx . +.It Em u2f +Used for users who need to access +.Pa /dev/u2f/* +devices (see +.Xr u2f 4 ) . +.It Em ntpd +Primary group for the +.Em ntpd +pseudo-user used by the +.Xr ntpd 8 +network time protocol daemon. +.It Em _ypldap +Primary group for the +.Em _ypldap +pseudo-user used by +.Xr ypldap 8 +daemon. +.It Em hast +Primary group for the +.Em hast +pseudo-user used by +Highly Available Storage daemon +.Xr hastd 8 . +.It Em tests +Primary group for the +.Em tests +pseudo-user used by +automatic tests that request to run unprivileged. +See +.Xr tests 7 . +.It Em nogroup +Pseudo-group (fake group). +It differs from group +.Em nobody +in way that +.Em nogroup +doesn't have a dedicated user for it. +For instance, this group is used for users +.Em tty +and +.Em kmem . +.It Em nobody +Primary group for the traditional +.Em nobody +pseudo-user. +Modern practice is to assign to each different daemon its own separate +pseudo-user account and group so that if one daemon is compromised it +does not compromise all the other daemons. +.Pp +See also group +.Em nogroup . +.El +.Sh FILES +.Bl -tag -width "/usr/src/etc/group" -compact +.It Pa /etc/group +Main group permissions file. +.It Pa /usr/src/etc/group +Group permissions file for the base system. +.It Pa /usr/ports/GIDs +A list of GIDs (group IDs) reserved for ports (see +.Xr ports 7 ) . +.El +.Pp +See +.Xr group 5 +for the format of abovementioned files. +.Sh SEE ALSO +.Xr chgrp 1 , +.Xr groups 1 , +.Xr id 1 , +.Xr newgrp 1 , +.Xr group 5 , +.Xr pw 8 +.Sh HISTORY +The +.Nm +manual page appeared in +.Nx 10.0 +and +.Fx 15.1 . diff --git a/usr.bin/id/groups.1 b/usr.bin/id/groups.1 index 1a6b4f769b05..38e7f05d6c7b 100644 --- a/usr.bin/id/groups.1 +++ b/usr.bin/id/groups.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 6, 1993 +.Dd April 19, 2026 .Dt GROUPS 1 .Os .Sh NAME @@ -59,4 +59,5 @@ $ groups root wheel operator .Ed .Sh SEE ALSO -.Xr id 1 +.Xr id 1 , +.Xr groups 7 diff --git a/usr.bin/id/id.1 b/usr.bin/id/id.1 index 62c941f84798..e92daee39cb0 100644 --- a/usr.bin/id/id.1 +++ b/usr.bin/id/id.1 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 23, 2025 +.Dd April 19, 2026 .Dt ID 1 .Os .Sh NAME @@ -180,7 +180,8 @@ bob pts/5 Dec 4 19:51 .Ed .Sh SEE ALSO .Xr groups 1 , -.Xr who 1 +.Xr who 1 , +.Xr groups 7 .Sh STANDARDS The .Nm diff --git a/usr.bin/newgrp/newgrp.1 b/usr.bin/newgrp/newgrp.1 index 032aeb72616d..4c134708b147 100644 --- a/usr.bin/newgrp/newgrp.1 +++ b/usr.bin/newgrp/newgrp.1 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 6, 2025 +.Dd April 19, 2026 .Dt NEWGRP 1 .Os .Sh NAME @@ -91,7 +91,8 @@ As a non-root user, switch to the group: .Xr umask 1 , .Xr group 5 , .Xr passwd 5 , -.Xr environ 7 +.Xr environ 7 , +.Xr groups 7 .Sh STANDARDS The .Nm diff --git a/usr.sbin/adduser/adduser.8 b/usr.sbin/adduser/adduser.8 index eacc12a8f3ce..651e0ac91809 100644 --- a/usr.sbin/adduser/adduser.8 +++ b/usr.sbin/adduser/adduser.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 1, 2024 +.Dd April 19, 2026 .Dt ADDUSER 8 .Os .Sh NAME @@ -445,6 +445,7 @@ logfile for .Xr login.conf 5 , .Xr passwd 5 , .Xr shells 5 , +.Xr groups 7 , .Xr pw 8 , .Xr pwd_mkdb 8 , .Xr rmuser 8 , diff --git a/usr.sbin/chkgrp/chkgrp.8 b/usr.sbin/chkgrp/chkgrp.8 index 3837e5fe6803..95dc272fb2db 100644 --- a/usr.sbin/chkgrp/chkgrp.8 +++ b/usr.sbin/chkgrp/chkgrp.8 @@ -24,7 +24,7 @@ .\" (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 May 26, 2005 +.Dd April 19, 2026 .Dt CHKGRP 8 .Os .Sh NAME @@ -73,7 +73,8 @@ will print an error message containing the name of the file being scanned and the line number on which the error was found. .Sh SEE ALSO .Xr getgrent 3 , -.Xr group 5 +.Xr group 5 , +.Xr groups 7 .Sh HISTORY The .Nm diff --git a/usr.sbin/chown/chgrp.1 b/usr.sbin/chown/chgrp.1 index f05c81e4bae7..95ca2b3bfd27 100644 --- a/usr.sbin/chown/chgrp.1 +++ b/usr.sbin/chown/chgrp.1 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 7, 2017 +.Dd April 19, 2026 .Dt CHGRP 1 .Os .Sh NAME @@ -148,6 +148,7 @@ options are non-standard and their use in scripts is not recommended. .Xr fts 3 , .Xr group 5 , .Xr passwd 5 , +.Xr groups 7 , .Xr symlink 7 , .Xr chown 8 .Sh STANDARDS diff --git a/usr.sbin/chown/chown.8 b/usr.sbin/chown/chown.8 index 9f4cfafb6852..6c62f3267882 100644 --- a/usr.sbin/chown/chown.8 +++ b/usr.sbin/chown/chown.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 24, 2022 +.Dd April 19, 2026 .Dt CHOWN 8 .Os .Sh NAME @@ -166,6 +166,7 @@ options are non-standard and their use in scripts is not recommended. .Xr find 1 , .Xr chown 2 , .Xr fts 3 , +.Xr groups 7 , .Xr symlink 7 .Sh STANDARDS The diff --git a/usr.sbin/pw/pw.8 b/usr.sbin/pw/pw.8 index 91d746e90c02..1498f76fd9c5 100644 --- a/usr.sbin/pw/pw.8 +++ b/usr.sbin/pw/pw.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 11, 2026 +.Dd April 19, 2026 .Dt PW 8 .Os .Sh NAME @@ -1104,6 +1104,7 @@ No base home directory configured. .Xr login.conf 5 , .Xr passwd 5 , .Xr pw.conf 5 , +.Xr groups 7 , .Xr pwd_mkdb 8 , .Xr vipw 8 , .Xr zfs 8 From nobody Tue Apr 28 13:57:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hns1J1Wz6bWPT for ; Tue, 28 Apr 2026 13:57: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 4g4hnr7400z4P4F for ; Tue, 28 Apr 2026 13:57:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KYn+sIZIbT+KSCZBmEWMJGwtFNuYRSE52n2vpdhu8/I=; b=IEG+c9ndzN7zCHt9Tw48G7vqkxWhU9JnQAYTBb8+fp2bPIUAr0YYUDKrHywHf8xWghJZWb 2eBqluEq/5w8zlo9RUAs5KIrH8CTenYuaj9z/12Jx9HI/u0vPrnoZ1uBET44RztFztv/uo w9bDZL/WVDPTOrnKW6nlvyVF24P6qlsRZ9WTzxfExK/RxhK461Nhb2gutT/4CjT2LfxVCR RsEAGIFcZfBozznM1keAYLweujmm7sRb6VZoJLokuR6mjWnx41z1qA4yqN0lhY+Vu1APwS aEePYzjkG37Ctr/J5LQmN869ScjTXqf3ddO37Az0wkOkLHz479TvlFfUUMVAAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777384641; a=rsa-sha256; cv=none; b=GWbxWOoH3pUZ+5riog0YsugjqhsirXqmNj2NvEztDHjCwyX8azIMohR76nXNjfdyvr3uqC SmeglNeit7++PV5DmV+CT4xXUgaYPEN8LDdi1tDocTn8PDnJQBHc/ErYeYoyyxNo+rHmhW ZjvXP1Warb8tBrk7REdDcLmjkcD7e4P99gFYf7elXgdQ58gaiL8QTkW6pnFvIS5QX7J95U 1cVgjXXS14w49CCZklHzy+lYQkK6i8FaXRkGTmcfLrj4jCEmd3rcgZL8vAxQO4hLwFvcOu FY9YIBrhjEUmea/+cMBfr/dTBvxoyirEwE81tkiDdbtKWNmu5dlxi59+KQDXqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KYn+sIZIbT+KSCZBmEWMJGwtFNuYRSE52n2vpdhu8/I=; b=cRREdg1Q9R7vnQXi6mV/Y2P4hsCEk9X6fbhUpSv/h9PO304blnOyyvgJFAB14yzy2v9ud7 oGc/dwomx6VlE9E5ATaXJF8GQtYql3560UNP/WkjUigmFHERqcj6ms20LgYaiyb1HdWOFL uN2BmH4srp3tRTWTory87zWm1iAHFhN613FGNseep9BXB7JWI51aKSeGSetpEUT+4jIcBK kkDy3z4Iao8fpdz6kHsBQzSOBkB/WuziTx/SAoPR0LpHCZE2wjzzWuk/DG3zdLUbYgQOIS mUwsSDTVhHhRc1nYULFvIi8iW3on64b6+sjCKOr8otCX1YwxRLs1AjmSiIGNkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hnr6dkfzwpl for ; Tue, 28 Apr 2026 13:57:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36af6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 13:57:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 0f91468c040e - main - intro.7: Reference groups.7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f91468c040eb2129618e5ac251afc2529edb462 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 13:57:15 +0000 Message-Id: <69f0bcbb.36af6.5f38c816@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0f91468c040eb2129618e5ac251afc2529edb462 commit 0f91468c040eb2129618e5ac251afc2529edb462 Author: Alexander Ziaee AuthorDate: 2026-04-28 13:56:23 +0000 Commit: Alexander Ziaee CommitDate: 2026-04-28 13:56:49 +0000 intro.7: Reference groups.7 PR: 264966 MFC after: 3 days --- share/man/man7/intro.7 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/man/man7/intro.7 b/share/man/man7/intro.7 index 43e48de87bc5..62d56b09d9fc 100644 --- a/share/man/man7/intro.7 +++ b/share/man/man7/intro.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 14, 2025 +.Dd April 28, 2026 .Dt INTRO 7 .Os .Sh NAME @@ -60,6 +60,8 @@ user environment .It Xr firewall 7 simple firewalls under .Fx +.It Xr groups 7 +standard user group names .It Xr hier 7 file system hierarchy in .Fx From nobody Tue Apr 28 14:04:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hy72T6Cz6bWZ5; Tue, 28 Apr 2026 14:04:31 +0000 (UTC) (envelope-from ivy@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 4g4hy7205pz4Pxy; Tue, 28 Apr 2026 14:04:31 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=K9kqimo07n6EpYlxwHjxvt05xMX7qENe3/NPRnf44ZA=; b=dj9INieVANFYUFIm7JELlQLl5UevhbE3KvSRK0jSF3yowyB+5UwsDjCaGnDf7RDjLXtU3m +hcvP84DYYDPIyaOnZroL4518U77vdoC8IDqZCHclUhqYAng0vDz8+2P5llRofcmOxdYpn yR2HC7MRAFbnJ+DT7RTXfh5pqMxavbLaYanNxuZoE5FmkiUDE/0MLkjyNHUiTwJOGkx5HD R5yQfMsD3MbcR+5GnOS38NPFJYR9UcxOpEoNyR7hYbflrzvmVEthvDY2Aaqonfp8dA48gm QsY0SMctfPMpm3OnKD2yH1jVltPk1izO7HD3W5SMfhCdEPFkmrtFY4rWf5594w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777385071; a=rsa-sha256; cv=none; b=vY5U2xpBJqtBsAk+CasxkCD7R0soJfuw0sM96lW7094pXpMNcto60ap6JNXdCDmCkJ2VtU sPSwlEvbcqisUYFxuuNsdVr+f/N5mRNZV7U/OMDLaLdBLfgJvEsYdSXCVOnREuIvPbgojX AoOH9dzoRSdseXP3dzpv39hh1Mmk7tXEMQ0Gwisd0pCa6Ewr8TC7afQQ4HN7E905Klfr5E Wj1gvQ4tLfmfMVawP2mKHGaSmBrFdZ0OR1MVbE+n1KhhgGcjlvUjH9ZoWSa5shm2dSQEmw gJ82koaCjoUzSlG8J4n3ayLNxqdC7haxa8E5ahRevyVjs5INrerdx6uDqFVlxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=K9kqimo07n6EpYlxwHjxvt05xMX7qENe3/NPRnf44ZA=; b=XmnRAdbWrcvXsJrXL7f2azppWTdb5Gj+r5WOmJWt53BMaiubfVhBasNQ0SouZCDyOg0ML3 leZzZ93RPbfX83+P3KrmZrFkV/tWYfmKAXrb4YH+c7BfwWd0MrhNK5Z3EVIgY5dvYuGqjG c1igBAeE1quSNpAwEIR/w9xWJZWLusSucoEC7sZcItotci2dYTT1tCB9CgLgphv/fVkCjE ZKDkNxek8eP6FLPCiFW2EfpcTgfzm4m0AC8UgnnCbkYAYPSb3laC/qxF2e4BqOt7EYLX1v /wCySfE6zN3ql2a9IOymAztytipDPylbMYxjTsvZHze5OEDVcRMnZZYn6kC57A== Received: from amaryllis.le-fay.org (amaryllis.le-fay.org [IPv6:2a00:1098:6b:400::9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g4hy64GhCzLKv; Tue, 28 Apr 2026 14:04:30 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Tue, 28 Apr 2026 15:04:29 +0100 From: Lexi Winter To: Sumit Saxena Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Chandrakanth Patil Subject: Re: git: f2f831b2c151 - main - bnxt_en: Add core SR-IOV infrastructure Message-ID: Mail-Followup-To: Sumit Saxena , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Chandrakanth Patil References: <69f0576a.31521.3b0166c9@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="jvHnnvrifCpIVegk" Content-Disposition: inline In-Reply-To: <69f0576a.31521.3b0166c9@gitrepo.freebsd.org> --jvHnnvrifCpIVegk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline hello, Sumit Saxena wrote in <69f0576a.31521.3b0166c9@gitrepo.freebsd.org>: > bnxt_en: Add core SR-IOV infrastructure this seems to have broken the LINT build on amd64 and arm64: --- kernel --- ld.lld: error: undefined symbol: bnxt_sriov_attach >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_attach_post) ld.lld: error: undefined symbol: bnxt_update_vf_mac >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_init) ld.lld: error: undefined symbol: bnxt_promisc_ok >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_promisc_set) ld.lld: error: undefined symbol: bnxt_hwrm_exec_fwd_req >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_sp_task) ld.lld: error: undefined symbol: bnxt_reenable_sriov >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_fw_reset_task) ld.lld: error: undefined symbol: bnxt_iov_init >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_iflib_methods) ld.lld: error: undefined symbol: bnxt_iov_uninit >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_iflib_methods) ld.lld: error: undefined symbol: bnxt_iov_vf_add >>> referenced by if_bnxt.c >>> if_bnxt.o:(bnxt_iflib_methods) --jvHnnvrifCpIVegk Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCafC+agAKCRD1nT63mIK/ YBJFAP4vmkeaYVlore7As/ifZ3pEBzuf0DKO6PZlGKjNMWQMcgD/QySIZH4vrOTw BApbpBVbb0TQDUNVLpjvQlzoYj/Ruw4= =mLcg -----END PGP SIGNATURE----- --jvHnnvrifCpIVegk-- From nobody Tue Apr 28 14:05:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hzj23rWz6bWmS for ; Tue, 28 Apr 2026 14:05: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 4g4hzh6Bc2z3BsM for ; Tue, 28 Apr 2026 14:05:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29jwebHs+sZh0zHp/tPVT6PyNH2tl22MCjRFmGMU2e4=; b=kXBjJS8IG8KRNsqUoMR2bHsxGskEvHvAYLAjE+1MpXD1toDYnYDGk+b9Did+8RYmEdJ5gu hI3cgPl/iu5CMq139qg6PPObipPkRNleyZ/1nUlDI2jMqIro4oGK7IK7t4V4/PlvQnrlBU /eXDbCoEuGXzVyrTfqPcn7Zx2NiKbUjOHN1bCEPBdrall3/31qoxrip3KI3SK9DGtdKzJF U0Ylw31z6YevHq4R8/wFG7znJXm7CxRKDzO8xxf5yyGYK69rN0xZ88FmjjysZWwZlgUQ1E 8kfyj8UvX3Cm8HoxRT2MdoYiE6m3lthHr40kjT5YVlrbf+OSQEpN8PLWkRJUcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777385152; a=rsa-sha256; cv=none; b=rv3FG+wE2L9zUavjuQM07ixj7S+3W4wJbzzuuxI6cE8GWCzbPmrHleZxeGDkYFxDM08q3o h7gwt7Ze+UD/aOWMPiLf4tlINoTgM+lY+NeRVK/496/Yth2CJGHsyrRYi1MRoU/fXwi+LJ EqtDfpWLf7kgGn/RH/2Gh+qytXVoTZbHF0EnW8Ur4VMV6du9mfX2j30T8/Vmyc2OP2BgCY XljaWJZ3kwUcsnUY1G8c3e00EBdJHDZC6B+satotdVuGSgQFBO7IRC1he0CTa5886Hc1fq 8OFXb0a2R6JIcZ/8pRpZ4wjHI4fVffbw8VTl4KKDBQGJAb2fCTJ2Z5HdYT8mFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29jwebHs+sZh0zHp/tPVT6PyNH2tl22MCjRFmGMU2e4=; b=ZKiNktC8z3xCv2ehT/D2NT4X73qvZir66oNJhUgCeZRC81rjdsyoJx02H8mJPKnNMt/2a4 JStLwy4mDEY54JxXMXty/umGU2AG1sAoRPwwzrDF0UJILyfTCcZIeTEtYfvTB5kUAfFN1z VZcbEw+uKWvgEJtcDqO0N97ltNdBo+1LVzWRvzZDp0fW+4Zjt+TtCXzgLeBf89elJRk8Up 0rAj+bK0GpkOto1Kvez9lndhNPrQLZYZ0b3NJ/pGZgSpBBRLyD04UMBqpusKR+pIr5rCqf InYkYLn7t7PIv6b8tEfYqTFOoy264l3WT2ttvYiMlFm+nHDOzzUTkP4vkbtpKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hzh5XJDzx2Q for ; Tue, 28 Apr 2026 14:05:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 387d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 14:05:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 448ec129bcef - main - git-arc: Add a create-draft mode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 448ec129bcef6bf147b76956ec588e357a21d310 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 14:05:47 +0000 Message-Id: <69f0bebb.387d2.2325bf33@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=448ec129bcef6bf147b76956ec588e357a21d310 commit 448ec129bcef6bf147b76956ec588e357a21d310 Author: Mark Johnston AuthorDate: 2026-04-28 14:02:58 +0000 Commit: Mark Johnston CommitDate: 2026-04-28 14:02:58 +0000 git-arc: Add a create-draft mode Make it possible to create a review without publishing it. This should be useful when one wants to restrict the visibility of a review, as that cannot be done via the command line. Note that a draft review is still publicly visible if one can guess the URL, but creating one does not result in email notifications to subscribers etc., nor does a draft appear in the creating user's activity log. Once a draft is ready, one can publish it via the web UI. Reviewed by: jrm Differential Revision: https://reviews.freebsd.org/D56664 --- tools/tools/git/git-arc.1 | 10 ++++++++-- tools/tools/git/git-arc.sh | 21 ++++++++++++++++----- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/tools/tools/git/git-arc.1 b/tools/tools/git/git-arc.1 index 6dfec53a84ad..da5732fdba26 100644 --- a/tools/tools/git/git-arc.1 +++ b/tools/tools/git/git-arc.1 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 10, 2026 +.Dd April 27, 2026 .Dt GIT-ARC 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Sh SYNOPSIS .Nm .Cm create -.Op Fl l +.Op Fl dl .Op Fl r Ar reviewer1 Ns Op Cm \&, Ns Ar reviewer2 ... .Op Fl s Ar subscriber1 Ns Op Cm \&, Ns Ar subscriber2 ... .Op Fl p Ar parent @@ -95,6 +95,12 @@ The available verbs are: Create new Differential Revisions from the specified commits. Accepts options: .Bl -tag -width "-s subscriber" +.It Fl d +Create the diff as a draft. +In this mode, notifications are not sent to reviewers and subscribers +until the review is published via the web UI. +The draft is still visible to anyone with the URL (or able to guess it), +but the review's visibility settings can be modified before publishing. .It Fl l Before processing commit(s) display list of commits to be processed and wait for confirmation. diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index 23b855aef8af..395787df970c 100755 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -234,7 +234,7 @@ commit2diff() create_one_review() { - local childphid commit doprompt msg parent parentphid reviewers + local childphid commit doprompt draft msg parent parentphid reviewers local subscribers commit=$1 @@ -242,11 +242,18 @@ create_one_review() subscribers=$3 parent=$4 doprompt=$5 + draft=$6 if [ "$doprompt" ] && ! show_and_prompt "$commit"; then return 1 fi + if [ "$draft" -eq 1 ]; then + draft=--draft + else + unset draft + fi + msg=$(xmktemp) git show -s --format='%B' "$commit" > "$msg" printf "\nTest Plan:\n" >> "$msg" @@ -257,7 +264,7 @@ create_one_review() yes | EDITOR=true \ arc diff --message-file "$msg" --never-apply-patches --create \ - --allow-untracked $BROWSE --head "$commit" "${commit}~" + --allow-untracked $draft $BROWSE --head "$commit" "${commit}~" [ $? -eq 0 ] || err "could not create Phabricator diff" if [ -n "$parent" ]; then @@ -351,7 +358,7 @@ build_commit_list() gitarc__create() { - local commit commits doprompt list o prev reviewers subscribers + local commit commits doprompt draft list o prev reviewers subscribers list= prev="" @@ -359,8 +366,12 @@ gitarc__create() list=1 fi doprompt=1 - while getopts lp:r:s: o; do + draft=0 + while getopts dlp:r:s: o; do case "$o" in + d) + draft=1 + ;; l) list=1 ;; @@ -394,7 +405,7 @@ gitarc__create() for commit in ${commits}; do if create_one_review "$commit" "$reviewers" "$subscribers" "$prev" \ - "$doprompt"; then + "$doprompt" "$draft"; then prev=$(commit2diff "$commit") else prev="" From nobody Tue Apr 28 14:12:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4j7c1jrZz6bX8N for ; Tue, 28 Apr 2026 14:12:44 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4j7b2xs7z3CT9 for ; Tue, 28 Apr 2026 14:12:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-44509921fbcso1425671f8f.3 for ; Tue, 28 Apr 2026 07:12:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777385561; x=1777990361; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kg7W09kD9ed6JiT8aRuUNtU2I9c8GldU/Z6vRNKA2MA=; b=qseE1FBPJxmstnkI1wuJoRTVtPfA4mCaL7CHB0w2pXY1VLyFTukgPP4yMJcBJgeksa WPr6YrStb5+hri7/UrZzXbxdVl/BN3tcBdzeEM9OjNFLskMlhKXGUQdQah6GcHRffzqv sB+2x9Z1rwBiyqC3ooVNit1ySFG6TGkOYVzuWTYaAxBXBQgoSZZk5BO6OBC7If2zGyZT rEli3DeJ7X/Z+UA/SULGfSvd+K45xJi8kywbzYw0LUguYw8AXgPYsxSeuymb2dSP6VqG IEgVt4hcykEm8E/gqb98q6A1DO8JlV6i0hcQnsjQOhABIjJidpBL1AR5h8x4BHpO7jDd JseQ== X-Forwarded-Encrypted: i=1; AFNElJ/gbbGl4uiQOpoNWJp+11LNj04NENK04vEiz5AXXhDGogOUsLs24r/UJMn63k+5YXctrzbY2qQ1pQw2azHDymYw/GQx@freebsd.org X-Gm-Message-State: AOJu0YxzLynUm4Y0+FXKFTILCL+GCgy78Peqv3ChiaeeWP7jvYagxZ11 qfWjjI7ZIdnYlKSZzjj/ihRDLPGj+5D2tMS8vY2buhIzi8KzDOWBmewQfozebF0yRwE= X-Gm-Gg: AeBDies+kZO1YIQb6fRtod8SJF9XFIisohMj49nvxZccz0bNi2TCnS88VBK4bBJWtud W3EMaMOKNDM6UFn9Oryud9qv1zYWeIV1bPOBffU9azTSNc8b+bHF8r/X6yuujiM8C6Yy3ucxGnx iFs6aZRSnL9LgksXO3SuLHuCJIw/5AX5AlIJvXjVwVbH0ECXb5cJBrJmXP8ZKMHG4l4t327ujRv SncFp9eQF1OoyyST2lSPvP62NSHyFbjV3N3ZQGnCHnRU8oJ+YOj8Bx2nUolCYWFRVCx4O5euIpu qAhB4988eTpD+rAjXMzSmblpN+/CeG+6FLaWfG2pvfd7Sw3+8UQSBuObfSwEP2jDfctnaDhyLx4 tvZW6eQFx4kbe8uYvUNffn9jPjA2+z2DFf+DGqKiZ/cNSvJogXJeVqIvBfSDiHnGl5rv8AfijoM UtfhU80vrGJL31+bbQndgEuUhO26Y3SQQu0MzJLbJV/AFd+b/oxrUe+cBLYIPWX3IAzMTtPvJtb hVij85Kn9KLjY/9 X-Received: by 2002:a05:600c:c491:b0:485:3f30:6250 with SMTP id 5b1f17b1804b1-48a77b1b7ffmr50644655e9.20.1777385561200; Tue, 28 Apr 2026 07:12:41 -0700 (PDT) Received: from smtpclient.apple (nat-184-78.net.cam.ac.uk. [131.111.184.78]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a774a48bbsm20153395e9.12.2026.04.28.07.12.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2026 07:12:40 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: f2f831b2c151 - main - bnxt_en: Add core SR-IOV infrastructure From: Jessica Clarke In-Reply-To: <69f0576a.31521.3b0166c9@gitrepo.freebsd.org> Date: Tue, 28 Apr 2026 15:12:29 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Chandrakanth Patil Content-Transfer-Encoding: quoted-printable Message-Id: <9C0E560F-C521-420D-AA07-1D2959AE0A5A@freebsd.org> References: <69f0576a.31521.3b0166c9@gitrepo.freebsd.org> To: Sumit Saxena X-Mailer: Apple Mail (2.3864.400.21) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g4j7b2xs7z3CT9 X-Spamd-Bar: ---- On 28 Apr 2026, at 07:44, Sumit Saxena wrote: >=20 > The branch main has been updated by ssaxena: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Df2f831b2c151a9d989a94fc7c894118c= 802ef348 >=20 > commit f2f831b2c151a9d989a94fc7c894118c802ef348 > Author: Chandrakanth Patil > AuthorDate: 2026-03-31 16:59:00 +0000 > Commit: Sumit Saxena > CommitDate: 2026-04-28 06:16:16 +0000 >=20 > bnxt_en: Add core SR-IOV infrastructure >=20 > Introduce the foundational building blocks for SR-IOV Virtual = Function > support on Broadcom NetXtreme-C/E adapters. >=20 > * Add bnxt_sriov.h: defines the extended bnxt_vf_info structure = (per-VF > firmware FID, MAC addresses, VLAN, flags, DMA command buffers, = resource > counts), the bnxt_resc_map helper, flag macros (BNXT_VF_TRUST, > BNXT_VF_SPOOFCHK, etc.), and prototypes for all SR-IOV functions. >=20 > * Add bnxt_sriov.c: implements the SR-IOV attachment sequence > (bnxt_sriov_attach), the iflib IOV callbacks (bnxt_iov_init, > bnxt_iov_uninit, bnxt_iov_vf_add), VF resource allocation and > firmware configuration helpers (bnxt_alloc_vf_resources, > bnxt_cfg_hw_sriov, bnxt_hwrm_func_vf_resc_cfg, = bnxt_hwrm_func_buf_rgtr, > bnxt_hwrm_func_vf_resource_free), and the per-VF parameter = helper. >=20 > * Extend bnxt.h: include bnxt_sriov.h; extend bnxt_pf_info with VF- > tracking fields (vf array, firmware FID/MAC, resource-reservation > strategy, DMA page management, sysctl context); replace the = upstream > bnxt_vf_info stub with the full definition from bnxt_sriov.h; = extend > bnxt_func_qcfg with allocation counters required by the VF = resource > configuration path; add vf_resc_cfg_input and sriov_lock to = bnxt_softc. >=20 > * Update Makefile to build bnxt_sriov.c and include bnxt_sriov.h. >=20 > * Wire up PCI-IOV device methods (pci_iov_init / pci_iov_uninit / > pci_iov_add_vf) and iflib IOV callbacks (ifdi_iov_init / = ifdi_iov_uninit > / ifdi_iov_vf_add) in if_bnxt.c; call bnxt_sriov_attach() from > bnxt_attach_post() on P5+ Physical Functions. >=20 > MFC after: 1 month > Reviewed by: ssaxena > Differential Revision: https://reviews.freebsd.org/D56197 There are a bunch of style violations in this (and not even self-consistent). tools/build/checkstyle9.pl is far from perfect but even it can find a load of issues here. % git show f2f831b2c151a9d989a94fc7c894118c802ef348 | = tools/build/checkstyle9.pl - ... total: 25 errors, 22 warnings, 732 lines checked Jessica From nobody Tue Apr 28 14:14:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4jB80q8Rz6bXg1 for ; Tue, 28 Apr 2026 14:14:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4jB74SLSz3Cmn for ; Tue, 28 Apr 2026 14:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyT+LEh6NQZSDCNUS3lYKAmnzJf4WMBED5nfwEtBfyE=; b=XKD3DHCvojXvqeohGEMYn7cwUY3Ny74ZZAix7jzeh2Ce4NKfR/imEfV2dMAN7vLlrWdwqG N5OzegfGdQYOD402SQxmo0oYiqEyK4qGWh2V8FY29YddxfXF+lflRylrOAixwBGPw00VGr bKR8jHFEgOJ6nU8vc9zQNHV9y2dbgJsJ4Kv5n+MFM3O+3C6Pn4PvvPWS3KEqJUPoRA2HcA SjjiQn0DAQkPjslYVdJuy8Aq5EmIFua7zlKwva2E/1KM717qvNkhcSONFRB23zjZ0z8g2x 35eTknEK2dEfmlQXtZPWbkGcVlniGnp+DV/MxIdjfdGG1XaEkULqCxMeAmtr6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777385695; a=rsa-sha256; cv=none; b=Wk4WmcwCty9je39Jm0FrsU4ZwBCLC5yt9+pNvi0odE/kXwA8wdiy3KIx0cXRba5eY/JfI6 x5pVeDOjFKMP9uFOEBJR8voDS/16ctbvcZ2MevdE36kyg8P1feMVwMrulz1OsU2v5bJbnl biEgrWOvZ5ppNWsD6+qWW/YCl0RNhVC5H2XUuWZMGmCgbUjFSBKDaKdHgxRhzOXYeKPEEK 77hBohoLJolz57L8L86FwS4wln/4e+NG2ggWFpoi9TChpFZ+8xEUQZSzoZW3/7AfT2pjyH fa3GDnvM3RnknHaKT5Tj6Kallvhz4nwZbTEUwCgxQHggrzh97INPNTrQ5Ey77A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyT+LEh6NQZSDCNUS3lYKAmnzJf4WMBED5nfwEtBfyE=; b=ILx6q+TwGYMo8d8zQ/2LEORbgwEYXPNrjalVNG8sdOw9WQzMiEMWDp5AoxwlH5BqnBSATQ oIIpdfQfl3SqlnntCt2Ke+VcOCkUtw6OHNsTUHC8w9sU69hUayi7pXXlDQ9w7SOz7gC9ZT zDs6B5yH1AntMZn4fqzAQj+ytamAtRn/QU+kolL4ub4lX2f4Our2aTE3KfmaacQBYB28iE Fz14VtACcKLLU5ZDbguJG5a5kvpyz2lkce8GCrnU5INffBtoixGuylAEjc24FN+oExDcQR 7Mi6x+7nTcGj8v6WbAMNaxRsS4d69o28UXaotNdc5Rv1nkji75gED6eNKe3TFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4jB73NJ3zxYw for ; Tue, 28 Apr 2026 14:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3950e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 14:14:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chandrakanth Patil From: Sumit Saxena Subject: git: c21c63fb565f - main - bnxt_en: add bnxt_sriov.c to sys/conf/files for built-in kernel builds List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c21c63fb565f1bc7f9564dbf12068c864f8891d8 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 14:14:55 +0000 Message-Id: <69f0c0df.3950e.5e046f7c@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=c21c63fb565f1bc7f9564dbf12068c864f8891d8 commit c21c63fb565f1bc7f9564dbf12068c864f8891d8 Author: Chandrakanth Patil AuthorDate: 2026-04-28 14:10:13 +0000 Commit: Sumit Saxena CommitDate: 2026-04-28 14:13:40 +0000 bnxt_en: add bnxt_sriov.c to sys/conf/files for built-in kernel builds The SR-IOV series added bnxt_sriov.c and listed it in sys/modules/bnxt/bnxt_en/Makefile, but kernels that build bnxt into the image only compile sources named in sys/conf/files. Add bnxt_sriov.c next to the other bnxt_en entries so built-in bnxt (including LINT) links the SR-IOV implementation and avoids undefined symbols referenced from if_bnxt.c. Fixes: f2f831b2c151 ("bnxt_en: Add core SR-IOV infrastructure") MFC after: 1 month Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D56688 --- sys/conf/files | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/conf/files b/sys/conf/files index 1a484f5e50a8..2b4a453ca556 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1320,6 +1320,7 @@ dev/bnxt/bnxt_en/bnxt_auxbus_compat.c optional bnxt iflib pci compile-with "${BN dev/bnxt/bnxt_en/bnxt_dcb.c optional bnxt iflib pci compile-with "${BNXT_C}" dev/bnxt/bnxt_en/bnxt_hwrm.c optional bnxt iflib pci compile-with "${BNXT_C}" dev/bnxt/bnxt_en/bnxt_mgmt.c optional bnxt iflib pci compile-with "${BNXT_C}" +dev/bnxt/bnxt_en/bnxt_sriov.c optional bnxt iflib pci compile-with "${BNXT_C}" dev/bnxt/bnxt_en/bnxt_sysctl.c optional bnxt iflib pci compile-with "${BNXT_C}" dev/bnxt/bnxt_en/bnxt_txrx.c optional bnxt iflib pci compile-with "${BNXT_C}" dev/bnxt/bnxt_en/bnxt_ulp.c optional bnxt iflib pci compile-with "${BNXT_C}" From nobody Tue Apr 28 14:21:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4jKT72JGz6bXRx for ; Tue, 28 Apr 2026 14:21: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 4g4jKT2qLnz3Dl5 for ; Tue, 28 Apr 2026 14:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eg/bKywLzL8LrYao8vzpVG/cO0khCo6AMaxKFNKm5U=; b=nWY0rtTMperG2wEqH/91E9J9TgMsc+bmig1V1A/ctfxbOUxzgoYj0E/Wg7Hccfego2zyCt krH6oZhElY6DXnrnmsJHFCc2sDcDMpKn7FMA0WoTe/eF5MZDyVbrwOIAqxo0uI1GrfxAzS Ih+lNcS13HhAoezTCUJ5ERKxEKQyCELy1Q5EPaqiUQ7cW43+uA0x5iCsBpkyZKJNNt34Kr AkIIdMuhUMw2BhLNHoHUE2RY+o0Dor4peGlB16HJW8smtBgcWQ+zdkugnRZJVCufEuxffp GtA3MDfIL5+daBSsWa/gj1vSpD4AoFzwroFUW2YQmAyF0XLN3XQDH2UkYJzKYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777386077; a=rsa-sha256; cv=none; b=VHFT5iYTYP1z7PnKCbo8yJdB+Mk6tKSy7ySR2lFuNJ8IlJ3wWuoLLjhxvgXlY+ckJ+E/fS vvt/faAd6q2L/7zHDQ0mjXXjk9OrGQ90nJM6mT/QoCmMt4VWKPaYghNjkvBB7cwn/Vm2N1 f6GwKGbzYlYU6bYY7mD79aEGxIyE2yQnaQMQREYqqb6KvWYsnw2vj2ahpjBmcLHHcIJ8Oj hKfiwF31H3X5DGNt9wnkX+Tp7T2g/Rfm3C5/DOykWlIwenOS+GzjcSLwStdVLT6yMxWJ9U G1I4lOcbdTV8wTrg/4fewl1nOWyg7bATzGcWuzvqE6JvaqaMb6VDR2Yp7QTtCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eg/bKywLzL8LrYao8vzpVG/cO0khCo6AMaxKFNKm5U=; b=Qi/yV8y6B9xeIoDtgiSptSZFl55iiF08+Az6h9FGliXfsJ12NMCbP6lv8vluA2K2+8Z2+h gTBVIAirIGkJrrmZR0KXD8nDBXHovU20hewbxhznLD4XYIAkpgSMIYmGXXnW1LRBpifQFQ AJDAyXTHcGHGLmMeDBNoeOM/0gLbmjj/J8gww9WYA1xBHe5mGJQRAgSC1Rn+PYxgGb1bTq kldbAbJ+YEJt6bzwygUKF0yU5n7El52tQEwvrJQC6V8OuUtzlSd8ijCirlZqxiSfST9iy9 47VDU8tLsXJrAV5EnRZc1nsYKPJKdz3/roOZh1YHjlZoBPKFYKgIdidHIBC6pA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4jKT03mrzxJP for ; Tue, 28 Apr 2026 14:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a495 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 14:21:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dan Mahoney From: Cy Schubert Subject: git: 7dcfbf4a8bf3 - stable/15 - termcap: fix screen entry standout mode (so/se) capabilities List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7dcfbf4a8bf3553993569b3a3c5bca906e8f450a Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 14:21:11 +0000 Message-Id: <69f0c257.3a495.231e0ecf@gitrepo.freebsd.org> The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=7dcfbf4a8bf3553993569b3a3c5bca906e8f450a commit 7dcfbf4a8bf3553993569b3a3c5bca906e8f450a Author: Dan Mahoney AuthorDate: 2026-04-14 03:53:51 +0000 Commit: Cy Schubert CommitDate: 2026-04-28 14:19:25 +0000 termcap: fix screen entry standout mode (so/se) capabilities so=\E[3m (italic) is incorrect, should be so=\E[7m (reverse video). se=\E[23m (italic off) is incorrect, should be se=\E[27m (reverse off). mr=\E[7m (reverse video) is correctly defined in the same entry. screen-256color inherits from screen via tc=screen and is fixed transitively. PR: 294499 Pull Request: https://github.com/freebsd/freebsd-src/pull/2139 Signed-off-by: Dan Mahoney (cherry picked from commit 2bff747bb04db6beb19678abc45edd96be0a1347) --- share/termcap/termcap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/termcap/termcap b/share/termcap/termcap index 44704653045d..46a1ba0a59bd 100644 --- a/share/termcap/termcap +++ b/share/termcap/termcap @@ -2769,8 +2769,8 @@ SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kd=\EOB:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[23m:sf=\n:\ - :so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ :vi=\E[?25l:vs=\E[34l: SB|screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\ From nobody Tue Apr 28 14:21:28 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4jKh6WKzz6bXp3 for ; Tue, 28 Apr 2026 14:21: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 4g4jKh32pyz3F0T for ; Tue, 28 Apr 2026 14:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tHipWLXV/Va7m9vrT+6HKbAAU76riSlgk4aQYI6FztY=; b=kpPg8WR+0lnlHgFayhevwIbEClKWhlUyd9pLEvTxV7RPrcjDwomie3ZK8iO0twt6ethXto dZa+Jnt0LQeddhkZmBYYw7RLmvNeUlEwFB9kQOAO7G1BcaOj1dV3oCQktIIBMfkeXfVm63 rr2/uwOgYotr4fvnjC59V5JHW9q4/ExxWFLE3AjdeE2Ho9ulCfc5IPHHeXDKZZWzP4UyLM 4JVhtZ1ZamHT7xwuTja/wYk6KbTuGSccn/xrjjy+gRig5hf8Pb26lmk6onWcqtF7HIWpb0 MK1nQKYMUZdIdu8QvjwFz4hDDQZxJWkFsKtTnePr3iyUdOFntd0ejgwBGmgjpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777386088; a=rsa-sha256; cv=none; b=WNQwDPP/7RPeakehxLM/frwRS0GiZoofMG2bZRETFScZ89m8Gi4LIT6Vzxe9w7aUsmFZGE 6icd+220EoQPmLTPtiQd5wYgmpBruTVrnmgA5GVA0EHf7A8Kehn9c14Y+SQmUr9HshFAzq 5kzBazgDIeuASNbddwEVBUHl0SmS2BRcilyg3TjzSQer5IQy/QGZeWmTvHuRvrw5Jdh2ey RMs+kSk9d4DDWroaiAgFh4a/keE/NlMtyAEJ8z90I/L29utTlMbuxxOxCOS47Uivt4tV8L bUJQ+dNEtmS/CuXZC31NQTFRX7XJdPt86HQ76svxp6rDogspofoeDK0+4jtYwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tHipWLXV/Va7m9vrT+6HKbAAU76riSlgk4aQYI6FztY=; b=SryZPvzLHpLryYpXfrEm6kTK1RsaHugsXPYJ00oZRQgYBlBepS+po73lI0dyOuguEXT/Ub +MpQIj8K3rA1dgu5EFYf0mkhPdSbksyKoXs4pPZ03uuEXxh9EsNywHEmoi1AYqxcRxJ37e Vc2w3BuYOyAxOWt65Ka0H1ZlOwQLDvx3ztFtrM9rE2NCirOMyFiCNbHEuwqHD9/MLS8E5d DnVZR4cBMbRhmCC8WqbXDlQaxhZdtXk4xCOfiELhESgpTOUFRUHaNGzIAuU7drKoP4xGhD ZJHKEKQy4vPVRqASoPJ1autaL8QwpA3cYxaEJVJfTTOGgXdHEh4wd/m+6Qv2uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4jKh2LdxzxMN for ; Tue, 28 Apr 2026 14:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b180 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 14:21:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dan Mahoney From: Cy Schubert Subject: git: 4c2563e16b40 - stable/14 - termcap: fix screen entry standout mode (so/se) capabilities List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4c2563e16b401c31e82917476be1411422d6557e Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 14:21:28 +0000 Message-Id: <69f0c268.3b180.168b3923@gitrepo.freebsd.org> The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=4c2563e16b401c31e82917476be1411422d6557e commit 4c2563e16b401c31e82917476be1411422d6557e Author: Dan Mahoney AuthorDate: 2026-04-14 03:53:51 +0000 Commit: Cy Schubert CommitDate: 2026-04-28 14:19:48 +0000 termcap: fix screen entry standout mode (so/se) capabilities so=\E[3m (italic) is incorrect, should be so=\E[7m (reverse video). se=\E[23m (italic off) is incorrect, should be se=\E[27m (reverse off). mr=\E[7m (reverse video) is correctly defined in the same entry. screen-256color inherits from screen via tc=screen and is fixed transitively. PR: 294499 Pull Request: https://github.com/freebsd/freebsd-src/pull/2139 Signed-off-by: Dan Mahoney (cherry picked from commit 2bff747bb04db6beb19678abc45edd96be0a1347) --- share/termcap/termcap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/termcap/termcap b/share/termcap/termcap index 48c0b12085cf..5305193711ab 100644 --- a/share/termcap/termcap +++ b/share/termcap/termcap @@ -2771,8 +2771,8 @@ SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kd=\EOB:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[23m:sf=\n:\ - :so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ :vi=\E[?25l:vs=\E[34l: SB|screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\ From nobody Tue Apr 28 14:21:43 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4jL021ddz6bXSP for ; Tue, 28 Apr 2026 14:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4jKz757mz3FZ2 for ; Tue, 28 Apr 2026 14:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWJgzulp6yCrB8Psd5tunkBuxUWX5ixN7BKBqIy/2aM=; b=CG8DQDQyeKHHndyS7NRFAQFs/2kxbQtfwUrVcYAufW3buWYwecKFXDmU85nWim1LyA5XKH nXzSyorg7SUQhhR+EMjVL9bZIGRJKlCEOMyUPmr0dcmicN86NB3DApIQdYXA1vbUAUF4kG v5a2O5U+k+59zqdGqKAKJbziLIikTSsSLkoiGoVTvqZKuyUrukuKdvqB/9oyptBdFP4r8g sm/Jz4yoxOZ+7Zg1ofIAyzdwnrLTASV3Y3PY3LpJz04lvvNoBSQnjn3Tt4OlmQPwf+Glfs OmF2dyDrNNk4FHd4T/IpInYazXU5NeGWjV3XEXv84lh86hxAwvRnwfJBbivVMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777386104; a=rsa-sha256; cv=none; b=Hvbr0RfgkmTAyAwP1jR2J37tJCNTX1DlBw5Qd7BKMxlwG2UBdDDNNkK1B0dDJY3fSwQAWa 4rHefgK3fGZyGLtE6ErNzYEa4A8G+U3KIxAgX7xN0kWR+cpXYHxurzzcckhg6LZl73BEMK iuqufa43LCsbeUXIdUGP7UeU8tyfRQcMgDUJjc/aCbQgci2MOLPfqFQZ1UUi3c/07iao/s Mrw5A8owksKwfGFuvS2GZGecudkJHAIlXt9osLbzJA0qact62JHHDpmXOFi5bGaZvJhZjo cYGu6e3m4J6tPfygRV3DdxQQ5wzy9j432CVteCZgtV6VoancXpM82uHmn/jVJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777386104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWJgzulp6yCrB8Psd5tunkBuxUWX5ixN7BKBqIy/2aM=; b=gmd091ZiGOcateMrdjl53fURvAjDzWQOROZ+edyo3yIry+5qQL/w/uvTj9ykP/uryptMOl QNe2PXADsYUm6gtn71hRx0E87AQqVEoCO3Y2GCx24eAYljftmqxB61+QyrQwWGxO7OxIBi 7xv7O1jhLT5YqyeALiHTRpGUftFDvOqeFMH7UuH+0HUp6WIT2/3bTiIvAXkrqm2Rln1ss5 XfVSTrQdWsMGdV8h9i76cypyfuUPHlSAF+CT3TWy5xEu1o2tsZdi7em992PFeFBbfU+ZhQ XtcjymnfYwnqVTDyb5FVVQVxn8nYUaudrPaa/tnJGGSfU8MP/ux45cGchD1rIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4jKz6dThzxMZ for ; Tue, 28 Apr 2026 14:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a8aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 14:21:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dan Mahoney From: Cy Schubert Subject: git: 2a32297a6d9f - stable/13 - termcap: fix screen entry standout mode (so/se) capabilities List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2a32297a6d9f0c82e64d315239693fcf4bc7bc23 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 14:21:43 +0000 Message-Id: <69f0c277.3a8aa.76379e9e@gitrepo.freebsd.org> The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=2a32297a6d9f0c82e64d315239693fcf4bc7bc23 commit 2a32297a6d9f0c82e64d315239693fcf4bc7bc23 Author: Dan Mahoney AuthorDate: 2026-04-14 03:53:51 +0000 Commit: Cy Schubert CommitDate: 2026-04-28 14:20:05 +0000 termcap: fix screen entry standout mode (so/se) capabilities so=\E[3m (italic) is incorrect, should be so=\E[7m (reverse video). se=\E[23m (italic off) is incorrect, should be se=\E[27m (reverse off). mr=\E[7m (reverse video) is correctly defined in the same entry. screen-256color inherits from screen via tc=screen and is fixed transitively. PR: 294499 Pull Request: https://github.com/freebsd/freebsd-src/pull/2139 Signed-off-by: Dan Mahoney (cherry picked from commit 2bff747bb04db6beb19678abc45edd96be0a1347) --- share/termcap/termcap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/termcap/termcap b/share/termcap/termcap index 892f17c90e80..8f1ad4fcc3ee 100644 --- a/share/termcap/termcap +++ b/share/termcap/termcap @@ -2771,8 +2771,8 @@ SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kd=\EOB:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[23m:sf=\n:\ - :so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ :vi=\E[?25l:vs=\E[34l: SB|screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\ From nobody Tue Apr 28 15:13:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4kVD1xfXz6bcJG for ; Tue, 28 Apr 2026 15:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4kVD0TzQz3L0D for ; Tue, 28 Apr 2026 15:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777389236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dd83dBTZgw9lZrL5U45ljMvLJkjDUvD3mNwBC9KS91s=; b=YI6Z8OqiwEvP2hImUsS0CJ2tcBhFZXSkA2oXSmri1S4WMxl++svUVgg8XRuhp9I+7EVAEU YfOtXdz85lHiSNhTw/U/p6eZ64pl9oH5AnTkn8qYMrDuoCuvOApx12Hmb0R8Ife+YcccaW ncgOcmu/bddwU8jPFO9yh0NSZ8jxMrvA3INN9+N97wQbvX14Q45LJ0+P9R+8DX9kUOAbGw dHv0rSUtr/mye73TWqSs4i1Fwmc30UGBIdJX5SqgUeD7DANGqkbS7AMkHGWhgG32H6MVCv K/1tWeLjoDFEP3LYsdXbDr23TiaRy9ZOnLYBTq7nWHa0xJzzCVd+cQEETl7XhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777389236; a=rsa-sha256; cv=none; b=UfAXmm2KBtmcBybvBrRkj4i7ocrgksgwBa//toVQXCnYIr4OIhyoMqSsJAAOmZNHzti5Sa kYbw9SzfBFCQLALTHpg3W2lCC7R1Piqn6WMf/f/KLaiaM0sNGNtgzgToyUSws25KubXm34 QSGnO44cdtK1oDMR1b0TzZLORwTQ+iyihoKCPQoqZLtRJoEThB5c4ybsWGtl2hJKldulSn t14x2t6fIphtwIkhalul3ULdwd2WWxz4vQYn2/1ydaCL1xVHiOlnDJTqVjrd2t6ebTJUMe EA0l5H50ONxTCAOULMQoVcjoT7J3TnAEWNoSmdsLaQcxlGcbxSRdy4X/repY4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777389236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dd83dBTZgw9lZrL5U45ljMvLJkjDUvD3mNwBC9KS91s=; b=ZHQcdX2kiK7PGkxqRyzU4VlKnAlqIMB/DpDeIDYF6Qq74/pGKvLoHP+OXckczUEl+8iBUd s5VMTKYgGz24cZQNEqRg3doXMiJGKdQZWbx+Z2sl//Ka04YIspaeNQGx8ib2TCGIZ733EP IvHatURsJqyVFDiYDN/b2kAr3YfOvssz32ryUY1gHuSZYIGEh/ufMKxVgzJ2N9ATKefYQb aYoA17/15qiieZkaFZAaaGmpWxKWrWLxdvWo3wV2XKeMFCdObIZG8AI525jHUUt9rSlWj5 vBlD+kGQrL2MIC/oxJcdK8YjVoryJNeSHeQhaVrZbWts3H2TDu2HPOwM+WLaRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4kVD04zFzyPx for ; Tue, 28 Apr 2026 15:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d365 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 15:13:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: ddabf7f3ea4f - main - amd64: Make EFI runtime faults look less like panics List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ddabf7f3ea4f0497dc5a5ffcbbb1d852ea77a4cd Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 15:13:56 +0000 Message-Id: <69f0ceb4.3d365.659a926f@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ddabf7f3ea4f0497dc5a5ffcbbb1d852ea77a4cd commit ddabf7f3ea4f0497dc5a5ffcbbb1d852ea77a4cd Author: Ed Maste AuthorDate: 2025-11-26 19:28:13 +0000 Commit: Ed Maste CommitDate: 2026-04-28 15:11:46 +0000 amd64: Make EFI runtime faults look less like panics EFI runtime faults may be mistaken for kernel panics, and do not necessarily represent actual problems. Try to differentiate them some more by printing "EFI runtime trap" rather than "Fatal trap". PR: 291193 Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56309 --- sys/amd64/amd64/trap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 359b3dfe3609..fb18b7d06f9e 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -104,7 +104,7 @@ void trap_check(struct trapframe *frame); void dblfault_handler(struct trapframe *frame); static int trap_pfault(struct trapframe *, bool, int *, int *); -static void trap_diag(struct trapframe *, vm_offset_t); +static void trap_diag(struct trapframe *, vm_offset_t, const char *); static void trap_fatal(struct trapframe *, vm_offset_t); #ifdef KDTRACE_HOOKS static bool trap_user_dtrace(struct trapframe *, @@ -238,7 +238,7 @@ trap_check_pcb_onfault(struct thread *td, struct trapframe *frame) print_efirt_faults == 2) { printf("EFI RT fault %s\n", traptype_to_msg(frame->tf_trapno)); - trap_diag(frame, 0); + trap_diag(frame, 0, "EFI runtime"); } res = true; } else if (frame->tf_trapno == T_PAGEFLT) { @@ -940,7 +940,7 @@ after_vmfault: } static void -trap_diag(struct trapframe *frame, vm_offset_t eva) +trap_diag(struct trapframe *frame, vm_offset_t eva, const char *type_str) { int code; u_int type; @@ -952,7 +952,7 @@ trap_diag(struct trapframe *frame, vm_offset_t eva) gdt = *PCPU_PTR(gdt); sdtossd(&gdt[IDXSEL(frame->tf_cs)], &softseg); - printf("\n\nFatal trap %d: %s while in %s mode\n", type, + printf("\n%s trap %d: %s while in %s mode\n", type_str, type, type < nitems(trap_msg) ? trap_msg[type] : UNKNOWN, TRAPF_USERMODE(frame) ? "user" : "kernel"); /* Print these separately in case pcpu accesses trap. */ @@ -1013,7 +1013,7 @@ trap_fatal(struct trapframe *frame, vm_offset_t eva) u_int type; type = frame->tf_trapno; - trap_diag(frame, eva); + trap_diag(frame, eva, "\nFatal"); #ifdef KDB if (debugger_on_trap) { bool handled; From nobody Tue Apr 28 16:05:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldL2GqLz6bhh7 for ; Tue, 28 Apr 2026 16:05: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 4g4ldK6W2nz3QGH for ; Tue, 28 Apr 2026 16:05:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRtpy722JSowpXYTo05tBmCw4nfrEwgWGIeGpfsDYyI=; b=TMC5Yq9R+vnbOVG95tQ7IZjR8ezIEPvVhoOY0P4zOPnDvTNJ09xbfvE7KmVyJ+UqSPvvL7 ugwJoGDV2GBbiMGySJl8p8uHMy8fNTdcg3JX5APtG3dv3b+apgI9mfs+2r5X1wzlohkI5J Ic3iiBC3++8B6ypnarZXLZEJKrYohm1hZM8eOhkpVQ8FAOSdbqLvTIUWpPGakyEo+vZBuL Q/nb67ZXJCv7VNwcreI0t0IT9ZLiekK3Ft22VSOC2HqeFF8CU2Tm++5GXMmLPxm7jHeN1u yV7RzDe5sTFqhXWWGHHVVcDVWJ+yHhP48iLCMFALnfeswp7wvyMi3akT9SsbqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777392309; a=rsa-sha256; cv=none; b=Ka4cyLkFg96e73aEOrPF1/u3hQRBNmMkGTKUtidsUOVRpcrLCSsDgE2GuvEnuyqiJ5g11r EcO8VRJ4SjBnWHDghn0e7Varon9/naMqxbRc1XBZsBrVowP19pKko1oBxQuk3a1iPJZPIZ 8ufezaMlf0+++hOCRdGdkmfiNJgabhQoX38bUzhixXhPKE07+KfjdMdxyls/isxNzwAEMw jgJ+83mZl+q+D5lj/Ln3ySiGBS0AtXBOrX6CRrnuoDlPWqkhclPRUHPgHH4lu/GF2vPzeK 4gRoZ9JCwX++tvyg+pDcFRe7FYG3xIz2y/bSuIVu5S64u7r5DCDMw1kU7ODJRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRtpy722JSowpXYTo05tBmCw4nfrEwgWGIeGpfsDYyI=; b=J7fx1D8lIvgWxRuooTjxRPfl01Whh+tzhgNcDdUOCMZ+ya8ADbrpVhbAgsnn1gE4UHA80b x7QzQ45e+QFN/IaFuvFAXTYDpUB251SgMCQnRjGtnuSg5faZMY9fbQ9GkfTv/LqTtCFajd EsyGHAasj5XHYnYndcm+mHaIiB33IAAsCbNX6ETuTkouZEEO46pClyeYVe60gD693AXqqV Vffv+5s0n6LR2Li+LVDH3YIjOj9j3cenK7tGUIkxrFLVzpzjfhaj+znF5qfknw8AgO2VIp +0w7xSz3P34K/tu3kV7xkqfiEHC3wEO4oFiIzPKw1SyF7ZUPS+vmf7g/+zFeKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldK5lwWz10wG for ; Tue, 28 Apr 2026 16:05:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 446a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 16:05:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: ff141ea17cb7 - stable/15 - pf: do not allow flags to be changed with securelevel set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ff141ea17cb7d60806625423ddc855d40f7e1d06 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 16:05:09 +0000 Message-Id: <69f0dab5.446a2.3615aee9@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ff141ea17cb7d60806625423ddc855d40f7e1d06 commit ff141ea17cb7d60806625423ddc855d40f7e1d06 Author: Kristof Provost AuthorDate: 2026-04-13 13:48:39 +0000 Commit: Kristof Provost CommitDate: 2026-04-28 15:33:57 +0000 pf: do not allow flags to be changed with securelevel set With securelevel set (for pf that means >= 3) we're expected to reject rule changes. However, we allowed interface flags to be changed, which would allow 'set skip on X' to be changed. Remove DIOCSETIFFLAG and DIOCCLRIFFLAG from the securelevel whitelist. MFC after: 1 week Reported by: cyberkittens Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit d5ca00f2d8743f0885c17f50c8c011cae285fbdb) --- sys/netpfil/pf/pf_ioctl.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 46197a97dae4..0825a69b8f63 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -3113,8 +3113,6 @@ pfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, struct thread *td case DIOCIGETIFACES: case DIOCGIFSPEEDV0: case DIOCGIFSPEEDV1: - case DIOCSETIFFLAG: - case DIOCCLRIFFLAG: case DIOCGETETHRULES: case DIOCGETETHRULE: case DIOCGETETHRULESETS: From nobody Tue Apr 28 16:05:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldM2fJnz6bhVQ for ; Tue, 28 Apr 2026 16:05: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 4g4ldL6zVzz3Q7H for ; Tue, 28 Apr 2026 16:05:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y5cXg6Of5Otu1bLRfCnYWV6Qecn81Bqc1K+RT/ItDN8=; b=ecG4Y5JQwVU+9hxPSa9eN3JoTWKy2ahZj8iZj9OAANfdvUMmsJCbFjagDr9pWoQMMMDLl7 ATab2pzN+qjXb4hSxunZt8rGfaJceuqeHzh1+dXZvTTGPnAQl7uwyxlYYYg3dKN7Zi1OcC oKqTZRoTnvbBF6QAjtdwA3rLsC+NNnaW96MS2hN+Noq4Q4OhOctAXHCLIjE+3aBdTYkiUu PZHPMc9ToEoRJt2PaQ6fJaab466dKT+0xQvrfN9ca23xbVU/t9/Qv00mXiOfkXXEEaYXB0 JD7l6SyUmr+6AiA/ennRLfUF8BGxVYuTMQ2OXkaBC29Y7zOrn7a5hvWiAwawXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777392311; a=rsa-sha256; cv=none; b=iDqIvkjwrgtqCHyHNhha5Ghw/i4zv1Wol0CBFBDJxllEhMJEciaIIQXeuJLtTLTHrkG+KM qH9u6TqlQUXHWBMO5xy8aUjxLlVPpYpye/hRhEzX6EJJA8g66TjIs3XUrbbfTBvcXVN6rW J//3OSWWckTbhJQa1ELc+FnLdNtJe2IEMEFKYggohpykqald9JuneVlxR7QZn5xNb64a2V /cIRbBljlhjdIzRapNEtxGTEwGoc+smn/RF6YlaVLVD1osmpdCP/sAiXr7PWt1eAAof72u x5w+g45BaGJ86q/ksuzbemkJwRUGL/BQsmyZJALhb51bZ48YwDzcqNBWg6j0iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y5cXg6Of5Otu1bLRfCnYWV6Qecn81Bqc1K+RT/ItDN8=; b=hsEiyPmMOYhmXjgMjCbTejC658sggJSnm303yayPstaWRHK/nyvO8302v4bnaL2/dl+j0R XJ034ppKDuC5PakmhrrbyTwYNBXFoVuxg2uh8dmaBjR+XEebNkiKx15BPOwuLflG6ozjDW RtbLgHGIL6NAJZKMX6gis2OYULxikh4t1NJ9LF0qWcM86YaTvRdxTTImTTmQZZ4h63Miyy Z7oyajTA5LFBf8CraFqc2fSwLQ1tBzSxyZFVPYWTlv6jtW4CPBckDiivsegrVY3KV2HFvk EMJPKhg2W77Fn5QjirgaTxZLeBAS/F2m7EkyJ2c5NLbHRWSEmy9Ood/IhKT2zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldL6Kcdz11Nr for ; Tue, 28 Apr 2026 16:05:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44d59 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 16:05:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 47c12f20bf58 - stable/15 - pf: only allow a subset of netlink calls when securelevel is set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 47c12f20bf58b69e7ab1707e6e705907ad0d277e Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 16:05:10 +0000 Message-Id: <69f0dab6.44d59.7949e6e5@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=47c12f20bf58b69e7ab1707e6e705907ad0d277e commit 47c12f20bf58b69e7ab1707e6e705907ad0d277e Author: Kristof Provost AuthorDate: 2026-04-20 06:36:17 +0000 Commit: Kristof Provost CommitDate: 2026-04-28 15:33:57 +0000 pf: only allow a subset of netlink calls when securelevel is set Extend the genl_cmd struct to allow calls to also carry a securelevel. If that's set compare the current securelevel to only allow the call if the level is lower than that. If no value is specified continue to allow calls in any securelevel, as before. This allows us to easily implement the same securelevel restrictions for pf as we have for the corresponding ioctls. Reviewed by: glebius MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D56390 (cherry picked from commit 9933bdcb12641839b7396ccd0c6b8a2d55d12744) --- sys/netlink/netlink_ctl.h | 3 +++ sys/netlink/netlink_generic.c | 7 +++++++ sys/netpfil/pf/pf_nl.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index 7f43e0f2c25e..4740d306dd54 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -89,6 +89,9 @@ struct genl_cmd { uint32_t cmd_flags; uint32_t cmd_priv; uint32_t cmd_num; + + /* Disallow this call from this level up (inclusive). */ + uint32_t cmd_securelevel; }; uint16_t genl_register_family(const char *family_name, size_t hdrsize, diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index d20ec4c7545f..3a73ecc0b339 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -150,6 +150,13 @@ genl_handle_message(struct nlmsghdr *hdr, struct nl_pstate *npt) return (EPERM); } + if (cmd->cmd_securelevel > 0 && + securelevel_ge(nlp_get_cred(nlp), cmd->cmd_securelevel)) { + NLP_LOG(LOG_DEBUG, nlp, "family %s: cmd %d securelevel_gt() failed", + gf->family_name, ghdr->cmd); + return (EPERM); + } + NLP_LOG(LOG_DEBUG2, nlp, "received family %s cmd %s(%d) len %d", gf->family_name, cmd->cmd_name, ghdr->cmd, hdr->nlmsg_len); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 9fc3c67bfb58..168c6ac63d90 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -2241,6 +2241,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getstates, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GETCREATORS, @@ -2248,6 +2249,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getcreators, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_START, @@ -2255,6 +2257,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_start, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_STOP, @@ -2262,6 +2265,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_stop, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_ADDRULE, @@ -2269,6 +2273,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_addrule, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_GETRULES, @@ -2276,6 +2281,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getrules, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GETRULE, @@ -2283,6 +2289,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getrule, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_CLRSTATES, @@ -2290,6 +2297,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_states, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_KILLSTATES, @@ -2297,6 +2305,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_kill_states, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_SET_STATUSIF, @@ -2304,6 +2313,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_statusif, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_GET_STATUS, @@ -2311,6 +2321,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_status, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_CLEAR_STATUS, @@ -2318,6 +2329,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_status, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_NATLOOK, @@ -2325,6 +2337,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_natlook, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_SET_DEBUG, @@ -2332,6 +2345,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_debug, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_SET_TIMEOUT, @@ -2339,6 +2353,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_timeout, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_GET_TIMEOUT, @@ -2346,6 +2361,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_timeout, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_SET_LIMIT, @@ -2353,6 +2369,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_limit, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_GET_LIMIT, @@ -2360,6 +2377,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_limit, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_BEGIN_ADDRS, @@ -2367,6 +2385,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_begin_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_ADD_ADDR, @@ -2374,6 +2393,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_add_addr, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_ADDRS, @@ -2381,6 +2401,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_addrs, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_ADDR, @@ -2388,6 +2409,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_addr, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_RULESETS, @@ -2395,6 +2417,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_rulesets, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_RULESET, @@ -2402,6 +2425,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_ruleset, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_SRCNODES, @@ -2409,6 +2433,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_srcnodes, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_CLEAR_TABLES, @@ -2416,6 +2441,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_tables, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_ADD_TABLE, @@ -2423,6 +2449,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_add_table, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_DEL_TABLE, @@ -2430,6 +2457,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_del_table, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 2, }, { .cmd_num = PFNL_CMD_GET_TSTATS, @@ -2437,6 +2465,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_tstats, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_CLR_TSTATS, @@ -2444,6 +2473,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_tstats, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_CLR_ADDRS, @@ -2451,6 +2481,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_TABLE_ADD_ADDR, @@ -2458,6 +2489,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_table_add_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_TABLE_DEL_ADDR, @@ -2465,6 +2497,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_table_del_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, + .cmd_securelevel = 3, }, }; From nobody Tue Apr 28 16:05:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldP2hGbz6bhT7 for ; Tue, 28 Apr 2026 16:05: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 4g4ldN6qC4z3QSc for ; Tue, 28 Apr 2026 16:05:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIkwIM2MdMPsuCf/hfaFJTnhhdd1rUTzOoJIc0lOR8s=; b=pn8KErAYf4euUBthQ3Mfpej4Mbf6sG1XFDKuSdrEONmUGT0d8Cj/mJFEGYjOrLcKM2tz62 fMSNEND5+tc+mte6lTByph/i/RdzqHU6n5SSjo7hAB96FnALEnX5y8iMHWiyaaQdu0G8fd jfoh5disa1Ry7cby5Hjee5HfW1GQA8ojYNHY+V+UTX9tZOHrqOh7RhUF56YwJMG5cn0TkB JQ3owpD4LJPvpZfsKqU7RJexGiUBqbq6X08cbfVSQRbMkAnEcW+hTlhxtCMY8bfGUm5pTG C2YAfpSAHKfZDDngQRwQOn1GwzFbY8tunPJrxA0DmYGyOHs8M71KJCM+I00jFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777392313; a=rsa-sha256; cv=none; b=IAfJu7fFReU4NxF9BadSMTAPgc4t3INKupYUECYC+pBIkhk2Z9aF+knhzxr32jEWmI/fL2 dQJAACz/f6oz6p9tpABzBj/T3Z2lGsbYBAVr1rTaqZAXeca7Rz7pvluinTrPWUl2s+NgoF b3W6t1scbck7JCkDxGX6Jb4WgmacN+9SqXo3UEIDN/MiiAITWvgjirOTIKmSj8Iu5DmyHw P87VmUBz3AjWrZO23I3d1ygBy+c1BhgrOy64wA5gcgQdpAYyaVDtt9cOn+pot6jhpKrJiL uyQWPNs0I5SqWm8aOyNkRjwU+suD0fk/n0LmkcnZik4wDIdmsX9lYMdJ09U+wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777392313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIkwIM2MdMPsuCf/hfaFJTnhhdd1rUTzOoJIc0lOR8s=; b=rLGvOsuf1hN+YAdjCWXeCS63J/nhCryxW9oBhcFMMNQn9TPgeQMwjoidwzktMk1sGib2pD Dmb1JKJ09Ci3AApsoJMF+IDA3ShpVRTC7CiL0A8KfHHwgLk+PWdMdb39hcR30zWdgrsTkS dPpoQO1zFXJo6TgbofVw48Eo6ZPl/+YxAGXRnRCbD/d+sIlo537CX0eXy739oQtTanNpgA wCTZz9xQszs0Dx7CYKL8IGOf+YbDABXZX+THzjgHFw5S7iFYdYf11Q/zIoN40kwT97hV+P DHAwdaiDz/xnCeatTDo7Pk0NpPr3QSxa30Ai4tMGqI2eoBOlvgvTg2QoM2IsyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4ldN5xRPz10sf for ; Tue, 28 Apr 2026 16:05:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44d55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 16:05:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: afbda5806304 - stable/14 - pf: do not allow flags to be changed with securelevel set List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: afbda58063048e2ddc47f7fc6fcc34718ccd7dbf Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 16:05:07 +0000 Message-Id: <69f0dab3.44d55.676cc1b2@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=afbda58063048e2ddc47f7fc6fcc34718ccd7dbf commit afbda58063048e2ddc47f7fc6fcc34718ccd7dbf Author: Kristof Provost AuthorDate: 2026-04-13 13:48:39 +0000 Commit: Kristof Provost CommitDate: 2026-04-28 16:04:49 +0000 pf: do not allow flags to be changed with securelevel set With securelevel set (for pf that means >= 3) we're expected to reject rule changes. However, we allowed interface flags to be changed, which would allow 'set skip on X' to be changed. Remove DIOCSETIFFLAG and DIOCCLRIFFLAG from the securelevel whitelist. MFC after: 1 week Reported by: cyberkittens Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit d5ca00f2d8743f0885c17f50c8c011cae285fbdb) --- sys/netpfil/pf/pf_ioctl.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 5617207d28f9..e824dfcff453 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2598,8 +2598,6 @@ pfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, struct thread *td case DIOCIGETIFACES: case DIOCGIFSPEEDV0: case DIOCGIFSPEEDV1: - case DIOCSETIFFLAG: - case DIOCCLRIFFLAG: case DIOCGETETHRULES: case DIOCGETETHRULE: case DIOCGETETHRULESETS: From nobody Tue Apr 28 16:54:40 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mkk3ZBHz6bmd8 for ; Tue, 28 Apr 2026 16:54:54 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4mkj5J7Jz3YDL for ; Tue, 28 Apr 2026 16:54:53 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-8acb856a674so512486d6.0 for ; Tue, 28 Apr 2026 09:54:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777395292; cv=none; d=google.com; s=arc-20240605; b=TIDu12oFYL1OGL6mz7vU+MJlyLesBNFSATgsTTK8MuN05nr++XPoYlv1zaajKvFr1/ fkq9WKSq2dg+JxeZ1wlsFLwC+hbEFsrP9wkadAdTcyLoLO1Jb5OGez0vkzAsvKEtz9KB ubpnivwai9GkU5X3NXODmbNS1dVlZxCGqOwl6uYxZ2Z/rcG1tny7DhPShiMqILp5nrIX S0HdZXvYVJypiFcDDkfbo1vco8zAITrWEVbS4jp+QIv1sU5ZrSFACfbnHegt37Iij52+ OMi2xhZkpbRGeBpZg0uG3IrY7pkDiUYdp4UgYIrmFLTnV5+08seHISoDJpEhdvEbJjv5 SWNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=JQnyHsScwMfI/pruel2+3aOvx6O2WkjikPoFzTbPGGE=; fh=UMpI9xNuNgqQJ+4ORZzUAfqCIrqbus6+kd6pQTWoVi8=; b=E+MWJzSXUaHxI1V+QpE1y1y+1eswXs9HwZJeNq8XyAl7ef7TyoWB470tHPVdmGDWFs xH5ABmlgGG/XZWQIUWibq6M2lrSVvOLq2/TatalS7wSp2FiGZnv60tMepZF0RrqGodDt GGF1U1kBMQPpX4Ton4G6fNawd+t5IqsZwBIEZl1Ci1AEY2bS7HuBv0+iQ3pICqoLG8Ma DGfEWt2HVq3ErmPgGUTuIo5+lwFGNCfBY5pVJvNg1FgOANOM9i4v2vWXzrSPN/zkLA8c 0e8c4SJqtZPkYlAdRqBteuOiN5k/XelW0uCm75WKYwGarAzi8BPKNABSL44Ieufm+HTO AM4w==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777395292; x=1778000092; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=JQnyHsScwMfI/pruel2+3aOvx6O2WkjikPoFzTbPGGE=; b=jXiBF1p/DTly5zriIeF1gvYv9omV3S1IOKxb9Nupsa8bFGWKo8Qo/9OwyLaw7YEf01 2vcDZ4xQFIDx6vIIigGvGrVXSyeD/6O9EjvigrEA+pQrAYvDTRWQPoq/I+rUXfQMJvEb 22OSiT/3502Bm1rTMx1XwCEMxbQqum3yFzeNTn8P+fHPbSJFRrCoSlSosKH68cbQGvOI j+6r1zMaduaVSpJHqfZWk+rgzVCsVE31cVgzbkGXqcSF+o/o4a2FcJ2/kWjb1fs1bVYN OTxJLskQcGRzobDXeroHOJHAYyUh8vQLC/QqKDyLemXreLdDbxdC/cPaanYIbOEqsGOX lKhQ== X-Forwarded-Encrypted: i=1; AFNElJ9Dg+Gqj29y8QaP2IJYkcocjQMohiYYo9V6qFN5oaGW6jGqR4lrnJfC3fVi71z4HxIxNw8Ma3PiNnkyLDSVnBJFINU1@freebsd.org X-Gm-Message-State: AOJu0YzqunjM0ePy//lMJwKas85UkbNARSAzv3/uBTsqOVdRGsJc2P5M 2g/hK4Or27XthOFr4RJa8ILzqqWOqcdJcYZ6cAe/X4ZzJ8EeYqKdr4Rn/Wx4WPs/odWZavp4dxU /OJFTfF0x7cs+lHDfC3qlbRRWtx6cOEM= X-Gm-Gg: AeBDieudhsiFraI2R7nEW9epbyKCCKyMAXOgJYGtpQKLg4wWZ08P3vqr6Meg42PUjWK Ng1HGz1DkRc0hsAhssRBbwTDMDDqX0PVOGoxtZ9ZX7FcDi8s/p4k7ILNA64G0vb7gUN8fVYBA03 Z9Q/lkAy78+Y1xxRAqU0IptrZSI1XtGpb/lW41BGYlVy9xchVDVfOB1DqWArLZNjFfPQqSVT5yF E+18S1NVpjDGw+lF8QsfC3eOiVS92gwLuO/0HPcPYNieSi/Fd1TnrfZpaYqa2r9qywzZZ2qSyPI XaF7PbJvTMKvtTNPRVSvGXsv5MhOGBWz7eNORGtSp+dbbaFPhFXnLwl0TBv5iHxvmgM+zhVDU8E x6G381UDbE2Qus7abH8fOltRXdByOSzoLYhxycW86I6LXS47vhBsRA2TAOYFz609d3H9f X-Received: by 2002:a05:6214:d89:b0:8ac:a6f7:8a6d with SMTP id 6a1803df08f44-8b3e38fa1f5mr49698696d6.13.1777395292561; Tue, 28 Apr 2026 09:54:52 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69d12614.3d42a.5c3f48a2@gitrepo.freebsd.org> In-Reply-To: <69d12614.3d42a.5c3f48a2@gitrepo.freebsd.org> From: Adrian Chadd Date: Tue, 28 Apr 2026 09:54:40 -0700 X-Gm-Features: AVHnY4IOrscQmEEBKw1zSyvuOFs1Wpt6IHNyeX_pIxEUhnjgFq32tnNt5JmTFbM Message-ID: Subject: Re: git: 0b39d72d0491 - main - virtio: use modern mode for transitional device by default To: Michael Tuexen Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, =?UTF-8?B?VGltbyBWw7Zsa2Vy?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-1.80 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(1.00)[0.999]; NEURAL_HAM_SHORT(-0.90)[-0.898]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.41:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; TAGGED_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.41:from]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4mkj5J7Jz3YDL X-Spamd-Bar: - hi! FWIW, this has broken virtio on qemu ppc64 pseries VMs: ``` vtnet0: numa-domain 0 on virtio_pci0 virtio_pci0: virtqueue 1 (vtnet0-tx0) does not exist (size is zero) virtio_pci0: cannot allocate virtqueue 1: 19 vtnet0: cannot allocate virtqueues device_attach: vtnet0 attach returned 19 virtio_pci1: port 0x100-0x17f mem 0x81040000-0x81040fff,0x210000010000-0x210000013fff irq 4611 at device 3.0 numa-domain 0 on pci0 vtblk0: numa-domain 0 on virtio_pci1 qemu-system-ppc64: wrong value for queue_enable 100 ``` Is there any way to detect that we're running in an environment where the new way won't work? The snippet in my qemu setup is: ``` -drive file=3Dppc64be-1.qcow2,format=3Dqcow2,id=3Dhd0,if=3Dnone \ -device virtio-blk-pci,drive=3Dhd0 \ -drive file=3Dppc64be-data.qcow2,format=3Dqcow2,id=3Dhd1,if=3Dnone = \ -device virtio-blk-pci,drive=3Dhd1 \ -netdev tap,id=3Dnd0,ifname=3Dtap1 -device virtio-net,netdev=3Dnd0,mac=3D00:08:01:13:00:01 ``` -adrian On Sat, 4 Apr 2026 at 07:54, Michael Tuexen wrote: > > The branch main has been updated by tuexen: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D0b39d72d0491c77e3e9883015b= 1fac46663c71de > > commit 0b39d72d0491c77e3e9883015b1fac46663c71de > Author: Timo V=C3=B6lker > AuthorDate: 2026-04-04 14:49:54 +0000 > Commit: Michael Tuexen > CommitDate: 2026-04-04 14:49:54 +0000 > > virtio: use modern mode for transitional device by default > > This patch changes the default value of the loader tunable > hw.virtio.pci.transitional to 1. This means, virtio uses the > modern mode for transitional devices by default. > > The return values of vtpci_modern_probe() and vtpci_legacy_probei() > were chosen to prefer modern mode, but hw.virtio.pci.transitional=3D0 > prevents modern mode. > Setting hw.virtio.pci.transitional to 1 by default seems a better fit= . > > Reviewed by: tuexen > Differential Revision: https://reviews.freebsd.org/D55894 > --- > share/man/man4/virtio.4 | 2 +- > sys/dev/virtio/pci/virtio_pci_modern.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/share/man/man4/virtio.4 b/share/man/man4/virtio.4 > index 8252cc1b7954..6af6300b1cee 100644 > --- a/share/man/man4/virtio.4 > +++ b/share/man/man4/virtio.4 > @@ -114,7 +114,7 @@ use the legacy > .Nm > driver > .Pq 0 . > -The default value is 0. > +The default value is 1. > .El > .Sh SEE ALSO > .Xr virtio_balloon 4 , > diff --git a/sys/dev/virtio/pci/virtio_pci_modern.c b/sys/dev/virtio/pci/= virtio_pci_modern.c > index 108fd2b5f8e9..baf7c448bb95 100644 > --- a/sys/dev/virtio/pci/virtio_pci_modern.c > +++ b/sys/dev/virtio/pci/virtio_pci_modern.c > @@ -191,7 +191,7 @@ static void vtpci_modern_write_device_8(struct vtpci_= modern_softc *, > /* Tunables. */ > SYSCTL_DECL(_hw_virtio_pci); > > -static int vtpci_modern_transitional =3D 0; > +static int vtpci_modern_transitional =3D 1; > SYSCTL_INT(_hw_virtio_pci, OID_AUTO, transitional, CTLFLAG_RDTUN, > &vtpci_modern_transitional, 0, > "If 0, a transitional VirtIO device is used in legacy mode; otherwis= e, in modern mode."); > From nobody Tue Apr 28 16:57:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mnV0sfQz6bmgm for ; Tue, 28 Apr 2026 16:57: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 4g4mnT5Ry9z3YPT for ; Tue, 28 Apr 2026 16:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EnLDh5rNDbBrLG7vBaVTIAYyOgjiFyUbpOecXxR0FLM=; b=bSMdP9TDnsQgfq3qw3XnFmjW4E6wY3wP4r7jJni3dRc6i4CWniNDnfeLgoSmVFMgg6m34L FeVNCAOTYaY4q76pOXnP0PjPZ3T/1CjorlTPcWR7YkLw+R5nbDZOOTs4GAd3llxPozEUGm 7sLvu2VbNlTJ5KAu+pBLCOcjI7ahyA++3ZFDhBlObXHn1kxRikBsE18gXdYtivl8Y3GEVC WBEJGP/g9O657GuuhtpLbprNqJmNMRfVfbYrs5foYcTl2Q4xpGlzsO/wMAzEUrz/yEOwno f9U06ZuPBSPdgQvK7yNOgiLyXxbG0xt1V56v5mhulzGC4pMRuoMD8tqZEELwEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777395437; a=rsa-sha256; cv=none; b=CvnaiZCWZKu3vxKFn8UurZ6mVPg7lAb4gwiGsQvT7/813Gn/WxNUhgdCouTWIGpDCz38sy SJ9lVAfh1Ah+M0Awst45yv4kkYUZcLkoXNLlnxX8edWYy4Etf0Fp4vuWVBYWh7V+6mSPXV gtbrQTlygLKgiSOvD/0G2Zyph2fQ6Z+RW6z7fmX3A6bcF0YeUvkNDjyF1zw6Cl+cyZ9jAt iUjLqEp6seYnkBehJPMR9yugyGGZNivTFBvbq8mlYaulRoOWwcbB/QEGQMaWP7EACTk/lt qrMkCIO1PMvf0aaYKJuknIBavQpr90unAadjTOw9u3aOPDVbAbt+xEB8Q26FDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EnLDh5rNDbBrLG7vBaVTIAYyOgjiFyUbpOecXxR0FLM=; b=JvwsPgFAyOrTN9+3S5WMQ1BrBJ/wOt0/T55dPFf/V8EIPM/Uwuz1F7NefwgCn0c95PUu1r rqU6IFbOppJU04g4UWHO0ev3ZsYDlODlQF5lAT2xb95WT9CmFCdJDsB6KChZk/9uU/4Bvt Oxjc75qB/jv19V7nwuBNIFVtiNpkz55BFQubEbjAV3r2yzhswET8kBCfcbEsdV+k/rtmNH wZCsC51+dKeBl+TXqOWpBX5A8iCMlI06plxW6EGxh6+gAISLO93njjcESesqLaDPgQc7Kq RCp9FgqkDLp9QlShbtsH9ldshutGS1MChQKWhpd7EEcu3sAPur55qR8ieeg7HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4mnT42bKz12h2 for ; Tue, 28 Apr 2026 16:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18fcc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 16:57:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: ab98fd323430 - main - build.7: Explain update-packages repo signing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab98fd3234304ea10db3dee70205828d372c443a Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 16:57:12 +0000 Message-Id: <69f0e6e8.18fcc.118959d7@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ab98fd3234304ea10db3dee70205828d372c443a commit ab98fd3234304ea10db3dee70205828d372c443a Author: Alexander Ziaee AuthorDate: 2026-04-28 16:55:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-04-28 16:56:45 +0000 build.7: Explain update-packages repo signing MFC after: 3 days Reported by: kevans Reviewed by: kevans, ngie Differential Revision: https://reviews.freebsd.org/D56607 --- share/man/man7/build.7 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index ef4e2c94a82f..b9a781a9b5ab 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 22, 2026 +.Dd April 28, 2026 .Dt BUILD 7 .Os .Sh NAME @@ -387,10 +387,18 @@ defaults to Create or update the .Xr freebsd-base 7 package repository for the base system. +.Bl -bullet +.It If an old repository is being updated, then packages whose contents have not changed since the previous version will be copied into the new repository to avoid needless updating of the version number. +.It +If +.Va PKG_REPO_SIGNING_KEY +is defined, the repo will be signed according to +.Xr pkg-repo 8 . +.El .It Cm xdev-build Builds for the .Cm xdev @@ -1166,6 +1174,7 @@ Study the examples above. .Xr config 8 , .Xr etcupdate 8 , .Xr nextboot 8 , +.Xr pkg-repo 8 , .Xr shutdown 8 .Sh HISTORY The From nobody Tue Apr 28 17:02:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mv56Rmnz6bmn7 for ; Tue, 28 Apr 2026 17:02:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4mv54jJWz3b7N for ; Tue, 28 Apr 2026 17:02:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18vgU62GzudAyty+z5IHGeUuRXLrh2LY7/6Enrla1Ug=; b=qQBM6QWcZ6+zcRQqQsh2nU4gRCevC8vNnNNXuV6Kyrm31oA7zCAcaR142p4h+IMpovXOyN P2OeYEbIkw8UhPoI+JrFl2oNPL0o83wZLj+Emr/G6vp64l55zaCe6pJoa+L1GRDKucHkDz jwp72LwSgyZeM82N0uGXPSZtD2yYclDUmxIF01MD/VkAEC4QTwY62gX0Gt3dTDY5bUOeYe 2fgDUxLmVIlrMKamULpaxwiM9fVLfS86sfTyh3YDNx0BdnIgrnac2GvlypItXs53SX5PS6 tenvvgPzW4PzyfHGomt7SgOs/J223FdZIaMkM0YFqaHs52hJej497/9Q7VS6qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777395729; a=rsa-sha256; cv=none; b=I0EbUn3oVwsIFieeU6rd+eykuUMJJmXIqiiVpHZuVUuf/cEeTO+xUQW2lU8oI7J0d6a2Z2 KCCwRIiO6mIxSgpSKBI65rJ5b4xw8wLP7jsFqf+iAC+x92o1P+R2Xh10pI4Vw0PUfQZX96 XxhgeP3QsS757dQU0p3vCyNDM+dtEdr1MQZCkNmSH1FEMOKDPVtQ7rMoLDiJWO+Jh/2w/s JLE4CcGJ5+fESLA4UQyan7Cc32wKxqt6bLtrK/PZvorqRzIcH45urDK01Jq6zaWbI792rh LjR0Lqq3fewqklY+g+iXTB8hxN4rga7Zd9t5eT/AFqDc0QVlyqkVF6jveYJoYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18vgU62GzudAyty+z5IHGeUuRXLrh2LY7/6Enrla1Ug=; b=FTbQF9SidXretmfNWXtlwIZUrGJSnpY1Lna2q9erMULX1fpogrd31wU7EzHQNBnJBA/Zv4 T6CgNcYfyaakX8jyVSlr8/2xyxkE6Ec6EX+nXPNZQvFjOb1fRkgydILwWoXwqtsl6j9xy0 mq5snGnwNEr8qwEajvZ7fUhX5Zw55skfZbZbQ94YM7Grg5lorTF1gN6eH6JJkAtR0x9hoG eqtyWbEZW0ZrelBKZ7dIqrmwNrtKGwLCk2kVH8GibBGTfGmhVJoCuVD6aW/TTgowpX2e2k NDDc2KxzJxPEDiXhKgAU/oLzROzvOqxp4QsPpo4hgq49rY/iDNUc1P+2pCFJ3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4mv54Dfgz12n0 for ; Tue, 28 Apr 2026 17:02:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bf81 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 17:02:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 17:02:09 +0000 Message-Id: <69f0e811.1bf81.8cbd502@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 Author: Alexander Ziaee AuthorDate: 2026-04-28 16:59:19 +0000 Commit: Alexander Ziaee CommitDate: 2026-04-28 16:59:34 +0000 bsdinstall: Improve auto-partition message Manually tuning ZFS for systems with <8GB ram hasn't been necessary at least since the switch to OpenZFS. We have users reporting using 1GB RAM with no manual tuning/issues. Further, the page this links to is a stale wiki page, which is causing complaints. Remove this misleading note and replace it with a similar message for UFS. While here, reword that note to be a bit clearer. PR: 287719 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D50971 --- usr.sbin/bsdinstall/scripts/auto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index e9d6da149a85..ca0561daac1a 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -50,10 +50,10 @@ msg_abort="Abort" msg_an_installation_step_has_been_aborted="An installation step has been aborted. Would you like\nto restart the installation or exit the installer?" msg_auto_ufs="Auto (UFS)" msg_auto_ufs_desc="Guided UFS Disk Setup" -msg_auto_ufs_help="Menu options help choose which disk to setup using UFS and standard partitions" +msg_auto_ufs_help="Choose which disk to setup using UFS and standard partition layout" msg_auto_zfs="Auto (ZFS)" msg_auto_zfs_desc="Guided Root-on-ZFS" -msg_auto_zfs_help="To use ZFS with less than 8GB RAM, see https://wiki.freebsd.org/ZFSTuningGuide" +msg_auto_zfs_help="Choose which disk to setup using ZFS and standard partition layout" msg_exit="Exit" msg_freebsd_installer="$OSNAME Installer" msg_gpt_active_fix="Your hardware is known to have issues booting in CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you like the installer to apply this workaround for you?" From nobody Tue Apr 28 17:04:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4myF0ypCz6bnF7 for ; Tue, 28 Apr 2026 17:04:53 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4myC51GLz3cc8 for ; Tue, 28 Apr 2026 17:04:51 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.43 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-899d6b7b073so121119706d6.2 for ; Tue, 28 Apr 2026 10:04:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777395890; cv=none; d=google.com; s=arc-20240605; b=D5vaPwPIF61S5LUfW+GXtxtRXfLoNqo0tfTY/OBtf8GCQolvR6BCbnuu0a4YIeznxV IfVPzPyhl3o/u8EYqmAEV8f3GlHCItH2z3zvpuY5qJqLI69RuopzuaulPYuQtkJiUNW/ 3T8TbQhTm+j0rDyklM+TTtMyvBwRMEkntZcQIIuygOKfw5Wqz3MLTFQsLvwKxUjX5AFS Zeuna7KnitOdRoVYrojneO2V6iclccJxHt+Qz/e4DM9UJAujg/ptIZr1LbURg8FcW+xe vu7/6kRHQkxLJvBM5GDh73emTjvOqvySqio1YRimKd1v3pwcTskq+0hsT4DgbfWehdHr xveg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=qCpTuWBEK0QZwLXKrjmrwXHfxmM0jijJdYFnQTEcZPE=; fh=vdPxCJ4+bObR4Xz0MoD8ie59bsFmdev/weoWHtxquXM=; b=Fl5oRv0pB3ybjZCcChYr2eMPbn9m7vPG5j3ySrrpWkqzPdlZQbyd74HB/tep5VtRMn ksQmFcSA8JuGgZJtIIf6c9BAhjrry4P2SFki+GBpSrXd8oHOmnCCQqkF96aY9f2j4d+F zl2Pj2a3FYWl4fbUuv1Coo9q5lDo3fmFkzSL+26zziQx+M44kBRRupBSD5GS/cv2+RYe Q+BmT7IvgjMa8YggnicZQg2IAW48lQjKZ+Sh8H8M0g5WdNVAqpS5xHXXVpoEcGA3JuUF tULLBrmcxTztBrQoKkx99U5onmB43W//riRFIyMkOhTHanzvFvASbeGuIApHpc1fbroV HSeA==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777395890; x=1778000690; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qCpTuWBEK0QZwLXKrjmrwXHfxmM0jijJdYFnQTEcZPE=; b=PkU4Ipc1cLM0ottejHHgUFkIahcPvrC218W/z6+STESxwgWdBx3TcTCuvMEWod9ddY R0ATrGWDDEx2W8O2fvQncOXVXqmhXEE45hf7313VHB6wUssjqeUGTK5N8rqgVePe2qXp UNvpZu3xRJnZ7zpaHDb6Jn8y0SKr3sL0aYUiahDRfnktWWTG7udS+Z6njYYYoZps3wU7 2h8jbE5yTWcRMngRp9s8WP11COwayM5ENWvo50fEwoP0acYbQtPAL40wvUtewrasO1Sj oK6lLYdeGaqat9xBsQiV1OyG6hUVOrpuactHaAphlfYEmxWeaO5hiFWjJsZbucgPxMqS Ooxg== X-Forwarded-Encrypted: i=1; AFNElJ9rbFusnIY0Oe2Q+z4qGTc8LaFEe5tQpWpJa8RnXWy1BcHmw4ysN+CQh4Jh5Ma9cq1t7K+H+G2i4Qgwypr53VelKy0d@freebsd.org X-Gm-Message-State: AOJu0Yy7u/kYYqDZczKlehEmYZjD9AgzfzcFBhuWAmvxB2trP5/c8q60 IrZzG6UxNr1iDJgsQF5hSwKnt8+gNrs88dMfAGSaUXXebYd1Ywz0+Ai4cvdK3QTOadxkb5+6/fj LwjL8LWWZEOpuwtYgz0NXfezpw+Aary0= X-Gm-Gg: AeBDieu5kk67CvRZkfKcthknDEdo9XCTWUSF55eepCSMAgoK5ZBz07lBEcOBYjFi3mG 6+xED8WLC/IepKgkxmwcSx88fnuvzzuJbjbCeWCeRF5qe/5OWgnR2FDgbjZzdjxqCM4Re36OXDq rONMQekRWnLb/E/W679cI7ONoVFopQxHR2ekH8MbrudUkWcTGYhKYOK7P0zz6V8vUa0EXZ9tGjl x7auINkb6zxGX8YdrCuW7aRB+BnYI/ZHvBCizMZknnIq8Lhg1jdo73STdj80GSsQMJRkRZxiRld 8PHJXrJSrKzSl7Wub/bgFpvhjfubflhV9KRbFKRrIZwXwQ3BvH1BVqSkOYGV/nWRppBzINCegYO FYO4qN85hITzeTqT6NnppfkT13VyFL9J3Fme4WsD3ihE+mj2IDrcIqBdHIdzn/oofy2Ey X-Received: by 2002:a05:6214:2584:b0:8a3:221d:9095 with SMTP id 6a1803df08f44-8b3e305cc83mr65584576d6.15.1777395890404; Tue, 28 Apr 2026 10:04:50 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69d12614.3d42a.5c3f48a2@gitrepo.freebsd.org> In-Reply-To: From: Adrian Chadd Date: Tue, 28 Apr 2026 10:04:38 -0700 X-Gm-Features: AVHnY4IX-d9XkyenI-Yi1KnB5HugIgHsIwPH1UYHUkzQ-N3fa1FUQ5TFeGIREYA Message-ID: Subject: Re: git: 0b39d72d0491 - main - virtio: use modern mode for transitional device by default To: Michael Tuexen Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, =?UTF-8?B?VGltbyBWw7Zsa2Vy?= Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-1.60 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(1.00)[0.999]; NEURAL_HAM_SHORT(-0.69)[-0.694]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.43:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; TAGGED_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.43:from]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4myC51GLz3cc8 X-Spamd-Bar: - On Tue, 28 Apr 2026 at 09:54, Adrian Chadd wrote: > > hi! > > FWIW, this has broken virtio on qemu ppc64 pseries VMs: Someone beat me to filing a bug about it: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294706 I need to go see why the /loader/ no longer works (the latest powerpc64 iso image + loader just hangs during kernel loading) and then I'm going to poke you and the submitter to figure out what regressed. It could just be an endian issue but (once I fix the loader again) it should be easily testable with qemu on x86 + ppc64 QEMU VM. -adrian From nobody Tue Apr 28 17:10:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4n4y1KMrz6bnXJ for ; Tue, 28 Apr 2026 17:10: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 4g4n4x6w9hz3cnw for ; Tue, 28 Apr 2026 17:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777396241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KmbU0tHvpDjMZ2vSF5azyKd1hkq3WXB/yxeQoWD40sU=; b=SNNTUwfKNDLmf7lep2VVvcdL09P443nSAwbwZyHeSdDW+aRzu7iU51o6w00eZnwHBA7g/f 9cOlokHNKzdM8WtydxmU+/wr2o/bnWY1c1z+gZbS40Dyx675v0RkLcJBjyD6X0dkU9R9cE i7yIM9tAyRlNpqkJf10f9FZpbYaUYJ3ueHoC63Ltv+/FpMTpEF3lGaBAreDyc+DD2O224z C+6+M4/UhFzlOOwPvDx8ea4+0s295FG4r8fiiofewBRsHd6BpLWWMjV2cyLs8CptfsWCpb pHJVGRunt0ATYVsf2mCdnCTSoxWhpGxPJ5790bVl8HIp8cLFAqmd4LbNEr3FXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777396241; a=rsa-sha256; cv=none; b=TcyehlCyAi7ITcI6CIULF6gxn4x+1fAiUrMVjvqOLo0z/Jhqd59eSP/zTSFirkDHSLsEAP mZQfrHNpnosWW8ovn5cXrj9sdzJqM0EnIgQWhw1n/qr0wQHVEtIPwJwXVwYHJDO1kM/dt3 0HqqcjY92YFNqKP0KoQltyZ8Yjl+RMQHm4sS7eH+XT1QzH/Jez2a3oymHNx2zEnYqGPnvn YPWZQhrPSxnCGWC1kWl86VUHZhO1Wx9cJJexrGujq5jHWXiEE4SmbQbSZ2rFH8FTPx7zLT mG8Nrw3UdnqFV1Vf1+3LNxc7HyaDmqMuhBfhOegDU8JJwK5tVgpkKB0k/AfpvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777396241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KmbU0tHvpDjMZ2vSF5azyKd1hkq3WXB/yxeQoWD40sU=; b=wSrBNthzvdD05RPjPu5svJa+qNJIhgdHBopTY33JbhhEzXDn1Vo4E0j+0JKpqBrnaDI6me iR2VUK8h4YYj4hkjaPQQcQqtdaTgflB/7e5kZm74Mg2784P2VnAI9VDgyfGYzJQBcKvWwp Oymlz/dO6c5tuue0ng5aJ4VpGOXKrKTuIYLrmBQ3D1emo0KiuC0ljOz1DBRzDV97fW89Z+ iLmIZdevveDaZQidmXTB4sEnpAlShNXxXt6ABpxV22cyI0Ut+H/iawE+H+zXFzn2r0Or6i TMS/EDGfLOyv3+3b4h7YXdHOT3Y9Dy5KGRoKWZlxdfp1jOQiH+7+FM6kmt1iJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4n4x5x6kz12Sr for ; Tue, 28 Apr 2026 17:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19f57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 17:10:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Chuck Tuffli Subject: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: chuck X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68e5b71517e947b4e3f349c970af362b47b45f27 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 17:10:36 +0000 Message-Id: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> The branch main has been updated by chuck: URL: https://cgit.FreeBSD.org/src/commit/?id=68e5b71517e947b4e3f349c970af362b47b45f27 commit 68e5b71517e947b4e3f349c970af362b47b45f27 Author: Chuck Tuffli AuthorDate: 2026-04-28 16:55:50 +0000 Commit: Chuck Tuffli CommitDate: 2026-04-28 17:08:27 +0000 Vendor import of smart at 1.0.2 smart/diskhealth is a command line application to monitor disk health from a storage device via SMART. Reviewed by: fuz, jrm Relnotes: yes Differential Revision: https://reviews.freebsd.org/D56638 --- contrib/smart/Changelog | 37 ++ contrib/smart/LICENSE | 13 + contrib/smart/Makefile | 26 + contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++++++++++++++ contrib/smart/libsmart.h | 174 ++++++ contrib/smart/libsmart_desc.c | 158 +++++ contrib/smart/libsmart_dev.h | 60 ++ contrib/smart/libsmart_priv.h | 83 +++ contrib/smart/smart.8 | 245 ++++++++ contrib/smart/smart.c | 334 ++++++++++ packages/Makefile | 1 + packages/smart/Makefile | 4 + packages/smart/smart.ucl | 30 + usr.sbin/Makefile | 1 + usr.sbin/smart/Makefile | 8 + 16 files changed, 3361 insertions(+) diff --git a/contrib/smart/Changelog b/contrib/smart/Changelog new file mode 100644 index 000000000000..42b79bc34070 --- /dev/null +++ b/contrib/smart/Changelog @@ -0,0 +1,37 @@ +This file documents changes for smart releases + +version 1.0.2 + - Bring man page up to snuff + - Fix various complier warnings + +version 1.0.1 + - Fix don't print attribute ID with description + +version 1.0.0 + - Fix ATA threshold output (gh-10). This is a breaking change as it + reduces the output from 4 fields to 3 (drops the "reserved" byte + from threshold). + - Fix the ATA raw output. This is a breaking change as it increase the + output from 6 bytes to 7 (i.e., includes the "reserved" byte). Note + that while some attributes use this byte, most do not. + - Fix direct debug output (--debug) to standard error + - Use POSIX memcpy and memset instead of older bXXX equivalents + +version 0.4.2 + - Update README contents + +version 0.4.1 + - Allow a comma-separated list of attributes + - Code refactor + update code comments + +version 0.3.0 + + - Reclaim the -d option from debug + - Change field separator from spaces to tab + - Add textual descriptions of attribute IDs for ATA, NVMe, and SCSI + - Add a manual page + - Fixes + * libxo structure for attribute and attributes + * simplify LIBXO ifdef sprawl + * display of threshold values + * display of long values diff --git a/contrib/smart/LICENSE b/contrib/smart/LICENSE new file mode 100644 index 000000000000..8b0a0bf6a4a6 --- /dev/null +++ b/contrib/smart/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2016-2026 Chuck Tuffli + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/contrib/smart/Makefile b/contrib/smart/Makefile new file mode 100644 index 000000000000..64cab720e08f --- /dev/null +++ b/contrib/smart/Makefile @@ -0,0 +1,26 @@ +# +# Copyright (c) 2016-2021 Chuck Tuffli +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +PROG= smart +SRCS= smart.c libsmart.c libsmart_desc.c +SRCS+= freebsd_dev.c +LIBADD= cam xo +MAN=smart.8 +MLINKS= smart.8 diskhealth.8 +#CFLAGS+= -ggdb -O0 +CFLAGS+= -DLIBXO +LINKS= ${BINDIR}/smart ${BINDIR}/diskhealth + +.include diff --git a/contrib/smart/freebsd_dev.c b/contrib/smart/freebsd_dev.c new file mode 100644 index 000000000000..d1dda2289742 --- /dev/null +++ b/contrib/smart/freebsd_dev.c @@ -0,0 +1,828 @@ +/* + * Copyright (c) 2016-2021 Chuck Tuffli + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "libsmart.h" +#include "libsmart_priv.h" +#include "libsmart_dev.h" + +/* Provide compatibility for FreeBSD 11.0 */ +#if (__FreeBSD_version < 1101000) + +struct scsi_log_informational_exceptions { + struct scsi_log_param_header hdr; +#define SLP_IE_GEN 0x0000 + uint8_t ie_asc; + uint8_t ie_ascq; + uint8_t temperature; +}; + +#endif + +struct fbsd_smart { + smart_t common; + struct cam_device *camdev; +}; + +static smart_protocol_e __device_get_proto(struct fbsd_smart *); +static bool __device_proto_tunneled(struct fbsd_smart *); +static int32_t __device_get_info(struct fbsd_smart *); + +smart_h +device_open(smart_protocol_e protocol, char *devname) +{ + struct fbsd_smart *h = NULL; + + h = malloc(sizeof(struct fbsd_smart)); + if (h == NULL) + return NULL; + + memset(h, 0, sizeof(struct fbsd_smart)); + + h->common.protocol = SMART_PROTO_MAX; + h->camdev = cam_open_device(devname, O_RDWR); + if (h->camdev == NULL) { + printf("%s: error opening %s - %s\n", + __func__, devname, + cam_errbuf); + free(h); + h = NULL; + } else { + smart_protocol_e proto = __device_get_proto(h); + + if ((protocol == SMART_PROTO_AUTO) || + (protocol == proto)) { + h->common.protocol = proto; + } else { + printf("%s: protocol mismatch %d vs %d\n", + __func__, protocol, proto); + } + + if (proto == SMART_PROTO_SCSI) { + if (__device_proto_tunneled(h)) { + h->common.protocol = SMART_PROTO_ATA; + h->common.info.tunneled = 1; + } + } + + __device_get_info(h); + } + + return h; +} + +void +device_close(smart_h h) +{ + struct fbsd_smart *fsmart = h; + + if (fsmart != NULL) { + if (fsmart->camdev != NULL) { + cam_close_device(fsmart->camdev); + } + + free(fsmart); + } +} + +static const uint8_t smart_read_data[] = { + 0xb0, 0xd0, 0x00, 0x4f, 0xc2, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const uint8_t smart_return_status[] = { + 0xb0, 0xda, 0x00, 0x4f, 0xc2, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static int32_t +__device_read_ata(smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) +{ + struct fbsd_smart *fsmart = h; + const uint8_t *smart_fis; + uint32_t smart_fis_size = 0; + uint32_t cam_flags = 0; + uint16_t sector_count = 0; + uint8_t protocol = 0; + + switch (page) { + case PAGE_ID_ATA_SMART_READ_DATA: /* Support SMART READ DATA */ + smart_fis = smart_read_data; + smart_fis_size = sizeof(smart_read_data); + cam_flags = CAM_DIR_IN; + sector_count = 1; + protocol = AP_PROTO_PIO_IN; + break; + case PAGE_ID_ATA_SMART_RET_STATUS: /* Support SMART RETURN STATUS */ + smart_fis = smart_return_status; + smart_fis_size = sizeof(smart_return_status); + /* Command has no data but uses the return status */ + cam_flags = CAM_DIR_NONE; + protocol = AP_PROTO_NON_DATA; + bsize = 0; + break; + default: + return EINVAL; + } + + if (fsmart->common.info.tunneled) { + struct ata_pass_16 *cdb; + uint8_t cdb_flags; + + if (bsize > 0) { + cdb_flags = AP_FLAG_TDIR_FROM_DEV | + AP_FLAG_BYT_BLOK_BLOCKS | + AP_FLAG_TLEN_SECT_CNT; + } else { + cdb_flags = AP_FLAG_CHK_COND | + AP_FLAG_TDIR_FROM_DEV | + AP_FLAG_BYT_BLOK_BLOCKS; + } + + cdb = (struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes; + memset(cdb, 0, sizeof(*cdb)); + + scsi_ata_pass_16(&ccb->csio, + /*retries*/ 1, + /*cbfcnp*/ NULL, + /*flags*/ cam_flags, + /*tag_action*/ MSG_SIMPLE_Q_TAG, + /*protocol*/ protocol, + /*ata_flags*/ cdb_flags, + /*features*/ page, + /*sector_count*/sector_count, + /*lba*/ 0, + /*command*/ ATA_SMART_CMD, + /*control*/ 0, + /*data_ptr*/ buf, + /*dxfer_len*/ bsize, + /*sense_len*/ SSD_FULL_SIZE, + /*timeout*/ 5000 + ); + cdb->lba_mid = 0x4f; + cdb->lba_high = 0xc2; + cdb->device = 0; /* scsi_ata_pass_16() sets this */ + } else { + memcpy(&ccb->ataio.cmd.command, smart_fis, smart_fis_size); + + cam_fill_ataio(&ccb->ataio, + /* retries */1, + /* cbfcnp */NULL, + /* flags */cam_flags, + /* tag_action */0, + /* data_ptr */buf, + /* dxfer_len */bsize, + /* timeout */5000); + ccb->ataio.cmd.flags |= CAM_ATAIO_NEEDRESULT; + ccb->ataio.cmd.control = 0; + } + + return 0; +} + +static int32_t +__device_read_scsi(__attribute__((unused)) smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) +{ + + scsi_log_sense(&ccb->csio, + /* retries */1, + /* cbfcnp */NULL, + /* tag_action */0, + /* page_code */SLS_PAGE_CTRL_CUMULATIVE, + /* page */page, + /* save_pages */0, + /* ppc */0, + /* paramptr */0, + /* param_buf */buf, + /* param_len */bsize, + /* sense_len */0, + /* timeout */5000); + + return 0; +} + +static int32_t +__device_read_nvme(__attribute__((unused)) smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) +{ + struct ccb_nvmeio *nvmeio = &ccb->nvmeio; + uint32_t numd = 0; /* number of dwords */ + + /* + * NVME CAM passthru + * 1200000 > version > 1101510 uses nvmeio->cmd.opc + * 1200059 > version > 1200038 uses nvmeio->cmd.opc + * 1200081 > version > 1200058 uses nvmeio->cmd.opc_fuse + * > 1200080 uses nvmeio->cmd.opc + * This code doesn't support the brief 'opc_fuse' period. + */ +#if ((__FreeBSD_version > 1200038) || ((__FreeBSD_version > 1101510) && (__FreeBSD_version < 1200000))) + switch (page) { + case NVME_LOG_HEALTH_INFORMATION: + numd = (sizeof(struct nvme_health_information_page) / sizeof(uint32_t)); + break; + default: + /* Unsupported log page */ + return EINVAL; + } + + /* Subtract 1 because NUMD is a zero based value */ + numd--; + + nvmeio->cmd.opc = NVME_OPC_GET_LOG_PAGE; + nvmeio->cmd.nsid = NVME_GLOBAL_NAMESPACE_TAG; + nvmeio->cmd.cdw10 = page | (numd << 16); + + cam_fill_nvmeadmin(&ccb->nvmeio, + /* retries */1, + /* cbfcnp */NULL, + /* flags */CAM_DIR_IN, + /* data_ptr */buf, + /* dxfer_len */bsize, + /* timeout */5000); +#endif + return 0; +} + +/* + * Retrieve the SMART RETURN STATUS + * + * SMART RETURN STATUS provides the reliability status of the + * device and can be used as a high-level indication of health. + */ +static int32_t +__device_status_ata(smart_h h, union ccb *ccb) +{ + struct fbsd_smart *fsmart = h; + uint8_t *buf = NULL; + uint32_t page = 0; + uint8_t lba_high = 0, lba_mid = 0, device = 0, status = 0; + + if (fsmart->common.info.tunneled) { + struct ata_res_pass16 { + u_int16_t reserved[5]; + u_int8_t flags; + u_int8_t error; + u_int8_t sector_count_exp; + u_int8_t sector_count; + u_int8_t lba_low_exp; + u_int8_t lba_low; + u_int8_t lba_mid_exp; + u_int8_t lba_mid; + u_int8_t lba_high_exp; + u_int8_t lba_high; + u_int8_t device; + u_int8_t status; + } *res_pass16 = (struct ata_res_pass16 *)(uintptr_t) + &ccb->csio.sense_data; + + buf = ccb->csio.data_ptr; + page = ((struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes)->features; + lba_high = res_pass16->lba_high; + lba_mid = res_pass16->lba_mid; + device = res_pass16->device; + status = res_pass16->status; + + /* + * Note that this generates an expected CHECK CONDITION. + * Mask it so the outer function doesn't print an error + * message. + */ + ccb->ccb_h.status &= ~CAM_STATUS_MASK; + ccb->ccb_h.status |= CAM_REQ_CMP; + } else { + struct ccb_ataio *ataio = (struct ccb_ataio *)&ccb->ataio; + + buf = ataio->data_ptr; + page = ataio->cmd.features; + lba_high = ataio->res.lba_high; + lba_mid = ataio->res.lba_mid; + device = ataio->res.device; + status = ataio->res.status; + } + + switch (page) { + case PAGE_ID_ATA_SMART_RET_STATUS: + /* + * Typically, SMART related log pages return data, but this + * command is different in that the data is encoded in the + * result registers. + * + * Handle this in a UNIX-like way by writing a 0 (no errors) + * or 1 (threshold exceeded condition) to the output buffer. + */ + dprintf("SMART_RET_STATUS: lba mid=%#x high=%#x device=%#x status=%#x\n", + lba_mid, + lba_high, + device, + status); + if ((lba_high == 0x2c) && (lba_mid == 0xf4)) { + buf[0] = 1; + } else if ((lba_high == 0xc2) && (lba_mid == 0x4f)) { + buf[0] = 0; + } else { + /* Ruh-roh ... */ + buf[0] = 255; + } + break; + default: + ; + } + + return 0; +} + +int32_t +device_read_log(smart_h h, uint32_t page, void *buf, size_t bsize) +{ + struct fbsd_smart *fsmart = h; + union ccb *ccb = NULL; + int rc = 0; + + if (fsmart == NULL) + return EINVAL; + + dprintf("read log page %#x\n", page); + + ccb = cam_getccb(fsmart->camdev); + if (ccb == NULL) + return ENOMEM; + + CCB_CLEAR_ALL_EXCEPT_HDR(ccb); + + switch (fsmart->common.protocol) { + case SMART_PROTO_ATA: + rc = __device_read_ata(h, page, buf, bsize, ccb); + break; + case SMART_PROTO_SCSI: + rc = __device_read_scsi(h, page, buf, bsize, ccb); + break; + case SMART_PROTO_NVME: + rc = __device_read_nvme(h, page, buf, bsize, ccb); + break; + default: + warnx("unsupported protocol %d", fsmart->common.protocol); + cam_freeccb(ccb); + return ENODEV; + } + + if (rc) { + if (rc == EINVAL) + warnx("unsupported page %#x", page); + + return rc; + } + + if (((rc = cam_send_ccb(fsmart->camdev, ccb)) < 0) + || ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)) { + if (rc < 0) + warn("error sending command"); + } + + /* + * Most commands don't need any post-processing. But then there's + * ATA. It's why we can't have nice things :( + */ + switch (fsmart->common.protocol) { + case SMART_PROTO_ATA: + __device_status_ata(h, ccb); + break; + default: + ; + } + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + cam_error_print(fsmart->camdev, ccb, CAM_ESF_ALL, + CAM_EPF_ALL, stderr); + } + + cam_freeccb(ccb); + + return 0; +} + +/* + * The SCSI / ATA Translation (SAT) requires devices to support the ATA + * Information VPD Page (T10/2126-D Revision 04). Use the existence of + * this page to identify tunneled devices. + */ +static bool +__device_proto_tunneled(struct fbsd_smart *fsmart) +{ + union ccb *ccb = NULL; + struct scsi_vpd_supported_page_list supportedp; + uint32_t i; + bool is_tunneled = false; + + if (fsmart->common.protocol != SMART_PROTO_SCSI) { + return false; + } + + ccb = cam_getccb(fsmart->camdev); + if (!ccb) { + warn("Allocation failure ccb=%p", ccb); + goto __device_proto_tunneled_out; + } + + scsi_inquiry(&ccb->csio, + 3, // retries + NULL, // callback function + MSG_SIMPLE_Q_TAG, // tag action + (uint8_t *)&supportedp, + sizeof(struct scsi_vpd_supported_page_list), + 1, // EVPD + SVPD_SUPPORTED_PAGE_LIST, // page code + SSD_FULL_SIZE, // sense length + 5000); // timeout + + ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; + + if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && + ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { + dprintf("Looking for page %#x (total = %u):\n", SVPD_ATA_INFORMATION, + supportedp.length); + for (i = 0; i < supportedp.length; i++) { + dprintf("\t[%u] = %#x\n", i, supportedp.list[i]); + if (supportedp.list[i] == SVPD_ATA_INFORMATION) { + is_tunneled = true; + break; + } + } + } + + cam_freeccb(ccb); + +__device_proto_tunneled_out: + return is_tunneled; +} + +/** + * Retrieve the device protocol type via the transport settings + * + * @return protocol type or SMART_PROTO_MAX on error + */ +static smart_protocol_e +__device_get_proto(struct fbsd_smart *fsmart) +{ + smart_protocol_e proto = SMART_PROTO_MAX; + union ccb *ccb; + + if (!fsmart || !fsmart->camdev) { + warn("Bad handle %p", fsmart); + return proto; + } + + ccb = cam_getccb(fsmart->camdev); + if (ccb != NULL) { + CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->cts); + + ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; + ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; + + if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + struct ccb_trans_settings *cts = &ccb->cts; + + switch (cts->protocol) { + case PROTO_ATA: + proto = SMART_PROTO_ATA; + break; + case PROTO_SCSI: + proto = SMART_PROTO_SCSI; + break; + case PROTO_NVME: + proto = SMART_PROTO_NVME; + break; + default: + printf("%s: unknown protocol %d\n", + __func__, + cts->protocol); + } + } + } + + cam_freeccb(ccb); + } + + return proto; +} + +static int32_t +__device_info_ata(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) +{ + smart_info_t *sinfo = NULL; + + if (!fsmart || !cgd) { + return -1; + } + + sinfo = &fsmart->common.info; + + sinfo->supported = cgd->ident_data.support.command1 & + ATA_SUPPORT_SMART; + + dprintf("ATA command1 = %#x\n", cgd->ident_data.support.command1); + + cam_strvis((uint8_t *)sinfo->device, cgd->ident_data.model, + sizeof(cgd->ident_data.model), + sizeof(sinfo->device)); + cam_strvis((uint8_t *)sinfo->rev, cgd->ident_data.revision, + sizeof(cgd->ident_data.revision), + sizeof(sinfo->rev)); + cam_strvis((uint8_t *)sinfo->serial, cgd->ident_data.serial, + sizeof(cgd->ident_data.serial), + sizeof(sinfo->serial)); + + return 0; +} + +static int32_t +__device_info_scsi(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) +{ + smart_info_t *sinfo = NULL; + union ccb *ccb = NULL; + struct scsi_vpd_unit_serial_number *snum = NULL; + struct scsi_log_informational_exceptions ie = {0}; + + if (!fsmart || !cgd) { + return -1; + } + + sinfo = &fsmart->common.info; + + cam_strvis((uint8_t *)sinfo->vendor, (uint8_t *)cgd->inq_data.vendor, + sizeof(cgd->inq_data.vendor), + sizeof(sinfo->vendor)); + cam_strvis((uint8_t *)sinfo->device, (uint8_t *)cgd->inq_data.product, + sizeof(cgd->inq_data.product), + sizeof(sinfo->device)); + cam_strvis((uint8_t *)sinfo->rev, (uint8_t *)cgd->inq_data.revision, + sizeof(cgd->inq_data.revision), + sizeof(sinfo->rev)); + + ccb = cam_getccb(fsmart->camdev); + snum = malloc(sizeof(struct scsi_vpd_unit_serial_number)); + if (!ccb || !snum) { + warn("Allocation failure ccb=%p snum=%p", ccb, snum); + goto __device_info_scsi_out; + } + + /* Get the serial number */ + CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->csio); + + scsi_inquiry(&ccb->csio, + 3, // retries + NULL, // callback function + MSG_SIMPLE_Q_TAG, // tag action + (uint8_t *)snum, + sizeof(struct scsi_vpd_unit_serial_number), + 1, // EVPD + SVPD_UNIT_SERIAL_NUMBER, // page code + SSD_FULL_SIZE, // sense length + 5000); // timeout + + ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; + + if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && + ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { + cam_strvis((uint8_t *)sinfo->serial, snum->serial_num, + snum->length, + sizeof(sinfo->serial)); + sinfo->serial[sizeof(sinfo->serial) - 1] = '\0'; + } + + memset(ccb, 0, sizeof(*ccb)); + + scsi_log_sense(&ccb->csio, + /* retries */1, + /* cbfcnp */NULL, + /* tag_action */0, + /* page_code */SLS_PAGE_CTRL_CUMULATIVE, + /* page */SLS_IE_PAGE, + /* save_pages */0, + /* ppc */0, + /* paramptr */0, + /* param_buf */(uint8_t *)&ie, + /* param_len */sizeof(ie), + /* sense_len */0, + /* timeout */5000); + + /* + * Note: The existance of the Informational Exceptions (IE) log page + * appears to be the litmus test for SMART support in SCSI + * devices. Confusingly, smartctl will report SMART health + * status as 'OK' if the device doesn't support the IE page. + * For now, just report the facts. + */ + if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && + ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { + if ((ie.hdr.param_len < 4) || ie.ie_asc || ie.ie_ascq) { + printf("Log Sense, Informational Exceptions failed " + "(length=%u asc=%#x ascq=%#x)\n", + ie.hdr.param_len, ie.ie_asc, ie.ie_ascq); + } else { + sinfo->supported = true; + } + } + +__device_info_scsi_out: + free(snum); + if (ccb) + cam_freeccb(ccb); + + return 0; +} + +static int32_t +__device_info_nvme(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) +{ + union ccb *ccb; + smart_info_t *sinfo = NULL; + struct nvme_controller_data cd; + + if (!fsmart || !cgd) { + return -1; + } + + sinfo = &fsmart->common.info; + + sinfo->supported = true; + + ccb = cam_getccb(fsmart->camdev); + if (ccb != NULL) { + struct ccb_dev_advinfo *cdai = &ccb->cdai; + + CCB_CLEAR_ALL_EXCEPT_HDR(cdai); + + cdai->ccb_h.func_code = XPT_DEV_ADVINFO; + cdai->ccb_h.flags = CAM_DIR_IN; + cdai->flags = CDAI_FLAG_NONE; +#ifdef CDAI_TYPE_NVME_CNTRL + cdai->buftype = CDAI_TYPE_NVME_CNTRL; +#else + cdai->buftype = 6; +#endif + cdai->bufsiz = sizeof(struct nvme_controller_data); + cdai->buf = (uint8_t *)&cd; + + if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + cam_strvis((uint8_t *)sinfo->device, cd.mn, + sizeof(cd.mn), + sizeof(sinfo->device)); + cam_strvis((uint8_t *)sinfo->rev, cd.fr, + sizeof(cd.fr), + sizeof(sinfo->rev)); + cam_strvis((uint8_t *)sinfo->serial, cd.sn, + sizeof(cd.sn), + sizeof(sinfo->serial)); + } + } + + cam_freeccb(ccb); + } + + return 0; +} + +static int32_t +__device_info_tunneled_ata(struct fbsd_smart *fsmart) +{ + struct ata_params ident_data; + union ccb *ccb = NULL; + struct ata_pass_16 *ata_pass_16; + struct ata_cmd ata_cmd; + int32_t rc = -1; + + ccb = cam_getccb(fsmart->camdev); + if (ccb == NULL) { + goto __device_info_tunneled_ata_out; + } + + memset(&ident_data, 0, sizeof(struct ata_params)); + + CCB_CLEAR_ALL_EXCEPT_HDR(ccb); + + scsi_ata_pass_16(&ccb->csio, + /*retries*/ 1, + /*cbfcnp*/ NULL, + /*flags*/ CAM_DIR_IN, + /*tag_action*/ MSG_SIMPLE_Q_TAG, + /*protocol*/ AP_PROTO_PIO_IN, + /*ata_flags*/ AP_FLAG_TLEN_SECT_CNT | + AP_FLAG_BYT_BLOK_BLOCKS | + AP_FLAG_TDIR_FROM_DEV, + /*features*/ 0, + /*sector_count*/sizeof(struct ata_params), + /*lba*/ 0, + /*command*/ ATA_ATA_IDENTIFY, + /*control*/ 0, + /*data_ptr*/ (uint8_t *)&ident_data, + /*dxfer_len*/ sizeof(struct ata_params), + /*sense_len*/ SSD_FULL_SIZE, + /*timeout*/ 5000 + ); + + ata_pass_16 = (struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes; + ata_cmd.command = ata_pass_16->command; + ata_cmd.control = ata_pass_16->control; + ata_cmd.features = ata_pass_16->features; + + rc = cam_send_ccb(fsmart->camdev, ccb); + if (rc != 0) { + warnx("%s: scsi_ata_pass_16() failed (programmer error?)", + __func__); + goto __device_info_tunneled_ata_out; + } + + fsmart->common.info.supported = ident_data.support.command1 & + ATA_SUPPORT_SMART; + + dprintf("ATA command1 = %#x\n", ident_data.support.command1); + +__device_info_tunneled_ata_out: + if (ccb) { + cam_freeccb(ccb); + } + + return rc; +} + +/** + * Retrieve the device information and use to populate the info structure + */ +static int32_t +__device_get_info(struct fbsd_smart *fsmart) +{ + union ccb *ccb; + int32_t rc = -1; + + if (!fsmart || !fsmart->camdev) { + warn("Bad handle %p", fsmart); + return -1; + } + + ccb = cam_getccb(fsmart->camdev); + if (ccb != NULL) { + struct ccb_getdev *cgd = &ccb->cgd; + + CCB_CLEAR_ALL_EXCEPT_HDR(cgd); + + /* + * GDEV_TYPE doesn't support NVMe. What we do get is: + * - device (ata/model, scsi/product) + * - revision (ata, scsi) + * - serial (ata) + * - vendor (scsi) + * - supported (ata) + * + * Serial # for all proto via ccb_dev_advinfo (buftype CDAI_TYPE_SERIAL_NUM) + */ + ccb->ccb_h.func_code = XPT_GDEV_TYPE; + + if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + switch (cgd->protocol) { + case PROTO_ATA: + rc = __device_info_ata(fsmart, cgd); + break; + case PROTO_SCSI: + rc = __device_info_scsi(fsmart, cgd); + if (!rc && fsmart->common.protocol == SMART_PROTO_ATA) { + rc = __device_info_tunneled_ata(fsmart); + } + break; + case PROTO_NVME: + rc = __device_info_nvme(fsmart, cgd); + break; + default: + printf("%s: unsupported protocol %d\n", + __func__, cgd->protocol); + } + } + } + + cam_freeccb(ccb); + } + + return rc; +} diff --git a/contrib/smart/libsmart.c b/contrib/smart/libsmart.c new file mode 100644 index 000000000000..a1732de09ed9 --- /dev/null +++ b/contrib/smart/libsmart.c @@ -0,0 +1,1359 @@ +/* + * Copyright (c) 2016-2026 Chuck Tuffli + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#include *** 2517 LINES SKIPPED *** From nobody Tue Apr 28 17:28:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nTC23Kwz6bpxW for ; Tue, 28 Apr 2026 17:28: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 4g4nTC1Rlvz3gxj for ; Tue, 28 Apr 2026 17:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zfMShzDtFMkAZ9xlgnqduQXeo4dK9gY4NSzKDXovj9w=; b=LLhckemaqiVIL/OBe8gEXLzpipUI91UaKDPjvHojYKYhox+zSlI3CBmwNhaeuREtQuLpEl GNHfUoVemT02BFOtnAnRR/kU2cKX085XyBiWNfytxQ3oNNF1oOHyUmwiwSpZAJ0FRLCvYi CGvmKyjjOf/gK6KXUh5iKc4SHibIJVzmcIS2b92KqhOsOvm6qIdiL5G4gZoQUZI4W0iSz/ /c3xbkAA+rWyMkBnzuTf+cpXqJhPr8o3ffbpSy9wEnK0v89hXXbA9Sf+W2ff6g/zlm1xtt DnFinXPxkd0lf4MaSnPfMYVUbMqyI3q9Z8F8I4mIpKUHW3BhdcLBXeXz6R22GA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777397295; a=rsa-sha256; cv=none; b=Ce4CbEGVOHZLY9DVUiuXAnBiuuCdyGJvtjVmyUNgsu3rnbPoG+ABiSUJJdEPdjD5BK+fap 0lF4LwXEMH96WkL6QCPBHffvjbO/BSPbLZvk0zFCT6FiR6LxlU8BzToEOUzaEhgwxpUaKr jaIZtmeTZ52cTM+X0bDQ7EskOnYCpsX5ZzaxqRlyT4ZVNVDDTog1YjZBXOuQ/DNxP1R4gV mEaqpaSOmMGdGwu/TZtx+zmZss3W+YTgX5V++bdw5l+1KcGRUVqaIUG7qy2N0j8QKpO1wK d7mZNMnQFnZDHZOffbdrGdW4ibRIxTF0fZeZm+RrLEZEW5hrKhUWg0tubZxx1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zfMShzDtFMkAZ9xlgnqduQXeo4dK9gY4NSzKDXovj9w=; b=Oo+vFQ/4AWVj8xe4t4hANKKM8vSrSfXiTN5gqzg1bj0ARZm9xM4fzamvXQTxPBlKuJN/MN siBEACXaa1vpDWWsc51yUySPNcbU7oSQGWwYEodf6eyki9Khmnc8BK8P3DejRZbgmCa398 QoOS/drzCnh6rY8R6RxG+C5iwnrOHJt6TU4unJaWw5IU/VzLdTlLzmuxEjqmcRIfisj2EN UaVRFJvYTkNyVr8uq4BWByNjYGkxctJG3P/olvgY5OqQCFacea5E248n0w/ioO8Zb7uqLk KNXEDx6HTDVeTVbQG+93Vazf/Co0fEVXp7qwKfyRzgnNrgNlf3E6xd+U8/+OQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4nTC10bqz13KZ for ; Tue, 28 Apr 2026 17:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d43a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 17:28:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 41c5a4a2f888 - main - sys.net.if_wg.wg_key_peerdev_makeshared: Add require metadata List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41c5a4a2f888765b513efb13befe32fa084ad7cb Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 17:28:09 +0000 Message-Id: <69f0ee29.1d43a.6c66521d@gitrepo.freebsd.org> The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=41c5a4a2f888765b513efb13befe32fa084ad7cb commit 41c5a4a2f888765b513efb13befe32fa084ad7cb Author: Li-Wen Hsu AuthorDate: 2026-04-28 17:06:25 +0000 Commit: Li-Wen Hsu CommitDate: 2026-04-28 17:27:26 +0000 sys.net.if_wg.wg_key_peerdev_makeshared: Add require metadata Add require.user root and require.kmods if_wg to wg_key_peerdev_makeshared_head(), consistent with the other wg tests. Without if_wg.ko causes ifconfig wg create to fail with EINVAL. The test also needs root to create jails. Sponsored by: The FreeBSD Foundation --- tests/sys/net/if_wg.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/sys/net/if_wg.sh b/tests/sys/net/if_wg.sh index 8af05fc76b19..c7b7e1663a2e 100644 --- a/tests/sys/net/if_wg.sh +++ b/tests/sys/net/if_wg.sh @@ -303,7 +303,8 @@ atf_test_case "wg_key_peerdev_makeshared" "cleanup" wg_key_peerdev_makeshared_head() { atf_set descr 'Create a wg(4) interface and assign peer key to device' - atf_set require.progs wg + atf_set require.user root + atf_set require.kmods if_wg } wg_key_peerdev_makeshared_body() From nobody Tue Apr 28 17:32:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nYs3BNbz6bq2P for ; Tue, 28 Apr 2026 17:32: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 4g4nYs0YhYz3hm2 for ; Tue, 28 Apr 2026 17:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hpwIT74gcLeL48LLiL8PiI/txrajdXc73wbmuTi1wQ=; b=L4s8QsXmw67+EDvoobS+o1W0NZE5rVicAgoo01PCEoNngpp6qTUxh6Y7L7Pm6oXSRhMda1 ZmERKNI7rP7UzNPzb3sDlamxYc21x7Lv2U70tPvw3czohxb7sJ/igFvxNUmENYIsNRPjU7 I4WKnRupGD1UPt40qTcOaFGV/UPNc5WAmNhFyJjbVQnaQL1UlYjfAQiXueKkhN2M/3g++t uvxnG5tyK3mZdVLI5bzWg1eQBnUE0AYHGg0TBmn8XOH/lHfuwyJ0pAaFtPDmUAzmD/9fHe jKRPfDtYmPcMdTyLYPdw2XFD4mATEpgGzvhUWzBv8W88qe94yhQhFMEYait97A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777397537; a=rsa-sha256; cv=none; b=Cv140bYBIbNcLmwvpOAGfPYgpIissiqiAooU6sXAI1a3JOZzpfYm2nXi5LGkV0UNL77PW/ pCFZ9s7rppnHN0RnHgvM5iSM+MdNb/Om0c9q16K3p5kPPPcf1Vpj7RCPTjEafGu2zGh4ri qLf4iPMP9zK96f0ve1p4oL1sHFt9ohdj3uk8CfbkVYmCWPvei9/Nut4eLMMOyfrnXg+sJ8 VsBrOb80k/zsOdx16+QrP+UXM4aRvQ7xWi8s7szmDTAvNPVxASZ3Tl4aZJSewZT0MyMyU4 GG3oXLhVFub1fpIqTWTSeEewRBqvpnVNrU4eR87UdLgktRWTvbyf3iWPY0DLdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+hpwIT74gcLeL48LLiL8PiI/txrajdXc73wbmuTi1wQ=; b=X1fgySSqyqhIXDtdQQmN/yPVJ7WdIWKGadVIGB6bRWwT0fV/1OXhUbuNQvr5t6hq1oKvSB BqFMsWW1cDTSlelvpcZzZ4Q8RG4eM2xYdORb0Tpev2awgkIgg+XusTYI7bLpCTBGNdgCzg RBpJjilQ/8YQ69ItKCM/JZdi5ZRk/Vchqou1qF/412D8Lp1qSezA8iNaKiAuMZbM6wTSnH HsnqLo/AEuTpvQpDvWJYRyzGk6JOYM0s9HfXlAXaAZ1t+B9qmEnAWVr0hL2g4n4xyO2RUY UEdS66CHUFuDD2C3BwWO4XbzsI4e2ki5wMZmn/ts5PVpcU7P815x9u8W7S+5bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4nYr61WVz13ZB for ; Tue, 28 Apr 2026 17:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e12e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 17:32:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c1650792b8dd - main - reallocarray.3: Fix formatting List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1650792b8dd354c964b55999a712f5ae2ad6c0b Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 17:32:16 +0000 Message-Id: <69f0ef20.1e12e.3916c92@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c1650792b8dd354c964b55999a712f5ae2ad6c0b commit c1650792b8dd354c964b55999a712f5ae2ad6c0b Author: Mark Johnston AuthorDate: 2026-04-28 17:30:46 +0000 Commit: Mark Johnston CommitDate: 2026-04-28 17:30:46 +0000 reallocarray.3: Fix formatting --- lib/libc/stdlib/reallocarray.3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/stdlib/reallocarray.3 b/lib/libc/stdlib/reallocarray.3 index d72513c2f301..9f95a6708c86 100644 --- a/lib/libc/stdlib/reallocarray.3 +++ b/lib/libc/stdlib/reallocarray.3 @@ -39,7 +39,7 @@ .Ft void * .Fn reallocarray "void *ptr" "size_t nmemb" "size_t size" .Ft void * -.Fn recallocarray "void *ptr" "size_t oldnmeb" "size_t nmemb" size_t size" +.Fn recallocarray "void *ptr" "size_t oldnmeb" "size_t nmemb" "size_t size" .Sh DESCRIPTION The .Fn reallocarray From nobody Tue Apr 28 17:45:35 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nsJ65Mgz6br51 for ; Tue, 28 Apr 2026 17:45: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 4g4nsJ58kGz3kvy for ; Tue, 28 Apr 2026 17:45:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777398340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvAWwnPv29ELXTd5mMphTCwq9i2SitlS052qN7U6cN8=; b=kNKRR7XZKWo6m8aYqJSbJUEAChcfMSf3k2d6Qw43aolxUAbWA1XLbl6nS+j/fEr5HV1vpZ szgKSxKPdguesx6FTDOKzSiprA9mMrd6LH7ysQCRaqkVWGDx7DV3In5TiCtAfdSsDHbssZ D/JUNOyFn68/5PBIbRTchyIWRvkxjKgHPyPNPn7GN9kC/U9z+hhrY14zOHATYZgacIIPmQ dpvls2hDTXaobDp8tnEtjZwy7ivuHDA789dC46Db7uicQ6uNF86bzN318+2+jRVDioGbog ezQJ0Lu+OFkPYW71NqFFGkOWssW+DyMxW8uQBFiN4Wx9/0zlLPsjN2mjOSneVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777398340; a=rsa-sha256; cv=none; b=EoB+feWL3GupOxWg3fa/m6Ui3UVYlqPBqn+jjAMtwayk3WFVnZ3CwPRxziaGjVLlX/G9wQ 0z/oKZZdEV7t0f9dfqAEXtGI+ksEVQDvn90EJ3isalEvVjWZrfs5Rm+YAcQnamiEx3HLcF 4oCB6jLwnWw2a1BVYyBwvVx+QH4migCEEw2sQV3zgpLsTSzmtWcc5imxc4eXqYzGzdKGRD 9QMZvyAm/bXZzZ4ADuJWbL8QDiUzQ54DSwwVOJQBh5CCfEE5dyj87qq4nuEsYkpBVpYATC t8KMVqNywHzSPafquQG1Wj4kTXtv5Z6Emc7O5Wht/Lxb+sWg5Dlo+rFB4X4rzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777398340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvAWwnPv29ELXTd5mMphTCwq9i2SitlS052qN7U6cN8=; b=w804v9LcjoHBnJNln5fjf+iI3u2uZOtuaa/APWgZV3UNkjmU5rPulBrhdxF205nt1AwTW7 PrXB1HbKLx1PgC6FgyQICpv+Vv3MuhxwvhfenycoIt4oWb+x8LbyNKNxYPMJ5WRD3qVhz0 A8GDo44msoddwY5f0GdengfrB8ugcgkwpOhTxvYK5J8sf/QrScjhUVupYUbnhlldK195fc JS9OMj81jW5XTIU6dYAjz/6rHcz2+o0DUeWoK5xV1laI7cEs/gIlSdr+eDhQAlla8XAmjG gbQ+ZT1N7dEL4vDIl1ADzauYHGaoajEfoMrlA92r8XaXTdsUnPc+jJD26qAxQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4nsJ4W8Vz13vJ for ; Tue, 28 Apr 2026 17:45:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f6b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 17:45:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: d5db883af2cc - main - group.7: spell priority List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5db883af2cc46bf884ba3fd067cec68f44fc66d Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 17:45:35 +0000 Message-Id: <69f0f23f.1f6b7.13e5d3ea@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=d5db883af2cc46bf884ba3fd067cec68f44fc66d commit d5db883af2cc46bf884ba3fd067cec68f44fc66d Author: Maxim Konovalov AuthorDate: 2026-04-28 17:44:40 +0000 Commit: Maxim Konovalov CommitDate: 2026-04-28 17:44:40 +0000 group.7: spell priority --- share/man/man7/groups.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man7/groups.7 b/share/man/man7/groups.7 index 822717d68983..d928dbb41e0f 100644 --- a/share/man/man7/groups.7 +++ b/share/man/man7/groups.7 @@ -191,7 +191,7 @@ See .Xr drm 7 . .It Em realtime Used by -.Xr mac_priotiry 4 +.Xr mac_priority 4 to allow members of this group to run threads and processes with realtime scheduling priority. See also From nobody Tue Apr 28 18:09:47 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4pPC0nVjz6bsg3; Tue, 28 Apr 2026 18:09:51 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta003.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4pPB5DLsz3phQ; Tue, 28 Apr 2026 18:09:50 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4003b.ext.cloudfilter.net ([10.228.9.157]) by cmsmtp with ESMTPS id HhkgwimK6k14SHmsXwrqHG; Tue, 28 Apr 2026 18:09:49 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id HmsWwevivg0nEHmsWwRAo2; Tue, 28 Apr 2026 18:09:49 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=C4/kCAP+ c=1 sm=1 tr=0 ts=69f0f7ed a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=A5OVakUREuEA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=EJljjqSEowUF25AHfkwA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy.cwsent.com [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id A6C3930C; Tue, 28 Apr 2026 11:09:47 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 83C47130; Tue, 28 Apr 2026 11:09:47 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Chuck Tuffli cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 In-reply-to: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> Comments: In-reply-to Chuck Tuffli message dated "Tue, 28 Apr 2026 17:10:36 -0000." List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 28 Apr 2026 11:09:47 -0700 Message-Id: <20260428180947.83C47130@slippy.cwsent.com> X-CMAE-Envelope: MS4xfLcJhf+6FJU4/Sy/S9L89Oqk37oYxMHzykdhpdlz9WQn3oN894C7e8mxolgA8YBmq/m5xWi+SMpritqwwWXDT9nLzBIfpiKlmegvXzmW7SrKYJaiQa/N qSaJgDq43NAxmKn7eOFqz6p2wSfAhtC6Ak7cOFV3ePfzP/Ol/MlH1/yiElBTpQSOpztbRr66Cy1BSwooby7AJmYcvdhRNO2GLueYdh5pPm7gu9NEa+ZjzjCL t+cQTpWAawbbM3omKKMq++xRHI9YkmUBl6D8Cjiplv1nfQagI9M5AqohGhsPnDnF9KTtQ2lhidoxUn/WNWKhs+yNAgR/onBrU5mOYwYBPQQ= X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US] X-Rspamd-Queue-Id: 4g4pPB5DLsz3phQ X-Spamd-Bar: ---- In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuffli writes: > The branch main has been updated by chuck: > > URL: https://cgit.FreeBSD.org/src/commit/?id=68e5b71517e947b4e3f349c970af362b > 47b45f27 > > commit 68e5b71517e947b4e3f349c970af362b47b45f27 > Author: Chuck Tuffli > AuthorDate: 2026-04-28 16:55:50 +0000 > Commit: Chuck Tuffli > CommitDate: 2026-04-28 17:08:27 +0000 > > Vendor import of smart at 1.0.2 > > smart/diskhealth is a command line application to monitor disk health > from a storage device via SMART. > > Reviewed by: fuz, jrm > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D56638 > --- > contrib/smart/Changelog | 37 ++ > contrib/smart/LICENSE | 13 + > contrib/smart/Makefile | 26 + > contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ > contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++++++++++++ > ++ > contrib/smart/libsmart.h | 174 ++++++ > contrib/smart/libsmart_desc.c | 158 +++++ > contrib/smart/libsmart_dev.h | 60 ++ > contrib/smart/libsmart_priv.h | 83 +++ > contrib/smart/smart.8 | 245 ++++++++ > contrib/smart/smart.c | 334 ++++++++++ > packages/Makefile | 1 + > packages/smart/Makefile | 4 + > packages/smart/smart.ucl | 30 + > usr.sbin/Makefile | 1 + > usr.sbin/smart/Makefile | 8 + > 16 files changed, 3361 insertions(+) Why are we doing vendor imports directly to contrib/? Is this a new procedure, do we not need to use the vendor branch anymore? -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e**(i*pi)+1=0 From nobody Tue Apr 28 18:21:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4pfr05Pxz6btgj for ; Tue, 28 Apr 2026 18:21:40 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4pfq52GGz3rM8 for ; Tue, 28 Apr 2026 18:21:39 +0000 (UTC) (envelope-from ctuffli@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-82d0b68837aso6999909b3a.2 for ; Tue, 28 Apr 2026 11:21:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777400498; x=1778005298; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ocBzdZ9ebM2qkPhKCYwPV67/2QPQ4oB2BBkDMWmRt5o=; b=qNBKNyERWAyCFafWdM0eLWHqW+3I6aDBONwvnmn8G6dvUtzdYkGOeoLz1lWDcJGkUt d/J2JOvZfsJQMWyJBjHO0Ac7w4MXc4lEyJiMDXwDwNNw6yFqQr5qAS5CaX5WIhxjDn3J JiMA+YrSjeUp2c4+MDub04zIfFHTNFcCrf1JZcOToKTRiKPJ2935OfrA5cme3YQg4AsG Jp5bIMR54HUY3ySJNgXtkc9Ez7zrp0iQUwrlyUtoOXIZUILC/gwajAcwum83jUjmJ+gA jG8QbGKaQhFmyRtFEKxVlSZLSevQWMEJ/inbEAw0f+JpdkpzZ2DZ9dQSmtidFNEixJp5 spBA== X-Forwarded-Encrypted: i=1; AFNElJ8COIzLtWbPRqZ4rGrwooCiWM3K2vxLWzmU4o6u+xrCzclzfMiCXk8iwA99M4vI2FqLIbdSkk7VzKCJaDC8mn0BJUmT@freebsd.org X-Gm-Message-State: AOJu0YzI7N7DxRsZem9QNY5Do2l/zxuq6x77rwq3EJvPABKWfjn2Xykw gB33wAy3WvQ+MWfU+GAlNVg1PYK3mMBAKGqQSPHjffFsZLQsbQ1xNPeYt/DhqA== X-Gm-Gg: AeBDies2zSD9hBYqMCQ2SGT2Zg1Gs8x0VoLu+QDVIMX3A9RrhTtwsIxvxgDWRKETWpB iiU88NN7QMd2URl+jHb3dz9RAOsaAyZTAnvALhItGemrWadcMoZDQGD/L8so/CQDQhZ86L6GcMe LFTDFlC0e5H3iZEGLt5HlH5llgS8eDC8DwHLunBS/lrhunqCvO3ERFlc1nODpxuiMBcJlszZ+VZ 3jIQDk/jl2BidK8cqMkupoMLQqlwl1wHDGfLcehMSOwg6pt31GxMtjIxhp0gmQStE2+GbOwdXL7 xeoNEjOKNZ3L0n/OmlennOZiSuPNtXQefAbXt2V0zcarXoOE115BtI2Rn0pyxiROiypPEJoeFQL gOhr9WsPF58u1f/j580VhCMgRIJ2iJ3sv5gB/UoVYTk2DXr5WClOub9CssxZQbLPy7zUDl8nYdh VE/3RriT4y4wuGEeEVYQT9IxrG6ioJfz62SY6g8NgQInyY7n/zjuXagvf5fE4plQjOchU= X-Received: by 2002:a05:6a20:4f96:b0:3a3:a9c4:3d60 with SMTP id adf61e73a8af0-3a3a9c47ec3mr1654458637.27.1777400498135; Tue, 28 Apr 2026 11:21:38 -0700 (PDT) Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com. [209.85.216.44]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7fc2baa0d6sm3089661a12.14.2026.04.28.11.21.37 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Apr 2026 11:21:38 -0700 (PDT) Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-35d94f4ee36so7146756a91.3 for ; Tue, 28 Apr 2026 11:21:37 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ9vAculM3PGU403Pj9J8BSANS8RmJMQpjM8ODFpY0G3XjaYe6RxFw2hv24Y6NIxlqIr1dYW3TM69z/xEiNjV4yqqlYa@freebsd.org X-Received: by 2002:a17:90b:4b90:b0:35e:58d3:3286 with SMTP id 98e67ed59e1d1-364920417b7mr4399801a91.24.1777400497661; Tue, 28 Apr 2026 11:21:37 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> <20260428180947.83C47130@slippy.cwsent.com> In-Reply-To: <20260428180947.83C47130@slippy.cwsent.com> From: Chuck Tuffli Date: Tue, 28 Apr 2026 11:21:26 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4L4ijm9cEQkgzNjVJfnVQnJN5dMbunA8HuksnHlisfSP3HWS4_K6iNNHeo Message-ID: Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 To: Cy Schubert Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g4pfq52GGz3rM8 X-Spamd-Bar: ---- On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert wrote: > > In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuffli > writes: > > The branch main has been updated by chuck: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f349c9= 70af362b > > 47b45f27 > > > > commit 68e5b71517e947b4e3f349c970af362b47b45f27 > > Author: Chuck Tuffli > > AuthorDate: 2026-04-28 16:55:50 +0000 > > Commit: Chuck Tuffli > > CommitDate: 2026-04-28 17:08:27 +0000 > > > > Vendor import of smart at 1.0.2 > > > > smart/diskhealth is a command line application to monitor disk heal= th > > from a storage device via SMART. > > > > Reviewed by: fuz, jrm > > Relnotes: yes > > Differential Revision: https://reviews.freebsd.org/D56638 > > --- > > contrib/smart/Changelog | 37 ++ > > contrib/smart/LICENSE | 13 + > > contrib/smart/Makefile | 26 + > > contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ > > contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++++++= ++++++ > > ++ > > contrib/smart/libsmart.h | 174 ++++++ > > contrib/smart/libsmart_desc.c | 158 +++++ > > contrib/smart/libsmart_dev.h | 60 ++ > > contrib/smart/libsmart_priv.h | 83 +++ > > contrib/smart/smart.8 | 245 ++++++++ > > contrib/smart/smart.c | 334 ++++++++++ > > packages/Makefile | 1 + > > packages/smart/Makefile | 4 + > > packages/smart/smart.ucl | 30 + > > usr.sbin/Makefile | 1 + > > usr.sbin/smart/Makefile | 8 + > > 16 files changed, 3361 insertions(+) > > Why are we doing vendor imports directly to contrib/? Is this a new > procedure, do we not need to use the vendor branch anymore? Sorry, this is new territory for me, and I may have goofed. My understanding was the upstream code lives in a vendor/* branch (which I forgot to push) and the contents are copied to the contrib/* directory and then committed. If this isn't the right thing to do, let me know how to fix this. --chuck From nobody Tue Apr 28 18:40:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4q4y5fcnz6bwC7 for ; Tue, 28 Apr 2026 18:40:50 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4q4y3HQFz3tkl for ; Tue, 28 Apr 2026 18:40:45 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4891cd41959so100956505e9.3 for ; Tue, 28 Apr 2026 11:40:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777401644; x=1778006444; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=OnsVW3lXMJyavPJsdxDntC6ttqHoMKHQOklNTxkH0NY=; b=lF0qMjLff5PxShaTSg15pm8QrZGJ+SXw49cuXpD8MHbs9DZe9RHj3+oNyApuX2EbzQ AmxzcPQhrSxvvHAbriTQf14sfcsLQUyiXjVSzhOFwEATNNbXOMRh35gKjrpYxpR674mO 8XkeTKMpThBcNjbbHSsZu4PZ2xGMIGl8kSkZCupNmvBcEkgAZWUVjbW9qm1PTfStauop W1XZN6PqWPOMICVoV5ybfI618musUX7DITkTXVCGS0f55RfsIrWF1XrwO12QdyD1yIxl anNkbCZY8SuNE2htzJ5XrHZWSReYv4d+alcXddbmdg4+p3zjyBiH6Sq13KFu37S5tmzC UXPA== X-Forwarded-Encrypted: i=1; AFNElJ+gWSpjCqEyjrzjARRpiazFTAVz5aHjYtGXz08lzUCBMYvkGxvxDH0AwauCD/8swIimpuXK/p4n2hIMPbS0WiJ6sBHJ@freebsd.org X-Gm-Message-State: AOJu0YwzHZpAXBWh9HHXwxwS5WJNwJMVanyKVQrkHIp9jtngAV7uGPPD 5ZEtpV+CX8NiGhp7dgIOPQzzGjUy3Nz4LS374wokDJT/CJcgkOrxBNf5bsn639ZA2Jw= X-Gm-Gg: AeBDieuXw6FsI2wQjTrjMUwhnh7akAIufHwVkpWlniN35yfv6griYV/CQUQDPUFTdc1 /Tmu11wCkVGkfd0eM2j0Cbq/ZC1TYBDSHO/I0kBJNvqoy2H9vtIR5CJUytHI2vYlaYUYeGcP1ZF dcb5sim3tgFqrzTDBXTytRSRQdxCXQx+wjWztNlYLujmfLzER0YkFxOUXwidybXXVN/k+O6NyQ6 yhAR0G/ho0D1r0f1RbLC4kmB2Y2opDflA9A1caKD0uIPkm7F0+zgVFDDfeGVWO6JdKZbrflLdIS +fk9ITBiqtUrwIyo2zalHDbIYU/BpFzWHSh4vzBRVKuMIq9v2lRlb7kjIi06GDuoq8NqsmG2RWX 1JFqSbsKSy88l8Zi19V+m4rIZX15c5fDHZafmdxdzSe3YiCYTeCYL0jGvXNi18htfOYncFl+2NC 42HQIzUIFVol6lNpYrYy6JYsmbXHCVU11JdsD3flzXUgPZorI/MjQxyU3JlMfRL6+ZqOTnlw3Gx 4FCzg== X-Received: by 2002:a05:600c:5494:b0:488:ffad:6728 with SMTP id 5b1f17b1804b1-48a77b05c77mr74398405e9.19.1777401643761; Tue, 28 Apr 2026 11:40:43 -0700 (PDT) Received: from smtpclient.apple (nat-184-78.net.cam.ac.uk. [131.111.184.78]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7bc8518dsm3608785e9.4.2026.04.28.11.40.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2026 11:40:43 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 From: Jessica Clarke In-Reply-To: Date: Tue, 28 Apr 2026 19:40:31 +0100 Cc: Chuck Tuffli , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> <20260428180947.83C47130@slippy.cwsent.com> To: Robert Clausecker X-Mailer: Apple Mail (2.3864.400.21) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g4q4y3HQFz3tkl X-Spamd-Bar: ---- On 28 Apr 2026, at 19:34, Robert Clausecker wrote: > Hi Chuck, >=20 > Am Tue, Apr 28, 2026 at 11:21:26AM -0700 schrieb Chuck Tuffli: >> On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert = wrote: >>>=20 >>> In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck = Tuffli >>> writes: >>>> The branch main has been updated by chuck: >>>>=20 >>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f349c970af362b= >>>> 47b45f27 >>>>=20 >>>> commit 68e5b71517e947b4e3f349c970af362b47b45f27 >>>> Author: Chuck Tuffli >>>> AuthorDate: 2026-04-28 16:55:50 +0000 >>>> Commit: Chuck Tuffli >>>> CommitDate: 2026-04-28 17:08:27 +0000 >>>>=20 >>>> Vendor import of smart at 1.0.2 >>>>=20 >>>> smart/diskhealth is a command line application to monitor disk = health >>>> from a storage device via SMART. >>>>=20 >>>> Reviewed by: fuz, jrm >>>> Relnotes: yes >>>> Differential Revision: https://reviews.freebsd.org/D56638 >>>> --- >>>> contrib/smart/Changelog | 37 ++ >>>> contrib/smart/LICENSE | 13 + >>>> contrib/smart/Makefile | 26 + >>>> contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ >>>> contrib/smart/libsmart.c | 1359 = +++++++++++++++++++++++++++++++++++++++ >>>> ++ >>>> contrib/smart/libsmart.h | 174 ++++++ >>>> contrib/smart/libsmart_desc.c | 158 +++++ >>>> contrib/smart/libsmart_dev.h | 60 ++ >>>> contrib/smart/libsmart_priv.h | 83 +++ >>>> contrib/smart/smart.8 | 245 ++++++++ >>>> contrib/smart/smart.c | 334 ++++++++++ >>>> packages/Makefile | 1 + >>>> packages/smart/Makefile | 4 + >>>> packages/smart/smart.ucl | 30 + >>>> usr.sbin/Makefile | 1 + >>>> usr.sbin/smart/Makefile | 8 + >>>> 16 files changed, 3361 insertions(+) >>>=20 >>> Why are we doing vendor imports directly to contrib/? Is this a new >>> procedure, do we not need to use the vendor branch anymore? >>=20 >> Sorry, this is new territory for me, and I may have goofed. My >> understanding was the upstream code lives in a vendor/* branch (which >> I forgot to push) and the contents are copied to the contrib/* >> directory and then committed. If this isn't the right thing to do, = let >> me know how to fix this. >=20 > Your understanding is correct, though you are supposed to do a merge > to tie the vendor branch and the change in the contrib directory > together, making it clear which state of the vendor branch the contrib > directory corresponds to. >=20 > The best way to fix this is to revert your change and then to retry > with a merge commit. The helpful link seemingly omitted from this thread so far: = https://docs.freebsd.org/en/articles/committers-guide/index.html#vendor-im= port-git Jessica From nobody Tue Apr 28 18:43:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4q864GxQz6bw9M for ; Tue, 28 Apr 2026 18:43:34 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb129.google.com (mail-yx1-xb129.google.com [IPv6:2607:f8b0:4864:20::b129]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4q85554xz3vcV for ; Tue, 28 Apr 2026 18:43:33 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=ZPgJsAGu; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20240605:i=1"); spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b129 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-6501c9903edso12209748d50.1 for ; Tue, 28 Apr 2026 11:43:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777401808; cv=none; d=google.com; s=arc-20240605; b=FmMgQ0RBRAyi7ZN2r1hzBLe5ZcE3YDUaOb1kDxX0stweBPgtBu85swDrdpiDF9HBep b61AY2Tka3GH5g8sPcROgpug3BZQHDFUhyArj9oi781UpfyokE7+nLWfd2+Z7YLwWE+Y rKYw/cmuLF2K9fSEU2SIbRSQ57GB1ouQ9Omj+UDilF0DnVrLTXFezpNw7DAGT7FknLf1 LFGsb9G40s4l6icdZq8jqwgTJ9aKN9c8GxAHthjbV4c88XToIgMvLXCZwZN4C9OBkgcc VRLDCREcLDOUSP7gYMnkkv/3Nmnh5SuKjU0U7azyr+PlURlSw9rONk6qqXv/Wzz/wtkE 2Prg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=sr1WOMPOb8swG/doh+1Xa7ec8TMBTyNgePuUD5HuQUw=; fh=rSL90+yhS1KZgwyfNVAKXOwxje4Vtsx//hELMoEGzH4=; b=YbLCrhQYgRHtLhC94w+z+sqk7D62fZz8H1Q+4jPREh0UHPFm8w47V6LMv0I86991zN 4mPCMHseTZJgIBSXAEXURukZx/w627zVZiqkNuAImkhL1k2H2QJi9iTUlXv8zQ4yhBAt bVSRQRVBAO7tm6agsDNjTzSWgPcPCFVSX7fVhKqiLvH7tVqCn3Yc27OehMa+3Ux9Zdxm A/gh4875z2Jca4eJPAJczQMJX12D5RiAwBVbz0UGkXmwIEWbFXLiy98NB4I+zt0OD6tG C3a+TxnzU+FMJsMck+kgDfJp3b1f0YDerzLyEduu0HLb0Rz6pn1JyNj2B+coG/2IGBDw eqCg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777401808; x=1778006608; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=sr1WOMPOb8swG/doh+1Xa7ec8TMBTyNgePuUD5HuQUw=; b=ZPgJsAGud8n/7qw+0lTL+eUK9NBRp/+aNY9m7VE2BSQawz4Nt1DkJ4bPXjl3Gaivz8 1wenbY8Qb/EsBmuaRgCgel1jm+HRdQE5XRkYPptxEJQLhWo4gLtINY0S/s3uPB8Cerpo f5GMRWAnkfw46MvKYMbLFcJTNzxKGuhmaMHelkq9tUjNu7HfHGnuZ0jSCMWp5Q6znrJ6 Xx/oXONp96Qk60j23nksZkaM893fuvvUUPux4xiu2cBKuwV8N7zVlP+QTiTswNK5e4ZL XRAuUfjXWvPLDljDvp/Om95GSRBNMFy/2OfntmE1KrlqaFxqBtl4+b6kaCP4c2Uz9Jf2 TTGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777401808; x=1778006608; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=sr1WOMPOb8swG/doh+1Xa7ec8TMBTyNgePuUD5HuQUw=; b=Y6JE/d3zLNigk3mW/pUq4GbavCsrZz/lA3X4kyxVO+lBlkoFxeuFZBiDNYcg2fkN0R /7BOxh7YbEltp0LHTarL3UE4Q3xmkE118rWERqlywjLb6/tcKfNFcuuEaBtMqGxExM+j emYOs9T+RWY8W9T5IWLD5RoiQgcLL35tsCEaXsqpZTyBz8OQpcWif6xrlJp0Yxtu7vaw 0UcQR/cIsApUuszpdRU03EvbN7LT8G6y2UPGFknQ2qwPXanbPx7VoKY+sCpHaHeM5iwH zz1scx/4jLW7XndOl63PVYPOhFDub0SD/rknh9wPOTzHGfutLEwKD3+MYhqUlakaxiXI LzAg== X-Forwarded-Encrypted: i=1; AFNElJ+UCkYdi3gqwK4Lou/Gu6dW4p9nnTQ2gKjQaiXTBU54RXFE6CZ2p2Cxqvr3eat6LYWZdP7PI3wdbEsY7Vc56CHx4A30@freebsd.org X-Gm-Message-State: AOJu0YyFnVkKj+Bhy/JxdZhjEgfsSX23psoxBnmn5XtV/yC9cnJNZ2/y kPsamBaQ+Bjep1UaniDfhbP+lIF3qcfUKsjwe3+lJLtVE60NVuHLTrboa1pXQ9uFc3mLMq5Y/h3 0mK98qoNxgBGxFQWwrQbvIGEqtzx0BOk= X-Gm-Gg: AeBDies6kBOrnF5uQXUUrpFRLvENvbHgapLk8ASeQxrT0poyQD8zkQ4dEb4ruK/v+Hh Vi+nI7tItjShOdbwKPlw0oMQ9moeizzVANafe2XJS1Mqd4aCmxbnCIFKJfDrPgEWGnpAqx6Y8LS TLZ+xpZOI9E94k2oiF3+g3QiDOhNzhX71QzhHqSbfHgMaXD0x8DTyetEsG52D4dYDbrqFzb8vLZ GOCb2z3zzE2gUeXxIl2ASTeQ1tLpEce3FtXiiVIcTZAmAVsNV8joUk3JUcMZIuXhpO00dmvO5h8 Hce7rBbI+GpsuAUH6R76kYKrvgtkBxgsoAH3u0LKg4zGp35/XjqL X-Received: by 2002:a05:690e:43db:b0:651:d23c:3d84 with SMTP id 956f58d0204a3-65beed7da05mr2835976d50.23.1777401807629; Tue, 28 Apr 2026 11:43:27 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7010:82cc:20b0:515:e58:b11f with HTTP; Tue, 28 Apr 2026 11:43:25 -0700 (PDT) In-Reply-To: <69ea61e8.46e01.b303182@gitrepo.freebsd.org> References: <69ea61e8.46e01.b303182@gitrepo.freebsd.org> From: Oliver Pinter Date: Tue, 28 Apr 2026 19:43:25 +0100 X-Gm-Features: AVHnY4KKx9uH3_dztbuOWY9sDqsX-msMWgdm9fChKJeH7_qyzAgp88oGsBsmIMk Message-ID: Subject: Re: git: fe9f0b18bf6a - main - busdma: Use char * instead of vm_offset_t for bounce page kernel pointers To: John Baldwin Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="0000000000005df1ee0650899b12" X-Spamd-Result: default: False [-3.68 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_MEDIUM(-0.50)[-0.498]; NEURAL_HAM_SHORT(-0.29)[-0.285]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; DKIM_TRACE(0.00)[gmail.com:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b129:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4g4q85554xz3vcV X-Spamd-Bar: --- --0000000000005df1ee0650899b12 Content-Type: text/plain; charset="UTF-8" On Thursday, April 23, 2026, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > fe9f0b18bf6a1f881fbe57da716ea429acd539c1 > > commit fe9f0b18bf6a1f881fbe57da716ea429acd539c1 > Author: John Baldwin > AuthorDate: 2026-04-23 17:05:53 +0000 > Commit: John Baldwin > CommitDate: 2026-04-23 17:05:53 +0000 > > busdma: Use char * instead of vm_offset_t for bounce page kernel > pointers > > Effort: CHERI upstreaming > Reviewed by: kib > Sponsored by: AFRL, DARPA > Pull Request: https://github.com/freebsd/freebsd-src/pull/2068 > --- > sys/arm/arm/busdma_machdep.c | 18 ++++++++---------- > sys/arm64/arm64/busdma_bounce.c | 18 ++++++++---------- > sys/kern/subr_busdma_bounce.c | 30 +++++++++++++++--------------- > sys/powerpc/powerpc/busdma_machdep.c | 20 +++++++++----------- > sys/riscv/riscv/busdma_bounce.c | 18 ++++++++---------- > sys/x86/x86/busdma_bounce.c | 26 +++++++++++--------------- > 6 files changed, 59 insertions(+), 71 deletions(-) > > diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c > index 3c65cb8ebbf4..81b8b4a2883a 100644 > --- a/sys/arm/arm/busdma_machdep.c > +++ b/sys/arm/arm/busdma_machdep.c > @@ -1002,7 +1002,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, > bus_dmamap_t map, void *buf, > > if (map->pagesneeded != 0 && must_bounce(dmat, map, > curaddr, > sgsize)) { > - curaddr = add_bounce_page(dmat, map, > (vm_offset_t)kvaddr, curaddr, > + curaddr = add_bounce_page(dmat, map, kvaddr, > curaddr, > sgsize); > } else if ((dmat->flags & BUS_DMA_COHERENT) == 0) { > if (map->sync_count > 0) { > @@ -1199,18 +1199,17 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t > map, bus_dmasync_op_t op) > if (op & BUS_DMASYNC_PREWRITE) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > - bcopy(datavaddr, (void *)bpage->vaddr, > - bpage->datacount); > + bcopy(datavaddr, bpage->vaddr, > bpage->datacount); > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > if ((dmat->flags & BUS_DMA_COHERENT) == 0) > - dcache_wb_poc(bpage->vaddr, > + dcache_wb_poc((vm_offset_t) > bpage->vaddr, > bpage->busaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -1232,7 +1231,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t > map, bus_dmasync_op_t op) > bpage = STAILQ_FIRST(&map->bpages); > while (bpage != NULL) { > if ((dmat->flags & BUS_DMA_COHERENT) == 0) > - dcache_inv_poc_dma(bpage->vaddr, > + dcache_inv_poc_dma((vm_offset_ > t)bpage->vaddr, > bpage->busaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -1250,17 +1249,16 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t > map, bus_dmasync_op_t op) > if (op & BUS_DMASYNC_POSTREAD) { > while (bpage != NULL) { > if ((dmat->flags & BUS_DMA_COHERENT) == 0) > - dcache_inv_poc(bpage->vaddr, > + dcache_inv_poc((vm_offset_t) > bpage->vaddr, > bpage->busaddr, > bpage->datacount); > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > - bcopy((void *)bpage->vaddr, datavaddr, > - bpage->datacount); > + bcopy(bpage->vaddr, datavaddr, > bpage->datacount); > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > bpage = STAILQ_NEXT(bpage, links); > diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_ > bounce.c > index ad46e26e406f..74fa611e6d1a 100644 > --- a/sys/arm64/arm64/busdma_bounce.c > +++ b/sys/arm64/arm64/busdma_bounce.c > @@ -868,7 +868,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, > bus_dmamap_t map, void *buf, > KASSERT(dmat->common.alignment <= PAGE_SIZE, > ("bounced buffer cannot have alignment bigger " > "than PAGE_SIZE: %lu", > dmat->common.alignment)); > - curaddr = add_bounce_page(dmat, map, > (vm_offset_t)kvaddr, curaddr, > + curaddr = add_bounce_page(dmat, map, kvaddr, > curaddr, > sgsize); > } else if ((map->flags & DMAMAP_COHERENT) == 0) { > if (map->sync_count > 0) { > @@ -1047,19 +1047,18 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > if ((op & BUS_DMASYNC_PREWRITE) != 0) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > > - bcopy(datavaddr, > - (void *)bpage->vaddr, > bpage->datacount); > + bcopy(datavaddr, bpage->vaddr, > bpage->datacount); > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > if ((map->flags & DMAMAP_COHERENT) == 0) > - cpu_dcache_wb_range((void > *)bpage->vaddr, > + cpu_dcache_wb_range(bpage->vaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -1067,7 +1066,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > } else if ((op & BUS_DMASYNC_PREREAD) != 0) { > while (bpage != NULL) { > if ((map->flags & DMAMAP_COHERENT) == 0) > - cpu_dcache_wbinv_range((void > *)bpage->vaddr, > + cpu_dcache_wbinv_range(bpage-> > vaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -1076,18 +1075,17 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > if ((op & BUS_DMASYNC_POSTREAD) != 0) { > while (bpage != NULL) { > if ((map->flags & DMAMAP_COHERENT) == 0) > - cpu_dcache_inv_range((void > *)bpage->vaddr, > + cpu_dcache_inv_range(bpage->vaddr, > bpage->datacount); > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > > - bcopy((void *)bpage->vaddr, > - datavaddr, bpage->datacount); > + bcopy(bpage->vaddr, datavaddr, > bpage->datacount); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > diff --git a/sys/kern/subr_busdma_bounce.c b/sys/kern/subr_busdma_bounce.c > index 60fe2fc6b2a6..2774128a1ae5 100644 > --- a/sys/kern/subr_busdma_bounce.c > +++ b/sys/kern/subr_busdma_bounce.c > @@ -49,9 +49,9 @@ > #include > > struct bounce_page { > - vm_offset_t vaddr; /* kva of bounce buffer */ > + char *vaddr; /* kva of bounce buffer */ > bus_addr_t busaddr; /* Physical address */ > - vm_offset_t datavaddr; /* kva of client data */ > + char *datavaddr; /* kva of client data */ > #if defined(__amd64__) || defined(__i386__) > vm_page_t datapage[2]; /* physical page(s) of client data > */ > #else > @@ -282,18 +282,18 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u_int > numpages) > if (bpage == NULL) > break; > #ifdef dmat_domain > - bpage->vaddr = (vm_offset_t)contigmalloc_ > domainset(PAGE_SIZE, > + bpage->vaddr = contigmalloc_domainset(PAGE_SIZE, > M_BOUNCE, DOMAINSET_PREF(bz->domain), M_NOWAIT, > 0ul, bz->lowaddr, PAGE_SIZE, 0); > #else > - bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, > M_BOUNCE, > + bpage->vaddr = contigmalloc(PAGE_SIZE, M_BOUNCE, > M_NOWAIT, 0ul, bz->lowaddr, PAGE_SIZE, 0); > #endif > - if (bpage->vaddr == 0) { > + if (bpage->vaddr == NULL) { > free(bpage, M_BUSDMA); > break; > } > - bpage->busaddr = pmap_kextract(bpage->vaddr); > + bpage->busaddr = pmap_kextract((vm_offset_t)bpage->vaddr); > mtx_lock(&bounce_lock); > STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links); > total_bpages++; > @@ -327,11 +327,11 @@ reserve_bounce_pages(bus_dma_tag_t dmat, > bus_dmamap_t map, int commit) > > #if defined(__amd64__) || defined(__i386__) > static bus_addr_t > -add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr, > +add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr, > vm_paddr_t addr1, vm_paddr_t addr2, bus_size_t size) > #else > static bus_addr_t > -add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr, > +add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr, > bus_addr_t addr, bus_size_t size) > #endif > { > @@ -370,13 +370,13 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t > map, vm_offset_t vaddr, > if (dmat_flags(dmat) & BUS_DMA_KEEP_PG_OFFSET) { > /* Page offset needs to be preserved. */ > #if defined(__amd64__) || defined(__i386__) > - bpage->vaddr |= addr1 & PAGE_MASK; > - bpage->busaddr |= addr1 & PAGE_MASK; > + bpage->vaddr += addr1 & PAGE_MASK; > + bpage->busaddr += addr1 & PAGE_MASK; > KASSERT(addr2 == 0, > ("Trying to bounce multiple pages with > BUS_DMA_KEEP_PG_OFFSET")); These hunks looks different from the commit message. > #else > - bpage->vaddr |= addr & PAGE_MASK; > - bpage->busaddr |= addr & PAGE_MASK; > + bpage->vaddr += addr & PAGE_MASK; > + bpage->busaddr += addr & PAGE_MASK; > #endif > } > bpage->datavaddr = vaddr; > @@ -409,7 +409,7 @@ free_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t > map) > count = 0; > schedule_thread = false; > STAILQ_FOREACH(bpage, &map->bpages, links) { > - bpage->datavaddr = 0; > + bpage->datavaddr = NULL; > bpage->datacount = 0; > > if (dmat_flags(dmat) & BUS_DMA_KEEP_PG_OFFSET) { > @@ -419,8 +419,8 @@ free_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t > map) > * store a full page of data and/or assume it > * starts on a page boundary. > */ > - bpage->vaddr &= ~PAGE_MASK; > - bpage->busaddr &= ~PAGE_MASK; > + bpage->vaddr = trunc_page(bpage->vaddr); > + bpage->busaddr = trunc_page(bpage->busaddr); > } > count++; > } > diff --git a/sys/powerpc/powerpc/busdma_machdep.c > b/sys/powerpc/powerpc/busdma_machdep.c > index 56feffde8b37..7fe2fd4ff986 100644 > --- a/sys/powerpc/powerpc/busdma_machdep.c > +++ b/sys/powerpc/powerpc/busdma_machdep.c > @@ -613,7 +613,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, > { > bus_size_t sgsize; > bus_addr_t curaddr; > - vm_offset_t kvaddr, vaddr; > + char *kvaddr, *vaddr; > int error; > > if (segs == NULL) > @@ -628,18 +628,18 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, > } > } > > - vaddr = (vm_offset_t)buf; > + vaddr = buf; > > while (buflen > 0) { > /* > * Get the physical address for this segment. > */ > if (pmap == kernel_pmap) { > - curaddr = pmap_kextract(vaddr); > + curaddr = pmap_kextract((vm_offset_t)vaddr); > kvaddr = vaddr; > } else { > - curaddr = pmap_extract(pmap, vaddr); > - kvaddr = 0; > + curaddr = pmap_extract(pmap, (vm_offset_t)vaddr); > + kvaddr = NULL; > } > > /* > @@ -733,7 +733,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, > bus_dmasync_op_t op) > if (op & BUS_DMASYNC_PREWRITE) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > @@ -741,8 +741,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, > bus_dmasync_op_t op) > bpage->dataoffs; > } > > - bcopy(datavaddr, > - (void *)bpage->vaddr, > bpage->datacount); > + bcopy(datavaddr, bpage->vaddr, > bpage->datacount); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > @@ -754,7 +753,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, > bus_dmasync_op_t op) > if (op & BUS_DMASYNC_POSTREAD) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > @@ -762,8 +761,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, > bus_dmasync_op_t op) > bpage->dataoffs; > } > > - bcopy((void *)bpage->vaddr, > - datavaddr, bpage->datacount); > + bcopy(bpage->vaddr, datavaddr, > bpage->datacount); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > diff --git a/sys/riscv/riscv/busdma_bounce.c b/sys/riscv/riscv/busdma_ > bounce.c > index 0f2d592f4e52..452cead3c6b6 100644 > --- a/sys/riscv/riscv/busdma_bounce.c > +++ b/sys/riscv/riscv/busdma_bounce.c > @@ -673,7 +673,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, > bus_dmamap_t map, void *buf, > addr_needs_bounce(dmat, curaddr)) { > sgsize = roundup2(sgsize, dmat->common.alignment); > sgsize = MIN(sgsize, buflen); > - curaddr = add_bounce_page(dmat, map, > (vm_offset_t)kvaddr, curaddr, > + curaddr = add_bounce_page(dmat, map, kvaddr, > curaddr, > sgsize); > } else if ((dmat->bounce_flags & BF_COHERENT) == 0) { > if (map->sync_count > 0) { > @@ -850,19 +850,18 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > if ((op & BUS_DMASYNC_PREWRITE) != 0) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > > - bcopy(datavaddr, > - (void *)bpage->vaddr, > bpage->datacount); > + bcopy(datavaddr, bpage->vaddr, > bpage->datacount); > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > if ((dmat->bounce_flags & BF_COHERENT) == > 0) > - cpu_dcache_wb_range(bpage->vaddr, > + cpu_dcache_wb_range((vm_ > offset_t)bpage->vaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -870,7 +869,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > } else if ((op & BUS_DMASYNC_PREREAD) != 0) { > while (bpage != NULL) { > if ((dmat->bounce_flags & BF_COHERENT) == > 0) > - cpu_dcache_wbinv_range(bpage-> > vaddr, > + cpu_dcache_wbinv_range((vm_ > offset_t)bpage->vaddr, > bpage->datacount); > bpage = STAILQ_NEXT(bpage, links); > } > @@ -879,18 +878,17 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > if ((op & BUS_DMASYNC_POSTREAD) != 0) { > while (bpage != NULL) { > if ((dmat->bounce_flags & BF_COHERENT) == > 0) > - cpu_dcache_inv_range(bpage->vaddr, > + cpu_dcache_inv_range((vm_ > offset_t)bpage->vaddr, > bpage->datacount); > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > if (datavaddr == NULL) { > tempvaddr = pmap_quick_enter_page( > bpage->datapage); > datavaddr = tempvaddr + > bpage->dataoffs; > } > > - bcopy((void *)bpage->vaddr, > - datavaddr, bpage->datacount); > + bcopy(bpage->vaddr, datavaddr, > bpage->datacount); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c > index bc48c60448da..bd700d4d55be 100644 > --- a/sys/x86/x86/busdma_bounce.c > +++ b/sys/x86/x86/busdma_bounce.c > @@ -687,7 +687,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, > bus_dmamap_t map, void *buf, > { > bus_size_t sgsize; > vm_paddr_t curaddr; > - vm_offset_t kvaddr, vaddr; > + char *kvaddr, *vaddr; > int error; > > if (map == NULL) > @@ -705,17 +705,17 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, > bus_dmamap_t map, void *buf, > } > } > > - vaddr = (vm_offset_t)buf; > + vaddr = buf; > while (buflen > 0) { > /* > * Get the physical address for this segment. > */ > if (pmap == kernel_pmap) { > - curaddr = pmap_kextract(vaddr); > + curaddr = pmap_kextract((vm_offset_t)vaddr); > kvaddr = vaddr; > } else { > - curaddr = pmap_extract(pmap, vaddr); > - kvaddr = 0; > + curaddr = pmap_extract(pmap, (vm_offset_t)vaddr); > + kvaddr = NULL; > } > > /* > @@ -879,7 +879,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > if ((op & BUS_DMASYNC_PREWRITE) != 0) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > datacount1 = bpage->datacount; > if (datavaddr == NULL) { > tempvaddr = > @@ -889,8 +889,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > datacount1); > } > > - bcopy(datavaddr, > - (void *)bpage->vaddr, datacount1); > + bcopy(datavaddr, bpage->vaddr, datacount1); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > @@ -907,8 +906,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, > bus_dmamap_t map, > */ > datavaddr = pmap_quick_enter_page(bpage-> > datapage[1]); > datacount2 = bpage->datacount - datacount1; > - bcopy(datavaddr, > - (void *)(bpage->vaddr + datacount1), > datacount2); > + bcopy(datavaddr, bpage->vaddr + datacount1, > datacount2); > pmap_quick_remove_page(datavaddr); > > next_w: > @@ -920,7 +918,7 @@ next_w: > if ((op & BUS_DMASYNC_POSTREAD) != 0) { > while (bpage != NULL) { > tempvaddr = NULL; > - datavaddr = (void *)bpage->datavaddr; > + datavaddr = bpage->datavaddr; > datacount1 = bpage->datacount; > if (datavaddr == NULL) { > tempvaddr = > @@ -930,8 +928,7 @@ next_w: > datacount1); > } > > - bcopy((void *)bpage->vaddr, datavaddr, > - datacount1); > + bcopy(bpage->vaddr, datavaddr, datacount1); > > if (tempvaddr != NULL) > pmap_quick_remove_page(tempvaddr); > @@ -948,8 +945,7 @@ next_w: > */ > datavaddr = pmap_quick_enter_page(bpage-> > datapage[1]); > datacount2 = bpage->datacount - datacount1; > - bcopy((void *)(bpage->vaddr + datacount1), > - datavaddr, datacount2); > + bcopy(bpage->vaddr + datacount1, datavaddr, > datacount2); > pmap_quick_remove_page(datavaddr); > > next_r: > > --0000000000005df1ee0650899b12 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGJyPjxicj5PbiBUaHVyc2RheSwgQXByaWwgMjMsIDIwMjYsIEpvaG4gQmFsZHdpbiAmbHQ7PGEg aHJlZj0ibWFpbHRvOmpoYkBmcmVlYnNkLm9yZyI+amhiQGZyZWVic2Qub3JnPC9hPiZndDsgd3Jv dGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPlRoZSBi cmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5IGpoYjo8YnI+DQo8YnI+DQpVUkw6IDxhIGhy ZWY9Imh0dHBzOi8vY2dpdC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD1mZTlmMGIxOGJmNmEx Zjg4MWZiZTU3ZGE3MTZlYTQyOWFjZDUzOWMxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9jZ2l0 LkZyZWVCU0Qub3JnL3NyYy88d2JyPmNvbW1pdC8/aWQ9PHdicj5mZTlmMGIxOGJmNmExZjg4MWZi ZTU3ZGE3MTZlYTQ8d2JyPjI5YWNkNTM5YzE8L2E+PGJyPg0KPGJyPg0KY29tbWl0IGZlOWYwYjE4 YmY2YTFmODgxZmJlNTdkYTcxNmVhNDx3YnI+MjlhY2Q1MzljMTxicj4NCkF1dGhvcjrCoCDCoCDC oEpvaG4gQmFsZHdpbiAmbHQ7amhiQEZyZWVCU0Qub3JnJmd0Ozxicj4NCkF1dGhvckRhdGU6IDIw MjYtMDQtMjMgMTc6MDU6NTMgKzAwMDA8YnI+DQpDb21taXQ6wqAgwqAgwqBKb2huIEJhbGR3aW4g Jmx0O2poYkBGcmVlQlNELm9yZyZndDs8YnI+DQpDb21taXREYXRlOiAyMDI2LTA0LTIzIDE3OjA1 OjUzICswMDAwPGJyPg0KPGJyPg0KwqAgwqAgYnVzZG1hOiBVc2UgY2hhciAqIGluc3RlYWQgb2Yg dm1fb2Zmc2V0X3QgZm9yIGJvdW5jZSBwYWdlIGtlcm5lbCBwb2ludGVyczxicj4NCjxicj4NCsKg IMKgIEVmZm9ydDrCoCDCoCDCoCDCoCDCoENIRVJJIHVwc3RyZWFtaW5nPGJyPg0KwqAgwqAgUmV2 aWV3ZWQgYnk6wqAgwqAga2liPGJyPg0KwqAgwqAgU3BvbnNvcmVkIGJ5OsKgIMKgQUZSTCwgREFS UEE8YnI+DQrCoCDCoCBQdWxsIFJlcXVlc3Q6wqAgwqA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j b20vZnJlZWJzZC9mcmVlYnNkLXNyYy9wdWxsLzIwNjgiIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2dpdGh1Yi5jb20vZnJlZWJzZC88d2JyPmZyZWVic2Qtc3JjL3B1bGwvMjA2ODwvYT48YnI+DQot LS08YnI+DQrCoHN5cy9hcm0vYXJtL2J1c2RtYV9tYWNoZGVwLmPCoCDCoCDCoCDCoCDCoHwgMTgg KysrKysrKystLS0tLS0tLS0tPGJyPg0KwqBzeXMvYXJtNjQvYXJtNjQvYnVzZG1hX2JvdW5jZS48 d2JyPmPCoCDCoCDCoCB8IDE4ICsrKysrKysrLS0tLS0tLS0tLTxicj4NCsKgc3lzL2tlcm4vc3Vi cl9idXNkbWFfYm91bmNlLmPCoCDCoCDCoCDCoCB8IDMwICsrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLTxicj4NCsKgc3lzL3Bvd2VycGMvcG93ZXJwYy9idXNkbWFfPHdicj5tYWNoZGVwLmMg fCAyMCArKysrKysrKystLS0tLS0tLS0tLTxicj4NCsKgc3lzL3Jpc2N2L3Jpc2N2L2J1c2RtYV9i b3VuY2UuPHdicj5jwqAgwqAgwqAgfCAxOCArKysrKysrKy0tLS0tLS0tLS08YnI+DQrCoHN5cy94 ODYveDg2L2J1c2RtYV9ib3VuY2UuY8KgIMKgIMKgIMKgIMKgIHwgMjYgKysrKysrKysrKystLS0t LS0tLS0tLS0tLS08YnI+DQrCoDYgZmlsZXMgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNzEg ZGVsZXRpb25zKC0pPGJyPg0KPGJyPg0KZGlmZiAtLWdpdCBhL3N5cy9hcm0vYXJtL2J1c2RtYV9t YWNoZGVwLmMgYi9zeXMvYXJtL2FybS9idXNkbWFfbWFjaGRlcC5jPGJyPg0KaW5kZXggM2M2NWNi OGViYmY0Li44MWI4YjRhMjg4M2EgMTAwNjQ0PGJyPg0KLS0tIGEvc3lzL2FybS9hcm0vYnVzZG1h X21hY2hkZXAuYzxicj4NCisrKyBiL3N5cy9hcm0vYXJtL2J1c2RtYV9tYWNoZGVwLmM8YnI+DQpA QCAtMTAwMiw3ICsxMDAyLDcgQEAgX2J1c19kbWFtYXBfbG9hZF9idWZmZXIoYnVzXzx3YnI+ZG1h X3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIHZvaWQgKmJ1Ziw8YnI+DQo8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAobWFwLSZndDtwYWdlc25lZWRlZCAhPSAwICZhbXA7JmFt cDsgbXVzdF9ib3VuY2UoZG1hdCwgbWFwLCBjdXJhZGRyLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIHNnc2l6ZSkpIHs8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBjdXJhZGRyID0gYWRkX2JvdW5jZV9wYWdlKGRtYXQsIG1hcCwgKHZtX29mZnNldF90 KWt2YWRkciwgY3VyYWRkciw8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBjdXJhZGRyID0gYWRkX2JvdW5jZV9wYWdlKGRtYXQsIG1hcCwga3ZhZGRyLCBjdXJhZGRyLDxi cj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHNnc2l6ZSk7PGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfSBlbHNlIGlmICgoZG1hdC0mZ3Q7ZmxhZ3MgJmFt cDsgQlVTX0RNQV9DT0hFUkVOVCkgPT0gMCkgezxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIGlmIChtYXAtJmd0O3N5bmNfY291bnQgJmd0OyAwKSB7PGJyPg0KQEAgLTEx OTksMTggKzExOTksMTcgQEAgYnVzX2RtYW1hcF9zeW5jKGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVz X2RtYW1hcF90IG1hcCwgYnVzX2RtYXN5bmNfb3BfdCBvcCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCBpZiAob3AgJmFtcDsgQlVTX0RNQVNZTkNfUFJFV1JJVEUpIHs8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB3aGlsZSAoYnBhZ2UgIT0gTlVMTCkgezxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHRlbXB2YWRk ciA9IE5VTEw7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgZGF0YXZhZGRyID0gKHZvaWQgKilicGFnZS0mZ3Q7ZGF0YXZhZGRyOzxicj4NCivCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9IGJw YWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgaWYgKGRhdGF2YWRkciA9PSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGVtcHZhZGRy ID0gcG1hcF9xdWlja19lbnRlcl9wYWdlKDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZndDtkYXRhcGFn ZSk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgZGF0YXZhZGRyID0gdGVtcHZhZGRyICsgYnBhZ2UtJmd0O2RhdGFvZmZzOzxi cj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH08YnI+ DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiY29weShk YXRhdmFkZHIsICh2b2lkICopYnBhZ2UtJmd0O3ZhZGRyLDxicj4NCi3CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZndDtkYXRhY291bnQp Ozxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJj b3B5KGRhdGF2YWRkciwgYnBhZ2UtJmd0O3ZhZGRyLCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAodGVt cHZhZGRyICE9IE5VTEwpPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcG1hcF9xdWlja19yZW1vdmVfcGFnZSg8d2JyPnRlbXB2 YWRkcik7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgaWYgKChkbWF0LSZndDtmbGFncyAmYW1wOyBCVVNfRE1BX0NPSEVSRU5UKSA9PSAwKTxicj4N Ci3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoGRjYWNoZV93Yl9wb2MoYnBhZ2UtJmd0O3ZhZGRyLDxicj4NCivCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRjYWNoZV93Yl9wb2Mo KHZtX29mZnNldF90KTx3YnI+YnBhZ2UtJmd0O3ZhZGRyLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZn dDtidXNhZGRyLCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFnZSA9IFNUQUlMUV9ORVhUKGJwYWdlLCBs aW5rcyk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCkBA IC0xMjMyLDcgKzEyMzEsNyBAQCBidXNfZG1hbWFwX3N5bmMoYnVzX2RtYV90YWdfdCBkbWF0LCBi dXNfZG1hbWFwX3QgbWFwLCBidXNfZG1hc3luY19vcF90IG9wKTxicj4NCsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlID0gU1RBSUxRX0ZJUlNUKCZhbXA7bWFwLSZndDti cGFnZXMpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHdoaWxlIChi cGFnZSAhPSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgaWYgKChkbWF0LSZndDtmbGFncyAmYW1wOyBCVVNfRE1BX0NPSEVSRU5UKSA9 PSAwKTxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGRjYWNoZV9pbnZfcG9jX2RtYShicGFnZS0mZ3Q7PHdicj52YWRkciw8YnI+ DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBkY2FjaGVfaW52X3BvY19kbWEoKHZtX29mZnNldF88d2JyPnQpYnBhZ2UtJmd0O3ZhZGRy LDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZndDtidXNhZGRyLCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8 YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFn ZSA9IFNUQUlMUV9ORVhUKGJwYWdlLCBsaW5rcyk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgfTxicj4NCkBAIC0xMjUwLDE3ICsxMjQ5LDE2IEBAIGJ1c19kbWFtYXBf c3luYyhidXNfZG1hX3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIGJ1c19kbWFzeW5jX29w X3Qgb3ApPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKG9wICZhbXA7IEJVU19ETUFT WU5DX1BPU1RSRUFEKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg d2hpbGUgKGJwYWdlICE9IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoKGRtYXQtJmd0O2ZsYWdzICZhbXA7IEJVU19ETUFfQ09I RVJFTlQpID09IDApPGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgZGNhY2hlX2ludl9wb2MoYnBhZ2UtJmd0O3ZhZGRyLDxicj4N CivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoGRjYWNoZV9pbnZfcG9jKCh2bV9vZmZzZXRfdCk8d2JyPmJwYWdlLSZndDt2YWRkciw8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBicGFnZS0mZ3Q7YnVzYWRkciwgYnBhZ2UtJmd0O2RhdGFjb3VudCk7PGJyPg0K wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGVtcHZhZGRy ID0gTlVMTDs8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBkYXRhdmFkZHIgPSAodm9pZCAqKWJwYWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KK8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyID0gYnBh Z2UtJmd0O2RhdGF2YWRkcjs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCBpZiAoZGF0YXZhZGRyID09IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB0ZW1wdmFkZHIg PSBwbWFwX3F1aWNrX2VudGVyX3BhZ2UoPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYnBhZ2UtJmd0O2RhdGFwYWdl KTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBkYXRhdmFkZHIgPSB0ZW1wdmFkZHIgKyBicGFnZS0mZ3Q7ZGF0YW9mZnM7PGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4N Ci3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KCh2 b2lkICopYnBhZ2UtJmd0O3ZhZGRyLCBkYXRhdmFkZHIsPGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYnBhZ2UtJmd0O2RhdGFjb3VudCk7 PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNv cHkoYnBhZ2UtJmd0O3ZhZGRyLCBkYXRhdmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1w dmFkZHIgIT0gTlVMTCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwbWFwX3F1aWNrX3JlbW92ZV9wYWdlKDx3YnI+dGVtcHZh ZGRyKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBicGFnZSA9IFNUQUlMUV9ORVhUKGJwYWdlLCBsaW5rcyk7PGJyPg0KZGlmZiAtLWdpdCBhL3N5 cy9hcm02NC9hcm02NC9idXNkbWFfPHdicj5ib3VuY2UuYyBiL3N5cy9hcm02NC9hcm02NC9idXNk bWFfPHdicj5ib3VuY2UuYzxicj4NCmluZGV4IGFkNDZlMjZlNDA2Zi4uNzRmYTYxMWU2ZDFhIDEw MDY0NDxicj4NCi0tLSBhL3N5cy9hcm02NC9hcm02NC9idXNkbWFfPHdicj5ib3VuY2UuYzxicj4N CisrKyBiL3N5cy9hcm02NC9hcm02NC9idXNkbWFfPHdicj5ib3VuY2UuYzxicj4NCkBAIC04Njgs NyArODY4LDcgQEAgYm91bmNlX2J1c19kbWFtYXBfbG9hZF9idWZmZXIoPHdicj5idXNfZG1hX3Rh Z190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIHZvaWQgKmJ1Ziw8YnI+DQrCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBLQVNTRVJUKGRtYXQtJmd0O2NvbW1vbi5hbGlnbm1lbnQg Jmx0Oz0gUEFHRV9TSVpFLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICgmcXVvdDtib3VuY2VkIGJ1ZmZlciBjYW5ub3QgaGF2ZSBhbGlnbm1lbnQgYmlnZ2Vy ICZxdW90Ozxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZx dW90O3RoYW4gUEFHRV9TSVpFOiAlbHUmcXVvdDssIGRtYXQtJmd0O2NvbW1vbi5hbGlnbm1lbnQp KTs8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjdXJhZGRyID0gYWRk X2JvdW5jZV9wYWdlKGRtYXQsIG1hcCwgKHZtX29mZnNldF90KWt2YWRkciwgY3VyYWRkciw8YnI+ DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjdXJhZGRyID0gYWRkX2JvdW5j ZV9wYWdlKGRtYXQsIG1hcCwga3ZhZGRyLCBjdXJhZGRyLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHNnc2l6ZSk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgfSBlbHNlIGlmICgobWFwLSZndDtmbGFncyAmYW1wOyBETUFNQVBfQ09IRVJFTlQpID09 IDApIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAobWFwLSZn dDtzeW5jX2NvdW50ICZndDsgMCkgezxicj4NCkBAIC0xMDQ3LDE5ICsxMDQ3LDE4IEBAIGJvdW5j ZV9idXNfZG1hbWFwX3N5bmMoYnVzXzx3YnI+ZG1hX3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBt YXAsPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKChvcCAmYW1wOyBCVVNfRE1BU1lO Q19QUkVXUklURSkgIT0gMCkgezxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIHdoaWxlIChicGFnZSAhPSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGVtcHZhZGRyID0gTlVMTDs8YnI+DQotwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkYXRhdmFkZHIgPSAodm9pZCAq KWJwYWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyID0gYnBhZ2UtJmd0O2RhdGF2YWRkcjs8YnI+DQrC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoZGF0YXZh ZGRyID09IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB0ZW1wdmFkZHIgPSBwbWFwX3F1aWNrX2VudGVyX3BhZ2Uo PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgYnBhZ2UtJmd0O2RhdGFwYWdlKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBkYXRhdmFkZHIgPSB0 ZW1wdmFkZHIgKyBicGFnZS0mZ3Q7ZGF0YW9mZnM7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCi3CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGRhdGF2YWRkciw8YnI+DQotwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAodm9pZCAq KWJwYWdlLSZndDt2YWRkciwgYnBhZ2UtJmd0O2RhdGFjb3VudCk7PGJyPg0KK8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNvcHkoZGF0YXZhZGRyLCBicGFn ZS0mZ3Q7dmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1wdmFkZHIgIT0gTlVMTCk8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCBwbWFwX3F1aWNrX3JlbW92ZV9wYWdlKDx3YnI+dGVtcHZhZGRyKTs8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoKG1hcC0mZ3Q7Zmxh Z3MgJmFtcDsgRE1BTUFQX0NPSEVSRU5UKSA9PSAwKTxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNwdV9kY2FjaGVfd2JfcmFu Z2UoKHZvaWQgKilicGFnZS0mZ3Q7dmFkZHIsPGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3B1X2RjYWNoZV93Yl9yYW5nZShi cGFnZS0mZ3Q7PHdicj52YWRkciw8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8 YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFn ZSA9IFNUQUlMUV9ORVhUKGJwYWdlLCBsaW5rcyk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgfTxicj4NCkBAIC0xMDY3LDcgKzEwNjYsNyBAQCBib3VuY2VfYnVzX2Rt YW1hcF9zeW5jKGJ1c188d2JyPmRtYV90YWdfdCBkbWF0LCBidXNfZG1hbWFwX3QgbWFwLDxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0gZWxzZSBpZiAoKG9wICZhbXA7IEJVU19ETUFTWU5D X1BSRVJFQUQpICE9IDApIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCB3aGlsZSAoYnBhZ2UgIT0gTlVMTCkgezxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICgobWFwLSZndDtmbGFncyAmYW1wOyBETUFNQVBfQ09I RVJFTlQpID09IDApPGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgY3B1X2RjYWNoZV93Ymludl9yYW5nZSgodm9pZCAqKWJwYWdl LSZndDt2YWRkciw8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBjcHVfZGNhY2hlX3diaW52X3JhbmdlKGJwYWdlLSZndDs8d2Jy PnZhZGRyLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlID0gU1RBSUxRX05F WFQoYnBhZ2UsIGxpbmtzKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCB9PGJyPg0KQEAgLTEwNzYsMTggKzEwNzUsMTcgQEAgYm91bmNlX2J1c19kbWFtYXBfc3luYyhi dXNfPHdicj5kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCw8YnI+DQrCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCBpZiAoKG9wICZhbXA7IEJVU19ETUFTWU5DX1BPU1RSRUFEKSAhPSAwKSB7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2hpbGUgKGJwYWdlICE9 IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCBpZiAoKG1hcC0mZ3Q7ZmxhZ3MgJmFtcDsgRE1BTUFQX0NPSEVSRU5UKSA9PSAwKTxicj4N Ci3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoGNwdV9kY2FjaGVfaW52X3JhbmdlKCh2b2lkICopYnBhZ2UtJmd0O3ZhZGRyLDxicj4NCivC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGNwdV9kY2FjaGVfaW52X3JhbmdlKGJwYWdlLSZndDs8d2JyPnZhZGRyLDxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIHRlbXB2YWRkciA9IE5VTEw7PGJyPg0KLcKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyID0gKHZvaWQgKilicGFn ZS0mZ3Q7ZGF0YXZhZGRyOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9IGJwYWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGRhdGF2YWRkciA9 PSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgdGVtcHZhZGRyID0gcG1hcF9xdWlja19lbnRlcl9wYWdlKDxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIGJwYWdlLSZndDtkYXRhcGFnZSk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YXZhZGRyID0gdGVtcHZh ZGRyICsgYnBhZ2UtJmd0O2RhdGFvZmZzOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIH08YnI+DQo8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiY29weSgodm9pZCAqKWJwYWdlLSZndDt2YWRkciw8 YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBkYXRhdmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCivCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGJwYWdlLSZndDt2YWRkciwgZGF0 YXZhZGRyLCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+DQo8YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAodGVtcHZhZGRyICE9IE5VTEwpPGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgcG1hcF9xdWlja19yZW1vdmVfcGFnZSg8d2JyPnRlbXB2YWRkcik7PGJyPg0KZGlmZiAt LWdpdCBhL3N5cy9rZXJuL3N1YnJfYnVzZG1hX2JvdW5jZS48d2JyPmMgYi9zeXMva2Vybi9zdWJy X2J1c2RtYV9ib3VuY2UuPHdicj5jPGJyPg0KaW5kZXggNjBmZTJmYzZiMmE2Li4yNzc0MTI4YTFh ZTUgMTAwNjQ0PGJyPg0KLS0tIGEvc3lzL2tlcm4vc3Vicl9idXNkbWFfYm91bmNlLjx3YnI+Yzxi cj4NCisrKyBiL3N5cy9rZXJuL3N1YnJfYnVzZG1hX2JvdW5jZS48d2JyPmM8YnI+DQpAQCAtNDks OSArNDksOSBAQDxicj4NCsKgI2luY2x1ZGUgJmx0O3N5cy9zY2hlZC5oJmd0Ozxicj4NCjxicj4N CsKgc3RydWN0IGJvdW5jZV9wYWdlIHs8YnI+DQotwqAgwqAgwqAgwqB2bV9vZmZzZXRfdMKgIMKg IMKgdmFkZHI7wqAgwqAgwqAgwqAgwqAgLyoga3ZhIG9mIGJvdW5jZSBidWZmZXIgKi88YnI+DQor wqAgwqAgwqAgwqBjaGFywqAgwqAgwqAgwqAgwqAgwqAgKnZhZGRyO8KgIMKgIMKgIMKgIMKgLyog a3ZhIG9mIGJvdW5jZSBidWZmZXIgKi88YnI+DQrCoCDCoCDCoCDCoCBidXNfYWRkcl90wqAgwqAg wqAgYnVzYWRkcjvCoCDCoCDCoCDCoCAvKiBQaHlzaWNhbCBhZGRyZXNzICovPGJyPg0KLcKgIMKg IMKgIMKgdm1fb2Zmc2V0X3TCoCDCoCDCoGRhdGF2YWRkcjvCoCDCoCDCoCAvKiBrdmEgb2YgY2xp ZW50IGRhdGEgKi88YnI+DQorwqAgwqAgwqAgwqBjaGFywqAgwqAgwqAgwqAgwqAgwqAgKmRhdGF2 YWRkcjvCoCDCoCDCoC8qIGt2YSBvZiBjbGllbnQgZGF0YSAqLzxicj4NCsKgI2lmIGRlZmluZWQo X19hbWQ2NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKTxicj4NCsKgIMKgIMKgIMKgIHZtX3BhZ2Vf dMKgIMKgIMKgIMKgZGF0YXBhZ2VbMl07wqAgwqAgLyogcGh5c2ljYWwgcGFnZShzKSBvZiBjbGll bnQgZGF0YSAqLzxicj4NCsKgI2Vsc2U8YnI+DQpAQCAtMjgyLDE4ICsyODIsMTggQEAgYWxsb2Nf Ym91bmNlX3BhZ2VzKGJ1c19kbWFfPHdicj50YWdfdCBkbWF0LCB1X2ludCBudW1wYWdlcyk8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoYnBhZ2UgPT0gTlVMTCk8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicmVhazs8YnI+DQrCoCNpZmRlZiBkbWF0X2Rv bWFpbjxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZndDt2YWRkciA9ICh2bV9v ZmZzZXRfdCljb250aWdtYWxsb2NfPHdicj5kb21haW5zZXQoUEFHRV9TSVpFLDxicj4NCivCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZndDt2YWRkciA9IGNvbnRpZ21hbGxvY19kb21haW5z ZXQoUEFHRV88d2JyPlNJWkUsPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgTV9C T1VOQ0UsIERPTUFJTlNFVF9QUkVGKGJ6LSZndDtkb21haW4pLCBNX05PV0FJVCw8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAwdWwsIGJ6LSZndDtsb3dhZGRyLCBQQUdFX1NJWkUs IDApOzxicj4NCsKgI2Vsc2U8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7 dmFkZHIgPSAodm1fb2Zmc2V0X3QpY29udGlnbWFsbG9jKDx3YnI+UEFHRV9TSVpFLCBNX0JPVU5D RSw8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7dmFkZHIgPSBjb250aWdt YWxsb2MoUEFHRV9TSVpFLCBNX0JPVU5DRSw8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCBNX05PV0FJVCwgMHVsLCBiei0mZ3Q7bG93YWRkciwgUEFHRV9TSVpFLCAwKTs8YnI+DQrC oCNlbmRpZjxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlmIChicGFnZS0mZ3Q7dmFkZHIg PT0gMCkgezxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlmIChicGFnZS0mZ3Q7dmFkZHIg PT0gTlVMTCkgezxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGZyZWUo YnBhZ2UsIE1fQlVTRE1BKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBicmVhazs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9PGJyPg0KLcKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgYnBhZ2UtJmd0O2J1c2FkZHIgPSBwbWFwX2tleHRyYWN0KGJwYWdlLSZndDt2 YWRkcik7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYnBhZ2UtJmd0O2J1c2FkZHIgPSBw bWFwX2tleHRyYWN0KCh2bV9vZmZzZXRfdCk8d2JyPmJwYWdlLSZndDt2YWRkcik7PGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgbXR4X2xvY2soJmFtcDtib3VuY2VfbG9jayk7PGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgU1RBSUxRX0lOU0VSVF9UQUlMKCZhbXA7YnotJmd0Ozx3YnI+ Ym91bmNlX3BhZ2VfbGlzdCwgYnBhZ2UsIGxpbmtzKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCB0b3RhbF9icGFnZXMrKzs8YnI+DQpAQCAtMzI3LDExICszMjcsMTEgQEAgcmVzZXJ2ZV9i b3VuY2VfcGFnZXMoYnVzX2RtYV88d2JyPnRhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIGlu dCBjb21taXQpPGJyPg0KPGJyPg0KwqAjaWYgZGVmaW5lZChfX2FtZDY0X18pIHx8IGRlZmluZWQo X19pMzg2X18pPGJyPg0KwqBzdGF0aWMgYnVzX2FkZHJfdDxicj4NCi1hZGRfYm91bmNlX3BhZ2Uo YnVzX2RtYV90YWdfdCBkbWF0LCBidXNfZG1hbWFwX3QgbWFwLCB2bV9vZmZzZXRfdCB2YWRkciw8 YnI+DQorYWRkX2JvdW5jZV9wYWdlKGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1h cCwgdm9pZCAqdmFkZHIsPGJyPg0KwqAgwqAgwqB2bV9wYWRkcl90IGFkZHIxLCB2bV9wYWRkcl90 IGFkZHIyLCBidXNfc2l6ZV90IHNpemUpPGJyPg0KwqAjZWxzZTxicj4NCsKgc3RhdGljIGJ1c19h ZGRyX3Q8YnI+DQotYWRkX2JvdW5jZV9wYWdlKGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1h cF90IG1hcCwgdm1fb2Zmc2V0X3QgdmFkZHIsPGJyPg0KK2FkZF9ib3VuY2VfcGFnZShidXNfZG1h X3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIHZvaWQgKnZhZGRyLDxicj4NCsKgIMKgIMKg YnVzX2FkZHJfdCBhZGRyLCBidXNfc2l6ZV90IHNpemUpPGJyPg0KwqAjZW5kaWY8YnI+DQrCoHs8 YnI+DQpAQCAtMzcwLDEzICszNzAsMTMgQEAgYWRkX2JvdW5jZV9wYWdlKGJ1c19kbWFfdGFnX3Qg ZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgdm1fb2Zmc2V0X3QgdmFkZHIsPGJyPg0KwqAgwqAgwqAg wqAgaWYgKGRtYXRfZmxhZ3MoZG1hdCkgJmFtcDsgQlVTX0RNQV9LRUVQX1BHX09GRlNFVCkgezxi cj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIC8qIFBhZ2Ugb2Zmc2V0IG5lZWRzIHRvIGJlIHBy ZXNlcnZlZC4gKi88YnI+DQrCoCNpZiBkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChfX2kz ODZfXyk8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7dmFkZHIgfD0gYWRk cjEgJmFtcDsgUEFHRV9NQVNLOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZn dDtidXNhZGRyIHw9IGFkZHIxICZhbXA7IFBBR0VfTUFTSzs8YnI+DQorwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBicGFnZS0mZ3Q7dmFkZHIgKz0gYWRkcjEgJmFtcDsgUEFHRV9NQVNLOzxicj4NCivC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZndDtidXNhZGRyICs9IGFkZHIxICZhbXA7IFBB R0VfTUFTSzs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBLQVNTRVJUKGFkZHIyID09IDAs PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgKCZxdW90O1RyeWluZyB0byBib3VuY2UgbXVsdGlwbGUg cGFnZXMgd2l0aCBCVVNfRE1BX0tFRVBfUEdfT0ZGU0VUJnF1b3Q7KSk7PC9ibG9ja3F1b3RlPjxk aXY+PGJyPjwvZGl2PjxkaXY+VGhlc2UgaHVua3MgbG9va3MgZGlmZmVyZW50IGZyb20gdGhlIGNv bW1pdCBtZXNzYWdlLjwvZGl2PjxkaXY+wqA8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xp ZDtwYWRkaW5nLWxlZnQ6MWV4Ij4NCsKgI2Vsc2U8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBicGFnZS0mZ3Q7dmFkZHIgfD0gYWRkciAmYW1wOyBQQUdFX01BU0s7PGJyPg0KLcKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgYnBhZ2UtJmd0O2J1c2FkZHIgfD0gYWRkciAmYW1wOyBQQUdFX01BU0s7 PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYnBhZ2UtJmd0O3ZhZGRyICs9IGFkZHIgJmFt cDsgUEFHRV9NQVNLOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJwYWdlLSZndDtidXNh ZGRyICs9IGFkZHIgJmFtcDsgUEFHRV9NQVNLOzxicj4NCsKgI2VuZGlmPGJyPg0KwqAgwqAgwqAg wqAgfTxicj4NCsKgIMKgIMKgIMKgIGJwYWdlLSZndDtkYXRhdmFkZHIgPSB2YWRkcjs8YnI+DQpA QCAtNDA5LDcgKzQwOSw3IEBAIGZyZWVfYm91bmNlX3BhZ2VzKGJ1c19kbWFfdGFnXzx3YnI+dCBk bWF0LCBidXNfZG1hbWFwX3QgbWFwKTxicj4NCsKgIMKgIMKgIMKgIGNvdW50ID0gMDs8YnI+DQrC oCDCoCDCoCDCoCBzY2hlZHVsZV90aHJlYWQgPSBmYWxzZTs8YnI+DQrCoCDCoCDCoCDCoCBTVEFJ TFFfRk9SRUFDSChicGFnZSwgJmFtcDttYXAtJmd0O2JwYWdlcywgbGlua3MpIHs8YnI+DQotwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7ZGF0YXZhZGRyID0gMDs8YnI+DQorwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7ZGF0YXZhZGRyID0gTlVMTDs8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBicGFnZS0mZ3Q7ZGF0YWNvdW50ID0gMDs8YnI+DQo8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoZG1hdF9mbGFncyhkbWF0KSAmYW1wOyBCVVNfRE1BX0tF RVBfUEdfT0ZGU0VUKSB7PGJyPg0KQEAgLTQxOSw4ICs0MTksOCBAQCBmcmVlX2JvdW5jZV9wYWdl cyhidXNfZG1hX3RhZ188d2JyPnQgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCk8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCogc3RvcmUgYSBmdWxsIHBhZ2Ugb2YgZGF0 YSBhbmQvb3IgYXNzdW1lIGl0PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAqIHN0YXJ0cyBvbiBhIHBhZ2UgYm91bmRhcnkuPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAqLzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoGJwYWdlLSZndDt2YWRkciAmYW1wOz0gflBBR0VfTUFTSzs8YnI+DQotwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7YnVzYWRkciAmYW1wOz0gflBBR0Vf TUFTSzs8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicGFnZS0mZ3Q7 dmFkZHIgPSB0cnVuY19wYWdlKGJwYWdlLSZndDt2YWRkcik7PGJyPg0KK8KgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgYnBhZ2UtJmd0O2J1c2FkZHIgPSB0cnVuY19wYWdlKGJwYWdl LSZndDtidXNhZGRyKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9PGJyPg0KwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgY291bnQrKzs8YnI+DQrCoCDCoCDCoCDCoCB9PGJyPg0KZGlmZiAt LWdpdCBhL3N5cy9wb3dlcnBjL3Bvd2VycGMvYnVzZG1hXzx3YnI+bWFjaGRlcC5jIGIvc3lzL3Bv d2VycGMvcG93ZXJwYy9idXNkbWFfPHdicj5tYWNoZGVwLmM8YnI+DQppbmRleCA1NmZlZmZkZThi MzcuLjdmZTJmZDRmZjk4NiAxMDA2NDQ8YnI+DQotLS0gYS9zeXMvcG93ZXJwYy9wb3dlcnBjL2J1 c2RtYV88d2JyPm1hY2hkZXAuYzxicj4NCisrKyBiL3N5cy9wb3dlcnBjL3Bvd2VycGMvYnVzZG1h Xzx3YnI+bWFjaGRlcC5jPGJyPg0KQEAgLTYxMyw3ICs2MTMsNyBAQCBfYnVzX2RtYW1hcF9sb2Fk X2J1ZmZlcihidXNfPHdicj5kbWFfdGFnX3QgZG1hdCw8YnI+DQrCoHs8YnI+DQrCoCDCoCDCoCDC oCBidXNfc2l6ZV90IHNnc2l6ZTs8YnI+DQrCoCDCoCDCoCDCoCBidXNfYWRkcl90IGN1cmFkZHI7 PGJyPg0KLcKgIMKgIMKgIMKgdm1fb2Zmc2V0X3Qga3ZhZGRyLCB2YWRkcjs8YnI+DQorwqAgwqAg wqAgwqBjaGFyICprdmFkZHIsICp2YWRkcjs8YnI+DQrCoCDCoCDCoCDCoCBpbnQgZXJyb3I7PGJy Pg0KPGJyPg0KwqAgwqAgwqAgwqAgaWYgKHNlZ3MgPT0gTlVMTCk8YnI+DQpAQCAtNjI4LDE4ICs2 MjgsMTggQEAgX2J1c19kbWFtYXBfbG9hZF9idWZmZXIoYnVzXzx3YnI+ZG1hX3RhZ190IGRtYXQs PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCsKgIMKgIMKgIMKgIH08YnI+DQo8 YnI+DQotwqAgwqAgwqAgwqB2YWRkciA9ICh2bV9vZmZzZXRfdClidWY7PGJyPg0KK8KgIMKgIMKg IMKgdmFkZHIgPSBidWY7PGJyPg0KPGJyPg0KwqAgwqAgwqAgwqAgd2hpbGUgKGJ1ZmxlbiAmZ3Q7 IDApIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAvKjxicj4NCsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgKiBHZXQgdGhlIHBoeXNpY2FsIGFkZHJlc3MgZm9yIHRoaXMgc2VnbWVudC48 YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCovPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgaWYgKHBtYXAgPT0ga2VybmVsX3BtYXApIHs8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqBjdXJhZGRyID0gcG1hcF9rZXh0cmFjdCh2YWRkcik7PGJyPg0KK8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3VyYWRkciA9IHBtYXBfa2V4dHJhY3Qo KHZtX29mZnNldF90KTx3YnI+dmFkZHIpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIGt2YWRkciA9IHZhZGRyOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0g ZWxzZSB7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3VyYWRkciA9 IHBtYXBfZXh0cmFjdChwbWFwLCB2YWRkcik7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKga3ZhZGRyID0gMDs8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBjdXJhZGRyID0gcG1hcF9leHRyYWN0KHBtYXAsICh2bV9vZmZzZXRfdCl2YWRkcik7 PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKga3ZhZGRyID0gTlVMTDs8 YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9PGJyPg0KPGJyPg0KwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgLyo8YnI+DQpAQCAtNzMzLDcgKzczMyw3IEBAIGJ1c19kbWFtYXBfc3luYyhidXNf ZG1hX3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIGJ1c19kbWFzeW5jX29wX3Qgb3ApPGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKG9wICZhbXA7IEJVU19ETUFTWU5DX1BSRVdS SVRFKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2hpbGUgKGJw YWdlICE9IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCB0ZW1wdmFkZHIgPSBOVUxMOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9ICh2b2lkICopYnBhZ2UtJmd0O2Rh dGF2YWRkcjs8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBkYXRhdmFkZHIgPSBicGFnZS0mZ3Q7ZGF0YXZhZGRyOzxicj4NCsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmIChkYXRhdmFkZHIgPT0gTlVMTCkg ezxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIHRlbXB2YWRkciA9IHBtYXBfcXVpY2tfZW50ZXJfcGFnZSg8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBicGFnZS0mZ3Q7ZGF0YXBhZ2UpOzxicj4NCkBAIC03NDEsOCArNzQxLDcgQEAgYnVzX2RtYW1h cF9zeW5jKGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgYnVzX2RtYXN5bmNf b3BfdCBvcCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFnZS0mZ3Q7ZGF0YW9mZnM7PGJyPg0KwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCi3CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGRhdGF2YWRk ciw8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAodm9pZCAqKWJwYWdlLSZndDt2YWRkciwgYnBhZ2UtJmd0O2RhdGFjb3VudCk7PGJyPg0K K8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNvcHkoZGF0 YXZhZGRyLCBicGFnZS0mZ3Q7dmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCjxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1w dmFkZHIgIT0gTlVMTCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwbWFwX3F1aWNrX3JlbW92ZV9wYWdlKDx3YnI+dGVtcHZh ZGRyKTs8YnI+DQpAQCAtNzU0LDcgKzc1Myw3IEBAIGJ1c19kbWFtYXBfc3luYyhidXNfZG1hX3Rh Z190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIGJ1c19kbWFzeW5jX29wX3Qgb3ApPGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKG9wICZhbXA7IEJVU19ETUFTWU5DX1BPU1RSRUFEKSB7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2hpbGUgKGJwYWdlICE9 IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCB0ZW1wdmFkZHIgPSBOVUxMOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9ICh2b2lkICopYnBhZ2UtJmd0O2RhdGF2YWRk cjs8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBk YXRhdmFkZHIgPSBicGFnZS0mZ3Q7ZGF0YXZhZGRyOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmIChkYXRhdmFkZHIgPT0gTlVMTCkgezxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIHRlbXB2YWRkciA9IHBtYXBfcXVpY2tfZW50ZXJfcGFnZSg8YnI+DQrCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicGFn ZS0mZ3Q7ZGF0YXBhZ2UpOzxicj4NCkBAIC03NjIsOCArNzYxLDcgQEAgYnVzX2RtYW1hcF9zeW5j KGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgYnVzX2RtYXN5bmNfb3BfdCBv cCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBicGFnZS0mZ3Q7ZGF0YW9mZnM7PGJyPg0KwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCi3CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KCh2b2lkICopYnBhZ2Ut Jmd0O3ZhZGRyLDxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGRhdGF2YWRkciwgYnBhZ2UtJmd0O2RhdGFjb3VudCk7PGJyPg0KK8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNvcHkoYnBhZ2UtJmd0 O3ZhZGRyLCBkYXRhdmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCjxicj4NCsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1wdmFkZHIg IT0gTlVMTCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBwbWFwX3F1aWNrX3JlbW92ZV9wYWdlKDx3YnI+dGVtcHZhZGRyKTs8 YnI+DQpkaWZmIC0tZ2l0IGEvc3lzL3Jpc2N2L3Jpc2N2L2J1c2RtYV88d2JyPmJvdW5jZS5jIGIv c3lzL3Jpc2N2L3Jpc2N2L2J1c2RtYV88d2JyPmJvdW5jZS5jPGJyPg0KaW5kZXggMGYyZDU5MmY0 ZTUyLi40NTJjZWFkM2M2YjYgMTAwNjQ0PGJyPg0KLS0tIGEvc3lzL3Jpc2N2L3Jpc2N2L2J1c2Rt YV88d2JyPmJvdW5jZS5jPGJyPg0KKysrIGIvc3lzL3Jpc2N2L3Jpc2N2L2J1c2RtYV88d2JyPmJv dW5jZS5jPGJyPg0KQEAgLTY3Myw3ICs2NzMsNyBAQCBib3VuY2VfYnVzX2RtYW1hcF9sb2FkX2J1 ZmZlcig8d2JyPmJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgdm9pZCAqYnVm LDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGFkZHJfbmVlZHNfYm91bmNlKGRt YXQsIGN1cmFkZHIpKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg c2dzaXplID0gcm91bmR1cDIoc2dzaXplLCBkbWF0LSZndDtjb21tb24uYWxpZ25tZW50KTs8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBzZ3NpemUgPSBNSU4oc2dzaXpl LCBidWZsZW4pOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGN1cmFk ZHIgPSBhZGRfYm91bmNlX3BhZ2UoZG1hdCwgbWFwLCAodm1fb2Zmc2V0X3Qpa3ZhZGRyLCBjdXJh ZGRyLDxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGN1cmFkZHIgPSBh ZGRfYm91bmNlX3BhZ2UoZG1hdCwgbWFwLCBrdmFkZHIsIGN1cmFkZHIsPGJyPg0KwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgc2dzaXplKTs8YnI+DQrCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCB9IGVsc2UgaWYgKChkbWF0LSZndDtib3VuY2VfZmxhZ3MgJmFtcDsgQkZf Q09IRVJFTlQpID09IDApIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBpZiAobWFwLSZndDtzeW5jX2NvdW50ICZndDsgMCkgezxicj4NCkBAIC04NTAsMTkgKzg1MCwx OCBAQCBib3VuY2VfYnVzX2RtYW1hcF9zeW5jKGJ1c188d2JyPmRtYV90YWdfdCBkbWF0LCBidXNf ZG1hbWFwX3QgbWFwLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICgob3AgJmFtcDsg QlVTX0RNQVNZTkNfUFJFV1JJVEUpICE9IDApIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCB3aGlsZSAoYnBhZ2UgIT0gTlVMTCkgezxicj4NCsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHRlbXB2YWRkciA9IE5VTEw7PGJyPg0K LcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRy ID0gKHZvaWQgKilicGFnZS0mZ3Q7ZGF0YXZhZGRyOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9IGJwYWdlLSZndDtkYXRhdmFk ZHI7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg aWYgKGRhdGF2YWRkciA9PSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGVtcHZhZGRyID0gcG1hcF9xdWlja19l bnRlcl9wYWdlKDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZndDtkYXRhcGFnZSk7PGJyPg0KwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0 YXZhZGRyID0gdGVtcHZhZGRyICsgYnBhZ2UtJmd0O2RhdGFvZmZzOzxicj4NCsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH08YnI+DQo8YnI+DQotwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiY29weShkYXRhdmFkZHIs PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgKHZvaWQgKilicGFnZS0mZ3Q7dmFkZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCivC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGRhdGF2 YWRkciwgYnBhZ2UtJmd0O3ZhZGRyLCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAodGVtcHZhZGRyICE9 IE5VTEwpPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgcG1hcF9xdWlja19yZW1vdmVfcGFnZSg8d2JyPnRlbXB2YWRkcik7PGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKChk bWF0LSZndDtib3VuY2VfZmxhZ3MgJmFtcDsgQkZfQ09IRVJFTlQpID09IDApPGJyPg0KLcKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3B1 X2RjYWNoZV93Yl9yYW5nZShicGFnZS0mZ3Q7PHdicj52YWRkciw8YnI+DQorwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjcHVfZGNhY2hl X3diX3JhbmdlKCh2bV88d2JyPm9mZnNldF90KWJwYWdlLSZndDt2YWRkciw8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBicGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBicGFnZSA9IFNUQUlMUV9ORVhUKGJwYWdlLCBsaW5rcyk7PGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCkBAIC04NzAsNyAr ODY5LDcgQEAgYm91bmNlX2J1c19kbWFtYXBfc3luYyhidXNfPHdicj5kbWFfdGFnX3QgZG1hdCwg YnVzX2RtYW1hcF90IG1hcCw8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9IGVsc2UgaWYg KChvcCAmYW1wOyBCVVNfRE1BU1lOQ19QUkVSRUFEKSAhPSAwKSB7PGJyPg0KwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2hpbGUgKGJwYWdlICE9IE5VTEwpIHs8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoKGRtYXQtJmd0 O2JvdW5jZV9mbGFncyAmYW1wOyBCRl9DT0hFUkVOVCkgPT0gMCk8YnI+DQotwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjcHVfZGNhY2hl X3diaW52X3JhbmdlKGJwYWdlLSZndDs8d2JyPnZhZGRyLDxicj4NCivCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNwdV9kY2FjaGVfd2Jp bnZfcmFuZ2UoKHZtXzx3YnI+b2Zmc2V0X3QpYnBhZ2UtJmd0O3ZhZGRyLDxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlID0gU1RBSUxRX05FWFQoYnBhZ2UsIGxpbmtzKTs8YnI+ DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9PGJyPg0KQEAgLTg3OSwxOCAr ODc4LDE3IEBAIGJvdW5jZV9idXNfZG1hbWFwX3N5bmMoYnVzXzx3YnI+ZG1hX3RhZ190IGRtYXQs IGJ1c19kbWFtYXBfdCBtYXAsPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKChvcCAm YW1wOyBCVVNfRE1BU1lOQ19QT1NUUkVBRCkgIT0gMCkgezxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIHdoaWxlIChicGFnZSAhPSBOVUxMKSB7PGJyPg0KwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKChkbWF0LSZndDtib3Vu Y2VfZmxhZ3MgJmFtcDsgQkZfQ09IRVJFTlQpID09IDApPGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3B1X2RjYWNoZV9pbnZf cmFuZ2UoYnBhZ2UtJmd0Ozx3YnI+dmFkZHIsPGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3B1X2RjYWNoZV9pbnZfcmFuZ2Uo KHZtXzx3YnI+b2Zmc2V0X3QpYnBhZ2UtJmd0O3ZhZGRyLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJwYWdlLSZn dDtkYXRhY291bnQpOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIHRlbXB2YWRkciA9IE5VTEw7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyID0gKHZvaWQgKilicGFnZS0mZ3Q7ZGF0 YXZhZGRyOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoGRhdGF2YWRkciA9IGJwYWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGRhdGF2YWRkciA9PSBOVUxMKSB7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgdGVtcHZhZGRyID0gcG1hcF9xdWlja19lbnRlcl9wYWdlKDxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IGJwYWdlLSZndDtkYXRhcGFnZSk7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YXZhZGRyID0gdGVtcHZhZGRyICsgYnBh Z2UtJmd0O2RhdGFvZmZzOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIH08YnI+DQo8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqBiY29weSgodm9pZCAqKWJwYWdlLSZndDt2YWRkciw8YnI+DQotwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkYXRhdmFk ZHIsIGJwYWdlLSZndDtkYXRhY291bnQpOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGJwYWdlLSZndDt2YWRkciwgZGF0YXZhZGRyLCBi cGFnZS0mZ3Q7ZGF0YWNvdW50KTs8YnI+DQo8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAodGVtcHZhZGRyICE9IE5VTEwpPGJyPg0KwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcG1h cF9xdWlja19yZW1vdmVfcGFnZSg8d2JyPnRlbXB2YWRkcik7PGJyPg0KZGlmZiAtLWdpdCBhL3N5 cy94ODYveDg2L2J1c2RtYV9ib3VuY2UuYyBiL3N5cy94ODYveDg2L2J1c2RtYV9ib3VuY2UuYzxi cj4NCmluZGV4IGJjNDhjNjA0NDhkYS4uYmQ3MDBkNGQ1NWJlIDEwMDY0NDxicj4NCi0tLSBhL3N5 cy94ODYveDg2L2J1c2RtYV9ib3VuY2UuYzxicj4NCisrKyBiL3N5cy94ODYveDg2L2J1c2RtYV9i b3VuY2UuYzxicj4NCkBAIC02ODcsNyArNjg3LDcgQEAgYm91bmNlX2J1c19kbWFtYXBfbG9hZF9i dWZmZXIoPHdicj5idXNfZG1hX3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsIHZvaWQgKmJ1 Ziw8YnI+DQrCoHs8YnI+DQrCoCDCoCDCoCDCoCBidXNfc2l6ZV90IHNnc2l6ZTs8YnI+DQrCoCDC oCDCoCDCoCB2bV9wYWRkcl90IGN1cmFkZHI7PGJyPg0KLcKgIMKgIMKgIMKgdm1fb2Zmc2V0X3Qg a3ZhZGRyLCB2YWRkcjs8YnI+DQorwqAgwqAgwqAgwqBjaGFyICprdmFkZHIsICp2YWRkcjs8YnI+ DQrCoCDCoCDCoCDCoCBpbnQgZXJyb3I7PGJyPg0KPGJyPg0KwqAgwqAgwqAgwqAgaWYgKG1hcCA9 PSBOVUxMKTxicj4NCkBAIC03MDUsMTcgKzcwNSwxNyBAQCBib3VuY2VfYnVzX2RtYW1hcF9sb2Fk X2J1ZmZlcig8d2JyPmJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgdm9pZCAq YnVmLDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH08YnI+DQrCoCDCoCDCoCDCoCB9PGJy Pg0KPGJyPg0KLcKgIMKgIMKgIMKgdmFkZHIgPSAodm1fb2Zmc2V0X3QpYnVmOzxicj4NCivCoCDC oCDCoCDCoHZhZGRyID0gYnVmOzxicj4NCsKgIMKgIMKgIMKgIHdoaWxlIChidWZsZW4gJmd0OyAw KSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLyo8YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCogR2V0IHRoZSBwaHlzaWNhbCBhZGRyZXNzIGZvciB0aGlzIHNlZ21lbnQuPGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAqLzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIGlmIChwbWFwID09IGtlcm5lbF9wbWFwKSB7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgY3VyYWRkciA9IHBtYXBfa2V4dHJhY3QodmFkZHIpOzxicj4NCivCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGN1cmFkZHIgPSBwbWFwX2tleHRyYWN0KCh2 bV9vZmZzZXRfdCk8d2JyPnZhZGRyKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCBrdmFkZHIgPSB2YWRkcjs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9IGVs c2Ugezxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGN1cmFkZHIgPSBw bWFwX2V4dHJhY3QocG1hcCwgdmFkZHIpOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoGt2YWRkciA9IDA7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgY3VyYWRkciA9IHBtYXBfZXh0cmFjdChwbWFwLCAodm1fb2Zmc2V0X3QpdmFkZHIpOzxi cj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGt2YWRkciA9IE5VTEw7PGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIC8qPGJyPg0KQEAgLTg3OSw3ICs4NzksNyBAQCBib3VuY2VfYnVzX2RtYW1hcF9zeW5j KGJ1c188d2JyPmRtYV90YWdfdCBkbWF0LCBidXNfZG1hbWFwX3QgbWFwLDxicj4NCsKgIMKgIMKg IMKgIGlmICgob3AgJmFtcDsgQlVTX0RNQVNZTkNfUFJFV1JJVEUpICE9IDApIHs8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCB3aGlsZSAoYnBhZ2UgIT0gTlVMTCkgezxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHRlbXB2YWRkciA9IE5VTEw7PGJyPg0KLcKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyID0gKHZvaWQgKilicGFnZS0m Z3Q7ZGF0YXZhZGRyOzxicj4NCivCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRh dGF2YWRkciA9IGJwYWdlLSZndDtkYXRhdmFkZHI7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgZGF0YWNvdW50MSA9IGJwYWdlLSZndDtkYXRhY291bnQ7PGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGRhdGF2YWRkciA9PSBOVUxMKSB7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGVt cHZhZGRyID08YnI+DQpAQCAtODg5LDggKzg4OSw3IEBAIGJvdW5jZV9idXNfZG1hbWFwX3N5bmMo YnVzXzx3YnI+ZG1hX3RhZ190IGRtYXQsIGJ1c19kbWFtYXBfdCBtYXAsPGJyPg0KwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YWNvdW50MSk7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCi3C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJjb3B5KGRhdGF2YWRkciw8YnI+DQot wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAodm9pZCAqKWJwYWdlLSZn dDt2YWRkciwgZGF0YWNvdW50MSk7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgYmNvcHkoZGF0YXZhZGRyLCBicGFnZS0mZ3Q7dmFkZHIsIGRhdGFjb3VudDEpOzxicj4N Cjxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1wdmFkZHIg IT0gTlVMTCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCBwbWFwX3F1aWNrX3JlbW92ZV9wYWdlKDx3YnI+dGVtcHZhZGRyKTs8YnI+DQpAQCAtOTA3 LDggKzkwNiw3IEBAIGJvdW5jZV9idXNfZG1hbWFwX3N5bmMoYnVzXzx3YnI+ZG1hX3RhZ190IGRt YXQsIGJ1c19kbWFtYXBfdCBtYXAsPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAqLzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGRhdGF2 YWRkciA9IHBtYXBfcXVpY2tfZW50ZXJfcGFnZShicGFnZS0mZ3Q7PHdicj5kYXRhcGFnZVsxXSk7 PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YWNvdW50MiA9IGJw YWdlLSZndDtkYXRhY291bnQgLSBkYXRhY291bnQxOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGJjb3B5KGRhdGF2YWRkciw8YnI+DQotwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAodm9pZCAqKShicGFnZS0mZ3Q7dmFkZHIgKyBkYXRhY291 bnQxKSwgZGF0YWNvdW50Mik7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgYmNvcHkoZGF0YXZhZGRyLCBicGFnZS0mZ3Q7dmFkZHIgKyBkYXRhY291bnQxLCBkYXRhY291 bnQyKTs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwbWFwX3F1aWNr X3JlbW92ZV9wYWdlKDx3YnI+ZGF0YXZhZGRyKTs8YnI+DQo8YnI+DQrCoG5leHRfdzo8YnI+DQpA QCAtOTIwLDcgKzkxOCw3IEBAIG5leHRfdzo8YnI+DQrCoCDCoCDCoCDCoCBpZiAoKG9wICZhbXA7 IEJVU19ETUFTWU5DX1BPU1RSRUFEKSAhPSAwKSB7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgd2hpbGUgKGJwYWdlICE9IE5VTEwpIHs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCB0ZW1wdmFkZHIgPSBOVUxMOzxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGRhdGF2YWRkciA9ICh2b2lkICopYnBhZ2UtJmd0O2RhdGF2YWRkcjs8YnI+ DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkYXRhdmFkZHIgPSBicGFnZS0m Z3Q7ZGF0YXZhZGRyOzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGRh dGFjb3VudDEgPSBicGFnZS0mZ3Q7ZGF0YWNvdW50Ozxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIGlmIChkYXRhdmFkZHIgPT0gTlVMTCkgezxicj4NCsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHRlbXB2YWRkciA9PGJyPg0KQEAg LTkzMCw4ICs5MjgsNyBAQCBuZXh0X3c6PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YWNvdW50MSk7PGJyPg0KwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfTxicj4NCjxicj4NCi3CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGJjb3B5KCh2b2lkICopYnBhZ2UtJmd0O3ZhZGRyLCBkYXRhdmFkZHIs PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YWNvdW50 MSk7PGJyPg0KK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNvcHkoYnBhZ2Ut Jmd0O3ZhZGRyLCBkYXRhdmFkZHIsIGRhdGFjb3VudDEpOzxicj4NCjxicj4NCsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICh0ZW1wdmFkZHIgIT0gTlVMTCk8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwbWFwX3F1aWNrX3Jl bW92ZV9wYWdlKDx3YnI+dGVtcHZhZGRyKTs8YnI+DQpAQCAtOTQ4LDggKzk0NSw3IEBAIG5leHRf dzo8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCovPGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YXZhZGRyID0gcG1hcF9xdWlja19l bnRlcl9wYWdlKGJwYWdlLSZndDs8d2JyPmRhdGFwYWdlWzFdKTs8YnI+DQrCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBkYXRhY291bnQyID0gYnBhZ2UtJmd0O2RhdGFjb3VudCAt IGRhdGFjb3VudDE7PGJyPg0KLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmNv cHkoKHZvaWQgKikoYnBhZ2UtJmd0O3ZhZGRyICsgZGF0YWNvdW50MSksPGJyPg0KLcKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZGF0YXZhZGRyLCBkYXRhY291bnQyKTs8 YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiY29weShicGFnZS0mZ3Q7 dmFkZHIgKyBkYXRhY291bnQxLCBkYXRhdmFkZHIsIGRhdGFjb3VudDIpOzxicj4NCsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHBtYXBfcXVpY2tfcmVtb3ZlX3BhZ2UoPHdicj5k YXRhdmFkZHIpOzxicj4NCjxicj4NCsKgbmV4dF9yOjxicj4NCjxicj4NCjwvYmxvY2txdW90ZT4N Cg== --0000000000005df1ee0650899b12-- From nobody Tue Apr 28 18:49:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGt3Tmmz6bwVk for ; Tue, 28 Apr 2026 18:49: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 4g4qGt2p6Cz3vn2 for ; Tue, 28 Apr 2026 18:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6MTCX6cMag6eW27qTY1ZJeEPDQ4biiWrPM6IV7Bmjw=; b=JEzvwM2gZIJ2zDBY9xWSr8ZMOfDoOztqpzGOc8Ok2V0+hj9yEj82gf2If1gxtfwybIDRNW FoAjESVWAzeIts6eGr7jNoXU0R9piGSotEZ7BtQxt2E44pTUZ0coMPCSS8TAh8jH2e7zci 0AOrae8qX5eAGMWLFX6ui3CzpYa8K+IfXvsws9/Ml3cQosCOhv09b2eecrj0jJg8MAq+q4 c0Fkg3O2jptG+zF7Iz8g1Wfp9CsAlv/+md+hDNFmR+MD0yarWCC/9Kk9LvdUuaGzF/IVqd efkS/0wWUe1Cd0nqCg3C+Sm/4hjJ9ynEUNhufyQ90m2OW1uqch1AAitcM/Abww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402166; a=rsa-sha256; cv=none; b=AjstxHFDKFCxP171ACYEc6wlvs1+mHrs+lXZ+LlJLCl+KLFOB7Ccvi1YgBK2KvPpNP1ks6 hqkfyjfmpAbTex3vAJV7rjtRtZoh/wz2XjqvirleUR0tiVFQ+brIkTCeeiU1FqRZC5n70q vdwonnbmFrT67+v6UgR6Zgh8BjJKM2rXpdOpmSdwM+S44sTao2XUnNHvMErfIU4noFb6t+ lqhxqQv8biJUHD3TxoDWoTg4KSH6LootYWul29adT/PGbLcYhD+NxfZWUkSZbX/bNrzdB9 nM5UgxESkQSaNp1CoanJYzbQC4T3n6b2oMqJKh/qfnPpoGUCgrD/Z9sXT2BJ8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6MTCX6cMag6eW27qTY1ZJeEPDQ4biiWrPM6IV7Bmjw=; b=HKOL52pWFCHZTIyH0lJu31WwNkuuuKcs8lDCiGPnwTDX8rIn8vrTjAcDS7+5ngrcrdGFY/ Q8J27dDWsbxWcRcu0r9ZS8nUQGh4QOp0dlCY8876yrr/Px53nHlWZycls/VCOuLN/kP9ar IzH53doKExJ+LcgtE/WbuW5mcgNisTodfOAI7Bye3rc3u2M7Vx/ZHJTE76kuMo6dzcHfQN R5ddbjwfgqo7eT/u8Aaup1GYNYSvDtlaHb21r3zaRmkGskHiLMmxsGdzAcxYkw0zRl/PeQ LOF9kCGmiFh1HWzQltbDPCbm6rjkkE6c+R99VTuwlQhov9cTO7x6pLVigS/bmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGt1tvHz15gj for ; Tue, 28 Apr 2026 18:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23a7a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:49:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andre Silva From: Mitchell Horne Subject: git: 39f48829a045 - main - hwpmc: Add IBS capability control policy List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39f48829a045e22c39e7099fa39c1a8b7d3fa7f4 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:49:26 +0000 Message-Id: <69f10136.23a7a.4d667d23@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=39f48829a045e22c39e7099fa39c1a8b7d3fa7f4 commit 39f48829a045e22c39e7099fa39c1a8b7d3fa7f4 Author: Andre Silva AuthorDate: 2026-04-23 19:45:26 +0000 Commit: Mitchell Horne CommitDate: 2026-04-28 18:49:22 +0000 hwpmc: Add IBS capability control policy Reject unsupported AMD IBS and PMU control bits before programming the MSRs. Initialize IBS fetch/op allow masks from CPUID feature bits and validate user-provided IBS control values against those masks. Keep the load-latency filter dependency on L3MissOnly, but avoid decoding fields that are already constrained by the mask. Apply the same reserved-bit policy to the AMD PMU raw-config path by checking core, L3, and data fabric configs against subclass-specific masks. Fix the IBS CPUID feature bit definitions used by the policy. Reviewed by: mhorne, Ali Mashtizadeh Sponsored by: AMD Signed-off-by: Andre Silva Pull Request: https://github.com/freebsd/freebsd-src/pull/2140 --- sys/dev/hwpmc/hwpmc_amd.c | 51 +++++++++++++++++++++++++++-- sys/dev/hwpmc/hwpmc_amd.h | 22 +++++++++++++ sys/dev/hwpmc/hwpmc_ibs.c | 81 +++++++++++++++++++++++++++++++++++++++++++++-- sys/dev/hwpmc/hwpmc_ibs.h | 22 ++++++++++--- 4 files changed, 166 insertions(+), 10 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index 51505bfcff37..8531db13dc6f 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -178,6 +178,45 @@ struct amd_cpu { }; static struct amd_cpu **amd_pcpu; +/* Populated by amd_init_policy(); PRECISERETIRE is OR-ed in per-allocation. */ +static uint64_t amd_core_allowed_mask; +static uint64_t amd_l3_allowed_mask; +static uint64_t amd_df_allowed_mask; + +static void +amd_init_policy(void) +{ + int family; + + family = CPUID_TO_FAMILY(cpu_id); + + amd_core_allowed_mask = AMD_VALID_BITS; + + amd_l3_allowed_mask = (family <= 0x17) ? + AMD_PMC_L3_FAMILY17_MASK : AMD_PMC_L3_FAMILY19_MASK; + + amd_df_allowed_mask = (family <= 0x19) ? + AMD_PMC_DF_FAMILY17_MASK : AMD_PMC_DF_FAMILY1A_MASK; +} + +static uint64_t +amd_config_mask(enum sub_class subclass, uint64_t caps) +{ + + switch (subclass) { + case PMC_AMD_SUB_CLASS_CORE: + return (amd_core_allowed_mask | + (((caps & PMC_CAP_PRECISE) != 0) ? + AMD_PMC_PRECISERETIRE : 0)); + case PMC_AMD_SUB_CLASS_L3_CACHE: + return (amd_l3_allowed_mask); + case PMC_AMD_SUB_CLASS_DATA_FABRIC: + return (amd_df_allowed_mask); + default: + return (0); + } +} + /* * Read a PMC value from the MSR. */ @@ -358,9 +397,13 @@ amd_allocate_pmc(int cpu __unused, int ri, struct pmc *pm, return (EINVAL); if (strlen(pmc_cpuid) != 0) { - pm->pm_md.pm_amd.pm_amd_evsel = a->pm_md.pm_amd.pm_amd_config; - PMCDBG2(MDP, ALL, 2,"amd-allocate ri=%d -> config=0x%x", ri, - a->pm_md.pm_amd.pm_amd_config); + config = a->pm_md.pm_amd.pm_amd_config; + if ((config & ~amd_config_mask(amd_pmcdesc[ri].pm_subclass, + caps)) != 0) + return (EINVAL); + pm->pm_md.pm_amd.pm_amd_evsel = config; + PMCDBG2(MDP, ALL, 2, "amd-allocate ri=%d -> config=0x%jx", + ri, (uintmax_t)config); return (0); } @@ -981,6 +1024,8 @@ pmc_amd_initialize(void) pmc_mdep->pmd_npmc += amd_npmcs; + amd_init_policy(); + PMCDBG0(MDP, INI, 0, "amd-initialize"); if (nclasses >= 3) { diff --git a/sys/dev/hwpmc/hwpmc_amd.h b/sys/dev/hwpmc/hwpmc_amd.h index 6d8ab8203942..616d115ecc25 100644 --- a/sys/dev/hwpmc/hwpmc_amd.h +++ b/sys/dev/hwpmc/hwpmc_amd.h @@ -122,6 +122,18 @@ #define AMD_PMC_L3_TO_UNITMASK(x) (((x) << 8) & AMD_PMC_UNITMASK) #define AMD_PMC_L3_TO_EVENTMASK(x) ((x) & 0xFF) +#define AMD_PMC_L3_FAMILY17_MASK \ + (AMD_PMC_ENABLE | AMD_PMC_L3_TO_EVENTMASK(0xff) | \ + AMD_PMC_L3_TO_UNITMASK(0xff) | \ + AMD_PMC_L31_SLICEMASK | AMD_PMC_L31_COREMASK) + +#define AMD_PMC_L3_FAMILY19_MASK \ + (AMD_PMC_ENABLE | AMD_PMC_L3_TO_EVENTMASK(0xff) | \ + AMD_PMC_L3_TO_UNITMASK(0xff) | \ + AMD_PMC_L32_THREADMASK | AMD_PMC_L32_SOURCEMASK | \ + AMD_PMC_L32_ALLCORES | AMD_PMC_L32_ALLSOURCES | \ + AMD_PMC_L32_COREMASK) + #define AMD_PMC_L3_CAPS (PMC_CAP_READ | PMC_CAP_WRITE | \ PMC_CAP_QUALIFIER | PMC_CAP_DOMWIDE) @@ -148,6 +160,16 @@ #define AMD_PMC_DF2_TO_UNITMASK(x) ((((x) & 0xFF) << 8) | \ (((uint64_t)(x) & 0x0F00) << 16)) +#define AMD_PMC_DF_FAMILY17_MASK \ + (AMD_PMC_ENABLE | \ + AMD_PMC_DF1_TO_EVENTMASK(0x3fff) | \ + AMD_PMC_DF1_TO_UNITMASK(0xff)) + +#define AMD_PMC_DF_FAMILY1A_MASK \ + (AMD_PMC_ENABLE | \ + AMD_PMC_DF2_TO_EVENTMASK(0x7fff) | \ + AMD_PMC_DF2_TO_UNITMASK(0xfff)) + #define AMD_NPMCS_K8 4 #define AMD_NPMCS_MAX (AMD_PMC_CORE_MAX + AMD_PMC_L3_MAX + \ AMD_PMC_DF_MAX) diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c index 280a84208847..93e43d657633 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.c +++ b/sys/dev/hwpmc/hwpmc_ibs.c @@ -57,6 +57,8 @@ struct ibs_descr { * Globals */ static uint64_t ibs_features; +static uint64_t ibs_fetch_allowed_mask; +static uint64_t ibs_op_allowed_mask; /* * Per-processor information @@ -71,6 +73,73 @@ struct ibs_cpu { }; static struct ibs_cpu **ibs_pcpu; +static void +ibs_init_policy(void) +{ + + ibs_fetch_allowed_mask = IBS_FETCH_ALLOWED_MASK_BASE; + + ibs_op_allowed_mask = IBS_OP_CTL_MAXCNTBASEMASK; + + if ((ibs_features & CPUID_IBSID_ZEN4IBSEXTENSIONS) != 0) + ibs_fetch_allowed_mask |= IBS_FETCH_CTL_L3MISSONLY; + + if ((ibs_features & CPUID_IBSID_OPCNT) != 0) + ibs_op_allowed_mask |= IBS_OP_CTL_COUNTERCONTROL; + + if ((ibs_features & CPUID_IBSID_OPCNTEXT) != 0) + ibs_op_allowed_mask |= IBS_OP_CTL_MAXCNTEXTMASK; + + if ((ibs_features & CPUID_IBSID_ZEN4IBSEXTENSIONS) != 0) + ibs_op_allowed_mask |= IBS_OP_CTL_L3MISSONLY; +} + +static int +ibs_validate_fetch_config(uint64_t config) +{ + + if ((config & ~ibs_fetch_allowed_mask) != 0) + return (EINVAL); + + return (0); +} + +static int +ibs_validate_op_config(uint64_t config) +{ + uint64_t allowed_mask; + + allowed_mask = ibs_op_allowed_mask; + + if ((config & IBS_OP_CTL_LATFLTEN) != 0) { + if ((ibs_features & CPUID_IBSID_IBSLOADLATENCYFILT) == 0) + return (EINVAL); + if ((config & IBS_OP_CTL_L3MISSONLY) == 0) + return (EINVAL); + + allowed_mask |= IBS_OP_CTL_LDLATMASK | IBS_OP_CTL_L3MISSONLY; + } + + if ((config & ~allowed_mask) != 0) + return (EINVAL); + + return (0); +} + +static int +ibs_validate_pmc_config(int ri, uint64_t config) +{ + + switch (ri) { + case IBS_PMC_FETCH: + return (ibs_validate_fetch_config(config)); + case IBS_PMC_OP: + return (ibs_validate_op_config(config)); + default: + return (EINVAL); + } +} + /* * Read a PMC value from the MSR. */ @@ -182,6 +251,7 @@ ibs_allocate_pmc(int cpu __unused, int ri, struct pmc *pm, const struct pmc_op_pmcallocate *a) { uint64_t caps, config; + int error; KASSERT(ri >= 0 && ri < IBS_NPMCS, ("[ibs,%d] illegal row index %d", __LINE__, ri)); @@ -205,9 +275,13 @@ ibs_allocate_pmc(int cpu __unused, int ri, struct pmc *pm, return (EINVAL); config = a->pm_md.pm_ibs.ibs_ctl; + error = ibs_validate_pmc_config(ri, config); + if (error != 0) + return (error); pm->pm_md.pm_ibs.ibs_ctl = config; - PMCDBG2(MDP, ALL, 2, "ibs-allocate ri=%d -> config=0x%x", ri, config); + PMCDBG2(MDP, ALL, 2, "ibs-allocate ri=%d -> config=0x%jx", ri, + config); return (0); } @@ -361,7 +435,6 @@ pmc_ibs_process_fetch(struct pmc *pm, struct trapframe *tf, uint64_t config) if ((ibs_features & CPUID_IBSID_IBSFETCHCTLEXTD) != 0) { mpd.pl_mpdata[PMC_MPIDX_FETCH_EXTCTL] = rdmsr(IBS_FETCH_EXTCTL); } - mpd.pl_mpdata[PMC_MPIDX_FETCH_CTL] = config; mpd.pl_mpdata[PMC_MPIDX_FETCH_LINADDR] = rdmsr(IBS_FETCH_LINADDR); if ((config & IBS_FETCH_CTL_PHYSADDRVALID) != 0) { mpd.pl_mpdata[PMC_MPIDX_FETCH_PHYSADDR] = @@ -622,10 +695,14 @@ pmc_ibs_initialize(struct pmc_mdep *pmc_mdep, int ncpus) if (cpu_exthigh >= CPUID_IBSID) { do_cpuid(CPUID_IBSID, regs); ibs_features = regs[0]; + if ((ibs_features & CPUID_IBSID_IBSFFV) == 0) + ibs_features = 0; } else { ibs_features = 0; } + ibs_init_policy(); + PMCDBG0(MDP, INI, 0, "ibs-initialize"); return (0); diff --git a/sys/dev/hwpmc/hwpmc_ibs.h b/sys/dev/hwpmc/hwpmc_ibs.h index 2b4e111ba171..433397954d4f 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.h +++ b/sys/dev/hwpmc/hwpmc_ibs.h @@ -100,6 +100,8 @@ #define IBS_FETCH_CTL_TO_LAT(_c) (((_c) >> 32) & 0x0000FFFF) #define IBS_FETCH_COUNT_TO_CTL(_c) (((_c) << 12) & IBS_FETCH_CTL_CURCNTMASK) #define IBS_FETCH_CTL_TO_COUNT(_c) (((_c) & IBS_FETCH_CTL_CURCNTMASK) >> 12) +#define IBS_FETCH_ALLOWED_MASK_BASE (IBS_FETCH_CTL_MAXCNTMASK | \ + IBS_FETCH_CTL_RANDOMIZE) #define IBS_FETCH_LINADDR 0xC0011031 /* Fetch Linear Address */ #define IBS_FETCH_PHYSADDR 0xC0011032 /* Fetch Physical Address */ @@ -118,12 +120,22 @@ #define IBS_OP_CTL_VALID (1ULL << 18) /* Valid */ #define IBS_OP_CTL_ENABLE (1ULL << 17) /* Enable */ #define IBS_OP_CTL_L3MISSONLY (1ULL << 16) /* L3 Miss Filtering */ -#define IBS_OP_CTL_MAXCNTMASK 0x07F0FFFFULL +#define IBS_OP_CTL_MAXCNTMASK 0x07F0FFFFULL /* Max Count */ +#define IBS_OP_CTL_MAXCNTEXTMASK 0x07F00000ULL /* Max Count Extended */ +#define IBS_OP_CTL_MAXCNTBASEMASK (IBS_OP_CTL_MAXCNTMASK & \ + ~IBS_OP_CTL_MAXCNTEXTMASK) /* Max Count Base */ #define IBS_OP_CTL_CURCNTMASK 0x07FFFFFF00000000ULL - -#define IBS_OP_CTL_LDLAT_TO_CTL(_c) ((((ldlat) >> 7) - 1) << 59) -#define IBS_OP_INTERVAL_TO_CTL(_c) ((((_c) >> 4) & 0x0000FFFFULL) | ((_c) & 0x07F00000)) -#define IBS_OP_CTL_TO_INTERVAL(_c) ((((_c) & 0x0000FFFFULL) << 4) | ((_c) & 0x07F00000)) +#define IBS_OP_CTL_LDLATTRSHMASK (0xFULL << 59) /* Load Lat Threshold */ +#define IBS_OP_CTL_LDLATMASK (IBS_OP_CTL_LATFLTEN | \ + IBS_OP_CTL_LDLATTRSHMASK) /* Load Lat Combined */ + +#define IBS_OP_CTL_LDLAT_TO_CTL(_c) (((((_c) >> 7) - 1) & 0xFULL) << 59) +#define IBS_OP_INTERVAL_TO_CTL(_c) \ + ((((_c) >> 4) & IBS_OP_CTL_MAXCNTBASEMASK) | \ + ((_c) & IBS_OP_CTL_MAXCNTEXTMASK)) +#define IBS_OP_CTL_TO_INTERVAL(_c) \ + ((((_c) & IBS_OP_CTL_MAXCNTBASEMASK) << 4) | \ + ((_c) & IBS_OP_CTL_MAXCNTEXTMASK)) #define IBS_OP_COUNT_TO_CTL(_c) (((_c) << 32) & IBS_OP_CTL_CURCNTMASK) #define IBS_OP_CTL_TO_COUNT(_c) (((_c) & IBS_OP_CTL_CURCNTMASK) >> 32) From nobody Tue Apr 28 18:49:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGv5hDJz6bwRS for ; Tue, 28 Apr 2026 18:49:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4qGv3W2fz3vvp for ; Tue, 28 Apr 2026 18:49:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QpPCI2YesGLOb4EvlfqFHNPwvXVvfZrRjFtNTawuVEI=; b=Rlg2NSwIngTA7tAt6JZ+gCxEsdDo/HXX+uqc96uyjMXMWGT1KQ+E1izIr1WRlzJOEX2I+B ltpILe7W0CucbfRfk3HJVvE7TKkcmI31QSYmZYAEVbiWqR3oWgnE+F/KGkfJD5+VvgWrXK YCq60LIvurq7ACY9r70KDKVeXxBaHn6/vFs26l+0kcbN+NDyA6N99eSIJIPfyHAfP9bWat vkLvIP1YUYFlnBmRHkRyrxnSA1Ebsosg2Mf22weupyDC0+Pq0Uj5YCt33o1FqIrkjqEOin Umv6Damn3ju6FJmY85A5sPIdBEpE7SxAb9rEWjiC5UxHNsKezvLCiuvtlT8IVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402167; a=rsa-sha256; cv=none; b=wOfNyfGhnttDZpgeb1H5SSR8Nf0XnOWWeOZ/OFGRPG/u0a2MQ3th9mf45+W/wJ4tfSNo4/ ves0rJ3A0spxxpykHGuf2Pz9JAO1QLw15UG6ITnXkl962PunrKaAcUqc/i4KccPseCJQCT KprLKu4j3lQRxjdTEDO1d3nqew784nTrWSJvCO1Q4KDrRmNj9KLkthIdFMcI6gFB7YEMGT rB6xWNdHTqe+CRywJMrfqq4YdOd+XJJaFFtl8HeKfieudvJnFZ9bKCYs7CAXae3xbuuCEz UhHhTruHH06d3oOqcYwFV4eSwpab8W9rKyaBxOFghvX3MwCygyjSvSHJSW+1AQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QpPCI2YesGLOb4EvlfqFHNPwvXVvfZrRjFtNTawuVEI=; b=yyjCXaQRz5ir/a87SyUW2GMKf2zxX3pbHmdHWsmFIZjMk/+3fSZ2CUeb2bKz/j/0cAl2Kq TFh5LX++qZwGPOjDmfIOFTkZxSw6+cShC+OjnprzKNpzS4ifuuhBN7oosBi9EQhrICPp+k CQwvFrK2296/7uNJ6RymuZGKrsbZ7bIyLeGKvHRHnRPrB+5T0jVQvnh54Hy+WwoFo/lE6o 8NS0jPFHCWJ8E6g9Gyc2lSfDRpQ/RUxwaSDnF0r62aSuDIzlowcXOBOPAVtXzH3Nz6tUNM aTibWCMxjZ+FON5KC6/H5t19yAH/dt3JkaJYCMGeQOpW0KS+nXeFG0MrX6DgQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGv35bQz15Rs for ; Tue, 28 Apr 2026 18:49:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24947 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:49:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andre Silva From: Mitchell Horne Subject: git: 146b30bad9f6 - main - hwpmc: Add extra_mask sysctls per counter type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 146b30bad9f65a098e6c09ae93bb1da2ff59616d Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:49:27 +0000 Message-Id: <69f10137.24947.5c65a2ab@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=146b30bad9f65a098e6c09ae93bb1da2ff59616d commit 146b30bad9f65a098e6c09ae93bb1da2ff59616d Author: Andre Silva AuthorDate: 2026-04-23 19:27:06 +0000 Commit: Mitchell Horne CommitDate: 2026-04-28 18:49:22 +0000 hwpmc: Add extra_mask sysctls per counter type Expose kern.hwpmc.{ibs_fetch,ibs_op,amd_core,amd_l3,amd_df}_extra_mask as RWTUN uint64s that OR into the CPUID-derived allow mask at validation time. Default 0, so the strict policy applies unless an administrator opts bits back in — intended for testing the wrmsr_safe path in PR #2157. Reviewed by: mhorne, Ali Mashtizadeh Sponsored by: AMD Signed-off-by: Andre Silva Pull Request: https://github.com/freebsd/freebsd-src/pull/2140 --- sys/dev/hwpmc/hwpmc_amd.c | 25 ++++++++++++++++++++++--- sys/dev/hwpmc/hwpmc_ibs.c | 18 +++++++++++++++++- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index 8531db13dc6f..299021494716 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -183,6 +184,24 @@ static uint64_t amd_core_allowed_mask; static uint64_t amd_l3_allowed_mask; static uint64_t amd_df_allowed_mask; +static uint64_t amd_core_extra_mask; +static uint64_t amd_l3_extra_mask; +static uint64_t amd_df_extra_mask; + +SYSCTL_DECL(_kern_hwpmc); + +SYSCTL_U64(_kern_hwpmc, OID_AUTO, amd_core_extra_mask, CTLFLAG_RDTUN, + &amd_core_extra_mask, 0, + "Extra allowed bits in AMD core PMU PERFEVTSEL (override; default 0)"); + +SYSCTL_U64(_kern_hwpmc, OID_AUTO, amd_l3_extra_mask, CTLFLAG_RDTUN, + &amd_l3_extra_mask, 0, + "Extra allowed bits in AMD L3 PMU control (override; default 0)"); + +SYSCTL_U64(_kern_hwpmc, OID_AUTO, amd_df_extra_mask, CTLFLAG_RDTUN, + &amd_df_extra_mask, 0, + "Extra allowed bits in AMD DF PMU control (override; default 0)"); + static void amd_init_policy(void) { @@ -205,13 +224,13 @@ amd_config_mask(enum sub_class subclass, uint64_t caps) switch (subclass) { case PMC_AMD_SUB_CLASS_CORE: - return (amd_core_allowed_mask | + return (amd_core_allowed_mask | amd_core_extra_mask | (((caps & PMC_CAP_PRECISE) != 0) ? AMD_PMC_PRECISERETIRE : 0)); case PMC_AMD_SUB_CLASS_L3_CACHE: - return (amd_l3_allowed_mask); + return (amd_l3_allowed_mask | amd_l3_extra_mask); case PMC_AMD_SUB_CLASS_DATA_FABRIC: - return (amd_df_allowed_mask); + return (amd_df_allowed_mask | amd_df_extra_mask); default: return (0); } diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c index 93e43d657633..8cfe7b2df145 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.c +++ b/sys/dev/hwpmc/hwpmc_ibs.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #define EXTERR_CATEGORY EXTERR_CAT_HWPMC_IBS @@ -60,6 +61,19 @@ static uint64_t ibs_features; static uint64_t ibs_fetch_allowed_mask; static uint64_t ibs_op_allowed_mask; +static uint64_t ibs_fetch_extra_mask; +static uint64_t ibs_op_extra_mask; + +SYSCTL_DECL(_kern_hwpmc); + +SYSCTL_U64(_kern_hwpmc, OID_AUTO, ibs_fetch_extra_mask, CTLFLAG_RDTUN, + &ibs_fetch_extra_mask, 0, + "Extra allowed bits in the IBS fetch control MSR (override; default 0)"); + +SYSCTL_U64(_kern_hwpmc, OID_AUTO, ibs_op_extra_mask, CTLFLAG_RDTUN, + &ibs_op_extra_mask, 0, + "Extra allowed bits in the IBS op control MSR (override; default 0)"); + /* * Per-processor information */ @@ -98,7 +112,7 @@ static int ibs_validate_fetch_config(uint64_t config) { - if ((config & ~ibs_fetch_allowed_mask) != 0) + if ((config & ~(ibs_fetch_allowed_mask | ibs_fetch_extra_mask)) != 0) return (EINVAL); return (0); @@ -120,6 +134,8 @@ ibs_validate_op_config(uint64_t config) allowed_mask |= IBS_OP_CTL_LDLATMASK | IBS_OP_CTL_L3MISSONLY; } + allowed_mask |= ibs_op_extra_mask; + if ((config & ~allowed_mask) != 0) return (EINVAL); From nobody Tue Apr 28 18:49:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGz0Vdvz6bwbV for ; Tue, 28 Apr 2026 18:49: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 4g4qGy4bnyz3vw5 for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0KgcUj1y0xwXsyJ1Dys3399umrVjPiLAVIzmHc4LKE=; b=hO4xaoWDDhYSxkjCWSmBbiL2s8QOB11xG1cnq/FUxxfy87ns+Tm+7sgFnzpQ/DMyscMKp6 ZCGGgRdSs9Swa2I0IPmALEM/HdE9wURLXz0r1VBhjjA7vTLHHyyuev8uH+7Koym1MJsTyi OBPbr0OubplcLrzZgHut9/qvTGcoKB4jJ4E+lVO5jPPK4E+I9IuRXck3uV4pHTgXbnq95h XcV98GUL2jAvFK1LFSaTdkzYE50xRI3qwntKKw9huP+n4HGvZ2jp/Uv2RRbihs8KKU4dZE xhLPTzbSi7dewZXb8dUFLaXqeAJpgA9mzfP6zAwVLeVCS3WR2i94BMuTVVFvZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402170; a=rsa-sha256; cv=none; b=VoCU0l/ZxybnagYJ2etlBmVp08gxV/ZZgm0ite4f3Wy6XttEm/Sg6fM6DpQlwW0DvypIH5 5i8mfpuLqkN29/lUxVG+YUUj4DwMf4SYEw9Cxx7snpGxRYYrFtsSd00UTBMo8EO9krSp0S IqCiZOS2W5QvRy+NS0IOyVJSVCzeQz4nSNrXM6r7kZJFwPk9AUQXqRV0pxwK3hMXrVPGs5 sEqDoTkpGJmjPOwOuqaUfb09/Obo6yDkfjgtvIwmxdmoLaGrApk2GbUsDxY49k5zl0t+Th p96p8RbCCSlWULcZpkpi9p0f4RmcNKVFuYIAM8s51wJRB1cqwCgrF5Ga36p9zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0KgcUj1y0xwXsyJ1Dys3399umrVjPiLAVIzmHc4LKE=; b=h8yW9yI14Bx0k7HuFzlvIfOneBpjKG5MLJQdJE2GM+IF/bBiwbsdRviu5xqxk1500UfJ3n dVUfODgw/cD0zoqtT5CkXGomPZ6WUPaCnrHN5DnoDuCLrX8t+y9Z42HZjTrEym8e4ZQrBs mnpLbiXtDVBhxYts2+1R+Lj1CXYD3Ra7YQ060UeDVaYS4/W7x4dTRVinV2bnQi8EHGUwaQ /LlE36FOOy2dVsCeRNomWGyF/NwDUJHQ2e/kq+zlOvkw5rxmFNrCUsFlQ3zflVxszKiz3k UO3OSQCUeoPNCaq95v62jNc3lHlReEzqB8n9jtL+t1ddth942FDiSygb6Be7gA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGy1FQ7z15gm for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24578 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:49:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andre Silva From: Mitchell Horne Subject: git: a9a562a08e77 - main - hwpmc_ibs: Add external error handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9a562a08e77ac024066a6ca7ab77e7e25e007dc Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:49:25 +0000 Message-Id: <69f10135.24578.6926be1@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a9a562a08e77ac024066a6ca7ab77e7e25e007dc commit a9a562a08e77ac024066a6ca7ab77e7e25e007dc Author: Andre Silva AuthorDate: 2026-04-06 20:55:43 +0000 Commit: Mitchell Horne CommitDate: 2026-04-28 18:49:21 +0000 hwpmc_ibs: Add external error handling Add EXTERR_CAT_HWPMC_IBS to the external error categories and replace generic EINVAL returns in ibs_allocate_pmc() with EXTERROR() calls that provide detailed error messages. This will be augmented with additional cases in the near future. Reviewed by: mhorne Sponsored by: AMD Signed-off-by: Andre Silva Pull Request: https://github.com/freebsd/freebsd-src/pull/2134 --- lib/libc/gen/exterr_cat_filenames.h | 1 + sys/dev/hwpmc/hwpmc_ibs.c | 11 ++++++++--- sys/sys/exterr_cat.h | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/exterr_cat_filenames.h b/lib/libc/gen/exterr_cat_filenames.h index e45d05e384bd..be65c1990af5 100644 --- a/lib/libc/gen/exterr_cat_filenames.h +++ b/lib/libc/gen/exterr_cat_filenames.h @@ -2,6 +2,7 @@ * Automatically @generated, use * tools/build/make_libc_exterr_cat_filenames.sh */ + [EXTERR_CAT_HWPMC_IBS] = "dev/hwpmc/hwpmc_ibs.c", [EXTERR_CAT_VMM] = "dev/vmm/vmm_dev.c", [EXTERR_CAT_FUSE_DEVICE] = "fs/fuse/fuse_device.c", [EXTERR_CAT_FUSE_VFS] = "fs/fuse/fuse_vfsops.c", diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c index 56903699ac51..280a84208847 100644 --- a/sys/dev/hwpmc/hwpmc_ibs.c +++ b/sys/dev/hwpmc/hwpmc_ibs.c @@ -38,6 +38,9 @@ #include #include +#define EXTERR_CATEGORY EXTERR_CAT_HWPMC_IBS +#include + #include #include #include @@ -185,16 +188,18 @@ ibs_allocate_pmc(int cpu __unused, int ri, struct pmc *pm, /* check class match */ if (a->pm_class != PMC_CLASS_IBS) - return (EINVAL); + return (EXTERROR(EINVAL, "PMC class is not IBS")); if (a->pm_md.pm_ibs.ibs_type != ri) - return (EINVAL); + return (EXTERROR(EINVAL, + "IBS type %ju does not match PMC index %ju", + (uint64_t)a->pm_md.pm_ibs.ibs_type, (uint64_t)ri)); caps = pm->pm_caps; PMCDBG2(MDP, ALL, 1, "ibs-allocate ri=%d caps=0x%x", ri, caps); if ((caps & PMC_CAP_SYSTEM) == 0) - return (EINVAL); + return (EXTERROR(EINVAL, "IBS requires SYSTEM capability")); if (!PMC_IS_SAMPLING_MODE(a->pm_mode)) return (EINVAL); diff --git a/sys/sys/exterr_cat.h b/sys/sys/exterr_cat.h index 4f3ff6925242..edc23d7dfbe6 100644 --- a/sys/sys/exterr_cat.h +++ b/sys/sys/exterr_cat.h @@ -40,6 +40,7 @@ #define EXTERR_CAT_FORK 15 #define EXTERR_CAT_PROCEXIT 16 #define EXTERR_CAT_VMM 17 +#define EXTERR_CAT_HWPMC_IBS 18 #endif From nobody Tue Apr 28 18:49:24 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qH010pDz6bwbY for ; Tue, 28 Apr 2026 18:49:32 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4qGz08mpz3vqY for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-678adefbd26so7325207a12.3 for ; Tue, 28 Apr 2026 11:49:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777402168; x=1778006968; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ok6iwTgidYIdpa9D/T7y+Ze9JEDGeAKn0yrdcx9m0xk=; b=KqPUKaWySgobbFhVSW0Gvy40dHCYic4PT+PK6oe/0d8rZL5O36/dmfyF2VHDox82bg 87tWFJVxRS9N+6i0XrHtF170fxcbiOz0uRFw/A6no+JSclhmLUPYH2U0/IbboGt3waC0 3xg5FBus/avnGev+ERZfZEe2ASwrKmMIWCooXMV96zDZyCDRdxqtgN0CifsjbSoZfXvU IBqSgEmmQfqL8Nl0cfFwepC33wWudm4lhTGme76L8JO0Jve6OpcQIPLhlSCy3BZuYm1i nzGhiTlc0Fil7WMq2NZvLiIemZXouka50COF2mezLHhzdCKEjWQ/nExmBWnIY3/wdkSk k9Jw== X-Forwarded-Encrypted: i=1; AFNElJ8vdfK9jKEe2ZxkoVMnxF98geEUCWZVO0JkdCtlwiG2Aih/0SGEwiqTvAFCzz9sBDVac8S/XEzWwOix930A4owcRdAe@freebsd.org X-Gm-Message-State: AOJu0YwIj7mPMotVDmdOHkRt1ML0QmGKNmPg4pYa2/S6te2B7xygT7Ma HtrX7RIi2dTRjfhU0yokdvDrlq1x0G1zUQktGxDW5BGcogiZ4bu3Zm/g15b7ShBGnKI= X-Gm-Gg: AeBDiesTT1UDICkoQ4Rxbh0aW4Li8xDdP7uCsj33Vr8RTkuvBAFGedoE2oT+AIV0Wbe B3RFL8HW9KD9KhF+17VauXmCA4WbB8ZoG2RP1vn8/xHmzgudxNgyULa5euEqmL9tL3NMxp+KyVP urHl56ATitfsQvdKy6rCbK3L8Tr1vhnhXYRIf6VY9eMSQDVzk2V+9nM3s85fUUS7Qv8wyuU2/uC uOLilt5Qd8nnQMQvdt4W2lqXEV3NQ9IaYrs38ecZVa3jtLJTQnpuPitoOGknA9BddRCVfpJRGaE fwseTpZjJscBOG8S9StuzqsxsZ8d9vwLIrfAgbD1JTaFu3vTamMMGxKzXM+zdprID5aZL6VKZZc kyVNohxSxrnAT9pexq813VNuCTDjkslVPUu/gjjFN7+8gGAcVBpZumpzoq32ki/8lAukxlKz+vb MhF14HWZU3VqF9BMfxA3I0BBmlV6mrCBbauH/6tenFjYWnk04fJDP0znMNwiBGg3KTfbV4kOnm X-Received: by 2002:a17:907:8745:b0:ba7:cc67:488b with SMTP id a640c23a62f3a-bb8020ca223mr273045966b.5.1777402167475; Tue, 28 Apr 2026 11:49:27 -0700 (PDT) Received: from smtpclient.apple (nat-184-78.net.cam.ac.uk. [131.111.184.78]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80b2adb01sm133172866b.37.2026.04.28.11.49.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2026 11:49:26 -0700 (PDT) From: Jessica Clarke Message-Id: <9A89D171-0067-43C1-ABB3-E18A832FC6D5@freebsd.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_232F96EC-6D5C-49A3-85AC-DE66E9BE46EC" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: fe9f0b18bf6a - main - busdma: Use char * instead of vm_offset_t for bounce page kernel pointers Date: Tue, 28 Apr 2026 19:49:24 +0100 In-Reply-To: Cc: John Baldwin , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Oliver Pinter References: <69ea61e8.46e01.b303182@gitrepo.freebsd.org> X-Mailer: Apple Mail (2.3864.400.21) X-Spamd-Result: default: False [0.49 / 15.00]; URI_COUNT_ODD(1.00)[9]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_LONG(-1.00)[-0.999]; NEURAL_HAM_SHORT(-0.61)[-0.610]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.49:from]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEFALL_USER(0.00)[jrtc27]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.49:from]; R_DKIM_NA(0.00)[]; TAGGED_RCPT(0.00)[]; APPLE_MAILER_COMMON(0.00)[]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4g4qGz08mpz3vqY X-Spamd-Bar: / --Apple-Mail=_232F96EC-6D5C-49A3-85AC-DE66E9BE46EC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Jessica > On 28 Apr 2026, at 19:43, Oliver Pinter wrote: >=20 >=20 >=20 > On Thursday, April 23, 2026, John Baldwin > wrote: >> The branch main has been updated by jhb: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dfe9f0b18bf6a1f881fbe57da716ea429= acd539c1 = >>=20 >> commit fe9f0b18bf6a1f881fbe57da716ea429acd539c1 >> Author: John Baldwin >> AuthorDate: 2026-04-23 17:05:53 +0000 >> Commit: John Baldwin >> CommitDate: 2026-04-23 17:05:53 +0000 >>=20 >> busdma: Use char * instead of vm_offset_t for bounce page kernel = pointers >>=20 >> Effort: CHERI upstreaming >> Reviewed by: kib >> Sponsored by: AFRL, DARPA >> Pull Request: https://github.com/freebsd/freebsd-src/pull/2068 >> --- >> sys/arm/arm/busdma_machdep.c | 18 ++++++++---------- >> sys/arm64/arm64/busdma_bounce.c | 18 ++++++++---------- >> sys/kern/subr_busdma_bounce.c | 30 = +++++++++++++++--------------- >> sys/powerpc/powerpc/busdma_machdep.c | 20 +++++++++----------- >> sys/riscv/riscv/busdma_bounce.c | 18 ++++++++---------- >> sys/x86/x86/busdma_bounce.c | 26 +++++++++++--------------- >> 6 files changed, 59 insertions(+), 71 deletions(-) >>=20 >> diff --git a/sys/arm/arm/busdma_machdep.c = b/sys/arm/arm/busdma_machdep.c >> index 3c65cb8ebbf4..81b8b4a2883a 100644 >> --- a/sys/arm/arm/busdma_machdep.c >> +++ b/sys/arm/arm/busdma_machdep.c >> @@ -1002,7 +1002,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, = bus_dmamap_t map, void *buf, >>=20 >> if (map->pagesneeded !=3D 0 && must_bounce(dmat, map, = curaddr, >> sgsize)) { >> - curaddr =3D add_bounce_page(dmat, map, = (vm_offset_t)kvaddr, curaddr, >> + curaddr =3D add_bounce_page(dmat, map, = kvaddr, curaddr, >> sgsize); >> } else if ((dmat->flags & BUS_DMA_COHERENT) =3D=3D 0) = { >> if (map->sync_count > 0) { >> @@ -1199,18 +1199,17 @@ bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, bus_dmasync_op_t op) >> if (op & BUS_DMASYNC_PREWRITE) { >> while (bpage !=3D NULL) { >> tempvaddr =3D NULL; >> - datavaddr =3D (void = *)bpage->datavaddr; >> + datavaddr =3D bpage->datavaddr; >> if (datavaddr =3D=3D NULL) { >> tempvaddr =3D = pmap_quick_enter_page( >> bpage->datapage); >> datavaddr =3D tempvaddr + = bpage->dataoffs; >> } >> - bcopy(datavaddr, (void = *)bpage->vaddr, >> - bpage->datacount); >> + bcopy(datavaddr, bpage->vaddr, = bpage->datacount); >> if (tempvaddr !=3D NULL) >> = pmap_quick_remove_page(tempvaddr); >> if ((dmat->flags & BUS_DMA_COHERENT) = =3D=3D 0) >> - dcache_wb_poc(bpage->vaddr, >> + = dcache_wb_poc((vm_offset_t)bpage->vaddr, >> bpage->busaddr, = bpage->datacount); >> bpage =3D STAILQ_NEXT(bpage, links); >> } >> @@ -1232,7 +1231,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, bus_dmasync_op_t op) >> bpage =3D STAILQ_FIRST(&map->bpages); >> while (bpage !=3D NULL) { >> if ((dmat->flags & BUS_DMA_COHERENT) = =3D=3D 0) >> - = dcache_inv_poc_dma(bpage->vaddr, >> + = dcache_inv_poc_dma((vm_offset_t)bpage->vaddr, >> bpage->busaddr, = bpage->datacount); >> bpage =3D STAILQ_NEXT(bpage, links); >> } >> @@ -1250,17 +1249,16 @@ bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, bus_dmasync_op_t op) >> if (op & BUS_DMASYNC_POSTREAD) { >> while (bpage !=3D NULL) { >> if ((dmat->flags & BUS_DMA_COHERENT) = =3D=3D 0) >> - dcache_inv_poc(bpage->vaddr, >> + = dcache_inv_poc((vm_offset_t)bpage->vaddr, >> bpage->busaddr, = bpage->datacount); >> tempvaddr =3D NULL; >> - datavaddr =3D (void = *)bpage->datavaddr; >> + datavaddr =3D bpage->datavaddr; >> if (datavaddr =3D=3D NULL) { >> tempvaddr =3D = pmap_quick_enter_page( >> bpage->datapage); >> datavaddr =3D tempvaddr + = bpage->dataoffs; >> } >> - bcopy((void *)bpage->vaddr, = datavaddr, >> - bpage->datacount); >> + bcopy(bpage->vaddr, datavaddr, = bpage->datacount); >> if (tempvaddr !=3D NULL) >> = pmap_quick_remove_page(tempvaddr); >> bpage =3D STAILQ_NEXT(bpage, links); >> diff --git a/sys/arm64/arm64/busdma_bounce.c = b/sys/arm64/arm64/busdma_bounce.c >> index ad46e26e406f..74fa611e6d1a 100644 >> --- a/sys/arm64/arm64/busdma_bounce.c >> +++ b/sys/arm64/arm64/busdma_bounce.c >> @@ -868,7 +868,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, = bus_dmamap_t map, void *buf, >> KASSERT(dmat->common.alignment <=3D = PAGE_SIZE, >> ("bounced buffer cannot have alignment = bigger " >> "than PAGE_SIZE: %lu", = dmat->common.alignment)); >> - curaddr =3D add_bounce_page(dmat, map, = (vm_offset_t)kvaddr, curaddr, >> + curaddr =3D add_bounce_page(dmat, map, = kvaddr, curaddr, >> sgsize); >> } else if ((map->flags & DMAMAP_COHERENT) =3D=3D 0) { >> if (map->sync_count > 0) { >> @@ -1047,19 +1047,18 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, >> if ((op & BUS_DMASYNC_PREWRITE) !=3D 0) { >> while (bpage !=3D NULL) { >> tempvaddr =3D NULL; >> - datavaddr =3D (void = *)bpage->datavaddr; >> + datavaddr =3D bpage->datavaddr; >> if (datavaddr =3D=3D NULL) { >> tempvaddr =3D = pmap_quick_enter_page( >> bpage->datapage); >> datavaddr =3D tempvaddr + = bpage->dataoffs; >> } >>=20 >> - bcopy(datavaddr, >> - (void *)bpage->vaddr, = bpage->datacount); >> + bcopy(datavaddr, bpage->vaddr, = bpage->datacount); >> if (tempvaddr !=3D NULL) >> = pmap_quick_remove_page(tempvaddr); >> if ((map->flags & DMAMAP_COHERENT) =3D=3D= 0) >> - cpu_dcache_wb_range((void = *)bpage->vaddr, >> + = cpu_dcache_wb_range(bpage->vaddr, >> bpage->datacount); >> bpage =3D STAILQ_NEXT(bpage, links); >> } >> @@ -1067,7 +1066,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, >> } else if ((op & BUS_DMASYNC_PREREAD) !=3D 0) { >> while (bpage !=3D NULL) { >> if ((map->flags & DMAMAP_COHERENT) =3D=3D= 0) >> - cpu_dcache_wbinv_range((void = *)bpage->vaddr, >> + = cpu_dcache_wbinv_range(bpage->vaddr, >> bpage->datacount); >> bpage =3D STAILQ_NEXT(bpage, links); >> } >> @@ -1076,18 +1075,17 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, >> if ((op & BUS_DMASYNC_POSTREAD) !=3D 0) { >> while (bpage !=3D NULL) { >> if ((map->flags & DMAMAP_COHERENT) =3D=3D= 0) >> - cpu_dcache_inv_range((void = *)bpage->vaddr, >> + = cpu_dcache_inv_range(bpage->vaddr, >> bpage->datacount); >> tempvaddr =3D NULL; >> - datavaddr =3D (void = *)bpage->datavaddr; >> + datavaddr =3D bpage->datavaddr; >> if (datavaddr =3D=3D NULL) { >> tempvaddr =3D = pmap_quick_enter_page( >> bpage->datapage); >> datavaddr =3D tempvaddr + = bpage->dataoffs; >> } >>=20 >> - bcopy((void *)bpage->vaddr, >> - datavaddr, bpage->datacount); >> + bcopy(bpage->vaddr, datavaddr, = bpage->datacount); >>=20 >> if (tempvaddr !=3D NULL) >> = pmap_quick_remove_page(tempvaddr); >> diff --git a/sys/kern/subr_busdma_bounce.c = b/sys/kern/subr_busdma_bounce.c >> index 60fe2fc6b2a6..2774128a1ae5 100644 >> --- a/sys/kern/subr_busdma_bounce.c >> +++ b/sys/kern/subr_busdma_bounce.c >> @@ -49,9 +49,9 @@ >> #include >>=20 >> struct bounce_page { >> - vm_offset_t vaddr; /* kva of bounce buffer */ >> + char *vaddr; /* kva of bounce buffer */ >> bus_addr_t busaddr; /* Physical address */ >> - vm_offset_t datavaddr; /* kva of client data */ >> + char *datavaddr; /* kva of client data */ >> #if defined(__amd64__) || defined(__i386__) >> vm_page_t datapage[2]; /* physical page(s) of client = data */ >> #else >> @@ -282,18 +282,18 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u_int = numpages) >> if (bpage =3D=3D NULL) >> break; >> #ifdef dmat_domain >> - bpage->vaddr =3D = (vm_offset_t)contigmalloc_domainset(PAGE_SIZE, >> + bpage->vaddr =3D contigmalloc_domainset(PAGE_SIZE, >> M_BOUNCE, DOMAINSET_PREF(bz->domain), M_NOWAIT, >> 0ul, bz->lowaddr, PAGE_SIZE, 0); >> #else >> - bpage->vaddr =3D (vm_offset_t)contigmalloc(PAGE_SIZE, = M_BOUNCE, >> + bpage->vaddr =3D contigmalloc(PAGE_SIZE, M_BOUNCE, >> M_NOWAIT, 0ul, bz->lowaddr, PAGE_SIZE, 0); >> #endif >> - if (bpage->vaddr =3D=3D 0) { >> + if (bpage->vaddr =3D=3D NULL) { >> free(bpage, M_BUSDMA); >> break; >> } >> - bpage->busaddr =3D pmap_kextract(bpage->vaddr); >> + bpage->busaddr =3D = pmap_kextract((vm_offset_t)bpage->vaddr); >> mtx_lock(&bounce_lock); >> STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, = links); >> total_bpages++; >> @@ -327,11 +327,11 @@ reserve_bounce_pages(bus_dma_tag_t dmat, = bus_dmamap_t map, int commit) >>=20 >> #if defined(__amd64__) || defined(__i386__) >> static bus_addr_t >> -add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t = vaddr, >> +add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr, >> vm_paddr_t addr1, vm_paddr_t addr2, bus_size_t size) >> #else >> static bus_addr_t >> -add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t = vaddr, >> +add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr, >> bus_addr_t addr, bus_size_t size) >> #endif >> { >> @@ -370,13 +370,13 @@ add_bounce_page(bus_dma_tag_t dmat, = bus_dmamap_t map, vm_offset_t vaddr, >> if (dmat_flags(dmat) & BUS_DMA_KEEP_PG_OFFSET) { >> /* Page offset needs to be preserved. */ >> #if defined(__amd64__) || defined(__i386__) >> - bpage->vaddr |=3D addr1 & PAGE_MASK; >> - bpage->busaddr |=3D addr1 & PAGE_MASK; >> + bpage->vaddr +=3D addr1 & PAGE_MASK; >> + bpage->busaddr +=3D addr1 & PAGE_MASK; >> KASSERT(addr2 =3D=3D 0, >> ("Trying to bounce multiple pages with = BUS_DMA_KEEP_PG_OFFSET")); >=20 > These hunks looks different from the commit message. |=3D isn=E2=80=99t defined for pointers, but +=3D is, and they=E2=80=99re = equivalent since the LHS is page aligned and the RHS is a page offset. Jessica --Apple-Mail=_232F96EC-6D5C-49A3-85AC-DE66E9BE46EC Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

Jessica

On 28 Apr 2026, at 19:43, Oliver = Pinter <oliver.pntr@gmail.com> wrote:



On Thursday, April 23, 2026, John Baldwin = <jhb@freebsd.org> wrote:
The branch = main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=3Dfe9f= 0b18bf6a1f881fbe57da716ea429acd539c1

commit = fe9f0b18bf6a1f881fbe57da716ea429acd539c1
Author:    =  John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-04-23 = 17:05:53 +0000
Commit:     John Baldwin = <jhb@FreeBSD.org>
CommitDate: 2026-04-23 17:05:53 = +0000

    busdma: Use char * instead = of vm_offset_t for bounce page kernel pointers

    Effort:      =    CHERI upstreaming
    Reviewed by:    = kib
    Sponsored by:  =  AFRL, DARPA
    Pull Request:  =  https://github.com/freebsd/freebsd-src/pull/2068
---
 sys/arm/arm/busdma_machdep.c      =    | 18 = ++++++++----------
 sys/arm64/arm64/busdma_bounce.c  =     | 18 = ++++++++----------
 sys/kern/subr_busdma_bounce.c    =     | 30 = +++++++++++++++---------------
 sys/powerpc/powerpc/busdma_ma= chdep.c | 20 = +++++++++-----------
 sys/riscv/riscv/busdma_bounce.c  =     | 18 = ++++++++----------
 sys/x86/x86/busdma_bounce.c    =       | 26 +++++++++++---------------
 6 files = changed, 59 insertions(+), 71 deletions(-)

diff --git = a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c
index = 3c65cb8ebbf4..81b8b4a2883a 100644
--- = a/sys/arm/arm/busdma_machdep.c
+++ = b/sys/arm/arm/busdma_machdep.c
@@ -1002,7 +1002,7 @@ = _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void = *buf,

              =   if = (map->pagesneeded !=3D 0 && must_bounce(dmat, map, = curaddr,
                =     sgsize)) = {
-                  =      curaddr =3D add_bounce_page(dmat, map, = (vm_offset_t)kvaddr, curaddr,
+          =              curaddr =3D = add_bounce_page(dmat, map, kvaddr, curaddr,
      =                     =   sgsize);
    =             } else if ((dmat->flags = & BUS_DMA_COHERENT) =3D=3D 0) {
        =                 if (map->sync_count > = 0) {
@@ -1199,18 +1199,17 @@ bus_dmamap_sync(bus_dma_tag_t dmat, = bus_dmamap_t map, bus_dmasync_op_t op)
        =         if (op & = BUS_DMASYNC_PREWRITE) {
            =             while (bpage !=3D NULL) = {
                  =               tempvaddr =3D = NULL;
-                  =              datavaddr =3D (void = *)bpage->datavaddr;
+            =                   =  datavaddr =3D bpage->datavaddr;
        =                     =     if = (datavaddr =3D=3D NULL) {
            =                     =         tempvaddr =3D = pmap_quick_enter_page(
            =                     =             bpage->datapage);
 = ;                     =                   datavaddr =3D tempvaddr + = bpage->dataoffs;
              =                   }
-      =                     =      bcopy(datavaddr, (void *)bpage->vaddr,
-  =                     =             =  bpage->datacount);
+          =                     =  bcopy(datavaddr, bpage->vaddr, bpage->datacount);
  =                     =           if (tempvaddr !=3D = NULL)
                  =                     =   pmap_quick_remove_page(t= empvaddr);
                =                 if ((dmat->flags & = BUS_DMA_COHERENT) =3D=3D 0)
-          =                     =         =  dcache_wb_poc(bpage->vaddr,
+        =                     =           =  dcache_wb_poc((vm_offset_t)bpage->vaddr,
    =                     =                   =   bpage->busaddr, = bpage->datacount);
            =                   =   bpage =3D = STAILQ_NEXT(bpage, links);
            =             }
@@ -1232,7 +1231,7 @@ = bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t = op)
                  =       bpage =3D = STAILQ_FIRST(&map->bpages);
          =               while (bpage !=3D NULL) = {
                  =               if ((dmat->flags & = BUS_DMA_COHERENT) =3D=3D 0)
-          =                     =         =  dcache_inv_poc_dma(bpage->vaddr,
+      =                     =             =  dcache_inv_poc_dma((vm_offset_t)bpage->vaddr,
  =                     =                     =   bpage->busaddr, = bpage->datacount);
            =                   =   bpage =3D = STAILQ_NEXT(bpage, links);
            =             }
@@ -1250,17 +1249,16 = @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, = bus_dmasync_op_t op)
              =   if (op & = BUS_DMASYNC_POSTREAD) {
            =             while (bpage !=3D NULL) = {
                  =               if ((dmat->flags & = BUS_DMA_COHERENT) =3D=3D 0)
-          =                     =         =  dcache_inv_poc(bpage->vaddr,
+        =                     =           =  dcache_inv_poc((vm_offset_t)bpage->vaddr,
    =                     =                   =   bpage->busaddr, = bpage->datacount);
            =                   =   tempvaddr =3D = NULL;
-                  =              datavaddr =3D (void = *)bpage->datavaddr;
+            =                   =  datavaddr =3D bpage->datavaddr;
        =                     =     if = (datavaddr =3D=3D NULL) {
            =                     =         tempvaddr =3D = pmap_quick_enter_page(
            =                     =             bpage->datapage);
 = ;                     =                   datavaddr =3D tempvaddr + = bpage->dataoffs;
              =                   }
-      =                     =      bcopy((void *)bpage->vaddr, datavaddr,
-  =                     =             =  bpage->datacount);
+          =                     =  bcopy(bpage->vaddr, datavaddr, bpage->datacount);
  =                     =           if (tempvaddr !=3D = NULL)
                  =                     =   pmap_quick_remove_page(t= empvaddr);
                =                 bpage =3D = STAILQ_NEXT(bpage, links);
diff --git = a/sys/arm64/arm64/busdma_bounce.c = b/sys/arm64/arm64/busdma_bounce.c
index = ad46e26e406f..74fa611e6d1a 100644
--- = a/sys/arm64/arm64/busdma_bounce.c
+++ = b/sys/arm64/arm64/busdma_bounce.c
@@ -868,7 +868,7 @@ = bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, = void *buf,
                =         KASSERT(dmat->common.align= ment <=3D PAGE_SIZE,
            =                 ("bounced buffer cannot = have alignment bigger "
            =                 "than PAGE_SIZE: %lu", = dmat->common.alignment));
-          =              curaddr =3D = add_bounce_page(dmat, map, (vm_offset_t)kvaddr, curaddr,
+  =                     =  curaddr =3D add_bounce_page(dmat, map, kvaddr, curaddr,
  =                     =       sgsize);
    =             } else if ((map->flags = & DMAMAP_COHERENT) =3D=3D 0) {
          =               if (map->sync_count > = 0) {
@@ -1047,19 +1047,18 @@ = bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t = map,
                if ((op & = BUS_DMASYNC_PREWRITE) !=3D 0) {
          =               while (bpage !=3D NULL) = {
                  =               tempvaddr =3D = NULL;
-                  =              datavaddr =3D (void = *)bpage->datavaddr;
+            =                   =  datavaddr =3D bpage->datavaddr;
        =                     =     if = (datavaddr =3D=3D NULL) {
            =                     =         tempvaddr =3D = pmap_quick_enter_page(
            =                     =             bpage->datapage);
 = ;                     =                   datavaddr =3D tempvaddr + = bpage->dataoffs;
              =                   }

-    =                     =        bcopy(datavaddr,
-      =                     =          (void *)bpage->vaddr, = bpage->datacount);
+            =                   =  bcopy(datavaddr, bpage->vaddr, bpage->datacount);
  =                     =           if (tempvaddr !=3D = NULL)
                  =                     =   pmap_quick_remove_page(t= empvaddr);
                =                 if ((map->flags & = DMAMAP_COHERENT) =3D=3D 0)
-            =                     =        cpu_dcache_wb_range((void = *)bpage->vaddr,
+              =                     =      cpu_dcache_wb_range(bpage->vaddr,
  =                     =                     =   bpage->datacount);
&nbs= p;                     =           bpage =3D = STAILQ_NEXT(bpage, links);
            =             }
@@ -1067,7 +1066,7 @@ = bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t = map,
                } else if ((op & = BUS_DMASYNC_PREREAD) !=3D 0) {
          =               while (bpage !=3D NULL) = {
                  =               if ((map->flags & = DMAMAP_COHERENT) =3D=3D 0)
-            =                     =        cpu_dcache_wbinv_range((void = *)bpage->vaddr,
+              =                     =     =  cpu_dcache_wbinv_range(bpage->vaddr,
    =                     =                   =   bpage->datacount);
&nbs= p;                     =           bpage =3D = STAILQ_NEXT(bpage, links);
            =             }
@@ -1076,18 +1075,17 = @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t = map,
                if ((op & = BUS_DMASYNC_POSTREAD) !=3D 0) {
          =               while (bpage !=3D NULL) = {
                  =               if ((map->flags & = DMAMAP_COHERENT) =3D=3D 0)
-            =                     =        cpu_dcache_inv_range((void = *)bpage->vaddr,
+              =                     =      cpu_dcache_inv_range(bpage->vaddr,
  =                     =                     =   bpage->datacount);
&nbs= p;                     =           tempvaddr =3D = NULL;
-                  =              datavaddr =3D (void = *)bpage->datavaddr;
+            =                   =  datavaddr =3D bpage->datavaddr;
        =                     =     if = (datavaddr =3D=3D NULL) {
            =                     =         tempvaddr =3D = pmap_quick_enter_page(
            =                     =             bpage->datapage);
 = ;                     =                   datavaddr =3D tempvaddr + = bpage->dataoffs;
              =                   }

-    =                     =        bcopy((void *)bpage->vaddr,
-  =                     =              datavaddr, = bpage->datacount);
+            =                   =  bcopy(bpage->vaddr, datavaddr, = bpage->datacount);

            =                   =   if (tempvaddr = !=3D NULL)
                =                     =     pmap_quick_remove_page(t= empvaddr);
diff --git a/sys/kern/subr_busdma_bounce.c = b/sys/kern/subr_busdma_bounce.c
index 60fe2fc6b2a6..2774128a1ae5 = 100644
--- a/sys/kern/subr_busdma_bounce.c
+++ = b/sys/kern/subr_busdma_bounce.c
@@ -49,9 +49,9 = @@
 #include <sys/sched.h>

 struct bounce_page = {
-       vm_offset_t    =  vaddr;          /* kva of bounce buffer = */
+       char          =   *vaddr;         /* kva of bounce buffer = */
        bus_addr_t    =   busaddr;        /* Physical address = */
-       vm_offset_t    =  datavaddr;      /* kva of client data */
+  =      char            = *datavaddr;     /* kva of client data */
 #if = defined(__amd64__) || defined(__i386__)
      =   vm_page_t  =      datapage[2];    /* physical page(s) of = client data */
 #else
@@ -282,18 +282,18 @@ = alloc_bounce_pages(bus_dma_tag_t dmat, u_int numpages)
  =               if (bpage =3D=3D = NULL)
                  =       break;
 #ifdef = dmat_domain
-              =  bpage->vaddr =3D = (vm_offset_t)contigmalloc_domainset(PAGE_SIZE,
+    =            bpage->vaddr =3D = contigmalloc_domainset(PAGE_SIZE,
        =             M_BOUNCE, = DOMAINSET_PREF(bz->domain), M_NOWAIT,
        =             0ul, bz->lowaddr, = PAGE_SIZE, 0);
 #else
-          =      bpage->vaddr =3D = (vm_offset_t)contigmalloc(PAGE_SIZE, M_BOUNCE,
+    =            bpage->vaddr =3D = contigmalloc(PAGE_SIZE, M_BOUNCE,
          =           M_NOWAIT, 0ul, = bz->lowaddr, PAGE_SIZE, 0);
 #endif
-      =          if (bpage->vaddr =3D=3D 0) = {
+               if = (bpage->vaddr =3D=3D NULL) {
          =               free(bpage, = M_BUSDMA);
                =         break;
    =             }
-      =          bpage->busaddr =3D = pmap_kextract(bpage->vaddr);
+          =      bpage->busaddr =3D = pmap_kextract((vm_offset_t)bpage->vaddr);
    =             mtx_lock(&bounce_lock);                STAILQ_INSERT_TAIL(&bz-&g= t;bounce_page_list, bpage, links);
        =         total_bpages++;
@@ = -327,11 +327,11 @@ reserve_bounce_pages(bus_dma_tag_t dmat, = bus_dmamap_t map, int commit)

 #if defined(__amd64__) || = defined(__i386__)
 static = bus_addr_t
-add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, = vm_offset_t vaddr,
+add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t = map, void *vaddr,
     vm_paddr_t addr1, vm_paddr_t = addr2, bus_size_t size)
 #else
 static = bus_addr_t
-add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, = vm_offset_t vaddr,
+add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t = map, void *vaddr,
     bus_addr_t addr, bus_size_t = size)
 #endif
 {
@@ -370,13 +370,13 @@ = add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t = vaddr,
        if (dmat_flags(dmat) & = BUS_DMA_KEEP_PG_OFFSET) {
            =     /* Page = offset needs to be preserved. */
 #if defined(__amd64__) || = defined(__i386__)
-              =  bpage->vaddr |=3D addr1 & PAGE_MASK;
-    =            bpage->busaddr |=3D addr1 = & PAGE_MASK;
+              =  bpage->vaddr +=3D addr1 & PAGE_MASK;
+    =            bpage->busaddr +=3D addr1 = & PAGE_MASK;
              =   KASSERT(addr2 = =3D=3D 0,
            ("Trying to bounce multiple = pages with BUS_DMA_KEEP_PG_OFFSET"));



= = --Apple-Mail=_232F96EC-6D5C-49A3-85AC-DE66E9BE46EC-- From nobody Tue Apr 28 18:56:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qQT0M33z6bwgs for ; Tue, 28 Apr 2026 18:56: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 4g4qQS6NWkz3yfJ for ; Tue, 28 Apr 2026 18:56:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JK5dNRL6FBL0xp5lpxInVoUKKUOy0cG4qzONetxEN5U=; b=ofxIaSmLqiYC6w7Hq4GGsRg5dgu1zh1LLNgcF8hieNKf1ICyMkVgZYx6F/b5PMBHmKE2bT xXXWTQIxRmd3OAINdEPRj1jurvJ42lEEvubFEGrZ/sGe4vc5t+H9Yh+8/+9n4R/Js4Y7dQ Ou0PMRDcaDm3N1vnt0LJJmQmYKan9u6pp7wU1Vr9soxEekLu2ll3Zz9wya8o08HcqNlSUx 2XdrG6dRGbAearsB1VuMVdAJ+1hdGpMB/AaExY9wPVpeLk/yiI9dHLq8eWAzRgdHRbBvSh ITXsvYkMX+xENMsKZ04UBe6Hx/djV7D5YAnLpWP6glFaTEwLYVFGBAhKA5Hpkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402560; a=rsa-sha256; cv=none; b=e0b3n8DuXVO4y8WNw47oxK979OA1uHMSncCioVpaL49B9pfqm0DaQYyH4MNVHttSfY48qA 1Hol5CaPaxLb7qzA7LrEqY7b8Cpk1lHfBuk7tpeGz90OatDJcNYYQVVng92eJ6Ax3wlVFf dk1IgwL+4Pt5OAmWw2fqQrFBOvesppdNq/X+4kEbCdgUV7pI+HdzX7nbovxdrD51hNlyIc iCESIN+Z08NT04qfvZqNBvudJnUVatR2v33sUasOhfEmggGhzYxjR+GTksmk3AnzIdnOtX aq2cF/OwlnQV1gPmZ5CJz2fYzL5W1s1tHwTJYTip28LSQM/7KtvpgeGHFDqhpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JK5dNRL6FBL0xp5lpxInVoUKKUOy0cG4qzONetxEN5U=; b=AilRxcO4WO1JW8ZLJBJI88y9w1PUmSAFglBncTC1LPUfO5bweHu7g0YSx8GfEVGJtJlsaR g/sJr49UzWBgeBYhHnKiS48tyydIbyn2EdjRkzIroua3lblAEi6qALWfgz9vrjq+/XWzGV dxudgg7MlGDHJtFvU8mU2xk6DZKBwQMPq1gmBzYkYidv+54gYjjpNoYE/nz+crsEoeO+vl 0gjs+ghji1eW6+EyfnJ1/jTTVJmodOheeykfgHQ4dRb2UEEBgi/PzWzsMnfrooIwSGOLSq 0Daf7hzg735aTgGzPohVFfYKJ/hLZTVk0AqKbQFHbhU9nKHbnnngINheKsVVlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qQS52qzz15bd for ; Tue, 28 Apr 2026 18:56:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26f4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:56:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 1a8343a00a16 - stable/15 - vt_core: make sure the driver's functions exist List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1a8343a00a16a74c58eee2e74e22aee5cd347ae2 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:56:00 +0000 Message-Id: <69f102c0.26f4e.7e62fe81@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=1a8343a00a16a74c58eee2e74e22aee5cd347ae2 commit 1a8343a00a16a74c58eee2e74e22aee5cd347ae2 Author: Ahmad Khalifa AuthorDate: 2026-04-20 20:15:00 +0000 Commit: Ahmad Khalifa CommitDate: 2026-04-28 16:47:11 +0000 vt_core: make sure the driver's functions exist These are NULL if they're not implemented. Make sure all the functions we need are there before doing anything. Also invert the first if statment to lessen the indentation a bit. Reported by: Quentin Thébault MFC after: 3 days (cherry picked from commit d1854272b646306de6546f8e5702e8072051d7f6) --- sys/dev/vt/vt_core.c | 59 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 33bbe65cb678..2015d982a560 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1682,32 +1682,41 @@ vtterm_splash(struct vt_device *vd) uintptr_t image; vt_axis_t top, left; - if (!(vd->vd_flags & VDF_TEXTMODE) && (boothowto & RB_MUTE)) { - if (rebooting == 1) { - si = MD_FETCH(preload_kmdp, MODINFOMD_SHTDWNSPLASH, struct splash_info *); - vd->vd_driver->vd_blank(vd, TC_BLACK); - } else { - si = MD_FETCH(preload_kmdp, MODINFOMD_SPLASH, struct splash_info *); - } - if (si == NULL) { - top = (vd->vd_height - vt_logo_height) / 2; - left = (vd->vd_width - vt_logo_width) / 2; - vd->vd_driver->vd_bitblt_bmp(vd, vd->vd_curwindow, - vt_logo_image, NULL, vt_logo_width, vt_logo_height, - left, top, TC_WHITE, TC_BLACK); - } else { - if (si->si_depth != 4) - return; - image = (uintptr_t)si + sizeof(struct splash_info); - image = roundup2(image, 8); - top = (vd->vd_height - si->si_height) / 2; - left = (vd->vd_width - si->si_width) / 2; - vd->vd_driver->vd_bitblt_argb(vd, vd->vd_curwindow, - (unsigned char *)image, si->si_width, si->si_height, - left, top); - } - vd->vd_flags |= VDF_SPLASH; + if ((vd->vd_flags & VDF_TEXTMODE) != 0 || (boothowto & RB_MUTE) == 0) + return; + + si = MD_FETCH(preload_kmdp, rebooting == 1 ? MODINFOMD_SHTDWNSPLASH : + MODINFOMD_SPLASH, struct splash_info *); + if (si == NULL) { + if (vd->vd_driver->vd_bitblt_bmp == NULL) + return; + } else if (vd->vd_driver->vd_bitblt_argb == NULL) + return; + + if (rebooting == 1) { + if (vd->vd_driver->vd_blank == NULL) + return; + vd->vd_driver->vd_blank(vd, TC_BLACK); } + + if (si == NULL) { + top = (vd->vd_height - vt_logo_height) / 2; + left = (vd->vd_width - vt_logo_width) / 2; + vd->vd_driver->vd_bitblt_bmp(vd, + vd->vd_curwindow, vt_logo_image, NULL, vt_logo_width, + vt_logo_height, left, top, TC_WHITE, TC_BLACK); + } else { + if (si->si_depth != 4) + return; + image = (uintptr_t)si + sizeof(struct splash_info); + image = roundup2(image, 8); + top = (vd->vd_height - si->si_height) / 2; + left = (vd->vd_width - si->si_width) / 2; + vd->vd_driver->vd_bitblt_argb(vd, vd->vd_curwindow, + (unsigned char *)image, si->si_width, si->si_height, + left, top); + } + vd->vd_flags |= VDF_SPLASH; } #endif From nobody Tue Apr 28 18:55:59 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qQY0mMtz6bx7w for ; Tue, 28 Apr 2026 18:56:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4qQX5L5Zz3ymT for ; Tue, 28 Apr 2026 18:56:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v1UfXytqkNHRHeXPCLYCTw8JXmPeTUnAR4j9WEn0ur8=; b=lJaqG/9AdfENd6TLL0+TGA4xQM2Dn9/DwLuck8YA77Rh8tzc0L0LXlGift4nJ2D0Ma/j42 0aECpIAAn82HDc8wFjsW3aI3q9OnmMjlenjZBtusvSrizmit3ay1Ur4bpKJDS0GJar1nNd UPWk+BFbZSduJLtC6vSFZJDmY1YhvYAHd0nRohbeJcvgS04+086JbQqdtT9z/F8HQsRVq5 rggOWL0ZkRYKJuLFssouo/MxjKgCJX6Q7LJDw2nSeG7Dr1Pbt3J10PMGzpfyG53K11WW6C IZ2FPG9dO3qwNxZpkmNgvVPh8ejLL5fBcZpk35WZ2IvitHzt4jyEtNiCq6At3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777402564; a=rsa-sha256; cv=none; b=EdsGhrDI2UUerdaQjPgCVkHp7n6izJkw7UtPDag98kUnPXVT+Ldb4/ajPlw25D/YMY/GAb RYnvrlQ84+ujJOUFt/4Ize75a2c6n8g9ci5V0RYf1RyjYcMpxy38hHqcY8H7yqTVowWrqR g7p+s+acqkbb7X/zya6eALNWFh745hA/yL+Fh3Y4L+8nx07w8p75t43hWPWyLAXcOilEmB 4e1s6hsRwezyt1WbFVPWV2sc1q5MR4VuiKwADyVHXmH9myEvYoTZ273jt5j9jla7dof5V/ reZoIaT/H5gTSadlDrAf+IUwT+lZKuamsSFNJghGyXbLibKSyL+D3VJqFDPn5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777402564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v1UfXytqkNHRHeXPCLYCTw8JXmPeTUnAR4j9WEn0ur8=; b=Swmsn7O+bfEDV+U/09sn95tRgzt/T17r3BM5r1/3LYouIZRa4wdzl52ZexBfNzzMfNbFFy raHZoaOZfVnMs9T6WWfCDxNc7HdP8pFYvGvnpI4ovzS3RusOT3qzeNlYFRo/es3SFV52sE A/Ym+hbT9CM+dUulqACNGdK97aqOsh5GxobYSfgArVgkdUHBjk8yInlC1+G2mcMKhTEXOi OoPh+AsJ22lzww5kNQKORrOhRkfz/IQPsYxr7qLybijM8rrFOAtFw0jcm9887w5zDXauZ3 Y+qoC0cB7f8swQY9Z5cEWlYnrelfkkiHvw3BuFdOn9m/ZI5OGX6SmpQLzH7Dcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qQX4qS4z15my for ; Tue, 28 Apr 2026 18:56:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26d22 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 18:55:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: addb9fa7fced - stable/15 - vt_core: delay the shutdown splash event handler List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: addb9fa7fced43a858a690b12b9274559c47815f Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 18:55:59 +0000 Message-Id: <69f102bf.26d22.4eb554ad@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=addb9fa7fced43a858a690b12b9274559c47815f commit addb9fa7fced43a858a690b12b9274559c47815f Author: Ahmad Khalifa AuthorDate: 2026-04-20 20:11:27 +0000 Commit: Ahmad Khalifa CommitDate: 2026-04-28 16:47:10 +0000 vt_core: delay the shutdown splash event handler Even though the functions are currently executed in the correct order, there's no garuntee that this will always be the case. Reported by: kevans Discussed with: kevans Fixes: 4b862c713ac5556ab4bd1828b47c5eb9cb28e067 MFC after: 3 days (cherry picked from commit e72c59315e7a2bedd654ac7c6e82dd3ceba30ed2) --- sys/dev/vt/vt_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index ccba43a821d1..33bbe65cb678 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -3191,7 +3191,7 @@ vt_upgrade(struct vt_device *vd) vt_window_switch, vw, SHUTDOWN_PRI_DEFAULT); #ifdef DEV_SPLASH EVENTHANDLER_REGISTER(shutdown_pre_sync, - vt_shutdown_splash, vw, SHUTDOWN_PRI_DEFAULT); + vt_shutdown_splash, vw, SHUTDOWN_PRI_DEFAULT + 1); #endif } } From nobody Tue Apr 28 19:04:00 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qbh6klDz6bxD3 for ; Tue, 28 Apr 2026 19:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4qbh68snz41Vh for ; Tue, 28 Apr 2026 19:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777403040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9pWeabdMzohfJZvJV6AYKJ/FWA261Xkm2NPseln7aMw=; b=b0atq4gD4APNaPb7FkMq1Uh9f3SWAp/aEFlvBS/EePG2ylTkGyvtsVEfISbG1wdAdoSID/ 2+evlglvNzLop5EwC7PtPsj3WeKrZcCI3gCHEfZ+MWBF4h8Bh3MYlZRgY7jBTpuLzo9Loe hjdKVIbtuvSpeXAhtJt1TECpJPaun5m8A/ih2ID43kd2BhHYZuHFir8N/W8rVM/rQY7+sC heCRZCDLjjwpMvcxFSiYf3QPEPFZYZ+O6fL8Iz8suSTyY6FUffZC3nEV0G3El+3zEOgcG7 ujcru7cFvzntexCE+XdYbUKPw9yHEgwh5rjJtkTjChBgOU0czmokxbR8punY1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777403040; a=rsa-sha256; cv=none; b=SDC+OMI4kxzr/vJ7V3BeHE6CRW+2Pba5003QI1eT8vQbDxwa3SS7pjtzYg7ThZZHeaKN8f R4Y/MuubgkihL5IaVMcShEhuRFRnH+dov85JSP0yPCxusjKdw34/uXCKouT5+MamYyVvz3 w4/VTmwzNEreG5L6XWzvXXtIqzAEjEwSUWFCRsI4e55/pL6n5xlF1NWggPC+8LeJyATdNQ UV/PzNnftLGIYsRm6bL7dw4rvnqDl0v2wPSKMcgNISTYtK9rOM3p4LrFvdopLZm5HJIC7D IsPVaezHUej9j9kNMCjvWAqi4bMmmbBlN56cl0jilRLyipYV+sxF2P4YtWTv7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777403040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9pWeabdMzohfJZvJV6AYKJ/FWA261Xkm2NPseln7aMw=; b=kbzPo2iVCUXc76NE0/f2L08oAfqMc2e2pHyPNJjPw2qm4MFQA1mMPZ7B/U5WdSzOgiyidN Umlcn6cpkvo0dEYCENK4O0aGdIDTrZu/16BGbrEC4bGoIrO2wJq9/4mmwNUujSCXoHtD8v CyCjKAk4R3gSOx9+cpwHnZoTUQq8p3FxTVp9DttMhFPJx6KnKlr1jXUyKsz/7xwn8poUhW sKQiVVSKyagYBg4sctLcp8i+5VwhyKPC2xOE39xA6ASeXRUGWjw+6MOA6EpwYhuLsj7DG8 QCdf3QBVnON5s0Y5qEP+2qpVVhq6qH56nrSW97pztilJ6wK4jmGL7id8AiPzsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4qbh5jK5z15lh for ; Tue, 28 Apr 2026 19:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27812 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:04:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Chuck Tuffli Subject: git: e139a49b5d8e - main - Revert "Vendor import of smart at 1.0.2" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: chuck X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e139a49b5d8e9385b4d42ea1ec3850bc80d7f989 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:04:00 +0000 Message-Id: <69f104a0.27812.208ed91f@gitrepo.freebsd.org> The branch main has been updated by chuck: URL: https://cgit.FreeBSD.org/src/commit/?id=e139a49b5d8e9385b4d42ea1ec3850bc80d7f989 commit e139a49b5d8e9385b4d42ea1ec3850bc80d7f989 Author: Chuck Tuffli AuthorDate: 2026-04-28 18:49:22 +0000 Commit: Chuck Tuffli CommitDate: 2026-04-28 19:03:38 +0000 Revert "Vendor import of smart at 1.0.2" This reverts commit 68e5b71517e947b4e3f349c970af362b47b45f27. --- contrib/smart/Changelog | 37 -- contrib/smart/LICENSE | 13 - contrib/smart/Makefile | 26 - contrib/smart/freebsd_dev.c | 828 ------------------------- contrib/smart/libsmart.c | 1359 ----------------------------------------- contrib/smart/libsmart.h | 174 ------ contrib/smart/libsmart_desc.c | 158 ----- contrib/smart/libsmart_dev.h | 60 -- contrib/smart/libsmart_priv.h | 83 --- contrib/smart/smart.8 | 245 -------- contrib/smart/smart.c | 334 ---------- packages/Makefile | 1 - packages/smart/Makefile | 4 - packages/smart/smart.ucl | 30 - usr.sbin/Makefile | 1 - usr.sbin/smart/Makefile | 8 - 16 files changed, 3361 deletions(-) diff --git a/contrib/smart/Changelog b/contrib/smart/Changelog deleted file mode 100644 index 42b79bc34070..000000000000 --- a/contrib/smart/Changelog +++ /dev/null @@ -1,37 +0,0 @@ -This file documents changes for smart releases - -version 1.0.2 - - Bring man page up to snuff - - Fix various complier warnings - -version 1.0.1 - - Fix don't print attribute ID with description - -version 1.0.0 - - Fix ATA threshold output (gh-10). This is a breaking change as it - reduces the output from 4 fields to 3 (drops the "reserved" byte - from threshold). - - Fix the ATA raw output. This is a breaking change as it increase the - output from 6 bytes to 7 (i.e., includes the "reserved" byte). Note - that while some attributes use this byte, most do not. - - Fix direct debug output (--debug) to standard error - - Use POSIX memcpy and memset instead of older bXXX equivalents - -version 0.4.2 - - Update README contents - -version 0.4.1 - - Allow a comma-separated list of attributes - - Code refactor + update code comments - -version 0.3.0 - - - Reclaim the -d option from debug - - Change field separator from spaces to tab - - Add textual descriptions of attribute IDs for ATA, NVMe, and SCSI - - Add a manual page - - Fixes - * libxo structure for attribute and attributes - * simplify LIBXO ifdef sprawl - * display of threshold values - * display of long values diff --git a/contrib/smart/LICENSE b/contrib/smart/LICENSE deleted file mode 100644 index 8b0a0bf6a4a6..000000000000 --- a/contrib/smart/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2016-2026 Chuck Tuffli - -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/contrib/smart/Makefile b/contrib/smart/Makefile deleted file mode 100644 index 64cab720e08f..000000000000 --- a/contrib/smart/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (c) 2016-2021 Chuck Tuffli -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -PROG= smart -SRCS= smart.c libsmart.c libsmart_desc.c -SRCS+= freebsd_dev.c -LIBADD= cam xo -MAN=smart.8 -MLINKS= smart.8 diskhealth.8 -#CFLAGS+= -ggdb -O0 -CFLAGS+= -DLIBXO -LINKS= ${BINDIR}/smart ${BINDIR}/diskhealth - -.include diff --git a/contrib/smart/freebsd_dev.c b/contrib/smart/freebsd_dev.c deleted file mode 100644 index d1dda2289742..000000000000 --- a/contrib/smart/freebsd_dev.c +++ /dev/null @@ -1,828 +0,0 @@ -/* - * Copyright (c) 2016-2021 Chuck Tuffli - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "libsmart.h" -#include "libsmart_priv.h" -#include "libsmart_dev.h" - -/* Provide compatibility for FreeBSD 11.0 */ -#if (__FreeBSD_version < 1101000) - -struct scsi_log_informational_exceptions { - struct scsi_log_param_header hdr; -#define SLP_IE_GEN 0x0000 - uint8_t ie_asc; - uint8_t ie_ascq; - uint8_t temperature; -}; - -#endif - -struct fbsd_smart { - smart_t common; - struct cam_device *camdev; -}; - -static smart_protocol_e __device_get_proto(struct fbsd_smart *); -static bool __device_proto_tunneled(struct fbsd_smart *); -static int32_t __device_get_info(struct fbsd_smart *); - -smart_h -device_open(smart_protocol_e protocol, char *devname) -{ - struct fbsd_smart *h = NULL; - - h = malloc(sizeof(struct fbsd_smart)); - if (h == NULL) - return NULL; - - memset(h, 0, sizeof(struct fbsd_smart)); - - h->common.protocol = SMART_PROTO_MAX; - h->camdev = cam_open_device(devname, O_RDWR); - if (h->camdev == NULL) { - printf("%s: error opening %s - %s\n", - __func__, devname, - cam_errbuf); - free(h); - h = NULL; - } else { - smart_protocol_e proto = __device_get_proto(h); - - if ((protocol == SMART_PROTO_AUTO) || - (protocol == proto)) { - h->common.protocol = proto; - } else { - printf("%s: protocol mismatch %d vs %d\n", - __func__, protocol, proto); - } - - if (proto == SMART_PROTO_SCSI) { - if (__device_proto_tunneled(h)) { - h->common.protocol = SMART_PROTO_ATA; - h->common.info.tunneled = 1; - } - } - - __device_get_info(h); - } - - return h; -} - -void -device_close(smart_h h) -{ - struct fbsd_smart *fsmart = h; - - if (fsmart != NULL) { - if (fsmart->camdev != NULL) { - cam_close_device(fsmart->camdev); - } - - free(fsmart); - } -} - -static const uint8_t smart_read_data[] = { - 0xb0, 0xd0, 0x00, 0x4f, 0xc2, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -static const uint8_t smart_return_status[] = { - 0xb0, 0xda, 0x00, 0x4f, 0xc2, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -static int32_t -__device_read_ata(smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) -{ - struct fbsd_smart *fsmart = h; - const uint8_t *smart_fis; - uint32_t smart_fis_size = 0; - uint32_t cam_flags = 0; - uint16_t sector_count = 0; - uint8_t protocol = 0; - - switch (page) { - case PAGE_ID_ATA_SMART_READ_DATA: /* Support SMART READ DATA */ - smart_fis = smart_read_data; - smart_fis_size = sizeof(smart_read_data); - cam_flags = CAM_DIR_IN; - sector_count = 1; - protocol = AP_PROTO_PIO_IN; - break; - case PAGE_ID_ATA_SMART_RET_STATUS: /* Support SMART RETURN STATUS */ - smart_fis = smart_return_status; - smart_fis_size = sizeof(smart_return_status); - /* Command has no data but uses the return status */ - cam_flags = CAM_DIR_NONE; - protocol = AP_PROTO_NON_DATA; - bsize = 0; - break; - default: - return EINVAL; - } - - if (fsmart->common.info.tunneled) { - struct ata_pass_16 *cdb; - uint8_t cdb_flags; - - if (bsize > 0) { - cdb_flags = AP_FLAG_TDIR_FROM_DEV | - AP_FLAG_BYT_BLOK_BLOCKS | - AP_FLAG_TLEN_SECT_CNT; - } else { - cdb_flags = AP_FLAG_CHK_COND | - AP_FLAG_TDIR_FROM_DEV | - AP_FLAG_BYT_BLOK_BLOCKS; - } - - cdb = (struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes; - memset(cdb, 0, sizeof(*cdb)); - - scsi_ata_pass_16(&ccb->csio, - /*retries*/ 1, - /*cbfcnp*/ NULL, - /*flags*/ cam_flags, - /*tag_action*/ MSG_SIMPLE_Q_TAG, - /*protocol*/ protocol, - /*ata_flags*/ cdb_flags, - /*features*/ page, - /*sector_count*/sector_count, - /*lba*/ 0, - /*command*/ ATA_SMART_CMD, - /*control*/ 0, - /*data_ptr*/ buf, - /*dxfer_len*/ bsize, - /*sense_len*/ SSD_FULL_SIZE, - /*timeout*/ 5000 - ); - cdb->lba_mid = 0x4f; - cdb->lba_high = 0xc2; - cdb->device = 0; /* scsi_ata_pass_16() sets this */ - } else { - memcpy(&ccb->ataio.cmd.command, smart_fis, smart_fis_size); - - cam_fill_ataio(&ccb->ataio, - /* retries */1, - /* cbfcnp */NULL, - /* flags */cam_flags, - /* tag_action */0, - /* data_ptr */buf, - /* dxfer_len */bsize, - /* timeout */5000); - ccb->ataio.cmd.flags |= CAM_ATAIO_NEEDRESULT; - ccb->ataio.cmd.control = 0; - } - - return 0; -} - -static int32_t -__device_read_scsi(__attribute__((unused)) smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) -{ - - scsi_log_sense(&ccb->csio, - /* retries */1, - /* cbfcnp */NULL, - /* tag_action */0, - /* page_code */SLS_PAGE_CTRL_CUMULATIVE, - /* page */page, - /* save_pages */0, - /* ppc */0, - /* paramptr */0, - /* param_buf */buf, - /* param_len */bsize, - /* sense_len */0, - /* timeout */5000); - - return 0; -} - -static int32_t -__device_read_nvme(__attribute__((unused)) smart_h h, uint32_t page, void *buf, size_t bsize, union ccb *ccb) -{ - struct ccb_nvmeio *nvmeio = &ccb->nvmeio; - uint32_t numd = 0; /* number of dwords */ - - /* - * NVME CAM passthru - * 1200000 > version > 1101510 uses nvmeio->cmd.opc - * 1200059 > version > 1200038 uses nvmeio->cmd.opc - * 1200081 > version > 1200058 uses nvmeio->cmd.opc_fuse - * > 1200080 uses nvmeio->cmd.opc - * This code doesn't support the brief 'opc_fuse' period. - */ -#if ((__FreeBSD_version > 1200038) || ((__FreeBSD_version > 1101510) && (__FreeBSD_version < 1200000))) - switch (page) { - case NVME_LOG_HEALTH_INFORMATION: - numd = (sizeof(struct nvme_health_information_page) / sizeof(uint32_t)); - break; - default: - /* Unsupported log page */ - return EINVAL; - } - - /* Subtract 1 because NUMD is a zero based value */ - numd--; - - nvmeio->cmd.opc = NVME_OPC_GET_LOG_PAGE; - nvmeio->cmd.nsid = NVME_GLOBAL_NAMESPACE_TAG; - nvmeio->cmd.cdw10 = page | (numd << 16); - - cam_fill_nvmeadmin(&ccb->nvmeio, - /* retries */1, - /* cbfcnp */NULL, - /* flags */CAM_DIR_IN, - /* data_ptr */buf, - /* dxfer_len */bsize, - /* timeout */5000); -#endif - return 0; -} - -/* - * Retrieve the SMART RETURN STATUS - * - * SMART RETURN STATUS provides the reliability status of the - * device and can be used as a high-level indication of health. - */ -static int32_t -__device_status_ata(smart_h h, union ccb *ccb) -{ - struct fbsd_smart *fsmart = h; - uint8_t *buf = NULL; - uint32_t page = 0; - uint8_t lba_high = 0, lba_mid = 0, device = 0, status = 0; - - if (fsmart->common.info.tunneled) { - struct ata_res_pass16 { - u_int16_t reserved[5]; - u_int8_t flags; - u_int8_t error; - u_int8_t sector_count_exp; - u_int8_t sector_count; - u_int8_t lba_low_exp; - u_int8_t lba_low; - u_int8_t lba_mid_exp; - u_int8_t lba_mid; - u_int8_t lba_high_exp; - u_int8_t lba_high; - u_int8_t device; - u_int8_t status; - } *res_pass16 = (struct ata_res_pass16 *)(uintptr_t) - &ccb->csio.sense_data; - - buf = ccb->csio.data_ptr; - page = ((struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes)->features; - lba_high = res_pass16->lba_high; - lba_mid = res_pass16->lba_mid; - device = res_pass16->device; - status = res_pass16->status; - - /* - * Note that this generates an expected CHECK CONDITION. - * Mask it so the outer function doesn't print an error - * message. - */ - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_REQ_CMP; - } else { - struct ccb_ataio *ataio = (struct ccb_ataio *)&ccb->ataio; - - buf = ataio->data_ptr; - page = ataio->cmd.features; - lba_high = ataio->res.lba_high; - lba_mid = ataio->res.lba_mid; - device = ataio->res.device; - status = ataio->res.status; - } - - switch (page) { - case PAGE_ID_ATA_SMART_RET_STATUS: - /* - * Typically, SMART related log pages return data, but this - * command is different in that the data is encoded in the - * result registers. - * - * Handle this in a UNIX-like way by writing a 0 (no errors) - * or 1 (threshold exceeded condition) to the output buffer. - */ - dprintf("SMART_RET_STATUS: lba mid=%#x high=%#x device=%#x status=%#x\n", - lba_mid, - lba_high, - device, - status); - if ((lba_high == 0x2c) && (lba_mid == 0xf4)) { - buf[0] = 1; - } else if ((lba_high == 0xc2) && (lba_mid == 0x4f)) { - buf[0] = 0; - } else { - /* Ruh-roh ... */ - buf[0] = 255; - } - break; - default: - ; - } - - return 0; -} - -int32_t -device_read_log(smart_h h, uint32_t page, void *buf, size_t bsize) -{ - struct fbsd_smart *fsmart = h; - union ccb *ccb = NULL; - int rc = 0; - - if (fsmart == NULL) - return EINVAL; - - dprintf("read log page %#x\n", page); - - ccb = cam_getccb(fsmart->camdev); - if (ccb == NULL) - return ENOMEM; - - CCB_CLEAR_ALL_EXCEPT_HDR(ccb); - - switch (fsmart->common.protocol) { - case SMART_PROTO_ATA: - rc = __device_read_ata(h, page, buf, bsize, ccb); - break; - case SMART_PROTO_SCSI: - rc = __device_read_scsi(h, page, buf, bsize, ccb); - break; - case SMART_PROTO_NVME: - rc = __device_read_nvme(h, page, buf, bsize, ccb); - break; - default: - warnx("unsupported protocol %d", fsmart->common.protocol); - cam_freeccb(ccb); - return ENODEV; - } - - if (rc) { - if (rc == EINVAL) - warnx("unsupported page %#x", page); - - return rc; - } - - if (((rc = cam_send_ccb(fsmart->camdev, ccb)) < 0) - || ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)) { - if (rc < 0) - warn("error sending command"); - } - - /* - * Most commands don't need any post-processing. But then there's - * ATA. It's why we can't have nice things :( - */ - switch (fsmart->common.protocol) { - case SMART_PROTO_ATA: - __device_status_ata(h, ccb); - break; - default: - ; - } - - if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { - cam_error_print(fsmart->camdev, ccb, CAM_ESF_ALL, - CAM_EPF_ALL, stderr); - } - - cam_freeccb(ccb); - - return 0; -} - -/* - * The SCSI / ATA Translation (SAT) requires devices to support the ATA - * Information VPD Page (T10/2126-D Revision 04). Use the existence of - * this page to identify tunneled devices. - */ -static bool -__device_proto_tunneled(struct fbsd_smart *fsmart) -{ - union ccb *ccb = NULL; - struct scsi_vpd_supported_page_list supportedp; - uint32_t i; - bool is_tunneled = false; - - if (fsmart->common.protocol != SMART_PROTO_SCSI) { - return false; - } - - ccb = cam_getccb(fsmart->camdev); - if (!ccb) { - warn("Allocation failure ccb=%p", ccb); - goto __device_proto_tunneled_out; - } - - scsi_inquiry(&ccb->csio, - 3, // retries - NULL, // callback function - MSG_SIMPLE_Q_TAG, // tag action - (uint8_t *)&supportedp, - sizeof(struct scsi_vpd_supported_page_list), - 1, // EVPD - SVPD_SUPPORTED_PAGE_LIST, // page code - SSD_FULL_SIZE, // sense length - 5000); // timeout - - ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; - - if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && - ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { - dprintf("Looking for page %#x (total = %u):\n", SVPD_ATA_INFORMATION, - supportedp.length); - for (i = 0; i < supportedp.length; i++) { - dprintf("\t[%u] = %#x\n", i, supportedp.list[i]); - if (supportedp.list[i] == SVPD_ATA_INFORMATION) { - is_tunneled = true; - break; - } - } - } - - cam_freeccb(ccb); - -__device_proto_tunneled_out: - return is_tunneled; -} - -/** - * Retrieve the device protocol type via the transport settings - * - * @return protocol type or SMART_PROTO_MAX on error - */ -static smart_protocol_e -__device_get_proto(struct fbsd_smart *fsmart) -{ - smart_protocol_e proto = SMART_PROTO_MAX; - union ccb *ccb; - - if (!fsmart || !fsmart->camdev) { - warn("Bad handle %p", fsmart); - return proto; - } - - ccb = cam_getccb(fsmart->camdev); - if (ccb != NULL) { - CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->cts); - - ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; - - if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { - if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { - struct ccb_trans_settings *cts = &ccb->cts; - - switch (cts->protocol) { - case PROTO_ATA: - proto = SMART_PROTO_ATA; - break; - case PROTO_SCSI: - proto = SMART_PROTO_SCSI; - break; - case PROTO_NVME: - proto = SMART_PROTO_NVME; - break; - default: - printf("%s: unknown protocol %d\n", - __func__, - cts->protocol); - } - } - } - - cam_freeccb(ccb); - } - - return proto; -} - -static int32_t -__device_info_ata(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) -{ - smart_info_t *sinfo = NULL; - - if (!fsmart || !cgd) { - return -1; - } - - sinfo = &fsmart->common.info; - - sinfo->supported = cgd->ident_data.support.command1 & - ATA_SUPPORT_SMART; - - dprintf("ATA command1 = %#x\n", cgd->ident_data.support.command1); - - cam_strvis((uint8_t *)sinfo->device, cgd->ident_data.model, - sizeof(cgd->ident_data.model), - sizeof(sinfo->device)); - cam_strvis((uint8_t *)sinfo->rev, cgd->ident_data.revision, - sizeof(cgd->ident_data.revision), - sizeof(sinfo->rev)); - cam_strvis((uint8_t *)sinfo->serial, cgd->ident_data.serial, - sizeof(cgd->ident_data.serial), - sizeof(sinfo->serial)); - - return 0; -} - -static int32_t -__device_info_scsi(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) -{ - smart_info_t *sinfo = NULL; - union ccb *ccb = NULL; - struct scsi_vpd_unit_serial_number *snum = NULL; - struct scsi_log_informational_exceptions ie = {0}; - - if (!fsmart || !cgd) { - return -1; - } - - sinfo = &fsmart->common.info; - - cam_strvis((uint8_t *)sinfo->vendor, (uint8_t *)cgd->inq_data.vendor, - sizeof(cgd->inq_data.vendor), - sizeof(sinfo->vendor)); - cam_strvis((uint8_t *)sinfo->device, (uint8_t *)cgd->inq_data.product, - sizeof(cgd->inq_data.product), - sizeof(sinfo->device)); - cam_strvis((uint8_t *)sinfo->rev, (uint8_t *)cgd->inq_data.revision, - sizeof(cgd->inq_data.revision), - sizeof(sinfo->rev)); - - ccb = cam_getccb(fsmart->camdev); - snum = malloc(sizeof(struct scsi_vpd_unit_serial_number)); - if (!ccb || !snum) { - warn("Allocation failure ccb=%p snum=%p", ccb, snum); - goto __device_info_scsi_out; - } - - /* Get the serial number */ - CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->csio); - - scsi_inquiry(&ccb->csio, - 3, // retries - NULL, // callback function - MSG_SIMPLE_Q_TAG, // tag action - (uint8_t *)snum, - sizeof(struct scsi_vpd_unit_serial_number), - 1, // EVPD - SVPD_UNIT_SERIAL_NUMBER, // page code - SSD_FULL_SIZE, // sense length - 5000); // timeout - - ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; - - if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && - ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { - cam_strvis((uint8_t *)sinfo->serial, snum->serial_num, - snum->length, - sizeof(sinfo->serial)); - sinfo->serial[sizeof(sinfo->serial) - 1] = '\0'; - } - - memset(ccb, 0, sizeof(*ccb)); - - scsi_log_sense(&ccb->csio, - /* retries */1, - /* cbfcnp */NULL, - /* tag_action */0, - /* page_code */SLS_PAGE_CTRL_CUMULATIVE, - /* page */SLS_IE_PAGE, - /* save_pages */0, - /* ppc */0, - /* paramptr */0, - /* param_buf */(uint8_t *)&ie, - /* param_len */sizeof(ie), - /* sense_len */0, - /* timeout */5000); - - /* - * Note: The existance of the Informational Exceptions (IE) log page - * appears to be the litmus test for SMART support in SCSI - * devices. Confusingly, smartctl will report SMART health - * status as 'OK' if the device doesn't support the IE page. - * For now, just report the facts. - */ - if ((cam_send_ccb(fsmart->camdev, ccb) >= 0) && - ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)) { - if ((ie.hdr.param_len < 4) || ie.ie_asc || ie.ie_ascq) { - printf("Log Sense, Informational Exceptions failed " - "(length=%u asc=%#x ascq=%#x)\n", - ie.hdr.param_len, ie.ie_asc, ie.ie_ascq); - } else { - sinfo->supported = true; - } - } - -__device_info_scsi_out: - free(snum); - if (ccb) - cam_freeccb(ccb); - - return 0; -} - -static int32_t -__device_info_nvme(struct fbsd_smart *fsmart, struct ccb_getdev *cgd) -{ - union ccb *ccb; - smart_info_t *sinfo = NULL; - struct nvme_controller_data cd; - - if (!fsmart || !cgd) { - return -1; - } - - sinfo = &fsmart->common.info; - - sinfo->supported = true; - - ccb = cam_getccb(fsmart->camdev); - if (ccb != NULL) { - struct ccb_dev_advinfo *cdai = &ccb->cdai; - - CCB_CLEAR_ALL_EXCEPT_HDR(cdai); - - cdai->ccb_h.func_code = XPT_DEV_ADVINFO; - cdai->ccb_h.flags = CAM_DIR_IN; - cdai->flags = CDAI_FLAG_NONE; -#ifdef CDAI_TYPE_NVME_CNTRL - cdai->buftype = CDAI_TYPE_NVME_CNTRL; -#else - cdai->buftype = 6; -#endif - cdai->bufsiz = sizeof(struct nvme_controller_data); - cdai->buf = (uint8_t *)&cd; - - if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { - if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { - cam_strvis((uint8_t *)sinfo->device, cd.mn, - sizeof(cd.mn), - sizeof(sinfo->device)); - cam_strvis((uint8_t *)sinfo->rev, cd.fr, - sizeof(cd.fr), - sizeof(sinfo->rev)); - cam_strvis((uint8_t *)sinfo->serial, cd.sn, - sizeof(cd.sn), - sizeof(sinfo->serial)); - } - } - - cam_freeccb(ccb); - } - - return 0; -} - -static int32_t -__device_info_tunneled_ata(struct fbsd_smart *fsmart) -{ - struct ata_params ident_data; - union ccb *ccb = NULL; - struct ata_pass_16 *ata_pass_16; - struct ata_cmd ata_cmd; - int32_t rc = -1; - - ccb = cam_getccb(fsmart->camdev); - if (ccb == NULL) { - goto __device_info_tunneled_ata_out; - } - - memset(&ident_data, 0, sizeof(struct ata_params)); - - CCB_CLEAR_ALL_EXCEPT_HDR(ccb); - - scsi_ata_pass_16(&ccb->csio, - /*retries*/ 1, - /*cbfcnp*/ NULL, - /*flags*/ CAM_DIR_IN, - /*tag_action*/ MSG_SIMPLE_Q_TAG, - /*protocol*/ AP_PROTO_PIO_IN, - /*ata_flags*/ AP_FLAG_TLEN_SECT_CNT | - AP_FLAG_BYT_BLOK_BLOCKS | - AP_FLAG_TDIR_FROM_DEV, - /*features*/ 0, - /*sector_count*/sizeof(struct ata_params), - /*lba*/ 0, - /*command*/ ATA_ATA_IDENTIFY, - /*control*/ 0, - /*data_ptr*/ (uint8_t *)&ident_data, - /*dxfer_len*/ sizeof(struct ata_params), - /*sense_len*/ SSD_FULL_SIZE, - /*timeout*/ 5000 - ); - - ata_pass_16 = (struct ata_pass_16 *)ccb->csio.cdb_io.cdb_bytes; - ata_cmd.command = ata_pass_16->command; - ata_cmd.control = ata_pass_16->control; - ata_cmd.features = ata_pass_16->features; - - rc = cam_send_ccb(fsmart->camdev, ccb); - if (rc != 0) { - warnx("%s: scsi_ata_pass_16() failed (programmer error?)", - __func__); - goto __device_info_tunneled_ata_out; - } - - fsmart->common.info.supported = ident_data.support.command1 & - ATA_SUPPORT_SMART; - - dprintf("ATA command1 = %#x\n", ident_data.support.command1); - -__device_info_tunneled_ata_out: - if (ccb) { - cam_freeccb(ccb); - } - - return rc; -} - -/** - * Retrieve the device information and use to populate the info structure - */ -static int32_t -__device_get_info(struct fbsd_smart *fsmart) -{ - union ccb *ccb; - int32_t rc = -1; - - if (!fsmart || !fsmart->camdev) { - warn("Bad handle %p", fsmart); - return -1; - } - - ccb = cam_getccb(fsmart->camdev); - if (ccb != NULL) { - struct ccb_getdev *cgd = &ccb->cgd; - - CCB_CLEAR_ALL_EXCEPT_HDR(cgd); - - /* - * GDEV_TYPE doesn't support NVMe. What we do get is: - * - device (ata/model, scsi/product) - * - revision (ata, scsi) - * - serial (ata) - * - vendor (scsi) - * - supported (ata) - * - * Serial # for all proto via ccb_dev_advinfo (buftype CDAI_TYPE_SERIAL_NUM) - */ - ccb->ccb_h.func_code = XPT_GDEV_TYPE; - - if (cam_send_ccb(fsmart->camdev, ccb) >= 0) { - if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { - switch (cgd->protocol) { - case PROTO_ATA: - rc = __device_info_ata(fsmart, cgd); - break; - case PROTO_SCSI: - rc = __device_info_scsi(fsmart, cgd); - if (!rc && fsmart->common.protocol == SMART_PROTO_ATA) { - rc = __device_info_tunneled_ata(fsmart); - } - break; - case PROTO_NVME: - rc = __device_info_nvme(fsmart, cgd); - break; - default: - printf("%s: unsupported protocol %d\n", - __func__, cgd->protocol); - } - } - } - - cam_freeccb(ccb); - } - - return rc; -} diff --git a/contrib/smart/libsmart.c b/contrib/smart/libsmart.c deleted file mode 100644 index a1732de09ed9..000000000000 --- a/contrib/smart/libsmart.c +++ /dev/null @@ -1,1359 +0,0 @@ -/* - * Copyright (c) 2016-2026 Chuck Tuffli - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ -#include -#include -#include -#include -#include -#include *** 2512 LINES SKIPPED *** From nobody Tue Apr 28 19:35:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rJW0Bsdz6c0Kd; Tue, 28 Apr 2026 19:35:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rJV4TdDz470f; Tue, 28 Apr 2026 19:35:54 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777404954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y/HT7luo67E4B52ZF/k0atknEv3X/Dn5yIHUhDlcAF4=; b=AMJ1rQNmavGce9fpmuabRPcO/gPVYobsc73iuu7aD4iHteHBov1a974ZKzT1IMe/KIdpT6 xQjI2gvrZYHRY+f30Iay9wwOcnRdXctNmBxLecyCifxE+T5kDbDc848zMDa0NAZnMYcqCs fe9LgSZVTTuTko8mkDO35Icgx65KATVBHCgjJfcWucfg8fUHTKrKRyrvBzvzVfRUN9PZhn QCsGoMK3cuSM/UTN6KsmIG8v8VMgHTwsInhPc1IijrkwRd1obZ2INnAyeWM9S3HpeRkPoH bPKt8MJ5CmV/z1Im2GnDZTlJT2tQ7iPPHW0xhdcTJA6Yv4ya9NDVd48P8LbYDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777404954; a=rsa-sha256; cv=none; b=GbNyatHaNUCwJxnK04us6S0WPn0XXkAQrddk4sGBUNJJjOkSDEwbyBoFfPLbR3we+qWRqx zNW/X31zCV5Z5ZJd7JPUwiLkxswyxxIYP65LeZpiCB5D3g79Q/YSkWZADG5KaQ4nV/plIM FtO6YuGtn4hT+UCgTvuSdV01bs/Wdp4/0ofBk0HEASEk4P1akKX7DLE0VqkDw88P7dDiXA T5yKXXCT5HMOOfpQTwf0NaqqNLm/nBfo+3K4n9IZozNfxfsn9f4fqGAsq10h2DLcDR9AdM 8PEEQJ+CEJe9d8Zfx3UNvfk9qTA4kNAeqONrNxfydvFsDdxtUfXIIbR3slzeJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777404954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y/HT7luo67E4B52ZF/k0atknEv3X/Dn5yIHUhDlcAF4=; b=FYCWZO+lMPwDw4cvKn2OmfrGqBy2WgG4dVrw8nejq+2fnE21D0E7Lmj7bk8WltYByHYuFH a1Q1+WoazAo+MyLG2sVuEplDMlKYQDwqWKQo1jSBA8ls2PDymIXnPPnU+rYUw6pOdE0vlw kmdzBgqx8mUl8PIlu4MfRQGJWCJw+ULOeA8BGBWrJ+auDJ76JlwN9gGK/N8woXqyBWUXuL vJsPkjD90yqxdZkGOH4AZId4VbqPhz5xBVUuSCihagBI6CVuCSeKTz+xUMnzHkqgdbKUuL t0OZgoxtjp6ASMl2xqqyxNTNgRZ2yzZvzsDuc5rR9XaIDDSXhWvm3Kw3m64jdw== Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:f081:7b05:e2fa:ce31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g4rJT5znczkrv; Tue, 28 Apr 2026 19:35:53 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.500.181\)) Subject: Re: git: 0b39d72d0491 - main - virtio: use modern mode for transitional device by default From: Michael Tuexen In-Reply-To: Date: Tue, 28 Apr 2026 21:35:51 +0200 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, =?utf-8?Q?Timo_V=C3=B6lker?= Content-Transfer-Encoding: quoted-printable Message-Id: <9DE75A83-7A39-4BE1-9663-DCF08D146584@FreeBSD.org> References: <69d12614.3d42a.5c3f48a2@gitrepo.freebsd.org> To: Adrian Chadd X-Mailer: Apple Mail (2.3864.500.181) > On 28. Apr 2026, at 18:54, Adrian Chadd wrote: >=20 > hi! >=20 > FWIW, this has broken virtio on qemu ppc64 pseries VMs: >=20 > ``` > vtnet0: numa-domain 0 on virtio_pci0 > virtio_pci0: virtqueue 1 (vtnet0-tx0) does not exist (size is zero) > virtio_pci0: cannot allocate virtqueue 1: 19 > vtnet0: cannot allocate virtqueues > device_attach: vtnet0 attach returned 19 > virtio_pci1: port 0x100-0x17f mem > 0x81040000-0x81040fff,0x210000010000-0x210000013fff irq 4611 at device > 3.0 numa-domain 0 on pci0 > vtblk0: numa-domain 0 on virtio_pci1 > qemu-system-ppc64: wrong value for queue_enable 100 > ``` >=20 > Is there any way to detect that we're running in an environment where > the new way won't work? >=20 > The snippet in my qemu setup is: >=20 > ``` > -drive file=3Dppc64be-1.qcow2,format=3Dqcow2,id=3Dhd0,if=3Dnone = \ > -device virtio-blk-pci,drive=3Dhd0 \ > -drive file=3Dppc64be-data.qcow2,format=3Dqcow2,id=3Dhd1,if=3Dnon= e \ > -device virtio-blk-pci,drive=3Dhd1 \ > -netdev tap,id=3Dnd0,ifname=3Dtap1 -device > virtio-net,netdev=3Dnd0,mac=3D00:08:01:13:00:01 > ``` >=20 Hi Adrian, we are aware of the problem and Timo is investigating it. It seems to be a bug in the modern mode in FreeBSD and the bug is related to the guest OS being big endian. Until there is a fix, you can work around the problem by setting hw.virtio.pci.transitional=3D0 in /boot/loader.conf of the guest OS. Best regards Michael >=20 > -adrian >=20 > On Sat, 4 Apr 2026 at 07:54, Michael Tuexen = wrote: >>=20 >> The branch main has been updated by tuexen: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D0b39d72d0491c77e3e9883015b1fac46= 663c71de >>=20 >> commit 0b39d72d0491c77e3e9883015b1fac46663c71de >> Author: Timo V=C3=B6lker >> AuthorDate: 2026-04-04 14:49:54 +0000 >> Commit: Michael Tuexen >> CommitDate: 2026-04-04 14:49:54 +0000 >>=20 >> virtio: use modern mode for transitional device by default >>=20 >> This patch changes the default value of the loader tunable >> hw.virtio.pci.transitional to 1. This means, virtio uses the >> modern mode for transitional devices by default. >>=20 >> The return values of vtpci_modern_probe() and = vtpci_legacy_probei() >> were chosen to prefer modern mode, but = hw.virtio.pci.transitional=3D0 >> prevents modern mode. >> Setting hw.virtio.pci.transitional to 1 by default seems a better = fit. >>=20 >> Reviewed by: tuexen >> Differential Revision: https://reviews.freebsd.org/D55894 >> --- >> share/man/man4/virtio.4 | 2 +- >> sys/dev/virtio/pci/virtio_pci_modern.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >>=20 >> diff --git a/share/man/man4/virtio.4 b/share/man/man4/virtio.4 >> index 8252cc1b7954..6af6300b1cee 100644 >> --- a/share/man/man4/virtio.4 >> +++ b/share/man/man4/virtio.4 >> @@ -114,7 +114,7 @@ use the legacy >> .Nm >> driver >> .Pq 0 . >> -The default value is 0. >> +The default value is 1. >> .El >> .Sh SEE ALSO >> .Xr virtio_balloon 4 , >> diff --git a/sys/dev/virtio/pci/virtio_pci_modern.c = b/sys/dev/virtio/pci/virtio_pci_modern.c >> index 108fd2b5f8e9..baf7c448bb95 100644 >> --- a/sys/dev/virtio/pci/virtio_pci_modern.c >> +++ b/sys/dev/virtio/pci/virtio_pci_modern.c >> @@ -191,7 +191,7 @@ static void vtpci_modern_write_device_8(struct = vtpci_modern_softc *, >> /* Tunables. */ >> SYSCTL_DECL(_hw_virtio_pci); >>=20 >> -static int vtpci_modern_transitional =3D 0; >> +static int vtpci_modern_transitional =3D 1; >> SYSCTL_INT(_hw_virtio_pci, OID_AUTO, transitional, CTLFLAG_RDTUN, >> &vtpci_modern_transitional, 0, >> "If 0, a transitional VirtIO device is used in legacy mode; = otherwise, in modern mode."); >>=20 From nobody Tue Apr 28 19:36:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rKZ6Pmzz6c0lJ for ; Tue, 28 Apr 2026 19:36: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 4g4rKZ3HpBz47PS for ; Tue, 28 Apr 2026 19:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405010; h=from:from:reply-to:subject:subject: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+bjN+Ntv2tKRYt2gcQg424c9+aOrg9k416efu/jcAU=; b=uWpEqJ4kko165atxYun99HHF6yXkIPKAh6gVOZq2VjTzJT60Svp5I5UxvwWncj/aeD1Gbg aXu72pg7G54XRAkFVPQNagyTF/QlT7xlFwu7/F46u4KI1YGZqaY22jvH5ykuc7Xl8PQEZ0 NiuAOSQsPtXmiJ2Fb2Z7hfTd6VWEHkgaYFwF8F4GY8C6P8qHQktbFRTRZdWGmel+1aEzD6 MFHVUMcukphByFP4lJrvw3dq0WdSful3k1iZ12rnSLfGeCWjRxFN1SP1aUcnWg+4SbRjiA PAdjruLL3P9P4rbG0yRxhQETNxgcRH2mYIXyDQbv6ngEheO1dsYoeB3WObvxGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405010; a=rsa-sha256; cv=none; b=FHHM3AuQXW++bYVybjAh8twXxgw1bRisRcbE5gc3lJbwXqDgPNLOM86n3LTVBi/459ftGP J0EM8mcaST2LFQwtwAggy6rEK22L7BBG2We6tCdaZL1Q7XbsG32vA+rDmRBTpHIL9DXxJR /+1WM9PWIntSAqDnV7b8/zhejrqP2XRcGZCkyfwy+Ac7+qSg7fiTdblLJH+BrGLhbO17l1 o43EtBoEDY0FePuaFh0V1iAKGsfH1Cx/gsZg1qXP81CKtgtvaESFeJBaMJjWmW+yyKw7ML 014KJKzDJwd0lGZuHyysXeySL/D24NU5EtktIkoeIlxR4JOLuuWmLXStKIp0DA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405010; h=from:from:reply-to:subject:subject: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+bjN+Ntv2tKRYt2gcQg424c9+aOrg9k416efu/jcAU=; b=QU+ow5qF2q/l9Y9NRhj/4W4Kuyp51ILR3Qood/OXVJmSMav+C7lM7SEA8rqz3SpciKl4ho COML168y1GWV1UxulCcz9Jf/BJ1nsPsW1XTiNAqSH4D9DWBWqqNo+T/gyMaW8N3N+jtZPW +6SicO12YqlRF7Ws3aal3uPP5f+vAUC7EKT4f2Fx6eBigDR4MYKIJnXTWTa3m1shuRyqDa g7i/X4kSErQ1S1APnYXI6oToJORqMSUzi1pVWSV9d30viLq2zXaLdES7lL3Wtsi2QBS10O IFi+ljHmrP7zY/5e4oZQsdpQEih2kMVU1+KwjaEKCIo3AB9ovCmibdPKpqLOow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rKZ2FJxz1714 for ; Tue, 28 Apr 2026 19:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32b2e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:36:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Siva Mahadevan Subject: git: 8d7d3344e13b - Create tag vendor/openresolv/3.17.4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/tags/vendor/openresolv/3.17.4 X-Git-Reftype: annotated tag X-Git-Commit: 8d7d3344e13bf0afa63816ca916c3f2e718285da Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:36:50 +0000 Message-Id: <69f10c52.32b2e.61660caf@gitrepo.freebsd.org> The annotated tag vendor/openresolv/3.17.4 has been created by siva: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/openresolv/3.17.4 tag vendor/openresolv/3.17.4 Tagger: Siva Mahadevan TaggerDate: 2026-04-28 19:22:45 +0000 openresolv 3.17.4 -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQQETArk83SsDNxZVjINZXSZIufdaQUCafEJEgAKCRANZXSZIufd aeVqAP4ybewLIz4lnOEDE4BTxaAKzozypNtV+o0o9WXjjaEmLAD+LOfq0PUBCp+s uRZHC16M+3xQZwhSfc173cduAs4vSwM= =hGMY -----END PGP SIGNATURE----- commit 43ade7d9e9170654b2866b20cb35d5743beda925 Author: Siva Mahadevan AuthorDate: 2026-04-05 18:40:56 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-05 18:40:56 +0000 Import openresolv 3.17.4 More information at: https://roy.marples.name/projects/openresolv From nobody Tue Apr 28 19:36:50 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rKg3rmqz6c0dB for ; Tue, 28 Apr 2026 19:36:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rKg2zzDz47NH for ; Tue, 28 Apr 2026 19:36:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SF05NmmXTaDN9fT2I8e2wluhwF6m3c2EbOAzhfjVqAk=; b=lHM7zulgIsrXPO1duZFRQLrWO5JmykTUFBbzDxJNRhhVhWwVRB900x8AnK/E9oeokiY91/ y7gBdBvgft9c0KkKUfN3hiXoxS4cypxhI6sKQGDz0kUqE0XKFyDoEh3F9DqR8FzP3JyzAR CXM58UdZzIhsWHvOufhAq09SRfyJaUyATQrHT45VLz/Wn37OKTr0DXTtA0Oc7e+1TrdGgn 7fQcKDERD5wFYTiTIshjbjeNBLx8dVHvQ3eIXVlds2mtgjKq57oZQGyIvh4Mdn1a/KteD7 e8vnR/iOFNGvF3L/637Jwn3PhbLPV0wOOXb/KStmoXfDvlMqzYv8Co73nka8lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405015; a=rsa-sha256; cv=none; b=NkBVV9+9NJ+p8SXUYanQrNkGHqd8X39X9a/tcxsXBpdc3Fw9udu6qa39PnzunSIhYUY/7i Nl0LTqFEGt6ysIPWzZgIr1Yj6iJW/hcIeYZlGwhxCWlEfhGp6CRueBjGEcomyQpNgiPqQO y0VkjDVm6HxOxTvRGjwiAUn+jGI0Gfo/Q/hGiYZEWp59/3xgwHqh7zdAO8xL+diTcJL6h2 RizjiSuqPtw+xVexzePnKjys1DvF11JvrRmPyrjV1Dx/FFi9yWn7WC33OB/xmkJVK8N5Qc oe8ItWK/kGiR8WzY89d8T/8ZyDqTiCYM1Xsg1EDXH+g/MRsALytpQQ3hUeowLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SF05NmmXTaDN9fT2I8e2wluhwF6m3c2EbOAzhfjVqAk=; b=h3kC6SexV5BwygfDJfKSqOoSpjbU/rOhdzZ/+R7SdwdkSRV31CjxBtZVjDh5NkGhbpzC7j NHKdb91iTElvvyT7Rt3QRDDmsc5/0E47zcVGjpjFUwVuTAiu/YHiptVgnyo2tk83J17bdj ixwa1eugRf3qTTDc91LF4NWvWACpPGv1oz/YdvYv9lfiwQPiAAuFuA8iEyGJnKiDcxiaBR k+5aGXUZbwQ4gr8kVXWyA49Rdi8hS1Z8bQKFHuu+uXWWe+aFcrl84zN0vf3crGohh9lf2W JWwfPlvuX1yS4jItsdQPPGvTXezNs5ZGQzX5YY2bkUkv7Avq32jXNOWYiJL0ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rKg1z0Jz16Hm for ; Tue, 28 Apr 2026 19:36:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32bd2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:36:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Siva Mahadevan Subject: git: a1f03c7e4d33..43ade7d9e917 - vendor/openresolv - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/vendor/openresolv X-Git-Reftype: branch X-Git-Commit: 43ade7d9e9170654b2866b20cb35d5743beda925 X-Git-Oldrev: a1f03c7e4d33421baac0a5f3dc5947c7b379ea0c X-Git-Newrev: 43ade7d9e9170654b2866b20cb35d5743beda925 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:36:50 +0000 Message-Id: <69f10c52.32bd2.7f7bf0b3@gitrepo.freebsd.org> The branch vendor/openresolv has been updated by siva: URL: https://cgit.FreeBSD.org/src/log/?id=a1f03c7e4d33..43ade7d9e917 43ade7d9e917 Import openresolv 3.17.4 From nobody Tue Apr 28 19:38:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rMP4mdCz6c0nf for ; Tue, 28 Apr 2026 19:38: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 4g4rMP3LTTz48BQ for ; Tue, 28 Apr 2026 19:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uaHcAebDoJI8fOXpOmNUl46y11JwuRM9BvmEJo2x2HI=; b=MzsxM+3VgjgEQ9pTOJuJPn1ksBTC6K1xaUNYxwEtpE0pimRjsYx9PSBtbyKMAioofwJUoq UOy2/qe0RrHsq3Q2wnD8oGpoFSHcLQt2X6Eoz1gLXQ0uoL68+Al2WQYB8O4QcKOYgkRUEj cpR3uPYFazBYXdWXoyblJD52PIoBHXWYj81AzXHBDaPLAdDT7BvtjGHDVmA7y49sqDZDji MJoWY/YokbJSTVamjBUB2h6GqgKEpGsG+yr79e4SYRZNiCKSdkDKZWrP6yw2QwFsC5A0O2 IypJ1KX9Ykt6H1SYb0wHB0YdoAyHbNqZrVC0wAZ5oCusG78/cgyu/SpdINROiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405105; a=rsa-sha256; cv=none; b=YD5RkIrCMGTkGxMa9BLrWkV5Hi1ACKa6Gf5wCSqIleq6a5F6v15uaJ61Az6GEb1AJHe/Xw yWadqQWKDznWq4bOh2CbvNqJ8zbh+GYSy6hyPBee9TaWHlAElIvx5Vum9uQqq0hXX1godg irJEE0MmsWUBESdaDVcHAvpLTkZi+1M+w7Y24sCWgVEkifZ15JNhzVBLRi8ObyK8nqFjSh fTNuFDHHm2+1shgqXyJ0wcRvTPRRpMhptT4lLErF79JtvgujrLOOhvzbYwTO64RmYyQIpl 40nR9NT9ySuwvyMDv9O8y4yPM447ikF2U/T6sgRCuI1RMmTXmw858txDFznSKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uaHcAebDoJI8fOXpOmNUl46y11JwuRM9BvmEJo2x2HI=; b=P0w1AAsz+GmfORC4+8kkk9zYXoyclQXNH26af+Jqhur8GIRsDq6SC12Im5G/VrMkfOBcmP 9ent5depBsiKAu/KWe+n0dRlC7tLoGrYwHAA381ZqDeMqy+R+nxmHn8yHwGYIRtIEZlO16 TUmzI+NjatGZwJGviALnkvYnunx1sQpWIAYh24v7vpE8l9iq5a87p3ZAMQRi14jdazDSmg bSoAZfJQyICkq7BrKhaUZWnOvBtLNqggEtmEamMJrBlMrCxPKEZItVcgp2z1zrpyqqQkx3 qFqU5v+3Ax2Cb/p6hO0e2D7d3lVJBuwtb4pPQRceA3xqs4VtzwP20GZEBZLk1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rMP2gLKz16Hn for ; Tue, 28 Apr 2026 19:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32d91 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:38:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: cb0e3a5fba5f - main - contrib/openresolv: MFV openresolv 3.17.4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb0e3a5fba5fe48607db8c1042bfe6a1164e0db7 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:38:20 +0000 Message-Id: <69f10cac.32d91.6f38f8d4@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=cb0e3a5fba5fe48607db8c1042bfe6a1164e0db7 commit cb0e3a5fba5fe48607db8c1042bfe6a1164e0db7 Merge: e139a49b5d8e 43ade7d9e917 Author: Siva Mahadevan AuthorDate: 2026-04-28 19:25:49 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-28 19:26:59 +0000 contrib/openresolv: MFV openresolv 3.17.4 Reviewed by: pfg Approved by: lwhsu (mentor) Differential Revision: https://reviews.freebsd.org/D56269 contrib/openresolv/LICENSE | 2 +- contrib/openresolv/Makefile | 54 +- contrib/openresolv/README.md | 9 +- contrib/openresolv/avahi-daemon.in | 32 ++ contrib/openresolv/configure | 4 +- contrib/openresolv/dnsmasq.in | 8 +- contrib/openresolv/libc.in | 82 ++- contrib/openresolv/mdnsd.in | 32 ++ contrib/openresolv/named.in | 4 +- contrib/openresolv/pdns_recursor.in | 4 +- contrib/openresolv/pdnsd.in | 10 +- contrib/openresolv/resolvconf.8.in | 226 +++++--- contrib/openresolv/resolvconf.conf.5.in | 182 ++++-- contrib/openresolv/resolvconf.in | 947 +++++++++++++++++++++++++------- contrib/openresolv/resolvectl.in | 159 ++++++ contrib/openresolv/systemd-resolved.in | 96 ++++ contrib/openresolv/unbound.in | 30 +- 17 files changed, 1484 insertions(+), 397 deletions(-) diff --cc contrib/openresolv/Makefile index 6cfa6e4ea072,000000000000..ba9a75d35f22 mode 100644,000000..100644 --- a/contrib/openresolv/Makefile +++ b/contrib/openresolv/Makefile @@@ -1,118 -1,0 +1,138 @@@ +PKG= openresolv + +# Nasty hack so that make clean works without configure being run +_CONFIG_MK!= test -e config.mk && echo config.mk || echo config-null.mk +CONFIG_MK?= ${_CONFIG_MK} +include ${CONFIG_MK} + ++DIST!= if test -d .git; then echo "dist-git"; \ ++ else echo "dist-inst"; fi ++ +SBINDIR?= /sbin +SYSCONFDIR?= /etc +LIBEXECDIR?= /libexec/resolvconf +VARDIR?= /var/run/resolvconf + +ECHO?= echo +INSTALL?= install +SED?= sed + +VERSION!= ${SED} -n 's/OPENRESOLV_VERSION="\(.*\)".*/\1/p' resolvconf.in + +BINMODE?= 0755 +DOCMODE?= 0644 +MANMODE?= 0444 + - RESOLVCONF= resolvconf resolvconf.8 resolvconf.conf.5 - SUBSCRIBERS= libc dnsmasq named pdnsd pdns_recursor unbound - TARGET= ${RESOLVCONF} ${SUBSCRIBERS} ++RESOLVCONF= resolvconf resolvconf.8 resolvconf.conf.5 ++SUBSCRIBERS= libc dnsmasq named pdnsd pdns_recursor unbound ++SUBSCRIBERS+= systemd-resolved resolvectl ++LIBC_SUBSCRIBERS= avahi-daemon mdnsd ++TARGET= ${RESOLVCONF} ${SUBSCRIBERS} ${LIBC_SUBSCRIBERS} +SRCS= ${TARGET:C,$,.in,} # pmake +SRCS:= ${TARGET:=.in} # gmake + +SED_SBINDIR= -e 's:@SBINDIR@:${SBINDIR}:g' +SED_SYSCONFDIR= -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' +SED_LIBEXECDIR= -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' +SED_VARDIR= -e 's:@VARDIR@:${VARDIR}:g' +SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' +SED_RESTARTCMD= -e 's:@RESTARTCMD@:${RESTARTCMD}:g' +SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' +SED_STATUSARG= -e 's:@STATUSARG@:${STATUSARG}:g' + +DISTPREFIX?= ${PKG}-${VERSION} - DISTFILEGZ?= ${DISTPREFIX}.tar.gz +DISTFILE?= ${DISTPREFIX}.tar.xz +DISTINFO= ${DISTFILE}.distinfo - DISTINFOSIGN= ${DISTINFO}.asc - CKSUM?= cksum -a SHA256 - PGP?= netpgp ++DISTINFOMD= ${DISTINFO}.md ++DISTSIGN= ${DISTFILE}.asc ++SHA256?= sha256 ++PGP?= gpg2 + +GITREF?= HEAD + +.SUFFIXES: .in + +all: ${TARGET} + +.in: Makefile ${CONFIG_MK} + ${SED} ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \ + ${SED_VARDIR} \ + ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RCDIR} ${SED_STATUSARG} \ + $< > $@ + +clean: + rm -f ${TARGET} + +distclean: clean - rm -f config.mk ${DISTFILE} ${DISTINFO} ${DISTINFOSIGN} ++ rm -f config.mk ${DISTFILE} ${DISTINFO} ${DISTINFOMD} ${DISTSIGN} + +installdirs: + +proginstall: ${TARGET} + ${INSTALL} -d ${DESTDIR}${SBINDIR} + ${INSTALL} -m ${BINMODE} resolvconf ${DESTDIR}${SBINDIR} + ${INSTALL} -d ${DESTDIR}${SYSCONFDIR} + test -e ${DESTDIR}${SYSCONFDIR}/resolvconf.conf || \ + ${INSTALL} -m ${DOCMODE} resolvconf.conf ${DESTDIR}${SYSCONFDIR} + ${INSTALL} -d ${DESTDIR}${LIBEXECDIR} + ${INSTALL} -m ${DOCMODE} ${SUBSCRIBERS} ${DESTDIR}${LIBEXECDIR} ++ ${INSTALL} -d ${DESTDIR}${LIBEXECDIR}/libc.d ++ ${INSTALL} -m ${DOCMODE} ${LIBC_SUBSCRIBERS} \ ++ ${DESTDIR}${LIBEXECDIR}/libc.d + +maninstall: + ${INSTALL} -d ${DESTDIR}${MANDIR}/man8 + ${INSTALL} -m ${MANMODE} resolvconf.8 ${DESTDIR}${MANDIR}/man8 + ${INSTALL} -d ${DESTDIR}${MANDIR}/man5 + ${INSTALL} -m ${MANMODE} resolvconf.conf.5 ${DESTDIR}${MANDIR}/man5 + +install: proginstall maninstall + +dist-git: + git archive --prefix=${DISTPREFIX}/ ${GITREF} | xz >${DISTFILE} + +dist-inst: + mkdir /tmp/${DISTPREFIX} + cp -RPp * /tmp/${DISTPREFIX} + (cd /tmp/${DISTPREFIX}; make clean) - tar -cvjpf ${DISTFILE} -C /tmp ${DISTPREFIX} ++ tar -cvJpf ${DISTFILE} -C /tmp ${DISTPREFIX} + rm -rf /tmp/${DISTPREFIX} + - dist: dist-git ++dist: ${DIST} + +distinfo: dist - rm -f ${DISTINFO} ${DISTINFOSIGN} - ${CKSUM} ${DISTFILE} >${DISTINFO} - #printf "SIZE (${DISTFILE}) = %s\n" $$(wc -c <${DISTFILE}) >>${DISTINFO} - ${PGP} --clearsign --output=${DISTINFOSIGN} ${DISTINFO} - chmod 644 ${DISTINFOSIGN} - ls -l ${DISTFILE} ${DISTINFO} ${DISTINFOSIGN} ++ rm -f ${DISTINFO} ${DISTSIGN} ++ ${SHA256} ${DISTFILE} >${DISTINFO} ++ wc -c <${DISTFILE} \ ++ | xargs printf 'Size (${DISTFILE}) = %s\n' >>${DISTINFO} ++ ${PGP} --sign --armour --detach ${DISTFILE} ++ chmod 644 ${DISTSIGN} ++ ls -l ${DISTFILE} ${DISTINFO} ${DISTSIGN} ++ ++${DISTINFOMD}: ${DISTINFO} ++ echo '```' >${DISTINFOMD} ++ cat ${DISTINFO} >>${DISTINFOMD} ++ echo '```' >>${DISTINFOMD} ++ ++release: distinfo ${DISTINFOMD} ++ gh release create v${VERSION} \ ++ --title "openresolv ${VERSION}" --draft --generate-notes \ ++ --notes-file ${DISTINFOMD} \ ++ ${DISTFILE} ${DISTSIGN} + +import: dist + rm -rf /tmp/${DISTPREFIX} + ${INSTALL} -d /tmp/${DISTPREFIX} + tar xvJpf ${DISTFILE} -C /tmp + +_import-src: + rm -rf ${DESTDIR}/* + ${INSTALL} -d ${DESTDIR} + cp LICENSE README.md ${SRCS} resolvconf.conf ${DESTDIR}; + cp resolvconf.8.in resolvconf.conf.5.in ${DESTDIR}; + @${ECHO} + @${ECHO} "=============================================================" + @${ECHO} "openresolv-${VERSION} imported to ${DESTDIR}" + +import-src: - ${MAKE} _import-src DESTDIR=`if [ -n "${DESTDIR}" ]; then echo "${DESTDIR}"; else echo /tmp/${DISTPREFIX}; fi` ++ ${MAKE} _import-src DESTDIR=`if [ -n "${DESTDIR}" ]; then echo "${DESTDIR}"; else echo /tmp/${DISTPREFIX}; fi` diff --cc contrib/openresolv/README.md index 739cc73356cb,000000000000..50e54ced93ef mode 100644,000000..100644 --- a/contrib/openresolv/README.md +++ b/contrib/openresolv/README.md @@@ -1,64 -1,0 +1,69 @@@ +# openresolv + +openresolv is a [resolvconf](https://en.wikipedia.org/wiki/Resolvconf) +implementation which manages `/etc/resolv.conf`. + +`/etc/resolv.conf` is a file that holds the configuration for the local +resolution of domain names. +Normally this file is either static or maintained by a local daemon, +normally a DHCP daemon. But what happens if more than one thing wants to +control the file? +Say you have wired and wireless interfaces to different subnets and run a VPN +or two on top of that, how do you say which one controls the file? +It's also not as easy as just adding and removing the nameservers each client +knows about as different clients could add the same nameservers. + +Enter resolvconf, the middleman between the network configuration services and +`/etc/resolv.conf`. +resolvconf itself is just a script that stores, removes and lists a full +`resolv.conf` generated for the interface. It then calls all the helper scripts +it knows about so it can configure the real `/etc/resolv.conf` and optionally +any local nameservers other than libc. + +## Reasons for using openresolv + +Why openresolv over the +[Debian implementation](http://qref.sourceforge.net/Debian/reference/ch-gateway.en.html#s-dns-resolvconf)? +Here's some reasons: + * Works with + [POSIX shell and userland](http://www.opengroup.org/onlinepubs/009695399) + * Does not need awk, grep or sed which means we can work without `/usr` + mounted + * Works with other init systems than Debians' out of the box + * Available as a 2 clause + [BSD license](http://www.freebsd.org/copyright/freebsd-license.html) + * Prefer configs via IF_METRIC for dynamic ordering + * Configures zones for local resolvers other than libc + +The last point is quite important, especially when running VPN systems. +Take the following resolv.conf files which have been generated by a - [DHCP client](../dhcpcd) and sent to resolvconf: ++[DHCP client](https://github.com/NetworkConfiguration/dhcpcd) and sent to resolvconf: + +``` +# resolv.conf from bge0 +search foo.com +nameserver 1.2.3.4 + +# resolv.conf from tap0 +domain bar.org +nameserver 5.6.7.8 +``` + +In this instance, queries for foo.com will go to 1.2.3.4 and queries for +bar.org will go to 5.6.7.8. +This does require the resolvers to be configured to pickup the resolvconf +generated configuration for them though. +openresolv ships with helpers for: + * [unbound](http://www.unbound.net/) + * [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) + * [ISC BIND](http://www.isc.org/software/bind) + * [PowerDNS Recursor](http://wiki.powerdns.com/trac) ++ * [systemd-resolved](https://www.freedesktop.org/software/systemd/man/latest/systemd-resolved.service.html) + +See the - [configuration section](https://roy.marples.name/projects/openresolv/config) ++[configuration section](https://roy.marples.name/projects/openresolv/configuration) +for more details. ++ ++If openresolv updates `/etc/resolv.conf` it can notify the following of this: ++ * [Bonjour (mdnsd)](https://developer.apple.com/bonjour/) ++ * [avahi](http://www.avahi.org/) diff --cc contrib/openresolv/avahi-daemon.in index 000000000000,cdac44fe8234..cdac44fe8234 mode 000000,100644..100644 --- a/contrib/openresolv/avahi-daemon.in +++ b/contrib/openresolv/avahi-daemon.in diff --cc contrib/openresolv/configure index c9422b74b69c,50fe74da8baa..50fe74da8baa mode 100644,100755..100755 --- a/contrib/openresolv/configure +++ b/contrib/openresolv/configure diff --cc contrib/openresolv/mdnsd.in index 000000000000,3b01cd459f16..3b01cd459f16 mode 000000,100644..100644 --- a/contrib/openresolv/mdnsd.in +++ b/contrib/openresolv/mdnsd.in diff --cc contrib/openresolv/resolvectl.in index 000000000000,167aac62ba57..167aac62ba57 mode 000000,100644..100644 --- a/contrib/openresolv/resolvectl.in +++ b/contrib/openresolv/resolvectl.in diff --cc contrib/openresolv/systemd-resolved.in index 000000000000,0190a73723e5..0190a73723e5 mode 000000,100644..100644 --- a/contrib/openresolv/systemd-resolved.in +++ b/contrib/openresolv/systemd-resolved.in From nobody Tue Apr 28 19:41:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rRQ2KvDz6c0vZ for ; Tue, 28 Apr 2026 19:41:54 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rRP5TZ3z48mD for ; Tue, 28 Apr 2026 19:41:53 +0000 (UTC) (envelope-from ctuffli@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2ab232cc803so57183635ad.3 for ; Tue, 28 Apr 2026 12:41:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777405312; x=1778010112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=i0b3REP1cN6e4gCXA01q9TLAYmGtAwcL08hx4wn4rTY=; b=fli6HIdfwb2uNG2QIn92F+AW/Og7MQL/dGi2mOcEA6/DQ0QUm8YsvuotvK/385SJdD sevBh032Bb6EphyueQS+9VFl6lwPXT9u4bMPhPtVGN/24NwZ68UFiT2BczqtULT+RD9Q SfR5E0QOZOpUrgDIifOBPTFa4W5yCRWf+oOG8rRsay7aM9PvRZDa7huDGdn53obcejFV VEA0gSAFEP2KwCE3VDq9Fp8ZmnBWjVnyTQ3GBloIeLEW//9fD8nW9GJvSCLuBKMYoNk8 rZkfpjwzktwPE1sMjgQsrt5TEbsEo3xmlmxfZwolhtMq6IKYN2dhJbGrL5Kv9b8AIlbI iPoA== X-Forwarded-Encrypted: i=1; AFNElJ/Iswp/Si2FN2sJkApaAbvO2KUXUidoGIom0DakLfUG5wJNpPmYdJ6A5H5kwHIlrJBszFQsDad0QZa99PAQ3jX6SMLE@freebsd.org X-Gm-Message-State: AOJu0YwB6bCw/JSLjBp+0rld//mDdLyusap5ZPl7CdQqJFQeaKOXVzF9 fZFK/zu2I+mRJZ+EPPDDmJ8Xs8v017/M3QdQLMzu45hMPQI2fnmHuPfsSp/XzJZs X-Gm-Gg: AeBDieuT8wbCOdwUdQN3apo60k5pIO21zjzQ9jj4JiT50naH4riW/tMI4zRlvtd3zAW uvLEmB0DwdYl2r0QkWU52EstJAHtV9OaHMhTxNc7EKZNzvoiHSt1rjcrrjZ/X/8T6RfV8SJsteX JW8EnV88tLYFbgZQUCzb24+d37dISqifNikG//rqyN9kF3jJzu7TB5E3Y4mQTMq13Q2mUell0U9 fvqfeIZejdwR1M3355dEHAkU0517u7bfhiTWY2ubVkHa+sxwEwmbZIAX6ZXIw2NY4fvRIVrSB7x wZGLw1SbFXa+s7M+T2V47Twm872Z+XwCWTTshdv4hLVgMdpOiiorU4uO0FHj2HwLzWLi5u0zc1J z1q2BeFpibjbvWlRncbEFV5GyWpL1uvFxCuEmtqO4agY9qVEVQkL70fCPw9NHy5atD393sSN2aR UAHhIqSNrdzQAIpBlRPRG5cUk8PJlS4jZNFEsVWb3AUm0aInJ+1U5Kma2s2BMJ6JqL002zI3k= X-Received: by 2002:a17:902:cecc:b0:2b4:6562:642b with SMTP id d9443c01a7336-2b97c4bab60mr45824955ad.35.1777405311595; Tue, 28 Apr 2026 12:41:51 -0700 (PDT) Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com. [209.85.215.169]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98893f132sm281035ad.49.2026.04.28.12.41.51 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Apr 2026 12:41:51 -0700 (PDT) Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-c76b994f7a8so4775289a12.3 for ; Tue, 28 Apr 2026 12:41:51 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ+jMnShFSu+0Rwfl/jFvHtcwyOkE9TvlCzMOhKhbxB/cokTKypg5nQ9aQKpkUlDOyeLHHLCHCHAOMGqrOXLi4JdSWpW@freebsd.org X-Received: by 2002:a05:6a20:748e:b0:3a2:d68d:9e7e with SMTP id adf61e73a8af0-3a39c2b8f28mr5472700637.41.1777405311051; Tue, 28 Apr 2026 12:41:51 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> <20260428180947.83C47130@slippy.cwsent.com> In-Reply-To: From: Chuck Tuffli Date: Tue, 28 Apr 2026 12:41:39 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4LdTXlL6AQ1WLIDRlvoguHzd8qJairfqeAcXr3Bd3g3ksMP8xOTsGt7pq0 Message-ID: Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 To: Jessica Clarke Cc: Robert Clausecker , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g4rRP5TZ3z48mD X-Spamd-Bar: ---- On Tue, Apr 28, 2026 at 11:40=E2=80=AFAM Jessica Clarke wrote: > > On 28 Apr 2026, at 19:34, Robert Clausecker wrote: > > > Hi Chuck, > > > > Am Tue, Apr 28, 2026 at 11:21:26AM -0700 schrieb Chuck Tuffli: > >> On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert wrote: > >>> > >>> In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuffl= i > >>> writes: > >>>> The branch main has been updated by chuck: > >>>> > >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f34= 9c970af362b > >>>> 47b45f27 > >>>> > >>>> commit 68e5b71517e947b4e3f349c970af362b47b45f27 > >>>> Author: Chuck Tuffli > >>>> AuthorDate: 2026-04-28 16:55:50 +0000 > >>>> Commit: Chuck Tuffli > >>>> CommitDate: 2026-04-28 17:08:27 +0000 > >>>> > >>>> Vendor import of smart at 1.0.2 > >>>> > >>>> smart/diskhealth is a command line application to monitor disk he= alth > >>>> from a storage device via SMART. > >>>> > >>>> Reviewed by: fuz, jrm > >>>> Relnotes: yes > >>>> Differential Revision: https://reviews.freebsd.org/D56638 > >>>> --- > >>>> contrib/smart/Changelog | 37 ++ > >>>> contrib/smart/LICENSE | 13 + > >>>> contrib/smart/Makefile | 26 + > >>>> contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ > >>>> contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++++= ++++++++ > >>>> ++ > >>>> contrib/smart/libsmart.h | 174 ++++++ > >>>> contrib/smart/libsmart_desc.c | 158 +++++ > >>>> contrib/smart/libsmart_dev.h | 60 ++ > >>>> contrib/smart/libsmart_priv.h | 83 +++ > >>>> contrib/smart/smart.8 | 245 ++++++++ > >>>> contrib/smart/smart.c | 334 ++++++++++ > >>>> packages/Makefile | 1 + > >>>> packages/smart/Makefile | 4 + > >>>> packages/smart/smart.ucl | 30 + > >>>> usr.sbin/Makefile | 1 + > >>>> usr.sbin/smart/Makefile | 8 + > >>>> 16 files changed, 3361 insertions(+) > >>> > >>> Why are we doing vendor imports directly to contrib/? Is this a new > >>> procedure, do we not need to use the vendor branch anymore? > >> > >> Sorry, this is new territory for me, and I may have goofed. My > >> understanding was the upstream code lives in a vendor/* branch (which > >> I forgot to push) and the contents are copied to the contrib/* > >> directory and then committed. If this isn't the right thing to do, let > >> me know how to fix this. > > > > Your understanding is correct, though you are supposed to do a merge > > to tie the vendor branch and the change in the contrib directory > > together, making it clear which state of the vendor branch the contrib > > directory corresponds to. > > > > The best way to fix this is to revert your change and then to retry > > with a merge commit. > > The helpful link seemingly omitted from this thread so far: > > https://docs.freebsd.org/en/articles/committers-guide/index.html#vendor-i= mport-git Apologies for the goof :( Just to make sure I have this all correct, I will 1. Create a branch vendor/smart containing only the pieces from upstream that base needs and commit 2. git tag -a vendor/smart/1.0.2 -m "Tag smart at 1.0.2" 3. git push --follow-tags freebsd vendor/smart 4. git switch main 5. git subtree merge -P contrib/smart vendor/smart Here is where I'm fuzzy on what to do. Am I supposed to push this as-is or am I allowed to make changes? If I can make changes, is that via git commit --amend? Since this is a new import, what commit do the changes to packages/* and usr.sbin/* go? Their own commit or as a part of the merge? --chuck From nobody Tue Apr 28 19:45:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rX94tCYz6c0qW for ; Tue, 28 Apr 2026 19:46:01 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rX85Mg9z3Brf for ; Tue, 28 Apr 2026 19:46:00 +0000 (UTC) (envelope-from ctuffli@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of ctuffli@gmail.com designates 209.85.210.170 as permitted sender) smtp.mailfrom=ctuffli@gmail.com Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-827270d50d4so10749326b3a.3 for ; Tue, 28 Apr 2026 12:46:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777405559; x=1778010359; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sxJJdu9dS1Tq/uM1eYt+u8wtEB5PHrXhjwlDLZRZn2Q=; b=KtGyEJvKfdv4uUtEHt5j1UAf5nZXh90CjWS4d2weGZ/D/06WS2knzUIVBnDUqSWdDg usyoVk+6XfCzNWX21yQMPr9ty4n/Xza8jy1mhfWYLlXzlES6px2xBTPyZlQVNVvsw432 qPYCr75MzLRh6bjfjm3Bg5E+bOR0V1UM9kg1a0iyPAEdAMKt/WZysvIraPz2qjP+cNdy s3J06KWw9dDTK5PdbQGa7Ek2AVNc6/6k7en3hsqqMsUrQIlv+MBaA0kUG2oyXTC161bt yKT+oDzmwJERVD2bM4FlaJEieE6+DGIf0Eq4VUxI22ah0IERN0O/aPqUuD1IARLo9FJ7 ZCbQ== X-Forwarded-Encrypted: i=1; AFNElJ9fj8haQPn0yJ3Ce4ddjDinFY/Blctxy3gY87Z8zbzgyeGJpmcjNnSF/jjDUTqwof3vX24SYk3PUB3Js/VympWJFXNc@freebsd.org X-Gm-Message-State: AOJu0YxjD+WRBq0QrLekTl3mlTrZMGJPEUuveNefTA1/3ihlumBfP9zo FVVr01dt96/unr5i/e0jD/hQT0ZrJpPSl8SAjMEeN2V6Ms14mU9+GJVPwPshjVEN X-Gm-Gg: AeBDiet+oFZwlUbkBY4aB88TeKA7k+l9s7RZNd1TAP18bCVNHLupJxVocZaBNJhwR0f 6cY4MtfsDW6V9Xb1vPTbHzhCK+dzf3eWAZeaaxA/jV1GsibOFjOSZRCCLDv9hiYSOZBcWJa6d7/ ihzgRQWIWSw+cFwhPVp9LXfdvTazHcnNPncUI4TIQueLD4+dN91D6rWjY+r/O4wYYN+Wb7I0f2p ZFpSsdGhNBlpWjsAZ1kAB554SuDXsaotqi22GCTyfc2hEcMoov6XeGbEvwTVjuuWaQe8OjaAMq5 KKBHpIXeOu1Mk0yRdLvxv8gifnWtOl/W7xY3PPeh8JyQV9uEd5J5Pz40nu6czEJGXG/VRgplR48 Y9NKj7WDqWasgQZ73sSzCzgGH08ln8hpM/pN9pBY9bM4SnKCDmInAGVssSFXxUGWz94KvRZZccI uULhIYRRTpigiwGdQW7ipB9+ZHH8+a4e+6BZ8Wjyu+fJGMtEdqMuTv8om275WzL8NCHPuBKE8= X-Received: by 2002:a05:6a00:8e01:b0:82f:5034:77a4 with SMTP id d2e1a72fcca58-834ea5e57f4mr643118b3a.21.1777405558790; Tue, 28 Apr 2026 12:45:58 -0700 (PDT) Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com. [209.85.214.175]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-834daf31f04sm3404587b3a.39.2026.04.28.12.45.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Apr 2026 12:45:58 -0700 (PDT) Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2b24fdac394so112019625ad.3 for ; Tue, 28 Apr 2026 12:45:58 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ+Y7DSjQ8Y61cztp8RVJYn2tCMTz+7pQ3JvPYPiwcIKngGlh9HOsjtG1nHiuXzuYtOdnrMsqkFUSB6OJ4HjkrAuwxUj@freebsd.org X-Received: by 2002:a17:903:120f:b0:2b0:51f6:d46e with SMTP id d9443c01a7336-2b9873c406dmr7187755ad.15.1777405557805; Tue, 28 Apr 2026 12:45:57 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> <20260428180947.83C47130@slippy.cwsent.com> In-Reply-To: From: Chuck Tuffli Date: Tue, 28 Apr 2026 12:45:45 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4KcdXipCLsCmEoYUnfZSYYAoCdLjLBaO-AWDt19b0waVYgqzba_bYT_m0E Message-ID: Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 To: Jessica Clarke Cc: Robert Clausecker , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-0.92 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(1.00)[0.998]; NEURAL_HAM_SHORT(-0.92)[-0.915]; FORGED_SENDER(0.30)[chuck@freebsd.org,ctuffli@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; RWL_MAILSPIKE_GOOD(-0.10)[209.85.210.170:from]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_IN_DNSWL_NONE(0.00)[209.85.210.170:from,209.85.214.175:received]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[chuck@freebsd.org,ctuffli@gmail.com]; RCVD_COUNT_THREE(0.00)[3]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[] X-Rspamd-Queue-Id: 4g4rX85Mg9z3Brf X-Spamd-Bar: / On Tue, Apr 28, 2026 at 12:41=E2=80=AFPM Chuck Tuffli w= rote: > > On Tue, Apr 28, 2026 at 11:40=E2=80=AFAM Jessica Clarke wrote: > > > > On 28 Apr 2026, at 19:34, Robert Clausecker wrote: > > > > > Hi Chuck, > > > > > > Am Tue, Apr 28, 2026 at 11:21:26AM -0700 schrieb Chuck Tuffli: > > >> On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert wrote: > > >>> > > >>> In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuf= fli > > >>> writes: > > >>>> The branch main has been updated by chuck: > > >>>> > > >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f= 349c970af362b > > >>>> 47b45f27 > > >>>> > > >>>> commit 68e5b71517e947b4e3f349c970af362b47b45f27 > > >>>> Author: Chuck Tuffli > > >>>> AuthorDate: 2026-04-28 16:55:50 +0000 > > >>>> Commit: Chuck Tuffli > > >>>> CommitDate: 2026-04-28 17:08:27 +0000 > > >>>> > > >>>> Vendor import of smart at 1.0.2 > > >>>> > > >>>> smart/diskhealth is a command line application to monitor disk = health > > >>>> from a storage device via SMART. > > >>>> > > >>>> Reviewed by: fuz, jrm > > >>>> Relnotes: yes > > >>>> Differential Revision: https://reviews.freebsd.org/D56638 > > >>>> --- > > >>>> contrib/smart/Changelog | 37 ++ > > >>>> contrib/smart/LICENSE | 13 + > > >>>> contrib/smart/Makefile | 26 + > > >>>> contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ > > >>>> contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++= ++++++++++ > > >>>> ++ > > >>>> contrib/smart/libsmart.h | 174 ++++++ > > >>>> contrib/smart/libsmart_desc.c | 158 +++++ > > >>>> contrib/smart/libsmart_dev.h | 60 ++ > > >>>> contrib/smart/libsmart_priv.h | 83 +++ > > >>>> contrib/smart/smart.8 | 245 ++++++++ > > >>>> contrib/smart/smart.c | 334 ++++++++++ > > >>>> packages/Makefile | 1 + > > >>>> packages/smart/Makefile | 4 + > > >>>> packages/smart/smart.ucl | 30 + > > >>>> usr.sbin/Makefile | 1 + > > >>>> usr.sbin/smart/Makefile | 8 + > > >>>> 16 files changed, 3361 insertions(+) > > >>> > > >>> Why are we doing vendor imports directly to contrib/? Is this a new > > >>> procedure, do we not need to use the vendor branch anymore? > > >> > > >> Sorry, this is new territory for me, and I may have goofed. My > > >> understanding was the upstream code lives in a vendor/* branch (whic= h > > >> I forgot to push) and the contents are copied to the contrib/* > > >> directory and then committed. If this isn't the right thing to do, l= et > > >> me know how to fix this. > > > > > > Your understanding is correct, though you are supposed to do a merge > > > to tie the vendor branch and the change in the contrib directory > > > together, making it clear which state of the vendor branch the contri= b > > > directory corresponds to. > > > > > > The best way to fix this is to revert your change and then to retry > > > with a merge commit. > > > > The helpful link seemingly omitted from this thread so far: > > > > https://docs.freebsd.org/en/articles/committers-guide/index.html#vendor= -import-git > > Apologies for the goof :( > > Just to make sure I have this all correct, I will > 1. Create a branch vendor/smart containing only the pieces from > upstream that base needs and commit > 2. git tag -a vendor/smart/1.0.2 -m "Tag smart at 1.0.2" > 3. git push --follow-tags freebsd vendor/smart > 4. git switch main > 5. git subtree merge -P contrib/smart vendor/smart > > Here is where I'm fuzzy on what to do. Am I supposed to push this > as-is or am I allowed to make changes? If I can make changes, is that > via git commit --amend? > Since this is a new import, what commit do the changes to packages/* > and usr.sbin/* go? Their own commit or as a part of the merge? Bah, never mind. Found the directions. Sorry for the noise. From nobody Tue Apr 28 19:50:55 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdr1SyDz6c1V0 for ; Tue, 28 Apr 2026 19:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rdr00H5z3CdJ for ; Tue, 28 Apr 2026 19:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OlL7xq/twayswchcMytv1e7VHiSkKDN5i8DYJP0iVtc=; b=EH6UP4HCZUe+hId3Y6RJjFJ5eoOXqTY/2vK+8VLnrKvFSmD+jfvBmoFGt6/Gtm91RMYdIg 068sd92XKbCIHOzpz/b/IW7scHEymx+Zwnr8IOo18ooNTcRylOu0pcbNTWJumDPrNi2jyw qYjEW/5ggm+A0kF8wl8X7xGR1kcjyHx579bsvHgInpaCHCzBOD+DKntTSniYXrsoY85u7i mnvNsW30pP5X+NcI9ZPkUyCx9aMovIukkOvohrwE9RO3SIG/S4Fj+LBXG+vdAypvHOhPJS UwjaXqIKYJL354M5i+5MMsedNC4Dzl3rAZiFLvYSbn2UrfqeFE077I44rOVrDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405856; a=rsa-sha256; cv=none; b=f704FMFyp532Z0E6LsIZ9Twx1EXmQ+FkDkeIKonGbIju7tbLh5BenMxeh+4b+Db0dWTb2R uS+bFJb26/FzKzu0ytVxPe6BeAnxp8YZMQPyXMIcpBn50uqN5PBhh5CwRngze+WCbwlO3v Vdcc9AG0NmEENLJvaadKW1kqF4kPLz6lzmB1ukLvjX/EMraBHHY47q1vL85fHFl0nT0dFK wxV3ZJ8mocmuCJJfpaJGnjRZoY/6pW0RgbD3gH0sI+HuBsMmafctuQQd+xXZkKO1dKq2EC ucFG0JHlXnV71RWCUnHijsRIgNs/ATAGhQwtSlGuPdACBfeAR/6jVt/RUAtfQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OlL7xq/twayswchcMytv1e7VHiSkKDN5i8DYJP0iVtc=; b=g78ntmt5JFeHIdMT0ddY+0HRUY9w8ZRh8Oi8/rhpW0l2Xs2B9wRR4vpb849NkXj/1WADQE 34cHfm4TLXG7sg1uG4wMASJiN/YeUicHWLJwOget7P193Wn0Lv4i4zOfLJVjXaN2QVI1It AmNNql+/vEVBfsHWIU2ECzNNJ7uu1pyNUpGfNf/q6BtcS5pi+LMZ7WEjevPChbPQLl1FjJ YvXMg3ldkPfFj8zVUlWVQlfwnd+QCtgi7pR05YyoPEkbO+zeuvH1qytJtuTgwHLDhVqQQX zOr9ytcEM3EcOnqZVreC5xwy9/HnZuXRoqHdIHZyydjuZGrWkfEIpzrr564ehA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdq48hrz174J for ; Tue, 28 Apr 2026 19:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33bd2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:50:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 7970815be40b - main - llvm: Move libprivatelldb to the lldb package List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7970815be40b1fa604a6554f5ee0f95f834454b5 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:50:55 +0000 Message-Id: <69f10f9f.33bd2.2d38c5fe@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=7970815be40b1fa604a6554f5ee0f95f834454b5 commit 7970815be40b1fa604a6554f5ee0f95f834454b5 Author: Lexi Winter AuthorDate: 2026-04-28 19:38:36 +0000 Commit: Lexi Winter CommitDate: 2026-04-28 19:50:42 +0000 llvm: Move libprivatelldb to the lldb package Set PACKAGE=lldb in lldb.pre.mk rather than in individual Makefiles; change lib/clang/Makefile.inc from PACKAGE=clang to PACKAGE?=clang to avoid overwriting it. This is safe to MFC to stable/15 since the moved library will be picked up automatically by pkg. MFC after: 2 weeks Reviewed by: emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56674 --- lib/clang/Makefile.inc | 2 +- lib/clang/liblldb/Makefile | 1 - lib/clang/lldb.pre.mk | 2 ++ usr.bin/clang/lldb-server/Makefile | 1 - usr.bin/clang/lldb/Makefile | 1 - 5 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/clang/Makefile.inc b/lib/clang/Makefile.inc index 3678060fdec0..0b18c1e7410e 100644 --- a/lib/clang/Makefile.inc +++ b/lib/clang/Makefile.inc @@ -1,6 +1,6 @@ .include -PACKAGE= clang +PACKAGE?= clang MK_PIE:= no # Explicit libXXX.a references .if ${MK_LLVM_FULL_DEBUGINFO} == "no" diff --git a/lib/clang/liblldb/Makefile b/lib/clang/liblldb/Makefile index 95230b8c11b6..5a0b60043ea0 100644 --- a/lib/clang/liblldb/Makefile +++ b/lib/clang/liblldb/Makefile @@ -6,7 +6,6 @@ LIB= lldb INTERNALLIB= .else -PACKAGE= lldb SHLIB_CXX= lldb SHLIB_MAJOR= 21 PRIVATELIB= diff --git a/lib/clang/lldb.pre.mk b/lib/clang/lldb.pre.mk index 0c90eb2ffd32..af4ffede39da 100644 --- a/lib/clang/lldb.pre.mk +++ b/lib/clang/lldb.pre.mk @@ -1,4 +1,6 @@ .include "clang.pre.mk" +PACKAGE= lldb + LLDB_SRCS= ${LLVM_BASE}/lldb diff --git a/usr.bin/clang/lldb-server/Makefile b/usr.bin/clang/lldb-server/Makefile index 37dae6200669..2fc63a20628e 100644 --- a/usr.bin/clang/lldb-server/Makefile +++ b/usr.bin/clang/lldb-server/Makefile @@ -1,6 +1,5 @@ .include "${SRCTOP}/lib/clang/lldb.pre.mk" -PACKAGE= lldb PROG_CXX= lldb-server CFLAGS+= -I${LLDB_SRCS}/include diff --git a/usr.bin/clang/lldb/Makefile b/usr.bin/clang/lldb/Makefile index 880d4de1c8fc..c28904233e34 100644 --- a/usr.bin/clang/lldb/Makefile +++ b/usr.bin/clang/lldb/Makefile @@ -1,6 +1,5 @@ .include "${SRCTOP}/lib/clang/lldb.pre.mk" -PACKAGE= lldb PROG_CXX= lldb CFLAGS+= -I${LLDB_SRCS}/include From nobody Tue Apr 28 19:50:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rds1Lrlz6c16Z for ; Tue, 28 Apr 2026 19:50: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 4g4rdr6trDz3Cl2 for ; Tue, 28 Apr 2026 19:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qY+yBHWbY/zkGSNXFi+74LDXrqYap2l4h0NcOoHX9Pw=; b=vipyXIzzfw9shHVyUYu7KrkWWnTGDwwZJRhgIUKSrP0Ae0GazfwgC9URTGqSd/JbEQRBRB 5NggjmiI1NeDOJEW36jDXcGwN7bznDZaZOlLJYgHHTUV93Dl524Vewfp3cTv532lE2ixMi d5DaXRtANh276s3wfRCn6jOGrh2s6eGPUOxZiINlHTWQGkmRSATXC3KWtQR2fpTZn83kHr HaIa7OTNxfgYVfeyLiCDsRXXONyYW4si6/8PYzlFTH5jEjAFUhgfdAbjJVQmofUbxfcvIN 44hN9PQncqhtOcLXrXVrghdl/g4RfhtrjtCK+GNpOLQMzhU6RwrCZXHRuUjDew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405857; a=rsa-sha256; cv=none; b=ijhzxmh4fntVKAynWSndwo0+mCGnFcVspugnmpSZjBn7aiGDCN9ZwuWxtzby/wwXgwIaQ8 QRG+DnNOpM53HtRuZ7+GOHtfVBEVA145XNA6GN7yKH8aoQrMTQj5IUcrFG9hgTCasW6GCv 0KKs3twjj/aRKVAEQnx/MY7nkXBzrwbXAssjcbAjZhEPSodswZgcPhLrCfG6mYQkBnoy5b v/Nq6HsMIowMQ8tTOtj+kUw6mvq5ZJL2zm7H4pq9ZTf/YfvzXMDIEXsitsYrsf8kJ2sarQ DEp5/AegbVSguQMKXvGEq8LGtUTGCALtz1OUmNrChyLHBPscWGcOAU7rcTX41w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qY+yBHWbY/zkGSNXFi+74LDXrqYap2l4h0NcOoHX9Pw=; b=glgs2TdFEon0GH8RJ4jA0QSduJhvErU3FNumOx+s6PUnIf+TS9643cXf5X26m04zTIABlw AxZSCvyY2He3LjOBU9679f3QxStPxf4bXSPUUvecWWWsH5oVXFV9sHsZ1GihOk8JvDm+bj qGLmNLcbpud/yrZkHnRUReosOjKZCLmjADM6ZJWHvmj3iNVqBKdrhoj3c9y2rW0GGtyAHQ MOE5duJFpXxGTBEDZTBKnVELTBaLIvus1hLSgbLT0Gxqo4TdIwQJJKfD+ytHitkzpWYTmr tyaVK7nu7h/cO1j3ZU9auA37xumMjKC0BpL9iJL0DHWJXAY4sZrxet0oAwZ3kg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdr4Zcnz176b for ; Tue, 28 Apr 2026 19:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34907 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:50:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: d1c176fedfc9 - main - packages: Make create-sets.sh more robust List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1c176fedfc99d61c1dc8037ab549bec48c17bea Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:50:56 +0000 Message-Id: <69f10fa0.34907.7c21574e@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=d1c176fedfc99d61c1dc8037ab549bec48c17bea commit d1c176fedfc99d61c1dc8037ab549bec48c17bea Author: Lexi Winter AuthorDate: 2026-04-28 19:39:14 +0000 Commit: Lexi Winter CommitDate: 2026-04-28 19:50:42 +0000 packages: Make create-sets.sh more robust Use ${PKG_CMD} rather than bare 'pkg' to fix the build when pkg is not in the tools path. Provide a default in case it's not set for some reason (e.g., running the script by hand). Since set -- $(...) does not trigger an exit from set -e if the command fails, this failure was silent and resulted in sets not being built correctly if we failed to run pkg. Use a temporary variable, which does trigger set -e, to fail correctly. MFC after: 2 weeks Reviewed by: sjg Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56676 --- release/packages/create-sets.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/release/packages/create-sets.sh b/release/packages/create-sets.sh index 46dfd543619c..3dfd8f1a3388 100755 --- a/release/packages/create-sets.sh +++ b/release/packages/create-sets.sh @@ -26,6 +26,8 @@ if [ $# -lt 3 ]; then exit 1 fi +: ${PKG_CMD:="pkg"} + srcdir="$1"; shift wstagedir="$1"; shift repodir="$1"; shift @@ -43,7 +45,8 @@ for pkg in "$repodir"/*.pkg; do # packages. { echo "$pkg" | grep -q '-'; } || continue - set -- $(pkg query -F "$pkg" '%At %n %Av' | grep '^set ') + _tmp="$(${PKG_CMD} query -F "$pkg" '%At %n %Av' | grep '^set ')" + set -- $_tmp pkgname="$2" sets="$(echo "$3" | tr , ' ')" for set in $sets; do From nobody Tue Apr 28 19:50:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdt2xhQz6c1MG for ; Tue, 28 Apr 2026 19:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rds6QGXz3ClB for ; Tue, 28 Apr 2026 19:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xNbzCYQ0eLjQVujiEuUxOW3XPXREogVnGa9k8US+6fw=; b=HnTs9m0rCKGjugshDUVovcN3BX8vO9kDejBzZZ74gCHF5QPmY/s3qqO6MAUY6b0v93oHxn CqVjUcZJSjIlXl386eeGHkCunSOblxBsnvxLeiTKBy3B1lsThjpNFQsgfWu8ylSCrFj7kY C12pIDzorf3qUWu3OYmRQsK9IPc4yWfrmwJOlX73wzuHg2yBhqcfphKDZeDF1v3J738SsF Y9K0MlXCjDxUjUSOEYjoWlJOkmoClikxTJp85JZ0aA++xpmeNIOg7C2vdEEPCInL6dCVBg znfMubMu1Fq1m7qUm3bRlxyBy2gjwwh3ISL2XTYuQfNCiARyGE2L50kRaXxv0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405857; a=rsa-sha256; cv=none; b=T6TDYAvuPU2YpMG8gIb1iGbNxinAnPowEiIRZ6Bd5CXmiTQ81m2tJ97zOQUaYkfGgNKozE xo80cbWkAZU4KM9Ba4KA2c6Xhn+pCm29PlS0S0bHdF5v/yBI9/7wFAKUouazzVz7esOa75 b1SbwBU+EVnAbjQGmhkFQI2TikiOL8rNyBnQKAUuhW5W4nVdWpoYkLHNG5p3p80xdg+cv+ IMMFXIwZvpSin2oCMCZnkbnTKClgH3vPw23bCm06sNS12JHWilw8a8JHp/bu+agYa6BdA8 3//UuY8Bdxgp672VNyBZfNvfVsnCs1bkTQyigZJc9i+/1AjOUNBDJ1ZFCX1mhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xNbzCYQ0eLjQVujiEuUxOW3XPXREogVnGa9k8US+6fw=; b=ZOt2uPaYQCiGr8/VU+LmXU/xva14N8kqonuAZL4nauYpJF1fBlTDXButhEEiTJy9FRK4nf zH7B40lHsB6gplkisAK9xl3yWXDEigDsqVQpDCbXr+5f621QrzTI31Q8b+Vtac7qVEXxNR /g8Ix666b+uwWoCyOZaPDuWxo96sNjN/pRFBPzFQtAcfMxj5a2RvkDANxkPXXjE99eAjYj ZtC8FSnEfmfTEdx/tBY9Vr8iTsR9908Og1YtJ/tLJ9y1SrnApS1cXzwNH+rWsJ/l95bGU1 eiJ+PX/Ac8pOG19wz0+6RGyrV3LOG6EDAoJr67reencouiZ/3BsTRW9meMSSzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rds5QTsz172N for ; Tue, 28 Apr 2026 19:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 347d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:50:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 4429630d1ca9 - main - Makefile.inc1: Only copy locales to INSTALLTMP on FreeBSD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4429630d1ca9d90c886bae1eaa0d8ee32d0fee12 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:50:57 +0000 Message-Id: <69f10fa1.347d7.63c0c38@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=4429630d1ca9d90c886bae1eaa0d8ee32d0fee12 commit 4429630d1ca9d90c886bae1eaa0d8ee32d0fee12 Author: Lexi Winter AuthorDate: 2026-04-28 19:42:39 +0000 Commit: Lexi Winter CommitDate: 2026-04-28 19:50:42 +0000 Makefile.inc1: Only copy locales to INSTALLTMP on FreeBSD Makefile.inc1 copies locales to ${INSTALLTMP} to avoid issues when running make installworld on a live system. However, this can break on non-FreeBSD systems, e.g. on openSUSE where /usr/share/locales has mode 0555, which means after we copy it, we can't delete it, so the build fails. Since this functionality is only useful when installing over a live system, disable it when the build host is not FreeBSD. MFC after: 2 weeks Reviewed by: kevans, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56677 --- Makefile.inc1 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index dcdc735aa645..3c93159645fd 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -965,8 +965,10 @@ IMAKE= ${TIME_ENV} ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ ${IMAKE_INSTALL} ${IMAKE_MTREE} .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH:Q}:${INSTALLTMP:Q} \ - LD_LIBRARY_PATH=${INSTALLTMP:Q} \ - PATH_LOCALE=${INSTALLTMP}/locale + LD_LIBRARY_PATH=${INSTALLTMP:Q} +.if ${.MAKE.OS} == "FreeBSD" +IMAKEENV+= PATH_LOCALE=${INSTALLTMP}/locale +.endif IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else IMAKEENV+= PATH=${TMPPATH:Q}:${INSTALLTMP:Q} @@ -1475,7 +1477,12 @@ distributeworld installworld stageworld: _installcheck_world .PHONY done); \ fi; \ ${INSTALLTMP_COPY_HOST_TOOL} $$libs $$progs ${INSTALLTMP} + # On non-FreeBSD systems, there's no point copying locales here + # since we aren't going to overwrite them anyway. This avoids + # failing if /usr/share/locale has odd modes (e.g., openSUSE). +.if ${.MAKE.OS} == "FreeBSD" cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale +.endif .if defined(NO_ROOT) -mkdir -p ${METALOG:H} echo "#${MTREE_MAGIC}" > ${METALOG} From nobody Tue Apr 28 19:50:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdw3M3sz6c1V3 for ; Tue, 28 Apr 2026 19:51:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rdv5Fg5z3CkM for ; Tue, 28 Apr 2026 19:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGiWIaa/8c8XAHZ5dKTFs2hP5FDjYyRLFWJz0AhTps8=; b=q8O0zsnUtv3KoQ4gqm1B5f56IISVaTCSyWvl6XrvT6HnIA/nJ2WymLpq4OGHp6TD5nbDVi G518v5MvSRsL5pixKcYUsbQ1jo93oT+lkGx6N87hfnwPUL0b9dIEimNnLq6NhF8atZsoqX Q9t0E/W0t/MzUTKw7CzbQePwpIYjmQlcwsUHhTc7rcoBu1tfl3TnRBO7odwM3xTMtrjFQA NOeUVPC2kAdTljT1+GA+nqxvYFOCPfOhahWrTOZSbCfn9UGElLVb7xUJsc67zj4oCbPWrq eJnmoZpCv7zpuCzrjIo6Nlm+7CU2Txzl82WCG5ZSrkbUR1yPKgm5WJnYz6L5LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405859; a=rsa-sha256; cv=none; b=BnHhBr4lnAKKpiRutEnuE63zWcVJ6aNO/NcGVq4kcGLXNu4x8Bm6qc4KBtBYneCAD75MZo EqKv0yG/PTFveh9ursP3oykdax+riERHWmGWx5V8JNr1NUxFHsxjeO2EkHA9uOyvb/z2dS x6s8dVls3J+JzS3gkDi63QxByOvVQKgeRxC7B/LLJrAfuG+eoH4UVexqV9s+H2wQpTAOs1 BkVKMv7oKz+LBDwkvtDm7JFIuPc+pQu4b5qaxyLqGkh0i/6Z/kD0ZnaMFQ4C+2wCW14MRb oqTU4ltymV8EG8v8tQTE2JIBWbml4mIGqGvjIPb+YokDBKfLdDG8oWLCj+FSuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGiWIaa/8c8XAHZ5dKTFs2hP5FDjYyRLFWJz0AhTps8=; b=qk0/PJ+SSrvNb6aQs0Cwd4O5Rf8NrxeuOKAUejppEWVI5nrJF2Ey0Cx6Os4UjcqBlpijf4 aT7SDC9g2vhUyRk/3oWE6KOzESHZ5h7/FfjUHhVQgO4GsiOhRQBIpEaJa/cClsx5q+RypE IdxgRqtei4ljhYUIOdsTklzU7uoFOk2i21pFgR2f8FVUYaeQUSJAhgferzrNiZs69CllXY s71XEGIFsRm0il3d2OxMzWSJzAQ0xctnPqx/HqGX2djxxUk/XplsA+LrOLDr0L+MEowtDY G6wULgoVP2w/GoAKo0x6TtWLBNX+LuTs2Z2iXUuWSEZ9UcdKVVwwcgt0ugLgNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdv4p1Gz16wS for ; Tue, 28 Apr 2026 19:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35bb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:50:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: c4b244af42a1 - main - acpi: Remove userland bits on non-ACPI platforms List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4b244af42a1f20937939a824b753a92c9c0a46f Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:50:54 +0000 Message-Id: <69f10f9e.35bb6.4350287a@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=c4b244af42a1f20937939a824b753a92c9c0a46f commit c4b244af42a1f20937939a824b753a92c9c0a46f Author: Lexi Winter AuthorDate: 2026-04-28 19:37:33 +0000 Commit: Lexi Winter CommitDate: 2026-04-28 19:50:41 +0000 acpi: Remove userland bits on non-ACPI platforms ACPI is only supported on amd64, arm64 and i386. Don't install the power_profile rc script or devd configuration on other platforms. This avoids creating a useless FreeBSD-acpi package on those platforms. MFC after: 2 weeks Reviewed by: imp Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56650 --- libexec/rc/rc.d/Makefile | 3 +++ packages/Makefile.arm | 17 ----------------- packages/Makefile.powerpc | 17 ----------------- packages/Makefile.riscv64 | 1 - packages/acpi/Makefile | 6 ------ sbin/devd/Makefile | 3 +++ tools/build/mk/OptionalObsoleteFiles.inc | 4 ++++ 7 files changed, 10 insertions(+), 41 deletions(-) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 3eed19987f83..cb94380aff32 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -88,9 +88,12 @@ ACCT+= utx .endif .endif +.if ${MACHINE} == "i386" || ${MACHINE} == "amd64" || \ + ${MACHINE} == "arm64" CONFGROUPS.${MK_ACPI}+= ACPI ACPIPACKAGE= acpi ACPI= power_profile +.endif .if ${MACHINE} == "i386" CONFGROUPS.${MK_APM}+= APM diff --git a/packages/Makefile.arm b/packages/Makefile.arm deleted file mode 100644 index e7e37f03a7ba..000000000000 --- a/packages/Makefile.arm +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: ISC -# -# Copyright (c) 2026 Lexi Winter -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -SUBDIR.${MK_ACPI}+= acpi diff --git a/packages/Makefile.powerpc b/packages/Makefile.powerpc deleted file mode 100644 index e7e37f03a7ba..000000000000 --- a/packages/Makefile.powerpc +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: ISC -# -# Copyright (c) 2026 Lexi Winter -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -SUBDIR.${MK_ACPI}+= acpi diff --git a/packages/Makefile.riscv64 b/packages/Makefile.riscv64 index 2df3c30b3544..bc53723bb04b 100644 --- a/packages/Makefile.riscv64 +++ b/packages/Makefile.riscv64 @@ -14,6 +14,5 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -SUBDIR.${MK_ACPI}+= acpi SUBDIR.${MK_BHYVE}+= bhyve SUBDIR.${MK_BHYVE}+= libvmmapi diff --git a/packages/acpi/Makefile b/packages/acpi/Makefile index 360ecf22e9e7..edd4cdfe7090 100644 --- a/packages/acpi/Makefile +++ b/packages/acpi/Makefile @@ -1,11 +1,5 @@ WORLDPACKAGE= acpi -# On these platforms, acpi only contains config files. -.if ${MACHINE_ARCH} == "armv7" || ${MACHINE} == "powerpc" || \ - ${MACHINE_ARCH} == "riscv64" -SUBPACKAGES= -.endif - # ACPI isn't applicable in a jail. PKG_SETS= optional diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 3dab9f7c9a25..78b2b039ac6e 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -22,10 +22,13 @@ DHCLIENTDIR= ${DEVDDIR} DHCLIENT+= dhclient.conf DHCLIENTPACKAGE= dhclient +.if ${MACHINE} == "i386" || ${MACHINE} == "amd64" || \ + ${MACHINE} == "arm64" CONFGROUPS+= POWERPROFILE POWERPROFILEDIR= ${DEVDDIR} POWERPROFILE+= power_profile.conf POWERPROFILEPACKAGE= acpi +.endif CONFGROUPS+= CONSOLE CONSOLEDIR= ${DEVDDIR} diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 5c1b47d97a8d..cfd040ee60fc 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -53,6 +53,10 @@ OLD_FILES+=usr/share/man/man8/acpiconf.8.gz OLD_FILES+=usr/share/man/man8/acpidb.8.gz OLD_FILES+=usr/share/man/man8/acpidump.8.gz OLD_FILES+=usr/share/man/man8/iasl.8.gz +.elif ${MACHINE} != "i386" && ${MACHINE} != "amd64" && \ + ${MACHINE} != "arm64" +OLD_FILES+=etc/rc.d/power_profile +OLD_FILES+=etc/devd/power_profile.conf .endif .if ${MK_APM} == no From nobody Tue Apr 28 19:54:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rk25QdYz6c1qs; Tue, 28 Apr 2026 19:54:34 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta003.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rk22pqdz3FVM; Tue, 28 Apr 2026 19:54:34 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4002b.ext.cloudfilter.net ([10.228.9.233]) by cmsmtp with ESMTPS id HntOwjB3ck14SHoVtwuxHk; Tue, 28 Apr 2026 19:54:33 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id HoVrw3tzkM2qiHoVswSLdh; Tue, 28 Apr 2026 19:54:33 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=b+a/I9Gx c=1 sm=1 tr=0 ts=69f11079 a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=A5OVakUREuEA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=KpeJSf20AAAA:8 a=YxBL1-UpAAAA:8 a=0O_Ru9ZRmp6P_Uu8y7QA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=8GyX2P7uvxEm4O_9qm7Q:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy.cwsent.com [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 4001B48C; Tue, 28 Apr 2026 12:54:31 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 341281BD; Tue, 28 Apr 2026 12:54:31 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Chuck Tuffli cc: Jessica Clarke , Robert Clausecker , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2 In-reply-to: References: <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org> <20260428180947.83C47130@slippy.cwsent.com> Comments: In-reply-to Chuck Tuffli message dated "Tue, 28 Apr 2026 12:45:45 -0700." List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 28 Apr 2026 12:54:31 -0700 Message-Id: <20260428195431.341281BD@slippy.cwsent.com> X-CMAE-Envelope: MS4xfH/XhCCA7mqOuiBpGS81VbH+kVVaEffcekTlFyv71fYQh5GYTFUQQmHskYNUv4iJLkhn/C14YgQ6ruTS/Ia5LMzGq9tnHviHzd+KWhMbkEQl1gVjOG3/ G5T3w/fWCwkFwQTmbGGgeudfQb4Xy194WTkdF5KavgnYCACgRUWA+IaV6DX5rh+G3dALdM6v0ujpVT4wkhMpFgXCbnPodDge5JQ7xVpCCuSsXv6+hE+pM8nW QlF+Y5Pl6br4UjfsleOYKlfAMg1ghFziLg2nyxx2rdGE+xwYSyGZ9DOhEubFj9LBUfi9zVQgFqOa5ZljLXahALuxlVB6mVFcYOlFw8R/oR2fKR8QjHkwRiPE 6e8TMXyqZ06lGam8wDYfxMslHGAeFA== X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US] X-Rspamd-Queue-Id: 4g4rk22pqdz3FVM X-Spamd-Bar: ---- In message , Chuck Tuffli writes: > On Tue, Apr 28, 2026 at 12:41=E2=80=AFPM Chuck Tuffli w= > rote: > > > > On Tue, Apr 28, 2026 at 11:40=E2=80=AFAM Jessica Clarke rg> wrote: > > > > > > On 28 Apr 2026, at 19:34, Robert Clausecker wrote: > > > > > > > Hi Chuck, > > > > > > > > Am Tue, Apr 28, 2026 at 11:21:26AM -0700 schrieb Chuck Tuffli: > > > >> On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert chubert.com> wrote: > > > >>> > > > >>> In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuf= > fli > > > >>> writes: > > > >>>> The branch main has been updated by chuck: > > > >>>> > > > >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f= > 349c970af362b > > > >>>> 47b45f27 > > > >>>> > > > >>>> commit 68e5b71517e947b4e3f349c970af362b47b45f27 > > > >>>> Author: Chuck Tuffli > > > >>>> AuthorDate: 2026-04-28 16:55:50 +0000 > > > >>>> Commit: Chuck Tuffli > > > >>>> CommitDate: 2026-04-28 17:08:27 +0000 > > > >>>> > > > >>>> Vendor import of smart at 1.0.2 > > > >>>> > > > >>>> smart/diskhealth is a command line application to monitor disk = > health > > > >>>> from a storage device via SMART. > > > >>>> > > > >>>> Reviewed by: fuz, jrm > > > >>>> Relnotes: yes > > > >>>> Differential Revision: https://reviews.freebsd.org/D56638 > > > >>>> --- > > > >>>> contrib/smart/Changelog | 37 ++ > > > >>>> contrib/smart/LICENSE | 13 + > > > >>>> contrib/smart/Makefile | 26 + > > > >>>> contrib/smart/freebsd_dev.c | 828 +++++++++++++++++++++++++ > > > >>>> contrib/smart/libsmart.c | 1359 +++++++++++++++++++++++++++++= > ++++++++++ > > > >>>> ++ > > > >>>> contrib/smart/libsmart.h | 174 ++++++ > > > >>>> contrib/smart/libsmart_desc.c | 158 +++++ > > > >>>> contrib/smart/libsmart_dev.h | 60 ++ > > > >>>> contrib/smart/libsmart_priv.h | 83 +++ > > > >>>> contrib/smart/smart.8 | 245 ++++++++ > > > >>>> contrib/smart/smart.c | 334 ++++++++++ > > > >>>> packages/Makefile | 1 + > > > >>>> packages/smart/Makefile | 4 + > > > >>>> packages/smart/smart.ucl | 30 + > > > >>>> usr.sbin/Makefile | 1 + > > > >>>> usr.sbin/smart/Makefile | 8 + > > > >>>> 16 files changed, 3361 insertions(+) > > > >>> > > > >>> Why are we doing vendor imports directly to contrib/? Is this a new > > > >>> procedure, do we not need to use the vendor branch anymore? > > > >> > > > >> Sorry, this is new territory for me, and I may have goofed. My > > > >> understanding was the upstream code lives in a vendor/* branch (whic= > h > > > >> I forgot to push) and the contents are copied to the contrib/* > > > >> directory and then committed. If this isn't the right thing to do, l= > et > > > >> me know how to fix this. > > > > > > > > Your understanding is correct, though you are supposed to do a merge > > > > to tie the vendor branch and the change in the contrib directory > > > > together, making it clear which state of the vendor branch the contri= > b > > > > directory corresponds to. > > > > > > > > The best way to fix this is to revert your change and then to retry > > > > with a merge commit. > > > > > > The helpful link seemingly omitted from this thread so far: > > > > > > https://docs.freebsd.org/en/articles/committers-guide/index.html#vendor= > -import-git > > > > Apologies for the goof :( > > > > Just to make sure I have this all correct, I will > > 1. Create a branch vendor/smart containing only the pieces from > > upstream that base needs and commit > > 2. git tag -a vendor/smart/1.0.2 -m "Tag smart at 1.0.2" > > 3. git push --follow-tags freebsd vendor/smart > > 4. git switch main > > 5. git subtree merge -P contrib/smart vendor/smart If it's brand new, i.e. never merged into main before, git subtree add would be the ticket. > > > > Here is where I'm fuzzy on what to do. Am I supposed to push this > > as-is or am I allowed to make changes? If I can make changes, is that > > via git commit --amend? > > Since this is a new import, what commit do the changes to packages/* > > and usr.sbin/* go? Their own commit or as a part of the merge? > > Bah, never mind. Found the directions. Sorry for the noise. NP. Subtree merges are a bit of a PITA because git doesn't support them. But Warner has written excellent documentation in the committers guide. It's easy to mess up though. I've messed up subtree merges a couple of times. -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e**(i*pi)+1=0 From nobody Tue Apr 28 19:56:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rmX5WRyz6c27D for ; Tue, 28 Apr 2026 19:56:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rmX0L55z3G1v for ; Tue, 28 Apr 2026 19:56:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777406204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZRuiVOenumgkolLrD8cox9jFTQQXR43oRI4Ega0LRr4=; b=WbKdkPfdt8iT80Qr6UYfoa4VIu5fu2weULfl8nwBv3Sl4bDsIyHdRjg9WyXSy2brplYcWq kIybV8FWhMnK9hCQR/6uNSBZFmBAizvSXvyV5dWW2/rcFaJh5u2s6gX11tJkrzWGUXdadR aLExqDg4ejykHT3v5tZ1fXaOT2dme5f2T10IiL4g7sWugSeWqyVs32cZjWqPp2pgDwKzon Dcf9mkah2+alzDUNLyvOZlxr+y3eJXagxy1MbzxeWxG8ahFFGpxq+7A7UQD6N23tQwqVZc omslVJqOMlj/awGNHl2B+sbC/bpVsEEEP+xnCFvNhVGjsIuV1FNQWngLBPRC+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777406204; a=rsa-sha256; cv=none; b=T/fi4mWH7gkdXVFoaDzBoPxwvUpUspixkIAbO7123kEXICxgg18LkmVXEJLaxdlehtaoEM LBRkNqozkMLNGoVcotkUIERm3t+baW9/+JTo7zGxuKkNSDXv5dEkVmlGRcP9uChRBoWf5u OVsseZFyRnHkJzykJfEKpipaG2agUpTKGyDTTaqGeCgjgbwtLdF8hmjPHzs5QcBidtWKZ5 kWbXRnLIC/aV3peqNqF9WGo/6huI3W5nlp3b76jgInIHLEsc4N2YXHl7nvBVslyUA+yoWv b1FNnr9S62hLIaAveRV1zOVY77QgengxoYLGGzGky7CLnQ4U//mrtbyFPzyYwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777406204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZRuiVOenumgkolLrD8cox9jFTQQXR43oRI4Ega0LRr4=; b=jHLliug77n0nDVJKP9y+GOfEYn8MjDPj9T888lpzPsUHfjZVyNKjv38t3e5bVyYLC2ezR3 gdmugx+RgYusMCbIO8ajgx68PCaMZj+vUsePFATMj43L9VXJOkDghYvLan3y9ZgOHtGa4m 58wARIe4bJY7TZU/y55Oos2JI5PK0n9oPxPJVrH8JirbrILbPLyRfVfjw5R7JBYKw+ERcU AVZoZZ6ExB68O+nolULeCYEWj++VOSZDA3ql0cj58Nl0khuWgM7xzO9UuEopPDOXQGtA0N 7pGHIZUqJf3SsRk/25CYjxW1KAJoiIh+lUwiXKtyvz8vB5mcb2FizNYABv6erA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rmW6NjJz16wr for ; Tue, 28 Apr 2026 19:56:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 365c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 19:56:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 66f55b90b6bc - stable/15 - boot1.chrp: Improve comment for the SLOF hack List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 66f55b90b6bcbbf3c26b2da7f56d17052e39018f Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 19:56:38 +0000 Message-Id: <69f110f6.365c0.22666958@gitrepo.freebsd.org> The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=66f55b90b6bcbbf3c26b2da7f56d17052e39018f commit 66f55b90b6bcbbf3c26b2da7f56d17052e39018f Author: Lexi Winter AuthorDate: 2026-04-17 16:56:33 +0000 Commit: Lexi Winter CommitDate: 2026-04-28 19:56:21 +0000 boot1.chrp: Improve comment for the SLOF hack Since this original comment was written, the actual issue in SLOF was diagnosed and documented in commit 424089a0fc, which fixed it for loader(8). Update the comment in boot1 to be more informative to future readers. MFC after: 3 days Reviewed by: jhibbits, adrian Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56470 (cherry picked from commit eb0279550d52962241b4178101cd7f7d732eb682) --- stand/powerpc/boot1.chrp/boot1.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/stand/powerpc/boot1.chrp/boot1.c b/stand/powerpc/boot1.chrp/boot1.c index 1a546f3473e2..1bb06bf82983 100644 --- a/stand/powerpc/boot1.chrp/boot1.c +++ b/stand/powerpc/boot1.chrp/boot1.c @@ -102,14 +102,11 @@ ofwh_t bootdevh; ofwh_t stdinh, stdouth; /* - * Note about the entry point: + * Our entrypoint. * - * For some odd reason, the first page of the load appears to have trouble - * when entering in LE. The first five instructions decode weirdly. - * I suspect it is some cache weirdness between the ELF headers and .text. - * - * Ensure we have a gap between the start of .text and the entry as a - * workaround. + * A bug in the SLOF shipped with some versions of QEMU causes the first + * 32 bytes of .text to be wrongly byte-swapped when loading LE programs. + * As a workaround, we add some padding at the start of the text section. */ __asm(" \n\ .data \n\ @@ -118,7 +115,7 @@ stack: \n\ .space 16384 \n\ \n\ .text \n\ - /* SLOF cache hack */ \n\ + /* SLOF workaround */ \n\ .space 4096 \n\ .globl _start \n\ _start: \n\ From nobody Tue Apr 28 20:15:57 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4sBp3mcBz6c2fY for ; Tue, 28 Apr 2026 20:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4sBp2sDTz3J5y for ; Tue, 28 Apr 2026 20:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777407362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AIcaqwr0kLYe+PcofJTe5r6r09+h96JVPuRLbclhH4=; b=hi48F+hk0iwGqiNpM/v6ae1YtvwWvYtOu7Ee6UJ2F2jXf55wZo/bVia+UAmNzz3bNBS06r +ZxVpwSOM5BIMqYcP/NG2CFKKF/UVQEPpsdKRTSn1WE8eIxYFGDDZXN5QQHv3FNcR6feHK CYe4CA9gPLKq00Ah6ox9elgeWAkA19Q4Y5oCsfNjdbo7hNjekAuw+GXRLmZCboX7cuQSVa Rb2pejYqCqB/+78N77+ixdnifj/7zHtvx5KNyKACfX//uXwz26fvujFcng6ajOkhmN9vmk 34dYk+2u/f/rzE/pcikHqYuuLQ1RWszCCtJpvxp6eVFwZwjkESs3xt8BhQsjyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777407362; a=rsa-sha256; cv=none; b=N/xtebQZS1gf8wfIr/xphCvwEB03nH9Jsk2sGEo42Ximqv9KKHT1/LPGdX30sMjEc54zKb JkJwe12SrRnNmBgph+9aqrUng6lvpgv0TW55nxLP0GErwmcAr6UfmK84FCvmtEKbU/h8FN VmzBXpZ4E9lyufQ4MCMR8o5JGFOJVlLqKq04yn4waRpX2PHckLEtFmwNHPWBcRim2LAz5s 8a45uqdx7PFxiUl64j+bfui+gTb/+MdXRS96T8mzurgLxIe6ftvZDpa8FDfGWEdis9/SRC q6DHdeZW3XNMu4SgNNxrejLTnDshwHKHGfHVx7hygR7dVP4C+T7ZJF3R5zaMIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777407362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AIcaqwr0kLYe+PcofJTe5r6r09+h96JVPuRLbclhH4=; b=fXcoJ5rK6XauN9kRZgcHfRESzVAq+T2V/7M5SJh/aEToyszR5+7jXWzRJd6ZlHWgTpP0YH EBmhO6Pga58ZUOcPIcMMYm+IOQ5vZiaF14vRcpZ72qxIr51g5y6K99hdNMgJ/SJoa6krok S3iCRiLTK5eAY9JorS2N86RLkeaqpdEmgFdGhSdqFQ2vWMfOahJPAsFRzn5pYTE8nDy+sD LcR7RtHvExhiyvx2PevA7g8twFWDslpgbcS+UViD7PcOxdvcQSVLt18PTEEPdamPXRcLv9 DhVL7nR9adiGehtm0NtYyEuUPZMpZVX4uiWBPyguGvYT+qcpMEXKw7fH/92cXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4sBp2MbRz17Wr for ; Tue, 28 Apr 2026 20:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37638 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 20:15:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lars Engels Subject: git: 44d33ead3d04 - stable/15 - bsdinstall: fix root password prompt with backslashes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lme X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 44d33ead3d04b51881e7fba0cbed8f66f001280a Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 20:15:57 +0000 Message-Id: <69f1157d.37638.3cde9949@gitrepo.freebsd.org> The branch stable/15 has been updated by lme: URL: https://cgit.FreeBSD.org/src/commit/?id=44d33ead3d04b51881e7fba0cbed8f66f001280a commit 44d33ead3d04b51881e7fba0cbed8f66f001280a Author: Lars Engels AuthorDate: 2026-04-25 14:41:24 +0000 Commit: Lars Engels CommitDate: 2026-04-28 20:15:49 +0000 bsdinstall: fix root password prompt with backslashes Use "read -r" to set the root password in "bsdinstall rootpass" to prevent issues with passwords containing one or more backslash characters. PR: 294781 Discussed with: tuexen, crest Approved by: khorben MFC after: 3 days Event: Wiesbaden Hackathon 202604 (cherry picked from commit 1566386b90d34dea7f30a0e6b511e178bd0d50b8) --- usr.sbin/bsdinstall/scripts/rootpass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/rootpass b/usr.sbin/bsdinstall/scripts/rootpass index 9d25569ae946..5d3a44f4b179 100755 --- a/usr.sbin/bsdinstall/scripts/rootpass +++ b/usr.sbin/bsdinstall/scripts/rootpass @@ -103,8 +103,8 @@ $errormsg" \ exec 5>&- [ $res -eq $BSDDIALOG_OK ] || exit 0 - echo -n "$output" | (read password1 - read password2 + echo -n "$output" | (read -r password1 + read -r password2 [ -n "$password1" -o -n "$password2" ] || exit 62 [ "$password1" = "$password2" ] || exit 63 echo "$password1" | chroot $BSDINSTALL_CHROOT \ From nobody Tue Apr 28 20:16:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4sCj3LxMz6c38q for ; Tue, 28 Apr 2026 20:16:49 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-20.consmr.mail.gq1.yahoo.com (sonic306-20.consmr.mail.gq1.yahoo.com [98.137.68.83]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4sCh5xgGz3JhZ for ; Tue, 28 Apr 2026 20:16:48 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777407406; bh=HFN/5Wi2GYkI7H4F9Z9qqneO0c/ChkimMs4vw8ZzABA=; h=Date:Subject:To:References:From:Cc:In-Reply-To:From:Subject:Reply-To; b=oE2jg6EI1No7DMfnj7HlRXPf/Qy/r/ts2P1vPeVVO+1EAnkHikWwJwtGIVUTzXoX5rbtnoV52F5+B2OQsT2YVTDe7b8Mj5AZ8XPzv1/t64Wt1xxMDawNtPBEQcmsGKDMCzpmiuklX2HAgCKiaTW4J9YyMVOFYvpAHk1uaCIxKz2R0TCeteuUTNuojZu+a68VhZo0zoF1pS52g3BE2m+n7NmddM3asbwSNY2vBB52h22iWmQYRR0u8HBKfHBumafr7w02GAbuYUgMz5opTWV/kk5PKzqM4hO3SaXItjvGbUe9HXT+qZVKKYWO91IzB05e+ZH+CJDCYzEmOHBp9769Ig== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777407406; bh=TBYNWi3k51NshX3E22dL/0Wn/5MZsdMStgX8qYO/w8S=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=AUAgPCtOHjQc9/lXPkEPdnSUF8pbofMJStPdKTOeta3MqHfQY/BJzcsgfza39jzD+c6nYoEeTkijPKQgb8/wTH45BfmBls9EBBS1F+ZkiaSNqHLgDzw1iWwPi7YF6TnTbrTEVPQ/pcfazPPFsbpv9V/J8wnfU8gm/2tDI/UbI/9H3/HbFdDZxUniPttml5WE1bm7MNjF7Lll53xCmOItIlsj3KssIchXQf4dwPNP7AVQ7oaVv71tPqgiJRNFSMrn1cW7Cx6hM1NdotpSPs8PjK7/gLMyroyGCLNKsT1VLpz8czW8evtvgDCkRrOJrCq5XCzEtDKVDnMd3i75g+07Aw== X-YMail-OSG: lxEGpEgVM1mWD5uJQ3.RpOjimROBpzkbwnsGZ4SdDP4ddWPrDm5RQnQtoth4f5a K69DjUewuDHbSaLvjrLdDABcKFXHzn9Zc2GxZaG4J1jEo2cDJ4JAeQYJ2.5zS9KF1T0OK4Cbw9.x IPjDyAlO4L0ZTiSBBRCfIwZTe90mOTYPsRDhOi3YFY54O1ATK1dx25L8LONuHbP4GUdPxKdRyedo Jz3mpG.Hkf8sNPHW69_NGGIckqBsDX1N9OrWvhQWqFb06bsu6hSH07k41ilpm1iJo1.77EVLKcZD HVXhMnb87Pd4OUfdwRoVke1BT6NcMIdOPPAAgZc2gJsbR0d.ZPxP23vZWzAvp2_PjtjGBhvlHLux Jm2k6NKp1mm3HS1tBETC32yIkcyMScLYmdASku1ezCAn01_mbtd_v6TD6Fmvq6CPnghlMdLE20Ei HTgXll6kDKiRT_jyJRPTZmlGwbgSBaW9JReNvfC2mf8EUDCRNv4N_pZ6iS073H_4qYZcAkfrld2i GP47FL6KDmD1phYtnIyg21r2a01lgvY0fvcXFCI4azzyF0SPtEbgtlUnacx7vjBiJ8J0i.3xIYfl FChBlwwt.e1afDaOjsRJLp0IyQQrcxOZCoh9rkgeHb9eizpVAVoDb4lylkGXbKCl_63hUsHI9TYt SjX.Uh4ejYGADkTxI5KnzugaUEdh25mqd7Seqq22ZaY8tFcbjLpvkYOm4DH7UdSzrI4BnY.PO9uE b1EvIz2kCG9BYKy.kJqQp9V_gBJ_fdGDemXNKVs2_vCKNBM2oLVNu22DIYDjy1ZREgYblDb5l5oS VG8TOPLI5m2Et0Y9ypbIkt6xArjuO3LC_1XMzu.zwkEpnRJwImAl2KJdseFzzMAiW.wdBWtAJVdZ P1jcGstXnbnkqWXyq6Z6I2jQSGrw33h7_Fh2xU6Q6r2kZhqh98eXpowaIlqVGV_Wqf5SXs_OXrYl WGNAvCjW6ocdvWjMSkMfqpwKeVWzv5BkFpZMhxCStZeqpGSejeJiFnoGriwToPkjv4T54.P2LP6K Zjy8.Gdt61oDbt5S.8K_h7mMc6H1JNRsJuJdg0z6SLDQa6xIbGZGGk3DApZLd0uhf.XXCIbInup2 Q.DiYHheQe2AIzMQnp3MOnbth4fUzIKqcfF2IuMhhFdHUIvAjV0EqR27kRRk6NZ5jRm8JFPl1prD A4Ne_hCXIbMW_b16d3TL14sUlEEsorzV9m2gCPM6fY.sols4LGzk3GbA9H7iKqThMWQ1NJMBTqdr DFztcososYLqlMyHIdYBIOsvzqte5TUY_P3iGBLF6.KTtgeK2BEAyHLkyIBeaK_ffXnImLtRKmNl MkenEaWBOIJwqyMyhZYp8wC4wz5opV4hwjEhZTxpejVjQ4KAJ5Z9cSHQNz.sUt8c6gj8EISqUSR3 c24aewXTtapaV421UmRznz.5XY_.0KZwLDPD1pGkkl9nfoKwuusOO8YHW7QbD9RfrgVNdr4S0JaS tvade3HeVNc7nMDApc4yqKDHW9yie8551njGq6h1IWT.exmqGFgBb5RY0K9AUxC19cgiJ.n3iGXa sYNbhe18WEMPK.TdsigSSPKmS.0JHvELp3RsU2O5E4W5y_Wo7qnCpDLyInNsK96eznuf07tW45bW UvK5akMaoI.saPm34UMYKXBAJijC0Uu9Pk1dg36GOovB31I9leVqF7uaofHnb_wt9omuOStm_m6f dVjux1lxms6F2fZJGFM3y1aPQ9UPJ9vPvPgypO7d3WY09Jv9x9jKmjvNXSbwmWTq_JCZX.B.up5k qhcjU7tD3DjKSaaSrx_0OVHqDlPS6g03DxZo.YAdJ2i87SNY5gjKcKPynhep8m9Le.sswqlV67Rf be7tQwb.fv9GFdEGu3QN7GNHzy7Tfkb6MPz5XgqwYgNw0PLZVHPXLsLSsawFwIs9jhxWHlswD9Ur NenXlVRnLKls8Ge.oEMOKVt.LtUESGOssubrbHVHuMkxYSC9nhrBbnIiPGy6kHrVv_3sJnbthi9q r1EaF5KwQeeBF9v2cx03GKw3Y.Qr5is4COUZAriFwOoeayOJceBPwwJRtxqcYCb2SXPZlgtLZh2o KG7iYNNaPFH9xeSNLM5MdY6OppPzVyXSfS3JhAWEVx8Mn.GZeAFL5fMM1M4eM27QtIuG2eJXFIVN UKvejoJrm7cUImUmOiUKRAf4jE7Trz7wul32qsKC1RHk5_Ph90ZVsMnEYT9EopuqXJ8O.a5ttrdW XagBf6Z6AJZ8l34.c32Aqe9O4P7ygesGmjJKwHpnt_RB4lTQ.kD0IlrDBT6kf9n40whfy1imja_w rdp3NAMZTXjsyxsEcZsX.JSLkwRpv8fe7ZR1_xCdg7OAaR2miploFSpOp3CF7_zsmvIRjVpiRt8I MDw-- X-Sonic-MF: X-Sonic-ID: ecd3b303-d08f-4425-bcfa-209858da5e09 Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Tue, 28 Apr 2026 20:16:46 +0000 Received: by hermes--production-gq1-7bb7df5c46-6cxqh (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID da51a3d82baf42491fcc4a91c3a63603; Tue, 28 Apr 2026 20:16:45 +0000 (UTC) Message-ID: <18c071e0-e882-400b-97ca-2c7f54a9c5ef@yahoo.com> Date: Tue, 28 Apr 2026 13:16:44 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message To: Alexander Ziaee , dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69f0e811.1bf81.8cbd502@gitrepo.freebsd.org> Content-Language: en-US From: Mark Millard Cc: mckusick@FreeBSD.org In-Reply-To: <69f0e811.1bf81.8cbd502@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25559 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4g4sCh5xgGz3JhZ X-Spamd-Bar: ---- On 4/28/26 10:02, Alexander Ziaee wrote: > The branch main has been updated by ziaee: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 > > commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 > Author: Alexander Ziaee > AuthorDate: 2026-04-28 16:59:19 +0000 > Commit: Alexander Ziaee > CommitDate: 2026-04-28 16:59:34 +0000 > > bsdinstall: Improve auto-partition message > > Manually tuning ZFS for systems with <8GB ram hasn't been necessary at > least since the switch to OpenZFS. We have users reporting using 1GB RAM > with no manual tuning/issues. It is my understanding that FreeBSD 15.1-RELEASE intends on have armv7 fully supported with normal style distributions, unlike for 15.0 and before. (This came up during the 15.0 effort.) That sets some context for the below. Back when I experimented with such contexts for building ports on armv7, there were definite memory tradeoffs vs. using UFS and what parallel jobs / MAKE_JOBS_NUMBER_LIMIT combinations did. This was in the OpenZFS time frame for sure. (I tested both ZFS and UFS types of context doing the same builds.) These tests were "headless" (serial console and ssh) that avoided also having any other notable competition for RAM+SWAP, something that does not necessarily generally apply. I will note that armv7 no longer gets updating official port-package builds via FreeBSD distributions. Some folks do not have/use aarch64 that is also armv7 user space capable or just do not use aarch64 systems to build the port-packages that they want to use. Compared to 64-bit contexts, 32-bit environments (such as armv7) also have smaller multipliers for SWAP=MULTIPLIER*RAM before FreeBSD warns of potential mis-tuning. armv7 is tier 2. In other words, it seems that more needs to be specified about the workload context to make a solid claim. A common case of needing to personally build port-packages on such systems at least likely does have differing tradeoffs involved from differing RAM usage. (Time to build is also part of the tradeoff structure.) (I'm not claiming that https://wiki.freebsd.org/ZFSTuningGuide should be referenced.) I do not know of Kirk McKusic would fully retract the paragraph that is on pages 49 and 549 of the Design and Implementation of the FreeBSD Operating System book as a summary of the issues. (Page 547 and 548 indicate more about what contributes.) Further, the page this links to is a stale > wiki page, which is causing complaints. Remove this misleading note and > replace it with a similar message for UFS. While here, reword that note > to be a bit clearer. > > PR: 287719 > MFC after: 3 days > Differential Revision: https://reviews.freebsd.org/D50971 > --- > usr.sbin/bsdinstall/scripts/auto | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto > index e9d6da149a85..ca0561daac1a 100755 > --- a/usr.sbin/bsdinstall/scripts/auto > +++ b/usr.sbin/bsdinstall/scripts/auto > @@ -50,10 +50,10 @@ msg_abort="Abort" > msg_an_installation_step_has_been_aborted="An installation step has been aborted. Would you like\nto restart the installation or exit the installer?" > msg_auto_ufs="Auto (UFS)" > msg_auto_ufs_desc="Guided UFS Disk Setup" > -msg_auto_ufs_help="Menu options help choose which disk to setup using UFS and standard partitions" > +msg_auto_ufs_help="Choose which disk to setup using UFS and standard partition layout" > msg_auto_zfs="Auto (ZFS)" > msg_auto_zfs_desc="Guided Root-on-ZFS" > -msg_auto_zfs_help="To use ZFS with less than 8GB RAM, see https://wiki.freebsd.org/ZFSTuningGuide" > +msg_auto_zfs_help="Choose which disk to setup using ZFS and standard partition layout" > msg_exit="Exit" > msg_freebsd_installer="$OSNAME Installer" > msg_gpt_active_fix="Your hardware is known to have issues booting in CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you like the installer to apply this workaround for you?" > > -- === Mark Millard marklmi at yahoo.com From nobody Tue Apr 28 20:52:16 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0c5sttz6c4vM for ; Tue, 28 Apr 2026 20:52: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 4g4t0c418Gz3Mqr for ; Tue, 28 Apr 2026 20:52:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XSW3/y6JFuOnRyn/22pTxwDM8AFqxA31Fh+hf3G5V18=; b=CrsG6za1Dvsl5jYl4Zh6KWOx3CbaKtEDs6KGczvmkD3+XsImlAITaR4TqYfbuhpjCloveG PSruhdwZDlfqCwDdsw50tu5mO6a/oUK6ctrZrwK2NYotjURY58sJEe1QXOX2rQGTeVHAvg WViDNR9BeLM/5gCtDr09/UA8d/Gk5P2NdgLO8okjP8MABmfX9mjD4UWN8Wcfjr66MmtcfK 6DXoGIj3RawJ6SwTy5Qh7Dlfk5MUal7CStU93hKyD92U73cqdyKwFi+06g8npq2j3pvBoC lM8cmugr7gmXD/z0pZaUSQuSB+yKe+0gB5dOCzlIC8wnaJYaX5Octy2qm8qXmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409536; a=rsa-sha256; cv=none; b=dUoO0obrR384CuR2J227JsRMPeOBuoe/VSW36vmaYFfWPoJuiJnnLixSHKKw5kjKnQDG8g d5ia7YAjyu7TirPXLtbhmH158Nz7XMaB9TCqnA95k2BIVbnGFzgaov6ZE62dkgqYGkNtY3 f/XAxpqaGy2VcC+bbmF2JbWMXuIMlew+OUwtQDQ9JP/6rPfd2DbV/iQnp9aO9zcmrs2Pj3 YIVDGEtFpxLFjVBpXqZUuNrZ6/YPA/O79lbJy+DoN8q4PE3zG3L76EMmp9na8exTKElLum SFbLt6GdpYK22KK2k84m1AO5ggSzPZrgF3dePZ2d8/QJVVXn8EiltGXClkaJ9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XSW3/y6JFuOnRyn/22pTxwDM8AFqxA31Fh+hf3G5V18=; b=dEPHF8tWbzJbWiGTXJpqm4WTrEI7psY+5E1/V31R4ra5ho6RNsk4epAZh/+1xtds83RSuB bE0Hbx+Ur4b9qW0W8aYtkik3DdyJJ+vJylEyNrS4zmjVOgzbulempotix2JRrV51v/mNcv DgE9He89V1Mne7pqD4PhWYY48DoG4Wv62x17ZedB7vphXpFjuguk6nIjnZ0m679Tf6ZCxi 8oLCrOr/BR352ydxyk7yVeSTBFbXtofVx64yNsHITjngklag0cuzXkybZUTpMIx6C1MTlY 9IZF15O9a/nTTuL7vEZUv58iTjcucsEHg7d/7Byi7CIoDI98ZY1dwLw5C42lmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0c3TzCz18yT for ; Tue, 28 Apr 2026 20:52:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3aee4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 20:52:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: fe9d81d7c660 - main - libiscsiutil: preserve errno across warning logs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe9d81d7c6602e9b18cde2aaf8cbd5f65b87c091 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 20:52:16 +0000 Message-Id: <69f11e00.3aee4.13ab5446@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=fe9d81d7c6602e9b18cde2aaf8cbd5f65b87c091 commit fe9d81d7c6602e9b18cde2aaf8cbd5f65b87c091 Author: Kyle Evans AuthorDate: 2026-04-28 20:51:50 +0000 Commit: Kyle Evans CommitDate: 2026-04-28 20:51:50 +0000 libiscsiutil: preserve errno across warning logs Various calls in the implementation can clobber errno; preserve it for the caller since none of these will bubble up pass/fail to simplify some future error handling in ctld. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D56539 --- lib/libiscsiutil/log.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libiscsiutil/log.c b/lib/libiscsiutil/log.c index cead4ab2d709..a48a96a7d47a 100644 --- a/lib/libiscsiutil/log.c +++ b/lib/libiscsiutil/log.c @@ -86,7 +86,7 @@ log_common(int priority, int log_errno, const char *fmt, va_list ap) static char msgbuf[MSGBUF_LEN]; static char msgbuf_strvised[MSGBUF_LEN * 4 + 1]; char *errstr; - int ret; + int ret, serrno = errno; ret = vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); if (ret < 0) { @@ -138,6 +138,8 @@ log_common(int priority, int log_errno, const char *fmt, va_list ap) msgbuf_strvised, errstr); } } + + errno = serrno; } void From nobody Tue Apr 28 20:52:17 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0f10BYz6c57S for ; Tue, 28 Apr 2026 20:52: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 4g4t0d4hy8z3Mqt for ; Tue, 28 Apr 2026 20:52:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zBz7ZEXa3Hap0Vz/6NSRSlOYnxC5ViJoqHkS7eyjvZc=; b=eiaDFjIxml1EV/OeLBm1vquGvh7B2odW19+59YX110TDFmVOTFVP0D0RhHOAA5AzZWvQGi WChd1oYwn4QBdOkEKdecu29iJMT9W4j4oa2K2oiRBvOAF9mdT4BzsiL6tgnavtxlndxUB6 81pOsg4vWz2e015Ar4ZnTrfhFaffLWzjnwrbikiphXU58wXNzB/Bl7WlUO9neFoVXYCYOd bQTjc8X/r8fO4iGBzjvtGJo6DwD3Lqag1NhnB3CXLzeplW3l++6+5/4NuRuTJ8fJ2E8ow5 5n4X5uSkGzrcS8spcQlMV1SDUoHQQ64kLifn9Ay+pUg2tpuNhmiKbim6MN+uXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409537; a=rsa-sha256; cv=none; b=tqT7j8/LDwPnb/jJwqH5PlMCLFKntbbq3DcEWSiE7UUXjSi/+Ca7+LVN/NrtUl21/hR+Er r02AwDLTCNQeFr+PEpb1/XBNhqXZ+aznUXRVYSSt/S3Bmq8/yPEjySYtSm+9d46PvWHG6S NESqa0IlpERu4Czy+jYRVzkGnkr5MGP3z4eJw8vwaPDxylnzmhpmiMIY/q1HDCQavmlnNA cuAeNXwB2ft3LtCOmaGK15QdjgSX0gB6WB2m5OybdOyE4yM4QFWNo/eIYEpRjFcNHQ3GpC LLnXrXvk6Mu0uoN1dnfqkaZ65qzJnhsm7Sj54bfKL5rSPHOpIosHE4JMqc0jvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zBz7ZEXa3Hap0Vz/6NSRSlOYnxC5ViJoqHkS7eyjvZc=; b=FxLCbuUsqUeVH/5jspmNpwAbsxEIsAvS1OnW7ReL6PQwF+Z8gOupy4sA4Z45SWE84BcRkY YlTMvlfwzAcFxIE/lvVQYoNU9bmd5vK3GiEcphr+dMnVlrP/mfJDRW0hxHo7gjrnXnh5lb +MQKxWXHXdB6R1KcwCpSpEr8jS/eVc2CEY6n8onTUve0L8WR9lHvlkT4bK431znjaqNrKg d7mOihZlzMX6AxsQfCWdtiURLKnNzzX3Zmn8daCIcwcWU5WBZvqs8I7bM+coqfQ09uidCt Dl9oTa8YJxGpWGVSvVFg/aojwmP0n9EOHAspomt7rzKB2rpMNImIYf+xoMtynw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0d4Jd7z18yW for ; Tue, 28 Apr 2026 20:52:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c301 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 20:52:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d9c0594191f5 - main - ctld: kernel-sourced portal groups are not dummies List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9c0594191f5c45d7f3c737350321ee59bfce9bf Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 20:52:17 +0000 Message-Id: <69f11e01.3c301.30f0fa83@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d9c0594191f5c45d7f3c737350321ee59bfce9bf commit d9c0594191f5c45d7f3c737350321ee59bfce9bf Author: Kyle Evans AuthorDate: 2026-04-28 20:51:50 +0000 Commit: Kyle Evans CommitDate: 2026-04-28 20:51:50 +0000 ctld: kernel-sourced portal groups are not dummies The current and historical versions of ctld would flag our initial set of kernel ports as dummies, because their portal groups were empty since portals come from the configuration on-disk. As a result, we would never try to remove a kernel port at startup that didn't exist in the configuration (possibly a feature if you wanted concurrent ctld(8)), and we would always try to port->kernel_add() on ports in the configuration (even if they actually did have an existing kernel port). Flag these portal groups as kernel groups so that we avoid trying to add ports that already exist. It may be the case that the kernel_remove() loop in conf::apply() needs to do something other than the current `oldport->is_dummy()` to avoid removing ports that it isn't supposed to be managing, but that wuld also seem to apply to LUNs that would be removed today. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D51782 --- usr.sbin/ctld/ctld.cc | 15 +++++++++++++++ usr.sbin/ctld/ctld.hh | 2 ++ usr.sbin/ctld/kernel.cc | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/usr.sbin/ctld/ctld.cc b/usr.sbin/ctld/ctld.cc index cf1dde93b86d..8aaec41e8487 100644 --- a/usr.sbin/ctld/ctld.cc +++ b/usr.sbin/ctld/ctld.cc @@ -578,9 +578,18 @@ conf::find_transport_group(std::string_view name) return (it->second.get()); } +/* + * Foreign portal groups (which only redirect to other targets), and portal + * groups without any active portals are considered dummies and ports belonging + * to such groups are ignored. However, portal groups that exist in the kernel + * prior to ctld starting will contain real ports but no portals, so these are + * never considered dummies. + */ bool portal_group::is_dummy() const { + if (pg_kernel) + return (false); if (pg_foreign) return (true); if (pg_portals.empty()) @@ -697,6 +706,12 @@ portal_group::set_foreign() pg_foreign = true; } +void +portal_group::set_kernel() +{ + pg_kernel = true; +} + bool portal_group::set_offload(const char *offload) { diff --git a/usr.sbin/ctld/ctld.hh b/usr.sbin/ctld/ctld.hh index 61213119f911..45590ada4111 100644 --- a/usr.sbin/ctld/ctld.hh +++ b/usr.sbin/ctld/ctld.hh @@ -220,6 +220,7 @@ struct portal_group { bool set_dscp(u_int dscp); virtual bool set_filter(const char *str) = 0; void set_foreign(); + void set_kernel(); bool set_offload(const char *offload); bool set_pcp(u_int pcp); bool set_redirection(const char *addr); @@ -248,6 +249,7 @@ protected: enum discovery_filter pg_discovery_filter = discovery_filter::UNKNOWN; bool pg_foreign = false; + bool pg_kernel = false; bool pg_assigned = false; std::list pg_portals; std::unordered_map pg_ports; diff --git a/usr.sbin/ctld/kernel.cc b/usr.sbin/ctld/kernel.cc index 6b17ce60ac69..a6b0a79850ec 100644 --- a/usr.sbin/ctld/kernel.cc +++ b/usr.sbin/ctld/kernel.cc @@ -483,6 +483,8 @@ add_iscsi_port(struct kports &kports, struct conf *conf, log_warnx("Failed to add portal-group \"%s\"", pg_name); return; } + + pg->set_kernel(); } pg->set_tag(port.cfiscsi_portal_group_tag); if (!conf->add_port(targ, pg, port.port_id)) { @@ -520,6 +522,8 @@ add_nvmf_port(struct conf *conf, const struct cctl_port &port, tg_name); return; } + + pg->set_kernel(); } pg->set_tag(port.portid); if (!conf->add_port(targ, pg, port.port_id)) { From nobody Tue Apr 28 20:53:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t2d5Wg7z6c4y5; Tue, 28 Apr 2026 20:54:01 +0000 (UTC) (envelope-from ziaee@FreeBSD.org) Received: from mailtransmit04.runbox.com (mailtransmit04.runbox.com [IPv6:2a0c:5a00:149::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4t2d2NQRz3P74; Tue, 28 Apr 2026 20:54:01 +0000 (UTC) (envelope-from ziaee@FreeBSD.org) Authentication-Results: mx1.freebsd.org; none Received: from mailtransmit02.runbox ([10.9.9.162] helo=aibo.runbox.com) by mailtransmit04.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1wHpRM-0031Yc-Kp; Tue, 28 Apr 2026 22:53:56 +0200 Received: from [10.9.9.128] (helo=rmmprod06.runbox) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1wHpRM-0004iq-Bt; Tue, 28 Apr 2026 22:53:56 +0200 Received: from mail by rmmprod06.runbox with local (Exim 4.86_2) (envelope-from ) id 1wHpRM-0004Ld-AB; Tue, 28 Apr 2026 22:53:56 +0200 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: from [Authenticated alias (960477)] by runbox.com with http (RMM6); Tue, 28 Apr 2026 20:53:56 GMT From: "Alexander Ziaee" To: "Mark Millard" , "dev-commits-src-all" , "dev-commits-src-main" CC: "mckusick" Subject: Re: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message Date: Tue, 28 Apr 2026 20:53:56 +0000 (UTC) X-RMM-Aliasid: 960477 X-Mailer: RMM6 In-Reply-To: <18c071e0-e882-400b-97ca-2c7f54a9c5ef@yahoo.com> Message-Id: X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:50304, ipnet:2a0c:5a00::/29, country:NO] X-Rspamd-Queue-Id: 4g4t2d2NQRz3P74 X-Spamd-Bar: ---- On 2026-04-28 16:16 -04:00 EDT, "Mark Millard" wrote: > On 4/28/26 10:02, Alexander Ziaee wrote: >> The branch main has been updated by ziaee: >>=20 >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D5ed26c21e4ff1d478d4611abb= f3dc14cc1b77244 >>=20 >> commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >> Author: Alexander Ziaee >> AuthorDate: 2026-04-28 16:59:19 +0000 >> Commit: Alexander Ziaee >> CommitDate: 2026-04-28 16:59:34 +0000 >>=20 >> bsdinstall: Improve auto-partition message >>=20=20=20=20=20 >> Manually tuning ZFS for systems with <8GB ram hasn't been necessary = at >> least since the switch to OpenZFS. We have users reporting using 1GB= RAM >> with no manual tuning/issues. >=20 > It is my understanding that FreeBSD 15.1-RELEASE intends on have armv7 > fully supported with normal style distributions, unlike for 15.0 and > before. (This came up during the 15.0 effort.) That sets some context > for the below. >=20 > Back when I experimented with such contexts for building ports on armv7, > there were definite memory tradeoffs vs. using UFS and what parallel > jobs / MAKE_JOBS_NUMBER_LIMIT combinations did. This was in the OpenZFS > time frame for sure. (I tested both ZFS and UFS types of context doing > the same builds.) These tests were "headless" (serial console and ssh) > that avoided also having any other notable competition for RAM+SWAP, > something that does not necessarily generally apply. >=20 > I will note that armv7 no longer gets updating official port-package > builds via FreeBSD distributions. Some folks do not have/use aarch64 > that is also armv7 user space capable or just do not use aarch64 systems > to build the port-packages that they want to use. >=20 > Compared to 64-bit contexts, 32-bit environments (such as armv7) also > have smaller multipliers for SWAP=3DMULTIPLIER*RAM before FreeBSD warns of > potential mis-tuning. armv7 is tier 2. >=20 > In other words, it seems that more needs to be specified about the > workload context to make a solid claim. Yes, that's why I removed the stale claim and the link to stale doc. Thanks for the interest and the additional context! Best, Alex > A common case of needing to > personally build port-packages on such systems at least likely does have > differing tradeoffs involved from differing RAM usage. (Time to build is > also part of the tradeoff structure.) >=20 > (I'm not claiming that https://wiki.freebsd.org/ZFSTuningGuide should be > referenced.) >=20 > I do not know of Kirk McKusic would fully retract the paragraph that is > on pages 49 and 549 of the Design and Implementation of the FreeBSD > Operating System book as a summary of the issues. (Page 547 and 548 > indicate more about what contributes.) >=20 > Further, the page this links to is a stale >> wiki page, which is causing complaints. Remove this misleading note = and >> replace it with a similar message for UFS. While here, reword that n= ote >> to be a bit clearer. >>=20=20=20=20=20 >> PR: 287719 >> MFC after: 3 days >> Differential Revision: https://reviews.freebsd.org/D50971 >> --- >> usr.sbin/bsdinstall/scripts/auto | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >>=20 >> diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scri= pts/auto >> index e9d6da149a85..ca0561daac1a 100755 >> --- a/usr.sbin/bsdinstall/scripts/auto >> +++ b/usr.sbin/bsdinstall/scripts/auto >> @@ -50,10 +50,10 @@ msg_abort=3D"Abort" >> msg_an_installation_step_has_been_aborted=3D"An installation step has b= een aborted. Would you like\nto restart the installation or exit the instal= ler?" >> msg_auto_ufs=3D"Auto (UFS)" >> msg_auto_ufs_desc=3D"Guided UFS Disk Setup" >> -msg_auto_ufs_help=3D"Menu options help choose which disk to setup using= UFS and standard partitions" >> +msg_auto_ufs_help=3D"Choose which disk to setup using UFS and standard = partition layout" >> msg_auto_zfs=3D"Auto (ZFS)" >> msg_auto_zfs_desc=3D"Guided Root-on-ZFS" >> -msg_auto_zfs_help=3D"To use ZFS with less than 8GB RAM, see https://wik= i.freebsd.org/ZFSTuningGuide" >> +msg_auto_zfs_help=3D"Choose which disk to setup using ZFS and standard = partition layout" >> msg_exit=3D"Exit" >> msg_freebsd_installer=3D"$OSNAME Installer" >> msg_gpt_active_fix=3D"Your hardware is known to have issues booting in = CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you= like the installer to apply this workaround for you?" >>=20 >>=20 >=20 >=20 > --=20 > =3D=3D=3D > Mark Millard > marklmi at yahoo.com >=20= From nobody Tue Apr 28 20:59:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8Z1kfPz6c5Wq for ; Tue, 28 Apr 2026 20:59: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 4g4t8Y6sHyz3PPy for ; Tue, 28 Apr 2026 20:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nWpai31HuhRruU+0NqhXdeItm/aQ48ynsHxu6BaHXU=; b=G3ECvJGPNq9T15laYRt6dxG9RV3KzLH+e/egoXYhjc39fXi9dh7MPIYobFzaPbvPaOVCTc Ci5QjhWtMO7CtMwAjSCs7Bvl+WsFdkGhfNVoD4j3OHrXcJt/srm4oFOIvd2PHTZonx/cUf 8NJguyusVSnJWzcYaGj+Xl82hRDG1M+lX6coNyoDtVboqhj7XQo91boDx3/b/8MRV8JfTY E3G1WTY2eidl3hT0xFlyhDTIyFL2uVtF+cwOUqa3CghYECOPkasRoslidoJY8W8+324vvj RrwJfs05rMOlX7YhsM2RnBHJdcGjSWVAV8aSqDDj7fI9RogqMjDrmDE3mETaPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409950; a=rsa-sha256; cv=none; b=DyTq8LEBjXhD3bv4gRmj3BSc6SjJDBlq9fStAKMJ1ByWTygtBs23iRw0Rg7Ob+5BMDO6+t fOToJpKrETi8KXG4I+NOa3L8jv+OkZYIuidJwtlcwNPfN0Au3pE5GldFT1wZUvO9kPMqi0 niz9OB7k23ei4tfaLek4dGdodzzhxNi+vB3uh3vgPFgAPiu0SmfBdCej2XjP+Itt57duOH pbDggRCLEyvYbsadPM8jTTOd+IGD6IBsAiXTm+BgchVBKb4dB2z4UtT9T34rfgCGLc6hss 3Eza/uTZ0D3/fXiIyE7Nsocd+9d6USKN4//ovKnz2JlPHLOat68L3Z/JNRTEYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nWpai31HuhRruU+0NqhXdeItm/aQ48ynsHxu6BaHXU=; b=E07pW1ISNnQy1uRR0++AZvTzOuzArH0OB8fobAIC6ofiVz2oLUW1nuYbYwkzFf9XSjjeEG PSX3miCRsz6BoJSwi7vbaGZSWCD4cpgxp3QLyPdpeYi+GBd/WBuT0qgDwz8NGcW7NMuX29 Z1em1aw5HLEFYa8y89AG6P273ZcySgPSIOteDq2LmB1iiFYvWb1fK9bzqFlun+Csh7dMfu tQByk5DFlJuzd8AhT0c5ZcqDJzJP6+0k4Auabeqkzg1Cbag86sxS3LGPkGmnte5qQNfDu9 nHDicLHGGqmi9HcKoHA2snyEVMa9S7fQPUpjR46gaTlgsbcGB5Qcfn09vvAj6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8Y5QLvz18rR for ; Tue, 28 Apr 2026 20:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ad79 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 20:59:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: =?utf-8?Q?St=C3=A9pha?=ne Rochoy From: Pouria Mousavizadeh Tehrani Subject: git: 76de40889eed - main - efibootmgr: Show attributes, category and optional data when verbose List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76de40889eed130442b67e14249f96e2e8f88f48 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 20:59:09 +0000 Message-Id: <69f11f9d.3ad79.7d56299a@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=76de40889eed130442b67e14249f96e2e8f88f48 commit 76de40889eed130442b67e14249f96e2e8f88f48 Author: Stéphane Rochoy AuthorDate: 2026-04-24 07:03:31 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-28 20:58:59 +0000 efibootmgr: Show attributes, category and optional data when verbose Also rework a bit the way device path are displayed for consistency. Signed-off-by: stephane.rochoy@stormshield.eu Reviewed by: imp Sponsored by: Stormshield Pull-Request: https://github.com/freebsd/freebsd-src/pull/2167 --- usr.sbin/efibootmgr/efibootmgr.8 | 2 +- usr.sbin/efibootmgr/efibootmgr.c | 71 +++++++++++++++++++++++++++++++++------- 2 files changed, 61 insertions(+), 12 deletions(-) diff --git a/usr.sbin/efibootmgr/efibootmgr.8 b/usr.sbin/efibootmgr/efibootmgr.8 index 62ca0d6da3b2..2d7aaf5bd4a4 100644 --- a/usr.sbin/efibootmgr/efibootmgr.8 +++ b/usr.sbin/efibootmgr/efibootmgr.8 @@ -200,7 +200,7 @@ variable. Displays the UEFI device path of .Ar unix-path . .It Fl v -verbose -Display the device path of boot entries in the output. +Display extra information on boot entries: device path, attributes, category and optional data. .El .Sh EXAMPLES To display the current diff --git a/usr.sbin/efibootmgr/efibootmgr.c b/usr.sbin/efibootmgr/efibootmgr.c index 1b572b613e05..e1786d9fc1bc 100644 --- a/usr.sbin/efibootmgr/efibootmgr.c +++ b/usr.sbin/efibootmgr/efibootmgr.c @@ -54,11 +54,27 @@ #include #ifndef LOAD_OPTION_ACTIVE -#define LOAD_OPTION_ACTIVE 0x00000001 +#define LOAD_OPTION_ACTIVE 0x00000001 +#endif + +#ifndef LOAD_OPTION_FORCE_RECONNECT +#define LOAD_OPTION_FORCE_RECONNECT 0x00000002 +#endif + +#ifndef LOAD_OPTION_HIDDEN +#define LOAD_OPTION_HIDDEN 0x00000008 +#endif + +#ifndef LOAD_OPTION_CATEGORY +#define LOAD_OPTION_CATEGORY 0x00001F00 #endif #ifndef LOAD_OPTION_CATEGORY_BOOT -#define LOAD_OPTION_CATEGORY_BOOT 0x00000000 +#define LOAD_OPTION_CATEGORY_BOOT 0x00000000 +#endif + +#ifndef LOAD_OPTION_CATEGORY_APP +#define LOAD_OPTION_CATEGORY_APP 0x00000100 #endif #define BAD_LENGTH ((size_t)-1) @@ -744,14 +760,14 @@ static void print_loadopt_str(uint8_t *data, size_t datalen) { char *dev, *relpath, *abspath; - uint32_t attr; + uint32_t attr, categ; uint16_t fplen; efi_char *descr; uint8_t *ep = data + datalen; - uint8_t *walker = data; + uint8_t *walker = data, *opt; efidp dp, edp; char buf[1024]; - int len; + int len, optlen; int rv; int indent; @@ -775,11 +791,13 @@ print_loadopt_str(uint8_t *data, size_t datalen) if (walker > ep) return; edp = (efidp)walker; - /* - * Everything left is the binary option args - * opt = walker; - * optlen = ep - walker; - */ + + /* Everything left is the binary option args */ + opt = walker; + optlen = ep - walker; + + printf("\n"); + printf(" dp:"); indent = 1; while (dp < edp) { if (efidp_size(dp) == 0) @@ -787,7 +805,7 @@ print_loadopt_str(uint8_t *data, size_t datalen) efidp_format_device_path(buf, sizeof(buf), dp, (intptr_t)(void *)edp - (intptr_t)(void *)dp); printf("%*s%s\n", indent, "", buf); - indent = 10 + len + 1; + indent = 11; rv = efivar_device_path_to_unix_path(dp, &dev, &relpath, &abspath); if (rv == 0) { printf("%*s%s:%s %s\n", indent + 4, "", dev, relpath, abspath); @@ -797,6 +815,37 @@ print_loadopt_str(uint8_t *data, size_t datalen) } dp = (efidp)((char *)dp + efidp_size(dp)); } + + /* Optional Data */ + if (optlen > 0) { + printf(" opt/x: "); + efi_hexdump(opt, optlen, 11); + printf(" opt/a: "); + efi_asciidump(opt, optlen, 11); + } + + /* Attributes */ + printf(" attr: %#x<", attr); + if (attr & LOAD_OPTION_ACTIVE) + printf("ACTIVE,"); + if (attr & LOAD_OPTION_FORCE_RECONNECT) + printf("FORCE_RECONNECT,"); + if (attr & LOAD_OPTION_HIDDEN) + printf("HIDDEN,"); + printf(">\n"); + + /* Category */ + categ = (attr & LOAD_OPTION_CATEGORY); + printf(" categ: %#x<", categ); + switch (categ) { + case LOAD_OPTION_CATEGORY_APP: + printf("APP"); + break; + case LOAD_OPTION_CATEGORY_BOOT: + printf("BOOT"); + break; + } + printf(">\n"); } static char * From nobody Tue Apr 28 20:59:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8d6z56z6c5S9 for ; Tue, 28 Apr 2026 20:59: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 4g4t8d5jplz3PSp for ; Tue, 28 Apr 2026 20:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bwawPfmwp15kFjjht4kkF3+cAQ7/Mx3Lawu5WOBwRA=; b=o0zveuFvygrWCQLGQs6Jgpq2R77FT1hP53jWnKmV/4UzLk2qQlD/H8SS7YN85+XqEM8F/O Ipicy44z7imI5/FYPlE5ONupnSEeiD5WLvoUJ92DhWSfvV3tA5UQVEYGfpdeMdZVdkxXpJ 0DQT9GBZQpECTWiF31FjyghOz4V5KMteZljLserSJPRI8pj2IleSoULDkXnMoNrf3BIwHM 5TTlJ2hS+/d5AAMJIYpeAPjARNjic1gicl7waSN3uJWb3GiW4+K2KZvJPC60HV5ZK4782Z rAMd/288OC+c8DXybk+8VzCHy6PTGvNqJZDNOfQAwr52o7qdqyye71rD+9Iprw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409953; a=rsa-sha256; cv=none; b=py7yM9jPfCKJ+Q1NvUR9cy9D9Uk2OQEaR3/9oxhIoGHvpkiMdxMa2ZsqXIDFtBAf+YFkms xrZkpNeyjbxciRRgPqjpMhYpQtCjMomCxMUkEowgXNZ7jToenQqthirBOU0WFULBQXysbS laZlgTiv7ZvP7nlpoms1SKkR0GCLT6DT0CbQZzhb9nFswcZCKewWu1zt7x3Ti8LzvXLB+T m3hlv3yeBVxqpceC+UBI5rBi7YjBhNRspIaQVpA3u+r7fT3tF56WltRE+CjPgTFmO0CVAZ XEBhz885vnJrXEmsndc6nQojYR6qGirRWrzrkpdzQO34tMuNnmf4i+rla5HgAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bwawPfmwp15kFjjht4kkF3+cAQ7/Mx3Lawu5WOBwRA=; b=OBtv6qlsQMfsFWGSrVoHLam3d/zr9WAmm62L160xGJJE8ooKq4wzqRtHTYky40wHADaqai rQNu7mnZuXXuxCRozCy8CBnIyGXk4wGU3bI/b411yiIXjheklGuGvQpNWfVgbO7RUuO9Yw zImOUZiB42Zkp3MLfd4XiAeTP7RFfWhL51UKs0DyVd8pwd24DFwB3Qbbngy6WPCM/YfeCB 6U7UX/hkbRkJe4+t3isJFFS/w95DtsMNbbWNoWmu6BBmPpNv0iVS2qvCcqETvop2xFRrzV KSVrX/XtiuLBf9XQVhyLUSBBTuFNvKk6luzy5MHwRxfkVDUydab/6Xh4tfEx7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8d50tdz18wb for ; Tue, 28 Apr 2026 20:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c305 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 20:59:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: =?utf-8?Q?St=C3=A9pha?=ne Rochoy From: Pouria Mousavizadeh Tehrani Subject: git: 48363f39f141 - main - efivar: Move dump functions into libefivar List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48363f39f1417df3e39da53f219596f8501c9452 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 20:59:08 +0000 Message-Id: <69f11f9c.3c305.57a589ae@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=48363f39f1417df3e39da53f219596f8501c9452 commit 48363f39f1417df3e39da53f219596f8501c9452 Author: Stéphane Rochoy AuthorDate: 2026-04-24 12:10:19 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-28 20:58:54 +0000 efivar: Move dump functions into libefivar To allow their use by efibootmgr. Signed-off-by: stephane.rochoy@stormshield.eu Reviewed by: imp Sponsored by: Stormshield Pull-Request: https://github.com/freebsd/freebsd-src/pull/2167 --- lib/libefivar/Makefile | 1 + {usr.sbin/efivar => lib/libefivar}/efiutil.c | 33 ++++++++++++++------------ lib/libefivar/efivar.h | 10 ++++++++ usr.sbin/efibootmgr/Makefile | 7 +++--- usr.sbin/efibootmgr/efibootmgr.c | 1 - usr.sbin/efivar/Makefile | 2 +- usr.sbin/efivar/efiutil.h | 35 ---------------------------- usr.sbin/efivar/efivar.c | 9 ++++--- 8 files changed, 37 insertions(+), 61 deletions(-) diff --git a/lib/libefivar/Makefile b/lib/libefivar/Makefile index bc31ee6c47e3..339ba9d18a5e 100644 --- a/lib/libefivar/Makefile +++ b/lib/libefivar/Makefile @@ -35,6 +35,7 @@ LIB= efivar SRCS= efivar.c efichar.c efivar-dp-format.c \ efivar-dp-parse.c \ efivar-dp-xlate.c \ + efiutil.c \ uefi-guid.c uefi-dputil.c INCS= efivar.h efivar-dp.h SHLIB_MAJOR= 1 diff --git a/usr.sbin/efivar/efiutil.c b/lib/libefivar/efiutil.c similarity index 88% rename from usr.sbin/efivar/efiutil.c rename to lib/libefivar/efiutil.c index fc2a309a81ef..a6dce1981101 100644 --- a/usr.sbin/efivar/efiutil.c +++ b/lib/libefivar/efiutil.c @@ -35,16 +35,15 @@ #include #include #include -#include "efiutil.h" #include "efichar.h" #include /* * Dump the data as ASCII data, which is a pretty - * printed form + * printed form. */ void -asciidump(uint8_t *data, size_t datalen) +efi_asciidump(uint8_t *data, size_t datalen, int indent) { size_t i; int len; @@ -55,14 +54,14 @@ asciidump(uint8_t *data, size_t datalen) len++; if (len > 80) { len = 0; - printf("\n"); + printf("\n%*s", indent, ""); } printf("%c", data[i]); } else { len +=3; if (len > 80) { len = 0; - printf("\n"); + printf("\n%*s", indent, ""); } printf("%%%02x", data[i]); } @@ -71,7 +70,7 @@ asciidump(uint8_t *data, size_t datalen) } void -utf8dump(uint8_t *data, size_t datalen) +efi_utf8dump(uint8_t *data, size_t datalen, int indent) { char *utf8 = NULL; efi_char *ucs2; @@ -84,21 +83,25 @@ utf8dump(uint8_t *data, size_t datalen) memcpy(ucs2, data, datalen); ucs2[datalen / sizeof(efi_char)] = 0; ucs2_to_utf8(ucs2, &utf8); - printf("%s\n", utf8); + printf("%*s%s\n", indent, "", utf8); free(utf8); free(ucs2); } void -hexdump(uint8_t *data, size_t datalen) +efi_hexdump(uint8_t *data, size_t datalen, int indent) { size_t i; - for (i = 0; i < datalen; i++) { + if (datalen == 0) + return; + + printf("0000: %02x ", data[0]); + for (i = 1; i < datalen; i++) { if (i % 16 == 0) { if (i != 0) printf("\n"); - printf("%04x: ", (int)i); + printf("%*s%04x: ", indent, "", (int)i); } printf("%02x ", data[i]); } @@ -106,7 +109,7 @@ hexdump(uint8_t *data, size_t datalen) } void -bindump(uint8_t *data, size_t datalen) +efi_bindump(uint8_t *data, size_t datalen) { write(1, data, datalen); } @@ -180,11 +183,11 @@ efi_print_load_option(uint8_t *data, size_t datalen, int Aflag, int bflag, int u return; printf("Option:\n"); if (Aflag) - asciidump(opt, optlen); + efi_asciidump(opt, optlen, 0); else if (bflag) - bindump(opt, optlen); + efi_bindump(opt, optlen); else if (uflag) - utf8dump(opt, optlen); + efi_utf8dump(opt, optlen, 0); else - hexdump(opt, optlen); + efi_hexdump(opt, optlen, 0); } diff --git a/lib/libefivar/efivar.h b/lib/libefivar/efivar.h index 238b23a8b2b8..563715d96ed0 100644 --- a/lib/libefivar/efivar.h +++ b/lib/libefivar/efivar.h @@ -79,6 +79,16 @@ int efi_set_variable(efi_guid_t guid, const char *name, int efi_str_to_guid(const char *s, efi_guid_t *guid); int efi_variables_supported(void); +/* + * different routines to dump data. + */ + +void efi_asciidump(uint8_t *data, size_t datalen, int indent); +void efi_bindump(uint8_t *data, size_t datalen); +void efi_print_load_option(uint8_t *, size_t, int, int, int); +void efi_hexdump(uint8_t *data, size_t datalen, int indent); +void efi_utf8dump(uint8_t *data, size_t datalen, int indent); + /* FreeBSD extensions */ struct guid_table { diff --git a/usr.sbin/efibootmgr/Makefile b/usr.sbin/efibootmgr/Makefile index d976656a99c9..6f0a2a1dddbb 100644 --- a/usr.sbin/efibootmgr/Makefile +++ b/usr.sbin/efibootmgr/Makefile @@ -1,14 +1,13 @@ EFIBOOT=${SRCTOP}/stand/efi EFIINCL=${SRCTOP}/stand/efi/include -EFIVAR=${SRCTOP}/usr.sbin/efivar -.PATH: ${EFIBOOT}/libefi ${EFIVAR} -CFLAGS+= -I${EFIVAR} -I${EFIINCL} +.PATH: ${EFIBOOT}/libefi +CFLAGS+= -I${EFIINCL} PACKAGE= efi-tools PROG=efibootmgr MAN= efibootmgr.8 -SRCS= efichar.c efiutil.c efibootmgr.c +SRCS= efichar.c efibootmgr.c LIBADD= efivar geom diff --git a/usr.sbin/efibootmgr/efibootmgr.c b/usr.sbin/efibootmgr/efibootmgr.c index b919130d9c11..1b572b613e05 100644 --- a/usr.sbin/efibootmgr/efibootmgr.c +++ b/usr.sbin/efibootmgr/efibootmgr.c @@ -50,7 +50,6 @@ #include #include -#include #include #include diff --git a/usr.sbin/efivar/Makefile b/usr.sbin/efivar/Makefile index dd655f6b953d..4d71ec7d4dc4 100644 --- a/usr.sbin/efivar/Makefile +++ b/usr.sbin/efivar/Makefile @@ -5,7 +5,7 @@ MAN= efivar.8 LIBADD= efivar geom -SRCS= efivar.c efiutil.c +SRCS= efivar.c EFIBOOT=${SRCTOP}/stand/efi CFLAGS+= -I${EFIBOOT}/include diff --git a/usr.sbin/efivar/efiutil.h b/usr.sbin/efivar/efiutil.h deleted file mode 100644 index c9fcb99ec1eb..000000000000 --- a/usr.sbin/efivar/efiutil.h +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * Copyright (c) 2017 Netflix, Inc. - * - * 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. - */ - -/* - * different routines to dump data. - */ - -void asciidump(uint8_t *data, size_t datalen); -void bindump(uint8_t *data, size_t datalen); -void efi_print_load_option(uint8_t *, size_t, int, int, int); -void hexdump(uint8_t *data, size_t datalen); -void utf8dump(uint8_t *data, size_t datalen); - diff --git a/usr.sbin/efivar/efivar.c b/usr.sbin/efivar/efivar.c index c40ff1ea010f..6d252959e7de 100644 --- a/usr.sbin/efivar/efivar.c +++ b/usr.sbin/efivar/efivar.c @@ -38,7 +38,6 @@ #include #include #include -#include "efiutil.h" #include "efichar.h" /* options descriptor */ @@ -254,15 +253,15 @@ print_var(efi_guid_t *guid, char *name) if (load_opt_flag) efi_print_load_option(data, datalen, Aflag, bflag, uflag); else if (Aflag) - asciidump(data, datalen); + efi_asciidump(data, datalen, 0); else if (uflag) - utf8dump(data, datalen); + efi_utf8dump(data, datalen, 0); else if (bflag) - bindump(data, datalen); + efi_bindump(data, datalen); else if (dflag) devpath_dump(data, datalen); else - hexdump(data, datalen); + efi_hexdump(data, datalen, 0); } else { printf("%s-%s", gname, name); } From nobody Tue Apr 28 21:45:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4vBR2JrZz6c85k for ; Tue, 28 Apr 2026 21:45:51 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4vBQ1lw3z3TYC for ; Tue, 28 Apr 2026 21:45:50 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.44 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-8a48deebe95so93045686d6.0 for ; Tue, 28 Apr 2026 14:45:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777412749; cv=none; d=google.com; s=arc-20240605; b=f0siV62deWpjc37I+TIn7Un7skcIex02tFbSQFyJN22QF65jiEChYAPKte2xACEmNO +vhwjgDEoReV1z9VXLNsM9U4hRgEQWht1Y2V16hhYGKOT0z5jgIBEGVgfYUVStOtU67i kitUXFlAm0Yu+e6HF6p7U1WcfBQNMwXxjahnfwdB4t37x2mzLB4EwmgC7VAkgWcBJ2TT RRiHVh+jXePrja27MyL+s2zewfLBeyIENBM10t30VutlV0S7rPVpKlTs7vEB2wvNQRq7 GrC3yvCYFxelk2gAAgRxC94zQgSAJwJQViOolhvlDan3nPwaeCXaHyVqh5a6NRKqjAaw Ovlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=MWYAozdVXEoXrtVwJsWFO1aVDp3lRIgXjQrQcn2fdSk=; fh=ELgpJaMRV2zz7rw9yJyQKXCLoDb7J+6zOsdHE9xIYVc=; b=a89/iavZfGzrEeiVnZ9LQ6mr1i9iwWRjMPz7qebtUXpM0nCys0JzKKTRE8gv2PWGlG PZKLm/aZIYu9ruRyLjoNp02I9yba9br+5E+574Lbix/hDQhZ5WQ3mvny3DlquBuvvrFq nUVM4c96MGRbGwqiYa7aUOx+y58cUCdsGTsnXWOJHAzFp9foMPANFZnyHUPITvhbRALu WmnsWOsXQsVIZZ3BERt5aPKRRS1ulCIXQMvqeuQ4EaJ31I08zfwQZtB99Wwe3ZqM0cre 5p5A3D1aW6+NVMm4BbRR0zbsluXwJN+g7K8EbjVbVPbrz7kxv8q0X4+MtF1Ub/YC2Fnv HkNA==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777412749; x=1778017549; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MWYAozdVXEoXrtVwJsWFO1aVDp3lRIgXjQrQcn2fdSk=; b=jupIY7oRGwD8tgmApt5lqX/0Df7rf2Z4dyjRbS9uSdw4p/e+eY8mI5Hqzrpzb0wIbn /FKaPQjIl3z84DMjc0NiMwEGou5B5HFCmM87XbH72i0E7urx78MdkPus4ESUaQ67iWXa pVPlLEpugbNcTSG5rnaGj2wG1JLkeqXxiods9qwdiRUqDdBNT5Vv0NP3A4xb1kDO865a YG9JIK6uVHI1SBFIOyEYtaokG0XTXXKz5YTj0jHAy5NY9V4JEl4m3kt9mZJ5iWrQfLDh 8g2DXWYHAr/GVhRwbvhfr/zTfXjkN4Qnl1seSthHNGDEPFhyjJeQ0r+fWAO88kULx+uo sizw== X-Forwarded-Encrypted: i=1; AFNElJ8/lmpg17W61foAwysx4PWjRznaAVJ5JUkiSUtdxZARyZrXFW+xM41GNgktoI27zzlp3o10SG13z+t2P1vTDdOcCo8f@freebsd.org X-Gm-Message-State: AOJu0Yxw/QAHA7CH0c41SmDJSQyRz14buat6+4rQActbxktdG8xTyVnn p4qhYqKHYSEIrby5khkQms9MH1v7dviEVGeDGKOD6RWjVHgSEHtLe5ZGAwBPZywa3H4vi9+osxG l+8XfqDOXhHgaSW3u6vrSg/QCaUvjEys= X-Gm-Gg: AeBDietezqgaa2SbdZCFhpOXJz8s0pVlxsaPuabre6kzyquW94okETd/6yNhPlE/rna 6OhSv9juDE+8y4dr+d7H3Z9UkNrlpyLXmLxIRhHDc9agHHv4qwzCn3XmXsTSc7TL7xDv9yiS4QJ zMjtryQQrNcT083XKte8zfeWGcx0gjRxR024Qdp1wDOibZMVl8SntTOAAHxAwG3X4nJya9NVAek 4RDmWJX197m84xuGJb+IczMBpX76rVrSqfm4xA/SPBMbOFbhrvDmKarOEv4h5NPMm3GeAqwOWHQ CtRBrIgulgrLdZKp2gJfBRksC7Iu/cqknPTWwkJLFl3+g1P/yugX9+CsS3IrFHH3QRlbUzequzo cqy67JrEpNV4gTfPaSBrfDhUjRbguXyoUzjKMAg== X-Received: by 2002:a05:6214:230e:b0:8ac:b1ad:3a1f with SMTP id 6a1803df08f44-8b3e308c2a7mr78288346d6.35.1777412749303; Tue, 28 Apr 2026 14:45:49 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> In-Reply-To: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> From: Adrian Chadd Date: Tue, 28 Apr 2026 14:45:39 -0700 X-Gm-Features: AVHnY4IlW_aD40VE4vTaWwmolx3hUQ7O-hrSZ0WeDcOwLaDZqFftQHB9ZSsfg2U Message-ID: Subject: Re: git: ba94d7574972 - main - stand/common/load_elf: Do kernel module relocations for PPC To: Lexi Winter Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-0.97 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; NEURAL_HAM_SHORT(-0.07)[-0.073]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MISSING_XM_UA(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.44:from]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.44:from] X-Rspamd-Queue-Id: 4g4vBQ1lw3z3TYC X-Spamd-Bar: / hi, This somehow breaks booting in pseries VMs in virtualised ppc64 on qemu, both ppc64be and ppc64le. The loader gets through a bunch of kernel loading and then hangs before it jumps into the kernel. -adrian On Sat, 18 Apr 2026 at 05:08, Lexi Winter wrote: > > The branch main has been updated by ivy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ba94d75749721fae999f756cb227638f9d4398a8 > > commit ba94d75749721fae999f756cb227638f9d4398a8 > Author: Lexi Winter > AuthorDate: 2026-04-18 12:07:10 +0000 > Commit: Lexi Winter > CommitDate: 2026-04-18 12:07:10 +0000 > > stand/common/load_elf: Do kernel module relocations for PPC > > reloc_ptr() skips relocations for the kernel module, because on most > platforms the kernel is ET_EXEC and this is not required. On PPC, > the kernel is ET_DYN and we need to relocate here, otherwise the > module metadata will not be loaded properly and the kernel module > will have an incorrect version, preventing module dependencies from > resolving. > > This fixes loading kernel modules from loader.conf on powerpc. > > Diagnosed by: jrtc27 > Reviewed by: jrtc27, adrian > Sponsored by: https://www.patreon.com/bsdivy > Differential Revision: https://reviews.freebsd.org/D56457 > --- > stand/common/load_elf.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c > index 10131f7ccb88..a6ea60c74b84 100644 > --- a/stand/common/load_elf.c > +++ b/stand/common/load_elf.c > @@ -1282,10 +1282,11 @@ __elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef, > int error; > > /* > - * The kernel is already relocated, but we still want to apply > - * offset adjustments. > + * On most platforms, the kernel is already relocated, but we still > + * want to apply offset adjustments. For PowerPC, the kernel is > + * ET_DYN rather than ET_EXEC and we still need to relocate here. > */ > - if (ef->kernel) > + if (ef->kernel && ef->ehdr->e_type != ET_DYN) > return (EOPNOTSUPP); > > for (n = 0; n < ef->relsz / sizeof(r); n++) { > From nobody Tue Apr 28 21:54:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4vP14Y6Nz6c8mw for ; Tue, 28 Apr 2026 21:55:01 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4vP05X6Rz3Vjp for ; Tue, 28 Apr 2026 21:55:00 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.49 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-8b1f2b7f1bcso3912666d6.1 for ; Tue, 28 Apr 2026 14:55:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777413300; cv=none; d=google.com; s=arc-20240605; b=eyYho4XedTYRUs/rosEitlWGizEni4kMG5QOrbNpJSEfVdkX5DKiux3+nXtjiuqRWq YzPy47Pd5N9i91Rk5S3QilXRGe1hk51aGP+KRYvxQZqsEr7MH74gPOFgwkEsnYZGbxUx CUQt/VXRNC1GKBXnCEQ4TfMP7//A73JLe0qlBBVSD9VhKWLqoX2Ttm5pCCgpOWGCAzQn PrigUJC31db3kCAUH1vVG6+aajf2mc5GKnICNvGaKAp5Z1PjtO7lQRa53tuOBIXsHJnJ v03Vv+Ug/GATMgivXD+e57wCI+09GAQ9S5gg6YXHlenVmeBSNpY6vke61K8UfCsZhcm1 3zFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=NPFFDlYIey/A0LH8WXtar/CIQytegxa2PitDoI80IqY=; fh=fUoYCkj5VHilc9stQqHpoOoBr82p8+JJBX97bNeoyQ4=; b=O5019eagVJJtMrLHS2bo+34vbzgfaRTpp8HG3AN9nHzawDfyMYodpcvBFmK3yaVgFh RUZ5GTeM3P5jU0evtOS60qOmCWrlu4qsRM5vAA1fgWp5GjDLffoq33HZUhYocsQi3eJ7 Gzwo42zAqqZe6gRz1x2AMl8mtPNnJ/Q+F2S91ZtAUReiOY4zhlMpPtRw3R0R24cCRNuY JCKcyYRHpQgiujh8V/etxQyWhC/L4J1dQkdQ73m/D3CqiwuX42rfQG24ChG7a0pG0LXu gMBsyGxX9x/OTno2Zhgy2KxVh4cXL75IO+wGENOJtR2ouyueQA+ksC+E72+j1i7vctVB AGWQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777413300; x=1778018100; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NPFFDlYIey/A0LH8WXtar/CIQytegxa2PitDoI80IqY=; b=H8yt5sHewngnVRbKTMKFowyai0CIsf7m0vy2ip7VltrukzVOfzJXnI+n9t4zGBjkDZ yoE9GVN/WuS3hJiCZW1b5EN+cQVHPMCJHQ9I8hweJko14WxhZ3SqTR0JgaCu2ElRPRkm HJ0uz1atfoaNz6C7eVl503zdGh6jMjGjuofposmcPMDIqbB5elNHPYKF7uUNzEYD0Svx P7AWK5+lKoDQCuvBK8j7Ekd65Gy0AAeqg/kiZqNIyyXsw0o2LH/wvzLIRdzcIu0Yr52B wf0gw2MrGPzEneDz/eUXCO0KRC8Mz8GGlyciPECXsXYJFKaEWl7vi6wmkm2iTqXQd7RG NLuA== X-Forwarded-Encrypted: i=1; AFNElJ8/cOg+svgcKEZ77Fbhkln/igpAF4qf2pEJW3zvgcbzQdSzQNSKFp5IaQHJOLrxnHq7qnvhacIFCGLO6GGlKF+SITfU@freebsd.org X-Gm-Message-State: AOJu0YzJOMNEnJ2WQTLTzzUvI9Jq6sBiluvvi1LEDl8boOYKs2Rj5kCQ 2jyb8UdKE4rI2mfVtMC3Hg6R0EPylFLXfv5YzrZZ+GRSwU2UFJ0bNNpcGLN0A9A8PrYgdLhJm3j A58r/SXeNT5Xdx7M53DsbC8MiJBlWnEk= X-Gm-Gg: AeBDietIlr8KXD7c11SqW2i3jrBJ2Z2OEuWIy66PEjlMHVjs5+yp74tfJYtA5yQ7Yvs +9zazgRc3jKDCVlYrjDTUDJe7Zs074wav3Eo5XlkOHlNdrk7qshQavoJv/SYbeyojfiTmf2vn46 9y9qmFFUDHaO5DNe3UFRS5Ht/bbBV51vjLObKucCE7cIhvXwnKdhQEhRSdy6glLYax22eNZ0qeo RKgB6KIYVFYzJQpBcvpTByWw84aDyyPfbmw/q6CBqgEmEhWRjz9seAPi1Z61m22RxlkN7ZE8TWF gpw3ab35B1c/TgWJetT+cp81UXS4kcQf2P0+qX2LMhmGJgOJ5bzhdl3rfMHxx1XWlMufInCGiCI 6Gs+7LuDNpDB8JwnksRq9z2R3tX7m+aU0pOht2Q== X-Received: by 2002:a05:6214:5981:b0:8ac:a708:eaab with SMTP id 6a1803df08f44-8b3ee94ef0fmr11271206d6.7.1777413300260; Tue, 28 Apr 2026 14:55:00 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> In-Reply-To: From: Adrian Chadd Date: Tue, 28 Apr 2026 14:54:49 -0700 X-Gm-Features: AVHnY4Iwqe1_oisJKZekJO9uS9BVYvldnIqhEzi2qIosps5fNemT7jV140LRWmU Message-ID: Subject: Re: git: ba94d7574972 - main - stand/common/load_elf: Do kernel module relocations for PPC To: Lexi Winter Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-1.09 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_LONG(-0.99)[-0.993]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_SHORT(-0.20)[-0.199]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; TO_DN_SOME(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MISSING_XM_UA(0.00)[]; FROM_HAS_DN(0.00)[]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.49:from]; TAGGED_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.49:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4vP05X6Rz3Vjp X-Spamd-Bar: - On Tue, 28 Apr 2026 at 14:45, Adrian Chadd wrote: > > hi, > > This somehow breaks booting in pseries VMs in virtualised ppc64 on > qemu, both ppc64be and ppc64le. > The loader gets through a bunch of kernel loading and then hangs > before it jumps into the kernel. > I've committed some remote gdb sins to figure out where the CPU is in the loader binary, and it looks like it's in load_elf.c : elf64_reloc_ptr . -adrian From nobody Tue Apr 28 22:20:30 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4vyV34Slz6cB40; Tue, 28 Apr 2026 22:20:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4vyV2JGRz3XY2; Tue, 28 Apr 2026 22:20:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777414834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=OIZxNPW1MA3Nq1yBOjMKpYwejwRdukL/6kuxAISEHao=; b=LHenBHpg6uNWmM6sEF99cXGCawZWF8GgP5YMikW5+7IEH3SJ5q5hXGvy6T7piY2ipA+XD5 4OkFQSGHPSOYoGO2MzRo5IXN1aapPSt+jbUO05F/5UXRMIRC08pY6U9+cybEESbBC5n43O 1thoSybL2e4Sa3TzDIaqz9V9o5QMJ2mNehOUaqTZFP3WzuljldYBkD2Vn5eH7xWphj1MVZ J8JLhXVrZUlwW9rN5p3tS91Mrf13GyzxKM4qPQn8rtU+RqU3PCmAYcjaD7OyK56WtQdsYq TuRXMe/D/e2B1zH0lmBGWfho30koEIHYa1p80FdEr7GWhdQUCV0Y0beCNKRx0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777414834; a=rsa-sha256; cv=none; b=o+uuVl8hXMfaxhNKfW+734M7zPAQz9sDhnaudcrAT0+Z64AUQu/Lf5GEOJersBlXV1eTwU HMdJJAxe6zA5ujS+xEOfVJfAcNjmVnwuo5wXNvnvWSaR99e0BFxvCaU05BLRzg/gjM3+mU s+iTrM/bKNH0E4shnPP85QH3bb0TyKgyoSGXpiVmNNdnXP8h8D3xjGPbAg/Ewxg9on3LkP RcxdOkzN1iNx9cqZPkeEciP6f+9bhbLXXnYqBUC6j9wGibDpRJ5zRSbhXVtY9EoRChxUGj fwCQoa0CHVM7c3tpVkB041i5s70krsRv8sBsvhM6Oe4MrDpe59OnIoVR4pOP7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777414834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=OIZxNPW1MA3Nq1yBOjMKpYwejwRdukL/6kuxAISEHao=; b=mG07rb08eWeptRtGRfrnt6gDyxT3gPMl8XjTOa2Vt7i7Hz1K6xepwvKddPbJucitCTLWs9 O7fO51XK6siOGrweikCWmZ87QBgkuDVMxh7OWlKpT8RZFad/DSlK2yl2x7uVD/gaxUyUHB MIZ40TW4+p+OVqifh2hcfKiJZP+96MgqFeJiZMRCQz2W6IunhO0L+dHdNEEyTa6sJho3SK qYXbrz0KcsAwNIs4l5sse4/o3oE7WKlfGHXEZSiuDz/tZKwtgPzfNc80B6PCWrdbUTRXIZ EJiHkAjPQv7eeTv2NS8Ek8up9CvPuJvbWD0Z19J0W4+QLaxAkHEvLcuibXceNw== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E7" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g4vyV0206zp2p; Tue, 28 Apr 2026 22:20:33 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 59542A64805; Tue, 28 Apr 2026 22:20:09 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 246A92D029E9; Tue, 28 Apr 2026 22:20:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id j-Zluc0cUXJU; Tue, 28 Apr 2026 22:20:31 +0000 (UTC) Received: from nv.t4-02.sbone.de (nv.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 07AB32D029D8; Tue, 28 Apr 2026 22:20:31 +0000 (UTC) Date: Tue, 28 Apr 2026 22:20:30 +0000 (UTC) From: "Bjoern A. Zeeb" To: Kristof Provost cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 47c12f20bf58 - stable/15 - pf: only allow a subset of netlink calls when securelevel is set In-Reply-To: <69f0dab6.44d59.7949e6e5@gitrepo.freebsd.org> Message-ID: <7rsqr33-s25s-64q4-o8nn-81sn61p9s77r@mnoonqbm.arg> References: <69f0dab6.44d59.7949e6e5@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Tue, 28 Apr 2026, Kristof Provost wrote: > The branch stable/15 has been updated by kp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=47c12f20bf58b69e7ab1707e6e705907ad0d277e > > commit 47c12f20bf58b69e7ab1707e6e705907ad0d277e > Author: Kristof Provost > AuthorDate: 2026-04-20 06:36:17 +0000 > Commit: Kristof Provost > CommitDate: 2026-04-28 15:33:57 +0000 > > pf: only allow a subset of netlink calls when securelevel is set This seems to have broken LINT-NOVIMAGE on stable/15. sys/netlink/netlink_generic.c:154:6: error: call to undeclared function 'securelevel_ge'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] > Extend the genl_cmd struct to allow calls to also carry a securelevel. > If that's set compare the current securelevel to only allow the call if > the level is lower than that. > > If no value is specified continue to allow calls in any securelevel, > as before. > > This allows us to easily implement the same securelevel restrictions for > pf as we have for the corresponding ioctls. > > Reviewed by: glebius > MFC after: 1 week > Sponsored by: Rubicon Communications, LLC ("Netgate") > Differential Revision: https://reviews.freebsd.org/D56390 > > (cherry picked from commit 9933bdcb12641839b7396ccd0c6b8a2d55d12744) -- Bjoern A. Zeeb r15:7 From nobody Tue Apr 28 22:37:14 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4wKz6mclz6cBgH for ; Tue, 28 Apr 2026 22:37:27 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4wKz24mhz3Ypb for ; Tue, 28 Apr 2026 22:37:27 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; arc=pass ("google.com:s=arc-20240605:i=1"); dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.160.173 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-50faeb8317bso71652581cf.2 for ; Tue, 28 Apr 2026 15:37:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777415845; cv=none; d=google.com; s=arc-20240605; b=duONYaCJDwD8iT44aFjWeYkOw87Q0hk2vUaYa7CWuEY/6TkchYhy/T0v5TJjU/qtEQ EPyScjlJmcTd696l2uoKhYFuXxzfO+bt5ZJQAVJMBABjzHWgkQ+TSBkNA44QX1vX47ML h6kX1fry7hdAO122fZoiusGowBFRzyT06eIpOThnL2njeubCC3ckwwmQxGXPn6OGANVW /TCIc+U2lF3JRYBgtP+3NHr1qQYTSepgdFsSbtFkaAQSO0vmLYN33Zbw0klgi/r9S28O RPc5kF6mSeqHkdyoj0lO2pn0SoYnsWOXMMwrxJ5oB2TT20FpJC2h8ptUQ/RVcW3ss0z3 /fHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=Z0afeT5qDWmrwazXcIyYIvWKv3LUlPGmVz9fdH4yypE=; fh=A/GCOYfl/dJ/C9fPKqu0540jkbQzcjRc5rts2L93XpM=; b=ETRp+CsKCSX5Yjkb7P37z2MfEHNRFrEBx+U0wuoZQiTmVDzm6NLbIo19X79k920AAy eJtiscj2pdHGBVExk6bYKdjIOi61Q60jrelUxnYD6l+n8KjySxi/BmcefquxKEU35aW5 Ibe/j4Day9sfVnTXwd8kwJQXTuG5H4zOit5s/dF0oCQwFPPHXqFNJ0WaASldux/27+dr nUPG9CKwq56pSVhiAvqZ0LmeZB30n362nZ/xOzJPUwf2fyRBGDYqo1XjU9L+taCGUEq3 1pEbhD/dGB/urVzfi8gejTJxBJKfmuUGrJ/xBiBifwwijfCK4QpQIusqZmVCGFgJoTVu aJ0Q==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777415845; x=1778020645; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Z0afeT5qDWmrwazXcIyYIvWKv3LUlPGmVz9fdH4yypE=; b=RXVL0IpmmURLyJ5OQV4AsZkYUCISUuHvLs8auLAwXyi2GHOl0dRbJeastt/ptatldD PGa2wwJrLd/elgTTOk/CQfFp8FRuXLdcFF+fNcev6bpedXX8qvtQlLgSELm3oyGqpQ/g sJgWGIIeTI3LjK7/y4wAPNkizkM58Z7HMcAnQu4z78Pb/VrPLpE30qPIhnLpP6eiPEad 9FYJQZ7PrXlJ+45kZGQMtEGdBplZuE74Wmxh3+scQq6jC2tYMe875PbKU4nVKbuoqi08 amS/B7krWGe5Ld0c7AhCvm5IE6CDZGWGgHreQy3WOs0PMAZJTi1m71Qq9E7n1F5QJPv2 1vTg== X-Forwarded-Encrypted: i=1; AFNElJ9dRQsBhROmB7rEoE7eMQIADLA/87LGaagKXel6LEmDU0t2IoMPIMDdAP2zQj3LJXVwsYTz6sGcpHGztWr5xnytwRLB@freebsd.org X-Gm-Message-State: AOJu0YxfiC/HnbMKn012hW147YjdH5UbEmOE8XVtvtIiycyULtUybw51 3eCoKqorMJuwqtjAs395A9FjB4NGSqJPoo6kZc6e8y7v/wQth+iW9n6GYFQ3f5gXUuL6gLOmkr4 Q2zBad14o3dZ4QYi/x0X56hdoQy0qmic= X-Gm-Gg: AeBDietDQzO+43Kp7ycmhEbwdHsqKzf5Dc3bLxQgG06h+WHiinh31ersQkKVi1XXg3A ecvsNuuXfUmlqiNfUD3CnbAu1IlTJL9LFViGah95CxKVL55zWvCYZ5ukUFCLydXa3PmpjmOexDB bLm9xD7B2ONnRobR8YFuGi7plaFSGHYcrbTg4/b94b584wWxMot2fab9cwi7unS/rqV/q8QDzcZ QhsFqB6iaRf+YxPSSVC0MYA9vNsU5oCudMCvJyXG7SSVEV2evMwVETQ5bRY2WTM/kBaLzNlJ20y ZsYnhaP1rY8BR3GqOBIgz3mTFQRLAmM14k8bAhqIGfyJVZ2GqgHXoLyhAyoZXjombmOnckvioni OO9/oY++D/eGSQpQdKlR2XqQBO5Zsg5KdSVO5Vw== X-Received: by 2002:a05:622a:1792:b0:50b:577c:e259 with SMTP id d75a77b69052e-5100e1aaa83mr72264791cf.35.1777415844813; Tue, 28 Apr 2026 15:37:24 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> In-Reply-To: From: Adrian Chadd Date: Tue, 28 Apr 2026 15:37:14 -0700 X-Gm-Features: AVHnY4K-lEmtsy1QIa8tVU48UYZ4UqB7fXaJm5oPIKa1f8LAJbhX8DzrJPC3RIE Message-ID: Subject: Re: git: ba94d7574972 - main - stand/common/load_elf: Do kernel module relocations for PPC To: Lexi Winter Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-1.54 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_LONG(-1.00)[-0.995]; NEURAL_HAM_SHORT(-0.54)[-0.544]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; RWL_MAILSPIKE_GOOD(-0.10)[209.85.160.173:from]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.160.173:from] X-Rspamd-Queue-Id: 4g4wKz24mhz3Ypb X-Spamd-Bar: - On Tue, 28 Apr 2026 at 14:54, Adrian Chadd wrote: > > On Tue, 28 Apr 2026 at 14:45, Adrian Chadd wrote: > > > > hi, > > > > This somehow breaks booting in pseries VMs in virtualised ppc64 on > > qemu, both ppc64be and ppc64le. > > The loader gets through a bunch of kernel loading and then hangs > > before it jumps into the kernel. > > > > I've committed some remote gdb sins to figure out where the CPU is in the loader > binary, and it looks like it's in load_elf.c : elf64_reloc_ptr . Nope, the problem is mine - it's actually not hanging, it's now just doing a /lot/ of work to relocate things before the system boots, so a fully virtualised ppc64 CPU takes ~ 40 seconds to run through the relocation list. Ouch. -adrian From nobody Tue Apr 28 23:06:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4wzf1ywNz6cDRQ for ; Tue, 28 Apr 2026 23:06:38 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-22.consmr.mail.gq1.yahoo.com (sonic301-22.consmr.mail.gq1.yahoo.com [98.137.64.148]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4wzd2Fntz3cGT for ; Tue, 28 Apr 2026 23:06:36 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777417593; bh=UTHWxOFdYnXgdLwPDlmMOzfgk6yszg0wk4gr29kkasc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=UyHVqauGVTZCwlji8pKzjEjq/B3uf1m6LFF8m+3TYXUuJScAjRaKiA7wQxtrbvbiZyEX/Q8jflv6hgJp7TfIGcvELcXdC41GGD5wSux+sWK6C/r+eKyjR1d5bf2EVET9e8jlT3a7qktJtizA76tnwF0UIHfc3buB7FHeW5V2g2ZZH4X8+J0DLspohEeeO21V51EhBimIHWHSX+bz8uUFeel6/l5RZEzdM3tp7CtpCOBEsC/JFY7DlO73x8KiCsyo8o2SIS0iGDbxng2vEmEe5lInvrVrhGUmWPqZi9YaZZ5/syFS2G7w5TgZyHftELD4JbIfvKIwxcL3kWyF6EraJw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777417593; bh=ZuOQW0jgkfjjkPHVZ6I3LKHkfh/lzjq4lxomGzkuQki=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=Hij063QuMyLkSbog3yG4Q+URSQLleNgq4nH3uPKXNU5uiqfAEZ8fnQNNjObYu/25DRm1KoBEttAnOgds2XGAowniktSTwePvGXapb0uTheB6eAp7AjOC20eYdpcU5r0yuIQgU2uwZw5hprACXIo2FBuIemim/wDLIL9WEmgJJZUH80kEQvLACoNMaHfmFkmYwTxkr0lnm+tpAegtTFFu3i+DcyRFQxH8w2Gw/5Fs+QRdC059cma2g2WS4bqVYTuaYnHq1Hq63hGn0astlNMfWJpWPgHoO5ENkj3WWwV51ViOe+QL0S9rGc2dqnG+ZtOSaIpQQSbN6FNFAdWmVxWvkQ== X-YMail-OSG: sYCpZ7UVM1lOE34mNN4jaPSeLBt8xHOZ6IRXZFB.NpoVGG.xdIbaGub6A4X8eUy 0KvjSzp7bqAgBzPebiDhdk5zfHBaz.sBvTRtpVGZRkKmTmaqTEi8k.0qGvMUCgCHL139b.T.FIwP Xks9kdkQGjEyI6T_4catqdif4M.dNU7l.Ey1xD0uQ47jagL21fYn2ZBQ31rkC5w1S4LPv_6sHUe9 FYR107a47vSiVx9waP3p5awDc3CQ_06eQhdDoDJAhzUS4SdC560gzNSW.t4jCWjVzX1gt2RMHHWu FmBme2Vib5jpdIrNiuPBs_XQtt18QGi7vN_SSksoEOP.e4bag1nhkmhWsprOKuouSA7UxQop0CZv 2vcckYagO8RAmKSyUpWMaUa5F.3mSLKePG.V00asUOCRzvoTRkrgK005U_LZ9yXB6G9LtnC5p2Mt th_8Z6KaEnQ9IwkvEBKHZV8HjTu0RodkqF22njOHDXEONNsodwAcVuqKL4RgWZiC.XwqkgO1KaSF pCpXMO9Soj0VYn.83qs5TqnxyQpiUGy4OxIPACDWzoGBeK4IhddgvC6nykkfqBgtKAmwh2Fxa_vf 0gwzYxPGuYaunHuTVRsYKCjXua6pYKPauqnVjD9nag3bHlfsS2pRyig9tilNMDFSSeQcif8qqI_1 hbwFmmQfkvJ1ZH904MwgLMI8svdB9SBWOPs8ovFM3Y_7bqQlcxqBUZH6hzufr09hfJecqzQ0uaLr 4y6MbJq9acPtZf_ux49T7Kek1v6044OIFFFdvm8VbC0qJAQ45Cazyf3uBaYk6RFabG0NPVoO6g9Y OhR1UcuffoEOytbmucj6qoJPlOrkWqfWu8nNyWnd_W10tg9KGtZNwotcGvFzOU.rVUk_J9KJCxGi f8n1prD6I6d.b7sCLE29Ulumzu78f2S.npiWSjN9aghb0kYyv6ez8SqElAjg5BxDtGw.BWon.AdJ TLjSP16A5tkKd7jIXc4.m6bPCu8UVByz0ubwGfP4bpZbon85ONm7OvWa2hD6brFeEDsBqEOaeHTB YIKRAv5VSk8mrhrTbn60bCNpiyX4fxvtFp6YvZCqCFc3meFBMii8HQZRQFqp5MPP8pP16LiGCXow Bb1s1M7c0lwTNtLBTI78VCJHR6Z_kgvDpClcQ6AZxKOFj5oht.F4jabjwOGuYt39zEWlLz3opS9I TPcWebwojvAxmNBlNc9dqyUFRMuhk7yvE7NYA12A8TIPnbeMMdgWtnvYNHlnbFTDzz1ZM1x6ZhoU HuCHGbR9ebcbxGpX8.fKtw2mSJEmFyYfhIC_WCJohJEgbMytVGUbMRq_myF185QlhCn.MNLJOC21 krZuiM0aBq7dVoW1A0CfLaJKlNk.xSyzl9WqlZJQulE9uyU07vXosWT0v.PqiRvCUqKoYF2gkphc CAIYwVOXH5.GPHcgaB9NYZCg4CDljIJjvAxQXQ.XjoE7XhbpZkkKfw60fwUnuKelryFMCXwACrhc fWH6B04fNalsqHlsR9iuYq51MDK2FYYgpY3HtxQuM_Ecfcw7kJVDaAvlVXYXQbdQg48w2z2AFTYu VSTPDzkcMg_wXvFVPr98buLQyXnEvpsynv5xYGGyDWRNOSyKFpnQ6vRZTTFe03HGNeDUAHwY0ZR1 L1MOgR13BECnPAAoh3g.4rbW9m4GCc4kMqzO3p1hk5IuSLzuJEByH2ASVA7cqq3J6ovlNpHXmAJx g66.D3_tor1uB7.xkmTgSNeMKhcNMT6P50M82ZWmwIQUza4SNQegym5AfjpSNbiDG47Kr84NV0JP uCSj1zM.dXv7yiu87P.xqSeJmS88AOjn_GGIqiV48wutpY5GYTB0W7uqHgSnc7roCCtMyFJxXtEC G6eDV8NGBc3gDL9SDZbzcdFsYFm6Y8MieL1LtvC45DVnEZihu21utDcqXFPa9x0FqcXBx0b9avMV FLZgfhu2u2NyV.3FHTPEODpU.OUCgydx.vfNbfzjDD_1pZv5ooPoD4qMDYlf8c7EshMkwYztoVqG O48UmMldVPvvBnTUvvb5sMy6BsC55iFLIzpVrACpLK4xZoziIfURYmgBtLZd8u3WxXkPR0G5zHZM jF46qUIQ4WKs5.JLNOuRr9GLgaL.wh_C16AIIVBZJ9liWJ4O1b5W9OEc7wELBxMIJbE57p3fiXI8 CZop6WGJMzDE6sDdfiwtH3IhZA6FU8lCU_7VcPfkOplxmZl40M_ECge50GBGe6.uxubjTURv9kUo Nzzvr6iBXDDMoaM3QwVMIGkPp0Us3spmQJxiGpemvt1SPL1qdBg2E.jFTn7pMSh.m0sXB5WilbEO muYKUXY7K.H093OmI19U3hHBYqelZTA_1QIih5DO6w2D61ZFIQWfozMO6i_jm5cXUmwLulmbyLST f X-Sonic-MF: X-Sonic-ID: 01b7b40f-cc7a-429f-a0f1-201d890d7f28 Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Tue, 28 Apr 2026 23:06:33 +0000 Received: by hermes--production-gq1-7bb7df5c46-r2c7b (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID fd0131b83d732a7a25413ee53719c70d; Tue, 28 Apr 2026 23:06:28 +0000 (UTC) Message-ID: <13e05438-16ed-4049-b595-cfb6929aee79@yahoo.com> Date: Tue, 28 Apr 2026 16:06:27 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message To: Alexander Ziaee , dev-commits-src-all , dev-commits-src-main Cc: mckusick References: <18c071e0-e882-400b-97ca-2c7f54a9c5ef@yahoo.com> Content-Language: en-US From: Mark Millard In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25559 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4g4wzd2Fntz3cGT X-Spamd-Bar: ---- On 4/28/26 13:53, Alexander Ziaee wrote: > > > On 2026-04-28 16:16 -04:00 EDT, "Mark Millard" wrote: >> On 4/28/26 10:02, Alexander Ziaee wrote: >>> The branch main has been updated by ziaee: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >>> >>> commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >>> Author: Alexander Ziaee >>> AuthorDate: 2026-04-28 16:59:19 +0000 >>> Commit: Alexander Ziaee >>> CommitDate: 2026-04-28 16:59:34 +0000 >>> >>> bsdinstall: Improve auto-partition message >>> >>> Manually tuning ZFS for systems with <8GB ram hasn't been necessary at >>> least since the switch to OpenZFS. We have users reporting using 1GB RAM >>> with no manual tuning/issues. >> >> It is my understanding that FreeBSD 15.1-RELEASE intends on have armv7 >> fully supported with normal style distributions, unlike for 15.0 and >> before. (This came up during the 15.0 effort.) That sets some context >> for the below. >> >> Back when I experimented with such contexts for building ports on armv7, >> there were definite memory tradeoffs vs. using UFS and what parallel >> jobs / MAKE_JOBS_NUMBER_LIMIT combinations did. This was in the OpenZFS >> time frame for sure. (I tested both ZFS and UFS types of context doing >> the same builds.) These tests were "headless" (serial console and ssh) >> that avoided also having any other notable competition for RAM+SWAP, >> something that does not necessarily generally apply. >> >> I will note that armv7 no longer gets updating official port-package >> builds via FreeBSD distributions. Some folks do not have/use aarch64 >> that is also armv7 user space capable or just do not use aarch64 systems >> to build the port-packages that they want to use. >> >> Compared to 64-bit contexts, 32-bit environments (such as armv7) also >> have smaller multipliers for SWAP=MULTIPLIER*RAM before FreeBSD warns of >> potential mis-tuning. armv7 is tier 2. >> >> In other words, it seems that more needs to be specified about the >> workload context to make a solid claim. > > Yes, that's why I removed the stale claim and the link to stale doc. I was talking about your new claim: QUOTE Manually tuning ZFS for systems with <8GB ram hasn't been necessary at least since the switch to OpenZFS. We have users reporting using 1GB RAM with no manual tuning/issues. END QUOTE not necessarily applying well to armv7 for its likely common context of building port-packages for armv7 on armv7. > > Thanks for the interest and the additional context! > > Best, > Alex > >> A common case of needing to >> personally build port-packages on such systems at least likely does have >> differing tradeoffs involved from differing RAM usage. (Time to build is >> also part of the tradeoff structure.) >> >> (I'm not claiming that https://wiki.freebsd.org/ZFSTuningGuide should be >> referenced.) >> >> I do not know of Kirk McKusic would fully retract the paragraph that is >> on pages 49 and 549 of the Design and Implementation of the FreeBSD >> Operating System book as a summary of the issues. (Page 547 and 548 >> indicate more about what contributes.) >> >> Further, the page this links to is a stale >>> wiki page, which is causing complaints. Remove this misleading note and >>> replace it with a similar message for UFS. While here, reword that note >>> to be a bit clearer. >>> >>> PR: 287719 >>> MFC after: 3 days >>> Differential Revision: https://reviews.freebsd.org/D50971 >>> --- >>> usr.sbin/bsdinstall/scripts/auto | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto >>> index e9d6da149a85..ca0561daac1a 100755 >>> --- a/usr.sbin/bsdinstall/scripts/auto >>> +++ b/usr.sbin/bsdinstall/scripts/auto >>> @@ -50,10 +50,10 @@ msg_abort="Abort" >>> msg_an_installation_step_has_been_aborted="An installation step has been aborted. Would you like\nto restart the installation or exit the installer?" >>> msg_auto_ufs="Auto (UFS)" >>> msg_auto_ufs_desc="Guided UFS Disk Setup" >>> -msg_auto_ufs_help="Menu options help choose which disk to setup using UFS and standard partitions" >>> +msg_auto_ufs_help="Choose which disk to setup using UFS and standard partition layout" >>> msg_auto_zfs="Auto (ZFS)" >>> msg_auto_zfs_desc="Guided Root-on-ZFS" >>> -msg_auto_zfs_help="To use ZFS with less than 8GB RAM, see https://wiki.freebsd.org/ZFSTuningGuide" >>> +msg_auto_zfs_help="Choose which disk to setup using ZFS and standard partition layout" >>> msg_exit="Exit" >>> msg_freebsd_installer="$OSNAME Installer" >>> msg_gpt_active_fix="Your hardware is known to have issues booting in CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you like the installer to apply this workaround for you?" >>> >>> >> >> >> -- >> === >> Mark Millard >> marklmi at yahoo.com >> > -- === Mark Millard marklmi at yahoo.com From nobody Wed Apr 29 01:00:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4zVh6xLnz6cL4B for ; Wed, 29 Apr 2026 01:00:12 +0000 (UTC) (envelope-from ziaee@FreeBSD.org) Received: from mailtransmit04.runbox.com (mailtransmit04.runbox.com [IPv6:2a0c:5a00:149::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4zVh1XH5z3ly1 for ; Wed, 29 Apr 2026 01:00:12 +0000 (UTC) (envelope-from ziaee@FreeBSD.org) Authentication-Results: mx1.freebsd.org; none Received: from mailtransmit02.runbox ([10.9.9.162] helo=aibo.runbox.com) by mailtransmit04.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1wHtHX-003VT8-SV; Wed, 29 Apr 2026 03:00:03 +0200 Received: from [10.9.9.129] (helo=rmmprod07.runbox) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1wHtHX-0004s6-KS; Wed, 29 Apr 2026 03:00:03 +0200 Received: from mail by rmmprod07.runbox with local (Exim 4.86_2) (envelope-from ) id 1wHtHX-0000gT-ID; Wed, 29 Apr 2026 03:00:03 +0200 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: from [Authenticated alias (960477)] by runbox.com with http (RMM6); Wed, 29 Apr 2026 01:00:03 GMT From: "Alexander Ziaee" To: "Mark Millard" , "dev-commits-src-all" , "dev-commits-src-main" CC: "mckusick" Subject: Re: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message Date: Wed, 29 Apr 2026 01:00:03 +0000 (UTC) X-RMM-Aliasid: 960477 X-Mailer: RMM6 In-Reply-To: <13e05438-16ed-4049-b595-cfb6929aee79@yahoo.com> Message-Id: X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:50304, ipnet:2a0c:5a00::/29, country:NO] X-Rspamd-Queue-Id: 4g4zVh1XH5z3ly1 X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 2026-04-28 19:06 -04:00 EDT, "Mark Millard" wrote: > On 4/28/26 13:53, Alexander Ziaee wrote: >>=20 >>=20 >> On 2026-04-28 16:16 -04:00 EDT, "Mark Millard" wrote: >>> On 4/28/26 10:02, Alexander Ziaee wrote: >>>> The branch main has been updated by ziaee: >>>> >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D5ed26c21e4ff1d478d4611a= bbf3dc14cc1b77244 >>>> >>>> commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >>>> Author: Alexander Ziaee >>>> AuthorDate: 2026-04-28 16:59:19 +0000 >>>> Commit: Alexander Ziaee >>>> CommitDate: 2026-04-28 16:59:34 +0000 >>>> >>>> bsdinstall: Improve auto-partition message >>>>=20=20=20=20=20 >>>> Manually tuning ZFS for systems with <8GB ram hasn't been necessar= y at >>>> least since the switch to OpenZFS. We have users reporting using 1= GB RAM >>>> with no manual tuning/issues. >>> >>> It is my understanding that FreeBSD 15.1-RELEASE intends on have armv7 >>> fully supported with normal style distributions, unlike for 15.0 and >>> before. (This came up during the 15.0 effort.) That sets some context >>> for the below. >>> >>> Back when I experimented with such contexts for building ports on armv7, >>> there were definite memory tradeoffs vs. using UFS and what parallel >>> jobs / MAKE_JOBS_NUMBER_LIMIT combinations did. This was in the OpenZFS >>> time frame for sure. (I tested both ZFS and UFS types of context doing >>> the same builds.) These tests were "headless" (serial console and ssh) >>> that avoided also having any other notable competition for RAM+SWAP, >>> something that does not necessarily generally apply. >>> >>> I will note that armv7 no longer gets updating official port-package >>> builds via FreeBSD distributions. Some folks do not have/use aarch64 >>> that is also armv7 user space capable or just do not use aarch64 systems >>> to build the port-packages that they want to use. >>> >>> Compared to 64-bit contexts, 32-bit environments (such as armv7) also >>> have smaller multipliers for SWAP=3DMULTIPLIER*RAM before FreeBSD warns= of >>> potential mis-tuning. armv7 is tier 2. >>> >>> In other words, it seems that more needs to be specified about the >>> workload context to make a solid claim. >>=20 >> Yes, that's why I removed the stale claim and the link to stale doc. >=20 > I was talking about your new claim: >=20 > QUOTE > Manually tuning ZFS for systems with <8GB ram hasn't been necessary at > least since the switch to OpenZFS. We have users reporting using 1GB RAM > with no manual tuning/issues. > END QUOTE >=20 > not necessarily applying well to armv7 for its likely common context of > building port-packages for armv7 on armv7. Tuning filesystems for port building on a memory constrained tier 2 archite= cture is highly specialized knowledge that is likely uncommon. I'm sure it would be appreciated if you put something on the wiki under the= arm namespace about port building! Please let me know if you do so I can t= ake a look too! Best, Alex >> Thanks for the interest and the additional context! >>=20 >> Best, >> Alex >>=20 >>> A common case of needing to >>> personally build port-packages on such systems at least likely does have >>> differing tradeoffs involved from differing RAM usage. (Time to build is >>> also part of the tradeoff structure.) >>> >>> (I'm not claiming that https://wiki.freebsd.org/ZFSTuningGuide should be >>> referenced.) >>> >>> I do not know of Kirk McKusic would fully retract the paragraph that is >>> on pages 49 and 549 of the Design and Implementation of the FreeBSD >>> Operating System book as a summary of the issues. (Page 547 and 548 >>> indicate more about what contributes.) >>> >>> Further, the page this links to is a stale >>>> wiki page, which is causing complaints. Remove this misleading not= e and >>>> replace it with a similar message for UFS. While here, reword that= note >>>> to be a bit clearer. >>>>=20=20=20=20=20 >>>> PR: 287719 >>>> MFC after: 3 days >>>> Differential Revision: https://reviews.freebsd.org/D50971 >>>> --- >>>> usr.sbin/bsdinstall/scripts/auto | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/sc= ripts/auto >>>> index e9d6da149a85..ca0561daac1a 100755 >>>> --- a/usr.sbin/bsdinstall/scripts/auto >>>> +++ b/usr.sbin/bsdinstall/scripts/auto >>>> @@ -50,10 +50,10 @@ msg_abort=3D"Abort" >>>> msg_an_installation_step_has_been_aborted=3D"An installation step has= been aborted. Would you like\nto restart the installation or exit the inst= aller?" >>>> msg_auto_ufs=3D"Auto (UFS)" >>>> msg_auto_ufs_desc=3D"Guided UFS Disk Setup" >>>> -msg_auto_ufs_help=3D"Menu options help choose which disk to setup usi= ng UFS and standard partitions" >>>> +msg_auto_ufs_help=3D"Choose which disk to setup using UFS and standar= d partition layout" >>>> msg_auto_zfs=3D"Auto (ZFS)" >>>> msg_auto_zfs_desc=3D"Guided Root-on-ZFS" >>>> -msg_auto_zfs_help=3D"To use ZFS with less than 8GB RAM, see https://w= iki.freebsd.org/ZFSTuningGuide" >>>> +msg_auto_zfs_help=3D"Choose which disk to setup using ZFS and standar= d partition layout" >>>> msg_exit=3D"Exit" >>>> msg_freebsd_installer=3D"$OSNAME Installer" >>>> msg_gpt_active_fix=3D"Your hardware is known to have issues booting i= n CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would y= ou like the installer to apply this workaround for you?" >>>> >>>> >>> >>> >>> --=20 >>> =3D=3D=3D >>> Mark Millard >>> marklmi at yahoo.com >>> >>=20 >=20 >=20 > --=20 > =3D=3D=3D > Mark Millard > marklmi at yahoo.com >=20= From nobody Wed Apr 29 02:38:31 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g51hG5ygmz6cRyL for ; Wed, 29 Apr 2026 02:38:38 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic315-55.consmr.mail.gq1.yahoo.com (sonic315-55.consmr.mail.gq1.yahoo.com [98.137.65.31]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4g51hG0wVwz3y9Y for ; Wed, 29 Apr 2026 02:38:37 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777430314; bh=BLKUb4CQkYMNpTUPfO7gwTy2WAxW6qbeHgmtt7Lemog=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=cKvm4fMbZVNq+LE5liaJ5xZtFzWwUvHjJfB/Z6du+dSDwf5qqBi87gj//wY1hsNShMlBbcRnQwsgpQ6f/dF5ExMilRolIldHfmIcDlFDsoWVQ91hkTcNbD49/+oUKdPJNadVbwgdEGd9c+loCbPRpg2gIEvVnMrkJSIOQ9pZC2Lkpr7XS0tdYjujoCAk1KhCGgUex5oXhiCG6WkpUU2/Z8CIGbQlrXdl0zse80XR4ZGN0XTLw9JzRbyfK497t/GFjYcZSYG4JdAozQULVCCeO1hei+N8qr8Z4oXq2vy4zhxSKJKFsCmUlMaqjhPjMOngBYIuOJM1KKalYfajiTtjrA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777430314; bh=ehSSfjV22DqkjgLrjMGgzO58P/dlMkKamgkT5cN389S=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=lqShpsDbNA2iY2GoeEmaqryOKskD9osu/p5zV5Hk54HbHa9UBBuGSsDdgE4o2wu2osLJ11N+GTfjGYk5XfL51QcFG7UpnXKNnTX+Es2PpTZa37QtM/D2d5TMbxCvjg0t63aeV5DF6j2BuSAZmFC0Alj5j+LYEXbmezDaHB95R+Vd05rphmdwVGx0dBnQnPuOXmnLT02YaA9kY7idGTvpswZwg6Ua2T/PCX25ZtdflRRLb+2sGfGWCdS6zNx3NfBe3yN6lSqasQ+NWbL92j1fX5bRMldCcD+SM67rpvMPXnSnv1TsKiq0jS7v6pdYxZMo8kP2KBPLrmH0TaHKoo8c7Q== X-YMail-OSG: N.EUSA4VM1ktEtbf9GYhrKkSAAdVQH8USxsRPqan.9uG7KYuENFlkidbtVNRSh4 81fGneg1FalqHGfu72du.EWCFO1cbDQDchQ4JDBvS3xrlrUQGaybSKaPzjbBZBdUq892DV98E5YM fQUOGL3IUyfGrwZILuft3UNUgGbYqu6qwCxZzgkyT19wCrZfIY4g7S6V_qg_rzBi2CtI35_eLBVS VyHh55pCBOb_6phmStqF2sMGW1R.6b.zuzItkaKXn8AaETAKOn7GxZOa8A0jEM.jWurAIDZZTION GaipVpTTXPK9tA0ykEIxFeJELMztNBTzrYi7MLu_B779ygFUTM31M4ax33nmnTPxlnaBzpI61yU6 G2nLZX6_EzPI9fXp0fAAFEkR6ZM49qaLJMFg_2UWIPKyDpNuqiZodlDQwz3F6Wy9ksftKlUPfVTI J3R6vNqfi5Hpd.3MJti9sueqxIiuiqzFte2bj0TVPFgxQ2skuCpwc4MSmZyuHVPxwVH4gPUynGha 4wCYZNcdUkOligN8ZHYf.QiDMVUwWkB.DBrzdFDzAjNMibgh.3FSrqJ4HZbbhDT.Jbp2rg9W.Tg4 oAL.25ZiBUxHLxeO_RSoFvCJVnDFgxa.JcxgumdqbvMwEspnZos.M.E.Oz8wgF7FVsAmEkMPRSwf zPj8tqbyUtGqlg3uHqGihHgJGbRqbPtv0_KiqVEcZjYB7S0RAdF8g6UQInw9D86WIP9S7Q.ruLRI 2vl2FKCxTCzmvBjMoSwfBjIPWOcN2MtPnpHBoz5NQhHD2fkzKv6BC.fjCFf8blLBu2ZukxG6ONb9 5VKu38Phxx_dBLf.MWWc8VLp51nxUBGDTV1aMGM_FXm8Yb11hzDiYLdSsoyws.UBSaht8Y_zy85D o4nMpseB9UsUEpEVXY_yJvPn4tUflwu3J_C4XgYKrGtJDsm7tDcTFGJd1wM5a7wVq4mI2i4PHOrN 5eKtCk.GZOpE0GC3CWyZEyv0d8yrUEDnZfsgjjQDYh0gW1P5L4.sKlv3fsAfy3F2g7ca7N8L3Ink 8pDSesc45ae.8GnE1vfc76K_hKZhU4n97B4pAsV_RQPag1FDuEmb4OEyHIQPjbcgshFNsV5v.6FY zCOXbruSjTI4BCaqE7UdEsPlYoO0kM93gIw8uZfMlkCg7VejDgmuuLwRHIHPQYu5C23FBQow2q2c 2aqCHYRD14mlfSWC3iK.GGkV5Ol5y0H8I3RXCN_qqVFmICj9u8Omxc17_w1.1iwCfVQYhalliatx usZc4Dkzq1JOUvPGirWUC3cdFqC2Zn9hTdGcAE5kzr7n76PqRK6xQ9QJHTFA10ar4ZcCyEWb9bPv vQWr0bO1EgOW3y_T6K9dVttRpKAsuVWJeE_59.6ZCN6SUUyosZCEM8WJNO47EY06hNqyn5ljXCa6 mvZE5aIf9ye1h0hoUG_AYBSHwZ.Vls.wdZZB_.JACIDlSh4MQd6_sJVbI0B2_VaEk1RjMKq4QEQD HnHAnNDIfv0R5ld1Ox3Ny3ys1DqcmKmA.G5NPpYf3rh7eEHGewO0sc1KvXbe4nZUgWPHUWhjliXR blFaboZ3uHio5R7vR8J_o91VfZhiMZNPMWMxFf4fOYiFF9KU2fsOKtOXpbibYomGmPK59O1UwYN0 EOaypISLYv0bghUDXjQbx28lSA40pTulsf7RSX6q97lWel8bWATLvshBM4lfL007CtEVm.7HnH4F aYi.VFFhqZsbOVuE3.bJQhlpHN9.DEk11_Zc_4RDQV9059AA1LIgZ4uHy0LxHFYbPqniTvh35R_g re75rFssxgWXK.4as2ZLUGMIyz.uQL.icAsdmeBwnwLrwYe7m.CZEc2SL_CA.A7L15Cj3MO3qjtq WUKyQ0ZsjgcMkB8IcG2yE2QffI_SuPtBSAeS2X7dgWRFvOL.229EEfmC2PkHmZbjVYXsV_So6qVM JlUbBt1WMJ1VbT2csbWNeNB5QJXbw6UY9xdruiZ18eO7qRbPKs0mZAtgIxF1JjzTUn2ErbC2ZRtw j_ZhxIAkWMwjMllSlDXMkPDXsk3L3O9tkzDRPz..1FtZ0qS_zZ88ROY3hCSNNIz28WL1SiGcRvRS pTs2x4dE62mSpD4QRzg_q_y7mhxgjBZh86kx6PW5J5_gQp2hckGcnaKPIy08pJgpn_IaEM.oqzyf cS8sa5HBRT_b9dpm2IHLUz2PnjWGTr1jidWOrSrxxPL2_cZnjtEmk3SjgnlSBD8oD29iviHXSiaz eSUATUFYecE7BEsJ.rj0Y2B.Ovbal3sgjJt7B.LA6za0_odr78FE4ePv59HKUuR04ikYcCbTVH5k 4EvXYCnQ7aPbj6mQcgYdnDicmPUQE5ToyvmQxdm4dFVrgrH_fCMMdIY5i17pYscb_xtt6.DU- X-Sonic-MF: X-Sonic-ID: e6b4b466-9966-42e7-b331-612555e7a01e Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.gq1.yahoo.com with HTTP; Wed, 29 Apr 2026 02:38:34 +0000 Received: by hermes--production-gq1-7bb7df5c46-2fd46 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID adc066d0962cb68464cec936e3927364; Wed, 29 Apr 2026 02:38:31 +0000 (UTC) Message-ID: <58e18961-431d-447f-85e6-a5d746e9fc7a@yahoo.com> Date: Tue, 28 Apr 2026 19:38:31 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 5ed26c21e4ff - main - bsdinstall: Improve auto-partition message To: Alexander Ziaee , dev-commits-src-all , dev-commits-src-main References: <13e05438-16ed-4049-b595-cfb6929aee79@yahoo.com> Content-Language: en-US From: Mark Millard In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25559 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4g51hG0wVwz3y9Y X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 4/28/26 18:00, Alexander Ziaee wrote: > On 2026-04-28 19:06 -04:00 EDT, "Mark Millard" wrote: >> On 4/28/26 13:53, Alexander Ziaee wrote: >>> >>> >>> On 2026-04-28 16:16 -04:00 EDT, "Mark Millard" wrote: >>>> On 4/28/26 10:02, Alexander Ziaee wrote: >>>>> The branch main has been updated by ziaee: >>>>> >>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >>>>> >>>>> commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244 >>>>> Author: Alexander Ziaee >>>>> AuthorDate: 2026-04-28 16:59:19 +0000 >>>>> Commit: Alexander Ziaee >>>>> CommitDate: 2026-04-28 16:59:34 +0000 >>>>> >>>>> bsdinstall: Improve auto-partition message >>>>> >>>>> Manually tuning ZFS for systems with <8GB ram hasn't been necessary at >>>>> least since the switch to OpenZFS. We have users reporting using 1GB RAM >>>>> with no manual tuning/issues. >>>> >>>> It is my understanding that FreeBSD 15.1-RELEASE intends on have armv7 >>>> fully supported with normal style distributions, unlike for 15.0 and >>>> before. (This came up during the 15.0 effort.) That sets some context >>>> for the below. >>>> >>>> Back when I experimented with such contexts for building ports on armv7, >>>> there were definite memory tradeoffs vs. using UFS and what parallel >>>> jobs / MAKE_JOBS_NUMBER_LIMIT combinations did. This was in the OpenZFS >>>> time frame for sure. (I tested both ZFS and UFS types of context doing >>>> the same builds.) These tests were "headless" (serial console and ssh) >>>> that avoided also having any other notable competition for RAM+SWAP, >>>> something that does not necessarily generally apply. >>>> >>>> I will note that armv7 no longer gets updating official port-package >>>> builds via FreeBSD distributions. Some folks do not have/use aarch64 >>>> that is also armv7 user space capable or just do not use aarch64 systems >>>> to build the port-packages that they want to use. >>>> >>>> Compared to 64-bit contexts, 32-bit environments (such as armv7) also >>>> have smaller multipliers for SWAP=MULTIPLIER*RAM before FreeBSD warns of >>>> potential mis-tuning. armv7 is tier 2. >>>> >>>> In other words, it seems that more needs to be specified about the >>>> workload context to make a solid claim. >>> >>> Yes, that's why I removed the stale claim and the link to stale doc. >> >> I was talking about your new claim: >> >> QUOTE >> Manually tuning ZFS for systems with <8GB ram hasn't been necessary at >> least since the switch to OpenZFS. We have users reporting using 1GB RAM >> with no manual tuning/issues. >> END QUOTE >> >> not necessarily applying well to armv7 for its likely common context of >> building port-packages for armv7 on armv7. > > Tuning filesystems for port building on a memory constrained tier 2 architecture is highly specialized knowledge that is likely uncommon. I'm just worried about setting things up for more support effort being required. To avoid more requests for support on the lists and forums, a warning suggesting to pick UFS for 32-bit architectures would likely be more effective. But I'm not sure bsdinstall would have a reasonable way to present such. > > I'm sure it would be appreciated if you put something on the wiki under the arm namespace about port building! Please let me know if you do so I can take a look too! The experiments that I reported that I did lead to me not normally using ZFS on such systems after the experiments. I never became literate at tuning ZFS for low memory, for example. Another overall system issue for ZFS use is managing disk free disk space in each pool . . . QUOTE (from the book's page 548): Like all nonoverwriting file systems, ZFS operates best when at least a quarter of its disk pool is free. Write throughput becomes poor when the pool gets too full. By contrast, UFS can run well to 95 percent full and acceptably to 99 percent full. END QUOTE That would not disappear by tuning for low memory. Also, I was not likely to meet the 1/4 or more usually free criteria at the time. These days, for USB media, I likely would be able to deliberately maintain such a status based on sizes picked for use. But one has to know to do that, even for small systems. (Again: a source of support requests.) The book lists some more items in page 548's "[t]he areas in which ZFS architecture works less well than UFS" material that are less obvious. I have run into support requests that traced to such issues in the past. > > Best, > Alex > >>> Thanks for the interest and the additional context! >>> >>> Best, >>> Alex >>> >>>> A common case of needing to >>>> personally build port-packages on such systems at least likely does have >>>> differing tradeoffs involved from differing RAM usage. (Time to build is >>>> also part of the tradeoff structure.) >>>> >>>> (I'm not claiming that https://wiki.freebsd.org/ZFSTuningGuide should be >>>> referenced.) >>>> >>>> I do not know of Kirk McKusic would fully retract the paragraph that is >>>> on pages 49 and 549 of the Design and Implementation of the FreeBSD >>>> Operating System book as a summary of the issues. (Page 547 and 548 >>>> indicate more about what contributes.) >>>> >>>> Further, the page this links to is a stale >>>>> wiki page, which is causing complaints. Remove this misleading note and >>>>> replace it with a similar message for UFS. While here, reword that note >>>>> to be a bit clearer. >>>>> >>>>> PR: 287719 >>>>> MFC after: 3 days >>>>> Differential Revision: https://reviews.freebsd.org/D50971 >>>>> --- >>>>> usr.sbin/bsdinstall/scripts/auto | 4 ++-- >>>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>>> >>>>> diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto >>>>> index e9d6da149a85..ca0561daac1a 100755 >>>>> --- a/usr.sbin/bsdinstall/scripts/auto >>>>> +++ b/usr.sbin/bsdinstall/scripts/auto >>>>> @@ -50,10 +50,10 @@ msg_abort="Abort" >>>>> msg_an_installation_step_has_been_aborted="An installation step has been aborted. Would you like\nto restart the installation or exit the installer?" >>>>> msg_auto_ufs="Auto (UFS)" >>>>> msg_auto_ufs_desc="Guided UFS Disk Setup" >>>>> -msg_auto_ufs_help="Menu options help choose which disk to setup using UFS and standard partitions" >>>>> +msg_auto_ufs_help="Choose which disk to setup using UFS and standard partition layout" >>>>> msg_auto_zfs="Auto (ZFS)" >>>>> msg_auto_zfs_desc="Guided Root-on-ZFS" >>>>> -msg_auto_zfs_help="To use ZFS with less than 8GB RAM, see https://wiki.freebsd.org/ZFSTuningGuide" >>>>> +msg_auto_zfs_help="Choose which disk to setup using ZFS and standard partition layout" >>>>> msg_exit="Exit" >>>>> msg_freebsd_installer="$OSNAME Installer" >>>>> msg_gpt_active_fix="Your hardware is known to have issues booting in CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you like the installer to apply this workaround for you?" >>>>> >>>>> >>>> >>>> >>>> -- >>>> === >>>> Mark Millard >>>> marklmi at yahoo.com >>>> >>> >> >> >> -- >> === >> Mark Millard >> marklmi at yahoo.com >> > -- === Mark Millard marklmi at yahoo.com From nobody Wed Apr 29 03:05:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g52HJ1snRz6cTpM; Wed, 29 Apr 2026 03:05:32 +0000 (UTC) (envelope-from markj@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 4g52HJ074hz4287; Wed, 29 Apr 2026 03:05:32 +0000 (UTC) (envelope-from markj@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777431932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hxs+LGwDRyMzkB0+yRjE3Jh9AJqo5HHj9DxGWD8PpCo=; b=Nj9RBqzTkPheT9JMdxm+9JwBmWBQD396WMZ0+uoRt4yjDQLQrp5WuA0R5Bl+uMjWVG0E3M /uXMnfUm5PJpgQ50F4MJVN6A4zVJ87r4RELN8nhSZyhov1zr5YikuT+MPNIfrJ2QHMdB6D jnpzLbGasGWrFK+3OSaHXQ/HljsOO+P1BDhU8J14hAbBA/6Xtrq3sOlrHgWm25aU1JcaWN QED9QggwQ17BVFCpTR/kG0xu5i0Ti4O6XvzCuej71F1ji+4C9hLeMuFVXu08dMVqrlruwi nLj+/3bTBB6qEwsKyV4aZhdIuc77k+/8fjgs4cCDjTjlc6F0BbWKvPL0ZigaVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777431932; a=rsa-sha256; cv=none; b=auAb2jhTSlloxfyM724Dt7XxHgnrkPuJtuLIs/wFBdei84o+qhIWZCi1JB3llvnKoM9bZA ZSqqyu3+1S+LqaQQWfl9XjwjhD/Gfq4iknGfi93quPvw5DwdnC9XWoMQmNUxIQe+m2Zbpx 67PJiF9sCMmOlnxvdlU9zjeqIuN6B6wcVLFgbsDiAr4SVAKJYPED/BFrYXH/J4k+H1Kgzd S88/g5idL4DfHbRFYXUH7tzM8a/F7aHHFIg7V0SmAJW89xNHM02OKB/65QAZtXoj2DFuNI iotnstpFdcHyhEj1iIn8OswH0/CBd2kW+q0+LyoF2rH4y1YGT0AEfIMR2zIQVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777431932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hxs+LGwDRyMzkB0+yRjE3Jh9AJqo5HHj9DxGWD8PpCo=; b=q+DtmsOWHGQs7sRyvC7AzpOVnXwiSJN+cJzh2bk58fJPTIeQHwevx4bO9qexiu2m1EUz3Q DmtooZ8kqfKiP08w0COga/vrU5QXKdm6nSI6mi6GWjsW28Q/7LONR/0JBN2galoiD6pATx sEylcJlzQMgza8UQduYPIgEZG6gEVhQlr7MnnkKOu1EceimCoYRwwXwN4+5j/cUCKwniu/ zZCzDdH3H2XbZiPMH/dMR//dGEA+x98unU7EyJKFjyIO+/6gCz4obCkw5QkgsCmAYxivwr GIS7vi2ibZq6AibVmOOekX0FwcoHpreekf0jJir9pr74GKDlDSESl72mhY8e5Q== Received: from nuc (192-0-220-237.cpe.teksavvy.com [192.0.220.237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: markj) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g52HH5PWbztqr; Wed, 29 Apr 2026 03:05:31 +0000 (UTC) (envelope-from markj@freebsd.org) Date: Tue, 28 Apr 2026 23:05:29 -0400 From: Mark Johnston To: Andrew Turner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Harry Moulton Subject: Re: git: 58de79153622 - main - arm64: mte: configure initial state for system registers Message-ID: References: <69dcfc89.464ef.4e312925@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <69dcfc89.464ef.4e312925@gitrepo.freebsd.org> On Mon, Apr 13, 2026 at 02:24:09PM +0000, Andrew Turner wrote: > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=58de79153622145cb6fc57bc92c4de678876992f > > commit 58de79153622145cb6fc57bc92c4de678876992f > Author: Harry Moulton > AuthorDate: 2026-04-13 11:54:38 +0000 > Commit: Andrew Turner > CommitDate: 2026-04-13 14:23:05 +0000 > > arm64: mte: configure initial state for system registers > > The fields in SCTLR_EL1 and HCR_EL2 for enabling MTE are set, and if the > ID_AA64PFR1_EL1 register shows MTE is present, the GCR_EL1 register is > also configured, and the two TFSR registers which hold pending tag check > faults are cleared. > > Reviewed by: andrew > Sponsored by: Arm Ltd > Signed-off-by: Harry Moulton > Differential Revision: https://reviews.freebsd.org/D55946 After this commit I can't boot a FreeBSD aarch64 VM in qemu using "-cpu max": boot hangs shortly after the loader handoff. If I revert just this commit on the latest main, I'm able to boot. From nobody Wed Apr 29 03:06:39 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g52Jd2rM0z6cTmF; Wed, 29 Apr 2026 03:06:41 +0000 (UTC) (envelope-from ivy@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g52Jd23c7z42cn; Wed, 29 Apr 2026 03:06:41 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777432001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EK3zmoKwQMaa1Zf+pL0i9Xh2b58QN/N2BeH/6p1hTPk=; b=paELPZ2arGKXs/+giUUNGDJXYGk5jhTRpbwvxJIUAVkufYJXz4YHhWs+CjfSUyn4L5LpyM TqtAY9QxtuyesMZksodJx31hblx2/bDKAH/YVmZBiCbf+V6lzvx0dXUUNww0pYOnRxjoiY 7zHa5fR67A+TJ0UOJn3M8DjkSVxPQfgkc3kQ7BTid/0TZnjGaHimGijBRjiQmzHQFxrhx6 JB9UcGnycjqVJVL6p0/ojtbZQ7y1d8YxzZsHqw3x7QOO1oUki3kY/RzwXXvmMJIO0/9M3v p7YpCm0qbkgDrvHl/UBTlqy93RroQFui+j0vDu8pgQgCAEzMxr/1O0s5LoRJsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777432001; a=rsa-sha256; cv=none; b=pkqHUzAdwKbGECRf3t6LpsrDlrlyk7fAQCoUgiyaJgLBu2e2IiKA4P3wy0isLMFjBOA8Bi er6nasgHfU0mEqoJuoFDyB+VJ27X4f3IQe/cdcS4Lkr22/hNR11ThOqSpExW4VX3XbQyDq MsMVBiZrAA3xkxCL8t+XmS0ET6WzXAIcPmhppWtuhzPBWDwgamfd0mml6nv3wNvjHZtqMY 2SandtZSdJO14k95qIeOzTW4c9vpttF4ayaC0neuviRUIUhHskNuEZF9/vZBn9jl/PTsbt UuCLDfP9fI9zIgeKCzd4AuYns7ruSehTNby1VRwT61qJDdbXDQS/ZWjOSKgNqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777432001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EK3zmoKwQMaa1Zf+pL0i9Xh2b58QN/N2BeH/6p1hTPk=; b=GwH2FhjIut3YD7hnkIgRhoHzrIgN67SGrwRuryFQ+05Le4esSP7jcLgzVAQ+wcMnGUHuOh mGU10oba2hhFbDhABD/C68e/ObKFngd2iFA6cBoeFNJ9vrQAoRhvXZh8WGUknqYtA6srw/ ICY3VmOXq7Q9gXJ4r9htmvy8WJyu+O57rF55qq0gMSQiah68Nl9JIy/BoiwKv/C0vyYOjE kxxFYl4awdDpS2c27H5G7Ce9VwGcnIhuOxrWAmFieUCyTs9lXU4a3HmZDACsGii7rx7xVx FqtUuEiS5YB82IfLjRaodeQEtd8UF8YsmLYLuOmgqv5zm9BHZXQ9Re4nAfT8Kw== Received: from amaryllis.le-fay.org (amaryllis.le-fay.org [IPv6:2a00:1098:6b:400::9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g52Jc4fTVzv28; Wed, 29 Apr 2026 03:06:40 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Wed, 29 Apr 2026 04:06:39 +0100 From: Lexi Winter To: Adrian Chadd Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, ppc@freebsd.org Subject: Re: git: ba94d7574972 - main - stand/common/load_elf: Do kernel module relocations for PPC Message-ID: Mail-Followup-To: Adrian Chadd , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, ppc@freebsd.org References: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="JCrvZBMxwL+/HsGb" Content-Disposition: inline In-Reply-To: --JCrvZBMxwL+/HsGb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Adrian Chadd wrote in : > Nope, the problem is mine - it's actually not hanging, it's now just > doing a /lot/ of work to relocate things before the system boots, so a > fully virtualised ppc64 CPU takes ~ 40 seconds to run through the > relocation list. sorry. unfortunately, i don't think we can revert this since without it you can't load any kernel modules, which is also quite a serious bug. however, i will hold off on MFCing this for now (meaning it won't go into 15.1), and we can see if there's a way to improve performance. --JCrvZBMxwL+/HsGb Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCafF1uwAKCRD1nT63mIK/ YF5nAP9g7f3toGVDV297fFojaXJdwPxMCkarnJ27FpHpEYaqtgD/Sn4lMJTfOhET JFWRlJ2Mb9M+StALAFKmZmnvO7RzWwg= =GFKR -----END PGP SIGNATURE----- --JCrvZBMxwL+/HsGb-- From nobody Wed Apr 29 03:17:49 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g52Yb0BTkz6cVPl for ; Wed, 29 Apr 2026 03:17:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g52YZ5f8lz43Xh for ; Wed, 29 Apr 2026 03:17:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777432674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGmcVKofZdgDayaQN5W+/jZjWj09RjHxGLwBWLO/9no=; b=hapi7TKOAiZaE2ASQ7/+/VJ+04PDBbrq86wj3LlZaiopnSH5EZpDCD/OOJQidCauBrTLUp N9I0ryQZwtaE+V54SjP0MqQFlpAxpwS0NXDzAtQyo9/ceR5KEB7c66Q2EXOjeXWFyMHP+9 e9kGmgT8Dlgk0YCF+3jtFIwF/iwdaixsV2xZaWBsJW/SOqgJWAnEVozRFND0i2r8xXG2yr 4lma0wWmM6VTCGC0Zro4BBZwOdPk5UafjBc4nClml2D64EZMNc5AIvBMeq4bzGRGXAbgpk QGvBDUHUa2sN8Htfe3+xsEsG8PbtkhLbCbDxmN4I5KVFk+FCcIyDqm4iMVxvJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777432674; a=rsa-sha256; cv=none; b=BiU+5h7rhKVHxsFln4Rp5B7Oahhsyifv94L/2bjFxAOXVuVNyHBRMEYazjJR3SH9TGW3Xp vu2hbUcyX10H+B5g9Q0xFc12/JBWLh2FRZLlLqARV3RBwlB3F3KbqE193N+G1hfIyphRdd WqvljuAlfNyXbpChbBTgxvak0Wdy6nOPlngmk4J6HQg8/hfkKbWFDL+TP/wW0cmofQA1jr mZLIPY9PFu+0O9LtBofMzUloNwdYs3U5cdixo9tEOuRZExvWSKQJI4rIiYKVe+PIG9283O qSfqDUFWTweZSFITPL+Fy9OIDjHt5hvQtnohJY7YPPlssh+SwOtGjKJ12SEVgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777432674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGmcVKofZdgDayaQN5W+/jZjWj09RjHxGLwBWLO/9no=; b=jGbnfpxz/aIB4UApYdKgCrL3XQ3h/Vs9/SWxcAelusQ9GYgo++eu8s3i6zvzhzoLxSn7gF Es6VXorwsJnr6LqAQYk6/NP1Ncty4UxHgBvwcWk35PRjDHfq6X/34Tl4XrOPUDd51rmUzX uDh7ZdOszkVXP5kZwbZJ2343z6oY8XANB8Dr2fzknhDRyePN5C6JlZnrSlAb/YIL0qWIHC 6gtWONEjfYM7JbKeLnvk/nEOpXAJMyyYIN9jhQQWpDxgCVuA/8nkDj/2jhGjQHlrp5O5n7 IJRDjTdSXBqXXUsTdSKfY3bLzc4AbyOyV7aPq0T6BAa3l7Cre7QYQi7UfcmtZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g52YZ4y95z6w1 for ; Wed, 29 Apr 2026 03:17:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42458 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 03:17:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 454322c08b8a - main - libifconfig: Skip bridge VLAN config for span members List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 454322c08b8aa181939c8d920472f03cfd591032 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 03:17:49 +0000 Message-Id: <69f1785d.42458.48755830@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=454322c08b8aa181939c8d920472f03cfd591032 commit 454322c08b8aa181939c8d920472f03cfd591032 Author: Lexi Winter AuthorDate: 2026-04-29 03:11:20 +0000 Commit: Lexi Winter CommitDate: 2026-04-29 03:12:20 +0000 libifconfig: Skip bridge VLAN config for span members bridge(4) doesn't support BRDGGIFVLANSET for span members, which means if a span interface is configured, libifconfig will fail to fetch bridge members. Skip this for IFBIF_SPAN members. PR: 292634 MFC after: 3 days Reported by: Emrion Reviewed by: pouria, zlei Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56694 --- lib/libifconfig/libifconfig_bridge.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libifconfig/libifconfig_bridge.c b/lib/libifconfig/libifconfig_bridge.c index 675bf5dd2ff5..2bb2952aeef2 100644 --- a/lib/libifconfig/libifconfig_bridge.c +++ b/lib/libifconfig/libifconfig_bridge.c @@ -139,6 +139,11 @@ ifconfig_bridge_get_bridge_status(ifconfig_handle_t *h, } for (size_t i = 0; i < bridge->inner.members_count; ++i) { struct ifbif_vlan_req vreq; + + /* Skip VLAN config for span members */ + if (bridge->inner.members[i].ifbr_ifsflags & IFBIF_SPAN) + continue; + memset(&vreq, 0, sizeof(vreq)); strlcpy(vreq.bv_ifname, bridge->inner.members[i].ifbr_ifsname, sizeof(vreq.bv_ifname)); From nobody Wed Apr 29 03:50:32 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53HL3MxXz6cX3H for ; Wed, 29 Apr 2026 03:50: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 4g53HK6P3Xz45tV for ; Wed, 29 Apr 2026 03:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777434637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cM/bfFHtHzG8xLyZdYv45w7LyEz1eLOOW4B/etdU168=; b=b+D2ZxbEUAJokJo8+UN6JJrAZyuYBqODBv4ep3pDjStMYElxT7hT+D9JnZ+Zy6BSMncwnQ 1clsT8iHbDlDV/Aswj/j36x6iG6BcdS87IDt7MnsCVSj6EjRucDmNFZ3R/EhoSELGa2Bf3 SAUiGkLxJQRopYEoBeJgVuQkDj8sTa4Upyn949LUjRMBmR4I6uhAUbqcult4efHYf3ruES ShxXnhm2My61wwe1ws+4KMWdphM70qZYcZjPujYr7/L9P7rcpnOTBPKlw5tcEoCUEWqyYp mdhK2x/I+k2HfB3RwV90YqswAKvAnuQM/DxrRvoHguC8yzgX86FNYu5XVSdrHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777434637; a=rsa-sha256; cv=none; b=Vi1xpCWoYmsDo1GVCZ4SV49Z70Q8baqGjJO51VllcKohBtidCAL0GL0mQbAZo7dMHn3v3c rprwKqwv23bIEKoyrD5gANmnugtGogrGJ4VdJ6GLZf8ABMtyoG4BKUz4ucl9toN+B3oJG6 ywtKxoZHZJ8bIt5y2fq6Pn8K51g4E1jVCzcYgX8icb4LcA6jrA5vj9MPeKi+OFxzAfib7H w1ibeeE+Ye4u9XvRSMKozO45Hyw0CzsOYC6CEk1uTXmeDo3gLG7GMx1/UyxnAeCoUy2kzV S4GwvVTe5YYnkrXAXuqx+tIHf4yx58qrBTkKNbrA1hT45/tkrMNc5w0lsCHvYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777434637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cM/bfFHtHzG8xLyZdYv45w7LyEz1eLOOW4B/etdU168=; b=hhRqy2Ktppm8T4VY/mho/f6YnMKpsvLVmB4Qfbk06ENlMkc2LoDJ7dUlWb04ic2DggZNDc KMogTohGjY++OSqpi0N2N+QpnAUpKTzcZtDwF6+Ih5GT1IkkbArmO74HYw9Qnb4WFfRhyW PLNEXdLS30S7Eq6U+TSD9+VrM3yDS+7mwjacOXCCxn0Ukf7vkOl/CUezoU6nQxE6HiEV0x 4dfbbfjHsCBdKDxUoYlToOu6/HyAT1KkKDAvYmJGlIsSseKsVuucNHgJTjf4l7wrtMKFFX bfDsWTqi7Pvh7yqCSE+2Fn/KnH8j9T556zkww7aJyDtT/vJ42Anc92YoDqNtVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53HK5gHZz83c for ; Wed, 29 Apr 2026 03:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 447ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 03:50:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2c2ec6bbc9cc - main - tests/sys/arch/amd64: add a program to check INT $0x80 behavior on amd64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c2ec6bbc9cc7762a250ffe903bda6c2e44d25ff Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 03:50:32 +0000 Message-Id: <69f18008.447ea.6ea1652b@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2c2ec6bbc9cc7762a250ffe903bda6c2e44d25ff commit 2c2ec6bbc9cc7762a250ffe903bda6c2e44d25ff Author: Konstantin Belousov AuthorDate: 2026-04-27 04:23:36 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-29 03:49:46 +0000 tests/sys/arch/amd64: add a program to check INT $0x80 behavior on amd64 Requested and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56654 --- tests/sys/arch/amd64/Makefile | 7 ++++ tests/sys/arch/amd64/int0x80.c | 94 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/tests/sys/arch/amd64/Makefile b/tests/sys/arch/amd64/Makefile new file mode 100644 index 000000000000..34f3c90c4082 --- /dev/null +++ b/tests/sys/arch/amd64/Makefile @@ -0,0 +1,7 @@ +TESTSDIR= ${TESTSBASE}/sys/arch/amd64 + +PLAIN_TESTS_C+= int0x80 + +BINDIR= ${TESTSDIR} + +.include diff --git a/tests/sys/arch/amd64/int0x80.c b/tests/sys/arch/amd64/int0x80.c new file mode 100644 index 000000000000..e03462a6dccd --- /dev/null +++ b/tests/sys/arch/amd64/int0x80.c @@ -0,0 +1,94 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2026 The FreeBSD Foundation + * + * This software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __amd64__ +#error "amd64 only" +#endif + +/* + * The check to see how "INT $0x80" behaves for amd64 native ABI + * processes. Before bd8edba0792b71be3f8ed5dea9c22287e95c986a it + * executed syscalls with amd64 calling conventions. After that + * revision, it should raise SIGBUS. + */ + +static uintptr_t int0x80_loc; +static int signo; +extern char after_int0x80[]; + +static void +sigill_action(int signo1, siginfo_t *si __unused, void *uctxv) +{ + ucontext_t *uctx = uctxv; + + signo = signo1; + int0x80_loc = uctx->uc_mcontext.mc_rip; +} + +static int +fire(void) +{ + int res; + + asm volatile( + ".globl\tafter_int0x80\n" + "\tint\t$0x80\n" + "after_int0x80:" + : "=a" (res) + : "%0" (SYS_getpid) + : "rdx", "memory", "cc"); + return (res); +} + +int +main(void) +{ + struct sigaction sa; + char signame[SIG2STR_MAX]; + int pid, res; + + res = 0; + + memset(&sa, 0, sizeof(sa)); + sa.sa_sigaction = sigill_action; + sa.sa_flags = SA_SIGINFO; + if (sigaction(SIGBUS, &sa, NULL) == -1) + err(1, "catching SIGBUS"); + + pid = fire(); + atomic_signal_fence(memory_order_seq_cst); + if (int0x80_loc == 0) { + printf("int $0x80 does not raise SIGBUS\n"); + if (pid == getpid()) + printf("and syscall worked\n"); + else + printf("but syscall did not worked\n"); + res = 1; + } else { + sig2str(signo, signame); + printf("int $0x80 raises SIG%s\n", signame); + if (int0x80_loc == (uintptr_t)after_int0x80) { + printf("at expected location\n"); + } else { + printf("not at expected location\n"); + res = 1; + } + } + exit(res); +} From nobody Wed Apr 29 04:06:48 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53f61PM9z6cXw7 for ; Wed, 29 Apr 2026 04:06:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g53f55ktnz482n for ; Wed, 29 Apr 2026 04:06:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777435613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=34vdu2CpYocG0I4F3+5kvUJMNG0SbIC18vuMd8/jVNk=; b=vDuVLnPqYmhEenPMBvD0WZj0EhB9V1hVFzPRpRpuyXmeZiI1WTruhS3Yv2CbM+wliDL1VW AN9Vwsf7Bq+lE3Ey/fwT8W7G+9z9E5JLo+QL0DQHwnn/tz0HthMnri+NDtrD6nSKhaVvQX /DLKVCTKHnE0xK9Ei1VzWIhSpRbEL7z03vASJh7dr6teleodx/c8wiq4B8T+bYykyDJS/8 MyOCo5hehVBwPNbveduK2uvLnnUIlEvAkmJw5myRdcGzgFfBj2Qy4frNBO4bYYNImapVPp zykAs4ayorHTFsccim73mE50ymXurp2Hv87NriDtGKgZE4ITmcH5YqTGNo0qtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777435613; a=rsa-sha256; cv=none; b=L1aexRXF452ylC16fdLVMdMcOVsGsTQKT6aNbiC64aGhiHPnHf2bYK2xoKhzgA1+OmFNLM PwFHuIXPIx2U4Gbn4FCbywhfn2UnAdCJ+UEVCCMYNvA5eywSJwxTpHGpEKjsD4vySnvGyx S0NW30WaWRtjIql8JciXlNs7qsUzZdfjkdf1XGi2/eYb5HOF2PFfehs/M6Kad3RZkWmXQ3 vCi/CYL0F8Q2zOQe0GGRD80b34KtOV3q1lzw9fkGSyJu6VNCGO1YbOASIyYhYRqrBgKArC L3j3A7T0VgKXo1BK5Wow8OtLn6fAa6PpIsCmunXYAUvrQTX+DiEKDbsZuyPjKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777435613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=34vdu2CpYocG0I4F3+5kvUJMNG0SbIC18vuMd8/jVNk=; b=bcO4VbUCjZeurpltpJfLIniD65sQmpdAYjN5ODXeMxbNQ67wvCuLKq8uqNDdV1xi9eRywi M0XJC7YB6MhTVByEKRrJHzIycDPDZZMGjWQOGYQH6JOZm6IciiSHYiB80kp7N65Mw94/PX zCgJO/W7z410ovb2JM1Tdx1jPjxLXq7EaZciqeF/plizP7oIdVXnXZjgzPZtH1acWaDvuM MRgHYOHAl+zxVaMnISIhL8k12+bY64A+aqnlM5kn39/NLrnGnLhCOSNmVVOfSpjmUgIDC6 OQe/ZgJPgw9QfC6ttVg6y5J9m0FGNrZemib/MSPIUfBl0jXvCg2a9qOs3X2/7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53f54k1hz8Cl for ; Wed, 29 Apr 2026 04:06:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18567 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 04:06:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Chris Longros From: Kyle Evans Subject: git: 91bfba010bcd - main - cron: log when a crontab path is too long List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91bfba010bcda665cc24a76af631cc85fcb0c688 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 04:06:48 +0000 Message-Id: <69f183d8.18567.b59b7db@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=91bfba010bcda665cc24a76af631cc85fcb0c688 commit 91bfba010bcda665cc24a76af631cc85fcb0c688 Author: Chris Longros AuthorDate: 2026-04-29 04:06:29 +0000 Commit: Kyle Evans CommitDate: 2026-04-29 04:06:29 +0000 cron: log when a crontab path is too long Log via syslog when snprintf truncates the crontab path, instead of silently skipping the entry. Signed-off-by: Christos Longros Reviewed by: bcr, kevans Differential Revision: https://reviews.freebsd.org/D56235 --- usr.sbin/cron/cron/cron.8 | 11 +++++++++-- usr.sbin/cron/cron/database.c | 6 ++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/usr.sbin/cron/cron/cron.8 b/usr.sbin/cron/cron/cron.8 index 23a295393df5..f1a6a30d4cb5 100644 --- a/usr.sbin/cron/cron/cron.8 +++ b/usr.sbin/cron/cron/cron.8 @@ -19,7 +19,7 @@ .\" .\" $Id: cron.8,v 1.2 1998/08/14 00:32:36 vixie Exp $ .\" -.Dd January 20, 2026 +.Dd April 29, 2026 .Dt CRON 8 .Os .Sh NAME @@ -227,7 +227,14 @@ configuration file for .It Pa /usr/local/etc/cron.d Directory for third-party package provided crontab files. .It Pa /var/cron/tabs -Directory for personal crontab files +Directory for personal crontab files. +Internally the daemon constructs the relative path +.Pa tabs/ Ns Ar filename , +which must fit within +.Dv MAXNAMLEN +bytes; in practice this allows filenames up to 250 bytes. +Longer entries are skipped and a diagnostic is logged via +.Xr syslog 3 . .El .Sh SEE ALSO .Xr crontab 1 , diff --git a/usr.sbin/cron/cron/database.c b/usr.sbin/cron/cron/database.c index 35e5fad3524d..234b5ef7fdd6 100644 --- a/usr.sbin/cron/cron/database.c +++ b/usr.sbin/cron/cron/database.c @@ -166,8 +166,10 @@ load_database(cron_db *old_db) fname[sizeof(fname)-1] = '\0'; if (snprintf(tabname, sizeof tabname, CRON_TAB(fname)) - >= sizeof(tabname)) - continue; /* XXX log? */ + >= (int)sizeof(tabname)) { + log_it("CRON", getpid(), "TABNAME TOO LONG", fname); + continue; + } process_crontab(fname, fname, tabname, &statbuf, &new_db, old_db); From nobody Wed Apr 29 04:17:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53tf5BLXz6cYrM for ; Wed, 29 Apr 2026 04:17:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g53tf3Glpz49XB for ; Wed, 29 Apr 2026 04:17:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bWo+xSSRcoiL5q6R/WvZixNtbQNokiayV0fix46xtbk=; b=C+WoJTRbZVeXGYM5cULBt+iD+MOX1JIInU/m9MVZZLx4NhxWSENTKj+6I2/mPZJd3PfhKa b0wV0XB3TpU7KuTbzYUEe7SVvR5lcriyUUKtmiALUMCViYgdsgXlaLuTO9UJwr+C8OjRAN 2bNm1uaS+klZzEHFcfIPWeJTu0ebLN/0Mhr0lGrr9Bd5yDE+XQIJQ2ENX/OOcS4RHt/WR3 9HtEV2BIpcT18RbLGj7FDA+7mwAbBhBVAudiO/NZV9p1IvUAM40jG5CC6MKobV22eQu2X7 8dG+fXK0XpFLu/GBKJFq/okmT1Ye+5ImYV54dsyOuN63XvltyOb/EWa5r/CNig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777436266; a=rsa-sha256; cv=none; b=FeCyFJ1MfBEsBNzkHpGOAeZKTj7rl+LTHkUGJWWkxaMSWe6QerWRdJK3cpH5tsJSV96krZ fV7hPuh+UGEnZJwiQc5ywZSZEAimYdz8lQd9A1aOwBfAsfBEtbhsWflHpIWFBsV3eVgldn 59cpFhrvAQADxIa+Xp7D+3fIbYWHrAkR987Qq9Lfi1b2vfGWZ1YHfO0AhdQOxVQ1c97C6i K4R+A6w4Tj+14GI3p35C7CwVnTdo359Jg0OmuAPMOmIE9THs12l+3AIn00mAIDxvjAo1nK uqoMlTlvNcreFdpOaMPoJJ/n/IzmSjJgSa5QGNBFO5dyijmJIt0y1KEoHnqnzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bWo+xSSRcoiL5q6R/WvZixNtbQNokiayV0fix46xtbk=; b=xmGNwAi+8BTSEjPD8vqP7xOPhAVruI3yrCMhGm54UgyB23zxaHpDkEieE3iUnIQn1Q9kOw IMHNLvW8pZA6s9TiV6v9QnpnsYU22/06Xo2uN8uuk1CdVV6ahJFQEqNDTTmKVu/MrXPwqC NiqDtJIyex/FQlvE+B4+SThVtH0Nct2n3Xvk7bBG4Om8o9XLjevEPMJntc1CudGviaRCMM auCJlRRiH6hV2whXUVh20v6i7tIC7Hx9Vfh6OofNv0jFNwWRt0SYBAgZ84iBcGrugKWsHP l2iDTiuIObo6E77dOcDPgo6478IlKbbKoEDX2oxQ7UIz25AHR0vDtjqBSEQOWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53tf1xytz8NT for ; Wed, 29 Apr 2026 04:17:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 185c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 04:17:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2b8d6e404a4c - stable/15 - mac_seeotheruids: allow specificgid to be a list of groups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2b8d6e404a4c8a0683fe92f598a78899422b6953 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 04:17:46 +0000 Message-Id: <69f1866a.185c3.5b7cb87f@gitrepo.freebsd.org> The branch stable/15 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2b8d6e404a4c8a0683fe92f598a78899422b6953 commit 2b8d6e404a4c8a0683fe92f598a78899422b6953 Author: Kyle Evans AuthorDate: 2026-03-01 03:42:25 +0000 Commit: Kyle Evans CommitDate: 2026-04-29 04:17:06 +0000 mac_seeotheruids: allow specificgid to be a list of groups The specificgid functionality has historically allowed only a single group to be exempt, but in practice one might want a few services to be exempt for reasons. From a security perspective, we probably don't want to encourage unrelated users to be grouped together solely for this purpose, as that creates one point of shared access that could be used for nefarious purposes. Normalize the group list as we do cr_groups to allow for linear matching rather than quadratic, we just need to account for the differences in FreeBSD 15.0+ where cr_groups is entirely supplementary groups vs. earlier versions, where cr_groups[0] is the egid and the rest is sorted. Reviewed by: csjp, des (earlier version) Sponsored by: Klara, Inc. (cherry picked from commit b675ff8eedc9ac93cdf1cfe33185b7a1a027df37) --- share/man/man4/mac_seeotheruids.4 | 4 +- sys/security/mac_seeotheruids/mac_seeotheruids.c | 174 +++++++++++++++++++++-- 2 files changed, 166 insertions(+), 12 deletions(-) diff --git a/share/man/man4/mac_seeotheruids.4 b/share/man/man4/mac_seeotheruids.4 index 5b1718bf83d4..04f67ebb7ea3 100644 --- a/share/man/man4/mac_seeotheruids.4 +++ b/share/man/man4/mac_seeotheruids.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 25, 2015 +.Dd Februrary 26, 2026 .Dt MAC_SEEOTHERUIDS 4 .Os .Sh NAME @@ -80,7 +80,7 @@ set the sysctl OID .Va security.mac.seeotheruids.specificgid_enabled to 1, and .Va security.mac.seeotheruids.specificgid -to the group ID to be exempted. +to the list of group IDs to be exempted. .Ss Label Format No labels are defined for .Nm . diff --git a/sys/security/mac_seeotheruids/mac_seeotheruids.c b/sys/security/mac_seeotheruids/mac_seeotheruids.c index 9cd2e0f3c0fc..a112a904fa72 100644 --- a/sys/security/mac_seeotheruids/mac_seeotheruids.c +++ b/sys/security/mac_seeotheruids/mac_seeotheruids.c @@ -45,9 +45,12 @@ #include #include +#include +#include #include #include #include +#include #include #include #include @@ -59,6 +62,9 @@ #include +static MALLOC_DEFINE(M_SEEOTHERUIDS, "mac_seeotheruids", + "mac_seeotheruids(4) security module"); + static SYSCTL_NODE(_security_mac, OID_AUTO, seeotheruids, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_seeotheruids policy controls"); @@ -94,13 +100,116 @@ SYSCTL_INT(_security_mac_seeotheruids, OID_AUTO, specificgid_enabled, CTLFLAG_RW, &specificgid_enabled, 0, "Make an exception for credentials " "with a specific gid as their real primary group id or group set"); -static gid_t specificgid = 0; -SYSCTL_UINT(_security_mac_seeotheruids, OID_AUTO, specificgid, CTLFLAG_RW, - &specificgid, 0, "Specific gid to be exempt from seeotheruids policy"); +static struct rmlock seeotheruids_rmlock; +RM_SYSINIT_FLAGS(mac_seeotheruids_lock, &seeotheruids_rmlock, + "mac_seeotheruids_lock", RM_SLEEPABLE); + +static gid_t *specificgids; +static size_t specificgidcnt; + +static int +gidp_cmp(const void *p1, const void *p2) +{ + const gid_t g1 = *(const gid_t *)p1; + const gid_t g2 = *(const gid_t *)p2; + + return ((g1 > g2) - (g1 < g2)); +} + +static void +specificgid_normalize(gid_t *gidlist, size_t *ngidp) +{ + int ins_idx; + gid_t prev_g; + + if (*ngidp < 2) + return; + + qsort(gidlist, *ngidp, sizeof(*gidlist), gidp_cmp); + + prev_g = gidlist[0]; + ins_idx = 1; + for (int i = ins_idx; i < *ngidp; ++i) { + const gid_t g = gidlist[i]; + + if (g != prev_g) { + if (i != ins_idx) + gidlist[ins_idx] = g; + ++ins_idx; + prev_g = g; + } + } + + *ngidp = ins_idx; +} + +static int +specificgid_sysctl(SYSCTL_HANDLER_ARGS) +{ + gid_t *newgids = NULL; + size_t ingidcnt, newgidcnt = 0; + int error; + + /* Allocate our new gid array before we take our non-sleepable lock. */ + if (req->newptr != NULL) { + if (req->newlen % sizeof(gid_t) != 0) + return (EINVAL); + ingidcnt = newgidcnt = howmany(req->newlen, sizeof(gid_t)); + newgids = mallocarray(newgidcnt, sizeof(*newgids), + M_SEEOTHERUIDS, M_WAITOK); + + error = SYSCTL_IN(req, newgids, newgidcnt * sizeof(*newgids)); + if (error != 0) { + free(newgids, M_SEEOTHERUIDS); + return (error); + } + + specificgid_normalize(newgids, &newgidcnt); + + /* + * It might be debatable whether shrinking the allocation is + * worth it, but we'll do it in the off-chance that someone is + * generating specificgid entries from various configuration + * sources that won't de-duplicate. + */ + if (newgidcnt < ingidcnt) { + newgids = realloc(newgids, newgidcnt * sizeof(*newgids), + M_SEEOTHERUIDS, M_WAITOK); + } + } + + rm_wlock(&seeotheruids_rmlock); + + error = SYSCTL_OUT(req, specificgids, + specificgidcnt * sizeof(*specificgids)); + if (error == 0 && req->newptr != NULL) { + free(specificgids, M_SEEOTHERUIDS); + + specificgids = newgids; + specificgidcnt = newgidcnt; + } else if (error != 0) { + free(newgids, M_SEEOTHERUIDS); + } + + rm_wunlock(&seeotheruids_rmlock); + return (error); +} +SYSCTL_PROC(_security_mac_seeotheruids, OID_AUTO, specificgid, + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, 0, 0, + &specificgid_sysctl, "I", + "Specific gid(s) to be exempt from seeotheruids policy"); + +static void +seeotheruids_destroy(struct mac_policy_conf *mpc __unused) +{ + free(specificgids, M_SEEOTHERUIDS); +} static int seeotheruids_check(struct ucred *cr1, struct ucred *cr2) { + struct rm_priotracker tracker; + int error = ESRCH; if (!seeotheruids_enabled) return (0); @@ -110,12 +219,6 @@ seeotheruids_check(struct ucred *cr1, struct ucred *cr2) return (0); } - if (specificgid_enabled) { - if (cr1->cr_rgid == specificgid || - groupmember(specificgid, cr1)) - return (0); - } - if (cr1->cr_ruid == cr2->cr_ruid) return (0); @@ -124,7 +227,57 @@ seeotheruids_check(struct ucred *cr1, struct ucred *cr2) return (0); } - return (ESRCH); + rm_rlock(&seeotheruids_rmlock, &tracker); + if (specificgid_enabled && specificgids != NULL) { + const gid_t *suppgroups = cr1->cr_groups; + size_t nsupp = cr1->cr_ngroups; + +#if __FreeBSD_version < 1500056 + /* + * FreeBSD 15.0 changed the cr_groups layout: earlier versions + * used cr_groups[0] for the effective GID, but that's somewhat + * error-prone when propagated throughout the various parts of + * the system (e.g., setgroups/getgroups). In older versions, + * we want to hop over the egid. + */ + suppgroups++; + nsupp--; +#endif + + for (size_t i = 0, s = 0; i < specificgidcnt; i++) { + gid_t cgid; + + cgid = specificgids[i]; + if (cgid == cr1->cr_rgid) { + error = 0; + break; + } + + /* + * specificgids and suppgroups are both sorted + * ascending, so advance past all of the supplemental + * groups that are lower than the specificgid we're + * currently at. + */ + while (s < nsupp && cgid > suppgroups[s]) + s++; + + /* + * Out of supplementary groups, but we'll keep checking + * for rgid matches. + */ + if (s == nsupp) + continue; + + if (cgid == suppgroups[s]) { + error = 0; + break; + } + } + } + + rm_runlock(&seeotheruids_rmlock, &tracker); + return (error); } static int @@ -174,6 +327,7 @@ seeotheruids_socket_check_visible(struct ucred *cred, struct socket *so, static struct mac_policy_ops seeotheruids_ops = { + .mpo_destroy = seeotheruids_destroy, .mpo_proc_check_debug = seeotheruids_proc_check_debug, .mpo_proc_check_sched = seeotheruids_proc_check_sched, .mpo_proc_check_signal = seeotheruids_proc_check_signal, From nobody Wed Apr 29 04:17:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53tl11X1z6cYgW for ; Wed, 29 Apr 2026 04:17: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 4g53tk4Hh5z49Vh for ; Wed, 29 Apr 2026 04:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6rkS7DDsnmzCGdH7rgcO2dmAubkEbAQavDLvf6pwa8s=; b=Domgi2HjwmaYYVXVLXOKHys81oHwFGpA71hCSRIHuVPz+5/n0BTv34Gw4WY0fAWTEc78E/ FNzR0BVKxSyV/afjsucNtOLH7f2yUElaRkZPehVZ70A1xVGo+n2SO4BJiy2iKkoCZVnKjE MYqJIZYPDWSfjQ9TvRoajaBCy0kG//OZY+RFHWee2sPgG3Y1sgRGrEiECUCf1SoifFJx8Q O2hWE8DjMkEUrB76CGQpsq63/Du7bUruZ5nlsx65h3PlSBwyuz0i0xURFQ+3gL51QIUIiv /diHzF+Oz7S9VCO3TSzDgjD/K+c/LjYezfiwAWrApicAwE0uLKZmLst4jRam9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777436270; a=rsa-sha256; cv=none; b=jPuIJi7uEjONOI0Y5ciDywA2J4lweJDjDFncugSsfFRZydoyOvijd+ENgMIIe6n22DPKW+ QyZJF0+Se1+xFxNWe/PjTIjjEO9vh/sSbtik74NwXSSUSUIOppbrdlMF1eKIpwkXLPF58K ZOR/mSyxbUFkjoppD9Uayfo5nagQjC3FPY5gf3LcBAYXmwjb1eoowOMigZLuxP/84Ys0bC 5UHxRPyta7heV01ek+aM8ZwoqBY+yO0mTxwSLN4vpA3N0eXA/IvdJtB6WuspPuYlhBZVvY aU2rBWRl515dO4MY+mxEr4/7jBCHD+9pkPCWfyqvdGx+inmRpPX/Zm0/L2babg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6rkS7DDsnmzCGdH7rgcO2dmAubkEbAQavDLvf6pwa8s=; b=Uod28MUgA/mUQJKUdq9nhrNUt6xLWG/SxqhGP37wDJGAlZ+LX08jm3tiF6CaT+FBXpm3iq uQC+Prpk+z1Opc9UPAWMXudTVmDlu+ePGkky030VWVe9oMXgnCtkb+4mI9W5oCsZuojw78 msqeH7POB+aR32L5Ch7goAqMT3NvY828N5SRsPs/p94A4WvxfcwamNmUS/JgNOyiqdnHOB f+CWvKP8ABB6N0iTt1TiTzUKusq2sr6Np3bKqhdDR7cUu+NV8sXPAcAPOMveZLrUguWzkZ TLIm0j4FUcpzHzBAB6KskPvlipzCl+xegbXW/evmCDzKqKy8YYc9aj6CnXQTGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53tk1p3Yz8Zw for ; Wed, 29 Apr 2026 04:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1882e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 04:17:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian S.J. Peron From: Kyle Evans Subject: git: b9414a1ccf1d - stable/15 - Fix memory corruption bugs in BSM record parsing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b9414a1ccf1d3daf218b2679fef4c2c244b9bc33 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 04:17:45 +0000 Message-Id: <69f18669.1882e.7b7d9e31@gitrepo.freebsd.org> The branch stable/15 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b9414a1ccf1d3daf218b2679fef4c2c244b9bc33 commit b9414a1ccf1d3daf218b2679fef4c2c244b9bc33 Author: Christian S.J. Peron AuthorDate: 2026-04-23 20:26:50 +0000 Commit: Kyle Evans CommitDate: 2026-04-29 04:16:59 +0000 Fix memory corruption bugs in BSM record parsing fetch_newgroups_tok(3): clamp group count to AUDIT_MAX_GROUPS before the loop to prevent a stack buffer overflow when a crafted record specifies more than 16 groups. fetch_execarg_tok(3), fetch_execenv_tok(3): add a bounds check at the top of the string-walking loop to prevent an out-of-bounds read when the previous string's nul byte is the last byte of the record buffer. fetch_sock_unix_tok(3): clamp the memchr search length to the number of bytes remaining in the buffer to prevent an out-of-bounds read on short tokens. Also clamp slen to sizeof(path) to prevent a one-byte overflow when no nul byte is found within the path data. fetch_socket_tok: fix copy-paste error where the remote address was written into l_addr instead of r_addr. Previously reported by: @haginara Define AU_UNIX_PATH_MAX as 108 (the largest sun_path across all supported platforms) and use it in au_socketunix_t instead of the hardcoded 104. Update fetch_sock_unix_tok to derive its search bound from sizeof(tok->tt.sockunix.path) so cross-platform records from Solaris and Linux with paths up to 108 bytes parse correctly without truncation. REF: https://github.com/openbsm/openbsm/pull/87 Reviewed by: kevans, markj (cherry picked from commit a46205a100b3201a60aaca26e4ac8097e1e136a7) --- contrib/openbsm/bsm/libbsm.h | 10 ++++++-- contrib/openbsm/libbsm/bsm_io.c | 50 +++++++++++++++++++++++++++++++++----- contrib/openbsm/libbsm/bsm_token.c | 2 +- 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/contrib/openbsm/bsm/libbsm.h b/contrib/openbsm/bsm/libbsm.h index 2614a84f01e2..f0ea3943254d 100644 --- a/contrib/openbsm/bsm/libbsm.h +++ b/contrib/openbsm/bsm/libbsm.h @@ -585,13 +585,19 @@ typedef struct { u_int32_t addr; } au_socketinet32_t; +/* + * Largest sun_path across all supported platforms (Linux and Solaris use 108, + * macOS and FreeBSD use 104). + */ +#define AU_UNIX_PATH_MAX 108 + /* * socket family 2 bytes - * path 104 bytes + * path up to AU_UNIX_PATH_MAX bytes (NUL terminated) */ typedef struct { u_int16_t family; - char path[104]; + char path[AU_UNIX_PATH_MAX]; } au_socketunix_t; /* diff --git a/contrib/openbsm/libbsm/bsm_io.c b/contrib/openbsm/libbsm/bsm_io.c index f0b3e4a1a2df..323f4ed337f8 100644 --- a/contrib/openbsm/libbsm/bsm_io.c +++ b/contrib/openbsm/libbsm/bsm_io.c @@ -1867,6 +1867,15 @@ fetch_execarg_tok(tokenstr_t *tok, u_char *buf, int len) return (-1); for (i = 0; i < tok->tt.execarg.count; i++) { + /* + * Make sure that tok->len has not reached the end of the + * buffer. If the previous string's nul byte was the last byte + * in the buffer, the nul accounting below will have set + * tok->len == len, leaving no room for another string. + */ + if (tok->len >= (u_int32_t)len) { + return (-1); + } bptr = buf + tok->len; if (i < AUDIT_MAX_ARGS) tok->tt.execarg.text[i] = (char*)bptr; @@ -1925,6 +1934,15 @@ fetch_execenv_tok(tokenstr_t *tok, u_char *buf, int len) return (-1); for (i = 0; i < tok->tt.execenv.count; i++) { + /* + * Make sure that tok->len has not reached the end of the + * buffer. If the previous string's nul byte was the last byte + * in the buffer, the nul accounting below will have set + * tok->len == len, leaving no room for another string. + */ + if (tok->len >= (u_int32_t)len) { + return (-1); + } bptr = buf + tok->len; if (i < AUDIT_MAX_ENV) tok->tt.execenv.text[i] = (char*)bptr; @@ -2037,6 +2055,17 @@ fetch_newgroups_tok(tokenstr_t *tok, u_char *buf, int len) if (err) return (-1); + /* + * grps.list[] is statically sized and set to AUDIT_MAX_GROUPS. If the + * group count specified in the record is greater than this value just + * clamp/truncate it. Silently truncating a malformed record changes + * what was recorded and could mask tampering. However, a precedent + * has been set in fetch_execarg_tok and fetch_execenv_tok which + * truncate the count under similar circumstances. + */ + if (tok->tt.grps.no > AUDIT_MAX_GROUPS) { + tok->tt.grps.no = AUDIT_MAX_GROUPS; + } for (i = 0; itt.grps.no; i++) { READ_TOKEN_U_INT32(buf, len, tok->tt.grps.list[i], tok->len, err); @@ -3197,27 +3226,36 @@ print_sock_inet128_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) /* * socket family 2 bytes - * path (up to) 104 bytes + NULL (NULL terminated string). + * path (up to) AU_UNIX_PATH_MAX bytes (NUL terminated) */ static int fetch_sock_unix_tok(tokenstr_t *tok, u_char *buf, int len) { + size_t remaining, search, pathmax; int err = 0; u_char *p; int slen; - READ_TOKEN_U_INT16(buf, len, tok->tt.sockunix.family, tok->len, err); if (err) return (-1); - /* slen = strnlen((buf + tok->len), 104) + 1; */ - p = (u_char *)memchr((const void *)(buf + tok->len), '\0', 104); - slen = (p ? (int)(p - (buf + tok->len)) : 104) + 1; + /* + * Clamp the search to the bytes remaining in the token and the path + * storage size. Using sizeof(tok->tt.sockunix.path) rather than a + * literal keeps the bound in sync with au_socketunix_t automatically. + */ + pathmax = sizeof(tok->tt.sockunix.path); + remaining = (size_t)(len - (int)tok->len); + search = remaining < pathmax ? remaining : pathmax; + p = (u_char *)memchr((const void *)(buf + tok->len), '\0', search); + slen = (p ? (int)(p - (buf + tok->len)) + 1 : (int)search); READ_TOKEN_BYTES(buf, len, tok->tt.sockunix.path, slen, tok->len, err); if (err) return (-1); + /* guarantee NUL termination when no NUL was found in the token data */ + tok->tt.sockunix.path[pathmax - 1] = '\0'; return (0); } @@ -3278,7 +3316,7 @@ fetch_socket_tok(tokenstr_t *tok, u_char *buf, int len) if (err) return (-1); - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_addr, + READ_TOKEN_BYTES(buf, len, &tok->tt.socket.r_addr, sizeof(tok->tt.socket.r_addr), tok->len, err); if (err) return (-1); diff --git a/contrib/openbsm/libbsm/bsm_token.c b/contrib/openbsm/libbsm/bsm_token.c index 682836f43870..8f55945cb33b 100644 --- a/contrib/openbsm/libbsm/bsm_token.c +++ b/contrib/openbsm/libbsm/bsm_token.c @@ -1051,7 +1051,7 @@ au_to_socket_ex(u_short so_domain, u_short so_type, /* * token ID 1 byte * socket family 2 bytes - * path (up to) 104 bytes + NULL (NULL terminated string) + * path (up to) AU_UNIX_PATH_MAX bytes (NUL terminated) */ token_t * au_to_sock_unix(struct sockaddr_un *so) From nobody Wed Apr 29 04:21:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53zP2xzbz6cZ65 for ; Wed, 29 Apr 2026 04:21: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 4g53zP1xZmz3CGK for ; Wed, 29 Apr 2026 04:21:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6W99jaMyMpslmYeUQC7qas+CzIp1wb2Kcwlhk1aLTNo=; b=gAJLFppSqTEHmEsSi2IzGb99OkRV7iSAcdiwD81rYG5IldB9mhlVcLexgMXGK7M2QNbSv+ tDeci+A1BLTTwCHIj1ZvwVB4cC9+N3e2+XzdPyqzRzJP1D/UPAPichHGcXWT/GyW2EQT9N D3lSvEiLhvFApPThRoX49YnLgvOVHqDUdjKZPQnYssSPu9stpT2yqGItvyr9JQaSIBVTKO BcrOhoF73IwEc6RjvUMt+LqTDLbU1cR45CEngLTqe/BJcEUsXmfSnUQ0KsjquELCB4ap4Z HkriuRmSXSETOEsYJX/O+yo9BJ2jJcb1/r7NduSsw2WHfKuXp6oMTqiSrl77wA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777436513; a=rsa-sha256; cv=none; b=YHTwxWJLVlWk/ix79In2t0xCLYsZR49O2E3uTIMYnp9qkkTPA3msXvAb+wi7hRMd20FVfg rjXJDR8gxMqkiCMfPHGvnrVrYtly3zD20AwBNM8Rfqynd3VZ+atDRW8+v27Q087RrKFc/y X7NQEEcUDIDrCa5IDMFnJVE6ubPmjpNee6f7XsCUQgdyr9einBpmo6wSLbcuL64IhsCuI5 9XHkeZ4h8IKGA2gsfUbLuPSzZ8MlYO2LvGb9YUVvqxP3Wmrm3J/NdJcbTxPQHrjyamM3Ug wAci97okk6xiWV8jKmkyjYsgor+rINVbV4dTzDGQ3BsucWAXCVR79NIImcbdrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6W99jaMyMpslmYeUQC7qas+CzIp1wb2Kcwlhk1aLTNo=; b=N+0Ii1CeY61BodtxoDJOF4t5KV4fZxSf70xwI4RgyZEKaoKsRKXUJwg8JAiXBlJqTVHAuH J4pPyi6e+yQHnQxAdgclZkiNJ7FvpN7BKKRgjHauD4PcQWDVeY++sxP7eU+xJEZRpeh5JT rAdG/KfhyXfjiLbz8RUcdTzflMaUPMKgbEXArllBEPyczGnUNjpIBYw+ESUwss2W0ciygD l3GkN6zw8D8AiWPUIAQMLgXPF8enQNMn38EJEFKL2UAfCOg3dhZU55YEovykiWngkNXpRk vETiPLSn4p69HuubXrtl0bSehs8Z2agjHrB5HbE55mJKJBnwmpTuh4jsM2EMsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53zP1JWqz8bZ for ; Wed, 29 Apr 2026 04:21:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a1c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 04:21:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian S.J. Peron From: Kyle Evans Subject: git: 09db36421d01 - stable/14 - Fix memory corruption bugs in BSM record parsing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 09db36421d01dba38a7d857d865773ac96ddacab Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 04:21:53 +0000 Message-Id: <69f18761.1a1c3.1b5bef53@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=09db36421d01dba38a7d857d865773ac96ddacab commit 09db36421d01dba38a7d857d865773ac96ddacab Author: Christian S.J. Peron AuthorDate: 2026-04-23 20:26:50 +0000 Commit: Kyle Evans CommitDate: 2026-04-29 04:19:58 +0000 Fix memory corruption bugs in BSM record parsing fetch_newgroups_tok(3): clamp group count to AUDIT_MAX_GROUPS before the loop to prevent a stack buffer overflow when a crafted record specifies more than 16 groups. fetch_execarg_tok(3), fetch_execenv_tok(3): add a bounds check at the top of the string-walking loop to prevent an out-of-bounds read when the previous string's nul byte is the last byte of the record buffer. fetch_sock_unix_tok(3): clamp the memchr search length to the number of bytes remaining in the buffer to prevent an out-of-bounds read on short tokens. Also clamp slen to sizeof(path) to prevent a one-byte overflow when no nul byte is found within the path data. fetch_socket_tok: fix copy-paste error where the remote address was written into l_addr instead of r_addr. Previously reported by: @haginara Define AU_UNIX_PATH_MAX as 108 (the largest sun_path across all supported platforms) and use it in au_socketunix_t instead of the hardcoded 104. Update fetch_sock_unix_tok to derive its search bound from sizeof(tok->tt.sockunix.path) so cross-platform records from Solaris and Linux with paths up to 108 bytes parse correctly without truncation. REF: https://github.com/openbsm/openbsm/pull/87 Reviewed by: kevans, markj (cherry picked from commit a46205a100b3201a60aaca26e4ac8097e1e136a7) --- contrib/openbsm/bsm/libbsm.h | 10 ++++++-- contrib/openbsm/libbsm/bsm_io.c | 50 +++++++++++++++++++++++++++++++++----- contrib/openbsm/libbsm/bsm_token.c | 2 +- 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/contrib/openbsm/bsm/libbsm.h b/contrib/openbsm/bsm/libbsm.h index 2614a84f01e2..f0ea3943254d 100644 --- a/contrib/openbsm/bsm/libbsm.h +++ b/contrib/openbsm/bsm/libbsm.h @@ -585,13 +585,19 @@ typedef struct { u_int32_t addr; } au_socketinet32_t; +/* + * Largest sun_path across all supported platforms (Linux and Solaris use 108, + * macOS and FreeBSD use 104). + */ +#define AU_UNIX_PATH_MAX 108 + /* * socket family 2 bytes - * path 104 bytes + * path up to AU_UNIX_PATH_MAX bytes (NUL terminated) */ typedef struct { u_int16_t family; - char path[104]; + char path[AU_UNIX_PATH_MAX]; } au_socketunix_t; /* diff --git a/contrib/openbsm/libbsm/bsm_io.c b/contrib/openbsm/libbsm/bsm_io.c index f0b3e4a1a2df..323f4ed337f8 100644 --- a/contrib/openbsm/libbsm/bsm_io.c +++ b/contrib/openbsm/libbsm/bsm_io.c @@ -1867,6 +1867,15 @@ fetch_execarg_tok(tokenstr_t *tok, u_char *buf, int len) return (-1); for (i = 0; i < tok->tt.execarg.count; i++) { + /* + * Make sure that tok->len has not reached the end of the + * buffer. If the previous string's nul byte was the last byte + * in the buffer, the nul accounting below will have set + * tok->len == len, leaving no room for another string. + */ + if (tok->len >= (u_int32_t)len) { + return (-1); + } bptr = buf + tok->len; if (i < AUDIT_MAX_ARGS) tok->tt.execarg.text[i] = (char*)bptr; @@ -1925,6 +1934,15 @@ fetch_execenv_tok(tokenstr_t *tok, u_char *buf, int len) return (-1); for (i = 0; i < tok->tt.execenv.count; i++) { + /* + * Make sure that tok->len has not reached the end of the + * buffer. If the previous string's nul byte was the last byte + * in the buffer, the nul accounting below will have set + * tok->len == len, leaving no room for another string. + */ + if (tok->len >= (u_int32_t)len) { + return (-1); + } bptr = buf + tok->len; if (i < AUDIT_MAX_ENV) tok->tt.execenv.text[i] = (char*)bptr; @@ -2037,6 +2055,17 @@ fetch_newgroups_tok(tokenstr_t *tok, u_char *buf, int len) if (err) return (-1); + /* + * grps.list[] is statically sized and set to AUDIT_MAX_GROUPS. If the + * group count specified in the record is greater than this value just + * clamp/truncate it. Silently truncating a malformed record changes + * what was recorded and could mask tampering. However, a precedent + * has been set in fetch_execarg_tok and fetch_execenv_tok which + * truncate the count under similar circumstances. + */ + if (tok->tt.grps.no > AUDIT_MAX_GROUPS) { + tok->tt.grps.no = AUDIT_MAX_GROUPS; + } for (i = 0; itt.grps.no; i++) { READ_TOKEN_U_INT32(buf, len, tok->tt.grps.list[i], tok->len, err); @@ -3197,27 +3226,36 @@ print_sock_inet128_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) /* * socket family 2 bytes - * path (up to) 104 bytes + NULL (NULL terminated string). + * path (up to) AU_UNIX_PATH_MAX bytes (NUL terminated) */ static int fetch_sock_unix_tok(tokenstr_t *tok, u_char *buf, int len) { + size_t remaining, search, pathmax; int err = 0; u_char *p; int slen; - READ_TOKEN_U_INT16(buf, len, tok->tt.sockunix.family, tok->len, err); if (err) return (-1); - /* slen = strnlen((buf + tok->len), 104) + 1; */ - p = (u_char *)memchr((const void *)(buf + tok->len), '\0', 104); - slen = (p ? (int)(p - (buf + tok->len)) : 104) + 1; + /* + * Clamp the search to the bytes remaining in the token and the path + * storage size. Using sizeof(tok->tt.sockunix.path) rather than a + * literal keeps the bound in sync with au_socketunix_t automatically. + */ + pathmax = sizeof(tok->tt.sockunix.path); + remaining = (size_t)(len - (int)tok->len); + search = remaining < pathmax ? remaining : pathmax; + p = (u_char *)memchr((const void *)(buf + tok->len), '\0', search); + slen = (p ? (int)(p - (buf + tok->len)) + 1 : (int)search); READ_TOKEN_BYTES(buf, len, tok->tt.sockunix.path, slen, tok->len, err); if (err) return (-1); + /* guarantee NUL termination when no NUL was found in the token data */ + tok->tt.sockunix.path[pathmax - 1] = '\0'; return (0); } @@ -3278,7 +3316,7 @@ fetch_socket_tok(tokenstr_t *tok, u_char *buf, int len) if (err) return (-1); - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_addr, + READ_TOKEN_BYTES(buf, len, &tok->tt.socket.r_addr, sizeof(tok->tt.socket.r_addr), tok->len, err); if (err) return (-1); diff --git a/contrib/openbsm/libbsm/bsm_token.c b/contrib/openbsm/libbsm/bsm_token.c index 682836f43870..8f55945cb33b 100644 --- a/contrib/openbsm/libbsm/bsm_token.c +++ b/contrib/openbsm/libbsm/bsm_token.c @@ -1051,7 +1051,7 @@ au_to_socket_ex(u_short so_domain, u_short so_type, /* * token ID 1 byte * socket family 2 bytes - * path (up to) 104 bytes + NULL (NULL terminated string) + * path (up to) AU_UNIX_PATH_MAX bytes (NUL terminated) */ token_t * au_to_sock_unix(struct sockaddr_un *so) From nobody Wed Apr 29 04:21:54 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53zQ3j6gz6cZ48 for ; Wed, 29 Apr 2026 04:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g53zQ2nzlz3C7P for ; Wed, 29 Apr 2026 04:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLocsKLoC81ghI8JZ/v8smN4WiUMnbk6DhgDI2SXlWg=; b=mX6YhqHWZDAKmssilo3OOeyIevi1QB0MZFvvYKjzvxMhStBjDd1vKIRP/KGLTQEJ/Z10E1 dPf3yRzau6aLWJMBGsYh/mGJsXaXfhQs+GJGL7kQXGNFgisbvuhrzhuINjoG2/U/bYnDqf gDRAprLwb7OPkaMsxGQAgzITF9Z4JWtZxSreY8Jp8GOkKVVPiraGpYFrtexuPWi6rmvJUp KErMvmRkut72QEU1tttbOcMCCXGdB9EcgDcWjn9xfyujnXgGLv7ZfeEijkHy1GpGZbjTfi f1RIVNF6+TGktZUmCVhYwEIF8Tcn3St2blhmtg56RolTZL+8bJAqxK1eklUodQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777436514; a=rsa-sha256; cv=none; b=JhkNf0ZgBDbnTq0+4w3Ifgzj7dMFf27+Z3tU3Yeo1cqk5TBV73X8qkeIBQaVFuKdchJvel 4sOcXzqCzqBFOqSg3Iy7G3b9cS1LXJN1kCl/HtAMB8UFqTGI4gWJ6QaWFgybxuOaGcIuk5 g0ski47Z3AurRU/9zJpoa0t+DZwQExInCckROgEth4GXuDHDzQvEHO/B6x8sbwnu9Hxtqs 2axcnB4UeVn14X+SB3Rb5IDkKu6X/QLcUWoPCQQ9IISWdvGfEOLkUdUQupRZtZRNvkj8LD 2hUgT0x8s7rShirHvjIZTGWmS/mkeaq1Fx01pWFrEcaxsWkoU839Dcqz6OvzJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777436514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLocsKLoC81ghI8JZ/v8smN4WiUMnbk6DhgDI2SXlWg=; b=ZixqQ4vnki6l1VVSrH6k/bDwvV58QAYiEZoDN3KdrqCWjb5mDXnZS12vX1sCpv6e2B/iN/ Vq5ovD/slTbDcjneYNjSfZX4i268qgLoZhe94rShBI00UgYIHY4a0NORGOXa715UILhDrQ 3twPStaR+GoNNl/oLN1nswBQJtOuxfProsqnLQ/62kMXVyPy91YvTU81EOAnk+h/hIOh+3 VcwsWyKab9zjVtcgcLKNaloVVS9ArA55MMVrPbqnzpmIvB2rnheLEHoRjPU63tNoTYIScK 4ETKMWRgh3mceJivq4DeH4ros3Di0XSqvt7eGdp6oXPmkqmMJuMdaylb7I4lwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53zQ282dz8bb for ; Wed, 29 Apr 2026 04:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c180 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 04:21:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 14dfca710fd0 - stable/14 - mac_seeotheruids: allow specificgid to be a list of groups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 14dfca710fd06d02b4a1cfa25e080b7d90d802dc Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 04:21:54 +0000 Message-Id: <69f18762.1c180.356a853d@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=14dfca710fd06d02b4a1cfa25e080b7d90d802dc commit 14dfca710fd06d02b4a1cfa25e080b7d90d802dc Author: Kyle Evans AuthorDate: 2026-03-01 03:42:25 +0000 Commit: Kyle Evans CommitDate: 2026-04-29 04:19:58 +0000 mac_seeotheruids: allow specificgid to be a list of groups The specificgid functionality has historically allowed only a single group to be exempt, but in practice one might want a few services to be exempt for reasons. From a security perspective, we probably don't want to encourage unrelated users to be grouped together solely for this purpose, as that creates one point of shared access that could be used for nefarious purposes. Normalize the group list as we do cr_groups to allow for linear matching rather than quadratic, we just need to account for the differences in FreeBSD 15.0+ where cr_groups is entirely supplementary groups vs. earlier versions, where cr_groups[0] is the egid and the rest is sorted. Reviewed by: csjp, des (earlier version) Sponsored by: Klara, Inc. (cherry picked from commit b675ff8eedc9ac93cdf1cfe33185b7a1a027df37) --- share/man/man4/mac_seeotheruids.4 | 4 +- sys/security/mac_seeotheruids/mac_seeotheruids.c | 174 +++++++++++++++++++++-- 2 files changed, 166 insertions(+), 12 deletions(-) diff --git a/share/man/man4/mac_seeotheruids.4 b/share/man/man4/mac_seeotheruids.4 index 5b1718bf83d4..04f67ebb7ea3 100644 --- a/share/man/man4/mac_seeotheruids.4 +++ b/share/man/man4/mac_seeotheruids.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 25, 2015 +.Dd Februrary 26, 2026 .Dt MAC_SEEOTHERUIDS 4 .Os .Sh NAME @@ -80,7 +80,7 @@ set the sysctl OID .Va security.mac.seeotheruids.specificgid_enabled to 1, and .Va security.mac.seeotheruids.specificgid -to the group ID to be exempted. +to the list of group IDs to be exempted. .Ss Label Format No labels are defined for .Nm . diff --git a/sys/security/mac_seeotheruids/mac_seeotheruids.c b/sys/security/mac_seeotheruids/mac_seeotheruids.c index 9cd2e0f3c0fc..a112a904fa72 100644 --- a/sys/security/mac_seeotheruids/mac_seeotheruids.c +++ b/sys/security/mac_seeotheruids/mac_seeotheruids.c @@ -45,9 +45,12 @@ #include #include +#include +#include #include #include #include +#include #include #include #include @@ -59,6 +62,9 @@ #include +static MALLOC_DEFINE(M_SEEOTHERUIDS, "mac_seeotheruids", + "mac_seeotheruids(4) security module"); + static SYSCTL_NODE(_security_mac, OID_AUTO, seeotheruids, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_seeotheruids policy controls"); @@ -94,13 +100,116 @@ SYSCTL_INT(_security_mac_seeotheruids, OID_AUTO, specificgid_enabled, CTLFLAG_RW, &specificgid_enabled, 0, "Make an exception for credentials " "with a specific gid as their real primary group id or group set"); -static gid_t specificgid = 0; -SYSCTL_UINT(_security_mac_seeotheruids, OID_AUTO, specificgid, CTLFLAG_RW, - &specificgid, 0, "Specific gid to be exempt from seeotheruids policy"); +static struct rmlock seeotheruids_rmlock; +RM_SYSINIT_FLAGS(mac_seeotheruids_lock, &seeotheruids_rmlock, + "mac_seeotheruids_lock", RM_SLEEPABLE); + +static gid_t *specificgids; +static size_t specificgidcnt; + +static int +gidp_cmp(const void *p1, const void *p2) +{ + const gid_t g1 = *(const gid_t *)p1; + const gid_t g2 = *(const gid_t *)p2; + + return ((g1 > g2) - (g1 < g2)); +} + +static void +specificgid_normalize(gid_t *gidlist, size_t *ngidp) +{ + int ins_idx; + gid_t prev_g; + + if (*ngidp < 2) + return; + + qsort(gidlist, *ngidp, sizeof(*gidlist), gidp_cmp); + + prev_g = gidlist[0]; + ins_idx = 1; + for (int i = ins_idx; i < *ngidp; ++i) { + const gid_t g = gidlist[i]; + + if (g != prev_g) { + if (i != ins_idx) + gidlist[ins_idx] = g; + ++ins_idx; + prev_g = g; + } + } + + *ngidp = ins_idx; +} + +static int +specificgid_sysctl(SYSCTL_HANDLER_ARGS) +{ + gid_t *newgids = NULL; + size_t ingidcnt, newgidcnt = 0; + int error; + + /* Allocate our new gid array before we take our non-sleepable lock. */ + if (req->newptr != NULL) { + if (req->newlen % sizeof(gid_t) != 0) + return (EINVAL); + ingidcnt = newgidcnt = howmany(req->newlen, sizeof(gid_t)); + newgids = mallocarray(newgidcnt, sizeof(*newgids), + M_SEEOTHERUIDS, M_WAITOK); + + error = SYSCTL_IN(req, newgids, newgidcnt * sizeof(*newgids)); + if (error != 0) { + free(newgids, M_SEEOTHERUIDS); + return (error); + } + + specificgid_normalize(newgids, &newgidcnt); + + /* + * It might be debatable whether shrinking the allocation is + * worth it, but we'll do it in the off-chance that someone is + * generating specificgid entries from various configuration + * sources that won't de-duplicate. + */ + if (newgidcnt < ingidcnt) { + newgids = realloc(newgids, newgidcnt * sizeof(*newgids), + M_SEEOTHERUIDS, M_WAITOK); + } + } + + rm_wlock(&seeotheruids_rmlock); + + error = SYSCTL_OUT(req, specificgids, + specificgidcnt * sizeof(*specificgids)); + if (error == 0 && req->newptr != NULL) { + free(specificgids, M_SEEOTHERUIDS); + + specificgids = newgids; + specificgidcnt = newgidcnt; + } else if (error != 0) { + free(newgids, M_SEEOTHERUIDS); + } + + rm_wunlock(&seeotheruids_rmlock); + return (error); +} +SYSCTL_PROC(_security_mac_seeotheruids, OID_AUTO, specificgid, + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, 0, 0, + &specificgid_sysctl, "I", + "Specific gid(s) to be exempt from seeotheruids policy"); + +static void +seeotheruids_destroy(struct mac_policy_conf *mpc __unused) +{ + free(specificgids, M_SEEOTHERUIDS); +} static int seeotheruids_check(struct ucred *cr1, struct ucred *cr2) { + struct rm_priotracker tracker; + int error = ESRCH; if (!seeotheruids_enabled) return (0); @@ -110,12 +219,6 @@ seeotheruids_check(struct ucred *cr1, struct ucred *cr2) return (0); } - if (specificgid_enabled) { - if (cr1->cr_rgid == specificgid || - groupmember(specificgid, cr1)) - return (0); - } - if (cr1->cr_ruid == cr2->cr_ruid) return (0); @@ -124,7 +227,57 @@ seeotheruids_check(struct ucred *cr1, struct ucred *cr2) return (0); } - return (ESRCH); + rm_rlock(&seeotheruids_rmlock, &tracker); + if (specificgid_enabled && specificgids != NULL) { + const gid_t *suppgroups = cr1->cr_groups; + size_t nsupp = cr1->cr_ngroups; + +#if __FreeBSD_version < 1500056 + /* + * FreeBSD 15.0 changed the cr_groups layout: earlier versions + * used cr_groups[0] for the effective GID, but that's somewhat + * error-prone when propagated throughout the various parts of + * the system (e.g., setgroups/getgroups). In older versions, + * we want to hop over the egid. + */ + suppgroups++; + nsupp--; +#endif + + for (size_t i = 0, s = 0; i < specificgidcnt; i++) { + gid_t cgid; + + cgid = specificgids[i]; + if (cgid == cr1->cr_rgid) { + error = 0; + break; + } + + /* + * specificgids and suppgroups are both sorted + * ascending, so advance past all of the supplemental + * groups that are lower than the specificgid we're + * currently at. + */ + while (s < nsupp && cgid > suppgroups[s]) + s++; + + /* + * Out of supplementary groups, but we'll keep checking + * for rgid matches. + */ + if (s == nsupp) + continue; + + if (cgid == suppgroups[s]) { + error = 0; + break; + } + } + } + + rm_runlock(&seeotheruids_rmlock, &tracker); + return (error); } static int @@ -174,6 +327,7 @@ seeotheruids_socket_check_visible(struct ucred *cred, struct socket *so, static struct mac_policy_ops seeotheruids_ops = { + .mpo_destroy = seeotheruids_destroy, .mpo_proc_check_debug = seeotheruids_proc_check_debug, .mpo_proc_check_sched = seeotheruids_proc_check_sched, .mpo_proc_check_signal = seeotheruids_proc_check_signal, From nobody Wed Apr 29 07:29:37 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g58866g4dz6b5TW for ; Wed, 29 Apr 2026 07:29: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 4g58864wzCz3Sjp for ; Wed, 29 Apr 2026 07:29:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777447782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sJXd6SUboNGnwqbsr2jyW+IldkKMPLB8k5/ws3QRYaU=; b=Qoxy1Bb9CkpfVl44BguqsnOnImil36UC0q2g+5L6Hc6XUPSLL/mm1OIKVynk3B3EycksuW 9gMZGqbQst/eV/tMZoe/PIBcvtvBlcv2UyrhKnWnZGQG0BMGP2+ULzUcpgbDOfn7h2QPLg 37a8b7SXv+O4Son/vBW2B+fw1gsc4eE5IMYWjMw7obqWkLwNjITwfs7+jsyQ2HInh2r6VP XQ/rKeLtL82mTkzJIw7iXYvXiU8KZPQm5nprGfn36jo4WStI4os9otb9kJwmx4W5j7S/bd MKHRFYSvPQRydX19LJYbTo+FmEkCOQN2lGfz5ONBT/TM1vEYFCvL4gM1WsJBlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777447782; a=rsa-sha256; cv=none; b=wl9DMjhO6fXxEr0lZ+yfgzwB5io0wrxeBz8i9YUiNeeYvoCEwzkAlvVPfv6hVyUaTIz7iy n2ECiuU8oH8RmB8W7AC3775MpaKpwNnro+9yvEL3hjUO/7xswx2O/J5vj70jtxDR4gNMfz 8iBGD3acF2lYGtt9tgva5sdqsErAKebhNAPevh8PS/NrdV68JRmT1EqKelcW6edqFaX4zS OGKuGwK9WQRB0BMIYfHMrBGlO93GfhVopOfZ2H7u7e5o6EYYCmUpZ+lAn41vEgUBzTuX7K 6QgCoUOxdvX4r7s3EOdb1ePaLDE0iqbeZhjgAGt+5ZEEc9HWEdOHkSY/v/ouiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777447782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sJXd6SUboNGnwqbsr2jyW+IldkKMPLB8k5/ws3QRYaU=; b=sG3xxKzDpS8IdnH0UntOaRO0Lcb7AuPeX/EH827tD8JwCbaWtP6/w6//dYZRT0RkCejJk7 rl2JbKS7YaO65bN1Cq3uEPTm2IKw9wBj565ZgVgdvFCIkS1dFgV68IEnL0b+EvtgtssShG sjdjLGP/19lgQn4/Z9APTEScAcX4LDhgxOXIv9DI3tTfj7XED+F0PFb6SUOcbZj7gIMfnC GD2CNKWq3RWFIv2Fs6kO5jkXQ99iMHdZBsFkkNjGjl406Fn6Sc0P0zgZ/l0BOvdi229tYf 2U8MSN6VTVBSgV4zfXGOfJ5BkxDCqd+0uywJzS3KDADRyZDD7M3+Lm6+x83W+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5886445DzVYm for ; Wed, 29 Apr 2026 07:29:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36bf4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 07:29:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Johan=?utf-8?Q? S=C3=B6llv?=ander Subject: git: 6d3401ccf317 - stable/15 - ctladm tests: Only use allowed chars in IQN List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: js X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6d3401ccf317487b0c60233ce9058e22763ddd30 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 07:29:37 +0000 Message-Id: <69f1b361.36bf4.36eb21d3@gitrepo.freebsd.org> The branch stable/15 has been updated by js: URL: https://cgit.FreeBSD.org/src/commit/?id=6d3401ccf317487b0c60233ce9058e22763ddd30 commit 6d3401ccf317487b0c60233ce9058e22763ddd30 Author: Johan Söllvander AuthorDate: 2026-04-22 14:19:42 +0000 Commit: Johan Söllvander CommitDate: 2026-04-29 07:28:55 +0000 ctladm tests: Only use allowed chars in IQN _ isn't part of the allowed IQN format, but - is. None functional change. Reviewed by: asomers, ngie Approved by: asomers (mentor) Sponsored by: ConnectWise Differential Revision: https://reviews.freebsd.org/D56557 (cherry picked from commit 51b65c6af2e19f1e944c67aa2b5252cd9dc9e2f7) --- usr.sbin/ctladm/tests/port.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/ctladm/tests/port.sh b/usr.sbin/ctladm/tests/port.sh index d966529a85ae..1103a1d7bafb 100644 --- a/usr.sbin/ctladm/tests/port.sh +++ b/usr.sbin/ctladm/tests/port.sh @@ -118,7 +118,7 @@ create_iscsi_body() { skip_if_ctld - TARGET=iqn.2018-10.myhost.create_iscsi + TARGET=iqn.2018-10.myhost.create-iscsi atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" echo "target: $TARGET" >> port-create.txt atf_check egrep -q "Port created successfully" port-create.txt @@ -146,7 +146,7 @@ create_iscsi_alias_body() { skip_if_ctld - TARGET=iqn.2018-10.myhost.create_iscsi_alias + TARGET=iqn.2018-10.myhost.create-iscsi-alias ALIAS="foobar" atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" -O cfiscsi_target_alias="$ALIAS" echo "target: $TARGET" >> port-create.txt @@ -173,7 +173,7 @@ create_iscsi_without_required_args_body() { skip_if_ctld - TARGET=iqn.2018-10.myhost.create_iscsi + TARGET=iqn.2018-10.myhost.create-iscsi atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_target" ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -c -d "iscsi" -O cfiscsi_target=$TARGET } @@ -288,7 +288,7 @@ remove_iscsi_body() { skip_if_ctld - TARGET=iqn.2018-10.myhost.remove_iscsi + TARGET=iqn.2018-10.myhost.remove-iscsi atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" portnum=`awk '/port:/ {print $2}' port-create.txt` atf_check -o save:portlist.txt ctladm portlist -qf iscsi @@ -314,7 +314,7 @@ remove_iscsi_without_required_args_body() { skip_if_ctld - TARGET=iqn.2018-10.myhost.remove_iscsi_without_required_args + TARGET=iqn.2018-10.myhost.remove-iscsi-without-required-args atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" echo "target: $TARGET" >> port-create.txt atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -r -d iscsi -O cfiscsi_target="$TARGET" From nobody Wed Apr 29 07:58:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g58n271Hpz6b7mC for ; Wed, 29 Apr 2026 07:58: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 4g58n26Q7Hz3VbC for ; Wed, 29 Apr 2026 07:58:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777449494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FOLuRwy4mBzq4meMNVFCQB2qug/iyfUoXroCRkPJWQQ=; b=YQgTcMOq7CaC/82msf9Tfmj+OSx8rFDIo1314Yghf8bPdRZSNCv53W8GuozqzM3FEjGQJQ kiMn1IkyZVBPl8yMNjqMavayBxBylgIxzIJ44+eMKcoYssW31xab4ZAZjsUBfaEFDCs87S M5ccjg7F+zCmTqKe5zFg89J6u81DoQqAD/pI/LTXw4GVRDJfHv59YqEOjs+ifv1SRT8kWA AVrwt3BafDEm8VsgkTmWVxQhdU/a/PChLwy+CLV07D25JODwtvRIkt+Iy9CT2u5knO8wAt y3eYja3Wtd/YQE3naz8LNgIM2Pni9kWtArqfLXj1G1T6X8q3PG9SHS2ZG4IcKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777449494; a=rsa-sha256; cv=none; b=EEe759etHpwz92DPKFmkEtGNQs/Mne/6S3eUfDikZFcETUSU4F+fV/fItUsLkeNWmtMsQB WLphOte8IevAZNdy6FjKphHPeHm5Cm1n13pfZpOZVUKXe4Fm7VvuIUicq+r+Ie2ScJ6D4h vdJIOYvsSTuVaoAUp3mDzRAjc8xr1PpS8FendRdDQk+hpSTBthOLM0M6hiBgY85dw0Z8XE Brc1jNf/vzUYKIXj2RwJkijEUU0MqPS6wguhM27VtiQKzIZWSpdH5bA01ViHhZWR+hpzVs ovo6bnyAM8ajd+AYRCH7sRyGbqVmpE8L4hbUxJvuDOmG5/5sL24iZWXDfUu0tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777449494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FOLuRwy4mBzq4meMNVFCQB2qug/iyfUoXroCRkPJWQQ=; b=dO7JYfI8XQtqwqef6Vdp/Lq7ClfZosduL3HAL9Zjs6CkjMXFFY0HUMa16a+9UX6g6NHqVf fXByOUXaH9vEvmJ7u5gLOT/1IKOplSDnL2fYHgyQUqspqFcBxyTnRqhj5SY3F6olyU+Q/6 ro68HRhpywk3MeWWdR2ah25h+Y5HqdWcDK0tq7micSgmGRb7zvTeO96klNA6r9k1DQNHc4 JwlCWni2h9+DCXt82pjSp7Chcc2H53lYV2w+Guc4QFpdSy5ddnqXGaGUa/+c3Swq56MDBl NS1WIJvthI38hk0Ira7Nt8gadCM14nzUaOSVk+dWNbb+M/0NQiHKK3hKYTJ09g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g58n25yMHzXMt for ; Wed, 29 Apr 2026 07:58:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 389c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 07:58:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: bf1529d83918 - stable/15 - netlink: fix LINT-NOVIMAGE build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: bf1529d839181f1eb7079e739cfd9e146ccc8952 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 07:58:09 +0000 Message-Id: <69f1ba11.389c7.1fa16987@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=bf1529d839181f1eb7079e739cfd9e146ccc8952 commit bf1529d839181f1eb7079e739cfd9e146ccc8952 Author: Kristof Provost AuthorDate: 2026-04-22 21:33:30 +0000 Commit: Kristof Provost CommitDate: 2026-04-29 07:41:09 +0000 netlink: fix LINT-NOVIMAGE build Include the required header for securelevel_ge() Fixes: 9933bdcb1264 ("pf: only allow a subset of netlink calls when securelevel is set") Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3103d39cd99f0a49414f907459d8fd3c11dc36b8) --- sys/netlink/netlink_generic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 3a73ecc0b339..fb74860e42b3 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include From nobody Wed Apr 29 07:58:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g58n81tWVz6b7k0; Wed, 29 Apr 2026 07:58:20 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g58n80fxxz3W40; Wed, 29 Apr 2026 07:58:20 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777449500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zF+o2lfefXkybzRLxzSzuEl6aGUdcNBSeCKqRNYfjO8=; b=cTKQani+xwfejl9XungMVCpgVQ4FEmkZeWJBPpsooHdtYm8A4/YEEKU9R3dUX6GJFnHcj6 ttHhTzYW+hHq+E4bDJ88Yy+ut2VUfoJpoBvkMwAVLrai3T9bhN795novf3M+v8q2ikjwiz GcLdCMWhrNJBimKaRmtBI3B2G//r8UtTWq2ZZ8dWQsndTEdhC3nNr9LRCHajt3u7EwLel2 EdAervGNzLVwhGk1ybUVYU/6cqbPGP7qpovnopYwQmDSTwWecvy8jgQtiXQc42JLGg6vYM hptBbTFuJEIgaw6BJ8+9GHq/r6dTJ5FIl+AuL1qfaIi7+f14BKDjuKVNTf6IqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777449500; a=rsa-sha256; cv=none; b=FNca6wvG07UqObhf6Z7lWFrZmRFutK3LxLAVUHPjFe2zrqAQ8YrwR0Jub9JOWBqo45fJV7 azi6sigYGwf0sVMDc4CWclJahAWitz9Knm65oxVbfKO24exuGA60mobgdvaNBFZfaphLbs arLxX15OYdwjqik1xK1Vr2KFZIUTu9XXnn5cP4jsNapYZFkBsikaUL6f9BY6LClYWRpayE 2q4TWWcztdSvBtCmF4ZxFOYccIcnbgURuxUpgEjhB4aazMwoWqKzNS2+USzxzEAuK6bp5z rgw/IcZncUJsDmHwE55GBxfAILCbYkD5dSyxrwlRXYF60DvA+wxTGOQjeibOuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777449500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zF+o2lfefXkybzRLxzSzuEl6aGUdcNBSeCKqRNYfjO8=; b=Dn3eGPRwUnq8XSZsb8bCzBqYOF+ho4Ssd/fdcMTktflqHj2/gP7lWYxTAPd2CcE5PwSZYR wWgpaBShw0ssKmJqTgNG4Wh7Ak/LZuUsir7vUv7vzxn1VoDe1Zjp8uiK9hKdWBLzdOlXp1 qCl7HiX51Eke27hWtw8WWkzG3u/OkUl6LXa3nLNnmgwlwFM+AXNLL73wl1vgkR92Dql/N5 rRajKm2FX3uShci/PEa8kvhevPOIWwqmfNr+t+Cz2puJdJrFPM98wgzYX5dShOsWSaYcYj szbxyMb55SAlZbeRXErFF5NeDW8wGTk1C1ndLfg/bAIxl01gzAdjP6l0mtihug== Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R12" (not verified)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g58n766x2z10b7; Wed, 29 Apr 2026 07:58:19 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id B2A0811B65; Wed, 29 Apr 2026 09:58:17 +0200 (CEST) From: Kristof Provost To: "Bjoern A. Zeeb" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 47c12f20bf58 - stable/15 - pf: only allow a subset of netlink calls when securelevel is set Date: Wed, 29 Apr 2026 09:58:15 +0200 X-Mailer: MailMate (2.0r6272) Message-ID: In-Reply-To: <7rsqr33-s25s-64q4-o8nn-81sn61p9s77r@mnoonqbm.arg> References: <69f0dab6.44d59.7949e6e5@gitrepo.freebsd.org> <7rsqr33-s25s-64q4-o8nn-81sn61p9s77r@mnoonqbm.arg> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; markup=markdown Content-Transfer-Encoding: quoted-printable On 29 Apr 2026, at 0:20, Bjoern A. Zeeb wrote: > On Tue, 28 Apr 2026, Kristof Provost wrote: >> The branch stable/15 has been updated by kp: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D47c12f20bf58b69e7ab1707= e6e705907ad0d277e >> >> commit 47c12f20bf58b69e7ab1707e6e705907ad0d277e >> Author: Kristof Provost >> AuthorDate: 2026-04-20 06:36:17 +0000 >> Commit: Kristof Provost >> CommitDate: 2026-04-28 15:33:57 +0000 >> >> pf: only allow a subset of netlink calls when securelevel is set > > > This seems to have broken LINT-NOVIMAGE on stable/15. > > sys/netlink/netlink_generic.c:154:6: error: call to undeclared function= 'securelevel_ge'; ISO C99 and later do not support implicit function dec= larations [-Werror,-Wimplicit-function-declaration] > Thanks for the warning. We had the same issue on main, and I failed to re= member to also cherry-pick 3103d39cd99f0a49414f907459d8fd3c11dc36b8. It should be fixed now. Best regards, Kristof