From nobody Mon Apr 27 00:07:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3kQy1fVsz6bHfx for ; Mon, 27 Apr 2026 00:07:38 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb12f.google.com (mail-yx1-xb12f.google.com [IPv6:2607:f8b0:4864:20::b12f]) (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 4g3kQw1nJ8z3JcT 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::b12f as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb12f.google.com with SMTP id 956f58d0204a3-6501c9903edso9626395d50.1 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=RBOCn7gcNSVh8jLKjLUHtxgRWOi58lEZ0jg2t4tJblxfngfqG/PqWEaeWj04yk6GEP r7gJYkyzl2/8BuiM/qR2RfSveo2fJb8Bk1LX0N5ALiaFRWEak30EoeoWBdPxGypN3fC8 cjKVT1EjXRHujoWNHQ3kLZQ+l4+DLQlTD2fTf3Z0/OFNctz8NH7VMaPnDRHSeGQt5B5H Uuv3bDQwmvLzc3/hE5Yr8/eSsf0t/y+UjuGgXP48X0eY+r3CT8gSLiTryVlCylHeb8eF xm2zfmFEnmbXuaMNbPnB/iGkz5WOZCg6e2Sp7O5Q+9oVgEeaLJM4MIJ+s5z6WM4f/h68 PKoA== 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=4hRH4vjRNFhM/8+0CuuncFYXTRDpqjn2zDlgoPePwGQ=; b=e9+K3s6FF5kLuXQPys5J5efJ/7eX0XLqDFbMlJydeOz2jlOCV1g5bei/TR/1GIGjYc k/fTyHJbEjb4IV8HnKtNKG89tUtNKP4/2XY8phQ2LxdSO3TM32OfAw0Dbg8eiuO1iu3I oN2INue5y32xsgw0/J+KErqsu2SEx4MHhDccqCc8HYOdncVj8Nntcy/0nYCP+w38eZoA u7N+tes+nV7hh7Nh5slGQbIfzA3Rd98x+OEY9ATNc7f1rAGfUz/zkswwQ2j1aZ2TbQ81 tQcWA5rWPX/c6EeTvSm5AQ0X88UNjaX+IA5iBiJfNkLZgJIQp7v1AJZqVUFfSh8bEQPr S5fw==; 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=IdkVETpoS9DztQWQzdApysKdmY24ju4gXKgC7L53IsoqJ4OwD1t3CbsBX66hFzdGff LzPDhvZPfbNvjZWIEJm8mfR2YC8GzNsaaJkkQj08KTmNFp1yS1nzWQvOEG8bxq3F6Y4M 7jElEZfTujDfk9XlWwPFUwpDHN9THOYIOXTb1YJwz3OBUEEJSzAYxBR3VizofHbiC2Fz PQfbo7y/xH45G6RTOas+Yf3U2j1c4bZ5GfzxAxssBo/3vwNPMIhu2Ti3Ax92QjuNCGxA gNxJFtEJGMQsqpNHQ7dcXFvf1UHuJKyqQLlO5nkj+0qAPZcWPd4O3M//BWJ9TdGdRjpW GvZA== X-Forwarded-Encrypted: i=1; AFNElJ+ClT5wfSC1+cRPYVwJIqz1Gx7kueXs/cngSqGjYlzORZ2AMeO9iC+Xai99nPkGYgj2t7OJgPH2p0pX/yJt4bGoSNudqQ==@freebsd.org X-Gm-Message-State: AOJu0YwvlGbbhktTIy1wZEZ0AoNoCTwJVDf7qWPjSKRAUzonyrBfMqMX uTH48SB9+Hov74Hvobh/7OWsqglFAmntA8nfJqUEe4cNcXzbFasWIiYYBCjdnDxGdIbHvJUR0Op SwVnnSJsi05S2jnWrH1jVZOLvLOOONMpSGw== X-Gm-Gg: AeBDiesx1vIoREDqOk+fWtxIgaPiNFeRDXRvBL/NiQnDDf7O1tcmdQvveZcUBWP6tVO 3PJlUKYvv8wZX79W2GSUi5MGtUwvZV//G6gJ+O5rDZaMb50LAwJCe+93lzUcyLu92K7pd0PZV6b z90XbmeHGpEA65xlhrNsT5USDZTLRlzh4fUYhU77VeE23RxDuLcPoyKSvAiOTvto2frHsZT25/V VvnLO8Y0bqOFyNYbkjuvoyHDBV+J4RYJAzF/I7HLQgGQS4ssTfzQN5UVAqSw2tdVb+5SCAR3lCx Kb+oYzrgR4e+scTRHk+qs4abI2MKEGG3QoX13UDSJwP3K9ZVKbib 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05: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]; 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::b12f: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-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@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: 4g3kQw1nJ8z3JcT 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 01:18:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3m0r4Z38z6bPkG for ; Mon, 27 Apr 2026 01:18: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 4g3m0r45KRz3VxS for ; Mon, 27 Apr 2026 01:18:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777252716; h=from:from:reply-to:subject:subject: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=QN454jw/NuqiXKWM3EZpj5XJFvA6M6oghYZHHqz9nuVsb4SkfuC5eiADx+J+idz7qnvsBJ ccsC4V+YNtM5rvdo1iZRtoWMRLgC3cq0AGcZxiqo0gykuuRpRrpfJ2nQGPTjqVYyX+1ks7 FHsnXMdNNvs7wOEy9sXx+MpwLu+s/r1QZdo9JfJGq39P+FuIE/UfE/uew6DaLXev0WQB1i nMFOofQksqhOPr/MCWXzZzIUK79z7cGu3BWuTkHd1PbZ3JXApXcE8lO32QzmsXkjEC9EYf AUsqNi2e+vm+j/YbYRSlH+sRKD+EhCNtKwhG7jHQE/ZNdOTRXacHAc89cctZ2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777252716; a=rsa-sha256; cv=none; b=xEsy8Pzha/K94YTU4SCaatI9WxSdPfUF+GgImKeWe+AM1sTwn5jMUUQgSUNbOD2Z5NH5wq sYC3Ik+XlDH5iPHkI4Dy9lcFbJO9vhemJRyr6Wi/XRZDX3gNwAH6L1RgAdQ2wAaJ0z2ePE ZDtdKaVxH9MUkeqzC3dfAxzFvD0hhjh4BzC/Nvba5RGONiaIIPMSUudRsM/JYFVnzqmJL9 fpopmPZlwOXHpm/TqTc3wK4OVlDShnUXEE9/HQ2t1foXhIzTUQwl29td9c87RfYKgadobU X5QDtVoC1LwtC/ZeSEpMJwDqA15Mccyn4rXUoW2W2XCenXQQrf60aLH98YXJoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777252716; h=from:from:reply-to:subject:subject: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=Qmsa0srAz1TI1qhy8oIODIZF4dH+uBPtcAtK0oK7eULnXS96lABF301eL5iRWonpXvCN1Q 8MHjpXkHioXzd1VISNK5C5Xt1r/LxCwu7FGUoTQ9AGFD6K2XwrCOmJE3PgPNcbnne++ZBK 3pqvicNwt3ynrYLt/NBMr5mFVsuHYxKYDFvPBoTItFiRMzQpW+BTfSTFU4KXmril2O25ve tUTSWgLnHaSm3bTDXPQ8+KoomAN9Pl0Kl+6RNvbQfm9gxjoFu+zOv7Xvx6DG1e4aF5HkT1 vS2YgOGbKs3qYazBa15g3Gsqjq+XqFi53wFU37PGBNMlA98xbKZNG0MUpFWbOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3m0r3Z2RzljZ for ; Mon, 27 Apr 2026 01:18:36 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 03:21:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkj1xHBz6bbC2 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 4g3pkj0mPMz3lFR 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 4g3pkj0L5szqPj 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkk4JyYz6bb0p 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 4g3pkk1ghWz3lL2 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 4g3pkk0jRqzqCH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkl554Wz6bbC5 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 4g3pkl1vFjz3lL3 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 4g3pkl1MmyzqCJ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkn53G0z6bbN0 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 4g3pkn2kPZz3lNG 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 4g3pkn2JtGzqbs 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:21:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pkm6j2hz6bb5q 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 4g3pkm3G49z3lVk 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 4g3pkm20fPzq8s 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:24:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnh254Xz6bbK7 for ; Mon, 27 Apr 2026 03:24:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3pnh1NXGz3nWg for ; Mon, 27 Apr 2026 03:24:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260248; h=from:from:reply-to:subject:subject: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=ABos5S/IEqqJqTZS+/qncsBIAQVMnqIXqf2FeLx5MkkIDQPPnD2RmRqe7iKxBk6kdBnR9w sHp8i2Az6qz+8qV6K0meAWwT0vN979QoBA/Me6CYCXYA2jOmbUz8zPX+rPNXGziI/jEyXF bFuZgx81hc2C0Qu5ZhYTSr9HB5p7L3gS36eLyfUrR4VbSI3LmWj096UhFAXvPwUeauywmY izgSWHdRrqrMBOjlqskVj6BBsB/os6fIhgoZmPHxkc1+KgzWgTF5Qmz7L+uqdA2JM3dS9X 925nvzN/B5UCP4afq2UNXR1Gf2tsg4wVa+XXMyL/GFO/4ZrzbwSOai0tOgfXaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777260248; a=rsa-sha256; cv=none; b=j5w5RUPnhuU+23Xm0wBmFvNi8Pp8cTuXQVoH+BAR4K+BhW5WGUtbFtfVVI3+2oQi0mcULk cEoUbIyzsdDzkBZhptHQ0/a2n6gEe/6qn6Dag+su8V//ISxHfmrQ0+REVftOJ2BuMEVQsN s4sjzt4ZanVPD5ta1K0NAmDqsJGHwYs43g+QK5SEgPPkir0aMtqo3YAVZFEjjnefBnHQzk u3pXrJ7eDB1uadZDJK67PY9NidAz5bdjthmYQ5kI34j1ARbXfquLQIKkH+IgeNTTDk9KVk Gn7+MrVSDM5FsEH0FYsj/J4UFu8HQjeke3NWqexSGvQR/TrEQQeyx4xAuUE4vQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777260248; h=from:from:reply-to:subject:subject: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=smuDaaBvpVpAOZdHR9pA9mQB45GejSLF54v83QqRPskUoB/7bDrw6DrfC9kSjXYnEaRtEh C3Fgs9mTXSxZel8jwFYjlgsD/qCM/nRQFYeK4xWCRVqc9x3nwWGBF+WSGKicoxY6sWatZn 9ErD17xAA7NKdJIyvYD4GTBDh7BRnGzlkINIA3rgZQKsGBQ95UTIwVQoC8BUrlgQWXBBPU bSqQwJNIfufHLlw2GJ30+rEcHjAA4H4HSMitFp54RLCIOXs2RYXIyN8W+gHp4RYagrvwuV BPmT8U/eAK6bpMaF9asCXqfBz5qGQ9ThtuSPmwsda5OkWRgiHQjgB05szTKXmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnh0vZ7zqc6 for ; Mon, 27 Apr 2026 03:24:08 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 03:24:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3pnj4nvkz6bb6d 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 4g3pnj2VCvz3nWh 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 4g3pnj1hHGzqYm 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 05:47:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3syv1HWXz6bmmZ for ; Mon, 27 Apr 2026 05:47:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3syv0c3Bz42V6 for ; Mon, 27 Apr 2026 05:47:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777268839; h=from:from:reply-to:subject:subject: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=bgrN1MtYccgw+8rIInQqHMjKqDxNbmSjUGhHM0PkatYX6p0ncFnB4H44cuwYDYji1kS+W9 SwJAlbpTRiqieaT4VF8QrBftTtLQ+Dy3VshIlj0qmDdfC20C/rDByWh3/NI0ES0kor8nQK q5t2tucsAU3P4gX74zzPvDKAnLPRejAQNI+J0VctGch4OQzdIsXpYsYe9LLDr6kvWvfyrz lgGucGq3qN43d24xjqc957qoXil83BGoDz4nL7N0eRI8DuKGIh+Gktez88Izk4vLSHW9xH 8WnmlkvuNPaLVrofL5K68n6sORidFpDkd9f85CzLfZhRvfj72/LBx30QLQyZWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777268839; a=rsa-sha256; cv=none; b=tDeiq5ccljqr4e10jeOGEVggXf+7/vDbVMc4LFM4Atp9Vyvxp5XMQc+B/nCphohy/ZAkRI 3PaqLCFt63evMvQBAVRiCaUut2d9+kVYTjMNga1dgqf+ran4/gNdQkrrAt6N3NwE5Ltkta FqCbWkT3eQE8ybgfPg1HKdgsxPPzcDYhmx9TnkTYq88tXSyV4z/IZBiJyRyJ8QxDWrfZzj ieRei6WB93srcqgDRtIpT757eApsK0kbmL2VaoA41vkPGEQzAGUuGwrOL7Tr4+PD/FuqDe 4qGHDRO0bLAwnClgjLEbBZsLyfoyqblmqt6iIDCSvXO+qdedzTt187GdVAANkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777268839; h=from:from:reply-to:subject:subject: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=ePi0g+gl5IoPUiH2JcC6tPVM3fIvnzHMxPhkU5q/Im9OLnb257LgsVcWbPEJ3sQLKOKoxS Jr4bbFJhamNkUcjeyXD7WvBP1R0E+XQbHDroWW6CRpwqw9OCliDaWsNwi/uGrUftorkzCQ TmSsk0JpVZuRogB7GBfF+mVKMmicmDMllO+NtuSlL+3SAagQ/GaEH8Kt11g0lV+zXiU27X phsLa5fJjzEdWP0maAeQogWSsK4ItypHJbunY67tfbIgylDq/Vc0tx9mOpMsrFbTUChK+O oL+jMAUjwQan0B3ezT2T/LBhB4KQ3slJP78MvuL4/nv7Zs6d5A33vbsyAteToA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3syt6yZRztYr for ; Mon, 27 Apr 2026 05:47:18 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3vXB2ZLNz6brHB for ; Mon, 27 Apr 2026 06:57: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 4g3vXB1ncxz46ZW for ; Mon, 27 Apr 2026 06:57:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273066; h=from:from:reply-to:subject:subject: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=uvrEiqK4js855rJ5/G1PcAXQP16IrAXiCWAcVAKKFOau1ocYItcXltE0Km8wLGwlQV3wa+ 7slvNAfosH2vgy8lhFGAZ4IHY4UdFq6zcAH52Gk++NIu+TwyZo2e9afRuXVapOYM0D06QN sUZOvVy6vfsd7aKWQPEVeQHG23+S5GEDFzb/z+dOGDUkvzxoX3ezYnUmO41BojPCDBt9Nx Me+0zUQzuVU7b/qfpEi2E1L02IKEqn5dG0YQ8zcpJiBAFRFIsIQJdYbMD4DLSwVURAAlH3 dP7YUS3j+n32qYPoQz37uZQjDv1CI3TneSy30nzULc55lW6luubExKDN7/gb9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777273066; a=rsa-sha256; cv=none; b=PLHZFja40EEH9qVBbt/7551uZ31TNXwzF9aJjWcZh9pXJAuZJafNBMr941mr5fOH0sEr0U d81QP4h5tV9Ua6U+tZaXGbUpofmapBwHt9q9lWKgq1JXJ9GE0toD92aijfRLDGhMEEvdTd XmqTP0qHubFxhvi42rulSgONpJOwPflczgTyI2ey4Aon40Qhylio0CiXvofwcLaGzRh+TK JrSYyjyrTBoE6I6gTe/ws5pdxTPcIyTCqRhgKmeLtKckAukHFbzFqSI83i9FS0/JTA9nCx SmP9X6cwvoEh4yKik2Gu61MTQh1AUp8jiBeBY63BlEfy0kuurrlBDifdWQ/u4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777273066; h=from:from:reply-to:subject:subject: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=UqlZsjQq2VFfF8rpLom3H4torE3Q7gGdUNfHsEbkUz7AgCT6CXHhaXOGCS9nV3Q+exrRLN RcF0f5JnmzOCMM0tAsvxs4/v0r2Ew5VsrlVYwdyMm9Z9LC08MBbtkZsDlRqKVn57H1MD/O tnqli7V/Ws59C1wL79zYvQVE+LANf40+qPKMRDlPReAXTxkvXnqlpoFAdNfYAlWIQR46gA fNUtAXMJT3m0cM/JKOUHaAwKjJbhQmA6hop44i0D3cXK8YQbmcQ7wjRPRD6TLQTPcuUYu3 PM9+9L7Xk4X+WaYuq1eLACWi8JpmlaQi1uQKU6tseACn1tNQ50Uf5ifKva+fbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3vXB15DqzwjP for ; Mon, 27 Apr 2026 06:57:46 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 09:33:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3z041mKQz6ZnKZ 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 4g3z0411tkz3Pjg 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 4g3z040YbGz11Sb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3z054lGMz6ZnBM 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 4g3z052g9zz3Q5j 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 4g3z052CMTz122Z 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40Gp4sLBz6ZsCp 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 4g40Gp4C3Zz3XX0 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 4g40Gp3fTRz130y 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g40Vd6rkvz6ZsSg 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 4g40Vd68Zzz3YYq 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 4g40Vd5kVBz13Yf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mf20LDz6ZwlK 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 4g41mf12p5z3f6R 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 4g41md6wvlz14pW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mg2lQ8z6ZwGJ 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 4g41mg0pY8z3fCR 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 4g41mg0Mvcz14m0 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mh3GVLz6ZwGN 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 4g41mh1CPMz3dwB 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 4g41mh0khpz152Q 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mj6L2Sz6Zwp4 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 4g41mj2B6Cz3fJQ 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 4g41mj0Mffz152R 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 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:38:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g41mk35nyz6ZwlY 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 4g41mk1H7Xz3f93 for ; Mon, 27 Apr 2026 11:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289942; h=from:from:reply-to:subject:subject:date: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=qyEzGRhEaj5YbYMoKJ/NCgm5sg+IYnt9iZjmN2vEYQIHvk/I2E4/4NgnYEWmMCbs96ia0o n8Edr5ALIGf3aZuvEDcSDSABw/hTUVMR9/islsXxEPWO6Jg11Pt2EzZjnVy2CnHTAYYv00 MI1kYymKwQNHiHnfWbihfjYVAO6uP0m+53gEeFfDcpYm2TNFDOGV9exG3MWcT0xrGqi2PL c7NVe45SiXSZIdMtT1cXPabPUhN9vnZMNhLsfzqD/tBoZxde6jgf75bexyHH9pXHdTOY93 0Z4/bNpLNGTKfZOeA+PJFcxlwFwLF2P/HJVHruUJ4wLUUsO0xG8YbG8biRXq6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777289942; a=rsa-sha256; cv=none; b=uwexCNXgkEgFmLnLgljsV0sWEsUeZG11YC4JvOSa2DaPKFgb2yRNNu/5lSxjwPS48X2w25 M3+HEfuNDPX7lFd1uGGW2F1WSqXt0LzOnLydNOyPhVo6Q1SppD8k/cf02r9VPXfl3vHJe+ zUc7/8+9ticDsXILlsUWpQTWRPYBkThCC47GAs9nKL3M4WUY32Enuug4BaO1xIb4Oz3XSc /zQLM+XhPf7F2JQFlngMGK2oHOWCGOw0L90m0Rodc2EYuQV4dMRPJTtL/DSrWC2PWttllL gUcQngjlI11FOzgA8O5NuWidG+E0r5s8Vvc04MQi2ubo3pv961ey1cC8GCG8NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777289942; h=from:from:reply-to:subject:subject:date: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=NQrKEhSjczJ/qKpb68TQvaWUlJQHyZxMJichtpKQyT13BuVK7/9s9aB1dg3IOJIb0ffbay iIKnvhMASJ0ez+G5bxpw68RIr53WZCV/jp5lCtxrWsAR6gQ5nk1u2nhlLcMEq4tOisjXBs 3HQjM925iZFXSzs3nIJXabKp4VHFgBZQGPKpZm/M+5bzM5z22TCUozcRkAKYunI9FJHuep /02h0dg10R6QCTts59qpWrW1T/woYun4Z/Pk9YfqLm/ndLdLwjbJwFhQq8wKhpemY4vboR wD2/FUMIRLstNDA/6llTuWePL6pEoDw6PUW7naOxkcetnC6iSwa9ym0V+9Dspw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g41mj6f09z14kL 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:55:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g427S08ryz6Zxf5 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 4g427R6bwKz3jBp 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=1777290915; h=from:from:reply-to:subject:subject:date: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=Bltx1Ep639T6sz5+mWqeCd3RY0zs4EpPAV0JL+FWmQk8cU58uQJXvLZVZK+Ebz6yk/myc5 +Db20aYULCjv7qCTfjEzAGXoy0q+l8D4563cM2aMI3S21Qr4v/POULMuHeziveM4s+T9Ed Ig75kPhib6fByuLS/+PCftIHttiTOaBuIHwmOSwLTWI/S6JJ0lYU5GmIUFofROWUB9q0wh LNPMoWQea/CK5dRZRUhQHHnd9Zu5bptmk463Z9HlXTt/Hj8PBmso99ITHM0MBE4Tme2ch5 MgvbMjp+j0C0cakzAdJ5uTkCuZXvP+EQDqNx7KqFcgNCS5xh9nLAl2FJIB9i4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777290915; a=rsa-sha256; cv=none; b=e588d/4rWKL8d3Y/wo6QNCmlI6q+0Hu36sU+vBvyMEVLs+7z8yyBGSxPFpZFKxz51pv50d XH5fvfbBeQFFqvdKfZFgEPm4fgj30zGmCFmRU4d3Naf/UeU1FUYFcKmtxVANwJJqyC/4or w+vpcEBx9oWDt6Uf644f8oSnWSTBdJSrp6TwYjXQfQH3YBqrIicY43IEEPwuc6CyhaH5S3 GgP9/MksaF2iWjh9KdJO2smFwX0AKxKtuhqp5HlneRe3/kNcKm9Uxn4v4GuaQPuf0o6yVe 5JBXkN2Ywp7WNUsclqoOJzQ6tyi5VrHaMwQg+P7IDSnnITFZ2mHOc9W2OU9nbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777290915; h=from:from:reply-to:subject:subject:date: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=WljCLDga0nMD5jShvtbSTCnL9QeK+x9evaVXUiQ/PKYq00UdKvPspDromkqKF0LEORVzDQ 3Btngbf/tI8NsKQpw09HvzHBdQQaS8wLRhHXJA/CiKqjhLlj1jGCWQOE44YvnkI2VyGEG+ 4e7p8scTB5mFTSj49fzg8vhkL0P5QDbSewaKVOUkztPEfiprYKvB5HT4qUMHNlFyCzEIen RN2dxzln2uJeaSRpNDh3DK0To7DT+G01Ca39J2A/T47DPP3ARhBIATdb11+QTHsD/Hk0eb 0Dg6IvgZBSWvqAaY+KSztzhH4LF0dU6pD2HmwvWx4w8fnaVkkQ/0V9P0QQDw9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g427R69Q9z15Wf 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g43Rf2tjmz6b1bb 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 4g43Rf1Jq8z3rJc 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 4g43Rf0b32z16S7 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47WY4z1yz6bG8v 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 4g47WY23sCz3cST 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 4g47WY0BDqz1CT2 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:57:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47WX37Tdz6bG69 for ; Mon, 27 Apr 2026 15:58: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 4g47WX11Lhz3cSS for ; Mon, 27 Apr 2026 15:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305480; h=from:from:reply-to:subject:subject: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=UWY5nnUxswq4Aasn8AD9Yzq2KaIuf8Q0jj1/R1KwJR3lyHCnPi391d4nWqoLHPxpa9aw4x xkkai85SLnkYY+hohf3kShoFEByUXYTpeDCh/rm43f4jSSyd5h/UICcKZ+Sxk2z2cZXDqY ljLdFkXXDMzALaZOet8ymSen+es6ijPH78I/o0AF/4HrvNidlkdgLGVpTkasANuDDy6pUP dVQYShxlfjry3qLqMV9sERUJocgBZ+n8AIVza/KFu9d/bJVqSLxRIW0jRIbHo0VqtTu+S2 ZEcYl0QaZeWdrWve29YnnBFyVw2uJNMr3KVMr33CGW5viNp1ZH12Rc+gDZ5MZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777305480; a=rsa-sha256; cv=none; b=ofgou8kxpxRHCX2kNuv0Zynd7j43N9ilth5wL0Fjw7O/cI6JfyVnz10NRlJorTcfAFxNZM xths4B5J18u3WzjsKuS2XYN/8GDklZyXtvq73Eik8kc8nrzGhjNzvdz8PU7KlPeGTCD5E2 0vOwA5oMInNLoWb9rtpIa9+Qtv5oNIXec8xbP+JG55TZKErHknZhq/b+evIih3O1ToYMVT h1QHoSn6uWpBTcDNnDITTuaEcGBMlkwCQpJ+E3arXCmwveF5Jk2GUBICxy+uJIh9a253i5 fD9zziiRRTUdRbifRYbAauibaqMqbW+2xDblSlkFOkLIlLL5AF3XTcRG2sgZng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777305480; h=from:from:reply-to:subject:subject: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=sF0mcGso2wCCnUgDOj5kI9Q5ZkiaxcdONqM9YxMnKH1TSxtQoaCOy+/D2K2VVzgepg6BLm DWU6wYXTDLBl+bRwIj/nVlWnqUWJalVxusLRI7GM7+DQmn45wwLqes+OoCbnn3K13qkMYx eCGhpd9P+DWJnyVjoLCvJwIuUb2psxV4jw3+fecRVgaXVw0mQvMCFKcAOZyhQ5qxYwacUl wAxRxZaEIZFIx8O/7yaytMM++OV68l8cuvcEHs2yrZGWN3MVCn59jMYQSt/+avZHV85rYt mDwWu2GVYGZesbG45Y0/ng6koDTbwtNejTn2r3RnTFtL154qjSMGCJLN1GkU6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g47WX02KFz1Cmb for ; Mon, 27 Apr 2026 15:57:59 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 15:58:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g47WZ3WRSz6bGBw 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 4g47WZ0xwfz3cQG 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 4g47WZ0Vk8z1C7k 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 16:25:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g486s5KZTz6bHjR for ; Mon, 27 Apr 2026 16:25: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 4g486s4ZxVz3hn9 for ; Mon, 27 Apr 2026 16:25:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307109; h=from:from:reply-to:subject:subject: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=U3sXzqvCa0NMOakwMgn0fSHz3c+jB2EMw88JBrr/wYzAZ0Lul987EZSXsuzsWD3WUeiJdw PnQH0xIR7ydiCy2pMIMdCkrEB35yoS6xrAaBYoQrQ7Kq8xIRcQNVBG6STe27I0pZTTb0F5 BbNAW7/x0e+hbW+h1bUaHOXYsCtl8VB1ZOCt0ZgnJ7hdwJzsvWyOoXdSKFWELcRcN+1fWJ bNlhL6uSMn6R3OdGxfF/9YInkyzi1F33dXnMNqUKFfO45jySAcZ1gaVRn4oKfTFbAiB5em XZaqcIGUeOrAlpQEWlCoWqqcncFRL/g7lrjv9sZC24TBjXelJdPZhzpK5NAq7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777307109; a=rsa-sha256; cv=none; b=pzUhszny1PyGpEcXcZtM69ZbSWtK7YH5Mm+bPFt+lnGmB/+0e+uEbY+RCTNNQ5xPAk+9LS xiYQSFfHIhahQbazWVYeXwN+OyEPupzHOyOPqr6XhUsWaqDYR8vTZjs2ZvTQDyPYePWTLo uNBgMen5BfPD1snYiZFkpkpt8/agKhBrWAfskt0f/hMxsSWmPEiBNpPxstS+d+RDprAxIw QINIVDgmicLV6Mz835phciqJhaM+4nkbkwOEeZ1YUbJCl1VrlNgkUIF1FmnEar8hFd/7D+ WaM/MZFclmiRZfmHGJXw1OSAkLjogeZToE8mVn5W5/5pCHZ0dLX3ObwSdZnKGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777307109; h=from:from:reply-to:subject:subject: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=FgvLjIsce8HSrPf84DOsB2T9Gzxk2P+aRVr+R/Nsx8BsWa+z3zgyo20jneFcGDEesHZ9Kj bqxd9zfBwMHiKBQNYPl/BXcbKJCKRiebAuEGtJmzrpXLo0Mnk7F9e1xyQZfMVKYikJctrm eLLoG0HOUg09aBQp3aLFjmJ5zz+87zLqBY1CR33MmpVS/c780UqgKSetONlXryUz1FcQcs bFaGajy5rWP34vwXXNEzSNK5YXqDU5kTYSjtHAUHpfgWCUczWWf21SJ8SsBQ8B6rVUb010 8ERNL6GvyR/LkrgCpLfnPGsAu4qR9nT/eWlc37dCiF5PWr2o5CuSyji7bk1ezw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g486s49YFz1CpB for ; Mon, 27 Apr 2026 16:25:09 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 17:52:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4B3J1yMYz6bPVr 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 4g4B3J130wz3vPT 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 4g4B3J0Rr3z2Hb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable "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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1R41Rtz6bVL8 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 4g4D1R3Nj1z47Ly 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 4g4D1R2pYWz4ZG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1S6fFxz6bVNK for ; Mon, 27 Apr 2026 19:20: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 4g4D1S46xcz47PS 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 4g4D1S3gq6z51m 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D1V1Tngz6bVhZ 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 4g4D1T4wFdz47Gn 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 4g4D1T4Sx4z53h 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4D2S5DzLz6bW0g for ; Mon, 27 Apr 2026 19: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 4g4D2S2nC9z49cH for ; Mon, 27 Apr 2026 19: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=1777317696; h=from:from:reply-to:subject:subject: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=tDDytIilxukoD2YHydVqJWyN1zP6u2H22EGCUELERbU+ONkcUpmUYqzpGVLNXIdt0yrGM1 P+C6rSrvI6szr+dOeEbOnkhZe0FN5AW0Au13fu57dQvTHcwth4q8x2CWqnuKy9r+j2F6uL wXxIub2aSDHXrrT6LH0O+7dsAkzveqkDyXlZ/LYk0NVwrFYxXw+q19oVie3I6s3fcMposW DT4YtJ1kov9W+OU6sZoAos3GxhZOkyWa7X+BCZu3KoyMqwV/ramMCKKArqhN9zidvsKvRO WE0haJwt5dmhxGh9o32bKmGMsoWqlSXHvAN0UCNtMCkFD5fGfaIkjSBUJsfPDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777317696; a=rsa-sha256; cv=none; b=ofy1Wi0J4DRxsk00c+mkMOEVnPUNWbjRNWwWxd7x7uGqiD3w+xnHVpWkTSJQu3/H7OMD4X NUNbgxqCcoRGAHydpK9pspWhYTXudQjXyccf2iEufSs5ZQyKLdMlgoqod3zKsaCaoH+FGp GqYSk1EkaIUo/Fm2iWelYkI7QCvmunv9/6VMisX7/fRBJsvbZM+o6ehJuSoPQ+MDQb8sh+ /XyGsDFiGkdXQDXyoOBMpwx2hzyNUwRW4tp4pwdzGvyoh8srNfPyo+sO4uXO3/3UNCsErV ZupiIHEHWfWkxQvsND+NZyA1eL9Y6gwwjNLGfyLFQJGwLNITfOoCbhZMM4IV8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777317696; h=from:from:reply-to:subject:subject: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=C82y6kj4TpL81C7P7G+PdCHRfaZIPirgq+Rl7e+VVtwESdMRBT2bRnIDgnX9cVGz1825D5 zH4rOwgAUX4hs2pwJcNyjE2lP/+ZRio2tpDiO5JJ0si1kmAcP0AMOyHg6GhawaFD/99Feb 1rhuj2pWK4LCZBvsP98XJ1W+NVC4fSqhrEPcSKmYBKPIr9x8nJ4aTJz1KuHrdIEZ7NFIGd Sw4NdZvPrg7GbA/khh38eaDvCAIu1m1eTBDZzts0M7a7Hr7xRXiH+tDcfyW4ifvR4v+/3i Y23631fLR11472pT18WAv6DjfiPtYq9BKXdmYzoDkBofJ13bvTaqg+NF5GK1iA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4D2S2Hyzz523 for ; Mon, 27 Apr 2026 19:21:36 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:51:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4DhP3F8qz6bXXD 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 4g4DhP104wz3H4s 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 4g4DhP0JzXz57m 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 21:15:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYT61hwz6bdgZ 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 4g4GYT4SW9z3Xm0 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 4g4GYT43YLz8G6 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4GYV5rbPz6bdnH 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 4g4GYV4pxrz3XrL 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 4g4GYV4PJlz8G7 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Gb96mNFz6bdhf for ; Mon, 27 Apr 2026 21:16: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 4g4Gb95v73z3YV7 for ; Mon, 27 Apr 2026 21:16:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324597; h=from:from:reply-to:subject:subject: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=Wgyzp8C4szzj2zEp7xASV2Q/Fvv2wcl2TT66ITD20vIhUqFrkTjj7ubV3fgM5fdlZBT5Og 2B8xbp4RezqeHdgZLgH9owV9dHvIaDGtuTPFvP1ywvI51ytd/lJgVAhkZG81CXVFh89V8F CLU9x6R4EM8fyNvlMVUIGyxDUi2w0AqFjXjK/YeGtcmTiFbGv7S6aJf4WN5Ro8YVjuzuiZ AzrLvP0Ysr1q+gFKaG5OKYnVN0klMf5isTO/uXppxatWUvBCHLL9+h9F6h/vV5wZC2VFj1 i+PRY7ayfGv1s8OP8QU18Ue5Xuu8F+V4Joh1TEazIMy3b2bho/CeCRCsJ+Xf+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777324597; a=rsa-sha256; cv=none; b=g6sGgOPU1AL+KimcH3GA9uS6QnLL6JrLeHycOW/KZ00WRWc0WOqF8NoBn6H2SnjXpMlZb/ 7NhsGg6ZLdMIaUNoocUEqprLRwVds6C2OLHlcTKZK0Frq2C6UyFbPqUabK8INmzHJ2Go+d t9SjeGcDC04/WoAk7vFUxBFUG81Dd1rBO1gbuuSBRQyZi3V3EFYeW7QNvHhEqlkDZx/BF7 oLxD174V8+pDEnQ6K11wZmtORKrx0kt7NyRiZvNZKWs3w0ngAB7w1i7Aqso68lTYYxjxBQ 8kOoxG6wln9KqULsBSEEV6xHcGeqjR8NKmflfdG7E97sJ1q8GMCZy7uPwIDdCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777324597; h=from:from:reply-to:subject:subject: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=qzDWx480Kq3TcfivHsrfrxJwxiuinTxCveTYBpjnanUzvwWWLsHKkId37E0suwiCQl3Ja6 W4DaLMs/nSwbdzf+IL+0uLLTxENduv/kRgH2tO/N+gxN0wnsBrzQnJmxKTY3GLGIxKTt3H 7cm1rycqdwVufiy9oqzOSeSWAJUTE8I16jA13KoI0mh0dMci0VGQso9sV/NLMunmT9xsh1 gFnyBLBAow9Q9s2AxTYOCntMMNXUICy2DDnZq1BwoJHsfNsF0UYdouyI+32zSEQG5n+wFb Gzi5ce/eMiu7/CRJwA24ry3rZPGSLRL54A5rOL1oVYBPC7JwhpKrr+QbL1Ck2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Gb95TbXz8G9 for ; Mon, 27 Apr 2026 21:16:37 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <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:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhv07w8z6ZknG for ; Mon, 27 Apr 2026 22:06: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 4g4Hht5tXlz3hdy for ; Mon, 27 Apr 2026 22:06:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327598; h=from:from:reply-to:subject:subject: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=dOXA3XC+D69Rd+yaG0/VRZMvGrb9SCZclyMBz2mqlCuByqc2ehdQQx1OCjvkBE6oYvqbfj U8diz3ApX4H/krSJAApNUEInl26tbqbDmItb6v23pCTUOirfS1loywOoe5VRba6KUG/IJ9 +nZ8WiLE4QMDZPOhtAa3V6ulsXs0gnSIK7oWrmidG2x0ojDgGPH/Ak7g8sKNCLwU5zR9Qz kKs3VIqQuJ1OE7DD3cMDILIJ7GUgGshisVx4HB2jYD9l0hwPfSun8hHZL/O4KBtccRQXRD sEEKrSxMEPP6cLkZu2ttvpX63iSPhHeDX6GY0NaOrX2bKrKGSjnJy7YojDh+gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777327598; a=rsa-sha256; cv=none; b=lzz5g2ntnk3TlOSX8dl+Yauwezxg88M34d/30N4PfG4XECL3cHS0tE/kAUEYfvDDDZCKkU g4h4AWM/J2W6scdysoZHqWpc0duXsgprjRxXvEjmzFdsa5WR2oykMo/KFcIVdddlTn4NL+ q8y6yL58rE/AqaOVav6nbrs3VzD2QXobpTkuuQn72HZvo5gQIBVn7HjJINrE+PqJR7FjGZ Xq1SV9IkQNDcs3XSN/vvQz+4rI9W/4lTMJEoIvQIf1mmiDEZeEfya+qBhXshVeHKgbehn8 l2Hbjy1/W/JJO09aiOcxVpHOzkGKu62+Ly68XU/+zYZuk60i3mKanF/P2qBbOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777327598; h=from:from:reply-to:subject:subject: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=dKussbiOqu4mZmktJBwIRpzGOoFml0s1kh0wndCspqzJXV52IxtCrFD8yMQlmqJYOC61r5 ozWAg+83mFfJEINJuxC+4aR7BDy2RDeg7ZEJEmp9eDwn1p56blr5eSXLHo5SOSZmztDHgG ink9Gkh8Rp2Z6NrDMbpfvCaXyYbQMSToHVpRR/8zzUk39rCtCL433iPpb99vPIFJocqM95 O2Ru1n3228awrGrjlHBB892CwyL6Ho1DMIWriVoCXK01IuFH56CElM4m3F32erBt3LSj2P g5Qm9fk83IB79fHCO9WeoD7d3eLDiNynR4PNqb27bzvFd2Ng7bNNsBRPAO0Ruw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hht59nlz9cQ for ; Mon, 27 Apr 2026 22:06:38 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:06:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhw1wG5z6ZkYT 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 4g4Hhv5tCdz3hVt 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 4g4Hhv5RVpz9cR 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Hhx2trhz6Zkkr 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 4g4Hhw6ls2z3hhK 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 4g4Hhw6GN3z9jW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:20:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4J0L1mbTz6Zm7Q for ; Mon, 27 Apr 2026 22:20: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 4g4J0K66Lkz3m30 for ; Mon, 27 Apr 2026 22:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777328401; h=from:from:reply-to:subject:subject: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=T/vQYbCIT7ri+AlHIxCRdpcBMz6H5wymxdcVMTfAQO52ETcK8DFEwqHcNbPrm+Pg+w/he3 XIt96HWDFOGUOCpP/zBcJasODEgBlYOb77G3s3vNHqq77mIrY+6SIyPK2vfoONmb7wLxPO dqxXiG7q1g6MHGG3NERTfRRsyhahmzhmue82ugnWonPlsvHANWQNh+Cs0oWAD4C9YAxQnL NUHgNjm16cyCcg2l3sJJu+oGVrdXPNMtmeWaNBbxVWGksQyF0YglH25MY3ltVi2vJ31ZHZ +eZw9S2J1jlWLP/jMOHrK/yto0aFaSACRHdWNPfrJj80ShvywNc0iUCt74+vtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777328401; a=rsa-sha256; cv=none; b=BaV5Vt/WYbj4aj4bNOdYGDKaM6kgmBEu+cQh+AegAUgsuKZl50fOT4YupUKLuRleUPK6G+ arKVgEEgsMIDaj+qmSJfvogylfA5LESxo8k/C3yUf+5hjZL0Dbxh/7hTOlcVaVkTUuyG7T QqtZT86wWRcZkO0XQTAFLgKHJNZfy7RRf2dOtjTwZzuf21ZYkLfZbs0QqIXjleppRwbIKE nfqcyAFCAjo/i77XI4jOXgbKTrBjZHPc4OadqKrub5jFqn1lD/zW+xb4jJ/+X+abBZPmYY FpnBr+f5p91DZXw0TKIBWpIWlcVJYLvSQN8hOEHPrfIfYj+vYWF7zZkzfASuYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777328401; h=from:from:reply-to:subject:subject: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=x+IDOOEcZJs75spidjZYIs152FYry3x2Onj7esbuL1jeRv3f4qk1e19ghXgOWq0xq7z5LH JgNfzouq9cpL6WX0Ot/XeFbvr5gnLE+Jl9AleTZDpCP6hsWRX0JTvWWb+8mJP8ayXT4Kbr JuAvs+RUoXaufRyZL34sb+RA93V/8vv3OKrP6SyqQTV3ah86Yc64B5NARNN4hPHUWwrugL 4vwhV9URjPn8s83Wa88VzMwibBjkrj4dNr2wxHhJrF9Y21ht44G/bTU0iPq646lo7tjCRJ mvgQAY+/CdAT2Qx8F4iVG5Jq+8AFZxVPX+tY239Kq6bo5XSSVjA8ZTjPyxmEWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4J0K5fPnz9yh for ; Mon, 27 Apr 2026 22:20:01 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4JvV30T1z6ZpbZ for ; Mon, 27 Apr 2026 23:00: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 4g4JvV2Z3sz3px8 for ; Mon, 27 Apr 2026 23:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777330854; h=from:from:reply-to:subject:subject: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=BdjmLMKKXqcS9mrvkc9xydViD2n3apWZBqOZSV3pspeurXMHi0QhBmZE5aLiixnznehg3i E2SP0hkqhh08zu5PdfDOnLisl4d52U+CHY0SKgHI4Zi/hAJS1Ay55tOklkUSeHrALDrdJz 4ZN4jGW17hr4M5QVRefmOX45cAQxhXYun2+JDQBuNY9P+zX0I3kcrVjUEmf/sNVxafw65P YyW9bPKobYvr0v7drTMOT8EVPoskZqt8Eisb8Nw071OZXDPVQGxzFmrwQO7fPU6Q5uvySl 5baztL1mc9pMHf584R/9b0SnzEpFGRQbTfu6UaEhFTXFhrY+2pnqwHl380e0MA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777330854; a=rsa-sha256; cv=none; b=HfjJd2C2neiE+VMNYfIHW09vihUsqjUNyuIOFoJ9z+sreTtlrjP6AAahLKmtboaCoVVoJ1 8wV8/cmb9jZtNt7kM7/7qr5FqnsCtXGQjzRaClp7vlrlP6pFMgUQkAp6pOObt7glq1ij7f VhwAn5IbhnR/Xh2bVH9Mxx8juvy/ub3zOAWuA9eihI+ZxVwR9ZSEx9wv2a6MIHL0t6luER w6zzLBHUzxK4CYH9r5AdROTiI1FpcYUTl1IBs+eMieFxrlJYRBWddc8mOJKrnTsZYZ4oDv 6/wXGLMSpUdHGCKyfmfVBCN+nFGQC0mDnUO8VjN1NyNCfWCg9JzmPzQXtyQByA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777330854; h=from:from:reply-to:subject:subject: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=SdIHtA8HXi+nt+vBKr4D2abM1XwOt4NARgDVzW6yWPDq2NyF1D09CNcqPKpm9V5qGFhTUp bEMNvvZjpRhYYO4+FG/gPYJfip0nwa6hXE52RErhnksOnlkJjR1RZZZazyGS+2IarM1T1l DanDVAD8dUxg3SP2qgLPZr6ekhltCQn6DDW2tCNe36qH/RTc5kRYsGDLONzMayJPJamYwT mLpiahoID7QUA7/BwtjduWPgL7NUNFazw/KzKsubHNJyl0tqY2wUWWwqK8sk1ymXBJ5DM4 xSvW6U2zB5WXRvyr10zojkPOuPTMbhe6vtPmQWvF3cSj5U4t5GOef1Z4EIqsmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4JvV284kzB1l for ; Mon, 27 Apr 2026 23:00:54 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4KL72LLCz6ZrBs for ; Mon, 27 Apr 2026 23:20:31 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) (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 4g4KL66F4yz3sj7 for ; Mon, 27 Apr 2026 23:20:30 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-35dac556bb2so6247571a91.1 for ; Mon, 27 Apr 2026 16:20:30 -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=MATZue8qSabqxjEmjEiiRAkwVSO/yJZlcYmdXQV3uYmvTHtoDTKZJwDYlV6Swf5h2P QrkSFqDeeuvgW2vt7ZCgcdD01Gez8ykieJp7T1uowjMzXaYf6afWbnjv8kiIlwjDrWie vuk90Z8TOYa6ep+ONUWiVtCF/xRGqmY4HugUq/XXADc3Tbe54xfp09ehHM+p+96EWV8K 67bpFqupTnOeBxCbFbPdNWfsIDupD6Eohepeb9X90k2NhX7y7QLiNHD/7gcALjLTOMzv 12SJUpkubzq4PLcMVXfpcTVvqCw5IOnc5O8adsHAuIuElXZBmVrvlgieCf5WUzyLtdoT gQPQ== X-Forwarded-Encrypted: i=1; AFNElJ/yvmS35B+CH10HLAPPbHV7VeOlO9LrTmNZjoDvngECOUoR56yoTHZLN4fSQEP1kjaFg0dtBlcY1KJU769neaRu287UVQ==@freebsd.org X-Gm-Message-State: AOJu0YxK5xCyaxqHFgnF7ECD4B3R4LJhBoEPjxZ0lDaZNuSfaw/nKM2j JwoqV0Fib8QDyKCBi04W4LO8eOiP9YBXuOEvoSB5l/8Rst+90yEtZLt1 X-Gm-Gg: AeBDieunYjrcRIEEVJEdQBni1342qYGKTUmj90Nrugno92OttnuEEL+2rcybVY0KSOF 0bVRnCY/2QJhc5jkQpUN+5gtgUGhcHBNfz5C736Ml8w1erUBTOJB7qWo/Z12/Is+WjHPmM1x9Nu j1FTOJi1JjEDsU1rqARuu+s+4OMype/lb051ctUQOLSCgJaRkx32288ILkuTkTDpcVDiDRJ6CiS KXOtEXcBb/oNlmWGMSaW8XQXyvaBf5vAiMzNqVGNNa7QjPpb/bBa7hX5bfC/h5vClfWpw6jSbHv HsYT0aIjRdShIH9CijXe+sOVfE00zKIsNC+FY4lqIfMey6V5GAU1SXFL80P5zvePJ9NxGZ5MQI+ szY1MSNBPoXQPgmzjel7DHn0nt6sVmtVKVaW40jOpeNW68CW/xMxIY4GYmmCoG+2DIdFj+NzY2A lvETOu4OdnFyvYR0GYrn6G/0PzixsUKuwZQE3gBj8puuOthnofZIgtng1wcr0= 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 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: 4g4KL66F4yz3sj7 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 01:05:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4Mgm16SXz6b0G1 for ; Tue, 28 Apr 2026 01:05:56 +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 4g4Mgl5RGyz45hQ for ; Tue, 28 Apr 2026 01:05:55 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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: 4g4Mgl5RGyz45hQ 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 06:44:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBz5LjPz6bR2W 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 4g4WBz3Txvz3ZNM 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 4g4WBz2LG6zjbG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WBy4rVCz6bRRw 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 4g4WBy3T8Qz3Z7p 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 4g4WBy2B0szjBM 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC05VWjz6bRMJ 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 4g4WC03YqQz3Z7q 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 4g4WC032r2zjpD 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC20txkz6bRMK 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 4g4WC14gC7z3Z7r 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 4g4WC13kMdzjNG 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC31gdcz6bRLH 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 4g4WC24phmz3ZNQ 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 4g4WC24GKVzhql 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC515bKz6bR2d 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 4g4WC35wF5z3Z9M for ; Tue, 28 Apr 2026 06:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358703; h=from:from:reply-to:subject:subject:date: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=SBsAjcCzJGYen2skxkkAtUkFRGF9Ew23rKHem9RidBm7dNXdQWK+5HE9pFZuAUF6SYi2X8 AwcQbVYrBS23CcmutvQR5MEohQigqjIr3BxdIf6AHO4W7wwsiVYrf+F77yyAgg0W7RuHzR W+MyrQq4nZi4PbHhxbc/ECahPFINAR1ARo0f2YmiwTvX1mhWts3Ba+wAauyj5qJ+xrMdnK IWMUXP/QOMNqOpme75WS/uibGiF5zldothdp3PUxwPBgFbKeKZY6ZK3YOMcB1nc6Tk38SY 7wjiJFPR7C/vxjM/BX9GXQxJ+emP05YXmYR5jiXDn6lyOWXryea3Tq8OmCJaYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358703; a=rsa-sha256; cv=none; b=e+S8bBv7AvOn0Yw6Lgjri78bj/tKttb2eyp24abesZHKKMrh7fzzaH5dgcnpk/0Xr+6sh7 ApPaGLzFtVhTVxQwE406eAwhWAscFbNmZVGYkgKjQgikHNJvK9y2ifIjhGpVir+aXlFwDQ ngjsCnVTFk3T4BvmfheYxhjCG43l19dLfQkm5IdDujEaB776NJHRylDgUFZ7g5T395SDkV ZsiLcz8iY8ed8wpOsP9qSotzl4w803pgZwoODZY3jY1yO35obPzUvZkvD3YXaEzyImcl5A fnAoCt6ouj7L8AWGcw/uEOdUbfmZrkEM3zwPndFZHZEP1/zTWgIiYYk7KvQolQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777358703; h=from:from:reply-to:subject:subject:date: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=lAfYNamKgMM2l1dlq9xzmJdyAaNE/jXVjW7PBB1Js4/Mv5KlFUM1njSpWGwlqBvCufr87f CFkuZvnR6qrCxRVVgqAkHNDcXrIe5eMaRlrVB4Z044xHMLR1CSadLocJMCkYLQujB1Tb7H dpTamyZBqlLJW8Qok9NFAslMpf4OEBQcABJl+5qaYczGhxBfUWpl5octb4qDiXFPOF+7kL zFzTyYDRI8jxHqMJoGvZ76Ii9qLLBnGHLUhfg88r5FCK55J+o0QHslxiq9yyibP23T0wke OBl0rqsmBJWwkgyqFiQoW5WloKIUZpjm1yW8XHbPwZf6NgB2AdsNClEDe8Ka8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC350BYzjsb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 06:45:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC56JKvz6bR51 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 4g4WC469FNz3ZNm 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=Fy8wysMSldwbveiy2QXdM81wf/AAQxJ0JlKVaq1HYAg=; b=i0TE6PliooUX4zY72eenYiCu/OFO5TKgfrWa/OGuAG3LMfIIos0/SnkHFJOgs4lYIBGRsB ydRQE0J90UvNzUn18wvsgT/Nql4ZaM9/OTTqCx0yMoPqc6J2D2aZE9be8npQ1BAx4WuNx8 RlZbsu75bnYui1MP59eQgGqkNdnOUc7Xlxs90+k9uoHeQtJJAhUnJQQsx0iYshcFgOm4uj v2/KWKQ2WKPG0GORWZzGcOzsFAhrcXP04OdTlZqojvOgl7cqJDLqTOQlSKE4f2SjI1xUAq i0V5tjdZYBENFORbMt15+qpWIqZ+2PzpoFzTGUxhu4UFIQ6Q6S38xFaiEGnrdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777358704; a=rsa-sha256; cv=none; b=QS2C/7fixlw1QuEeH7PiBIAtDlO9F4TNhqhdgZSduO1N/hPn5MloTG/B37qNdk8dYhXS1b FwSAguS9hxvO1vZw5B4sTgWU73yTb5dZBYrRqCgI94dLfxe023d8ETO0RyOcIT6Al8hHz+ IP1kjZoSyQcb8eZMGAlu72IHAtsPW+3pW2lYK0aGblBMQsjawl+Bl+qccVjl2hnhj0gQo9 LAKWvNiETPoTFlgzlCUzOzz4kqp1ZBv05bZNwfym3joWjlyTfXYYhqHxBV3FHRlI445aPJ OSU3Px9OnQeArDQFPN0lz2My79koMUZisxe5KfhKLm8vPYWGireUyfV7IrDVAQ== ARC-Authentication-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=Fy8wysMSldwbveiy2QXdM81wf/AAQxJ0JlKVaq1HYAg=; b=iM2McPyX2M3SMwoV7wPxdbszz71FK67DvYYlgnoyleDoGMJUiwvl/fsLU3wBkXKj2PnrXQ zzU7I0Nl+u2qJTNn+5csehef6mmotokpwyK72FF2ag7sVQSWVdq0gtzY66nR+ZvJbrABQY GD4XN7oh63z5efTDKJD2bdaUCpIcRVIXM0hrepDgKl9nIRV6sKNcGhh4KXQlw8xx+wHhR8 DrAg12iFhmw9ZGAYjTpgDWkWckOTFSwxqq/ybQ362Dvc95OzEZHlegFMHSUBYBnD86z11s vbhbbNrOA52CAmnKHJIYt9xXhM2GPP8pJtZR8qIfL82KMD4q72n14AXVtUoJIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4WC45WXszjsd 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 13:31:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hCq4cmWz6bTT7 for ; Tue, 28 Apr 2026 13:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4hCq3cVKz4L1X for ; Tue, 28 Apr 2026 13:31:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777383079; h=from:from:reply-to:subject:subject: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=jRq5FXD88f+MD674Y7kFXaDZRySy72mdk0fU+Zw0jBKEyYvHcWFruMQ2sdKNVPrpM5fWa0 cTN5kSicWMiNkcqPY7bw33h8I9qxn6ESyZJIe5Tvyz85OYL0jinAwc27yH8TzizfGwkvZ6 KwNNAWHyc+uyhkFIkBdwHQ4KCSRUPIa1KhyiXyUZvSh8FbOOh+5B6q1pMHuloQioW24PV/ +PBjN5xZcb+tyYVKYDMsYwvM3UC+cBc4n0XA9Z7ZxmmL/RmIJEi4CUjkvBQ+eyMYNE4kD4 y17fjKlSiyHX1D3E78iiKXsL5GJrXyaioioZyIHy7EyPYyiPVb09CiS/fcw0Rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777383079; a=rsa-sha256; cv=none; b=h/BLLG2nkloEtvBrQjLSAPxv5MxR42HdnrABL6VcNeej8EaILhbeCe6EDmDfokzNApq9RA G+01xudlh9e/bQeLv2ywPxW0sT3NImc+nSoKuDhZF1LplvUiYeQdSUBK/2tFR6Q0WqlRYL JXTm5bn8H+NZn++eN2KCkEdjLcTIwJ1EKlYHKIcjNTiHV8tK31//CFVk5A8Hc6cM72q12l J+Shr6h82nCkGdandb3eRTfG4F8yX2gyNeHZ8YowUBzypXQEqrbSnASTBY8eDLohJSkDHz RFR/6WHaU5+QBN57M4bjVbfnkscyTyMLykxATOlw7xrgKJ6aToW1UIElVE4xiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777383079; h=from:from:reply-to:subject:subject: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=i2qbHFpb6s+9hJcuGMxahhyv+KMqOueHul93dJemLk1DtGiXgCFCmEMX0bd5VeE//veOQt YSQs6JgX+0MPlsT8/QIyVOxE2+xD/LPfyG0szl4EH/Z8PeNmTZNxYYIgwjpOHzx9emKjkb rQcJdQwg2+9Q4GBNsOKVe7vmPklCwaNBl8YF1JCLXllpCoqa45q96BNpnlDj+FsznpxFCN WPzUzcmFszVzUwq9PLGU4jIP9bx3RCybTeONL2YYbDMLjNXx/owtfbL8WszmXO3RiZUa4t /aB4Q3YYwGZrxXQWgoxlM+/Npfx6qrvfSV4B3G0PvYwPDgrpZrxH2MMv6oqsVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hCq23lBzw3L for ; Tue, 28 Apr 2026 13:31:19 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hkB6t4Vz6bWBy 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 4g4hkB53sNz4Msq 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 4g4hkB4cBZzx3N 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hnl6r57z6bWNH for ; Tue, 28 Apr 2026 13:57: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 4g4hnl64T8z4P3Z for ; Tue, 28 Apr 2026 13:57:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384635; h=from:from:reply-to:subject:subject: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=Rrigs0b8FNWOs/k7IwoaxmzMf8VxPNKn6H/7hKtt1R/V2C8SXjAE0RWz30sbk+kFzzUhZ3 WnJ8uZNyo5ZLCCDbma37wQHVNLXlLjwt2MfUSMGqUk4ufcnC3fTbo8RLglA0+sRokgGzyY xr1/WVzK9ResRiNujzcXX4cWOzLRXEW6L+Rukt/HiDHgKeAK6TbdXam8Dib7TQisFqNp2v 6XYDOld/zNRwyb3j+EoC/sIl7KlIy+abNBFWHx0PZ4fux5TTqCfEfc8mjJhpdbuE7e1PLW +jageafhDDU60cb4LloIOAdVKTTYDZpdst/v2zOwCUdHrtnUjKiA4yUz22NPNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777384635; a=rsa-sha256; cv=none; b=HUZu4T/UsHlMSPT9z9sg/WKtwvgIARKE+/waIDhNPC0T7cntbQNVDLfbJ06qth/hlSBlTj 3mxodFAmWU/jIv5bBuEMumQu0VmpPDlYSD8O5BhNYqvlQ8bBqyylQLYKxlIR6o7HWSFJsk 5aK9FWfMhZuP6xEtA2lEsHhcvhpWTG84M0SJfMaDNJjD4SWGiu4FcRCijx5jfzlW+Ibwn9 kcJgUuoyjFRLJUx/AwVy11d84GAHf1XLRWdMLShz+ZzhfHyB0aEVVzc4XmW1UF9p/XFFxv 21UUcUHrFXKEiJfg+lCWwTenkE9b30qJogzpvNc3pLw+VSXaf3WC0k45f974FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777384635; h=from:from:reply-to:subject:subject: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=CYqUEXQmN+a+O+It96mRbdMqK4bdh8PlgwMLGRufMr/ulqHPNdBv3TvdQLtfvS3Myy4Fl0 uHLrmD02c1RrjPgeJ2+/m+Tm91QhyGT7MJ0d/H2XoRe++zKYteUlQxFiqSWAFWGGZjQBQC RelodT9GYSriThZV2Z6TRlmzARKojek0rwZlyLQi8O7lmc5/J1M03cSV2ukqSTem7xVyOC wdMC5mpg+0xYCVdesgu2Avv1CXC8vr/d8IisIF2vb+ZT3JMHdv4GGXmngsqLLJ++hYRgXX U5QLB7iJk7VWz+Kh+OK/6uLvck0sjoryX3YOBO1LcKRElCqOoWccjmkWTbXKFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hnl57Vdzw68 for ; Tue, 28 Apr 2026 13:57:15 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4hzb5fblz6bWcf for ; Tue, 28 Apr 2026 14:05: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 4g4hzb4xbqz4Qd5 for ; Tue, 28 Apr 2026 14:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385147; h=from:from:reply-to:subject:subject: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=Q+3Z8APUX/P3IcLRN0Pj8rT4kHryvveA9UANMVp/AYorEqmoSFav6NMK6NhLHVp/5QEE/f BAjuZCvPutiw9XnKQLuHkbquS6JMcv0g8s0J25QGK8W/Tgdo4yMJuxkmEt5IEwmtdxYKey GCjuKQMdR6qCN8+lUPcCOo/NTxHRzPyNo+HrlqlxeCQ0ENV88lAGNcXHFhxTsx3v3sJNUq 34sKXiEtykNNZRcwuf9UpRIUiLC94nsTna3Afnl8NkctgvTrZjHFUIYYmloCORhu8gTfqw /QY3TEO4CEXZZ1hevOVa7iS0lkNpk3Gq3W0VQgUx+aVihvhgeVvTrsLgAzm1GQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777385147; a=rsa-sha256; cv=none; b=kLAILUehoD5S/r5une0fB3bJZ/otwesBflfhxACZFY5VuWClJ1LGwCXvjOGg3tEZXYWpDG F9kLrCVcX/YfA3/3e4KC9H6opAOqHyQZ39djrG+KzWupaHPPh0rJ0668Cy9GueMZB1PcgM 9FRgygvokfeR3OLw0Tlq42JPTvSd4BLkJmBkOOLws58tWXWbYVT8n+SokQUZBtHg2D5tH3 Gjh7zJp8omU6KVGjQp8fzgfarirv1Y9jQwwUZt8Z0czQ3yquxkG4T3DLt09dzgXvj5jqey JZtXLDFJ5yfERbctDKWIZQiL06MfHdd3LSP15p/xPfRHpxN46PIkDI920nWbXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777385147; h=from:from:reply-to:subject:subject: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=D2KzHmHa861cmkB8QwNGBMpeNtFuJWvwmg0yeQN9eNPpVfTWfNRdolNKGYz3wBMbVF190R eF1O/9d4ZSPX6JXS2cbUOp4slsEPNDD7xZBoggAu0qCwApfJDT6EOVyceDVJLMnMw+Mkt1 +Uk0/WF8XyPDTBCKPsoBpy0xb4ll+QzvfHxKj0h9IBuSQYnUUB/ZnCu4VjgLnyrFlMtNh8 bmWgZx/lgmLf4K47gz3yL3dUXfGWe9Cfck0fsidaMfYpHzxLS14KIQaLS4u6pqQkKWfRtl uPLbk7sYX+bgXasOS5tBa5/7sFsq2zuMxHOj50rjIwTUkan1t1w24VgOMlFbqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4hzb44d0zwnP for ; Tue, 28 Apr 2026 14:05:47 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4j7b2NYlz6bXcF for ; Tue, 28 Apr 2026 14:12:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 4g4j7b0Cybz3CT8 for ; Tue, 28 Apr 2026 14:12:42 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488ff90d6c7so98687725e9.2 for ; Tue, 28 Apr 2026 07:12:42 -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=MAF3Nku33OeDzm0vw/NmAial6yqgzG+AufcqoFFOi7xrzmP1iP4BdRpETlaq05nHOH qbNvp0J4q1BLOofikhlyKDj2WWsuJYljT2NAmJkvnHcKDjchbHwy7Gt9hPaTUjnhmaZ0 5m9i+32NyU5ncWN+atjLfwAu0ifQK6rOR+1rtn7Nqa5gSL+WxPso9NcSYfqeBUZR4MVl OhFIF4p7apUSaYuQkOm0M1C9/I8ULGue22UW680jHKYz+Ru9jGG15+W/h91VI5DwSRcs UYHSfad4oOVLjO2q5oOxvO+K0cJ2ZvukXm1yzFJCdGgptkTktAnnIZrH+H2Wb2eHXllC bxTw== X-Forwarded-Encrypted: i=1; AFNElJ97DNMqCRzh99VBPojkATLD79JURnNLx48Uzf28+XUN8v0P7TTXp5EI+q4Of2sp3oSr7IvxBIxFaVT7A/hfGRpFkBkwqw==@freebsd.org X-Gm-Message-State: AOJu0Yxk3r1BeVtYygj7ILLhgWfodbpzrfN18X4lo7FVmx9NcOOi430M CMQ6F2VxT4+3VkDtpeZYrAdf0/v+myNlzY/dyVQXob7E+dyafg6Oym3QyNYCR0kNAo8= X-Gm-Gg: AeBDies2oXbreze4DQT/aYNVBz39TLgX7IV5z5D76bfiOsHKTLSyMDTMWTRJOQqisAe 7yMVbpu0O2sEm30lmUTQ1abqS0hbpJvVs3vaLRsmfKs3zclQPOfJyBG+MqNiCL1dUr9ZUIRi3lG OFPa1eO4bliCuvUldLpjfVRbX/D4IxyCdJ8FyxI8PZKtqbDcLEMgtI4C84B1CyLXZ99/Y/3KXGy hsV/JVYnhrVWtcm3UzLx7lPZRxP9thWTx5Crex4GDqe8YPRpOYnRypHQZ3LG/0BU3bVp8CmSWST ykwTNuGpeVCSEJikNFG81UsfDC9rSieg6kQ80oZ90M+MIQgOK5EeWy79Pu52lDjhtgS3wWcnkM+ fOVtjnKtBnaDq+8+sfogiOnOjYGZaev1yGg3bmiOIPIpDGBxAlYOWavLkJ7qrD8LJn4WOTNHSNV maNrNWRoslP1RXpNN/6lrdsrLO9lDoPJnDLEZZPM1I9l3/eAtoYkMVMB39LOjalAwDGc7CBA0uL b8L5Y8ryLwfvJ6/ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 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: 4g4j7b0Cybz3CT8 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4jB754btz6bX8c for ; Tue, 28 Apr 2026 14:14: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 4g4jB743RBz3Cmm 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 4g4jB73MkfzxJ8 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 15:13:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4kVD1w1rz6bbxZ 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 4g4kVD0VPFz3L0F 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 4g4kVD04r1z104v 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:54:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mkl3Rhmz6bm9V for ; Tue, 28 Apr 2026 16:54:55 +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 4g4mkj5fwvz3YDM 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.49 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-8b1f2b7f1bcso461386d6.1 for ; Tue, 28 Apr 2026 09:54:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777395293; cv=none; d=google.com; s=arc-20240605; b=SUqV8J6WC01+CmkXXMVIuMkAAmZnepAQt0pRhLCdOefR8XdVxwiFmV/v5XZErA8VBZ UBw796wkXSsf9AVD9I5w1mEWr5OQ4984+uVnDvIO8nA9k0BjvC3cTEg4Upd7lNgWCMam jxS3Zc/FNAXtSw9MY96TSPWCcCuyDXAwR8uI6ZJ/EOMWFyif1/6SvxEljDAddVTGzRmv B2PEbeyxXiLAhqwlDx2aXJ20sm1XmmnXJ6ske8ySMfKb4+7iVR4s2KcntmUpeQ3Mr+y3 fQVLf1bhgveZ10x6oZR888Xuu8kQeKPUKbrH/t7V6E+JQl3Z73r3C+aWAWsPpld99EDn zWtQ== 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=OCXpenO2X3WedWVtOpDy5MT9Jo7lkgm/bPsScpcTRhs=; b=MjgzB9VlXkmITNnswfdk4ii+k2VRC0Nq04wIgLYo9rz+FE6bn9yHPKGHwVpbQq40EE CLQ1yoKIdQDXE0BKAAfGNy3ZBs71mJGCI6/KS1BK88DZSeWqUP8FO3UAjEK/WGw3ucl8 W8j/N4hWokOzP5ymJVrD680WUYl8koECd5J0C5icFMyOf55CBczlgG5iXfJIdNty53+H kEtfzmOK2lFlKnk7XM+yWHGNBBfmnfBwWsSiSeHLkkq8AKnpWfvlerUQ2VthKoNG8j6f CsoiWpR1XaIk3NxaOtwyVqORAyl4/Cibj8wPjbFxVwbra3sRGWanmB5XtMSqQTvJcjFa WR1w==; 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=G1E3YCrf919WJalo1LLdwPvC8n/Tenc8KGlkjzOh2lFvv09G8lqzkBc5sD0r2sXfu7 PyWe/7WlIaaFEDfg4kXEhLor3HazrdYQdupCPMqCYc7oSConAMOqaYz6d1ihUEiDgeMH gWTQdZoIztbfcSbKfMgn1S5oW6ddJEjajXzpDHGC36RMoVu4EQTolpP8ZYkWYWgauhyu 9daF5TyfSG5eoxNem2yaVAZg5moNzMgA4nZqVXyYJUSvLI3NIA63WBziIVC4A7ImIO2y rg7x0zQb8gLwVfnar3zPJ51aiTQ2bgL3cq/ETjTXxtGpcSNVW6rtlEJnSL9vAIhIJIhy 8/rQ== X-Forwarded-Encrypted: i=1; AFNElJ8ZtKbG5X+QSH/nHmbjL7Nd1Js5/8CZ3sWkDOG+y39hoQBzZTxNl0Q5DH3KPWcpPEuhZzM1n+jTCra8O0Om8NaTN4e2zQ==@freebsd.org X-Gm-Message-State: AOJu0YwpxGQ+y0GdyYck+1Fw6ZADYxmKmeicfw/A9LtWl+2akn6k/Jzl /3mk2uKE3AYZ9afgHDNq6tdchknYvmnKkdc1ESDIG4SaKTUDwg55iLAvqDv2nNqR/ruxpv9GKZ2 LP77+q6xkTFZ+AVlkMnYZF3fnC2XW4QQ= X-Gm-Gg: AeBDieu65WNVU0EeSG+CWAkXwnfz9tXONZN/tPar8XkaxKARRLhaVGKn7dT6gDwK1CC QsccLD1ROhdWCIIt1dfPipJK7O6kc8aqbbBglDCJuFGi9v+83eUmb8hwbVFjw71lMh37Xnx/l7e bua6zVlj38HaoTH+iWRvDOmjcqXpGdB8xUS4tPEI5lmE72H+GtZPDX8CCrBdxyJ/oji5VUi7AMS N/pCbSZSnnEwS37qYSx3QdqfAHH9gqyapg4ZC1YMNxCnfUYADkDtaQ0BwEJHiK26rtuZtASHAK0 xiUcNZvAQloPHFOaiQ2hU/RIg0dOkIMIcWg2lULh4yYMumaQcImdgT1wL2K7uc3BjrQyZ3kslSL c1TaUM1sfRM8fv9D85TkiTD6+CF72C4OEcRL7JSqLLT7nB/kjnMKIIV7oIc/9S05GfFyQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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.49:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TAGGED_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.49:from]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4mkj5fwvz3YDM 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mnN4hDBz6bmVV for ; Tue, 28 Apr 2026 16:57: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 4g4mnN4CyTz3YNv for ; Tue, 28 Apr 2026 16:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395432; h=from:from:reply-to:subject:subject: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=YDfIlW2nJ3/xsRDmdILV5PomQH1zsAQhyaeQh+oiJBhcLKVFPh1fpa5yy4DnFoJtSRB8jG zUs8RXGKsJoSS85FX5eznj0VeYchhTh9wF/5X5y0a2yROi1Svbr683QZEDPRoOFBRkVe1d p8ixJMaHnMlM5o/9uH+oWkgMBJ6Bd9yH85VhM9VeRmG6P6lBPIDfm3xU1owixGH5kDRsRI MqaM1kqmdF7HbsIZUUCVF3STisMCFzAwnQYqrpg//xUul3XOs5UuNMQ3E4wcE93Ft+ydDI SS/qQVhh8RkgXToKQTVR4k9/psi6MWW1jsYFD6fnDP9C9fkETmD1Ceg5NEsmZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777395432; a=rsa-sha256; cv=none; b=YyUWLVedqrNJi/aNT7VcuwdkLw/OJHXjsa/TirDTeYkyI9/LE7q8Ny2rikCXTROk5lBSxn wg3U3eI5+sj9CCfyJqHq4Qwk9ORm2u5WCsRBQ27n1Yf4dPNmLt7bQeO9SBiFpUg0SdIBa5 5yz4CcotHFA+/JBvy8RIuyoxr4553utFWHth6sqm9uwNJ3h+U/bTQkN2GF+KCsi79K4ZYL krx174KwxlvGbO1ajUkiSmyva4zqtvnaBOvSUjbqsXZiBHPc5LbTSXVk+4SP9t/83I9yH/ Fgtydx+9TfmRLAaD7K+eXz0kZtqflvOo768KgyvUIvZrSPGYXz9nH/vCdrPRiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777395432; h=from:from:reply-to:subject:subject: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=S2JZG0E43FNaAJF9xygnrtUftKKJkM+sXMN0drnmjhYaB8Yvzb6DBTtzhbbALCBlmMw4KZ Ao2Tk8Ikc0CdJsBEV/UL+8dZXWi7iGuAsT2vd/+MhOMLHqHxyxUURdPLEUl5Ex0w7Fbbn9 7bBPTUsU5bW7WxlQBA92ua5B97u0m99b+Ake2FoxXqTsGbvqrPyEsj8dbFDo2RL4IxSbl8 ucOOClo/7IXMpKg1DbPqZMFUV3ul8QCwEqv/ArjqULGvdCk2hyH02UB7hZHlC5Qzz5qAl+ d4vsCL1QB2NgeC8Lf3dFRdl804H4/FIY6ouhA0mQmKjnfk38FRGYetJBzpWzAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4mnN3k2rz12jy for ; Tue, 28 Apr 2026 16:57:12 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4mv56gVwz6bn9H 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 4g4mv54h1cz3bjp 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 4g4mv54Dlnz12SZ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4myF0yprz6bnKZ for ; Tue, 28 Apr 2026 17:04:53 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) (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 4g4myC51Ntz3cMG 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.48 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-8a15ebb3abbso10601556d6.1 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=flYqcqiZJbfJn6FEoTNaMNIlQU5RnMOzB27LOXCi8nO20/Drk4nDKY30d7tsLScUyh a+iJiwYYtcrlYsNG7DE+gvQJyuNF6GBjds5I6G4pVTxJI80YiXPLRqNl/dP25D1U3nKH d1GdtqYVTRz62E1Hf2m4CKSK2UM3rPeyy/HoPG/ztP/ooLGW0Bk4WOMc3n2A8jqFfjz3 TjU3vE9xSCCsl8P9uhhqsz9dte6ZTA3DKfSOOXvOdTygu3wpl7YnS6kt0efV1uhniha/ lSPBBrL3VVq+TPddd4T/EbQMNHlSD9GVjcvF2yJ+UGz/jlx3tEKntEcORKMOGnpnpMdS xEjw== 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=h2Th1Hts1nFQRhq4EWQL+9drRspJylDXl/s/u9djEz8=; b=I2c9HGIw7ycTBl3e7Hci5TkF7Krz6QdWAyRKadbv3REzjeceWFrag37UxM88MqtzMV v0EsSWAbfeOe2+O0X7NsF6IqyJ42Cih7UbSx8QhfGjAEod1ilsK+eT8DUxsYY21RhxnK X6sywGD8fmsRIBYA1aO+RMHuEfoRFpGnVTTQoIa4PkvRh9qSqMmm++TcVaXMbimproVh 8Jj5pMgYJlxHZmnBFm+pEo/FTqeE3v0WxznAXW0FgpqADx+lS5iopmqYaetCbuU/JOmp DmIFCMbye1u+1HkX2yXidCc7mMMmc81jlt1kH0UH+kIIXgdsFT585ri3fmwrOaJU3fIS fMkA==; 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=skDqx6qwZ3kEjMMTYAoZRHEOx3aI/ccic4BUI/1WNf9ne8HRzl05N1NdEaLjoNBf14 j1Qf/DzEydsOBuWXlFJlUiPaFB4pxbZPRj+zt0tJyxY5HidrPLdS8+910q7m1QhmM6Ze DLs2MZlt7qwzhTRogi09TmfHyRxyCbm/RZSjco4hS0pQuPb9KgwfBqIsJVCwv6ypdhjQ oyQSXY4r5Znk4rOc5Mf7GiLLtfExRNBDFLaA2wBWL71njGFvtRSJbZ0ToWXlh8OFJoOW RvliH2gtd4JY83QKMpDwJH0K2LNWQO7CRsS4kmDCkqxKepmZ5K004boZDF1DOQgLSevQ upwA== X-Forwarded-Encrypted: i=1; AFNElJ8eQJza658KAjx5ysUTLACYAvkF8Ozo1efCSJQdtBmIq7Hyrii0qR/DYSKOsIWZIRiJDDNhIk5kdvsKVFyr3CdywBS0Tw==@freebsd.org X-Gm-Message-State: AOJu0YwiMtuWbJ5pkk86bbVVOrOj1+KvijZOziKIIRwRBIHIwkfH1i6V +6J0waRxsdi8W5o15kuB3keiLZotAX0TpOd6CLCQVQmrruGw9hYIRR2ZP+pm5x0qW8aerUoJbhI abRX1W5c7gb/XZDXyk8HGLDH2ebMhdok4wYPZrEM= X-Gm-Gg: AeBDievdw1s8tZ2AEr96E0tIsl32YYaN5EFXsp/o0jnnO1wbP9aqGP5CEboqKbDhRDQ W2NmvW/mYvJs9mP95eHWprbOtVnlH5FdrYKv5O/paXQdUOmwUxuU1HpFZXtiW8y7iE6yGmRZmj/ b9e6rBpgl8b7ukBL/jTTCfaheiKNs8uoOnbtgu855szgXlWgsdymtIglDCuLQeMHuNR8CCQH5+E M4aAoUzTNa8H7PQ/sunIHvHsThH+TCUFC6RPWD4j748RZ0VgrTTRmTJBsJmTql5LWJQmPYc9jd+ bsQqrAVNV9QNYM+aMMJzHCiwAK4m9ZfOUHSSoOQwC0KwL1u8bHIm3Nog2G+RiSanOZqbzHDqm+a 7Rk4TMjIYl1EnWZQCxvOPlOvI/0tIUeXozQATp2vA4CMJed26EWXweEbTcQPnMAQ1jcYH 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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.48:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TAGGED_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.48:from]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4myC51Ntz3cMG 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4n4s3lNgz6bnNd for ; Tue, 28 Apr 2026 17:10: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 4g4n4r662Nz3crM for ; Tue, 28 Apr 2026 17:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777396236; h=from:from:reply-to:subject:subject: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=muSRH2Zp3M/4sWkkPIQmyrdKAmZRPIkFYcMEChWdqsSFCBYcsBy8Alx695ecnwUsqA+7Yn T2CVxHnR1bBJ28Hn5+yaf370CxuxDw+CWxVbhHkHlImacmMSz88dNzyFAIjwZahGt8RxTZ x/sH/W695LwgJOvpDQM0IcS1yGkGMRhzkn2HtC95Jn5PyrgOAqLuMnexmhpn73SDKTBKf8 AImm41CwPTGWNj4c72/BVeWT5bFEhwk81CvCHNaomTnHjT10zYdhEgWA+D8Pa7+boYFxlC D0zDYWNik4u1G01y1oCt1xk1ippgOkKYjWFaMmP1r9MdJpCiqzQZYPEqA2Tizw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777396236; a=rsa-sha256; cv=none; b=FVbccoYMttCC59+AIH22nJnJ4fa6YE8w0dqcaAudLsLk8tklb19DPLJhzyp80wdAYkF0eY FbO5Fif4MnMCqFSEcqQwxRX6xBhln6fpe9OpCezvVu+UKASxOQtnxV705QGAA2VmylVy84 uPuMYDy2KnUclQRt5kfQsybuhFuy/HeZCrgWtwgPIQr49kgHc21TqteTf7mOU+WnYYBaIU PdndkgRQ0UGh5ud8xoA3YcJbrphzS2yrd2ZrM1zBQ5J3RN601QpjygX7qtinhcWRgqM44E trJ5DvQLwIReyKzHv31PAL7j8XZXYgyV7Yx9LSrExUrlDc0x8xPYzbo1TGKmlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777396236; h=from:from:reply-to:subject:subject: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=v/v+ZaCPJeTcFvV5PZAryosOZ2OUJ6KGdHMMrvpBM6W3WIjdx7MpHDGYPyQ+AfSUPSQfnB BSvI0Z0My4kHxaCQuFguzPwJs8ZpEXILLnDjmKH3D8CoIh9+ktN06PJ7aX1o05ZOPyBC9I gznIpoNFaL1nnd9740mDzvQc1PRFi4IGP9tbDVVveWKjpK0y5tw1gZnPP+MTX2b34OAK+d B2BP6A/4jBrCxkTL2lPA7fs2gVBndS/sRg0+kOF3UB9XgGlyc3AEyRMJsXUZQv/FUFC01/ AxN6mwebRs0suR6K5ZrG2qHBl43mbI5l6yR21D3iqirwsUb+oTInodYYCpceog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4n4r5hLXz12hj for ; Tue, 28 Apr 2026 17:10:36 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nT63mBsz6bpmH for ; Tue, 28 Apr 2026 17:28: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 4g4nT56QN5z3gYF for ; Tue, 28 Apr 2026 17:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397289; h=from:from:reply-to:subject:subject: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=BDiB3l2IlAL4uGP5XzPBlErDhUrcXg64/KCEcOyqbfEPf0werKOKsg85HSuFMviIUgKvbj UuDLbXcsfQcKxm4S6R1LaA+Mq7FJfiReW0qPHGcd7WlaPsDw6KnFX3wWVWkOZL2XpRPSPT hlbWbsIYoOsGozEpYAJjqtrvMYymiDPmFe/pXgSWCpf+iB8qa4m1dO0Cd07bPPixLlRf88 It5VzAJr6QTZCAgcKagYIsLbSRM8lG/oJ5XpcXfm9lXUNFddxHhd3483qBmVvXrAU5kvrr iB2P7xcJUJVt36GqxJGe1Sgwq4NL+1kguUzlwpSURWDV8Mf9623URhco+oLXmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777397289; a=rsa-sha256; cv=none; b=KHhCxs1r7hSn3Ihv2773sgptluFfmkauDdPdN5G6aTlt5sUrihkGjoQhSLa5Em4HgNX1R1 707cReog0/GpXmpaug05bx7Ftl+exF0nTlB019y9TsN3HXgle1HTzLB2Tn2eh+vkCGn8ri oFE60wlVwsMEyIz7QzuGitYs71trJhthFSxnOjUf4FtBDMh+yvEFEEoazwK4mreX3uA93H NbASrzqYagRczie3tPQCL+9bFmBL4z8aRkd0HhXjSutYt+n0hv9VtRmwBh9oyKwrwWB+nQ H3tfzYLorpAzGWOxYvF3YlEX/tVq7m74M2P0rV0vpCzguxfqutH+2V7A7X4HHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777397289; h=from:from:reply-to:subject:subject: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=vQlfnpqY+4IDls6O9GehaySYfRpUOAMxAxtk2ZjmOg/qRr+XaTsr2/fQENrC8/4UrFH016 CTEWLaCsWDcFQ0ogIXqe3C/jIkNq4fM6BiYys61gd/nOzKR6jRPy16o22fUEvEqQCIMGoe dmpfvkCr7Vtm2Z02J0yLJ4uXiNeqE7kmMyo3t1odaVRuWZZ2YQC5enCW5veTAev86QUyW0 Um8GQwsdZVaiZmDEQ79uugzIQliwz/AgmVwS8JoCdsuZdLl5C0RTvvzJWIWfVuk5U/NPpH lISCJGtiOcklWnwYg3+NwtwVWZ+TylR0tEgLtxIFBl3KjQYka6SYUPsYKvLTWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4nT560j9z136N for ; Tue, 28 Apr 2026 17:28:09 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nYs38Pwz6bq3n 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 4g4nYs0Yfmz3hm1 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 4g4nYr611Mz13Z9 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4nsC6KcCz6br4x for ; Tue, 28 Apr 2026 17:45: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 4g4nsC45BKz3khw for ; Tue, 28 Apr 2026 17:45:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777398335; h=from:from:reply-to:subject:subject: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=Alyhq73J/CzhrCrHdMrDTBK87fuVkwiW+HbPuuRGQYu/3Tb/j8APIfOk9eCGe5XMqmIdmX VcXhcBJqZ5s2+wskSSq64ptdEw1CldFKVk8YmhthOCCXIizhTgXtLtVSIdRc59tFCg07Pj 8Q4w1NrNI3zcfKn3lHLSfnoj3r5oRbqEDh404W0sltidnAg59GB8JYaztjB/ZPcVIDE+AC tj8oj9qMED8T6KqZwVrKv0do4tQUWJ6tox9uSztp0OmEr6AbxKo/K/UZTDFNBgunymHq1x ZyQOqpuv5bQmR3i0ukEtsE5yI3UxDXsXsx4gTtmLCBAnljLyYmXpL8cxgZG6OA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777398335; a=rsa-sha256; cv=none; b=MKQl2rKl4EJPgVJDXgyFkXSXnFcI3rEvV2slOlhE5H9fnx9WwgMVt/OqcYOzGck2Z4AGJu Rvp0+zKHeS6L2A31rNFSw7MjFwRJ3RAaVG8/Z+8WYJZmxBtdmNFP69QD3ee4ZIu7Kr6WzA RDbI7n3LuvkVmevmv0wloj98ua+D7g+ouCipMD6eURPNzI/KajZ27QcKbwCMRvxHa4/Sq1 1cZsJaqF1dWIcwOEq6FLYjOv8qPnJSbWym2FmW2DmQiPN17LfC1k/C/aHqy79YxtHDcCp2 nwbevEcHPV2HHsGphwmjf9whgbk/AL5176GiDy75G1RgebAawqOWZfOqJ7k7jQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777398335; h=from:from:reply-to:subject:subject: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=Xv1+IiHbLQ5pf60wmEgfcUEVp3IOk0Rr0sqiOzdjJYRo3ey/H9FFeC/+WWoO6CeD0lwMDa yiyAc2aIe2pc8zRQXYG2KZIcYpAceE4YDQ5qC9SG8nbeQ6O17G6nL57kvmdsNA6ym+Z4VV sUJwipsMmgfQLBXrLMwPcxvmcelFDuwczkD8reOg1WF/ItGtspiwhOa/RtTYwUO7b9Ejx1 n78f6rleoT3HSPahXH8NXjle3fHE93sy9oKaqqXQ6NYuBdBgpURvZdZoAdyKuFCUkXsQOZ 3LY3kFkyrHhgvUJyAuqTdp6M23PWwb/17e4B+UOpy/qmbtcG48t9+9/4cO8evA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4nsC3SsQz13gg for ; Tue, 28 Apr 2026 17:45:35 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4pfr05dXz6btYP for ; Tue, 28 Apr 2026 18:21:40 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4pfq4zWBz3rCr 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-f180.google.com with SMTP id d2e1a72fcca58-82d0b68837aso6999908b3a.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=BuWeHSlpkywqf3v4yRVSPaOZMLoCi9uOHkOwjpTz7oPNygEDCbvj0nC9MVM+CxMy6A QsPGIoc4LvpQSD7cH3R2VjMLY6JQ0UR1d6ts4xcVquTLW9J3pcrRl9Rq0cgQ7iCZf6Uz AHGt0vrOlAC6LSXlxTWN9+slTDmwoHFK05EYdjMnfKJTryO0HQswkMPRdaDXgCLhk0Ns +77QkKTPSKt1Cm1RRqtrTvic8q9w7hHh1aCRDvI+KsXpe+ZRIfmvNtKhKzxM+140syym LoIfTwrIRu/hxxFkrsrPdv3N4Ar7e6DorlhJCt/5BCDpYH6EZE7uyEP/N++Y44fwuGDW SELw== X-Forwarded-Encrypted: i=1; AFNElJ8oE2YSohPsbn3mF7LvNLVnf3a1b44JvdjPNiJc3jftCjhHxCwGQoTun/22/gVCUT/mxTj4OYONQ5PU6Fm+VUsp7i2lrg==@freebsd.org X-Gm-Message-State: AOJu0YzXmCZsKBVF34rOw/sr1i/lgTJm6x97hv00xBIJP1euRyZjPzeo A8d/DlUaxV0I6f63z13fXHnSKmAXBMCY4EXzBtB5BMbqTLDKtyu0TZ+1JxVu8w== X-Gm-Gg: AeBDievx9y/4XqJbA98HhRQxVaVA3GaTsnvoeTkCgxiIeufCcM/sbMq5SHN+PJ45Qsh jJSDUuJXeRq2wk/7QDc5wCMfQLzQZdGxjx6PNcmUFmUFLcoP1OeY90DWrc5rxxNd/S+ncwLEb8B RcSMRtkWgvfY49hlkE9eYsH6sZ7Uds7JyBKY4bk+PX63g1hT0Vw28qXB8p8Rirf28inL3eM/aLX fPsugdXsIbeQGEqM/V02u4aWb/bGoo8TZ/kua3QkZqVAn1IKDFm0etaDLi1TDRB+Y2mFfiafyWK Kep+rumhjcZtSmqRiwxv49VZpXDO2Fib5K+iukeU5b+vrB04+frtnVX0rQ2hwNF8GUap8aoktE4 uwHC4ofZaidCuxq4yB81SYdztsNx/h6D1Ttlg/NfSdB/h6f5rZnOcbUA4kNg2+gz64hpo51I4ES gGhMr4+EVT5oWLJSzL0f2Y9Xt9VumytLJfZb4lSYDKLXh/UyTPsgq/Fv7Z4BTxWwnvThh2jZI= X-Received: by 2002:a05:6a21:3384:b0:398:6ea8:21f7 with SMTP id adf61e73a8af0-3a39c0828e5mr5250016637.15.1777400498047; Tue, 28 Apr 2026 11:21:38 -0700 (PDT) Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com. [209.85.215.175]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7fc2ba84a2sm3084499a12.13.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:37 -0700 (PDT) Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-c7961d7bc09so4760778a12.1 for ; Tue, 28 Apr 2026 11:21:37 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ9WStfaVpJbSoVrNP9+5d8aoOH4pxSQ1DW4lMVcU2NYQgDYBRbD9miyj65EzSUei30qsMjn3S39ueNaOcVW4L2ZWCrTYQ==@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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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: 4g4pfq4zWBz3rCr 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4q4s5rxMz6bw4J for ; Tue, 28 Apr 2026 18:40:45 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4q4s3Ymrz3tNS 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-f47.google.com with SMTP id 5b1f17b1804b1-48984d29fe3so142902945e9.0 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=PQgcO8cUG+b25X5+eStm0o4zYZSwMTSaFVS+dp/GrrYnpCljfBwtRDTgDVc2T54kkO sNfL2fwPW3MhzATSj8C028txvAyn5W6ADHONnbH7nOuctc/CkIaMKWriEOMWYRFXznTY B70/3qZxDpVbssF1/ePUbz9JOBnfLgPVtCG3HODEY0aWH4iEEkK+fHPueewxWinZnUsd 4uArD6WOZxIkkPcWoHSp/QzBi3BEwvWkJoPuC21/2CDA4DG1fcC9XPK0ymVANaCSSaQP Si1egIPE9+GUj9clkm74lBQKBtDMnFWvIXzv7ueG6jophAl+zzY8mROW2iztpIJxEMml KJqw== X-Forwarded-Encrypted: i=1; AFNElJ9Xl4mQ/er1RGMRmgTSzx3lbTez6X6L1hCz+g0ItWb80rn4XOY7AQDKcMZKz8TAmcsYyL+3Bl4Xt78uVNDz7eWUJgzNlg==@freebsd.org X-Gm-Message-State: AOJu0Yz2kQUWHPT+QngRvZVa0UeiF8ypCGDiNBuo7hm07okHKql4pgyb pEUGRsOQ/Hh1aq17/ErvBKTKSf5Gtdh8o6f2JZJk/5nD6lQfUoxUBYZSTeogQGc7e4c= X-Gm-Gg: AeBDieuNSj3Eh13efEaCLSoCwKhGTfoS5xIBN9BGMLrXoScfScQbsJj2Hn5q/Z2Q5o0 Tupfxzyh1qkWX7saZfEekWvaDuFu6LcSI/IdQ+dOkQ8j+heTWgyZSJpu+JUgDarQyPoN5jIJwTu +rJ2xqdKB1Wm6YFHpfeW3zsv7+DaisZAzQ4mRjkoLj4fEHueJjJ57emJe5ZfS6HRI+2MVj1SOXR du6TkszusdjJsqrs2CbKlbKzrNOsNLGyaDbHAeOURNT0QnIewo6+ghHdrt3Zdhw3XlcmXNx7bWk pEpXy/O0goY9hwfzZi1qmUUdO4CE7EqHBN3CUsTCvWKQS8U0oyxX0YZ7oNEAe6kiJhysZDguAQT EcUVkv9h3Sn+3u3KPdtzlin+OWCWcglNkUk3h7AeC62UScq/GIZ3Pjzr01TuwlYI+1Cq5R2ftMt NAlSdbjSescicLyE1uJqZ1+ZcFZnQqfFkTQIWoPHvsHktGJ/OqMxPnFYYd0Pri8qGe6nqd2WW75 jCrxA== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 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: 4g4q4s3Ymrz3tNS 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4q875FByz6bw84 for ; Tue, 28 Apr 2026 18:43:35 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb12b.google.com (mail-yx1-xb12b.google.com [IPv6:2607:f8b0:4864:20::b12b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4q855pRvz3vR3 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::b12b as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb12b.google.com with SMTP id 956f58d0204a3-64937edbc9eso10373167d50.2 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=X52NGK8HlHrnIAOBNjupT/vXd1cif5xi4aBsdnlKiR0sCYcsYltitOjbMeUqrQQjVz RDoAuvuBYggl+MrDG6fezZXkKkoOYVdQQebN16hU3BGVqlzW+xyiBHrZwBAbXQ/WzwUx 56FVeFlOfM2Rwey074lhvhsZyrcbAlCmkH0AERYvnJyEyPiXlFOLbJ7VMGslekJY5adb EhQrWRr+S9NDroGnZB/g6Iu7rr8D71JoOFuojRNJYp7AUt2xjhLnoKULVHyYwNVLNp+s ODHy/hEYhz55ySkMQBqOUaUbQOcYwBZX9KqtYukgNwm3YhrYXPtFZ+tCgUHvEe6zb9GQ EnBQ== 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=7ZTj1p7cKvCP51UDeWzz+zuC8jP4S89PgO8qTmk6qN8=; b=IMZzuCsBAokMHESCO9/a2tOItMa4I7imqL4SO19Gl1Hzll0MF2aiWOvplADwx67Ww+ 3gH6crtHcs+vMzGOfmOLElPbk13WZyeZwCRBAWdWrPWCZPbRE242pwp5/FsVwtd8WzuZ io+uZBZdEorlI5TDO0R/+ptWvvV1H2z2FcF4Pylv+7D0UXc3YDkJGPCGPdcb0KhZZfMF 4bj5g1mOQeQe1zag1py7r9QNs7oTEWMsIDZY27t3mkjkc3dM1Sem/1VJwmFtq5M2Ib/R NYqCFeyI9NG4XJIULbft4CBs8utXz/hmTvHtOHrcnY1cP/xmobq/2C5VaTtLEQ+OeTWB 64Pg==; 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=nHHa55QUyMGEoHGyep3xiXgl4Oj2W+84KJUnkEtF5F1/ujZsTrC5DffM8TRDMcsPxA rG6WfblaBJuY0cZoO4thrK9Y+R9WT8/UQG5Qt+GXbcKXfjg/OMCWl/CMCxagW1jLXEhc +dMOrFgXf1ssvYwRgk6sEdFwzg3MArbNE6pzPPa6e7NuaAqzs3ZfOk8ZwD1zgPESg/+Z nrQYOuBE85FgXXUJRWzXQP157+etxbDjvlXytU05wV/rSLviCaCdrLe1YVE6FQmDzzw7 Eq6wS089zRf4l+1FTqtQU1nSF/T7knXxSdXwIZUnDWs1YZqiDQXj+i/+DiDfvslU4avz 7TUw== X-Forwarded-Encrypted: i=1; AFNElJ/SdC96B2f8v7DpSVXTNwur7O7edBojaI7w7MuDbJXRSVXhmU/usVCVFJqJ3gi/UcDa5CMDtUDH9L7dvVXa0SoKU5y0Cw==@freebsd.org X-Gm-Message-State: AOJu0YwjaJkinl0IP6F+EKWuXZ7Iae2dPyWJd9rhIwd+MBjvyy7KSyJz HJwIQya5uK2frACo07ho4ndhjIccEHbIYt50yHxAzo3oXKz8eUEoSP0LzsE0xo6kqpAXeFIVhun SiBkK8qT7BA4dFUegIhyaLHEjBJve7Jw= X-Gm-Gg: AeBDievY2YV0AoX2uv8WStCYl1DIFIMT0yUrOYeMYU2NFjNUq6ZFj2hYo7Pop2XELJE fuS8A18jmICTrG3urX+lrs+xctRC5QVjcS354ghcjHC53JV9ciCmWSly2ZA9/1LnyfrbbaPz+ND wBgEK4cwjpGZtP5Zsijr5anzsP0mgpv1w9tdsurJlZ0tEW8khcIA/zwlEOTTrVPcjoMhAx6ujey 8j8lqK1In2SQm/7yQrqF7+VIhZzWcxDVq+OSl3lEZYMZRoEfFwdue+yf4gTrUirh0ORTTkGucA0 wDUFKur74KVA0DE1LldCc53stR+vNcA8Fqq8sXgGCR67djKGohNo 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05: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::b12b: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-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@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: 4g4q855pRvz3vR3 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGt3Sjyz6bwVj 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 4g4qGt2Psvz3vkw 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 4g4qGt1swMz15Rr 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGv66Rkz6bwS8 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 4g4qGv3VdZz3vn4 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 4g4qGv2hCMz154J 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGy6P7zz6bwbT for ; Tue, 28 Apr 2026 18:49: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 4g4qGy2wkjz3vqR 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 4g4qGy1GhZz15Rt 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qGy6s7Fz6bwRW for ; Tue, 28 Apr 2026 18:49:30 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 4g4qGx6PvNz3vyN for ; Tue, 28 Apr 2026 18:49:29 +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.218.46 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-b886fc047d5so2106726166b.3 for ; Tue, 28 Apr 2026 11:49:29 -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=S/vErzvL5IwoIyo3iwOvjUvP+mdrse+u0SoGscZIe5Fs72VRUAELHKzCtWTtE6Wqt5 03E9d5U4cg0lPllvSpHwnGSdO7OIvIufctFDM90OPJqVZFGsIoCwuR1s9lX0Y50aCq4o ulOGIqy5YosJeEO5uUEU6sx2ALoUyr6ONrIAEY5pup+XPmmRsKp6kCHCZzSdoehJs/hF acVtOUXno0PXBmOccJ8GtvSlf8/NJL4s+Uj4EV76PrJoaQopOkfhby7Ne7t8XEtTv7Dc UmcccaY0bQD2iZ+RaZMDmzEN+YLqn18kpAALvZRcy+FYBkKHi1MLV++DspAFWIcyGlUg EOUw== X-Forwarded-Encrypted: i=1; AFNElJ/mt5qsFGBs/17Uzk/jiCbRGCWoSNUkpTbfes2HOAK8sfPUQZyvniKou2I4Y2uUxZKVmX0mFxE3nByBIo7JFo+Kt3DxTQ==@freebsd.org X-Gm-Message-State: AOJu0Yxq2F02CWCMV/mL6pfMjKRORTo+IOaCaAAyfpWDHvDm6WUO8ZOB 8ZUI8lDBe2YpkxA7d3nKrrYAg6K1ScfFp877un9u7ZFGnxjk+quk3g9ssGJcVR1wI4U= X-Gm-Gg: AeBDietpkty06KRIEHbWG2nb5Tmdq5L2cFMakpiYk2q19KHQfaBu5pPaYBUTRjIWYMz uLiSHXNBQwnY1az9me3hZhIJ4/ONOTESnJJ2m9CS0Al/wXc6EcaOLpu/K17d5xlcrOPhEP11FkF qUVlc8A85MEJ6EDLoYMK4CbvIyFtJhiNWCCpmmCwv0fULwOGeCF4p0/dIzU9+8OJGBA7COVtuPk mCa67o0q6qwGb4GLNxSIFoG0D4e97tdAPeP4Aman/9FXLnxidijcxaNOHVdP/5nshAv4mMxwSla M42KttRaXnI6xK40j4VdFlcO31pImua0YAq4EcLBX/oikueC2yqzvlW0KWn7DqxnmUQf8jJrE6p uphYM+mLAworQYwQZujKNH93lhLuAtRCYDuAG3ahco5FuopZBn5dwa/hYXE9ZmDvuXA82d+e7Kn l5pZgVrFERyI8r9x+bgLiWjfu35VeEl8tvLlq5wvmQzzg5LafBFQ2TKvcP7j4VwIgXq5Yc74m9 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 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.37 / 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.63)[-0.633]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RWL_MAILSPIKE_GOOD(-0.10)[209.85.218.46:from]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_IN_DNSWL_NONE(0.00)[209.85.218.46:from]; TO_DN_EQ_ADDR_SOME(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; FREEFALL_USER(0.00)[jrtc27]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_NA(0.00)[]; TAGGED_RCPT(0.00)[]; APPLE_MAILER_COMMON(0.00)[]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4g4qGx6PvNz3vyN 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 19:04:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4qbh6yPxz6bxGH 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 4g4qbh68tVz41QG 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 4g4qbh5jxpz15cb 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.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:38:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rMJ3yZBz6c0jC for ; Tue, 28 Apr 2026 19:38:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rMJ37jXz47xB for ; Tue, 28 Apr 2026 19:38:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405100; h=from:from:reply-to:subject:subject: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=Xl4Nxl/+lZFKitNUmDv0lsvujXQsIKngRFPtCK7w9LdK2SfjkB9C3N97AjBDIZUg8tugrt akh5qF7cdsfAO/ExDfikjMKtv0gelwh0kAZp/+jcNlcjejr9cg7i2WeKwQW8yuER+2ER79 UPrUm4ggxjFGrAaOikchhDbI0nAwMIcTH1Jxxb0IJEYTjp1d8KnyUf5e2MLPtOG00sRGDH rXLMh0Ttali5t1stT7/iBcXTNVmZohEO4WvvgjoCbVAVrDcecACg1Bi9gmuCV+7J8PqARO IOvFkJo4+WEcZTXf6vbFerLuFKgXm8gpbo8XgVik4nWIxQJLhvskxCom+CG6Yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777405100; a=rsa-sha256; cv=none; b=kOkOBmOnargO++g/DAaL61zXT8dly2bwGmFgQuivhw8xwntK0fWbb2bD92C8v86WHPixKH oGwDLNBnJltcjXn7tQt3Aro8JqR8K6GgbUi9tvphFkv7Lfzqq0BgcoWWWSB2oty6KHl1Y+ N7Ttg7kKv9F83YpzD4UAPLce321qKPOhJkrcC97P+33t8VEzaL8+CpJvs+CM7hH7HMTfQX JySQmjLa3vrvbIKg9Yxavi9WsmcDcaLeuO26pBeBhuWmcIFxYR87sCT3eMqKkASyPEqL1f z3yrTVhgeLJQZCzEU3RlH1p38DFJnU/z9MNBDfpic7F5XH5taWutGUUyCw2Tsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777405100; h=from:from:reply-to:subject:subject: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=oCzrLTUDFJROAu/0Zh7LmBij7aTOO6L2Ke8VcGTa/MxlCim33z2WniEM912mXtE0ZjDzef tIdELyqWcJvMgQ/tyJnCiSgR3JIEu4eFH4m+0BSJzk1rZjOdoBWUo/Le6NbRNDDXY8wovv 0op6wYSzW1td74LTiQokLGQwoakdB1/2JHKEJy9McBx2Ot3ompprOwpmnou3WlmP24FHyn qWYEPJuXgOFLhiAFmNO/6Kn7Iw6fwH36rsNbXTbS2twhmM4e1EIyUaRuGqHVodEodfc0D1 2TIzn9eIQIZYLFQvcg71Fo2DgqCWtZ1ywPK4IxoEFgtE38erBsD5bSWEaF/uRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4rMJ2gMxz16pS for ; Tue, 28 Apr 2026 19:38:20 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rRQ34Wzz6c13J for ; Tue, 28 Apr 2026 19:41:54 +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 4g4rRP4gzCz48gR for ; Tue, 28 Apr 2026 19:41:53 +0000 (UTC) (envelope-from ctuffli@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-82f1f6103afso5527031b3a.1 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=IcJdXkCac78NjlKvmSNNAO4E5uzRyWj0Wp1dzUdF0an8ApASwlRu9e4/psz6GiLX/r iJChfyeQTcBPDe/FBkdDms+pTmFNeVDG+8+ksFVJDlmMEGlAia5f4UpDGEo/8dfKx+Jr bIQZEp3+BkMPwtv3MBPUqUtL9rfUvtYSDJdQ8i7i8FaFSqKJaotpEgwK6xbm9MXyhfIu Xp+2P/Xv+leapP2+i46Xx3MH3Qx7W68Qv8rVs9C6mncPGm0okK1uvOg863Vs29y266YW uTTpOXwHS0jMMzs6SRYKDB3JIkegKcfH5Ue1z/nAsw72qgn7KFHl2857x0AEEOP/dF5m Wjdw== X-Forwarded-Encrypted: i=1; AFNElJ+KO7duJj0mSIhZtesyYGi+GDfZj69hvZwt0RQfxG4pHOhu8TD6dtbn+zVchJ2iI/lvQLDMQLx5UWCblns9sFx2NUYMSA==@freebsd.org X-Gm-Message-State: AOJu0YyGo3K3KxcT83dIp7QANZQZywMJs/EKYuFcq/sbu4lzcbH80Ddy YXfAtPZLOiL0xI1BhDG7Dye45HnSk1DPdTYFKIuaqrLS7ps2AwJYruVxzUAhrDim X-Gm-Gg: AeBDievynPPp7KsDz9XitpMx+lsjAOJZcOvX3qEA6VGRRlR/z8mp/F0q5QSKFKLyuB4 1E7F4RLVH/gdAnO5cxRSDpzSeMIpXBEuErJy+kU22LfQWXvbQ6QcB99cqS1FJskJZqlYNz79f1d qP05emWrxgAma3aKGDeO+/J6oQ54s8Mhcsj4pXUx1R8tO1mnyW2tUvhdi/xTXOHn7W8Cq4zgxP2 L1hZLXXy36KwY1rbtF8O8aG1Krb36ryTxCMyOhi8QCJCDRgrMGX9ic6uOdksxpyV8Er0fVZ73vk +ePPLHoQFW3ezdGRROmu4lS7o7f2J5mFuvAHzHSq3JTgR6BPAW/WXZqYNf+IFbXEGsbrqeQP8LM 14ZHbdxVSEw6jRuij0QVb+zSB4IjsGnKFJvdQe6rqiXAn3RQFIEjOEBGWKEJZg8yWAh5kdhtd6/ D8H2fi8vgAGjOWfA0of08SbOW8WwL+6a0oO31aMfw0vgxHTA+xI+EvIHzmheqr6ndJ0+zrCIk= X-Received: by 2002:a05:6a00:3902:b0:82c:1cd0:2f5e with SMTP id d2e1a72fcca58-834ddc75743mr4808478b3a.44.1777405311762; Tue, 28 Apr 2026 12:41:51 -0700 (PDT) Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com. [209.85.215.180]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-834dae2249esm3361225b3a.21.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-f180.google.com with SMTP id 41be03b00d2f7-c76b9efc299so4932942a12.0 for ; Tue, 28 Apr 2026 12:41:51 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ8kOCLLj9XQ/Bh+CfWhqyRdUqCanVbk4tUIqfDCq2A913uNM1WuM+XhpwSe/SrVa3eYZLUs9VEOXLjCG1KsvsVqZKzIUg==@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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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: 4g4rRP4gzCz48gR 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rX947Crz6c0wL for ; Tue, 28 Apr 2026 19:46:01 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g4rX82gXvz3Bpd 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.214.172 as permitted sender) smtp.mailfrom=ctuffli@gmail.com Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2b2ea1b3962so66873435ad.0 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=1777405558; x=1778010358; 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=Ym8qpZntuxZ/05OgyK5S70IRbNynklesWO3T5jMCVAF8YpnonprS4ZjnYGAAFtQhma rmK0uRaRZkMDtKjn8lHhEx2s9kjUpttJLFwcZujY3vZPX2TbiZnfMuphcuEgZBfxdYVi Y/+tohXnsQ09Mi1t2M+2+Z39CHLHebSAvyrGgpAJ6XNAvupTHi5nfkpk9vBxEOXmGLGt JTazyE1wKCvDQj6mxUySLdfNsY+uQNdlRdqaY+yhugjzX4h/N9i7btlJfx1yz9lGJEcx pE5iDRspRY6zZ9iTjGJvgOIv1S00uMLX3GbmmfjohRyPCjzt/hr0HM/uuqdpFu6kSmhn CnHg== X-Forwarded-Encrypted: i=1; AFNElJ8iiVBc91bQ3hf76lBttBY5HJCHplT8HJn/F0bH5QbthYVwHQL2vf2KpX91shsbYS4Oco3qAV87+AEdYC16VTtzwpX/lQ==@freebsd.org X-Gm-Message-State: AOJu0YyF7ZiGuJTtbwY4LzMNcFvi/rwNFCru9F+mBmGFC8rbi2IYqx4B a/mZ+SWns422qP8mEavAtG+iNU8ZweB7WzE9fxj686Gfn+bv1yN0UYIyYT7nkc6K X-Gm-Gg: AeBDieuXKnSZm8k+DeX4BZ2ico80wDgmLvTj0VH8cgHXiQ9IE3oy6DE7nJDQklufMUw 8x/Ww0l10Bl9TiqcNJ/fjZuEpZuB5FxjY+EAohAolGt9eKB65UZO6qEUXPOuKh3JwBVVLUeNQ7Z enDgFHGwVbmUhIQ36i5uhk3e+9Q+n/ABojTZd25oqPW9Wh+Np4DmdLW52C28edUIUlQAp5DpVJn ovMp47pL9H9At6srCZO6feav7us17jmXWqZZMNA0D7YguspSpz73hB3DDH6F8cUIRBIalboJkpu ULwfv9wm7H45ousQDAhmLkN8C/UIo7Fmn75yeKd1lhM8wXvPv0f8pmJwE1nq4sGu0fZGWp7s403 pE7EKf7EZmb70q1rcU4rAolBBmcU1vV0D274pFuymqJBzAaKwdM7YW+wEHLzZdDj1VCIW/aGcLo QyNolKivAk5DJZ1Uz48U+jtN6UCPud6tgwBdH8VEul7pyQYtvLNpH6Iql6iWKOE+JrP93GJBY= X-Received: by 2002:a17:902:988c:b0:2b2:501c:bc0 with SMTP id d9443c01a7336-2b987359d23mr5366695ad.7.1777405558526; Tue, 28 Apr 2026 12:45:58 -0700 (PDT) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com. [209.85.214.170]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98893f1e8sm327225ad.44.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-f170.google.com with SMTP id d9443c01a7336-2b2589c26e3so109535535ad.1 for ; Tue, 28 Apr 2026 12:45:58 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ/0SbpO3g4xmqwWFI0tdvEZCg9WFhJYV7Ha/fNW6IsnuHev50LweKJuPIdL4ZYIBRrvbFlm9vs04VrB9e6wi5YL6fVUag==@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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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.82 / 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]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; 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.214.172:from,209.85.214.170: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-main@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-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.214.172:from] X-Rspamd-Queue-Id: 4g4rX82gXvz3Bpd 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdr1SNyz6c159 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 4g4rdr00KMz3Cjv 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 4g4rdq47fDz16wQ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rds273Gz6c15G 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 4g4rdr6tfhz3CHs 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 4g4rdr4Yygz179g 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdt6MHFz6c1PN 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 4g4rds6NC6z3CYf 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 4g4rds5SPnz172P 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4rdw3Dx9z6c1PP 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 4g4rdv5FyRz3CkN 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 4g4rdv4p0Xz176c 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 20:16:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4sCn3yh5z6c2lB for ; Tue, 28 Apr 2026 20:16:53 +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 4g4sCm6J5gz3JVd for ; Tue, 28 Apr 2026 20:16: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=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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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: 4g4sCm6J5gz3JVd 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0c5ssMz6c57M 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 4g4t0c44Jnz3N8j 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 4g4t0c3VQ2z18pY 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t0f10Kvz6c535 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 4g4t0d4hwVz3Mxg 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 4g4t0d4JC1z18pZ 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8Z1lJDz6c59c 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 4g4t8Y6Hxvz3PDg 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=1777409949; h=from:from:reply-to:subject:subject:date: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=e/9w+N4S3eQTF4LinX55M7hBC3NlUO02MOt/dCjHi73bAeyJEj0pOQO11LSP4Ve6k9+uhc 69tFLWSnWYgkVsycgTCmbOQ9whordyUOIUqxTIvmOpKmj3MK95oneZhP5DbE714zKn1FHz RpdvU4YRsVDi7xb+mtD9UaeiWJlebLz7YS/thg7WmbAw0t9qYkMTNNh6+RBJJ//5pwwVSP bUroFPmadzMjG/zoqFTu1zTbU0v0PvWFn3Ou1t+bSDBeeluDgksIuxoisp6QJXsDCMWXul S2Z6V52QEtjpcIQHC5ojrZx1wMk5ZODyNYSZPlEDM5uJiwm7YhI2L3Fk2Cl/UQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409949; a=rsa-sha256; cv=none; b=Y2ygBAV6iXEdNfLPZx+m+YiTiJfXGAKumGbWFZzoG3/TFxiccaUuaXcew6GFi5IoXv9DBJ CA+I8wq9Ekn2dvikBjer2ISVopMMkhKX5di8hO6tJQcLwQRy8VT6z8xKfmrA+K9Q3IXxfG a7kLrPVzKyLLhGzGCixja9nAqlsJWMCLKQE+NvScT/CEiIWnIaI5/ecdevmZEi0kOHkPv4 WPVrXw/IYD203APTumGbV8QxHBeNV+hCrEqs55puAOOZ4zVhp/k/T1rhggG7CRpMk11yjS z/jcWAivkK7f30mS6Li1Dgkf6ZyCvvgtMhf1FEayekfyVPuXnGBfshQS9VfTDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409949; h=from:from:reply-to:subject:subject:date: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=Rmf/EOP5SBvHTeDMtfVlq51yMiPpPuBUZw7leZz9BDoVUaoGIdDsuGa4liqmZmCzMxTDcL YwnLEBFN6QWJvI4qpgHnJlGEjkJY3XX1ve2AfeLBMiG4EjqKpfnAYA7G8qXCdPusSJqMF/ JajWhLVHl7FpaPAqXzkrgEr31ioemUtUyKfZqaaGX7ylpMCSTdXEEgdfxpJxyio4ZsolvI Ckf0DNqEWoVw3OP1dNonbaGwivIJr1pIhIqE4pYxf9b3gio6CvdAGwaAwqKl2u1gV9GXaA l5GS9VIXzUo6b+t0kqEVHT41arq5q4iGbC1EDoGi4MZra5zhd4wFYr6DYJYdWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8Y5P2Tz189d 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8f5RR3z6c5Wy for ; Tue, 28 Apr 2026 20:59: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 4g4t8f0d9Lz3Pdk for ; Tue, 28 Apr 2026 20:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409954; h=from:from:reply-to:subject:subject:date: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=hnPDIr8UesxkFsq7m9TC3aRkg1EwrEdZiu3w5HmCVVhowAuM+iL/lNlKIJaFtUhWREbQ/D wQT7vABut3Ztt6K4j4rauD6Eb0tGI6co7zMKi7GBmoOzEhe74z2UX1lSDxTm2zYOhLhjxf ncphAe4dbS/bKCn2SPairakuE9jFbX+hYCzbSZhqQinuiqKmJy7eBbrydMcqPmKjVW2SHK ugjA+miowci16B6Td5vI7hFOf+wWiHoHNJp13sDtBeHV+ROoiFhgx/lISu1jQzZO8zE0VK XxDsW+4seDDoG60mIdkxWxDGGC9Nb2QKkba2vf+ychqGHlJ8BZe4/wsSyLzc3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777409954; a=rsa-sha256; cv=none; b=rkYPfmsPMJU61zpJdIkNSlZZxEMmvbL5mi2PtikYgzEl6wENM+kQfbcfBk4nplMNzV/soy VGfHENCeuZnkjXlblh0cDPT6K/Lxp1oflbWOuAvsYPPktVQBZfZCRKOa26MpWoIi42uhgG 7Wqs82q+VYTaL/0Sm2Ouuk5OZIiQq/mT6TvKqrlLf8Wo8hb5oh20U6qledwr4bWndo9OzH Yej7UDDavZRqLmRHVkoGVr7e66mM6FZ3Wdi0WmMc/5e7vfsSyM57RdW+bcXAl9mfgp9ROy Gfdcr093HgHE5hVttycbuviQ6PMewQmHkya+kxAAGT+65Cjpmk1TIcIllQqFnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777409954; h=from:from:reply-to:subject:subject:date: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=ObcNMEN8hQPJgTOS/afuNn3Z2YD2jzB4nJ3CLgE+R993kDNEcdMaDw7LHTKRGOWKiZcwa9 wpZBvV+zdykATD32ioxoyTA5Mt2XKxSDrmOFiQXSfwNVF16tb/JPLXa3kYvBIbrTe+IP1E RXMJA/gzHgzi9uKueV+usrTbU95SA8X2yZNiBv9U53l4oT9svFAFV2ttl/t5s8P9zAMPwU t46SRHAeuNWhFoT1hMYO7z2tuV+BeeawMqyYG1+0H44AdXOpzThQjCMjXCKgzjBxTAfz8z SmribeS3I+RQi9pM3n6gqQHWU2KbfhxSJrcW0cw77fX6zQkAAiurDgBYAIlE4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4t8d6gMwz1973 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4vBW4Ljzz6c8DS for ; Tue, 28 Apr 2026 21:45:55 +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 4g4vBW0q24z3Tgt for ; Tue, 28 Apr 2026 21:45:55 +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-8a3342d301aso115022236d6.2 for ; Tue, 28 Apr 2026 14:45:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777412749; cv=none; d=google.com; s=arc-20240605; b=OtsV/x1yrTD3P5AP2urfvMFfp8Ws+bgsFIUIu8FIXqXLStltsn6KexJUM3Lvj+ucmu P2caDd4CJbJCatTRWZlNQnWh2p3bial53TOJ89kBw3Xp5K0oHCyTZ3IeXC2dn0eZB1d2 k4i+59bgUUJEBKRdwnWmXMHFXJkxv2PbzNrgeDPKeBFCOeJKoiItKU/pnxfXKtdMycjx GdLzPp6svXUaWWASXJ3jv5PEC7BPFI6aGwG/SlDpXrllm7HP6LUrv0Tppz0KuhTo6CHZ cXRdGPn/JLhBJQgPGbHb+iOhYhcAKN7UwUXk0TGIGqc7WFmr/FGaudVrpeG5W5PUiwUn eRlQ== 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=HKyrwLAkev8QcXoMzYfBDZUjgQAif5BEFTnTGorP+DU=; b=XQl+P9Qj/GzPZo7NAYbm7YD0we6+GeaU6fGhqgb1KBJfF4jEdzkf/n/s7VZh65ZHrg FKPZAOQYRQSflYhMX7z9NfCoJA3iVc3dTT9sML0kdN/a4C+7Iym3fnMpLiD3po3V7D7W DyxkdM6cGVYAQyCik0FnN71VTGFQ0gM4ag5RSzYYst0jzc5vG0G8GWV06V6q3t74rccU jQXxEp50XaFWYIqPhQco3XWftVwrcwYvOL0O5AHnr2sdZcXSOh5GZHR6HxgA06FmAyQr jy1Ug0uyGEdym4TOHVdUqPYCifYckNMOsbGfR2fxqT3KyXRFOwm6haragxN0Rk7E4LZI d8OQ==; 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=rQdgN2tS1A1Mna7Qx7PwW+/ishjghmAazD6jQDFEgKpfbW4Tk3cfBD6IErWYAQ9HBh eBUcmk9jjXAdKMyuOH+48U/eKDqfLLgtzLmc5tMk5WIZDGvZB0nQV0vEzYUgB5VY3JI2 /xtZr+iHtYjCkvyCiZow1Ei1IGi1irAxjpee/ZQbbzN2X5rZ07HxkPT6o2aSEDfYl57n ku/dceiwWZZmd9I0ZUdJ/jjCca6J+56vqywYtLlaQLxrdJ/6qAB0XY/+e8EhwoVquowf ofCk0Kx/1mxRvLbCjK+Ru316b3/DxOVg2eGUDcmVlEJw+5GmF/d9d7ilfUq+WJTXjmpq xGVw== X-Forwarded-Encrypted: i=1; AFNElJ/OrftUMVVLA88Irej4IDP3yp7OtnF8tyc4ZrovJZBYiKx+VGNnlY7Gep+A7i8qx3fZIRD027Q75Ei2BlBr3R4/p9ARsg==@freebsd.org X-Gm-Message-State: AOJu0Yw4CkPOMYhYUkhS1lk+dc/MMNZQ9Qg/kDodhrbv3u/3THhaAdCS e+FUrsFfX0cAKHcr/FMvr1SEHnF7Tkue1iWYLZ/dYw8nsb1WGLTVg+ICazN7gpJ8ShAJg2fLaKn UCCf59KHZ+NFj7staXGCS6ids2k1AzUU= X-Gm-Gg: AeBDieuaVSGs9nX9V6+89mqYzAz6cJOhVUkPAid7UExagMSgRiOvxNkR/4uHolwVJi/ q508FOVr/yojW+cnjc7F7lyCbZ5iLbgDETecbP5lk8RvbvSoXNaVZW4mbG3Rn3lKESm82oXsoBX fPOyobs+/FK7lPg3MPv+Et2PHtyx2Wth7OFqIff37UTlmF85YhpwB51QzqlhjA1fhk94MP3RfY+ wpZHn+PWs+CGEnp2jnCr5eSTBI5CBGkq2jgU8B/OCvYKmuHvdFAeXeyRGBVXLkFfxOuFE8WfM9D LWFZjilQF1FhH8qZhm/wrUdSJjc6hmV1MZpakTcSCZM/pEl1raXyoXTdHxIk8CdA8HsE8kOTd0k 0LOAznGpp1OHREjZvxIS9zWm5AiJO5MhOz7qdnw== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; NEURAL_HAM_SHORT(-0.07)[-0.073]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MISSING_XM_UA(0.00)[]; TO_DN_SOME(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_HAS_DN(0.00)[]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.44:from]; TAGGED_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.44:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4vBW0q24z3Tgt 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4vP21mDDz6c8s6 for ; Tue, 28 Apr 2026 21:55:02 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f53.google.com (mail-qv1-f53.google.com [209.85.219.53]) (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 4g4vP12SZTz3VS6 for ; Tue, 28 Apr 2026 21:55:01 +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.53 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f53.google.com with SMTP id 6a1803df08f44-8acb856a674so3446746d6.0 for ; Tue, 28 Apr 2026 14:55:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777413300; cv=none; d=google.com; s=arc-20240605; b=fFVlpyTSdGtQZCf0XVaeAiRZLdGupsDTAYhosx7KjJ1ulhUc2yQ6K0hP/XPoqIFvC7 ulkIk8+NP9C/FDw9SXLRYy6lGoTmgki/m8pqyH7OaOhXR23uK3UestmDjSZ/YrqKATAS dcjwKqV7GbsrPtmHuV0880pDd3620XDFQyn8fuDxd2pKQuGgHstLjYDYAFrPc78KXMkF WKfEcpW/9EvczpfMt2aNcoHsUvie9y0PaTsWgCudHIi002DflZ/6Xgl5cUr4ZD17aSps EljI4jV7fs1FolC3UReUp1laPQU0eXll8LXb7pRnzt08ajDh5F8k1ZNex9iGNybOaJSJ I5RA== 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=tDwAd24HYdFY3i/c41bLC+dZJUL1pj1TZGg3GZrIi/M=; b=HWWlrVCheT6LL6V/hI9E919LGyMIKJ6s9Te642OteuBe8vHwn5I+8PrB4nZ3cVN7K2 92o3XMsLZraMURjK9LgxtuLhdbT+hdYD/Y3HluT9+QcEDuei+SZg4n850bgyrFrH4ASP FLEpTH095829NVS2T+tDbzjqeqUDnooFuMcZ/KpTDlYRUnzD0QPuK+te1IkeiOVgN58U dde0j+a+Xxi9+DQLt55PYjuovdkbVQu7ABMvWo5fVJy2QnTmUq/Q9W1k2rNUrbf11Fm+ b2qMdpRk+eOOO7DxQrrVNbdQGfLs7RgLTpmR2wvGyWRKjkyaw9maAgjdxNUM8PHU0hwx wUHA==; 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=Y9zMRVKR6yoYT/chILk1tlxEmnhsNAJKTLwpofecAa5Q1iUEZg4pdVI3m1OlHAwRnf Xuz97rbdD8wpXfLhB5jeyjo0SLzADQOrJfr2LaCPWsMuIVcshYc1dD85UpRHQwezjgLy yIxsrXi84CBvSzemEQ8WuBS6lkmsIpX3Ahg/DmNR2lc+37xtBn3awtnDqq+Y0+olyvWY xXaDUOJSEUoD4C3atP+7VTpXtA1wVv7rOm1EdhG66zzdbLwzzyY7vI3oE5F9gUYntoer OcASlH+c0dLIvuWZigfFR8v7WPKVctitx4BYdbGN212l7iE3ocq+Z4hHbQ07/tJrB7v0 SrUA== X-Forwarded-Encrypted: i=1; AFNElJ8hui6D8xLOtoi18zMm4jpyuWp+IxG6krpWoJc6mVxVpk06ZmdDdfjP0AdXqtjsL7481bvcYgcAypZpbG0YAmKC4oyqSg==@freebsd.org X-Gm-Message-State: AOJu0YxGapnrtubBTEm+E6IR+7o9Rlnd4LpWBcmEInZ19vH+ut4OhSiS j7UA/qyTgrCIqZwnraZUbgr/MNJ47B2i0zV88SYopKKmyN/xSnUYL90FZLTyYoExX6FJUkkB1Os mUycykSOohWwiucx7XTgF6qCnxIXdONp2gSmN X-Gm-Gg: AeBDievLfSMJrOd1UJLboto5fx/5E3X5Qf3fgaQQ9YVvWGLJrLQOD0CyT8ePj6aOuT4 8qkHcqAj+X017UcMEE1tx8t32lIFsFdvE2bauARALtyR1NViX4xatxKp+2PiLBypSqrnmxV+Ijx WFw0ExHxSYmIrh9Jg9k6/bXCORczh8E7eEYpp3ZLX74mHx94MVf/G/trfeXscnOZeCFhvVqmWgP WlmJyhqZOo/DERyfg9cbE0GrxWg6omcxOG9qLsR3wcxP2L76XhPzUMZFVn9IzYzEsj59LSinDmO MN82zrsbi9raoMitAgDkRD8dBHEFrYpUiH6rWE82Ohz5WkD8XRD7oGQ8ksGaNQEoA42CMF2eiI/ eeRX4r54r8K2AhujhXS0jNjKAA4v4Ls9zbLBYKw== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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.53:from]; TAGGED_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.53:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_DKIM_NA(0.00)[] X-Rspamd-Queue-Id: 4g4vP12SZTz3VS6 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:37:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4wL06djYz6cC3J for ; Tue, 28 Apr 2026 22:37:28 +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 4g4wKz2jScz3YvT 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-506251815a3so100290921cf.0 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=SoviDPc638/ZWPec6jnwpamMOg/YTH2O8a3DlICQACTEkqay7VVcHWz9yD9y7X9chm kwljT7zHAImfSn07rycJOKrajk8/Dd8di2wgjCg9AJlAnhwrznjiod8XzZXJ9hP1wXPQ lfRmd2yXjBeq45JeyYdvMJcavDZ/NDO2+pcmSIFKC5npOFNbXk04LeYGmCFJCjwn7sFR RW8+D6ElMNLRtYKdhalXyl8MjqyOliAcrJmTbOkN7lez5wd9dNfLq3ZH+2AJ6C2asaW+ A8VOI6H01Fhg3dL1aDXeiQD2t6iZNhTJ8aVP0sqr+IjJ+sFQOlZSZJwtJcw/T3NkymEt tVsw== 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=8DvDmVjTAQH01np7P5roxvs+Gp05wcGNPTSWTgSKhlA=; b=EzjADDv4fa3qvV6QeXdJ4MveP2sHfUlW2rUDPhYHfOIrCTwVUO0JMpLekEQM9t9QV9 cci8l7Za3GEn9nBORYxeInUOo8PVIjHF+PHUVoG1YNCk0RVgCGr881hyAJLkldPiidji oRAwHQGdwy5NrAxQ3fxiZnztxZnzIvXjM10qIyII5oK5sFMdOB7ARbVa1tz3PKthEG7G JSnfTfO0t2YrEGu/z37B+N3Xi/UYzmg85u0LJPDBP/0cQmGaYCTBfNURfLS7HHripF5S 8tvwatZakEeg/D6cTqq3VuYyWr6hUJK63b0tiRiqhcFNXKp3QHDAxkZ0aryhI00n3TLc DrCg==; 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=gB1/4uT7X/7R1kJGgp2Y5dy0J9LlPSKNnqYkUj99xVjQfYgOil3fm4ZTmo+7K/qoPf 7lymoTj/yzKroUDM8wRfXUjF4g8HU5JLzUadJALzlE921KAxd384OFWRcvW5ZCIDskEh vn0FMjuTBOi3pn0XpWD6iAFgIysPE36ZRjhTlmh6jHB2n6c/Ty/bPDJv5NG8NYeuGZEw aMgq/q01EZMrZsAXC2hrvnQ4/RB3C6sAht/VLy2+RIVdTiK0qa9tMzwf6z81PtJ3KmpQ insUjFM9GQCGcBAKQiRfbb9Qoi8lkpaf7UaZg9yLxK2UqdvMd2qd+e+5f1QfUeVmMbmX D6+w== X-Forwarded-Encrypted: i=1; AFNElJ/8OUT27o/7Em1MRLJub0ED+/eNezglK2t50pDyHMuUr8pzrAbRqXIFnb+XHgrCguBBX8qR/eNssvJpd9Ij5HP44WFo8A==@freebsd.org X-Gm-Message-State: AOJu0Yy94NIcrNIe03pz5MqA1YdGsKAHm17jAZp/aMqIw8HFRtfAsfns O6nTzq2xZdOVE8epUVx+TC2UUn9c4tQEtqhbHSmPznbRWB2qfwEcCNrH0e+zfq7Si2bep1XlM+j HIT3EnPxrYdd9tozBNFhNglP1bqwNklU= X-Gm-Gg: AeBDietr2i+d7Wuc/xsuL7QyfkF4i6Ct8M5vHo4QwKrPPkQUn6/B5CiKhq5qTxplSMR +l4KxzlX3tP5lA6FX2c+q5ijQ+fMKXRyU/iejNMf5k9EuucPjRYT9Oy0MQl5DmdgJrbaBMdnLsy E/ErzvKg7sXPOlnSdDSvS++bCNnRUer6m3kTnyrp1vs2PbSgMyBozRkJAGcW/y51een9MvkO0p1 Nlz4BH4vyhVxJFKXNKiHqUrAW4/8xtkOAbaTlcgqqx59841YSLpLJpp/DwZcM+QR+uLfE/oCi4z dEWRxdGUHqqpCJAa5eEvyQtFv7IdkBYXUAk+1Z3cw1Cyfd10bmyJb8h6LZOYAVdurTcIf3Y0/jd AfXDl1K/FQSSHaI52xLGGw8YVChYBZzKvINs0BQ== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <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:c]; MIME_GOOD(-0.10)[text/plain]; 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]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.160.173:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; R_DKIM_NA(0.00)[]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TAGGED_FROM(0.00)[] X-Rspamd-Queue-Id: 4g4wKz2jScz3YvT 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4wzj398gz6cDjW for ; Tue, 28 Apr 2026 23:06:41 +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 4g4wzh6wfPz3cB6 for ; Tue, 28 Apr 2026 23:06:40 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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: 4g4wzh6wfPz3cB6 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g4zVh44Mcz6cLTs for ; Wed, 29 Apr 2026 01:00:12 +0000 (UTC) (envelope-from ziaee@FreeBSD.org) Received: from mailtransmit05.runbox.com (mailtransmit05.runbox.com [IPv6:2a0c:5a00:149::26]) (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 4g4zVh0rpzz3lpT; 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 mailtransmit05.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1wHtHX-005249-Rb; 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: 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: 4g4zVh0rpzz3lpT 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g51hK6JJ9z6cRyM for ; Wed, 29 Apr 2026 02:38:41 +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 4g51hK2kmQz3ydx for ; Wed, 29 Apr 2026 02:38:41 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 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: 4g51hK2kmQz3ydx 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g52Yb0Bsmz6cV7J 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 4g52YZ5fk1z43Yl 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 4g52YZ4zQMz6YW 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53HF1njqz6cX3F for ; Wed, 29 Apr 2026 03:50: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 4g53HD6Mqwz45tF for ; Wed, 29 Apr 2026 03: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=1777434632; h=from:from:reply-to:subject:subject: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=kKHof7UqtPqAm7gYV7JfZqPBF7H7Hut/DaqGToO42mpHCZy/GdmodGkA6xKXLOCSre8sA5 1ibI8hQKeod7M2REE6Aq3llmqLhmTa1ZgJ6EZBY217qZDA3CLeVZcC/E23OIHG3KE3iobU myYaEhL3s2Ado6G81gsZElLV/6XEIXI88KeSYeh6B3MDJH7xLtHFPIbT0szm9y159IHQT7 KDtZgqa0S0FFGSFOqWCIZp8uwR0O3XF18XwdstsVC7C2gciWUKhHnj8zpy2uV7F9iv/LJQ m/bcUyNnxeos+LeIv0+ppy65FdnwYKtS12hBT1gh/1I7ounNAqKH8lutRHudWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777434632; a=rsa-sha256; cv=none; b=y4UROrBn71/ORgN/E3hyoO2UpeQdDVB+5md9AfgMGsb2AwnzJvZmQRrc78M4YMiN4+fzqk bYgK9p6ceuqBrgNk4YSJ5d/Bm2+AGV4oud1irpwt9fgMFH9cTIoHcqo/OIDwY5ZHQZi/2O 2u3MzAI4+77okoxQGYv0J/IS8hnFv+kgLKoHSlCsItodvXp9IGGyiVja6NM8TLW8o8VeBx Isna5JYzfG+k6QI9rJm6uE4ZLV8az1UNgmcZAgv2vo5rAvPjUNMOWoAl1cDKtysIAGWCc/ R+iVVcDkMk9DN7OtkVNax59LXea8HmL9Ldkz+s+/3ISPOlWeid7MqREhClIfvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777434632; h=from:from:reply-to:subject:subject: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=xI+ItfiFUVwpGhC/D4OkoTdPET1saGzmRw+LF7ZMawtYLA6W2VmvPi2DUWZx2nwAyn4tfJ Mft5TVs+t9Dp4GTeB/sRA1/B4EchIZ0Jv3s24aWUM8HSjCy1nadqsyfDyz762MlS3bzFlm 908Z3+4xCWJhjE89zLI/lGIZqZ6XfF5guG70V6o1lEAKFktMp3MAsYuPRBYN6Br8EsweAx a3p2q53z1zhGArWC7MJc/057V62xoOhiUduWw5YUj1W+sh5/LZV1R3JWk4KXOMCeEsd2I8 AQN3qGechxPDD0RsfY79TXdQRrvQIAOO/wYtaexABwIJsEtjW55FmKH/8jIT1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g53HD5d5Dz7k7 for ; Wed, 29 Apr 2026 03:50:32 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g53f61PYsz6cY8Q 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 4g53f55kwlz47h2 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 4g53f54kz0z805 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 11:40:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5FjC2Ndfz6bSMM for ; Wed, 29 Apr 2026 11:40: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 4g5FjC1gvhz3sJt for ; Wed, 29 Apr 2026 11:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777462815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIA2h3TSmlZxLNDHx4hsjGN2jbH4GZ66leE5bQi5BOs=; b=leYJa9W1DtpZfpTVqNOyEtqOb8Z3BLsAIznxmd8lRX+wTu14/8GHQQkPEc/QFHdbQTuSNy 7hPMoqcAh9fxxMM9BLMU468XdSdXP9Zsb1BBQ9wFyg0PzVytwQz7fYVMQ00tzcSYjoizLh a1EBsR4Mk9gIsuI6hBftMb3+GpGm0pDFJ0h7BeuxqtMGTy+0RjrcHWV2TTLCoWNymfSYu3 LcxkdyL0F3s1A+wpJGphro3HbKrDvI3FqfDoY99gYzzfIcu0ymc8VqpbsHIFsYv78GESOj /5wHGes95boZOsPSHTPLhSYHz+YpcilSo5Tgj6MaKZGPbV+Nr8+yXdVFEjixTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777462815; a=rsa-sha256; cv=none; b=P1T87PLdZtvGSBVUUClErFmUZ2VOoEtMQe6BOY4MgD1Tv4k/J6vrPlL5O6aXCqQxgmYjAR N4HpD0RXKP1WV99Kq8JY++xmFyyF4ea7QeCe7uikk3f2aCiZCIRJaGU4Bm0Q8RvvYQbbuX 4kuH/uB/bCVoy6cnGvQGCBlEl5vP737hE861kEWeaU2igpP6ucOZNO1LUJ8nHo7uGRsEFW 0mVE6AW0BIuOzjxRV3u7Exa936loA76xzAIptBBHlxGj7wrggMvpyoBMCjBTJiaDevPHeX LS8U904TRou8wwgO9L8ZSvShNpRQUSRzB2e4okSUVHA2uj5zR++RsoZE1brz/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777462815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIA2h3TSmlZxLNDHx4hsjGN2jbH4GZ66leE5bQi5BOs=; b=btQGQbzQj6Kqq5cOFFIuZF8YPlf4whWxoKPXAbaV0CRY83sAm7I7VOlRE55NhlKZK+BIwV HbVMNZpcpCO1Okexu0f+cs/9LqL6Kv6DVZ4ouRGett6fRHeU58r58NPX3WCjoU9LTuxsgQ BDwmzvmaQGCKKRb7BuGTtVmMbf6Z465j5jOJBoa4H56YHyEBUW4gnWiAgxSjhLERbzMxC+ 1btaqWgEGlhkPgD7YxlSukuqIecnGALGKLNIzVf9TB7U+P0xRCq2kSDnHCMXciRxQBs+6h sfONHjkE+RdmgrAr/1cz0QBs5teKbfvQjubMqfGWD5DfxU5e1+Cjwbkn2+K1lw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5FjC0z3Tzdyx for ; Wed, 29 Apr 2026 11:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 213a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 11:40:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 01ff0fa77d33 - main - arm64: Support some per-thread sctlr_el1 fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01ff0fa77d33dde6b6f6a0ff83b0028f76243796 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 11:40:15 +0000 Message-Id: <69f1ee1f.213a0.60ed88d1@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=01ff0fa77d33dde6b6f6a0ff83b0028f76243796 commit 01ff0fa77d33dde6b6f6a0ff83b0028f76243796 Author: Andrew Turner AuthorDate: 2026-04-29 11:34:39 +0000 Commit: Andrew Turner CommitDate: 2026-04-29 11:34:39 +0000 arm64: Support some per-thread sctlr_el1 fields This will be used to enable MTE from userspace. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55950 --- sys/arm64/arm64/exec_machdep.c | 1 + sys/arm64/arm64/pmap.c | 11 +++++++++++ sys/arm64/arm64/vm_machdep.c | 4 ++++ sys/arm64/include/armreg.h | 1 + sys/arm64/include/proc.h | 3 ++- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index 9f9b74e6a0e5..a2e1e42249b4 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -445,6 +445,7 @@ exec_setregs(struct thread *td, struct image_params *imgp, uintptr_t stack) else new_tcr = 0; td->td_proc->p_md.md_tcr = new_tcr; + td->td_md.md_sctlr = 0; /* TODO: should create a pmap function for this... */ tcr = READ_SPECIALREG(tcr_el1); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 4ba2fb6f6678..595fba2da411 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -9325,6 +9325,7 @@ pmap_switch(struct thread *new) { pcpu_bp_harden bp_harden; struct pcb *pcb; + uint64_t sctlr; /* Store the new curthread */ PCPU_SET(curthread, new); @@ -9333,6 +9334,16 @@ pmap_switch(struct thread *new) pcb = new->td_pcb; PCPU_SET(curpcb, pcb); + if ((new->td_proc->p_flag & P_KPROC) == 0) { + sctlr = READ_SPECIALREG(sctlr_el1); + if ((sctlr & SCTLR_USER_MASK) != new->td_md.md_sctlr) { + sctlr &= ~SCTLR_USER_MASK; + sctlr |= new->td_md.md_sctlr; + WRITE_SPECIALREG(sctlr_el1, sctlr); + isb(); + } + } + /* * TODO: We may need to flush the cache here if switching * to a user process. diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c index b46cb8793409..4cb87ca9856e 100644 --- a/sys/arm64/arm64/vm_machdep.c +++ b/sys/arm64/arm64/vm_machdep.c @@ -123,6 +123,8 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) /* Copy the TCR_EL1 value */ td2->td_proc->p_md.md_tcr = td1->td_proc->p_md.md_tcr; + td2->td_md.md_sctlr = td1->td_md.md_sctlr; + #if defined(PERTHREAD_SSP) /* Set the new canary */ arc4random_buf(&td2->td_md.md_canary, sizeof(td2->td_md.md_canary)); @@ -192,6 +194,8 @@ cpu_copy_thread(struct thread *td, struct thread *td0) td->td_md.md_spinlock_count = 1; td->td_md.md_saved_daif = PSR_DAIF_DEFAULT; + td->td_md.md_sctlr = td0->td_md.md_sctlr; + #if defined(PERTHREAD_SSP) /* Set the new canary */ arc4random_buf(&td->td_md.md_canary, sizeof(td->td_md.md_canary)); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 6447f0064d33..4233a01d143c 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2803,6 +2803,7 @@ SCTLR_SA | \ SCTLR_C | \ SCTLR_M) +#define SCTLR_USER_MASK (SCTLR_ATA0 | SCTLR_TCF0_MASK) /* SCTLR_EL12 */ #define SCTLR_EL12_REG MRS_REG_ALT_NAME(SCTLR_EL12) diff --git a/sys/arm64/include/proc.h b/sys/arm64/include/proc.h index b40990e89385..d5879a794269 100644 --- a/sys/arm64/include/proc.h +++ b/sys/arm64/include/proc.h @@ -70,7 +70,8 @@ struct mdthread { int md_efirt_dis_pf; int md_reserved0; - uint64_t md_reserved[2]; + uint64_t md_sctlr; + uint64_t md_reserved1; }; struct mdproc { From nobody Wed Apr 29 11:40:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5FjD2yGhz6bSmC for ; Wed, 29 Apr 2026 11:40: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 4g5FjD1gGnz3sGc for ; Wed, 29 Apr 2026 11:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777462816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1beCTZmcIV8UCL8J6a12WlnRk72+psw+nLVhJY3BlA=; b=D8Huv2S7R7iWK+fPZuJ8qJ6Nwos7RWQIj6ZXOmi1qO+MVfz4VJlP/I1RnTivBHIFDj3gfU F6O3dA5M1Qea0tMapaeIGGEd5zcvMiOWAxxdY76HVVla3c8FYBRSbNPFOMD9oQxzKJQ5t1 91EUSWILwWB9KINkKuu7dX2/B/cHl9ZSySMK0HPqerw7CzEaGqKElqrJlfm+ilghB2lBOL TZNJgF9fXL8xMh5BTZSaUPMX81jMXdR3j48+oMjZRSm51LP+MGbSZ7OFmtyKlwkGXDmIoR /SsG6sgEv7BJO+Wn0KutuABNxeAmW5RawJ/LyJUe4NWvxFL0wOc1x0nT4LI8/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777462816; a=rsa-sha256; cv=none; b=VuybtxSz0N2x41blxy6ZXz527/nKdu4TvdXV2EOK0xTKtlatkmoh3eZ9ZLAkW+AmkME74C ymMddhs1rl3j4jVo2n3pJclhv3OmA8Hj+ykIz0K1ndum4L50Uj7juoNco6kHRAGrdONGxp lNrq5JnPa/EYL036MED4T2BQXYORRbdh88mUJ+0S3oWWxi6xyq5pOWMdQyqsrGjWvNii0h eh5A9PttYANUYHt8f50JUYOnU8cgmacpipIqhIWs39ejeMUT7aLcHb9HMBrfR0HE52jyyw dOOKSEIWkzstBmXx6azqeFldz2hR3pXjcYm+djf5VN7zfNmjIUlGuyFPHEq/4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777462816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1beCTZmcIV8UCL8J6a12WlnRk72+psw+nLVhJY3BlA=; b=VSKSt7GxjALdfWZTFxHfds2a1h1UG8grwMdI6kceDDOPoReUUrhrcpmAkZifLHscSzCe0C JFQG5k8qvJBJ8OksUhPYYlb0EzE67wcvGq6p7j1ewHppkmF6fcLSRLG7soW79rCUJrPuMs lxc+DIPKEfUz7Gsk1cGxuurhmhhBWAT/DwaGmRyNDRkC5niA91M7UICEb+DwxnwI++ztNF BIQxVOId2xv3keb3CegXaYi3RCTSq97vf0TslmkeXtrwhTWKXn8fwB+EK8TxFaIy46CQqi 64QeQzc/WwgMAToCA66/o9LGxd+9hWFbfDiGGwFv05/K+KPacaek1D8Mx4LhIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5FjD0rm4zf9c for ; Wed, 29 Apr 2026 11:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21a9d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 11:40:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 2783fb7e7321 - main - arm64: Fix a MTE check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2783fb7e7321911b4159d7f41d1c80cae40a7552 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 11:40:16 +0000 Message-Id: <69f1ee20.21a9d.7ec8f8ef@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2783fb7e7321911b4159d7f41d1c80cae40a7552 commit 2783fb7e7321911b4159d7f41d1c80cae40a7552 Author: Andrew Turner AuthorDate: 2026-04-29 11:34:49 +0000 Commit: Andrew Turner CommitDate: 2026-04-29 11:39:29 +0000 arm64: Fix a MTE check It should be for FEAT_MTE2 as the registers aren't implemented for FEAT_MTE. While here fix the style of the comment explaining the check. Reported by: markj Fixes: 58de79153622 ("arm64: mte: configure initial state for system registers") Sponsored by: Arm Ltd --- sys/arm64/arm64/locore.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index c86f98da55a8..14300eceb6d5 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -1065,10 +1065,10 @@ LENTRY(start_mmu) ldr x2, mair /* - * If MTE is supported, configure GCR_EL1 and clear the TFSR registers of - * any pending tag check faults + * If FEAT_MTE2 is supported, configure GCR_EL1 and clear the TFSR + * registers of any pending tag check faults */ - CHECK_CPU_FEAT(x3, ID_AA64PFR1, MTE, MTE, 1f) + CHECK_CPU_FEAT(x3, ID_AA64PFR1, MTE, MTE2, 1f) /* Set GCR_EL1, non-zero tags excluded by default */ mov x3, #(GCR_Exclude_MASK | GCR_RRND) From nobody Wed Apr 29 13:20:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5HxB3NmNz6bbxW; Wed, 29 Apr 2026 13:20:46 +0000 (UTC) (envelope-from markj@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 4g5HxB2jnjz457K; Wed, 29 Apr 2026 13:20:46 +0000 (UTC) (envelope-from markj@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777468846; h=from:from:reply-to:subject:subject: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=w03VXUG+4EU4b3nQfg1yFNG6pnTOpPKm8anDRzGUKqk=; b=VzXOzNw8nMGE3hwuFVdoY0ciUbv/AwNIDu2qE/5bQPDToArnaZp83J6AQ+v6jn1aSHk9Qk g+PDgzcHRZFU8h2h/yNAAoN419DWzxbKLhtRASSTcFoTTq1V6E/gU95aIMT2+Ryq84stTM 5z2WL8TQIY/dIh81EhQSroueonRNd7WhOQCYTOGLojdTzQe581OVsrhOIfOEVXP/6o0WnG ttbh7lVXXB6b9K75zG+xlod7WZ3K+IKP28KbknWHkdm4xdKj/UnN8lQUy2ZsOmanKpWlo4 A7Cdfd84Cpn/5k4nbSlGgG61NMUey7Zz2mbTnuC3QGePKfcebKGa9LdguDRgDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777468846; a=rsa-sha256; cv=none; b=EmUljW5YDq50lKMpSXDxQ88wRbwhxN1tNGH514jDpS3mFhWUeSjBE0WOKi8DAJ4Tg51HxO VSJ7Gxel0q/zAJo+PlXLP6Jn5rIsRjBsGHBbqvEW2sYg3UvFekN3hh4d2DL48D1P+1Jzvq +iIguvWkj6MM4HEhQdl+q7FtZxcUnJknYa9BTOZsv2gKz8AEzrFb3MDJfe8hwdcmuXF10K LN4y5TYpqoCgFL49+raJ+Y3/tX8t90SBR+NJ5luC1DvycDK7bBmxIiTmlf6VZcU8PHLbuY PVPwXCzef3gXzDdjJFDOQdjqAwwteamu7wf+pln7C572Emptg2hzvMd9qhwuZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777468846; h=from:from:reply-to:subject:subject: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=w03VXUG+4EU4b3nQfg1yFNG6pnTOpPKm8anDRzGUKqk=; b=rZ68egvNeGWuJmCL6rQo3xw/b0oLSCF8eCAzZsUddJACI6NVCgUfAOoYgAGrmdGGSxHYC8 85Ho324XJCfJVidqX9c7MGTqkI1vvS1D2ughqnPZTakw/gIZr+LZdoKa+lPRRC6CAujZ9U kTo0HadCnryN9wckTkJVHQrMzpwaZicZ28pmpai5oCTdt8cgXy5Rgk/TLkETkya8/+8Kdm ztcrYJO0c08JQj2E6O+t7ixppN3cj/K8Uh0WGs5qgn6/sK0wvE0GS0IC7EOpF+SwFuGTmb L25G0oi0aJ3nyjucHFi3bI3uTu2ZRCc4U6ZlZKndg/6vEuAuo6pQ4DGDFgA1vA== 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 4g5HxB0CB9z17h0; Wed, 29 Apr 2026 13:20:45 +0000 (UTC) (envelope-from markj@freebsd.org) Date: Wed, 29 Apr 2026 09:20:44 -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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Apr 29, 2026 at 02:06:28PM +0100, Andrew Turner wrote: > > > > On 29 Apr 2026, at 04:05, Mark Johnston wrote: > > > > 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. > > I guess only FEAT_MTE is enabled so the system registers aren’t supported. I’ve fixed it to check for FEAT_MTE2 in 2783fb7e7321. That fixes the problem for me, thank you. From nobody Wed Apr 29 14:37:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Kdp6QCxz6bjWc for ; Wed, 29 Apr 2026 14:37: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 4g5Kdp5D9Mz4Fgl for ; Wed, 29 Apr 2026 14:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777473454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3eiKZFbcIlTC+qVKZTnAFWDN7xxjo2Gwr12D2kt8V8=; b=kX4IxDvAlHlbzreL2KbSa1zbnejYqCzMGCD/RX1hhAIUN6lLiji//N1YpGMVROh+n5RGL8 Ek8c7xa2C15hX5qQXygMX5qwsXEhcR2ar1r7/Tf6knLTIWOJDuL5fIKSbf7xuznOm95Ad9 LjugmQPW3EsInySIQN8qDh06ILWvb7vC7iXl6hgXZLFxImjsgfTTibu5Mfv1uap7CXFJ0h 7ecEFlQ/GxuNfV/rrq1H+wiq6cOmCDpw+6K2MpAOAsqX0hiRxk+iOVRXYvmrYytgIRG5AY TVu+eVYw5t6fpl41D9YaI5E2h5uFJz5/Ha21sljfUXic3ClN5TMu9oNUPpeqZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777473454; a=rsa-sha256; cv=none; b=ebSQE/eu6oHmOsPJ4SMeYCVS5/jygD8FPIi9W7qxnMj4iJvdY2Cg3LuxHAwuKdCOI5vOF5 tA+k8KzPQj1j0guLypUUtNlxGWqM60/XF/m6kt4pUg4L0vP8aInwm87oAmXCBhdPb/sio3 F6NDJrlzdF2asLb+QoCmd15LvC+UhpX5M0Fwws5P+jHNjO6WhoO+FUI4HsNd7bJ4nOJq4N ZuyGV70OGHVuxyPD3DlCqa4dVOPkwCE+FC2T2Dq7O1Fl7yki7/lSnD++Ve11s3rA3ErXIS vBaYvQPGfVbQvOcd2obqqGWW5b8UgLrDL0dWdZ80WaFmnw1sX2fTsn0qRAxOeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777473454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3eiKZFbcIlTC+qVKZTnAFWDN7xxjo2Gwr12D2kt8V8=; b=BQPSt4BZyz+J4tRh9BGoyIHcTFAP7uIAuoKavr7+wTwOi1QXH5moi9uuItklLm5QT5VjrZ TS2IPrabLlTvs/Ydpbq13DSU/wLCSjF/1b31cU0UC7gn4oXRMSe6ikOwYW0l5RQV5JQ6eT U9GHsp4Q9HZ0GOJGU+0lCXPHAJafZjBz4EhODTIafUAgDmrAQTnyJocUUDj+8NghlRVmV8 ZEOCg03I8EUq1/bErJIeJ2O1KdBO1ryHkGevwTIb+DyFGhKfZeUS1/ooPSl0T5ibv2qRHn p0VMQUMEmHaIzsGjL0azwYx+4l0cyxA8JhtbXpK+fRGHfv6moFjKK+8EVCtjhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Kdp4QVXzlHZ for ; Wed, 29 Apr 2026 14:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39271 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:37:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 6c09b7608905 - main - RELNOTES: Add an entry for recent improvements to multicast routing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c09b7608905af2eaff4b5dfa6cbbd42ce286db6 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:37:34 +0000 Message-Id: <69f217ae.39271.16bdff42@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6c09b7608905af2eaff4b5dfa6cbbd42ce286db6 commit 6c09b7608905af2eaff4b5dfa6cbbd42ce286db6 Author: Mark Johnston AuthorDate: 2026-04-29 14:22:41 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:36:50 +0000 RELNOTES: Add an entry for recent improvements to multicast routing Reviewed by: kevans Sponsored by; Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D56710 --- RELNOTES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELNOTES b/RELNOTES index e6e6f07c1d0f..d8c64f989830 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +4c486fe40267: + The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware. + That is, there is a multicast routing table per FIB, rather than a global + table. One can run a multicast routing daemon within each FIB; the FIB of + the routing socket determines the corresponding multicast routing table. 65f5dd42f11c: sh(1) add -l option which makes sh act as a login shell and read the profile. From nobody Wed Apr 29 14:47:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks467TTz6bkMn for ; Wed, 29 Apr 2026 14:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5Ks459cpz4JGM for ; Wed, 29 Apr 2026 14:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AcXcBKbyjTeQbH4qSn0tRQcqZ9l4vpdse7Z1//c6tHo=; b=M9JvdhtHYKgrp81EzQ93tMUvPGe2N7zUOpl35skccqRDhpyGQ0G5N6TAtWEnJjVSaD2LkQ ban+E0I4kwJ9Yb5XCQfRuUV+Rc7FbiJvBXFGzym6HRA7beuJyI1u9IiCAz8jNGhFGVgh5L ly9ToI7TR4mJGkiqpIvGXR8vefi/Hl/gHL2IF1a60GmgFQzeiUcaCUJ2VPKRy1qIu2rhjh aWSILNQiZ8qkLl/OV6o9z0vrDvZtmJRrlml42psyNna66oe+sfBOmh+ugW3zvE0HS7FFj5 b61W/txuslQzQ1Ndg1SqLHpQc5i9OJ4WhMr2PbmcWC9Osu6nfDNIgaYfVk9y9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474040; a=rsa-sha256; cv=none; b=bx/o9knLpGXcQK8yRXWXJ1iZp/0ib7N3HZhGtMWN5yuD/L0MIGC3OvvC4HdFAMykXIuKro j4dP9mxk0w+O3dEpLZiiwDTHS9pIHz1lZ2inxUq5pJWmTBdXwx+3k9akPsOtPb8pzwK61T KEjZV1P/CM9a565rU+VqX/fEGH2qw6sVg0glYVHwDwXwCosaKP5ybDkEAYZ9u/jqie/F/9 thTlRHxw5R9pKhOflUt01bNoURbv2c0IMVpCi0bD38NfCbHrZH4W/+UFioeAwnBZWdlmKj b9h8hV/hf0TRiJOO1dU7+xDPrAzChgHzchWHu5jUgkpA3ICa9gfByuCNYG/JTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AcXcBKbyjTeQbH4qSn0tRQcqZ9l4vpdse7Z1//c6tHo=; b=Rhu0KadkhAVwJP1fZk4U0FPiSmzOwsOvhFYzATC8WeOWLJX5NIlblhDMaDdzTkH4QEyGn6 t39OzVbxEcB5fgxLx10I+imxu3xxIcYaRJzYU6s8K+G3MtW7wpX58kizBtKRf9DcsxMUfY WR7b9ED85XdmIEi56igYWT+uEwq/MccrGjlnphvkjZw+cOjrho9rC6l1AX8W7cmCCVVfDW Rt6Ii5PHD/gfhkeTvv9B+OLWO/mAOI2cKMEU8JQQMYd30K3s25VY+KO0N+MSkS/uSuP7pW TLHJV2h9eB6V5ceeBBeu5s2LNgILZTis0d8ZHltXVlu5XzROAPNxcAeysVyJMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks42myrzlJ5 for ; Wed, 29 Apr 2026 14:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cc0f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8e8ddb05d071 - main - execve: Fix an operator precedence bug List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e8ddb05d07142e95cf84e32bf93b9ecb3f90283 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:20 +0000 Message-Id: <69f219f8.3cc0f.79010041@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8e8ddb05d07142e95cf84e32bf93b9ecb3f90283 commit 8e8ddb05d07142e95cf84e32bf93b9ecb3f90283 Author: Mark Johnston AuthorDate: 2026-04-22 17:58:35 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:27 +0000 execve: Fix an operator precedence bug The buggy version allowed userspace to overflow the copy into adjacent execve KVA regions, which enables, among other things, injecting environment variables into privileged processes. Approved by: so Security: FreeBSD-SA-26:13.exec Security: CVE-2026-7270 Reported by: Ryan Austin of Calif.io Reviewed by: brooks, kib Fixes: f373437a01a3 ("Add helper functions to copy strings into struct image_args.") Differential Revision: https://reviews.freebsd.org/D56665 --- sys/kern/kern_exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index df5a1c044643..8e3b41170cab 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1650,7 +1650,7 @@ exec_args_adjust_args(struct image_args *args, size_t consume, ssize_t extend) if (args->stringspace < offset) return (E2BIG); memmove(args->begin_argv + extend, args->begin_argv + consume, - args->endp - args->begin_argv + consume); + args->endp - (args->begin_argv + consume)); if (args->envc > 0) args->begin_envv += offset; args->endp += offset; From nobody Wed Apr 29 14:47:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks56c9jz6bkQV for ; Wed, 29 Apr 2026 14:47: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 4g5Ks53QZNz4J9M for ; Wed, 29 Apr 2026 14:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uo0z6d0WFlrdkclcsARy/YCbK98LsR0KF9SAJMk2pAw=; b=VZv/qw8I+Vh7z2ydTwo4+AECxImC4dQ66lBfCehZWM/iK784Hsu31TilZFdrif+cIfIt/f CvPS4IbsecB+ZSCJm3YsrRKkC7Gi31QUFT0DFV93xXeQake+DJ4MgnT5mq/vfu10SXfYLf Wv1DcmUH5Ys+ldN+ed575JQKr7V/38jy6rs2wMKLfZTMNxAA3e004CQsn9tD0CFb53dE6+ AATjXB12ip4KVvz15MFQw1Rfs68yD5KiKXE5+aHMd0NxHw9Rba1pKf3ZrgKP2i1omSa7gp EVUPu9iwTKNVrK6Xb9v/Odlsv3AEaDpkcfB8V7N9m3L9kyEGioEIrFnEdO/NEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474041; a=rsa-sha256; cv=none; b=xuJiNtUkL+eal3gOKitbK9BA955ZebqsMUdsCSdSVZNgRsa/8rWqUZ8FzvelMhHtBzxmq3 EtzoqtgQQBbRGSjRTK5hBXNteJRjzxIxT99/uE0ES1ypbJabeZWtIG7ox0X9Tj+59t0eHD pQFdk3idzUURVCAFpO7HN9Fs9bPfM/YKh0Or8kqWIsQ7YQ82hvAPkNnox+WU1jIcvgH13u +MCA8+B/aV1Cdh+ck7XJsyfMjROtCVzsd5uTTaQYTtHu1vrA7dS5NA7JlyGzGp67Da3o1G VGprgumibR1vK6y5s4/W+lN1FyhXs5LtLvbsuSkMlo77t6ClqAPN4qLEKmtezA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uo0z6d0WFlrdkclcsARy/YCbK98LsR0KF9SAJMk2pAw=; b=Arb6Rpi4HAXhVmiUw4pLtVti41E1b+I8iQS8ZUasdKJMyydeT61PykFDSyqQVA0rA48sqD fhJll5TqOrCNuoNANMl7zSentw3dyyxOkHgEVcXJdKdMltObtWVAHIhlDtCPecLoNRf/W0 aB89/zl8dygB7LEqNdGQ1XjOP60940QWKIFiNDG76gwu89nMoXbPYy9nCTSnxB+R/FGRS0 2OkpYoMUFA3rWOX8OZgV1F5w0qKs621XohAizV+KTtLOYMAXDKUSTZHuWTXK/svlpKXSrB 5UUXePhemdrlcer/Sogbpq9xAmbIDUXLSDkAVh/bqzk2g8KiqSik6chgUJ/MDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks52RbLzl5f for ; Wed, 29 Apr 2026 14:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ceb3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8008e4b88daf - main - dhclient: Check for unexpected characters in some DHCP server options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8008e4b88daf37015d16c4ac709b91804b586575 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:21 +0000 Message-Id: <69f219f9.3ceb3.44cf7042@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8008e4b88daf37015d16c4ac709b91804b586575 commit 8008e4b88daf37015d16c4ac709b91804b586575 Author: Mark Johnston AuthorDate: 2026-04-27 20:03:09 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:27 +0000 dhclient: Check for unexpected characters in some DHCP server options Some options are written directly to the lease file, which may be parsed by subsequent dhclient invocations. We must make sure that a malicious server can't control the "medium" field of a lease definition, otherwise they can achieve RCE by injecting one into the lease file, whereupon it will be passed to dhclient-script, which passes it through eval. Approved by: so Security: FreeBSD-SA-26:12.dhclient Security: CVE-2026-42511 Reported by: Joshua Rogers of AISLE Research Team (https://aisle.com/) --- sbin/dhclient/dhclient.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 5d2a7453578b..719e20cffad9 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -1226,6 +1226,12 @@ packet_to_lease(struct packet *packet) } memcpy(lease->server_name, packet->raw->sname, DHCP_SNAME_LEN); lease->server_name[DHCP_SNAME_LEN]='\0'; + if (strchr(lease->server_name, '"') != NULL || + strchr(lease->server_name, '\\') != NULL) { + warning("dhcpoffer: server name contains invalid characters."); + free_client_lease(lease); + return (NULL); + } } /* Ditto for the filename. */ @@ -1241,6 +1247,12 @@ packet_to_lease(struct packet *packet) } memcpy(lease->filename, packet->raw->file, DHCP_FILE_LEN); lease->filename[DHCP_FILE_LEN]='\0'; + if (strchr(lease->filename, '"') != NULL || + strchr(lease->filename, '\\') != NULL) { + warning("dhcpoffer: filename contains invalid characters."); + free_client_lease(lease); + return (NULL); + } } return lease; } From nobody Wed Apr 29 14:47:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks65SGjz6bkJH for ; Wed, 29 Apr 2026 14:47: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 4g5Ks63R08z4J2C for ; Wed, 29 Apr 2026 14:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2ncHCmHGxOH3zmkZAe5LXmZyStKcWPaCVrtH6+f5R8=; b=OgvSOuvGBJ/u7Ilquo0wQEOmspLEIdBCK/s6wqDVynPHJxh2/a/wFanlwdRryLyN3ngaeV Odpact4EZd2fgFF9qIvw7KrgXZmXWfVqz57Mn1roHMc/fwWRiYbD31hZqqUeja0h1A3n9l 0Juq+c4xBv3y623VPZpzSgEzktncFXV1pIyYNg9L1pMgzvsHWFpNl4NOfUXNnfjB5P16Yx 67CK2ug/i6y2B9aIMAebQ99bvDf3qwvi/JqrPcnFeL7cMEpFTtck8lkipb7lbxZ3Seskrq TqQUUNHAfd1Ie/Jk02Q2UDi9zmloosPs9cL1l03S5/6QdKYjNGyPAZuauoKdOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474042; a=rsa-sha256; cv=none; b=slq0HM2MWZ9CHadCBB++SjDTmBPFPESId5t4Hv7Sa4u05mDgMTphf70WGjadLRCndd8VwI MgySkyBF64dUS1MB8fkqWPtNY1vZMyAP3N4WBL56tM10Xfk6HCKvoaO0NDM50zLFP/JL3M yG+qzTQOP2qMm+UwviYjASOxDcV62nerugnJvu3Yis9lo+MCaEVM60TyoHVbzsTZ3a6oVu 0hND3+Tj3oNYOQPOBtSeiyXdpPHjmrRTjYM+MKeY4fkOXH+Mh3Nefia5DC1ZCyoITI0gRg 1pcAuWk4RbVkMOsbqemvm/fX11zRGfj+QJh0U3BgU1rLET2hr9Zo/xDgH2mRtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2ncHCmHGxOH3zmkZAe5LXmZyStKcWPaCVrtH6+f5R8=; b=g8NkLw/3tKG5J+XkHZ4gWGNoKxQwrDzaf3t6Y1YGugod3Tm6F3Ibxql/YKbxYHsOk94Xcl s/ol5zGwTOnRJlbyTfEoBULEkXr66pbVkxfkmQUZ79TBvqQkTfk9/JLUhLX5i8QbxcuTc3 BBUMLVGY6YcoFnRqps5IhmJdH69FNN/crRi2rD/1mnq1uk28awdlf6rWVoA3FrUIwDdcqD auIN/JFAVcjgg1lzwPK7pdinMQTABbf4hlULcw+v3P1qe6oARIBNpxmvJLoZtNFXfxwtFC MmL+A4GJVPwNHudmF+1vGhA/SvIsWts1jb0SFDJ1VnPtqyIsFgo3CTYY+7cyxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks62qT5zl5h for ; Wed, 29 Apr 2026 14:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c9fa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 5d8e32aad2a8 - main - dhclient: Fix reallocation of dhclient script environments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d8e32aad2a8316b0aab8a93a677a63e4c3df422 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:22 +0000 Message-Id: <69f219fa.3c9fa.1698d8e9@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5d8e32aad2a8316b0aab8a93a677a63e4c3df422 commit 5d8e32aad2a8316b0aab8a93a677a63e4c3df422 Author: Mark Johnston AuthorDate: 2026-04-27 20:56:21 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:27 +0000 dhclient: Fix reallocation of dhclient script environments When the number of DHCP options exceeds a threshold, script_set_env() will reallocate the environment, stored as an array of pointers. The calculation of the array size failed to multiply by the pointer size, resulting in a smaller than expected buffer which admits out-of-bounds writes. Approved by: so Security: FreeBSD-SA-26:15.dhclient Security: CVE-2026-42511 Reported by: Joshua Rogers of AISLE Research Team (https://aisle.com/) --- sbin/dhclient/dhclient.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 719e20cffad9..f671b0ab9bed 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -2438,8 +2438,8 @@ script_set_env(struct client_state *client, const char *prefix, char **newscriptEnv; int newscriptEnvsize = client->scriptEnvsize + 50; - newscriptEnv = realloc(client->scriptEnv, - newscriptEnvsize); + newscriptEnv = reallocarray(client->scriptEnv, + newscriptEnvsize, sizeof(char *)); if (newscriptEnv == NULL) { free(client->scriptEnv); client->scriptEnv = NULL; From nobody Wed Apr 29 14:47:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks83YrXz6bkQX for ; Wed, 29 Apr 2026 14:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5Ks748Xjz4JJq for ; Wed, 29 Apr 2026 14:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LRJjkVP8y4pbcHAws8KYmAWBpXqmK0fUC2sxOU26clE=; b=ceXW6J7CF9ktJMU+OgcCHJFDwzYwhB/vRCfZ3Q1c62gqvi8MDFSw9XgvoYg60/2KZ6Ch+X anrpy25O09un2wCj9AdUJ3RXAi55IUuns33OTGQglqdvQHPSKq0g4VlLkQ4zA78AnTMMJy /lhPzLdanRO7rvHB9JdatqrVfDDuyJo5OY0ybwGIIBhfrfLtmFT3tNkC68xYG3JRJd83IV wisOMUZdtEGhMP+V8ECQgbjMipdm9rr8XthHAL2wCh5jJIQ9SRaQ3TnyudvXKBLGV0mXvm d23OWB2Ys2wMpiv+IKw0UnEpwtuPGmDmiQoDZffNx3cd6hQgOfxz0WwmNfbPOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474043; a=rsa-sha256; cv=none; b=yIqkt2AHUdIPObdnHcTJSDD7V6pa1el+Nd+OrziVLChXF2foSkX8gxY8C4Fz+2Sd3+2boQ 4GCdRhFB08DQBsNAwD5oab9sFppTegRT9rdVFTqVCrnzKxTkeNokjuuQI6ptmDgXtwcX98 M2CjxbTIgvO1kW8vf/kBdSg2HH2ut6qdBMjVnaOWsrrq5KCGFpqTisaOI6WeOXtgk8acSz j7LxIFIGgaWpKLpAVx32iJ7tWtpOzAm2OW4X6HGxROdLL/N99vp0R5404RHLK5BCGgYWut GdiPEdmfpdto/vyyD3H9rgq9DYA6ZreTaRuDxRMjrei3lif4pVWOjeAKHdTe1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LRJjkVP8y4pbcHAws8KYmAWBpXqmK0fUC2sxOU26clE=; b=a8Qh70Y3WpkLBo4krWD+wEnGptHWi11nauakXpsYiXgnwun0pvEajG0CIB/qwfONLArRYk /cvsFiBJ9AEaPv2mPw1jiE/r3XH+8icKOu7WILGQTUFmVSJqlPJ1u62syNkJjJAtykx2YV ZNQp+ozbUkc+8tou6aKCBnefCpAcFjRyWDNgJ8ksW2zhVbug+J+XynlaKYCMH6+I4JUwMQ 3iIh1G26bO22ZqTvle306kTvh5/d4wSJC8rVfmnvMifCANnJfIQ2StO3/ETCH6IWpdSoN7 OL69Nv/XsM0BjHMuYCG0C6FxbKXJPE8SxTdWRorJK6aE3pgjdRP4BEts+hEIpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks73cnqzlJ6 for ; Wed, 29 Apr 2026 14:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c9fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Kristof Provost From: Mark Johnston Subject: git: 6f9ddb329b07 - main - pf: improve SCTP validation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f9ddb329b07099e392c78b6e4fef1c6252de0dc Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:23 +0000 Message-Id: <69f219fb.3c9fe.1ca10249@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6f9ddb329b07099e392c78b6e4fef1c6252de0dc commit 6f9ddb329b07099e392c78b6e4fef1c6252de0dc Author: Kristof Provost AuthorDate: 2026-04-26 09:34:55 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:28 +0000 pf: improve SCTP validation As per RFC5061 "4.2. New Parameter Types" the add/delete IP address parameters (0xc001, 0xc002) may not be present in an INIT or INIT-ACK chunk. They are only allowed to be present in an ASCONF chunk. This also prevents unbounded recursion while parsing an SCTP packet. Approved by: so Security: FreeBSD-SA-26:14.pf Security: CVE-2026-7164 PR: 294799 Reported by: Igor Gabriel Sousa e Souza Sponsored by: Orange Business Services --- sys/netpfil/pf/pf.c | 16 +++++++++++----- tests/sys/netpfil/pf/sctp.py | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 53f74271e268..27d03b688937 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8353,7 +8353,7 @@ again: } static int -pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) +pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op, bool asconf) { int off = 0; struct pf_sctp_multihome_job *job; @@ -8458,6 +8458,9 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) int ret; struct sctp_asconf_paramhdr ah; + if (asconf) + return (PF_DROP); + if (!pf_pull_hdr(pd->m, start + off, &ah, sizeof(ah), NULL, pd->af)) return (PF_DROP); @@ -8467,7 +8470,7 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, - SCTP_ADD_IP_ADDRESS); + SCTP_ADD_IP_ADDRESS, true); if (ret != PF_PASS) return (ret); break; @@ -8476,6 +8479,9 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) int ret; struct sctp_asconf_paramhdr ah; + if (asconf) + return (PF_DROP); + if (!pf_pull_hdr(pd->m, start + off, &ah, sizeof(ah), NULL, pd->af)) return (PF_DROP); @@ -8485,7 +8491,7 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op) ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, - SCTP_DEL_IP_ADDRESS); + SCTP_DEL_IP_ADDRESS, true); if (ret != PF_PASS) return (ret); break; @@ -8506,7 +8512,7 @@ pf_multihome_scan_init(int start, int len, struct pf_pdesc *pd) start += sizeof(struct sctp_init_chunk); len -= sizeof(struct sctp_init_chunk); - return (pf_multihome_scan(start, len, pd, SCTP_ADD_IP_ADDRESS)); + return (pf_multihome_scan(start, len, pd, SCTP_ADD_IP_ADDRESS, false)); } int @@ -8515,7 +8521,7 @@ pf_multihome_scan_asconf(int start, int len, struct pf_pdesc *pd) start += sizeof(struct sctp_asconf_chunk); len -= sizeof(struct sctp_asconf_chunk); - return (pf_multihome_scan(start, len, pd, SCTP_ADD_IP_ADDRESS)); + return (pf_multihome_scan(start, len, pd, SCTP_ADD_IP_ADDRESS, false)); } int diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py index 9f1d7dea4ef6..722f7777a305 100644 --- a/tests/sys/netpfil/pf/sctp.py +++ b/tests/sys/netpfil/pf/sctp.py @@ -618,6 +618,29 @@ class TestSCTP_SRV(VnetTestTemplate): assert r.getlayer(sp.SCTPChunkInitAck) assert r.getlayer(sp.SCTP).tag == 42 + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_too_many_add_ip(self): + import scapy.all as sp + DEPTH=90 + params=[] + for i in range(0, DEPTH): + ch = sp.SCTPChunkParamAddIPAddr(len=(DEPTH - i) * 8) + params.append(ch) + packet = sp.IP(src="192.0.2.1", dst="192.0.2.2") \ + / sp.SCTP(sport=4321, dport=1234) \ + / sp.SCTPChunkInit(init_tag=1, n_in_streams=1, n_out_streams=1, a_rwnd=1500, + params=params) + packet.show() + sp.hexdump(packet) + print("len %d" % len(packet)) + + r = sp.sr1(packet, timeout=3) + # We should not get a reply to this + if r: + r.show() + assert not r + class TestSCTPv6(VnetTestTemplate): REQUIRED_MODULES = ["sctp", "pf"] TOPOLOGY = { From nobody Wed Apr 29 14:47:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks90t2dz6bkSk for ; Wed, 29 Apr 2026 14:47: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 4g5Ks850b5z4J9Q for ; Wed, 29 Apr 2026 14:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTsnD0nM+9yC+pZxAXp/gQEgDWVaTwNmLRkjCr9Y5Ts=; b=b8VlnnFbI+r4Zhxol3Fid8vovnKGCj5PJG0sG2FQFOLc0rr2WgKYIShua0vaikus9WgAR+ awRRESIcbQo7ycCSid++gikx3ZQ+AIxCVk2sObwtg2O9KHstp9q8RdPn3/hfjLFnb/RQjG wQ770dbKIPVe6Q2004H3BP3xlnXaoYO8wHnjIzDwqnZNgBvqvL5MK/d8OWMrCHcsQ4hiXM E9zQKl09qOfT+T9UTJ+cUTqYTuT4b06CyhobrwaTfnqS29kEi3jRyekiCcx/mWfGRQE+q1 dUMi2kwoPbwYr0tQoDz3kj0mvMv2AX8rZE/UHtzEtgT+vxEsxwvWnPxAfrUeug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474044; a=rsa-sha256; cv=none; b=aZCL/lefI+cX8VHw62eNr7HeYG43DjvYFff6X7ucWoF9eYP/3JQhLs2KSbrGS9UWghBw8C pccv32rcp/NbS9uGbNi1gQxvGpKJE4Na3Hw+OTARHorcVfCvOG9mt2ZDlk/XZ8/E1MrmnE gmjW5210vgoPKEsMhzsLec+8293sTTEiNqsANuCyL6DdrDzpeQEOLriGWtrtkpTdfgTCNi LANboHpbyMc4vbKKBTw9wmkfC44pLuNoelxPxoTQtJZJKGroWRVLOlRnTqB0K3MhbqrFem NUA9sYZ2sJq1or863dRIwbFGpazrB8PcfovaIU9X5W2Q/WszeTV5iKkoNg/9cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTsnD0nM+9yC+pZxAXp/gQEgDWVaTwNmLRkjCr9Y5Ts=; b=JmvlTlG7BSggmWuuVE2homtd5DsaUwHgXgbTUbt1ngNJi7iXBnOSqeT3Ud8WFzW5kNUCL0 436rzVOZzvD6V+E6c7H8Q2Pd/q5bMaW4PPPz/OstU4xQCBEr7R6JxM/3eRa7/wWaZoFMK3 6t8xYLc7QsU8Nx1QSt+ZPCGeugxc8HuKsICNgGKzF8ODk0U4pkdJkCcrsg2i+LoSdx8+qY UxLmLhoe7B/j0d8JGf08cxqHYsTaUuFlUAhiGtAXjXZQACIpJIYrLh10Tihs85grONCgu6 hWfL6GZDgwc+ZUQOjSbckfCnr0hdEc8AGwSHxc0h6kSGtknIxRmlmnAL5S3F0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks84831zlWV for ; Wed, 29 Apr 2026 14:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d583 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Mariusz Zaborski From: Mark Johnston Subject: git: f5ea3dce2cbe - main - libnv: switch fd_wait() from select(2) to poll(2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:24 +0000 Message-Id: <69f219fc.3d583.73783562@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b commit f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b Author: Mariusz Zaborski AuthorDate: 2026-04-28 14:35:10 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:28 +0000 libnv: switch fd_wait() from select(2) to poll(2) The previous implementation used FD_SET() on a stack-allocated fd_set, which is an out-of-bounds write whenever the socket fd is >= FD_SETSIZE (1024). Approved by: so Security: FreeBSD-SA-26:16.libnv Security: CVE-2026-39457 Reported by: Joshua Rogers of AISLE Research Team (https://aisle.com/) Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56689 --- lib/libnv/msgio.c | 12 +++---- lib/libnv/tests/nvlist_send_recv_test.c | 56 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/lib/libnv/msgio.c b/lib/libnv/msgio.c index f6f75241ff06..de2994e47fef 100644 --- a/lib/libnv/msgio.c +++ b/lib/libnv/msgio.c @@ -32,10 +32,10 @@ #include #include -#include #include #include +#include #include #include #include @@ -86,14 +86,14 @@ msghdr_add_fd(struct cmsghdr *cmsg, int fd) static void fd_wait(int fd, bool doread) { - fd_set fds; + struct pollfd pfd; PJDLOG_ASSERT(fd >= 0); - FD_ZERO(&fds); - FD_SET(fd, &fds); - (void)select(fd + 1, doread ? &fds : NULL, doread ? NULL : &fds, - NULL, NULL); + pfd.fd = fd; + pfd.events = doread ? POLLIN : POLLOUT; + pfd.revents = 0; + (void)poll(&pfd, 1, -1); } static int diff --git a/lib/libnv/tests/nvlist_send_recv_test.c b/lib/libnv/tests/nvlist_send_recv_test.c index 4a5c10df656d..d655a26a7362 100644 --- a/lib/libnv/tests/nvlist_send_recv_test.c +++ b/lib/libnv/tests/nvlist_send_recv_test.c @@ -27,6 +27,8 @@ */ #include +#include +#include #include #include #include @@ -531,6 +533,59 @@ ATF_TC_BODY(nvlist_send_recv__send_nvlist__stream, tc) nvlist_send_recv__send_nvlist(SOCK_STREAM); } +/* + * Regression test for fd_wait(): the previous select(2)-based implementation + * called FD_SET() unconditionally, which is an out-of-bounds stack write when + * the socket fd is >= FD_SETSIZE. Force the socketpair fds above FD_SETSIZE + * and verify a full nvlist round-trip still works. + */ +ATF_TC_WITHOUT_HEAD(nvlist_send_recv__highfd); +ATF_TC_BODY(nvlist_send_recv__highfd, tc) +{ + struct rlimit rl; + nvlist_t *nvl; + int socks[2], hi_send, hi_recv, status; + pid_t pid; + + hi_send = FD_SETSIZE + 5; + hi_recv = FD_SETSIZE + 6; + + rl.rlim_cur = rl.rlim_max = hi_recv + 1; + if (setrlimit(RLIMIT_NOFILE, &rl) != 0) + atf_tc_skip("cannot raise RLIMIT_NOFILE: %s", strerror(errno)); + + ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, socks) == 0); + ATF_REQUIRE(dup2(socks[0], hi_recv) == hi_recv); + ATF_REQUIRE(dup2(socks[1], hi_send) == hi_send); + (void)close(socks[0]); + (void)close(socks[1]); + + pid = fork(); + ATF_REQUIRE(pid >= 0); + if (pid == 0) { + /* Child: send. */ + (void)close(hi_recv); + nvl = nvlist_create(0); + nvlist_add_string(nvl, "key", "value"); + if (nvlist_send(hi_send, nvl) != 0) + err(EXIT_FAILURE, "nvlist_send"); + nvlist_destroy(nvl); + _exit(0); + } + + (void)close(hi_send); + nvl = nvlist_recv(hi_recv, 0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_error(nvl) == 0); + ATF_REQUIRE(nvlist_exists_string(nvl, "key")); + ATF_REQUIRE(strcmp(nvlist_get_string(nvl, "key"), "value") == 0); + nvlist_destroy(nvl); + + ATF_REQUIRE(waitpid(pid, &status, 0) == pid); + ATF_REQUIRE(status == 0); + (void)close(hi_recv); +} + ATF_TC_WITHOUT_HEAD(nvlist_send_recv__send_closed_fd__dgram); ATF_TC_BODY(nvlist_send_recv__send_closed_fd__dgram, tc) { @@ -734,6 +789,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist__dgram); ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist__stream); + ATF_TP_ADD_TC(tp, nvlist_send_recv__highfd); ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed_fd__dgram); ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed_fd__stream); ATF_TP_ADD_TC(tp, nvlist_send_recv__send_many_fds__dgram); From nobody Wed Apr 29 14:47:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5KsB1hHGz6bkMv for ; Wed, 29 Apr 2026 14:47: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 4g5Ks95dCnz4JGQ for ; Wed, 29 Apr 2026 14:47:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TxGknVMLF4l1tPRlOYHAycYyZwP7HFIKr8/p5KB+XBs=; b=aYHko35Fp+bLgx03lH8CSRpcL5jWgWGsgeobUs4hG5XgtzlPChWM3sgCFoeZ2waAZNB2QH dPrxUflfMKchg/1z58kHBhkmG0ZIBBybsDun7utr2N9qX40c7PfhVQktEHwGb75joMlUb4 spnm/xDbQ61anXSgHDm1ys2DolcQ3FUplBt9DEMq3zJ56FzJVkyCwasRlGTpJYrrTQjLtu dqvMLw6PpwY/inrdvKt4BTHI0ckAWtaXgYpIqXhycWp73Ck2rX6adTwiHrhEcV+FtnCbz+ HSdNBmU5Uex0B4mB1FmpoA7IjSXUiRAO55OIgzPz9v7wpCvD9fRH3jLF44LT+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474045; a=rsa-sha256; cv=none; b=CTJ54hqbcEZAnot8VcyczEGCLQLuC6UdXZ9dvgc8a8eiSRcGUTUVWGLRTkEMHTBlhrEkzl 6OnOZG+H7xiujS4ysbqQlcObzYxNLMgAASnW7Bv4kH47jV/EKCyPV7RI0X27oc4D89ETg0 BeWpv8lSixbb8vNm3CiT9B6Pm3vCNseQNz2roAuRxFH70Dw+EZStBDQIQWXZbxH7w3pC1a XFgtf+/EMxRinWlbJdBsCiAmR3/7CxY49X8i8asaqkcHf7mrK3zmmxNs1vYOvnqNGY5rPI 1th5qjiPhJA8HvhZBfR5YU5BISA6ACH4UX8fZHJfbRqHoOWT4gPsuQzaQmSSKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TxGknVMLF4l1tPRlOYHAycYyZwP7HFIKr8/p5KB+XBs=; b=WoqCgprVoo7mkh/gBonM5ajZFEX6YY/iV14VWrWIx7FlZPKIlpq+VOBtmz4uxIIDpETlpc z/JHIo/QQJq53XNZqosCO0RRe0+Cs76BptTf+RJtWOf0rB23TX+3wGiW7jZty0vObFv+aK G/9js/jV6k2PagNf3Uobv6TEjEt0r1LeRY/4aDTeQO8CNjqL38OjJYdqPM4pXAQMHkYFrL OZJ0haAjkQq4J5dxbnV8uaepL09P41gN6IhSr7XHNep013qza3C9N0lChhqL5m3CdN+OTb tIDQqHovgLlc6fJqFnj/lq/cJ9Tb5JHkJmoB6AgJs0JEtBM7plYY91xJ8dNZEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Ks94xTWzlKY for ; Wed, 29 Apr 2026 14:47:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b8c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:47:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Mariusz Zaborski From: Mark Johnston Subject: git: e2219bbd634f - main - libnv: fix heap overflow in nvlist_recv() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2219bbd634f673f774ddf118dfe19e531e08a45 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:47:25 +0000 Message-Id: <69f219fd.3b8c3.e812904@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e2219bbd634f673f774ddf118dfe19e531e08a45 commit e2219bbd634f673f774ddf118dfe19e531e08a45 Author: Mariusz Zaborski AuthorDate: 2026-04-28 14:36:09 +0000 Commit: Mark Johnston CommitDate: 2026-04-29 14:39:28 +0000 libnv: fix heap overflow in nvlist_recv() nvlist_check_header() validated nvlh_size for overflow before performing conversion. An mallicous user can set NV_FLAG_BIG_ENDIAN in the header and craft nvlh_size so that the orginall value passes the check, but after the conversion the sizeof(nvlist_header) + size can overflow. This can lead to a heap buffer overflow. Approved by: so Security: FreeBSD-SA-26:17.libnv Security: CVE-2026-35547 Fixes: 36fa90dbde0060aacb5677d0b113ee168e839071 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56342 --- lib/libnv/tests/nvlist_send_recv_test.c | 57 +++++++++++++++++++++++++++++++++ sys/contrib/libnv/nvlist.c | 9 +++--- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/lib/libnv/tests/nvlist_send_recv_test.c b/lib/libnv/tests/nvlist_send_recv_test.c index d655a26a7362..306c91560400 100644 --- a/lib/libnv/tests/nvlist_send_recv_test.c +++ b/lib/libnv/tests/nvlist_send_recv_test.c @@ -1,5 +1,8 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (c) 2013 The FreeBSD Foundation + * Copyright (c) 2024-2026 Mariusz Zaborski * * This software was developed by Pawel Jakub Dawidek under sponsorship from * the FreeBSD Foundation. @@ -661,6 +664,58 @@ ATF_TC_BODY(nvlist_send_recv__overflow_header_size, tc) } } +ATF_TC_WITHOUT_HEAD(nvlist_send_recv__overflow_big_endian_size); +ATF_TC_BODY(nvlist_send_recv__overflow_big_endian_size, tc) +{ + static const unsigned char payload[] = { + 0x6c, /* magic */ + 0x00, /* version */ + 0x80, /* flags: NV_FLAG_BIG_ENDIAN */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, + }; + nvlist_t *nvl; + int sv[2]; + + ATF_REQUIRE_EQ(socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); + ATF_REQUIRE_EQ(write(sv[1], payload, sizeof(payload)), + (ssize_t)sizeof(payload)); + ATF_REQUIRE_EQ(close(sv[1]), 0); + + errno = 0; + nvl = nvlist_recv(sv[0], 0); + ATF_REQUIRE(nvl == NULL); + ATF_REQUIRE_EQ(errno, EINVAL); + + ATF_REQUIRE_EQ(close(sv[0]), 0); +} + +ATF_TC_WITHOUT_HEAD(nvlist_send_recv__overflow_little_endian_size); +ATF_TC_BODY(nvlist_send_recv__overflow_little_endian_size, tc) +{ + static const unsigned char payload[] = { + 0x6c, /* magic */ + 0x00, /* version */ + 0x00, /* flags */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + }; + nvlist_t *nvl; + int sv[2]; + + ATF_REQUIRE_EQ(socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0); + ATF_REQUIRE_EQ(write(sv[1], payload, sizeof(payload)), + (ssize_t)sizeof(payload)); + ATF_REQUIRE_EQ(close(sv[1]), 0); + + errno = 0; + nvl = nvlist_recv(sv[0], 0); + ATF_REQUIRE(nvl == NULL); + ATF_REQUIRE_EQ(errno, EINVAL); + + ATF_REQUIRE_EQ(close(sv[0]), 0); +} + ATF_TC_WITHOUT_HEAD(nvlist_send_recv__invalid_fd_size); ATF_TC_BODY(nvlist_send_recv__invalid_fd_size, tc) { @@ -796,6 +851,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, nvlist_send_recv__send_many_fds__stream); ATF_TP_ADD_TC(tp, nvlist_send_recv__overflow_header_size); + ATF_TP_ADD_TC(tp, nvlist_send_recv__overflow_big_endian_size); + ATF_TP_ADD_TC(tp, nvlist_send_recv__overflow_little_endian_size); ATF_TP_ADD_TC(tp, nvlist_send_recv__invalid_fd_size); ATF_TP_ADD_TC(tp, nvlist_send_recv__overflow_fd_size); diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index 73226ee51a78..11d9c9b49c94 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1027,10 +1027,6 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { - ERRNO_SET(EINVAL); - return (false); - } if (nvlhdrp->nvlh_magic != NVLIST_HEADER_MAGIC) { ERRNO_SET(EINVAL); return (false); @@ -1050,6 +1046,11 @@ nvlist_check_header(struct nvlist_header *nvlhdrp) nvlhdrp->nvlh_descriptors = be64toh(nvlhdrp->nvlh_descriptors); } #endif + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { + ERRNO_SET(EINVAL); + return (false); + } + return (true); } From nobody Wed Apr 29 14:58:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5L620x3sz6blkj for ; Wed, 29 Apr 2026 14:58: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 4g5L605FzJz3FXp for ; Wed, 29 Apr 2026 14:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D5Rjm5MwABjytM2MfrJ5bhpUFAVMnDTNTlrv8Yzo2tQ=; b=nUfQPZLy3VvGdyUXrua4fzaADSw949CkAeXjS7EID9svU1kRzDJ/K94fr2KgTqi5WcSbgJ UfpeGnluaOJPpOAAQf0N8gz67Ak9eoLmlV+0XIXYKt62mastTFlJpdMQj+GSBSARWUpY9b 2ryaiTnMeNOjT4W4mF7PVtZRyG+53556mCoREYGs91fKIuPfwZwebuI2tJ9jaU4WXigptn 3Dzv+LoBZQMAlIi83h7aebO+yhsuLxdJLBCHqRlZEh80/wRMK1rJMTVNCUpyzyQOfhWTaG NFCRCF/4xmLAZy5nKfBwZp4CyhHxgnOXDO+oygp2ghFn1j016nb3RQoDO11D7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777474712; a=rsa-sha256; cv=none; b=ZmID4ZmNTH59Luhhjx3OJft33s8WV/pmHtrcHEXFAUZnXLUwMwqR792tTuhfz7hOdXuKKK za3eKbs8i39DRFKq3a/xMIymgAj/Rc7HCESgfWgnluoTu/qzl99mvC7wwZ+pGlQe/Z03KO E/pYg5BpHAYS5oVA4m4UGXIEY47GVBXbFPAvwdDa+Wt+NS5PUqUKcXBJNDrGs18iGmfDUx 9IFnZFyPL/jqUKnmPrfQINOrSXk17IMlxfwDmWQcubG+dsfpFRdGsG3aJdiZT4hlCH5hEN piw8gtfmEzFjBUzNI6KPct5eObDYzmh1BeGBQ9PbU1fBqcTMSNsd1VtJ7730Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777474712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D5Rjm5MwABjytM2MfrJ5bhpUFAVMnDTNTlrv8Yzo2tQ=; b=TXzwaqRiHZwE/a9pMyo8Ljqfug0/dOGhzc+ziC8celOqleLjf0z+ydjQX/9A7ku1e8xaFm F6vEcMgEIAJ5Rrp2jVN2BVXCTtHgB1jt/SS5esW90Ht3qOK+3Y9voBVJvwgS5aFHfFaICh r9aXDsX4ltp7il7pD1Uwk5Q/4oKKFre3f1sPQgZJF12oJsUvaOvCtKsvX916mQ8+Fugaqf kyDvg/+5OgWm9TcYJQONH3ScR+dYogU6Xnmzlpi56kt1BQJxcg2NF0VxEOOtahDJjH+wsK AmLwX/DH+OqCj+lkXXH2vYmO+COcUVuFZzKDUuPqv/uhXguAeKd8KtxdfSd2fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5L601nSfzlcr for ; Wed, 29 Apr 2026 14:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cc3a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 14:58:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 4c99836ac72a - main - kerneldoc: also ingest .md (markdown files) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4c99836ac72abb3ec64ee801ac5758ae70cf9a9b Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 14:58:32 +0000 Message-Id: <69f21c98.3cc3a.4a157c3b@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4c99836ac72abb3ec64ee801ac5758ae70cf9a9b commit 4c99836ac72abb3ec64ee801ac5758ae70cf9a9b Author: Adrian Chadd AuthorDate: 2026-04-29 14:58:19 +0000 Commit: Adrian Chadd CommitDate: 2026-04-29 14:58:19 +0000 kerneldoc: also ingest .md (markdown files) The doxygen tooling has supported ingesting markdown files for a number of years. Adding this option allows them to be ingested into the subsys builds. Reviewed by: netchild Differential Revision: https://reviews.freebsd.org/D56652 --- tools/kerneldoc/subsys/common-Doxyfile | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/kerneldoc/subsys/common-Doxyfile b/tools/kerneldoc/subsys/common-Doxyfile index 2df0506145fe..2775ef9f9cd4 100644 --- a/tools/kerneldoc/subsys/common-Doxyfile +++ b/tools/kerneldoc/subsys/common-Doxyfile @@ -104,6 +104,7 @@ FILE_PATTERNS = *.c \ *.inc \ *.m \ *.mm \ + *.md \ *.dox \ *.C \ *.CC \ From nobody Wed Apr 29 15:15:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5LTs1xjRz6bmYp for ; Wed, 29 Apr 2026 15:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5LTs1QC3z3W3S for ; Wed, 29 Apr 2026 15:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777475745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+BCICBN/5j7bFZfs1XVow/wJhwmZU+Sq7kSNX4I55A=; b=Dd9hoiSRVXoJJsHfZLYlMYOO5i81h7NyG03+DvVGBvJlgfhOMezbqqJKPLhpnrjO4fdmsN PUlgRkNgeGTneYkiuINbKekUY5FdkcnhmVUbGucJOt32fUBvqM+VM7HahMvcAVf7WdVKHv L7MdPtmWJdl8wjDGrb0FXcfzW8WukKgAX83lVd4c1sYlrySFniIXf0uzUwBCLoUM+aLzpR 5si0PJZBGXE02PwyjRnVRr6XjqiMzEm3REw7evvDdROumHkjmbn3W3OTmpQ7MsvKPc0OFq CtDawv1mMqb92oaXB1YWKiw+E1TPH6u0axdXhxHN4zskMn72c3BzBEOmbu6X3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777475745; a=rsa-sha256; cv=none; b=YDB1Phe1oGn2K3K16WvEt7oWR17Dr2ZveXizm+oDtSfKM55a4dQLMJ1nJleWDcJGGQnvQR FSitleH104TJ5oFcF2bOFfPW2cwcWDWLhJauT3vO+8yfSCae2hshkZqIgoM1k9jCQEpfSF qzVCkvp+wYH6vs0/Czm7KA3soEpUaZ7zMqLhU6ANYh6484MfiY0R3VpT8T9d6SMvoJ7DOG fdT6kyLW3zEuZcAAwWNa1iXPzHtGCdlriStRhn2vzyXvSH6zVn1Nx+7xwIceoZTc5Ygmp9 37j9YtsoHhFdIzA8kt/WlvAM9GCsSsiUKjURgnljijXiO0t0tOMTAuep/8n9lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777475745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+BCICBN/5j7bFZfs1XVow/wJhwmZU+Sq7kSNX4I55A=; b=r/j/dqNTRGn4L6u9epZCAFajh28aXzp+I9UTFIyo+SaQNuGbt9IaButk1IE+K/3zRbYX+j xON8+rEIt9VHnM2BZHhVfKuvHitzvVdvYcFX8PkSAAif0iAbq1/Q+Y5Zps9Jr1CZoDLQ7D HV1pUoNbPYuWJm5wHeVJR46ReXdxZ7+iJeXIXa2KspLOmX/oK6KDV1hzv0bqEz+z/5cNRQ lt1y+SFJxZ6gHyGly6lnTKpt9/xD+YkfyIu/ybDh6PlBuVgNaYz6mDbiqF2BUVWSdu4r8B dS9iSrr/4iQJONhJP8xsefExor99RN7ynK1xhv1b3RWxaYa5bcJ2VhWOq9gjpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5LTs11PDzlkm for ; Wed, 29 Apr 2026 15:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa11 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 15:15:45 +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: 67a63eae7b2d - main - bc: Fix tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 67a63eae7b2d10d29983c9698894f1bfff4ffc6e Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 15:15:45 +0000 Message-Id: <69f220a1.3fa11.638c57af@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=67a63eae7b2d10d29983c9698894f1bfff4ffc6e commit 67a63eae7b2d10d29983c9698894f1bfff4ffc6e Author: Dag-Erling Smørgrav AuthorDate: 2026-04-29 15:14:13 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-04-29 15:15:30 +0000 bc: Fix tests Stop generating test scripts at build time. The dc test script is broken and simply fixing the code that generates it won't help as there is no reliable way to ensure it gets regenerated if it already exists in the object tree. MFC after: 1 week Reviewed by: se Differential Revision: https://reviews.freebsd.org/D56511 --- tools/build/depend-cleanup.sh | 4 ++++ usr.bin/gh-bc/tests/Makefile | 10 ---------- usr.bin/gh-bc/tests/bc_tests.sh | 5 +++++ usr.bin/gh-bc/tests/dc_tests.sh | 5 +++++ 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 1c9b7ea8c3b3..b72dd3b60f05 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -317,6 +317,10 @@ check_epoch_and_opts # "$OBJTOP"/tests/sys/kqueue/libkqueue/* #fi +# 20260427 # bc / dc test scripts no longer generated +dir="${OBJTOP%/}"/usr.bin/gh-bc/tests +run rm -fv "${dir}"/bc_tests.sh "${dir}"/dc_tests.sh + # 20260426 # libpkgconf contains incorrect paths clean_obj lib/libpkgconf personality c pkgconfig:/share clean_obj lib/libpkgconf pkg c pkgconfig:/share diff --git a/usr.bin/gh-bc/tests/Makefile b/usr.bin/gh-bc/tests/Makefile index f2c92aecb0a5..6c3098350c58 100644 --- a/usr.bin/gh-bc/tests/Makefile +++ b/usr.bin/gh-bc/tests/Makefile @@ -55,14 +55,4 @@ FILESdc_scriptsMODE= 0755 PLAIN_TESTS_SH= bc_tests dc_tests -bc_tests.sh: - echo "#!/bin/sh" > ${.TARGET} - echo 'env LANG=C BC_TEST_OUTPUT_DIR=$$(pwd) \ - ${TESTSDIR}/tests/all.sh -n bc 1 1 0 0 bc' >> ${.TARGET} - -dc_tests.sh: - echo "#!/bin/sh" > ${.TARGET} - echo "env LANG=C BC_TEST_OUTPUT_DIR=\$pwd \ - ${TESTSDIR}/tests/all.sh -n dc 1 1 0 0 dc" >> ${.TARGET} - .include diff --git a/usr.bin/gh-bc/tests/bc_tests.sh b/usr.bin/gh-bc/tests/bc_tests.sh new file mode 100755 index 000000000000..76cfee05560f --- /dev/null +++ b/usr.bin/gh-bc/tests/bc_tests.sh @@ -0,0 +1,5 @@ +#!/bin/sh +unset LC_ALL LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME +export LANG=C +export BC_TEST_OUTPUT_DIR=${PWD} +exec "$(dirname "$(realpath "$0")")"/tests/all.sh -n bc 1 1 0 0 bc diff --git a/usr.bin/gh-bc/tests/dc_tests.sh b/usr.bin/gh-bc/tests/dc_tests.sh new file mode 100755 index 000000000000..6900ce9098d0 --- /dev/null +++ b/usr.bin/gh-bc/tests/dc_tests.sh @@ -0,0 +1,5 @@ +#!/bin/sh +unset LC_ALL LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME +export LANG=C +export BC_TEST_OUTPUT_DIR=${PWD} +exec "$(dirname "$(realpath "$0")")"/tests/all.sh -n dc 1 1 0 0 dc From nobody Wed Apr 29 16:19:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5MvV5h5Kz6btk3 for ; Wed, 29 Apr 2026 16:19: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 4g5MvV5PDMz3lW3 for ; Wed, 29 Apr 2026 16:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777479574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6SPOodW7TmTsC4uf1CpoemSuuBkgE8+r/5/0WQd9ck=; b=B86Hlxp2PqhmIF9hIL9zjCFHJQs/0JXhE8Iol55wcPRk79uju/tTKAr/Do/1RDa2P0frb3 8IpEfIXzDfHZaJlzhxd+fgTdC3j3A1Tt+VFnl9YfIkPmoPdXT7XDSDAIAZUoAFmpeCmgrQ 0LSMM3QHydHJgAZQT8iYWslEVroDiQzkD3D6KkiOWJfCQ1QQXa5HVQzfkNJkmItrRV2K8u BlqMpED6hvfxgeEs9Z0cdU8nDpmXaPuaxQ2f1OGd5JwiGcMDeSj9cvU3wJ2PYm//ZAZ+nh oJNXL6awVrY+8Snm+Hwqg5yS8pNAj5VblFUXisr3fddBDUfR3246wViIg3iROA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777479574; a=rsa-sha256; cv=none; b=i6V2D90/zhI8x97g3HqTYlEBS9MvKDA0XueQxMbAX9g/SGOhsE3OXCSSN6TTUQ/Gmrl86C kbLUeZAn+3EkCIG/g49wyE/7TvKOUt10dwWk8SVsavovF9dqnFfYLu3UBunMsBC1D200TA WW+etaJrbOqQKp59cyTCCHE38/g8ndaDqQWMnNBTxTNh79d6WWQhYHYQIKi2lRHINPaSQG ugB/hvdimxg2BCDz7i9MnPOhaoXv5s9S9Kz4S9AQJHGuHFv6IlBZz4/8t0R3MqTmuybfGf IBG/ldNUayLvzw8dbmQDVqok5x20JJDNPt4nC3ezXwq5fWrvdFpibooQmdvewA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777479574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6SPOodW7TmTsC4uf1CpoemSuuBkgE8+r/5/0WQd9ck=; b=vbr3t3W/msc2+g3A8Yp7vId05VxBS1rL+VVMZvYVU/Ok0BsvttjfMGb2YkH/qNrU9gk3Ov PQscobdnFAmCGq6D1u8BbMhjttvZrzysiH1mGNcyG4IneNE4TsMHWuf54NgcWsfPLpMCtJ Ws1qQwF+fg0PDiWXSw495+EgM2BIwJTPjKJv5geEWxWSQpOxHsyxgbWVv8oAToFDPAtLDo iJHSgJYo8oUfuxABjvmGn7xKZONwt+LcOGiDUB2YirFp/jOCUwItguA8Da7J8WRsyUczIS ElurX5g5VivwPAUWEzv6dHwIRnG3LuQpA6kaAacdGMw4q9IiqLCwik0va5JqNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5MvV4fM9znqF for ; Wed, 29 Apr 2026 16:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ed18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 16:19:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 9b8eb70ca974 - main - inpcb: improve some internal function names List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b8eb70ca974c2c700f228adaceb9a6b9e918d00 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 16:19:34 +0000 Message-Id: <69f22f96.1ed18.4502c77b@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=9b8eb70ca974c2c700f228adaceb9a6b9e918d00 commit 9b8eb70ca974c2c700f228adaceb9a6b9e918d00 Author: Gleb Smirnoff AuthorDate: 2026-04-29 16:19:03 +0000 Commit: Gleb Smirnoff CommitDate: 2026-04-29 16:19:03 +0000 inpcb: improve some internal function names The 'hash' subword doesn't bring any additional information. All inpcb lookup functions operate on hashes. For lookup functions that work on either exact hash or wild hash just perform s/hash_//. Rename in_pcblookup_hash() into in_pcblookup_with_lock(), emphasizing its difference to in_pcblookup_smr(). Rename in_pcblookup_hash_locked() to in_pcblookup_internal(), as it doesn't return a locked inpcb and is used only for internal purposes. Note that the IPv6 sibling of this function already lives by name in6_pcblookup_internal(). Some future changes will make such naming more justified. No functional change. Reviewed by: pouria, markj Differential Revision: https://reviews.freebsd.org/D56482 --- sys/netinet/in_pcb.c | 53 ++++++++++++++++++++++++++------------------------ sys/netinet6/in6_pcb.c | 46 +++++++++++++++++++++---------------------- sys/netinet6/in6_pcb.h | 2 +- 3 files changed, 51 insertions(+), 50 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 3bb742f11c87..2e1a00209cb4 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -134,10 +134,9 @@ VNET_DEFINE(int, ipport_reservedlow); VNET_DEFINE(int, ipport_randomized) = 1; #ifdef INET -static struct inpcb *in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, - struct in_addr faddr, u_int fport_arg, - struct in_addr laddr, u_int lport_arg, - int lookupflags, uint8_t numa_domain, int fib); +static struct inpcb *in_pcblookup_internal(struct inpcbinfo *pcbinfo, + struct in_addr faddr, u_int fport_arg, struct in_addr laddr, + u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib); #define RANGECHK(var, min, max) \ if ((var) < (min)) { (var) = (min); } \ @@ -809,14 +808,14 @@ in_pcb_lport_dest(const struct inpcb *inp, struct sockaddr *lsa, if (fsa != NULL) { #ifdef INET if (lsa->sa_family == AF_INET) { - tmpinp = in_pcblookup_hash_locked(pcbinfo, + tmpinp = in_pcblookup_internal(pcbinfo, faddr, fport, laddr, lport, lookupflags, M_NODOM, RT_ALL_FIBS); } #endif #ifdef INET6 if (lsa->sa_family == AF_INET6) { - tmpinp = in6_pcblookup_hash_locked(pcbinfo, + tmpinp = in6_pcblookup_internal(pcbinfo, faddr6, fport, laddr6, lport, lookupflags, M_NODOM, RT_ALL_FIBS); } @@ -1171,7 +1170,7 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) INP_HASH_WUNLOCK(inp->inp_pcbinfo); return (error); } - } else if (in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, + } else if (in_pcblookup_internal(inp->inp_pcbinfo, faddr, sin->sin_port, laddr, inp->inp_lport, 0, M_NODOM, RT_ALL_FIBS) != NULL) { INP_HASH_WUNLOCK(inp->inp_pcbinfo); @@ -2242,7 +2241,7 @@ in_pcblookup_exact_match(const struct inpcb *inp, struct in_addr faddr, } static struct inpcb * -in_pcblookup_hash_exact(struct inpcbinfo *pcbinfo, struct in_addr faddr, +in_pcblookup_exact(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_short fport, struct in_addr laddr, u_short lport) { struct inpcbhead *head; @@ -2288,7 +2287,7 @@ in_pcblookup_wild_match(const struct inpcb *inp, struct in_addr laddr, #define INP_LOOKUP_AGAIN ((struct inpcb *)(uintptr_t)-1) static struct inpcb * -in_pcblookup_hash_wild_smr(struct inpcbinfo *pcbinfo, struct in_addr laddr, +in_pcblookup_wild_smr(struct inpcbinfo *pcbinfo, struct in_addr laddr, u_short lport, int fib, const inp_lookup_t lockflags) { struct inpcbhead *head; @@ -2325,7 +2324,7 @@ in_pcblookup_hash_wild_smr(struct inpcbinfo *pcbinfo, struct in_addr laddr, } static struct inpcb * -in_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, struct in_addr laddr, +in_pcblookup_wild_locked(struct inpcbinfo *pcbinfo, struct in_addr laddr, u_short lport, int fib) { struct inpcbhead *head; @@ -2404,7 +2403,7 @@ in_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, struct in_addr laddr, * out incoming packets. */ static struct inpcb * -in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, +in_pcblookup_internal(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport_arg, struct in_addr laddr, u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib) { @@ -2419,7 +2418,7 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, ("%s: invalid local address", __func__)); INP_HASH_WLOCK_ASSERT(pcbinfo); - inp = in_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + inp = in_pcblookup_exact(pcbinfo, faddr, fport, laddr, lport); if (inp != NULL) return (inp); @@ -2427,7 +2426,7 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, inp = in_pcblookup_lbgroup(pcbinfo, &faddr, fport, &laddr, lport, numa_domain, fib); if (inp == NULL) { - inp = in_pcblookup_hash_wild_locked(pcbinfo, laddr, + inp = in_pcblookup_wild_locked(pcbinfo, laddr, lport, fib); } } @@ -2435,8 +2434,12 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, return (inp); } +/* + * Lookup inpcb using locks. Used by in_pcblookup_smr() in case inp_smr_lock() + * failed. + */ static struct inpcb * -in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, +in_pcblookup_with_lock(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, struct in_addr laddr, u_int lport, int lookupflags, uint8_t numa_domain, int fib) { @@ -2447,7 +2450,7 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, ("%s: LOCKPCB not set", __func__)); INP_HASH_WLOCK(pcbinfo); - inp = in_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, + inp = in_pcblookup_internal(pcbinfo, faddr, fport, laddr, lport, lookupflags & ~INPLOOKUP_LOCKMASK, numa_domain, fib); if (inp != NULL && !inp_trylock(inp, lockflags)) { in_pcbref(inp); @@ -2463,7 +2466,7 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, } static struct inpcb * -in_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, +in_pcblookup_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport_arg, struct in_addr laddr, u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib) { @@ -2477,7 +2480,7 @@ in_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, ("%s: LOCKPCB not set", __func__)); smr_enter(pcbinfo->ipi_smr); - inp = in_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + inp = in_pcblookup_exact(pcbinfo, faddr, fport, laddr, lport); if (inp != NULL) { if (__predict_true(inp_smr_lock(inp, lockflags))) { /* @@ -2494,8 +2497,8 @@ in_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, * We failed to lock the inpcb, or its connection state changed * out from under us. Fall back to a precise search. */ - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, numa_domain, fib)); + return (in_pcblookup_with_lock(pcbinfo, faddr, fport, laddr, + lport, lookupflags, numa_domain, fib)); } if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { @@ -2510,12 +2513,12 @@ in_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, } inp = INP_LOOKUP_AGAIN; } else { - inp = in_pcblookup_hash_wild_smr(pcbinfo, laddr, lport, + inp = in_pcblookup_wild_smr(pcbinfo, laddr, lport, fib, lockflags); } if (inp == INP_LOOKUP_AGAIN) { - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, - lport, lookupflags, numa_domain, fib)); + return (in_pcblookup_with_lock(pcbinfo, faddr, fport, + laddr, lport, lookupflags, numa_domain, fib)); } } @@ -2537,7 +2540,7 @@ in_pcblookup(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, int fib; fib = (lookupflags & INPLOOKUP_FIB) ? if_getfib(ifp) : RT_ALL_FIBS; - return (in_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + return (in_pcblookup_smr(pcbinfo, faddr, fport, laddr, lport, lookupflags, M_NODOM, fib)); } @@ -2550,7 +2553,7 @@ in_pcblookup_mbuf(struct inpcbinfo *pcbinfo, struct in_addr faddr, M_ASSERTPKTHDR(m); fib = (lookupflags & INPLOOKUP_FIB) ? M_GETFIB(m) : RT_ALL_FIBS; - return (in_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + return (in_pcblookup_smr(pcbinfo, faddr, fport, laddr, lport, lookupflags, m->m_pkthdr.numa_domain, fib)); } #endif /* INET */ @@ -2563,7 +2566,7 @@ in_pcbjailed(const struct inpcb *inp, unsigned int flag) /* * Insert the PCB into a hash chain using ordering rules which ensure that - * in_pcblookup_hash_wild_*() always encounter the highest-ranking PCB first. + * in_pcblookup_wild_*() always encounter the highest-ranking PCB first. * * Specifically, keep jailed PCBs in front of non-jailed PCBs, and keep PCBs * with exact local addresses ahead of wildcard PCBs. Unbound v4-mapped v6 PCBs diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index bbb7414a206d..8132899bb0d9 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -485,8 +485,8 @@ in6_pcbconnect(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred, return (error); } - if (in6_pcblookup_hash_locked(pcbinfo, &sin6->sin6_addr, - sin6->sin6_port, IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr) ? + if (in6_pcblookup_internal(pcbinfo, &sin6->sin6_addr, sin6->sin6_port, + IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr) ? &laddr6.sin6_addr : &inp->in6p_laddr, inp->inp_lport, 0, M_NODOM, RT_ALL_FIBS) != NULL) { INP_HASH_WUNLOCK(pcbinfo); @@ -992,9 +992,8 @@ in6_pcblookup_exact_match(const struct inpcb *inp, const struct in6_addr *faddr, } static struct inpcb * -in6_pcblookup_hash_exact(struct inpcbinfo *pcbinfo, - const struct in6_addr *faddr, u_short fport, - const struct in6_addr *laddr, u_short lport) +in6_pcblookup_exact(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, + u_short fport, const struct in6_addr *laddr, u_short lport) { struct inpcbhead *head; struct inpcb *inp; @@ -1041,7 +1040,7 @@ in6_pcblookup_wild_match(const struct inpcb *inp, const struct in6_addr *laddr, #define INP_LOOKUP_AGAIN ((struct inpcb *)(uintptr_t)-1) static struct inpcb * -in6_pcblookup_hash_wild_smr(struct inpcbinfo *pcbinfo, +in6_pcblookup_wild_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *laddr, u_short lport, int fib, const inp_lookup_t lockflags) { @@ -1080,7 +1079,7 @@ in6_pcblookup_hash_wild_smr(struct inpcbinfo *pcbinfo, } static struct inpcb * -in6_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, +in6_pcblookup_wild_locked(struct inpcbinfo *pcbinfo, const struct in6_addr *laddr, u_short lport, int fib) { struct inpcbhead *head; @@ -1139,9 +1138,8 @@ in6_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, } struct inpcb * -in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, - const struct in6_addr *faddr, u_int fport_arg, - const struct in6_addr *laddr, u_int lport_arg, +in6_pcblookup_internal(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, + u_int fport_arg, const struct in6_addr *laddr, u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib) { struct inpcb *inp; @@ -1155,7 +1153,7 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, ("%s: invalid local address", __func__)); INP_HASH_LOCK_ASSERT(pcbinfo); - inp = in6_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + inp = in6_pcblookup_exact(pcbinfo, faddr, fport, laddr, lport); if (inp != NULL) return (inp); @@ -1163,15 +1161,15 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, inp = in6_pcblookup_lbgroup(pcbinfo, faddr, fport, laddr, lport, numa_domain, fib); if (inp == NULL) { - inp = in6_pcblookup_hash_wild_locked(pcbinfo, - laddr, lport, fib); + inp = in6_pcblookup_wild_locked(pcbinfo, laddr, lport, + fib); } } return (inp); } static struct inpcb * -in6_pcblookup_hash(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, +in6_pcblookup_with_lock(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, u_int fport, const struct in6_addr *laddr, u_int lport, int lookupflags, uint8_t numa_domain, int fib) { @@ -1182,7 +1180,7 @@ in6_pcblookup_hash(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, ("%s: LOCKPCB not set", __func__)); INP_HASH_WLOCK(pcbinfo); - inp = in6_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, + inp = in6_pcblookup_internal(pcbinfo, faddr, fport, laddr, lport, lookupflags & ~INPLOOKUP_LOCKMASK, numa_domain, fib); if (inp != NULL && !inp_trylock(inp, lockflags)) { in_pcbref(inp); @@ -1198,7 +1196,7 @@ in6_pcblookup_hash(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, } static struct inpcb * -in6_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, +in6_pcblookup_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, u_int fport_arg, const struct in6_addr *laddr, u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib) { @@ -1212,7 +1210,7 @@ in6_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, ("%s: LOCKPCB not set", __func__)); smr_enter(pcbinfo->ipi_smr); - inp = in6_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + inp = in6_pcblookup_exact(pcbinfo, faddr, fport, laddr, lport); if (inp != NULL) { if (__predict_true(inp_smr_lock(inp, lockflags))) { if (__predict_true(in6_pcblookup_exact_match(inp, @@ -1224,8 +1222,8 @@ in6_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, * We failed to lock the inpcb, or its connection state changed * out from under us. Fall back to a precise search. */ - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, numa_domain, fib)); + return (in6_pcblookup_with_lock(pcbinfo, faddr, fport, laddr, + lport, lookupflags, numa_domain, fib)); } if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { @@ -1240,12 +1238,12 @@ in6_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, } inp = INP_LOOKUP_AGAIN; } else { - inp = in6_pcblookup_hash_wild_smr(pcbinfo, laddr, lport, + inp = in6_pcblookup_wild_smr(pcbinfo, laddr, lport, fib, lockflags); } if (inp == INP_LOOKUP_AGAIN) { - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, - lport, lookupflags, numa_domain, fib)); + return (in6_pcblookup_with_lock(pcbinfo, faddr, fport, + laddr, lport, lookupflags, numa_domain, fib)); } } @@ -1267,7 +1265,7 @@ in6_pcblookup(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, int fib; fib = (lookupflags & INPLOOKUP_FIB) ? if_getfib(ifp) : RT_ALL_FIBS; - return (in6_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + return (in6_pcblookup_smr(pcbinfo, faddr, fport, laddr, lport, lookupflags, M_NODOM, fib)); } @@ -1280,7 +1278,7 @@ in6_pcblookup_mbuf(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, M_ASSERTPKTHDR(m); fib = (lookupflags & INPLOOKUP_FIB) ? M_GETFIB(m) : RT_ALL_FIBS; - return (in6_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + return (in6_pcblookup_smr(pcbinfo, faddr, fport, laddr, lport, lookupflags, m->m_pkthdr.numa_domain, fib)); } diff --git a/sys/netinet6/in6_pcb.h b/sys/netinet6/in6_pcb.h index da29b1d2e065..aafc1cda8ca6 100644 --- a/sys/netinet6/in6_pcb.h +++ b/sys/netinet6/in6_pcb.h @@ -76,7 +76,7 @@ int in6_pcbconnect(struct inpcb *, struct sockaddr_in6 *, struct ucred *, void in6_pcbdisconnect(struct inpcb *); struct inpcb *in6_pcblookup_local(struct inpcbinfo *, const struct in6_addr *, u_short, int, int, struct ucred *); -struct inpcb *in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, +struct inpcb *in6_pcblookup_internal(struct inpcbinfo *pcbinfo, const struct in6_addr *faddr, u_int fport_arg, const struct in6_addr *laddr, u_int lport_arg, int lookupflags, uint8_t numa_domain, int fib); From nobody Wed Apr 29 16:19:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5MvX0sHNz6btYR for ; Wed, 29 Apr 2026 16:19: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 4g5MvW5jYqz3lNK for ; Wed, 29 Apr 2026 16:19:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777479575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8eTr19qbfK7KYomGyA3IX0ZjlLfOzlHunDIr3XS4tA=; b=gwBNJQRU1adEoznFsZr9ifkcb385mVyBX+oYWgtHRSZuCCjLH85JUwOzTPDfb/dkyYvrxU m1VCpEcqJwwbZ8M/6GmC8UTdwkjZA76BkcrHs/ZfN9qyJirX4qcIOiWx5ajYacKo5BJNO3 ab+XC11eO4wckMLogd27/OmnUxHpfVkXbNDR7GhxeEUzZGGp+lVLiHEJ/ZvaFYwspjpetB 1qeQ3SdfBlaMsk+a1Ph5pc9ckYJvrpB28YtSAHz2SzHhViGlCPNda9RKWy2YwUej6VCqp4 JFDyJ1aK25yW/WqKhqMCrjfTkOR8q4HBREdjLQJ/jwnyQNVPkYnr20/o+ugbfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777479575; a=rsa-sha256; cv=none; b=RxJGm7ZW91DxNWungxLBOuncKkZuh4Kpz/F8gDsbexFYDDnher7iRRBSRhfBHkPkcy7t2k ndMRGnK2nEvBe+LNvf4lJ7gH70gIykpzh+PRQ52oYjAFA+Obu4RfIkmcET7nkVkbkFLSQf sdXETTzxsvG8ZbtNmfUJ5KeROQTzmiRkX9/K+Rm1OCF8NpH3F3dI+pCFwVqw4ASZyp5wTS TBI6jJzqs3lXZVlzk7lBOsCe3QFDm9xytvmzBMeuBdxOYJX3eaPCT15l7Tk9mWupXc5f2z Z6DBu1HN2NqY5bB/2z0Rn30uUyqEopd+7IWhG+P/Ywz14jdY1DmtygZ6xImiew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777479575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8eTr19qbfK7KYomGyA3IX0ZjlLfOzlHunDIr3XS4tA=; b=cnn0CUkUh5bWJrz5r/IA+JjViXlU2KjMcOEyM1KQ9S86XxBbBYTl6snnewDRr8PEqZrbkO BwFmLuT/4IIUcd38K6swKnEZIrKyHgcxtI1yC2e7Retnn8pLYiBGKBeKqmDoJMlIb1fTiP k2eEot/RNZtyucmG+OM8VJ4mI/XnxN4BfQPAf8TWO2dmni1pvkFFsyjBvs2MCJXzmny8zE Hw6I24Vva3gjOb3yCQs+PeEkB0uxyQzmuxnT4eER9JxN5QuO2ryValP5QJPnFUnYT9moeU UirnW43n+Ploz+DLqu4zoHN9TFMtRun4lvMMKAt6v4AR33ky46QccLSUYu35fQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5MvW52bPznx0 for ; Wed, 29 Apr 2026 16:19:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f0b5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 16:19:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 6883b120c537 - main - inpcb: allow to specify different sizes for port and load balance hashes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6883b120c53735ff1681ef96d257f376731f56b3 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 16:19:35 +0000 Message-Id: <69f22f97.1f0b5.133b0f3b@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6883b120c53735ff1681ef96d257f376731f56b3 commit 6883b120c53735ff1681ef96d257f376731f56b3 Author: Gleb Smirnoff AuthorDate: 2026-04-29 16:19:14 +0000 Commit: Gleb Smirnoff CommitDate: 2026-04-29 16:19:14 +0000 inpcb: allow to specify different sizes for port and load balance hashes Understand zero size as instruction to not allocate the hash. Do not allocate both hashes for rawip(4). There are no functional changes to TCP or UDP. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56705 --- sys/netinet/in_pcb.c | 37 +++++++++++++++++++++++++------------ sys/netinet/in_pcb.h | 5 +++-- sys/netinet/raw_ip.c | 2 +- sys/netinet/tcp_subr.c | 2 +- sys/netinet/udp_usrreq.c | 5 +++-- 5 files changed, 33 insertions(+), 18 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 2e1a00209cb4..66d2c610139f 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -302,7 +302,7 @@ in_pcblbgroup_find(struct inpcb *inp) INP_HASH_LOCK_ASSERT(pcbinfo); hdr = &pcbinfo->ipi_lbgrouphashbase[ - INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)]; + INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_lbgrouphashmask)]; CK_LIST_FOREACH(grp, hdr, il_list) { struct inpcb *inp1; @@ -410,7 +410,7 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) } #endif - idx = INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask); + idx = INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_lbgrouphashmask); hdr = &pcbinfo->ipi_lbgrouphashbase[idx]; CK_LIST_FOREACH(grp, hdr, il_list) { if (grp->il_cred->cr_prison == inp->inp_cred->cr_prison && @@ -471,7 +471,7 @@ in_pcbremlbgrouphash(struct inpcb *inp) INP_HASH_WLOCK_ASSERT(pcbinfo); hdr = &pcbinfo->ipi_lbgrouphashbase[ - INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)]; + INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_lbgrouphashmask)]; CK_LIST_FOREACH(grp, hdr, il_list) { for (i = 0; i < grp->il_inpcnt; ++i) { if (grp->il_inp[i] != inp) @@ -547,7 +547,7 @@ in_pcblbgroup_numa(struct inpcb *inp, int arg) */ void in_pcbinfo_init(struct inpcbinfo *pcbinfo, struct inpcbstorage *pcbstor, - u_int hash_nelements, u_int porthash_nelements) + u_int hash_nelements, u_int porthash_nelements, u_int lbgrouphash_nelements) { struct hashalloc_args ha = { .mtype = M_PCB, @@ -565,10 +565,18 @@ in_pcbinfo_init(struct inpcbinfo *pcbinfo, struct inpcbstorage *pcbstor, pcbinfo->ipi_hash_wild = hashalloc(&ha); pcbinfo->ipi_hashmask = ha.size - 1; - ha.size = imin(porthash_nelements, IPPORT_MAX + 1); - pcbinfo->ipi_porthashbase = hashalloc(&ha); - pcbinfo->ipi_lbgrouphashbase = hashalloc(&ha); - pcbinfo->ipi_porthashmask = ha.size - 1; + if (porthash_nelements > 0) { + ha.size = imin(porthash_nelements, IPPORT_MAX + 1); + pcbinfo->ipi_porthashbase = hashalloc(&ha); + pcbinfo->ipi_porthashmask = ha.size - 1; + } else + pcbinfo->ipi_porthashbase = NULL; + if (lbgrouphash_nelements > 0) { + ha.size = imin(lbgrouphash_nelements, IPPORT_MAX + 1); + pcbinfo->ipi_lbgrouphashbase = hashalloc(&ha); + pcbinfo->ipi_lbgrouphashmask = ha.size - 1; + } else + pcbinfo->ipi_lbgrouphashbase = NULL; pcbinfo->ipi_zone = pcbstor->ips_zone; pcbinfo->ipi_smr = uma_zone_get_smr(pcbinfo->ipi_zone); @@ -591,9 +599,14 @@ in_pcbinfo_destroy(struct inpcbinfo *pcbinfo) ha.size = pcbinfo->ipi_hashmask + 1; hashfree(pcbinfo->ipi_hash_exact, &ha); hashfree(pcbinfo->ipi_hash_wild, &ha); - ha.size = pcbinfo->ipi_porthashmask + 1; - hashfree(pcbinfo->ipi_porthashbase, &ha); - hashfree(pcbinfo->ipi_lbgrouphashbase, &ha); + if (pcbinfo->ipi_porthashbase != NULL) { + ha.size = pcbinfo->ipi_porthashmask + 1; + hashfree(pcbinfo->ipi_porthashbase, &ha); + } + if (pcbinfo->ipi_lbgrouphashbase != NULL) { + ha.size = pcbinfo->ipi_lbgrouphashmask + 1; + hashfree(pcbinfo->ipi_lbgrouphashbase, &ha); + } mtx_destroy(&pcbinfo->ipi_hash_lock); } @@ -2154,7 +2167,7 @@ in_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, NET_EPOCH_ASSERT(); hdr = &pcbinfo->ipi_lbgrouphashbase[ - INP_PCBPORTHASH(lport, pcbinfo->ipi_porthashmask)]; + INP_PCBPORTHASH(lport, pcbinfo->ipi_lbgrouphashmask)]; /* * Search for an LB group match based on the following criteria: diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index fb52f59ff725..ea93780730de 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -463,7 +463,8 @@ struct inpcbinfo { struct inpcbhead *ipi_hash_exact; /* (r:e/w:h) */ struct inpcbhead *ipi_hash_wild; /* (r:e/w:h) */ u_long ipi_hashmask; /* (c) */ - u_long ipi_porthashmask; /* (h) */ + u_long ipi_porthashmask; /* (c) */ + u_long ipi_lbgrouphashmask; /* (c) */ /* * Global hash of inpcbs, hashed by only local port number. @@ -644,7 +645,7 @@ VNET_DECLARE(int, ipport_randomized); #define V_ipport_randomized VNET(ipport_randomized) void in_pcbinfo_init(struct inpcbinfo *, struct inpcbstorage *, - u_int, u_int); + u_int, u_int, u_int); void in_pcbinfo_destroy(struct inpcbinfo *); void in_pcbstorage_init(void *); void in_pcbstorage_destroy(void *); diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 6f2b4dd9cb05..48e20df3ef9a 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -147,7 +147,7 @@ static void rip_init(void *arg __unused) { #define INP_PCBHASH_RAW_SIZE 256 - in_pcbinfo_init(&V_ripcbinfo, &ripcbstor, INP_PCBHASH_RAW_SIZE, 1); + in_pcbinfo_init(&V_ripcbinfo, &ripcbstor, INP_PCBHASH_RAW_SIZE, 0, 0); } VNET_SYSINIT(rip_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, rip_init, NULL); diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 9844ba176237..2b7ac6c4701d 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1454,7 +1454,7 @@ tcp_vnet_init(void *arg __unused) __func__); #endif in_pcbinfo_init(&V_tcbinfo, &tcpcbstor, tcp_tcbhashsize, - tcp_tcbhashsize); + tcp_tcbhashsize, tcp_tcbhashsize); syncache_init(); tcp_hc_init(); diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 23b0ca684b09..22faf1cc1ec9 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -180,10 +180,11 @@ udp_vnet_init(void *arg __unused) * Once we can calculate the flowid that way and re-establish * a 4-tuple, flip this to 4-tuple. */ - in_pcbinfo_init(&V_udbinfo, &udpcbstor, UDBHASHSIZE, UDBHASHSIZE); + in_pcbinfo_init(&V_udbinfo, &udpcbstor, UDBHASHSIZE, UDBHASHSIZE, + UDBHASHSIZE); /* Additional pcbinfo for UDP-Lite */ in_pcbinfo_init(&V_ulitecbinfo, &udplitecbstor, UDBHASHSIZE, - UDBHASHSIZE); + UDBHASHSIZE, UDBHASHSIZE); } VNET_SYSINIT(udp_vnet_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, udp_vnet_init, NULL); From nobody Wed Apr 29 18:41:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5R3P5gPfz6ZvYq for ; Wed, 29 Apr 2026 18:41: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 4g5R3P08vDz49sD for ; Wed, 29 Apr 2026 18:41:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777488097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o3Q9OPOb7Km0rWYwMR8E2dBU62ly6mdSN+/g29sE3xo=; b=Sx/aePZ/unSY93wCgsD91T7y6yTFx6mY0HfgtRRsWZGrvoAVoik7PJ0rfC7HoiLEvRbV7Z 3bQmIq3jlQkOqMrDHBmhfNAdVStX4aIBLW3MaJNeCF8RJtufneN/d0s7hms7rH1/AdEDn1 Vhq6VxWCyBpvUOEUJ3HwDC1GJySVnTGDM1uoV/DzufK3RHDqHWhI3pcG//h9Dt9VN59xzL 7svUQpRIQT0Y8beSRtxd3BtNFeXzA1TOmCThNQ6VpHBA7OlaBB3I3yDVCoLbUoO0vr8fsJ ILTRsKy25fnCMZcEIBXv38+Pndkfl4fwzIvD+YsnaJYkYq3l/56N5vRpBcuE0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777488097; a=rsa-sha256; cv=none; b=juq2/1WoUhSO+SiODnmQT/YTK2DreCWHwTdfsK6o3SqDUWhkFU5/gHfy4KlZmQSr4RSbqF wQTGInwTf7UwkbfsF9IHmrp/uhhd+HNM7TnH6BqBV60P7PzpK+MmOg2jYuA3u/2oPhWMmK hb68cLrbGER5qqpZO/TsR3KppP4g3LSHlENHdwFO3STwbc3dpB0oT3Nt56IDGDewvy/z9f mFnVFgPB9aGQ2UVmrDcpplCRv4UAD080BhOApxD+YIxwXlAyvf2rYIOrDw5MG300+edxvq L+pS4jhH+pQaM7OB9DUErYPfiuu8GztgVWCfWM/LXyaFshd4FT3PmlffZc6SNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777488097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o3Q9OPOb7Km0rWYwMR8E2dBU62ly6mdSN+/g29sE3xo=; b=lxSpkfHXhF9Pu2u3rm6tw55xG/0TZpydT+X1GVj/cUru7+LKs55j/17nsd2JymkLBkud9Q C9C4HSVOtWQb1hg87nRN1EyWjvXuaOovFyuaK1f5UwbrI1hF+DHep5tX4MHkUbuSWIReBj rY61/C4nBD/r175/zFan66y0mYCPRhKYA3oS2HHPNXL85mUUgjJ504UpA0Va1T+AZZoP0l aJar4RA9Z5BP1CFyE7d+C7L6iFl3q8sbYdW2PoK6cOCgE3VvJ2K+8tVhS78cbnM20+zhIW ETeHNnT9aUXY0O0lds4cKKIPW/7V1cuyOS/v3iWanzlJ4kAmu5D/u0Tb9I296Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5R3N6qJ4zsP8 for ; Wed, 29 Apr 2026 18:41:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a65 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 18:41:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 70fde0ed6bbb - main - md5: Encode non-printable filenames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70fde0ed6bbbb1f84c440190ba1e5435f8c90e13 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 18:41:36 +0000 Message-Id: <69f250e0.37a65.1d7c90ca@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=70fde0ed6bbbb1f84c440190ba1e5435f8c90e13 commit 70fde0ed6bbbb1f84c440190ba1e5435f8c90e13 Author: Dag-Erling Smørgrav AuthorDate: 2026-04-29 18:41:05 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-04-29 18:41:05 +0000 md5: Encode non-printable filenames Encode filenames in the VIS_CSTYLE | VIS_OCTAL style regardless of output mode. When reading filenames from a checksum file, attempt to decode them, and use the decoded name unless the decoded name does not exist but the undecoded one does. This breaks compatibility with GNU coreutils, which unfortunately uses a non-reversible encoding when outputting filenames containing non-printable characters. While here, drop a sentence about preimage attacks against MD5 and SHA1 from the manual page, as I no longer trust it to be true. MFC after: 1 week Reviewed by: bcr, markj Differential Revision: https://reviews.freebsd.org/D56615 --- sbin/md5/md5.1 | 30 ++++++++++++++++++++++-------- sbin/md5/md5.c | 41 +++++++++++++++++++++++++++++++++++------ 2 files changed, 57 insertions(+), 14 deletions(-) diff --git a/sbin/md5/md5.1 b/sbin/md5/md5.1 index b530292c8269..82515dec6714 100644 --- a/sbin/md5/md5.1 +++ b/sbin/md5/md5.1 @@ -1,4 +1,4 @@ -.Dd March 12, 2024 +.Dd April 6, 2026 .Dt MD5 1 .Os .Sh NAME @@ -84,11 +84,18 @@ If no files are listed on the command line, or a file name is given as .Pa - , input is taken from stdin instead. .Pp +The utility's different modes have different output formats, but in +all cases, filenames containing unprintable characters are encoded as +described in +.Xr vis 3 +using the +.Dv VIS_CSTYLE \&| Dv VIS_OCTAL +style. +.Pp It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest. -The SHA-224 , SHA-256 , SHA-384 , SHA-512, RIPEMD-160, -and SKEIN +The SHA-224, SHA-256, SHA-384, SHA-512, RIPEMD-160, and SKEIN algorithms are intended for digital signature applications, where a large file must be .Dq compressed @@ -99,10 +106,6 @@ key under a public-key cryptosystem such as RSA. The MD5 and SHA-1 algorithms have been proven to be vulnerable to practical collision attacks and should not be relied upon to produce unique outputs, .Em nor should they be used as part of a cryptographic signature scheme. -As of 2017-03-02, there is no publicly known method to -.Em reverse -either algorithm, i.e., to find an input that produces a specific -output. .Pp SHA-512t256 is a version of SHA-512 truncated to only 256 bits. On 64-bit hardware, this algorithm is approximately 50% faster than SHA-256 but @@ -385,7 +388,8 @@ is printed instead of .Xr sha256 3 , .Xr sha384 3 , .Xr sha512 3 , -.Xr skein 3 +.Xr skein 3 , +.Xr vis 3 .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm @@ -411,6 +415,16 @@ Secure Hash Standard (SHS): .Pp The RIPEMD-160 page: .Pa https://homes.esat.kuleuven.be/~bosselae/ripemd160.html +.Sh CAVEATS +The encoding used for file names containing non-printable characters +is incompatible with that used by GNU coreutils. +The encoding used by GNU coreutils is non-reversible, in that certain +non-printable characters are encoded while others are simply omitted. +The encoding used by this utility, on the other hand, is fully +reversible. +.Pp +If interoperability with GNU coreutils is required, it is recommended +to ensure that all file names contain only printable characters. .Sh BUGS In bits mode, the original .Nm shasum diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index 10ffae53c775..04dd5fa23056 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -42,6 +42,7 @@ #include #include #include +#include #ifdef HAVE_CAPSICUM #include @@ -314,6 +315,7 @@ gnu_check(const char *checksumsfile) const char *digestname; size_t digestnamelen; size_t hashstrlen; + size_t filenamelen; struct stat st; if (strcmp(checksumsfile, "-") == 0) @@ -343,12 +345,14 @@ gnu_check(const char *checksumsfile) strncmp(hashstr - 4, ") = ", 4) == 0 && strspn(hashstr, "0123456789ABCDEFabcdef") == hashstrlen) { *(hashstr - 4) = '\0'; + filenamelen = hashstr - 4 - filename; } else if ((size_t)linelen >= hashstrlen + 3 && strspn(linebuf, "0123456789ABCDEFabcdef") == hashstrlen && linebuf[hashstrlen] == ' ') { linebuf[hashstrlen] = '\0'; hashstr = linebuf; filename = linebuf + hashstrlen + 1; + filenamelen = linelen - hashstrlen - 1; } else { if (wflag) { warnx("%s: %d: improperly formatted " @@ -365,17 +369,23 @@ gnu_check(const char *checksumsfile) if ((*filename == '*' || *filename == ' ' || *filename == 'U' || *filename == '^') && - lstat(filename, &st) != 0 && - lstat(filename + 1, &st) == 0) { - rec->filename = strdup(filename + 1); + lstat(filename, &st) != 0) { rec->input_mode = (enum input_mode)*filename; + filename++; + filenamelen--; } else { - rec->filename = strdup(filename); rec->input_mode = input_mode; } + rec->filename = malloc(filenamelen + 1); + if (rec->filename == NULL) + errx(1, "malloc failed"); + if (strnunvis(rec->filename, filenamelen + 1, filename) < 0 || + (lstat(rec->filename, &st) != 0 && lstat(filename, &st) == 0)) + memcpy(rec->filename, filename, filenamelen + 1); // XXX + rec->chksum = strdup(hashstr); - if (rec->chksum == NULL || rec->filename == NULL) + if (rec->chksum == NULL) errx(1, "malloc failed"); rec->next = NULL; *next = rec; @@ -386,6 +396,15 @@ gnu_check(const char *checksumsfile) fclose(inp); } +static int +safename(char *namebuf, size_t bufsize, const char *name) +{ + int vis_mode = VIS_NL | VIS_TAB | VIS_GLOB | VIS_SHELL; + int vis_style = VIS_CSTYLE | VIS_OCTAL; + + return (strnvis(namebuf, bufsize, name, vis_mode | vis_style)); +} + /* Main driver. Arguments (may be any combination): @@ -633,7 +652,13 @@ main(int argc, char *argv[]) } if (f == NULL) { if (errno != ENOENT || !(cflag && ignoreMissing)) { - warn("%s", filename); + char namebuf[MAXPATHLEN * 4]; + int serrno = errno; + + if (safename(namebuf, sizeof(namebuf), filename) < 0) + warnc(ENAMETOOLONG, NULL); + else + warnc(serrno, "%s", namebuf); failed = true; } continue; @@ -763,8 +788,12 @@ MDInput(const Algorithm_t *alg, FILE *f, char *buf, bool tee) static void MDOutput(const Algorithm_t *alg, char *p, const char *name) { + char namebuf[MAXPATHLEN * 4]; bool checkfailed = false; + if (safename(namebuf, sizeof(namebuf), name) < 0) + errc(1, ENAMETOOLONG, NULL); + name = namebuf; if (p == NULL) { warn("%s", name); failed = true; From nobody Wed Apr 29 18:59:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5RSP1GXQz6bhc2 for ; Wed, 29 Apr 2026 18:59: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 4g5RSN3rB3z3mxl for ; Wed, 29 Apr 2026 18:59:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777489188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2DbqByfCg6qK4sJYyNngRMEVu+bwD2UivMlHQ2+0Tg=; b=uve8nLchgwrSfqjCA20i41ckRvNQtc3EM877nrweVE5xdHcslepumXZ/Wn6lm/Igo3vMx9 C+UEJvfFXeHCEsUJLDn6CCQ1JzLHQakzOqwgywbnPLXVsZGtCiLdj+lcAfaoWx86ZBnBhf 6y5b9fynh/BapI+w0qjvwpWtlhzfcPB7hQwrkH96KHBoVS/+EOSWBTTVZ4Z2PxiP6P3Iqq cJhUiRPgmtRJPj+tC2qyqoGCRT7kBS9Y600lky2eB97hNoG5Ms/kSnhZSJyEnl8CkGnbYr tvllPTUVz2mL6JtpGAeh6Kr+IrGENPmWwSZ+8wkNRNw2jC13npGk55IsY/d/JQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777489188; a=rsa-sha256; cv=none; b=dIdAn2qT6MOtSRn1Y8Zm3A/dyPG+IvV5MMmUZuid5M78rgSH7BcZV35tKSV4E+JTADaF1r PlFuk96hSIUFDwX1H36090A18ner4DmkiJvhLA/o7LB90PLQaboG3l+UCxnUD9GsehDWj0 y721PqcMev3+RCL2q6eh3FE4Uh2fzHrVp9m4LNzO9mqvZqVkKACmYpJSCLle8r7r6fWlQR qk6Py9vzxZHoHWyNCtq107stLoEK5xRct+ukSq9F+Ty9I8vmLljhKWhVnnbA4rpDJQwj3E Qe2LNPWXmU3yc36+aQY/hGndGMfiAexXe96JDtvOP8y1F6gCxPYwXJ8gCAoriw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777489188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2DbqByfCg6qK4sJYyNngRMEVu+bwD2UivMlHQ2+0Tg=; b=ef7NsAaEXBELtnR67fqnmkcXcR7QNlNnjBQyiozpIGd8dz9mTJKRzS/up7AjZpDy+O591q xDGgD+ffvOpGK2wCDMpILpTlRoZy1HH27BfLampz1QQxuRqi6vFs+7aaXbyQiuz+dCr7U5 vdtuweWNer+E4pc2RLNhhl2PEq9P4LKjjZ9CAqA1bsLIFD4epylPyW5/Qv05UaKcDeYlWM /1SmE/k0qFA6/15aHWP6SQnT39H/UmVe9UameOf156o3aA2o77wcjzIZKwCPMa9ECWNxKt YCDNhzY1d7MuKf+yVSDG+OYP/i6XiJsYH31k9YA3eEHBn3eHZ9QlUKplr+5UKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5RSN3QD9zt6f for ; Wed, 29 Apr 2026 18:59:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38385 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 18:59:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: c5a92616c41f - main - if_gre(4): Fix gre_clone_dump_nl address dump List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5a92616c41f9132d585c533e66dee88e98c73f2 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 18:59:48 +0000 Message-Id: <69f25524.38385.c9f1cef@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=c5a92616c41f9132d585c533e66dee88e98c73f2 commit c5a92616c41f9132d585c533e66dee88e98c73f2 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-29 17:42:27 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-29 18:57:46 +0000 if_gre(4): Fix gre_clone_dump_nl address dump Fix stack overflow by passing in_aliasreq instead of ifr during netlink dump. Fixes: e1e18cc12e68 ("if_gre: Add netlink support with tests") --- sys/net/if_gre.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c index f8036bf4446d..563478eb67f8 100644 --- a/sys/net/if_gre.c +++ b/sys/net/if_gre.c @@ -297,7 +297,6 @@ gre_clone_dump_nl(struct ifnet *ifp, struct nl_writer *nw) { GRE_RLOCK_TRACKER; struct gre_softc *sc; - struct ifreq ifr; nlattr_add_u32(nw, IFLA_LINK, ifp->if_index); nlattr_add_string(nw, IFLA_IFNAME, ifp->if_xname); @@ -318,21 +317,23 @@ gre_clone_dump_nl(struct ifnet *ifp, struct nl_writer *nw) if (sc->gre_family == AF_INET) { #ifdef INET - if (in_gre_ioctl(sc, SIOCGIFPSRCADDR, (caddr_t)&ifr) == 0) - nlattr_add_in_addr(nw, IFLA_GRE_LOCAL, - (const struct in_addr *)&ifr.ifr_addr); - if (in_gre_ioctl(sc, SIOCGIFPDSTADDR, (caddr_t)&ifr) == 0) + struct in_aliasreq in; + if (in_gre_ioctl(sc, SIOCGIFPSRCADDR, (caddr_t)&in) == 0) nlattr_add_in_addr(nw, IFLA_GRE_LOCAL, - (const struct in_addr *)&ifr.ifr_dstaddr); + &in.ifra_addr.sin_addr); + if (in_gre_ioctl(sc, SIOCGIFPDSTADDR, (caddr_t)&in) == 0) + nlattr_add_in_addr(nw, IFLA_GRE_REMOTE, + &in.ifra_addr.sin_addr); #endif } else if (sc->gre_family == AF_INET6) { #ifdef INET6 - if (in6_gre_ioctl(sc, SIOCGIFPSRCADDR_IN6, (caddr_t)&ifr) == 0) - nlattr_add_in6_addr(nw, IFLA_GRE_LOCAL, - (const struct in6_addr *)&ifr.ifr_addr); - if (in6_gre_ioctl(sc, SIOCGIFPDSTADDR_IN6, (caddr_t)&ifr) == 0) + struct in6_aliasreq in6; + if (in6_gre_ioctl(sc, SIOCGIFPSRCADDR_IN6, (caddr_t)&in6) == 0) nlattr_add_in6_addr(nw, IFLA_GRE_LOCAL, - (const struct in6_addr *)&ifr.ifr_dstaddr); + &in6.ifra_addr.sin6_addr); + if (in6_gre_ioctl(sc, SIOCGIFPDSTADDR_IN6, (caddr_t)&in6) == 0) + nlattr_add_in6_addr(nw, IFLA_GRE_REMOTE, + &in6.ifra_addr.sin6_addr); #endif } From nobody Wed Apr 29 21:13:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5VQR0x3nz6bxmf for ; Wed, 29 Apr 2026 21:13:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5VQQ700Kz3cZZ for ; Wed, 29 Apr 2026 21:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777497199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjuZLlRgKG9m++K4OzuW3UI9UNPnxDb+3rwwTJHYOFo=; b=H0NtDi53ttmEC5lNIF+XT/cehI53e1dpW2xMTXTi2LknaGFCv8UbqAoog2rh85jP2yLraI CFImjyYRe9n79G77xPFA2obQL8F4Rb0slXhA2o1aneKOBeNH4YN0EBDC+VSSumz09LeAE1 +uYtRLpOfT21Op7FQC6QFUqk8djFK78E0B+LUEc7OFb3ce0oTkaXpFlxg9QmNrnQzA+N5H jvZg9S1Nb0w6B2j1X1KxyGSReTPPih2fobZE5DNU2rTgxt+4MM6aY99ZLqS487V4zfCSj3 45scKjOgU5nRiZmD/NduIpyQQvIsAQlZGtstoOCfn1enseLmy6YqqEUPU4FjCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777497199; a=rsa-sha256; cv=none; b=yEnT9DXlbbEkjxPrOYPZW1SeH5L9iQVJudH5LiNjPw7PP3bmtyCmzlT3xc4FtHdc+I88zP FHzTZQc4qCMM5Poci/JhxnXgt81+cQBKWaM2gitLHZb74uxz6bKm1jM9TwsmTGBkBB1z/p eaw7jNk8Ourvuc3ExInJW28sseMdpkFQZGaUJMkK5XxBe+Kg57fs9W4X8wcRlRvujMh1Qf 76MPHIDYwMYTqXXtASwSjX4wgfZ+ORgbD8/8FrWquIab4CqZc6QoHVjH8M/U+8HvfyLup/ ZEAtCXbdqUgzEaW7ueE64pKWUvfzisw/azkyqbZuDwuaQQx7KtAttPq3alin2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777497199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjuZLlRgKG9m++K4OzuW3UI9UNPnxDb+3rwwTJHYOFo=; b=I7C1LE4NCIYWtYb9REyWi0k4KDP+cWX5uvtF6MtWpeyknN5WeUjoA/XF8FRVyhn8c9yNOE X29IY8PQFMy6wfowBO9Edxx6E+hzs+dlnvBSyvB+eG4vZYqh5Nbbq4HZTPZfmhPO18Wo74 DDxhdmPTPZ1hKa+elcggkUzX2CEUbs5yKiBrqC4pm/K95fmaFBf2zXbgoTiSWPgJoTKMr1 pY88NCgJOOIkCv0NDBfcgMQsjmYxAHZtlbJ1t+CbvHXxu1JOYFIUU3Cg/WSJEffh53WVWz PCp18O8KVo7Ax5cYBTBZMues0okjZSHf36bG513WV1rTxZcwN0quFb5sDsKJtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5VQQ6bszzxVd for ; Wed, 29 Apr 2026 21:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 461d9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 21:13:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vincenzo Maffione Subject: git: 0216ea8598af - main - netmap: check for possible out-of-bound write with options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0216ea8598af7d4170a8660f48981fb12b7b1d67 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 21:13:18 +0000 Message-Id: <69f2746e.461d9.655a42e2@gitrepo.freebsd.org> The branch main has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=0216ea8598af7d4170a8660f48981fb12b7b1d67 commit 0216ea8598af7d4170a8660f48981fb12b7b1d67 Author: Vincenzo Maffione AuthorDate: 2026-04-29 20:59:17 +0000 Commit: Vincenzo Maffione CommitDate: 2026-04-29 21:13:09 +0000 netmap: check for possible out-of-bound write with options Submitted by: hari.thirusangu@sophos.com MFC after: 2 weeks --- sys/dev/netmap/netmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/netmap/netmap.c b/sys/dev/netmap/netmap.c index f531151fb656..6f79c2c45b39 100644 --- a/sys/dev/netmap/netmap.c +++ b/sys/dev/netmap/netmap.c @@ -3503,6 +3503,7 @@ nmreq_copyin(struct nmreq_header *hdr, int nr_body_is_user) /* check optsz and nro_size to avoid for possible integer overflows of rqsz */ if ((optsz > NETMAP_REQ_MAXSIZE) || (opt->nro_size > NETMAP_REQ_MAXSIZE) || (rqsz + optsz > NETMAP_REQ_MAXSIZE) + || (p - ker + optsz > bufsz) || (optsz > 0 && rqsz + optsz <= rqsz)) { error = EMSGSIZE; goto out_restore; From nobody Wed Apr 29 23:08:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Y092Qzgz6c8B8 for ; Wed, 29 Apr 2026 23:09:13 +0000 (UTC) (envelope-from gordon@tetlows.org) Received: from outbound.st.icloud.com (p-east2-cluster5-host4-snip4-10.eps.apple.com [57.103.79.63]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5Y085mWbz43RV for ; Wed, 29 Apr 2026 23:09:07 +0000 (UTC) (envelope-from gordon@tetlows.org) Authentication-Results: mx1.freebsd.org; none Received: from outbound.st.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-east-1a-60-percent-8 (Postfix) with ESMTPS id E1F0E18005D5; Wed, 29 Apr 2026 23:09:04 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgATUQeDx5WFlZNRAJCTQhLBUMFWQReD08dXgVLVxQEH1wfUwRcME0dRwFYHEFeVgpUTVEPDxdWClcCWStGFU0UXBpERV0CXlhBDgpfEhhcFFxQWB5GElYNXQkZGEZeUBtfAkIPHBNWFRMdQxkPKwhKBEMHRQJeCyUTCVNWRhVNFFwaREVdAl5YXgRTVg5EfE9yL3IpCl0IPXZbGl9xNH9VCisCUx8yfUpwXXJbcDYBOwQtQw5GHFYPQENYGVVOGQxKHVJWUQVKDFwAaA9dHVgRXQ== Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tetlows.org; s=sig1; t=1777504147; x=1780096147; bh=u6TxNcnoNRZ6Q3W94WYguAOYkNdfV2pxaCTCzrT3AZs=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:x-icloud-hme; b=dc1PDqCNey4gxRkve6OQ2YBxHWyvkgH6YHeCDqO82Du8DtpVMzvUuD5isSx2akQunephldmvcl6SndyHYr4yBe0yzzw3MOPMLy+pvKKvKlR1eje8/buAu18lNHkhb3V2Bpx2HVrPCwjk7K68hQcDRlFPzjvgT4x44/dig4rIz6LdWVH/bSjE7ByQpuLb7bMTShY52+NqxwYDRHorUzWv2lN1H6fFCYmtIP1oHEwWIlMwt8KNlWpA+M172Vu3LoIyhGXQTFaYcpMOYVLBlyV0tTO+TFVtZDzHFummUPVW9+mWBvfDcRbmhq/iYi9SaFQbPbq0DoCAz6Fd/7pmCuZY5w== mail-alias-created-date: 1644526483486 Received: from [10.0.91.201] (unknown [17.42.251.67]) by p00-icloudmta-asmtp-us-east-1a-60-percent-8 (Postfix) with ESMTPSA id B2BAD18001A8; Wed, 29 Apr 2026 23:09:03 +0000 (UTC) From: Gordon Tetlow To: Mark Johnston Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 5d8e32aad2a8 - main - dhclient: Fix reallocation of dhclient script environments [CORRECTION: CVE ID] Date: Wed, 29 Apr 2026 16:08:49 -0700 X-Mailer: MailMate (2.0r6290) Message-ID: <4E7ABEB8-1EE6-4CDF-9F58-BD2C0E0BF8C7@tetlows.org> In-Reply-To: <69f219fa.3c9fa.1698d8e9@gitrepo.freebsd.org> References: <69f219fa.3c9fa.1698d8e9@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_3CC71C42-3365-407B-A65D-9A50A317D68E_=" X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDIzMiBTYWx0ZWRfX339FFDG/9V+g moIIDc2YL2rz3eIuSNMkvPZxgBSASsjEyZLiAWfwTZmC46aZZ2KmMqmm45HU2ETH+OF0b5HTvul gvQq+llCAdARnH8wqbwDI0FR/z8oNQ1dlzRHhm4SZQn6kIp+YVGcCksOcsD1Nv0vDPncHoKvQVt p0svCp7hmKvbBW4Q49sjyPwRQrTUEf3CwBu3GeJbT/vFNg5z6cjqAG4/BrsbOEEGOqc/pXZ+k1F H6l0RHXoyoVaR1r/WMhCRQ+zu8ct6fS8kSkEWuzMjetq6vf/2861a8yVdYfb3pXngWc/0DZxwox 3QCxWpaq73v/Ll5NrlOiEV4BiCikx6MVK+6kew6VvpRii/vHLWNKCFrhJ8AXdE= X-Authority-Info-Out: v=2.4 cv=TdubdBQh c=1 sm=1 tr=0 ts=69f28f91 cx=c_apl:c_pps:t_out a=YrL12D//S6tul8v/L+6tKg==:117 a=YrL12D//S6tul8v/L+6tKg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=6I5d2MoRAAAA:8 a=HtMMSBS6AAAA:8 a=UghPakCpTqNVHR-CyBAA:9 a=0TvrncBlVATwO1KYlu8A:9 a=fh0FBR6ccRO4yDtf:21 a=_W_S_7VecoQA:10 a=lqcHg5cX4UMA:10 a=3ROuUYzoJtXnwiIsu5Kl:22 X-Proofpoint-ORIG-GUID: 0MjnBY9cumts_zNOjCk3f3fUpnOhlxeX X-Proofpoint-GUID: 0MjnBY9cumts_zNOjCk3f3fUpnOhlxeX X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:714, ipnet:57.103.76.0/22, country:US] X-Rspamd-Queue-Id: 4g5Y085mWbz43RV X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --=_MailMate_3CC71C42-3365-407B-A65D-9A50A317D68E_= Content-Type: text/plain; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable This commit as well as the corresponding stable and releng branch = commits were incorrectly tagged CVE-2026-42511 and should be = CVE-2026-42512. Apologies for the mix up there. Best regards, Gordon Hat: security-officer On 29 Apr 2026, at 7:47, Mark Johnston wrote: > The branch main has been updated by markj: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3D5d8e32aad2a8316b0aab8a93a677a= 63e4c3df422 > > commit 5d8e32aad2a8316b0aab8a93a677a63e4c3df422 > Author: Mark Johnston > AuthorDate: 2026-04-27 20:56:21 +0000 > Commit: Mark Johnston > CommitDate: 2026-04-29 14:39:27 +0000 > > dhclient: Fix reallocation of dhclient script environments > > When the number of DHCP options exceeds a threshold, = > script_set_env() > will reallocate the environment, stored as an array of pointers. = > The > calculation of the array size failed to multiply by the pointer = > size, > resulting in a smaller than expected buffer which admits = > out-of-bounds > writes. > > Approved by: so > Security: FreeBSD-SA-26:15.dhclient > Security: CVE-2026-42511 > Reported by: Joshua Rogers of AISLE Research Team = > (https://aisle.com/) > --- > sbin/dhclient/dhclient.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c > index 719e20cffad9..f671b0ab9bed 100644 > --- a/sbin/dhclient/dhclient.c > +++ b/sbin/dhclient/dhclient.c > @@ -2438,8 +2438,8 @@ script_set_env(struct client_state *client, = > const char *prefix, > char **newscriptEnv; > int newscriptEnvsize =3D client->scriptEnvsize + 50; > > - newscriptEnv =3D realloc(client->scriptEnv, > - newscriptEnvsize); > + newscriptEnv =3D reallocarray(client->scriptEnv, > + newscriptEnvsize, sizeof(char *)); > if (newscriptEnv =3D=3D NULL) { > free(client->scriptEnv); > client->scriptEnv =3D NULL; --=_MailMate_3CC71C42-3365-407B-A65D-9A50A317D68E_= Content-Type: text/html Content-Transfer-Encoding: quoted-printable

This commit as well as the corresponding stable and relen= g branch commits were incorrectly tagged CVE-2026-42511 and should be CVE= -2026-42512. Apologies for the mix up there.

Best regards,
Gordon
Hat: security-officer

On 29 Apr 2026, at 7:47, Mark Johnston wrote:

The branch main has been updated by markj:

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

commit 5d8e32aad2a8316b0aab8a93a677a63e4c3df422
Author: Mark Johnston markj@FreeBSD.org
AuthorDate: 2026-04-27 20:56:21 +0000
Commit: Mark Johnston markj@FreeBSD.org
CommitDate: 2026-04-29 14:39:27 +0000

dhclient: Fix reallocation of dhclient s=
cript environments

When the number of DHCP options exceeds a threshold, script_set_env()
will reallocate the environment, stored as an array of pointers.  The
calculation of the array size failed to multiply by the pointer size,
resulting in a smaller than expected buffer which admits out-of-bounds
writes.

Approved by:    so
Security:       FreeBSD-SA-26:15.dhclient
Security:       CVE-2026-42511
Reported by:    Joshua Rogers of AISLE Research Team (https://aisle.com/)=


sbin/dhclient/dhclient.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhc= lient.c
index 719e20cffad9..f671b0ab9bed 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2438,8 +2438,8 @@ script_set_env(struct client_state *client, const c= har *prefix,
char **newscriptEnv;
int newscriptEnvsize =3D client->scriptEnvsize + 50;

  • 	newscriptEnv =3D realloc(client->scr=
    iptEnv,
    
  • 	    newscriptEnvsize);
    
  • 	newscriptEnv =3D reallocarray(client-&g=
    t;scriptEnv,
    
  • 	    newscriptEnvsize, sizeof(char *));
    	if (newscriptEnv =3D=3D NULL) {
    		free(client->scriptEnv);
    		client->scriptEnv =3D NULL;
    
--=_MailMate_3CC71C42-3365-407B-A65D-9A50A317D68E_=-- From nobody Wed Apr 29 23:36:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5YbM2SvQz6c9dn for ; Wed, 29 Apr 2026 23:36: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 4g5YbM1tnxz467n for ; Wed, 29 Apr 2026 23:36:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777505775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZG/GuedJH5O07vB7kDIA+oGW3tVTCTvBqBl6pp7dYrc=; b=SqAgdgNZB2WNBxQNe743AtvhkrwyHTz8gC/uQmFPV+kdm7SALbRLsSVcPnGc487dkSslL5 N+eSUMKzJNj/PFYGwyWPJWRp/nul83yLG1HR+m4aGAf6w4nvW1nH6Hx8sdiiZ9fvzEESl9 0gYfN1YT9eNbpGA9jTzACKhlok+qr+JcBLnzBmLvRXVKO3xiB0Belok1AD7ZbrQF4P2UMS cbY8kjkFB9kQEoPX5pXeKJP1uFOGPec4FIslDmN+9EEgzOJghHOMt3YAx6pXLmNPxBWDVw SKYaVMHP6/EZ+Q2G6wc/JjKQAECwGYw29KVAEHVvX7tBNNesajYOWrDytXnTLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777505775; a=rsa-sha256; cv=none; b=ucJAITFi+QMxM7TYG9FTZ74LV8/lX8m8XwYMdjF31eUO4go9pxapfDJcdEhBDB8HtiVljU Mo6tzyd7jkY58qaxkWUgIweTjn7zK61ajdNrcRlyPgFmjnAadDSjeiOy6fncQRCF87wyH8 Ss4OITKQ7ldnDrg99MdTCS6J6lYn8wulXx4ueHsi+Xi5SQnMeJqlGQJqDsUSr31ZP5CyzV mvfYAWweok4wXO210NcMYCSHC0MNlWqMqej0kjddJE+ZD3C4Euna6BmQOAARsDkCm7Gmbp PPoIrXIFZO+gsIzrblV4+9FISNMiSLUF0YffeyWQQq4Tm7Dy81KhVC5okv6eIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777505775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZG/GuedJH5O07vB7kDIA+oGW3tVTCTvBqBl6pp7dYrc=; b=NngHG4W4zCS5thvQk0Dqv4dSRVaCeBUKubBkZW/ioT6+d8cyHqW3oTWSWihPW7HX6XWEOP E84jVxws27OA5g+b/BVvGUArEEgxFvNRWkAuqDL79nOYpjqXsbshylsbbgjp359152dls0 LTfPspkmhniBt0rTABx5RQ63yWCduEBT3XmZ/5JlEqHvccA326EHNKM7VRbcpgio8Gw1po 3NK/QFFZoIJqlrH86koLD6uBcUlhhZyGRCIlPEvaOX6bKMan4k5Z/z6ebnYPDybIg6fAny K6r4Ya7O0lGix1x67x/PUVh8znZZg3UmjJeFmt3lG2z1INwZo54GAV+ABBec9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5YbM0wswz12T8 for ; Wed, 29 Apr 2026 23:36:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2598c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Apr 2026 23:36:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: 72e2ae505c4a - main - tcp: release nic ktls send tags when entering time wait List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72e2ae505c4a081d4b4759f51e25bf6e17c99442 Auto-Submitted: auto-generated Date: Wed, 29 Apr 2026 23:36:15 +0000 Message-Id: <69f295ef.2598c.6834391@gitrepo.freebsd.org> The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=72e2ae505c4a081d4b4759f51e25bf6e17c99442 commit 72e2ae505c4a081d4b4759f51e25bf6e17c99442 Author: Andrew Gallatin AuthorDate: 2026-04-29 23:26:05 +0000 Commit: Andrew Gallatin CommitDate: 2026-04-29 23:35:47 +0000 tcp: release nic ktls send tags when entering time wait When under heavy load or churn, inline ktls offload NICs may run out of hardware resources described by ktls send tags. Rather than waiting for connections to pass through the time_wait state, reclaim the ktls send tags early, at entry to time_wait. By preventing potentially tens or hundreds of thousands of sessions from holding send tags in time_wait, this allows more ktls sessions to be offloaded to hardware. Reviewed by: glebius, kib, nickbanks_netflix.com, rrs, tuexen Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D56610 --- sys/netinet/tcp_timewait.c | 10 ++++++++++ sys/sys/ktls.h | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index eaa2fa336a94..4f4ca445fa46 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -32,11 +32,15 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" +#include "opt_kern_tls.h" #include #include #include #include +#ifdef KERN_TLS +#include +#endif #include #include #include @@ -132,6 +136,12 @@ tcp_twstart(struct tcpcb *tp) tcp_free_sackholes(tp); soisdisconnected(inp->inp_socket); +#ifdef KERN_TLS + /* release ktls snd tag now that no more data can be sent */ + if (tptosocket(tp)->so_snd.sb_tls_info != NULL) { + ktls_release_snd_tag(tptosocket(tp)->so_snd.sb_tls_info); + } +#endif if (tp->t_flags & TF_ACKNOW) (void) tcp_output(tp); diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h index 6c7e7d3c5ee3..3e3f0b77e4a2 100644 --- a/sys/sys/ktls.h +++ b/sys/sys/ktls.h @@ -28,6 +28,7 @@ #define _SYS_KTLS_H_ #ifdef _KERNEL +#include #include #include #include @@ -285,6 +286,17 @@ ktls_free(struct ktls_session *tls) ktls_destroy(tls); } +static inline void +ktls_release_snd_tag(struct ktls_session *tls) +{ + struct m_snd_tag *mst; + + mst = tls->snd_tag; + tls->snd_tag = NULL; + if (mst != NULL) + m_snd_tag_rele(mst); +} + void ktls_session_to_xktls_onedir(const struct ktls_session *ks, bool export_keys, struct xktls_session_onedir *xktls_od); void ktls_session_copy_keys(const struct ktls_session *ktls, From nobody Thu Apr 30 00:18:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWk5SBNz6cDy9 for ; Thu, 30 Apr 2026 00:18: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 4g5ZWk4df6z4BJT for ; Thu, 30 Apr 2026 00:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FcAq82pkxDW89O9hbsKfnCOCvqratje3kNKPvCAMk1c=; b=G7o5FL1hfyP75upCFQFdL0Nbtk8P457f8LXYJL5mKHY+n1N5uH9Vl7XDi22QB1eCMiWntY /Xqo2nlmuBcsEUV+jU2DqbEE9EDvu51c25OEdn/ZJPuy65pkKS4Fes0vDqpRr9l+nPdD2w wY8YzgKKvgR6uPW01p/uU8jE5jy474zliXdZ2VsTJ+d3jZPXCItOZ+VpkikVh8Q6lDOYkr kMEWh9/W2h7cXJMao+pAJvFtLYpcAUbACP7iI65fSD7eX1torITK+jT6+TTsu7TibHVJKD Retx/bUbacgroRgH/wSqLhCjYFET3u1/SLO1RPulpxZOnw3lpbFgZOYRfmXYfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777508290; a=rsa-sha256; cv=none; b=gZeq7D0b6UXmeTuKZSZr+5r827Mxbnl+kvfluPG5RuINGohSjqcPdUy+ZnTEhh7lIQbF1t P2Kom+p8JUKl6w6UfkM5uUgJye/2zYnae5J7kI2z0bivJWTjlcK0BfKy2qS7ia8VlXHhQa Y/+UmcZTzRDTcb5COZNk6q4E+LKiw9y2odD4/yUf2KAaYedFujeADGVohc05ojG+3v6VaC adz+CuZItgioPQDrk2Xn/+4SXqt+tY/B05Q7lfkx8M7DdNg4aFpTyHpxuMtgXOLvbEBmf4 Wyzvj84v0HcEDuO6N7io6Ni064CVyKCohxfve38JLzEredGhqPdgUQq0PbUrCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FcAq82pkxDW89O9hbsKfnCOCvqratje3kNKPvCAMk1c=; b=POa7o4U8R/2ZVdl5jIwhpEKjF27UW16U8wV6uxWPuwpYRn1ypLgrebLckv06m1ObZhd7s/ jvIUxkZl2WfgSNLkwzl2N4Q/3/qF8F4SS8GLVs1fDC01uiPmEw5LSQBuOR4OG032mbQaMY lyi1zYfCY7gcVWL1Hy+Pb50xmfFb9P5rNUUSNhZ8LajjrQADkWIZ39d+dr+223s7AhZ1bU /tCCi4l5X+uanrPZwGTfS3u9Z2NjQWGkkL/Y0ov2Xw7Isa1mPKNVd5dIL1HUQOnK0WFfk9 FJBsRfxLo4EAykh/o4H26twP7WBTtlO2QMz2hrfkPp+0TmZgoyJWUEKjL/tHsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWk4BMxz135L for ; Thu, 30 Apr 2026 00:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 317a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:18:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 40bcad56f1b8 - main - powerpc/pic: Add a PIC_AP_INIT() to set up AP PIC info List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 40bcad56f1b8b3a0eed9af68de5535a784c004d9 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:18:10 +0000 Message-Id: <69f29fc2.317a4.ef71453@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=40bcad56f1b8b3a0eed9af68de5535a784c004d9 commit 40bcad56f1b8b3a0eed9af68de5535a784c004d9 Author: Justin Hibbits AuthorDate: 2026-04-30 00:12:18 +0000 Commit: Justin Hibbits CommitDate: 2026-04-30 00:13:48 +0000 powerpc/pic: Add a PIC_AP_INIT() to set up AP PIC info pc_cpuid may not match the PIC's idea of a given CPU. Since openpic has a WHOAMI register, we can use that to get the PIC's idea of the CPU. This needs to be done on each AP, so add a PIC_AP_INIT device method so the PIC can perform any AP-specific initialization at AP bootstrap time. This fixes SMP on e6500, which is still lacking SMT support. Differential Revision: https://reviews.freebsd.org/D56421 --- sys/powerpc/include/pcpu.h | 1 + sys/powerpc/powerpc/mp_machdep.c | 1 + sys/powerpc/powerpc/openpic.c | 28 +++++++++++++++++++++------- sys/powerpc/powerpc/pic_if.m | 3 +++ 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/sys/powerpc/include/pcpu.h b/sys/powerpc/include/pcpu.h index 924b3d893acd..f2a9bd0080b5 100644 --- a/sys/powerpc/include/pcpu.h +++ b/sys/powerpc/include/pcpu.h @@ -45,6 +45,7 @@ struct pvo_entry; struct thread *pc_vecthread; /* current vec user */ \ struct thread *pc_htmthread; /* current htm user */ \ uintptr_t pc_hwref; \ + uintptr_t pc_pic; \ int pc_bsp; \ volatile int pc_awake; \ uint32_t pc_ipimask; \ diff --git a/sys/powerpc/powerpc/mp_machdep.c b/sys/powerpc/powerpc/mp_machdep.c index d6d140aa0ea2..114990a97cdb 100644 --- a/sys/powerpc/powerpc/mp_machdep.c +++ b/sys/powerpc/powerpc/mp_machdep.c @@ -87,6 +87,7 @@ machdep_ap_bootstrap(void) /* Give platform code a chance to do anything else necessary */ platform_smp_ap_init(); + PIC_AP_INIT(root_pic); /* Initialize decrementer */ decr_ap_init(); diff --git a/sys/powerpc/powerpc/openpic.c b/sys/powerpc/powerpc/openpic.c index aa28f63cb6f5..bdd59407e3d4 100644 --- a/sys/powerpc/powerpc/openpic.c +++ b/sys/powerpc/powerpc/openpic.c @@ -254,7 +254,7 @@ openpic_bind(device_t dev, u_int irq, cpuset_t cpumask, void **priv __unused) break; ncpu++; } - mask &= (1 << cpu); + mask = (1 << __pcpu[cpu].pc_pic); } openpic_write(sc, OPENPIC_IDEST(irq), mask); @@ -288,9 +288,10 @@ openpic_dispatch(device_t dev, struct trapframe *tf) CTR1(KTR_INTR, "%s: got interrupt", __func__); - cpuid = (dev == root_pic) ? PCPU_GET(cpuid) : 0; - sc = device_get_softc(dev); + + cpuid = (dev == root_pic) ? PCPU_GET(pic) : 0; + while (1) { vector = openpic_read(sc, OPENPIC_PCPU_IACK(cpuid)); vector &= OPENPIC_VECTOR_MASK; @@ -337,9 +338,9 @@ openpic_eoi(device_t dev, u_int irq __unused, void *priv __unused) struct openpic_softc *sc; u_int cpuid; - cpuid = (dev == root_pic) ? PCPU_GET(cpuid) : 0; - sc = device_get_softc(dev); + cpuid = (dev == root_pic) ? PCPU_GET(pic) : 0; + openpic_write(sc, OPENPIC_PCPU_EOI(cpuid), 0); } @@ -352,8 +353,8 @@ openpic_ipi(device_t dev, u_int cpu) sc = device_get_softc(dev); sched_pin(); - openpic_write(sc, OPENPIC_PCPU_IPI_DISPATCH(PCPU_GET(cpuid), 0), - 1u << cpu); + openpic_write(sc, OPENPIC_PCPU_IPI_DISPATCH(PCPU_GET(pic), 0), + 1u << pcpu_find(cpu)->pc_pic); sched_unpin(); } @@ -454,6 +455,18 @@ openpic_resume(device_t dev) return (0); } +static void +openpic_ap_init(device_t dev) +{ + struct openpic_softc *sc; + + if (dev != root_pic) + return; + + sc = device_get_softc(dev); + PCPU_SET(pic, bus_read_4(sc->sc_memr, OPENPIC_WHOAMI)); +} + static device_method_t openpic_methods[] = { /* Device interface */ DEVMETHOD(device_suspend, openpic_suspend), @@ -468,6 +481,7 @@ static device_method_t openpic_methods[] = { DEVMETHOD(pic_ipi, openpic_ipi), DEVMETHOD(pic_mask, openpic_mask), DEVMETHOD(pic_unmask, openpic_unmask), + DEVMETHOD(pic_ap_init, openpic_ap_init), DEVMETHOD_END }; diff --git a/sys/powerpc/powerpc/pic_if.m b/sys/powerpc/powerpc/pic_if.m index 59187be9d935..dbbcc93f6241 100644 --- a/sys/powerpc/powerpc/pic_if.m +++ b/sys/powerpc/powerpc/pic_if.m @@ -100,3 +100,6 @@ METHOD void unmask { void *priv; }; +METHOD void ap_init { + device_t dev; +}; From nobody Thu Apr 30 00:18:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWl6gv1z6cDqF for ; Thu, 30 Apr 2026 00:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5ZWl60bNz4BZc for ; Thu, 30 Apr 2026 00:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vZXXAz0clwqqDM+Aca88B0AsH+wwtJ6QBLjdUintlr0=; b=nnFWE0ICFn5uqXkvNCpG7vI2rp+IOzite5O8rPw87f2xaHsMsXq0YG8J98bn8f3mkT/AAt BToJu2Nt2zMKpZ6hqaysGZ9RlaU1SfTiX0bLxuXEsEm51pI+J8utq/nWmKZi1HHmzvrUnC neAhAzErudGrU1UwgWVt6+zmmUIdfnY3VJ2l588YG/uFl4zTNVOdTTOovCe1x+FbrbXN77 J2e5F2ptE+ehtd6TT6huk6W0gxfyemYzYmxQkOlYBzGEG8sHUXuj+6jsiNXQkiD7FapSm5 KVX2ITKrqESDgh93j2s9yzAMF9W/IWrjhih94i2fX0EhUZmSaoTK0S9EXbvHaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777508291; a=rsa-sha256; cv=none; b=mK98yWK9MjiBzXKd8BKz86Z0ZSk+MsQGRfP4MmLpBqI1K4XMjijmEgCam5v+5nZiuJSH6a JLwaYQpnS/xQQ6NW7CCs0S8nGni8LjWjTZglDQAcphgn77hH1Fpmo649AViBoDu00T++8S 0a/rrf6kxEcaU8S6SMdS042J7/2W10WbDKEzrDNarbUwHbe0HpDup88iVhMd/LOTefcfvp m7em9YhBkf7dP6ijmWMjKBUYWlCyoQGs+b4POWITNa9CsspZcqshhvcv/o31jPOBY1k0Xw aEgopiDH+q0fMmNqSYaRvCVhkkHanP01EDVv54inwmM/Cp90JbGiHKi38om9rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vZXXAz0clwqqDM+Aca88B0AsH+wwtJ6QBLjdUintlr0=; b=IUECg7RDxMI13Am/Kz2TKptd2zCMCz6pkgHDYuls3OL3xBYQTy2LoPALeTsoj+nt0YW/R7 N0Qqd/skB3nYMw/Cn0z9Vv9DiBIipjb/XlKlcu1PrFynO6QxN3lYxmRcOE+iNDJutEL7Qe Ws4eBCiC57UNM/bq+j+CUUC0rP/wvYvFA8AdPfjNpovi1nWPIcP1ePrcIB1I01LbNVKFFc hRqSxFSaWOL2RSbROxEGuEF4PczGLZU5xVNK6NcUG8bGLcgvftmfxrrQkWoIRNJqGJ6dk4 mRrpRy3h3rag3DwWYjJ8kKCXYyNfas3fbosK/2bsKolYPYg1KT2coAY7IzP3zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWl4ygtz13H5 for ; Thu, 30 Apr 2026 00:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 317a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:18:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 605f53705d6d - main - powerpc/openpic: Increase the maximum number of IRQs allowed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 605f53705d6dc57ed391353cecf3ce84a4283740 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:18:11 +0000 Message-Id: <69f29fc3.317a8.192fc00b@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=605f53705d6dc57ed391353cecf3ce84a4283740 commit 605f53705d6dc57ed391353cecf3ce84a4283740 Author: Justin Hibbits AuthorDate: 2026-04-30 00:13:11 +0000 Commit: Justin Hibbits CommitDate: 2026-04-30 00:13:48 +0000 powerpc/openpic: Increase the maximum number of IRQs allowed The Freescale MPIC supports up to 2048 IRQs, but since we only build an array of 768 interrupts in intr_machdep, clamp the max at 512. The most any Freescale PowerPC chip actually supports is 452 on the T4240, so 512 is sufficient. As part of this, increase the vector mask to the full openpic vector mask, and use this limit as the terminator for the dispatch loop, instead of a hard-coded 255. Differential Revision: https://reviews.freebsd.org/D56422 --- sys/powerpc/include/openpicreg.h | 2 +- sys/powerpc/include/openpicvar.h | 3 ++- sys/powerpc/powerpc/openpic.c | 10 ++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/include/openpicreg.h b/sys/powerpc/include/openpicreg.h index 16f0295469e2..03c259d115b5 100644 --- a/sys/powerpc/include/openpicreg.h +++ b/sys/powerpc/include/openpicreg.h @@ -112,7 +112,7 @@ #define OPENPIC_ACTIVITY 0x40000000 #define OPENPIC_PRIORITY_MASK 0x000f0000 #define OPENPIC_PRIORITY_SHIFT 16 -#define OPENPIC_VECTOR_MASK 0x000000ff +#define OPENPIC_VECTOR_MASK 0x0000ffff /* interrupt destination cpu */ #ifndef OPENPIC_IDEST diff --git a/sys/powerpc/include/openpicvar.h b/sys/powerpc/include/openpicvar.h index 12f01cb80406..4f086f809f08 100644 --- a/sys/powerpc/include/openpicvar.h +++ b/sys/powerpc/include/openpicvar.h @@ -32,7 +32,7 @@ #define OPENPIC_DEVSTR "OpenPIC Interrupt Controller" -#define OPENPIC_IRQMAX 256 /* h/w allows more */ +#define OPENPIC_IRQMAX 512 /* h/w allows more */ #define OPENPIC_QUIRK_SINGLE_BIND 1 /* Bind interrupts to only 1 CPU */ #define OPENPIC_QUIRK_HIDDEN_IRQS 2 /* May have IRQs beyond FRR[NIRQ] */ @@ -59,6 +59,7 @@ struct openpic_softc { u_int sc_nirq; int sc_psim; u_int sc_quirks; + uint32_t sc_vec_mask; /* Saved states. */ uint32_t sc_saved_config; diff --git a/sys/powerpc/powerpc/openpic.c b/sys/powerpc/powerpc/openpic.c index bdd59407e3d4..3cb4c544a91a 100644 --- a/sys/powerpc/powerpc/openpic.c +++ b/sys/powerpc/powerpc/openpic.c @@ -151,6 +151,12 @@ openpic_common_attach(device_t dev, uint32_t node) OPENPIC_FEATURE_LAST_CPU_SHIFT) + 1; sc->sc_nirq = ((x & OPENPIC_FEATURE_LAST_IRQ_MASK) >> OPENPIC_FEATURE_LAST_IRQ_SHIFT) + 1; + /* + * Generate the vector mask used for IACK. + * Some PICs may not support the full 11 bit vector width, so clamp the + * mask to only the next-power-of-2 from the max IRQ. + */ + sc->sc_vec_mask = (1 << fls(sc->sc_nirq)) - 1; /* * PSIM seems to report 1 too many IRQs and CPUs @@ -294,8 +300,8 @@ openpic_dispatch(device_t dev, struct trapframe *tf) while (1) { vector = openpic_read(sc, OPENPIC_PCPU_IACK(cpuid)); - vector &= OPENPIC_VECTOR_MASK; - if (vector == 255) + vector &= sc->sc_vec_mask; + if (vector == sc->sc_vec_mask) break; powerpc_dispatch_intr(vector, tf); } From nobody Thu Apr 30 00:18:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWn2QLPz6cDyF for ; Thu, 30 Apr 2026 00:18: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 4g5ZWm5sCgz4B7J for ; Thu, 30 Apr 2026 00:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CTkJjb4Lpilo1JNyMq+B81I/sbVL4NsmZNluDIkYWc=; b=At0WVcGVHHMUco4ehHLpk7crunp1Z7pT7YInUYqg8dvv5VIgfmtFdDGnDs5IIzdk2QqcHr 9GhZST8Q3ehED7nZfjd/oGLxrGeRqERdHvkHWBFDJr6iIYglxpJ54CQ07M3GEytm+XbNsg 1nixnsABW4vxFsoNpgIS1PNYnZv0ggrrVvlbVmf9aq9SwgzsY5z84RnJ30fjDY2G+MawBh sdtoU0m7+n+n66x6s9gH//xtqvUQu7OVoPiAirb6/kb6LJ4WCoWvWK48XKdSKQbAc9wuTS 5a2qQIl3gAGgyVOUiaUrHtYSCzhpsl1g0s6kPjY2QhLWPQVmnTWZyyIKZXlkqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777508292; a=rsa-sha256; cv=none; b=koZuJUmthwF26S8pSHWAP0PjVFLYmNvUwkt1Foh/7yiOsG+Tj/vXVUhgEH7m/kDFp1HqGR TMUrWG7MbF9v3v0nmD/NJlAN+6D8pZxJ5egt1Rk6aiipzJrICGDMxH8oyN1YpZmICq6Thu xp44YDre+28smMCMvYZ1il457IYPELfQrEkc03zX34tGUEdHKPFdXcYaFuVgvQu+LKEvYQ GbaMO7TK+K/6t4fVRTPu01V765e1dE2LVIX3cwxI84/AZbj9nBlWiHpQjD6YCb6qcmyCyc Md8GUn/0Q1LApfuaDCiQUokFwmXc50xk+dGXV87ecaqvKyUwpfwHPAe94zyylQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CTkJjb4Lpilo1JNyMq+B81I/sbVL4NsmZNluDIkYWc=; b=Irtl455SkhfbIOkGM4zMEVMfhhA53T9F5l52NGFsJ9XeTOW4UDZKR1NXHJqKv4qJNh8FaF hJpIHjLla53gMb06psIao29++o53Cy1ReqkSveEZB3TEhCy3W2gMihWLM6rbk2oe3TTCRt WWEQahOQ7mvEuvnvPKMmCvxfkBbWzoz9azFlRzpAvlRPbbs7SfehrxsM94HwHbESg7+paa nIvN83nuixl2L5ZceNdmgo8hDjcndjrETglmdvo3PVycpA8PjD7bV6haf1tpROdChbLc4N pgThrlHn1izVfK7uidl1RIDdRhLCZT31X9eLBy5XRb4PPZeKoumjo59zQZpAog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWm5NN0z135M for ; Thu, 30 Apr 2026 00:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31a5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:18:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 787b5e136735 - main - dtrace: Add missing file for powerpc kernel build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 787b5e136735e979398bca2057310d0fd594a3bc Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:18:12 +0000 Message-Id: <69f29fc4.31a5e.3895300e@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=787b5e136735e979398bca2057310d0fd594a3bc commit 787b5e136735e979398bca2057310d0fd594a3bc Author: Justin Hibbits AuthorDate: 2026-04-28 00:14:12 +0000 Commit: Justin Hibbits CommitDate: 2026-04-30 00:14:19 +0000 dtrace: Add missing file for powerpc kernel build --- sys/conf/files.powerpc | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index b64219146e9d..698433422101 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -77,6 +77,7 @@ crypto/openssl/powerpc64/x25519-ppc64.S optional ossl powerpc64 cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs powerpc | dtrace powerpc compile-with "${ZFS_C}" cddl/dev/dtrace/powerpc/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}" +cddl/dev/dtrace/powerpc/dtrace_isa.c optional dtrace compile-with "${DTRACE_C}" cddl/dev/dtrace/powerpc/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}" cddl/dev/fbt/powerpc/fbt_isa.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}" crypto/des/des_enc.c optional netsmb From nobody Thu Apr 30 00:18:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWp2Lzhz6cDsG for ; Thu, 30 Apr 2026 00:18: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 4g5ZWp0BQjz4BK0 for ; Thu, 30 Apr 2026 00:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dO4wVdYTk3bhetrAs4XJZi2lyePgQzocPWpcF8TmeiQ=; b=tXEzdqwLlMCLgzhTA9in1OqBZ1XFcjVDF1qGhjvs6smzCYsBULJXSjRS3ADOSYTJKxedjF 6JhkP3MZqv9UiXn7cTJYocxfv6vE+MKpi/F0zdp1TyYxuq23Jlrd/DW68EUeRb1HOEW8K1 WPeNtNA0YKuE+eWlthiY/s5mAE8FrBqtHuOFTNFzGkc8UnZ6fP/Cv/0msMc8btpJbipAhI AkVEnyAfHaLwm+995mSnTiRMD/BB1qPYvnDs38hHx1xr5h+KzqB7nNEDoRSG2ZFyVxcCQx f8CYGhjyjSyJJEAt74SQ6aVsG2Yc+w+JLlXIeBKNMFuVUhWIE3dPPZfM6DxxVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777508294; a=rsa-sha256; cv=none; b=nYggjyALiEBJL7FrdjqeIBqLBUo7bxUOR9eH9eHMrGG5eR2Iiw3SpNp/AR7UxE+mR7YljY 288kExcU1vLu5HedxkpixDIov876lVCz2zSbderTVapQA81IjtbXpxXsvcR7s8P+tL5VMl 2HnsFTxabgbHzmQA/wkxAV/8bXbjcDDBkdc0hoXm5Trptgt3eoQcCu8lOClASQ6ZBJqPRC qFHhxV0Nbb25nV6CpCXX4K7ewaGaXPL752emBczMvT61lSjhe0fwN5oj22WSVcGT1WNHml WnIfLnEk+KfHRdsYUpmxJAP9AFZ77pQWjizJzzA92Yqgyhd5VMYrs4nHzy2fnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dO4wVdYTk3bhetrAs4XJZi2lyePgQzocPWpcF8TmeiQ=; b=DevPg5oIDnNuEL5Et52LJMHn7tJsCazG58OT2ptD/ltU9cKk3DSIDcZIZw00H3udzXMPY1 xeMqrI7DLOiSAWYtyWbFOtNvUtZqSxN0uje4aTi1bM5uCZooe+U2lqhPM/w24YUvGPCtiL /Q/Ev/FD9AIJfaqVOKrzkLGReSjIfq7LCCkaue2RQpacyRVAf1OEfDgmJQKgzPVy5KDXsh yP3aswRfFHzTrQFu4AY+h750BHxbadtBs5dhe47GPorC+fbzQrTtqaIgL4wwDeGXo6/CJx p9IZ2OZgnfW61MVE2EPVpZg2CNYPgba8Q7i88iYQnbk/YKraAuzjSBfZUVtc+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWn69GYz13WD for ; Thu, 30 Apr 2026 00:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3172a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:18:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 0a705587e472 - main - iicmux: Return the right error codes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a705587e4720cdb0317efb80e9452d236c5cfcf Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:18:13 +0000 Message-Id: <69f29fc5.3172a.3c5fb8db@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0a705587e4720cdb0317efb80e9452d236c5cfcf commit 0a705587e4720cdb0317efb80e9452d236c5cfcf Author: Justin Hibbits AuthorDate: 2026-04-22 22:49:16 +0000 Commit: Justin Hibbits CommitDate: 2026-04-30 00:14:19 +0000 iicmux: Return the right error codes I2C subsystem errors belong in the IIC_* error space. It's pretty clear this is what is intended in the code. --- sys/dev/iicbus/mux/iicmux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/iicbus/mux/iicmux.c b/sys/dev/iicbus/mux/iicmux.c index 96164719577c..32b7405ebe19 100644 --- a/sys/dev/iicbus/mux/iicmux.c +++ b/sys/dev/iicbus/mux/iicmux.c @@ -62,7 +62,7 @@ iicmux_callback(device_t dev, int index, caddr_t data) /* If it's not one of the operations we know about, bail early. */ if (index != IIC_REQUEST_BUS && index != IIC_RELEASE_BUS) - return (iic2errno(EOPNOTSUPP)); + return (errno2iic(EOPNOTSUPP)); /* * Ensure that the data passed to us includes the device_t of the child @@ -72,12 +72,12 @@ iicmux_callback(device_t dev, int index, caddr_t data) */ rd = (struct iic_reqbus_data *)data; if (!(rd->flags & IIC_REQBUS_DEV)) - return (iic2errno(EINVAL)); + return (errno2iic(EINVAL)); for (i = 0; i <= sc->maxbus && sc->childdevs[i] != rd->bus; ++i) continue; if (i > sc->maxbus) - return (iic2errno(ENOENT)); + return (errno2iic(ENOENT)); /* * If the operation is a release it "cannot fail". Idle the downstream From nobody Thu Apr 30 00:18:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWq2lmHz6cDyK for ; Thu, 30 Apr 2026 00:18: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 4g5ZWq004Zz4BGV for ; Thu, 30 Apr 2026 00:18:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nfihMT2rFtL3eVWlJgpa6+HkrJ9+VSn9AJ6O9bl9PM=; b=PwftUeurKqswM3dyoRD5BHwAYc84RyMQre6WO3wOcVffy6zbMUawXRlIsFjnI9XOB7/Vw2 m2ZBVQTXmEA1wFHeCkYYrBgiCRJVDHU5/+mMBDwoWbTD8Td3SMW/Db81ollYDrYgm7k2/U l6VD2gqOc1aFy8BqB2lo4zy4Ipi2tuXVDFSuEyhhqJ35egGf4Ewn3BStGJ2DhlABrAbL9l Ta8Mvv7lhCzevTeVhuK3JE675FAD/RWzav3FBV6Um57GV1PKByYcxGIHd8MJduVjtzmfGr cy9TpPeJpH1AZ4Mwoxv23NLYIEZRwmBCZ5Vw0z4odiWwuOq41hEOF/gpHYalhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777508295; a=rsa-sha256; cv=none; b=hX5w4GxebPZAuC3TshKCYzwgnx452IrVN1dbfd8v8+63r7kpCzF5pSXK4SD9R0omFToq1Y eoQ3CnAKswEWjzl+MmhgcLVP7BDS8xyHSBHQ5s9FWE2tlJirOPYf7QZgx5OPLy7lSXeTHc Hj4bBBhZPzLDo8z31WM5cY3kb5lcAGThDD8gP8ZGqIqG0YTft1ubd7nPVCfjjVzKLouFFZ 6BgTqkz42iCR2sqgRwu7RU5/bvGCp42hNReMYjQQP99nNBjT01ow9n4lnczkgQJ+GX99Dp Lq3VIO4blARUFolR72noxmjOAwrv1A331wsY7zwXW0ebf+McIOAGJBA759iX1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777508295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nfihMT2rFtL3eVWlJgpa6+HkrJ9+VSn9AJ6O9bl9PM=; b=kVnX+CGmTVuSvdSGWrBYsPhRo+7CmgrfX025lXM4OhOiwnfTx8cKBAEkxNyxEArWv1rkel N6Obe+HJseFA79eAxMxi/6JiWD2ibwKtku5AiEILTB2KcbgGhK9jvnfkBD7UScDPq9HfQh TkOqbooB5h6lMl+umr89HXJe5qW6zrbGBGl1Nlkc48hdsxZEufnWz9csqLizrM2SthqNVr HNx8e8QJrw9HAbo5yOLwNggl6FrGjQLPcMr1ykYheQZA+PUeCcRAhBvzE+KmwvPprO0oGH zmtJKizhfOgDZHBLYKrZFkkkZqt9g7XF44zLZpFT5/tn+KobMlx0jQXGuBWxwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5ZWp6bKNz135N for ; Thu, 30 Apr 2026 00:18:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3172e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:18:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 59a844b9cea7 - main - mpc85xx/msi: Add compat string for T208x/T4xxx SoCs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59a844b9cea7bbe92b3899805acd1699c5006ed7 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:18:14 +0000 Message-Id: <69f29fc6.3172e.53df8a83@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=59a844b9cea7bbe92b3899805acd1699c5006ed7 commit 59a844b9cea7bbe92b3899805acd1699c5006ed7 Author: Justin Hibbits AuthorDate: 2026-04-16 01:48:21 +0000 Commit: Justin Hibbits CommitDate: 2026-04-30 00:14:35 +0000 mpc85xx/msi: Add compat string for T208x/T4xxx SoCs --- sys/powerpc/mpc85xx/pci_mpc85xx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/powerpc/mpc85xx/pci_mpc85xx.c b/sys/powerpc/mpc85xx/pci_mpc85xx.c index 33dca7ab6c50..6616ea2169d1 100644 --- a/sys/powerpc/mpc85xx/pci_mpc85xx.c +++ b/sys/powerpc/mpc85xx/pci_mpc85xx.c @@ -895,7 +895,8 @@ fsl_msi_intr_filter(void *priv) static int fsl_msi_probe(device_t dev) { - if (!ofw_bus_is_compatible(dev, "fsl,mpic-msi")) + if (!ofw_bus_is_compatible(dev, "fsl,mpic-msi") && + !ofw_bus_is_compatible(dev, "fsl,mpic-msi-v4.3")) return (ENXIO); device_set_desc(dev, "Freescale MSI"); From nobody Thu Apr 30 00:39:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5Zzt2GH2z6cGph for ; Thu, 30 Apr 2026 00:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5Zzs5tnqz4Gs3 for ; Thu, 30 Apr 2026 00:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777509545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tb4xsVrRCxseuDao5XIUgQSrweiAYvLBAiLlr8353V0=; b=hViPA/sBQZkQH1fJK4zJzyXAxl7vBzHRtjxUZkiQHamhed9kfovRgB9CoLox9PSzOv3KSB RTPaxeU97peYCHsG7VwNxKmXiQBk0XdNFTVKxDJ+Me1ioeHq9HHiRHL6BfyYceNUQTe4tz /Kc9dzMecYgJJcaxcCmpyelL399ac7C9iUpvelcku878+mYt3BqMT0+IUATwQCOLH73KOL Mtr7hi73LiSgOKj5FpmB6QAmCdUjw3rGjk77DPaLX4tNLnPlDh+jhLmkUHN9dGZ6Sw1G0P VwSj9aKCPubmu5cPX7ON3vp8Z/CpUti85QnlfWwhD5zgeO0g/7cLYQSF20Ufxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777509545; a=rsa-sha256; cv=none; b=ihKuNhRiROk0JCy0e+XxmSL/KD/Us3JR2rkvBOqJEzaTrWGgHb/chzA4/RZ2mWh3jDw3XZ I+llxnYSsVudoAeKDUxa0O70vqU0Wbe1gY5bgbnBzMvtF0uDYgkTxwROxW0YdYTDo4JeUa BrsCoPz+UokrFK84d143b7/xzF8cT6QQgCjzbBQECGO/hDZMVttuSLdMiQEZvHSoCB85Ak +Ou0T9zR0dga60/1R5rsco6/IN8pli7IKc19i80sgJ3J6ijs+edjgPIQQUuR0nMeitTSn3 fW1wi/gyqftJnKnj7erFB8zRxmVMO6TFxLYUT+kL6k88qkdsyTF5h2pmChEL2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777509545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tb4xsVrRCxseuDao5XIUgQSrweiAYvLBAiLlr8353V0=; b=LutYkFzCudCFLBqRVq+4wiXW87whc8RTIkOgsF6nTXuQVBHkRdt0blNnELrp/g2OAa11cp IwpNHJ4rd6IiBWbpZe03cuLcopfpGd1mRzL1xiv7J1/OwH84ByQ/DTKHu92+0vnS/gaFC1 4MmTCNU6+8JQLCGNpCPAE8Oh7fPBeJOfhk9av9aK6gzWoeHbZ/ZZqfsloAUpoyfx6Q65nb X/EnTgSL0gDXBgei/uOPjP+zsPmFpJRMgegKa94CQxCDs3Y/tGLEvIuKoQOT5pdmAV/BPm +FKBYyfZz3ABjyWw36qjH2FDGvhfLYNX8EQfjd/Shw/D5/LVi9FVgl4EUQknFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5Zzs4xP0z13pQ for ; Thu, 30 Apr 2026 00:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33619 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 00:39:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: e7f4269dbfad - main - asmc: replace hardcoded model table with universal probing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e7f4269dbfad02119934c35d523cb33ff8c93493 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 00:39:00 +0000 Message-Id: <69f2a4a4.33619.66aa8597@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=e7f4269dbfad02119934c35d523cb33ff8c93493 commit e7f4269dbfad02119934c35d523cb33ff8c93493 Author: Abdelkader Boudih AuthorDate: 2026-04-30 00:38:38 +0000 Commit: Adrian Chadd CommitDate: 2026-04-30 00:38:38 +0000 asmc: replace hardcoded model table with universal probing Probe SMC keys at attach time to detect hardware capabilities, supporting all Intel Apple machines without per-model entries. Sensors are discovered by scanning sorted SMC key ranges for known prefixes and types. Capabilities such as SMS, fan safe speed, and ambient light are detected by key presence. A global key description table provides human-readable names for well-known temperature sensors. Tested on: - MacBook Pro (Early 2007, Mid 2014, Mid 2015) - MacBook Air (Early 2015, Mid 2017) - iMac (Mid 2011, Late 2013) - Mac mini (Mid 2011) Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D56405 --- sys/dev/asmc/asmc.c | 1169 ++++++++++++++++++++++-------------------------- sys/dev/asmc/asmcvar.h | 961 +-------------------------------------- 2 files changed, 545 insertions(+), 1585 deletions(-) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 0a701e6fd663..5fe89d85be6d 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -98,13 +98,15 @@ static void asmc_sms_calibrate(device_t dev); static int asmc_sms_intrfast(void *arg); static void asmc_sms_printintr(device_t dev, uint8_t); static void asmc_sms_task(void *arg, int pending); +static void asmc_sms_init(device_t dev); +static void asmc_detect_capabilities(device_t dev); #ifdef ASMC_DEBUG void asmc_dumpall(device_t); static int asmc_key_dump(device_t, int); #endif /* - * Model functions. + * Sysctl handlers. */ static int asmc_mb_sysctl_fanid(SYSCTL_HANDLER_ARGS); static int asmc_mb_sysctl_fanspeed(SYSCTL_HANDLER_ARGS); @@ -138,474 +140,220 @@ static int asmc_sensor_read(device_t, const char *, int *); static int asmc_sensor_sysctl(SYSCTL_HANDLER_ARGS); static int asmc_detect_sensors(device_t); static int asmc_key_dump_by_index(device_t, int, char *, char *, uint8_t *); +static int asmc_key_search(device_t, const char *, unsigned int *); +static const char *asmc_temp_desc(const char *key); -struct asmc_model { - const char *smc_model; /* smbios.system.product env var. */ - const char *smc_desc; /* driver description */ - - /* Helper functions */ - int (*smc_sms_x)(SYSCTL_HANDLER_ARGS); - int (*smc_sms_y)(SYSCTL_HANDLER_ARGS); - int (*smc_sms_z)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_id)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_speed)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_safespeed)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_minspeed)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_maxspeed)(SYSCTL_HANDLER_ARGS); - int (*smc_fan_targetspeed)(SYSCTL_HANDLER_ARGS); - int (*smc_light_left)(SYSCTL_HANDLER_ARGS); - int (*smc_light_right)(SYSCTL_HANDLER_ARGS); - int (*smc_light_control)(SYSCTL_HANDLER_ARGS); - - const char *smc_temps[ASMC_TEMP_MAX]; - const char *smc_tempnames[ASMC_TEMP_MAX]; - const char *smc_tempdescs[ASMC_TEMP_MAX]; +/* + * SMC temperature key descriptions. + * These are universal across all Intel Apple hardware. + */ +static const struct { + const char *key; + const char *desc; +} asmc_temp_descs[] = { + /* Ambient / airflow */ + { "TA0P", "Ambient" }, + { "TA0S", "PCIe Slot 1 Ambient" }, + { "TA0p", "Ambient Air" }, + { "TA1P", "Ambient 2" }, + { "TA1S", "PCIe Slot 1 PCB" }, + { "TA1p", "Ambient Air 2" }, + { "TA2P", "Ambient 3" }, + { "TA2S", "PCIe Slot 2 Ambient" }, + { "TA3S", "PCIe Slot 2 PCB" }, + { "TA0V", "Ambient" }, + { "TALP", "Ambient Light Proximity" }, + { "TaLC", "Airflow Left" }, + { "TaRC", "Airflow Right" }, + { "Ta0P", "Airflow Proximity" }, + /* Battery / enclosure */ + { "TB0T", "Enclosure Bottom" }, + { "TB1T", "Battery 1" }, + { "TB2T", "Battery 2" }, + { "TB3T", "Battery 3" }, + { "TBXT", "Battery" }, + { "Tb0P", "BLC Proximity" }, + /* CPU */ + { "TC0C", "CPU Core 1" }, + { "TC0D", "CPU Die" }, + { "TC0E", "CPU 1" }, + { "TC0F", "CPU 2" }, + { "TC0G", "CPU Package GPU" }, + { "TC0H", "CPU Heatsink" }, + { "TC0h", "CPU Heatsink" }, + { "TC0J", "CPU" }, + { "TC0P", "CPU Proximity" }, + { "TC0c", "CPU Core 1 PECI" }, + { "TC0d", "CPU Die PECI" }, + { "TC0p", "CPU Proximity" }, + { "TC1C", "CPU Core 2" }, + { "TC1c", "CPU Core 2 PECI" }, + { "TC1P", "CPU Proximity 2" }, + { "TC2C", "CPU Core 3" }, + { "TC2P", "CPU Proximity 3" }, + { "TC2c", "CPU Core 3 PECI" }, + { "TC3C", "CPU Core 4" }, + { "TC3P", "CPU Proximity 4" }, + { "TC3c", "CPU Core 4 PECI" }, + { "TC4C", "CPU Core 5" }, + { "TC5C", "CPU Core 6" }, + { "TC6C", "CPU Core 7" }, + { "TC7C", "CPU Core 8" }, + { "TC8C", "CPU Core 9" }, + { "TCGC", "PECI GPU" }, + { "TCGc", "PECI GPU" }, + { "TCHP", "Charger Proximity" }, + { "TCSA", "PECI SA" }, + { "TCSC", "PECI SA" }, + { "TCSc", "PECI SA" }, + { "TCTD", "CPU DTS" }, + { "TCXC", "PECI CPU" }, + { "TCXc", "PECI CPU" }, + { "TCPG", "CPU Package GPU" }, + { "TCXR", "CPU PECI DTS" }, + /* CPU dual-socket (Mac Pro) */ + { "TCAG", "CPU A Package" }, + { "TCAH", "CPU A Heatsink" }, + { "TCBG", "CPU B Package" }, + { "TCBH", "CPU B Heatsink" }, + /* GPU */ + { "TG0C", "GPU Core" }, + { "TG0D", "GPU Diode" }, + { "TG0H", "GPU Heatsink" }, + { "TG0M", "GPU Memory" }, + { "TG0P", "GPU Proximity" }, + { "TG0T", "GPU Diode" }, + { "TG0V", "GPU" }, + { "TG0d", "GPU Die" }, + { "TG0h", "GPU Heatsink" }, + { "TG0p", "GPU Proximity" }, + { "TGTV", "GPU" }, + { "TG1D", "GPU 2 Diode" }, + { "TG1H", "GPU 2 Heatsink" }, + { "TG1P", "GPU 2 Proximity" }, + { "TG1d", "GPU 2 Die" }, + { "TGVP", "GPU Memory Proximity" }, + /* Storage */ + { "TH0A", "SSD A" }, + { "TH0B", "SSD B" }, + { "TH0C", "SSD C" }, + { "TH0F", "SSD" }, + { "TH0O", "HDD" }, + { "TH0P", "HDD Proximity" }, + { "TH0R", "SSD" }, + { "TH0V", "SSD" }, + { "TH0a", "SSD A" }, + { "TH0b", "SSD B" }, + { "TH0c", "SSD C" }, + { "TH1O", "HDD 2" }, + { "TH1P", "HDD Bay 2" }, + { "TH2P", "HDD Bay 3" }, + { "TH3P", "HDD Bay 4" }, + { "Th0H", "Heatpipe 1" }, + { "Th0N", "SSD" }, + { "Th1H", "Heatpipe 2" }, + { "Th2H", "Heatpipe 3" }, + /* Thunderbolt */ + { "THSP", "Thunderbolt Proximity" }, + { "TI0P", "Thunderbolt 1" }, + { "TI0p", "Thunderbolt 1" }, + { "TI1P", "Thunderbolt 2" }, + { "TI1p", "Thunderbolt 2" }, + { "TTLD", "Thunderbolt Left" }, + { "TTRD", "Thunderbolt Right" }, + { "Te0T", "Thunderbolt Diode" }, + { "Te0t", "Thunderbolt Diode" }, + /* LCD */ + { "TL0P", "LCD Proximity" }, + { "TL0V", "LCD" }, + { "TL0p", "LCD Proximity" }, + { "TL1P", "LCD Panel 1" }, + { "TL1V", "LCD 1" }, + { "TL1p", "LCD Panel 1" }, + { "TL1v", "LCD 1" }, + { "TL2V", "LCD 2" }, + { "TLAV", "LCD" }, + { "TLBV", "LCD" }, + { "TLCV", "LCD" }, + /* Memory */ + { "TM0P", "Memory Proximity" }, + { "TM0S", "Memory Slot 1" }, + { "TM0p", "Memory Proximity" }, + { "TM1P", "Memory Riser A 2" }, + { "TM1S", "Memory Slot 2" }, + { "Tm0P", "Memory Proximity" }, + { "Tm0p", "Memory Proximity" }, + { "Tm1P", "Memory Proximity 2" }, + { "TMBS", "Memory Bank" }, + { "TMCD", "Memory DIMM" }, + /* Northbridge / MCH */ + { "TN0C", "Northbridge Core" }, + { "TN0D", "Northbridge Diode" }, + { "TN0H", "MCH Heatsink" }, + { "TN0P", "Northbridge Proximity" }, + { "TN1D", "MCH Die 2" }, + { "TN1P", "Northbridge Proximity 2" }, + /* PCH */ + { "TP0P", "PCH Proximity" }, + { "TP0p", "PCH Proximity" }, + { "TPCD", "PCH Die" }, + { "TPCd", "PCH Die" }, + /* Optical drive */ + { "TO0P", "Optical Drive" }, + { "TO0p", "Optical Drive" }, + /* Power supply */ + { "Tp0C", "Power Supply" }, + { "Tp0P", "Power Supply Proximity" }, + { "Tp1C", "Power Supply 2" }, + { "Tp1P", "Power Supply Component" }, + { "Tp1p", "Power Supply Component" }, + { "Tp2P", "Power Supply 2" }, + { "Tp2h", "Power Supply 2" }, + { "Tp2H", "Power Supply 2" }, + { "Tp3P", "Power Supply 3 Inlet" }, + { "Tp3h", "Power Supply 3" }, + { "Tp3H", "Power Supply 3" }, + { "Tp4P", "Power Supply 4" }, + { "Tp5P", "Power Supply 5" }, + /* Palm rest / trackpad */ + { "Ts0P", "Palm Rest" }, + { "Ts0S", "Memory Proximity" }, + { "Ts1P", "Palm Rest 2" }, + { "Ts1S", "Palm Rest 2" }, + /* Wireless */ + { "TW0P", "Wireless Proximity" }, + { "TW0p", "Wireless Proximity" }, + { "TBLR", "Bluetooth" }, + /* Camera */ + { "TS2P", "Camera Proximity" }, + { "TS2V", "Camera" }, + { "TS2p", "Camera Proximity" }, + /* Expansion */ + { "TS0C", "Expansion Slots" }, + { "TS0P", "Expansion Proximity" }, + { "TS0V", "Expansion" }, + { "TS0p", "Expansion Proximity" }, + /* Air vent */ + { "TV0P", "Air Vent" }, + /* VRM */ + { "Tv0S", "VRM 1" }, + { "Tv1S", "VRM 2" }, + /* Misc */ + { "TTF0", "Fan" }, + { "TMLB", "Logic Board" }, }; -static const struct asmc_model *asmc_match(device_t dev); - -#define ASMC_SMS_FUNCS \ - .smc_sms_x = asmc_mb_sysctl_sms_x, \ - .smc_sms_y = asmc_mb_sysctl_sms_y, \ - .smc_sms_z = asmc_mb_sysctl_sms_z - -#define ASMC_SMS_FUNCS_DISABLED \ - .smc_sms_x = NULL, \ - .smc_sms_y = NULL, \ - .smc_sms_z = NULL - -#define ASMC_FAN_FUNCS \ - .smc_fan_id = asmc_mb_sysctl_fanid, \ - .smc_fan_speed = asmc_mb_sysctl_fanspeed, \ - .smc_fan_safespeed = asmc_mb_sysctl_fansafespeed, \ - .smc_fan_minspeed = asmc_mb_sysctl_fanminspeed, \ - .smc_fan_maxspeed = asmc_mb_sysctl_fanmaxspeed, \ - .smc_fan_targetspeed = asmc_mb_sysctl_fantargetspeed - -#define ASMC_FAN_FUNCS2 \ - .smc_fan_id = asmc_mb_sysctl_fanid, \ - .smc_fan_speed = asmc_mb_sysctl_fanspeed, \ - .smc_fan_safespeed = NULL, \ - .smc_fan_minspeed = asmc_mb_sysctl_fanminspeed, \ - .smc_fan_maxspeed = asmc_mb_sysctl_fanmaxspeed, \ - .smc_fan_targetspeed = asmc_mb_sysctl_fantargetspeed - -#define ASMC_LIGHT_FUNCS \ - .smc_light_left = asmc_mbp_sysctl_light_left, \ - .smc_light_right = asmc_mbp_sysctl_light_right, \ - .smc_light_control = asmc_mbp_sysctl_light_control - -#define ASMC_LIGHT_FUNCS_10BYTE \ - .smc_light_left = asmc_mbp_sysctl_light_left_10byte, \ - .smc_light_right = NULL, \ - .smc_light_control = asmc_mbp_sysctl_light_control - -#define ASMC_LIGHT_FUNCS_DISABLED \ - .smc_light_left = NULL, \ - .smc_light_right = NULL, \ - .smc_light_control = NULL - -#define ASMC_TEMPS_FUNCS_DISABLED \ - .smc_temps = {}, \ - .smc_tempnames = {}, \ - .smc_tempdescs = {} \ - -static const struct asmc_model asmc_models[] = { - { - "MacBook1,1", "Apple SMC MacBook Core Duo", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS - }, - - { - "MacBook2,1", "Apple SMC MacBook Core 2 Duo", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS - }, - - { - "MacBook3,1", "Apple SMC MacBook Core 2 Duo", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MB31_TEMPS, ASMC_MB31_TEMPNAMES, ASMC_MB31_TEMPDESCS - }, - - { - "MacBook7,1", "Apple SMC MacBook Core 2 Duo (mid 2010)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MB71_TEMPS, ASMC_MB71_TEMPNAMES, ASMC_MB71_TEMPDESCS - }, - - { - "MacBookPro1,1", "Apple SMC MacBook Pro Core Duo (15-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro1,2", "Apple SMC MacBook Pro Core Duo (17-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro2,1", "Apple SMC MacBook Pro Core 2 Duo (17-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro2,2", "Apple SMC MacBook Pro Core 2 Duo (15-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro3,1", "Apple SMC MacBook Pro Core 2 Duo (15-inch LED)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro3,2", "Apple SMC MacBook Pro Core 2 Duo (17-inch HD)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS - }, - - { - "MacBookPro4,1", "Apple SMC MacBook Pro Core 2 Duo (Penryn)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP4_TEMPS, ASMC_MBP4_TEMPNAMES, ASMC_MBP4_TEMPDESCS - }, - - { - "MacBookPro5,1", "Apple SMC MacBook Pro Core 2 Duo (2008/2009)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP51_TEMPS, ASMC_MBP51_TEMPNAMES, ASMC_MBP51_TEMPDESCS - }, - - { - "MacBookPro5,5", "Apple SMC MacBook Pro Core 2 Duo (Mid 2009)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP55_TEMPS, ASMC_MBP55_TEMPNAMES, ASMC_MBP55_TEMPDESCS - }, - - { - "MacBookPro6,2", "Apple SMC MacBook Pro (Mid 2010, 15-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP62_TEMPS, ASMC_MBP62_TEMPNAMES, ASMC_MBP62_TEMPDESCS - }, - - { - "MacBookPro8,1", "Apple SMC MacBook Pro (early 2011, 13-inch)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP81_TEMPS, ASMC_MBP81_TEMPNAMES, ASMC_MBP81_TEMPDESCS - }, - - { - "MacBookPro8,2", "Apple SMC MacBook Pro (early 2011)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP82_TEMPS, ASMC_MBP82_TEMPNAMES, ASMC_MBP82_TEMPDESCS - }, - - { - "MacBookPro8,3", "Apple SMC MacBook Pro (early 2011, 17-inch)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP83_TEMPS, ASMC_MBP83_TEMPNAMES, ASMC_MBP83_TEMPDESCS - }, - - { - "MacBookPro9,1", "Apple SMC MacBook Pro (mid 2012, 15-inch)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP91_TEMPS, ASMC_MBP91_TEMPNAMES, ASMC_MBP91_TEMPDESCS - }, - - { - "MacBookPro9,2", "Apple SMC MacBook Pro (mid 2012, 13-inch)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP92_TEMPS, ASMC_MBP92_TEMPNAMES, ASMC_MBP92_TEMPDESCS - }, - - { - "MacBookPro11,2", "Apple SMC MacBook Pro Retina Core i7 (2013/2014)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP112_TEMPS, ASMC_MBP112_TEMPNAMES, ASMC_MBP112_TEMPDESCS - }, - - { - "MacBookPro11,3", "Apple SMC MacBook Pro Retina Core i7 (2013/2014)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP113_TEMPS, ASMC_MBP113_TEMPNAMES, ASMC_MBP113_TEMPDESCS - }, - - { - "MacBookPro11,4", "Apple SMC MacBook Pro Retina Core i7 (mid 2015, 15-inch)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP114_TEMPS, ASMC_MBP114_TEMPNAMES, ASMC_MBP114_TEMPDESCS - }, - - { - "MacBookPro11,5", - "Apple SMC MacBook Pro Retina Core i7 (mid 2015, 15-inch, AMD GPU)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP115_TEMPS, ASMC_MBP115_TEMPNAMES, ASMC_MBP115_TEMPDESCS - }, - - { - "MacBookPro13,1", "Apple SMC MacBook Pro Retina Core i5 (late 2016, 13-inch)", - ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, - ASMC_MBP131_TEMPS, ASMC_MBP131_TEMPNAMES, ASMC_MBP131_TEMPDESCS - }, - - /* The Mac Mini has no SMS */ - { - "Macmini1,1", "Apple SMC Mac Mini", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM_TEMPS, ASMC_MM_TEMPNAMES, ASMC_MM_TEMPDESCS - }, - - /* The Mac Mini 2,1 has no SMS */ - { - "Macmini2,1", "Apple SMC Mac Mini 2,1", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM21_TEMPS, ASMC_MM21_TEMPNAMES, ASMC_MM21_TEMPDESCS - }, - - /* The Mac Mini 3,1 has no SMS */ - { - "Macmini3,1", "Apple SMC Mac Mini 3,1", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM31_TEMPS, ASMC_MM31_TEMPNAMES, ASMC_MM31_TEMPDESCS - }, - - /* The Mac Mini 4,1 (Mid-2010) has no SMS */ - { - "Macmini4,1", "Apple SMC Mac mini 4,1 (Mid-2010)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM41_TEMPS, ASMC_MM41_TEMPNAMES, ASMC_MM41_TEMPDESCS - }, - - /* The Mac Mini 5,1 has no SMS */ - /* - same sensors as Mac Mini 5,2 */ - { - "Macmini5,1", "Apple SMC Mac Mini 5,1", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM52_TEMPS, ASMC_MM52_TEMPNAMES, ASMC_MM52_TEMPDESCS - }, - - /* The Mac Mini 5,2 has no SMS */ - { - "Macmini5,2", "Apple SMC Mac Mini 5,2", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM52_TEMPS, ASMC_MM52_TEMPNAMES, ASMC_MM52_TEMPDESCS - }, - - /* The Mac Mini 5,3 has no SMS */ - /* - same sensors as Mac Mini 5,2 */ - { - "Macmini5,3", "Apple SMC Mac Mini 5,3", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM52_TEMPS, ASMC_MM52_TEMPNAMES, ASMC_MM52_TEMPDESCS - }, - - /* The Mac Mini 6,1 has no SMS */ - { - "Macmini6,1", "Apple SMC Mac Mini 6,1", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM61_TEMPS, ASMC_MM61_TEMPNAMES, ASMC_MM61_TEMPDESCS - }, - - /* The Mac Mini 6,2 has no SMS */ - { - "Macmini6,2", "Apple SMC Mac Mini 6,2", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM62_TEMPS, ASMC_MM62_TEMPNAMES, ASMC_MM62_TEMPDESCS - }, - - /* The Mac Mini 7,1 has no SMS */ - { - "Macmini7,1", "Apple SMC Mac Mini 7,1", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MM71_TEMPS, ASMC_MM71_TEMPNAMES, ASMC_MM71_TEMPDESCS - }, - - /* Idem for the Mac Pro "Quad Core" (original) */ - { - "MacPro1,1", "Apple SMC Mac Pro (Quad Core)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MP1_TEMPS, ASMC_MP1_TEMPNAMES, ASMC_MP1_TEMPDESCS - }, - - /* Idem for the Mac Pro (Early 2008) */ - { - "MacPro3,1", "Apple SMC Mac Pro (Early 2008)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MP31_TEMPS, ASMC_MP31_TEMPNAMES, ASMC_MP31_TEMPDESCS - }, - - /* Idem for the Mac Pro (8-core) */ - { - "MacPro2", "Apple SMC Mac Pro (8-core)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MP2_TEMPS, ASMC_MP2_TEMPNAMES, ASMC_MP2_TEMPDESCS - }, - - /* Idem for the MacPro 2010*/ - { - "MacPro5,1", "Apple SMC MacPro (2010)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MP5_TEMPS, ASMC_MP5_TEMPNAMES, ASMC_MP5_TEMPDESCS - }, - - /* Idem for the Mac Pro 2013 (cylinder) */ - { - "MacPro6,1", "Apple SMC Mac Pro (2013)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MP6_TEMPS, ASMC_MP6_TEMPNAMES, ASMC_MP6_TEMPDESCS - }, - - { - "MacBookAir1,1", "Apple SMC MacBook Air", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MBA_TEMPS, ASMC_MBA_TEMPNAMES, ASMC_MBA_TEMPDESCS - }, - - { - "MacBookAir3,1", "Apple SMC MacBook Air Core 2 Duo (Late 2010)", - ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS_DISABLED, - ASMC_MBA3_TEMPS, ASMC_MBA3_TEMPNAMES, ASMC_MBA3_TEMPDESCS - }, - - { - "MacBookAir4,1", "Apple SMC Macbook Air 11-inch (Mid 2011)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA4_TEMPS, ASMC_MBA4_TEMPNAMES, ASMC_MBA4_TEMPDESCS - }, - - { - "MacBookAir4,2", "Apple SMC Macbook Air 13-inch (Mid 2011)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA4_TEMPS, ASMC_MBA4_TEMPNAMES, ASMC_MBA4_TEMPDESCS - }, - - { - "MacBookAir5,1", "Apple SMC MacBook Air 11-inch (Mid 2012)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA5_TEMPS, ASMC_MBA5_TEMPNAMES, ASMC_MBA5_TEMPDESCS - }, - - { - "MacBookAir5,2", "Apple SMC MacBook Air 13-inch (Mid 2012)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA5_TEMPS, ASMC_MBA5_TEMPNAMES, ASMC_MBA5_TEMPDESCS - }, - { - "MacBookAir6,1", "Apple SMC MacBook Air 11-inch (Early 2013)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_10BYTE, - ASMC_MBA6_TEMPS, ASMC_MBA6_TEMPNAMES, ASMC_MBA6_TEMPDESCS - }, - { - "MacBookAir6,2", "Apple SMC MacBook Air 13-inch (Early 2013)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_10BYTE, - ASMC_MBA6_TEMPS, ASMC_MBA6_TEMPNAMES, ASMC_MBA6_TEMPDESCS - }, - { - "MacBookAir7,1", "Apple SMC MacBook Air 11-inch (Early 2015)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA7_TEMPS, ASMC_MBA7_TEMPNAMES, ASMC_MBA7_TEMPDESCS - }, - { - "MacBookAir7,2", "Apple SMC MacBook Air 13-inch (Early 2015)", - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_MBA7_TEMPS, ASMC_MBA7_TEMPNAMES, ASMC_MBA7_TEMPDESCS - } -}; +static const char * +asmc_temp_desc(const char *key) +{ + unsigned int i; -static const struct asmc_model asmc_generic_models[] = { - { - .smc_model = "MacBookAir", - .smc_desc = NULL, - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_TEMPS_FUNCS_DISABLED - }, - { - .smc_model = "MacBookPro", - .smc_desc = NULL, - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, - ASMC_TEMPS_FUNCS_DISABLED - }, - { - .smc_model = "MacPro", - .smc_desc = NULL, - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_TEMPS_FUNCS_DISABLED - }, - { - .smc_model = "Macmini", - .smc_desc = NULL, - ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS_DISABLED, - ASMC_TEMPS_FUNCS_DISABLED + for (i = 0; i < nitems(asmc_temp_descs); i++) { + if (strcmp(asmc_temp_descs[i].key, key) == 0) + return (asmc_temp_descs[i].desc); } -}; - -#undef ASMC_SMS_FUNCS -#undef ASMC_SMS_FUNCS_DISABLED -#undef ASMC_FAN_FUNCS -#undef ASMC_FAN_FUNCS2 -#undef ASMC_LIGHT_FUNCS + return ("Temperature"); +} /* * Driver methods. @@ -651,44 +399,10 @@ DRIVER_MODULE(asmc, acpi, asmc_driver, NULL, NULL); MODULE_DEPEND(asmc, acpi, 1, 1, 1); MODULE_DEPEND(asmc, backlight, 1, 1, 1); -static const struct asmc_model * -asmc_match(device_t dev) -{ - const struct asmc_model *model; - char *model_name; - int i; - - model = NULL; - - model_name = kern_getenv("smbios.system.product"); - if (model_name == NULL) - goto out; - - for (i = 0; i < nitems(asmc_models); i++) { - if (strncmp(model_name, asmc_models[i].smc_model, - strlen(model_name)) == 0) { - model = &asmc_models[i]; - goto out; - } - } - for (i = 0; i < nitems(asmc_generic_models); i++) { - if (strncmp(model_name, asmc_generic_models[i].smc_model, - strlen(asmc_generic_models[i].smc_model)) == 0) { - model = &asmc_generic_models[i]; - goto out; - } - } - -out: - freeenv(model_name); - return (model); -} - static int asmc_probe(device_t dev) { - const struct asmc_model *model; - const char *device_desc; + char *product; int rv; if (resource_disabled("asmc", 0)) @@ -696,16 +410,9 @@ asmc_probe(device_t dev) rv = ACPI_ID_PROBE(device_get_parent(dev), dev, asmc_ids, NULL); if (rv > 0) return (rv); - - model = asmc_match(dev); - if (model == NULL) { - device_printf(dev, "model not recognized\n"); - return (ENXIO); - } - device_desc = model->smc_desc == NULL ? - model->smc_model : model->smc_desc; - device_set_desc(dev, device_desc); - + product = kern_getenv("smbios.system.product"); + device_set_descf(dev, "Apple %s", product ? product : "SMC"); + freeenv(product); return (rv); } @@ -718,7 +425,6 @@ asmc_attach(device_t dev) struct asmc_softc *sc = device_get_softc(dev); struct sysctl_ctx_list *sysctlctx; struct sysctl_oid *sysctlnode; - const struct asmc_model *model; sc->sc_ioport = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &sc->sc_rid_port, RF_ACTIVE); @@ -730,12 +436,20 @@ asmc_attach(device_t dev) sysctlctx = device_get_sysctl_ctx(dev); sysctlnode = device_get_sysctl_tree(dev); - model = asmc_match(dev); - mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); - sc->sc_model = model; - asmc_init(dev); + /* Read SMC revision, key count, fan count */ + ret = asmc_init(dev); + if (ret != 0) { + device_printf(dev, "SMC not responding\n"); + goto err; + } + + /* Probe SMC keys to detect capabilities */ + asmc_detect_capabilities(dev); + + /* Auto-detect and register voltage/current/power/ambient/temp sensors */ + asmc_detect_sensors(dev); /* * dev.asmc.n.fan.* tree. @@ -756,37 +470,43 @@ asmc_attach(device_t dev) SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "id", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_id, "I", "Fan ID"); + asmc_mb_sysctl_fanid, "I", "Fan ID"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "speed", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_speed, "I", "Fan speed in RPM"); - - SYSCTL_ADD_PROC(sysctlctx, - SYSCTL_CHILDREN(sc->sc_fan_tree[i]), - OID_AUTO, "safespeed", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_safespeed, "I", "Fan safe speed in RPM"); + asmc_mb_sysctl_fanspeed, "I", "Fan speed in RPM"); + + if (sc->sc_has_safespeed) { + SYSCTL_ADD_PROC(sysctlctx, + SYSCTL_CHILDREN(sc->sc_fan_tree[i]), + OID_AUTO, "safespeed", + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, + asmc_mb_sysctl_fansafespeed, "I", + "Fan safe speed in RPM"); + } SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "minspeed", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_minspeed, "I", "Fan minimum speed in RPM"); + asmc_mb_sysctl_fanminspeed, "I", + "Fan minimum speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "maxspeed", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_maxspeed, "I", "Fan maximum speed in RPM"); + asmc_mb_sysctl_fanmaxspeed, "I", + "Fan maximum speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "targetspeed", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, - model->smc_fan_targetspeed, "I", "Fan target speed in RPM"); + asmc_mb_sysctl_fantargetspeed, "I", + "Fan target speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), @@ -803,19 +523,19 @@ asmc_attach(device_t dev) SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "temp", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Temperature sensors"); - for (i = 0; model->smc_temps[i]; i++) { + for (i = 0; i < sc->sc_temp_count; i++) { SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_temp_tree), - OID_AUTO, model->smc_tempnames[i], + OID_AUTO, sc->sc_temp_sensors[i], CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, i, asmc_temp_sysctl, "I", - model->smc_tempdescs[i]); + asmc_temp_desc(sc->sc_temp_sensors[i])); } /* * dev.asmc.n.light */ - if (model->smc_light_left) { + if (sc->sc_has_light) { sc->sc_light_tree = SYSCTL_ADD_NODE(sysctlctx, SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "light", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, @@ -825,21 +545,29 @@ asmc_attach(device_t dev) SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "left", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, - dev, 0, model->smc_light_left, "I", - "Keyboard backlight left sensor"); - - SYSCTL_ADD_PROC(sysctlctx, - SYSCTL_CHILDREN(sc->sc_light_tree), - OID_AUTO, "right", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, - model->smc_light_right, "I", - "Keyboard backlight right sensor"); + dev, 0, + sc->sc_light_len == ASMC_LIGHT_LONGLEN ? + asmc_mbp_sysctl_light_left_10byte : + asmc_mbp_sysctl_light_left, + "I", "Keyboard backlight left sensor"); + + if (sc->sc_light_len != ASMC_LIGHT_LONGLEN && + asmc_key_getinfo(dev, ASMC_KEY_LIGHTRIGHT, + NULL, NULL) == 0) { + SYSCTL_ADD_PROC(sysctlctx, + SYSCTL_CHILDREN(sc->sc_light_tree), + OID_AUTO, "right", + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, + dev, 0, + asmc_mbp_sysctl_light_right, "I", + "Keyboard backlight right sensor"); + } SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "control", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, - dev, 0, model->smc_light_control, "I", + dev, 0, asmc_mbp_sysctl_light_control, "I", "Keyboard backlight brightness control"); sc->sc_kbd_bkl = backlight_register("asmc", dev); @@ -887,9 +615,14 @@ asmc_attach(device_t dev) "SMC key type (4 chars)"); #endif - if (model->smc_sms_x == NULL) + if (!sc->sc_has_sms) goto nosms; + /* + * Initialize SMS hardware. + */ + asmc_sms_init(dev); + /* * dev.asmc.n.sms tree. */ @@ -901,21 +634,21 @@ asmc_attach(device_t dev) SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "x", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, - dev, 0, model->smc_sms_x, "I", + dev, 0, asmc_mb_sysctl_sms_x, "I", "Sudden Motion Sensor X value"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "y", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, *** 1483 LINES SKIPPED *** From nobody Thu Apr 30 05:20:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5jDz5Xnlz6ZW4p for ; Thu, 30 Apr 2026 05:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5jDz51Lkz3bWK for ; Thu, 30 Apr 2026 05:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777526451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lmoV/si0t7IbxCCvsQdKajMmr/wYF89y352NbeiWbEI=; b=UaP6AUqWyEyMmgXgAIBA4Sm4Hd3QgxIwp5ZH20ZN7cy8rW/PO3rSpOohW1TiWKB7lgcLu4 31uttbncr4rpvxHLPRNTeRy8Godl7Z2QLDOzNkcGkGjNm7br7/xKvarRxHN9kth5BaVFzp H9M7mbi1DibrNn78KRNq340SIXxe0PUwG8SbHIuF/8Iz2YgycARSuV60MVzaCG8USOYk1j dc0WGtBX/459hjU7ChDdn/b2xa3yOGCYPdFmrYtDxR0f96Ajdwd1odtdK40WWrwbsUUwVL XQEkISIXwKUM20zkWOqCBW+zk95J/lR2QbZvR/niMLQCJz5dmDsopgIuTxrbbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777526451; a=rsa-sha256; cv=none; b=oEWxnxz4nlPMGWSOjUXffvQLqoXDkWy99o3RW8wxnQLK+LAE4+KEp6zRrRT2r3uwavo3rE Vdd/KV3YefABnMI/8PwWhrzaxOOPE72yo8XIVd5QqFpPNJ2ntScdPnP8iiDWzckINyT9IM 6gh9Yd90geKXHxLVGiQUX+nl2Co7X3un4dD/wYWOub8LIpMBRYxLMzlkaPV+BW2ZmaQMU/ OFTXf+wXSrQ+nHyzm210YngpHNVruzpL5oeGGvWbhXg4LLTmdZGO/lIK+xhhmg2Xlxq3nq CrWDu4PCgy6N7BNJ7bHzfgnnIczopU9+mkp/NxqRmAHIdFl3rfvwo+4CsnI0rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777526451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lmoV/si0t7IbxCCvsQdKajMmr/wYF89y352NbeiWbEI=; b=CceP2zsv5IA58ixTQv9m2cSm9a2VdPwcSEEYYN9chPNiz7PbDq+U38VtGe8W1fl27Or6dk dGyzCx5ICEuZyob5cy0DgYglu4uD1gY1Ti0GeLax5NJghf4Qv6PBLfTmJLc2duCMTNCOJz Zx3zIUfhqHyUCEoXVcs6vcNM9CY5MNAdw1lIV0fKfFcYDQG4DxEYLL/0Wzz5exztoVGyNP 4HS59ng5wBBnqsza2EcA63bjNDqZWYyt6JX6wEnKJHsoTQ0OtsRAvU1FgoZouAr8PYr53R bnYzsJfvZ/CXL5IWekZxqzPv53a405Gonw/6SKu4lb8LJCmhDUkggno0ub3xLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5jDz4Vzxz1C6C for ; Thu, 30 Apr 2026 05:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22073 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 05:20:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stephen J. Kiernan Subject: git: b683fd0b3206 - main - preload: add "show preload" DDB command List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b683fd0b3206b35214f7f87805246e5c74552942 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 05:20:51 +0000 Message-Id: <69f2e6b3.22073.38fe94f3@gitrepo.freebsd.org> The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=b683fd0b3206b35214f7f87805246e5c74552942 commit b683fd0b3206b35214f7f87805246e5c74552942 Author: Stephen J. Kiernan AuthorDate: 2026-04-30 05:19:09 +0000 Commit: Stephen J. Kiernan CommitDate: 2026-04-30 05:20:12 +0000 preload: add "show preload" DDB command This is the DDB equivalent of the debug.dump_modinfo sysctl which outputs pretty-printed bootloader metadata. Move sbuf_db_printf_drain to subr_prf.c and expose it for general use. Reviewed By: jmg Differential Revision: https://reviews.freebsd.org/D53763 --- sys/kern/subr_module.c | 20 ++++++++++++++++++++ sys/kern/subr_prf.c | 9 +++++++++ sys/kern/subr_witness.c | 6 ------ sys/sys/sbuf.h | 3 +++ 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_module.c b/sys/kern/subr_module.c index 92f22206f8cf..b2d723fef038 100644 --- a/sys/kern/subr_module.c +++ b/sys/kern/subr_module.c @@ -28,6 +28,9 @@ * SUCH DAMAGE. */ +#include +#include "opt_ddb.h" + #include #include #include @@ -39,6 +42,10 @@ #include #include +#ifdef DDB +#include +#endif + /* * Preloaded module support */ @@ -607,3 +614,16 @@ SYSCTL_PROC(_debug, OID_AUTO, dump_modinfo, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, sysctl_preload_dump, "A", "pretty-print the bootloader metadata"); + +#ifdef DDB +DB_SHOW_COMMAND_FLAGS(preload, db_show_preload, DB_CMD_MEMSAFE) +{ + struct sbuf sb; + char buffer[128]; + + sbuf_new(&sb, buffer, sizeof(buffer), SBUF_FIXEDLEN); + sbuf_set_drain(&sb, sbuf_db_printf_drain, NULL); + preload_dump_internal(&sb); + sbuf_finish(&sb); +} +#endif diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index bbf81b7a4ffe..35b5ee8ccdc8 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -1358,3 +1358,12 @@ sbuf_printf_drain(void *arg, const char *data, int len) return (r); } + +#if defined(_KERNEL) && defined(DDB) +int +sbuf_db_printf_drain(void *arg __unused, const char *data, int len) +{ + + return (db_printf("%.*s", len, data)); +} +#endif diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index 85dc0c321797..3c192b2b0dce 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -3121,12 +3121,6 @@ sysctl_debug_witness_badstacks(SYSCTL_HANDLER_ARGS) } #ifdef DDB -static int -sbuf_db_printf_drain(void *arg __unused, const char *data, int len) -{ - return (db_printf("%.*s", len, data)); -} - DB_SHOW_COMMAND_FLAGS(badstacks, db_witness_badstacks, DB_CMD_MEMSAFE) { struct sbuf sb; diff --git a/sys/sys/sbuf.h b/sys/sys/sbuf.h index 60dcda53a461..e9959d7b2a13 100644 --- a/sys/sys/sbuf.h +++ b/sys/sys/sbuf.h @@ -114,6 +114,9 @@ struct uio; struct sbuf *sbuf_uionew(struct sbuf *, struct uio *, int *); int sbuf_bcopyin(struct sbuf *, const void *, size_t); int sbuf_copyin(struct sbuf *, const void *, size_t); +#ifdef DDB +int sbuf_db_printf_drain(void *arg, const char *data, int len); +#endif #endif __END_DECLS From nobody Thu Apr 30 07:18:29 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrj3FWZz6bCnP for ; Thu, 30 Apr 2026 07:18:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5lrj0b1Dz3p3Z for ; Thu, 30 Apr 2026 07:18:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNWjbttZ2E3G4Z9GfzMGO4rim4/5VUgciR3+BXc1cIA=; b=Ulvd9fU4Mbd7TwEA2v98Uy/+oMvRWHqgYmRJuMYdumi2LzbVrekuwhnaK23qLsU6zJwAJp PpNSM65ziYvbUaR2a190nN8VIYB/LQCw2wC20AtvrxVWRaNi5V4S/JPwM1JcX4iJsuFUmI UnXa2feMScy9OBkSfc1C0b8AhY56Ba/vkOibYtkfM8HVpY2z0kFAuN3sJJVVweM7eaKdZE X1Fds754xsf0tOBRfBxaMt5ML6RFXFt2OZ5CCXgEY2YOOdKVe8cHE1hRxpFvqdd4+QsP40 goMQSBUm0oHgP6R1xDRLd+vaEFumoupFWQkV7KZVeMiX2rzC52+YMzvqsgSsQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777533509; a=rsa-sha256; cv=none; b=Zn+Qqyh8sU1PdcHeiMtvFcV0fB3wDfQ6GWHRprm/8V7uz8EsT1I8QQby5E0iaybFLT+kPb 2Cayww5w7DcsH1YxALfQXroCin3R48MCxbufIpkjt0903LGfzIutcpqlyUPhF6pKApQShs jCEujAD75rvSpbLkqyv+1bR8bRy9IFmZZBoe+XWI0wHiYcdBw59jXfl7GVq7+FdaQp7EWE X9/TurCQ7hjcUnROFiPNRWAFJHlNrtFZyeAANzu+k/DMByzHH8ylodaqMhSQqLkIDSdY2N PDc1WGcmVJzwfl5lRUXn1+vso7IJBHGX57kYAXi3FMub7gedeJVj0qFowD1ACA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNWjbttZ2E3G4Z9GfzMGO4rim4/5VUgciR3+BXc1cIA=; b=XdIC4Dk/D38T4AbpqumrfASrXr7x2ov8FKDvrBRVay9jOEuZMVWa7aV1fV81IIKcecFKXU lH1olnMTbbEcR1aDFFkByOGz6uWiuk89aeAIfFAOjHMvKm2BSlK+X9VSB59hTstLhrqrj7 qcmHgCjb9JYwv1gyqVRaiIx8VpRFZ3Pk33txtT0zwxrFzIm6MwK0cZ7D5Bvd5c5doUI+cG TfhkCOfyaxmN+Evoy4qoeJjH805REFTC94N9m5joLqrdKA4R/Y3Jm6WbS1Z8ImIP18Q4HN StzojOBzkNZlLBOTaVyhJAcOQLMIqfxN0nKLt0dUnh4avtdczYPkf6K9ag7o7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrj0BTDz1G20 for ; Thu, 30 Apr 2026 07:18:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3699a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 07:18:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 783d018cf954 - main - linuxkpi: Add `struct xa_limit` support to xarray List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 783d018cf954f99032a0a4f655af8916024598a8 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 07:18:29 +0000 Message-Id: <69f30245.3699a.5ff2d68e@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=783d018cf954f99032a0a4f655af8916024598a8 commit 783d018cf954f99032a0a4f655af8916024598a8 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-13 21:39:22 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 07:05:01 +0000 linuxkpi: Add `struct xa_limit` support to xarray The `xa_alloc*()` functions family takes a `struct xa_limit` to describe the range of IDs the caller wants to allocate. We were using a single mask to qualify a maximum ID only. This commit changes that to use the same `struct xa_limit`. The logic did not change, except it now supports a minimum ID as well. The definition of `XA_LIMIT()` macro is adapted, as well as the definitions of `xa_limit_*` (only `xa_limit_32b` existed, the other two are added with this commit). The DRM generic code started to use this `struct xa_limit` in Linux 6.12. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56445 --- sys/compat/linuxkpi/common/include/linux/xarray.h | 26 ++++++++------ sys/compat/linuxkpi/common/src/linux_xarray.c | 41 ++++++++++------------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/xarray.h b/sys/compat/linuxkpi/common/include/linux/xarray.h index fba36eea0ab5..e6511130d50c 100644 --- a/sys/compat/linuxkpi/common/include/linux/xarray.h +++ b/sys/compat/linuxkpi/common/include/linux/xarray.h @@ -34,9 +34,6 @@ #include #include -#define XA_LIMIT(min, max) \ - ({ CTASSERT((min) == 0); (uint32_t)(max); }) - #define XA_FLAGS_ALLOC (1U << 0) #define XA_FLAGS_LOCK_IRQ (1U << 1) #define XA_FLAGS_ALLOC1 (1U << 2) @@ -47,8 +44,6 @@ #define xa_is_err(x) \ IS_ERR(x) -#define xa_limit_32b XA_LIMIT(0, 0xFFFFFFFF) - #define XA_ASSERT_LOCKED(xa) mtx_assert(&(xa)->xa_lock, MA_OWNED) #define xa_lock(xa) mtx_lock(&(xa)->xa_lock) #define xa_unlock(xa) mtx_unlock(&(xa)->xa_lock) @@ -59,15 +54,26 @@ struct xarray { uint32_t xa_flags; /* see XA_FLAGS_XXX */ }; +struct xa_limit { + uint32_t max; + uint32_t min; +}; + +#define XA_LIMIT(min_, max_) (struct xa_limit){ .min = (min_), .max = (max_) } + +#define xa_limit_16b XA_LIMIT(0, USHRT_MAX) +#define xa_limit_31b XA_LIMIT(0, INT_MAX) +#define xa_limit_32b XA_LIMIT(0, UINT_MAX) + /* * Extensible arrays API implemented as a wrapper * around the radix tree implementation. */ void *xa_erase(struct xarray *, uint32_t); void *xa_load(struct xarray *, uint32_t); -int xa_alloc(struct xarray *, uint32_t *, void *, uint32_t, gfp_t); -int xa_alloc_cyclic(struct xarray *, uint32_t *, void *, uint32_t, uint32_t *, gfp_t); -int xa_alloc_cyclic_irq(struct xarray *, uint32_t *, void *, uint32_t, uint32_t *, gfp_t); +int xa_alloc(struct xarray *, uint32_t *, void *, struct xa_limit, gfp_t); +int xa_alloc_cyclic(struct xarray *, uint32_t *, void *, struct xa_limit, uint32_t *, gfp_t); +int xa_alloc_cyclic_irq(struct xarray *, uint32_t *, void *, struct xa_limit, uint32_t *, gfp_t); int xa_insert(struct xarray *, uint32_t, void *, gfp_t); void *xa_store(struct xarray *, uint32_t, void *, gfp_t); void xa_init_flags(struct xarray *, uint32_t); @@ -83,8 +89,8 @@ void *xa_next(struct xarray *, unsigned long *, bool); * Unlocked version of functions above. */ void *__xa_erase(struct xarray *, uint32_t); -int __xa_alloc(struct xarray *, uint32_t *, void *, uint32_t, gfp_t); -int __xa_alloc_cyclic(struct xarray *, uint32_t *, void *, uint32_t, uint32_t *, gfp_t); +int __xa_alloc(struct xarray *, uint32_t *, void *, struct xa_limit, gfp_t); +int __xa_alloc_cyclic(struct xarray *, uint32_t *, void *, struct xa_limit, uint32_t *, gfp_t); int __xa_insert(struct xarray *, uint32_t, void *, gfp_t); void *__xa_store(struct xarray *, uint32_t, void *, gfp_t); bool __xa_empty(struct xarray *); diff --git a/sys/compat/linuxkpi/common/src/linux_xarray.c b/sys/compat/linuxkpi/common/src/linux_xarray.c index 8caefbaf7e50..4a305f8d58b6 100644 --- a/sys/compat/linuxkpi/common/src/linux_xarray.c +++ b/sys/compat/linuxkpi/common/src/linux_xarray.c @@ -115,19 +115,16 @@ xa_vm_wait_locked(struct xarray *xa) * available to complete the radix tree insertion. */ int -__xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, gfp_t gfp) +__xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, struct xa_limit limit, gfp_t gfp) { int retval; XA_ASSERT_LOCKED(xa); - /* mask should allow to allocate at least one item */ - MPASS(mask > ((xa->xa_flags & XA_FLAGS_ALLOC1) != 0 ? 1 : 0)); - - /* mask can be any power of two value minus one */ - MPASS((mask & (mask + 1)) == 0); + MPASS(limit.max > limit.min); *pindex = (xa->xa_flags & XA_FLAGS_ALLOC1) != 0 ? 1 : 0; + *pindex = MAX(*pindex, limit.min); if (ptr == NULL) ptr = NULL_VALUE; retry: @@ -135,7 +132,7 @@ retry: switch (retval) { case -EEXIST: - if (likely(*pindex != mask)) { + if (likely(*pindex < limit.max)) { (*pindex)++; goto retry; } @@ -154,7 +151,7 @@ retry: } int -xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, gfp_t gfp) +xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, struct xa_limit limit, gfp_t gfp) { int retval; @@ -162,7 +159,7 @@ xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, gfp_t gf ptr = NULL_VALUE; xa_lock(xa); - retval = __xa_alloc(xa, pindex, ptr, mask, gfp); + retval = __xa_alloc(xa, pindex, ptr, limit, gfp); xa_unlock(xa); return (retval); @@ -175,7 +172,7 @@ xa_alloc(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, gfp_t gf * beginning of the array. If the xarray is full -ENOMEM is returned. */ int -__xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, +__xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, struct xa_limit limit, uint32_t *pnext_index, gfp_t gfp) { int retval; @@ -183,13 +180,10 @@ __xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, XA_ASSERT_LOCKED(xa); - /* mask should allow to allocate at least one item */ - MPASS(mask > ((xa->xa_flags & XA_FLAGS_ALLOC1) != 0 ? 1 : 0)); - - /* mask can be any power of two value minus one */ - MPASS((mask & (mask + 1)) == 0); + MPASS(limit.max > limit.min); *pnext_index = (xa->xa_flags & XA_FLAGS_ALLOC1) != 0 ? 1 : 0; + *pnext_index = MAX(*pnext_index, limit.min); if (ptr == NULL) ptr = NULL_VALUE; retry: @@ -197,14 +191,15 @@ retry: switch (retval) { case -EEXIST: - if (unlikely(*pnext_index == mask) && !timeout--) { + if (unlikely(*pnext_index == limit.max) && !timeout--) { retval = -ENOMEM; break; } (*pnext_index)++; - (*pnext_index) &= mask; - if (*pnext_index == 0 && (xa->xa_flags & XA_FLAGS_ALLOC1) != 0) - (*pnext_index)++; + if (*pnext_index > limit.max) { + *pnext_index = (xa->xa_flags & XA_FLAGS_ALLOC1) != 0 ? 1 : 0; + *pnext_index = MAX(*pnext_index, limit.min); + } goto retry; case -ENOMEM: if (likely(gfp & M_WAITOK)) { @@ -221,13 +216,13 @@ retry: } int -xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, +xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, struct xa_limit limit, uint32_t *pnext_index, gfp_t gfp) { int retval; xa_lock(xa); - retval = __xa_alloc_cyclic(xa, pindex, ptr, mask, pnext_index, gfp); + retval = __xa_alloc_cyclic(xa, pindex, ptr, limit, pnext_index, gfp); xa_unlock(xa); return (retval); @@ -235,12 +230,12 @@ xa_alloc_cyclic(struct xarray *xa, uint32_t *pindex, void *ptr, uint32_t mask, int xa_alloc_cyclic_irq(struct xarray *xa, uint32_t *pindex, void *ptr, - uint32_t mask, uint32_t *pnext_index, gfp_t gfp) + struct xa_limit limit, uint32_t *pnext_index, gfp_t gfp) { int retval; xa_lock_irq(xa); - retval = __xa_alloc_cyclic(xa, pindex, ptr, mask, pnext_index, gfp); + retval = __xa_alloc_cyclic(xa, pindex, ptr, limit, pnext_index, gfp); xa_unlock_irq(xa); return (retval); From nobody Thu Apr 30 07:18:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrk4NRtz6bCnQ for ; Thu, 30 Apr 2026 07:18: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 4g5lrk1tKrz3p5c for ; Thu, 30 Apr 2026 07:18:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKGVEu9vHlb4Smgcl/sI4RFOW9o4ilRLnKujBmpNOhg=; b=oZS39ONiL3iOKhGGi9ycE27UPW105wByuhuBKbLgLLixuC6o9zzSVWmpMGQp3hWMejFlw+ /qopUPhBVbeaYTPcxv1DzzBMnRFsUOn6tVSeqX3/K57Lsp69nw1izC3Ih/DjHY3vuZf0JD 4YLVArY4mcsMNwH271VhTA31Ym+TMXjeQruOv8OZ5HtnGMoKlFr3Fi/TN4M8sAdOtRoVr1 JV9h+1M5vuV4o8SRVQsOcHzflBVQ3gZf4q1AoRG1/GxlU076+MW0JGoa+nJ4aEakFbVjtJ 13Wdl0xXP70zMTafFhZY7Ca1SyaEknD89kmoedG5HjK7grJJai5jSSxM585Eww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777533510; a=rsa-sha256; cv=none; b=H0wbswnJyHCXno2FTaE6sbCCByURbSWH81G4kWNdO67jVK2YBpkJ5RfTOW6LEFTr1nmdY8 GQF2PMWrGBPCFVVnVx8P2WqBXzf94SGsrxrazkARbRcxVEgoEidOGRElqAg1yJGdmckqhC LjY7CN8B7a1RZ6wnt/xpN/5rJIpaCxLO6yW4SD+7zyDM/MVWYuK1A7L+rpXX1aToAvLX2W 3S0GXxogycjkvHsISslZfG0wOb7B2fquoAnenmjtNNkNy2RYZhWcWI3gbL41vvwqyaZo0B GRNvd8x7uRPqIXtlFhuGyeRHkeCWcMunofvtyZTMEfbX4K637jmaQ5RCgc7z5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKGVEu9vHlb4Smgcl/sI4RFOW9o4ilRLnKujBmpNOhg=; b=Lg/lo+/kteEcBrBO+gcyqvz+idNNDtnekfqO3u2shrYMH2c+/c6TzrQENX/AxrXyvkS5Q4 Ty3XB7s5F47ubUK1s9PZtY+vPePpjdcE9Kgf3Cq0TAU6dpZY0O8WRlPJmjZLAmNndPF2nP dPdpeGm+tZH/TOqHUVfd2LJAeDKFgXCchkezLI3/a3GRmWZ6g3re/vkDsLFzOQbRz6rim8 gktNl7vUZlLdyATAbhOJIHX0fLJNNIZNpmEB5fqel7xFRCKrnuQNl/4/Gup7U0v8dDrTC9 FvJGdWMainbepAQSNKaqt7YGG//YzmErsk3AvzEwbcb8iEGSJBvrePXme6zoew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrk1K3rz1GJb for ; Thu, 30 Apr 2026 07:18:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37197 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 07:18:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 796fff59a5d3 - main - linuxkpi: Define `DEFINE_XARRAY*()` macros List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 796fff59a5d32bc3be14feaeb228fc15ef43eb32 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 07:18:30 +0000 Message-Id: <69f30246.37197.6ebce159@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=796fff59a5d32bc3be14feaeb228fc15ef43eb32 commit 796fff59a5d32bc3be14feaeb228fc15ef43eb32 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-13 21:44:16 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 07:05:02 +0000 linuxkpi: Define `DEFINE_XARRAY*()` macros The `DEFINE_XARRAY*()` macros are used to declare a static xarray. As the structure embeds a mutex(9), we also need to declare the static mutex after the `struct xarray`. Thus the slightly awkward definition of `DEFINE_XARRAY_FLAGS()`. The DRM generic code started to use `DEFINE_XARRAY_ALLOC()` in Linux 6.12. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56446 --- sys/compat/linuxkpi/common/include/linux/xarray.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/xarray.h b/sys/compat/linuxkpi/common/include/linux/xarray.h index e6511130d50c..b26aa6f0d13a 100644 --- a/sys/compat/linuxkpi/common/include/linux/xarray.h +++ b/sys/compat/linuxkpi/common/include/linux/xarray.h @@ -54,6 +54,18 @@ struct xarray { uint32_t xa_flags; /* see XA_FLAGS_XXX */ }; +#define DEFINE_XARRAY_FLAGS(name, flags) \ + struct xarray name = { \ + .xa_head.gfp_mask = GFP_NOWAIT, \ + .xa_flags = flags, \ + }; \ + MTX_SYSINIT(name ## _mtx, &name.xa_lock, \ + "linuxkpi_DEFINE_XARRAY(" #name ")", \ + MTX_DEF | MTX_RECURSE) + +#define DEFINE_XARRAY(name) DEFINE_XARRAY_FLAGS(name, 0) +#define DEFINE_XARRAY_ALLOC(name) DEFINE_XARRAY_FLAGS(name, XA_FLAGS_ALLOC) + struct xa_limit { uint32_t max; uint32_t min; From nobody Thu Apr 30 07:18:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrl5TQKz6bCgH for ; Thu, 30 Apr 2026 07:18: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 4g5lrl2wB9z3pDs for ; Thu, 30 Apr 2026 07:18:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dJOZlLw09Dyei2rf6LSnhJoogFAldnrKjgIQpG6/9N4=; b=efHSIAts9HERxUa1ClhrBvQjw7qhCdFE8u68BZ19zYhcTelolr8gIWxTB+2Egwo20TQDZc woHxfmdoXm56F9VdaGkVwwPxUeS8NPzIYiMoh+p6pNjlEAQ5lrbXUFYIvPB90cY9y03TIL i8grV4rkp/+xq+utHMe2Gsx+r0nKdbIiCVr47sfjDr7Xc7mm/hKWSFY1vUAFfRuFaVq5O1 8T8minwWOuJdFASpzZvMAx75jQrN6Keg0nRqHByOfXp9AJIoLITpuwhPEGDZ7kVyJeRHA/ +rp+Iol6Gh092WDzzByVM/7rKtazuRm2049F42iD3QfNhwS5eWHiIx9XFAdiCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777533511; a=rsa-sha256; cv=none; b=GzmzP8UCwhOIZApslHYAWP8hQwe3SaEY+D7XDRGtoRp32N+MP/ev11wTwHLAf6lzOwv7a5 5c+41480r+8oVAywhyfwzZKHnWjAfBHSa0x7CbGrJNyIT9BY671Wi/j+Vg9kTkHPmctMMA y7BsTGzm9xAo9J3N/eJAXvPXjZllGRV1FoRmNZWwcybRAyChm8jNjNG3hFRZhsVmbOO2w/ PzivhY5Cbm7RMlTNICa1y69vspQnTb4vrcJn53cvcZ2MmA/7Kl5QO44wgDeQgPe9u9an4D ne04AwGbBJy6hcogB5RqtZ0P22euQh/h7ilwEEBf+kDrX2kRqrixdklXOluXIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777533511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dJOZlLw09Dyei2rf6LSnhJoogFAldnrKjgIQpG6/9N4=; b=rHdWs54qeGsDXjAhSaSW17YWzSoRXNvQ6jY0ZiKy7Wh09Lx52w7yZcOy3Vo9fU6A1fUNc/ S2TYWg4o6D1ciTK6KEBkORK6joV8KiLcC4p3MWwYqQLmAjj1ETZLgPo15TF/jN7vnzBV9j 6N8GdyseyzH5QxOwKX3GDNNb3ssGKA1v16tGWlZ+6uS1BysfzqbUhEKF11971n6IcXzftv Q416sAvucAnSUT2ccEZF5hqJLrXkEPM6+dLKCWSlmPrTcVDyuMiRR4QxAlVaUATPCrixMu Fr0NflUIzeianFScwQZVBwo89+tQ7EbWmjPxKL/T93aqzIOdlCtcbAPt5L2LKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5lrl2B5Nz1GCj for ; Thu, 30 Apr 2026 07:18:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 347be by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 07:18:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 713b4ce8ef46 - main - linuxkpi: Add `copy_from_user_inatomic_nontemporal()` function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 713b4ce8ef46d7df4ffe50ab6733bb128dbe3cbd Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 07:18:31 +0000 Message-Id: <69f30247.347be.7ccf593c@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=713b4ce8ef46d7df4ffe50ab6733bb128dbe3cbd commit 713b4ce8ef46d7df4ffe50ab6733bb128dbe3cbd Author: Jean-Sébastien Pédron AuthorDate: 2026-04-29 22:14:59 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 07:05:02 +0000 linuxkpi: Add `copy_from_user_inatomic_nontemporal()` function In Linux 7.1, `__copy_from_user_inatomic_nocache()` was renamed to `copy_from_user_inatomic_nontemporal()`. This change was backported to several LTS branches. This includes Linux 6.12.x and the i915 DRM driver started to use it in that version. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56719 --- sys/compat/linuxkpi/common/include/linux/uaccess.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/uaccess.h b/sys/compat/linuxkpi/common/include/linux/uaccess.h index 660e84e6af3b..97fb2e3a7420 100644 --- a/sys/compat/linuxkpi/common/include/linux/uaccess.h +++ b/sys/compat/linuxkpi/common/include/linux/uaccess.h @@ -111,5 +111,12 @@ __copy_from_user_inatomic(void *to, const void __user *from, } #define __copy_from_user_inatomic_nocache(to, from, n) \ __copy_from_user_inatomic((to), (from), (n)) +/* + * __copy_from_user_inatomic_nocache() was renamed to + * copy_from_user_inatomic_nontemporal() in Linux 7.1. The change was + * backported to at least several LTS branches. + */ +#define copy_from_user_inatomic_nontemporal(to, from, n) \ + __copy_from_user_inatomic((to), (from), (n)) #endif /* _LINUXKPI_LINUX_UACCESS_H_ */ From nobody Thu Apr 30 09:14:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5pQk3Bf1z6bQl9 for ; Thu, 30 Apr 2026 09:14: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 4g5pQk2Mhxz456J for ; Thu, 30 Apr 2026 09:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777540478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CH8n1kBqfe1hsyDfpkcaz314HN3rK+RiwdURzZpDL8=; b=xgJPgVYDhOCKCAkubzf6PC88+ZbPZIOiVaF3N3+qEnQmutMIbTBseX3qDVBikuLFzpDhtg wsTBVaCM+Bh4eOIMEMcxSKcTYG5lzOirXVJ432t0EI/ub80mKvUmdHaCBOJAGDZxsENjGf EWHZCOEWw1ZNItEyrBRTcaDiPwPUBoHrOV7tSyPVdDO0Z8xoLdQ2bqwmAULphgzEU+zco3 xNI0AavoDrGAII/Dt5OgQIlayzeCWCeOpnaBWRDW0ABg23mGSF8oaQJ/NgZ/IHVAdpfFcH cgXmoVW7SCNicGp5BnhuAtVxtwoUmP9wntfD+p6Yv4FGkCO/dcwS7zMjYjJJ5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777540478; a=rsa-sha256; cv=none; b=IW+d/EeWvBvcPgIKp+yKQoGNY6cC8JL2j5Ji1697qwEojdGRjKc0mlyiT8RP0Ft/OjmN/L 8lXavtapo88DhdrCnD7Gt0wDjrqwBpGr6cYinIlwDAvLsIQ31i+ASEW2M+gZEBh2fEOjjp kWUfxgKYsm/gB/UHnZsQHcnc40oSuZOqKxnsJdnDicYpu/tSBwlMO4tSg5sxTdwd5f6PBR 1AS9ZZSdNWRlA5/Pi9iap83hv8boDzY99CH5BzD2oDfHeo6byGVihHac7r3mpzcuKGeg0E X3Tib6igSZdOL7Nku3sabnLIXe7+YaLBewwfFUoFaE5ILmsQ/3p9v8OqhoiMig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777540478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CH8n1kBqfe1hsyDfpkcaz314HN3rK+RiwdURzZpDL8=; b=PadeDmr1pPuTQT7bNryJIt8kYG9XE/128WoVdw3h2Fn95BY5Reyvs3Q/wE2HGmzcQvWGE8 y7/Ou1dZ7zWisR0p3O+38IQw5DfcbGgBKhR1uncg23rmyPWtneXHkxSyAlfpOMxjWe8tKl BVQRa56Rha+5/1qiQCkRY0Xtak6V9pboORLimngaAz74fQV48049jIkR/NssxIvUa2aobc XVxSdJkLlQvjBa9vpeMm+SPj+ZwtmTI78zBES1w6cO2PXDHptQR4HlSsJIZPfdJv5JHvqA uR1EtGU04d6eR6yasETXxM2hd2qF4CAXlX06xTQYNpWC7W4dUFuTq46/uNPKJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5pQk1t2Mz1KFw for ; Thu, 30 Apr 2026 09:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 415c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 09:14:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Corvi=?utf-8?Q?n K=C3=B6h?=ne Subject: git: 75909086a45d - main - bhyve: allow read/write to full CRB buffer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75909086a45da3c5aeaff8152728111cf798c6bc Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 09:14:38 +0000 Message-Id: <69f31d7e.415c7.3acd1b51@gitrepo.freebsd.org> The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=75909086a45da3c5aeaff8152728111cf798c6bc commit 75909086a45da3c5aeaff8152728111cf798c6bc Author: Corvin Köhne AuthorDate: 2026-04-02 06:36:40 +0000 Commit: Corvin Köhne CommitDate: 2026-04-30 09:09:49 +0000 bhyve: allow read/write to full CRB buffer For some reason, we've incorrectly calculated the size of the CRB data buffer register. There's no need to divide the CRB data buffer size by 4. We should allow access to the whole buffer instead. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Pull Request: https://github.com/freebsd/freebsd-src/pull/2169 --- usr.sbin/bhyve/tpm_intf_crb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/tpm_intf_crb.c b/usr.sbin/bhyve/tpm_intf_crb.c index 9b44d1d133b0..d571e89bb5ae 100644 --- a/usr.sbin/bhyve/tpm_intf_crb.c +++ b/usr.sbin/bhyve/tpm_intf_crb.c @@ -414,7 +414,7 @@ tpm_crb_mem_handler(struct vcpu *vcpu __unused, const int dir, 4: case offsetof(struct tpm_crb_regs, data_buffer) ... offsetof(struct tpm_crb_regs, data_buffer) + - TPM_CRB_DATA_BUFFER_SIZE / 4: + sizeof(((struct tpm_crb_regs *)NULL)->data_buffer) - 1: /* * Those fields are used to execute a TPM command. The * crb_thread will access them. For that reason, we have From nobody Thu Apr 30 09:18:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5pVs2q2wz6bRdt for ; Thu, 30 Apr 2026 09:18: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 4g5pVs0S0pz45h4 for ; Thu, 30 Apr 2026 09:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777540693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ncXjZLwam4Hbrq1g76x51+sqbN82K/3DZ10jyWtflL8=; b=ApTsWD2nI6EUh7MeY6KDS0lUTbu4UR7GWfTNYSqzshEeCocOlk4SbXS9UEyx+dU+MjwCoY YH8BGD+lLpkWQV949FhsYsxaxD2RgHYePl45nUwcVU2END/TGkYZo2Nj4yaleXV5Du66T0 9m+w0voaks48WShZargQn7sisv3YC36yMIwDvC0XAS2oEYlh92xBAEM/6f6qME6xp6lYrP q3WJRayTgfYRxyX+7Z6W5ADZurySW5uLffJ+nCqz08HjBw6D+5VDrYIlVg3T+NhvXK2jEC jZuo2CI+d4q3Kb8ZQSXh6Zd9kH8hcav8eNMUicMVpuk6DAp0erMQAkQOzKZKrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777540693; a=rsa-sha256; cv=none; b=cA5TCOddcAPRcjyOpEYQDQ32XrCWuQ4QHo0d1y3sbiDqDQZg3E6vHSddsS0W0fWIY6pfqT EWAXs8ENbuGjK1GZfRG0ynV4jrEq0uT5y4ptfgjWkPf6ByE6uBcV5Y9vLGecZGrZRHrjFn 5LF04obrLYQWTUKL6ROprSDeM30949EPYpQ1XCmD2lWMBKYWj03DqP3wKYys2trnIcV5nZ P7Ui7X6TJxq88HhS8w8FWZrMTdaTGlP9aaaWbpw6KlvwSwngsySEf3NuB0avKefqj0WzL1 6GYY3NxEpynFHyTqxc92KExGR4FlTip9MjXyHdKTSnnSLt2kkBjifznyiF6Gxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777540693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ncXjZLwam4Hbrq1g76x51+sqbN82K/3DZ10jyWtflL8=; b=pXwKsmuF9VW0WuuA+5KMEqShkcA+pp23CKcXKk6m5gAuAuPjYdmKeip6WtCIZOkwEdZibs 595KhYm9IjFaL3Mh696wPobcn1KF6PflmDI7RRp9oPfCVYhDxSPPes1XeAjrCXrXNmHc3+ KQTWiIrwHdFfnAf0KRIa0s4EwKh7P2QqA1VHTAdeoksja+kyofUJOWHCMfZx73rxmifieg fFG/GImCjlUayVit4TVjnD23mmatXgkWpfWYn02lzM1u2nWyJnv7NIcLEvxX+1eVdaOvGb u/6pmByr6H3xCwknHrbLU6HwZn0c7gPXe2Lh14aEjDcOUT9DPjwphi91HWwacA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5pVr6r6mz1KD3 for ; Thu, 30 Apr 2026 09:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 416a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 09:18:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Corvi=?utf-8?Q?n K=C3=B6h?=ne Subject: git: 226b37dc3ad5 - main - dev/ichsmb: disable block buffer if supported List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 226b37dc3ad5641c18f8542c18baea3ea641c5af Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 09:18:12 +0000 Message-Id: <69f31e54.416a2.7d72e12f@gitrepo.freebsd.org> The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=226b37dc3ad5641c18f8542c18baea3ea641c5af commit 226b37dc3ad5641c18f8542c18baea3ea641c5af Author: Corvin Köhne AuthorDate: 2026-03-30 09:33:20 +0000 Commit: Corvin Köhne CommitDate: 2026-04-30 09:15:18 +0000 dev/ichsmb: disable block buffer if supported In order to improve the efficiency of block read/write calls, Intel has introduced a block buffer. Instead of generating an interrupt after receiving/sending a single byte, the data is buffered in the block buffer. It allows the SMBus controller to generate a single interrupt for the whole transfer. At the moment, we don't support that and don't expect the SMBus controller to behave in that way. Unfortunately, BIOS code can also access the SMBus controller and may enable the block buffer. Poorly written BIOS code may also keep the block buffer enabled breaking our driver. Therefore, we should check if the device supports a block buffer and disable it for every request because we don't know if some BIOS code has reconfigured the SMBus controller in between. Reviewed by: emaste MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Pull Request: https://github.com/freebsd/freebsd-src/pull/2161 --- sys/dev/ichsmb/ichsmb.c | 18 +++++++++++++++ sys/dev/ichsmb/ichsmb_pci.c | 54 +++++++++++++++++++++++++++++++++++++++++++++ sys/dev/ichsmb/ichsmb_reg.h | 3 +++ sys/dev/ichsmb/ichsmb_var.h | 3 +++ 4 files changed, 78 insertions(+) diff --git a/sys/dev/ichsmb/ichsmb.c b/sys/dev/ichsmb/ichsmb.c index e40a8a8a3886..0df757d9cc0e 100644 --- a/sys/dev/ichsmb/ichsmb.c +++ b/sys/dev/ichsmb/ichsmb.c @@ -395,6 +395,15 @@ ichsmb_bwrite(device_t dev, u_char slave, char cmd, u_char count, char *buf) sc->block_write = true; mtx_lock(&sc->mutex); + /* + * We don't expect the block buffer to be enabled. However, BIOS code + * might enable it and doesn't restore it at any time, so we should + * ensure it's disabled before sending an SMBus command. + */ + if (sc->features & ICHSMB_FEATURE_BLOCK_BUFFER) { + bus_write_1(sc->io_res, ICH_AUX_CNT, + bus_read_1(sc->io_res, ICH_AUX_CNT) & ~ICH_AUX_CNT_E32B); + } sc->ich_cmd = ICH_HST_CNT_SMB_CMD_BLOCK; bus_write_1(sc->io_res, ICH_XMIT_SLVA, slave | ICH_XMIT_SLVA_WRITE); @@ -424,6 +433,15 @@ ichsmb_bread(device_t dev, u_char slave, char cmd, u_char *count, char *buf) sc->block_write = false; mtx_lock(&sc->mutex); + /* + * We don't expect the block buffer to be enabled. However, BIOS code + * might enable it and doesn't restore it at any time, so we should + * ensure it's disabled before sending an SMBus command. + */ + if (sc->features & ICHSMB_FEATURE_BLOCK_BUFFER) { + bus_write_1(sc->io_res, ICH_AUX_CNT, + bus_read_1(sc->io_res, ICH_AUX_CNT) & ~ICH_AUX_CNT_E32B); + } sc->ich_cmd = ICH_HST_CNT_SMB_CMD_BLOCK; bus_write_1(sc->io_res, ICH_XMIT_SLVA, slave | ICH_XMIT_SLVA_READ); diff --git a/sys/dev/ichsmb/ichsmb_pci.c b/sys/dev/ichsmb/ichsmb_pci.c index 7d6d94dbb4a4..af3e0f004b88 100644 --- a/sys/dev/ichsmb/ichsmb_pci.c +++ b/sys/dev/ichsmb/ichsmb_pci.c @@ -129,106 +129,153 @@ static const struct pci_device_table ichsmb_devices[] = { { PCI_DEV(PCI_VENDOR_INTEL, ID_82801CA), PCI_DESCR("Intel 82801CA (ICH3) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801DC), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801DC (ICH4) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801EB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801EB (ICH5) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801FB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801FB (ICH6) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801GB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801GB (ICH7) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801H), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801H (ICH8) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801I), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801I (ICH9) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801GB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801GB (ICH7) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801H), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801H (ICH8) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801I), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801I (ICH9) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_EP80579), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel EP80579 SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801JI), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801JI (ICH10) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_82801JD), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 82801JD (ICH10) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_PCH), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel PCH SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_6300ESB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 6300ESB (ICH) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_631xESB), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel 631xESB/6321ESB (ESB2) SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_DH89XXCC), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel DH89xxCC SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_PATSBURG), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Patsburg SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_CPT), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Cougar Point SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_PPT), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Panther Point SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_AVOTON), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Avoton SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_LPT), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Lynx Point SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_LPTLP), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Lynx Point-LP SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_WCPT), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Wildcat Point SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_WCPTLP), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Wildcat Point-LP SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_BAYTRAIL), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Baytrail SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_BRASWELL), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Braswell SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_COLETOCRK), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Coleto Creek SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_WELLSBURG), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Wellsburg SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_SRPT), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Sunrise Point-H SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_SRPTLP), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Sunrise Point-LP SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_DENVERTON), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Denverton SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_BROXTON), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Broxton SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_LEWISBURG), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Lewisburg SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_LEWISBURG2), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Lewisburg SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_KABYLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Kaby Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_CANNONLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Cannon Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_COMETLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Comet Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_COMETLAKE2), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Comet Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_TIGERLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Tiger Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_TIGERLAKE2), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Tiger Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_ELKHARTLAKE), PCI_DESCR("Intel Elkhart Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_GEMINILAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Gemini Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_CEDARFORK), PCI_DESCR("Intel Cedar Fork SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_ICELAKE), PCI_DESCR("Intel Ice Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_ALDERLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Alder Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_ALDERLAKE2), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Alder Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_ALDERLAKE3), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Alder Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_RAPTORLAKE), PCI_DESCR("Intel Raptor Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_METEORLAKE), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Meteor Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_METEORLAKE2), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Meteor Lake SMBus controller") }, { PCI_DEV(PCI_VENDOR_INTEL, ID_METEORLAKE3), + .driver_data = (uintptr_t)ICHSMB_FEATURE_BLOCK_BUFFER, PCI_DESCR("Intel Meteor Lake SMBus controller") }, }; @@ -288,6 +335,7 @@ ichsmb_pci_probe(device_t dev) static int ichsmb_pci_attach(device_t dev) { + const struct pci_device_table *tbl; const sc_p sc = device_get_softc(dev); int error; @@ -296,6 +344,12 @@ ichsmb_pci_attach(device_t dev) sc->ich_cmd = -1; sc->dev = dev; + tbl = PCI_MATCH(dev, ichsmb_devices); + if (tbl == NULL) + return (ENXIO); + + sc->features = (uint32_t)tbl->driver_data; + /* Allocate an I/O range */ sc->io_rid = ICH_SMB_BASE; sc->io_res = bus_alloc_resource_anywhere(dev, SYS_RES_IOPORT, diff --git a/sys/dev/ichsmb/ichsmb_reg.h b/sys/dev/ichsmb/ichsmb_reg.h index 78e398a556ef..be3b9e4a899d 100644 --- a/sys/dev/ichsmb/ichsmb_reg.h +++ b/sys/dev/ichsmb/ichsmb_reg.h @@ -84,6 +84,9 @@ #define ICH_D0 0x05 /* host data 0 */ #define ICH_D1 0x06 /* host data 1 */ #define ICH_BLOCK_DB 0x07 /* block data byte */ +#define ICH_AUX_CNT 0x0d /* auxiliary control */ +#define ICH_AUX_CNT_E32B 0x02 /* enable 32 byte buffer */ +#define ICH_AUX_CNT_AAC 0x01 /* automatically append crc */ #endif /* _DEV_ICHSMB_ICHSMB_REG_H_ */ diff --git a/sys/dev/ichsmb/ichsmb_var.h b/sys/dev/ichsmb/ichsmb_var.h index 8aeaf403781b..f16a40be9777 100644 --- a/sys/dev/ichsmb/ichsmb_var.h +++ b/sys/dev/ichsmb/ichsmb_var.h @@ -41,6 +41,8 @@ #include "smbus_if.h" +#define ICHSMB_FEATURE_BLOCK_BUFFER 0x01 /* supports 32 byte block buffer */ + /* Per-device private info */ struct ichsmb_softc { @@ -52,6 +54,7 @@ struct ichsmb_softc { struct resource *irq_res; /* interrupt resource */ int irq_rid; /* interrupt bus id */ void *irq_handle; /* handle for interrupt code */ + uint32_t features; /* supported device features */ /* Device state */ int ich_cmd; /* ich command, or -1 */ From nobody Thu Apr 30 11:37:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5scB19wLz6bhQL for ; Thu, 30 Apr 2026 11:38: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 4g5sc953rtz3STk for ; Thu, 30 Apr 2026 11:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dkk2DwwaFeTH1eC3P77V+Sh/HKYnItbgt6+8wxJl97Y=; b=VZa8WsoXN/CMIiOsLql509GSOLWRMxWgfI08pjJ5VuwLZLtA2dYJMy2GCqE8ETQkeajimO ZZes/KlM8/fTnP3T4oRI9o5FqEkFePUdd3FSho7kTBw/sbxftc1YJ+qnuw4bvKdRSuI6Xa ddXqhtQmbAZecokLeCkM8YsRUWMOQ2sccXK19+hIxltig7Vlhv0HUg3zLR1wZzpXQxWTTs m3JBx5HdDToG5dYMzsU7lK087qhq2bbpmbrxcO5TGrz4IoYa9u6y6ZmMSo6OshLMXdJfyp N7FFMBr8km0FbbqECQEJy10sr0r0JRwlXLjbQ7GwrBFR2ROfuxec1et9OzXOWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777549081; a=rsa-sha256; cv=none; b=ALolBNlk2HK/sxS0E/HG2WRKbWZxZDnm0SX6Waqd9WmIimh6mtieiMByB+TZg8OuVUgt1t GjNoKLJ9cIC7dwD2NJWX1xQnnf0ac5yvqu9j6pcAK9yy9/E8AIrFn3w8ZLhIzsw2hTTWx7 s7mY4/W7Enu6vsJAK+1Wl2w6nVr+0egn5HRZGg3XhxGyOWBmpw3nvYaBuv8ZLOmyk2178V fk25+nWdOL9IY0h4C7cq5sNH1+7zcaQpmInZ1g0brWj0A6QVAwWcxfbBNxtTD4irb43PHK hlBqon/YQSFkoqmtQN8uSKZoQovb+POXwBrlV+bsxdAAFOOjQim2ej5u46CIDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dkk2DwwaFeTH1eC3P77V+Sh/HKYnItbgt6+8wxJl97Y=; b=RNh1ZmnBCiIzTq/u6JI3CWNrphUUvdwwj9F5Q0FDmdGp3l8sHKsV2AWusTY6FR6NsNsUVW 9Tftccm6aySTLvsXsQAMSaVsHWw2MP1d+I4studtEI4r+V6f/zovziOvT1fJJ/Qdk56z0W 1iWoyVQAHb4KTuNgL5NEJbz+J82kx6AiSQjwna3CtV42DYhXSf2f1cUr/I3BU3MOlbQor9 tINOMLjNwtGOVo8C9tUWO9eoqsdAcDBRP9wLk/Zp/f4r4V7vYfr/Y8IEa7KoY8Wwc4l1VC orPcncle/Fv3revpzgA94Q36Oo03YSD7KjURIgmmy9+w74q9c9+OuEWQaz7wMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5sc94530z1NtL for ; Thu, 30 Apr 2026 11:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21ffc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 11:37:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Boris Lytochkin From: Andrey V. Elsukov Subject: git: 6d65c91b9a47 - main - etcupdate: fix arguments order of diff command List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d65c91b9a4743bbffc3508bf754e68b65bbd494 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 11:37:56 +0000 Message-Id: <69f33f14.21ffc.507c8a33@gitrepo.freebsd.org> The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=6d65c91b9a4743bbffc3508bf754e68b65bbd494 commit 6d65c91b9a4743bbffc3508bf754e68b65bbd494 Author: Boris Lytochkin AuthorDate: 2026-04-30 11:31:34 +0000 Commit: Andrey V. Elsukov CommitDate: 2026-04-30 11:31:34 +0000 etcupdate: fix arguments order of diff command Due to misplacement of the second -L argument of diff command, it is treated by getopt_long as an error. Also add -l option for a diff command that alters the way it shows differences. Instead of printing full diff, it reports changed file the same way as added/removed files are reported. Reviewed by: imp Obtained from: Yandex LLC MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56708 --- usr.sbin/etcupdate/etcupdate.8 | 7 ++++++- usr.sbin/etcupdate/etcupdate.sh | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.8 b/usr.sbin/etcupdate/etcupdate.8 index bf7ddb792907..6216722fc81f 100644 --- a/usr.sbin/etcupdate/etcupdate.8 +++ b/usr.sbin/etcupdate/etcupdate.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 15, 2024 +.Dd April 30, 2026 .Dt ETCUPDATE 8 .Os .Sh NAME @@ -51,6 +51,7 @@ .Ar tarball .Nm .Cm diff +.Op Fl l .Op Fl d Ar workdir .Op Fl D Ar destdir .Op Fl I Ar patterns @@ -468,6 +469,10 @@ shell pattern. This option may be specified multiple times to specify multiple patterns. Multiple space-separated patterns may also be specified in a single option. +.It Fl l +In +.Cm diff +mode list files that are changed locally, omit printing content difference. .It Fl L Ar logfile Specify an alternate path for the log file. The diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 8f4737136d72..3ff11ec836ae 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -527,9 +527,15 @@ diffnode() echo ;; $COMPARE_DIFFFILES) + if [ -n "$difflistonly" ]; then + echo + echo "Changed: $3" + echo + break; + fi echo "Index: $3" rule "=" - diff -u $diffargs -L "$3 ($4)" $1/$3 -L "$3 ($5)" $2/$3 + diff -u $diffargs -L "$3 ($4)" -L "$3 ($5)" $1/$3 $2/$3 ;; esac } @@ -1787,11 +1793,15 @@ ignore= nobuild= preworld= noroot= -while getopts "d:m:nprs:t:A:BD:FI:L:M:N" option; do +difflistonly= +while getopts "d:lm:nprs:t:A:BD:FI:L:M:N" option; do case "$option" in d) WORKDIR=$OPTARG ;; + l) + difflistonly=YES + ;; m) MAKE_CMD=$OPTARG ;; From nobody Thu Apr 30 11:40:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5sfw3hpzz6bhwZ for ; Thu, 30 Apr 2026 11:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5sfw23rFz3TFD for ; Thu, 30 Apr 2026 11:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcoXmjHENDdvypksxTxJNaWia3fKBjkB0c5wCH2S7Yo=; b=N09YXgyEbWvw3gY13YjTE4Un3fGwzCXnJ/99F5sMi+S756nXrjZHB8MCVAV3c6T9FmnYi2 O7gF0YJorTaRVniPJXSWyfP0KDJhnuYMUUZ5/lDuGfUmvvsYx+svlaO8SlXMOYtMG5ROja EWJPwMHj3aoHf7g1aRMrcbf3N7ftbpwqUqRuSu5X/kPWARwpqEqzRmtvVAHWQfz0p6/F9/ ykVnpI8LmIeLLQwF8WOFuhXOr4pTZBTD7R44X1hga3m3uYiC7U5sCLOdCbYcU3duwm2QIE ge0Bh50BkzBwehaUvHWF4vpuZvDBCXIaaMGxJGE2HD/iEXFjPN4SdZ2zfZ9NyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777549224; a=rsa-sha256; cv=none; b=FPoGJ1vY22gCbj71f3cAEV6QFm1VL4hPatXaGh1d2AOgelSkjE9wcBtMjo9WPN4Wt13YfP sNSgFLDDIPjXTm0wpB+sOxEt5CSnsHbnjB0g+9NAYR6ezecRpCequx2WSDhfDtFk9/VVuI AHD/0iaK5lSPD1nsBlK9U9R9yPt2zS8MqkA0bhig7AKuQ6E2nJQzTtooaiewmlpXBsMmdS H0mXpY7fD1MiWrYCK7KRUzb45rNLAxOBkFyzU9zi93sBhhJGTuOmXmwvFFWMuUnDXaCr5Y lr3/HnKoJ9QsMuiPOuqHYXbarg/xdr/E5umXkxuUp1/LZ/O1dX7WMwIsBdCbUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcoXmjHENDdvypksxTxJNaWia3fKBjkB0c5wCH2S7Yo=; b=TnjYyz/H/FdlcO/15h3Ub/pU1NHQRubaDvO1umvsAXv8/UjbK1nkeLnM7CuzxhVngxNTQk /xC/CPr01E8PbD9Oqw+wCscHhzOTG1CgTuOEBI23t94Gcx8ysYOAwtDIhxA5FCQhUmtjSE MGKXudLJkg1JtRYM2BQiHJ0ltCa80KgHguxUjd1aO78VQgJiOVJDU93cxL0Iqi1RZXA5ec R02c5btVImAtia4Q+OllVyYkyOPJUTyittWbdbg6YZgUJ/3rrZzHQ1yCs4IAatwdOzq4hm 0Yjm3djWZHJULZOCvFNCgBtDNhd57SnGWUib/iC7oo3PZMD7k4q9Y+lREdIkXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5sfw1M7mz1P0K for ; Thu, 30 Apr 2026 11:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22d35 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 11:40:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 65dc0e9071a5 - main - linuxkpi: Define `VFM_*()` macros in List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65dc0e9071a5ea206d6fbf070c974ebcfdea3680 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 11:40:24 +0000 Message-Id: <69f33fa8.22d35.1a24e7df@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=65dc0e9071a5ea206d6fbf070c974ebcfdea3680 commit 65dc0e9071a5ea206d6fbf070c974ebcfdea3680 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-22 16:23:16 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 11:40:01 +0000 linuxkpi: Define `VFM_*()` macros in They use another set of constants and macros in . All these macros are defined regardless of the architecture, even though they are specific to x86. Perhaps we should restrict them using #ifdefs. The amdgpu DRM driver started to used `VFM_MODEL()` and the `INTEL_*LAKE*` constants in Linux 6.12.x. Reviewed by: bz, olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56585 --- .../linuxkpi/common/include/asm/cpu_device_id.h | 33 ++++++++++++++++++++++ .../linuxkpi/common/include/asm/intel-family.h | 9 ++++++ 2 files changed, 42 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/asm/cpu_device_id.h b/sys/compat/linuxkpi/common/include/asm/cpu_device_id.h new file mode 100644 index 000000000000..a01d63a75a7e --- /dev/null +++ b/sys/compat/linuxkpi/common/include/asm/cpu_device_id.h @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 The FreeBSD Foundation + */ + +#ifndef _LINUXKPI_ASM_CPU_DEVICE_ID_H_ +#define _LINUXKPI_ASM_CPU_DEVICE_ID_H_ + +#define VFM_MODEL_BIT 0 +#define VFM_FAMILY_BIT 8 +#define VFM_VENDOR_BIT 16 +#define VFM_RSVD_BIT 24 + +#define VFM_MODEL_MASK GENMASK(VFM_FAMILY_BIT - 1, VFM_MODEL_BIT) +#define VFM_FAMILY_MASK GENMASK(VFM_VENDOR_BIT - 1, VFM_FAMILY_BIT) +#define VFM_VENDOR_MASK GENMASK(VFM_RSVD_BIT - 1, VFM_VENDOR_BIT) + +#define VFM_MODEL(vfm) (((vfm) & VFM_MODEL_MASK) >> VFM_MODEL_BIT) +#define VFM_FAMILY(vfm) (((vfm) & VFM_FAMILY_MASK) >> VFM_FAMILY_BIT) +#define VFM_VENDOR(vfm) (((vfm) & VFM_VENDOR_MASK) >> VFM_VENDOR_BIT) + +#define VFM_MAKE(_vendor, _family, _model) ( \ + ((_model) << VFM_MODEL_BIT) | \ + ((_family) << VFM_FAMILY_BIT) | \ + ((_vendor) << VFM_VENDOR_BIT) \ +) + +#include +#include +#include + +#endif /* _LINUXKPI_ASM_CPU_DEVICE_ID_H_ */ diff --git a/sys/compat/linuxkpi/common/include/asm/intel-family.h b/sys/compat/linuxkpi/common/include/asm/intel-family.h index 91ad1d1a8ff3..db815e0c012d 100644 --- a/sys/compat/linuxkpi/common/include/asm/intel-family.h +++ b/sys/compat/linuxkpi/common/include/asm/intel-family.h @@ -1,5 +1,14 @@ /* Public domain. */ +#define IFM(_fam, _model) VFM_MAKE(X86_VENDOR_INTEL, _fam, _model) + +#define INTEL_ALDERLAKE IFM(6, 0x97) +#define INTEL_ALDERLAKE_L IFM(6, 0x9A) + +#define INTEL_RAPTORLAKE IFM(6, 0xB7) +#define INTEL_RAPTORLAKE_P IFM(6, 0xBA) +#define INTEL_RAPTORLAKE_S IFM(6, 0xBF) + #define INTEL_FAM6_ALDERLAKE 0x97 #define INTEL_FAM6_ALDERLAKE_L 0x9A From nobody Thu Apr 30 11:40:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5sfx4v96z6bhwf for ; Thu, 30 Apr 2026 11:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5sfx38gZz3T6Q for ; Thu, 30 Apr 2026 11:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUhzGRYRn6oXSzf9U/Cx7xdwIrk07VF4gm7G5sWXhiQ=; b=gJ+4hNM521Sxp0LSj7Ajgr65y9j3T6Ac0r4Ue4sNGY4Kdwep0Ep19hyA00H3GXnLm6hbIl 5RoO85ESyZK7jv2e5W4Nm9oXJ24UBl55jqSV07xBG1MTUWuRjZt1cF8WpZDNbkq+qndO+9 k1HzuyVeK9KbBD7x5sBLPT7wvFevHFNPi/IyZX/ovJ3fUH5qvo/17XwOzrkTRu3LdQISPs hD6CR9e0QpjFjoe+e3l7Zn5r/IbYedtLo2nWuZhGbNsP7KWKANPkNnpTrxwfRhxWoBdsIr emVK2Yvli3+H6lB2dyUGMXBYbd/V6Xa3Kv4PN+iLeADJXmldUOsS07nBIGwLyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777549225; a=rsa-sha256; cv=none; b=YLcQfLyHpOwLk9q4rovEUcd6aFhK/xFL6SE/G121wHIbX6/GC9W5+GmBs8s9HNGtTyCr2t 8MFVHZJ+5w2lvSj9TCcHsG9h+7RdFcPCJtD+vwUL55wZ3SH38CJxsQleYSAHfcoik73rvg RIJEOqh4m3qEJxSVB3dBfszGOaanxVnjDnP9xA4wk4rZJuB+hUXR5kPiPAZX7I4n6/Pmpe JbBEIDlsv6pNsSyTWvYiKotuCSjjXDSH9Yiu2c7opaR+KaOzmWgdZERm2P7AOyq+hus6jT SU1qXSiIhBCSUaOwKHsCgQpUQTa+flP4R61VW+nI2LKFGwF74G9AruTOCUqt0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777549225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUhzGRYRn6oXSzf9U/Cx7xdwIrk07VF4gm7G5sWXhiQ=; b=NcMlSCx/WU+SwL6y1r75E1+F2G77pE+fTL9jRDBw0oPEzwd4p95ltU6KcnKlRsv2UjoPWQ 4PWRYboRfI5xOAeREFqgGdM0TbzW84Sr18S0w6UIPmkxxidG/T0gs4x8j0+WOe3zJ8WNuX YUzQdw2X7Osh92x9ldtcBo2oYc7GNz+ryuR8Cc7TCO414A1A1Q90V/wyW7SNpmQsxz/X+e 38jlvConhFE/tP7tzG1uW1RWMjzwB8LbfnEgmCO4jABJ+vRgJtT0ktJ8G9bDCDTqKI2t0V vCP/89mmBxNNd2ZgQjRdgxOtEO1rPuzcBcQUm6L0FEmLaKRnb53QFKJO24CwLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5sfx1yllz1P0L for ; Thu, 30 Apr 2026 11:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21e5b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 11:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: eebb643bb379 - main - sx: Add `sx_has_waiters()` macro List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eebb643bb3799ae90dd248f0b5047ec481b26f68 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 11:40:25 +0000 Message-Id: <69f33fa9.21e5b.687c9b6@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=eebb643bb3799ae90dd248f0b5047ec481b26f68 commit eebb643bb3799ae90dd248f0b5047ec481b26f68 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-12 17:20:25 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 11:40:05 +0000 sx: Add `sx_has_waiters()` macro This macro will return non-zero if there are threads waiting for this lock; otherwise, it will return zero. The function assumes (but does not assert) that the caller already holds the lock and that it is interested in other threads waiting for it to release the lock. The motivation to add this is the implementation of `rwsem_is_contended()` in linuxkpi. This Linux function indicates the same thing to the caller: if other threads are waiting for this semaphore. The amdgpu DRM driver started to use `rwsem_is_contended()` in Linux 6.12. Reviewed by: bz, olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56443 --- share/man/man9/sx.9 | 12 +++++++++++- sys/compat/linuxkpi/common/include/linux/rwsem.h | 1 + sys/sys/sx.h | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/share/man/man9/sx.9 b/share/man/man9/sx.9 index 473a47c27cf4..f96ee4ffccf7 100644 --- a/share/man/man9/sx.9 +++ b/share/man/man9/sx.9 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.Dd November 11, 2017 +.Dd Apri 30, 2026 .Dt SX 9 .Os .Sh NAME @@ -46,6 +46,7 @@ .Nm sx_sleep , .Nm sx_xholder , .Nm sx_xlocked , +.Nm sx_has_waiters , .Nm sx_assert , .Nm SX_SYSINIT , .Nm SX_SYSINIT_FLAGS @@ -88,6 +89,8 @@ .Fn sx_xholder "struct sx *sx" .Ft int .Fn sx_xlocked "const struct sx *sx" +.Ft int +.Fn sx_has_waiters "const struct sx *sx" .Pp .Cd "options INVARIANTS" .Cd "options INVARIANT_SUPPORT" @@ -268,6 +271,13 @@ is returned instead. will return non-zero if the current thread holds the exclusive lock; otherwise, it will return zero. .Pp +.Fn sx_has_waiters +will return non-zero if there are threads waiting for this lock; +otherwise, it will return zero. +The function assumes (but does not assert) that the caller already holds the +lock and that it is interested in other threads waiting for it to release the +lock. +.Pp For ease of programming, .Fn sx_unlock is provided as a macro frontend to the respective functions, diff --git a/sys/compat/linuxkpi/common/include/linux/rwsem.h b/sys/compat/linuxkpi/common/include/linux/rwsem.h index b7a800b12e18..43688ab93796 100644 --- a/sys/compat/linuxkpi/common/include/linux/rwsem.h +++ b/sys/compat/linuxkpi/common/include/linux/rwsem.h @@ -51,6 +51,7 @@ struct rw_semaphore { #define down_read_nested(_rw, _sc) down_read(_rw) #define init_rwsem(_rw) linux_init_rwsem(_rw, rwsem_name("lnxrwsem")) #define down_write_nest_lock(sem, _rw) down_write(_rw) +#define rwsem_is_contended(_rw) sx_has_waiters(&(_rw)->sx); #ifdef WITNESS_ALL /* NOTE: the maximum WITNESS name is 64 chars */ diff --git a/sys/sys/sx.h b/sys/sys/sx.h index d28cae9d01e5..dab4fffb6f15 100644 --- a/sys/sys/sx.h +++ b/sys/sys/sx.h @@ -259,6 +259,10 @@ __sx_xunlock(struct sx *sx, struct thread *td, const char *file, int line) (void)0; /* ensure void type for expression */ \ }) +/* Return true if there are threads waiting to acquire this sx lock. */ +#define sx_has_waiters(sx) \ + ((SX_READ_VALUE(sx) & SX_LOCK_WAITERS) != 0) + #define sx_unlock(sx) sx_unlock_((sx), LOCK_FILE, LOCK_LINE) #define sx_sleep(chan, sx, pri, wmesg, timo) \ From nobody Thu Apr 30 13:44:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5wQk0vMPz6bvkg for ; Thu, 30 Apr 2026 13: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 4g5wQk069Rz3lYF for ; Thu, 30 Apr 2026 13: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=1777556702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NllmTFM9DRsC7VTuEcqUZcePcoUKJYg2Ua07VkeR29I=; b=sYhDMeQQGvmsCge2Qc40Dx7B4UmG8dn/dvn6vnZw+LtE2J87zK3CdKOeabSwFH6ZGTeNUb tbJAgfxq7c2mBYRPZMf0e+gWzyJow2WXdt93ovk/uYEiktoFnJhW4LZbvxefdAsIzO2SWM j8utvSqdJwLTs/MdKU6FvN5XPTe9JifpUhHQXslPCYGsNHfOLIz8YD26ZV3ThOCMGj5/L5 KMMwH4wUagP/cylehpc0DzjPTRvSMRanVVH27hTK2yA6lRtDq4nbBremiCknH08Cu2Sjdx swk9c/BQU+l/P7JIZCUS9cyFW/uh6YDc2nK5RXC5GtUTgjjpXzCwNo1AcL0y2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777556702; a=rsa-sha256; cv=none; b=XXlxIcGIfFZAQA7N/32CCERsHbn12Om28qGNm3ZQ/gMdhyTxxGfZFoGgb7oDMUdwULhZ+c CP9hxO9VOB9SITFjLikTy6ugre7gDrZN58zcCqtSYqUYp76NrE0L83tVEtlnevjt7I9d4D JqT24LH/3W1kaFSYLunEZypYsLa/hGsVe2T/A8PKtXlaWCzyKmWVuHbqQQx+bo4SL47BJg iojQvEmbS5H4DQHqHQqbNXCA2kJQeE47Hiy69up9UVuyf3IoMFe2/idmBUjEzI6yUyKhdj vwSLdMKuNy7lR/eYiKDfTAf6ra9xOs//YZY03tkhu+Cp17RQGJ9zVmAOeFtG/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777556702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NllmTFM9DRsC7VTuEcqUZcePcoUKJYg2Ua07VkeR29I=; b=nezU/AIWwvo2gpteCQg+TcEh1cm9DSdaM7FhiN7t71ubTSfNVrhCwJHPJnjAeghkNEZU4v LSkHLlUHIgT1aA6KbdM6SCWQgYUPBik6FGUbYJPDeAPZJUmzhDnCbxbC2NWXFFDI4wnXST rMXHCJBjulmqc+HIGXoKvGqv0NM6Xp7kd+qHJopQr1FLCN5iEj+70H3bwNYFdnC2H3vhpY qyR7gLcRso/NXezmPEB0geEs/uuv0QqV/104YNCA6dUBn6MwhBHQfDTishoFVcHVSI8xyi mvwnc6A5PMekFpbaiP05AYVaOwl+OvlTjMSATEaSAQ3JsJQqzKQyL27jXU3W4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5wQc6nJdz1SLY for ; Thu, 30 Apr 2026 13:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3780e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 13:44:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 16dd59298288 - main - ddb.4: add 'show preload' entry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16dd592982887fb3bc27460c50215cd54157ac5f Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 13:44:56 +0000 Message-Id: <69f35cd8.3780e.76916598@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=16dd592982887fb3bc27460c50215cd54157ac5f commit 16dd592982887fb3bc27460c50215cd54157ac5f Author: Mitchell Horne AuthorDate: 2026-04-30 13:22:21 +0000 Commit: Mitchell Horne CommitDate: 2026-04-30 13:24:04 +0000 ddb.4: add 'show preload' entry For the recently added command. Fixes: b683fd0b3206 ("preload: add "show preload" DDB command") --- share/man/man4/ddb.4 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index a882a5204fb2..c40bc024586a 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -24,7 +24,7 @@ .\" any improvements or extensions that they make and grant Carnegie Mellon .\" the rights to redistribute these changes. .\" -.Dd October 31, 2025 +.Dd April 30, 2026 .Dt DDB 4 .Os .Sh NAME @@ -1010,6 +1010,11 @@ Names of spin locks held. Dump process groups present within the system. .\" .Pp +.It Ic show Cm preload +Pretty-print the metadata passed to the kernel by +.Xr loader 8 . +.\" +.Pp .It Ic show Cm prison Op Ar addr Show the prison structure located at .Ar addr . From nobody Thu Apr 30 13:50:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5wXm5ppJz6bwQV for ; Thu, 30 Apr 2026 13:50: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 4g5wXm5JPqz3mbJ for ; Thu, 30 Apr 2026 13:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777557016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rJE4q1tnYK4Hla65AY2CUSkQm5UdOQkenRJOqxlgfIc=; b=FCu8hWCI+IUaEruV5mDwREZccUKhZG1gw11pDJXlA18N0PuLk1cC48hxowfAIN+GclnAZ9 BmXyvFdvaOKWvU+xM6JN87H5US6Wwww9u+vtocspw2e+jRvwiHq48xxyAtj03aOfoi5yjW GJEV3CDEOFhsPhbOyAv9D/cvVYMKtSHvziZqKAK0E9+qqvGiVvyn05zI4p7xCwZinT2/NR DE47b52YKb0qmGTqG3CT7a0sWy6Hqlw0kKAUEBrDBQfFgWH3R/scvHSJPTF8Z7L3GC6Jgf JZLRthwzR6VV9shKlbLAl1zK7iaP8XmMCYRZDMiUn7jFWb+80kbjUkTfWhbpXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777557016; a=rsa-sha256; cv=none; b=RABvqTZIUbx6S9qF45QYDLU1WYQg1nzJil5saGQR7GXM0iAzlFVrCYS/BXwkHreExjdo1X Ll2usx6JK/x8s7rFX7XxwrXoGgUlNZJqVlPoGzqu8PCGY6FdGpfM/FXmwWvlmfep8MdeqU XrF1D+dPAF9lwk1QX/L9gGQEfRWT2yQs3Mtkfrr+dBdxUlkEPWoBsPCQLQTHtVFJH1OKaQ dkSsvoh1ntyxTvwh4Wqe17fpsy5yCMZzN6hBlhhEIVyulA4wNEpe1oGopHPBWDkeYC5iiM MdaHKiASn1d28lgYs4jw2q2UlHeVY+kd9zvzx7GHC7B1PMwcJYarJnrNCxomMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777557016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rJE4q1tnYK4Hla65AY2CUSkQm5UdOQkenRJOqxlgfIc=; b=iKh8dBhtjcaH0CtatB4d7yXjR87besdCNEY0+EuBkYQsyVe8O1MHgphSUN68/dXy6f1Jt7 CbPXwvE3ClL3xBUHpNKV5B1UDI2Gk3RXTXIj/9JS+3MaD23byGq0E/EvZDIoDmuWimGwOn aNvxgWp+JSE7xv07Ubd+p3hqDWJvDDuOUar5xtvB1vw7qXZBD8hscN6n/k6kM1F0PIvxmv +awgvT0SU1jizsVte5GacvO9S8+0wJTsWCh91KJWlbKRdkyXccWumdBepelTBFadKG8Bmv yDe9jaiY8+i7VnEcAyGdCzCO72neTncIlRIhlua+Bm0qLbTHdnya6W7K7UJkWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5wXm4v8Pz1SLd for ; Thu, 30 Apr 2026 13:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3805f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 13:50:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Mitchell Horne Subject: git: 0ed292531e04 - main - debug.sh.8: Add FILES section List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ed292531e0457f271b838dd9dc99a86534d3a99 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 13:50:16 +0000 Message-Id: <69f35e18.3805f.35eb6636@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=0ed292531e0457f271b838dd9dc99a86534d3a99 commit 0ed292531e0457f271b838dd9dc99a86534d3a99 Author: Artem Bunichev AuthorDate: 2026-04-30 13:49:14 +0000 Commit: Mitchell Horne CommitDate: 2026-04-30 13:49:52 +0000 debug.sh.8: Add FILES section Which contains only the source code file. While here, remove trailing empty lines in the end of the page. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D56659 --- share/man/man8/debug.sh.8 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/share/man/man8/debug.sh.8 b/share/man/man8/debug.sh.8 index 3b59d6ae2e78..dba24eb6f12d 100644 --- a/share/man/man8/debug.sh.8 +++ b/share/man/man8/debug.sh.8 @@ -12,7 +12,7 @@ .\" Please send copies of changes and bug-fixes to: .\" sjg@crufty.net .\" -.Dd October 22, 2024 +.Dd April 27, 2026 .Dt DEBUG.SH 8 .Os .Sh NAME @@ -175,6 +175,11 @@ The use of .Ic $_DEBUG_SH is to prevent multiple inclusion, though it does no harm in this case. +.Sh FILES +.Bl -tag -width "/libexec/debug.sh" -compact +.It Pa /libexec/debug.sh +Source code of the debugging facilities. +.El .Sh BUGS Does not work with some versions of .Xr ksh 1 . @@ -187,5 +192,3 @@ PD ksh works ok ;-) .Nm was written by .An Simon J Gerraty Aq Mt sjg@crufty.net . - - From nobody Thu Apr 30 15:18:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g5yVt3vf4z6c6Vl for ; Thu, 30 Apr 2026 15:18: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 4g5yVs6SpCz463T for ; Thu, 30 Apr 2026 15:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777562325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkVP2ECEI3NRfSvfxHpRxaNlnLyc3X28nW7Y0C9sduM=; b=AYae1eE5lLzL1KqviHg2LUbPYbFydhPbNV9c2w5w4XZ+mAM9OfewLeVGw3Moi38ofjUjrn tSkaLu5C9mrgwQ6XwrnRahun1G6QmROdrnn435vf8AdVaxtw75fCvbYjDStlTVakHFOv/v iTurpw18FnQvRlkzkNfe4df+Kv2q/JJ3NMzKYK4kZpNxyRoEA8MJ2vnmqIjxHlJAu8Deya Y5PNCVXVtxmL8ddPXSA5UVAesZk0LE6StaPcQq7SRZdEugn9BEiY1afrZ0O7lEsk7Ib50C 03rjC1nYcHVR9JIci2TkkZaEhuw8V5d9c++WAZW95JslQJXqp+/oL3hunFmX7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777562325; a=rsa-sha256; cv=none; b=CsqaVLJrb0OcBG1u1MIU8JciDpyOokC1OcH2Qk6EelDYnecocIjATt0NAqFvuzv6ifLseT Nb/K8t0IhISCSskgYW8z7aU9zQnvJhQFPoHosja5me9fk+l/RpDVNHCBkSoMdkhh0icVoC n3r/sIq1cHXtD7xyWQ2DZLEh2gv/qJkPBIYx6cSQ85OHSm+BI5ToB5p8f2BvP6s+Uzv/Zz i+PXPNHwg/X82rKCBY954G5dhPtI1KKi76UgiAmAy1FVWRYGv+K7Dp2ib8ze9zcPLELytq nRXWa6B2RSIRFbHiarCEgcFi/J2PMPHO+MD8V/TTNAl2Lfzbpg5V1wQwdnVFLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777562325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkVP2ECEI3NRfSvfxHpRxaNlnLyc3X28nW7Y0C9sduM=; b=jWJCD+Jj57uiDXDcKMkZzcAZX3ZdhVefE9taHTWOwgZvJYBwBp1HZdjeaOJmGsE+rIMySg V1ubU1n0NgLXb2JadgShst4bPPmmPe6mvT8ERMons7YCmwI3zBoo527mEr7mSNs5PLVVoH NBzGJBN8HTJSeG31ll2A9WjzffBxOXYhGhf73pcqODIDi6Uvcm03hxfVs5tAYM+TTR0ZJT uQLqiO8cpsBdQQ69oNjSX1Tdkg1tPWQuv5XH8zjpxMo+3L4VKNmOCX9oOkPTQpNEAVYxXe eXAD1ii0ELbOMFb8wNztbf20ghTW6ru0GnpASFo/TTKtwVDGn2B/fyGkOsrkyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5yVs3WHGz2GG for ; Thu, 30 Apr 2026 15:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1869d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 15:18:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 549e74061987 - main - snd_uaudio: Support Roland UA-33 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 549e740619873716b796a841a10f56fae3c3ad49 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 15:18:45 +0000 Message-Id: <69f372d5.1869d.464b27ad@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=549e740619873716b796a841a10f56fae3c3ad49 commit 549e740619873716b796a841a10f56fae3c3ad49 Author: Christos Margiolis AuthorDate: 2026-04-28 16:39:45 +0000 Commit: Christos Margiolis CommitDate: 2026-04-30 15:18:30 +0000 snd_uaudio: Support Roland UA-33 Apply the appropriate quirk. Also, introduce a new uaudio_vendor_audio table, similar to uaudio_vendor_midi, which includes non-standard USB audio devices. The Roland UA-33 needs this, bceause it comes with bInterfaceClass = 0xff (vendor-specific), so snd_uaudio(4) doesn't detect it. PR: 294814 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: emaste Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/24 --- sys/dev/sound/usb/uaudio.c | 10 ++++++++++ sys/dev/usb/quirk/usb_quirk.c | 1 + sys/dev/usb/usbdevs | 1 + 3 files changed, 12 insertions(+) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 65976ced8a75..f477eb768fde 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -713,6 +713,10 @@ static driver_t uaudio_driver = { .size = sizeof(struct uaudio_softc), }; +static const STRUCT_USB_HOST_ID uaudio_vendor_audio[] = { + { USB_VPI(USB_VENDOR_ROLAND, 0x0132, 0) }, /* UA-33 */ +}; + /* The following table is derived from Linux's quirks-table.h */ static const STRUCT_USB_HOST_ID uaudio_vendor_midi[] = { { USB_VPI(USB_VENDOR_YAMAHA, 0x1000, 0) }, /* UX256 */ @@ -868,6 +872,11 @@ uaudio_probe(device_t dev) /* lookup non-standard device(s) */ + if (usbd_lookup_id_by_uaa(uaudio_vendor_audio, + sizeof(uaudio_vendor_audio), uaa) == 0) { + return (BUS_PROBE_SPECIFIC); + } + if (usbd_lookup_id_by_uaa(uaudio_vendor_midi, sizeof(uaudio_vendor_midi), uaa) == 0) { return (BUS_PROBE_SPECIFIC); @@ -6258,4 +6267,5 @@ MODULE_DEPEND(snd_uaudio, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); MODULE_DEPEND(snd_uaudio, hid, 1, 1, 1); MODULE_VERSION(snd_uaudio, 1); USB_PNP_HOST_INFO(uaudio_devs); +USB_PNP_HOST_INFO(uaudio_vendor_audio); USB_PNP_HOST_INFO(uaudio_vendor_midi); diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index 303f76f37fb0..c1976a59acbe 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -565,6 +565,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = { USB_QUIRK(CMEDIA, CM6206, UQ_AU_SET_SPDIF_CM6206), USB_QUIRK(PLOYTEC, SPL_CRIMSON_1, UQ_CFG_INDEX_1), USB_QUIRK(ROLAND, UA25EX_AD, UQ_AU_VENDOR_CLASS), + USB_QUIRK(ROLAND, UA33, UQ_AU_VENDOR_CLASS), /* DYMO LabelManager Pnp */ USB_QUIRK(DYMO, LABELMANAGERPNP, UQ_MSC_DYMO_EJECT), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index e1394e903cb3..594afafbb07f 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -4208,6 +4208,7 @@ product ROLAND UA700 0x002b UA-700 Audio I/F product ROLAND PCR300 0x0033 EDIROL PCR-300 MIDI I/F product ROLAND UA25EX_AD 0x00e6 EDIROL UA-25EX (Advanced Driver) product ROLAND UA25EX_CC 0x00e7 EDIROL UA-25EX (Class Compliant) +product ROLAND UA33 0x0132 UA-33 Audio I/F /* Rockfire products */ product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB From nobody Thu Apr 30 16:31:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606G5Tpkz6bl1H for ; Thu, 30 Apr 2026 16:31: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 4g606G4cHcz3Hjd for ; Thu, 30 Apr 2026 16:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWDd6JUtI4bAEVYELPI56l2AaGKcl8n8lKAskLsqLI4=; b=h34f/eWD0Kb8AkELfbexPJu5sPW+q99v5QCLj+rEh+WUEjnhoWLW9Jarfr+JnF+xlnJjPR EaN9wYJMUKpd4XTGWh7dhMo7TQaFb164pa8IkEHgL/C7lMG/cVMZWSigCzKLOCbJvgPldm lr/rk370NYxayvK0RditBj9f8Zhd4ilhj+ponSWUJRGIIe2iGQ6ZEFGSI745eK5O6NJnXN v9BLsF5u+mLQ3E9Of4POpOLuFe999CxdhpV0/2P3BZp7gDYg+15w5GgwWnICzOn7/L8uqG Lfe7G14/ajyMrpp7/H/8AbR49dhtIqSKR84e6KI5tyk9/WQsmsSckVQan46ipg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566662; a=rsa-sha256; cv=none; b=doPvqrzcJMH2b0cO4DbmbAgUmbjdB7w9E+B8pSewahn28n5KR6QLtdaeDBMJGHsQMm03bZ 2or1YtG7o4+Y8Y7frXpjmrffMiIjuORI7PbGkDB8cKiT8NZLxDnHlagwt8V3TcAiuWxBm4 kQcYx+YZMTyWp24FbTqhKWqCPrFRiD2MINN/xYF54xG6XkJrtRc9RviEIO/NPc0EUHpu+K MBhnusrTKE57L15DU2JBPxUBWgavV+Jy6qgK1MW6pUyYwhnbKfJyoDcN3k+FnPohg7h2Ad u69Frf4jg+uOwD3EK1VtP4uZBl4+QADAwSpoqa/NwfhWSyySLRisNIY23GXI3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WWDd6JUtI4bAEVYELPI56l2AaGKcl8n8lKAskLsqLI4=; b=UgPFXGWVefQoLSCfg4TJe+8e9fJFgxltl2k51Z1wvX7HdDMxO8rn842j5cUXS3n8UMHtHM 1qsirxaY6eyR2Qmb4bXuCfkQUEWLhaLXYF7Bs7LGgLiDkNBTTShDmSJb0TphM6RM9zKHxR 0XMqIkes9SyVue2pPL/bRT0rTcfc7wVAwwRDzyZ98//rHNQncH4KKai++Tw5q6yDrJ/03I Pg6mBAQ7snR00S6+Y1QhA+mfUfYCziG6FakDflAufLtmNW3dsw0/yYet5Ry/w8EjEwQpME ErhCCQl4vNCmeq0KC5rELDZ8VtFIKoK86nfJnayQKCz/tQuUsKtF1bTdNsDwqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606G43bcz3Gx for ; Thu, 30 Apr 2026 16:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1edf8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: 82525a8ead6b - main - fix typo: remove duplicate 'the' in ffs_vfsops comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 82525a8ead6b778f4eb0f7a6a2dbe327fa69fcfe Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:02 +0000 Message-Id: <69f383c6.1edf8.55e5aae5@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=82525a8ead6b778f4eb0f7a6a2dbe327fa69fcfe commit 82525a8ead6b778f4eb0f7a6a2dbe327fa69fcfe Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:29 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:16 +0000 fix typo: remove duplicate 'the' in ffs_vfsops comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/ufs/ffs/ffs_vfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index de6b32795698..8ac2075f8db8 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -2083,7 +2083,7 @@ ffs_use_bwrite(void *devfd, off_t loc, void *buf, int size) * Writing the superblock itself. We need to do special checks for it. * A negative error code is returned to indicate that a copy of the * superblock has been made and that the copy is discarded when the - * I/O is done. So the the caller should not attempt to restore the + * I/O is done. So the caller should not attempt to restore the * fs_si field after the write is done. The caller will convert the * error code back to its usual positive value when returning it. */ From nobody Thu Apr 30 16:31:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606H6vR7z6bktP for ; Thu, 30 Apr 2026 16:31: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 4g606H515tz3HrS for ; Thu, 30 Apr 2026 16:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LjtjeZtreOdrTEOmPB+vcIAmylqUTGwZd20LDZavN6Q=; b=CS4gjNHiqxsiv9Z+YraoI8pMGOEtKh+ZPUMzo3lIsZX1pFdtjlsMThO1nAwj0VhwILG8+/ 6zeomADIh9euFIlwRgfPWI5+mM1YvyqP14ikVXg9kKTQIeT/UKHc3/STQIkHg7ZRamVhWy ybxMJ1Ve+JUG0oE6rqHRtbzncwojrQjXm9Pzia3czWEKSmNAx4uOYnA3nXreXSgkm0vGpW PW/XOHYxZTVk9+2IFQAepS/5PtAHiBnWD6BktHZrkh2/s+8xtQpQlfqf0za2QM14S3JuDj 13wHpMGFI3Sk2zfMLS30OVFeoDzRNP9JtMtW24VKD06j/AO6sKCDZJDpy5yZnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566663; a=rsa-sha256; cv=none; b=J3Z/w9LnLgs08NLUdhCR12aIP7tQ9bRWzVLaE+Epmd1KE5nvvMMjth0o+qHlWPBdB162zc dQdNgjwpavvmdDhz2xTOOpablBt1WEmUOcBL5i5rpEgeAwtHrTOargqpUZmVLc2IFvhrq5 FFCWYb0R2SC9l51aWpZZvvlrCkgnBTdmFZCoJby6G/WqH8oofVknPawLPjxuLVuun1wRrv WAAvsKPZ0hcfku9Dc5S1zUBLA7XM7MdsFeTcKT0trFO69X1BThiPfsYKiWHQmNcv94zVR6 ZkafCsn8+XbwYFA1+m8mdTRwaoxGAnA1wwm4bfbnkxrHpDc5qpwoACr/IuC19Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LjtjeZtreOdrTEOmPB+vcIAmylqUTGwZd20LDZavN6Q=; b=aSfY40pvO4uPjTBq7Zw7kNam3tALti6sn1aLf5lreo7wmSIYxBHzC9AoVL7NuevcVazKtJ AAoeUgjArSt0piLlqlzCN3BWDmQmRor1cfy2ShjoGGnw97ogYaUhlohR94PxEs0jgLRdZa 2GIDnTCF4mkW/ZaCBxMdXJYsTxMp0SKw+RYhNWIEQpm3oryXfcrIbMlLMdCvKVPsRt/8Ww XSxw7wGBhbDzWQKYtxh+OgrNM7NXy7kjZVGpNzRVvrb+HdhHEK6noOBXwrFlK3yHflhTMe wmRPdgT+giAsYZxi4jyyLiP7MxKj28emTGLCodWxximDS9lbufJ0wB8itNO0fQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606H4cSYz42h for ; Thu, 30 Apr 2026 16:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20dc2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: 713332b4eb79 - main - fix typo: duplicate 'the' in OP_NOTROOT comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 713332b4eb79be2ca6de36c47853eef099214913 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:03 +0000 Message-Id: <69f383c7.20dc2.5719dcdc@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=713332b4eb79be2ca6de36c47853eef099214913 commit 713332b4eb79be2ca6de36c47853eef099214913 Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:32 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:16 +0000 fix typo: duplicate 'the' in OP_NOTROOT comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- usr.sbin/mountd/mountd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 7e2f9b6e73bd..e9c26b8c83c5 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -323,7 +323,7 @@ static gid_t *tmp_groups = NULL; #define OP_MASKLEN 0x200 #define OP_SEC 0x400 #define OP_CLASSMASK 0x800 /* mask not specified, is Class A/B/C default */ -#define OP_NOTROOT 0x1000 /* Mark the the mount path is not a fs root */ +#define OP_NOTROOT 0x1000 /* Mark the mount path is not a fs root */ #ifdef DEBUG static int debug = 1; From nobody Thu Apr 30 16:31:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606K0V1kz6bl69 for ; Thu, 30 Apr 2026 16:31: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 4g606J5vDbz3J0C for ; Thu, 30 Apr 2026 16:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qi8bmYDCoT/KZQ2M0fAcGYkq8nn1zux9j2xeIExHXxQ=; b=ri/a0jw2LcChvFzpXg17iNP3kmYjjpIv77upuv2gqaPyaYg2r83aTdvpBedaAkbuuZBukr 6TM6oHB8WOezJj+SwhHP9CNCN0wBU5xpU7fV2Bt7AJ+xzJNMZrlA9gzCfU89QmhVBb9kNN exbDzAl2CnkqDuKEvaUCMChq8dbIR3n9s/jZx1M4B81m8Wz3316DwnEhx9i/4219u6ZxME BeJMcDANRX6M3jWX8Ztgkr1d7ubeLUQpZaseDBlsdEuy1U080/Ye28vtjJSrZagN4CQFVu uZB7UZSD9UP9/5UwEpiJGkOhgjMwuswZFeWvJ6EA2rcnk9YodkH/HllAFNFvYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566664; a=rsa-sha256; cv=none; b=u8p5b4wSp3XAiK268fjxNgyUVWe3pFhq9calfmtPnTnvqdgWjt91c3JFgn0R6FHxkRA+9V vsfWse3oU7HSBow3ccJfmSDjpxu0UCcaiURCONN5eUnAADnR9S2D0JjmkiJNpdR27NvBe6 fySKvaV0Qzigo8TDwEslrYvljXjnkFO2zwUDnNq4SJ24boH63A+86BqlraL63waLfswmuy wvFHNO/g3VhI2AK4l/dlhu01/fQE/RlDfAOHvziOAIVzsovJvZburxGoxCBSHlPxgkCqC6 iWzSQWq72bqM6YuCTWrAL//0Ovz8BRSpGxuEln7RwJTXS7WAZFkud8Men1Fmtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qi8bmYDCoT/KZQ2M0fAcGYkq8nn1zux9j2xeIExHXxQ=; b=TRtjiJ2DErU4kzfTOwAHmko3ZNJGqZB4CXoOcLLNZWEVqmMcEm0K6vXRQ94tFKdYgXSDGE jCmjOSxxcIJkZGhOdCRV1cWR7/DBAH9F8wsWXCgAH0L3sAmujkJ7haAW6Ox0RLXYizQzy/ oYL24sBrsGHiEs8kFlXEqbnJWI/58VCv5qMD35YL8azZRSFVtdifGjRLtjAsGye+i3HXqY Wu12CFOha1VEwHu6y8lQLyZXMRQU7rJ7YcgQxhHrHy0nl/rfJu654UxPTOVbL4hJuo3+Vx YrU2wS/5oaSbXa5N1+XuAKRl8VL3mbpR3gxt6iyf7soyLSqqFxfQx9k+yl480w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606J5Nqwz44w for ; Thu, 30 Apr 2026 16:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22184 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: e1841a50d6a5 - main - fix typo: lenght -> length in netlink comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1841a50d6a570517c2f3c9b94b9496cb5b60a9e Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:04 +0000 Message-Id: <69f383c8.22184.509581e6@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=e1841a50d6a570517c2f3c9b94b9496cb5b60a9e commit e1841a50d6a570517c2f3c9b94b9496cb5b60a9e Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:35 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:17 +0000 fix typo: lenght -> length in netlink comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/netlink/netlink_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index e906e0d635af..00e85f9c1ff1 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -724,7 +724,7 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, * least one message, we would return it and won't truncate the next. * * We use same code for normal and MSG_PEEK case. At first queue pass - * we scan nl_bufs and count lenght. In case we can read entire buffer + * we scan nl_bufs and count length. In case we can read entire buffer * at one write everything is trivial. In case we can not, we save * pointer to the last (or partial) nl_buf and in the !peek case we * split the queue into two pieces. We can safely drop the queue lock, From nobody Thu Apr 30 16:31:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606L3628z6bl6B for ; Thu, 30 Apr 2026 16:31: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 4g606K6JhCz3HrV for ; Thu, 30 Apr 2026 16:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMRJfKxMM5k8l+80nS7hKVuZMRt5qLjn+/ocMUZyBFQ=; b=EkdhOpWqogdZcwarmh61W8PkXjZNIP9viOJMK5vP8Z/96kgB1j4Pi6n+UtJ68jPwpR+sQQ nAZzfp4n1sf1NNu/27Tad4yapbTUgtJPvhoqj3oAPOTmrNnRyvTzXRH0YsU1KEQIets0f1 BlMEuo62+c4BUK38+haEMhl3Y02R3tgaJ6jNQwVzTQdSZLGhyS+rsz6bcsv7a1fnRWQG2W udOz6QOXLC3tOAdQa/psQV/bVK0gsA2cU7RZCb/llZWIZP+GZz/ZfzPLwWyef2E3msme9b j2ffv61Rm9eDkmIx+nW22TTUh2Bsefo8XO6Q5EmyVddZsCSLV/77P1i3bOIV3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566665; a=rsa-sha256; cv=none; b=KGAGVei8iEXMhPNUk5+FSR6tKqGGlhZtytFPy7d0DTJhRLK8r2FirlPfgDwaMSJi1H9NvK 1MC63Z2dOjY38mj1StzUW6mvYB97gJcAM3xDsvX9PBBrBcFb+9CduqV0v2AxfbfjoGZmkK ENUhtE0bGwtXaNetQGzmFqe0ptCopB95kN4RQ3GXDa8xK3So/0bO8HkEDnn9QW2ka6Tawg 6Jd5abR0wsOfWZRJOni1Kz76BMyFi1h0CdsTp1QRHIoPZ4fYq6Ids8Uhcv4rBT9ZJuC/uV 1iiWLtZ9SkXpX8o9nPXud9gATqCx/IgCoXMS91dRAanCyifoXA8ofpV1xz4s5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMRJfKxMM5k8l+80nS7hKVuZMRt5qLjn+/ocMUZyBFQ=; b=IZ1YGtilyJK3IJQxVNusWiDf3OHB0MWvzgC2/jL7kzKYjwCFdVh5Xv3QMt9BIVVRXrT3GG sXmRVrVvb4mD+RmX5A1nlc0gYOuCgGS9eThpV2b6EEqOzOEwTuhkP8R5Da3m0rHMCtkxGX 5my570JKryCh/ETu9jmW6CTztLf41QLqqVv8XJfX95Dpo1oTEA5Lu7aDAN8CenbTIoleTM gINjbTES7SHDvkdQzX7oJWdgFLNyUVAytNB0cF6dmGwgKLI73DULpQUKioYYHWa73TFsw2 l07/7Cm+2cdpsbtQZhXvWf7IosO6zNdl30n4NaoRWJOb72C8C7g2ewhpyNbUhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606K5qlqz42k for ; Thu, 30 Apr 2026 16:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 210c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: 0e235f77360c - main - fix typo: seperate -> separate in tcp_ratelimit comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e235f77360c5c72dac28af105e6c9ed3cb66c09 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:05 +0000 Message-Id: <69f383c9.210c8.1c69e526@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=0e235f77360c5c72dac28af105e6c9ed3cb66c09 commit 0e235f77360c5c72dac28af105e6c9ed3cb66c09 Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:37 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:17 +0000 fix typo: seperate -> separate in tcp_ratelimit comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/netinet/tcp_ratelimit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_ratelimit.c b/sys/netinet/tcp_ratelimit.c index ad5fdb25205c..0c115066167c 100644 --- a/sys/netinet/tcp_ratelimit.c +++ b/sys/netinet/tcp_ratelimit.c @@ -490,7 +490,7 @@ populate_canned_table(struct tcp_rate_set *rs, const uint64_t *rate_table_act) { /* * The internal table is "special", it - * is two seperate ordered tables that + * is two separate ordered tables that * must be merged. We get here when the * adapter specifies a number of rates that * covers both ranges in the table in some From nobody Thu Apr 30 16:31:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606M2kLpz6bl46 for ; Thu, 30 Apr 2026 16:31: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 4g606M08t7z3Hx6 for ; Thu, 30 Apr 2026 16:31:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cFlBLbUnCD8qKApcYj5yAn756b/Ta+XfKyMSwZmvHFA=; b=N+OKpEXWGWFhHfeqNCFXmbFfzuyU0xjrqmtRoUJhf62JHqw8hc747Ne6AgYNruSVSzuyWY TDF70VciTL2saYNjMw3iUCrUdkVyLxS1yGwSaHmGBvuEvkOocow5Aw7RMZJhPPL9DRuUDQ p/YpsOQe/QkDNzdh8/Pyd9ldnz6VoTYuV2bt2TbF2nJGSxxtAkARDKl3a+jIdwjzLa6mth 9SdCnKBb9Q8zC5ie5IfXh/40hKS19rigTFho115WCLllCL6EQ7Xg3/1QsfeDIoz2EHZv6T VnoRMQbVJEvIAoeryC/vdrd2dkwhXdXZOL9w71U7Di4fW4ci7h72aDWpwTjd5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566667; a=rsa-sha256; cv=none; b=NLii8REXFmGn0+jt9nsCYYTjqHi9p0TbKaDQUm3XbuKG4oSPrFjhuJj/LUbqhYDghdCP/W J2wWgZZT7tZR5bQfgOOKRcCqZSt5wE6BOQSxWd3BiGww/Xb12nWZc6tlF4BpdNnO08xT6d 5WiS61aGCZu16wdpB+w186yRvYUTdHxF61lqLd+13izTIQ3DHYhru02vMHvvxW23rZtD1o jhkE3sraqTd1NpEyTcP1BbLBs5g5usjfV4D8EHNtXN42Qm9h6sl7GZHef3bH8Zd95DqyP2 FJuSFtqUiUcudnIkpnpWJ3cWXgbA09YBnVkcSA1Sr+aL/+vqM8lNWatkYjVsvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cFlBLbUnCD8qKApcYj5yAn756b/Ta+XfKyMSwZmvHFA=; b=YAJ9PQFikEzwqkAFhPdrBVbxglcTv7KuhTHnBYyaefYkd+B3sYRLTjjjHZnCctJoJTwaM4 PoJhfTqTJV5z6WS4MQgzexRc/2dV3eo/h3uS9qhhJs0fb93xQCzYa9MNE5Kd4TckXAQ4DN XSJP26dYlqyfCIlPuHEGGne3QHoQrEs87zS+QY/DtPuQvlpT7/D2qpMrQw/mRI9wjdNfb9 p0/J/7uNIVQZtCAceuKOgO/JRFQuQDv8qQTp4DzsgHivNArM+LGLflL+j10+sF2mkVJm1j E5aSSbrF24siZi1Ut6XyJfmWKi9L2HgDGfppejz4zfUYw14IR4DDOg548gmpTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606L6lW7z4Pv for ; Thu, 30 Apr 2026 16:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20e47 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: a8cb5cb40005 - main - fix typo: remove extra 'the' in rack.c comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a8cb5cb40005e698c7c4e21d1eb761822ad8c82c Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:06 +0000 Message-Id: <69f383ca.20e47.5b98f95f@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=a8cb5cb40005e698c7c4e21d1eb761822ad8c82c commit a8cb5cb40005e698c7c4e21d1eb761822ad8c82c Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:40 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:17 +0000 fix typo: remove extra 'the' in rack.c comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/netinet/tcp_stacks/rack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 346468fe9a48..c37003698f0a 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -17178,7 +17178,7 @@ pace_to_fill_cwnd(struct tcp_rack *rack, int32_t pacing_delay, uint32_t len, uin return (pacing_delay); /* * first lets calculate the b/w based on the last us-rtt - * and the the smallest send window. + * and the smallest send window. */ fill_bw = min(rack->rc_tp->snd_cwnd, rack->r_ctl.cwnd_to_use); if (rack->rc_fillcw_apply_discount) { From nobody Thu Apr 30 16:31:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606P5qKvz6blHQ for ; Thu, 30 Apr 2026 16:31: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 4g606P1hzDz3J0m for ; Thu, 30 Apr 2026 16:31:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6YK/GvvMEcSB/yDvPxNm4PLeb+kraWi8USXtvPNk0M=; b=OpAXb0pzNUa5ipQCh0DuhOEq1t6HLLW5wsMujSkdOPniDtHpPcfY+moY5dI66ZOppUuVzR k63RQxiAOGJ5cPDtWIp+v70Ox+vo97cKYujOo6KCb1u4ine6dXzAwD6hVUH+xLztfjR/c2 wN7usm+olIQTT3wnEap3ziTJSMc0T2ECpsYvEsxdNouVXqHjJkaR5Uisw9oDd+qob/S3p1 sIKu56TyTsZezewA807kztIagBJHc2XIEm/pXDamP0XZxMFpKCUx/LfYrBPMvpIb21nXuA vQNif6ciAIZroPguttJcCcrkDRadcDiurbZYMG+KRcqbEGwHflbP4PF4aHXm0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566669; a=rsa-sha256; cv=none; b=O/gHQMxbqGghYTGtqy0Hn6GFUkmWlnURvfYjqB627wg1W6iVDhQ/Ziz3gyR3j+ygXNTClN 2ZKPYqVuAielPI7e3eJd/B4tZYiJU0BFMdrxL1oox2vua3VU1oKzsdgUFFdsc3Jwfq8/9O DiLrqNlMzgxsOHoXBzhAP0Yy7XpMBZy8XEokhe+QzlCHasBFQd9Ww0bFybKmZdovqO0rfG kF+LWoi1gvlFTJdVFDBNUOreuDJWFGTmAA/ssfIDmbgMTm5oiSDzCp2J4cva3QqDRQfqko 2PPw76cofcnjsOT0rCju0Quiql3z5rGcvmc+rRorvzfnPy0+qjKlBnXHKgATag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6YK/GvvMEcSB/yDvPxNm4PLeb+kraWi8USXtvPNk0M=; b=XHHluwj5H1wfwrMmUIOBCyuGleDOlANjPz30uLCnWDS8/T64r3sk7zaqvmseTtZ7RLCPBE YutcDv1b1AB8Tj2wWgzl9MfoiQqoYFV0aHgSB7w/y0XZqrRPofMQs+XwrPmMx+ZHy0U4ju pbP2+UwOmwbKPzG4bEDw3WVYJ+O/ajoJMI0kX8wuDGA0297a2wpPFIZlQXJrXiODcf72eh W9D6mapt1pMMk/UFAmYP3YRr4aKkjyJ+MNlhy5vz+lDo0WhaR4+yLhMHzOY2JMEFLV4t+9 LArcQXNuqxMSX6lSPceJYqOagWBAsWbRgm/tmHtwgBovJf1eNrzCPO/Xbp6FVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606P1Fddz4Pw for ; Thu, 30 Apr 2026 16:31:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22189 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: deb17abdeffe - main - fix typos in rtsx.c comments: freqency and wich List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: deb17abdeffef072a0c45eb92c798d1f7b3ce7c5 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:09 +0000 Message-Id: <69f383cd.22189.66a70dd1@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=deb17abdeffef072a0c45eb92c798d1f7b3ce7c5 commit deb17abdeffef072a0c45eb92c798d1f7b3ce7c5 Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:46 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:19 +0000 fix typos in rtsx.c comments: freqency and wich Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/dev/rtsx/rtsx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/rtsx/rtsx.c b/sys/dev/rtsx/rtsx.c index aed0bd6c8b8c..958eb08311c4 100644 --- a/sys/dev/rtsx/rtsx.c +++ b/sys/dev/rtsx/rtsx.c @@ -139,7 +139,7 @@ struct rtsx_softc { uint64_t rtsx_write_count; /* count of write operations */ bool rtsx_discovery_mode; /* are we in discovery mode? */ bool rtsx_tuning_mode; /* are we tuning */ - bool rtsx_double_clk; /* double clock freqency */ + bool rtsx_double_clk; /* double clock frequency */ bool rtsx_vpclk; /* voltage at Pulse-width Modulation(PWM) clock? */ uint8_t rtsx_ssc_depth; /* Spread spectrum clocking depth */ uint8_t rtsx_card_drive_sel; /* value for RTSX_CARD_DRIVE_SEL */ @@ -2837,7 +2837,7 @@ rtsx_xfer_start(struct rtsx_softc *sc) } else { dma_dir = RTSX_DMA_DIR_TO_CARD; /* - * Use transfer mode AUTO_WRITE3, wich assumes we've already + * Use transfer mode AUTO_WRITE3, which assumes we've already * sent the write command and gotten the response, and will * send CMD 12 manually after writing. */ From nobody Thu Apr 30 16:31:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606Q5Dvqz6blMc for ; Thu, 30 Apr 2026 16:31: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 4g606Q2ddnz3HsB for ; Thu, 30 Apr 2026 16:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mWWkU2TdAZoCjbY6s2RC6JJeYQcKzD2kODFFvGi7Fdg=; b=TumJzZpAuL7auch5A9JsUY+GOkqti+fOTpvZ1j/LqE/8Ihwqx09Mpz5VkwbgqA0Au+I+RR b73NAr+HPSUZdvh9GlII9YbOtLfhH+ZSDg/jptSyTy3FATHw8tvX9d8DYqjOf1bu1W5x3I EQDVieFdxBFwxXFEtn5Tfgu2EfeB+v5AlzHxBeG9bR9ulLqKWZ9Ucvo4fcJw/CYZPZIZDC T0V7m950AJsSPJvJRNEUfguRyA1LxYwx3l2gLGHho5oEE2P1QmQ67CKM1b+P1rfD1Bh4Wr dm2nxOynIEt6edL/fQ4E4gx6zLnzCO938CHc8eL67fDgDTeVv7naoKBLsX7Uww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566670; a=rsa-sha256; cv=none; b=HLSn/qa7AK5XJAI5DtDpXSQBakuRfZzMrmWU7TRVRtaaRfz3G3sReMlWYY4vy9ee8BMbl+ yHVTIgv+wDPPk9gloJ/iWBVkkUmvRe4vRDWGd0SnkT+Unq/LWzCMYI9uISzhqE3l1UfAxJ hvo27c1X1j1h6Yx4bUcsjSiqg+r8PDnXE94yHBEBUzGdWX2MfBXLuNOKTa8Jnikfo9lQPh Cq/6ugxTaDj2knLvZhr/wVXE1EMZRH8riZBke6WPZSp9kYR8p38ZUty40MO3tCMtaeleFn yhsiDF3uSS0afnuINeELmPGQfy5CqxoKt1nCkBYhNocQfmicy9RMv0Eeo7rNgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mWWkU2TdAZoCjbY6s2RC6JJeYQcKzD2kODFFvGi7Fdg=; b=X0UGeD8a40p+fTGHxltPRi+iBgo61O2qW1zauz151G11sr9UJ1haZH4FboLEgUcTpyiOns mM8SbFhZ/xJYe16MC19+Tah75lZ2i9FVC/sbKI6vK0s10lvN2osoyJCVnglk8UbPPS8+xm OvIgDJ5gVd6WZl2gVWXQEygH+vuz4LRNMfuH4FfOMrlZjnt7a9QqhJxuH2Ths0qQwrz1z3 hV2nwLGUX3ay/bWG0APYKjguKUeVnMc6T6K/TuvJsCs7PSxNHwvVQc0gYWx3/YBuQ7E3Hh KQ9+NsnxQDwWi3pTlKufP2q9tu/J9i0Lid2DbwbsQE095dgOM216MofTKMJoaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606Q22wJz4P3 for ; Thu, 30 Apr 2026 16:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 226a5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: 0e680203d59a - main - fix typo: recieved -> received in test comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e680203d59aac1a0e77f0d297d3ccb9777be749 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:10 +0000 Message-Id: <69f383ce.226a5.41773073@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=0e680203d59aac1a0e77f0d297d3ccb9777be749 commit 0e680203d59aac1a0e77f0d297d3ccb9777be749 Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:49 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:19 +0000 fix typo: recieved -> received in test comment Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- tests/sys/netinet/fibs_multibind_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netinet/fibs_multibind_test.c b/tests/sys/netinet/fibs_multibind_test.c index 61ebf83c56ef..58e59e7ba7e7 100644 --- a/tests/sys/netinet/fibs_multibind_test.c +++ b/tests/sys/netinet/fibs_multibind_test.c @@ -365,7 +365,7 @@ per_fib_dgram_socket(int domain, int type, const atf_tc_t *tc __unused) sin6p->sin6_addr = in6addr_loopback; } - /* If we send a byte from cs1, it should be recieved by ss1. */ + /* If we send a byte from cs1, it should be received by ss1. */ b = 42; n = sendto(cs1, &b, sizeof(b), 0, (struct sockaddr *)&ss, sslen); ATF_REQUIRE_MSG(n == 1, "sendto failed: %s", strerror(errno)); From nobody Thu Apr 30 16:31:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g606T5Rm3z6blMh for ; Thu, 30 Apr 2026 16:31: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 4g606T3Fw5z3Hy5 for ; Thu, 30 Apr 2026 16:31:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8RxZ8So6lTDCz+OUkPlexlSgz4hqW2QgIaocYUeNS8c=; b=GWztVLrJEgM70SuHz99efjtqC+EgR9FuzbgpmU6dn4ZD0efbLcxHyUP2pNR43krnJK53Q0 mb9qYD5cMi1gGqQwDK5Vhz9WGtmm+g54c6ysckssHVjHnurFnRgVW+W6jnFeBNlUStFx/E nyummWLktMuoqjCDEPXRWOV8sbiYBbcDoegFLHpTuOduSLTrOxWuAZbaVEW8aouOnMVoDb 1U9s40FtrGOTv+Kv/FhpHpN+tWGeKiEIDv27r3KL5B9kBWy8WNrwafCK7mviBqzwkfyNjz g+GIvn4+3AjiTFakQH7iPjjkSh+N8iem7UhAuq2r5fy6ERvYfVioKQN7yLtz0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777566673; a=rsa-sha256; cv=none; b=daQJeojn6DyZK49CMRPjj+MXeqTFHjgdIp5zjYkYnL1yxEqvyfncg1r7nAGO+hiuDr70d1 DiuIAGYwUv05rAvwAdAVAe7R2vlYRFmiYDcPb9uIPWnkgAInZmX/YBHrODyWxrE1u5oGSe 1bO/YwKBsUjrMc+rD4H82LRhszSqoFoGiMXv8wSJOvEh2bDJB29UPYM2p1vV/2Tn66U3iA ZGX5QJBdAlL3E+Odwenj702ctGiAbM5KXlzI7NoUAs12v+6eZoPv9+r+mJwcmGE7iyL7aE iAV2qlMTZqm17av824tCfPwGxjHKlZG6j0EzqJLHyApM9jFccLaT9Pij4Hj95A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777566673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8RxZ8So6lTDCz+OUkPlexlSgz4hqW2QgIaocYUeNS8c=; b=yG/dAGC9wS3dbYiVMCqR46W2Rm9jzlHDTgHibitPx9SS11lGLjFXy+uWsUgbXklnmPRA9J WNUb3SiJu1Z1J5RCavl1H3JjxN9uE2oCnIou6avGV+hQC1keAcdcvXNBWPpctrF8Y4POZP iNcGllEO27ISlsasBuAMf80wM+BCfT8WwPkNPArl4qzk+R3Y83ZGOmH+RczHx0HyZFclxi 0NLE8QSGljoqfuoDGorObUoaDAgVKIrBV7rU9TrpQKDDNibJRTRJRKplGOtdadFhrO3fHD f6iG0R0bPXgbzBqvTK9GGSIr7A4pnnL5ZmkoZSdoXAYtCw7U0orU6uXNEIGbxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g606T2Zpsz450 for ; Thu, 30 Apr 2026 16:31:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21ea8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:31:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Felipe Matarazzo From: Enji Cooper Subject: git: 092528b05d1f - main - fix typo: writting -> writing in sack_filter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 092528b05d1fb0776fecb345ce99b1b68e8122b1 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:31:08 +0000 Message-Id: <69f383cc.21ea8.599d7e75@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=092528b05d1fb0776fecb345ce99b1b68e8122b1 commit 092528b05d1fb0776fecb345ce99b1b68e8122b1 Author: Felipe Matarazzo AuthorDate: 2026-04-29 16:14:43 +0000 Commit: Enji Cooper CommitDate: 2026-04-30 16:29:18 +0000 fix typo: writting -> writing in sack_filter Signed-off-by: Felipe Matarazzo Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2174 --- sys/netinet/tcp_stacks/sack_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_stacks/sack_filter.c b/sys/netinet/tcp_stacks/sack_filter.c index 445f3368f992..1e329479f0e1 100644 --- a/sys/netinet/tcp_stacks/sack_filter.c +++ b/sys/netinet/tcp_stacks/sack_filter.c @@ -863,7 +863,7 @@ main(int argc, char **argv) outwrite: fclose(io); } else { - printf("failed to open sack_setup.bin for writting .. sorry\n"); + printf("failed to open sack_setup.bin for writing .. sorry\n"); } } else if (strncmp(buffer, "restore", 7) == 0) { FILE *io; From nobody Thu Apr 30 16:46:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g60RY39NCz6bnWL for ; Thu, 30 Apr 2026 16:46: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 4g60RY2PFbz3bGS for ; Thu, 30 Apr 2026 16:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777567561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9TWNGwKq5+afCW+ae97c9oP1KRAjp21Qk58uc2SxlmM=; b=ZSp1z5FnVooG6NvRtTIAQiOj6Er7X54k2XT1R7TVOJ1QbBgp8Xy2TgnNqBRLzDFoSZSMkj 1T+tOtgqUSnE55Dt8VoD66dJW+jY/rZ7xhHC1UCfHlEGl+hCQOzu57we9/EVUdC6OEU7v2 HHTSAEsF7QtJzXrIS6gvpJlvu/6OviuA8DaJ6QL4DG+5u4/hyKpsmdf5zrfZfiYWMiDaRT f3Hs8OpbcdUoVIxt1wXnmdID1g2CsAb6HT57vvnexzXGiV9FmWo3UNwfUfXHgNJaDGnpSe aYthGhkCZ9WIoUT/q0EKHDVk4iYIQbXY2mqYKl+e/W09hIvmF4KBCxx80cDV4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777567561; a=rsa-sha256; cv=none; b=hoh65Z6YMik5VnsTW1A8dgWjUnB3OKXMowIEbnetzgZ6YdS+ZlgRXlr5F4VrrJB2O90ysg Zwipf9/dXeKIr3EKGDIDTDQaVi8wBcZAz58pYk27GGveudIGAF5jFu/o5KKV0EJZeVU8a9 RASk1mQ4JUOkg/Zx2T9gWbLmdJ9voc/5KoroM/1ftjpx0FEeWv5uD+cBKhSAVfubq6qG08 KKwAsXM1tZJKZwPDC4lKhqpNwdON72OSdgufo4WhNioO4tmrDubnAeusECGeV9cfdKKFig yIAXSS1ZNWBhLu7xJKBFNHINhdFlG6RPGOeAUjaBw7iTSE5YXOomxV095sg+Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777567561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9TWNGwKq5+afCW+ae97c9oP1KRAjp21Qk58uc2SxlmM=; b=nBtNywT//+IjWbL2md1YswaauCoobGVoS3yAV2Og2TQ6k+qKJqfU1c7U/bNLVFdia+WNJE 6NJ3T2XfsC9fygo32i1ViKBtPpZ94Dswg5DH/zt290Hx0VrYRmFwLEt+tf+sWex88P5rPQ H9OgWuJs4hgeq4W5Hc2CuiodxvHAIXtMqhieAy8AnccXvKe4xpHJykp1E86PDqKoZeTs56 paD9KnnFAUYYdqgd6i/BiTuxxwVs03PYPX921f5llI7qEi5o5V2dgEyjAHP2ym15IQjch1 Dqn+wIqi4R6UNMKUVYnXOOdfAV5FHqHV+4ViX1Xdf44nEFEBkm25bT2vNpvJDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g60RY1Tz7z4gD for ; Thu, 30 Apr 2026 16:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 232a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 16:46:01 +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: 873a195ba635 - main - dhclient: Improve server and filename validation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 873a195ba63575e46686cfd6ea9670a0ca340fa0 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 16:46:01 +0000 Message-Id: <69f38749.232a9.59d30c45@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=873a195ba63575e46686cfd6ea9670a0ca340fa0 commit 873a195ba63575e46686cfd6ea9670a0ca340fa0 Author: Dag-Erling Smørgrav AuthorDate: 2026-04-30 16:45:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-04-30 16:45:35 +0000 dhclient: Improve server and filename validation * Don't iterate over each string three times; once is enough. * Reject control characters (anything below space) in addition to the double quote and backslash. * If an unsafe character is encountered, discard the string instead of rejecting the entire lease. * If backslashes are encountered in the file name option, convert them to forward slashes instead of rejecting the option. * Tweak the warning messages a bit. Looking through the rest of the code, it seems to me that notes generally end with a period while warnings generally don't. Fixes: 8008e4b88daf ("dhclient: Check for unexpected characters in some DHCP server options") PR: 294886 MFC after: 1 week Reviewed by: brooks, markj Differential Revision: https://reviews.freebsd.org/D56740 --- sbin/dhclient/dhclient.c | 75 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index f671b0ab9bed..695451088231 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -1161,7 +1161,7 @@ packet_to_lease(struct packet *packet) lease = malloc(sizeof(struct client_lease)); if (!lease) { - warning("dhcpoffer: no memory to record lease."); + warning("dhcpoffer: no memory to record lease"); return (NULL); } @@ -1211,7 +1211,7 @@ packet_to_lease(struct packet *packet) /* If the server name was filled out, copy it. Do not attempt to validate the server name as a host name. - RFC 2131 merely states that sname is NUL-terminated (which do + RFC 2131 merely states that sname is NUL-terminated (which we do not assume) and that it is the server's host name. Since the ISC client and server allow arbitrary characters, we do as well. */ @@ -1219,39 +1219,72 @@ packet_to_lease(struct packet *packet) !(packet->options[DHO_DHCP_OPTION_OVERLOAD].data[0] & 2)) && packet->raw->sname[0]) { lease->server_name = malloc(DHCP_SNAME_LEN + 1); - if (!lease->server_name) { - warning("dhcpoffer: no memory for server name."); + if (lease->server_name == NULL) { + warning("dhcpoffer: no memory for server name"); free_client_lease(lease); return (NULL); } - memcpy(lease->server_name, packet->raw->sname, DHCP_SNAME_LEN); - lease->server_name[DHCP_SNAME_LEN]='\0'; - if (strchr(lease->server_name, '"') != NULL || - strchr(lease->server_name, '\\') != NULL) { - warning("dhcpoffer: server name contains invalid characters."); - free_client_lease(lease); - return (NULL); + for (i = 0; i < DHCP_SNAME_LEN; i++) { + if (packet->raw->sname[i] == '\0') { + break; + } + if (packet->raw->sname[i] < ' ' || + packet->raw->sname[i] == '"' || + packet->raw->sname[i] == '\\') { + warning("dhcpoffer: server name contains " + "unsafe characters"); + free(lease->server_name); + lease->server_name = NULL; + break; + } + lease->server_name[i] = packet->raw->sname[i]; + } + /* Terminate and zero-pad */ + if (lease->server_name != NULL) { + while (i < DHCP_SNAME_LEN + 1) { + lease->server_name[i++] = '\0'; + } } } - /* Ditto for the filename. */ + /* Ditto for the file name. */ if ((!packet->options[DHO_DHCP_OPTION_OVERLOAD].len || !(packet->options[DHO_DHCP_OPTION_OVERLOAD].data[0] & 1)) && packet->raw->file[0]) { /* Don't count on the NUL terminator. */ lease->filename = malloc(DHCP_FILE_LEN + 1); - if (!lease->filename) { - warning("dhcpoffer: no memory for filename."); + if (lease->filename == NULL) { + warning("dhcpoffer: no memory for file name"); free_client_lease(lease); return (NULL); } - memcpy(lease->filename, packet->raw->file, DHCP_FILE_LEN); - lease->filename[DHCP_FILE_LEN]='\0'; - if (strchr(lease->filename, '"') != NULL || - strchr(lease->filename, '\\') != NULL) { - warning("dhcpoffer: filename contains invalid characters."); - free_client_lease(lease); - return (NULL); + for (i = 0; i < DHCP_FILE_LEN; i++) { + if (packet->raw->file[i] == '\0') { + break; + } + if (packet->raw->file[i] < ' ' || + packet->raw->file[i] == '"') { + warning("dhcpoffer: file name contains " + "unsafe characters"); + free(lease->filename); + lease->filename = NULL; + break; + } + if (packet->raw->file[i] == '\\') { + /* + * This is common in Windows-centric + * environments. Instead of rejecting, + * silently convert to forward slash. + */ + packet->raw->file[i] = '/'; + } + lease->filename[i] = packet->raw->file[i]; + } + /* Terminate and zero-pad */ + if (lease->filename != NULL) { + while (i < DHCP_FILE_LEN + 1) { + lease->filename[i++] = '\0'; + } } } return lease; From nobody Thu Apr 30 18:06:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g62Cz1S48z6bxfP for ; Thu, 30 Apr 2026 18:06: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 4g62Cz0bFDz3s1B for ; Thu, 30 Apr 2026 18:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777572367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I1PtNwmABw180aJU/FfeYtk7yDb1iDhemtLlg1Wb6Gw=; b=ofykmFMagCHPTR8RzQMfKpf9YcssB2u/pzbZdoIgShdwG5YicMarUD7uFJZPxXJFt4Z/G/ ac0yfnUcymBvdZ8YU5Pe3GyEi6vCmQZOMzqYOTj6tCjSA+DPwfydf5dZQsv+Ccl0a2Fysx +AIX++Yrl1rDj2ahDwWcAqgObszPd99IXIwETOysAWglH3uFVgk8Gq+fzNLhmu2NwAVl6h 9TQS5KaR3rhP/Gu8Dg6d8BO0dQSGzJB5q/x7SB7rzZYLTFnCoJTDBxQyupKyft8OsaLvrP SijZGSNoSOoeve4FJqnapuSIu7qFj7LW1MWjAFXGMtQDjJzje4WyEAevTJToDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777572367; a=rsa-sha256; cv=none; b=wqu8Dk7bPHTKfZK37XC74oOYemHtQJEIT3Gbwp/NXZWQbRskL+4+XRsPA3xQlGQ4y1Lk8X yriQrY6oSSmLKvfBMCSGGPxyI4xQp4AFjorje7QRwUYGPBmQmaCQR1+rNRhHoz0Ejpup7q D2hZBdoY10/2T2L95WuZ+9BpKwQkZpLEKY2+o2W1SjoVMk4oQUyw4x1Rxm6QKLmvLtFUYP KnFlnXVbpng9o97p2zJzD/8KCn1TiN9KyhKRWhXlsnl7IvBZnzE7BVSBCugvtQ9jCNLYVN pJnIpIFnuksumsmdoK58E09lwIiLItpnvS+Ho0Lri9ZL8wxxxaSDzv7BL0v+GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777572367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I1PtNwmABw180aJU/FfeYtk7yDb1iDhemtLlg1Wb6Gw=; b=Obysu2lSTWrLNDTVJp7KBvzOYsQLhD4bwqh4pczuUe3oGdQjiy9D0eD7A2/JVHiWN5Otlq OLGAYKCRIUG8mDvQ75gLXqa+CrVkiqulpMRZqn8zs91xM0Ty7OF+PFcx80NaiqsWFEQnz5 MKgsvejtGsl05kH7q8FGQBEognKUkqSLreXSKljCRvY2NmHLDJN75UtPnvdvHeIq7ULcnL eODF/pFUosncp8eEAkF2lWYI2MdNT4ukd1ZJkJu6JN8Jr5YwTWHKQy88WJ//20vKRt6fKC AWPR/qNwYO8aB6W/APWTNEkyfVOv3iZUUJiJYcvRbevyHi0kyLBcaGuFa61gPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g62Cy71pHz7BG for ; Thu, 30 Apr 2026 18:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3185d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 18:06:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 1569e2334ab5 - main - Bump __FreeBSD_version to 1600018 after linuxkpi changes for DRM 6.12.84 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1569e2334ab5b2ee1e2b7893cb05c17a27d3eca8 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 18:06:06 +0000 Message-Id: <69f39a0e.3185d.7acdc03d@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=1569e2334ab5b2ee1e2b7893cb05c17a27d3eca8 commit 1569e2334ab5b2ee1e2b7893cb05c17a27d3eca8 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-30 17:54:30 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-30 17:54:30 +0000 Bump __FreeBSD_version to 1600018 after linuxkpi changes for DRM 6.12.84 As of this commit, all changes to linuxkpi required by the DRM drivers from Linux 6.12.84 were committed. Sponsored by: The FreeBSD Foundation --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index dbe80ca05c68..7c3d02f842f9 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1600017 +#define __FreeBSD_version 1600018 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Thu Apr 30 18:15:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g62QQ4kFLz6bysY for ; Thu, 30 Apr 2026 18: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 4g62QQ2NXPz40Fb for ; Thu, 30 Apr 2026 18: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=1777572910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpNHNimbzSocpRUchTRa+NejjyCwPVR2+0cDiwOdI94=; b=mENYIQk0zw2b5b0urkXBMj6zZ2BOqed+Z54a8q8Flif/niTjJTDa3fW3j/vMfvGzlrA2w5 HvBz36sFiHZ5EfUQ5GQdMJB8vjB646xOwYvSR0NBkvnhYP87ULQTsNOmVoOxMTrnxEO6E/ 3HV3U+G8KWdiZ5qrWn+2/43jqkhM+7ov9Ru5gBlyCfI93FAayXBqf16+gtCpt15hHJjXkl RwXamjOVQuEykRPvTJoWXZ5c8In7MNk3VVXYofMBE1lGVpzoEpwLoQfg+IqnJvZP+rYNag XMPudf6R0s3seLBY99d7Z7Uv5/gi3xfDyi7LNjP9ORLE0unPNN9HnfHsRozoiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777572910; a=rsa-sha256; cv=none; b=XMog6oouCwkgqPSg7eakFzqL9H30TH7w/l+obIYRfijTuQ6MGcyXL2D8V0fvseBVz0Blwm hh3eA5ZZdZWJIBIWGRNIZ59tyg+rsD1R+NMk3L7aejcAtohM4KWHvY1QS1bntQLAOYlCBj ta3au7bCTylXeSLp2yFXk5hWiUgDFES/gSJE1EIVFcfDclfVjJxYg8tzAH44OVp/xjp9T5 z/ywdBGl3HkYIZIT17V4eNGqsrEO9kAcujBvUL8OuVKjtOWpFVLTrT1d3dcbQ2LOKcL5hk Lyd42pgqOvQI3j2InKERtjzEJGWHswqWXmmulQGU6uPOvZDz5v0sLJt/4xsOZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777572910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpNHNimbzSocpRUchTRa+NejjyCwPVR2+0cDiwOdI94=; b=NpCozP4DIsSB5e3rDcV34PAzL/E6+WWidxu5sXfTpjHstw+7lWut8E3D87O/YSgN8KSQbk 8j9Ckrtow2h29pIPvOwsdlMTU3CgfeMbucbwxvX/4NTyNFtbDsoZt/+zTX/kLhfmcOVqJQ mW3nX+KJm7giTOIx1WdEavHA6DpteOS8KgapY4YuTY86sCnHSMmsa01pXVcwgT7BnFYGnH xrHlYGkAacz5MpeDpwt400bfNgb7AYFhKwGXmFRG9KtBgjE+3qpoZu1eIbt4l9mVw1MeLb eOR1WP3hRcqvphJHN+OHrFSsi0udbuVuX825dC1tmuPH6L2QEY4nKpBismSLAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g62QQ1tqZz7Y3 for ; Thu, 30 Apr 2026 18:15:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3601d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 18:15:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andre Albsmeier From: Pouria Mousavizadeh Tehrani Subject: git: a7233085558d - main - dmesg(8): Add -t and -f options for converting timestamps List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7233085558db6d2ee0251891a85a7e74dddcb7e Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 18:15:05 +0000 Message-Id: <69f39c29.3601d.2b01cf39@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=a7233085558db6d2ee0251891a85a7e74dddcb7e commit a7233085558db6d2ee0251891a85a7e74dddcb7e Author: Andre Albsmeier AuthorDate: 2026-01-23 11:10:18 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 18:13:37 +0000 dmesg(8): Add -t and -f options for converting timestamps Kernel timestamps are relative to kern.boottime. With -t, kern.boottime is added and converted to either a default format or the one specified using the -f option. Signed-off-by: Andre Albsmeier Reviewed by: kib, pouria Discussed with: imp Pull-Request: https://github.com/freebsd/freebsd-src/pull/1985 --- sbin/dmesg/dmesg.8 | 16 ++++++++++++- sbin/dmesg/dmesg.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 80 insertions(+), 6 deletions(-) diff --git a/sbin/dmesg/dmesg.8 b/sbin/dmesg/dmesg.8 index d84587b61475..d153f5b71cea 100644 --- a/sbin/dmesg/dmesg.8 +++ b/sbin/dmesg/dmesg.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 7, 2026 +.Dd April 28, 2026 .Dt DMESG 8 .Os .Sh NAME @@ -34,6 +34,7 @@ .Sh SYNOPSIS .Nm .Op Fl ac +.Op Fl t Op Fl f Ar output_fmt .Op Fl M Ar core Op Fl N Ar system .Sh DESCRIPTION The @@ -58,6 +59,19 @@ This includes any syslog records and output. .It Fl c Clear the kernel buffer after printing. +.It Fl t +Convert timestamps (see +.Sx SYSCTL VARIABLES +below) to an absolute date and time. +.It Fl f +If +.Fl t +is also specified, +use the specified +.Ar output_fmt +for the conversion (see +.Xr strftime 3 +manual page). .It Fl M Extract values associated with the name list from the specified core. .It Fl N diff --git a/sbin/dmesg/dmesg.c b/sbin/dmesg/dmesg.c index 65005a903154..f94465a55182 100644 --- a/sbin/dmesg/dmesg.c +++ b/sbin/dmesg/dmesg.c @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include @@ -47,7 +49,6 @@ #include #include #include -#include static struct nlist nl[] = { #define X_MSGBUF 0 @@ -64,18 +65,22 @@ int main(int argc, char *argv[]) { struct msgbuf *bufp, cur; + struct timeval boottime, reltime, abstime; + char timebuf[1024]; char *bp, *ep, *memf, *nextp, *nlistf, *p, *q, *visbp; + const char *timefmt = "%d %b %T"; kvm_t *kd; size_t buflen, bufpos; long pri; int ch, clear; - bool all; + bool all, timeconv; all = false; clear = false; + timeconv = false; (void) setlocale(LC_CTYPE, ""); memf = nlistf = NULL; - while ((ch = getopt(argc, argv, "acM:N:")) != -1) + while ((ch = getopt(argc, argv, "actM:N:f:")) != -1) switch(ch) { case 'a': all = true; @@ -83,12 +88,18 @@ main(int argc, char *argv[]) case 'c': clear = true; break; + case 't': + timeconv = true; + break; case 'M': memf = optarg; break; case 'N': nlistf = optarg; break; + case 'f': + timefmt = optarg; + break; case '?': default: usage(); @@ -97,6 +108,14 @@ main(int argc, char *argv[]) if (argc != 0) usage(); + if (timeconv) { + int mib[2] = {CTL_KERN, KERN_BOOTTIME}; + + size_t l = sizeof(boottime); + if (sysctl(mib, 2, &boottime, &l, 0, 0) < 0) + err(1, "sysctl kern.boottime"); + } + if (memf == NULL) { /* * Running kernel. Use sysctl. This gives an unwrapped buffer @@ -188,7 +207,48 @@ main(int argc, char *argv[]) } (void)strvisx(visbp, p, nextp - p, 0); - (void)printf("%s", visbp); + if (!timeconv) { + printf("%s", visbp); + continue; + } + + if (visbp[0] != '[') { + printf("%s", visbp); + continue; + } + + reltime.tv_usec = 0; + errno = 0; + reltime.tv_sec = strtoul(visbp + 1, &q, 10); + if (errno != 0) { + printf("%s", visbp); + continue; + } + + if (*q == '.') { + errno = 0; + reltime.tv_usec = strtof(q, &q) * 1000000.0; + if (errno != 0) { + printf("%s", visbp); + continue; + } + } + + if (*q != ']' || q[1] != ' ') { + printf("%s", visbp); + continue; + } + q++; + + timeradd(&boottime, &reltime, &abstime); + + if (strftime(timebuf, sizeof timebuf, timefmt, + localtime(&abstime.tv_sec)) != 0) { + printf("[%s]%s", timebuf, q); + } else { + printf("%s", visbp); + continue; + } } exit(0); } @@ -196,6 +256,6 @@ main(int argc, char *argv[]) void usage(void) { - fprintf(stderr, "usage: dmesg [-ac] [-M core [-N system]]\n"); + fprintf(stderr, "usage: dmesg [-ac] [-t [-f output_fmt]] [-M core [-N system]]\n"); exit(1); } From nobody Thu Apr 30 18:30:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g62lq1r3Nz6c1Bk for ; Thu, 30 Apr 2026 18:30:15 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb136.google.com (mail-yx1-xb136.google.com [IPv6:2607:f8b0:4864:20::b136]) (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 4g62lp3cKsz42LH for ; Thu, 30 Apr 2026 18:30:14 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=oaB1hQGD; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b136 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com; arc=pass ("google.com:s=arc-20240605:i=1") Received: by mail-yx1-xb136.google.com with SMTP id 956f58d0204a3-6501c9903edso1351886d50.1 for ; Thu, 30 Apr 2026 11:30:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777573809; cv=none; d=google.com; s=arc-20240605; b=ZtdP1sgUR2KwXrLn4QoKBxnyeB2sOG7X/TQ8VhZeUsf2qZ3vhDaKiCYpliDxSwFHQ0 /5T0eEys01qEfvpnQvnc5n1wdFWW7ZdV5MA8beB8JPTauSRbMC6LTJBxob/Z8XJRVP3i a2bEW4qIV/rMjljLKIOIYm1RcFCVqkl6rVJaAr9662lkyMeqcXpbIGy1j5kPX8GNfqDg b3dD+HF8LQN2QWGknOpZi333lMHH9TC253lYtC44yyg5Nm5MpMXImZmQ3jV3SaCjbDo5 cqo6FUwDwGvatWU8tsqB8WFgEK5r366ia8GQLKQnjUJoT1/cFVBXKX9FD+7CQ+LBIr7w Q9jg== 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=mJnVHNWqjby8HGjsIKYP+Da3AXeOCMiJb63L2nYvIZA=; fh=7VKYYHBsxpW9ZSpS0NDx/5rBcBidux70/ABfl0Qd2cQ=; b=jbunpzh8tlKsonKnCc3jphv+V1DSZJVjvpXce+wcu6VXHjlA0yIP33i3xozmv0N1cU bzm6K04sWRcPDBjkv4Jg+cNg6a7C1CRD5J/hnFhSBL39ulCYrLh0mR1QEmEz9H31NqOg Otxd4fw8rdxWCqff8WFAcho8KxPnwN0TQYNYwF95v6AhYHRMkHXcgTiwq+0/5UCAG64v vU2riCiOMiOmLob5B4X9/DOfJi3GtTeysUPRobGvIyKuKaDw4bDxWIpvarpBwjIkvlQT RpkBcEPFQUg1G+7eOqlj3DAIjHfaQVScvmTiDWRmX92lpynPg6rrDLsurhruY7bAahwZ r1mw==; 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=1777573809; x=1778178609; 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=mJnVHNWqjby8HGjsIKYP+Da3AXeOCMiJb63L2nYvIZA=; b=oaB1hQGDJWmvbsKhIR/EInMKRkJiXK7QQbXDM/6vhKi9OEF1dJBBhaB2F+uQVJcYdt VAkuxQK7Q1N2edGW7SQE5w4asy/B13O5vowfvWdf7bhSLM++uOE8VXmAgM7aoulPMtPy zXr5tAcWH4lGQYwRozJ9VVfdX+mGC+MlSfuDQO8AMrEptLzeURIIt8OgubZz7fzIAUhk Se3ob2kv1lDMpZzQAZKt2N2sM8wclafLD/z+MsNoyc6OClC4DnsL+bWMntzGSSBYiPQv biwYFEEX6lM/6yfmwXqLN3dolwPMGe6pL2LfdmsRP0yCNYkakThr88JtrkeWkAp8n3zY Zyrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777573809; x=1778178609; 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=mJnVHNWqjby8HGjsIKYP+Da3AXeOCMiJb63L2nYvIZA=; b=mvhIr5hX23gCQkR2yr44Kl9HveWVpGEmo4wfhZ+aWBv6tlW8VgQOrrctY4NwD+6bpJ qT1XCq7FP421BODWQ3cYFqnTY3vBS2dyzIL2qYlldrf+3bf4Lb/WPlD4B516mydiAt5V y5p2ofoYM4YIPxeneN8ETOYJIjXs4z7JKC8W3O1WK0C/z/XsjNKLmkBbtmBmXSH1FDYG 0AxpfjJt/uSyIFgwPhcN8i9oSIqrx6UcuO1+L4dwaUd5TBndLntRMUJTH6VbEdhDBZuK WLBtf/uVk6s+1hVCwAsPZwrguGMLSq34oXZhTA9HiTSGron8v+ptvXR/XF2OaAfmf6pW k9JA== X-Forwarded-Encrypted: i=1; AFNElJ9sA9PapyreU5N9M0nyzbUncaMf3ou0zcvjzLv8tfMxtJNcbGRyG/hBb3KCCtJmi44A5EFI6xfknPVtTbC3vFZkf0KN9g==@freebsd.org X-Gm-Message-State: AOJu0YzGKRqMFFDyr+b1wuXRAR5euZenpdIUZfoiEbVWxkVY/bB54tXk 3BTZZQgYgocgXiLpdg0jmTw5FcfsT44lHRfJ9nIgpiLPEeGl4GrOvXOYzXKNwbfnp27Bl8dlO+T 767WJGUgq1rHMaUQjfXZHShK/zpKYwYw= X-Gm-Gg: AeBDievUpjZBCeLkk0fHW/hetP3z5k73xBsHvFr0l52M3WXvy+959OPjegMO98oBWsi xuqMqRkFCXqOeeGhTrUYuhatdOnopPK2TRy3rumS2zSpoY8bcTZJ14w3DV7YI0fyuEgopYhbXHC xLMc+BoA3Nt9mmmy4QXh1WHHPvwRlVQWWVqyWHJBxt6KJukIySN87ujww8H4KlkJGng5wVS2X3a xHZeiVobCHaCraydjV/qaMUORvWxNfhA4u9ldy2aWG3zBF1ep72RkvwcCp2P9YtNzUkxgkHcT+W N+2kz1kDhX5X8cNJF/98uvwsstqxy4wyyqo7wpmQCRlcIR1pl/0= X-Received: by 2002:a05:690e:1444:b0:652:fcd5:a30c with SMTP id 956f58d0204a3-65c18fcac24mr3486279d50.60.1777573808806; Thu, 30 Apr 2026 11:30:08 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7010:4ea3:b0:518:6036:5193 with HTTP; Thu, 30 Apr 2026 11:30:06 -0700 (PDT) In-Reply-To: <6875.1777333471@kaos.jnpr.net> 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> <6875.1777333471@kaos.jnpr.net> From: Oliver Pinter Date: Thu, 30 Apr 2026 19:30:06 +0100 X-Gm-Features: AVHnY4LlJ20sEk4A0SNG2DIGeH4gKdSAz2bZ4qiPK5Z1TIfCo_JUj-8Ef59Q_mk Message-ID: Subject: Re: git: 566cc005812b - main - safe_set treat ':' and '#' differently To: "Simon J. Gerraty" Cc: "Enji Cooper (yaneurabeya)" , =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="0000000000006f9e1d0650b1a746" X-Spamd-Result: default: False [-4.81 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_SHORT(-0.81)[-0.812]; 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]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b136:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCPT_COUNT_FIVE(0.00)[6] X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4g62lp3cKsz42LH --0000000000006f9e1d0650b1a746 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tuesday, April 28, 2026, Simon J. Gerraty wrote: > Enji Cooper (yaneurabeya) wrote: > > > > 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. Could you please add some unit test for the supported use cases to avoid future confusions? --0000000000006f9e1d0650b1a746 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Tuesday, April 28, 2026, Simon J. Gerraty <sjg@juniper.net> wrote:
Enji Cooper (yaneurabeya) <yaneurabeya@gmail.com> wrote:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Using `:` 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.=C2=A0 There is no useful alternative.<= br>
The change is harmless, and allows safe_set to be re-used in
other contexts.

I see zero benefit to reverting it.

Could y= ou please add some unit test for the supported use cases to avoid future co= nfusions?
--0000000000006f9e1d0650b1a746-- From nobody Thu Apr 30 18:41:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g63135jpFz6c2CC; Thu, 30 Apr 2026 18:41:43 +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 4g63126ZNWz442H; Thu, 30 Apr 2026 18:41:42 +0000 (UTC) (envelope-from sjg@juniper.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=juniper.net header.s=PPS03102026 header.b=iPBlvUm1; dkim=none ("invalid DKIM record") header.d=juniper.net header.s=selector1 header.b=ct65NuX9; dmarc=pass (policy=reject) header.from=juniper.net; spf=pass (mx1.freebsd.org: domain of sjg@juniper.net designates 208.84.65.16 as permitted sender) smtp.mailfrom=sjg@juniper.net; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") 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 63UI0Zme1135417; Thu, 30 Apr 2026 11:41:40 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= cc:content-id:content-type:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=PPS03102026; bh=phd1hz5q8 NA17/+4NPowM4s4VPsnnnn19OBqMgYZAeo=; b=iPBlvUm1rfLW8o57OfZrfHAb+ YdZvPFJ9UCr+LXEQ/C4E+HOgyIHPigeU90GVzYUFbogtBwNb5J6FdQZFEVCWuvJS Ewpx5pLnVd+HtU90GrvPq9YvQT2YUe6PnRwQLzlTiJRN5DS2lYsvWbbX/FolKMQP SUkyxPkoER4f2orYxwJXfs2LST1FCkRICYSTNaMxB4GPzIBv7vacOx53/qRZLVtY R/f6uX/bRA9nAIarxbsLbnyHDHvvbjJFkboPTj3RDlvxo02A9luNI3ffVydFIHJA mu/AE5k5ozx8FHcy+VGk5bE/9L8LTOGNediTqNJfF+k0EBKE17iv3Xljz5vGA== Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012022.outbound.protection.outlook.com [40.93.195.22]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 4dv7pb1k2y-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 30 Apr 2026 11:41:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aF7+gFRmToor66Yh1IA5Yz9aIOA/A+W+icHwyW5oDco+Kf2xke4KGv4qfuLUuC7EBkAsuRKqubk4I/Ley9y0oBS0y0nEFzn7wcEesqGZOaejeaE2BxoBRtuiJEyYhFKDeLldj3K5Mt1IK2zklx46K5VXqGHwCsrq2w/XIrhk8odK5qo7qeEiP9AH5gEFrlnWDGcWe3Pvjau14zu+hgy43MnJySnO50Jd8DbfnP4QFSC+/GU2KcpUVhAYYnAdHiE2Dhp2p3/axUlRthx4t+/wpXxApaKQ0enkMK/fGHqw2oRgISePduZpiGg+VCawL/QRuWwCOHa0yVfxykUC5zriUA== 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=phd1hz5q8NA17/+4NPowM4s4VPsnnnn19OBqMgYZAeo=; b=fjQzErly6L+FY2TD0fVPkg+MbQtaH3j+KT8DaRM7D6/EK+6GlGx2ILejiNo6xn3GFHWdXyqjK98tuxucEioNs3vGcgzLdP8BJhljt5DPd7jCXURZXtOb8Mxe3al6N/tRJVNtlEIY8lSonhNIRRJ77Tca/L68GD2XALRccjD275Ch+YHK+HGwzcH6P8USw0thfMZJv3xMR0BHp8/ikArPnXogo6NPHmD3iLsV7PKRTOLyKumN17EdN1b5Eouqm4cxn+Pz1MQtupSICfNM/PVkQH86im1eaPlDsHDWBen0kwiL4zE5bBTKa+N+XsTjNDOGPn2vIx5ZT3VKdMwca8TPRQ== 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=phd1hz5q8NA17/+4NPowM4s4VPsnnnn19OBqMgYZAeo=; b=ct65NuX9zrShtuVow4S9KCLZb5F19Z3EokB13ODe6PH82xxlTpsKHTmoEi3MahVG+mDFPFVR8LcYLBIsKCHVwkJ+hiRl5+IzLwySG9/1L5ZdKiqEb7etHFRnQkI2GfVqDVdBu8Z7B2zXxSfmOXCkIfQY7LWgGb5K9oKojoEkamA= Received: from SJ0PR05CA0080.namprd05.prod.outlook.com (2603:10b6:a03:332::25) by LV5PR05MB998395.namprd05.prod.outlook.com (2603:10b6:408:35b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.5; Thu, 30 Apr 2026 18:41:37 +0000 Received: from MWH0EPF000C6193.namprd02.prod.outlook.com (2603:10b6:a03:332:cafe::ce) by SJ0PR05CA0080.outlook.office365.com (2603:10b6:a03:332::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.7 via Frontend Transport; Thu, 30 Apr 2026 18:41: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 MWH0EPF000C6193.mail.protection.outlook.com (10.167.249.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.22 via Frontend Transport; Thu, 30 Apr 2026 18:41:37 +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; Thu, 30 Apr 2026 11:41:31 -0700 Received: from p-exchbe-eqx-04.jnpr.net (10.104.9.87) 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; Thu, 30 Apr 2026 11:41:31 -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; Thu, 30 Apr 2026 11:41:31 -0700 Received: by kaos.jnpr.net (Postfix, from userid 1377) id 1D5C3C7A79; Thu, 30 Apr 2026 11:41:31 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 1BF59C797F; Thu, 30 Apr 2026 11:41:31 -0700 (PDT) To: Oliver Pinter CC: "Enji Cooper (yaneurabeya)" , =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= , "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: 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> <6875.1777333471@kaos.jnpr.net> Comments: In-reply-to: Oliver Pinter message dated "Thu, 30 Apr 2026 19:30:06 +0100." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.8; Emacs 30.2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <2082.1777574491.1@kaos.jnpr.net> Date: Thu, 30 Apr 2026 11:41:31 -0700 Message-ID: <6906.1777574491@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000C6193:EE_|LV5PR05MB998395:EE_ X-MS-Office365-Filtering-Correlation-Id: 439b4cee-97d9-448b-2889-08dea6e81c5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|1800799024|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: 0fPXhbR+dsXBUSmdB7wOl3HrAUWMfZiG5n24NMdaDF5olCFrgFoZf+bvIfqknl8HWlPSDJuayZHQmOsrNbeNtrKLfUHUACZmOs5xPekUM0D9/GIv+5Mh216yVYycf/HXg/+gy4cksJjdUca2O5cQf+s9W0FiGTm2rqpbmJ/qMcEDLa0e974fXev1Z+PKU4r5W1gXLxWOgUjl+eK4ItwFH4HqAQ1L5lUTSFMzYjL8C+yiEVbey3jqgjQDvZOkhNczsI9lbcG9XehqJ3OW3dUltXqXgLMj/24OKZ84+oPD0QDd/JVMdv1fSKud6FiIUlIpydsT4LZyWWIKTk6EFeOwTNJCyhZolJat0vDEqmUn2ggNWgbkZHvjqiOxm4fUn6uXDvonuOoAdrHF55CgmIUWfRaapnzNJhEqyQBQX8GMsFA0kNHmA8IfVtYbhNvAnmeoNW+puLrmvKLX8Oby50yFri3jRrHfCIdCOeIh0e/f80m7q7JCbFy/ZfE183UDa+n12J1RO3V5HGdBfybDOzZTDsKOzP/B5e0sgbAH52Db315ALR1G7dF+ZXH26z04J+Ai9LuuIzwNWGKKmc1SlPKrE6xkFdfr7sOVz03VDPCDB+PaXysUz1hNmxxJJrRnBjtFfwI/kvfqikHQ4BJQnJGQ61rpndfy7+jYe+3zDTmeBnZfaTEDuY96agE2P/AFFwGvpOagfdcSTrGNwf6vl2b1HmeXlHjsdtM4n5yCPlNOhJQ= 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)(82310400026)(376014)(36860700016)(1800799024)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E4/e0w2KczDVDDOSfLB2is1raFTHruhhq1VBOh50UMS7+o25ywM6NuRP3IxdBrEoktjqMUT1M1z68B46puzyLM5Aner6JovusUkS4CnAX8LrLgxaVBChFCXVQCe8dlunah1xfRsO56E9q5yDv+RFvBlboB4DH2EUNwOLFuII/ngMGdUXVZ9eUSO4s4Z8ioUoe3kOTuPvxE8TNFWbFAwCKNgIzFQQcCPvQStRbZqyObAvgXkJAcuyBZ6EMOu/5RxG4ohPxPWsovfmVBJmCgJbxG4Wtq/YhPutFf9n++a0Q21u5TbQUSG0hJ3BSKIfhB3Hz0OmJTHLxcNJQD9FDAT4nSLL1tl8P8Y0uS0D2JuxZKp0XOABXpd7aK3EabTVmE4N5fEMvK2QtLHKLy5c9d01fyjPtle1PIpJ2Pn0qiW2Kae/q/dvs+YUlCI1nto5NM3Q X-Exchange-RoutingPolicyChecked: RUlZjNMKlXOTnltXl1MvLDUauxVdrTedZeQ+J17IuOX9o5+wZuxfV4MDGba+gF4PXeS9xgTVIPGJB25f9cLJLSdQkkZ74AF8cH8V32c+yusryX12EP2SoPGgS2EkM/FBQr0FuWx1kNhP/9tPVN1tDaGlP68OVU/KYFhrjsEZbJxQf6MGkF/UdHdsJW5diNPG2zlzhGjMO/BsY04K4pVhPICNTpv0dbHfXt9EnHgEDOu5KzJsYFHL9DkZK1Eek8k1wO/sikOFx2EukxBG2+VMxVr2Jb5TDyA2n7krxkwkSukbfhUfno7nQK/QsKw6RRhPQxo/3swN1TxEqrLLtH1xYw== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 18:41:37.1238 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 439b4cee-97d9-448b-2889-08dea6e81c5f 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: MWH0EPF000C6193.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV5PR05MB998395 X-Authority-Analysis: v=2.4 cv=YKavDxGx c=1 sm=1 tr=0 ts=69f3a264 cx=c_pps a=YSkC1VwTRJCIXQXpGgeI2Q==:117 a=f/rncuQqEjTEF/G1odkJ9w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=A5OVakUREuEA:10 a=s63m1ICgrNkA:10 a=rhJc5-LppCAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7vL3O5uBSuztJ3xaqtyr:22 a=O1S9G-DnkxobS-ZkPuRe:22 a=pGLkceISAAAA:8 a=ozDUYa7LHoJrAsT_SYIA:9 a=CjuIK1q_8ugA:10 a=IeOyIZT3uqEA:10 a=zZCYzV9kfG8A:10 X-Proofpoint-GUID: ZIBz9ZsPj3zvGAhPNi_R-uI2P5RnjR70 X-Proofpoint-ORIG-GUID: ZIBz9ZsPj3zvGAhPNi_R-uI2P5RnjR70 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDMwMDE5NCBTYWx0ZWRfXxL8mkxgDn923 2O2vfsW/J6LGzT2tGomj5Rwa2yn+trxD+DkVSFNj7altSJmj133jEPjZeHUjh1F6pgnFDJg/QV2 wM1zHYkpLMh+/z15lQ+zZszY7CYL7dmSFiwntrPYK/6WfgYOHl2z0b5D2/xjDCciZ4S1zmHUe5Y Rc5U+OnnC8C9APe9+sDF6Fb5vLF37qEE+Io4z0X3g4Xh3W1s6ZUppViQbugWAJKiaUAMlJfu+Of +l3oLeCIVdbKlvHECWxUTrpO+H5bRRGyFJWUbEPGxuozLIdqwwl0cgaybiGbcRSa7RUzZ8eOjqP KLUQzsnlveNH1/GLULbZWyLYkE6ppX1KCxEkOwfMM6coaBeNxhJQ2GThB2UUm53BqADr/TSWTv1 zGjf8JmPvol4cj2jQeJyejQUj59dZ21deZDFBOTK18lan7cA0Zqb3CPt4xnEHKF2dDYacApiZju 63hRG/2jLIIGcZeGc8A== 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-30_05,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 phishscore=0 adultscore=0 clxscore=1011 spamscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604300194 X-Spamd-Result: default: False [-3.07 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_REJECT(1.00)[signature check failed: fail, {[1] = sig:microsoft.com:reject}]; NEURAL_HAM_SHORT(-0.97)[-0.972]; DMARC_POLICY_ALLOW(-0.50)[juniper.net,reject]; R_DKIM_ALLOW(-0.20)[juniper.net:s=PPS03102026]; R_SPF_ALLOW(-0.20)[+ip4:208.84.65.16]; MIME_GOOD(-0.10)[text/plain]; RCVD_IN_DNSWL_LOW(-0.10)[208.84.65.16:from]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org,juniper.net]; TO_DN_SOME(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; R_DKIM_PERMFAIL(0.00)[juniper.net:s=selector1]; FROM_HAS_DN(0.00)[]; DKIM_MIXED(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org,dev-commits-src-all@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[juniper.net:+,juniper.net:~]; RCPT_COUNT_SEVEN(0.00)[7]; ASN(0.00)[asn:26211, ipnet:208.84.65.0/24, country:US]; TAGGED_RCPT(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[40.93.195.22:received]; FREEFALL_USER(0.00)[sjg]; RCVD_COUNT_SEVEN(0.00)[10] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4g63126ZNWz442H Oliver Pinter wrote: > Could you please add some unit test for the supported use cases to > avoid future confusions? Sure. safe_eval.sh is setup to support that. From nobody Thu Apr 30 18:47:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g637D750Gz6c2mt for ; Thu, 30 Apr 2026 18:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g637D3Xmrz44x2 for ; Thu, 30 Apr 2026 18:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777574824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z+Rg7oCSBG0BHWQTomVytLNqf6/2IWZSQtSp40+KpVE=; b=K1I8J2iZWMkUP9QFsHcZXHqhMnGq/uF1psT5EzbFF9dTgu3ISc3EIKJdvAfkcw9Mrg5K3I 9JRgYl/EiOaRPnk9uY3GM3OiEmbwn4F7RH6irZdwBEjASnIomyq8tMl1Vv4OrUmRJteZE1 cfjd4hQ9qr6kbTtvuDBEtQ3TX7Y8bXcbxTHK03xk1bYsmbojoIapdz+tKY+9d833eLp3JN osFR+Fd3sqbxN0GF9OELmMgO7TyU7QOePcJu7JEX3MR3SIaJWYAsYAr0D4r6KDADg1ED2V SZySzvFCBIeRKp80eSZOSABj/IH4xXUdL7J8YCRZoFPmEn+60ZiKH0wBdooz8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777574824; a=rsa-sha256; cv=none; b=gpubDShutTxEroB26MOI2gqCvcNFwbf4bsvOuU5lqVLvF5z81ulaZIHQoKG84VXHHD6I0/ 8rKH2gKPs1ju1FEpy0VCMPdP3o0sX4QfB5JPEvOIZdQvjgNobJ9gwjCnKiGqSXaYhJsQEF xu+MT+ldQNPZE3vEcTsCHhCTrZ1KDxsrIDOejNevmMscaz8LmFTW1cbcKJgnkxiYBB4Sgm S/spB3KNcmUh3ilsJkReYQYVaWz8QIEHZXrt31+U1pUDEup31mp/UGvtxp21qmbI1N32DD OTYq8AzuZAagRn6cdqAKF2NKr8BD/hLT7VuGb9stf93Quxu5mdRAYRNY1bCN5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777574824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z+Rg7oCSBG0BHWQTomVytLNqf6/2IWZSQtSp40+KpVE=; b=A0xRnTgao3bdrSiB2pYN3IT4oS4hnJaMmgnf26vorz1//bpCGGWDTjjojmokMH8a76ztED aHdtDf7TgatanPubOwl56w5V8NapsaCx9f0Duf+sNF4+gQBPp6aZRY4FyuyMhenK/fgNBT XbBVrp9GpkGNyPCAdmS+VRXge3ft+F0ivnFFixOTiw0i+9JQW9x5J2hbMvJnHZEb+H2UIi 6CQHcqj00j1BzCUpak4RuIwLQJreXj5zafOjK7KYcGgQ0ax2PWNf2xIvFNFqhew3OZiK8o 6wDpytl+JYt1vdD9tdzExIptFW7ghHBx6WjiV2w7342/NRyEFSHKVwnLMpO3Mg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g637D2Yvmz85g for ; Thu, 30 Apr 2026 18:47:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 372d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 18:47:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 5e9f2a6aefab - main - sound: Retire unused snddev_info->bufsz List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e9f2a6aefabec01c587a169fd5efe3a2720a8e5 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 18:47:04 +0000 Message-Id: <69f3a3a8.372d5.925f854@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=5e9f2a6aefabec01c587a169fd5efe3a2720a8e5 commit 5e9f2a6aefabec01c587a169fd5efe3a2720a8e5 Author: Christos Margiolis AuthorDate: 2026-04-30 18:45:20 +0000 Commit: Christos Margiolis CommitDate: 2026-04-30 18:46:13 +0000 sound: Retire unused snddev_info->bufsz Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/pcm/sound.c | 9 --------- sys/dev/sound/pcm/sound.h | 1 - 2 files changed, 10 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 305d663cd6ad..9eb2dffeb908 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -242,7 +242,6 @@ pcm_getdevinfo(device_t dev) unsigned int pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsigned int maxbufsz) { - struct snddev_info *d = device_get_softc(dev); int sz, x; sz = 0; @@ -264,8 +263,6 @@ pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsig sz = deflt; } - d->bufsz = sz; - return sz; } @@ -406,12 +403,6 @@ pcm_register(device_t dev, char *str) SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "rec", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "recording channels node"); - /* XXX: a user should be able to set this with a control tool, the - sysadmin then needs min+max sysctls for this */ - SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "buffersize", CTLFLAG_RD, &d->bufsz, 0, - "allocated buffer size"); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index de9af6bd5324..4795eb7585c5 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -204,7 +204,6 @@ struct snddev_info { } channels; unsigned playcount, reccount, pvchancount, rvchancount; unsigned flags; - unsigned int bufsz; void *devinfo; device_t dev; char status[SND_STATUSLEN]; From nobody Thu Apr 30 19:54:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g64cW0TFYz6c8sr for ; Thu, 30 Apr 2026 19:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g64cV6F3Kz3HN1 for ; Thu, 30 Apr 2026 19:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777578842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PhnI33zUTLotwRtwuqWQ778IqMURIqrRa99fDqNUbrg=; b=p2joDP8yHLcXfYf1mDnla4UdxsO4ezHkPiJ5AL2AV3Emc2wH/0oR2ovJux6o4fOKKQUlyg kQJqbcXNG5iUtj4o7Aekl7EwzeyuPR9NS9byZzqMCbTx/Jg3zNcTqBtc0l/5MbIwTK9Gee 2+cnAn4COKSSb9garWo/GNp+6ZW6/sYCN7WSs2JPHeOaZfBiMhRu81cKH0znQkEbCXM2Kp mDG9FshMQah3SXJqB//G8wrt1ILRqaee1zjWwd0H8EtbL5kO+ucuxPvBWKYNsmK4+vaORx /234vO04UTcVuSeZ92+lZZdbjH8rsaQFEqrDrP7n6PiLyH2V7/03esJD8QVtVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777578842; a=rsa-sha256; cv=none; b=ii2e+sCi0rWETywQl+sRCT5RMv0E0hCxznP2j6weesC2REqUcg+fsvHOAdXbB3LqdlusSz MO3HSerHoE0IkEJ2972hzuzyogLccORlH25Tgho5BZ6yD//sh+N1316Ew6Ios9oa+nD5gN Ltm5Kh1H1q0E1zt79sEGv6diD+mdi4nK9ijtbVw4RJfAtdgMh1fNbYFHzgpW1RJpmfOay+ Xlzsfze7eZen8I0rOfGl3cxTs833AARPNX14Hfi6b3nfOEIaxo3YdkUZRLKx2pwtDxoD0a 1ITqkgHM+Un7VHWbq7NtYiRkxUw5318CbhFLNDirq4X4RZ/+fdsSV+BrQwoyPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777578842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PhnI33zUTLotwRtwuqWQ778IqMURIqrRa99fDqNUbrg=; b=LY7MsmImnJKb5Vpsd8YiSzWEVdur22PAtq9iGX/PROLCmOetu3fWcnjdytFuBRk8OkfUPL 2uM0+GbRzFj/JwnrPApyj82nf8UrvzsQr1zOQe9PAFNwkB/d9zX3WIzYTk+/OvTDvP670r FTlxAxq4hB8WikTMOvj8edlQr/CGI9M7HrdvAQuFSYCRc6YB738BZE586aBvrEZ+Icx1P4 AyEX4svQHxcAipqPN7Yn0I5ID9IO/ihOtssdokV+wy52Q+eyzJRk2PNprFe45VG0rYD98p 2sjvhgVKbJyexBiS5b+yRRHRdL2SniWlJoT0J0phnvmnwMdSz3N1c8lCcsgilQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g64cV5nZkzBGb for ; Thu, 30 Apr 2026 19:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e0c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 19:54:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: ea1764e5fcf0 - main - mfi(4)/mrsas(4): Set sysctl name for driver versions consistently List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea1764e5fcf0fc11680dc104e663ae3d1d0fd7be Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 19:54:02 +0000 Message-Id: <69f3b35a.3e0c3.1696fe86@gitrepo.freebsd.org> The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=ea1764e5fcf0fc11680dc104e663ae3d1d0fd7be commit ea1764e5fcf0fc11680dc104e663ae3d1d0fd7be Author: Michael Osipov AuthorDate: 2026-02-25 19:48:34 +0000 Commit: Michael Osipov CommitDate: 2026-04-30 19:53:47 +0000 mfi(4)/mrsas(4): Set sysctl name for driver versions consistently Instead of printing the driver version over and over again if multiple controllers are used, set a sysctl name for the used driver version. Approved by: imp, ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56110 --- sys/dev/mfi/mfi.c | 7 ++++--- sys/dev/mrsas/mrsas.c | 3 --- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c index 6f94e4203f1a..767d5ba0902c 100644 --- a/sys/dev/mfi/mfi.c +++ b/sys/dev/mfi/mfi.c @@ -371,9 +371,6 @@ mfi_attach(struct mfi_softc *sc) if (sc == NULL) return EINVAL; - device_printf(sc->mfi_dev, "LSI MegaRAID SAS driver version: %s\n", - MEGASAS_VERSION); - mtx_init(&sc->mfi_io_lock, "MFI I/O lock", NULL, MTX_DEF); sx_init(&sc->mfi_config_lock, "MFI config"); TAILQ_INIT(&sc->mfi_ld_tqh); @@ -764,6 +761,10 @@ mfi_attach(struct mfi_softc *sc) sc->mfi_cdev, "%s", "megaraid_sas_ioctl_node"); if (sc->mfi_cdev != NULL) sc->mfi_cdev->si_drv1 = sc; + SYSCTL_ADD_STRING(device_get_sysctl_ctx(sc->mfi_dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(sc->mfi_dev)), + OID_AUTO, "driver_version", CTLFLAG_RD, MEGASAS_VERSION, + strlen(MEGASAS_VERSION), "driver version"); SYSCTL_ADD_INT(device_get_sysctl_ctx(sc->mfi_dev), SYSCTL_CHILDREN(device_get_sysctl_tree(sc->mfi_dev)), OID_AUTO, "delete_busy_volumes", CTLFLAG_RW, diff --git a/sys/dev/mrsas/mrsas.c b/sys/dev/mrsas/mrsas.c index 379fcbcb19ca..e8f43ad52ed8 100644 --- a/sys/dev/mrsas/mrsas.c +++ b/sys/dev/mrsas/mrsas.c @@ -824,9 +824,6 @@ mrsas_attach(device_t dev) struct mrsas_softc *sc = device_get_softc(dev); uint32_t cmd, error; - device_printf(dev, "AVAGO MegaRAID SAS driver version: %s\n", - MRSAS_VERSION); - memset(sc, 0, sizeof(struct mrsas_softc)); /* Look up our softc and initialize its fields. */ From nobody Thu Apr 30 20:38:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g65cB1gJlz6cDhq for ; Thu, 30 Apr 2026 20:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g65cB0qRfz3Rht for ; Thu, 30 Apr 2026 20:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777581530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcNh4M/vIbnWVGlPqKabI2YL1lvkP8rg0kygloJV0cs=; b=xTWzFdZvxgZy9z1eaiNjU7WF+vFR3qHajY1Btllv1RnZM2pbOW1UPx2kGw0XifY0kUaVq6 Dc0i1qylBk/le0plJdSy9KfgIDDh6jHrjDk6Hu6iV1CSgX83c41/SodHXVcxA7ZRHlQDJ9 r1izo8XfmvXmYISZYBMxsR9FVdDeh6Ad5DjXs5b1XaxDi1hT/SNIf5B1n5YetsKRgxbfBQ z29vx6mNeLWxoMLLH8EuGmo4Tx3CC48i98+85tHegQm8YWtyKH4kv4UHl7WuKQBk0FyRUg RvYYbPFI+LNoHGop3Bj4rFALXSvKWk7Ev1myK9zZX4FYPjNHxqCPAc/wF2fqew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777581530; a=rsa-sha256; cv=none; b=sOVb/0MJKlty5o1dPy9EPe6zEwb/TXjs+4rxoyovU3YVr0eRVSJ4NeHeyFNNTv+TDCvexL amXOU793wbd1rr5QxHeve3n1hZFNlcbYaRB6/OD/AJzvjIWGQ4VIX9+bWNuQ31xJV0mUjo OzX7gGpRATMSO6/8CX/UqiZQCL3eQjCeDoP4Lz6rxhspyr1cR73ZukDRXVnpp5F1NxsVCz qY6L9jm+wsvNq0KBrfQqWE1dag2Hm+gTtBq2hr0cMO6LWiwA72qZzXwvxQSWVdo3YFdPDA yio2FIYB+V8N3Cx1qJCoKk2ewWGOEklGGqN6nTZuyAOtRgB+5w+39sipMO5e2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777581530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcNh4M/vIbnWVGlPqKabI2YL1lvkP8rg0kygloJV0cs=; b=Vk6SqledC+/bvZwHjVEpXm6rVFXa9yJfWczdCqgwAf96YarT9jRw446qt66e2GoA7jBnrC 92IpVgSLbNpMGYVLgVDgvKdRExkfV//NB8QBgc0k5/EHFkkUQxBCGrUDiH2g6NHlgDWXnH +l/aNJiZ54ybV4mYh/7h9HkU1zANKvS1TbKycHJvtu1qkrBnSUN113V/MdZQ6zV6bINf9C ZLH2fcl8Rg4z6XnyXmPzJ67ELmaN95+z20S7x4Uf5Zr35W4FtRng3HCspcKA9lchohMN9/ /ezCATNZRjML8RhX/b15jBwPj4Hgr4Mv7czwZUpemx/qP6T2AW1pTXt+N2Wuzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g65cB0J1VzC4F for ; Thu, 30 Apr 2026 20:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42ea3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 20:38:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: cf678e30ca01 - main - devfs: add bpf example List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf678e30ca015c93edc8a43aeff58cce3249c3af Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 20:38:50 +0000 Message-Id: <69f3bdda.42ea3.7e279350@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=cf678e30ca015c93edc8a43aeff58cce3249c3af commit cf678e30ca015c93edc8a43aeff58cce3249c3af Author: Michael Tuexen AuthorDate: 2026-04-30 20:35:07 +0000 Commit: Michael Tuexen CommitDate: 2026-04-30 20:35:07 +0000 devfs: add bpf example Add an example for allowing members of the network group to read from bpf devices. In particular, this allows members of the network group to monitor traffic without running with root privileges. Reviewed by: markj, glebius Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D56742 --- sbin/devfs/devfs.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sbin/devfs/devfs.conf b/sbin/devfs/devfs.conf index d3430a2fe844..3e010259a280 100644 --- a/sbin/devfs/devfs.conf +++ b/sbin/devfs/devfs.conf @@ -40,3 +40,9 @@ # Allow members of group operator to cat things to the speaker #own speaker root:operator #perm speaker 0660 + +# Allow members of group network to read from bpf devices. +# In particular, this allows all group members to capture all +# network traffic using tcpdump or wireshark. +#own bpf root:network +#perm bpf 0640 From nobody Thu Apr 30 21:44:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g674457Tvz6cKyV for ; Thu, 30 Apr 2026 21:44: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 4g67443HGDz3g79 for ; Thu, 30 Apr 2026 21:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777585476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HS/UIWEFUhl4vHQ+m/aqTk1Bdeb6pAxCLAXVfIpE3cM=; b=bEpLm3nieGvD6QtMrqLOwJNMgDG50oVd1JZLzeUPj/PZAuF7M/F7fnQu7mdw/enc4u3ITy nTU8vbXduq5bWQolyk9NhKb/4fL0K6FxvWu0gimS7aweq/Grdc44VcD+i/Uq12R8g4J3jh 5FvOvM7uqGOtc4aVzD6as1Xm4z9yNImLtSOfMhP84a7Di0XLcq9aYltX65/GnCQqLPUxes dgBavYRQm2LSVHr7CqnUGk5W69oTCSPBMm1F3Ye3t0r098/3UTB5vCfkgu8Q9AQWz79L8r VyVYmMqpjs6o3aBSOaFH50+VE7IoxSAYCJkIjeHimqXYRu01KQC5BnZyMQuOMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777585476; a=rsa-sha256; cv=none; b=m9KtMwnNBjiYMZBpzOwaFnntRvTYTtHzJqGnTGGDF5pjoxHDpnmECOQ2gQHH+66apc2PNf XGc83sfTDtNmm/gG1YK6x6iLW38X/s5nvdrWgtvTN1dRPPpSP1XWnDnrATC1DAS0pN89iz hKP7xfqfht4GM0qXInQnjwhNfuWkq9SIalKQ4Kjt4XB2ZHQSFVs9vyRZVs0XV9BwmEEY/t FzszpG7Cb/6RkLICFrep7MxfqAT+Yf2hFWwCX2MN8ZZ1kM+Py1Gh+SZs8gRid8VDWiOGoZ KJorrbglbmDA8F9aX83inKtjcWf5xHuAVz0V5AP+BI+Mw8ucq44gZ0vlHVHYnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777585476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HS/UIWEFUhl4vHQ+m/aqTk1Bdeb6pAxCLAXVfIpE3cM=; b=e9Vnyq1UWJdCG3e9eiNGmH034/T1dazgfWWJrI7njQdmCnARxLqa9YwGj1Vj17VBA3QC0D 4SSLgT6EGv1nbKeIqr40ZDUWGC35zDnv8BvexeSTwvayLQXCe0lZkcWr1g7x3x9mchm2np Bl0cNN6vVJisHzghyrUCZt449Id7MBIiEglWQwC8FH4ZUvYDjIRMPL6Q+qq463n11r62TU F3XJj3N9MYXMPjTKCxUCZrI2g0JqMsqT6gdsWAq1pxUY84RdgoeIoVGjD1rw9qXNxuKZwx tNteajFRcY8sIvzHSsu8HWiD2TpS4uiQ7uW16oWfAB2kt6LZfpyZ45Va3ogntA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67442bxzzTKM for ; Thu, 30 Apr 2026 21:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47f6a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 21:44:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 71ac1ec5c9d9 - main - nfscl: Disable use of callbacks for NFSv4.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71ac1ec5c9d990e7881e75f04140eb0bfe473a21 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 21:44:36 +0000 Message-Id: <69f3cd44.47f6a.51672120@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=71ac1ec5c9d990e7881e75f04140eb0bfe473a21 commit 71ac1ec5c9d990e7881e75f04140eb0bfe473a21 Author: Rick Macklem AuthorDate: 2026-04-30 21:37:36 +0000 Commit: Rick Macklem CommitDate: 2026-04-30 21:43:04 +0000 nfscl: Disable use of callbacks for NFSv4.0 The only use for callbacks for NFSv4.0 is delegations and delegations rarely work well for NFSv4.0 anyhow. Therefore, this patch disables callbacks for the NFSv4.0 client. This is the same behavior as occurred when the nfscbd(8) daemon was not running. This change allowed a function called nfscl_getmyip() to be removed from the kernel, which is nice since maintaining this function was bothersome, due to its use of routing, etc. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonport.c | 4 --- sys/fs/nfs/nfs_var.h | 1 - sys/fs/nfsclient/nfs_clport.c | 79 ----------------------------------------- sys/fs/nfsclient/nfs_clrpcops.c | 50 +++----------------------- 4 files changed, 5 insertions(+), 129 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index dbc2b3b942e9..91d9188d30c5 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -62,7 +62,6 @@ int newnfs_numnfsd = 0; struct nfsstatsv1 nfsstatsv1; int nfs_numnfscbd = 0; int nfscl_debuglevel = 0; -char nfsv4_callbackaddr[INET6_ADDRSTRLEN]; int nfsrv_lughashsize = 100; struct mtx nfsrv_dslock_mtx; struct nfsdevicehead nfsrv_devidhead; @@ -90,9 +89,6 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_test, CTLFLAG_RW, &nfs_realign_test, 0, "Number of realign tests done"); SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_count, CTLFLAG_RW, &nfs_realign_count, 0, "Number of mbuf realignments done"); -SYSCTL_STRING(_vfs_nfs, OID_AUTO, callback_addr, CTLFLAG_RW, - nfsv4_callbackaddr, sizeof(nfsv4_callbackaddr), - "NFSv4 callback addr for server to use"); SYSCTL_INT(_vfs_nfs, OID_AUTO, debuglevel, CTLFLAG_RW, &nfscl_debuglevel, 0, "Debug level for NFS client"); SYSCTL_INT(_vfs_nfs, OID_AUTO, userhashsize, CTLFLAG_RDTUN, &nfsrv_lughashsize, diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 2f81905f6c36..8d8de381cbaf 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -373,7 +373,6 @@ int nfsrpc_destroysession(struct nfsmount *, struct nfsclsession *, /* nfs_clcomsubs.c */ int nfsm_uiombuf(struct nfsrv_descript *, struct uio *, int); struct mbuf *nfsm_uiombuflist(struct uio *, int, u_int); -u_int8_t *nfscl_getmyip(struct nfsmount *, struct in6_addr *, int *); int nfsm_getfh(struct nfsrv_descript *, struct nfsfh **); int nfscl_mtofh(struct nfsrv_descript *, struct nfsfh **, struct nfsvattr *, int *); diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index d23051058ce4..bc5f74b79749 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -34,8 +34,6 @@ */ #include -#include "opt_inet.h" -#include "opt_inet6.h" #include @@ -47,11 +45,6 @@ #include #include #include -#include -#include -#include -#include -#include #include @@ -1046,78 +1039,6 @@ nfscl_loadfsinfo(struct nfsmount *nmp, struct nfsfsinfo *fsp, nmp->nm_state |= NFSSTA_GOTFSINFO; } -/* - * Lookups source address which should be used to communicate with - * @nmp and stores it inside @pdst. - * - * Returns 0 on success. - */ -u_int8_t * -nfscl_getmyip(struct nfsmount *nmp, struct in6_addr *paddr, int *isinet6p) -{ -#if defined(INET6) || defined(INET) - int fibnum; - - fibnum = curthread->td_proc->p_fibnum; -#endif -#ifdef INET - if (nmp->nm_nam->sa_family == AF_INET) { - struct epoch_tracker et; - struct nhop_object *nh; - struct sockaddr_in *sin; - struct in_addr addr = {}; - - sin = (struct sockaddr_in *)nmp->nm_nam; - NET_EPOCH_ENTER(et); - CURVNET_SET(CRED_TO_VNET(nmp->nm_sockreq.nr_cred)); - nh = fib4_lookup(fibnum, sin->sin_addr, 0, NHR_NONE, 0); - if (nh != NULL) { - addr = IA_SIN(ifatoia(nh->nh_ifa))->sin_addr; - if (IN_LOOPBACK(ntohl(addr.s_addr))) { - /* Ignore loopback addresses */ - nh = NULL; - } - } - CURVNET_RESTORE(); - NET_EPOCH_EXIT(et); - - if (nh == NULL) - return (NULL); - *isinet6p = 0; - *((struct in_addr *)paddr) = addr; - - return (u_int8_t *)paddr; - } -#endif -#ifdef INET6 - if (nmp->nm_nam->sa_family == AF_INET6) { - struct epoch_tracker et; - struct sockaddr_in6 *sin6; - int error; - - sin6 = (struct sockaddr_in6 *)nmp->nm_nam; - - NET_EPOCH_ENTER(et); - CURVNET_SET(CRED_TO_VNET(nmp->nm_sockreq.nr_cred)); - error = in6_selectsrc_addr(fibnum, &sin6->sin6_addr, - sin6->sin6_scope_id, NULL, paddr, NULL); - CURVNET_RESTORE(); - NET_EPOCH_EXIT(et); - if (error != 0) - return (NULL); - - if (IN6_IS_ADDR_LOOPBACK(paddr)) - return (NULL); - - /* Scope is embedded in */ - *isinet6p = 1; - - return (u_int8_t *)paddr; - } -#endif - return (NULL); -} - /* * Copy NFS uid, gids from the cred structure. */ diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 7d7228a974f4..75713c875622 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -74,7 +74,6 @@ extern struct timeval nfsboottime; extern u_int32_t newnfs_false, newnfs_true; extern nfstype nfsv34_type[9]; extern int nfsrv_useacl; -extern char nfsv4_callbackaddr[INET6_ADDRSTRLEN]; extern int nfscl_debuglevel; extern int nfs_pnfsiothreads; extern u_long sb_max_adj; @@ -1040,13 +1039,10 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclclient *clp, int reclaim, u_int32_t *tl; struct nfsrv_descript nfsd; struct nfsrv_descript *nd = &nfsd; - u_int8_t *cp = NULL, *cp2, addr[INET6_ADDRSTRLEN + 9]; - u_short port; - int error, isinet6 = 0, callblen; + int error; nfsquad_t confirm; static u_int32_t rev = 0; struct nfsclds *dsp, *odsp; - struct in6_addr a6; struct nfsclsession *tsep; struct rpc_reconupcall recon; struct nfscl_reconarg *rcp; @@ -1204,49 +1200,13 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclclient *clp, int reclaim, (void) nfsm_strtom(nd, clp->nfsc_id, clp->nfsc_idlen); /* - * set up the callback address + * Always set the callback address to 0.0.0.0.0.0 so NFSv4.0 + * callbacks are disabled. */ NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(NFS_CALLBCKPROG); - callblen = strlen(nfsv4_callbackaddr); - if (callblen == 0) - cp = nfscl_getmyip(nmp, &a6, &isinet6); - if (nfscl_enablecallb && nfs_numnfscbd > 0 && - (callblen > 0 || cp != NULL)) { - port = htons(nfsv4_cbport); - cp2 = (u_int8_t *)&port; -#ifdef INET6 - if ((callblen > 0 && - strchr(nfsv4_callbackaddr, ':')) || isinet6) { - char ip6buf[INET6_ADDRSTRLEN], *ip6add; - - (void) nfsm_strtom(nd, "tcp6", 4); - if (callblen == 0) { - ip6_sprintf(ip6buf, (struct in6_addr *)cp); - ip6add = ip6buf; - } else { - ip6add = nfsv4_callbackaddr; - } - snprintf(addr, INET6_ADDRSTRLEN + 9, "%s.%d.%d", - ip6add, cp2[0], cp2[1]); - } else -#endif - { - (void) nfsm_strtom(nd, "tcp", 3); - if (callblen == 0) - snprintf(addr, INET6_ADDRSTRLEN + 9, - "%d.%d.%d.%d.%d.%d", cp[0], cp[1], - cp[2], cp[3], cp2[0], cp2[1]); - else - snprintf(addr, INET6_ADDRSTRLEN + 9, - "%s.%d.%d", nfsv4_callbackaddr, - cp2[0], cp2[1]); - } - (void) nfsm_strtom(nd, addr, strlen(addr)); - } else { - (void) nfsm_strtom(nd, "tcp", 3); - (void) nfsm_strtom(nd, "0.0.0.0.0.0", 11); - } + (void)nfsm_strtom(nd, "tcp", 3); + (void)nfsm_strtom(nd, "0.0.0.0.0.0", 11); NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(clp->nfsc_cbident); nd->nd_flag |= ND_USEGSSNAME; From nobody Thu Apr 30 22:07:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zr4KVMz6cMbB for ; Thu, 30 Apr 2026 22:07: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 4g67Zr3rHyz3kHG for ; Thu, 30 Apr 2026 22:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GGh2RYm+FsCX8U2zHO9UaA0G9BQXtErgJm6q0jhk73o=; b=OqHLULx9hqbF8gqQBpAnfxvpBYO0D9FCYE1o+tatmiW8GHh2K030NH+tnMMFyR48FKJu6E Xoe8o0bpXUU9pVmPKngibUMSVFE8lQwlO9TbDGcJALX4yOT/BHGRhtrLeYH3XMAWJuaHss 3N3zFDKwGaRYRcykbkdTIB6RHZMmP4mA++f4Gi+qM1AhY0bH8/viVNONU7GXJAVeZrbC1D 9pDBgW61PDQfJ35YgQwcgAC1tHaHIgtxA+lRIVLdlkq360S+6bUYXjKonEAo3XHKD4dOrS wxlMYM8/+JW4z6GS9j541T0oET2HdEGdo1viUHJ4myXuYEQUvK+zv6JPnUEwOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777586868; a=rsa-sha256; cv=none; b=VcqtFZojCxcX+Yu/lTBRnIt1lV+rz/qkN90h5/N/PUeKTLWz46fuGhJw1TRXLzfaZkzfaR vOwztaZLsbnfQLPOoILruOW8XHGYBFrpRMdpfh51d3atrrbcw4DX/v1b1svRv7CLxHdMuY WEx7vHd27fZwJKQbnGODjYAZcuoTculjlOXboDHFc6IJROzNS3nvFodBIrA7SFR+ib5TAT 5QpHSlNFvGDBM1zTq9ZOf8q41L8QNaMvYqBLhWH372jSc718z8qTDPQJsBbJbUyv807oEd yN0hej1x1j1xuwuYUqluf0H+1Kmi480gxk4hVyTXEtD/YlYYc36TOkJORkdhIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GGh2RYm+FsCX8U2zHO9UaA0G9BQXtErgJm6q0jhk73o=; b=pl72+mhBeonqknJICtyWjnDNW9zSyTyjtg3UlW1gTtxOeqCU7Iff94Hlfofn4/+92FgD1x dpuAdnqDei13ewdvE1fmMhdcQ3K86XVC1HJzDKXgecPbvOpRF0lCGSelL0Oq6G7OCIyPOf pYEBVQHuftVHuLTx3kaKwSgh0DkrHs4X9qjdQ2bS89xSxhxZhrfMJMmE1it5rG1CI3tdw4 plWV8YEULjfMi+FlKKmizYYv6DC0LuY2TSmUKlAo/iWTn0wLaIK4wINd4N1TyFVOFBgbs4 LErKKsQJasrKparqOZqc0Fr2hmmwbxOnJC0SKpgEAlYjYbJiRIcM7ZNOZnyyKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zr3Qr0zTtQ for ; Thu, 30 Apr 2026 22:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c025 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 22:07:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: dd945c6ba4ff - main - routing: Implement merge of nhgrp in new multipath route List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd945c6ba4ff8d444c4cb90a911d96c66b6fc4aa Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 22:07:48 +0000 Message-Id: <69f3d2b4.1c025.47f28c2e@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=dd945c6ba4ff8d444c4cb90a911d96c66b6fc4aa commit dd945c6ba4ff8d444c4cb90a911d96c66b6fc4aa Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-31 19:13:48 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 22:05:32 +0000 routing: Implement merge of nhgrp in new multipath route Routing subsystem allows creating new multipath routes by nexthop groups (e.g RTA_MULTIPATH in netlink), in case of a second nexthop group on the same route, don't panic and merge the existing nhgrp with new one. Reviewed by: melifaro (except one comment) Differential Revision: https://reviews.freebsd.org/D56187 --- sys/net/route/nhgrp_ctl.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++ sys/net/route/route_ctl.c | 5 ++- sys/net/route/route_var.h | 3 ++ 3 files changed, 106 insertions(+), 1 deletion(-) diff --git a/sys/net/route/nhgrp_ctl.c b/sys/net/route/nhgrp_ctl.c index 8a1fa2113a6c..7230e02195ee 100644 --- a/sys/net/route/nhgrp_ctl.c +++ b/sys/net/route/nhgrp_ctl.c @@ -632,6 +632,63 @@ append_nhops(struct nh_control *ctl, const struct nhgrp_object *gr_orig, return (nhg_priv); } +/* + * Merge nexthop group denoted by @gr_add with the nexthop group @gr_orig. + * + * Returns referenced nexthop group or NULL. In the latter case, @perror is + * filled with an error code. + * Note that function does NOT care if the next nexthops already exists + * in the @gr_orig. As a result, they will be added, resulting in the + * same nexthop being present multiple times in the new group. + */ +static struct nhgrp_priv * +merge_nhgrps(struct nh_control *ctl, const struct nhgrp_object *gr_orig, + const struct nhgrp_object *gr_add, int *perror) +{ + char storage[64]; + struct weightened_nhop *pnhops; + struct nhgrp_priv *nhg_priv; + const struct nhgrp_priv *orig_priv, *add_priv; + size_t sz; + int curr_nhops; + + orig_priv = NHGRP_PRIV_CONST(gr_orig); + add_priv = NHGRP_PRIV_CONST(gr_add); + curr_nhops = orig_priv->nhg_nh_count; + + *perror = 0; + + sz = (orig_priv->nhg_nh_count + orig_priv->nhg_nh_count) * + sizeof(struct weightened_nhop); + /* optimize for <= 4 paths, each path=16 bytes */ + if (sz <= sizeof(storage)) + pnhops = (struct weightened_nhop *)&storage[0]; + else { + pnhops = malloc(sz, M_TEMP, M_NOWAIT); + if (pnhops == NULL) { + *perror = ENOMEM; + return (NULL); + } + } + + /* First, copy nhops from first group */ + memcpy(pnhops, orig_priv->nhg_nh_weights, + orig_priv->nhg_nh_count * sizeof(struct weightened_nhop)); + memcpy(&pnhops[curr_nhops], add_priv->nhg_nh_weights, + add_priv->nhg_nh_count * sizeof(struct weightened_nhop)); + curr_nhops += add_priv->nhg_nh_count; + + nhg_priv = get_nhgrp(ctl, pnhops, curr_nhops, 0, perror); + + if (pnhops != (struct weightened_nhop *)&storage[0]) + free(pnhops, M_TEMP); + + if (nhg_priv == NULL) + return (NULL); + + return (nhg_priv); +} + /* * Creates/finds nexthop group based on @wn and @num_nhops. @@ -728,6 +785,8 @@ nhgrp_get_addition_group(struct rib_head *rh, struct route_nhop_data *rnd_orig, struct weightened_nhop wn[2] = {}; int error; + MPASS((!NH_IS_NHGRP(rnd_add->rnd_nhop))); + if (rnd_orig->rnd_nhop == NULL) { /* No paths to add to, just reference current nhop */ *rnd_new = *rnd_add; @@ -758,6 +817,46 @@ nhgrp_get_addition_group(struct rib_head *rh, struct route_nhop_data *rnd_orig, return (0); } +/* + * Creates new multipath group based on existing group/nhop in @rnd_orig and + * to-be-merged nhgrp @wn_add. + * Returns 0 on success and stores result in @rnd_new. + */ +int +nhgrp_get_merge_group(struct rib_head *rh, struct route_nhop_data *rnd_orig, + struct route_nhop_data *rnd_add, struct route_nhop_data *rnd_new) +{ + struct nh_control *ctl = rh->nh_control; + struct nhgrp_priv *nhg_priv; + struct weightened_nhop wn = {}; + int error; + + MPASS((NH_IS_NHGRP(rnd_add->rnd_nhop))); + + /* No paths to add to, Just give up */ + if (rnd_orig->rnd_nhop == NULL) + return (EINVAL); + + if (!NH_IS_NHGRP(rnd_orig->rnd_nhop)) { + wn.nh = rnd_orig->rnd_nhop; + wn.weight = rnd_orig->rnd_weight; + /* Get new nhop group with addition of nhops in nhgrp */ + nhg_priv = append_nhops(ctl, rnd_add->rnd_nhgrp, &wn, 1, + &error); + } else { + /* Get new nhop group with addition of nhops in nhgrp */ + nhg_priv = merge_nhgrps(ctl, rnd_orig->rnd_nhgrp, rnd_add->rnd_nhgrp, + &error); + } + + if (nhg_priv == NULL) + return (error); + rnd_new->rnd_nhgrp = nhg_priv->nhg; + rnd_new->rnd_weight = 0; + + return (0); +} + /* * Returns pointer to array of nexthops with weights for * given @nhg. Stores number of items in the array into @pnum_nhops. diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c index c6d8d43a73f4..fe00c762905d 100644 --- a/sys/net/route/route_ctl.c +++ b/sys/net/route/route_ctl.c @@ -858,7 +858,10 @@ add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data rnd_new; int error = 0; - error = nhgrp_get_addition_group(rnh, rnd_orig, rnd_add, &rnd_new); + if (!NH_IS_NHGRP(rnd_add->rnd_nhop)) + error = nhgrp_get_addition_group(rnh, rnd_orig, rnd_add, &rnd_new); + else + error = nhgrp_get_merge_group(rnh, rnd_orig, rnd_add, &rnd_new); if (error != 0) { if (error == EAGAIN) { /* diff --git a/sys/net/route/route_var.h b/sys/net/route/route_var.h index 40433f1b37c0..df528c93262a 100644 --- a/sys/net/route/route_var.h +++ b/sys/net/route/route_var.h @@ -309,6 +309,9 @@ int nhgrp_get_filtered_group(struct rib_head *rh, const struct rtentry *rt, int nhgrp_get_addition_group(struct rib_head *rnh, struct route_nhop_data *rnd_orig, struct route_nhop_data *rnd_add, struct route_nhop_data *rnd_new); +int nhgrp_get_merge_group(struct rib_head *rnh, + struct route_nhop_data *rnd_orig, struct route_nhop_data *rnd_add, + struct route_nhop_data *rnd_new); void nhgrp_ref_object(struct nhgrp_object *nhg); uint32_t nhgrp_get_idx(const struct nhgrp_object *nhg); From nobody Thu Apr 30 22:07:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zs6KrJz6cMKK for ; Thu, 30 Apr 2026 22:07: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 4g67Zs5R1kz3k6q for ; Thu, 30 Apr 2026 22:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3sCDpBsYakALu5wRvVbwyum44Yb+iBfePuV/usxE9s=; b=RcSdbZZQsDJxLCZutCs+ANQryEZvKVSalSTlqFV96isAMVyvK1KgZPjWDeRJjj6qcWo7eg A2CPWch5tC2/S1Y5S1jhCzsJrTr7imp6Z9wsyZaCSQqm5iia/ca57CC2qM2ZXOYUt3Z6T6 i1O4sjy7O9FuFHCdcMhV1Ici3R7yNhH/QmcRAcVLL69Zhq0jtRdAkibqqMa+O8rcD/NfaB 8DsDWI77trn21wc+OGzbtwVOlo8VmVsqb7ISbhYVidag/oBT7ubtLSsOC2GbtSJ2HU7SKZ b2s6WW50fYdefqD4QSykOBwTBln1WxwPEBQoJgn0LnGGEc7qaQCkuh/2vxqO1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777586869; a=rsa-sha256; cv=none; b=xIdKgNn0IDely2c0roRK7ZVIolwPcoEVDR4ZT8ByQCIwIm6c6B+2XVs5DY48itNR+5psuK RyT3DBAa0DOm7yFB7eP8hjCw8asbF9bbiS+PNwQggdDcC9nGxtXTCopzRWUcVEsQ9D5Nki kzpFEoJ8TucMhbkAIongeN9FtSbOGJbfpCKQXApLNpHdbYhE8ZJd5qWh/YXmBXVqZEM6c+ K0Eu817GLsvcvlX4WW4Ts2h1vLutpKA8hfNyp27er/VWKzidHKY+IYZ2yc3qYEUG7PbWlu gmHtWu4cwNOBIHbx2VeXXGSf/nVH0pj8FmVBUDrz26T0Q4Z2xrZlThHQ2EzHwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3sCDpBsYakALu5wRvVbwyum44Yb+iBfePuV/usxE9s=; b=eorI7i/LotTrE9Q5w2so0EL6FWT6S2tTBlbiqpxQKbyZpGc6NLUR9kF8jAyJH8UBe7PPwE ScVobyHxUgSK3dgTMLF/EL9I3qwuJgdNxGC7NWsyyqqf6v0QFzLSDUM+OqCAUVROE+2OTp m6w89C9euVM4RzqTv2hlUh53swYMzNECvv6RoxTlrBohxEduANx0ySoN8uMP4H4Yj72v+c Xe/5E0Z65ZSwt4heZ5b5ppdfcwkJipHI0/HpXJJ1XOz4qNm8Axyf2QC1UNu9lkTR0VQRi5 w0k7ZmHrKiKHIDUxsC01SqeaFcy8lFHs2XYOUhIOF3qJxrkUHqGxJoQJjw9vpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zs4GY8zVgZ for ; Thu, 30 Apr 2026 22:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c7b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 22:07:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 84bb3648d215 - main - netlink: Fix RTA_MULTIPATH on RTM_GETROUTE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84bb3648d2151576ebd707b592942a1fd77aa2c4 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 22:07:49 +0000 Message-Id: <69f3d2b5.1c7b7.7d20d1f5@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=84bb3648d2151576ebd707b592942a1fd77aa2c4 commit 84bb3648d2151576ebd707b592942a1fd77aa2c4 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-08 19:16:35 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 22:05:44 +0000 netlink: Fix RTA_MULTIPATH on RTM_GETROUTE Before this patch, netlink never returned RTA_MULTIPATH. Also, add RTA_MULTIPATH attribute in way that don't confuse non-mpath support consumers. Differential Revision: https://reviews.freebsd.org/D56188 --- sys/netlink/route/rt.c | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index 39ae65217620..cb2d737f34e3 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -175,18 +175,36 @@ dump_rc_nhop_mtu(struct nl_writer *nw, const struct nhop_object *nh) } static void -dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg *rtm) +dump_rc_nhg(struct nl_writer *nw, const struct route_nhop_data *rnd, struct rtmsg *rtm) { - uint32_t uidx = nhgrp_get_uidx(nhg); - uint32_t num_nhops, nh_expire; - const struct weightened_nhop *wn = nhgrp_get_nhops(nhg, &num_nhops); - uint32_t base_rtflags = nhop_get_rtflags(wn[0].nh); + const struct nhgrp_object *nhg = rnd->rnd_nhgrp; + const struct weightened_nhop *wn; + struct nhop_object *nh; + uint32_t uidx, num_nhops, nh_expire; + uint32_t base_rtflags, rtflags, nhop_weight; + MPASS((NH_IS_NHGRP(rnd->rnd_nhop))); + + /* select a nhop from nhgrp to not confuse non-mpath consumers */ + nhop_weight = RT_DEFAULT_WEIGHT; + nh = nhop_select_func(rnd->rnd_nhop, 0); + rtflags = nhop_get_rtflags(nh); + if (nh->nh_flags & NHF_GATEWAY) + dump_rc_nhop_gw(nw, nh); + + wn = nhgrp_get_nhops(nhg, &num_nhops); + base_rtflags = nhop_get_rtflags(wn[0].nh); + uidx = nhgrp_get_uidx(nhg); if (uidx != 0) nlattr_add_u32(nw, NL_RTA_NH_ID, uidx); nlattr_add_u32(nw, NL_RTA_KNH_ID, nhgrp_get_idx(nhg)); - nlattr_add_u32(nw, NL_RTA_RTFLAGS, base_rtflags); + + if (rtflags & RTF_FIXEDMTU) + dump_rc_nhop_mtu(nw, nh); + /* In any case, fill outgoing interface */ + nlattr_add_u32(nw, NL_RTA_OIF, if_getindex(nh->nh_ifp)); + int off = nlattr_add_nested(nw, NL_RTA_MULTIPATH); if (off == 0) return; @@ -209,6 +227,9 @@ dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg * if (nh_expire > 0) nlattr_add_u32(nw, NL_RTA_EXPIRES, nh_expire - time_uptime); rtnh = nlattr_restore_offset(nw, nh_off, struct rtnexthop); + + if (nh == wn[i].nh) + nhop_weight = wn[i].weight; /* * nlattr_add() allocates 4-byte aligned storage, no need to aligh * length here @@ -216,6 +237,7 @@ dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg * rtnh->rtnh_len = nlattr_save_offset(nw) - nh_off; } nlattr_set_len(nw, off); + nlattr_add_u32(nw, NL_RTA_WEIGHT, nhop_weight); } static void @@ -225,7 +247,7 @@ dump_rc_nhop(struct nl_writer *nw, const struct route_nhop_data *rnd, struct rtm uint32_t rtflags, uidx, nh_expire; if (NH_IS_NHGRP(rnd->rnd_nhop)) { - dump_rc_nhg(nw, rnd->rnd_nhgrp, rtm); + dump_rc_nhg(nw, rnd, rtm); return; } @@ -324,7 +346,10 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, rtm = nlattr_restore_offset(nw, rtm_off, struct rtmsg); if (plen > 0) rtm->rtm_dst_len = plen; - dump_rc_nhop(nw, rnd, rtm); + if (NH_IS_NHGRP(rnd->rnd_nhop)) + dump_rc_nhg(nw, rnd, rtm); + else + dump_rc_nhop(nw, rnd, rtm); if (nlmsg_end(nw)) return (0); @@ -655,7 +680,6 @@ handle_rtm_getroute(struct nlpcb *nlp, struct nl_parsed_route *attrs, } rt_get_rnd(rt, &rnd); - rnd.rnd_nhop = nhop_select_func(rnd.rnd_nhop, 0); RIB_RUNLOCK(rnh); From nobody Thu Apr 30 22:07:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zv138dz6cM3P for ; Thu, 30 Apr 2026 22:07: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 4g67Zt5fYnz3k6w for ; Thu, 30 Apr 2026 22:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dg5m7AVZ+RqZQ7mMsJ/vRf/0rDPTPg7JDhzTqkQqVkA=; b=gSadVDrAFVrm6aYpj+YWGkkyEttJWQZF9WbZambxgYFq3dc9ZM6wDI8Mr3deCsXLQhWV/y 4F+KOc0aVX/ETf8v9pPI7sbNOC7yu76swUu1J+vsPklfQ4S8Ed9VaMDYLq+TR030TAKsjf 2R0e+60ao9IJjoQDnxFsctKUoLIO5gh87TRPsmLEzXEQtdu/kApzA4RrqxWdbSqTLz4B19 /Gudxu/E5I4A1qZR2pGefLubtwkB8LPnv7W/djaAl/pU+XbS22Sv7sGinqjjV+O1Rh9WPw WGvmCipA2XYCz6LSfkIha2Vfp4N8Iho1XzZFzdCA4tm8PVtkfE/DashYK35iOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777586870; a=rsa-sha256; cv=none; b=eRF5an7YU4H1/HsY/DEXZ/hzjTLCLlwz5PjsA0dKmPZf8XY6cFcnguMBqN40KP8GtuCvB9 F22wgsgZ59UVPqU/PKBnP1y8owuuFpkloJY8lxvgYuhxSIpqzpdZ8FLuaPXA6wQ9jC+3+U mPopfW+3IJhod4a8qPkam5SsiMEH6/UqaApiIXZ2D7HwEHtIMDuNz4iw3qpCpTr0ATLH/W AqqXFqXXqLEnsxvwii4MSqSBhoy1ZmGgocE7Vphagw26QC5gXU2PfNH2c5JDBiejYhlaKI kw1duKc46zhc522eJ45WlG9SOBBf2DbqHBJnTxR83wGD3Qpa5jirF0bU4h3ioQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dg5m7AVZ+RqZQ7mMsJ/vRf/0rDPTPg7JDhzTqkQqVkA=; b=p3ejsPPgyBcLg61ivzSsyG6GBMQcAsCLRhgtHLlqRJvThLSIcnFMH1zOunjSSfy5lgybOs qzENvJoAyKlZ35OIT1hBV/8ze3yW8CvV8jprymacePGCMxh0WRhZ7RBDT8Cq7hCCPrFwbe n7htPbP6O27Wvkreo44/ptrUO93xXHDi1vnPq77KvUzf730SupHBQ8X97pSkBO7f4slp4s uyM62eq7krbDYu3cAjRlKj6VuoB3bL6tPY7OCbKizApp5gHt5TMvKlIPfP0EhotNaVqIWg 5oXXsj4aq8Yv2xEsc+XB1rc/O2qC36ys2YvuQoaitU141yzZHQzSK8I8rzcykA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zt4lPHzVYY for ; Thu, 30 Apr 2026 22:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ce23 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 22:07:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 8a64738f5a93 - main - routing: Expire nhops inside the nhgrp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8a64738f5a93ea878425ee3f51e1b9efbd3f5d6e Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 22:07:50 +0000 Message-Id: <69f3d2b6.1ce23.a69ad9d@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=8a64738f5a93ea878425ee3f51e1b9efbd3f5d6e commit 8a64738f5a93ea878425ee3f51e1b9efbd3f5d6e Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-19 10:58:25 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 22:06:07 +0000 routing: Expire nhops inside the nhgrp Fix route expiration of nhops that exists inside a nhgrp. Differential Revision: https://reviews.freebsd.org/D56189 --- sys/net/route/route_ctl.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c index fe00c762905d..7612c2bdfb58 100644 --- a/sys/net/route/route_ctl.c +++ b/sys/net/route/route_ctl.c @@ -1183,6 +1183,26 @@ change_route_byinfo(struct rib_head *rnh, struct rtentry *rt, return (error); } +static void +update_tmproutes_mpath(struct rib_head *rnh, struct rtentry *rt, + struct route_nhop_data *rnd) +{ + const struct weightened_nhop *wn; + uint32_t i, nhops; + + if (NH_IS_NHGRP(rnd->rnd_nhop)) { + wn = nhgrp_get_nhops(rnd->rnd_nhgrp, &nhops); + + for (i = 0; i < nhops; i++) { + if (nhop_get_expire(wn[i].nh) == 0) + continue; + + tmproutes_update(rnh, rt, wn[i].nh); + } + } else if (nhop_get_expire(rnd->rnd_nhop) != 0) + tmproutes_update(rnh, rt, rnd->rnd_nhop); +} + /* * Insert @rt with nhop data from @rnd_new to @rnh. * Returns 0 on success and stores operation results in @rc. @@ -1200,9 +1220,7 @@ add_route(struct rib_head *rnh, struct rtentry *rt, rn = rnh->rnh_addaddr(rt_key(rt), rt_mask_const(rt), &rnh->head, rt->rt_nodes); if (rn != NULL) { - if (!NH_IS_NHGRP(rnd->rnd_nhop) && nhop_get_expire(rnd->rnd_nhop)) - tmproutes_update(rnh, rt, rnd->rnd_nhop); - + update_tmproutes_mpath(rnh, rt, rnd); /* Finalize notification */ rib_bump_gen(rnh); rnh->rnh_prefixes++; @@ -1272,8 +1290,7 @@ change_route(struct rib_head *rnh, struct rtentry *rt, /* Changing nexthop & weight to a new one */ rt->rt_nhop = rnd->rnd_nhop; rt->rt_weight = rnd->rnd_weight; - if (!NH_IS_NHGRP(rnd->rnd_nhop) && nhop_get_expire(rnd->rnd_nhop)) - tmproutes_update(rnh, rt, rnd->rnd_nhop); + update_tmproutes_mpath(rnh, rt, rnd); /* Finalize notification */ rib_bump_gen(rnh); From nobody Thu Apr 30 22:07:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zw1rbRz6cMKM for ; Thu, 30 Apr 2026 22:07:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g67Zv5vBzz3kG7 for ; Thu, 30 Apr 2026 22:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EiKi8xwvE2iD/e6JxoPUsAhRf8/vmCVjfWZuuRshrVA=; b=dA94HRPt9ggAd+er4OC22nByzdjH38kCsnQKAuHS4Dvu9yWSmz2KeL1T+Hw6ebrxQm6427 S/B/SyFwb+EiHTaYCgDjDxAd4AvLKe4ExzAenbwUzI1jSKfttOtgi5imG7hLl1ZgqwXbzz Yu2q/6lEkKPOSFW5V6Ho+bAON5iIFPn0O/pOWQj/fUrm2oRDYbbsUiWh6DNpBAjhyXrO29 uCmGeQVaRJSIwVfdd7YTUSnyoCly91gVt1FqfNRqQKa/pBiaUDPAlMWVEvTyAw3wr263yo TDvmjFFzTY1PwGzwPwwFu+a9R9/uQCI1GT0s87xCQ1MSxi/irZPs3SiAnixv/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777586871; a=rsa-sha256; cv=none; b=BfXdLkgwhKo0cPl4ISrIAatfQkvEFr6wHwaV3qavwrSernbbAKG97aoyzqFR9/4KWF81L3 /9nd2odjoawDnkPg/0UvoDl0hBcwRKqSgXTLEHYeX4Q9Sp4Fbt+0vO8qPdQrQcIF5Lv7ie Qwe6xKgiBOfe7cD5DlyVFdOGMUcqkujI5hpbN6IQr8aliFiWFU/A/wzd50dsNWLE4q+9/c KmpCCtTgC2PJUpse9aZRpTPGnWC7ywBfcjTJF83IHEq9Rp3aUxot3HjTerH+Su6gNXdsT8 qvbfnIH1Jq2mw4k7HHLNQV/bs88dm3m3LgDhZhpEXNJDj8L4facb3sFNHwEz1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EiKi8xwvE2iD/e6JxoPUsAhRf8/vmCVjfWZuuRshrVA=; b=oSJ/T0cag/4kut6X9DibJUmhexy9evOK/sysijmglgQnJR9vhaeZnG/6ILz5PpWfi8Si4W SEdgVivtqiSF8g+Q/dAy1tXbeFsUHRFtKob9Oo/ZmuO4RgpOVucb100ulufpdiLAboMrzo +NoyHGNleHnR/glvbhljXPui9isTwLiAmRr5aRNzvN9ywon1gPcicm/20jwtQvW63T26qY MqzBaeVvo1sPXI+JS8eb6EUOrKcn/6uiRtsemJSuE+av6qs8MRtu3L8KfOeeq6GMI+77Gm 4khdeyLLmoiGnuMMA0j1R6bsCplYr7/6GJH7NEC1UwZavrheNRnVGL1uCDOi1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zv5SHdzTtS for ; Thu, 30 Apr 2026 22:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d184 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 22:07:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 23b8d16c6641 - main - tests/netlink: Add nexthop group tests for multipath List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 23b8d16c6641362833a8decdcb98b643006c3f5c Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 22:07:51 +0000 Message-Id: <69f3d2b7.1d184.1ddb9670@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=23b8d16c6641362833a8decdcb98b643006c3f5c commit 23b8d16c6641362833a8decdcb98b643006c3f5c Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-19 11:04:01 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 22:06:20 +0000 tests/netlink: Add nexthop group tests for multipath Added tests: * Test for creating multiple routes. * Test for merge multiple nexthops into a single nexthop group. * Test for nexthop expirations from a nexthop group. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D56190 --- tests/sys/netlink/Makefile | 1 + tests/sys/netlink/test_rtnl_route.c | 321 ++++++++++++++++++++++++++++++++++++ 2 files changed, 322 insertions(+) diff --git a/tests/sys/netlink/Makefile b/tests/sys/netlink/Makefile index 43b9db80ee63..89dba16c823c 100644 --- a/tests/sys/netlink/Makefile +++ b/tests/sys/netlink/Makefile @@ -6,6 +6,7 @@ TESTSDIR= ${TESTSBASE}/sys/netlink ATF_TESTS_C+= netlink_socket ATF_TESTS_C+= test_snl test_snl_generic ATF_TESTS_C+= test_rtnl_gre +ATF_TESTS_C+= test_rtnl_route ATF_TESTS_PYTEST += test_nl_core.py ATF_TESTS_PYTEST += test_rtnl_iface.py ATF_TESTS_PYTEST += test_rtnl_ifaddr.py diff --git a/tests/sys/netlink/test_rtnl_route.c b/tests/sys/netlink/test_rtnl_route.c new file mode 100644 index 000000000000..84d73db11cc7 --- /dev/null +++ b/tests/sys/netlink/test_rtnl_route.c @@ -0,0 +1,321 @@ +/* + * Copyright (c) 2026 Pouria Mousavizadeh Tehrani + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include "netlink/netlink_snl.h" +#include +#include +#include + +#include +#include + +#include + +static struct rtmsg * +prepare_rtm_by_dst(struct snl_writer *nw, char *dst) +{ + struct rtmsg *rtm; + struct in_addr in_dst; + + inet_pton(AF_INET, dst, &in_dst); + rtm = snl_reserve_msg_object(nw, struct rtmsg); + if (rtm == NULL) + return (NULL); + + rtm->rtm_family = AF_INET; + rtm->rtm_protocol = RTPROT_STATIC; + rtm->rtm_type = RTN_UNICAST; + rtm->rtm_dst_len = 24; + rtm->rtm_flags = RTF_GATEWAY; + snl_add_msg_attr_ip4(nw, RTA_DST, &in_dst); + + return (rtm); +} + +static void +cleanup_route_by_dst(struct snl_state *ss, struct snl_writer *nw, char *dst) +{ + struct nlmsghdr *hdr, *rx_hdr; + struct snl_errmsg_data e = {}; + + /* Delete route */ + snl_init_writer(ss, nw); + ATF_REQUIRE((hdr = snl_create_msg_request(nw, RTM_DELROUTE)) != NULL); + ATF_REQUIRE(prepare_rtm_by_dst(nw, dst) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(nw)) != NULL); + ATF_REQUIRE(snl_send_message(ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(ss, hdr->nlmsg_seq)) != NULL); +} + +ATF_TC(rtnl_nhgrp); +ATF_TC_HEAD(rtnl_nhgrp, tc) +{ + atf_tc_set_md_var(tc, "descr", "test nexthop group using netlink"); + atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} + +ATF_TC_BODY(rtnl_nhgrp, tc) +{ + struct snl_state ss; + struct snl_writer nw; + struct nlmsghdr *hdr, *rx_hdr; + struct in_addr gw1, gw2; + struct snl_errmsg_data e = {}; + struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; + struct rtmsg *rtm; + struct rtnexthop *rtnh; + int off, off2; + + ATF_REQUIRE_MSG(snl_init(&ss, NETLINK_ROUTE), "snl_init() failed"); + + inet_pton(AF_INET, "127.0.0.1", &gw1); + inet_pton(AF_INET, "127.0.0.2", &gw2); + + /* Create new multipath route */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_NEWROUTE)) != NULL); + hdr->nlmsg_flags |= NLM_F_CREATE; + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "192.0.2.0")) != NULL); + + off = snl_add_msg_attr_nested(&nw, RTA_MULTIPATH); + /* first nexthop */ + off2 = snl_get_msg_offset(&nw); + rtnh = snl_reserve_msg_object(&nw, struct rtnexthop); + rtnh->rtnh_flags = 0; + rtnh->rtnh_hops = 1; + rtnh->rtnh_ifindex = 0; + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw1); + rtnh = snl_restore_msg_offset(&nw, off2, struct rtnexthop); + rtnh->rtnh_len = snl_get_msg_offset(&nw) - off2; + + /* second nexthop */ + off2 = snl_get_msg_offset(&nw); + rtnh = snl_reserve_msg_object(&nw, struct rtnexthop); + rtnh->rtnh_flags = 0; + rtnh->rtnh_hops = 1; + rtnh->rtnh_ifindex = 0; + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw2); + rtnh = snl_restore_msg_offset(&nw, off2, struct rtnexthop); + rtnh->rtnh_len = snl_get_msg_offset(&nw) - off2; + + snl_end_attr_nested(&nw, off); + + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_REQUIRE(snl_parse_errmsg(&ss, rx_hdr, &e)); + ATF_REQUIRE_INTEQ(e.error, 0); + + /* Get route and check for its nexthop group */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_GETROUTE)) != NULL); + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "192.0.2.0")) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_CHECK(snl_parse_nlmsg(&ss, rx_hdr, &snl_rtm_route_parser, &r)); + ATF_CHECK(r.rta_knh_id != 0); + ATF_CHECK_INTEQ(r.rta_multipath.num_nhops, 2); + + cleanup_route_by_dst(&ss, &nw, "192.0.2.0"); +} + +ATF_TC(rtnl_nhop_merge); +ATF_TC_HEAD(rtnl_nhop_merge, tc) +{ + atf_tc_set_md_var(tc, "descr", "test merge of two independent nexthop using netlink"); + atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} + +ATF_TC_BODY(rtnl_nhop_merge, tc) +{ + struct snl_state ss; + struct snl_writer nw; + struct nlmsghdr *hdr, *rx_hdr; + struct in_addr gw1, gw2; + struct snl_errmsg_data e = {}; + struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; + struct rtmsg *rtm; + struct rtnexthop *rtnh; + + ATF_REQUIRE_MSG(snl_init(&ss, NETLINK_ROUTE), "snl_init() failed"); + + inet_pton(AF_INET, "127.0.1.1", &gw1); + inet_pton(AF_INET, "127.0.1.2", &gw2); + + /* Create new route with single nhop */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_NEWROUTE)) != NULL); + hdr->nlmsg_flags |= NLM_F_CREATE; + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "198.51.100.0")) != NULL); + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw1); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_REQUIRE(snl_parse_errmsg(&ss, rx_hdr, &e)); + ATF_REQUIRE_INTEQ(e.error, 0); + + /* Get route and verify it's NOT a nexthop group */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_GETROUTE)) != NULL); + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "198.51.100.0")) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_CHECK(snl_parse_nlmsg(&ss, rx_hdr, &snl_rtm_route_parser, &r)); + ATF_CHECK(r.rta_knh_id != 0); + ATF_CHECK_INTEQ(r.rta_multipath.num_nhops, 0); + + /* Append anoher nhop */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_NEWROUTE)) != NULL); + hdr->nlmsg_flags |= NLM_F_APPEND; + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "198.51.100.0")) != NULL); + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw2); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_REQUIRE(snl_parse_errmsg(&ss, rx_hdr, &e)); + ATF_REQUIRE_INTEQ(e.error, 0); + + /* Get route and verify it became a nexthop group */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_GETROUTE)) != NULL); + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "198.51.100.0")) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_CHECK(snl_parse_nlmsg(&ss, rx_hdr, &snl_rtm_route_parser, &r)); + ATF_CHECK(r.rta_knh_id != 0); + ATF_CHECK_INTEQ(r.rta_multipath.num_nhops, 2); + + cleanup_route_by_dst(&ss, &nw, "198.51.100.0"); +} + +ATF_TC(rtnl_nhgrp_expire); +ATF_TC_HEAD(rtnl_nhgrp_expire, tc) +{ + atf_tc_set_md_var(tc, "descr", "test nhop expiration of a member inside nhgrp using netlink"); + atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} + +ATF_TC_BODY(rtnl_nhgrp_expire, tc) +{ + struct snl_state ss; + struct snl_writer nw; + struct nlmsghdr *hdr, *rx_hdr; + struct in_addr gw1, gw2, gw3; + struct snl_errmsg_data e = {}; + struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; + struct rtmsg *rtm; + struct rtnexthop *rtnh; + struct timespec ts; + int off, off2; + + ATF_REQUIRE_MSG(snl_init(&ss, NETLINK_ROUTE), "snl_init() failed"); + + inet_pton(AF_INET, "127.0.2.1", &gw1); + inet_pton(AF_INET, "127.0.2.2", &gw2); + inet_pton(AF_INET, "127.0.2.3", &gw3); + + /* create new multipath route */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_NEWROUTE)) != NULL); + hdr->nlmsg_flags |= NLM_F_CREATE; + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "203.0.113.0")) != NULL); + + off = snl_add_msg_attr_nested(&nw, RTA_MULTIPATH); + /* first nexthop */ + off2 = snl_get_msg_offset(&nw); + rtnh = snl_reserve_msg_object(&nw, struct rtnexthop); + rtnh->rtnh_flags = 0; + rtnh->rtnh_hops = 1; + rtnh->rtnh_ifindex = 0; + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw1); + rtnh = snl_restore_msg_offset(&nw, off2, struct rtnexthop); + rtnh->rtnh_len = snl_get_msg_offset(&nw) - off2; + + /* second nexthop */ + off2 = snl_get_msg_offset(&nw); + rtnh = snl_reserve_msg_object(&nw, struct rtnexthop); + rtnh->rtnh_flags = 0; + rtnh->rtnh_hops = 1; + rtnh->rtnh_ifindex = 0; + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw2); + rtnh = snl_restore_msg_offset(&nw, off2, struct rtnexthop); + rtnh->rtnh_len = snl_get_msg_offset(&nw) - off2; + + snl_end_attr_nested(&nw, off); + + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_REQUIRE(snl_parse_errmsg(&ss, rx_hdr, &e)); + ATF_REQUIRE_INTEQ(e.error, 0); + + /* append anoher nhop with expiration time */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_NEWROUTE)) != NULL); + hdr->nlmsg_flags |= NLM_F_APPEND; + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "203.0.113.0")) != NULL); + snl_add_msg_attr_ip4(&nw, RTA_GATEWAY, &gw3); + /* expire after 1 seconds */ + clock_gettime(CLOCK_REALTIME_FAST, &ts); + snl_add_msg_attr_u32(&nw, RTA_EXPIRES, ts.tv_sec + 1); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_REQUIRE(snl_parse_errmsg(&ss, rx_hdr, &e)); + ATF_REQUIRE_INTEQ(e.error, 0); + + /* get route and check for number of nhops */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_GETROUTE)) != NULL); + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "203.0.113.0")) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_CHECK(snl_parse_nlmsg(&ss, rx_hdr, &snl_rtm_route_parser, &r)); + ATF_CHECK(r.rta_knh_id != 0); + ATF_CHECK_INTEQ(r.rta_multipath.num_nhops, 3); + + /* wait for 2 seconds and try again */ + sleep(2); + + /* get route and check for number of nhops */ + snl_init_writer(&ss, &nw); + ATF_REQUIRE((hdr = snl_create_msg_request(&nw, RTM_GETROUTE)) != NULL); + ATF_REQUIRE((rtm = prepare_rtm_by_dst(&nw, "203.0.113.0")) != NULL); + ATF_REQUIRE((hdr = snl_finalize_msg(&nw)) != NULL); + ATF_REQUIRE(snl_send_message(&ss, hdr)); + ATF_REQUIRE((rx_hdr = snl_read_reply(&ss, hdr->nlmsg_seq)) != NULL); + ATF_CHECK(snl_parse_nlmsg(&ss, rx_hdr, &snl_rtm_route_parser, &r)); + ATF_CHECK_INTEQ(r.rta_multipath.num_nhops, 2); + + cleanup_route_by_dst(&ss, &nw, "203.0.113.0"); +} + + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, rtnl_nhgrp); + ATF_TP_ADD_TC(tp, rtnl_nhgrp_expire); + ATF_TP_ADD_TC(tp, rtnl_nhop_merge); + + return (atf_no_error()); +} From nobody Thu Apr 30 22:07:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zx3xF2z6cMQR for ; Thu, 30 Apr 2026 22:07: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 4g67Zw6l8jz3kCm for ; Thu, 30 Apr 2026 22:07:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJDgBVvNcDG+4vZkjUGh+2oZiYvoaD4uGN+D6emAZ54=; b=KD64qiTMwQ0lIHQDV61JfSTEH0wKY5888WeFi2sVhGjbVbjGuB4kTSxKHV2v5Ru+pc2csb 6n+OY87NmsiFS0BPupb9XZFIeFzxMXam0Yj6sl8lulB+WSMEYdj6lrRvxH1lkMXriynmEC L+r1bbO246XEtUB20bbxYA/zvuLMOYzVGfEFTiniVKx0nkiBowA7+qGbnMVFkckkzjxiN6 4GjZNK18k3AzXogY4fU3eIu80eC6jMY1NOP5yyJwYVPQFkf+fXYE9Ekt/2UVIdwcX7Pjdo hjniO1uWj3ZsTivBstt/NAV7Yy3LM8hQykgwpj60yW3MudzieeUbIOsz1pD1wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777586873; a=rsa-sha256; cv=none; b=ZyZP34V7gBSWO/I2ME2YpRHVQ3/aTsH6rmICkpN1uwtzM1l73WEn6iBMdwNJ91i0ZGhvyW 0/+DNQQ7fTTe2Z+N9GH+DOv7EMwoVA7We456Vzur7Mg110UoDBid5okMnJ5xA6WqJzTOqd q/EtUCIlc+PQ6Ib6nE61nScVwqOETa4BhLNNtU2ONEhLvDoyyCgywK5v8qYLe0jzX9hcYy h/5GXjzJKd8TYmjPZi6Vp4heGsyHbZuLYZdEi3hYLSUwhQe1Rl8eyC2gAvdcr/fxSwgnIc 4xTcV4MPFVORqdsREqjWJ6903MawAR5NHF2jZVLC7uxV49shKIaT8y9eUKoqMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777586873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJDgBVvNcDG+4vZkjUGh+2oZiYvoaD4uGN+D6emAZ54=; b=VnZV9ZkcagQsZA/U8aKILlpr9X+Dg1Z41jQ1jOZrcLIxJZm2FuLOOYVgTnu1TGnRsepKaQ udiPwi3ae5ctARc7HrHniQIKH3rKcFdR58vNVw0jTgTlwR9SZ0ImuYaHLrhiknW2RV0hLG xefUTsCziPgdLoFcSYKSJAwNxEEBGZctup6SCZQ9/tUkfAErRcG8w8SJILzJOJ1ivRGngM zH5qDu3BWuV8REIZYufFKjkj4L9j1edWZuhxiz9E9dXAc7v3GMp4n6SlxxAAbEBVAHOkyU c1kPmTV/ycmgVosD6yLS/8ljZU5kBZhFhLC15quqms3I4cLIpETGGKLLPs91jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g67Zw6JrVzVbm for ; Thu, 30 Apr 2026 22:07:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c029 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 22:07:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 39b19ce77bc0 - main - route(8): Add route get for multipath routes with -o flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39b19ce77bc0f1b9a6a685fff22f52932dcb7cf3 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 22:07:52 +0000 Message-Id: <69f3d2b8.1c029.4ecffa88@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=39b19ce77bc0f1b9a6a685fff22f52932dcb7cf3 commit 39b19ce77bc0f1b9a6a685fff22f52932dcb7cf3 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-19 11:07:22 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-30 22:06:31 +0000 route(8): Add route get for multipath routes with -o flag Get the next hops of the specified route. route.8 manual will be updated when other actions for this option are implemented. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D56191 --- sbin/route/route.c | 9 +++++--- sbin/route/route_netlink.c | 57 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/sbin/route/route.c b/sbin/route/route.c index f37d23d25c2c..f0d9515f9892 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -81,7 +81,7 @@ static struct keytab { {0, 0} }; -int verbose, debugonly; +int verbose, debugonly, nexthop; #ifdef JAIL char * jail_name; #endif @@ -166,7 +166,7 @@ usage(const char *cp) { if (cp != NULL) warnx("bad keyword: %s", cp); - errx(EX_USAGE, "usage: route [-j jail] [-46dnqtv] command [[modifiers] args]"); + errx(EX_USAGE, "usage: route [-j jail] [-46dnqtvo] command [[modifiers] args]"); /* NOTREACHED */ } @@ -182,7 +182,7 @@ main(int argc, char **argv) if (argc < 2) usage(NULL); - while ((ch = getopt(argc, argv, "46nqdtvj:")) != -1) + while ((ch = getopt(argc, argv, "46nqdtvoj:")) != -1) switch(ch) { case '4': #ifdef INET @@ -215,6 +215,9 @@ main(int argc, char **argv) case 'd': debugonly = 1; break; + case 'o': + nexthop = 1; + break; case 'j': #ifdef JAIL if (optarg == NULL) diff --git a/sbin/route/route_netlink.c b/sbin/route/route_netlink.c index 01817dcbb850..531336903896 100644 --- a/sbin/route/route_netlink.c +++ b/sbin/route/route_netlink.c @@ -31,7 +31,7 @@ const char *routename(struct sockaddr *); const char *netname(struct sockaddr *); void printb(int, const char *); extern const char routeflags[]; -extern int verbose, debugonly; +extern int verbose, debugonly, nexthop; int rtmsg_nl(int cmd, int rtm_flags, int fib, int rtm_addrs, struct sockaddr_storage *so, struct rt_metrics *rt_metrics); @@ -42,8 +42,12 @@ struct nl_helper; struct snl_msg_info; static void print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst); +static void print_nhop_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, + struct sockaddr *dst); static void print_nlmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct snl_msg_info *cinfo); +static void print_nlmsg_route_nhop(struct nl_helper *, struct snl_parsed_route *, + struct rta_mpath_nh *, bool); #define s6_addr32 __u6_addr.__u6_addr32 #define bitcount32(x) __bitcount32((uint32_t)(x)) @@ -275,7 +279,10 @@ rtmsg_nl_int(struct nl_helper *h, int cmd, int rtm_flags, int fib, int rtm_addrs hdr = snl_read_reply(ss, hdr->nlmsg_seq); if (nl_type == NL_RTM_GETROUTE) { if (hdr->nlmsg_type == NL_RTM_NEWROUTE) { - print_getmsg(h, hdr, dst); + if (!nexthop) + print_getmsg(h, hdr, dst); + else + print_nhop_getmsg(h, hdr, dst); return (0); } } @@ -390,6 +397,52 @@ print_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst) printf("%8ld \n", rmx.rmx_expire); } +static void +print_nhop_getmsg(struct nl_helper *h, struct nlmsghdr *hdr, struct sockaddr *dst) +{ + struct snl_state *ss = &h->ss_cmd; + struct snl_parsed_route r = { .rtax_weight = RT_DEFAULT_WEIGHT }; + struct snl_parsed_link_simple link = {}; + struct sockaddr *mask; + + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_route_parser, &r)) + return; + + get_ifdata(h, r.rta_oif, &link); + r.rta_rtflags |= (RTF_UP | RTF_DONE); + + printf(" route to: %s\n", routename(dst)); + + if (r.rta_dst) + printf("destination: %s\n", routename(r.rta_dst)); + mask = get_netmask(ss, r.rtm_family, r.rtm_dst_len); + if (mask) + printf(" mask: %s\n", routename(mask)); + printf(" fib: %u\n", (unsigned int)r.rta_table); + printf(" flags: "); + printb(r.rta_rtflags, routeflags); + printf("\n nhops: %u\n", r.rta_multipath.num_nhops); + if (r.rta_multipath.num_nhops != 0) { + bool first = true; + for (uint32_t i = 0; i < r.rta_multipath.num_nhops; i++) { + struct rta_mpath_nh *nh = r.rta_multipath.nhops[i]; + + printf("\tvia "); + print_nlmsg_route_nhop(h, &r, nh, first); + first = false; + } + } else { + struct rta_mpath_nh nh = { + .gw = r.rta_gw, + .ifindex = r.rta_oif, + .rtax_mtu = link.ifla_mtu, + }; + printf("\tvia "); + print_nlmsg_route_nhop(h, &r, &nh, true); + } +} + + static void print_prefix(struct nl_helper *h, char *buf, int bufsize, struct sockaddr *sa, int plen) { From nobody Fri May 1 00:08:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6BG12QDhz6cY19 for ; Fri, 01 May 2026 00:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6BG11ks2z3yKc for ; Fri, 01 May 2026 00:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m2kYEhS2tOf8VOUvqOVUbzOPYr0IDMI3qL0SoAcspB4=; b=wqdjAMTpln4NiHfU0vjaTTooUxG5CFVIP+pLx0mBoOVYAvQb0wX2rt1yfIUnh6UY8vhF5d T3H9gfedtBBZmsdzLu72rvz5C6kPdmNaiDUbjttIOp+7RfqS4jBnunn4pEKj5EV4IXNkOw I4Z7o2GUeKaQicub3LxF3BBjH+gWam/CyyaXcAAMdHsTVTio+Y/BIKqhuKKTGVUEGhjvut NrbPibCylcgPhEtyQIuG7bb3gUtCghPPGUhG8AEPsAwimiOIpBqML8FG+TARzBL1dTqvhK jQ2q4BzxRCZ/in55/sPQ6b0cPeVtI4zu/jdmIcuUTOvZo9ta6ZksqO05tGBhew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777594105; a=rsa-sha256; cv=none; b=gg8NhizklTdOJPP4LaMyKf3pJU+lcXvq4dRisNIrSt31RT25JhY34Qb9MnV9Ne9LvhBv3S x99qKJwOEH4vZChPR3Yi1F1cA7ttjcgb04UEsteBkMBt97oxuJYF0QWA+HJylfkw1HUPR7 YsHdJFv+tF0cNHGObpMOFKF4GdDY7fMJnsI6NvobCYE0BIEH9CxNtyBWcoOYGIjwjEGwAR 58PM/7yw76cuBcU9lqT4uk44sdCdLl+ZfO4Pw7UMyomWm6jlw2IVYsgRexE4m43kzOcqRH xKi9e7xdgsjeVGP2nw2POYs0rCgn64x/4Ip0uFODEgQZDvGkrzj4CoBK+xWA1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m2kYEhS2tOf8VOUvqOVUbzOPYr0IDMI3qL0SoAcspB4=; b=DePgOyxO5ZZod+rztlq9PbC8yD1PkclckIzlYD9kldXWphfixhxLcz3KCspmImQBtopTTt e1DGakFSpt+aRPkGz6Bpc0ljA5wQlwJ5t3u0Yo1a2tfAXN7BcKpzb6xnhX6d8Q/rhc1ECw muVnuC71bDlbf6XKxwAVzLGz36Ipp/eVv5oU2aABiK4TDMB00IbuZxfQE9aaOl5PPaHhBc vVlH9juTXoW3acU5FhrvS2/vg0THRPCOZbWWGcvTr99exII9DSstL57nPT34VHSNaabh/4 0bx81NJd7dgeoYXPKyhgN7Qbt7erhCDO8sk9HjnwZVA9pGWgYJs/UA3gagNl3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6BG11HNkzb2X for ; Fri, 01 May 2026 00:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32696 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 00:08:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 6a0610cb5018 - main - powerpc/pic: fix the openpic CPU logic to work on powermac List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a0610cb50181d1797d1a8c5d60ad76c666a625e Auto-Submitted: auto-generated Date: Fri, 01 May 2026 00:08:25 +0000 Message-Id: <69f3eef9.32696.499d8cb1@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=6a0610cb50181d1797d1a8c5d60ad76c666a625e commit 6a0610cb50181d1797d1a8c5d60ad76c666a625e Author: Adrian Chadd AuthorDate: 2026-05-01 00:07:48 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 00:07:48 +0000 powerpc/pic: fix the openpic CPU logic to work on powermac Earlier work (40bcad56f - powerpc/pic: Add a PIC_AP_INIT() to set up AP PIC info) broke booting my dual G5 powermac. After much digging, jhibbits@ and I discovered that the openpic implementation for the memory/bus controller used in the G5 CPUs doesn't implement /all/ of the openpic specification. Notably it sticks the WHOAMI register in a different location. This is reading 0x0 back for all the PICs which is .. very not great. So to restore the previous behaviour, use a quick for now that jhibbits@ can set appropriately to trust WHOAMI. I've tested this on my dual G5 PPC and it boots/runs fine. Fixes: 40bcad56f Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D56751 --- sys/powerpc/include/openpicvar.h | 1 + sys/powerpc/ofw/openpic_ofw.c | 1 + sys/powerpc/powerpc/openpic.c | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/powerpc/include/openpicvar.h b/sys/powerpc/include/openpicvar.h index 4f086f809f08..2aca4b38e845 100644 --- a/sys/powerpc/include/openpicvar.h +++ b/sys/powerpc/include/openpicvar.h @@ -36,6 +36,7 @@ #define OPENPIC_QUIRK_SINGLE_BIND 1 /* Bind interrupts to only 1 CPU */ #define OPENPIC_QUIRK_HIDDEN_IRQS 2 /* May have IRQs beyond FRR[NIRQ] */ +#define OPENPIC_QUIRK_WHOAMI_WORKS 4 /* WHOAMI register is present */ /* Names match the macros in openpicreg.h. */ struct openpic_timer { diff --git a/sys/powerpc/ofw/openpic_ofw.c b/sys/powerpc/ofw/openpic_ofw.c index 4083e9eba749..48e2038f2f53 100644 --- a/sys/powerpc/ofw/openpic_ofw.c +++ b/sys/powerpc/ofw/openpic_ofw.c @@ -125,6 +125,7 @@ openpic_ofw_attach(device_t dev) if (ofw_bus_is_compatible(dev, "fsl,mpic")) { sc->sc_quirks = OPENPIC_QUIRK_SINGLE_BIND; sc->sc_quirks |= OPENPIC_QUIRK_HIDDEN_IRQS; + sc->sc_quirks |= OPENPIC_QUIRK_WHOAMI_WORKS; } return (openpic_common_attach(dev, xref)); diff --git a/sys/powerpc/powerpc/openpic.c b/sys/powerpc/powerpc/openpic.c index 3cb4c544a91a..d0c0cc59afe5 100644 --- a/sys/powerpc/powerpc/openpic.c +++ b/sys/powerpc/powerpc/openpic.c @@ -469,8 +469,23 @@ openpic_ap_init(device_t dev) if (dev != root_pic) return; + /* + * Not everything implements the full OpenPIC specification. + * + * Notably the CPC945 Bridge and Memory Controller User Manual, which + * is in the PPC 970 (ie Apple G5) CPUs, calls out a set of + * deviations from the specification. Thus we can't just assume + * WHOAMI is available everywhere. + * + * See 9.5.3.3 - Deviations from the OpenPIC specification. + * Notably - the WhoAmI register is actually 0xF8000050 for all CPUs. + */ + sc = device_get_softc(dev); - PCPU_SET(pic, bus_read_4(sc->sc_memr, OPENPIC_WHOAMI)); + if (sc->sc_quirks & OPENPIC_QUIRK_WHOAMI_WORKS) + PCPU_SET(pic, bus_read_4(sc->sc_memr, OPENPIC_WHOAMI)); + else + PCPU_SET(pic, PCPU_GET(cpuid)); } static device_method_t openpic_methods[] = { From nobody Fri May 1 00:11:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6BKk1wZ1z6cY7L for ; Fri, 01 May 2026 00:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6BKj59jtz40c7 for ; Fri, 01 May 2026 00:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MFGji82uA6PDJAmoxN5LPXiRzHV0tmKhd0/9nyakLgk=; b=YkUa483iCM5vhP+Rq0T2RKVHmnky6QPsmeEucog7+POoR1IsU1qOo703wTNlHML6ppP3Yv X+t4coWJFOg4bvqt4+NbbQ4ap0rQlVYDci5m3RKUWeP+LwBLmxD8Ged6yUTmInOLsm7kzC gSICOgQeh2cqCaCaPeYIznyevAOjoxRhvWIUklg6jVYxEcuygg/HcVV/Wc6AWcIZu7zljN yC+7GvjRrrH5ZPFgj6lJanKz7VbF4jzt1aOVXH0TaNN9eY/8Z7tYlM58dSJ7uLvX9VYM/Y /MSiqRwrjxt/yvyfaj5Sgj4ImQ0GcX0uTY2LvRVLE4IivnTeb3A4w5KA/w86mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777594297; a=rsa-sha256; cv=none; b=XYH0GbXcmYKLxLQqDaYfT6sd8kQW4z9n+IoGvDFM9qIcbSECNxsg+Ax1cPwIAZiigedBfg jUhbY1/sIEw5CEgOvRgBtN0riZmPXO3liMhdBqgV9eawzfgklDDdlKAF9fefXO6ABS0adX fuN7FH63PqcPv1TlC0UCh9x4QkejMzTWjHqENhhW90ZgjllB7NFWB6NiXPxg3ABUKiSpwV pBl6dc9Jit5RU6TFWenLJ10PT3bNbLC8S7vTLSTUu1jfwaO+8wdjy7pQ5xy9T7uAAaElsT CmFRxjI+40NFuWtSs1xdmiwKvbVxYmI65IhMl3xhskfBEuF9AsYCmCfLEafBzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MFGji82uA6PDJAmoxN5LPXiRzHV0tmKhd0/9nyakLgk=; b=VfoCpDX//IBHllc6uf8FO64EOP06lLw1OmvyZTdyqAOI6uQ2G0wz5uvq4yo2tbt1KWV19Q +Kw+30i8dbU9LLunIzPjyZsf6NxsOdWfWsH2u1ehmrTkL3CXJ5R7Jn/okveGDRqTmrBBTh Tj9NCJ/H8o4gMwH7/SSyK744dvE6CpdvN5vlaCh0XtENpuYvQ1LoB2a5qn0Msh8/B178e3 Gtxl/vGSgwOCSMCgTDXl3KW9OYgTeTQp/RcL9bMia/PjTi6IPZbvU2dl8REkNtd9L6En7R SBh4K1f5V+ya7b+oZqb078J56myFBvrjGJWiJZ5JP56VaA1zicHQ8GoNDgEK+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6BKj4jRMzbFM for ; Fri, 01 May 2026 00:11:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 308ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 00:11:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 736e411a737b - main - krb5: import MIT 1.22.2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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/main X-Git-Reftype: branch X-Git-Commit: 736e411a737b9f57c1303e6d15c5afd4f63af0d3 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 00:11:37 +0000 Message-Id: <69f3efb9.308ec.599addf5@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=736e411a737b9f57c1303e6d15c5afd4f63af0d3 commit 736e411a737b9f57c1303e6d15c5afd4f63af0d3 Merge: 6a0610cb5018 90c687295e2d Author: Cy Schubert AuthorDate: 2026-04-30 19:24:20 +0000 Commit: Cy Schubert CommitDate: 2026-05-01 00:10:53 +0000 krb5: import MIT 1.22.2 Merge commit '90c687295e2d62f9411fc5b571f5af4e8ee187a7' crypto/krb5/NOTICE | 2 +- crypto/krb5/README | 24 +++++++++++++++- crypto/krb5/src/configure | 20 ++++++------- crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c | 1 + crypto/krb5/src/lib/gssapi/krb5/iakerb.c | 1 + crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c | 2 +- crypto/krb5/src/lib/krad/packet.c | 2 +- crypto/krb5/src/lib/krb5/ccache/cc_file.c | 8 ++++++ crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c | 37 ++++++++++--------------- crypto/krb5/src/man/k5identity.man | 4 +-- crypto/krb5/src/man/k5login.man | 4 +-- crypto/krb5/src/man/k5srvutil.man | 4 +-- crypto/krb5/src/man/kadm5.acl.man | 4 +-- crypto/krb5/src/man/kadmin.man | 4 +-- crypto/krb5/src/man/kadmind.man | 4 +-- crypto/krb5/src/man/kdb5_ldap_util.man | 4 +-- crypto/krb5/src/man/kdb5_util.man | 4 +-- crypto/krb5/src/man/kdc.conf.man | 4 +-- crypto/krb5/src/man/kdestroy.man | 4 +-- crypto/krb5/src/man/kerberos.man | 4 +-- crypto/krb5/src/man/kinit.man | 4 +-- crypto/krb5/src/man/klist.man | 4 +-- crypto/krb5/src/man/kpasswd.man | 4 +-- crypto/krb5/src/man/kprop.man | 4 +-- crypto/krb5/src/man/kpropd.man | 4 +-- crypto/krb5/src/man/kproplog.man | 4 +-- crypto/krb5/src/man/krb5-config.man | 4 +-- crypto/krb5/src/man/krb5.conf.man | 4 +-- crypto/krb5/src/man/krb5kdc.man | 4 +-- crypto/krb5/src/man/ksu.man | 4 +-- crypto/krb5/src/man/kswitch.man | 4 +-- crypto/krb5/src/man/ktutil.man | 4 +-- crypto/krb5/src/man/kvno.man | 4 +-- crypto/krb5/src/man/sclient.man | 4 +-- crypto/krb5/src/man/sserver.man | 4 +-- crypto/krb5/src/patchlevel.h | 6 ++-- crypto/krb5/src/po/mit-krb5.pot | 4 +-- crypto/krb5/src/prototype/prototype.c | 2 +- crypto/krb5/src/prototype/prototype.h | 2 +- crypto/krb5/src/windows/version.rc | 2 +- 40 files changed, 120 insertions(+), 97 deletions(-) diff --cc crypto/krb5/src/lib/krad/packet.c index ed19385f71a6,000000000000..22128350428c mode 100644,000000..100644 --- a/crypto/krb5/src/lib/krad/packet.c +++ b/crypto/krb5/src/lib/krad/packet.c @@@ -1,645 -1,0 +1,645 @@@ +/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ +/* lib/krad/packet.c - Packet functions for libkrad */ +/* + * Copyright 2013 Red Hat, 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "internal.h" + +#include + +#include + +typedef unsigned char uchar; + +/* RFC 2865 */ +#define MSGAUTH_SIZE (2 + MD5_DIGEST_SIZE) +#define OFFSET_CODE 0 +#define OFFSET_ID 1 +#define OFFSET_LENGTH 2 +#define OFFSET_AUTH 4 +#define OFFSET_ATTR 20 +#define AUTH_FIELD_SIZE (OFFSET_ATTR - OFFSET_AUTH) + +#define offset(d, o) (&(d)->data[o]) +#define pkt_code_get(p) (*(krad_code *)offset(&(p)->pkt, OFFSET_CODE)) +#define pkt_code_set(p, v) (*(krad_code *)offset(&(p)->pkt, OFFSET_CODE)) = v +#define pkt_id_get(p) (*(uchar *)offset(&(p)->pkt, OFFSET_ID)) +#define pkt_id_set(p, v) (*(uchar *)offset(&(p)->pkt, OFFSET_ID)) = v +#define pkt_len_get(p) load_16_be(offset(&(p)->pkt, OFFSET_LENGTH)) +#define pkt_len_set(p, v) store_16_be(v, offset(&(p)->pkt, OFFSET_LENGTH)) +#define pkt_auth(p) ((uchar *)offset(&(p)->pkt, OFFSET_AUTH)) +#define pkt_attr(p) ((unsigned char *)offset(&(p)->pkt, OFFSET_ATTR)) + +struct krad_packet_st { + char buffer[KRAD_PACKET_SIZE_MAX]; + krad_attrset *attrset; + krb5_data pkt; +}; + +typedef struct { + uchar x[(UCHAR_MAX + 1) / 8]; +} idmap; + +/* Ensure the map is empty. */ +static inline void +idmap_init(idmap *map) +{ + memset(map, 0, sizeof(*map)); +} + +/* Set an id as already allocated. */ +static inline void +idmap_set(idmap *map, uchar id) +{ + map->x[id / 8] |= 1 << (id % 8); +} + +/* Determine whether or not an id is used. */ +static inline krb5_boolean +idmap_isset(const idmap *map, uchar id) +{ + return (map->x[id / 8] & (1 << (id % 8))) != 0; +} + +/* Find an unused id starting the search at the value specified in id. + * NOTE: For optimal security, the initial value of id should be random. */ +static inline krb5_error_code +idmap_find(const idmap *map, uchar *id) +{ + krb5_int16 i; + + for (i = *id; i >= 0 && i <= UCHAR_MAX; (*id % 2 == 0) ? i++ : i--) { + if (!idmap_isset(map, i)) + goto success; + } + + for (i = *id; i >= 0 && i <= UCHAR_MAX; (*id % 2 == 1) ? i++ : i--) { + if (!idmap_isset(map, i)) + goto success; + } + + return ERANGE; + +success: + *id = i; + return 0; +} + +/* Generate size bytes of random data into the buffer. */ +static inline krb5_error_code +randomize(krb5_context ctx, void *buffer, unsigned int size) +{ + krb5_data rdata = make_data(buffer, size); + return krb5_c_random_make_octets(ctx, &rdata); +} + +/* Generate a radius packet id. */ +static krb5_error_code +id_generate(krb5_context ctx, krad_packet_iter_cb cb, void *data, uchar *id) +{ + krb5_error_code retval; + const krad_packet *tmp; + idmap used; + uchar i; + + retval = randomize(ctx, &i, sizeof(i)); + if (retval != 0) { + if (cb != NULL) + (*cb)(data, TRUE); + return retval; + } + + if (cb != NULL) { + idmap_init(&used); + for (tmp = (*cb)(data, FALSE); tmp != NULL; tmp = (*cb)(data, FALSE)) + idmap_set(&used, tmp->pkt.data[1]); + + retval = idmap_find(&used, &i); + if (retval != 0) + return retval; + } + + *id = i; + return 0; +} + +/* Generate a random authenticator field. */ +static krb5_error_code +auth_generate_random(krb5_context ctx, uchar *rauth) +{ + krb5_ui_4 trunctime; + time_t currtime; + + /* Get the least-significant four bytes of the current time. */ + currtime = time(NULL); + if (currtime == (time_t)-1) + return errno; + trunctime = (krb5_ui_4)currtime; + memcpy(rauth, &trunctime, sizeof(trunctime)); + + /* Randomize the rest of the buffer. */ + return randomize(ctx, rauth + sizeof(trunctime), + AUTH_FIELD_SIZE - sizeof(trunctime)); +} + +/* Generate a response authenticator field. */ +static krb5_error_code +auth_generate_response(krb5_context ctx, const char *secret, + const krad_packet *response, const uchar *auth, + uchar *rauth) +{ + krb5_error_code retval; + krb5_checksum hash; + krb5_data data; + + /* Allocate the temporary buffer. */ + retval = alloc_data(&data, response->pkt.length + strlen(secret)); + if (retval != 0) + return retval; + + /* Encoded RADIUS packet with the request's + * authenticator and the secret at the end. */ + memcpy(data.data, response->pkt.data, response->pkt.length); + memcpy(data.data + OFFSET_AUTH, auth, AUTH_FIELD_SIZE); + memcpy(data.data + response->pkt.length, secret, strlen(secret)); + + /* Hash it. */ + retval = krb5_c_make_checksum(ctx, CKSUMTYPE_RSA_MD5, NULL, 0, &data, + &hash); + free(data.data); + if (retval != 0) + return retval; + + memcpy(rauth, hash.contents, AUTH_FIELD_SIZE); + krb5_free_checksum_contents(ctx, &hash); + return 0; +} + +/* Create a new packet. */ +static krad_packet * +packet_new(void) +{ + krad_packet *pkt; + + pkt = calloc(1, sizeof(krad_packet)); + if (pkt == NULL) + return NULL; + pkt->pkt = make_data(pkt->buffer, sizeof(pkt->buffer)); + + return pkt; +} + +/* Set the attrset object by decoding the packet. */ +static krb5_error_code +packet_set_attrset(krb5_context ctx, const char *secret, krad_packet *pkt) +{ + krb5_data tmp; + + tmp = make_data(pkt_attr(pkt), pkt->pkt.length - OFFSET_ATTR); + return kr_attrset_decode(ctx, &tmp, secret, pkt_auth(pkt), &pkt->attrset); +} + +/* Determine if a packet requires a Message-Authenticator attribute. */ +static inline krb5_boolean +requires_msgauth(const char *secret, krad_code code) +{ + /* If no secret is provided, assume that the transport is a UNIX socket. + * Message-Authenticator is required only on UDP and TCP connections. */ + if (*secret == '\0') + return FALSE; + + /* + * Per draft-ietf-radext-deprecating-radius-03 sections 5.2.1 and 5.2.4, + * Message-Authenticator is required in Access-Request packets and all + * potential responses when UDP or TCP transport is used. + */ + return code == KRAD_CODE_ACCESS_REQUEST || + code == KRAD_CODE_ACCESS_ACCEPT || code == KRAD_CODE_ACCESS_REJECT || + code == KRAD_CODE_ACCESS_CHALLENGE; +} + +/* Check if the packet has a Message-Authenticator attribute. */ +static inline krb5_boolean +has_pkt_msgauth(const krad_packet *pkt) +{ + return krad_attrset_get(pkt->attrset, KRAD_ATTR_MESSAGE_AUTHENTICATOR, + 0) != NULL; +} + +/* Return the beginning of the Message-Authenticator attribute in pkt, or NULL + * if no such attribute is present. */ +static const uint8_t * +lookup_msgauth_addr(const krad_packet *pkt) +{ + size_t i; + uint8_t *p; + + i = OFFSET_ATTR; + while (i + 2 < pkt->pkt.length) { + p = (uint8_t *)offset(&pkt->pkt, i); + if (*p == KRAD_ATTR_MESSAGE_AUTHENTICATOR) + return p; + i += p[1]; + } + + return NULL; +} + +/* + * Calculate the message authenticator MAC for pkt as specified in RFC 2869 + * section 5.14, placing the result in mac_out. Use the provided authenticator + * auth, which may be from pkt or from a corresponding request. + */ +static krb5_error_code +calculate_mac(const char *secret, const krad_packet *pkt, + const uint8_t auth[AUTH_FIELD_SIZE], + uint8_t mac_out[MD5_DIGEST_SIZE]) +{ + const uint8_t *msgauth_attr, *msgauth_end, *pkt_end; + krb5_crypto_iov input[5]; + krb5_data ksecr, mac; + static const uint8_t zeroed_msgauth[MSGAUTH_SIZE] = { + KRAD_ATTR_MESSAGE_AUTHENTICATOR, MSGAUTH_SIZE + }; + + msgauth_attr = lookup_msgauth_addr(pkt); + if (msgauth_attr == NULL) + return EINVAL; + msgauth_end = msgauth_attr + MSGAUTH_SIZE; + pkt_end = (const uint8_t *)pkt->pkt.data + pkt->pkt.length; + + /* Read code, id, and length from the packet. */ + input[0].flags = KRB5_CRYPTO_TYPE_DATA; + input[0].data = make_data(pkt->pkt.data, OFFSET_AUTH); + + /* Read the provided authenticator. */ + input[1].flags = KRB5_CRYPTO_TYPE_DATA; + input[1].data = make_data((uint8_t *)auth, AUTH_FIELD_SIZE); + + /* Read any attributes before Message-Authenticator. */ + input[2].flags = KRB5_CRYPTO_TYPE_DATA; + input[2].data = make_data(pkt_attr(pkt), msgauth_attr - pkt_attr(pkt)); + + /* Read Message-Authenticator with the data bytes all set to zero, per RFC + * 2869 section 5.14. */ + input[3].flags = KRB5_CRYPTO_TYPE_DATA; + input[3].data = make_data((uint8_t *)zeroed_msgauth, MSGAUTH_SIZE); + + /* Read any attributes after Message-Authenticator. */ + input[4].flags = KRB5_CRYPTO_TYPE_DATA; + input[4].data = make_data((uint8_t *)msgauth_end, pkt_end - msgauth_end); + + mac = make_data(mac_out, MD5_DIGEST_SIZE); + ksecr = string2data((char *)secret); + return k5_hmac_md5(&ksecr, input, 5, &mac); +} + +ssize_t +krad_packet_bytes_needed(const krb5_data *buffer) +{ + size_t len; + + if (buffer->length < OFFSET_AUTH) + return OFFSET_AUTH - buffer->length; + + len = load_16_be(offset(buffer, OFFSET_LENGTH)); + if (len > KRAD_PACKET_SIZE_MAX) + return -1; + + return (buffer->length > len) ? 0 : len - buffer->length; +} + +void +krad_packet_free(krad_packet *pkt) +{ + if (pkt) + krad_attrset_free(pkt->attrset); + free(pkt); +} + +/* Create a new request packet. */ +krb5_error_code +krad_packet_new_request(krb5_context ctx, const char *secret, krad_code code, + const krad_attrset *set, krad_packet_iter_cb cb, + void *data, krad_packet **request) +{ + krb5_error_code retval; + krad_packet *pkt; + uchar id; + size_t attrset_len; + krb5_boolean msgauth_required; + + pkt = packet_new(); + if (pkt == NULL) { + if (cb != NULL) + (*cb)(data, TRUE); + return ENOMEM; + } + + /* Generate the ID. */ + retval = id_generate(ctx, cb, data, &id); + if (retval != 0) + goto error; + pkt_id_set(pkt, id); + + /* Generate the authenticator. */ + retval = auth_generate_random(ctx, pkt_auth(pkt)); + if (retval != 0) + goto error; + + /* Determine if Message-Authenticator is required. */ + msgauth_required = (*secret != '\0' && code == KRAD_CODE_ACCESS_REQUEST); + + /* Encode the attributes. */ + retval = kr_attrset_encode(set, secret, pkt_auth(pkt), msgauth_required, + pkt_attr(pkt), &attrset_len); + if (retval != 0) + goto error; + + /* Set the code, ID and length. */ + pkt->pkt.length = attrset_len + OFFSET_ATTR; + pkt_code_set(pkt, code); + pkt_len_set(pkt, pkt->pkt.length); + + if (msgauth_required) { + /* Calculate and set the Message-Authenticator MAC. */ + retval = calculate_mac(secret, pkt, pkt_auth(pkt), pkt_attr(pkt) + 2); + if (retval != 0) + goto error; + } + + /* Copy the attrset for future use. */ + retval = packet_set_attrset(ctx, secret, pkt); + if (retval != 0) + goto error; + + *request = pkt; + return 0; + +error: + free(pkt); + return retval; +} + +/* Create a new request packet. */ +krb5_error_code +krad_packet_new_response(krb5_context ctx, const char *secret, krad_code code, + const krad_attrset *set, const krad_packet *request, + krad_packet **response) +{ + krb5_error_code retval; + krad_packet *pkt; + size_t attrset_len; + krb5_boolean msgauth_required; + + pkt = packet_new(); + if (pkt == NULL) + return ENOMEM; + + /* Determine if Message-Authenticator is required. */ + msgauth_required = requires_msgauth(secret, code); + + /* Encode the attributes. */ + retval = kr_attrset_encode(set, secret, pkt_auth(request), + msgauth_required, pkt_attr(pkt), &attrset_len); + if (retval != 0) + goto error; + + /* Set the code, ID and length. */ + pkt->pkt.length = attrset_len + OFFSET_ATTR; + pkt_code_set(pkt, code); + pkt_id_set(pkt, pkt_id_get(request)); + pkt_len_set(pkt, pkt->pkt.length); + + /* Generate the authenticator. */ + retval = auth_generate_response(ctx, secret, pkt, pkt_auth(request), + pkt_auth(pkt)); + if (retval != 0) + goto error; + + if (msgauth_required) { + /* + * Calculate and replace the Message-Authenticator MAC. Per RFC 2869 + * section 5.14, use the authenticator from the request, not from the + * response. + */ + retval = calculate_mac(secret, pkt, pkt_auth(request), + pkt_attr(pkt) + 2); + if (retval != 0) + goto error; + } + + /* Copy the attrset for future use. */ + retval = packet_set_attrset(ctx, secret, pkt); + if (retval != 0) + goto error; + + *response = pkt; + return 0; + +error: + free(pkt); + return retval; +} + +/* Verify the Message-Authenticator value in pkt, using the provided + * authenticator (which may be from pkt or from a corresponding request). */ +static krb5_error_code +verify_msgauth(const char *secret, const krad_packet *pkt, + const uint8_t auth[AUTH_FIELD_SIZE]) +{ + uint8_t mac[MD5_DIGEST_SIZE]; + const krb5_data *msgauth; + krb5_error_code retval; + + msgauth = krad_packet_get_attr(pkt, KRAD_ATTR_MESSAGE_AUTHENTICATOR, 0); +/* XXX ENODATA does not exist in FreeBSD. The closest thing we have to */ +/* XXX ENODATA is ENOATTR. We use that instead. */ +#define ENODATA ENOATTR + if (msgauth == NULL) + return ENODATA; + + retval = calculate_mac(secret, pkt, auth, mac); + if (retval) + return retval; + + if (msgauth->length != MD5_DIGEST_SIZE) + return EMSGSIZE; + + if (k5_bcmp(mac, msgauth->data, MD5_DIGEST_SIZE) != 0) + return EBADMSG; + + return 0; +} + +/* Decode a packet. */ +static krb5_error_code +decode_packet(krb5_context ctx, const char *secret, const krb5_data *buffer, + krad_packet **pkt) +{ + krb5_error_code retval; + krad_packet *tmp; + krb5_ui_2 len; + + tmp = packet_new(); + if (tmp == NULL) { + retval = ENOMEM; + goto error; + } + + /* Ensure a proper message length. */ + retval = (buffer->length < OFFSET_ATTR) ? EMSGSIZE : 0; + if (retval != 0) + goto error; + len = load_16_be(offset(buffer, OFFSET_LENGTH)); + retval = (len < OFFSET_ATTR) ? EBADMSG : 0; + if (retval != 0) + goto error; + retval = (len > buffer->length || len > tmp->pkt.length) ? EBADMSG : 0; + if (retval != 0) + goto error; + + /* Copy over the buffer. */ + tmp->pkt.length = len; + memcpy(tmp->pkt.data, buffer->data, len); + + /* Parse the packet to ensure it is well-formed. */ + retval = packet_set_attrset(ctx, secret, tmp); + if (retval != 0) + goto error; + + *pkt = tmp; + return 0; + +error: + krad_packet_free(tmp); + return retval; +} + +krb5_error_code +krad_packet_decode_request(krb5_context ctx, const char *secret, + const krb5_data *buffer, krad_packet_iter_cb cb, + void *data, const krad_packet **duppkt, + krad_packet **reqpkt) +{ + const krad_packet *tmp = NULL; + krad_packet *req; + krb5_error_code retval; + + retval = decode_packet(ctx, secret, buffer, &req); + if (retval) + return retval; + + /* Verify Message-Authenticator if present. */ + if (has_pkt_msgauth(req)) { + retval = verify_msgauth(secret, req, pkt_auth(req)); + if (retval) { + krad_packet_free(req); + return retval; + } + } + + if (cb != NULL) { + for (tmp = (*cb)(data, FALSE); tmp != NULL; tmp = (*cb)(data, FALSE)) { - if (pkt_id_get(*reqpkt) == pkt_id_get(tmp)) ++ if (pkt_id_get(req) == pkt_id_get(tmp)) + break; + } + + if (tmp != NULL) + (*cb)(data, TRUE); + } + + *reqpkt = req; + *duppkt = tmp; + return 0; +} + +krb5_error_code +krad_packet_decode_response(krb5_context ctx, const char *secret, + const krb5_data *buffer, krad_packet_iter_cb cb, + void *data, const krad_packet **reqpkt, + krad_packet **rsppkt) +{ + uchar auth[AUTH_FIELD_SIZE]; + const krad_packet *tmp = NULL; + krb5_error_code retval; + + retval = decode_packet(ctx, secret, buffer, rsppkt); + if (cb != NULL && retval == 0) { + for (tmp = (*cb)(data, FALSE); tmp != NULL; tmp = (*cb)(data, FALSE)) { + if (pkt_id_get(*rsppkt) != pkt_id_get(tmp)) + continue; + + /* Response */ + retval = auth_generate_response(ctx, secret, *rsppkt, + pkt_auth(tmp), auth); + if (retval != 0) { + krad_packet_free(*rsppkt); + break; + } + + /* Verify the response authenticator. */ + if (k5_bcmp(pkt_auth(*rsppkt), auth, sizeof(auth)) != 0) + continue; + + /* Verify Message-Authenticator if present. */ + if (has_pkt_msgauth(*rsppkt)) { + if (verify_msgauth(secret, *rsppkt, pkt_auth(tmp)) != 0) + continue; + } + + break; + } + } + + if (cb != NULL && (retval != 0 || tmp != NULL)) + (*cb)(data, TRUE); + + *reqpkt = tmp; + return retval; +} + +const krb5_data * +krad_packet_encode(const krad_packet *pkt) +{ + return &pkt->pkt; +} + +krad_code +krad_packet_get_code(const krad_packet *pkt) +{ + if (pkt == NULL) + return 0; + + return pkt_code_get(pkt); +} + +const krb5_data * +krad_packet_get_attr(const krad_packet *pkt, krad_attr type, size_t indx) +{ + return krad_attrset_get(pkt->attrset, type, indx); +} From nobody Fri May 1 00:11:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6BKl3cBXz6cY8x for ; Fri, 01 May 2026 00:11: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 4g6BKk6Blnz40cB for ; Fri, 01 May 2026 00:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ndtA5kdCKZUfBxsSzT67ec39OzG8scMhoSCpIdAMHyM=; b=ANSqC3hqDz1vo+y0BQ/whHwcVbzuZv0z+nEwP7Nj/Z6ER//z994l1mSmslex+yFssPL/ik CqAJMr+0U72a1Xy0FRrQBg7nZhLcQFroqArgl9Kot7mqVrJ15NcPZHfIlqAQYiFiNAKg9o 6nlPExltqdD5Jj0y4AEcPUFgUSf7UZYczWJJwzeXmVfJOeR6Ore7hlfbgXcsmi988WDaxI xU448vSWgd92jEPFIckJ9UTGRs8SSrpWh8e2KCKI+opE/ovVyyxKWiwBssOptssOjXaUs5 PaqBQ9r0XBLrwkUw4FCykrSonSt6iYwR2YypKzPC/G9MjnSyxGg6w+NyMKUBKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777594298; a=rsa-sha256; cv=none; b=V6b8ah/dIGmwkDh/AxxMJVR8MNnlc0tRHRhSKKJFvzRZNCO8bt2FvbMu48zBmcK2Dv22md CWbgjnc3t/2vMbxh0g1vi5Qt6gXALOejCPfR3yvpBv2+6qcVpYrgxwosi3seIhDQX1GClv D9Plu3MvHzg+3SzpTcs1i2wqFPOyccEg1NpKLbEAEV6JgB1tne5pDhHktWPU4lBWb9xnqs a6vAASIjAepodmNyvNJ/icQl8gcoL8jJB5ydSrTBvuKzTH5VtVyN6VRRhfUQUwYBUpDHJ1 ijFty7M+rMv52WjUPnHQSiRaAFTqq/oNJCpMvbHfjBiQVWBNp266k1jfD42N3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777594298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ndtA5kdCKZUfBxsSzT67ec39OzG8scMhoSCpIdAMHyM=; b=P5tk/cEE2Eofm8JUVhpArorkJB/Pgq1sWf78UCDRf7oHJxnjzT/5j+5jHuVF3Rn8U6f69k 2EpSgk2N6+DsJSxCqr9ipa6ibOEefw3IfnrF23jWwcFMFzF2AGFSr8Jy8JKqIa6WrLooty i2fsi3xKpgqW1BJTcfw5w3lJmsTRNpy8+kVCpoS8cztRu52pgDb8+h8FV8jrma+iCytAOz fYw6ocp7Rxs7Qt0oCK5B1JUSdKDjfTISVyW2DMrcG7/eIDyv1KZGhkT48ykl9ZunoQmZk+ nmQncRmmf+Tkf09SItXdFM/o9djfx5MY0TC5PGNnlUG/lM23sfRydqRaKY5GTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6BKk5V6hzZpS for ; Fri, 01 May 2026 00:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 307f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 00:11:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: c9dd7bffa58c - main - krb5: Fix two NegoEx parsing vulnerabilities List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c9dd7bffa58c50b2f7ed9e66ace39197c468d8e6 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 00:11:38 +0000 Message-Id: <69f3efba.307f2.6f425dba@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=c9dd7bffa58c50b2f7ed9e66ace39197c468d8e6 commit c9dd7bffa58c50b2f7ed9e66ace39197c468d8e6 Author: Cy Schubert AuthorDate: 2026-04-30 19:27:31 +0000 Commit: Cy Schubert CommitDate: 2026-05-01 00:11:25 +0000 krb5: Fix two NegoEx parsing vulnerabilities Bring in upstream commit 2e75f0d93 fixing two CVEs. Upstream commit log is: In parse_nego_message(), check the result of the second call to vector_base() before dereferencing it. In parse_message(), check for a short header_len to prevent an integer underflow when calculating the remaining message length. Reported by Cem Onat Karagun. CVE-2026-40355: In MIT krb5 release 1.18 and later, if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech, an unauthenticated remote attacker can trigger a null pointer dereference, causing the process to terminate. CVE-2026-40356: In MIT krb5 release 1.18 and later, if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech, an unauthenticated remote attacker can trigger a read overrun of up to 52 bytes, possibly causing the process to terminate. Exfiltration of the bytes read does not appear possible. --- crypto/krb5/src/lib/gssapi/spnego/negoex_util.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c b/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c index edc5462e8441..a65238e57305 100644 --- a/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c +++ b/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c @@ -253,6 +253,10 @@ parse_nego_message(OM_uint32 *minor, struct k5input *in, offset = k5_input_get_uint32_le(in); count = k5_input_get_uint16_le(in); p = vector_base(offset, count, EXTENSION_LENGTH, msg_base, msg_len); + if (p == NULL) { + *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; + return GSS_S_DEFECTIVE_TOKEN; + } for (i = 0; i < count; i++) { extension_type = load_32_le(p + i * EXTENSION_LENGTH); if (extension_type & EXTENSION_FLAG_CRITICAL) { @@ -391,7 +395,8 @@ parse_message(OM_uint32 *minor, spnego_gss_ctx_id_t ctx, struct k5input *in, msg_len = k5_input_get_uint32_le(in); conv_id = k5_input_get_bytes(in, GUID_LENGTH); - if (in->status || msg_len > token_remaining || header_len > msg_len) { + if (in->status || msg_len > token_remaining || + header_len < (size_t)(in->ptr - msg_base) || header_len > msg_len) { *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; return GSS_S_DEFECTIVE_TOKEN; } From nobody Fri May 1 00:19:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6BWB5TMsz6cYc6; Fri, 01 May 2026 00:19:50 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta004.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) (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 4g6BWB37CFz421m; Fri, 01 May 2026 00:19:50 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4004b.ext.cloudfilter.net ([10.228.9.230]) by cmsmtp with ESMTPS id ITSlwqEcU5R43IbbhwKHD9; Fri, 01 May 2026 00:19:49 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id IbbfwoA73KTB5Ibbgwf75F; Fri, 01 May 2026 00:19:49 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=Ge8aXAXL c=1 sm=1 tr=0 ts=69f3f1a5 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=PXzK8sMiJLvmTTDkssgA: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 929CAE8; Thu, 30 Apr 2026 17:19:47 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 72C5D28D; Thu, 30 Apr 2026 17:19: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: Cy Schubert cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c9dd7bffa58c - main - krb5: Fix two NegoEx parsing vulnerabilities In-reply-to: <69f3efba.307f2.6f425dba@gitrepo.freebsd.org> References: <69f3efba.307f2.6f425dba@gitrepo.freebsd.org> Comments: In-reply-to Cy Schubert message dated "Fri, 01 May 2026 00:11:38 -0000." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 30 Apr 2026 17:19:47 -0700 Message-Id: <20260501001947.72C5D28D@slippy.cwsent.com> X-CMAE-Envelope: MS4xfESwt69sYZTv1rskEn+5MY05rrSnll7Nr55EpoLruw3F3ZQZl/RGZfypERK5onzaylF0LPhXfHMjjQlKWM5Dw9Cc7PuW2MJI77nz9yWIyxY+S7rQswlN mTX+6TVDr+y2AbifMPoxUXDB+1SPTy++paRLQuqMHXA8XQkAQ9PO9J5FgueIucIvlPBuJH8vt94pf/KW791CgakQ1eJKbFNqqrhcUrMUsyIJI+Shfy1bsJeR G3C8t5/GpSOPFIKw72SHVh3o9CVgLggQLtNxvZsjBMz1isCs3iOJtMhB4BO9q7tZpsLQB1egN7cI12PgDxCoObFy6reVYls/yFQwLsfiYH0= 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: 4g6BWB37CFz421m X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated In message <69f3efba.307f2.6f425dba@gitrepo.freebsd.org>, Cy Schubert writes: > The branch main has been updated by cy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c9dd7bffa58c50b2f7ed9e66ace39197 > c468d8e6 > > commit c9dd7bffa58c50b2f7ed9e66ace39197c468d8e6 > Author: Cy Schubert > AuthorDate: 2026-04-30 19:27:31 +0000 > Commit: Cy Schubert > CommitDate: 2026-05-01 00:11:25 +0000 > > krb5: Fix two NegoEx parsing vulnerabilities > > Bring in upstream commit 2e75f0d93 fixing two CVEs. Upstream commit > log is: > > In parse_nego_message(), check the result of the second call to > vector_base() before dereferencing it. In parse_message(), check for > a short header_len to prevent an integer underflow when calculating > the remaining message length. > > Reported by Cem Onat Karagun. > > CVE-2026-40355: > > In MIT krb5 release 1.18 and later, if an application calls > gss_accept_sec_context() on a system with a NegoEx mechanism > registered in /etc/gss/mech, an unauthenticated remote attacker can > trigger a null pointer dereference, causing the process to terminate. > > CVE-2026-40356: > > In MIT krb5 release 1.18 and later, if an application calls > gss_accept_sec_context() on a system with a NegoEx mechanism > registered in /etc/gss/mech, an unauthenticated remote attacker can > trigger a read overrun of up to 52 bytes, possibly causing the process > to terminate. Exfiltration of the bytes read does not appear > possible. > --- FreeBSD is not vulnerable to this Microsoft NegoEx extension. But it is a good idea include this anyway. Though it is still good to include this patch. I was notified about this at $JOB. -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e**(i*pi)+1=0 From nobody Fri May 1 00:58:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6CMj1msJz6ccrX for ; Fri, 01 May 2026 00:58: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 4g6CMj0s7Tz457L for ; Fri, 01 May 2026 00:58:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777597105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NY2oVYdfvbjlBJo6J4sOndI65+eGg/zLXLSpPiPdM/s=; b=rxMi3LCerHX6rU1K8Q8nq3t/pudZGvVMj6KzUKr7/h0WkEJ2+BuPjzYDqq/7fAHjDCpd67 AVqIJeQAl3kZ1YOn8n4OTSzIp+cP7/iBKAgUpCrKXlyIQ3RbFV2O+IwgBin35NNXbJhcX2 yjWFLYpzsFxFsGeqLHdD6GuEg/B9fI7gV5Xu1Xc5SE3AHZTBIrFEmpjCh3iJ7f5LyJMH1x ue2Bxb4d22vwUjTdwgKzCSndfHGCum4oB7tyd4atQk8JFD2NUPxscF5pRQms8qu1/Gs09P HwAyi5/5WoPEHZs8qP5x/WuE0/UwtYlHHFy9kAwD3Sw3uxlfKj+p1Q/nhMWpPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777597105; a=rsa-sha256; cv=none; b=nxMaxnzasJwo7E4RKjZN8zea8XuOm0YvVyAKUf0KqqqZQxKcaH9npg6dCEQgQyRO0/nR4l qStGb1IYG6MwSjrQ9gcFIDqeld2Ler5CBOQeJE+P88PCwDT0tapQ0pUiuvntiMgqfFDWnR fu6h3d1PpP6xQtLhmQ1LNubQfubMkajRi0Lnx6LjD58me+kt1ydZiRC94qsacE3SkPcSvK Pl+t48tjjlxpW62IqqsB10Y6NRjZ2STQBTWbraG78dFKrTXPXsX2OxM4yayhCA7ELDVw+Z LckKJVN6V39sfo0ytdqIiSwlxJdb7nqpWUS++JL9TcnAbJTd6drFKuEs6aWxrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777597105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NY2oVYdfvbjlBJo6J4sOndI65+eGg/zLXLSpPiPdM/s=; b=DX7nIdoCz69cJOfbIy09PVJKs3+7cutC23abJvBXbVi3+SVgNJMdrDSQXQI1V2vLK4fH0g nHlUfkJy/61bCkKcmTkXycGzi6weiTUWgPGTcKHm4QBnqVx/iWz/wyUe2UTjmg3xiA/IU3 GmZsGK1G7maZ9XPeZOUubspquhXEDxBX0Ryg0Fs20CB5bnMicB5hapfDSvyg2PSYvLt4nG 6iQ+3aYEbxg2AlYnW0SH7Pzry3PHYgK6pT6Qns/2R/+X/nYQOxyMLBRBzepHw80y3dKY+r DuKmKR7BnqH9acUQTAZHM9A9lFMLD3ocPWDmE8SGVgH/GAA5AlFWm3xkTI8Dpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6CMj09krzcHx for ; Fri, 01 May 2026 00:58:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37f90 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 00:58:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 8f46ba065143 - main - krb5: Adjust version to 1.22.2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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/main X-Git-Reftype: branch X-Git-Commit: 8f46ba065143d9d89968a20b23844287d54c04a2 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 00:58:25 +0000 Message-Id: <69f3fab1.37f90.6b2bf95@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=8f46ba065143d9d89968a20b23844287d54c04a2 commit 8f46ba065143d9d89968a20b23844287d54c04a2 Author: Cy Schubert AuthorDate: 2026-05-01 00:57:39 +0000 Commit: Cy Schubert CommitDate: 2026-05-01 00:57:39 +0000 krb5: Adjust version to 1.22.2 Fixes: 736e411a737b --- krb5/Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krb5/Makefile.inc b/krb5/Makefile.inc index 34d04daab0b1..e3f85fdded3c 100644 --- a/krb5/Makefile.inc +++ b/krb5/Makefile.inc @@ -10,7 +10,7 @@ .include PACKAGE?= kerberos -KRB5_VERSION= 1.22.1 +KRB5_VERSION= 1.22.2 # MIT KRB5 uses KRB5_DIR. Heimdal uses KRB5DIR. KRB5_SRCTOP= ${SRCTOP}/krb5 From nobody Fri May 1 01:15:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6Clk0gHrz6cf2Z for ; Fri, 01 May 2026 01:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6Clj72bZz474B for ; Fri, 01 May 2026 01:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777598146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D9P+P3Sl6edx7woW6//a6uoXteXegRct9RSJ7FPSm4Q=; b=jBQMKDl+8KhVNU0S59gW3SOSjohLabsUPM3jeN0SLWZyZemIyWo7A0bVVXIJX/blDzHDkC sU2Ym/1T2gdp/kw+mFwnvT3u5zgUUvsIVTyADtEsp11+JiajsBDAHPlImD4i+AwabuKc3P CzwOMYXC/jqEeFZ4RlJ7To0yQC8Pb9x7DwP5Ri3K7N93kHPAoNtF+ltxUTpBynFQCojGHy QAK7Z2peUi3ZLGixsdeu1y0uZcBfMz9NsXuzxEBZtoQ2OOVu5HBAED2sh9vBeejTaeC3mK J3EZ6bg2p9WGTg5ZZjGyIq+ZolWUhUT9j/3eHHotARHWNTa1oz/XupnTMEQgLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777598146; a=rsa-sha256; cv=none; b=ZGlpnrxICyOD6d6de8YiMAXy1jspaCVF3WPTgfIQEiK4z94WyTbFk/1FU9e2zMM5C4Vk4e VhCgUGhK9xpEC94FHqRcezse2RbWUs6rBj2dT5zFu7Yj2LGwKGYdfS7C9zVoCiMVaewHX9 tZ6VjCzsvmuqC/E6QJZVzKLKSsfdV7NoD2gpTPEuLIEbt2SvwwZhgli9xf7/lFhQHbecwf BM8p4Brt06mJQ1TueHA/5QdGhOKnbUsjOGnXflFeCXNNd0CdwDxV07fXBd9MMCCsL+NuQM fw7tEA6snfrQkMhLgrS3YF4ScTA75A+yJfKV4hktkCvV9KrTP+oFlIohzpD9yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777598146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D9P+P3Sl6edx7woW6//a6uoXteXegRct9RSJ7FPSm4Q=; b=cdNgJ/xmBkglwRemHVBVMGoHXA7Om7WEoiz2hf5kR/LGWQCOKSQR/fqEOdqEHJIUqZi65H JWpE40/2GlcshiuVlVWTqmXPAYTz/SilJZAkFUjrVhxw8s37kTPH+hqkpu+DZ25oBee+Ab DN5U8Dl8tLOxiCMMO1sz5AaHPjKIRM+zKQdlRcdsIUcyeISajaJ0rnAI0lr5r/lQHrPg5K 7vfVZBG0pJ6eAIWuyiUv6SxqzJsrxk/uTwhIt6GZ8ITUxwCQhczp177t5oivg3gvTIjCaW 61P6XM1sVFqOGonq8l1kk7cOy45+O0dSi5L+btGWrYhO4/RHxX4YzD92Vcd+fA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6Clj6dm7zdCb for ; Fri, 01 May 2026 01:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38e74 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 01:15:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 839d3266d8c6 - main - uipc_shm.c: make large page allocation interruptible List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 839d3266d8c6f6471cb92a3c0ae32eb16d117427 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 01:15:45 +0000 Message-Id: <69f3fec1.38e74.264f4dbb@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=839d3266d8c6f6471cb92a3c0ae32eb16d117427 commit 839d3266d8c6f6471cb92a3c0ae32eb16d117427 Author: Konstantin Belousov AuthorDate: 2026-04-28 02:34:49 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-01 01:06:42 +0000 uipc_shm.c: make large page allocation interruptible in cases there is no page pressure or when the user lost patience waiting for very large allocation. Other case is already handled by vm_wait_intr(). Reported by: "Lizzie from Eden Emulator project" Reviewed by: adrian, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56725 --- sys/kern/uipc_shm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 0ad5be2e8d71..197409d97f0c 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -829,12 +829,20 @@ shm_dotruncate_largepage(struct shmfd *shmfd, off_t length, void *rl_cookie) * object lock might allowed mapping of them. */ while (object->size < newobjsz) { + error = sig_intr(); + if (error != 0) + return (error); m = vm_page_alloc_contig(object, object->size, aflags, pagesizes[psind] / PAGE_SIZE, 0, ~0, pagesizes[psind], 0, VM_MEMATTR_DEFAULT); if (m == NULL) { VM_OBJECT_WUNLOCK(object); + error = sig_intr(); + if (error != 0) { + VM_OBJECT_WLOCK(object); + return (error); + } if (shmfd->shm_lp_alloc_policy == SHM_LARGEPAGE_ALLOC_NOWAIT || (shmfd->shm_lp_alloc_policy == From nobody Fri May 1 02:59:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2t56w8z6bbVF for ; Fri, 01 May 2026 02:59: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 4g6G2t2txXz4KVP for ; Fri, 01 May 2026 02:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAkpLPH0iWU+PTHvp1kvLSVCjg4idOwXylF/Fg/r/Z8=; b=mjMKs6oHSXioLDm0OtmNq5db9bidJlHf7QisNiA2ywL/piURqeFwPnDEsjFTWtKzXZMP42 /wvrrPak1NEqheAubzPXULOl218+9zw2tpHQY8nMGYpwNhV7w5QPqDP29aLrUP7pXONuF+ dSZJnG/6VPXG0I711KYDwbKfvO+LjjnqXuPTE/6ZqeOz1YRSboT0CbHnSZ1feKYlP86mxl N39C843zRnwL/FDwZs0EyjpSfKdMvpAS9JfXw9YP8ElkucVyVFZbiIyi4rBdfnaA1lKHUB T0EfU5fbfI5FLa0PScs9Hdeq/7c/FiOVsDvj5Jt7SoLY/HlERch9XU1wLGcMdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777604342; a=rsa-sha256; cv=none; b=eS1n6PvaDo/MmHJK3nfp62jp24Kkj/9x8zs+mp0NvFMfavaZvuATaS7RSQx63QjpNwTLbC I8qLLZy27KQ0pCP+ZI9Fd1w3pT4UTdv4uPnQ36QZ9CP4QchFX8tuEk7gSdGJWpiBxzz8T6 Xh7K5pjDxkcCPTogBERqpdko1VnRMGxx3cuEGnolYcvf+yIzZ27lM3dsT7ZuMyevMGiyMx c73e5Va1eYdBwBNGhn9E2udH0S+mvwUZHriEnrwvSpr7bQLttQoReWTUZUwfdsfbj/QfMi L9lLvYZxAFIP4xRrdfWzrJc4oOL/BuqaDrC2MYYA7ixYAmmiiQckzM0PhQWOYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAkpLPH0iWU+PTHvp1kvLSVCjg4idOwXylF/Fg/r/Z8=; b=yc5cxsk6ZuVI1a7vmUhEfnPb7ZbUKDZTrFPKPvmsCfpU7NdGaqG+bowaFX9y67ROjWG7eg 9LgMN7/oSjpBKl9pZ0CeIHRdYmJq6yV1i7bsqWDBnibFJpoPLy1neifT9CD68azH8D7F+x htFwSo3QXlxMFLJGHDyuP9ZRI12VYNj42qGg/5MYt5Wm2XqWukJ6CoyTYyMq2cEfFA8ipa CSt+OnhtBnlhoMIOgPaKPBqYPWf7aFOU77jQeEAk51Pfnvg5UDdhPsBzBiGlPtoaEt9PN9 2bHLjJmSpmQ/ktXv/JqRxIsF9H/Px9BqeYXUale7WeXFsq/AoUIgVZUOWOW5bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2t2SfTzgCv for ; Fri, 01 May 2026 02:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 423b6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 02:59:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c46a0b590716 - main - build: provide a FORTIFY_SOURCE. override List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c46a0b590716144d772eeba83ca88d96ee12c2f1 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 02:59:02 +0000 Message-Id: <69f416f6.423b6.4efd6213@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c46a0b590716144d772eeba83ca88d96ee12c2f1 commit c46a0b590716144d772eeba83ca88d96ee12c2f1 Author: Kyle Evans AuthorDate: 2026-05-01 02:57:51 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 02:58:48 +0000 build: provide a FORTIFY_SOURCE. override For native files we can do more minimal fixes to avoid this large of a hammer, but for third party files it may not be worth the effort to try and patch them. NetBSD has the original _FORTIFY_SOURCE implementation that ours is based on, for instance, but tests sourced from there can't do an __ssp_real(foo) without being certain that `foo` actually has a fortified definition. This change does always define _FORTIFY_SOURCE as a result, so gate it on CFLAGS not already containing _FORTIFY_SOURCE definitions. PR: 294881 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56733 --- share/mk/bsd.sys.mk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 93e7c8572310..5bd8cd3362d1 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -321,9 +321,12 @@ SSP_CFLAGS?= -fstack-protector-strong .endif CFLAGS+= ${SSP_CFLAGS} .endif # SSP -.if ${FORTIFY_SOURCE} > 0 -CFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE} -CXXFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE} + +.if empty(CFLAGS:M-D_FORTIFY_SOURCE*) +CFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE.${.IMPSRC:T}:U${FORTIFY_SOURCE}} +.endif +.if empty(CXXFLAGS:M-D_FORTIFY_SOURCE*) +CXXFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE.${.IMPSRC:T}:U${FORTIFY_SOURCE}} .endif # Additional flags passed in CFLAGS and CXXFLAGS when MK_DEBUG_FILES is From nobody Fri May 1 02:59:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2v6C4Sz6bbQ8 for ; Fri, 01 May 2026 02:59: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 4g6G2v4Bk2z4KXf for ; Fri, 01 May 2026 02:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqf/04+giyx+n2pVfC/FsxlNpg4LRgqqyLFVl78hjXE=; b=xUNQ/mHmilj95qii+gi/xTKLE5g6bBKtDe7vQSybBT7QT5xk834aeTdkRaF0/DcDb722jN DCMpn0lv/epW7iaHapi+NHolFzS9h5prV+fzi3WeFdvYbYHq5p10ZWoiMlZdVmiG708Drd yvEOK1SkyWaHnPUrH51/GoBoOX3vhpYHjZgI5ZKL6ASY1NUkXp/NEgr2V2vILlMs22LSGK LFQYmPs1hxFghrgk3l8WkRzceTVkFeGC7zImiGLkCyRjsrvVEhHs9uNyd5P0bgBarSTx4F R9mfw1gJLGPm/1hCT/LLbzBULvifaxG0+6YDD++TNG9mRgQSBtSm5HXHNPY2KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777604343; a=rsa-sha256; cv=none; b=CejZ6Tv2H1Pt8qqH6dSPlyvJmZWJhQQsqslXtgyhphaQdRZRtC7sbkRel9VS/rb2Rvi9Qe KUdlqQ6ZLIQNB98UHMf6LbqWGEgTY6HHJsNYvMwYwCdCH9Zm+o/WSIwAOMpYDzfs1Cl8sI KN0dmZcUzlD0ousouixEQNxLCwXVWibYk9gtCK5ZDD4lzG900ITKhkUL29HswlADiyATPC vlA3Jm1vHKMcbF9xvWfbjjTHcK6QxHoZe0mszx22VFgU6dcK6TRthXzM9ruWhmE8e4DJQ7 BAKxF/GisgfEkpO+nzL6guSOkwn3BLnkwitC9jqkaaYho0L94fxDDnPVY8TcCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqf/04+giyx+n2pVfC/FsxlNpg4LRgqqyLFVl78hjXE=; b=SP7l2FWRH78im16TNbAs+H7r5wInOzSlB2tzRrxYeGmAWPC+x/lIovdvQB9Kor03vvIRfJ wWgNURNj6yx6rIIh728HCorQFFEu6Dy+evuZssxODTjDocpwBEsbdMgLxZJ/8g0kg7Bgjv 0cKvnMo+cHGfotfKLEw1q0basJcVRtadCbLBghWcWnFX+u9I+n9XNTjZxQ2Q6tAk375UT2 ju/IAVo9KM0L01OkMV7PZ4lrvwpmrwegNH6SB3alQeoLFR7RDoqJQIgUe+XYIXCOODQI77 GaJD5qaZVmYevDFvAXsQyrbICVNkhK5U5rIhClbnUylIJ5D5kyLiVHvylZ50vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2v3HryzgLT for ; Fri, 01 May 2026 02:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42943 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 02:59:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d98f4f0698ef - main - ssp: fix our gets_s implementation under _FORTIFY_SOURCE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d98f4f0698ef0c5178882c544b4c38542d4780f0 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 02:59:03 +0000 Message-Id: <69f416f7.42943.1330d5e6@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d98f4f0698ef0c5178882c544b4c38542d4780f0 commit d98f4f0698ef0c5178882c544b4c38542d4780f0 Author: Kyle Evans AuthorDate: 2026-05-01 02:57:51 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 02:58:48 +0000 ssp: fix our gets_s implementation under _FORTIFY_SOURCE Annex K specifies an interface for handling constraint violations from gets_s, but we previously broke this for some classes of get_s misuse. Provide a more nuanced version that tries to dodge errors that would trigger a constraint handler while still providing value. Notably, we don't want to trigger a failure unless the passed-in length reasonably fits within an RSIZE_MAX, because gets_s will immediately call larger lengths bogus and fail. PR: 294881 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56734 --- include/ssp/stdio.h | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/include/ssp/stdio.h b/include/ssp/stdio.h index 630683951e4b..17bda8d3ee2d 100644 --- a/include/ssp/stdio.h +++ b/include/ssp/stdio.h @@ -36,6 +36,10 @@ #include +#if __SSP_FORTIFY_LEVEL > 0 && __EXT1_VISIBLE +#include +#endif + __BEGIN_DECLS #if __SSP_FORTIFY_LEVEL > 0 #if __POSIX_VISIBLE @@ -51,7 +55,31 @@ __ssp_redirect(size_t, fread, (void *__restrict __buf, size_t __len, __ssp_redirect(size_t, fread_unlocked, (void *__restrict __buf, size_t __len, size_t __nmemb, FILE *__restrict __fp), (__buf, __len, __nmemb, __fp)); #if __EXT1_VISIBLE -__ssp_redirect(char *, gets_s, (char *__buf, rsize_t __len), (__buf, __len)); +__ssp_redirect_raw_impl(char *, gets_s, gets_s, + (char *buf, rsize_t len)) +{ + char *retbuf; + size_t bufsz; + int need_fail = 0; + + /* + * If we would have overwritten our buffer, we want to fail the check + * only if these arguments wouldn't have triggered a constraint + * violation. + */ + bufsz = __ssp_bos(buf); + if (bufsz != (size_t)-1 && (size_t)len > bufsz) { + if (len <= RSIZE_MAX) + __chk_fail(); + need_fail = 1; + } + + retbuf = __ssp_real(gets_s)(buf, len); + if (need_fail && retbuf != NULL) + __chk_fail(); + return (retbuf); +} + #endif /* __EXT1_VISIBLE */ __ssp_redirect_raw(char *, tmpnam, tmpnam, (char *__buf), (__buf), 1, __ssp_bos, L_tmpnam); From nobody Fri May 1 02:59:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2w6gLkz6bbXZ for ; Fri, 01 May 2026 02:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6G2w4G2Sz4K9h for ; Fri, 01 May 2026 02:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wm6RISYr04BKYZDQQKqGeo2WVwhtzgFBaKwGBC7xdnw=; b=r0ArDun1mDPKkTfMbXZeEh9rBJdgLAFTEtIkYC+OYZUdfo5rPktr97Tm778W25Ow/BHqH5 Y2OeOR9dwlnH/qUjTp2p2rN+wW8DSXQiR5HQxAvPTp0rf6MDJLKDaAOP+bjsc9QtxO0g6d 07biSsG/bfjAb8r7Eu6Fc31bArjuqaH8pLItsJgIhyzKi0hJYYCwg9ACMNn0pmWJW5JPny XEDmdxFrB+JDcxcCKoDtYVCDgVkMoUYBO6Jty4KyaIC6rnnNYb1qmVHrWKRmWF9Yi4RcAR MngWDaZ7RyMjXPCJ5nKyiDN8LniLw5pXXziso4UwLL5+Q11qmGNAfTksqKf9cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777604344; a=rsa-sha256; cv=none; b=u9shteFqeVv4HmaO80zpX/dQv5f6GUJ/DmOM9Wk7pRq5fNNeJLp9yw3xjBW8Sz7BcIcK8B /nnlgClO13FHU3qLaNQYjXaDI9+E03BXooiJ7olOzpfUPB5JT0ETJCrm6VVcH+DCmJAlbv NPoeUtWAroSWCrubP7Rvis1UsEMY66zFDpNCtSbTw7v4z5hVubyKJhUHhjN+0C0rhDs97N PqSWof1qiAdGF+g5hoZP9E2pWeEBkJ5EIk35GY5VMxl40WzEJexH+cQ73uHRZf0zFu5pvl dYPUKFAxXukw6w2EN6xi/coYVm4G68dkY3Pg9b8jyI7tLL/g3zWWljJvRiaOCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wm6RISYr04BKYZDQQKqGeo2WVwhtzgFBaKwGBC7xdnw=; b=VcNNmpt95oOMlLXnEyu2DkzCC84bUMsPpvu9xuk64I4TNcprLa/SvM75ji6ng9WozeE2Mr gb+68Ynvlg5jkmzHx3L5T+HW0xxDLy4tnOyAha18Z9GZ3SznaIBZ04YS3v/UZ10yaXPcm4 EZVm0EcggWRbAxurKnoIqz6oRpqCTEYzEOVXtWDu8iiBDSfoobQWboaoDbxQhApBN1/BV/ 0Es+uBDXWoakI1FEL9/ew7s3eH+piSX8f5YVSJkjxLqQ0upzp1rQd9njRStNgndLlmzecv OaXkiIT4LW74K9cMaiNQMgSFuZwEKfU+14vr21BhqbEZltcEHT5nltHTpziZ2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6G2w3rS4zfsQ for ; Fri, 01 May 2026 02:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43746 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 02:59:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 910f78a5143a - main - tests: fix remaining test failures under _FORTIFY_SOURCE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 910f78a5143af32dfcb237a463397aa0c31c07df Auto-Submitted: auto-generated Date: Fri, 01 May 2026 02:59:04 +0000 Message-Id: <69f416f8.43746.6e22ea83@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=910f78a5143af32dfcb237a463397aa0c31c07df commit 910f78a5143af32dfcb237a463397aa0c31c07df Author: Kyle Evans AuthorDate: 2026-05-01 02:57:51 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 02:58:48 +0000 tests: fix remaining test failures under _FORTIFY_SOURCE The getgroups test is a NetBSD tests, so just apply our larger hammer and disable the feature entirely. The audit test can take a more surgical approach and use __ssp_real() appropriately, since it's a local one. PR: 294881 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56735 --- include/ssp/stdio.h | 7 +++++++ lib/libc/tests/sys/Makefile | 1 + tests/sys/audit/network.c | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/ssp/stdio.h b/include/ssp/stdio.h index 17bda8d3ee2d..73c601c408ce 100644 --- a/include/ssp/stdio.h +++ b/include/ssp/stdio.h @@ -75,6 +75,13 @@ __ssp_redirect_raw_impl(char *, gets_s, gets_s, } retbuf = __ssp_real(gets_s)(buf, len); + + /* + * If the implementation did *not* handle the case correctly, then + * there's a risk that they could have corrupted us into not failing + * here. We have tests that cover this, so we'll just count on finding + * a broken implementation early on in a less hostile environmnt. + */ if (need_fail && retbuf != NULL) __chk_fail(); return (retbuf); diff --git a/lib/libc/tests/sys/Makefile b/lib/libc/tests/sys/Makefile index 88f8191a16eb..ef689dcf019c 100644 --- a/lib/libc/tests/sys/Makefile +++ b/lib/libc/tests/sys/Makefile @@ -22,6 +22,7 @@ NETBSD_ATF_TESTS_C+= dup_test NETBSD_ATF_TESTS_C+= fsync_test NETBSD_ATF_TESTS_C+= getcontext_test NETBSD_ATF_TESTS_C+= getgroups_test +FORTIFY_SOURCE.t_getgroups.c= 0 NETBSD_ATF_TESTS_C+= getitimer_test NETBSD_ATF_TESTS_C+= getlogin_test NETBSD_ATF_TESTS_C+= getpid_test diff --git a/tests/sys/audit/network.c b/tests/sys/audit/network.c index 2d9aed34111a..52a8a25c091b 100644 --- a/tests/sys/audit/network.c +++ b/tests/sys/audit/network.c @@ -29,6 +29,8 @@ #include #include +#include + #include #include #include @@ -959,7 +961,7 @@ ATF_TC_BODY(recvmsg_failure, tc) snprintf(extregex, sizeof(extregex), "recvmsg.*return,failure : Bad address"); FILE *pipefd = setup(fds, auclass); - ATF_REQUIRE_EQ(-1, recvmsg(-1, NULL, 0)); + ATF_REQUIRE_EQ(-1, __ssp_real(recvmsg)(-1, NULL, 0)); check_audit(fds, extregex, pipefd); } From nobody Fri May 1 03:00:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6G536Vp5z6bbwY for ; Fri, 01 May 2026 03:00: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 4g6G533yk5z4LVg for ; Fri, 01 May 2026 03:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQ0UoLlsVTJx9b7yvow2dc3rnV5sycFi4vuyX6fk//8=; b=yJWcqmHMJCeHq/EYJYQdYc6f1RTyBIhLtGP4nrbdww8QCvgT9XTd+nhUIRQz4+/riz1anu ERoSkiFG8FPVAKZ3SrFh0qg7o6erQeL4rRJomUmmdUwipDUL2ybK3e8OyEyPuOEK3I3nuR i9nXlKv5Z1UHNyTaB67QfAo5lPW2L+KrH550/X9EVdaW4WpMxLKyg9vOy25W3Aggaa2C2G Bz34Or/Yj4gH5dlC8WYjLQTZStuc/I49b8VosgoC2flUN1QrYo5uGDAnIpDxegShWroX1C 3iPOP8NdW2cyphahnNAtNgxBcH/3DVoaSc6wlOcBlNDxI+a2eaXzNo7Kn5KDUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777604455; a=rsa-sha256; cv=none; b=sW+RYY6WNAt5ktLr4m737umByFw3Bmytam2//Ty8FeJ+2qdR7S/GOX3/ThCyU5dUzpNhds ttpe0abpouBEdwxB8p37d43U4L5LWnTvg0/HnckEqC9jDIF11dON3OBGY7jWwIXXeBw18w GAAj1YmCyPgoULdPknbcPPE08raCu2cvSgJ6HLsLSApSsG2jYdWNjdXQpb5f8DkXz6Gv9g ZPXarzGvT3ixihiXIvt4Kobi64feyqqm0Amhp9VPoPLH4tdpobVDABl+qTH7/jTmVYtgIM RH851JiAJeM36kOO1Wt6EzyEvSlKUoL6846u/AOL7b3gxRDGKV0361XV/k4shA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQ0UoLlsVTJx9b7yvow2dc3rnV5sycFi4vuyX6fk//8=; b=awfl4oFIxXvb67RpdRpOicmWvxmwZvqEnaDZFuI5pCYMdKVFiGaU+pIddE91YEOksVuWXE 4yNMqX8cNZ9eDlsAPonP4Ps3YZvNXPqrZK5XGOYROK9gaft6fwVGEaKIsG1PRagqbEuONT 8DB/XgtnfuSpzxkonYqx9kyjYPVafQTNBSV+MLQa35LHMX6q6pEvS73c2CSfNLP0N431Mx sQONvD3wzL9JzWu3Xs9V7nQp99rrQFQXrBx/GyR/sN8qSLOTEX2SsYxoYhKDTaCVlSYJ83 ercCznBVbOq1odmBuaa9DT4Onk4VsuQk28KViWV58CMGDsiSi/mBp3iaWGfs/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6G533LKHzgHZ for ; Fri, 01 May 2026 03:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43f75 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 03:00:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 4d4acdbfc22c - main - stat: fix use of devname(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 4d4acdbfc22c84081037f31cff4fb03d18373036 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 03:00:55 +0000 Message-Id: <69f41767.43f75.69a3bb93@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4d4acdbfc22c84081037f31cff4fb03d18373036 commit 4d4acdbfc22c84081037f31cff4fb03d18373036 Author: Kyle Evans AuthorDate: 2026-05-01 03:00:26 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 03:00:37 +0000 stat: fix use of devname(3) Besides being a little hard to parse through visually, this had its own bug of inspecting st->st_mode to determine what to pass to devname(3), which is only correct for st_rdev. For st_dev, you're likely to be looking at files or directories and attempting to assess what device they're located on, so the mode is meaningless- we just have to assume that our filesystems are on character devices and attempt to resolve st_dev as such. Reviewed by: des, kib (previous version) Differential Revision: https://reviews.freebsd.org/D56565 --- usr.bin/stat/stat.c | 14 +++++++++++--- usr.bin/stat/tests/stat_test.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index 0ed5d3ae5b53..ad2b3f9fb3d1 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -650,6 +650,7 @@ format1(const struct stat *st, struct timespec ts; struct tm *tm; int l, small, formats; + mode_t dtype; tsp = NULL; formats = 0; @@ -665,9 +666,16 @@ format1(const struct stat *st, small = (sizeof(st->st_dev) == 4); data = (what == SHOW_st_dev) ? st->st_dev : st->st_rdev; #if HAVE_DEVNAME - sdata = devname(what == SHOW_st_dev ? st->st_dev : - st->st_rdev, S_ISCHR(st->st_mode) ? S_IFCHR : - (S_ISBLK(st->st_mode) ? S_IFBLK : 0)); + switch (what) { + case SHOW_st_dev: + dtype = S_IFCHR; + break; + case SHOW_st_rdev: + dtype = st->st_mode & (S_IFCHR | S_IFBLK); + break; + } + + sdata = devname(data, dtype); #endif /* HAVE_DEVNAME */ if (hilo == HIGH_PIECE) { data = major(data); diff --git a/usr.bin/stat/tests/stat_test.sh b/usr.bin/stat/tests/stat_test.sh index 6043686396be..1db6d8122820 100755 --- a/usr.bin/stat/tests/stat_test.sh +++ b/usr.bin/stat/tests/stat_test.sh @@ -25,6 +25,8 @@ # SUCH DAMAGE. # +: ${CHKPATH:="mnt"} + atf_test_case F_flag F_flag_head() { @@ -301,6 +303,36 @@ x_flag_body() done } +atf_test_case devname cleanup +devname_head() +{ + atf_set "descr" "Verify that %Sd outputs a device name" +} +devname_body() +{ + local devname devpath + + atf_check -o save:dev mdconfig -t malloc -s 16M + read devname < dev + devpath="/dev/$devname" + atf_check -o not-empty newfs "$devpath" + + atf_check mkdir "$CHKPATH" + atf_check mount "$devpath" "$CHKPATH" + + atf_check -o inline:"$devname\n" stat -f '%Sd' "$CHKPATH" + atf_check -o inline:"$devname\n" stat -f '%Sr' "$devpath" +} +devname_cleanup() +{ + if [ -d "$CHKPATH" ]; then + umount "$CHKPATH" || true + fi + if [ -f dev ]; then + mdconfig -d -u $(cat dev) || true + fi +} + atf_init_test_cases() { atf_add_test_case F_flag @@ -315,4 +347,5 @@ atf_init_test_cases() atf_add_test_case s_flag atf_add_test_case t_flag atf_add_test_case x_flag + atf_add_test_case devname } From nobody Fri May 1 03:03:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6G7Z5Xx1z6bcFS for ; Fri, 01 May 2026 03:03: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 4g6G7Z4pgvz4MJ7 for ; Fri, 01 May 2026 03:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Odg4DCr/myIB9oiCaV9IZ5uGZME+OhhJX2R2x/eG/fI=; b=qEhf1s3Qmj6AI1/3YVAK9oOpRV7ilJX8i5WyORUk+cHs/v390IAH0ykplxlSaArbxUzipm 8fXSEdmwCQ1ypa26q9cIqsALJf2+avAphPTd6FctnzbXkFG2uMvB1u1PjbZfDBYrmkeieF slpfaDBWkwwk+NViiL/uF81KI8kksBm40CNW//Tsid6W9FE4qG4w3pBg9SKPYxX1sY8xLM TAnxCVkN1kZD862tQzYZERIhlLz3/MJvEnyuSyPeL12oDCppXEwEp08+qTdVwCxDPAaebG 9DNj3oKo5+usWSwOkCIXCDaG4dgkU2gZ4QuI1UD9eL5NHR9HWUXeSqzSbZLPmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777604586; a=rsa-sha256; cv=none; b=g0PiXpBA5eokmsN7EAuOWaHTQGSN4UTi+jMQqDSBuHrrcsxGtBZjPGqqq57Si1eIc+N1Jl vklSrNO2nfW6Sq2qpJByCqqkl8Z6umb4sR4qET+kVl25uuTPsElvUbeFDxe28Yl1DJPRLg pQ75rLOMI8UaoKQzCTXslfyqMKf41CdqwkYrPKrG26TAR2RzddvzI+9Sdh1E69upYn/h1/ qWof0zVkjC4yEabUbeR0Q5z8GAzf6NzPirA/CK7Sdw8FtZnGP3qPqwrZFry1r6pvoKuoDx TTQALTRjBie9DPgzYtvr7oXoNxWiw7Du5kDAUqyscmgUkomXUS7neIvCv2PhOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777604586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Odg4DCr/myIB9oiCaV9IZ5uGZME+OhhJX2R2x/eG/fI=; b=JGuUHXUDGy0g/M758B/ES+Lr+CPUlt+o7eD7hkM/i8GDRfST5a2fxZGVOPSlYaWcK4V6mb QfG+Fy1EJYum2X0OcrutGni3msHPHYMUV9IJKu7GBB7umR1NSWfotcWL2PTHs2N9cBeC5O zCSwBtawWXZ7krq8oXgVjduYBB+sCHZQkBvLruu1DUlXM4bOi3CEbrHIVm3xPuM4PP7G+R kG0hplTAQo9tt2Ws0qlDxnctGCjviAO8u7ec7XtURrdYos5jfCXbFRKPRyBo+F6mRCkXT/ H0HfZzJGMbw74D65gNIm5ukCMVD1SirYwVvecpJ2a4Mma8vuqXie1sH7Mk4YSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6G7Z4G4rzgsm for ; Fri, 01 May 2026 03:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4443c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 03:03:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 9c18d55a768a - main - fexecve(2): call out a scenario where you want !O_EXEC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c18d55a768a3e60ecaba1325e9a3e00a25dee26 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 03:03:06 +0000 Message-Id: <69f417ea.4443c.3e1509f@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=9c18d55a768a3e60ecaba1325e9a3e00a25dee26 commit 9c18d55a768a3e60ecaba1325e9a3e00a25dee26 Author: Kyle Evans AuthorDate: 2026-05-01 03:02:55 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 03:02:55 +0000 fexecve(2): call out a scenario where you want !O_EXEC We note a reason why you might need it, but there's an equally important reason you may need to omit it: interpreted programs. Add a note accordingly, along with the workaround configuration if there's reason you can't help it. PR: 294780 Reviewed by: Jan Bramkamp , kib Differential Revision: https://reviews.freebsd.org/D56704 --- lib/libsys/execve.2 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/libsys/execve.2 b/lib/libsys/execve.2 index dc85b9321e48..5562e198239a 100644 --- a/lib/libsys/execve.2 +++ b/lib/libsys/execve.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 02, 2025 +.Dd April 29, 2026 .Dt EXECVE 2 .Os .Sh NAME @@ -232,6 +232,17 @@ is to use the .Dv O_EXEC flag when opening .Fa fd . +Opening without +.Dv O_EXEC +may be necessary in the case of executing an interpreted program, as the +interpreter will not be able to acquire a descriptor to the script for reading +without mounting +.Xr fdescfs 4 +on +.Pa /dev/fd +with the +.Cm nodup +option. Note that the file to be executed can not be open for writing. .Sh RETURN VALUES As the From nobody Fri May 1 08:11:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6NzG5GgDz6c7hF for ; Fri, 01 May 2026 08:11:22 +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 4g6NzF0q3hz3hxt for ; Fri, 01 May 2026 08:11:21 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=LuUHD7mx; dmarc=pass (policy=none) header.from=gmail.com; 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; arc=pass ("google.com:s=arc-20240605:i=1") Received: by mail-yx1-xb131.google.com with SMTP id 956f58d0204a3-64eaf8aa893so1409752d50.3 for ; Fri, 01 May 2026 01:11:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777623079; cv=none; d=google.com; s=arc-20240605; b=OZgMHoer2BoKAhze2BUOlWI6uz+lqdagATAjRBIqIvZbn8iuVZxNDrpEdjrhsGn6ae 7Vmil8WH0ZfiyxHzCzDMrpfJjXRuFTlJSbaCqZ6WxpAKu6MMiG367hs+nxeYBU+CTIJx huUo9FkLMR9NXQq3PsDMLOXzPCN5RddKowwVbXpMBKLlwzP0VzeuB8/JMB9FAazg8fwg X3xD0DY2XlIB0cLhV2rICke1+PfFrNTErkmJeNGDBgV1KnehYRRtii52NcCmyhQ3TG69 oT8izoQCGald6j2Smc17DWiPpPljZYKGVCg++JN3eqfPk+wLupxIXlMkSLK2kM/2z/n/ RqeA== 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=A/IPIE/pM9mntYa6vB/UUxLL14EyCVD8IwUPKXlG6+w=; fh=UYPo8BPCl7Ah2BmwYDhmtiQ3m7P7cxTgF59Pag727m0=; b=RPP5bZfutKCpI+ZdCPRDSkJaURY44xexv/T5K0gX6YYsiAiX+c6j+r2x7O3cbUv7yC CzAW+y+p0/vP9hzW7umVOV5rOs9cVBuTMCsbTf3YKZJLKYz3gnRcJERuM7gsCIQqKbVf xyc46SEfe48ujp88t/vhtzX4eNx3UIma4KO8NHhyox6mzspILYFyahto10k8BxOfjAFY EBM5hY5ZgeAVw7FGDG/qiGA5XeDEDINRpC/nOQXiIn1eiM2G5rnSPbfkO9HBwsXxraDW gqRDIkra7gg496FzCFoixnu+XhSspLNChvZs4LFJUlG522EaGa0ne+wG/4bISVfnE2uD QxFQ==; 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=1777623079; x=1778227879; 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=A/IPIE/pM9mntYa6vB/UUxLL14EyCVD8IwUPKXlG6+w=; b=LuUHD7mxyPIdEANbU9vByiGoMMOxSkMNE49+RXsM+Sdw3I78sUKNa/8AeDRY81RZm3 duwE6rI9yPtte82SxsSG4gCCvXKeWNVbViV9ffjBUS1P5xv49MLU/FvSs6wfEsE89UuZ rOVSycE6UtHqxfG/Qj8LSdEo2Y6yOlpQFmHvY0Nhm/eGL7mtCOGc60z58b2AEE/k+5JU Ggegvi56AUrbave9elM7qbQrDRn+UeLjwbxrX8daqAZOdO2QUIhH0mPZJedaLX/tBDaB 0N6enGn54hg6TnfT3gyARWzgLh7HdFV4PycUDIJOnFeCWkImjhmHmrm3OdgdX+Ilietp ZKtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777623079; x=1778227879; 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=A/IPIE/pM9mntYa6vB/UUxLL14EyCVD8IwUPKXlG6+w=; b=rg2IwW1zhsQkr8G73WDZVs/r4G4muZ3yIX7kLDk0wew1mK/GeB1TkJcivkTZ4L5gDg gpbLwdbZZv/H5PeTniiNY0eY4KOuKgeq4U5itvvHco/MIHbndNKzXrJfktSImvvRXJt1 MRFv6XTeik2RuZTfQTNsTovNr0AWD3laEXO407jvpNKqJYhxf+ifxcJvoe2IDVlPaC4P 43LhReiWsx6z41fC5yYwqlemJwOZ9LCLDS5b+6IIwm/30LEx67Ec3cc3sIW+jI6YZl05 Rua1zjH1kj+fuVnLXJOWhWHzv7pJ13APgHvTSYCxzVmXPJ+isJaDi3lo0Nr3tJc9UxOx XPKA== X-Forwarded-Encrypted: i=1; AFNElJ+p8c7hgbSPy52E89IdXKZMk1xSkggGOMddBcWEPkQYGdD8MtNdibhOAbjdW+oRyODdBjvFbDsNy0UYibKXixNIbVq6jQ==@freebsd.org X-Gm-Message-State: AOJu0YxEThDP315YIvj8/VEY2GMmQKCsTs87mMsT3P7AuLuZDTjO3Tyd IPB638lqEKMgXO+Ze5CiwR2pMCz/VVVNwgbS8fYp4gRpRzSP0pEASMsWLmXZ1RLh3IqG/YIAk9J hpnwD8rPI/Le2Y1CKmd5ZSaWw5aYZll+1Hg== X-Gm-Gg: AeBDiesJMHdms3GR5P7eEFF7eQeGgPuNiGbmHVKs0zMKwUqFtQUHjtIoe3HA1fzMUg5 qd3o1bMoLM8ljrIOH6h13yH8e2y9V5Qa7XEtAHUQgsp+KOILM+66q5jvc0nnQ2d/yDJ8MP+DjIp 4VtXaQUmJFWdAUFAjCD6PooiAl5lt9++DosD9bhPpApnXqoLEMsb87SG8iCFXeIgQSimydNrvPR UGmQTrHZf30cpy4e/rLb0hhWYBGXdBysNgWxm5ZxcQfFzXDEV7Z9EQEV0vZGOmYVqS0qh38nn9p AudNDb1uYrOXYGnXVQxX4HAsQLgtfUKGzdWj43se0u3sq5ucIKkGA8YQ0bRUoQ== X-Received: by 2002:a05:690e:118a:b0:651:b593:d3cb with SMTP id 956f58d0204a3-65c35e0475bmr590837d50.24.1777623078962; Fri, 01 May 2026 01:11:18 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7011:b05:b0:515:7a65:37dc with HTTP; Fri, 1 May 2026 01:11:17 -0700 (PDT) In-Reply-To: <69f219fc.3d583.73783562@gitrepo.freebsd.org> References: <69f219fc.3d583.73783562@gitrepo.freebsd.org> From: Oliver Pinter Date: Fri, 1 May 2026 09:11:17 +0100 X-Gm-Features: AVHnY4IsiLAPo2HThGG5Si0V_lmMxCRaEd3Imq7l3TI1Gb3PMKaIc7p0fYVQid4 Message-ID: Subject: Re: git: f5ea3dce2cbe - main - libnv: switch fd_wait() from select(2) to poll(2) To: Mark Johnston Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Mariusz Zaborski Content-Type: multipart/alternative; boundary="0000000000002a8ab80650bd20fd" X-Spamd-Result: default: False [-4.97 / 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(-0.97)[-0.969]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b131:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@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-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4g6NzF0q3hz3hxt --0000000000002a8ab80650bd20fd Content-Type: text/plain; charset="UTF-8" On Wednesday, April 29, 2026, Mark Johnston wrote: > The branch main has been updated by markj: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b > > commit f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b > Author: Mariusz Zaborski > AuthorDate: 2026-04-28 14:35:10 +0000 > Commit: Mark Johnston > CommitDate: 2026-04-29 14:39:28 +0000 > > libnv: switch fd_wait() from select(2) to poll(2) > > The previous implementation used FD_SET() on a stack-allocated fd_set, > which is an out-of-bounds write whenever the socket fd is >= FD_SETSIZE > (1024). This problem seems like a more generic problem, after looking into sys/select.h What about adding a check for the FD_SET about the variable is on the stack or not? And enforce the FD_SETSIZE limit almost the same way as it is already done with fortify source. Maybe the https://lists.llvm.org/pipermail/llvm-dev/2013-October/066294.html can be used (or abused) to implement this check. Feel free to correct me, if I'm wrong. > Approved by: so > Security: FreeBSD-SA-26:16.libnv > Security: CVE-2026-39457 > Reported by: Joshua Rogers of AISLE Research Team ( > https://aisle.com/) > Reviewed by: markj > Differential Revision: https://reviews.freebsd.org/D56689 > --- > lib/libnv/msgio.c | 12 +++---- > lib/libnv/tests/nvlist_send_recv_test.c | 56 > +++++++++++++++++++++++++++++++++ > 2 files changed, 62 insertions(+), 6 deletions(-) > > diff --git a/lib/libnv/msgio.c b/lib/libnv/msgio.c > index f6f75241ff06..de2994e47fef 100644 > --- a/lib/libnv/msgio.c > +++ b/lib/libnv/msgio.c > @@ -32,10 +32,10 @@ > > #include > #include > -#include > > #include > #include > +#include > #include > #include > #include > @@ -86,14 +86,14 @@ msghdr_add_fd(struct cmsghdr *cmsg, int fd) > static void > fd_wait(int fd, bool doread) > { > - fd_set fds; > + struct pollfd pfd; > > PJDLOG_ASSERT(fd >= 0); > > - FD_ZERO(&fds); > - FD_SET(fd, &fds); > - (void)select(fd + 1, doread ? &fds : NULL, doread ? NULL : &fds, > - NULL, NULL); > + pfd.fd = fd; > + pfd.events = doread ? POLLIN : POLLOUT; > + pfd.revents = 0; > + (void)poll(&pfd, 1, -1); > } > > static int > diff --git a/lib/libnv/tests/nvlist_send_recv_test.c > b/lib/libnv/tests/nvlist_send_recv_test.c > index 4a5c10df656d..d655a26a7362 100644 > --- a/lib/libnv/tests/nvlist_send_recv_test.c > +++ b/lib/libnv/tests/nvlist_send_recv_test.c > @@ -27,6 +27,8 @@ > */ > > #include > +#include > +#include > #include > #include > #include > @@ -531,6 +533,59 @@ ATF_TC_BODY(nvlist_send_recv__send_nvlist__stream, > tc) > nvlist_send_recv__send_nvlist(SOCK_STREAM); > } > > +/* > + * Regression test for fd_wait(): the previous select(2)-based > implementation > + * called FD_SET() unconditionally, which is an out-of-bounds stack write > when > + * the socket fd is >= FD_SETSIZE. Force the socketpair fds above > FD_SETSIZE > + * and verify a full nvlist round-trip still works. > + */ > +ATF_TC_WITHOUT_HEAD(nvlist_send_recv__highfd); > +ATF_TC_BODY(nvlist_send_recv__highfd, tc) > +{ > + struct rlimit rl; > + nvlist_t *nvl; > + int socks[2], hi_send, hi_recv, status; > + pid_t pid; > + > + hi_send = FD_SETSIZE + 5; > + hi_recv = FD_SETSIZE + 6; > + > + rl.rlim_cur = rl.rlim_max = hi_recv + 1; > + if (setrlimit(RLIMIT_NOFILE, &rl) != 0) > + atf_tc_skip("cannot raise RLIMIT_NOFILE: %s", > strerror(errno)); > + > + ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, socks) == 0); > + ATF_REQUIRE(dup2(socks[0], hi_recv) == hi_recv); > + ATF_REQUIRE(dup2(socks[1], hi_send) == hi_send); > + (void)close(socks[0]); > + (void)close(socks[1]); > + > + pid = fork(); > + ATF_REQUIRE(pid >= 0); > + if (pid == 0) { > + /* Child: send. */ > + (void)close(hi_recv); > + nvl = nvlist_create(0); > + nvlist_add_string(nvl, "key", "value"); > + if (nvlist_send(hi_send, nvl) != 0) > + err(EXIT_FAILURE, "nvlist_send"); > + nvlist_destroy(nvl); > + _exit(0); > + } > + > + (void)close(hi_send); > + nvl = nvlist_recv(hi_recv, 0); > + ATF_REQUIRE(nvl != NULL); > + ATF_REQUIRE(nvlist_error(nvl) == 0); > + ATF_REQUIRE(nvlist_exists_string(nvl, "key")); > + ATF_REQUIRE(strcmp(nvlist_get_string(nvl, "key"), "value") == 0); > + nvlist_destroy(nvl); > + > + ATF_REQUIRE(waitpid(pid, &status, 0) == pid); > + ATF_REQUIRE(status == 0); > + (void)close(hi_recv); > +} > + > ATF_TC_WITHOUT_HEAD(nvlist_send_recv__send_closed_fd__dgram); > ATF_TC_BODY(nvlist_send_recv__send_closed_fd__dgram, tc) > { > @@ -734,6 +789,7 @@ ATF_TP_ADD_TCS(tp) > > ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist__dgram); > ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist__stream); > + ATF_TP_ADD_TC(tp, nvlist_send_recv__highfd); > ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed_fd__dgram); > ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed_fd__stream); > ATF_TP_ADD_TC(tp, nvlist_send_recv__send_many_fds__dgram); > > --0000000000002a8ab80650bd20fd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Wednesday, April 29, 2026, Mark Johnston <markj@freebsd.org> wrote:
The branch main has been updated by markj:

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

commit f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b
Author:=C2=A0 =C2=A0 =C2=A0Mariusz Zaborski <oshogbo@FreeBSD.org>
AuthorDate: 2026-04-28 14:35:10 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-04-29 14:39:28 +0000

=C2=A0 =C2=A0 libnv: switch fd_wait() from select(2) to poll(2)

=C2=A0 =C2=A0 The previous implementation used FD_SET() on a stack-allocate= d fd_set,
=C2=A0 =C2=A0 which is an out-of-bounds write whenever the socket fd is >= ;=3D FD_SETSIZE
=C2=A0 =C2=A0 (1024).

This problem seems li= ke a more generic problem, after looking into sys/select.h

What about adding a check for the FD_SET about the variable is on = the stack or not? And enforce the FD_SETSIZE limit almost the same way as i= t is already done with fortify source.

Maybe the= =C2=A0https://lists.llvm.org/pipermail/llvm-dev/2013-October/066294.htm= l=C2=A0can be used (or abused) to implement this check.
=C2= =A0
Feel free to correct me, if I'm wrong.


=C2=A0 =C2=A0 Approved by:=C2=A0 =C2=A0 so
=C2=A0 =C2=A0 Security:=C2=A0 =C2=A0 =C2=A0 =C2=A0FreeBSD-SA-26:16.libnv =C2=A0 =C2=A0 Security:=C2=A0 =C2=A0 =C2=A0 =C2=A0CVE-2026-39457
=C2=A0 =C2=A0 Reported by:=C2=A0 =C2=A0 Joshua Rogers of AISLE Research Tea= m (https://aisle.com/)=
=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 markj
=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd.org/D56689
---
=C2=A0lib/libnv/msgio.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 12 +++----
=C2=A0lib/libnv/tests/nvlist_send_recv_test.c | 56 +++++++++++++++++++= ++++++++++++++
=C2=A02 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/lib/libnv/msgio.c b/lib/libnv/msgio.c
index f6f75241ff06..de2994e47fef 100644
--- a/lib/libnv/msgio.c
+++ b/lib/libnv/msgio.c
@@ -32,10 +32,10 @@

=C2=A0#include <sys/param.h>
=C2=A0#include <sys/socket.h>
-#include <sys/select.h>

=C2=A0#include <errno.h>
=C2=A0#include <fcntl.h>
+#include <poll.h>
=C2=A0#include <stdbool.h>
=C2=A0#include <stdint.h>
=C2=A0#include <stdlib.h>
@@ -86,14 +86,14 @@ msghdr_add_fd(struct cmsghdr *cmsg, int fd)
=C2=A0static void
=C2=A0fd_wait(int fd, bool doread)
=C2=A0{
-=C2=A0 =C2=A0 =C2=A0 =C2=A0fd_set fds;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct pollfd pfd;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 PJDLOG_ASSERT(fd >=3D 0);

-=C2=A0 =C2=A0 =C2=A0 =C2=A0FD_ZERO(&fds);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0FD_SET(fd, &fds);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)select(fd + 1, doread ? &fds : NULL, = doread ? NULL : &fds,
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0NULL, NULL);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pfd.fd =3D fd;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pfd.events =3D doread ? POLLIN : POLLOUT;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pfd.revents =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)poll(&pfd, 1, -1);
=C2=A0}

=C2=A0static int
diff --git a/lib/libnv/tests/nvlist_send_recv_test.c b/lib/libnv/tests= /nvlist_send_recv_test.c
index 4a5c10df656d..d655a26a7362 100644
--- a/lib/libnv/tests/nvlist_send_recv_test.c
+++ b/lib/libnv/tests/nvlist_send_recv_test.c
@@ -27,6 +27,8 @@
=C2=A0 */

=C2=A0#include <sys/param.h>
+#include <sys/resource.h>
+#include <sys/select.h>
=C2=A0#include <sys/socket.h>
=C2=A0#include <sys/sysctl.h>
=C2=A0#include <sys/wait.h>
@@ -531,6 +533,59 @@ ATF_TC_BODY(nvlist_send_recv__send_nvlist__stream= , tc)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 nvlist_send_recv__send_nvlist(SOCK_STREAM)= ;
=C2=A0}

+/*
+ * Regression test for fd_wait(): the previous select(2)-based implementat= ion
+ * called FD_SET() unconditionally, which is an out-of-bounds stack write = when
+ * the socket fd is >=3D FD_SETSIZE.=C2=A0 Force the socketpair fds abo= ve FD_SETSIZE
+ * and verify a full nvlist round-trip still works.
+ */
+ATF_TC_WITHOUT_HEAD(nvlist_send_recv__highfd);
+ATF_TC_BODY(nvlist_send_recv__highfd, tc)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct rlimit rl;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0nvlist_t *nvl;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int socks[2], hi_send, hi_recv, status;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pid_t pid;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0hi_send =3D FD_SETSIZE + 5;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0hi_recv =3D FD_SETSIZE + 6;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0rl.rlim_cur =3D rl.rlim_max =3D hi_recv + 1; +=C2=A0 =C2=A0 =C2=A0 =C2=A0if (setrlimit(RLIMIT_NOFILE, &rl) !=3D 0) +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0atf_tc_skip("c= annot raise RLIMIT_NOFILE: %s", strerror(errno));
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREA= M, 0, socks) =3D=3D 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(dup2(socks[0], hi_recv) =3D=3D hi_r= ecv);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(dup2(socks[1], hi_send) =3D=3D hi_s= end);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)close(socks[0]);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)close(socks[1]);
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pid =3D fork();
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(pid >=3D 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (pid =3D=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* Child: send. */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(void)close(hi_recv= );
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0nvl =3D nvlist_crea= te(0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0nvlist_add_string(n= vl, "key", "value");
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (nvlist_send(hi_= send, nvl) !=3D 0)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0err(EXIT_FAILURE, "nvlist_send");
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0nvlist_destroy(nvl)= ;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0_exit(0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)close(hi_send);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0nvl =3D nvlist_recv(hi_recv, 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(nvl !=3D NULL);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(nvlist_error(nvl) =3D=3D 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(nvlist_exists_string(nvl, &quo= t;key"));
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(strcmp(nvlist_get_string(nvl, = "key"), "value") =3D=3D 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0nvlist_destroy(nvl);
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(waitpid(pid, &status, 0) =3D=3D= pid);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_REQUIRE(status =3D=3D 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)close(hi_recv);
+}
+
=C2=A0ATF_TC_WITHOUT_HEAD(nvlist_send_recv__send_closed_fd__dgram= );
=C2=A0ATF_TC_BODY(nvlist_send_recv__send_closed_fd__dgram, tc)
=C2=A0{
@@ -734,6 +789,7 @@ ATF_TP_ADD_TCS(tp)

=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist= __dgram);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATF_TP_ADD_TC(tp, nvlist_send_recv__send_nvlist= __stream);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ATF_TP_ADD_TC(tp, nvlist_send_recv__highfd); =C2=A0 =C2=A0 =C2=A0 =C2=A0 ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed= _fd__dgram);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATF_TP_ADD_TC(tp, nvlist_send_recv__send_closed= _fd__stream);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATF_TP_ADD_TC(tp, nvlist_send_recv__send_many_<= wbr>fds__dgram);

--0000000000002a8ab80650bd20fd-- From nobody Fri May 1 08:26:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6PK26h1Wz6c95M for ; Fri, 01 May 2026 08:26:46 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb133.google.com (mail-yx1-xb133.google.com [IPv6:2607:f8b0:4864:20::b133]) (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 4g6PK13SK4z3lLs for ; Fri, 01 May 2026 08:26:45 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=DxpCsb7s; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b133 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com; arc=pass ("google.com:s=arc-20240605:i=1") Received: by mail-yx1-xb133.google.com with SMTP id 956f58d0204a3-6579254f996so985504d50.1 for ; Fri, 01 May 2026 01:26:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777624000; cv=none; d=google.com; s=arc-20240605; b=bbEysgBjVDLlHYQVfAnK1IsN/XgiPEWx/6rVuSuhuSEkAmIufWMsSM0SZ9MpNvYkwx 7Uy+T0T4APAwm9GayWbqUIsi8zAmjEgXL1zNUOoIac7zsInvOWBm1tK2HZsSNiEX8JUx rykrU9zwsjhPQSlsrcyhnm7cYL2mpldzMiYcqrH8xknvDkUwQo13fxq1+Tpl9UKb8NF0 SZUhPQQe7gI9N/uILs+IlGdTNtXL5PtOSFT0FWsNhjVES5E2Vu9yVC97zOHHv8hoMoxk uIBW6yOp9kzNlIbYz5l5rCAlrNXJN8w7BCgwXzEk2Az4I93JKaAY6yndqz1GT1IUYAx6 +HWQ== 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=VAEC5jHL0PKVmgOBq/yrnVLdmzJVlvN4O5tYWRJ2myg=; fh=zQ6kzMu/Us3suyZNg5V4/C0XPJGylodfnc4iYCLRoUw=; b=MEhFp7pIYvlNhMTyuRNom6pUk1cIBzitrtpQyDXFzbUDT14f88OxttV2GrOkaXpQ+Q BMm9xHgeoiwdRpSn5kQ+3JhtQ4M6Fh62exQumxYIpE15GJRxpNW23gciyt4R73mU13qi K03vdy4W5N+BpYm78O3VibwsrvHnhCVDa6dJvLm/2gLnxcpLJnarySHi5zhW9u2Sa/Fm 8BjpQnmoJwxcSc/IhAeeGrP2LtEz3QE4bL80Sj+1fLHw1BK25IE9J7Yf7B+IFbdvXQKo KTKoxVQRXEYxtw74kAbwhffIszlP3M1HGf17UYYoorE8+jBSLwNVo26x/oxmFJFJkWSQ wiDQ==; 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=1777624000; x=1778228800; 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=VAEC5jHL0PKVmgOBq/yrnVLdmzJVlvN4O5tYWRJ2myg=; b=DxpCsb7s+nnFxaLTrKCkdxjZMDs3r5c3E+CfPqMvCRwpo0hFFLOv0XpZd6JyjxTpFl JV0tGQMbKKTYw0INSnjNI4rFPg8h6T2elme1BqFmDQfH2om/NEzXeyPyMi+TD2qS7mO9 Asq+BymsNqO3Of6QAaCiyhfZsFJNsA5lAd7IPi86PNwKJMaCRvZS4Ht1ihi8nO6kWbcr 4f08Q+MDMP1xgqhQW+yONrkHOKCu0ryNsofOXtKqIBhNzcEOYgOxW6uypxYGdjKyjKrv 8MpSSaxPGHwQF8Jv3WFAVUeirWWXAmJckLHLoZBPLC6hDqjOEBaA3KcNxm6QuCDriwIj k/+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777624000; x=1778228800; 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=VAEC5jHL0PKVmgOBq/yrnVLdmzJVlvN4O5tYWRJ2myg=; b=ZmAIb+2XfbLXaw+zax13pihoq5cTIoB6ReJ7BGkYBRv8loB2J/1nZH+sPzfc6mZgIF 8kTMJSBjI+YtwCnpLJJC5kL2UNkJ6X3MfmO/9C48oTO3ZekA+Lb7X85dzAkWYafF+g5+ XLsoCSYICTrpbtvEwprAkbM0gbUc05eFgu1vuL2qrMlyYUq33eT3SqB/RBIEsOIfkKn2 6rwEIigY+OuIJhT33eU0DiqHvJk0UEvYsrybCZUV+qmzJxKfySMdpGH1C+0uQD4c3HX6 BXnfbfovAEqX6hl2dFJOH0YYiIB0jfgfW5TjqC8F9aZxk1l5QTmaj5go/KJcM+yHOd1A uwSg== X-Forwarded-Encrypted: i=1; AFNElJ9BAUacCXIsLdYjpERAP4LpknFOlamyIAD1CCVaxwMLRAeygGAzDSoigv8AaVGGQi0pyX5yXVIz+sLhA6biM1gLsjGyCA==@freebsd.org X-Gm-Message-State: AOJu0YxSUbEal9/cZyB/15/2dRdL/hT0FQpGnGUbhv32V6gBfEMrorLi NN2t7/BCemhmdTEBslYoRmMwH64sHKBp55/UtNo42EVuxejJDy/PPNWU7ly65w0uz3XCFaTVX4r cACQt9phLcnPEq4R7b5ZdCAZfpnFL7gU= X-Gm-Gg: AeBDieti1q2Tn6IOQtW/3Q4YBiK7xKQL5afX8FPwIR/JW//0vqgH0tFjmOjAo2YGQOk dEL+fCoFYjH4Po4KRjOUcJx1uqgW1FsJgbeCjhONAodFp0L+7ZJqAeP1QkueF/IEi6RBjchyQLr Wik7P6NJNlov17FnqwnTLPlxFaAslTYgjdji8qx7ZFxD98HT0Ni6KL/DU/TDg14WuwT3ZyVk8LH Fisdm4KQS/9XQNxFUK9/x/Oy6XogYLVgu1PAYszd23pfBomSfpWeQP97tmcqx3zH/TpBXLJK673 luFIrSTikOFZaK6OiAwoq8Yl9AA67qmXsNYm14eauZzDVjKOq2BgYFY6nid7ww== X-Received: by 2002:a05:690e:1387:b0:65c:2a49:880f with SMTP id 956f58d0204a3-65c2a499a65mr3499030d50.30.1777623999788; Fri, 01 May 2026 01:26:39 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7011:628d:20b0:518:6106:eec6 with HTTP; Fri, 1 May 2026 01:26:38 -0700 (PDT) In-Reply-To: <4E7ABEB8-1EE6-4CDF-9F58-BD2C0E0BF8C7@tetlows.org> References: <69f219fa.3c9fa.1698d8e9@gitrepo.freebsd.org> <4E7ABEB8-1EE6-4CDF-9F58-BD2C0E0BF8C7@tetlows.org> From: Oliver Pinter Date: Fri, 1 May 2026 09:26:38 +0100 X-Gm-Features: AVHnY4IIZ4gmTc9XvY9PQl_EqKXDSdifQuywwTxw9Nak8DrjkfA3uStdfxGs0H8 Message-ID: Subject: Re: git: 5d8e32aad2a8 - main - dhclient: Fix reallocation of dhclient script environments [CORRECTION: CVE ID] To: Gordon Tetlow Cc: Mark Johnston , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="0000000000000d3be90650bd5702" X-Spamd-Result: default: False [-4.83 / 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(-0.83)[-0.828]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b133:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@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-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4g6PK13SK4z3lLs --0000000000000d3be90650bd5702 Content-Type: text/plain; charset="UTF-8" On Thursday, April 30, 2026, Gordon Tetlow wrote: > This commit as well as the corresponding stable and releng branch commits > were incorrectly tagged CVE-2026-42511 and should be CVE-2026-42512. > Apologies for the mix up there. > > Best regards, > Gordon > Hat: security-officer > Hi! I've seen a new trend regarding the commit messages. If someone described the commit wrong, then the commit gets reverted and the exactly same commit message reapplied with the fixed commit message. The question is that do FreeBSD wants the correct CVE id in the history or not? If wants, then one possible way would be the revert + reapply or the other possible would be to create an empty commit with git which references the original commit and adds the correct CVE id to the empty commits description. > On 29 Apr 2026, at 7:47, Mark Johnston wrote: > > The branch main has been updated by markj: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > 5d8e32aad2a8316b0aab8a93a677a63e4c3df422 > > commit 5d8e32aad2a8316b0aab8a93a677a63e4c3df422 > Author: Mark Johnston markj@FreeBSD.org > AuthorDate: 2026-04-27 20:56:21 +0000 > Commit: Mark Johnston markj@FreeBSD.org > CommitDate: 2026-04-29 14:39:27 +0000 > > dhclient: Fix reallocation of dhclient script environments > > When the number of DHCP options exceeds a threshold, script_set_env() > will reallocate the environment, stored as an array of pointers. The > calculation of the array size failed to multiply by the pointer size, > resulting in a smaller than expected buffer which admits out-of-bounds > writes. > > Approved by: so > Security: FreeBSD-SA-26:15.dhclient > Security: CVE-2026-42511 > Reported by: Joshua Rogers of AISLE Research Team (https://aisle.com/) > > ------------------------------ > > sbin/dhclient/dhclient.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c > index 719e20cffad9..f671b0ab9bed 100644 > --- a/sbin/dhclient/dhclient.c > +++ b/sbin/dhclient/dhclient.c > @@ -2438,8 +2438,8 @@ script_set_env(struct client_state *client, const > char *prefix, > char **newscriptEnv; > int newscriptEnvsize = client->scriptEnvsize + 50; > > - > > newscriptEnv = realloc(client->scriptEnv, > > - > > newscriptEnvsize); > > > > - > > newscriptEnv = reallocarray(client->scriptEnv, > > - > > newscriptEnvsize, sizeof(char *)); > if (newscriptEnv == NULL) { > free(client->scriptEnv); > client->scriptEnv = NULL; > > > --0000000000000d3be90650bd5702 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Thursday, April 30, 2026, Gordon Tetlow <
gordon@tetlows.org> wrote:

This commit as well as the corresponding stable and releng = branch commits were incorrectly tagged CVE-2026-42511 and should be CVE-202= 6-42512. Apologies for the mix up there.

Best regards,
Gordon
Hat: security-officer

Hi!

I've seen a new trend regarding the commit messages. If someon= e described the commit wrong, then the commit gets reverted and the exactly= same commit message reapplied with the fixed commit message. The question = is that do FreeBSD wants the correct CVE id in the history or not? If wants= , then one possible way would be the revert + reapply or the other possible= would be to create an empty commit with git which references the original = commit and adds the correct CVE id to the empty commits description.
<= /div>

=C2=A0

On 29 Apr 2026, at 7:47, Mark Johnston wrote:

The branch main has been updated by markj:

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

commit 5d8e32aad2a8316b0aab8a93a677a63e4c3df422
Author: Mark Johnston markj@FreeBSD.org
AuthorDate: 2026-04-27 20:56:21 +0000
Commit: Mark Johnston markj@FreeBSD.org
CommitDate: 2026-04-29 14:39:27 +0000

dhclient: Fix reallocation of dhclient script environments

When the number of DHCP options exceeds a threshold, script_set_env()
will reallocate the environment, stored as an array of pointers.  The
calculation of the array size failed to multiply by the pointer size,
resulting in a smaller than expected buffer which admits out-of-bounds
writes.

Approved by:    so
Security:       FreeBSD-SA-26:15.dhclient
Security:       CVE-2026-42511
Reported by:    Joshua Rogers of AISLE Research Team (https://aisle.com/)

sbin/dhclient/dhclient.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhcli= ent.c
index 719e20cffad9..f671b0ab9bed 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2438,8 +2438,8 @@ script_set_env(struct client_state *client, const cha= r *prefix,
char **newscriptEnv;
int newscriptEnvsize =3D client->scriptEnvsize + 50;

  • 	newscriptEnv =3D realloc(client->scriptEnv,
    
  • 	    newscriptEnvsize);
    
  • 	newscriptEnv =3D reallocarray(client->scriptEnv,
    
  • 	    newscriptEnvsize, sizeof(char *));
    	if (newscriptEnv =3D=3D NULL) {
    		free(client->scriptEnv);
    		client->scriptEnv =3D NULL;
    
--0000000000000d3be90650bd5702-- From nobody Fri May 1 09:14:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6QPV3XhHz6cFRh; Fri, 01 May 2026 09:15:42 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from fout-b4-smtp.messagingengine.com (fout-b4-smtp.messagingengine.com [202.12.124.147]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6QPT0Pqqz3tD7; Fri, 01 May 2026 09:15:40 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gojira.at header.s=fm2 header.b=rLnSVH6P; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=R3osuCM8; dmarc=none; spf=pass (mx1.freebsd.org: domain of herbert@gojira.at designates 202.12.124.147 as permitted sender) smtp.mailfrom=herbert@gojira.at Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailfout.stl.internal (Postfix) with ESMTP id 232AB1D00120; Fri, 1 May 2026 05:15:39 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Fri, 01 May 2026 05:15:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gojira.at; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1777626938; x=1777713338; bh=/1gSx/RweD yYcafkG6qzy9IZlzFyxhxCsYNnLwE9yL4=; b=rLnSVH6PAXTm3CFJ2WGlpLyUkV 5Pdr5pR+HRq7krn0HvPj0S5E+0yZxrT3N68N0f/eU1eg8e6IW6hRrQ9CS4YSgL0c 4BLFRmSx1GQd1NSxFiK2zzeiOmJqdzOha6QZWKA1pTSZFW++kuIFjWik5Xh6B9NE 5uxzKeeOyjufqZqroWF57bEXf415teMpk1VbbxyQUrD+kCNeUXmDIIGkbqflRRyT //3Ht1byHWF5RUrbbENbCSOautufLxnzI794U1VauT3bgAFgI8UmYAc4FnDoITKk nU6Nl30xIkgTieQlEP6DjT2ZyDGpKOT0iYpfjNaJ4BoIL+kodA3q5kroc+VQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1777626938; x=1777713338; bh=/1gSx/RweDyYcafkG6qzy9IZlzFyxhxCsYN nLwE9yL4=; b=R3osuCM8uQVtfJBjNqHXDrFFs8HjilSufgD7e3UDYtrxbzQTwvR 54kMHlcHd9ZHkyvLIpuptUE/pXjSRCSzq2Kr+PLrBYwI3ZrP8mJEb61C+9QTZaPP Jxo3B99zAFLxREcJ7LZP1r5g9N5YUkzpeC8mU6BrR3MrPUJNTkU/VW9TscFOeIs1 cpktnkZg2ufSmAjPfl67rQBR+3dwLQ8rBaziujJuERXRRTAuY124K+ehpCe+EnC6 PBOrxDOnAv2ZqS1IRDk+lfNHmYK4CvSpM6hzKDzWB6RBOOiaN6l+FG4acUJagJEw d7xQGV2D0ZmoJCabE0kpeUZge7EAWw5sCvw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdekleekudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpeffkffhvfevufgjfhgfgggtsehttdertddtredvnecuhfhrohhmpedfjfgvrhgsvghr thculfdrucfukhhuhhhrrgdfuceohhgvrhgsvghrthesghhojhhirhgrrdgrtheqnecugg ftrfgrthhtvghrnhepfefhheffgedvheeutdeugfekfeeiffeijefhgeegkeegveejgeef ffeggeelhfdtnecuffhomhgrihhnpehfrhgvvggsshgurdhorhhgnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhgvrhgsvghrthesghhojhhi rhgrrdgrthdpnhgspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghpth htoheprghnughrvgifsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepshhrtgdqtgho mhhmihhtthgvrhhssehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomh hmihhtshdqshhrtgdqrghllhesfhhrvggvsghsugdrohhrghdprhgtphhtthhopeguvghv qdgtohhmmhhithhsqdhsrhgtqdhmrghinhesfhhrvggvsghsugdrohhrghdprhgtphhtth hopehsrghrrghhrdifrghlkhgvrhdvsegrrhhmrdgtohhm X-ME-Proxy: Feedback-ID: i64fe486c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 1 May 2026 05:15:37 -0400 (EDT) Date: Fri, 01 May 2026 11:14:57 +0200 Message-ID: <87zf2jv6cu.wl-herbert@gojira.at> From: "Herbert J. Skuhra" 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: b5bad6df467c - main - virtio_net: Use bus_dma for command/ack buffers In-Reply-To: <69ef4ad0.1f221.796b75f@gitrepo.freebsd.org> References: <69ef4ad0.1f221.796b75f@gitrepo.freebsd.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/31.0 Mule/6.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spamd-Result: default: False [-2.60 / 15.00]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; R_DKIM_ALLOW(-0.20)[gojira.at:s=fm2,messagingengine.com:s=fm3]; R_SPF_ALLOW(-0.20)[+ip4:202.12.124.128/27]; RCVD_IN_DNSWL_LOW(-0.10)[202.12.124.147:from]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[gojira.at]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_NONE(0.00)[messagingengine.com:dkim]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gojira.at:+,messagingengine.com:+]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; ASN(0.00)[asn:151847, ipnet:202.12.124.0/24, country:AU]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Spamd-Bar: -- X-Rspamd-Queue-Id: 4g6QPT0Pqqz3tD7 On Mon, 27 Apr 2026 13:38:56 +0200, Andrew Turner wrote: > > 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(-) After this change SFTP transfers are stalling/failing: Connected to server. sftp> get file.img Fetching /home/herbert/file.img to file.img file.img 1% 35MB 0.0KB/s - stalled - No new transfer are possible after reconnecting: Connected to server. sftp> get file.img Fetching /home/herbert/file.img to file.img file.img 0% 0 0.0KB/s --:-- ETA file.img 0% 0 0.0KB/s - stalled - Read from remote host xxx Connection reset by peer client_loop: send disconnect: Broken pipe Connection closed And (during/afterwards) /var/log/messages is being filled with the following error: May 1 10:42:00 srv03 kernel: ata0: FAILURE - load data May 1 10:42:00 srv03 kernel: ata0: setting up DMA failed I am running GENERIC-NODEBUG on a amd64 system. Reverting this commit (and c16c95192f01) resolves the issue. -- Herbert From nobody Fri May 1 10:25:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6Rxb3yyMz6cMHD for ; Fri, 01 May 2026 10:25: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 4g6Rxb0BFYz436M for ; Fri, 01 May 2026 10:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777631107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Ed0Zu8b6R6mMuXKw7rDz5dOr49ViuCRCPTWg/dWn4Y=; b=jION8B7kbrGfEw/U52+E+0+9cSuXZYFyHTbydRRkBXcsMauc7YOEvAuhDqMFxj5G7cZXiL KhJokWyHv/EADEfZGs9BNVBowNFbyk4lJnjzS++X4p5129wIA6kh0jnbl0zsS0wCnE/WC9 JDer7qbTVR267FzUkjoo9z3MY5JGj9vych3FzNBzK0OWU7EXv5TBWQnXlVVbHLuOvW/PER qVEApKBEL20I1qhshkAlqvPBrEAUG9ZmanCTaWwq6gQjz7598Ee3ojpretg6EubRP+Pcv0 z4iy/zCBjymzFT93yNUSlWwr+0c/KCzGNo7l4jWnJjJMXHC0f9omsm/ik2RTzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777631107; a=rsa-sha256; cv=none; b=rR6o98M+ogtDLXZ6V0JPzIpzvBJU8uorbxev+pMMzaT6LodwRE2cWLvgnZsOfg2+U2DDm9 3SD9mGzfC/jMy7VAlX5NqEvE70M01AwoZoSEJ8kwoLRGC29FhywOwr9l6uF94nG3YrJztW ggBbIv0XXANGcKBqmt7/HoI/ClKrQ3YZzo2OeIJzmFGp/Ky8321dKzU7NeDBd6jE/dUQ3D ABnz3mUbREZ61SS5AFupIgrUrx0s8NeXQjS5mGtPsWPJwNVrCN5hLeNPjGf2NF9hbFGpmr HpPLKjJoY9CFyXiYxbuDLBc8euDaa+NbgqLUNR5i1uyi1XfYuXofdO9Zh/80DA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777631107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Ed0Zu8b6R6mMuXKw7rDz5dOr49ViuCRCPTWg/dWn4Y=; b=OrmBe9FLMdpmtATFX4LzTEZvvCWasyQpvLE8Od3p8rp0QKgy/2R+wjf+0YIVbmro20tydm 7R85Bgd6bpTr7T2RVq7L/1UK5IyP/bf1TG7K4qBw4AWYVYgKbNLV9K+BN8rqc9geSgY3co P2VkGQLG5zhMlBf7NS6m6lO/jZUGE/JJl4o6C4ppt00v1AunsjaXupn55IkbKt0owMoi8Q iIOO4WjUVTWVLNQRFhAA7QEe9LAa1in6zfMTObvjM+Bn11bN4QZCGxzgDUPgj1jse0EoUG AmgUw6ZinUxVtZPFqmM6LAyTMVZOtuvXzSQ8fALyuCz6FgVUlHuuWMYbAKlGjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6RxZ6rl2zvWB for ; Fri, 01 May 2026 10:25:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22753 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 10:25:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 9c77fb6aaa36 - main - amdsmu: Add Krackan Point support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c77fb6aaa366cbabc80ee1b834bcfe4df135491 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 10:25:06 +0000 Message-Id: <69f47f82.22753.31ea2c08@gitrepo.freebsd.org> The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=9c77fb6aaa366cbabc80ee1b834bcfe4df135491 commit 9c77fb6aaa366cbabc80ee1b834bcfe4df135491 Author: Tom Jones AuthorDate: 2026-04-24 12:47:04 +0000 Commit: Tom Jones CommitDate: 2026-05-01 10:24:50 +0000 amdsmu: Add Krackan Point support Reviewed by: obiwac, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56619 --- sys/dev/amdsmu/amdsmu.c | 18 +++++++-- sys/dev/amdsmu/amdsmu.h | 98 +++++++++++++++++++++++++++++++++------------ sys/dev/amdsmu/amdsmu_reg.h | 7 +++- 3 files changed, 92 insertions(+), 31 deletions(-) diff --git a/sys/dev/amdsmu/amdsmu.c b/sys/dev/amdsmu/amdsmu.c index 7b97888887c5..5029336af9cb 100644 --- a/sys/dev/amdsmu/amdsmu.c +++ b/sys/dev/amdsmu/amdsmu.c @@ -30,11 +30,21 @@ amdsmu_match(device_t dev, const struct amdsmu_product **product_out) const uint16_t vendorid = pci_get_vendor(dev); const uint16_t deviceid = pci_get_device(dev); + const uint32_t model = CPUID_TO_MODEL(cpu_id); + for (size_t i = 0; i < nitems(amdsmu_products); i++) { const struct amdsmu_product *prod = &amdsmu_products[i]; if (vendorid == prod->amdsmu_vendorid && deviceid == prod->amdsmu_deviceid) { + + /* + * Some Krackan Point devices have different ip blocks + * based on CPU model. + */ + if (prod->model != 0x00 && model != prod->model) + continue; + if (product_out != NULL) *product_out = prod; return (true); @@ -105,7 +115,7 @@ amdsmu_cmd(device_t dev, enum amdsmu_msg msg, uint32_t arg, uint32_t *ret) amdsmu_write4(sc, SMU_REG_RESPONSE, SMU_RES_WAIT); /* Write out command to registers. */ - amdsmu_write4(sc, SMU_REG_MESSAGE, msg); + amdsmu_write4(sc, sc->product->amdsmu_msg, msg); amdsmu_write4(sc, SMU_REG_ARGUMENT, arg); /* Wait for SMU response and handle it. */ @@ -175,7 +185,7 @@ amdsmu_get_ip_blocks(device_t dev) sc->ip_blocks_active[i] = active; if (!active) continue; - printf("%s%s", amdsmu_ip_blocks_names[i], + printf("%s%s", sc->product->ip_blocks_names[i], i + 1 < sc->product->ip_block_count ? " " : "\n"); } @@ -193,10 +203,10 @@ amdsmu_get_ip_blocks(device_t dev) /* Create the sysctl node itself for the IP block. */ snprintf(sysctl_descr, sizeof sysctl_descr, "Metrics about the %s AMD IP block", - amdsmu_ip_blocks_names[i]); + sc->product->ip_blocks_names[i]); sc->ip_block_sysctlnodes[i] = SYSCTL_ADD_NODE(sc->sysctlctx, SYSCTL_CHILDREN(sc->ip_blocks_sysctlnode), OID_AUTO, - amdsmu_ip_blocks_names[i], CTLFLAG_RD, NULL, sysctl_descr); + sc->product->ip_blocks_names[i], CTLFLAG_RD, NULL, sysctl_descr); if (sc->ip_block_sysctlnodes[i] == NULL) { device_printf(dev, "could not add sysctl node for \"%s\"\n", sysctl_descr); diff --git a/sys/dev/amdsmu/amdsmu.h b/sys/dev/amdsmu/amdsmu.h index 4286d515ae77..0e7c4df37a43 100644 --- a/sys/dev/amdsmu/amdsmu.h +++ b/sys/dev/amdsmu/amdsmu.h @@ -14,7 +14,11 @@ #include #include #include -#include + +#include +#include +#include +#include #include #include @@ -22,26 +26,7 @@ #define SMU_RES_READ_PERIOD_US 50 #define SMU_RES_READ_MAX 20000 -static const struct amdsmu_product { - uint16_t amdsmu_vendorid; - uint16_t amdsmu_deviceid; - int16_t idlemask_reg; - size_t ip_block_count; -} amdsmu_products[] = { - { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_CEZANNE_ROOT, - SMU_REG_IDLEMASK_CEZANNE, 12 }, - { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_REMBRANDT_ROOT, - SMU_REG_IDLEMASK_PHOENIX, 12 }, - { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_PHOENIX_ROOT, - SMU_REG_IDLEMASK_PHOENIX, 21 }, - /* - * XXX Strix Point (PCI_DEVICEID_AMD_STRIX_POINT_ROOT) doesn't support - * S0i3 and thus doesn't have an idlemask. Since our driver doesn't - * yet understand this, don't attach to Strix Point for the time being. - */ -}; - -static const char *const amdsmu_ip_blocks_names[] = { +static const char *amdsmu_ip_blocks_names[] = { "DISPLAY", "CPU", "GFX", @@ -66,7 +51,69 @@ static const char *const amdsmu_ip_blocks_names[] = { "VPE", }; -CTASSERT(nitems(amdsmu_ip_blocks_names) <= 32); +static const char *amdsmu_ip_blocks_names_v2[] = { + "DISPLAY", + "CPU", + "GFX", + "VDD", + "VDD_CCX", + "ACP", + "VCN_0", + "VCN_1", + "ISP", + "NBIO", + "DF", + "USB3_0", + "USB3_1", + "LAPIC", + "USB3_2", + "USB4_RT0", + "USB4_RT1", + "USB4_0", + "USB4_1", + "MPM", + "JPEG_0", + "JPEG_1", + "IPU", + "UMSCH", + "VPE", +}; + +#define IP_MAX_BLOCK_NAMES 32 + +CTASSERT(nitems(amdsmu_ip_blocks_names) <= IP_MAX_BLOCK_NAMES); +CTASSERT(nitems(amdsmu_ip_blocks_names_v2) <= IP_MAX_BLOCK_NAMES); + +static const struct amdsmu_product { + uint16_t amdsmu_vendorid; + uint16_t amdsmu_deviceid; + uint32_t model; + int16_t idlemask_reg; + size_t ip_block_count; + const char **ip_blocks_names; + uint32_t amdsmu_msg; +} amdsmu_products[] = { + { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_CEZANNE_ROOT, 0x00, + SMU_REG_IDLEMASK_CEZANNE, 12 , amdsmu_ip_blocks_names, + SMU_REG_MSG_CEZANNE}, + { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_REMBRANDT_ROOT, 0x00, + SMU_REG_IDLEMASK_PHOENIX, 12 , amdsmu_ip_blocks_names, + SMU_REG_MSG_CEZANNE}, + { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_PHOENIX_ROOT, 0x00, + SMU_REG_IDLEMASK_PHOENIX, 21 , amdsmu_ip_blocks_names, + SMU_REG_MSG_CEZANNE}, + { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_KRACKAN_POINT_ROOT, 0x00, + SMU_REG_IDLEMASK_KRACKAN, 22, amdsmu_ip_blocks_names, + SMU_REG_MSG_KRACKAN }, + { CPU_VENDOR_AMD, PCI_DEVICEID_AMD_KRACKAN_POINT_ROOT, 0x70, + SMU_REG_IDLEMASK_KRACKAN, 25, amdsmu_ip_blocks_names_v2, + SMU_REG_MSG_KRACKAN }, + /* + * XXX Strix Point (PCI_DEVICEID_AMD_STRIX_POINT_ROOT) doesn't support + * S0i3 and thus doesn't have an idlemask. Since our driver doesn't + * yet understand this, don't attach to Strix Point for the time being. + */ +}; struct amdsmu_softc { const struct amdsmu_product *product; @@ -88,14 +135,13 @@ struct amdsmu_softc { uint32_t active_ip_blocks; struct sysctl_oid *ip_blocks_sysctlnode; - struct sysctl_oid *ip_block_sysctlnodes[ - nitems(amdsmu_ip_blocks_names)]; - bool ip_blocks_active[ - nitems(amdsmu_ip_blocks_names)]; + struct sysctl_oid *ip_block_sysctlnodes[IP_MAX_BLOCK_NAMES]; + bool ip_blocks_active[IP_MAX_BLOCK_NAMES]; bus_space_handle_t metrics_space; struct amdsmu_metrics metrics; uint32_t idlemask; + uint32_t smu_msg; }; static inline uint32_t diff --git a/sys/dev/amdsmu/amdsmu_reg.h b/sys/dev/amdsmu/amdsmu_reg.h index 6afbcf006535..c71082072b60 100644 --- a/sys/dev/amdsmu/amdsmu_reg.h +++ b/sys/dev/amdsmu/amdsmu_reg.h @@ -16,6 +16,7 @@ * out? Also, there are way more of these. I couldn't find a centralized place * which lists them though. */ +#define PCI_DEVICEID_AMD_KRACKAN_POINT_ROOT 0x1122 #define PCI_DEVICEID_AMD_CEZANNE_ROOT 0x1630 #define PCI_DEVICEID_AMD_REMBRANDT_ROOT 0x14B5 #define PCI_DEVICEID_AMD_PHOENIX_ROOT 0x14E8 @@ -28,14 +29,18 @@ #define SMU_PHYSBASE_ADDR_HI 0x13B102EC #define SMU_MEM_SIZE 0x1000 + #define SMU_REG_SPACE_OFF 0x10000 -#define SMU_REG_MESSAGE 0x538 #define SMU_REG_RESPONSE 0x980 #define SMU_REG_ARGUMENT 0x9BC #define SMU_REG_IDLEMASK_CEZANNE 0x94 #define SMU_REG_IDLEMASK_PHOENIX 0xD14 +#define SMU_REG_IDLEMASK_KRACKAN 0xF14 + +#define SMU_REG_MSG_CEZANNE 0x538 +#define SMU_REG_MSG_KRACKAN 0x938 enum amdsmu_res { SMU_RES_WAIT = 0x00, From nobody Fri May 1 11:59:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6V2Q6LxPz6cVsr for ; Fri, 01 May 2026 11:59: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 4g6V2Q5lW2z3F6d for ; Fri, 01 May 2026 11:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777636766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7z+/qhjqCgYZMAOckcOY9Qo3e13+V856BOdZlzBuzns=; b=xcnMLHW02olVROO61q+XcJ4MZlomRdwvDQavdc7InRC2IeczZMkP2W06eaJrsF//txkmPS xFdRLocml2Tq0DKRUUnYSia51FrYM8P00D30V32KLScKURmJH1Ox9vGltdDlw3f3NJDmWH kwT/Cb0ApJYtomYbJKbD3qQc+PEuPwmKydvMeLihFLP2TdetGcrb2X5tUMiRIYrMb70Pfu 50O78yCFU6PwLbEEACEFfCAX4i3NFiyFaPYBem2C6ivb3dFovAyZzkQGtT3lmQlyy94/A/ KMFpbGv10pJ207NEezsy/uwbgzWHPAxEATFSXXfTX9BoxQRIe2zf7MIBD2zRrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777636766; a=rsa-sha256; cv=none; b=NBlFWVMwfNdCdLXJVyngpExtiZ/XHW5e4+Ey9c6lke3+9j0gOIIj0UaDLjLYzcRdslWptl b2AjpyL7jAbq/+gdPoxAlR7dsI+LARvr5iyXaQIKp6ziyapPCwMtMgHXV2UiQ9894BHWJw rH2wPRhBO19ChyQLaZiHDHv+7aGeAwxnQNDyjByINOSiViFohnAiJliIaUh+u74K0RjnHP PpAlTJ4x6tLA7qTXA/E04/ry72kQBvv20xG4Zhd9tnWkr5VPfGok20uzg6XoPsxoWeB8EI MX8OdK9AqRnSdDERPXMYuSyQGKfPJhsTBHlJCBKA7U0BRqXxA0LLRou0Iirahw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777636766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7z+/qhjqCgYZMAOckcOY9Qo3e13+V856BOdZlzBuzns=; b=W2Ik5RrX1AbrXSGc4TIX1PoNuIGE0cSFa8tN4GgKhqmrUO1T8L2cLK1U/ehf7NwXNl5Bra QxClknJ5UIJjWojlm3p+miKt8LFdJHk3V/ipunPLT7n5fUdkK9tgX7HKpWvXLgy5IdK380 e36QDFLhbaNq0XZRGE+hRYX4CA0hDI6FUZBoEt7OAnxhszsAfyxKdRnSC2i1acfnw5J+0S YsMBnorGCorXh0kI6j2yZysS4jaf3qz+j3oWbvhm4Up2FX8Mpgvejkd+a/OrLu1VtJrOSA CxxArdQSikaa/BePpw5Q9WtdhYo7sJM1S6V91lSeDWVr5NDl80i7q9SYBNW7Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6V2Q5LtTzxhn for ; Fri, 01 May 2026 11:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 367fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 11:59:21 +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: f4ae41b7ea5e - main - linux: Implement setfsuid(2) and setfsgid(2) as no-ops List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4ae41b7ea5efb8381a5df234b3f5e1f7569f9b0 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 11:59:21 +0000 Message-Id: <69f49599.367fe.30c6d2d9@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ae41b7ea5efb8381a5df234b3f5e1f7569f9b0 commit f4ae41b7ea5efb8381a5df234b3f5e1f7569f9b0 Author: Ricardo Branco AuthorDate: 2026-04-29 18:27:22 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-05-01 11:52:37 +0000 linux: Implement setfsuid(2) and setfsgid(2) as no-ops These system calls exist to decouple the Linux filesystem credentials from the effective credentials, avoiding signal exposure during privilege transitions. The signal permission model that motivated this was revised in Linux 2.0, making these syscalls obsolete for new applications. Implement both syscalls as no-ops that return the current effective UID/GID as the previous filesystem UID/GID. Linux returns the previous filesystem UID/GID for these syscalls with no error indication. Same for the equivalent setfsuid16() & setfsgid16() system calls. Signed-off-by: Ricardo Branco PR: 294879 Reviewed by: kib, pouria Pull-Request: https://github.com/freebsd/freebsd-src/pull/2175 --- sys/compat/linux/linux_dummy.c | 2 -- sys/compat/linux/linux_misc.c | 26 ++++++++++++++++++++++++++ sys/compat/linux/linux_uid16.c | 16 ++++++++++++++-- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_dummy.c b/sys/compat/linux/linux_dummy.c index dfabf33eb8a6..971e070e90aa 100644 --- a/sys/compat/linux/linux_dummy.c +++ b/sys/compat/linux/linux_dummy.c @@ -56,8 +56,6 @@ UNIMPLEMENTED(query_module); /* Added in Linux 2.2 removed in 2.6. */ UNIMPLEMENTED(security); UNIMPLEMENTED(vserver); -DUMMY(setfsuid); -DUMMY(setfsgid); DUMMY(vhangup); DUMMY(pivot_root); DUMMY(adjtimex); diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 4c8ad669f03c..f89758f41ba0 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -3179,4 +3179,30 @@ linux_membarrier(struct thread *td, struct linux_membarrier_args *args) return (0); } +/* + * setfsuid() & setfsgid() exist to decouple the Linux filesystem credentials + * from the effective credentials, avoiding signal exposure during privilege + * transitions. The signal permission model that motivated this was revised in + * Linux 2.0, making these syscalls obsolete for new applications. + * + * As there's no FreeBSD equivalent, implement both syscalls as no-ops that + * return the current effective UID/GID as the previous filesystem UID/GID. + * Linux returns the previous filesystem UID/GID for these syscalls, with no + * error indication. + */ + +int +linux_setfsuid(struct thread *td, struct linux_setfsuid_args *args) +{ + td->td_retval[0] = td->td_ucred->cr_uid; + return (0); +} + +int +linux_setfsgid(struct thread *td, struct linux_setfsgid_args *args) +{ + td->td_retval[0] = td->td_ucred->cr_gid; + return (0); +} + MODULE_DEPEND(linux, mqueuefs, 1, 1, 1); diff --git a/sys/compat/linux/linux_uid16.c b/sys/compat/linux/linux_uid16.c index 8ac093e004d0..16866c374aa2 100644 --- a/sys/compat/linux/linux_uid16.c +++ b/sys/compat/linux/linux_uid16.c @@ -59,8 +59,6 @@ LIN_SDT_PROBE_DEFINE1(uid16, linux_setgroups16, copyin_error, "int"); LIN_SDT_PROBE_DEFINE1(uid16, linux_setgroups16, priv_check_cred_error, "int"); LIN_SDT_PROBE_DEFINE1(uid16, linux_getgroups16, copyout_error, "int"); -DUMMY(setfsuid16); -DUMMY(setfsgid16); DUMMY(getresuid16); DUMMY(getresgid16); @@ -284,3 +282,17 @@ linux_setresuid16(struct thread *td, struct linux_setresuid16_args *args) return (error); } + +int +linux_setfsuid16(struct thread *td, struct linux_setfsuid16_args *args) +{ + td->td_retval[0] = td->td_ucred->cr_uid; + return (0); +} + +int +linux_setfsgid16(struct thread *td, struct linux_setfsgid16_args *args) +{ + td->td_retval[0] = td->td_ucred->cr_gid; + return (0); +} From nobody Fri May 1 12:19:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6VV55hTCz6cXKg for ; Fri, 01 May 2026 12:19: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 4g6VV5552mz3JBG for ; Fri, 01 May 2026 12:19:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777637997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uujeVoWVm0ZW2rPD+kKlaME7gw2FTOTkka3FVeX0FXU=; b=nNscYm4LsJhRxOhHkM10liZoIWWPqidEV421+QkQ8XNVTh1ivfp26TjeReHAlUdlNHIjX5 dLr3/5ItmQdKHnewuM/dz+YRFeuuQUOQ5HvG7+dgSC9eDar2DrJvENPXJpt5SvUFGpLwGV aCukIH5wxY766n674CDbYHFnlfBHxUfYT9yUXBaK9ndZtmCvyU6UCsNxIPwb1pY9UwW3FM I3K0YgF1PyikB9vXGzM5x/sC5O+e3f8F5YGACCI+Q/p4GbVP3L4Ue6NA/DDuWcvwuE6txv Dn3tqMJaTo71OHffSnBkVPdss7NF4RYtxcJ9BZoerBYMlMcJDvCU63L46V0O6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777637997; a=rsa-sha256; cv=none; b=L1ZMtblLiu6HEGtfHJWh+jhSOj7AvZEWIO6SRLsNizGZJonBiR68JxQJq5ZOhRKn0jVyd/ R/nzv6kjn6tcstOQHlBKfYtAE8O3xmnjz/K943KdEvAuoRUPBZZdMf7VRNaGOX2fNnFjAM xj+osGJzp9H/2qiS+++bzFT+9rSAcP4HSDCK9FnBj1TDAXGVLGaCPyy9DzKJ5f+r6/eArx Co8sak6BxbcShIua7NW2Kb9ZFKgJQheCeaIgi0OIQhf6ovmV/vrXrOyS6WakoozfhFWWEf ziqHNF6KiFfMhk59R3xt/muXrQ5566zydNWw0eAzqX4bvEVRFKPEaTfv2BdWbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777637997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uujeVoWVm0ZW2rPD+kKlaME7gw2FTOTkka3FVeX0FXU=; b=k794H44Gjiu5VSr5HYsArTMYw4LxdZOr86ww7ef26Rdl9WB9fH/9JMlamHBmHbuWwWuBjg 53tBidFQwryqlI3XaOUmd6dYOthYgGrSXtbahwvr0Dz7uVjc6JFvAr1/dvyABXB0aFbvX7 jC74+UC/yMw0JHGfyIQ5vyxJdQS6S2MsUaPIUXQMsosJYa776jsplyNmAnVQkFXF3ZYRF8 VQA2b5LrbKTSLD1aHuHOtfjckdM3CyTA37rmgkk/TMK/P6ndXCJYZmjoGoRwkfyvGzjeV4 eHem2k5sWg8qlIaBN5o4aDLxY6IeX3ufpPQ6DY406iETjsIIJWC1phsSt2CaCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6VV54gQlzyJ4 for ; Fri, 01 May 2026 12:19:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38095 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 12:19:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 8583bcb5b400 - main - Revert "build: provide a FORTIFY_SOURCE. override" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8583bcb5b400c4e4d18a563cd749ee9b23750e0a Auto-Submitted: auto-generated Date: Fri, 01 May 2026 12:19:57 +0000 Message-Id: <69f49a6d.38095.bb31d8f@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8583bcb5b400c4e4d18a563cd749ee9b23750e0a commit 8583bcb5b400c4e4d18a563cd749ee9b23750e0a Author: Kyle Evans AuthorDate: 2026-05-01 12:19:17 +0000 Commit: Kyle Evans CommitDate: 2026-05-01 12:19:17 +0000 Revert "build: provide a FORTIFY_SOURCE. override" This reverts commit c46a0b590716144d772eeba83ca88d96ee12c2f1. It broke the build and I'm not awake yet. --- share/mk/bsd.sys.mk | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 5bd8cd3362d1..93e7c8572310 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -321,12 +321,9 @@ SSP_CFLAGS?= -fstack-protector-strong .endif CFLAGS+= ${SSP_CFLAGS} .endif # SSP - -.if empty(CFLAGS:M-D_FORTIFY_SOURCE*) -CFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE.${.IMPSRC:T}:U${FORTIFY_SOURCE}} -.endif -.if empty(CXXFLAGS:M-D_FORTIFY_SOURCE*) -CXXFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE.${.IMPSRC:T}:U${FORTIFY_SOURCE}} +.if ${FORTIFY_SOURCE} > 0 +CFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE} +CXXFLAGS+= -D_FORTIFY_SOURCE=${FORTIFY_SOURCE} .endif # Additional flags passed in CFLAGS and CXXFLAGS when MK_DEBUG_FILES is From nobody Fri May 1 14:41:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6YdX4Gxwz6bY9y for ; Fri, 01 May 2026 14:41: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 4g6YdX2bHfz3XJk for ; Fri, 01 May 2026 14:41:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777646496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9yzs9qTMB4oo8RPP6rwzbyYBxNp3EnsM+8PavPc5EWU=; b=J4JyTlnwbZHVhf1DY9ls5xN2GsU+wdChGb1kX0H5ulwi1YB7f5v77t8tU52f22jkYyG1ab 45Es2r/LzBTvtJ38l5ySRjKyB0Vr3bhh3ldh54eTgeAWAOjxoioeCKKon8Ps43sILchmyY T5LgGYfF2gcozok9kxrvEEi4l/SzJnKFgJJxKNdw2YVYBT9NvYZHynOicPb7Y9Ev6PphI5 elU4Sz7XxPyDiw1RHoMC5L+X1i1LZyJUU1t25VKY7hZgVsrmrNldwPtRd9niO4VGw19BCF DaOZtuZ4l0DOnnxwvEX7rnN7YzFv1WrO5qt0KkD0IWvMEJvFvypwgvos41DlBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777646496; a=rsa-sha256; cv=none; b=NGp4MaAnfrVaR9WSGuAg7eFbqYy4K3/MdJQIFH3gu7RyAQCtvL32ZR9CoNO9bYyBqsO0I1 t17DCqX3sfmeiJpuOzN056ROG67p3TfxrraeUF5ulQl3HSfDuymrSACGCjhVEduZeU6T0S X9UtPsGUq4HNjoCq6YJ1G5zBilg7l/WEJIY5EaMhpXrimqaC4nkLZJ+i9wuvfWoYEBsDb9 wGEvUJORq7r4hXZMvoJ3SwhOZHK3atDeJyjz7ewnEKfTntJ+PkzcRXFrlGlKHOLzez4n7m iGLVxBuqKJT027nbb1+OGnp6A/oiImeZ52PTNnIdx/BN0ZYcYaTZLCUdLUnZWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777646496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9yzs9qTMB4oo8RPP6rwzbyYBxNp3EnsM+8PavPc5EWU=; b=JAN0C9qMt+haitwGB2IboAoMHrLMB2h0TGV5BiYcQ3kx3tTt3+KxhatLrXmxm9ZVN0Zc94 /jvNgMI7eM6g2gOHMubKGn94V1gHUgJDERdAmc4wMNrjzBPnN8i74D9E7E25Vd0uN1yNLZ ptwS2mhoIbniOzykNd/J2O6pcmTZbapn52seYDFc8kRpoGO3nxUNk44NVCAPgyhw1Mz8gV C+0xtR74RIdqjlkf2ZhA3gCBYqZun42RivSXUIWBdraqa6vhiOuSQyRXUGWguv0ikhmzk+ 2CP8IFOcmAOaedkP3vQy6FduYJNcLA91MxJ1ubEFngvMPvgb+52oGOipgA35KA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6YdX1Qzmz139f for ; Fri, 01 May 2026 14:41:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 470d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 14:41:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: c64ee36e5d09 - main - krb5: Adjust additional version strings List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c64ee36e5d09ecee4ce4951047014c8461734fb5 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 14:41:36 +0000 Message-Id: <69f4bba0.470d1.2f7713ab@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=c64ee36e5d09ecee4ce4951047014c8461734fb5 commit c64ee36e5d09ecee4ce4951047014c8461734fb5 Author: Cy Schubert AuthorDate: 2026-05-01 14:40:19 +0000 Commit: Cy Schubert CommitDate: 2026-05-01 14:40:19 +0000 krb5: Adjust additional version strings Fixes: 736e411a737b --- krb5/include/autoconf.h | 4 ++-- krb5/util/build-tools/Makefile | 1 + krb5/util/build-tools/krb5-config.sh | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/krb5/include/autoconf.h b/krb5/include/autoconf.h index 760aca79176b..ef6a1fa2090d 100644 --- a/krb5/include/autoconf.h +++ b/krb5/include/autoconf.h @@ -641,7 +641,7 @@ #define PACKAGE_NAME "Kerberos 5" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Kerberos 5 1.22.1" +#define PACKAGE_STRING "Kerberos 5 1.22.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "krb5" @@ -650,7 +650,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.22.1" +#define PACKAGE_VERSION "1.22.2" /* Default PKCS11 module name */ #define PKCS11_MODNAME "opensc-pkcs11.so" diff --git a/krb5/util/build-tools/Makefile b/krb5/util/build-tools/Makefile index 8bafbb777c07..bf8396dfd939 100644 --- a/krb5/util/build-tools/Makefile +++ b/krb5/util/build-tools/Makefile @@ -8,6 +8,7 @@ # .include "../Makefile.inc" +.include "../../Makefile.pc" SCRIPTS= krb5-config.sh BINDIR?= /usr/bin diff --git a/krb5/util/build-tools/krb5-config.sh b/krb5/util/build-tools/krb5-config.sh index 9980f054b88f..401c19474f84 100755 --- a/krb5/util/build-tools/krb5-config.sh +++ b/krb5/util/build-tools/krb5-config.sh @@ -26,7 +26,7 @@ # Configurable parameters set by autoconf # Disreagard the above. Edit this by hand in the bespoke FreeBSD build. -version_string="Kerberos 5 release 1.22.1" +version_string="Kerberos 5 release 1.22.2" prefix=/usr exec_prefix=${prefix} From nobody Fri May 1 17:18:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6d6l3Hq5z6bsnk for ; Fri, 01 May 2026 17:18: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 4g6d6l2cycz46RH for ; Fri, 01 May 2026 17:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777655919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+km/KRnpvpAqF+33APCfTB3V/dhYaoLcKee7pX48kMg=; b=NAoUvm9LFgRgaQ5mgPRnuDuTGo1CANFznTL/uS3y7igTtCxErRqYcxM1JiNhAI3hWkhAkK 0vBb5wL87qmdcNenb5d12AcBKt5igu/uLvfnuyiIzpbSq7P/SoMYTezG1TDaY9rhvghJuU CB7XvxoJiOR4uqVAXMpyyuRZaJB7hyV+AqmwRH4hW0EN10N8iGMWzmAMdXAGdTFNFQtr3I BV2NhRFhB33kF70SO7ClGW+mpOnt5DerNpFUPxPIC4KWI6GE0kjPuuvSu6chsOQZCaGzRg UyDS9tCV+SHLhjbjntfZBN2AD8CwV7nwbuMOqxRDEzIs/j3OInAZmt4Xc86cYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777655919; a=rsa-sha256; cv=none; b=YmxqjMKbM/yKCh1m+bFsJIZqcjTd2/YAnoAJk+ijTZUkMYW8GELXZ5UamgVf82jM7gQMBp IrdPHULon3YgdgLB83TG5IWw4gSYea8637cOTuddNseYKoAasyQb93uIfcUU4oy5PcmB2o dBa1xM2lnQFi8lsNsEU6a/Uvb3jkJohbsxJn+UfpBqQRc8VB4h1QNfeDyJmVjXUMxxwszQ OjggxFTVLvnGJ7QhEV2G5pvDU4s0HdGyvuuUoZtresaF+sXwSinH8SZw1xItvxv2muyh83 JWAmen/mSxtea6zVa+kxUp8pP6kGRDujMQuTNccGVFkTQcaelJYQm5ekXioJ6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777655919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+km/KRnpvpAqF+33APCfTB3V/dhYaoLcKee7pX48kMg=; b=lnmhaU939TR58GEeoPQEXWCECLG7tXXgDuGEj4vVoLr4Wd9+QKQsBNxcuHZPW9b4iMeAYv +RHm3bVHzTAjzRzR3TxZOwEG+I7aCSOPSqFySdww+NSZBym3BjGwoF4tc0itmJevhqL3eL Tx8WceUpIOx16kBNkpjBJ5v9l7MFEWHx+tClpfQJXRtllzSDSHDPCtE6ClKhsuSgz1ds4q aCuxOK5isMx08lnyOC8XedNe+52Tt20g1z4yi8HqLKjyJ7pd8LVMoUkk2AfYW6HPni8+YB UpnH6/8XjIjhJXE0LqVHvxmuDYH8oF5FhNXuBF7lgNs1jUhMZ9JWWTLbGlASuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6d6l29hbz172N for ; Fri, 01 May 2026 17:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27b2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 17:18:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 50bd6ee0cce9 - main - lib/clang: Fix bootstrapping on macOS after LLVM 21 merge List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50bd6ee0cce9d3959828b0267b06ea0403781f41 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 17:18:39 +0000 Message-Id: <69f4e06f.27b2d.2af6d696@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=50bd6ee0cce9d3959828b0267b06ea0403781f41 commit 50bd6ee0cce9d3959828b0267b06ea0403781f41 Author: Jessica Clarke AuthorDate: 2026-05-01 16:55:28 +0000 Commit: Jessica Clarke CommitDate: 2026-05-01 16:55:28 +0000 lib/clang: Fix bootstrapping on macOS after LLVM 21 merge Fixes: 770cf0a5f02d ("Fixups after llvm-project main llvmorg-21-init-19288-gface93e724f4 merge") MFC after: 1 month --- lib/clang/include/llvm/Config/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index 0aea32fa9dce..c11e78f74caf 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -114,12 +114,12 @@ #define HAVE_PTHREAD_SETNAME_NP 1 /* Define to 1 if you have the `pthread_get_name_np' function. */ -#if !defined(__linux__) +#if defined(__FreeBSD__) #define HAVE_PTHREAD_GET_NAME_NP 1 #endif /* Define to 1 if you have the `pthread_set_name_np' function. */ -#if !defined(__linux__) +#if defined(__FreeBSD__) #define HAVE_PTHREAD_SET_NAME_NP 1 #endif From nobody Fri May 1 18:42:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzM30Xzz6c2wS for ; Fri, 01 May 2026 18:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6fzM1kjkz3LZb for ; Fri, 01 May 2026 18:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lcbhotfKr8eNloSNrYvCAZzsgrvXNzGIrz5XjMSlNI=; b=wgY1Kv2nFpW/i5xdnz0L9mh2wNK+K33+Xr6F5fTvmYZqQgaVsv7gtFbn2KdBD1CjK4ZUZG OT6FodlBaP9SKX5RahkN7F7IFL8Nah/lqJPaFhxnpRpBS76QrNiAU4vcCCx5oiCXlvdggU Zv7w2nU8Da66c6kEaAbfb2fZdZOw2bv4KTbnvFyWDZqpEItWx5AlrPeWPvsKZSDwl8t98d OlpfofV4nz6A9YvvUY+71vxmKKXX45w9rib/OPOwIeXQJ6sgq/gfHIdVxDuzk9/V06lIti svZfva7qhKuN2EFuvbLgMHcgQteCwJlFMovggGNl1octK0KNCvLRdLrPEFQJVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777660943; a=rsa-sha256; cv=none; b=jIgnPiFfbCLT37vSf+nuqlvWFArjjSnBtTLdCsfyHK0oZEv1FjxFTPX2tFpPabTpqyBx+M zOmLydDavwBJczJwSqjqV0B687BOEHEkghfKIL1ysvO8DHt4rrl3EA+AiLZBH/Jr+JzBM/ fMNOim/ALZm0JQ74BDoWTzI5dg2QFICNbebKdJQJn/fsn5HbdDqWCTwLtWA+s23IunDmk3 OF4pQRj6MSl689qnqXsY3mi5dwirm+BcBgl+iE5tq56Ua+m7KrFJs/Rr20jECHc4d9u06V hOd34x0+fs0P34wCk/X81N4E+HpvxNkiX75ZJHwfXPluqZzeAtguAnH8CrqC+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lcbhotfKr8eNloSNrYvCAZzsgrvXNzGIrz5XjMSlNI=; b=X+i4FbcscRieK3L9xXcR43TMSq+axNs++Fw8hwyJqnk2T953BzLDZWJvinJKn97RTGKYPo xQAvPPeO+tO7nMAvjMf83SJpWmF0G2Lvuaybj/HiRGT8Hzxr7FB9L28GJOlIIfGKMywZhJ z57U3Yh0UuTj2pDvNQSzN3cBaT9tTGVmibB6FfeY9t4l8Ddrym12eUV6ibXm36EsOiJXWa Fl0YTk5UJa3thtN09TV2mBFG7E42HPwpRnGKobDgsXxbK78ZfeOKA6tjGA3uk+lazSFWDB r04F2oA11L0aIiru/OOLD1NAsPG+ma4c+VwOeb5yHhA8JqWR4i/94ahDlMS1jQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzM19xmz19Bm for ; Fri, 01 May 2026 18:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ab3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 18:42:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: daeab702f9ad - main - Remove extraneous tab characters at EOL in various _stdint.h files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: daeab702f9adbbb718ecf48e17de8dd619cfe7b8 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 18:42:23 +0000 Message-Id: <69f4f40f.39ab3.1c00945e@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=daeab702f9adbbb718ecf48e17de8dd619cfe7b8 commit daeab702f9adbbb718ecf48e17de8dd619cfe7b8 Author: Dimitry Andric AuthorDate: 2026-05-01 18:08:26 +0000 Commit: Dimitry Andric CommitDate: 2026-05-01 18:13:09 +0000 Remove extraneous tab characters at EOL in various _stdint.h files MFC after: 3 days --- sys/powerpc/include/_stdint.h | 4 ++-- sys/riscv/include/_stdint.h | 2 +- sys/x86/include/_stdint.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 385c33389809..6eb988f86ed7 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -173,14 +173,14 @@ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limit of size_t. */ #define SIZE_MAX UINT64_MAX #else /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MIN INT32_MIN #define PTRDIFF_MAX INT32_MAX /* Limit of size_t. */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 9df000b0eac4..48080ecfe2cf 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -137,7 +137,7 @@ * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 1b8523bf656b..2dea911b5c88 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -163,7 +163,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ From nobody Fri May 1 18:42:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzN4Glyz6c3Cr for ; Fri, 01 May 2026 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6fzN2PW6z3Lkw for ; Fri, 01 May 2026 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zaJKau6RrdjW+SgwmT5WixDqdX4xniz2GNVMjYi/Fmg=; b=CupN2O2/ZgJWi4YSpiyJPWkFp33m65ynpORsQ4I6uQPTfbv6Eps8g22+1mpFZWwlOxRREt aU4kv5GMSMwpFsTj4Dg8fv6BPUNscQuJ/C/vYFLf3GzO2kWlgN/raqMWISuV/cRq2wlhTI 8QQCLA6fPph2l+vJwSMeKQKvozTteuxPIIE3bdIrew5YS+UpEtbdhCIxqj+RqDLpjlUYHW aoD5YIz/uoVarDQjTVAYpGKhJX9RjiPneb7IjwIiVcRV9u4Yl6IEtbZcv9untjAXGYoXm2 ASOlI3Zc/MUeZQ7t/iU3TUFtvHlAigedrtPomwr81xyGMh/rZjCtsuATUjoImw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777660944; a=rsa-sha256; cv=none; b=vCrH5aY0nb4E76TMH6oEXUgwlkVM6oYVywYAy4knv/v3iRBkGJvf407VAHrM2dVxflPueu msVtEbjOCkdwhktnkcfMJBf0Ex39SMq7O3wTPp4xYB9QawaT2pFx5QqIYVRvsT5r6+WMV6 axz0toMRgqAS3FJaMIJX0ObIR4dj0aVrGfCHRHmyDGlg6xCyFKJCmqsuCuHEUuTaK8LxFq aQbJ5KYWkE3YXyYyG4BNwSiLbSzk45EUALEuzDUPaHh7rZWnjqJ4rka1EqfFuij2QLVjcA sozqyOqvvakyEJ2EoYFOqRwvCWD9QZex4af17l8bAcJUbLpS7ITCzgI6qSaLdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zaJKau6RrdjW+SgwmT5WixDqdX4xniz2GNVMjYi/Fmg=; b=Jh3H5hdVFyT8YYIZGm9Cj4HPpMi0mTd2wQEp6G/sWDk9N+uRHy4fMEIvwALDrm8n01uG7J 5iFGv37ft4ytd7FnAOKr29KfOzDoVbb1/Ny6w2BXUowpoiO6KgkpoEmtEe0UPe0hAVoQBu aTrM+hwzP0y7w3jphvsla3UcoEXZYjt+gEj+g5q4lGdHgNIr45p8BAJyukUryfPy5S1txb 3EsIjWGv67wyazznZF8bE49q03NfnmI5GXdyT4lcqnrXaWjrz/Y6Y6nuqTDBPY4lwtd3qY YVgUAC+3+t6LP3MvyGAIvOHstFrENuVfYPhDw0ELP4xj/lQQiCWtKTz0oKASpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzN20GFz198j for ; Fri, 01 May 2026 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 376d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 18:42:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 966fb94cb357 - main - Define stdint.h macros unconditionally List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 966fb94cb3575ccd39da211165d0858fd0eb0ef2 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 18:42:24 +0000 Message-Id: <69f4f410.376d2.6aae0fb8@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=966fb94cb3575ccd39da211165d0858fd0eb0ef2 commit 966fb94cb3575ccd39da211165d0858fd0eb0ef2 Author: Dimitry Andric AuthorDate: 2026-05-01 18:07:11 +0000 Commit: Dimitry Andric CommitDate: 2026-05-01 18:13:33 +0000 Define stdint.h macros unconditionally Similar to glibc, define all the stdint.h macros such as `SIZE_MAX`, `UINT64_C`, etc unconditionally. I.e. no longer check whether `__STDC_CONSTANT_MACROS` or `__STDC_LIMIT_MACROS` are defined. See also . This is part of reverting base 00bee6fcd77f, which reverted an upstream libc++ commit that eliminated libc++'s stdint.h wrapper header. Submitted by: Nikolas Klauser MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D56746 --- sys/arm/include/_stdint.h | 8 -------- sys/arm64/include/_stdint.h | 8 -------- sys/powerpc/include/_stdint.h | 8 -------- sys/riscv/include/_stdint.h | 8 -------- sys/x86/include/_stdint.h | 8 -------- 5 files changed, 40 deletions(-) diff --git a/sys/arm/include/_stdint.h b/sys/arm/include/_stdint.h index 2ebc6ea4f89f..9f9b7eb8a554 100644 --- a/sys/arm/include/_stdint.h +++ b/sys/arm/include/_stdint.h @@ -33,8 +33,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -48,10 +46,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -176,6 +170,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/arm64/include/_stdint.h b/sys/arm64/include/_stdint.h index 0b360b8ab460..621e5ce53721 100644 --- a/sys/arm64/include/_stdint.h +++ b/sys/arm64/include/_stdint.h @@ -35,8 +35,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -50,10 +48,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -178,8 +172,6 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ #endif /* !__arm__ */ diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 6eb988f86ed7..68ae89e23cdc 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - #ifndef __INT64_C #ifdef __LP64__ #define __INT64_C(c) (c ## L) @@ -223,6 +217,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 48080ecfe2cf..9afe01c8a318 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -31,8 +31,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -46,10 +44,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -174,6 +168,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 2dea911b5c88..4c65b0f095ea 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -217,6 +211,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ From nobody Fri May 1 18:42:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzP4fmPz6c3Ct for ; Fri, 01 May 2026 18:42: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 4g6fzP3S3sz3LZd for ; Fri, 01 May 2026 18:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YJdf6IJvMP0eDwwdIlKax1ARDAsFKahxWGrqWTM1ltI=; b=ozMiw6TuRl2F9hsaJmFg++15LE3sHUAHJRyLjD/WJNjD3tL/vHOiGr6T6q8BHFbyxYcndv 6f3Mzm4TjsRICq0CCp5PJ3jxIsCTILbMI3326M+Mu14Edp0u8yyyqSWG0mgYrmBIBcMQaV 15iWhvS0IByeVXNy8XGUtAIdhmoUu7937TjM1wJOnkw/1orEwbyRgipnrHCpMDdrnNIVBK AaWjthV//w63R15rYaIl3VyRqPLl5sOAsg57OqyNFxWeXndD3aOO/X2Y8FyHpA8f6c8ued sFluYydEZhlzHTl+qfQG4xbvvhATmdvqTCZ4MPH3sLmDcJz4DUc+DOdzde4LmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777660945; a=rsa-sha256; cv=none; b=wF6jXiCB+PmE/bFzjtqrd4bI9uhlOrTGEDFBUCkKTv3ph+0Kczwq6NjLew5w9DuGD+SE4y at4q4Wa0kBnRq1J+Jb6h8v+LUFwv4QSqHhQG8bzUofLRlw0sG8m4fN4faLxw7WOQ1PO7XD ngI/bSY/ajPrqWBTFtSL1rKUZZZBZo4zPfekPi1B0aGGvjeKBZnjCeWq5B0jiffphHonZJ I1WejQN2j1G61QaBh9er8OU3t0768abB3Bn4aT06iGZFvc2Pct3OZXcgZOPDl1yZtAsog0 E4gGr0rom6/KW5bwu4ybubNg/K7+X9fq9yv6onhzgqlwRD1+43gWFKBepDZmuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777660945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YJdf6IJvMP0eDwwdIlKax1ARDAsFKahxWGrqWTM1ltI=; b=H+lVYNLBP41lel5E1NVRmA2xQ2NXpHh5qHk4VseUftD6nrwO9VQXgy4Rf15FKYPD9JFsR9 4ZOtKWy9X44760hiYg9X4bkCtB3ukc9oQ3QkKo7f6DFYGQPXWXDWfr0nsLXOolKv6YlcfA WQ7cZNnFH3XA5Rftt83d8Q9KsrBrswttUdB7CDYLdWK8W0dL+f2smU4rCtIOAUR6kn5jTw ExxtD5UKABkJ2oqG0SgE3lyHtSCzZ2QCTnR73AAVWXEn/arIx4bbsR7uSz5k1rpGiKO53u dq2mTu0Hp7W6iDAPW21tndswGeX7a3R3tBQMJf30G/vu4Y+PlLZBDmtk3DJciQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6fzP2mFrz19H4 for ; Fri, 01 May 2026 18:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38365 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 18:42:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 19ff93c921a9 - main - Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19ff93c921a9d31770bcfc194c078e7a42a5f14f Auto-Submitted: auto-generated Date: Fri, 01 May 2026 18:42:25 +0000 Message-Id: <69f4f411.38365.675e743c@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=19ff93c921a9d31770bcfc194c078e7a42a5f14f commit 19ff93c921a9d31770bcfc194c078e7a42a5f14f Author: Dimitry Andric AuthorDate: 2026-05-01 18:12:55 +0000 Commit: Dimitry Andric CommitDate: 2026-05-01 18:16:18 +0000 Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c After base 966fb94cb357, this revert is no longer necessary: stdint.h will unconditionally define macros such as `SIZE_MAX`, `UINT64_C`, and others. Submitted by: Nikolas Klauser MFC after: 1 month Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D56746 --- ObsoleteFiles.inc | 3 + contrib/llvm-project/libcxx/include/cstdint | 8 -- contrib/llvm-project/libcxx/include/stdint.h | 127 --------------------------- lib/libc++/Makefile | 1 - lib/libc++/module.modulemap | 4 - 5 files changed, 3 insertions(+), 140 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 0073b4f13c6c..e290992077d2 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20260430: Provide stdint.h macros unconditionally +OLD_FILES+=usr/include/c++/v1/stdint.h + # 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 diff --git a/contrib/llvm-project/libcxx/include/cstdint b/contrib/llvm-project/libcxx/include/cstdint index 7ae82f656fc9..11839eeb071e 100644 --- a/contrib/llvm-project/libcxx/include/cstdint +++ b/contrib/llvm-project/libcxx/include/cstdint @@ -149,14 +149,6 @@ Types: # include # endif -# ifndef _LIBCPP_STDINT_H -# error tried including but didn't find libc++'s header. \ - This usually means that your header search paths are not configured properly. \ - The header search paths should contain the C++ Standard Library headers before \ - any C Standard Library, and you are probably using compiler flags that make that \ - not be the case. -# endif - # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header # endif diff --git a/contrib/llvm-project/libcxx/include/stdint.h b/contrib/llvm-project/libcxx/include/stdint.h deleted file mode 100644 index 35e5b8cbdad2..000000000000 --- a/contrib/llvm-project/libcxx/include/stdint.h +++ /dev/null @@ -1,127 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP_STDINT_H -// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T -// is defined until an inclusion of it without _STD_TYPES_T occurs, in which -// case the header guard macro is defined. -#if !defined(_AIX) || !defined(_STD_TYPES_T) -# define _LIBCPP_STDINT_H -#endif // _STD_TYPES_T - -/* - stdint.h synopsis - -Macros: - - INT8_MIN - INT16_MIN - INT32_MIN - INT64_MIN - - INT8_MAX - INT16_MAX - INT32_MAX - INT64_MAX - - UINT8_MAX - UINT16_MAX - UINT32_MAX - UINT64_MAX - - INT_LEAST8_MIN - INT_LEAST16_MIN - INT_LEAST32_MIN - INT_LEAST64_MIN - - INT_LEAST8_MAX - INT_LEAST16_MAX - INT_LEAST32_MAX - INT_LEAST64_MAX - - UINT_LEAST8_MAX - UINT_LEAST16_MAX - UINT_LEAST32_MAX - UINT_LEAST64_MAX - - INT_FAST8_MIN - INT_FAST16_MIN - INT_FAST32_MIN - INT_FAST64_MIN - - INT_FAST8_MAX - INT_FAST16_MAX - INT_FAST32_MAX - INT_FAST64_MAX - - UINT_FAST8_MAX - UINT_FAST16_MAX - UINT_FAST32_MAX - UINT_FAST64_MAX - - INTPTR_MIN - INTPTR_MAX - UINTPTR_MAX - - INTMAX_MIN - INTMAX_MAX - - UINTMAX_MAX - - PTRDIFF_MIN - PTRDIFF_MAX - - SIG_ATOMIC_MIN - SIG_ATOMIC_MAX - - SIZE_MAX - - WCHAR_MIN - WCHAR_MAX - - WINT_MIN - WINT_MAX - - INT8_C(value) - INT16_C(value) - INT32_C(value) - INT64_C(value) - - UINT8_C(value) - UINT16_C(value) - UINT32_C(value) - UINT64_C(value) - - INTMAX_C(value) - UINTMAX_C(value) - -*/ - -#include <__config> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -/* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed - for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS - are defined -*/ -#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS) -# define __STDC_LIMIT_MACROS -#endif -#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS) -# define __STDC_CONSTANT_MACROS -#endif - -#if __has_include_next() -# include_next -#endif - -#endif // _LIBCPP_STDINT_H diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile index 03b04afee7cc..4e487f0e8457 100644 --- a/lib/libc++/Makefile +++ b/lib/libc++/Makefile @@ -232,7 +232,6 @@ STD_HEADERS+= stdatomic.h STD_HEADERS+= stdbool.h STD_HEADERS+= stddef.h STD_HEADERS+= stdexcept -STD_HEADERS+= stdint.h STD_HEADERS+= stdio.h STD_HEADERS+= stdlib.h STD_HEADERS+= stop_token diff --git a/lib/libc++/module.modulemap b/lib/libc++/module.modulemap index 90d61bf5f44a..a6e6059ab60e 100644 --- a/lib/libc++/module.modulemap +++ b/lib/libc++/module.modulemap @@ -2433,10 +2433,6 @@ module std_stddef_h [system] { // supports being included multiple times with different pre-defined macros textual header "stddef.h" } -module std_stdint_h [system] { - // supports being included multiple times with different pre-defined macros - textual header "stdint.h" -} module std_stdio_h [system] { // supports being included multiple times with different pre-defined macros textual header "stdio.h" From nobody Fri May 1 20:11:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6hyZ3Djhz6cCFN; Fri, 01 May 2026 20:11:50 +0000 (UTC) (envelope-from markj@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 4g6hyZ2kPkz3dN1; Fri, 01 May 2026 20:11:50 +0000 (UTC) (envelope-from markj@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777666310; h=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=8IYUFdtA5O+Dp2Kw4w0FatLNTysWZU0sdC4TX7KSq9s=; b=U4JrCFIF0UXk+XChaM6WyFRrkDmUiUipMnRyjXF+6zxrH//7Eaw6PwbgOjpxBPVfYH+8JQ b8EFf+Q4+BAxhNMWOrCPhqkxfrQ/Z+oJ6TKTObEhi12mDBvUA3JIiUvjG/abfYKA0pvGIH PR78iFX9XSI8zSr/ewuRx60gTjNz9vWLj8pR+NDPViVBfcGn58G15NN4JT6c/b+weTp1WR LI2Cyh1b8hU50OCYV6oSibKtvD7XPV/BO/svmPf/5/K7jM5w3aG2H7cpFW8iHfXJFG2Nt+ L3GXoZYBHAyBAXgxkXJn3cE/MLnz3RwRB60wl2Ybjoskumngu3bYlmjMioq/SQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777666310; a=rsa-sha256; cv=none; b=k4bi0xztAgCh6spsPWHSt8f1PQ74fm+rbHHZLOATeOFuzwM3L2zmOJd1Oq13wjbJHAnk2H AVVhjrWmD6uytGppp1Jms4v2KunQAx509X7OfeWmLceSWMf7IclzbBWiAIUq3mHf+F8bp3 J3sq1ox/5uTGaZt5jn+vVQcg2Fjs6GpOwt6NTn+6RWMBZh+zZyXMXwZc3ThywPt5kj2n4d 18Ze5V8S1+iJRpCA3EwOm3vpJI4a2GodRHW1rcejaCAg5LoN12ltqwHtBQc7z+fNlZMBGg A8sBic6/+QY/wUsKELrQXYBKc/lXTZWQIdKTq3yd3k7crISu0PmteUSo2IVWBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777666310; h=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=8IYUFdtA5O+Dp2Kw4w0FatLNTysWZU0sdC4TX7KSq9s=; b=w7o3GuuDWsoMrsW75yFsL7fgOOaEqq3KNh7UOdt4N88p8l5qYhJfH2EuuiY6T9BHeM4HTM OURzMtTzWwQU5HKKfn4U2Xl5ZEzjqTb1HF//5PDpsEJcuUxGXUApgd3Y8s1NEn9wlEbOEK HYA9/Go/xL7Vp7+lWZBItJ/WegqZn/eKC+d6lqXIKCMKvYTrCfCDlme5clSA+DkfLP4hJc TIJR8WJQp4sCOpSP+RscRIqkV3/BIcG8ES6WE+qieaC8we1rhhHGIFpRd4j2FeTTgjVNMD FnsNKUM4hvqjFw+uO48ItXJHLVUC1qmzHLXhtgsikEIr7ecELI7ebiGZ8Ac/pw== 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 4g6hyY6xnZz1NFs; Fri, 01 May 2026 20:11:49 +0000 (UTC) (envelope-from markj@freebsd.org) Date: Fri, 1 May 2026 16:11:48 -0400 From: Mark Johnston To: Oliver Pinter Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Mariusz Zaborski Subject: Re: git: f5ea3dce2cbe - main - libnv: switch fd_wait() from select(2) to poll(2) Message-ID: References: <69f219fc.3d583.73783562@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Fri, May 01, 2026 at 09:11:17AM +0100, Oliver Pinter wrote: > On Wednesday, April 29, 2026, Mark Johnston wrote: > > > The branch main has been updated by markj: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id= > > f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b > > > > commit f5ea3dce2cbe1ee2068c5e5c11bb066f5789685b > > Author: Mariusz Zaborski > > AuthorDate: 2026-04-28 14:35:10 +0000 > > Commit: Mark Johnston > > CommitDate: 2026-04-29 14:39:28 +0000 > > > > libnv: switch fd_wait() from select(2) to poll(2) > > > > The previous implementation used FD_SET() on a stack-allocated fd_set, > > which is an out-of-bounds write whenever the socket fd is >= FD_SETSIZE > > (1024). > > > This problem seems like a more generic problem, after looking into > sys/select.h > > What about adding a check for the FD_SET about the variable is on the stack > or not? And enforce the FD_SETSIZE limit almost the same way as it is > already done with fortify source. FORTIFY_SOURCE would automatically detect the addition of out-of-bounds fds, so as a mitigation I would like to propose enabling it by default. > > Maybe the https://lists.llvm.org/pipermail/llvm-dev/2013-October/066294.html > can > be used (or abused) to implement this check. > > Feel free to correct me, if I'm wrong. From nobody Fri May 1 20:28:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6jKj2vHyz6cDcg for ; Fri, 01 May 2026 20:28: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 4g6jKj1xlSz3fbv for ; Fri, 01 May 2026 20:28:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777667305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODMBc30G5j/BLsW0pvAUKNOEwjqtDsG8cPiKr+Caehs=; b=JWX72Eccji+3ezKIOqmlLkjcH2SPn/dFegvta52Mv3ull1KJTJuPHFJUoAjQ5zVBn7Lge7 3Y9cKy7nU/WnMWWPM2Rb0x8iP0UynCblA484EfxEtUzuH2xJlARLnrS4f9v8i+qiEtHTVI oIX7mvjN3qI/n337SbU50n0aw/CWOlPbze/xxmTtbepF5rstkfwLBjY1QgtAkqGYj5gV69 b5OlfwHU8zxJDYETiBUi6gygyAi+rh8fcT6gHORVNTZPcIhuB9FBxzbUuBLNjyYA/Z7i7G edi1xiKdwQ4ZfT792bdww9DvEf9PjX2ardTQgj0iWVeCCTlEEvJzB16QXwyAKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777667305; a=rsa-sha256; cv=none; b=Ag5Nbr8NpXA7WxY4qxtyhYDx/GQosrMqzEgc6g0mtSZJkcq0QhX01BCTBEeJ6S9QS4DEes 2KEDK9n/LL3dI6xfRrnLbkn9YpS/7+duML5CFhYDdLb1V7A0QGlH+xnvwzfT0Uz0Ivrz0X 245EtkJIPh0ArdM25Nzkd196c+IKj1FfAMM5wfgGPz9+kZGPlXey+4SaYK8nQ3GtI3nO/j KL1s3S36wVQHfa+EAenWNk8Q7cR4BKmTq6c9WrGUzaXT4e/wSDIftx5XDM5g+Nr67nWA9w 4FE1GWlNBJhzKr8Bty+LjL+OpT1Um0mn6R+7lCosC4uecAtUSzgWUpJz2/CZbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777667305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODMBc30G5j/BLsW0pvAUKNOEwjqtDsG8cPiKr+Caehs=; b=U1j8oO3sDt38tr68VH9HNzATH0tGRUVfsGJnB5+AyHMPnVrXUy8P1RcAwZHLLPRSEEWrYT mb7KziL+Mufoytgo8ameK2YLpLrjv5hVl2PQ8H3dCRn9EdtxD8GiFp6OFaXII/X+sSnJjA jy8gY36pzemIi5it0pHm3NE/O+5ZG9OVMY9l/+R1rvXGokkyJmYh8uGLeR6Q6vRDlC+ISK QSY4CVcPa9r0FAELc4qelpCJpHFrIMRUJlTTugSj3XgxqvZQqOuJkplyrrtvz+8SSa5I9e ooDdl1wY6KxDTWb87TJo/Yj4/3C2/2SH6mpmGwgS7lLvzOMQLQu8Gv54LlFQow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6jKj1HJRz4d for ; Fri, 01 May 2026 20:28:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4264f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 20:28:20 +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: 459ac3044b51 - main - namei: Preserve ABI root for absolute symlinks before fallback List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 459ac3044b516af698d7342431bdbcf784fdf7a4 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 20:28:20 +0000 Message-Id: <69f50ce4.4264f.6104aee4@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=459ac3044b516af698d7342431bdbcf784fdf7a4 commit 459ac3044b516af698d7342431bdbcf784fdf7a4 Author: Ricardo Branco AuthorDate: 2026-04-26 16:44:39 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-05-01 20:27:36 +0000 namei: Preserve ABI root for absolute symlinks before fallback D40479 changed namei() so that an absolute symlink target encountered during an ABI-root lookup restarts from the native root. This helps the native fallback case, but it also makes successful lookups inside an ABI root escape that root while following absolute symlinks. Only switch absolute symlink lookup to the native root after namei() is already in the restarted/native fallback pass. Do not mark the lookup as restarted merely because an absolute symlink was encountered while still resolving inside the ABI root. This preserves the intended native fallback behavior while keeping absolute symlinks within a successfully resolved ABI-root path in the ABI namespace. Signed-off-by: Ricardo Branco PR: 289739 Reviewed by: kib Fixes: cea7c564c70a ("namei: Reset the lookup to ...") Pull-Request: https://github.com/freebsd/freebsd-src/pull/2166 --- sys/kern/vfs_lookup.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 39c7da803de1..c1363c0104d3 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -778,13 +778,17 @@ restart: cnp->cn_nameptr = cnp->cn_pnbuf; if (*(cnp->cn_nameptr) == '/') { /* - * Reset the lookup to start from the real root without - * origin path name reloading. + * For ABI-root lookups, preserve the ABI root while + * following absolute symlinks during the first lookup. + * + * Only force the real root after the ABI lookup has + * already failed and namei() has restarted in the + * native namespace. Otherwise absolute symlinks inside + * /compat/linux, including the ELF interpreter symlink, + * incorrectly escape to the native root (PR 289739). */ - if (__predict_false(ndp->ni_rootdir != pwd->pwd_rdir)) { - cnp->cn_flags |= ISRESTARTED; + if ((cnp->cn_flags & ISRESTARTED) != 0) ndp->ni_rootdir = pwd->pwd_rdir; - } vrele(dp); error = namei_handle_root(ndp, &dp); if (error != 0) From nobody Fri May 1 21:15:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMm6Trkz6cJrG for ; Fri, 01 May 2026 21:15: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 4g6kMm5vmJz3rDM for ; Fri, 01 May 2026 21:15:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F9VUZ5x0Q2ZAiyKHR5VTn5d7Bm2uCE6+iT5S3AuduwQ=; b=RbUHHuhbhFZh7gTtLlh0MA6lllo4ZFU6eThN1mVmTVLNtrnr4YnazHaZ6eJeuBuII3hmiL YspoELYIAIO1ivDues4C3TX6m5IvWB8oREdXiRUsrpBWMEVJK5fFgwzI/PDVtWOStNtn+g 3pV13a/xEqZ626TTPGYZKhI3txjUPxov+oBdKMZBE3p5hlo6H7EMTHzvr36UVVtZ+RaIwq ngUXbspykYgE+k6ydqld7uULGmgzG1CJFWys21FOswLT+GycP0pduMk5mi8BGMoKPR3lWR tzWHjJcvX6FgFtNpiY7YxVPQPeLe5Q/O4ANF5JwspeZhAXutS6LF6TvGN99dWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670116; a=rsa-sha256; cv=none; b=LpxkIaDIf6ud+axjHT0cjy5iemAu5nBGLNexnrVinx4+Mln+CGKyfKVRVLW0Uuu545ZTp0 5xTzGPnp6E/I7204kwMvQSgoReFcQeRsQ4rXBLZbI5cQBR0WwFh0ZdCc/iWUTHiLehoZYR XXOFFTfhZC2gojPF8XWTSUtyM1B4QMo6UPr5kefoFS6IK2PEj20Ne454JPvDQys5aXDFBk 00y/a8kR/Dwu/ILoaVy/m+GrR/7rPEcZNnuO9KGsBjrXiJI0kY92elhvS/XjYNBQaEzTw4 FgeF0KE1Rwb4TQ2fn5p+EmSnoYkzCg3TEfReBglrYbpKrM/Lk1J2CCoCtIVqaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F9VUZ5x0Q2ZAiyKHR5VTn5d7Bm2uCE6+iT5S3AuduwQ=; b=qZlz+SS6c9sG+ImO7XKWlQj0PjXAPOnqUlSFZf8DuAohYYt+95nWMFIf9kE3WJmcvX/jBt KJvAakjBEXT9NTeMXL8hG2lvK2twxXeBQRoCguSyriC48tid+2XD37couUd3MQ77Q9LrFj p3muAWC6oGHlcuFLfII1QXopkYMWGpi5tclDD1RfuwZw5qNX8Cg3Y9xbDkmWj6Nbm8hp2c lgoluPXiPNEJpx6cC23VZwh154oBOIzy6hZHnXwyNsKKOe+6iHAx2SZHljS3H71BHr3ahh Y8pRb9v99reCs7ILwXlPQU5NDG0quq4BzdISMOfVTPXSz1BJ82wBrvTEPqYFMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMm5RLkz1W5 for ; Fri, 01 May 2026 21:15:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1836b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 3bcb7c2a3320 - main - powerpc: initial straight port of busdma_machdep.c -> busdma_bounce.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3bcb7c2a33206d52cecb349b77b2a631728bc7d1 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:16 +0000 Message-Id: <69f517e4.1836b.6f5ef3b1@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3bcb7c2a33206d52cecb349b77b2a631728bc7d1 commit 3bcb7c2a33206d52cecb349b77b2a631728bc7d1 Author: Adrian Chadd AuthorDate: 2026-02-14 17:03:27 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:23 +0000 powerpc: initial straight port of busdma_machdep.c -> busdma_bounce.c This is a straight port of the code and doesn't yet handle different implementations (which will be in a subsequent commit.) Locally tested: * G5 SMP (2x PPC970mp) * power8 / power9 pseries QEMU VM * power8 powernv Differential Revision: https://reviews.freebsd.org/D55313 --- sys/conf/files.powerpc | 1 + sys/powerpc/include/bus_dma.h | 145 ++++++- sys/powerpc/include/bus_dma_impl.h | 82 ++++ sys/powerpc/powerpc/busdma_bounce.c | 787 +++++++++++++++++++++++++++++++++++ sys/powerpc/powerpc/busdma_machdep.c | 711 ++----------------------------- sys/powerpc/pseries/phyp_vscsi.c | 1 - 6 files changed, 1039 insertions(+), 688 deletions(-) diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index 698433422101..164a5d01d4b9 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -361,6 +361,7 @@ powerpc/powernv/xive.c optional powernv powerpc/powerpc/altivec.c standard powerpc/powerpc/autoconf.c standard powerpc/powerpc/bus_machdep.c standard +powerpc/powerpc/busdma_bounce.c standard powerpc/powerpc/busdma_machdep.c standard powerpc/powerpc/clock.c standard powerpc/powerpc/copyinout.c optional aim diff --git a/sys/powerpc/include/bus_dma.h b/sys/powerpc/include/bus_dma.h index 09bc7b15e94e..c12161011a99 100644 --- a/sys/powerpc/include/bus_dma.h +++ b/sys/powerpc/include/bus_dma.h @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2005 Scott Long + * Copyright (c) 2026 Raptor Engineering, LLC * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,9 +30,149 @@ #ifndef _POWERPC_BUS_DMA_H_ #define _POWERPC_BUS_DMA_H_ +#define WANT_INLINE_DMAMAP #include -#include -int bus_dma_tag_set_iommu(bus_dma_tag_t, device_t iommu, void *cookie); +#include + +/* + * Allocate a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static inline int +bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_create(dmat, flags, mapp)); +} + +/* + * Destroy a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static inline int +bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_destroy(dmat, map)); +} + +/* + * Allocate a piece of memory that can be efficiently mapped into + * bus device space based on the constraints listed in the dma tag. + * A dmamap to for use with dmamap_load is also allocated. + */ +static inline int +bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, + bus_dmamap_t *mapp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->mem_alloc(dmat, vaddr, flags, mapp)); +} + +/* + * Free a piece of memory and it's allociated dmamap, that was allocated + * via bus_dmamem_alloc. + */ +static inline void +bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->mem_free(dmat, vaddr, map); +} + +/* + * Release the mapping held by map. + */ +static inline void +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_unload(dmat, map); +} + +static inline void +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_sync(dmat, map, op); +} + +static inline int +_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf, + bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_phys(dmat, map, buf, buflen, flags, segs, + segp)); +} + +static inline int +_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, struct vm_page **ma, + bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, + int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_ma(dmat, map, ma, tlen, ma_offs, flags, + segs, segp)); +} + +static inline int +_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, + int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_buffer(dmat, map, buf, buflen, pmap, flags, segs, + segp)); +} + +static inline void +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_waitok(dmat, map, mem, callback, callback_arg); +} + +static inline bus_dma_segment_t * +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); +} + +static inline int +bus_dma_tag_set_iommu(bus_dma_tag_t dmat, device_t iommu, void *cookie) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->set_iommu(dmat, iommu, cookie)); + +} #endif /* _POWERPC_BUS_DMA_H_ */ diff --git a/sys/powerpc/include/bus_dma_impl.h b/sys/powerpc/include/bus_dma_impl.h new file mode 100644 index 000000000000..e24bd6dd8806 --- /dev/null +++ b/sys/powerpc/include/bus_dma_impl.h @@ -0,0 +1,82 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _MACHINE_BUS_DMA_IMPL_H_ +#define _MACHINE_BUS_DMA_IMPL_H_ + +/* Note: must be first entry in bus_dma_tag */ +struct bus_dma_tag_common { + struct bus_dma_impl *impl; + bus_size_t alignment; + bus_addr_t boundary; + bus_addr_t lowaddr; + bus_addr_t highaddr; + bus_size_t maxsize; + u_int nsegments; + bus_size_t maxsegsz; + int flags; + bus_dma_lock_t *lockfunc; + void *lockfuncarg; +}; + +struct bus_dma_impl { + int (*tag_create)(bus_dma_tag_t parent, + bus_size_t alignment, bus_addr_t boundary, bus_addr_t lowaddr, + bus_addr_t highaddr, bus_size_t maxsize, int nsegments, + bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, + void *lockfuncarg, bus_dma_tag_t *dmat); + int (*tag_destroy)(bus_dma_tag_t dmat); + int (*tag_set_domain)(bus_dma_tag_t, int domain); + int (*map_create)(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp); + int (*map_destroy)(bus_dma_tag_t dmat, bus_dmamap_t map); + int (*mem_alloc)(bus_dma_tag_t dmat, void** vaddr, int flags, + bus_dmamap_t *mapp); + void (*mem_free)(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map); + int (*load_ma)(bus_dma_tag_t dmat, bus_dmamap_t map, + struct vm_page **ma, bus_size_t tlen, int ma_offs, int flags, + bus_dma_segment_t *segs, int *segp); + int (*load_phys)(bus_dma_tag_t dmat, bus_dmamap_t map, + vm_paddr_t buf, bus_size_t buflen, int flags, + bus_dma_segment_t *segs, int *segp); + int (*load_buffer)(bus_dma_tag_t dmat, bus_dmamap_t map, + void *buf, bus_size_t buflen, struct pmap *pmap, int flags, + bus_dma_segment_t *segs, int *segp); + void (*map_waitok)(bus_dma_tag_t dmat, bus_dmamap_t map, + struct memdesc *mem, bus_dmamap_callback_t *callback, + void *callback_arg); + bus_dma_segment_t *(*map_complete)(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error); + void (*map_unload)(bus_dma_tag_t dmat, bus_dmamap_t map); + void (*map_sync)(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmasync_op_t op); + int (*set_iommu)(bus_dma_tag_t dmat, device_t iommu, void *cookie); +}; + +extern struct bus_dma_impl bus_dma_bounce_impl; + +#endif diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c new file mode 100644 index 000000000000..cdc25a5d8fb7 --- /dev/null +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -0,0 +1,787 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 1997, 1998 Justin T. Gibbs. + * 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, + * without modification, immediately at the beginning of the file. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * 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. + */ + +/* + * From amd64/busdma_machdep.c, r204214 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "iommu_if.h" + +#define MAX_BPAGES MIN(8192, physmem/40) + +struct bus_dmamap { + STAILQ_HEAD(, bounce_page) bpages; + int pagesneeded; + int pagesreserved; + bus_dma_tag_t dmat; + struct memdesc mem; + bus_dma_segment_t *segments; + int nsegs; + bus_dmamap_callback_t *callback; + void *callback_arg; + __sbintime_t queued_time; + STAILQ_ENTRY(bus_dmamap) links; + int contigalloc; +}; + +static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); + +#define dmat_alignment(dmat) ((dmat)->common.alignment) +/* XXX TODO: bounce flags? */ +#define dmat_bounce_flags(dmat) (0) +#define dmat_boundary(dmat) ((dmat)->common.boundary) +#define dmat_flags(dmat) ((dmat)->common.flags) +#define dmat_highaddr(dmat) ((dmat)->common.highaddr) +#define dmat_lowaddr(dmat) ((dmat)->common.lowaddr) +#define dmat_lockfunc(dmat) ((dmat)->common.lockfunc) +#define dmat_lockfuncarg(dmat) ((dmat)->common.lockfuncarg) +#define dmat_maxsegsz(dmat) ((dmat)->common.maxsegsz) +#define dmat_nsegments(dmat) ((dmat)->common.nsegments) + +/* + * Note: at this point the code requires a 'struct bus_dma_tag' to exist + * or the included code will not function correctly. + */ + +struct bus_dma_tag { + struct bus_dma_tag_common common; + int map_count; + int bounce_flags; + struct bounce_zone *bounce_zone; + device_t iommu; + void *iommu_cookie; +}; + +static SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Busdma parameters"); + +#include "../../kern/subr_busdma_bounce.c" + +/* + * Returns true if the address falls within the tag's exclusion window, or + * fails to meet its alignment requirements. + */ +static __inline bool +must_bounce(bus_dma_tag_t dmat, bus_addr_t paddr) +{ + + if (dmat->iommu == NULL && paddr > dmat->common.lowaddr && + paddr <= dmat->common.highaddr) + return (true); + if (!vm_addr_align_ok(paddr, dmat->common.alignment)) + return (true); + + return (false); +} + +#define BUS_DMA_COULD_BOUNCE BUS_DMA_BUS3 +#define BUS_DMA_MIN_ALLOC_COMP BUS_DMA_BUS4 + +static int +bounce_bus_dma_zone_setup(bus_dma_tag_t newtag) +{ + struct bounce_zone *bz; + const u_long maxsize = newtag->common.maxsize; + int error = 0; + + if ((error = alloc_bounce_zone(newtag)) != 0) { + return (error); + } + bz = newtag->bounce_zone; + + if (ptoa(bz->total_bpages) < maxsize) { + int pages; + + pages = atop(maxsize) - bz->total_bpages; + + /* Add pages to our bounce pool */ + if (alloc_bounce_pages(newtag, pages) < pages) + error = ENOMEM; + } + /* Performed initial allocation */ + newtag->common.flags |= BUS_DMA_MIN_ALLOC_COMP; + + return (error); +} + +/* + * Allocate a device specific dma_tag. + * + * TODO: this does ALL of the work, rather than it being split into + * common and bounce specific. That'll need fixing. + */ +static int +bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, + bus_addr_t boundary, bus_addr_t lowaddr, + bus_addr_t highaddr, bus_size_t maxsize, int nsegments, + bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, + void *lockfuncarg, bus_dma_tag_t *dmat) +{ + bus_dma_tag_t newtag; + int error = 0; + + /* Basic sanity checking */ + if (boundary != 0 && boundary < maxsegsz) + maxsegsz = boundary; + + if (maxsegsz == 0) { + return (EINVAL); + } + + /* Return a NULL tag on failure */ + *dmat = NULL; + + newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF, + M_ZERO | M_NOWAIT); + if (newtag == NULL) { + CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", + __func__, newtag, 0, error); + return (ENOMEM); + } + + newtag->common.alignment = alignment; + newtag->common.boundary = boundary; + newtag->common.lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1); + newtag->common.highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1); + newtag->common.maxsize = maxsize; + newtag->common.nsegments = nsegments; + newtag->common.maxsegsz = maxsegsz; + newtag->common.flags = flags; + newtag->map_count = 0; + newtag->common.impl = &bus_dma_bounce_impl; + if (lockfunc != NULL) { + newtag->common.lockfunc = lockfunc; + newtag->common.lockfuncarg = lockfuncarg; + } else { + newtag->common.lockfunc = _busdma_dflt_lock; + newtag->common.lockfuncarg = NULL; + } + + /* Take into account any restrictions imposed by our parent tag */ + if (parent != NULL) { + newtag->common.lowaddr = MIN(parent->common.lowaddr, newtag->common.lowaddr); + newtag->common.highaddr = MAX(parent->common.highaddr, newtag->common.highaddr); + if (newtag->common.boundary == 0) + newtag->common.boundary = parent->common.boundary; + else if (parent->common.boundary != 0) + newtag->common.boundary = MIN(parent->common.boundary, + newtag->common.boundary); + + newtag->iommu = parent->iommu; + newtag->iommu_cookie = parent->iommu_cookie; + } + + if (newtag->common.lowaddr < ptoa((vm_paddr_t)Maxmem) && newtag->iommu == NULL) + newtag->common.flags |= BUS_DMA_COULD_BOUNCE; + + if (newtag->common.alignment > 1) + newtag->common.flags |= BUS_DMA_COULD_BOUNCE; + + if (((newtag->common.flags & BUS_DMA_COULD_BOUNCE) != 0) && + (flags & BUS_DMA_ALLOCNOW) != 0) { + /* Must bounce */ + error = bounce_bus_dma_zone_setup(newtag); + } + + if (error != 0) { + free(newtag, M_DEVBUF); + } else { + *dmat = newtag; + } + CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", + __func__, newtag, (newtag != NULL ? newtag->common.flags : 0), error); + return (error); +} + +static int +bounce_bus_dma_tag_set_domain(bus_dma_tag_t dmat, int domain) +{ + + /* TODO */ + return (0); +} + +static int +bounce_bus_dma_tag_destroy(bus_dma_tag_t dmat) +{ + int error = 0; + + if (dmat != NULL) { + if (dmat->map_count != 0) { + error = EBUSY; + goto out; + } + + free(dmat, M_DEVBUF); + } +out: + CTR3(KTR_BUSDMA, "%s tag %p error %d", __func__, dmat, error); + return (error); +} + +/* + * Allocate a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static int +bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) +{ + int error; + + error = 0; + + *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF, + M_NOWAIT | M_ZERO); + if (*mapp == NULL) { + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, ENOMEM); + return (ENOMEM); + } + + /* Initialize the new map */ + STAILQ_INIT(&((*mapp)->bpages)); + + /* + * Bouncing might be required if the driver asks for an active + * exclusion region, a data alignment that is stricter than 1, and/or + * an active address boundary. + */ + if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + /* Must bounce */ + struct bounce_zone *bz; + int maxpages; + + if (dmat->bounce_zone == NULL) { + if ((error = alloc_bounce_zone(dmat)) != 0) + return (error); + } + bz = dmat->bounce_zone; + + /* + * Attempt to add pages to our pool on a per-instance + * basis up to a sane limit. + */ + if (dmat->common.alignment > 1) + maxpages = MAX_BPAGES; + else + maxpages = MIN(MAX_BPAGES, Maxmem -atop(dmat->common.lowaddr)); + if ((dmat->common.flags & BUS_DMA_MIN_ALLOC_COMP) == 0 + || (bz->map_count > 0 && bz->total_bpages < maxpages)) { + int pages; + + pages = MAX(atop(dmat->common.maxsize), 1); + pages = MIN(maxpages - bz->total_bpages, pages); + pages = MAX(pages, 1); + if (alloc_bounce_pages(dmat, pages) < pages) + error = ENOMEM; + + if ((dmat->common.flags & BUS_DMA_MIN_ALLOC_COMP) == 0) { + if (error == 0) + dmat->common.flags |= BUS_DMA_MIN_ALLOC_COMP; + } else { + error = 0; + } + } + bz->map_count++; + } + + (*mapp)->nsegs = 0; + (*mapp)->segments = (bus_dma_segment_t *)malloc( + sizeof(bus_dma_segment_t) * dmat->common.nsegments, M_DEVBUF, + M_NOWAIT); + if ((*mapp)->segments == NULL) { + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, ENOMEM); + return (ENOMEM); + } + + if (error == 0) + dmat->map_count++; + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->common.flags, error); + return (error); +} + +/* + * Destroy a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static int +bounce_bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + if (STAILQ_FIRST(&map->bpages) != NULL) { + CTR3(KTR_BUSDMA, "%s: tag %p error %d", + __func__, dmat, EBUSY); + return (EBUSY); + } + if (dmat->bounce_zone) + dmat->bounce_zone->map_count--; + } + free(map->segments, M_DEVBUF); + free(map, M_DEVBUF); + dmat->map_count--; + CTR2(KTR_BUSDMA, "%s: tag %p error 0", __func__, dmat); + return (0); +} + +/* + * Allocate a piece of memory that can be efficiently mapped into + * bus device space based on the constraints lited in the dma tag. + * A dmamap to for use with dmamap_load is also allocated. + */ +static int +bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, + bus_dmamap_t *mapp) +{ + vm_memattr_t attr; + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + + bus_dmamap_create(dmat, flags, mapp); + + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + if (flags & BUS_DMA_NOCACHE) + attr = VM_MEMATTR_UNCACHEABLE; + else + attr = VM_MEMATTR_DEFAULT; + + /* + * XXX: + * (dmat->common.alignment <= dmat->common.maxsize) is just a quick hack; the exact + * alignment guarantees of malloc need to be nailed down, and the + * code below should be rewritten to take that into account. + * + * In the meantime, we'll warn the user if malloc gets it wrong. + */ + if ((dmat->common.maxsize <= PAGE_SIZE) && + (dmat->common.alignment <= dmat->common.maxsize) && + dmat->common.lowaddr >= ptoa((vm_paddr_t)Maxmem) && + attr == VM_MEMATTR_DEFAULT) { + *vaddr = malloc(dmat->common.maxsize, M_DEVBUF, mflags); + } else { + /* + * XXX Use Contigmalloc until it is merged into this facility + * and handles multi-seg allocations. Nobody is doing + * multi-seg allocations yet though. + * XXX Certain AGP hardware does. + */ + *vaddr = kmem_alloc_contig(dmat->common.maxsize, mflags, 0ul, + dmat->common.lowaddr, dmat->common.alignment ? dmat->common.alignment : 1ul, + dmat->common.boundary, attr); + (*mapp)->contigalloc = 1; + } + if (*vaddr == NULL) { + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->common.flags, ENOMEM); + return (ENOMEM); + } else if (!vm_addr_align_ok(vtophys(*vaddr), dmat->common.alignment)) { + printf("bus_dmamem_alloc failed to align memory properly.\n"); + } + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", + __func__, dmat, dmat->common.flags, 0); + return (0); +} + +/* + * Free a piece of memory and it's allociated dmamap, that was allocated + * via bus_dmamem_alloc. + */ +static void +bounce_bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) +{ + + if (!map->contigalloc) + free(vaddr, M_DEVBUF); + else + kmem_free(vaddr, dmat->common.maxsize); + bus_dmamap_destroy(dmat, map); + CTR3(KTR_BUSDMA, "%s: tag %p flags 0x%x", __func__, dmat, dmat->common.flags); +} + +static void +_bus_dmamap_count_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf, + bus_size_t buflen, int flags) +{ + bus_addr_t curaddr; + bus_size_t sgsize; + + if (map->pagesneeded == 0) { + CTR4(KTR_BUSDMA, "lowaddr= %d Maxmem= %d, boundary= %d, " + "alignment= %d", dmat->common.lowaddr, ptoa((vm_paddr_t)Maxmem), + dmat->common.boundary, dmat->common.alignment); + CTR2(KTR_BUSDMA, "map= %p, pagesneeded= %d", map, map->pagesneeded); + /* + * Count the number of bounce pages + * needed in order to complete this transfer + */ + curaddr = buf; + while (buflen != 0) { + sgsize = buflen; + if (must_bounce(dmat, curaddr)) { + sgsize = MIN(sgsize, + PAGE_SIZE - (curaddr & PAGE_MASK)); + map->pagesneeded++; + } + curaddr += sgsize; + buflen -= sgsize; + } + CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded); + } +} + +static void +_bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map, pmap_t pmap, + void *buf, bus_size_t buflen, int flags) +{ + vm_offset_t vaddr; + vm_offset_t vendaddr; + bus_addr_t paddr; + + if (map->pagesneeded == 0) { + CTR4(KTR_BUSDMA, "lowaddr= %d Maxmem= %d, boundary= %d, " + "alignment= %d", dmat->common.lowaddr, ptoa((vm_paddr_t)Maxmem), + dmat->common.boundary, dmat->common.alignment); + CTR2(KTR_BUSDMA, "map= %p, pagesneeded= %d", map, map->pagesneeded); + /* + * Count the number of bounce pages + * needed in order to complete this transfer + */ + vaddr = (vm_offset_t)buf; + vendaddr = (vm_offset_t)buf + buflen; + + while (vaddr < vendaddr) { + bus_size_t sg_len; + + sg_len = MIN(vendaddr - vaddr, + PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK)); + if (pmap == kernel_pmap) + paddr = pmap_kextract(vaddr); + else + paddr = pmap_extract(pmap, vaddr); + if (must_bounce(dmat, paddr)) { + sg_len = roundup2(sg_len, dmat->common.alignment); + map->pagesneeded++; + } + vaddr += sg_len; + } + CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded); + } +} + +/* + * Utility function to load a physical buffer. segp contains + * the starting segment on entrace, and the ending segment on exit. + */ +static int +bounce_bus_dmamap_load_phys(bus_dma_tag_t dmat, + bus_dmamap_t map, + vm_paddr_t buf, bus_size_t buflen, + int flags, + bus_dma_segment_t *segs, + int *segp) +{ + bus_addr_t curaddr; + bus_size_t sgsize; + int error; + + if (segs == NULL) + segs = map->segments; + + if ((dmat->common.flags & BUS_DMA_COULD_BOUNCE) != 0) { + _bus_dmamap_count_phys(dmat, map, buf, buflen, flags); + if (map->pagesneeded != 0) { + error = _bus_dmamap_reserve_pages(dmat, map, flags); + if (error) + return (error); + } + } + + while (buflen > 0) { + curaddr = buf; + sgsize = buflen; + if (map->pagesneeded != 0 && must_bounce(dmat, curaddr)) { + sgsize = MIN(sgsize, PAGE_SIZE - (curaddr & PAGE_MASK)); + curaddr = add_bounce_page(dmat, map, 0, curaddr, + sgsize); + } + if (!_bus_dmamap_addsegs(dmat, map, curaddr, sgsize, segs, + segp)) + break; + buf += sgsize; + buflen -= sgsize; + } + + /* + * Did we fit? + */ + return (buflen != 0 ? EFBIG : 0); /* XXX better return value here? */ +} + +static int +bounce_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, + struct vm_page **ma, bus_size_t tlen, int ma_offs, int flags, + bus_dma_segment_t *segs, int *segp) +{ + + return (bus_dmamap_load_ma_triv(dmat, map, ma, tlen, ma_offs, flags, + segs, segp)); +} + +/* + * Utility function to load a linear buffer. segp contains + * the starting segment on entrance, and the ending segment on exit. + */ +static int +bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, + bus_dmamap_t map, + void *buf, bus_size_t buflen, + pmap_t pmap, + int flags, + bus_dma_segment_t *segs, + int *segp) +{ + bus_size_t sgsize; + bus_addr_t curaddr; + char *kvaddr, *vaddr; + int error; + + if (segs == NULL) + segs = map->segments; + + if ((dmat->common.flags & BUS_DMA_COULD_BOUNCE) != 0) { + _bus_dmamap_count_pages(dmat, map, pmap, buf, buflen, flags); + if (map->pagesneeded != 0) { + error = _bus_dmamap_reserve_pages(dmat, map, flags); + if (error) + return (error); + } + } + + vaddr = buf; + + while (buflen > 0) { + /* + * Get the physical address for this segment. + */ + if (pmap == kernel_pmap) { + curaddr = pmap_kextract((vm_offset_t)vaddr); + kvaddr = vaddr; + } else { + curaddr = pmap_extract(pmap, (vm_offset_t)vaddr); + kvaddr = NULL; + } + + /* + * Compute the segment size, and adjust counts. + */ + sgsize = MIN(buflen, PAGE_SIZE - (curaddr & PAGE_MASK)); + if (map->pagesneeded != 0 && must_bounce(dmat, curaddr)) { + sgsize = roundup2(sgsize, dmat->common.alignment); + sgsize = MIN(sgsize, buflen); + curaddr = add_bounce_page(dmat, map, kvaddr, curaddr, + sgsize); + } + + if (!_bus_dmamap_addsegs(dmat, map, curaddr, sgsize, segs, + segp)) + break; + vaddr += sgsize; + buflen -= MIN(sgsize, buflen); /* avoid underflow */ + } + + /* + * Did we fit? + */ + return (buflen != 0 ? EFBIG : 0); /* XXX better return value here? */ +} + +static void +bounce_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, + struct memdesc *mem, bus_dmamap_callback_t *callback, + void *callback_arg) +{ + + if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + map->dmat = dmat; + map->mem = *mem; + map->callback = callback; + map->callback_arg = callback_arg; + } +} + +static bus_dma_segment_t * +bounce_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) +{ + + map->nsegs = nsegs; + if (segs != NULL) + memcpy(map->segments, segs, map->nsegs*sizeof(segs[0])); + if (dmat->iommu != NULL) + IOMMU_MAP(dmat->iommu, map->segments, &map->nsegs, + dmat->common.lowaddr, dmat->common.highaddr, dmat->common.alignment, + dmat->common.boundary, dmat->iommu_cookie); + + if (segs != NULL) + memcpy(segs, map->segments, map->nsegs*sizeof(segs[0])); + else + segs = map->segments; + + return (segs); *** 870 LINES SKIPPED *** From nobody Fri May 1 21:15:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMp0vgQz6cJrH for ; Fri, 01 May 2026 21:15: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 4g6kMn6htTz3qyV for ; Fri, 01 May 2026 21:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ijAbpvcDkD0Pn6LjNH4LXbn9hCAZXcwMl5bfgOqJjQ=; b=Am4WKQWD0FdG3y5lfOHRO+6yp40DKW5uXt1hvOhXDa464I1cBqqE090yjYS6MTUVXKXBwa LBdWYQbhqyCLedICMx7eoN8LaXwizzyaMGadfkUWHt+ADPlqQCh/wkFlL4aQ0a+Kdt+2Zg cGlsnv2L6uJ1PEU7CoAbVY8vAByw0GHcl/VO2K0DRgbDSF3levW+yRwfS9LMiDbouTuFj4 2gCCyVH6XpM3YhlKXntmzLPW/8PL9OusYObXfpFgi86PouwrZ+0XzNbGIqaZY+8mzzUGHh kxkSm/wPc4CYupsDk+Y/rmiy2cYYt35fb+PHrljjP7azOWK4UtErUKxjqtWeFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670118; a=rsa-sha256; cv=none; b=U6CXERBPexo9B/oBKEvzVG6PfwmNoOPnq9ozaxGbnlNh6WTP6v/jOGr4ctsatfSQdhtdO6 AGj9+NwmYVm+/OPRZg+bRhvALNWj757cEa27pSucZRufJ8X2ai0vy6d5eP7i17Vfy/sK93 Jn4neCGYic/Ys9qfM6Xf579fIUG8WGpEPErdfQvb1iP696wOfbfszpjiLCdf2/grSbQvdv ZyrhyQawZSAxYlPqb4EMBEKw7y4Gi3ljIve+kza3YP2LUQmkf/9+CVuSO5yhSJTBExXvxf KFx6i3LzHAHqzFHvzH4+T4DZ9D4esLPGjhm+37+GxoTQvvzmpVtKQ6bXaTp1vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ijAbpvcDkD0Pn6LjNH4LXbn9hCAZXcwMl5bfgOqJjQ=; b=GT2l70xP3c6dcNmYLp++q7ct3bojHKXixwLfhk+v9aiFQQ6I/Lj5TDmDVGEtGMXQRnzXcd 7dJhaLx1AupnZUAVKclegN1dNdh50GpuK2VmXuqGmDUSUjT0kR0nNiwv8cbDgi/+7gKLYN NLwLL5N3f8hmUcpd6pK8+nsoWsKXjs0vyohhOwMWfHkSt1WzWtOs7/3xS/EdCjPiSh1DWp Nh3vwaMHeATRBG6qlTZmacCEMhzbDGJdl+5OiPlsyMHZtYjMBC4x8n9RXrptQVBWY1souX MXg2H5b+niYVk8jF8cmqkVlpVaxgUK0lcppVgYf0Y4L4yO1XLNNHsf0oItnUfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMn6F12z1gd for ; Fri, 01 May 2026 21:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47d0f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 330e4f6acbdc - main - powerpc: create a tag with the parents implementation if supplied List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 330e4f6acbdc360c0dc466f4d54bc63e663d307a Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:17 +0000 Message-Id: <69f517e5.47d0f.61c985a1@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=330e4f6acbdc360c0dc466f4d54bc63e663d307a commit 330e4f6acbdc360c0dc466f4d54bc63e663d307a Author: Adrian Chadd AuthorDate: 2026-02-15 02:10:31 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:31 +0000 powerpc: create a tag with the parents implementation if supplied If a parent tag is supplied then use its implementation. Differential Revision: https://reviews.freebsd.org/D55314 --- sys/powerpc/powerpc/busdma_machdep.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/powerpc/busdma_machdep.c b/sys/powerpc/powerpc/busdma_machdep.c index 5118a8847375..8e73e303cb11 100644 --- a/sys/powerpc/powerpc/busdma_machdep.c +++ b/sys/powerpc/powerpc/busdma_machdep.c @@ -71,15 +71,24 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg, bus_dma_tag_t *dmat) { + struct bus_dma_tag_common *tc; + int error; /* Filters are no longer supported. */ if (filter != NULL || filterarg != NULL) return (EINVAL); - - return bus_dma_bounce_impl.tag_create(parent, alignment, - boundary, lowaddr, highaddr, maxsize, nsegments, - maxsegsz, flags, lockfunc, lockfuncarg, dmat); + if (parent == NULL) { + error = bus_dma_bounce_impl.tag_create(parent, alignment, + boundary, lowaddr, highaddr, maxsize, nsegments, maxsegsz, + flags, lockfunc, lockfuncarg, dmat); + } else { + tc = (struct bus_dma_tag_common *)parent; + error = tc->impl->tag_create(parent, alignment, + boundary, lowaddr, highaddr, maxsize, nsegments, maxsegsz, + flags, lockfunc, lockfuncarg, dmat); + } + return (error); } From nobody Fri May 1 21:15:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMq30C0z6cJpD for ; Fri, 01 May 2026 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6kMq14dbz3rDQ for ; Fri, 01 May 2026 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EkhZIoGCdxjFyOhu5gj4kehmtPesAMZMUYt/iy3PaUU=; b=SuqCK68anoRvTLYNVtW3fOjkD2Ot2uWnTvZzdI3pBzcC/CcCJ+9HqplKik3HZtEgLvptXK E5eyipuZt7vVyYK/YAvnJ/uEq5HxIFl6A2PccOOWnPqlp2zDyAQJ78FmRMpLDf2dMO0wtA 9GVgz9QxdTlXoEPzeVFbnvUKiNpm7iKeLmKPbGdkM6BTx32uOSxv6LRyiiiL477C8afy4U VBb7tXso5lollXBZ4RThzb+1cHxkwCEQ+L7p6KVWTQq+slKepE4CxxSIgYqSq7XZ0cYVQj lG1OFp9nGDD7XRvIWjzc12TEwnKJmT7ggoagfZeSBHptGfyac1DDJbTBoIxdhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670119; a=rsa-sha256; cv=none; b=t3XA2U9jnGP/0DJ1WmkT3fP101gxhvSmVdrtrFNaGpQtVTYZNEHTfTP5cyfBOnEK1evRaW 04n+cqtoT0C5WfS9bJHfiPho8jjRcjIOTtkzkZBvb973R+2zGyGjgBrOHWPJWtM7SXkmuh UcPU68DRQFKce4/TSoy07MWnx7L/0uZVHRRfnxW7ub0Na7TpGy5evGVJ5KxuOMTn6G7BPT nqdLbIor/bpJPifGzbya+3npB1HM61hJ5NXVyFyW6Abv9g73gQzzNsbRYL/ijWjElvJNwQ Tp0o4SOo8ZQAI3ZYpWEFWau4RFYoLouAzTAP8KQ32g51PgVoJo6nS3GXA1DOkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EkhZIoGCdxjFyOhu5gj4kehmtPesAMZMUYt/iy3PaUU=; b=VkYL/mbyF4qgxMUI4D1b9whwxbVadzK5JL2kOPNM7ba7Sr4gac0leKB4LbkUkCSyvHCQww wpNeIQk+zcZ9JuM5uRCkuxB8XTCM8JAzNUOSGPjYduVGopZAkvWWi90/vix1SB/gAxU94L DGn5Pmo6mbk3rMtgVGmMCO/c2S1TPEhWm+Vyeu9aW9IqW2kUMz4cHIRI7jd+uq65dsctpO nb49qC2pP6W8VpL/tbAVvmkYnyFo+y6CpTpA0sM8IdypP/SKZ6ucMxiiwqtxQ0AgPVzkJR c311eo7AxM6DK+n4m5Y7nNWdVSADzuwGLRKdHh/ox+W0OjVrIZHpJrajaNqUkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMp713Qzp9 for ; Fri, 01 May 2026 21:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46f39 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: df3bd7201efc - main - powerpc: add in some busdma domain setup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df3bd7201efc88b0518c9fe7997f3dbf656eccd5 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:18 +0000 Message-Id: <69f517e6.46f39.43f1298a@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=df3bd7201efc88b0518c9fe7997f3dbf656eccd5 commit df3bd7201efc88b0518c9fe7997f3dbf656eccd5 Author: Adrian Chadd AuthorDate: 2026-02-15 02:28:07 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:37 +0000 powerpc: add in some busdma domain setup * Implement the basic tag domain set routine * Set the domain to the parent domain if provided This is just plumbing for eventual work to re-allocate things into the currently configured domain. Differential Revision: https://reviews.freebsd.org/D55315 --- sys/powerpc/include/bus_dma_impl.h | 1 + sys/powerpc/powerpc/busdma_bounce.c | 5 +++++ sys/powerpc/powerpc/busdma_machdep.c | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/powerpc/include/bus_dma_impl.h b/sys/powerpc/include/bus_dma_impl.h index e24bd6dd8806..80d775f2cf9e 100644 --- a/sys/powerpc/include/bus_dma_impl.h +++ b/sys/powerpc/include/bus_dma_impl.h @@ -42,6 +42,7 @@ struct bus_dma_tag_common { int flags; bus_dma_lock_t *lockfunc; void *lockfuncarg; + int domain; }; struct bus_dma_impl { diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index cdc25a5d8fb7..790903712da7 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include #include @@ -80,6 +82,7 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); /* XXX TODO: bounce flags? */ #define dmat_bounce_flags(dmat) (0) #define dmat_boundary(dmat) ((dmat)->common.boundary) +#define dmat_domain(dmat) ((dmat)->common.domain) #define dmat_flags(dmat) ((dmat)->common.flags) #define dmat_highaddr(dmat) ((dmat)->common.highaddr) #define dmat_lowaddr(dmat) ((dmat)->common.lowaddr) @@ -219,6 +222,8 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, newtag->iommu = parent->iommu; newtag->iommu_cookie = parent->iommu_cookie; + newtag->common.domain = vm_phys_domain_match(newtag->common.domain, 0ul, + newtag->common.lowaddr); } if (newtag->common.lowaddr < ptoa((vm_paddr_t)Maxmem) && newtag->iommu == NULL) diff --git a/sys/powerpc/powerpc/busdma_machdep.c b/sys/powerpc/powerpc/busdma_machdep.c index 8e73e303cb11..aba11e64145c 100644 --- a/sys/powerpc/powerpc/busdma_machdep.c +++ b/sys/powerpc/powerpc/busdma_machdep.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -129,6 +130,10 @@ bus_dma_tag_set_domain(bus_dma_tag_t dmat, int domain) struct bus_dma_tag_common *tc; tc = (struct bus_dma_tag_common *)dmat; - + domain = vm_phys_domain_match(domain, 0ul, tc->lowaddr); + /* Only call the callback if it changes. */ + if (domain == tc->domain) + return (0); + tc->domain = domain; return (tc->impl->tag_set_domain(dmat, domain)); } From nobody Fri May 1 21:15:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMr4dBkz6cJlt for ; Fri, 01 May 2026 21:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6kMr1QS3z3rB9 for ; Fri, 01 May 2026 21:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KI/UCmFcxE/VJQwOX6zBLdwJwpUO3eucjAFSviSZwso=; b=Cfa1PBnkO2eVSmimYBWGm2IG9zR26iAtSuX/t0efqpNMRSKKcyhPdTV6sOkQN1syo7ngGu GzFJ5YSwicqCqqNpJ1HK4OrWPKNI/JIcEBm4jOY0uaUyqYVFOhVziaYqZZc+OSgkU/N6a9 N8dqtj5BflNca97YOBTARYZj+FbV0m62xjxHaQXsuhKt6ZdoAogHr5kgI/0jN2a3S/tawR NZfmFtAKwD90JOk0WhSm9Mv1rdW4nZ0svKzHPUuxBNU0K6elWj+9PDz0qe2L7KH6I8zxz9 0uL4hYl2HkFaMvfc6he7pWqVnHkwFwvdpz6NGaBCLZUvAiLhvbxihRFL9evqzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670120; a=rsa-sha256; cv=none; b=H7lIJ2/2MrJ1/2qeTiAAqCFDBDSPoNaHxkKpm5so9wfvj2bTMCZ0J+jm78p/36k+ZYLhJS k8qozFKKN+4qWm/BiHcgg+oOZkpKY5LjgwskaZFZ18BgjeHaZjrAxYcP78BV/UWF+z8VFA +tpL+zzdBSzAuzd/obiqiYYtFQNWIxmshws5DPa3wIHEJbDwp+/2gOCiDDkpLAOxssH6Ue Nz37ZQiKLGqBuqe8zTaKPjZLlS/dghjVdntpDGyOqVskkfJ67kKSSThhJfOJhy2hbY5/cI mbX/hc9i1OCOJqLRe0jczLoMVV71oyLKPFoMVuPZjqVna16f4zLSKi8XWorG2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KI/UCmFcxE/VJQwOX6zBLdwJwpUO3eucjAFSviSZwso=; b=xBtQPpP8NTeku0xfOCv87UENKAXAmhSgL0JwmxUjY1NW7W+Ly8xTppx2WYXehn4MjaBuzy 88Ymvsoi/8dx1TNw4U2vhGhZC4VPZcsVKE0s8J8Bxb5WPTf25OETugdaUq4UKqR5rTkPtL cQTkToe6hG5RBlHBU0FRSCeqscu9CPmqis0tyfWpCH2TgfeH2p8P0d5RDKMvPTt/DtU/fG kJmZtqwSN7cJnL/1lzJw1ShdMyy9hzIjgliGtdLqy4gNj6NnMNP4QGmfppJYg7v1k0D27l O65bcA5FyC9GS+rrIRQxOk2fElGqm5mpk5h06gjuLS2JBjmOPubVeiomVSRAhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMr0hJCz1W8 for ; Fri, 01 May 2026 21:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18a02 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 00ec88d2aa8d - main - powerpc: refactor common busdma tag setup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 00ec88d2aa8d8267b1e80991d5e632bb9f012b07 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:20 +0000 Message-Id: <69f517e8.18a02.5f29002b@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=00ec88d2aa8d8267b1e80991d5e632bb9f012b07 commit 00ec88d2aa8d8267b1e80991d5e632bb9f012b07 Author: Adrian Chadd AuthorDate: 2026-02-18 06:50:12 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:44 +0000 powerpc: refactor common busdma tag setup Refactor the common busdma tag setup code into busdma_machdep.c Locally tested: * qemu VM, pseries-9 / power9 * qemu VM, pseries-8 / power8 Differential Revision: https://reviews.freebsd.org/D55340 --- sys/powerpc/include/bus_dma_impl.h | 6 ++++ sys/powerpc/powerpc/busdma_bounce.c | 41 ++++------------------- sys/powerpc/powerpc/busdma_machdep.c | 65 ++++++++++++++++++++++++++++++++++-- 3 files changed, 74 insertions(+), 38 deletions(-) diff --git a/sys/powerpc/include/bus_dma_impl.h b/sys/powerpc/include/bus_dma_impl.h index 80d775f2cf9e..cb495236646d 100644 --- a/sys/powerpc/include/bus_dma_impl.h +++ b/sys/powerpc/include/bus_dma_impl.h @@ -80,4 +80,10 @@ struct bus_dma_impl { extern struct bus_dma_impl bus_dma_bounce_impl; +extern int common_bus_dma_tag_create(struct bus_dma_tag_common *parent, + bus_size_t alignment, bus_addr_t boundary, bus_addr_t lowaddr, + bus_addr_t highaddr, bus_size_t maxsize, int nsegments, + bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, + void *lockfuncarg, size_t sz, void **dmat); + #endif diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index 790903712da7..36c4d38cc7f6 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -159,9 +159,6 @@ bounce_bus_dma_zone_setup(bus_dma_tag_t newtag) /* * Allocate a device specific dma_tag. - * - * TODO: this does ALL of the work, rather than it being split into - * common and bounce specific. That'll need fixing. */ static int bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, @@ -184,46 +181,20 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, /* Return a NULL tag on failure */ *dmat = NULL; - newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF, - M_ZERO | M_NOWAIT); - if (newtag == NULL) { - CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", - __func__, newtag, 0, error); - return (ENOMEM); - } + error = common_bus_dma_tag_create(parent != NULL ? &parent->common : + NULL, alignment, boundary, lowaddr, highaddr, maxsize, nsegments, + maxsegsz, flags, lockfunc, lockfuncarg, + sizeof (struct bus_dma_tag), (void **)&newtag); + if (error != 0) + return (error); - newtag->common.alignment = alignment; - newtag->common.boundary = boundary; - newtag->common.lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1); - newtag->common.highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1); - newtag->common.maxsize = maxsize; - newtag->common.nsegments = nsegments; - newtag->common.maxsegsz = maxsegsz; - newtag->common.flags = flags; newtag->map_count = 0; newtag->common.impl = &bus_dma_bounce_impl; - if (lockfunc != NULL) { - newtag->common.lockfunc = lockfunc; - newtag->common.lockfuncarg = lockfuncarg; - } else { - newtag->common.lockfunc = _busdma_dflt_lock; - newtag->common.lockfuncarg = NULL; - } /* Take into account any restrictions imposed by our parent tag */ if (parent != NULL) { - newtag->common.lowaddr = MIN(parent->common.lowaddr, newtag->common.lowaddr); - newtag->common.highaddr = MAX(parent->common.highaddr, newtag->common.highaddr); - if (newtag->common.boundary == 0) - newtag->common.boundary = parent->common.boundary; - else if (parent->common.boundary != 0) - newtag->common.boundary = MIN(parent->common.boundary, - newtag->common.boundary); - newtag->iommu = parent->iommu; newtag->iommu_cookie = parent->iommu_cookie; - newtag->common.domain = vm_phys_domain_match(newtag->common.domain, 0ul, - newtag->common.lowaddr); } if (newtag->common.lowaddr < ptoa((vm_paddr_t)Maxmem) && newtag->iommu == NULL) diff --git a/sys/powerpc/powerpc/busdma_machdep.c b/sys/powerpc/powerpc/busdma_machdep.c index aba11e64145c..575b3fcbe2bf 100644 --- a/sys/powerpc/powerpc/busdma_machdep.c +++ b/sys/powerpc/powerpc/busdma_machdep.c @@ -53,10 +53,69 @@ #include #include -#include -#include +#include -#include "iommu_if.h" +int +common_bus_dma_tag_create(struct bus_dma_tag_common *parent, + bus_size_t alignment, bus_addr_t boundary, bus_addr_t lowaddr, + bus_addr_t highaddr, bus_size_t maxsize, int nsegments, + bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, + void *lockfuncarg, size_t sz, void **dmat) +{ + void *newtag; + struct bus_dma_tag_common *common; + + KASSERT(sz >= sizeof(struct bus_dma_tag_common), ("sz")); + /* Return a NULL tag on failure */ + *dmat = NULL; + /* Basic sanity checking */ + if (boundary != 0 && boundary < maxsegsz) + maxsegsz = boundary; + if (maxsegsz == 0) + return (EINVAL); + + newtag = malloc(sz, M_DEVBUF, M_ZERO | M_NOWAIT); + if (newtag == NULL) { + CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", + __func__, newtag, 0, ENOMEM); + return (ENOMEM); + } + + common = newtag; + common->impl = &bus_dma_bounce_impl; + common->alignment = alignment; + common->boundary = boundary; + common->lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1); + common->highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1); + common->maxsize = maxsize; + common->nsegments = nsegments; + common->maxsegsz = maxsegsz; + common->flags = flags; + if (lockfunc != NULL) { + common->lockfunc = lockfunc; + common->lockfuncarg = lockfuncarg; + } else { + common->lockfunc = _busdma_dflt_lock; + common->lockfuncarg = NULL; + } + + /* Take into account any restrictions imposed by our parent tag */ + if (parent != NULL) { + common->impl = parent->impl; + common->lowaddr = MIN(parent->lowaddr, common->lowaddr); + common->highaddr = MAX(parent->highaddr, common->highaddr); + if (common->boundary == 0) + common->boundary = parent->boundary; + else if (parent->boundary != 0) { + common->boundary = MIN(parent->boundary, + common->boundary); + } + common->domain = vm_phys_domain_match(common->domain, 0ul, + common->lowaddr); + } + *dmat = common; + return (0); +} /* * Allocate a device specific dma_tag. From nobody Fri May 1 21:15:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMs69wyz6cJjw for ; Fri, 01 May 2026 21:15: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 4g6kMs2wmHz3r8X for ; Fri, 01 May 2026 21:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670121; h=from:from:reply-to:subject:subject: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+au2w6EdcmctKQ29/6lcxGadAMCfRqW7yx8eVYmlho=; b=OEuqv0wwHFKNSfVq+JPmK+h/TYkGkwGPqHAw55dSTvDfwvgeQbvj6y2CV00hbafESCuf7F u7Rqb1bmgQXYnhlHkojsNc90YNN1UUkBFrmvI0xxY3x4qb3XTiD9Zq5mzD7TZqVzrhC9EJ igOdem5VOd9hL1cKtXBwTc9TQOiX+OdowItYpL1VJvgpwRJ+KsHzDVc5pNzGAtxwThvWFn idllmeEmO/WxEOdT57iePegoBVodWQHJA5nHA8lR63Wm8hY1gBYvF/sYoA6JJ7iNV1Sbrv t9PEZNe2XryiGxtRRe6n1G1V5EzBQE++tKZvH+vcHsT9W7eUq0+hIatr0GbwkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670121; a=rsa-sha256; cv=none; b=Pvly7lMzsGPRN8SozEQaJnkiH1Q36p/6uTJpRQ7WqDLrTZjvdbAbpXCgZ/g/33Vx22MSFk QMOPvfZLqraS01X9ExBQfkvPhB77pZj4IdYhTqVXJhYgkIV4CpdJVoihLkfJq8DrcIihSd kBMoZLNSUoFs1KbEwQJ9KMdAUbq2IeF1vKNVgLx3T+6Cnk80GAHj+xEEFY42HkRrOuo4F8 bwfos1Zdd+0VJV8nAf/S8HejeUIBmcmOmz6wUFgyj6bxEdVVzOaoJKQgSnyKA+AiP+nOMi Nt05craDrEDHBiDLv9NHze+kyvyyQl6jwiZSNvlxlJVtDrrVOsJskDkvIsU05A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670121; h=from:from:reply-to:subject:subject: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+au2w6EdcmctKQ29/6lcxGadAMCfRqW7yx8eVYmlho=; b=l70QvCmmR6qYk4FlgpDnnYOBJaT6Vs3WJfhClUtCU+77QJ0dA4iApGlHJntGCl15EXLIy6 jWICh0p35r0KipjRrahu1INYD/ZjDncwzazmnIkhNMCpdkKTEqS17zZfjlLCkbGWqx9Am6 K51OTaqo2onwLA+sJvV0tzQzBov1UZZGXWyYwXAQWYuL+UJC0rcfjgtDVNs7Prvz8b2/ks d6hAKmRnulnH8uUHnidAEy9SKdivUZORxwba7rycSgpRfRu0vez2kPqvgeNWQM8AEUe12e 41U4qb9alyDQXYEq8qPKArqaWjLNUMdc3q/5w++1/spYhV7CYiwoNkEOKxlJYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMs1WjJz1W9 for ; Fri, 01 May 2026 21:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46cc8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 7c57d2499cee - main - powerpc: use local flags for bounce buffers instead of common flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c57d2499ceee81aa386430d4d9e6d9080d50f94 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:21 +0000 Message-Id: <69f517e9.46cc8.2cd0a9dd@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=7c57d2499ceee81aa386430d4d9e6d9080d50f94 commit 7c57d2499ceee81aa386430d4d9e6d9080d50f94 Author: Adrian Chadd AuthorDate: 2026-04-01 00:04:28 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:52 +0000 powerpc: use local flags for bounce buffers instead of common flags Migrate to using local flags for bounce buffers instead of the common flag field. Differential Revision: https://reviews.freebsd.org/D56208 --- sys/powerpc/powerpc/busdma_bounce.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index 36c4d38cc7f6..df66f69b9f02 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -61,6 +61,13 @@ #define MAX_BPAGES MIN(8192, physmem/40) +enum { + BF_COULD_BOUNCE = 0x01, + BF_MIN_ALLOC_COMP = 0x02, + BF_KMEM_ALLOC = 0x04, + BF_COHERENT = 0x10, +}; + struct bus_dmamap { STAILQ_HEAD(, bounce_page) bpages; int pagesneeded; @@ -127,9 +134,6 @@ must_bounce(bus_dma_tag_t dmat, bus_addr_t paddr) return (false); } -#define BUS_DMA_COULD_BOUNCE BUS_DMA_BUS3 -#define BUS_DMA_MIN_ALLOC_COMP BUS_DMA_BUS4 - static int bounce_bus_dma_zone_setup(bus_dma_tag_t newtag) { @@ -152,7 +156,7 @@ bounce_bus_dma_zone_setup(bus_dma_tag_t newtag) error = ENOMEM; } /* Performed initial allocation */ - newtag->common.flags |= BUS_DMA_MIN_ALLOC_COMP; + newtag->bounce_flags |= BF_MIN_ALLOC_COMP; return (error); } @@ -198,12 +202,12 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, } if (newtag->common.lowaddr < ptoa((vm_paddr_t)Maxmem) && newtag->iommu == NULL) - newtag->common.flags |= BUS_DMA_COULD_BOUNCE; + newtag->bounce_flags |= BF_COULD_BOUNCE; if (newtag->common.alignment > 1) - newtag->common.flags |= BUS_DMA_COULD_BOUNCE; + newtag->bounce_flags |= BF_COULD_BOUNCE; - if (((newtag->common.flags & BUS_DMA_COULD_BOUNCE) != 0) && + if (((newtag->bounce_flags & BF_COULD_BOUNCE) != 0) && (flags & BUS_DMA_ALLOCNOW) != 0) { /* Must bounce */ error = bounce_bus_dma_zone_setup(newtag); @@ -272,7 +276,7 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) * exclusion region, a data alignment that is stricter than 1, and/or * an active address boundary. */ - if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + if (dmat->bounce_flags & BF_COULD_BOUNCE) { /* Must bounce */ struct bounce_zone *bz; int maxpages; @@ -291,7 +295,7 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) maxpages = MAX_BPAGES; else maxpages = MIN(MAX_BPAGES, Maxmem -atop(dmat->common.lowaddr)); - if ((dmat->common.flags & BUS_DMA_MIN_ALLOC_COMP) == 0 + if ((dmat->bounce_flags & BF_MIN_ALLOC_COMP) == 0 || (bz->map_count > 0 && bz->total_bpages < maxpages)) { int pages; @@ -301,9 +305,9 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) if (alloc_bounce_pages(dmat, pages) < pages) error = ENOMEM; - if ((dmat->common.flags & BUS_DMA_MIN_ALLOC_COMP) == 0) { + if ((dmat->bounce_flags & BF_MIN_ALLOC_COMP) == 0) { if (error == 0) - dmat->common.flags |= BUS_DMA_MIN_ALLOC_COMP; + dmat->bounce_flags |= BF_MIN_ALLOC_COMP; } else { error = 0; } @@ -335,7 +339,7 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) static int bounce_bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) { - if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + if (dmat->bounce_flags & BF_COULD_BOUNCE) { if (STAILQ_FIRST(&map->bpages) != NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, EBUSY); @@ -519,7 +523,7 @@ bounce_bus_dmamap_load_phys(bus_dma_tag_t dmat, if (segs == NULL) segs = map->segments; - if ((dmat->common.flags & BUS_DMA_COULD_BOUNCE) != 0) { + if ((dmat->bounce_flags & BF_COULD_BOUNCE) != 0) { _bus_dmamap_count_phys(dmat, map, buf, buflen, flags); if (map->pagesneeded != 0) { error = _bus_dmamap_reserve_pages(dmat, map, flags); @@ -580,7 +584,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, if (segs == NULL) segs = map->segments; - if ((dmat->common.flags & BUS_DMA_COULD_BOUNCE) != 0) { + if ((dmat->bounce_flags & BF_COULD_BOUNCE) != 0) { _bus_dmamap_count_pages(dmat, map, pmap, buf, buflen, flags); if (map->pagesneeded != 0) { error = _bus_dmamap_reserve_pages(dmat, map, flags); @@ -633,7 +637,7 @@ bounce_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, void *callback_arg) { - if (dmat->common.flags & BUS_DMA_COULD_BOUNCE) { + if (dmat->bounce_flags & BF_COULD_BOUNCE) { map->dmat = dmat; map->mem = *mem; map->callback = callback; From nobody Fri May 1 21:15:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMv6t5Mz6cJrV for ; Fri, 01 May 2026 21:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6kMv4GYbz3r8g for ; Fri, 01 May 2026 21:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqN7NqeTSuqaSIcDQ2wbFtW8J4u3RDKytQV3DGhzzw4=; b=gXJ7R39MF34Fmv/EHlwv44FflqPG8bWQrtoD4xWrqaE1yJs7UV0XqB9S1ME6jJlluVyVeT 4hs/L3igHHqooOGjBHB8N97ERiLe7HQjcoVr/tCDuVwTUWjOsLwTCZTjwFaN9yUniW/eUr /bJ2OSWYVV9TPIRL7IQFYBTBbAjTkG6Huy0vkZayoskb6+ZQH/ds4zPLX0yt0+7tfB8DVx bAvcQucjWsYpBzD1jmKXYLftbVhU257smH+CINJw4GXkt+QMXrG1graavW5N2k6AJHVQWL 3WkxycwjIPvOx/vgyenaW5HShOGIr4Z8lTyGMq9DZwhVe5qSvtccrhAoEhS2dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670123; a=rsa-sha256; cv=none; b=yysLvHBOfMSrj62PWmNhZ86pruRnFysCnPbmb5/+OQp3PPHHidoX1v99D+cAXhEhDh7GJu CxwURJna4sWBf/yYNQHQ5SnmCAqyinpb9VCPs8geEEClDvDqumefHPC75B6jC/5nY27I+Z UkGwd1Wx4W3FlUjzExyCOcE4TlHSo78caTWnKdY6KY5WlWyNylZtM0Ay/R7RDctoBphPnH qJ7Mi6aCVC9GKKPy6nW3003b+OfEXFa2j0bb9xLTjGLdrF6p/rVAnnSoYDNLQHbaYwiLDg NdV9ygz6hzHlk2wYIpAZNQTQc83Rz5Y6ttS8QQ+h4BCzHkwVJpGSKmuKuV6Ugw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rqN7NqeTSuqaSIcDQ2wbFtW8J4u3RDKytQV3DGhzzw4=; b=u86HnWhUX+D7dfEDUAgt5y9V+a2IJC8An4rJZixpQuXjqO/ItW7nM2Y1nHvjCGIKAk8Jdq K25B4ks9eh0bKmOn09QvwhQ0+LQ/QfUW69KEwgeDm9iBtvoX4l6bqZ/8cOh1iYx0NNW8Bt QJZJHvbCxrZ7skqF7yxxlidr25IjCv+1dV2TyEj9z+R1Bv/aKu7jjg2H+4hM1I92ZnFqPm hsyM+IwR75WuSSFEIg5QAIx5UNK8DgVG6I0QJtqSU/ZszQ5R9yzuRah1Es5UhAnEQV1NML ROqSmp7DEfNIvY/dpFXM/CFz1YrTozvZ9FCxlsXH3NKwX+NLXIyZWtEoFQ7m1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMv311Pz1TL for ; Fri, 01 May 2026 21:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45bf1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 0de6295af231 - main - powerpc: refactor dmamap setup; free dmamap in error paths List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0de6295af231aa5c13e1da2f40b29106962b6363 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:23 +0000 Message-Id: <69f517eb.45bf1.69fb85c8@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=0de6295af231aa5c13e1da2f40b29106962b6363 commit 0de6295af231aa5c13e1da2f40b29106962b6363 Author: Adrian Chadd AuthorDate: 2026-04-01 05:21:15 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:15:06 +0000 powerpc: refactor dmamap setup; free dmamap in error paths * refactor the dmamap allocation / setup path for future code changes to align with arm64 busdma code; * free the dmamap allocation if the dma segment list can't be allocated; * free the dmamap allocation during the busdma dmamem allocation path if the actual memory allocation itself fails. Locally tested: * POWER9 ppc64le native boot, Raptor Engineering Blackbird * POWER8 ppc6le, IBM POWER S822LC https://reviews.freebsd.org/D56244 --- sys/powerpc/powerpc/busdma_bounce.c | 48 +++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index 39e40b3a4284..b3f629a50472 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -246,6 +246,25 @@ out: return (error); } +static bus_dmamap_t +alloc_dmamap(bus_dma_tag_t dmat, int flags) +{ + u_long mapsize; + bus_dmamap_t map; + + mapsize = sizeof(*map); + /* TODO: sync_list */ + map = malloc_domainset(mapsize, M_DEVBUF, + DOMAINSET_PREF(dmat->common.domain), flags | M_ZERO); + if (map == NULL) + return (NULL); + + /* Initialize the new map */ + STAILQ_INIT(&map->bpages); + + return (map); +} + /* * Allocate a handle for mapping from kva/uva/physical * address space into bus device space. @@ -257,17 +276,13 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) error = 0; - *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF, - M_NOWAIT | M_ZERO); + *mapp = alloc_dmamap(dmat, M_NOWAIT); if (*mapp == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); return (ENOMEM); } - /* Initialize the new map */ - STAILQ_INIT(&((*mapp)->bpages)); - /* * Bouncing might be required if the driver asks for an active * exclusion region, a data alignment that is stricter than 1, and/or @@ -319,11 +334,16 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) if ((*mapp)->segments == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); - return (ENOMEM); + error = ENOMEM; } - if (error == 0) + if (error == 0) { dmat->map_count++; + } else { + free((*mapp)->segments, M_DEVBUF); + free(*mapp, M_DEVBUF); + *mapp = NULL; + } CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->common.flags, error); return (error); @@ -369,7 +389,12 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, else mflags = M_WAITOK; - bus_dmamap_create(dmat, flags, mapp); + bounce_bus_dmamap_create(dmat, mflags, mapp); + if (*mapp == NULL) { + CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d\n", + __func__, dmat, dmat->common.flags, ENOMEM); + return (ENOMEM); + } if (flags & BUS_DMA_ZERO) mflags |= M_ZERO; @@ -406,6 +431,8 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, if (*vaddr == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->common.flags, ENOMEM); + bounce_bus_dmamap_destroy(dmat, *mapp); + *mapp = NULL; return (ENOMEM); } else if (!vm_addr_align_ok(vtophys(*vaddr), dmat->common.alignment)) { printf("bus_dmamem_alloc failed to align memory properly.\n"); @@ -427,8 +454,9 @@ bounce_bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) free(vaddr, M_DEVBUF); else kmem_free(vaddr, dmat->common.maxsize); - bus_dmamap_destroy(dmat, map); - CTR3(KTR_BUSDMA, "%s: tag %p flags 0x%x", __func__, dmat, dmat->common.flags); + bounce_bus_dmamap_destroy(dmat, map); + CTR3(KTR_BUSDMA, "%s: tag %p flags 0x%x", __func__, dmat, + dmat->common.flags); } static void From nobody Fri May 1 21:15:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMt6NDKz6cJNj for ; Fri, 01 May 2026 21:15: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 4g6kMt2q2yz3rBN for ; Fri, 01 May 2026 21:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9d/rmDrPKhjoi8S32oafqkbr54PqmayeyV27GDSvZ0=; b=QZYo/zNy2/OVA/3rJXw5gEoW8GYw2x2VO9mwV39kzttFgd+s22LT58hHaML0KTo4jL/w1q yUTsvVd6HvGJBwaBOpaMRRMjscSKbZFvRY8a66Oy3rN4/o6b2nMhg6hCzlgsF/oyh1grP+ TIaIn8GJeZd9H0kbWsRNNIA91RBwoXGSKJmB/YWL+vk2Hv7qb8U69Mj7OJOs+rZpt+d4zt qSGem3kJJGSebSwxPbur5US2+nwDzs+mZrOzwljc0H868TVHFiDWmhsrdnhRNIq/1lD6QI MRf/zVdu8+h/tVrl4jwJCaNNUwuiANpsSVvPVyBsrahUwm2ZkMRYsRfikLcXCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670122; a=rsa-sha256; cv=none; b=n7Pjns6+t/wnoQH7lYU6mJSOM6RJlV5FN5QJZ2tuXrEWDpfHqT6OZVPXiP1aM82w9W3UgL k6cS2AQIWrPajaON6zH1iuLt/79thG0e+fNDmAyHIOgmBmmuEnzRsgtoKtmZDUAleqVi4L HjmJlKFdJDvxhFrb93cs3rbAoUETi66OGeixGZ/28mqxY3zDFkVsw7TEcmjZ9HcMh07hp+ RzwoVovEETOuIiCd9Hpb4aW9rNzFGyq90qc/hzPeF12wyAXApjk3h8J4Wn5UPExXCHFtlu 3wt+ZiBTVjLOD3FLXGC2U1E0C5t1E/x1XyEgSoR+Jlk7dHky76wGaCJPVlcMFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a9d/rmDrPKhjoi8S32oafqkbr54PqmayeyV27GDSvZ0=; b=Fk5Jgs01053pu+clE0U3pV7sBAGME4t6FQO0b2QK/SPuIKFPxTPHMrohEKtKJKZeuM2sYl qRBc/nEI2lwQMomY0/DUEp9C24u4EmJWIRkMnGTaVy/HFJkUOoZysmQKlBtO1G43KkzFSm Xeo9bOTFm3T79i8j0zCZCbRZA05k+0p5KTGhkw+33IxbaPDpjctwri/KHdtdCJcsN7DlJN FCv8mAGuSsRgE1ex3SA48EUpFORtgePbAeX77ReodO0fycnLxxaa8Rfbm9pvqRcbq3paXg 0rUbTX80d64W0LL9+2LyNONhczkZDKtQnFsIouUgftrbja4V5ajTJftrxmMe1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMt2Hglz1TK for ; Fri, 01 May 2026 21:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18a06 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: c7040d3eaa03 - main - powerpc: busdma declaration shuffling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7040d3eaa03a9dd27fde69ccf585a76dfbb2c6c Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:22 +0000 Message-Id: <69f517ea.18a06.2a9a5b6@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c7040d3eaa03a9dd27fde69ccf585a76dfbb2c6c commit c7040d3eaa03a9dd27fde69ccf585a76dfbb2c6c Author: Adrian Chadd AuthorDate: 2026-04-01 00:23:56 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:59 +0000 powerpc: busdma declaration shuffling Shuffle some of the declarations around to match other implementations. Expected to be a no-op. Differential Revision: https://reviews.freebsd.org/D56243 --- sys/powerpc/powerpc/busdma_bounce.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index df66f69b9f02..39e40b3a4284 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -32,9 +32,9 @@ #include #include +#include #include #include -#include #include #include #include @@ -68,6 +68,18 @@ enum { BF_COHERENT = 0x10, }; +struct bounce_page; +struct bounce_zone; + +struct bus_dma_tag { + struct bus_dma_tag_common common; + int map_count; + int bounce_flags; + struct bounce_zone *bounce_zone; + device_t iommu; + void *iommu_cookie; +}; + struct bus_dmamap { STAILQ_HEAD(, bounce_page) bpages; int pagesneeded; @@ -86,8 +98,7 @@ struct bus_dmamap { static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); #define dmat_alignment(dmat) ((dmat)->common.alignment) -/* XXX TODO: bounce flags? */ -#define dmat_bounce_flags(dmat) (0) +#define dmat_bounce_flags(dmat) ((dmat)->bounce_flags) #define dmat_boundary(dmat) ((dmat)->common.boundary) #define dmat_domain(dmat) ((dmat)->common.domain) #define dmat_flags(dmat) ((dmat)->common.flags) @@ -98,20 +109,6 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); #define dmat_maxsegsz(dmat) ((dmat)->common.maxsegsz) #define dmat_nsegments(dmat) ((dmat)->common.nsegments) -/* - * Note: at this point the code requires a 'struct bus_dma_tag' to exist - * or the included code will not function correctly. - */ - -struct bus_dma_tag { - struct bus_dma_tag_common common; - int map_count; - int bounce_flags; - struct bounce_zone *bounce_zone; - device_t iommu; - void *iommu_cookie; -}; - static SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Busdma parameters"); From nobody Fri May 1 23:34:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6nSB635Cz6c4WJ for ; Fri, 01 May 2026 23:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6nSB5Rqhz477N for ; Fri, 01 May 2026 23:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777678458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HnvIMayog4kLT3xqnB+j/hzQ7qQKj6W7vY9RtQXUB3M=; b=bzDHXzhicFPiXuPS6wG2lobNNn+OFV2GN08t9RopB7s2LtFmjzcm3S+m1hlF0TR+CCJSED yZ8PoZyfTAvV/YJ6TCRgTnbopi0QBL9HxnxrBD8olvdzl+xexfTND+AAh1Ezizw4fZlF+R BEMj6Y6HoM2F0EhlaZCNU+JIk0diNN7Ehqhksxaz8P+3Ar1IF/eCxTo3z5JfmTbTXGsvBV uVXwSXWPWCqYMF8NMKkL1OIUe3wWugECt2py414bwCUnEPbE8Da7eZ0BXhtTvNLfnsvNqF NHL0+SSyZ96+ozw4pm2kVKAcx/FqGPUiDCbxkh67rpin9k2TPHtsumQoj5IZyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777678458; a=rsa-sha256; cv=none; b=xNOLamjWb7vJTRIDQEG0jZJMIj3vd473O08ALp18ZzgYON9qA8d/dEzQ1PUDdUQkHbQv0r ltDXRhhbcyIoEHQSr4xi6jR/8PkrxgblCxX2QutbK9X1x4per88s6VXXSNedN5MJFdXpxs 7VQaiX12xk807nAMOdTXlF/tGu/emFzTX2vq/9PXyJOK5A9q00D9o9G9LSPW3hPSmOSjuB cuKdChxb8w63/42uRc/VHXuE2sWvHTw9EHeqbog7caMyGlslWTUIubi7cdHXodZvbRnUZX BLhxBq60NP6+yX2s3r1R+/0P+bOBFEuHzXXNTZnSqL+nKzyZ69CEnPvY/ruexQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777678458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HnvIMayog4kLT3xqnB+j/hzQ7qQKj6W7vY9RtQXUB3M=; b=U82H/X3NUGgHhFY08jnsWgUjbpyUW+lq8RrPu8XSZ5e/ux7uldaLmQpWA2V+D/TqPcZlk5 I/8IqLFv5d6dkTGYlRj3K5ohtJVvxV3lU1DJvKtAZDyrmHJxl1IQYtuiKwj42PQJitrKwv Nkg7c+RLKOcbhhLSysLiCikPCqm8XrEiPvaXH/A0/a5x63O9v8aXoyFRlVoe84FIoLnbsE /wr7cWLffIhOhttomurzasxNL7jRMHjCRiJpweuCdultuju0pdBzDDqYWzSxt831fLQ4W2 PlkzuKeFLuCcUYrMy+CBoyuNXFQxh3BDmog36tBBaZEW0dCHqi59na0EDogVaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6nSB4WTZz533 for ; Fri, 01 May 2026 23:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26bf3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 23:34:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 23:34:18 +0000 Message-Id: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 Author: Ed Maste AuthorDate: 2026-03-06 14:46:18 +0000 Commit: Ed Maste CommitDate: 2026-05-01 23:33:51 +0000 llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package Some of the LLVM binary utilities were included in the Clang package (because they did not set an explicit PACKAGE). Add a new Makefile under clang/toolchain to create the symlinks and man links for ar, c++filt, nm, and so on (without the llvm-* prefix) when LLVM_BINUTILS is enabled (as it is by default). PR: 293610 Reviewed by: bapt, ivy, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55692 --- Makefile.inc1 | 3 ++- packages/toolchain/Makefile | 6 ++++++ usr.bin/clang/Makefile | 2 ++ usr.bin/clang/llvm-ar/Makefile | 7 ------- usr.bin/clang/llvm-cxxfilt/Makefile | 5 ----- usr.bin/clang/llvm-nm/Makefile | 6 ------ usr.bin/clang/llvm-objcopy/Makefile | 7 ------- usr.bin/clang/llvm-readobj/Makefile | 5 ----- usr.bin/clang/llvm-size/Makefile | 6 ------ usr.bin/clang/llvm-symbolizer/Makefile | 5 ----- usr.bin/clang/toolchain/Makefile | 35 ++++++++++++++++++++++++++++++++++ 11 files changed, 45 insertions(+), 42 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 3c93159645fd..b07b5f9c1a65 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3052,7 +3052,8 @@ _clang_libs= lib/clang _llvm_binutils= usr.bin/clang/llvm-ar \ usr.bin/clang/llvm-nm \ usr.bin/clang/llvm-objcopy \ - usr.bin/clang/llvm-size + usr.bin/clang/llvm-size \ + usr.bin/clang/toolchain .endif .if ${MK_USB} != "no" _usb_tools= stand/usb/tools diff --git a/packages/toolchain/Makefile b/packages/toolchain/Makefile index 344f0d250b79..b47d931c2c10 100644 --- a/packages/toolchain/Makefile +++ b/packages/toolchain/Makefile @@ -1,7 +1,13 @@ +.include + WORLDPACKAGE= toolchain SUBPACKAGES= dbg dev man COMPAT_PKGS= dev PKG_SETS= devel +.if ${MK_LLVM_BINUTILS} != "no" +PKG_DEPS.toolchain+= llvm +.endif + .include diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile index ac92b08a54cb..d86508829533 100644 --- a/usr.bin/clang/Makefile +++ b/usr.bin/clang/Makefile @@ -22,6 +22,8 @@ SUBDIR+= llvm-readobj SUBDIR+= llvm-size SUBDIR+= llvm-strings SUBDIR+= llvm-symbolizer +SUBDIR+= .WAIT +SUBDIR+= toolchain .endif .if ${MK_CLANG_EXTRAS} != "no" diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index ee776a7c0d9e..10cd46bad4dc 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -1,6 +1,5 @@ .include -PACKAGE= toolchain PROG_CXX= llvm-ar MAN= llvm-ar.1 llvm-ranlib.1 @@ -10,10 +9,4 @@ SRCS+= llvm-ar.cpp LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-ar ${BINDIR}/ar -SYMLINKS+= llvm-ranlib ${BINDIR}/ranlib -MLINKS+= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-cxxfilt/Makefile b/usr.bin/clang/llvm-cxxfilt/Makefile index 26a5d9e8975d..7d49ccb0a8d0 100644 --- a/usr.bin/clang/llvm-cxxfilt/Makefile +++ b/usr.bin/clang/llvm-cxxfilt/Makefile @@ -22,9 +22,4 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS= llvm-cxxfilt ${BINDIR}/c++filt -MLINKS= llvm-cxxfilt.1 c++filt.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 333513246cb6..68033ce3874f 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -1,6 +1,5 @@ .include -PACKAGE= toolchain PROG_CXX= llvm-nm SRCDIR= llvm/tools/llvm-nm @@ -23,9 +22,4 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-nm ${BINDIR}/nm -MLINKS+= llvm-nm.1 nm.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index 13bbab97899f..ee9b13b18f13 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -26,11 +26,4 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-objcopy ${BINDIR}/objcopy \ - llvm-strip ${BINDIR}/strip -MLINKS= llvm-objcopy.1 objcopy.1 \ - llvm-objcopy.1 strip.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile index 3f705431e509..b669e4398fc3 100644 --- a/usr.bin/clang/llvm-readobj/Makefile +++ b/usr.bin/clang/llvm-readobj/Makefile @@ -35,9 +35,4 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS+= ${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-readelf ${BINDIR}/readelf -MLINKS+= llvm-readelf.1 readelf.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile index 1991065b61b2..c1b7c770acfb 100644 --- a/usr.bin/clang/llvm-size/Makefile +++ b/usr.bin/clang/llvm-size/Makefile @@ -1,6 +1,5 @@ .include -PACKAGE= toolchain PROG_CXX= llvm-size SRCDIR= llvm/tools/llvm-size @@ -23,9 +22,4 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-size ${BINDIR}/size -MLINKS+= llvm-size.1 size.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index 1a3a65c774c9..231aeec849c2 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -25,9 +25,4 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line -.if ${MK_LLVM_BINUTILS} != "no" -SYMLINKS+= llvm-addr2line ${BINDIR}/addr2line -MLINKS+= llvm-addr2line.1 addr2line.1 -.endif - .include "../llvm.prog.mk" diff --git a/usr.bin/clang/toolchain/Makefile b/usr.bin/clang/toolchain/Makefile new file mode 100644 index 000000000000..1a7db32274e3 --- /dev/null +++ b/usr.bin/clang/toolchain/Makefile @@ -0,0 +1,35 @@ +.include + +.if ${MK_LLVM_BINUTILS} == yes +PACKAGE= toolchain + +SYMLINKS+= llvm-ar ${BINDIR}/ar +SYMLINKS+= llvm-ranlib ${BINDIR}/ranlib +MLINKS+= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 + +SYMLINKS+= llvm-cov ${BINDIR}/gcov + +SYMLINKS+= llvm-cxxfilt ${BINDIR}/c++filt +MLINKS+= llvm-cxxfilt.1 c++filt.1 + +SYMLINKS+= llvm-nm ${BINDIR}/nm +MLINKS+= llvm-nm.1 nm.1 + +SYMLINKS+= llvm-objcopy ${BINDIR}/objcopy +SYMLINKS+= llvm-strip ${BINDIR}/strip +MLINKS+= llvm-objcopy.1 objcopy.1 +MLINKS+= llvm-objcopy.1 strip.1 + +SYMLINKS+= llvm-objdump ${BINDIR}/objdump + +SYMLINKS+= llvm-readelf ${BINDIR}/readelf +MLINKS+= llvm-readelf.1 readelf.1 + +SYMLINKS+= llvm-size ${BINDIR}/size +MLINKS+= llvm-size.1 size.1 + +SYMLINKS+= llvm-addr2line ${BINDIR}/addr2line +MLINKS+= llvm-addr2line.1 addr2line.1 +.endif + +.include From nobody Sat May 2 00:38:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6pv40Mv9z6cByC for ; Sat, 02 May 2026 00:39:12 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.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 4g6pv350nJz4HgK for ; Sat, 02 May 2026 00:39:11 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-8eb4de77886so29751385a.1 for ; Fri, 01 May 2026 17:39:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777682350; x=1778287150; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BcqqvWtNq2fH3/JqBr2quILjlC/UG/O81sIgpCHDyXg=; b=q+n2TIVeTp1Z1Hi4ZjgKafklXk7iKqaDq7vNBexYWlHGhdjGsT6VlmycE5KDI67Hxn aE2ArJ8J93mpWXAx6vLSS7pGdbf9tCf5zmk2ZgenvsN1IFujjoXpSub1ZL7fmxjqj5nT U3iMMCWltdNUEzmapw2VCi8Nn7aH3ul9DdIc26hyIfeRmBVv5is/i2bYbtRuyn43lfy2 FGPr9/xybjDqzMvaxaNom5IY+oVuEr4VKVGsNG0V8vRrCTc1S1yKWXP3JO9wcYrX1bd9 vHICUPEUYuaT171ytJLKW40JufCYJmzjFbWm4q6gL826NfHqctV7qx6VwrXE4kAQALVZ a4Rg== X-Forwarded-Encrypted: i=1; AFNElJ/GBI/8HxB57jtDuOfYts3J42deioWh8YvNmYKPGxVth5uQeqnQC2mv4+aRYbA6FJZwNeMTxLe3bOEPzsWTdKcsIZg7eg==@freebsd.org X-Gm-Message-State: AOJu0Yzzkz9h56F0+dG/gMM2sCDOvcNb9MVcSaTzBR/5/LL8YAK3MMoP tJQuInhP8J47Wvbx1/GcdY4JROv+wEbDCm/2jdfxcJLGgYf9rlTMwObziEwAag== X-Gm-Gg: AeBDiesZoJf2PSh3kDyXHHw2Zm/sGL6ZOluIRLkBQOUAR0YdUIWtZbdjjZQKj9nYm42 y6OHdNsjWNp6GNmu0LwkIEMVTkHtIzBw3mndpmjsQtVmhdImq2MT2U7KtOHuyMjznby+w7Dc5lO 9HttQVYCqgSLr/J25R1SeR/DQnqu6MGqQIYZ5x5n7Z7UB+mcUFbHF2Us20QZOXAVc8Q6xgcK6VO 0MouLKajZOANBXzI9JyRRmzI8gmTwTO3ptWtIoudl53tIFB+/H1RLXyZIDN9l6bt8QhtLLt/NQl ru3tnG/9dk/LJODL7bRQ4RjeymyaY7Tw5eGc7Q/rE+lJDcYys+bRgcL/W6KFdvTr/anNc8nuyJm njfHLz4AkMt4ykmwoByeMlXWDqGYRMc+nHNOxw9DtNeth368LHw8Cr7PAp+etmbz2DapsFEDI6j 8JdHYB4XDSDfOh3u6JuunQTp+yF1HqHjmbVCHnUsry30ri8Pedp+FkTmwq4bmRoO4yGtVMDg== X-Received: by 2002:a05:6214:4116:b0:89a:5129:510f with SMTP id 6a1803df08f44-8b6627bc39cmr20233606d6.0.1777682350562; Fri, 01 May 2026 17:39:10 -0700 (PDT) Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com. [209.85.219.49]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8b53ce7e796sm40932326d6.41.2026.05.01.17.39.10 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 May 2026 17:39:10 -0700 (PDT) Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-8acb1f75435so3408456d6.1 for ; Fri, 01 May 2026 17:39:10 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ/6fmtmxbBj2FK36zZPeWqLZe3RPmera1qPTrGWsee1Kee9JxdE/e8CC+k3aOqgp9tTMYrasE/htECYDTb5/OHcfU6NOw==@freebsd.org X-Received: by 2002:a05:6214:4116:b0:89a:5129:510f with SMTP id 6a1803df08f44-8b6627bc39cmr20233436d6.0.1777682350135; Fri, 01 May 2026 17:39:10 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> In-Reply-To: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Fri, 1 May 2026 21:38:59 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4JGRjuGq2nfXID8O0Edn3xdvpHxW4vJX2poqeYXnh1hrb2fVBPM3_VMQE0 Message-ID: Subject: Re: git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package To: Ed Maste Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g6pv350nJz4HgK X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Fri, May 1, 2026 at 8:34=E2=80=AFPM Ed Maste wrote: > > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc4f08d46c7f717cc8c66bf702c= 006765a5b6b1a9 > > commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 > Author: Ed Maste > AuthorDate: 2026-03-06 14:46:18 +0000 > Commit: Ed Maste > CommitDate: 2026-05-01 23:33:51 +0000 > > llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package > > Some of the LLVM binary utilities were included in the Clang package > (because they did not set an explicit PACKAGE). > > Add a new Makefile under clang/toolchain to create the symlinks and m= an > links for ar, c++filt, nm, and so on (without the llvm-* prefix) when > LLVM_BINUTILS is enabled (as it is by default). > > PR: 293610 > Reviewed by: bapt, ivy, brooks > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D55692 > --- > ... > +.if ${MK_LLVM_BINUTILS} !=3D "no" > +PKG_DEPS.toolchain+=3D llvm Is there an llvm package (FreeBSD-llvm)? --=20 Jose Luis Duran From nobody Sat May 2 02:31:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6sP138hQz6cPLf for ; Sat, 02 May 2026 02:31:49 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-oo1-f46.google.com (mail-oo1-f46.google.com [209.85.161.46]) (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 4g6sP10mYrz3CDh for ; Sat, 02 May 2026 02:31:49 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oo1-f46.google.com with SMTP id 006d021491bc7-6841e6a5e51so1332933eaf.3 for ; Fri, 01 May 2026 19:31:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777689107; cv=none; d=google.com; s=arc-20240605; b=NyswUwdc7fdSMXwcUuLE/P/WayWBKNj4KfOEbF2UEnJGwVxsCnLKGQryOQrItx7JZz BDXNjeBOJXozvH3B1ErnEBI3vbReqIa4EYW+tO+HAzD3Ez70e8g5WFqbAcOl5Muj6dGn whD9EqfrYa4m7keJE6NLjXSs1Tg9qGaux7OT6JDW5hS6vHDqquqh3Q1ogjU8E3if4jYT Evse908Xo3+x4f1HTrzyCyDBALNxoJJh1O6Xnnv3vit7yVW+SVwDU5xg22xaqTZX0XYW 7MH3vhsIg3gdYUSNI/kJYtecgRDd7N0NjXy9cvtTtCDkzgSacX7A7cRHUFgSIAwlcYJP 0c8g== 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=ZRULtPAFeOx8tpPWQ1bGN3Om5DqWe7o2NYkhIHsepL8=; fh=siDVUNVut8LIF6OD5OQE0v+DTmBOTyIJRJ6T7Tx3/eU=; b=IVmtjHfFf9sSkOKgqe8zJ9LEKs/DomCd+z80dlruyJMv4XjZP1SJ6sVls/8HQ8oCIb /lJ12D1AOYieZSzaDJVnnSpGOY9RcjjFhD06J+42snrfnopBOYcf2emDXoNdbmlqHi4H mgofLqWDg1eoqkpDdp4CdEJp9eQ2CW2Pri5Llqa8y7yCXsNMxNbslpfhSLdWeG2yxphE unWfxilsKLN03UBCXtEGlOBTmsYAozrkNCclPLnvN2LAH97ioYf7ylLX/HTxuyo/kPe3 IQW53WmyQAbMxjkPo3QYNKp/7L3F3/X2O90q6T+ooTimniPH6Zzl68h1E4OteiqPINcA iFkw==; 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=1777689107; x=1778293907; 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=ZRULtPAFeOx8tpPWQ1bGN3Om5DqWe7o2NYkhIHsepL8=; b=Y7X9HhKW5YxoiWmYSEIEQBkbHIVKx9oUwOLbdysgt9oI14JZ2CmcwrA3YnCAH+rj5u 5Rl9hF9M8hDkPizi9n5Xaqadw1MTbN75+NBnpnuEhVJAvCus44jqWGxKl3uDi7m3nIJ2 i4G5ae3xeuwBV4k3aePwWS6nbmD7cKAFcJrKfaAAhMiiMG7TmEMWNDu90ZfHpiIoIRQ6 wDOwDpJ9dem6rf3TZ3Yt51b+Udv+Ts0rd9MQw0fHXMjnOl1f/DdP1QPGCu8ehi69AcEC VFp2xmL2A4xBEnfrjrsJ/e0WCdKLZ9i0Gfm+yKujqsZFrYwtHGUMUc0rR7QyEkUh9Kv9 pwrA== X-Forwarded-Encrypted: i=1; AFNElJ8tU0NTKVT6Ek7zwY5bwWKnPoOdz4cz7g2mXdu6nF5fL5MeouoTNLd5qIeXuRqTLFSJ3KwinF9wGDjjILcpnME+uZ/H9Q==@freebsd.org X-Gm-Message-State: AOJu0YypxYNvJPrEl1EzVaPzg6KhJegbU3TG0XwuRZ2+VgGy3iRLqNZV RRNv/x0LlNcmKV3jri/oY6D9fS5cNKLoyUL7XAZ1PzW+9rNtqEDxkE3+MsbXCR7wCWqV2t9TZTp 1JyY4n8FgtnNSk+8GjrpIsdZyx+mr2ftzcg== X-Gm-Gg: AeBDiesYKaw+6uifw7aqQTVcC9klgKbDBKyYv6TLWcOgFuLaT1kY2NqvXysR5FQQLcT lZkQZrHU7GS/NXyxTZrjHgOfmqObzjs+OIC/Xd2IbkANTM/L/gNLEySL7/08FYUDoVfMUZy9ANk 9UXMQ7ILx8MfBGMeE/VSbbsexUR/y2O/mmysl4Imf72yHF18LkdNeULL6QGLfwIKsoGTPCZ0jxX HO1SEdVqPzXrp4nyeeLghbZ8oCEyCD57ZMzaK3cV7NIH7z3qiAlL2ZnhlIR7A/cyEPCqUK98RDq DbGg7VhnJywyKNJJEYCvoyh0hsXXaQ+A49gKfDh0tY2VOBjeSYHW6cbc6OWyzWpLu+eNtANhgCs JZNywMkJhlu7w/EHw+XI= X-Received: by 2002:a05:6820:4c82:b0:696:6d2c:92b with SMTP id 006d021491bc7-69697d685a8mr684505eaf.33.1777689107395; Fri, 01 May 2026 19:31:47 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Fri, 1 May 2026 22:31:36 -0400 X-Gm-Features: AVHnY4Iqca3LY1LLRNV0nis34e9zYclKMGxvTUPDkr64Znl_PlGYXq3B5seDeCs Message-ID: Subject: Re: git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package To: jlduran@freebsd.org Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g6sP10mYrz3CDh X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Fri, 1 May 2026 at 20:39, Jose Luis Duran wrote: > > On Fri, May 1, 2026 at 8:34=E2=80=AFPM Ed Maste wrot= e: > > > > The branch main has been updated by emaste: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc4f08d46c7f717cc8c66bf70= 2c006765a5b6b1a9 > > > > commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 > > Author: Ed Maste > > AuthorDate: 2026-03-06 14:46:18 +0000 > > Commit: Ed Maste > > CommitDate: 2026-05-01 23:33:51 +0000 > > > > llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package > > --- > > ... > > +.if ${MK_LLVM_BINUTILS} !=3D "no" > > +PKG_DEPS.toolchain+=3D llvm > > Is there an llvm package (FreeBSD-llvm)? Oops, this should indeed be clang; will fix. From nobody Sat May 2 02:50:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6spS18jkz6cR3f for ; Sat, 02 May 2026 02:50:24 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.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 4g6spR5czkz3F3t for ; Sat, 02 May 2026 02:50:23 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-8b02c3d42d3so5183956d6.0 for ; Fri, 01 May 2026 19:50:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777690222; x=1778295022; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MMVt1G6kkJpnIUIjOWRGHIFqs7orCvPibOoevXX+ZjU=; b=gP4tAecr0aE3+M1a0GPj7u9XEvv85q6qC7uQOfzcSIdYTgUlKm8HibIxOnbKp+pXeQ aCjX4NvUs66xU+tLohwgjI86uHMwuQ9G4ZECdcMH0q4B2nzZdPaP+3vUz6GAZdRJmHjz Rr8bnnZ9VEw9ZlPkEilZJ4yX37DK/iivnrPYuvc3OfB6yFnNx+tDzznHBnq2jqBzQUMa mf2zNFiU7YhQUmEe4W8OM6jlBoyV1vI4Ha++HAqFEN9HN/d9rvBYx1subpoaKD8Bh+Ca rUjzvU+ypislbUKayxHGUnf5cOeaVqo13GPsXVIwCxQ03GGQLCDqknap/l+YgYdYX9iC MoGw== X-Forwarded-Encrypted: i=1; AFNElJ8XN8iw52npufOQsb2I6WOjSF7YZ1NmkJJVz6uEmhZZwj4mJmn7V4UGNJSDhRf+yxrSls2GWJo3nNCJ/HyHTtZLlDIYMQ==@freebsd.org X-Gm-Message-State: AOJu0Yw4+Ip0ByQQ23cXuRCUrrUCCLKX2Ur6VmURylLKoI+h7ZilUCpb eTqYbcRHVhPHvzKSKBMYNZfmcYiHAMOW+CtU9ado9cGl54shfrlcKbY9mw6efxhA X-Gm-Gg: AeBDiesuGtJI/raREoWcrYdZf9BFWIvovBCdSpBY9gEPA166xR0uUtbl1LWi3L/Ugcj e1xP/FagiDys0d3w5KYjRjBCHet3dHe3RKT6yE+znhAbvDaDfD20rpvds3X56qXgczTMDvcgCCJ TySMqjZNrSLT/NkNY/iBex9Z+kR91BfZbddeQyjH1v+1zuLct9RoHfIPrMPpC6lOkdbao41D3bx PuiXXPzoxcFZggKdnuDzUhX6cYy+yaaL3wfr3WUPMn7L1Fye/jL5bwwnaYuz5UPYZuHQZc1vZsW p7P3xeYJ8D+fozY+krabu1/lCNwO5C9Omg1FTk3BOjrGpKQ2TKJoffd6d5R3thiB6a9NcLHamiu aLnwPhK9mUFwG6uZjaD8JA1ESKIWB1GYEdYmA9MRWi2pLmpxnFG+7ykZLAilsg2IxkSUw8KkLBy kL8WjLrhKi7Rj/xCln762wEQTZ8dDiQUfKmVXAhwY0BjnWo53lAqGCAKUR/j+NplPXfib1yg== X-Received: by 2002:a05:620a:4496:b0:8cd:8bfb:a4a with SMTP id af79cd13be357-8fd127b6a16mr207855385a.0.1777690222631; Fri, 01 May 2026 19:50:22 -0700 (PDT) Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com. [209.85.219.43]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8fc2c253e04sm344175685a.31.2026.05.01.19.50.22 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 May 2026 19:50:22 -0700 (PDT) Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-8b02c3d42d3so5183916d6.0 for ; Fri, 01 May 2026 19:50:22 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ9E2anjHq5qwbLutU2rWbTZACcyoPbWx+f0W3UlqHmusCdmcmeB8IeuFj/lSnV3B4R3xDHEEjnvZXWa7mAfngPJ2UnQwg==@freebsd.org X-Received: by 2002:ac8:5904:0:b0:509:2b5a:808 with SMTP id d75a77b69052e-5104bdf1f0dmr17993631cf.2.1777690221750; Fri, 01 May 2026 19:50:21 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> In-Reply-To: Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Fri, 1 May 2026 23:50:10 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4IFoAug6_fkrmU5ef96EMTfHYtzhpCjXP6pZ6HLNb5DOL1FkfZpGBuNZoo Message-ID: Subject: Re: git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package To: Ed Maste Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g6spR5czkz3F3t X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Fri, May 1, 2026 at 11:35=E2=80=AFPM Ed Maste wrote= : > > On Fri, 1 May 2026 at 20:39, Jose Luis Duran wrote: > > > > On Fri, May 1, 2026 at 8:34=E2=80=AFPM Ed Maste wr= ote: > > > > > > The branch main has been updated by emaste: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc4f08d46c7f717cc8c66bf= 702c006765a5b6b1a9 > > > > > > commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 > > > Author: Ed Maste > > > AuthorDate: 2026-03-06 14:46:18 +0000 > > > Commit: Ed Maste > > > CommitDate: 2026-05-01 23:33:51 +0000 > > > > > > llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package > > > --- > > > ... > > > +.if ${MK_LLVM_BINUTILS} !=3D "no" > > > +PKG_DEPS.toolchain+=3D llvm > > > > Is there an llvm package (FreeBSD-llvm)? > > Oops, this should indeed be clang; will fix. No worries! For a moment I thought it was going to be renamed. --=20 Jose Luis Duran From nobody Sat May 2 03:17:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6tPt65ntz6cTTd for ; Sat, 02 May 2026 03:17: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 4g6tPt5gZrz3K4R for ; Sat, 02 May 2026 03:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777691858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hu8WBRoLOgq9UQp314TyLZ0HOWFdmSAOwKapVmhGeXg=; b=GDCwdJ2UNhSHy8XONnbyHCB6ShmDT9vv1E+ICb8U1Th97isTwBYrI7EFA2RHy7M6ktuqk+ zTjuWHwN1fDYNnBqbn22Dt+Tk49kEsiZKTdG7u27+qhvmOSOsXfS+8/ZFMgUPVB6xPHBy7 PxzW8oY5kfYFko7b/CZGYzwMEvbjLy8ToOOtEoSzVwHY+b9tlAcSDV/+VpmL2wBpF77ZkY 6sNXoSfpy9bEiYjcVImjmfc9z3W73IXt7B3cCiSn+jTRXOdIlAlI9ghvVVceapSMsnfjoa YS6BFuWhah3P/CR8h5MKJ6M52TTnOvwatWoXeo8BAfaONbmR1qs3e7V3B7PT+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777691858; a=rsa-sha256; cv=none; b=gOCEaoE9Gl8fqRg1zc2TO9/DFxtS1cwYZZwdQM0AOyw9FfYRv+swQV2QdnrSnRRWzjceS9 5LKwlEMJSp2H7FBmWgkmFTPnja+JV7uLYREtmMXbop4ER0rLGyTUlmNRQ8LGCwiM8fRe0N tf/Bnyb1IrjbGGQFRw6DTFmtumkhcip4gO5/ZDZQ69hkk/h4NIMqPHWj9D+iUu1jdeE6n0 TX4++xQIb2kmPZJZ/RR2lbu/Cpye7g/dRjXpD2xicR24lsnQxPKVRev/9o0buGkquG4dhC JZ1XCJv36tgCL5SyG2PQRrJyE7YHe5zkdEaPBUfGA0uAfIUDWWkUDG1sDYsJCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777691858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hu8WBRoLOgq9UQp314TyLZ0HOWFdmSAOwKapVmhGeXg=; b=RK4ZoVfeCDwWSfKw4oagBJfEwyobIsbVXfcA3Vf1BcZWg8Y8LZp8CofDqOPsqT0PTWikcV X7aZs8e+F19lq3NznBcZAqxDUYluXs+cVh7Z1SCzYtzyQYkJGF7OQH/P/2kmiJw7dOutbq oE1LMZHSMV1/kyftis6es/v7tvXmBR8zI0KZZjce/66K0x99JvTjsj1/be41rVYWQ9U4Mx DLBmU4R5PI8L10Mx5fepN3SMEmWqz/Lno5EZplfjJXj6jZS17aeWEiPnCHw4ONiRORCqjQ EbMJD4OIfB/g+v2xpZAhJvpKNUZ0t1PbZtYFy9XIYUGYTaLH1c3g9hdp/NDeNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6tPt5B55zCH9 for ; Sat, 02 May 2026 03:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44fd1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 03:17:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 069681afd58a - main - ping: use CLOCK_REALTIME for ICMP Originate Timestamp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 069681afd58a711eb7407be4a9c9a05f787d250f Auto-Submitted: auto-generated Date: Sat, 02 May 2026 03:17:38 +0000 Message-Id: <69f56cd2.44fd1.7be2d8f3@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=069681afd58a711eb7407be4a9c9a05f787d250f commit 069681afd58a711eb7407be4a9c9a05f787d250f Author: Maxim Konovalov AuthorDate: 2026-05-01 17:45:27 +0000 Commit: Maxim Konovalov CommitDate: 2026-05-02 03:16:55 +0000 ping: use CLOCK_REALTIME for ICMP Originate Timestamp RFC 792 defines the ICMP Originate Timestamp field as milliseconds since midnight UTC. However, ping(8) currently derives this value from CLOCK_MONOTONIC, which represents time since an unspecified starting point and is not related to UTC. The issue was introduced by commit 1ad76f1b6047, which replaced gettimeofday(2) with clock_gettime(CLOCK_MONOTONIC) for timekeeping in ping(8). Fix this by using CLOCK_REALTIME when generating the ICMP originate timestamp. Before: $ ping -Mt -c1 127.0.0.1 ICMP_TSTAMP PING 127.0.0.1 (127.0.0.1): 56 data bytes <...> time=0.061 ms tso=16:50:31 tsr=17:38:28 tst=17:38:28 (note the tso is off) After: $ ping -Mt -c1 127.0.0.1 ICMP_TSTAMP PING 127.0.0.1 (127.0.0.1): 56 data bytes <...> time=0.038 ms tso=17:42:09 tsr=17:42:09 tst=17:42:09 Reviewed by: asomers, glebius Fixes: 1ad76f1b6047 MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D56759 --- sbin/ping/ping.c | 9 ++++++++- sbin/ping/tests/ping_test.sh | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c index d10e3c85c9bd..579ecb9151bb 100644 --- a/sbin/ping/ping.c +++ b/sbin/ping/ping.c @@ -1029,9 +1029,16 @@ pinger(void) */ tv32.tv32_sec = (uint32_t)htonl(now.tv_sec); tv32.tv32_nsec = (uint32_t)htonl(now.tv_nsec); - if (options & F_TIME) + if (options & F_TIME) { + /* + * However, per RFC 792 the Originate Timestamp (otime) + * should be milliseconds since midnight UTC. Something, + * that CLOCK_MONOTONIC does not guarantee. + */ + (void)clock_gettime(CLOCK_REALTIME, &now); icp.icmp_otime = htonl((now.tv_sec % (24*60*60)) * 1000 + now.tv_nsec / 1000000); + } if (timing) bcopy((void *)&tv32, (void *)&outpack[ICMP_MINLEN + phdr_len], diff --git a/sbin/ping/tests/ping_test.sh b/sbin/ping/tests/ping_test.sh index 5a12ace104d7..6e090cfd945a 100644 --- a/sbin/ping/tests/ping_test.sh +++ b/sbin/ping/tests/ping_test.sh @@ -253,6 +253,40 @@ inject_reply_cleanup() ifconfig `cat tun.txt` destroy } +atf_test_case timestamp_origin +timestamp_origin_head() +{ + atf_set "descr" "ICMP Originate Timestamp" +} +timestamp_origin_body() +{ + require_ipv4 + # Run ping timestamp + out=$(ping -Mt -c1 127.0.0.1) + + # Extract tso and tsr + tso=$(echo "$out" | sed -n 's/.*tso=\([0-9:]*\).*/\1/p') + tsr=$(echo "$out" | sed -n 's/.*tsr=\([0-9:]*\).*/\1/p') + + atf_check test -n "$tso" + atf_check test -n "$tsr" + + # Convert tso and tsr from HH:MM:SS to seconds + tso_s=`date -jf %H:%M:%S $tso` + tsr_s=`date -jf %H:%M:%S $tsr` + + diff=$((tso_s - tsr_s)) + # Tolerate negative time difference between the sender and receiver + if [ $diff -lt 0 ]; then + diff=$(( -diff )) + fi + + # Tolerate 2 seconds difference + if [ $diff -gt 2 ]; then + atf_fail "tso ($tso) differs from tsr ($tsr) by $diff seconds" + fi +} + atf_init_test_cases() { atf_add_test_case ping_c1_s56_t1 @@ -271,6 +305,7 @@ atf_init_test_cases() atf_add_test_case inject_opts atf_add_test_case inject_pip atf_add_test_case inject_reply + atf_add_test_case timestamp_origin } check_ping_statistics() From nobody Sat May 2 04:42:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6wJT2WwWz6cd8y for ; Sat, 02 May 2026 04:43:05 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (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 4g6wJS6B3Jz3Skn for ; Sat, 02 May 2026 04:43:04 +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=1777696976; bh=YXP5ELwOzNVBsFE339k5MdMahTbonBwgdrzyJTF7snA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=Zjc2omakbbCjCqq3GBSLXJnv9TRrbEKLV4kpOtrDl5SpRrUPPzzt6kvX3vZ4Tu4XuEt2QRnQBfwpEnf7dQppwbooeAszsSdCHuuxv1KUYMw5Y5esalwBlu6N6xXkuiBO8C7RoWS7jGcHcMfvXOitPepuNtDk71G1uDRI+/GvXjY29mLuS9lN8HWKJg1jXU3cs/bvi/ES+qHdm6DpdjyuRRTID7jMutBQpEWZQITzT0fRuspG90cbZcX7qgN8zAjTzD57aX7QGTpW61LrtihW6WNzaHHwHCLeIyJqy6T6UDJwF6YiaKFmGFORInUcGdZXImQWWkNcDoRvyp/dry+aAw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1777696976; bh=dVcJpatcNgp6yIOjBQZas8dRxbTbGdSpwJXyi/5DxBz=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=c+AxYFC90a3Ayj9hGn1CLSCzlzn5dhYrRzxpJDpXMwF5DEUe/FbAX0GuR5IQqEa6Moj62IVXQ8ZAxcUkyHKr3MDE1WYDOYPJrXMRM+tiS1ALJhXEG94xjvce/Kk03NdU2zt/lXYU1h5yBmuipvyIoe4eJz8b4oxDxbPPzdd38PsxNWxiE9XYGdqdDW8ppncDJvD5Yed9s5rzU8fdAMV82JtcWfju5+No73yOMoHDyrh6fDSHpGlv07wHkjxLRUwrYb1hbjdgnaEHiBHJMfAjp3tUV+4J0CcTLsc776mUG9dgrtxwBbeG3dEWuxBPQ+EoBJgRq7tmcbTn1SRe0AfZmw== X-YMail-OSG: JDv6lLkVM1k3Ql.Q8SAErL194KY9BZvK2mL9JladHRrExhQNqFGvUteJbq7GpeU DwFQj6B9ZJGqHROW4NqcGjaC8phAQSBQwU7VRtcE0eRsZ_elai1_2JpO9RFheB0k7GkJVKu23j1J 5w8kJQ1INHoGOt_9vtl80Y1usme821gl2m6ksXcFWzi3XCJ2Sp5Ug9WzDqGIgXBfaHYQ2Jjp895S lUIN3ek.L05p_croDHT.3fLfT6NknOF42loaAz6dCNcw76AGbNzeIOVhYegFgAcVj66ZOwqBSLr. kzv_40jzQrjHzPLAFvNTJmwON2D16CiCFKvsPmLzAbZZZy0FoW019h9Iv.CKaYUmOpSf1zWf68Ev .31CUmqJM.ZibsHdVufEXRM4RnA2vjf6CmWKlP80NS6DuO0Qan3VKCnV2ny0Cw8lh8_47UdDeQmB t7GZT.bE7CWVPIu7J0M4vsOzGbr_pLsHXCBus6fQPeLvPu_u68chdDj40xc1NfzsDO8z.dcywYuH W9MHd_t8EdTjAIzqIrJuzl_GcPTrw2ZzYms0bEhz9DcudkME8oQKHqv7aXK0TXg7cuLAjp2DHQ_K TPivhgkd9VDtVO0t4cTcUlNyHeLJfK3IIltuvFUPPZ96df9GlIOkFJZ6UKkWW9VKlF5xRDJlxf2O zhmhBKDNDpzrdzqanJeKeGEdwfKNP9CBm26IobSrZ6333Slowdrn8K1d4Iu02ljh1qmUTnrKXich 0JoPnFYGD5bk6hmW3y2WuePK_hSKm1itT_gdDaQoOtiUbSVj_gbsq5msMBak9bag1k_QS6Dh.NJa fs2n4JD1TRo4vVCRzRzVKihLHDj1lQ0GswkHkxEEezBkRmDvISyg8.BuLj1uD9kRDMw.ocrd_B9U r_wDM2YlaYgyOCK.HLVZzQxkcTEEmXUMMqGHaiy0TdmS41eV863W2OWwU3xj_C5cpnpFFcZDmnia dRXw7JiGdnjazdBCiFs.UsktchTEnWDfTspobo3TZxz1RXFbAj6yUHsQYlAlfOOnYWjGfv0YX5Qg amj6JUUpudn7zJO0OZkRk4MOpq9ouX44xwbiEQ9yuAJvRz1KGx388AJgAwykfQGnoDerCZ5wVYNQ 4Ep2.nW1YbZ5bzBiZW80x8ls.nt.jXOum2yjaKN3LKQP5m.ZutLLZsryyHivFOUmD2fTN69MKDdh .k5.YmnG5IndqVlQWaU1gHuJ8ImHIM8YNEnZwlK8zEOOKIK48Rmf30h3zsXKB_HbQY9cFzkK5xch I3lOWsnnv_GOqpWmTJ5HJTou61pxtgBsjhGdCM6.I4dl.9xDW0sQvc5KcNiVA3X5CBQpIf4GKQbc v.cmaFdOQYqUm4HnFjMJKxx_BNLrrspHHTPmugNRIzzgXAihHOt7V3YTI3KUMZ4MBaTUOLLQbNss C9OBmbg94.uYosX9ueg8qR25fw2_zOPlnWeoEhAKpl1eyDe.7RPCNACLMK4NL82cn6cXipXXy0QN e3TLR9Ca.zwsd.Ka7Bov..GysdHlMFYpunFqqLQjot5QM.Pott1iAAy9byf2pZlmdJtzI1m.Hl9X KmonlBKhNPIvM8RC5Nk6BhwJjJWRlWHXVu3l1pw2oxgDYYi.cL4Q55pGRfiWpNp4UHBQPWmBtiQv FldtD654w1He8g4Qp0f7tv02e2bzBHeJag2Su17VBXRnGCYZkLFzRoUPG8yz199KSTLh4LepX7gX Kc2tlniGmR77zPiZKNSEarO.Bk_odaRsHFQMyLpPtM6Ded21j7pS7mmDHKUB1tPAm3t.hSUrZcbt BG5QdZgLxb.__giJG_7YoY5DWFjq6CvPZ5RxfJZSTWIZtkPJNtPpdjvcQFfT.c49icQS2tbLqVyl jJ6jVmq0d7I2M00QMG43MDM9sLYLwbzfT5jbqOlJtqhWQND1lfIcaG_8bo5.WJ5mJQuZ0iU0yKkw CYlmuCl9.79Z.AySCgbGsC9GaARdcIFj8I59fUfVlm1lfZpTIgprIns7fXSXVPFntvlxx_aD7_CO cgWZziKeJXy28c8QwPePkwT3stvtny2qd5Jy2epwL5Ll.hclvYFgXZtVXNCJ3jdsCLrQcWBpGRRg ixdGJMnHwEaOFnk4TfT0zLEiypsMlvwJ1BlycbqGPR_I2GOs12pkw2o5ozwKKv4KtnE1GMzr1CDh nyGZ8xiYPX6ZfVYxJkiZJ6zfwPk86uPQrMsfSXrQyAJ3dXddYBAf_tLB0N5SN9uOTkwq7Q1WReNb Ir6L29TC_4qMlRIqoAccQIPWdMyfiB49vRGWQsQ6WIAJN06YCsPxgcQEqoC0lIceDQjn3xxAcvTR 8Wh03zNvIzvcJVM5Ub7DnoBRNzXLk0gdygSNE94AuBpJEyMBd3k_wYhseSTkaFfwzfC8- X-Sonic-MF: X-Sonic-ID: bd5a0024-5450-4ed1-b0ed-46b0aae0b4d4 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Sat, 2 May 2026 04:42:56 +0000 Received: by hermes--production-gq1-7bb7df5c46-2m55j (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1e5b5cb5c455d40955ae98a2acc18014; Sat, 02 May 2026 04:42:52 +0000 (UTC) Message-ID: <994cef06-a1c9-45b8-b807-3449517fe381@yahoo.com> Date: Fri, 1 May 2026 21:42:51 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package To: jlduran@freebsd.org Cc: dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Ed Maste References: <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org> Content-Language: en-US From: Mark Millard In-Reply-To: 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-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: 4g6wJS6B3Jz3Skn X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 5/1/26 17:38, Jose Luis Duran wrote: > On Fri, May 1, 2026 at 8:34 PM Ed Maste wrote: >> >> The branch main has been updated by emaste: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 >> >> commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9 >> Author: Ed Maste >> AuthorDate: 2026-03-06 14:46:18 +0000 >> Commit: Ed Maste >> CommitDate: 2026-05-01 23:33:51 +0000 >> >> llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package >> >> Some of the LLVM binary utilities were included in the Clang package >> (because they did not set an explicit PACKAGE). >> >> Add a new Makefile under clang/toolchain to create the symlinks and man >> links for ar, c++filt, nm, and so on (without the llvm-* prefix) when >> LLVM_BINUTILS is enabled (as it is by default). >> >> PR: 293610 >> Reviewed by: bapt, ivy, brooks >> Sponsored by: The FreeBSD Foundation >> Differential Revision: https://reviews.freebsd.org/D55692 >> --- >> ... >> +.if ${MK_LLVM_BINUTILS} != "no" >> +PKG_DEPS.toolchain+= llvm > > Is there an llvm package (FreeBSD-llvm)? > For reference, for main [so: 16 at this point]: (context predates the above change) # pkg search -rFreeBSD-base -g FreeBSD-llvm\* # # pkg search -rFreeBSD-base -g FreeBSD-binutils\* # So: no for FreeBSD-llvm . But for things that do exist that internally are based on some of llvm: (the context has all the FreeBSD-* base packages installed) # pkg info -dl FreeBSD-\* \ | grep -v -e /contrib/ -e /src/ -e /man1/ \ | grep -e ^FreeBSD- \ -e llvm- \ -e libprivateclang \ -e libprivatellvm \ -e libcompiler_rt \ | grep -B1 -v ^FreeB FreeBSD-clang-16.snap20260430194422 FreeBSD-libcompiler_rt-dev-16.snap20260425150102 /usr/bin/llvm-addr2line /usr/bin/llvm-cov /usr/bin/llvm-cxxfilt /usr/bin/llvm-objcopy /usr/bin/llvm-objdump /usr/bin/llvm-profdata /usr/bin/llvm-readelf /usr/bin/llvm-readobj /usr/bin/llvm-strings /usr/bin/llvm-strip /usr/bin/llvm-symbolizer /usr/lib/libprivateclang.so.21 /usr/lib/libprivatellvm.so.21 FreeBSD-clang-dbg-16.snap20260430194422 /usr/lib/debug/usr/bin/llvm-cov.debug /usr/lib/debug/usr/bin/llvm-cxxfilt.debug /usr/lib/debug/usr/bin/llvm-objcopy.debug /usr/lib/debug/usr/bin/llvm-objdump.debug /usr/lib/debug/usr/bin/llvm-profdata.debug /usr/lib/debug/usr/bin/llvm-readobj.debug /usr/lib/debug/usr/bin/llvm-strings.debug /usr/lib/debug/usr/bin/llvm-symbolizer.debug /usr/lib/debug/usr/lib/libprivateclang.so.21.debug /usr/lib/debug/usr/lib/libprivatellvm.so.21.debug FreeBSD-clang-dev-16.snap20260428205205 FreeBSD-clang-16.snap20260430194422 (libprivatellvm.so.21) /usr/lib/libprivateclang.so /usr/lib/libprivatellvm.so -- FreeBSD-libcompiler_rt-dev-16.snap20260425150102 /usr/lib/libcompiler_rt.a FreeBSD-libcompiler_rt-dev-lib32-16.snap20260425150102 /usr/lib32/libcompiler_rt.a -- FreeBSD-lld-16.snap20260430194422 FreeBSD-clang-16.snap20260430194422 (libprivatellvm.so.21) -- FreeBSD-lldb-16.snap20260430194422 FreeBSD-clang-16.snap20260430194422 (libprivateclang.so.21) FreeBSD-clang-16.snap20260430194422 (libprivatellvm.so.21) -- FreeBSD-set-devel-16.snap20260424143247 FreeBSD-libcompiler_rt-dev-16.snap20260425150102 -- FreeBSD-set-lib32-16.snap20260424143247 FreeBSD-libcompiler_rt-dev-lib32-16.snap20260425150102 -- FreeBSD-toolchain-16.snap20260430194422 FreeBSD-clang-16.snap20260430194422 (libprivatellvm.so.21) /usr/bin/llvm-ar /usr/bin/llvm-nm /usr/bin/llvm-ranlib /usr/bin/llvm-size FreeBSD-toolchain-dbg-16.snap20260430194422 /usr/lib/debug/usr/bin/llvm-ar.debug /usr/lib/debug/usr/bin/llvm-nm.debug /usr/lib/debug/usr/bin/llvm-size.debug That should at least give an idea, even if it might be incomplete. -- === Mark Millard marklmi at yahoo.com From nobody Sat May 2 07:21:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6zq14pypz6ct5G for ; Sat, 02 May 2026 07: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 4g6zq148zbz3lSt for ; Sat, 02 May 2026 07: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=1777706477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+2HDqcwuTCfZ2CbP03j0wiLxuHVAg66ZKeyUqhHiDw=; b=VD1Eqb5U8YqER1LZjits/Q5TB2/iNvWEuQ5qIEwbXXVKRncn5N0OlKGj5R0itdQKb2VREY XlkrQp8kQx0L1OkO455el1SoQUndO63jeqenzssBcZRx1T8x+w051/gdUCsmnLI6rmg/hb E8DVl4CLAkV2pqoreaoOJvh8aQ7ossvlD+Zs4I5aMcsfcpudW0BbXvbxBXpX9hIRsU99vT TjqjTxP0ipx0OxhRgl0brgLVrWhlL3c10c1O2Gj62yUQJosMUJSXd399AwjGQCoEb+EKgb mCuzPQQOvH+Heo4Mcfd5yF5CzTxCctlZ6xXU3ItEs8i72vng+12x0WrmnT5l3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777706477; a=rsa-sha256; cv=none; b=B/VpUVvDrF/3dqo1XdVnFtPS3ux8tDcgrHdOa44Dj+gRk0CkrHbw9fOsG/tEFYgH6DToiM Okp/UrownOzycoR5L2SP0juQg3JiWgq12yZoOgi4LV54+BYOSm2Q1mHmTsKOvI9rvGm1zc La79Fx73I78LzxUy176RkTprikPvmGUvJkcpSt9X1ou1XArjD+nH6J/MopiqYTaugGQtLH sRJ7iP/oRyZn2ed3UtqOj+qm+QgoqTtHIT/xvzebQdfIRx9UkXqcCpOtmJQw+1ww0Fr4+K lglAtmPhpTNTUrIXKlAijFGP+waO5CXX+myUR+8Ghj1XrGNd84NPt3HgI+6wtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777706477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+2HDqcwuTCfZ2CbP03j0wiLxuHVAg66ZKeyUqhHiDw=; b=C0MlyypYnVo+pobLjDd2V2+uFfGmJaEIrXf0n8ZvH0qe7HHexglQrgGMHOcyvYdVJLBG/Z KBuUWV/tAdeU9OEbmn64BmtqlyuRezYU7pwg6SUGk+9m9e77lzN9au/qJLAiVQa7LiHzqx xhZgdMzjy92K6s6aYrUGY8SucBMcsK1Hpl1qggcX5LX8fThuFyZ3jepsmLReMHsMEIrtML 0Vaaxv1ZePW/C9Xh2sBZwoZUtF9iRDupngN6v1rgMAKHgG/QQBYV2dFAv5RnjvYcuZtgmm m+mguHafbBjY4nCSmBSAjJD7O9OCk3wFVtFhmKziMdQ7AqUFcssuEIzOs3jdQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6zq13ZMHzc7L for ; Sat, 02 May 2026 07:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38a16 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 07:21:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: f9590540c524 - main - zfs: merge openzfs/zfs@84ffe564d List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9590540c524607d22fa7e718c758725c4365375 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 07:21:17 +0000 Message-Id: <69f5a5ed.38a16.18e2d48a@gitrepo.freebsd.org> The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=f9590540c524607d22fa7e718c758725c4365375 commit f9590540c524607d22fa7e718c758725c4365375 Merge: 069681afd58a 84ffe564dff1 Author: Martin Matuska AuthorDate: 2026-05-02 07:17:59 +0000 Commit: Martin Matuska CommitDate: 2026-05-02 07:18:34 +0000 zfs: merge openzfs/zfs@84ffe564d Notable upstream pull request merges: #18387 656285140 Handle raidz errors <= nparity rather than ignoring #18401 1cebe8a38 libzfs: report invalid permission name in zfs allow #18430 513710ed2 Fix "panic: cache_vop_rename: lingering negative entry" #18440 37e3a260f dmu_direct: avoid UAF in dmu_write_direct_done() #18445 2eee4ac1e Fix: draid autopkgtests fail on s390x architecture #18448 8da472973 key lookup failure should always return EACCES #18456 4a58ab8ce zfs.4: document five missing module parameters Obtained from: OpenZFS OpenZFS commit: 84ffe564dff1b7f69d397817ef292cbe2c5ebad3 .../.github/workflows/scripts/merge_summary.awk | 38 ++++++ .../.github/workflows/scripts/qemu-1-setup.sh | 22 ++-- .../.github/workflows/scripts/qemu-2-start.sh | 52 ++++++-- .../.github/workflows/scripts/qemu-6-tests.sh | 4 +- .../.github/workflows/scripts/qemu-7-prepare.sh | 25 +++- .../.github/workflows/scripts/qemu-8-summary.sh | 8 +- sys/contrib/openzfs/.mailmap | 6 + sys/contrib/openzfs/AUTHORS | 15 ++- sys/contrib/openzfs/META | 2 +- sys/contrib/openzfs/cmd/zinject/zinject.c | 7 +- sys/contrib/openzfs/configure.ac | 2 +- sys/contrib/openzfs/contrib/initramfs/scripts/zfs | 12 +- sys/contrib/openzfs/include/libzfs_core.h | 2 - sys/contrib/openzfs/include/sys/zio.h | 1 + sys/contrib/openzfs/include/zfs_fletcher.h | 2 + sys/contrib/openzfs/lib/libspl/os/linux/mnttab.c | 9 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 144 ++++++++++++++++++++- sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 2 +- .../openzfs/lib/libzfs/os/linux/libzfs_mount_os.c | 6 +- sys/contrib/openzfs/man/man4/zfs.4 | 35 +++++ sys/contrib/openzfs/man/man8/zinject.8 | 4 +- sys/contrib/openzfs/man/man8/zpool-labelclear.8 | 9 ++ sys/contrib/openzfs/man/man8/zpool.8 | 4 +- .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 2 +- sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c | 13 +- sys/contrib/openzfs/module/zcommon/zfs_fletcher.c | 7 + sys/contrib/openzfs/module/zfs/arc.c | 2 +- sys/contrib/openzfs/module/zfs/dmu_direct.c | 8 +- sys/contrib/openzfs/module/zfs/dsl_crypt.c | 53 +++----- sys/contrib/openzfs/module/zfs/vdev_draid.c | 4 + sys/contrib/openzfs/module/zfs/vdev_raidz.c | 21 +++ sys/contrib/openzfs/module/zfs/zio.c | 38 +++++- sys/contrib/openzfs/tests/runfiles/common.run | 6 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 3 - .../openzfs/tests/zfs-tests/include/libtest.shlib | 20 +++ .../openzfs/tests/zfs-tests/tests/Makefile.am | 4 + .../tests/functional/cli_root/zfs_list/cleanup.ksh | 30 +++++ .../tests/functional/cli_root/zfs_list/setup.ksh | 32 +++++ .../cli_root/zfs_list/zfs_list_009_pos.ksh | 69 ++++++++++ .../functional/cli_root/zinject/zinject_args.ksh | 2 +- .../zpool_export/zpool_export_parallel_admin.ksh | 2 +- .../tests/functional/cli_root/zpool_trim/setup.ksh | 1 - .../zpool_trim/zpool_trim_online_offline.ksh | 2 +- .../cli_root/zpool_trim/zpool_trim_partial.ksh | 18 ++- .../zpool_trim/zpool_trim_start_and_cancel_neg.ksh | 2 +- .../zpool_trim/zpool_trim_verify_trimmed.ksh | 14 +- .../cli_root/zpool_wait/zpool_wait_trim_basic.ksh | 4 - .../cli_root/zpool_wait/zpool_wait_trim_cancel.ksh | 4 - .../cli_root/zpool_wait/zpool_wait_trim_flag.ksh | 4 - .../cli_user/zpool_iostat/zpool_iostat_002_pos.ksh | 7 +- .../tests/functional/mmp/mmp_on_uberblocks.ksh | 49 ++----- .../tests/functional/raidz/raidz_zinject.ksh | 94 ++++++++++++++ .../tests/functional/redundancy/redundancy.kshlib | 76 ++++++++++- .../functional/redundancy/redundancy_draid.ksh | 12 +- .../redundancy/redundancy_draid_damaged1.ksh | 7 +- .../redundancy/redundancy_draid_damaged2.ksh | 14 +- .../redundancy/redundancy_draid_degraded1.ksh | 7 +- .../redundancy/redundancy_draid_degraded2.ksh | 7 +- .../redundancy/redundancy_draid_spare1.ksh | 8 +- .../redundancy/redundancy_draid_spare2.ksh | 8 +- .../redundancy/redundancy_draid_spare3.ksh | 28 +--- .../redundancy/redundancy_draid_spare4.ksh | 12 +- .../replacement/resilver_restart_001.ksh | 19 ++- .../tests/functional/snapshot/snapshot_018_pos.ksh | 5 + .../tests/functional/trim/autotrim_config.ksh | 6 + .../zfs-tests/tests/functional/trim/setup.ksh | 1 - .../zfs-tests/tests/functional/trim/trim.kshlib | 2 +- .../tests/functional/trim/trim_config.ksh | 12 +- sys/modules/zfs/zfs_config.h | 6 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 70 files changed, 890 insertions(+), 268 deletions(-) diff --cc sys/contrib/openzfs/.mailmap index 377a511bead6,000000000000..87d9530f4241 mode 100644,000000..100644 --- a/sys/contrib/openzfs/.mailmap +++ b/sys/contrib/openzfs/.mailmap @@@ -1,247 -1,0 +1,253 @@@ +# This file maps the name+email seen in a commit back to a canonical +# name+email. Git will replace the commit name/email with the canonical version +# wherever it sees it. +# +# If there is a commit in the history with a "wrong" name or email, list it +# here. If you regularly commit with an alternate name or email address and +# would like to ensure that you are always listed consistently in the repo, add +# mapping here. +# +# On the other hand, if you use multiple names or email addresses legitimately +# (eg you use a company email address for your paid OpenZFS work, and a +# personal address for your evening side projects), then don't map one to the +# other here. +# +# The most common formats are: +# +# Canonical Name +# Canonical Name +# Canonical Name Commit Name +# +# See https://git-scm.com/docs/gitmailmap for more info. + +# These maps are making names consistent where they have varied but the email +# address has never changed. In most cases, the full name is in the +# Signed-off-by of a commit with a matching author. +Achill Gilgenast +Ahelenia Ziemiańska +Ahelenia Ziemiańska +Alex John +Andreas Dilger +Andrew Walker +Benedikt Neuffer +Chengfei Zhu +ChenHao Lu <18302010006@fudan.edu.cn> ++Chris Jacobs +Chris Lindee ++Colin K. Williams +Colm Buckley +Crag Wang +Damian Szuberski +Daniel Kolesa +Debabrata Banerjee +Diwakar Kristappagari +Finix Yan +Gaurav Kumar +Gionatan Danti +Glenn Washburn +Gordan Bobic +Gregory Bartholomew +hedong zhang +Ilkka Sovanto +InsanePrawn +Jason Cohen +Jason Harmening +Jeremy Faulkner +Jinshan Xiong +John Poduska +Joseph Holsten +Jo Zzsi +Justin Scholz +Ka Ho Ng +Kash Pande +Kay Pedersen +KernelOfTruth +Liu Hua +Liu Qing +loli10K +Mart Frauenlob +Matthias Blankertz +Michael Gmelin +Olivier Mazouffre +Piotr Kubaj +Quentin Zdanis +Roberto Ricci +Roberto Ricci +Rob Norris +Rob Norris +Rob Norris +Sam Lunt +Sanjeev Bagewadi +Sebastian Wuerl +SHENGYI HONG +Sivesh Kumar +Stoiko Ivanov +Tamas TEVESZ +WHR +Yanping Gao +Youzhong Yang + +# Signed-off-by: overriding Author: +Alexander Moch +Alexander Moch +Alexander Ziaee +delan azabani +Felix Schmidt +George Shammas +Jean-Sébastien Pédron +Konstantin Belousov +Olivier Certner +Patrick Xia +Phil Sutter +poscat +Qiuhao Chen +Ryan +Sietse +Yuxin Wang +Zhenlei Huang + +# Commits from strange places, long ago +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Brian Behlendorf +Herb Wartens +Ned Bass +Tulsi Jain + +# Mappings from Github no-reply addresses +Adi Gollamudi <68113680+Adi-Goll@users.noreply.github.com> +ajs124 +Alek Pinchuk +Aleksandr Liber <61714074+AleksandrLiber@users.noreply.github.com> +Alexander Lobakin +Alexey Smirnoff +Allen Holl <65494904+allen-4@users.noreply.github.com> +Alphan Yılmaz +Ameer Hamza <106930537+ixhamza@users.noreply.github.com> +Andrew J. Hesford <48421688+ahesford@users.noreply.github.com>> +Andrew Sun +Aron Xu +Arun KV <65647132+arun-kv@users.noreply.github.com> +Ben Wolsieffer +bernie1995 <42413912+bernie1995@users.noreply.github.com> +Bojan Novković <72801811+bnovkov@users.noreply.github.com> +Boris Protopopov +Brad Forschinger +Brad Spengler <94915855+bspengler-oss@users.noreply.github.com>> +Brandon Thetford +buzzingwires <131118055+buzzingwires@users.noreply.github.com> +Cedric Maunoury <38213715+cedricmaunoury@users.noreply.github.com> +Charles Suh +Chris Peredun <126915832+chrisperedun@users.noreply.github.com> +classabbyamp <5366828+classabbyamp@users.noreply.github.com> +Dacian Reece-Stremtan <35844628+dacianstremtan@users.noreply.github.com> +Damian Szuberski <30863496+szubersk@users.noreply.github.com> +Daniel Hiepler <32984777+heeplr@users.noreply.github.com> +Daniel Kobras +Daniel Reichelt +David Quigley +Dennis R. Friedrichsen <31087738+dennisfriedrichsen@users.noreply.github.com> +Dennis Vestergaard Værum <6872940+dvaerum@users.noreply.github.com> +Dex Wood +DHE +Dmitri John Ledkov <19779+xnox@users.noreply.github.com> +Dries Michiels <32487486+driesmp@users.noreply.github.com> +Edmund Nadolski <137826107+ednadolski-ix@users.noreply.github.com> +Érico Nogueira <34201958+ericonr@users.noreply.github.com> +Fedor Uporov <60701163+fuporovvStack@users.noreply.github.com> +Felix Dörre +Felix Neumärker <34678034+xdch47@users.noreply.github.com> +Finix Yan +Friedrich Weber <56110206+frwbr@users.noreply.github.com> +Gaurav Kumar +George Gaydarov +Georgy Yakovlev <168902+gyakovlev@users.noreply.github.com> +Gerardwx +Germano Massullo +Gian-Carlo DeFazio +Giuseppe Di Natale +Hajo Möller +Harry Mallon <1816667+hjmallon@users.noreply.github.com> +Hiếu Lê +Jake Howard +James Cowgill +Jaron Kent-Dobias +Jason King +Jeff Dike <52420226+jdike@users.noreply.github.com> +Jitendra Patidar <53164267+jsai20@users.noreply.github.com> +João Carlos Mendes Luís +John Eismeier <32205350+jeis2497052@users.noreply.github.com> +John L. Hammond <35266395+jhammond-intel@users.noreply.github.com> +John-Mark Gurney +John Ramsden +Jonathon Fernyhough <559369+jonathonf@users.noreply.github.com> +Jose Luis Duran +Justin Hibbits +Kaitlin Hoang +Kevin Greene <104801862+kxgreene@users.noreply.github.com> +Kevin Jin <33590050+jxdking@users.noreply.github.com> +Kevin P. Fleming +Krzysztof Piecuch <3964215+pikrzysztof@users.noreply.github.com> +Kyle Evans +Laurențiu Nicola +loli10K +Lorenz Hüdepohl ++Louis Leseur <51127370+teapot9@users.noreply.github.com> +Luís Henriques <73643340+lumigch@users.noreply.github.com> +Marcin Skarbek +Matt Fiddaman <81489167+matt-fidd@users.noreply.github.com> +Maxim Filimonov +Max Zettlmeißl <6818198+maxz@users.noreply.github.com> +Michael Niewöhner +Michael Zhivich <33133421+mzhivich@users.noreply.github.com> +MigeljanImeri <78048439+MigeljanImeri@users.noreply.github.com> +Mo Zhou <5723047+cdluminate@users.noreply.github.com> +nav1s <42621369+nav1s@users.noreply.github.com> +Nick Mattis +omni <79493359+omnivagant@users.noreply.github.com> +Pablo Correa Gómez <32678034+pablofsf@users.noreply.github.com> +Paul Zuchowski <31706010+PaulZ-98@users.noreply.github.com> +Peter Ashford +Peter Dave Hello +Peter Wirdemo <4224155+pewo@users.noreply.github.com> +Petros Koutoupis +Ping Huang <101400146+hpingfs@users.noreply.github.com> +Piotr P. Stefaniak ++Pranav P <49746983+pranavkaruvally@users.noreply.github.com> +Richard Allen <33836503+belperite@users.noreply.github.com> +Rich Ercolani <214141+rincebrain@users.noreply.github.com> +Rick Macklem <64620010+rmacklem@users.noreply.github.com> +Rob Wing <98866084+rob-wing@users.noreply.github.com> +Roman Strashkin +Ryan Hirasaki <4690732+RyanHir@users.noreply.github.com> +Samuel Wycliffe J <115969550+samwyc@users.noreply.github.com> +Samuel Wycliffe <50765275+npc203@users.noreply.github.com> +Savyasachee Jha +Scott Colby +Sean Eric Fagan ++Shelvacu <1731537+shelvacu@users.noreply.github.com> +Shreshth Srivastava <66148173+Shreshth3@users.noreply.github.com> +Spencer Kinny <30333052+Spencer-Kinny@users.noreply.github.com> +Srikanth N S <75025422+nssrikanth@users.noreply.github.com> +Stefan Lendl <1321542+stfl@users.noreply.github.com> +Thomas Bertschinger <101425190+bertschinger@users.noreply.github.com> +Thomas Geppert +Tim Crawford +Todd Seidelmann <18294602+seidelma@users.noreply.github.com> +Tom Matthews +Tony Perkins <62951051+tony-zfs@users.noreply.github.com> +Torsten Wörtwein +Tulsi Jain +Václav Skála <33496485+vaclavskala@users.noreply.github.com> +Vaibhav Bhanawat <88050553+vaibhav-delphix@users.noreply.github.com> +Vandana Rungta <46906819+vandanarungta@users.noreply.github.com> +Violet Purcell <66446404+vimproved@users.noreply.github.com> +Vipin Kumar Verma <75025470+vermavipinkumar@users.noreply.github.com> +Wolfgang Bumiller +XDTG <35128600+XDTG@users.noreply.github.com> +xtouqh <72357159+xtouqh@users.noreply.github.com> +Yuri Pankov <113725409+yuripv@users.noreply.github.com> +Yuri Pankov <82001006+yuripv@users.noreply.github.com> ++ZhengYuan Huang <68463495+Gality369@users.noreply.github.com> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/cleanup.ksh index 000000000000,138dfe0473cc..138dfe0473cc mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/cleanup.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/cleanup.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/setup.ksh index 000000000000,912fcfc40f69..912fcfc40f69 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/setup.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/setup.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/zfs_list_009_pos.ksh index 000000000000,758aa7608d3e..758aa7608d3e mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/zfs_list_009_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/zfs_list_009_pos.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/raidz/raidz_zinject.ksh index 000000000000,e0417afc7755..e0417afc7755 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/raidz/raidz_zinject.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/raidz/raidz_zinject.ksh diff --cc sys/modules/zfs/zfs_config.h index 1cf55ead9587,000000000000..77c310c268f8 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,962 -1,0 +1,962 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* __assign_str() has one arg */ +/* #undef HAVE_1ARG_ASSIGN_STR */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +/* Define if your assembler supports .cfi_negate_ra_state. */ +/* #undef HAVE_AS_CFI_PSEUDO_OP */ + +/* backtrace() is available */ +/* #undef HAVE_BACKTRACE */ + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_file_open_by_path() exists */ +/* #undef HAVE_BDEV_FILE_OPEN_BY_PATH */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* bdev_nr_bytes() is available */ +/* #undef HAVE_BDEV_NR_BYTES */ + +/* bdev_open_by_path() exists */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ + +/* bdev_release() exists */ +/* #undef HAVE_BDEV_RELEASE */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* __blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS */ + +/* __blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS */ + +/* blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_FLAGS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() exists */ +/* #undef HAVE_BLKDEV_PUT */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* struct queue_limits has a features field */ +/* #undef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_disk() exists and takes 2 args */ +/* #undef HAVE_BLK_ALLOC_DISK_2ARG */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue hardware context is cached in struct request */ +/* #undef HAVE_BLK_MQ_RQ_HCTX */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* backing_dev_info is available through queue gendisk */ +/* #undef HAVE_BLK_QUEUE_DISK_BDI */ + +/* blk_queue_rot() is available */ +/* #undef HAVE_BLK_QUEUE_ROT */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if getgeo() in block_device_operations takes struct gendisk * as its + first arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_GETGEO_GENDISK */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* 3-arg dequeue_signal() takes a type argument */ +/* #undef HAVE_DEQUEUE_SIGNAL_3ARG_TYPE */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* dops->d_revalidate() takes 4 args */ +/* #undef HAVE_D_REVALIDATE_4ARGS */ + +/* Define if d_set_d_op() is available */ +/* #undef HAVE_D_SET_D_OP */ + +/* Define to 1 if you have the 'execvpe' function. */ +#define HAVE_EXECVPE 1 + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* linux/filelock.h exists */ +/* #undef HAVE_FILELOCK_HEADER */ + +/* file->f_version exists */ +/* #undef HAVE_FILE_F_VERSION */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* fs_context exists */ +/* #undef HAVE_FS_CONTEXT */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* GENHD_FL_EXT_DEVT flag is available */ +/* #undef HAVE_GENHD_FL_EXT_DEVT */ + +/* GENHD_FL_NO_PART flag is available */ +/* #undef HAVE_GENHD_FL_NO_PART */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* Define to 1 if you have the 'gettid' function. */ +/* #undef HAVE_GETTID */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* mnt_idmap does not have user_namespace */ +/* #undef HAVE_IDMAP_NO_USERNS */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_generic_drop() exists */ +/* #undef HAVE_INODE_GENERIC_DROP */ + +/* inode_get_atime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_ATIME */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* inode_get_mtime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_MTIME */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_atime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_mtime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ + +/* inode_state_read_once() exists */ +/* #undef HAVE_INODE_STATE_READ_ONCE */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() returns struct dentry* */ +/* #undef HAVE_IOPS_MKDIR_DENTRY */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_get_pages2() is available */ +/* #undef HAVE_IOV_ITER_GET_PAGES2 */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* Define to 1 if you have the 'issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* iter_is_ubuf() is available */ +/* #undef HAVE_ITER_IS_UBUF */ + +/* kasan_enabled() is GPL-only */ +/* #undef HAVE_KASAN_ENABLED_GPL_ONLY */ + +/* Define if kernel toolchain supports AES */ +/* #undef HAVE_KERNEL_AES */ + +/* Define if kernel toolchain supports AVX */ +/* #undef HAVE_KERNEL_AVX */ + +/* Define if kernel toolchain supports AVX2 */ +/* #undef HAVE_KERNEL_AVX2 */ + +/* Define if kernel toolchain supports AVX512BW */ +/* #undef HAVE_KERNEL_AVX512BW */ + +/* Define if kernel toolchain supports AVX512F */ +/* #undef HAVE_KERNEL_AVX512F */ + +/* Define if kernel toolchain supports AVX512VL */ +/* #undef HAVE_KERNEL_AVX512VL */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel defines intptr_t */ +/* #undef HAVE_KERNEL_INTPTR_T */ + +/* Define if kernel toolchain supports MOVBE */ +/* #undef HAVE_KERNEL_MOVBE */ + +/* kernel has kernel_neon_* functions */ +/* #undef HAVE_KERNEL_NEON */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* Define if kernel toolchain supports PCLMULQDQ */ +/* #undef HAVE_KERNEL_PCLMULQDQ */ + +/* Define if kernel toolchain supports SHA512EXT */ +/* #undef HAVE_KERNEL_SHA512EXT */ + +/* Define if kernel toolchain supports SSE2 */ +/* #undef HAVE_KERNEL_SSE2 */ + +/* Define if kernel toolchain supports SSE4_1 */ +/* #undef HAVE_KERNEL_SSE4_1 */ + +/* Define if kernel toolchain supports SSSE3 */ +/* #undef HAVE_KERNEL_SSSE3 */ + +/* strlcpy() exists */ +/* #undef HAVE_KERNEL_STRLCPY */ + +/* Define if kernel toolchain supports VAES */ +/* #undef HAVE_KERNEL_VAES */ + +/* Define if kernel toolchain supports VPCLMULQDQ */ +/* #undef HAVE_KERNEL_VPCLMULQDQ */ + +/* Define if kernel toolchain supports XSAVE */ +/* #undef HAVE_KERNEL_XSAVE */ + +/* Define if kernel toolchain supports XSAVEOPT */ +/* #undef HAVE_KERNEL_XSAVEOPT */ + +/* Define if kernel toolchain supports XSAVES */ +/* #undef HAVE_KERNEL_XSAVES */ + +/* kernel has kmap_local_page */ +/* #undef HAVE_KMAP_LOCAL_PAGE */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [unwind] */ +/* #undef HAVE_LIBUNWIND */ + +/* libunwind has unw_get_elf_filename */ +/* #undef HAVE_LIBUNWIND_ELF */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* building against unsupported kernel version */ +/* #undef HAVE_LINUX_EXPERIMENTAL */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Define to 1 if you have the 'mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* 'flags' in 'struct page' is a struct */ +/* #undef HAVE_MM_PAGE_FLAGS_STRUCT */ + +/* PG_error flag is available */ +/* #undef HAVE_MM_PAGE_FLAG_ERROR */ + +/* page_mapping() is available */ +/* #undef HAVE_MM_PAGE_MAPPING */ + +/* page_size() is available */ +/* #undef HAVE_MM_PAGE_SIZE */ + +/* mount_setattr() and struct mount_attr are available */ +/* #undef HAVE_MOUNT_SETATTR */ + +/* Define if ns_type is accessible through ns_common */ +/* #undef HAVE_NS_COMMON_TYPE */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* readahead_page() exists */ +/* #undef HAVE_PAGEMAP_READAHEAD_PAGE */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* pin_user_pages_unlocked() is available */ +/* #undef HAVE_PIN_USER_PAGES_UNLOCKED */ + +/* posix_acl_to_xattr() allocates its result */ +/* #undef HAVE_POSIX_ACL_TO_XATTR_ALLOC */ + +/* proc_handler ctl_table arg is const */ +/* #undef HAVE_PROC_HANDLER_CTL_TABLE_CONST */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* If available, contains the Python version number currently in use. */ +/* #undef HAVE_PYTHON */ + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* register_sysctl_sz exists */ +/* #undef HAVE_REGISTER_SYSCTL_SZ */ + +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + *** 368 LINES SKIPPED *** From nobody Sat May 2 09:00:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g722C5dW0z6d3qY; Sat, 02 May 2026 09:01:07 +0000 (UTC) (envelope-from netchild@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 4g722C2ycFz41Kc; Sat, 02 May 2026 09:01:07 +0000 (UTC) (envelope-from netchild@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777712467; h=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=j4gqwvdO/Q98gLH7bOrv68Gw6kuePMcDQoTbnD9MKWI=; b=loMddJKwh6BeKRdM1WjfG8WJORM127l0SIbvw7PXiRFXlhmmchrgR6hnAmcuT70JnR7gaf bZ5r833hDrft7SagOl0GsDOFTjW4qBK8pkNAiXtrtRIrfpNmTAualI9iiDuw9V3nmT/MgF Nn1AmQslceI3AiRcDRpoX36W/2em3gj1hTSIb3vyOuyX0h5MXMjiWjYoYOdy8odAsxJcg3 se7sP5+LdpD+jp0UfwFVx0OWrCU2IhqHkbDoGT0JRxizhiBhftUvCQJJRSAVLsZe7KlRKX pxOYi1J8jO7eh/n3nn2YuJts9tccIIr6YCEGW5T7mvfiBT6GtkFzdFaPipznlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777712467; a=rsa-sha256; cv=none; b=I6BaRZqCROFMrraKiGPTPEZ/BIjTeKr4LSey3tYPP58ZmLVDGRak290uF+1IxB7xhkUOW2 HBH6RmfPi6wncUg5/qz1JRDSQqBt6ARu1nksmNVjbOMdPoQ5QUPMRRcbN9DVwGw8AKof/c xSG4bdecpZPPsBolMkJxc6kRy6Ik3iLRAt3EBkCW0vn0bRiUnHpvAqQUoUHFZ6l4TtM/Yx YUUebH6QJ05jOQV/ZDw7PHycWRHTiZeQdflRPbphtt+B7G4uPIH7FEgJH9Ni/oQIhukP02 v2ihlHS6SBzpp8wpA/TR7B6wKa6ZiEU1lJ2HSx4Vo4oxnOkGsqsZ8kqzyKXPuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777712467; h=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=j4gqwvdO/Q98gLH7bOrv68Gw6kuePMcDQoTbnD9MKWI=; b=MWdmnLQLNCvW8T7toUKlIAt9oOoivgocaCjcRiQdTqVszlMSq7AXz/0pr9IF7HUBcMJrnl LaRV8OpJQNhL0VigfhVf6N69Ra6MjSXYUVrXfdSEQvommM49K+eK3d23VNwJ9rICpF2GW+ 0I9DK2Ri4uqE0pZ2Zpr1bAo7YwsVFAE6AWCZDpxt247NwTjZwgrQjmGYE982ZBXbEP49Fz h+GscAfJWl85tgzzIamD82/+JK2IDbHsQccWoTi4PwJNhqBnqaAGSDZ1QBOdWoyfLq1lq+ 9I9rx/0/Be446jjsRt6+hC9bnUO36Aq0azeRhoYZSH22ncllE2nUVp79MM/CvQ== Received: from outgoing.leidinger.net (p508d57f6.dip0.t-ipconnect.de [80.141.87.246]) (using TLSv1.3 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 "outgoing.leidinger.net", Issuer "E7" (not verified)) (Authenticated sender: netchild) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g722C1FPBz9KT; Sat, 02 May 2026 09:01:07 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from webmail.leidinger.net (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519MLKEM768 server-signature ECDSA (prime256v1) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: alexander@leidinger.net) by outgoing.leidinger.net (Postfix) with ESMTPSA id C92A325C; Sat, 02 May 2026 11:00:44 +0200 (CEST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Sat, 02 May 2026 11:00:25 +0200 From: Alexander Leidinger To: Martin Matuska Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f9590540c524 - main - zfs: merge openzfs/zfs@84ffe564d In-Reply-To: <69f5a5ed.38a16.18e2d48a@gitrepo.freebsd.org> References: <69f5a5ed.38a16.18e2d48a@gitrepo.freebsd.org> Message-ID: <52564a71ee85973901e4bc236723cf75@FreeBSD.org> Organization: FreeBSD Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=_93f3aa89c9600baf1cc35926e67486eb"; micalg=pgp-sha256 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --=_93f3aa89c9600baf1cc35926e67486eb Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Am 2026-05-02 09:21, schrieb Martin Matuska: > The branch main has been updated by mm: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=f9590540c524607d22fa7e718c758725c4365375 > > commit f9590540c524607d22fa7e718c758725c4365375 > Merge: 069681afd58a 84ffe564dff1 > Author: Martin Matuska > AuthorDate: 2026-05-02 07:17:59 +0000 > Commit: Martin Matuska > CommitDate: 2026-05-02 07:18:34 +0000 > > zfs: merge openzfs/zfs@84ffe564d > > Notable upstream pull request merges: > #18387 656285140 Handle raidz errors <= nparity rather than > ignoring > #18401 1cebe8a38 libzfs: report invalid permission name in zfs > allow > #18430 513710ed2 Fix "panic: cache_vop_rename: lingering negative > entry" > #18440 37e3a260f dmu_direct: avoid UAF in dmu_write_direct_done() > #18445 2eee4ac1e Fix: draid autopkgtests fail on s390x > architecture > #18448 8da472973 key lookup failure should always return EACCES > #18456 4a58ab8ce zfs.4: document five missing module parameters > > Obtained from: OpenZFS > OpenZFS commit: 84ffe564dff1b7f69d397817ef292cbe2c5ebad3 Are you aweare of https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294903 From the commit message I assume it is not fixed. Bye, Alexander. -- http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_93f3aa89c9600baf1cc35926e67486eb Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc; size=833 Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmn1vTsACgkQEg2wmwP4 2IYf/w//aRcd2Y081rT3bQTLD2iCRmKcxCAwIyy2C469aMIYMsjeKCjS6X2LwfRA DezIHFNtO8xsaw0NKm3Pmi4McRyX1pdd42DcoJDHPSJW2+wTucC4k1eMXNxDp080 TaZImHzJ+D0mseRy1eYOgLk8l7BbLRY3/wFq/xc6e5YA1HYUDOy9mKSGJ8KZcKIH OPCnTEmUk1tErg8z85rZMJlTzyYd5iVLnt+6yfm/apry+vqJ/SmTGMIvBo/saShH L/YQrGgNPhH+ADtu7OkrjTOx0Nmlovml0FsJXPih9eER5Au9Z5K1IUHbdZeeEglw Kxsr8c2fHw+aYOXOZQs8kwIpeEhBQJWwsNBOHtb0FL1QU6xmML9f0s8xvVRotOOB 2PDjukCi+/MY5cUU9f638M9SHDEw8r6neLIFC+787/tkzPWdHSCSni7RBB78FB/A Jr4UTNlrg0d3QGz9nCVZmynUmNXTe39Rb1tg5TX/1yADPGOf8HzGwjhwpV7UlpPY gs8VzrP2kmWYs6hpziu0BBfT3Suenm08MokwyaoCFcUxO6gUVaTfNtXHiRtKc5Fk VjqTNX/YIDxBUf99XXGCXZjCPCb+5Szf1Cx1GXJjeDdEnUSpjnZsiwibwbMko+LT F27bQ1gdHVRkJigB8Lm2RVOdDGGaNtJxE9jC/JbcK9tUZGSNOa8= =xkhz -----END PGP SIGNATURE----- --=_93f3aa89c9600baf1cc35926e67486eb-- From nobody Sat May 2 14:56:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g79vz6nj1z6c4bV for ; Sat, 02 May 2026 14:56: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 4g79vz4G7Qz45XC for ; Sat, 02 May 2026 14:56:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jd3x+sRp6G8s9Oo3Hk8tqCTzs/QEWx6bDdHGdQ7ZIQ4=; b=Tuui5jpT86MC6u2PiugcYWe6K9JV3XnzfP+k6gEu9TELwIG2jKDK3q4NK3RuexVIUD6aBG 4HicsXm53ysS7KhrQyDvRLucOv2QIaKt27j87F8H5lquDHII/QeM+JFw7G3a4zTyGO1nFJ UUn3NSiOUVhob0cf9UDOV22zsjLbQ+YPabDdBi/23vc/YHzg/rPo1tIqOUVEygJtA8lR7Z sWk97YiYd8FRkdy9HbD5dr7wIvyya9OrDUODk3GETqN2Mqp3cjh17wJ/YEmDPK4gapaINe hzKRlIuZ5voB3CgoKpFpRhzdtrTPqUTANaSA7oltDJe/FW6KEbRVHu3rvlUa6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777733775; a=rsa-sha256; cv=none; b=fPjWh9kznZAYKfXockCEV3nIp6Wg0eDjoSVtU0bDrFYQeXu9ZEtyW7fsbu/1ETVrPhEB3x yftKMG4nMP9U5N6oPooqyJQDzZfR0wrtDoWVQ6jx+knCPa3jrUENQFIUdM6/wu8/h4sLEc oix+/6Mah73KTYnFdP1oQKVbBAY+5mEMTio09xImQTiHGK4ad5YB8KadElMmvSl/MpCe8W q2yjVPyguD46olJ8kQz70JPAYX8EbvyY1j76OstVAde1IjtcBa/XRc39sSEDLcNPb9RNH7 3UJrHGXxsH6V3JHnR1XTM1UMui6cdmpJIvInxctFCm6cY65d8gETDayQ4RTGzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jd3x+sRp6G8s9Oo3Hk8tqCTzs/QEWx6bDdHGdQ7ZIQ4=; b=AvV9QkM2NXGslZuxtlTGNuTvQhWfG88Hw9+oc5M2VpSnTJpUh0LIm0M2fLhhCFY0OACBfu yJKAf8oB1XERPlLnPTOlM+5idUyWY/kTsyR9y9Fmz4tGpYoOCXU/CcGNUH04wQD9ioiqTx +HKYK1RRFxvEPOUf2xFm8EfKIZzTFotH79JBTmYoyvGPpae8imiCx871Vsi4mmQo1aE1DI JtF1o78NFjvc3EK0Xtvf36h8dxsKqS0AhXDBC/1ue4dVWVbow/fctY3xN7IY/RxyapWwwI GvbCFe7wzD/P6kZ0mLn/ajNPbLIki9jLCRJLW5TKm1GjAe2R6XjO/a0aRLyc9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g79vz3HXtzrCY for ; Sat, 02 May 2026 14:56:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 472a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 14:56:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: f62d826a6f5b - main - lib/msun: fmaximum_mag_num family. Tests and man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f62d826a6f5b9022b0cedfe22a698998ad9cb7f4 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 14:56:15 +0000 Message-Id: <69f6108f.472a8.610d749f@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=f62d826a6f5b9022b0cedfe22a698998ad9cb7f4 commit f62d826a6f5b9022b0cedfe22a698998ad9cb7f4 Author: Jesús Blázquez AuthorDate: 2026-04-21 17:17:00 +0000 Commit: Robert Clausecker CommitDate: 2026-05-02 14:50:13 +0000 lib/msun: fmaximum_mag_num family. Tests and man page Added the fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} functions. PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month --- lib/msun/Makefile | 18 ++++-- lib/msun/Symbol.map | 18 ++++-- lib/msun/man/fmaximum_mag.3 | 2 +- lib/msun/man/fmaximum_mag_num.3 | 109 ++++++++++++++++++++++++++++++++ lib/msun/src/math.h | 18 ++++-- lib/msun/src/s_fmaximum_mag_num.c | 88 ++++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numf.c | 84 ++++++++++++++++++++++++ lib/msun/src/s_fmaximum_mag_numl.c | 77 ++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_num.c | 90 ++++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numf.c | 85 +++++++++++++++++++++++++ lib/msun/src/s_fminimum_mag_numl.c | 79 +++++++++++++++++++++++ lib/msun/tests/fmaximum_fminimum_test.c | 28 +++++++- 12 files changed, 677 insertions(+), 19 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index d61f4e9a1659..a9b07babc0a6 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -76,9 +76,11 @@ COMMON_SRCS= b_tgamma.c \ s_finite.c s_finitef.c \ s_floor.c s_floorf.c s_fma.c s_fmaf.c \ s_fmax.c s_fmaxf.c s_fmaximum.c s_fmaximumf.c \ - s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_num.c s_fmaximum_numf.c \ + s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_mag_num.c \ + s_fmaximum_mag_numf.c s_fmaximum_num.c s_fmaximum_numf.c \ s_fmin.c s_fminf.c s_fminimum.c s_fminimumf.c \ - s_fminimum_mag.c s_fminimum_magf.c s_fminimum_num.c s_fminimum_numf.c \ + s_fminimum_mag.c s_fminimum_magf.c s_fminimum_mag_num.c \ + s_fminimum_mag_numf.c s_fminimum_num.c s_fminimum_numf.c \ s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \ @@ -135,8 +137,10 @@ COMMON_SRCS+= b_tgammal.c catrigl.c \ s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cexpl.c \ s_clogl.c s_cosl.c s_cospil.c s_cprojl.c \ s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \ - s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c s_fmaximum_numl.c \ - s_fminl.c s_fminimuml.c s_fminimum_magl.c s_fminimum_numl.c \ + s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c \ + s_fmaximum_numl.c s_fmaximum_mag_numl.c \ + s_fminl.c s_fminimuml.c s_fminimum_magl.c \ + s_fminimum_numl.c s_fminimum_mag_numl.c \ s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \ s_scalbnl.c s_sinl.c s_sincosl.c s_sinpil.c \ @@ -182,7 +186,8 @@ MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ exp.3 fabs.3 fdim.3 \ feclearexcept.3 feenableexcept.3 fegetenv.3 \ fegetround.3 fenv.3 floor.3 fma.3 \ - fmax.3 fmaximum.3 fmaximum_mag.3 fmaximum_num.3 fmod.3 \ + fmax.3 fmaximum.3 fmaximum_mag.3 \ + fmaximum_mag_num.3 fmaximum_num.3 fmod.3 \ hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \ nextafter.3 remainder.3 rint.3 \ @@ -242,6 +247,9 @@ MLINKS+=fmaximum.3 fmaximumf.3 fmaximum.3 fmaximuml.3 \ MLINKS+=fmaximum_mag.3 fmaximum_magf.3 fmaximum_mag.3 fmaximum_magl.3 \ fmaximum_mag.3 fminimum_mag.3 fmaximum_mag.3 fminimum_magf.3 \ fmaximum_mag.3 fminimum_magl.3 +MLINKS+=fmaximum_mag_num.3 fmaximum_mag_numf.3 fmaximum_mag_num.3 fmaximum_mag_numl.3 \ + fmaximum_mag_num.3 fminimum_mag_num.3 fmaximum_mag_num.3 fminimum_mag_numf.3 \ + fmaximum_mag_num.3 fminimum_mag_numl.3 MLINKS+=fmaximum_num.3 fmaximum_numf.3 fmaximum_num.3 fmaximum_numl.3 \ fmaximum_num.3 fminimum_num.3 fmaximum_num.3 fminimum_numf.3 \ fmaximum_num.3 fminimum_numl.3 diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map index 35addfcee3d5..00222c960f80 100644 --- a/lib/msun/Symbol.map +++ b/lib/msun/Symbol.map @@ -323,19 +323,25 @@ FBSD_1.9 { fmaximum; fmaximumf; fmaximuml; - fminimum; - fminimumf; - fminimuml; fmaximum_mag; fmaximum_magf; fmaximum_magl; - fminimum_mag; - fminimum_magf; - fminimum_magl; + fmaximum_mag_num; + fmaximum_mag_numf; + fmaximum_mag_numl; fmaximum_num; fmaximum_numf; fmaximum_numl; + fminimum; + fminimumf; + fminimuml; + fminimum_mag; + fminimum_magf; + fminimum_magl; fminimum_num; fminimum_numf; fminimum_numl; + fminimum_mag_num; + fminimum_mag_numf; + fminimum_mag_numl; }; diff --git a/lib/msun/man/fmaximum_mag.3 b/lib/msun/man/fmaximum_mag.3 index f5e4c39f96ef..004f9d51daa2 100644 --- a/lib/msun/man/fmaximum_mag.3 +++ b/lib/msun/man/fmaximum_mag.3 @@ -84,7 +84,7 @@ These routines do not raise any floating-point exceptions. .Sh SEE ALSO .Xr fmax 3 , .Xr fmaximum 3 , -.Xr fmaximum_num 3 , +.Xr fmaximum_mag_num 3 , .Xr math 3 .Sh STANDARDS The diff --git a/lib/msun/man/fmaximum_mag_num.3 b/lib/msun/man/fmaximum_mag_num.3 new file mode 100644 index 000000000000..525822bcde27 --- /dev/null +++ b/lib/msun/man/fmaximum_mag_num.3 @@ -0,0 +1,109 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.Dd April 3, 2026 +.Dt FMAXIMUM_MAG_NUM 3 +.Os +.Sh NAME +.Nm fmaximum_mag_num , +.Nm fmaximum_mag_numf , +.Nm fmaximum_mag_numl , +.Nm fminimum_mag_num , +.Nm fminimum_mag_numf , +.Nm fminimum_mag_numl +.Nd floating-point maximum and minimum magnitude number functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum_mag_num "double x" "double y" +.Ft float +.Fn fmaximum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fmaximum_mag_numl "long double x" "long double y" +.Ft double +.Fn fminimum_mag_num "double x" "double y" +.Ft float +.Fn fminimum_mag_numf "float x" "float y" +.Ft "long double" +.Fn fminimum_mag_numl "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +and +.Fn fmaximum_mag_numl +functions determine the larger of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the larger absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fmaximum_num +function on the arguments. +.Pp +Likewise, the +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions determine the smaller of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the smaller absolute value, +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fminimum_num +function on the arguments. +.Pp +If both arguments are \*(Nas, a quiet \*(Na is returned. +If either argument is a signaling \*(Na, an invalid exception is raised. +Otherwise, these routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fmax 3 , +.Xr fmaximum 3 , +.Xr fmaximum_mag 3 , +.Xr fmaximum_num 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum_mag_num , +.Fn fmaximum_mag_numf , +.Fn fmaximum_mag_numl , +.Fn fminimum_mag_num , +.Fn fminimum_mag_numf , +and +.Fn fminimum_mag_numl +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 ..\" diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 853984953a91..9894401160d4 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -523,18 +523,24 @@ long double tanpil(long double); double fmaximum(double, double); float fmaximumf(float, float); long double fmaximuml(long double, long double); -double fminimum(double, double); -float fminimumf(float, float); -long double fminimuml(long double, long double); double fmaximum_mag(double, double); float fmaximum_magf(float, float); long double fmaximum_magl(long double, long double); -double fminimum_mag(double, double); -float fminimum_magf(float, float); -long double fminimum_magl(long double, long double); +double fmaximum_mag_num(double, double); +float fmaximum_mag_numf(float, float); +long double fmaximum_mag_numl(long double, long double); double fmaximum_num(double, double); float fmaximum_numf(float, float); long double fmaximum_numl(long double, long double); +double fminimum(double, double); +float fminimumf(float, float); +long double fminimuml(long double, long double); +double fminimum_mag(double, double); +float fminimum_magf(float, float); +long double fminimum_magl(long double, long double); +double fminimum_mag_num(double, double); +float fminimum_mag_numf(float, float); +long double fminimum_mag_numl(long double, long double); double fminimum_num(double, double); float fminimum_numf(float, float); long double fminimum_numl(long double, long double); diff --git a/lib/msun/src/s_fmaximum_mag_num.c b/lib/msun/src/s_fmaximum_mag_num.c new file mode 100644 index 000000000000..fbb8ffbfc250 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_num.c @@ -0,0 +1,88 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUM +double +fmaximum_mag_num(double x, double y) +{ + return (__builtin_fmaximum_mag_num(x, y)); +} +#else +double +fmaximum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum_mag_num, fmaximum_mag_numl); +#endif diff --git a/lib/msun/src/s_fmaximum_mag_numf.c b/lib/msun/src/s_fmaximum_mag_numf.c new file mode 100644 index 000000000000..18232ed5aba8 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numf.c @@ -0,0 +1,84 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG_NUMF +float +fmaximum_mag_numf(float x, float y) +{ + return (__builtin_fmaximum_mag_numf(x, y)); +} +#else +float +fmaximum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x); +} +#endif + diff --git a/lib/msun/src/s_fmaximum_mag_numl.c b/lib/msun/src/s_fmaximum_mag_numl.c new file mode 100644 index 000000000000..eceee8059b03 --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag_numl.c @@ -0,0 +1,77 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +long double +fmaximum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x); +} diff --git a/lib/msun/src/s_fminimum_mag_num.c b/lib/msun/src/s_fminimum_mag_num.c new file mode 100644 index 000000000000..b5f62837f1b4 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_num.c @@ -0,0 +1,90 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUM +double +fminimum_mag_num(double x, double y) +{ + return (__builtin_fminimum_mag_num(x, y)); +} +#else +double +fminimum_mag_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + double ax = fabs(x); + double ay = fabs(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fminimum_mag_num, fminimum_mag_numl); +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numf.c b/lib/msun/src/s_fminimum_mag_numf.c new file mode 100644 index 000000000000..b8cb31f2315a --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numf.c @@ -0,0 +1,85 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG_NUMF +float +fminimum_mag_numf(float x, float y) +{ + return (__builtin_fminimum_mag_numf(x, y)); +} +#else +float +fminimum_mag_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].f); + + return (x); +} +#endif + + diff --git a/lib/msun/src/s_fminimum_mag_numl.c b/lib/msun/src/s_fminimum_mag_numl.c new file mode 100644 index 000000000000..1d001e84b618 --- /dev/null +++ b/lib/msun/src/s_fminimum_mag_numl.c @@ -0,0 +1,79 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +long double +fminimum_mag_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = isnan(x); + nan_y = isnan(y); + + if (nan_x || nan_y) { + /* If both are NaN, adding returns qNaN */ + if (nan_x && nan_y) + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + + if (nan_x) + return (y); + else + return (x); + } + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[1].bits.sign ? y : x); + + return (x); +} + + diff --git a/lib/msun/tests/fmaximum_fminimum_test.c b/lib/msun/tests/fmaximum_fminimum_test.c index 4c8ec9a5b0e0..0d97c4be8d8c 100644 --- a/lib/msun/tests/fmaximum_fminimum_test.c +++ b/lib/msun/tests/fmaximum_fminimum_test.c @@ -27,7 +27,8 @@ /* * Tests for fmaximum{,f,l}(), fminimum{,f,l}(), fmaximum_mag{,f,l}, - * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l} + * fminimum_mag{,f,l}, fmaximum_num{,f,l}, fminimum_num{,f,l}, + * fmaximum_mag_num{,f,l} and fminimum_mag_num{,f,l} */ #include @@ -130,6 +131,30 @@ testall_num_r(long double big, long double small, int rmode) { TEST(fminimum_numl, long double, small, big, expected_min_num, rmode); } +static void +testall_mag_num_r(long double big, long double small, int rmode) { + long double expected_max_mag_num = isnan(big) ? small : big; + long double expected_min_mag_num = isnan(small) ? big : small; + + if (fabsl(small) > fabsl(big)) { + expected_max_mag_num = small; + expected_min_mag_num = big; + } + + TEST(fmaximum_mag_numf, float, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numf, float, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_num, double, small, big, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, big, small, expected_max_mag_num, rmode); + TEST(fmaximum_mag_numl, long double, small, big, expected_max_mag_num, rmode); + TEST(fminimum_mag_numf, float, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numf, float, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_num, double, small, big, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, big, small, expected_min_mag_num, rmode); + TEST(fminimum_mag_numl, long double, small, big, expected_min_mag_num, rmode); +} + /* * Test all the functions: fmaximumf, fmaximum, fmaximuml, fminimumf, fminimum, fminimuml * in all rounding modes and with the arguments in different orders. @@ -148,6 +173,7 @@ testall(long double big, long double small) testall_r(big, small, rmodes[i]); testall_mag_r(big, small, rmodes[i]); testall_num_r(big, small, rmodes[i]); + testall_mag_num_r(big, small, rmodes[i]); } } From nobody Sat May 2 14:56:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g79w100Pfz6c4bW for ; Sat, 02 May 2026 14:56: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 4g79w045w5z45XD for ; Sat, 02 May 2026 14:56:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STJR+UDQR2ftW56T5hUpMLVz9h2d4TRoNYQaHsr0Clw=; b=wPnuSRlFdCLT0eZYHdUfi8CLxtO3po3TyHqqZplzStSa2pKNkrShkBqxawXoU/H+kDJDP8 hDOId8KPd9x5Bts0UqIO4e3LSgxiUrJRGWldLtUwH0eob+TvKL9AItKgnUabazW8ri8zn3 BGE0l8aukFn4OwN0xobB4eJpxwqhrAgNv2dt9ToAK0A6Re8jgKvhoEV8OIqUF+SqTcikVs 65NcPvqV52DLtllSrb2XjCX+AEfBlEEFmccEl60wm/yD5/zQE2YncYYfio0HRKnEomSU/b VLgm7h3BBmxZ/C9v92bwzpKY06b6HaaO6YrfvGQxJCyAxxh6/Qc9t5iGFuCkGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777733776; a=rsa-sha256; cv=none; b=qkVKpTkrJvaLwDnbmHLxWYMoahms7WBXFltbcOkDSbgJ1LrttXAmBS5ImyQ8yUTLYEfwnN 8b6Rgv/1WEmAuq9bfy9UXc/Z86mTiw16rSeJeLgWYkTstnwAA8CQB3KwJ24O4vuXtO+Qml PVIbmbfLCpxgGk3nMPzpXX6rQWmTpNGuaDISO/FnnKiCRKnBdN90eKayZh5L9+Ydeo6C+H FxA/i/qv2QMUKO1xruwX48wXleqyHWCpPvA2ggXKwDlGOpuGIUq/CGM9grWfRkiPFDw/Ia R8yph+8kvwnxuK/SqYATrSe6jcJLep7LkErsnryS5PwdDKZ9vhAeKW7nZWIHvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=STJR+UDQR2ftW56T5hUpMLVz9h2d4TRoNYQaHsr0Clw=; b=vHA6J8iaaNA8sSL72e5/0pEmtfTWAsJL7OwiyEdczF0SqcXly/mxJ6mQjIBDrumyYUPlFv 3v2H73BjiH+maT9BmkIPzL+iNDh+oua1GZrTdc/G/x3NzUG/DSp0GjDlvc++Mhc6Ahf661 CNP0Ua1BFt6EHkKaU4H+nyPggtrpHhTbZR1gAHFRk8BGeANcBNkEO08zZyCXxTQG0py+U8 WjMQBE+UIaBf3TRqVUlj2e4s7wdKncnV77tlJj8EGOw1RyyGWfa+fk2D0sqxvNUIyxtXPg AUq3EyP1U+h0rwdZRD7YpDYqgNncYQlEWW9+68Ts/5kl8LsuLBIHOOUYvh9PZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g79w03YqFzrCZ for ; Sat, 02 May 2026 14:56:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47462 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 14:56:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: 7c20e15592a0 - main - lib/msun: Replaced pattern to force exception in _num families List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c20e15592a07ea457cacb0d6706948815c8420e Auto-Submitted: auto-generated Date: Sat, 02 May 2026 14:56:16 +0000 Message-Id: <69f61090.47462.d613e0d@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=7c20e15592a07ea457cacb0d6706948815c8420e commit 7c20e15592a07ea457cacb0d6706948815c8420e Author: Jesús Blázquez AuthorDate: 2026-04-27 16:43:41 +0000 Commit: Robert Clausecker CommitDate: 2026-05-02 14:50:49 +0000 lib/msun: Replaced pattern to force exception in _num families Replaced the old pattern of using a ternary to force addition (raising exceptions for sNaN's) with a new one using a volatile variable. The _mag_num family was already implemented with this pattern PR: 294719 Reviewed by: fuz, kargl MFC after: 1 month --- lib/msun/src/s_fmaximum_num.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numf.c | 14 ++++++++++---- lib/msun/src/s_fmaximum_numl.c | 14 ++++++++++---- lib/msun/src/s_fminimum_num.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numf.c | 14 ++++++++++---- lib/msun/src/s_fminimum_numl.c | 14 ++++++++++---- 6 files changed, 60 insertions(+), 24 deletions(-) diff --git a/lib/msun/src/s_fmaximum_num.c b/lib/msun/src/s_fmaximum_num.c index c7cfcd26fd70..4d7c860d2ce9 100644 --- a/lib/msun/src/s_fmaximum_num.c +++ b/lib/msun/src/s_fmaximum_num.c @@ -53,12 +53,18 @@ fmaximum_num(double x, double y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numf.c b/lib/msun/src/s_fmaximum_numf.c index 60a7ccae343e..b41f293a428d 100644 --- a/lib/msun/src/s_fmaximum_numf.c +++ b/lib/msun/src/s_fmaximum_numf.c @@ -52,12 +52,18 @@ fmaximum_numf(float x, float y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fmaximum_numl.c b/lib/msun/src/s_fmaximum_numl.c index a2a5383ab85a..74a3d9ba2211 100644 --- a/lib/msun/src/s_fmaximum_numl.c +++ b/lib/msun/src/s_fmaximum_numl.c @@ -47,12 +47,18 @@ fmaximum_numl(long double x, long double y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_num.c b/lib/msun/src/s_fminimum_num.c index a5fd657955c5..67999c366a76 100644 --- a/lib/msun/src/s_fminimum_num.c +++ b/lib/msun/src/s_fminimum_num.c @@ -53,12 +53,18 @@ fminimum_num(double x, double y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numf.c b/lib/msun/src/s_fminimum_numf.c index d5e8f0812bdb..c4b686be158e 100644 --- a/lib/msun/src/s_fminimum_numf.c +++ b/lib/msun/src/s_fminimum_numf.c @@ -52,12 +52,18 @@ fminimum_numf(float x, float y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile float force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ diff --git a/lib/msun/src/s_fminimum_numl.c b/lib/msun/src/s_fminimum_numl.c index dc0884002499..b30fbc721b6b 100644 --- a/lib/msun/src/s_fminimum_numl.c +++ b/lib/msun/src/s_fminimum_numl.c @@ -47,12 +47,18 @@ fminimum_numl(long double x, long double y) nan_y = isnan(y); if (nan_x || nan_y) { - /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + /* If both are NaN, adding returns qNaN */ if (nan_x && nan_y) - return (x + y); + return (x + y); + + /* force_except makes sure sNaN's raise exceptions */ + volatile long double force_except = x + y; + force_except; + if (nan_x) - return ((x + y) != 0.0 ? y : y); - return ((x + y) != 0.0 ? x : x); + return (y); + else + return (x); } /* Handle comparisons of signed zeroes. */ From nobody Sat May 2 14:56:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g79w16KMHz6c4bZ for ; Sat, 02 May 2026 14:56: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 4g79w157bWz45d5 for ; Sat, 02 May 2026 14:56:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xI57yU/RQfeiSchVGGU4Ifs4e7jm+Yu1JaufFszMlAY=; b=lhBSNQ1NjJrO0qK3ZXXGC1tNwdzhC0Yd+h9wQ9MXkHxneA8SAcm1uSukPKewKPj6GaR58i dX1rgIrGjAwDXLPSLL4fMDbgoHNTFK+6PY7H0LcVWuTMwvSZLin3uXZIT3BgAngie76laT q+gh+q4xa6874mWr2BBmiPZiPH1J/Hm8IKmQ5cesjsSHmjyRIwS6dcdLMStC5Yk7yHghco l9r8zf4i5T4rsCcPK0g4cUdseLHlZCDHz2e0XFAFsgFfsWWhl7WzP9S1j/v8zs29XfTdIU qYJxY/3xFLs/eBDyKNHx9c/+8ip1u5hx9rhKKT3crbLpDz/xan2SVu74jSWwHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777733777; a=rsa-sha256; cv=none; b=O/99pMKt6MpuXECYA8IKzP6CbfAZBWLil5pRaJBGnHNPxX8k8JkrB6C3r6qm/di/WeAvgo xJbX/tFrEo8Jfo8N9RUMjPG1sfYoT45aYz6P6GYuuqsE0aeupI7U428ASR3sgmxN9euZrX r45gftT1hnN5i6K97WtkN2KBdBgk9Ht7aNRWpw+X/glkB24JZMMYc4gRZLNlgGDHLfQ3YX qU5TWuQ3AO0jBuPU+1YV1xcgdzkYkHICBONd89ucEMM+bgKarRb1ytbJlfVUnsym1PrkGw Lp5Jkj+fcfuKGFyM0tIBeHFBRWX3OkdPF+e4HqvN04ICOg2NxTiXDpT+doux2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777733777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xI57yU/RQfeiSchVGGU4Ifs4e7jm+Yu1JaufFszMlAY=; b=aOM6IpBNS5/0LSqIqYRxL2gKvCNwYHXbX9JuGh3c0hC9FlFhX5nDpXhM8nNgvd/gFk/NmW brstWlXXmlZQoxvD6viTZNIlW2DI6EM8kIe90vi/P8rfv1GdNNQXmjiOi5eESIwPWaJ+rk 7SuiY29PBaZw+oaOQlysEl1mXVK4dBs/t0iF6xytD6kh63UAqugoPs18x+a4MTD/JOEezE hBVuz2G3Mpx64rrosGS3xXTbEKG8XNBA7PEPDU8Fx/JkgloH/s7aBVl0vo50t7NC0H0ugE VLw0UuLckRGSnQ4KAsszxxJoNd/A0oHONSYlDjHdPjaTarepzwtaUMwmB/aJEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g79w14MPWzqgd for ; Sat, 02 May 2026 14:56:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46a72 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 14:56:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 9f98195ff615 - main - man/math.3: mention fmaximum_mag_num, fminimum_mag_num List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f98195ff615417f7af875b65cdaf220239206db Auto-Submitted: auto-generated Date: Sat, 02 May 2026 14:56:17 +0000 Message-Id: <69f61091.46a72.2634ee1f@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=9f98195ff615417f7af875b65cdaf220239206db commit 9f98195ff615417f7af875b65cdaf220239206db Author: Robert Clausecker AuthorDate: 2026-05-02 14:53:08 +0000 Commit: Robert Clausecker CommitDate: 2026-05-02 14:53:08 +0000 man/math.3: mention fmaximum_mag_num, fminimum_mag_num PR: 294719 MFC after: 1 month --- lib/msun/man/math.3 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/msun/man/math.3 b/lib/msun/man/math.3 index f98c5e1a2a75..882bfdf5225f 100644 --- a/lib/msun/man/math.3 +++ b/lib/msun/man/math.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 11, 2026 +.Dd May 2, 2026 .Dt MATH 3 .Os .Sh NAME @@ -117,12 +117,14 @@ fabs absolute value fdim positive difference fmax maximum function (legacy) fmaximum maximum function (prefers \*(Na) -fmaximum_mag maximum magnitude (prefers \*(Na) fmaximum_num maximum function (avoids \*(Na) +fmaximum_mag maximum magnitude (prefers \*(Na) +fmaximum_mag_num maximum magnitude (avoids \*(Na) fmin minimum function (legacy) fminimum minimum function (prefers \*(Na) -fminimum_mag minimum magnitude (prefers \*(Na) fminimum_num minimum function (avoids \*(Na) +fminimum_mag minimum magnitude (prefers \*(Na) +fminimum_mag_num minimum magnitude (avoids \*(Na) signbit extract sign bit .El .Ss Not a Number Functions From nobody Sat May 2 15:20:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7BSG0VKrz6c6xJ for ; Sat, 02 May 2026 15: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 4g7BSF3l2nz3D1k for ; Sat, 02 May 2026 15: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=1777735245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nRWgic/Tk+vP3Oj2EJxks848MqmZcZVyaJzFF39zLNQ=; b=w6IwUwoeAT8Wf8OEo+ymYWeX5OlNFffbxtdRbc5AkRIdsivGIwX5LfLj8oZvlgBZ1k1Jtu IRe5NvrbbZifkPDuMLfU7zjcaK6+2xB3EjsOn3Mj1X8bxyyL6LEUReu7RT5H4rj4e6eJs/ HuxU5gAwLG8eh2TxZ2xBfMDzSuzomMT4MTowX3kM/ZGHKqLMcJSa5vmedmWZ2SnbnJ8P8E PEJMInksgCXtTIXy3eqQ8YeTtAhekZYWo5E4vYNUAFUBQHm34K0w8MiV3w2eMyD9DIxSgI lPXjKtLZGq5QXGfCVzaCyJducR1Sf+NTbTMLW487w8iyZzuUYrUIkoaXrMyRXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777735245; a=rsa-sha256; cv=none; b=Bhf26h7wClfYEiTSDwFMUGMx0CjjN2sorSFGyYexaWD30HyWDq8MPUBVfD9FnDHTVbZnC6 A7iU71dy1zP9kcN6ovpNwZXjHNdXQY6a9PmLiAE69Eb1a81WiDEWw5lw5UkEIRsA7ouoWx payj/TiirCZoLdo5wr2JUZG8AMwHavgo2meUdHaBN0lJQT3CrFum5p1AI+vhrNQyryRvbE qGP5B3pQJ6ppyHV2tV+Jq/7cJHpQgtLQh59qFhHdytTr0c3kXBHQLYM5UzFtzuat7IPfRM cKtGyhaE7XsI6czt6sB3JcvBly8+SBVgIGoT5nai7yNneGtHD2aMoxAuQRZl9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777735245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nRWgic/Tk+vP3Oj2EJxks848MqmZcZVyaJzFF39zLNQ=; b=H/4TKJoE/0QAnQaoFDsGTyRzTGIVbxPQJFeCtN7josMDGYYm15stpmK0ubDzPvzAcAT3ZR TTx4JoqGPOjuhWJxu8RuT4LScAwN9/SOmxWKkJUo5AK8IzfE100ZURJAAuWQJ6QURV44lI VFrOdkqmYEtwfUT57PBkIPnGhfIuPU3txVhH8+Ho/fHUTBrKM9gSti+6+huNHabHJsKKvK jivDfyedcM1o2W0Isa7XuNrCiERcQcEsAjFJsUNFdhJbHF16hUo7b8/PHUBe6Na79kyOrG w+rsOxKJO0dgYbhlyUlnjRrW3qWjlMWsDG3EVKIioVhqEIKtcDAvhpeVRScRuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7BS94d71zrdd for ; Sat, 02 May 2026 15:20:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c022 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 15:20:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 3e845b109056 - main - ping: fix listing test cases when scapy is not installed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e845b1090565912375c5578cf0399d27b7fa70c Auto-Submitted: auto-generated Date: Sat, 02 May 2026 15:20:41 +0000 Message-Id: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=3e845b1090565912375c5578cf0399d27b7fa70c commit 3e845b1090565912375c5578cf0399d27b7fa70c Author: Alan Somers AuthorDate: 2026-05-01 23:06:35 +0000 Commit: Alan Somers CommitDate: 2026-05-02 15:20:16 +0000 ping: fix listing test cases when scapy is not installed The ATF-python test program was attempting to list test cases that require scapy. But it attempted to import the scapy module before the test cases had been listed, resulting in an ImportError that kyua interpreted as a test program crash. Fix this behavior by handling that ImportError well enough to list test cases, but not run them. If scapy isn't present, Kyua will refuse to run the test cases. But it needs to be able to list them in order to know to skip them. Sponsored by: ConnectWise MFC after: 2 weeks Reviewed by: maxim Differential Revision: https://reviews.freebsd.org/D56765 --- sbin/ping/tests/test_ping.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py index 3f9a3aecf924..fdf9c875329c 100644 --- a/sbin/ping/tests/test_ping.py +++ b/sbin/ping/tests/test_ping.py @@ -12,7 +12,31 @@ from typing import List from typing import Optional logging.getLogger("scapy").setLevel(logging.CRITICAL) -import scapy.all as sc +try: + import scapy.all as sc +except ImportError as e: + # Fake scapy well enough to be able to list test cases + from types import SimpleNamespace + sc = SimpleNamespace( + scapy=SimpleNamespace( + fields=SimpleNamespace( + SourceIPField=0, + ByteEnumField=0, + MultiEnumField=0, + BitField=0, + FlagsField=0, + ByteField=0, + IPField=0, + ShortField=0, + ), + layers=SimpleNamespace( + inet=SimpleNamespace( + DestIPField=0, + ICMPTimeStampField=0, + ) + ) + ) + ) def build_response_packet(echo, ip, icmp, oip_ihl, special): From nobody Sat May 2 15:24:42 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7BXv6Pnfz6c7KV; Sat, 02 May 2026 15:24:47 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7BXv5dglz3FfH; Sat, 02 May 2026 15:24:47 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777735487; h=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=W5pGjUtwzBWvZxRmJBe7uEWEf89rDAg6C6X4QmFDMZw=; b=msnZbz/WoaoZTBfxD7x8J1zS+qkL+b50vMmmFzqJrkqrP4teas7leqsKxsFk9AUOJFlkc6 /rIe+IjBafSzYd/0sxNNPIRp7Sq5XTFSU/yDsVlO1Ct//PfbTOJG9I+Splue5nNZFKaGJG VLOBqF0DMbNIawZN/bfiD4V72ra9Tkgg2hbVrRRw5k0YfY3mY9JA0On8Mqfe0LfbrqWs+a R/uuuuc31X+4/3w+PUSCVEzHhMRcTPBTRxKEA8Nx5F0jNH8LnOnVYhMtXDEQTqzrW5SSCx QUP5MNCsGPFIqMmI6vrSoBiIKIFrH4kJ5qsBMHnnW9OMFb9XYNxhHbvY/4BAkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777735487; a=rsa-sha256; cv=none; b=Hwpk3kLlkCbgfx5E7NsO9zMzJgBcrr4j9oEGq+OA0qgzBq5Sh2YGF6/fhr/bwjIuZFKQ+H Kjq5+4qvTEj5F1Hr2XGULw+UoBz5ybXzBJmliG7Kp7TLP0duOpCU/ijisCPK61TlgAqOr4 uuTyiQcNmBPxCTTeuKcdrB6mNwzYYiYoK2+B21tIoas0ZdriI1Qw4bKU7RrXK8s1eU1/gK EDRVzNiNpFu9J0HavTavW4ein+6sTXQJD+1kLRrn/HqXo5flEgXyLsOrZ6X9NYJtEXrqKR s93FD3XBpTVHsIyidMHuTprFx53Rs+SRnPLo5eIbUn890rVfni7CycuZwFM/sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777735487; h=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=W5pGjUtwzBWvZxRmJBe7uEWEf89rDAg6C6X4QmFDMZw=; b=s+ai7gzwTOHxrODyNkhH9Vv8hVUP7tLLYddDoPvez9P2WzBOkCVpyugETo1oss0mY30lYR 6QNs2KNUCJUhARBYOKTJllgugz4qNENOJ10WYJ5Dgx5X5Q14JUgDkM10aQtifD15PCnkAl LF1JXCsw6eUeyvKuVX6szAPaAizzTKS66uliAVyDQj6wHM9YvviULcb0lPyikRf7oYhbrk ILujVWvfD4gV6/7JRsAWFxOpwMvHsATwCUDlvUxVJL9zFSTbb+yLluU5RxGFXvaEaeMg47 Sr2D6TwJGEN0gmGIdJ/4J0IR+aoMn/Zvvp+D9i+yqW4AgSI5EQSY9+o6aP1RXg== Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g7BXv1gTHzL1Y; Sat, 02 May 2026 15:24:47 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Sat, 2 May 2026 08:24:42 -0700 From: Gleb Smirnoff To: Alan Somers Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 3e845b109056 - main - ping: fix listing test cases when scapy is not installed Message-ID: References: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> On Sat, May 02, 2026 at 03:20:41PM +0000, Alan Somers wrote: A> commit 3e845b1090565912375c5578cf0399d27b7fa70c A> Author: Alan Somers A> AuthorDate: 2026-05-01 23:06:35 +0000 A> Commit: Alan Somers A> CommitDate: 2026-05-02 15:20:16 +0000 A> A> ping: fix listing test cases when scapy is not installed A> A> The ATF-python test program was attempting to list test cases that A> require scapy. But it attempted to import the scapy module before the A> test cases had been listed, resulting in an ImportError that kyua A> interpreted as a test program crash. A> A> Fix this behavior by handling that ImportError well enough to list test A> cases, but not run them. If scapy isn't present, Kyua will refuse to A> run the test cases. But it needs to be able to list them in order to A> know to skip them. A> A> Sponsored by: ConnectWise A> MFC after: 2 weeks A> Reviewed by: maxim A> Differential Revision: https://reviews.freebsd.org/D56765 Sorry for not reviewing in time. I don't think Kyua expects a test program to be able to list the test cases, but then fail to run them. Isn't there a standard way of dealing with the problem? Many tests have @pytest.mark.require_progs(["scapy"]) in them. -- Gleb Smirnoff From nobody Sat May 2 15:31:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7BjK5lQrz6c7tg for ; Sat, 02 May 2026 15:32:05 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7BjK4q5yz3GrC for ; Sat, 02 May 2026 15:32:05 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-678a16429c6so2967712a12.1 for ; Sat, 02 May 2026 08:32:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777735919; cv=none; d=google.com; s=arc-20240605; b=f6n/zS54T0iJC2rQUXhlznuYJGFLOILNY006wZtSsYm3ythzW9UgTpiPf1w2qjN5pp G/7JLH6Hhp/T0gFo6PHOAUeQ/+uvmhhEB4FOOLl6G3m5eXMrtqjF9+d4OHwkDQY7bGqR PmSYOsepljmn3iWnbuRF8T2ch4MlTXxeO2GGPCpEhs+n/tWcnelUV1Vi4AyzfmHm4PU5 Guhll2n1cK/x/Tq68Mx/iS/qkELN8tbGpJg31XhfIojza7VXYOKOdqie8mnm8XT1ym7z 0gkf1mcqBsvHefeCPXz1BgAof4PqyWTUtAqaJ3QV82SGOfHV98eNwaZqC0xlufAaQoxC ck2g== 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=u2H4NHdpLl4a/XZuIN4Tnkf7Unxhwl07hVsLUSLyeD4=; fh=EyPK9oLIez4e0GV0H5wRzmmSrbJTJv3I6Yjya0R94Og=; b=dc2scdpTtYuGvGlufwpSecssFs7T3fn5HkpYS2DUhl9cmq4M9MZfE3rfJR1lAt8ItY 3KVD4KqBYBVDsuQXcfQOk3STNItciCKyCufGJvIQBm2XtULwMeMnah0MgHcn8V70y6fW bvS9453XdrmmkjSysZeH6jYlS2m5oX4udwpLA5fvczqTtZUdGSQGhP3gJY0neuca0N6X xoEZHo8MrbnvxtG0Li+LUhThvABIclGXnmoJBPp5quJPD3n0KKBT0YT2ucpbbflbke4F a7IAYnZX1MyGszuo9gjd4n0mswasAfbfyDZN7jNHi9rOIZkhsbxo5mlsiVpcB9FVRuu8 gW+w==; 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=1777735919; x=1778340719; 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=u2H4NHdpLl4a/XZuIN4Tnkf7Unxhwl07hVsLUSLyeD4=; b=MrV8UrBfGt1PsK6756djmAxJ+GkmygLtwrKJ2A/WJRuVmTD8yWTN4hmT4c24nlPPH/ hSfqGttZU7QUI0Icc2mwFWRGKmmHK+L7tnDe75KbVzseP95m90NY7AEGgh4Gqrs9O2Wu TMvbaxyh3AdvWnDPquRYyqkokav+scpzwP6oQ+u1hjaKPbZmPGbQ0zoJ+zj7vbvJ+DiX g2JAKvdeIeN2C5e5fVUrvAOClK7blLJVjjeO78uyciTuDTZFGznlhadnTxRc++TV/83K QnSdYrrgfJDnyHEf7XoJkStDQWIJojtRt+L5geK80uARDS32SmQ0uX3E0bi9x/6NrTgK Zu6A== X-Forwarded-Encrypted: i=1; AFNElJ+pw7wfun4cHq5du0ozamfFIyDIMhNZHbphtzd7YX0UziHZIXWI4KPdoheesvX+MnMmUTcMKpqGowXE6tzPrvx3jykwWQ==@freebsd.org X-Gm-Message-State: AOJu0Yxrr2YuAIYKr0YeA8kTZihH05NdXSC6SGkX+C4TKbH10oUmnOjB 506NwCs69Dc/uWUOO6hJ4AclXWJ1UafJInkeTt0HRmtP6SZBSAX7GNxwVzneq4UbIP9VuKZ+85E 1kRh0xBGAMrr01blFlluu/bIiLM8+S2o= X-Gm-Gg: AeBDievnf+DEP16a8q6C/rxvo28T9xBqfrlfqqIkKGcNVZOmaApdU+HZncDhkcfiO8G eIih46EdFtyqs9YMiI2isl7funSIs4va0jyFZkFInu1AM1CFCTYJ2OdcdowdorzMcVKXpMRHrE/ W3PobTlNreIFVElhVl0x0W/ka9tdosadPbRIkX8WguPYSAmAsEP2hhFKHl4NrgkuOJ7H0xjD5su qn3yEj1z+CzaZET1eEsQRLj8dImA58iIBs61+2VUyB/2JlE6qYzCjgxduwYu6JfEX7ME+G8byrM MNNjdeSlQoQ84Pk2NZ9NNWT1XPv0HA1izD2NQb4MaqxdhDQBMqH63jS0568wGdxitBLnccY6W7E idUQ= X-Received: by 2002:a05:6402:a605:b0:67c:34bb:1bd1 with SMTP id 4fb4d7f45d1cf-67c34bb1ee8mr376094a12.1.1777735918863; Sat, 02 May 2026 08:31:58 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Sat, 2 May 2026 09:31:46 -0600 X-Gm-Features: AVHnY4IJb9g52Q4ZlDv1g5Z9rIY5FmzkvYLInIt80kh21leox3DGa0hY79W-qTk Message-ID: Subject: Re: git: 3e845b109056 - main - ping: fix listing test cases when scapy is not installed To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g7BjK4q5yz3GrC X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Sat, May 2, 2026 at 9:24=E2=80=AFAM Gleb Smirnoff = wrote: > > On Sat, May 02, 2026 at 03:20:41PM +0000, Alan Somers wrote: > A> commit 3e845b1090565912375c5578cf0399d27b7fa70c > A> Author: Alan Somers > A> AuthorDate: 2026-05-01 23:06:35 +0000 > A> Commit: Alan Somers > A> CommitDate: 2026-05-02 15:20:16 +0000 > A> > A> ping: fix listing test cases when scapy is not installed > A> > A> The ATF-python test program was attempting to list test cases that > A> require scapy. But it attempted to import the scapy module before= the > A> test cases had been listed, resulting in an ImportError that kyua > A> interpreted as a test program crash. > A> > A> Fix this behavior by handling that ImportError well enough to list= test > A> cases, but not run them. If scapy isn't present, Kyua will refuse= to > A> run the test cases. But it needs to be able to list them in order= to > A> know to skip them. > A> > A> Sponsored by: ConnectWise > A> MFC after: 2 weeks > A> Reviewed by: maxim > A> Differential Revision: https://reviews.freebsd.org/D56765 > > Sorry for not reviewing in time. I don't think Kyua expects a test progr= am to > be able to list the test cases, but then fail to run them. > > Isn't there a standard way of dealing with the problem? Many tests have > @pytest.mark.require_progs(["scapy"]) in them. > > -- > Gleb Smirnoff Yes, these tests already include @pytest.mark.require_progs(["scapy"]) correctly. That's how Kyua is supposed to learn that it can't run those test cases. You can tell by running the program manually, bypassing kyua: $ ./test_ping.py - Content-Type: application/X-atf-tp; version=3D"1" ident: TestPing::test_ping[_4_c1_s56_t1_localhost] descr: Test ping has.cleanup: true require.config: unprivileged_user require.user: root ... ident: TestPing::test_pinger[_0_0] descr: Test ping using pinger(), a reply faker has.cleanup: true require.user: root require.progs: scapy ... Notice that the first test case does not require scapy, but the second one does. This is how Kyua learns that it can't execute the second test if scapy is not installed. However, prior to my commit, if scapy was not installed, running test_ping.py -l would fail with exit status 2 and produce no output, and Kyua would interpret that as a broken test program, like this: test_ping.py:__test_cases_list__ From nobody Sat May 2 15:56:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7CDy1VmXz6cB6m; Sat, 02 May 2026 15:56:02 +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 4g7CDy0PnSz3KGk; Sat, 02 May 2026 15:56:02 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777737362; h=from:from:reply-to:subject:subject: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=cQ/tn4TvHHTgYkckruhLAafr2W2R2qHQ0rULgj9VvBU=; b=V/batAr+rH6rFpMOnQUs4upKINQ4gZUzyqfp0bw6h+OXDimlHUzreLlYb+QtrBaTKGkAvG B7ZIAAP3nxAUEs5ezeOYfiBLfFJSMvCNGACGk9Dj1Xc50cBinCrdeO5oS2quJCAGa3XOrJ fb7lxdh8fqSRbj6eh4bti4Z+uJEbCTFMddBh7JjUlkx8Rfuf2Es2BEnT+cCGshkoiA5n6h CFt5NpXyzqcwV54KUtJR5hpNQ/yIJKpb9DESxjCjRbpA6QdfEKJwcIzCR4I85MEgpFayjb 5IuQJwuPHbwGFVVKfY8NebxsWbk+QIdPtDaMMZrBE+udCkul9nbZqEus8Wgrfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777737362; a=rsa-sha256; cv=none; b=pdl/GyU2GcTjNh7YhRtnuuDCI+rIrvQDTm7TK507lsWbk0UOuk9NOFRIGujVwL/W+7o8Jo s445Y9dbb5xdR3nWA2C81XzTNE98weVWtm3sxUxdw5gLv2IW9ZSiOUY0FruSKyXpOWrXPR cPvejzsQPpEMBS/u26B5VFfJbFIzYYfBEZoxQEnI79kcoPVnRgk8qHe5XJS0D1xWGPqpy7 T4gPK4ILmfwHLFLdLYteKR13GpIPjmN2qoK33GC3+yFl+kqBadiRKVi59YkyuR/sF14ts/ SdNk0vNfM+T4NpWjFMclgKnmyv+ZkbJxV7ZDXBUhZuLMKH/qcJ6lvP52AKW9IQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777737362; h=from:from:reply-to:subject:subject: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=cQ/tn4TvHHTgYkckruhLAafr2W2R2qHQ0rULgj9VvBU=; b=sXDYJJvpjE5Gg/4ql/8UkrysNK14Yv94kRxHXL5kdJXLSRMP5apA5RaDYTYnSr+Dup85Cq WsAv65I3+uk9q81gIjThFIMzX7Mvp0tFL8vtNlkPUH8QEJsWtzo9HbZAIfktnY2QwLCaYF Okj9un5fm8jlTlgRNpkNQO+WlRVXU3HmQo4WvW62tWd+1GqmnWGFtwOn00lS4whTDWXcks ljnFTEVuFqtwLoPU0/fU5i6C4CKpmgr6AzNc1fAm1cQmg191b0t63rzSiNHmz/yDZ+wyZ4 WR/CEeJXlt2Uc91HhW3LpbQfPuA8HxJtKJ1LCes0Wvy6Z1gEfjN2VWzmsQu3uA== Received: from ltc.des.dev (2a01cb0585070b00922e16fffef1acef.ipv6.abo.wanadoo.fr [IPv6:2a01:cb05:8507:b00:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g7CDx67HrzLMw; Sat, 02 May 2026 15:56:01 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id A9B968E454; Sat, 02 May 2026 17:56:00 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Gleb Smirnoff Cc: Alan Somers , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 3e845b109056 - main - ping: fix listing test cases when scapy is not installed In-Reply-To: (Gleb Smirnoff's message of "Sat, 2 May 2026 08:24:42 -0700") References: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Sat, 02 May 2026 17:56:00 +0200 Message-ID: <865x55yfe7.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Gleb Smirnoff writes: > I don't think Kyua expects a test program to be able to list the test > cases, but then fail to run them. Yes it does. We have literally hundreds of cases like that. See require.* in atf-test-case(4) for more information. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Sat May 2 16:50:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7DS71JPdz6cHHC for ; Sat, 02 May 2026 16:50: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 4g7DS70RRvz3WGH for ; Sat, 02 May 2026 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777740647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JEUl1rzEjg4zN49eqNMY6bIytH99QkcvAqzB00/ErFI=; b=iqx/mBdmAaBUviAbHw2f7sPUHeA+3XjY9Ql4y78SXCskRIwkNtFAbtPUZNwlqeJm39JXCc 548urgLUK0XeKxk08gP70l+EuUJ7fQ8vvn7bxOP6oYY8x5EBB2R4YPWtKzsSdtcOZpEoJd wmNBI0IBEzfYdQ80rQIfCTLM63jsffuYpPQoF2HKRPZ5pv+1WHpL8SsVkGox/sW2rEQs6e Ut2bWa9v49IAy4l7lyQebfWE8doQYKNIWdm3VAUpPSseeeIxDZPsZKB4WtCGMFDQeaK6LX zBkcBkZ9WiQ6Z7JsPUr/lfeeVldQsfeM+hHBQ+nM3ZhTkRwRyBH10Y69ExVOWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777740647; a=rsa-sha256; cv=none; b=WsgijA6L0eVSqe2WSWur/F4Ae8Ly+Zm/lGYiwuyaeB53WSDyrXuYQTEHzuRjjsTXXB6Tw9 D1cwL3dUAdnsaNa0z7d/qWQIgFYIcf1VA7AqmYj3G2gq93saR6AyxlSOCTS5ujGay3L8IT wnm/4U1nxtYnGxx0kAjERf0E6rTDA14SEDNVw7QgvXLGu0uILn7g3K1cNbMjR9sZFB921H aqYl3cRxyIk82nKaZ3XCBVmI6VhjTKWKFSFE/pmotGcX5DS7hj/Gwjc/80tz6HMgnT1iIz PEFlKfu7VvismJgZv6bSMeTzdPeBezUvSGGxjdH+AsfiFAuyE6CM760TvZOGqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777740647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JEUl1rzEjg4zN49eqNMY6bIytH99QkcvAqzB00/ErFI=; b=x8Cvlu+0oQjcNMIVpCviQXE3iNKbWxjd1mSn8tXxv4QMEfILb7l7HQeRbzURCkeUmEgVPh KDmLiIc1MmD7sReHkaR/73syItaYlFBuCpy2eJd028OQIYWBuZPhWXSwOKtiObHj6X9Ivb 98bGzyaPGs0Grvl7hEJ62BkZtBrQYl2OD/zcATvVR6/ObdeC7hQVr1pAESNa1fntnQy0r+ aYeYNNXZoYbY4U8NVNBBniJpzZARXoDcyJqh2wZ/m8LmHyzhdDQvDGOIA95sog4/3DIoxD fTg0/KSd8kpt4SJhTiqs69JnqoOsD+0lDdsurq8GEZT0xozsfVPfWNw955ivXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7DS66mrYztgK for ; Sat, 02 May 2026 16:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23e7e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 16:50:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6f8312bdff23 - main - ctl_ioctl_frontend: Reject out-of-range initiator IDs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f8312bdff236ad64d1c15c239051359d8245a68 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 16:50:46 +0000 Message-Id: <69f62b66.23e7e.78811af8@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6f8312bdff236ad64d1c15c239051359d8245a68 commit 6f8312bdff236ad64d1c15c239051359d8245a68 Author: John Baldwin AuthorDate: 2026-05-02 16:43:29 +0000 Commit: John Baldwin CommitDate: 2026-05-02 16:43:29 +0000 ctl_ioctl_frontend: Reject out-of-range initiator IDs Various places in CTL assume that initiator IDs are not larger than CTL_MAX_INIT_PER_PORT. Other IDs such as lun IDs are validated in places such as ctl_scsiio_precheck, but initiator IDs submitted by userland were not previously validated. PR: 291059 Reported by: Hans Rosenfeld Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D56628 --- sys/cam/ctl/ctl_frontend_ioctl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/cam/ctl/ctl_frontend_ioctl.c b/sys/cam/ctl/ctl_frontend_ioctl.c index 3449154afb38..4b82552ec21f 100644 --- a/sys/cam/ctl/ctl_frontend_ioctl.c +++ b/sys/cam/ctl/ctl_frontend_ioctl.c @@ -588,7 +588,7 @@ ctl_ioctl_io(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td) { struct cfi_port *cfi; - union ctl_io *io; + union ctl_io *io, *user_io; void *pool_tmp, *sc_tmp; int retval = 0; @@ -606,6 +606,11 @@ ctl_ioctl_io(struct cdev *dev, u_long cmd, caddr_t addr, int flag, if ((cfi->port.status & CTL_PORT_STATUS_ONLINE) == 0) return (EPERM); + /* Reject out-of-range initiator IDs. */ + user_io = (void *)addr; + if (user_io->io_hdr.nexus.initid >= CTL_MAX_INIT_PER_PORT) + return (EINVAL); + io = ctl_alloc_io(cfi->port.ctl_pool_ref); /* @@ -614,7 +619,7 @@ ctl_ioctl_io(struct cdev *dev, u_long cmd, caddr_t addr, int flag, */ pool_tmp = io->io_hdr.pool; sc_tmp = CTL_SOFTC(io); - memcpy(io, (void *)addr, sizeof(*io)); + memcpy(io, user_io, sizeof(*io)); io->io_hdr.pool = pool_tmp; CTL_SOFTC(io) = sc_tmp; TAILQ_INIT(&io->io_hdr.blocked_queue); @@ -636,7 +641,7 @@ ctl_ioctl_io(struct cdev *dev, u_long cmd, caddr_t addr, int flag, retval = cfi_submit_wait(io); if (retval == 0) - memcpy((void *)addr, io, sizeof(*io)); + memcpy(user_io, io, sizeof(*io)); ctl_free_io(io); return (retval); From nobody Sat May 2 17:29:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7FK604Sgz6cMW4 for ; Sat, 02 May 2026 17: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 4g7FK54QcYz3dmY for ; Sat, 02 May 2026 17: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=1777742985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DsB/Hi8hEfhsgQ06KcThz+xiRyA6fPgKyfC+0IHOzjA=; b=Pr3ywdmf8sk/B/GNG2h1Z96HRZpshSfU74a3+lZyvS2WAmPBWMEeQIjt4/31pKFJL/RKpS 4R+d4VCfDrOHXyJewUKLl7PqPprfectr+s4GJNl/G87xIhzKHrqUhBc8WZfmjRiAOucKef hMGMf7PM7cZGk4EnuhIhGYa2odQWTNznAZLL/cAUcLItiYIlFO2R7CWURFDDHODJmERTSx CEHFClDFchJwwI4Wop5//cQFo2bPPMSZvUCMxuQP7mGMVY90YeoUWwaV4lZIEGdh6DQB2i c9UZ9EZ/B68ih2VPuKYwJcs/wI6g2ExCXV+DuGSQZprQH+6skkmqKGvsRL34TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777742985; a=rsa-sha256; cv=none; b=s4frQCHs72zsSfbKF5oreU5IYJgMUkagXVpRfmRMQH+LVSLcx36d3/dGV50sdb8DaJA1JD BhAnj4drTgFkhAnXUAZeuAllCcamxBwCZwMBJtWSAFn47fle1W0LHou/iApyAe5WADySIF VCrSoqHSUGgLYHLUC1R6UXSM1QLcFmzReLJU8jmDcFA+BwqJpw/4dMdNF1PxOf9jjsbYs4 qwv/XeGY53OA9tc+srfG9qg1fmqC9wLiiaB96/W5X0sbyVNTeCBWIxztnemz1PWJYeCNDu O7lZnylirvcfGESxds8M41YObnQa6ydXN1Hxcm5BUc1KH9ZXKyUF2yXHv4H0dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777742985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DsB/Hi8hEfhsgQ06KcThz+xiRyA6fPgKyfC+0IHOzjA=; b=cxgsf3TZIGXBpqyzVLZGA6fua8et77iLX3rpkEjD3Olt9Qn0jpobSoil+CJAeCLVOf5obU 0i49b+fCrJqj9DY0qA9a2+zbrM6oNpwUaqowIoCSfQJ9EGBGnvfCyK0UFi59PBkD2m8o7T iG0y17NMZcaKFY4ADg6zSqkMBN/HjJUHjnMeC7CeVX6o0/tGtY1aL+yAy40nWUV6UgYLXu opbhJls6eMUbf5O8FIgLkjZjjZjtSZh/Am7ikkmUxBLbytd8oaABwiuSQTdKCgetHqsdHE VvQSgwyAc4NRyxVlP/KUf32sIgVWR4psKls4YaMQE73Wk/+izVg7V6iJDEcimg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7FK53mtSzvtR for ; Sat, 02 May 2026 17:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 270f7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 17:29:45 +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: 72b1aae09bf0 - main - stat: The devname test case requires root List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org 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: 72b1aae09bf0bcc01c76df757699e27ad7cf7ecc Auto-Submitted: auto-generated Date: Sat, 02 May 2026 17:29:45 +0000 Message-Id: <69f63489.270f7.5d4e5d74@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=72b1aae09bf0bcc01c76df757699e27ad7cf7ecc commit 72b1aae09bf0bcc01c76df757699e27ad7cf7ecc Author: Dag-Erling Smørgrav AuthorDate: 2026-05-02 17:28:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-02 17:29:42 +0000 stat: The devname test case requires root Fixes: 4d4acdbfc22c ("stat: fix use of devname(3)") --- usr.bin/stat/tests/stat_test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/stat/tests/stat_test.sh b/usr.bin/stat/tests/stat_test.sh index 1db6d8122820..f2de15cf4f9b 100755 --- a/usr.bin/stat/tests/stat_test.sh +++ b/usr.bin/stat/tests/stat_test.sh @@ -307,6 +307,7 @@ atf_test_case devname cleanup devname_head() { atf_set "descr" "Verify that %Sd outputs a device name" + atf_set "require.user" "root" } devname_body() { From nobody Sat May 2 19:11:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7Hb01kdwz6bM1s; Sat, 02 May 2026 19:11:56 +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 4g7Hb00W65z3wqb; Sat, 02 May 2026 19:11:56 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777749116; h=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=ZpUHjRgfmhjZwZ7pewQsb5sUsPIHjQ2rPQWEPBvbk7g=; b=LazDb9ddNIzgIr2vBVzwl7YeRa1sTj8zHr7i6dAW2bF0FJF452KpB0CwG5zStb9lyGblVB OgjffPnk6yc8onyz4tUAcM8iWbUWHjVqE9JNpHnlCwAVRHnwl/0exmz7qfbFRcMNnr3ON2 fm2b00zMExRFuYu41jZh9TWZ613NiDbPI3ajUUeItzyftovhLJ713vE1yrfUETqzcdIKpP 9De1hbxz7+rIb2LHPSRoqUfjHys5e4T7PDUKtX4qfgBpU3xnzghcRn57ep4pafi450wL76 9Wt0cNVRr2calwIcA2hOQX9LUqkjZQsqGqSQ5/Lv4etJIUsjOvstnqQS8066IQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777749116; a=rsa-sha256; cv=none; b=ILjtk5P/rcp3PgxFT0FWHGbdRikEUnruAl/AWcUggZxWVyY5olrvHxhWLyiKP+Gg0JPMKG IZKPmW6SpR3W6OrLtwmBTXKXL62CcMq5CZsIyhi6y2KI9jMPrLth4TVDinSLNOGPuxlkr1 q65TtVSRxi3T9uBGFMU/pBK76XKfy9uV4aPrUHge5dmPjGwEZBzPs2u+Hb3oJceRXlZOXq J6jv1ODNBbEhDNq1O0GIMG5z4UyrZIlEw/X7n4JPeKJFiTmirQ48JLR4iDzDZzIvro2z0T uOvl4wKxcoQEt+yxWL4W25f7Uj6gIzjl/ZuDrwH/s5ALT96ZCk+O60IPnp02lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777749116; h=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=ZpUHjRgfmhjZwZ7pewQsb5sUsPIHjQ2rPQWEPBvbk7g=; b=wrMpZULxt+lIoo1xNcLoF1f+YEG9Ju8TEmk1dvwqt3xwybCrJrisnkZiKXFndQimAEyI2f hKcIYd5FkpdLuBO1jDyudY1gmb2rx7DHV4Dcc4gswwYb3Czn+efOh9gO8m7gBOlMATdP4L 87S8HnwcS8o9E9uzNY7dM09JLzNcWUSV1lGXyFkHbeKDRgzOWhRtTpouShpaHyj+bu31el tx8RIt1dI2qIsI6A2T2JCLpG0eRU+/TCz682vR8cVHZeePY2n0YhnOFF5IkyVNakMmJu1Z 4dtSUdHViSOS8q9YAyHPIz9+qf5EZyHyB6+BKBvhk5vWSCv7KudP0LuQp5+wjA== 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 4g7HZz2wjYzPl6; Sat, 02 May 2026 19:11:55 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Sat, 2 May 2026 20:11:53 +0100 From: Lexi Winter To: Shawn Webb Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d1c176fedfc9 - main - packages: Make create-sets.sh more robust Message-ID: Mail-Followup-To: Shawn Webb , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69f10fa0.34907.7c21574e@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="bLWRGdFKUUROyYpw" Content-Disposition: inline In-Reply-To: --bLWRGdFKUUROyYpw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Shawn Webb wrote in : > On Tue, Apr 28, 2026 at 07:50:56PM +0000, Lexi Winter wrote: > > packages: Make create-sets.sh more robust >=20 > After this commit, the create-sets.sh script exits with an error code, > but no error message. I'm not entirely sure what's going wrong for me. can you please add set -x and show the output? also, a copy of the full log would be useful, e.g. run % make update-packages-jobs and provide ../update-packages.log. --bLWRGdFKUUROyYpw Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCafZMdgAKCRD1nT63mIK/ YLk4AQD017vVnkcY269YZZ/pafZJpjVzW34HMrbTDGz9rRtdHgEAi4/e6oEpd1k8 DOvgSYC0+HZzMeBg6GKbk/ADqKV15Ak= =45Xh -----END PGP SIGNATURE----- --bLWRGdFKUUROyYpw-- From nobody Sat May 2 19:37:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7J8l3yKrz6bPqZ for ; Sat, 02 May 2026 19:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7J8l3dMxz40qY for ; Sat, 02 May 2026 19:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777750663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5End2vRI4BEsujzn06c8ypv4AIS7FAguzHCE3t+sZ4=; b=EcFdN8IewtvLVdZXrbz8Q/D8ai+Q+uXlXs/hMeTihDbdF87M9hzkluOUeQN4ZXYswt9nWX Jqpe52mfNwLeNG8OZIOAE4ZHMkWipkliV31MoCt3jnWhMUfyFZv6jWfmCX5Lu0SUbQQ3fL iYb0TQZWCMahlCCSBOU7nj+KlIglF83QB31saURfaoekZfbBpenTrNQFV6g2Ma+FBmFqe8 OyhViyep54N7IMV/XIH/DrfJjqaL0kBD8RASly4gQUFELXpeYRntytImhdOF6nJI+2X0LX m9s2TWZaXDO6kU89ZmB4d8XiETUzaMdbthVoBsebwjf7URRd8ZQ95Y5xUDvPFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777750663; a=rsa-sha256; cv=none; b=no7cwC9hKJ67ivR/D2Q6AO+bDRyxGr27pv849j+VVKmtXlX8j3envYgADq6F/JcVQDzVfm exW+gN+rtD8IDeAB3s9/qaIrmuwIeMBpshu0yhq+MEIGlT7cKkqpQv2HFR9HaFbmdgXHsr 7cKqZygWcdluQ8R+s9OdS/7ffwcL59TM2mvVNrVrbf9UIou3kNJZcX0UJir9skoBLURkSV OXljoIzKhZgAxj6HlFkLsNejqOU8SIPUYM7eUXfIwoS6Ivefu+L1tUSDsmtDTR1N1gl9fT ive4hhLn1Ff017aXlL78D8mALVNmgHIbKdFomlh/qwR7GxXWOB0G39g1F0jIMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777750663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5End2vRI4BEsujzn06c8ypv4AIS7FAguzHCE3t+sZ4=; b=m3b2l4OFov9kGRADzS1ZAK3MRiChhhG0ETQxHfu6zSY/lkhY+jbQ+OtngDo1pFpK7oMnqf ZynzyeEp+yqp6llnvJiC2tax0wYFJ7NKvsvsifj09BHBcXFdrPHKi1sAO4Cw1Dhjin9+lI appdMusBroqFm4K9FEl1/Nl1V//CKmSC0q90Q5jRFQ8cKfbyBIZowkxT4UOZLqljp0NRLa XWRMafBDgH2wVPS/wwzQC6ZznKk4jkqBWzLY1ZQhHtBiIbAaJacrKgXc5ujNeN8oc0R4/p 2lYCPGFQkFjlr/fwM2qIZyP9h9GXu6MlOZTSDSN/+zf8ijHaWwom67Hcz/KXyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7J8l2tq1zybq for ; Sat, 02 May 2026 19:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dfac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 19:37:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: a6e527f893df - main - nfscl: Fix handling of gssd upcalls for the NFS client List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6e527f893df2cbbd941839a93e50ae39ac0db55 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 19:37:43 +0000 Message-Id: <69f65287.3dfac.6c1e7ff2@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=a6e527f893df2cbbd941839a93e50ae39ac0db55 commit a6e527f893df2cbbd941839a93e50ae39ac0db55 Author: Rick Macklem AuthorDate: 2026-05-02 19:36:00 +0000 Commit: Rick Macklem CommitDate: 2026-05-02 19:36:00 +0000 nfscl: Fix handling of gssd upcalls for the NFS client Without this patch, all upcalls to the gssd daemon are done in vnet0 (outside of any vnet jail). This does not work well, because a user principal's credential cache can be within the jail (/tmp/krb5cc_NNN in the jail's namespace). This patch modifies the client so that RPCs done from within vnet jails does an upcall to a gssd daemon running within the vnet jail. It required that the cache of uid->credential shorthands in the rpcsec_gss be vnet'd. The situation is still less than ideal and sec=krb5[ip] mounts that are visible within vnet jails is still not something I would recommend, but it can work ok with this patch. Vnet'ng the NFS client so that mounts can be done within vnet jails is probably more useful, but that will require additional work. Discussed with: glebius MFC after: 1 month --- sys/fs/nfs/nfs_commonkrpc.c | 23 +++++++- sys/fs/nfs/nfs_commonsubs.c | 3 +- sys/fs/nfsserver/nfs_nfsdserv.c | 8 ++- sys/fs/nfsserver/nfs_nfsdstate.c | 1 + sys/rpc/clnt_bck.c | 7 ++- sys/rpc/clnt_dg.c | 7 ++- sys/rpc/clnt_vc.c | 7 ++- sys/rpc/rpcsec_gss/rpcsec_gss.c | 111 +++++++++++++++++++++------------------ 8 files changed, 107 insertions(+), 60 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 1e4e8506790f..9ea4e5f4c9df 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -561,7 +561,9 @@ newnfs_disconnect(struct nfsmount *nmp, struct nfssockreq *nrp) } } mtx_unlock(&nrp->nr_mtx); + CURVNET_SET_QUIET(CRED_TO_VNET(nrp->nr_cred)); rpc_gss_secpurge_call(client); + CURVNET_RESTORE(); CLNT_CLOSE(client); CLNT_RELEASE(client); if (nmp != NULL && nmp->nm_aconnect > 0) { @@ -685,7 +687,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, struct nfsreq *rep = NULL; char *srv_principal = NULL, *clnt_principal = NULL; sigset_t oldset; - struct ucred *authcred; + struct ucred *authcred, *savcred; struct nfsclsession *sep; uint8_t sessionid[NFSX_V4SESSIONID]; bool nextconn_set; @@ -832,6 +834,11 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, ((nmp->nm_tprintf_delay)-(nmp->nm_tprintf_initial_delay)); } + /* + * For Kerberos, the upcall needs to be done to the gssd daemon + * running in the correct vnet. + */ + CURVNET_SET_QUIET(CRED_TO_VNET(authcred)); if (nd->nd_procnum == NFSPROC_NULL) auth = authnone_create(); else if (usegssname) { @@ -849,8 +856,9 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, } else auth = nfs_getauth(nrp, secflavour, NULL, srv_principal, NULL, authcred); - crfree(authcred); + CURVNET_RESTORE(); if (auth == NULL) { + crfree(authcred); m_freem(nd->nd_mreq); if (set_sigset) newnfs_restore_sigmask(td, &oldset); @@ -967,6 +975,13 @@ tryagain: } } + /* + * In case CLNT_CALL_MBUF()/clnt_bck_call() does an AUTH_REFRESH(), + * the thread's credentials need to be set to authcred, so that the + * correct vnet will be set. + */ + savcred = curthread->td_ucred; + curthread->td_ucred = authcred; nd->nd_mrep = NULL; if (clp != NULL && sep != NULL) stat = clnt_bck_call(nrp->nr_client, &ext, procnum, @@ -988,6 +1003,7 @@ tryagain: stat = CLNT_CALL_MBUF(nrp->nr_client, &ext, procnum, nd->nd_mreq, &nd->nd_mrep, timo); NFSCL_DEBUG(2, "clnt call=%d\n", stat); + curthread->td_ucred = savcred; if (rep != NULL) { /* @@ -1069,6 +1085,7 @@ tryagain: error = EACCES; } if (error) { + crfree(authcred); m_freem(nd->nd_mreq); if (usegssname == 0) AUTH_DESTROY(auth); @@ -1429,6 +1446,7 @@ tryagain: } } out: + crfree(authcred); #ifdef KDTRACE_HOOKS if (nmp != NULL && dtrace_nfscl_nfs234_done_probe != NULL) { @@ -1460,6 +1478,7 @@ out: newnfs_restore_sigmask(td, &oldset); return (0); nfsmout: + crfree(authcred); m_freem(nd->nd_mrep); m_freem(nd->nd_mreq); if (usegssname == 0) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 3bff2737b687..0b7c15a0b54e 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -4167,7 +4167,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) rp->nr_sotype = SOCK_DGRAM; rp->nr_soproto = IPPROTO_UDP; rp->nr_lock = (NFSR_RESERVEDPORT | NFSR_LOCALHOST); - rp->nr_cred = NULL; + rp->nr_cred = crhold(curthread->td_ucred); rp->nr_prog = RPCPROG_NFSUSERD; error = 0; switch (nargs->nuserd_family) { @@ -4235,6 +4235,7 @@ nfsrv_nfsuserddelport(void) NFSUNLOCKNAMEID(); newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 7f43654ae06d..855d018e72d2 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -4269,7 +4269,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, /* Allocated large enough for an AF_INET or AF_INET6 socket. */ clp->lc_req.nr_nam = malloc(sizeof(struct sockaddr_in6), M_SONAME, M_WAITOK | M_ZERO); - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4359,6 +4359,7 @@ nfsrvd_setclientid(struct nfsrv_descript *nd, __unused int isdgram, if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4377,6 +4378,7 @@ nfsmout: if (clp) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4634,7 +4636,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, break; #endif } - clp->lc_req.nr_cred = NULL; + clp->lc_req.nr_cred = crhold(nd->nd_cred); NFSBCOPY(verf, clp->lc_verf, NFSX_VERF); clp->lc_idlen = idlen; error = nfsrv_mtostr(nd, clp->lc_id, idlen); @@ -4707,6 +4709,7 @@ nfsrvd_exchangeid(struct nfsrv_descript *nd, __unused int isdgram, if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } @@ -4750,6 +4753,7 @@ nfsmout: if (clp != NULL) { free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); } diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index ccee9187bfec..18967a00583a 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -1504,6 +1504,7 @@ nfsrv_zapclient(struct nfsclient *clp, NFSPROC_T *p) newnfs_disconnect(NULL, &clp->lc_req); free(clp->lc_req.nr_nam, M_SONAME); NFSFREEMUTEX(&clp->lc_req.nr_mtx); + crfree(clp->lc_req.nr_cred); free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); NFSLOCKSTATE(); diff --git a/sys/rpc/clnt_bck.c b/sys/rpc/clnt_bck.c index c5cbbf045bdc..9ff85b1fa2c0 100644 --- a/sys/rpc/clnt_bck.c +++ b/sys/rpc/clnt_bck.c @@ -58,6 +58,7 @@ #include #include +#include #include #include #include @@ -440,15 +441,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); /* end of unsuccessful completion */ + } /* end of valid reply message */ } else errp->re_status = stat = RPC_CANTDECODERES; diff --git a/sys/rpc/clnt_dg.c b/sys/rpc/clnt_dg.c index b6a8cdce0d76..d7870aef5674 100644 --- a/sys/rpc/clnt_dg.c +++ b/sys/rpc/clnt_dg.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -738,15 +739,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&cs->cs_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index ecd5fdd04f34..e395cd27ccaa 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -559,15 +560,19 @@ got_reply: * If unsuccessful AND error is an authentication error * then refresh credentials and try again, else break */ - else if (stat == RPC_AUTHERROR) + else if (stat == RPC_AUTHERROR) { /* maybe our credentials need to be refreshed ... */ + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (nrefreshes > 0 && AUTH_REFRESH(auth, &reply_msg)) { + CURVNET_RESTORE(); nrefreshes--; XDR_DESTROY(&xdrs); mtx_lock(&ct->ct_lock); goto call_again; } + CURVNET_RESTORE(); + } /* end of unsuccessful completion */ } /* end of valid reply message */ else { diff --git a/sys/rpc/rpcsec_gss/rpcsec_gss.c b/sys/rpc/rpcsec_gss/rpcsec_gss.c index d99e3a3090df..de690bbbd1d1 100644 --- a/sys/rpc/rpcsec_gss/rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/rpcsec_gss.c @@ -150,26 +150,42 @@ static struct timeval AUTH_TIMEOUT = { 25, 0 }; #define RPC_GSS_HASH_SIZE 11 #define RPC_GSS_MAX 256 -static struct rpc_gss_data_list rpc_gss_cache[RPC_GSS_HASH_SIZE]; -static struct rpc_gss_data_list rpc_gss_all; -static struct sx rpc_gss_lock; -static int rpc_gss_count; + +VNET_DEFINE_STATIC(struct rpc_gss_data_list *, rpc_gss_cache); +VNET_DEFINE_STATIC(struct rpc_gss_data_list, rpc_gss_all); +VNET_DEFINE_STATIC(struct sx, rpc_gss_lock); +VNET_DEFINE_STATIC(int, rpc_gss_count); static AUTH *rpc_gss_seccreate_int(CLIENT *, struct ucred *, const char *, const char *, gss_OID, rpc_gss_service_t, u_int, rpc_gss_options_req_t *, rpc_gss_options_ret_t *); static void -rpc_gss_hashinit(void *dummy) +rpc_gss_hashinit(void *dummy __unused) { int i; + VNET(rpc_gss_cache) = mem_alloc(sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); for (i = 0; i < RPC_GSS_HASH_SIZE; i++) - TAILQ_INIT(&rpc_gss_cache[i]); - TAILQ_INIT(&rpc_gss_all); - sx_init(&rpc_gss_lock, "rpc_gss_lock"); + TAILQ_INIT(&VNET(rpc_gss_cache)[i]); + TAILQ_INIT(&VNET(rpc_gss_all)); + sx_init(&VNET(rpc_gss_lock), "rpc_gss_lock"); } -SYSINIT(rpc_gss_hashinit, SI_SUB_KMEM, SI_ORDER_ANY, rpc_gss_hashinit, NULL); +VNET_SYSINIT(rpc_gss_hashinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit, NULL); + +static void +rpc_gss_hashinit_cleanup(void *dummy __unused) +{ + + rpc_gss_secpurge(NULL); + mem_free(VNET(rpc_gss_cache), sizeof(struct rpc_gss_data_list) * + RPC_GSS_HASH_SIZE); + sx_destroy(&VNET(rpc_gss_lock)); +} +VNET_SYSUNINIT(rpc_gss_hashinit_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + rpc_gss_hashinit_cleanup, NULL); static uint32_t rpc_gss_hash(const char *principal, gss_OID mech, @@ -198,15 +214,16 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, struct rpc_gss_data *gd, *tgd; rpc_gss_options_ret_t options; - if (rpc_gss_count > RPC_GSS_MAX) { - while (rpc_gss_count > RPC_GSS_MAX) { - sx_xlock(&rpc_gss_lock); - tgd = TAILQ_FIRST(&rpc_gss_all); + CURVNET_ASSERT_SET(); + if (VNET(rpc_gss_count) > RPC_GSS_MAX) { + while (VNET(rpc_gss_count) > RPC_GSS_MAX) { + sx_xlock(&VNET(rpc_gss_lock)); + tgd = TAILQ_FIRST(&VNET(rpc_gss_all)); th = tgd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[th], tgd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, tgd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[th], tgd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), tgd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(tgd->gd_auth); } } @@ -217,23 +234,24 @@ rpc_gss_secfind(CLIENT *clnt, struct ucred *cred, const char *principal, h = rpc_gss_hash(principal, mech_oid, cred, service); again: - sx_slock(&rpc_gss_lock); - TAILQ_FOREACH(gd, &rpc_gss_cache[h], gd_link) { + sx_slock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(gd, &VNET(rpc_gss_cache)[h], gd_link) { if (gd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(gd->gd_principal, principal) && gd->gd_mech == mech_oid && gd->gd_cred.gc_svc == service) { refcount_acquire(&gd->gd_refs); - if (sx_try_upgrade(&rpc_gss_lock)) { + if (sx_try_upgrade(&VNET(rpc_gss_lock))) { /* * Keep rpc_gss_all LRU sorted. */ - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, + gd_alllink); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); } else { - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); } /* @@ -249,7 +267,7 @@ again: return (gd->gd_auth); } } - sx_sunlock(&rpc_gss_lock); + sx_sunlock(&VNET(rpc_gss_lock)); /* * We missed in the cache - create a new association. @@ -262,8 +280,8 @@ again: gd = AUTH_PRIVATE(auth); gd->gd_hash = h; - sx_xlock(&rpc_gss_lock); - TAILQ_FOREACH(tgd, &rpc_gss_cache[h], gd_link) { + sx_xlock(&VNET(rpc_gss_lock)); + TAILQ_FOREACH(tgd, &VNET(rpc_gss_cache)[h], gd_link) { if (tgd->gd_ucred->cr_uid == cred->cr_uid && !strcmp(tgd->gd_principal, principal) && tgd->gd_mech == mech_oid @@ -272,17 +290,17 @@ again: * We lost a race to create the AUTH that * matches this cred. */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(auth); goto again; } } - rpc_gss_count++; - TAILQ_INSERT_TAIL(&rpc_gss_cache[h], gd, gd_link); - TAILQ_INSERT_TAIL(&rpc_gss_all, gd, gd_alllink); + VNET(rpc_gss_count)++; + TAILQ_INSERT_TAIL(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_INSERT_TAIL(&VNET(rpc_gss_all), gd, gd_alllink); refcount_acquire(&gd->gd_refs); /* one for the cache, one for user */ - sx_xunlock(&rpc_gss_lock); + sx_xunlock(&VNET(rpc_gss_lock)); return (auth); } @@ -293,14 +311,15 @@ rpc_gss_secpurge(CLIENT *clnt) uint32_t h; struct rpc_gss_data *gd, *tgd; - TAILQ_FOREACH_SAFE(gd, &rpc_gss_all, gd_alllink, tgd) { - if (gd->gd_clnt == clnt) { - sx_xlock(&rpc_gss_lock); + CURVNET_ASSERT_SET(); + TAILQ_FOREACH_SAFE(gd, &VNET(rpc_gss_all), gd_alllink, tgd) { + if (clnt == NULL || gd->gd_clnt == clnt) { + sx_xlock(&VNET(rpc_gss_lock)); h = gd->gd_hash; - TAILQ_REMOVE(&rpc_gss_cache[h], gd, gd_link); - TAILQ_REMOVE(&rpc_gss_all, gd, gd_alllink); - rpc_gss_count--; - sx_xunlock(&rpc_gss_lock); + TAILQ_REMOVE(&VNET(rpc_gss_cache)[h], gd, gd_link); + TAILQ_REMOVE(&VNET(rpc_gss_all), gd, gd_alllink); + VNET(rpc_gss_count)--; + sx_xunlock(&VNET(rpc_gss_lock)); AUTH_DESTROY(gd->gd_auth); } } @@ -748,6 +767,7 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gss_OID_set mechlist; static enum krb_imp my_krb_imp = KRBIMP_UNKNOWN; + CURVNET_ASSERT_SET(); rpc_gss_log_debug("in rpc_gss_refresh()"); gd = AUTH_PRIVATE(auth); @@ -773,17 +793,6 @@ rpc_gss_init(AUTH *auth, rpc_gss_options_ret_t *options_ret) gd->gd_cred.gc_proc = RPCSEC_GSS_INIT; gd->gd_cred.gc_seq = 0; - /* - * XXX Threads from inside jails can get here via calls - * to clnt_vc_call()->AUTH_REFRESH()->rpc_gss_refresh() - * but the NFS mount is always done outside of the - * jails in vnet0. Since the thread credentials won't - * necessarily have cr_prison == vnet0 and this function - * has no access to the socket, using vnet0 seems the - * only option. This is broken if NFS mounts are enabled - * within vnet prisons. - */ - CURVNET_SET_QUIET(vnet0); /* * For KerberosV, if there is a client principal name, that implies * that this is a host based initiator credential in the default @@ -1030,14 +1039,12 @@ out: gss_delete_sec_context(&min_stat, &gd->gd_ctx, GSS_C_NO_BUFFER); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_START; wakeup(gd); mtx_unlock(&gd->gd_lock); return (FALSE); } - CURVNET_RESTORE(); mtx_lock(&gd->gd_lock); gd->gd_state = RPCSEC_GSS_ESTABLISHED; From nobody Sat May 2 20:01:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7JhP3gCLz6bxZW for ; Sat, 02 May 2026 20:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7JhP307Pz44sk for ; Sat, 02 May 2026 20:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777752101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A92gp4zCbDSWiTAPOTT5io8aHhXDyoE79vnf0STpl/k=; b=tNPdd+ishnRB2KudBNW4Jdv7klZ/ro/J6JjG9woqg3UpD7dSphwoFbL6iVtntFd/buXvLq Q12fPQRZWySon2Ag7UdIGlHdb5pSQlDVNqx41d6oKyjvfSRphTW3oFwr4KepapOnIqJSvg mEBCiUk/YRcfvWW7JpCOMkIiwBP8tQdFWaklSQJ/++0b9MoHNL3ngMpcOc1qEhkrpaMegV lQ6MXuUt4jnfX17ddxUFnss5lvTw10j870rxtRRT4Ni+laYDmbYGwTZH/j7ilgCgDuFKgc /Dc1ObO6Nxt0UUPfy7DzaiHOiYloji10GL94Mft7fZKwO1sQl2XS+MAiovL4SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777752101; a=rsa-sha256; cv=none; b=vvJt4eCKzYAbipCRdfUOzEGo/kBP9YXXRC8gpW4KEooxbOB0Vp5FXKcSEwHuI3+xD4QXVi k8YDH6ebHpYcOB0w3O1kjjczvdz+AUChfMu9p5R0lCyvAFqqpMd1F3qCkoOcd6Qt09HGEO 83i7yy1QnaePNRvAzUCTF45yyAjXhsoh+TPmReCEmG8X/rw0FyO+2awBEJE8Hb/9kqMZNd LjOl82wlpp0nWsgWWk5pe7HpRoxMY1rv5JDQPQaMAa1DS0LCSonqXAenp1xNXdnKMHtmWO ktNxuUz2lwRDSyOJc94Mr/7TMC+LKLg72PXq4MwlnqP1hpQhu/e2dQ7x2/qtXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777752101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A92gp4zCbDSWiTAPOTT5io8aHhXDyoE79vnf0STpl/k=; b=FLGWZZL/CK8f2s1eIV6PPM9iLiXrrNw+SyhLTNrLIINMhdBeZ+J3uJsh18wj/Bz2N/b8tz Yo+uPmM15ri0M05TrO3DLMyi8S7b0n/7vM/EyIpTsQGO4SifbV5GPDam1QDshK8P7ukLUi Y3b9Mw/hkN6V9IjJjnIuIcEyO0L2ndjv47fp5ZVWvoDQBHzqpY9S+itN9osf8fJoM5V+v+ qxAnVaL9J9rA8coWeaoQS3vuBtnuCpD0gGyKU6qYxGrgM98mjqljCm24Vq/YQ0fcIXuxo2 8+/Bek3eOsdM1K33yt3HyM7a1MJY3pyNDsQvp4rEx1TfEk4b5E8H1IpRL3rdyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7JhP2bGHz10YD for ; Sat, 02 May 2026 20:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40b10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 20:01:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ryan Libby Subject: git: 050b3ff753e0 - main - libzpool: force inlining of xxhash after removing xxhash.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rlibby X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 050b3ff753e04ce142ac751a0d76b5ee3beda9c5 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 20:01:41 +0000 Message-Id: <69f65825.40b10.6ec8331a@gitrepo.freebsd.org> The branch main has been updated by rlibby: URL: https://cgit.FreeBSD.org/src/commit/?id=050b3ff753e04ce142ac751a0d76b5ee3beda9c5 commit 050b3ff753e04ce142ac751a0d76b5ee3beda9c5 Author: Ryan Libby AuthorDate: 2026-05-02 16:59:06 +0000 Commit: Ryan Libby CommitDate: 2026-05-02 20:01:10 +0000 libzpool: force inlining of xxhash after removing xxhash.c libzpool had a number of undefined symbols related to xxhash after xxhash.c was removed from the build. Fixes: 8a62a2a5659d ("zfs: merge openzfs/zfs@f8e5af53e") Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D56770 --- cddl/lib/libzpool/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cddl/lib/libzpool/Makefile b/cddl/lib/libzpool/Makefile index db09d33e19b4..0c997e38d373 100644 --- a/cddl/lib/libzpool/Makefile +++ b/cddl/lib/libzpool/Makefile @@ -272,7 +272,7 @@ CFLAGS+= \ -include ${SRCTOP}/sys/modules/zfs/zfs_config.h \ -I${SRCTOP}/sys/modules/zfs \ -I${ZFSTOP}/include/os/freebsd/zfs \ - -DLIB_ZPOOL_BUILD -DZFS_DEBUG \ + -DLIB_ZPOOL_BUILD -DZFS_DEBUG -DXXH_INLINE_ALL \ # XXX: pthread doesn't have mutex_owned() equivalent, so we need to look # into libthr private structures. That's sooo evil, but it's only for From nobody Sat May 2 21:40:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7Lsx4kGFz6c9l4 for ; Sat, 02 May 2026 21:40: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 4g7Lsx2B6wz4MYW for ; Sat, 02 May 2026 21:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777758005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mT9N9ZwTqzXw9JDyYPfvfm7jRAH0/nlzNaYY+olQ+0c=; b=sU5BOCurZfCw2g6jbvan5qK8bdYjsOnR6EZCqvtWEJWYjy5lLmVbojRqceff2tGTZhBxuB 8THsdI3u91Z8Kt1/fcKDLL1VETGVlOr4q7D4F1reeidUmDiCt90i84bGo07AExZzxBZwaS lRrTwmgbL0W/WEnZZW5ob+O5n7tSSJutB9iRC+MpHCSaqvA+Iie19ZMXqWgxwi23Wy1SZD 0k34lZ6V55E3DnlhexnFRyArq88M8+sq7czrZ9qH92bYpL93QuMXG4fnE4ER4MYi8G4x9J lyibyHE7EwURoV8mkcPcz1JlHFGYJ3To/Az8q8AouREEHY6Ur3C2O2uTIYh2LA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777758005; a=rsa-sha256; cv=none; b=ZvEZu/z8q6wgEDjXKkmjdF+cUtJf58AHe5LBuO/v9+wNs55inUekxP6Vj4IOzZdmjCPPXI HxFG/vPbeq9amPooZ+y6TBlIVVFooV5c3QJBp3rldaVh7VkrHU9Hk1rkHXhpr+gVchzFzx 1c6ISGH2+pTq8m5r87ZL+AkgVZT6tRdNMkf+4yzixMZj0c6TDjYraKS7xiPCeD0aAeSr7m QgMJJt2oT389QkmUq3GVdvEpNiVyF3CYW6fGAJakvMYIc/7vjvh+CIX+1TnRga1B2NIYwr tlm8PhAEubiyCi1dTRHEoVGiN69ucN9pNNZ52UeJjcyTzfUccbHyJTPwiWRodg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777758005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mT9N9ZwTqzXw9JDyYPfvfm7jRAH0/nlzNaYY+olQ+0c=; b=GhahQhVF4bSNexx+fSYwHCvOgioHoOf2EdlLEcxGiMDwQWGPfdY3AsBq/h51pmAWXo5whp UY+YWJFDoN9NkLAbYfMPeMYAt/kFlt4TFvZZ1qpLbkWTsefQN5mZ+vkfpqrK5dqy4eXriH ykHKAGSWbpTj+SPr1ZyqqR8E2g8+l5f/jXOTdKBhHS9PHQDud67imxbTDXkP9H4q0wFahv u4sAL/Fd0bBoeB048iBFXMbBSU1PJiCUofv5bjwtdZaMzi5DbwKw7qGFUY0p28cXr1lzhu /BNsUmy8lFcug8VcsUYqIp7WIlyjC+l0ZLbcKp1eg9BuSOHq+KKhRGBsgwA7iA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7Lsx1Vzkz13RG for ; Sat, 02 May 2026 21:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 196d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 02 May 2026 21:40:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 821976facf74 - main - nfsd: Get rid of NFSD_VNET macros List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 821976facf746ef241e1524b44bb1de0af98fdc0 Auto-Submitted: auto-generated Date: Sat, 02 May 2026 21:40:05 +0000 Message-Id: <69f66f35.196d1.44043a80@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=821976facf746ef241e1524b44bb1de0af98fdc0 commit 821976facf746ef241e1524b44bb1de0af98fdc0 Author: Rick Macklem AuthorDate: 2026-05-02 21:36:43 +0000 Commit: Rick Macklem CommitDate: 2026-05-02 21:36:43 +0000 nfsd: Get rid of NFSD_VNET macros When the nfsd was vnet'd, the VNET macros were hidden behind macros that had the NFSD_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. Discussed with: bz, glebius MFC after: 1 month --- sys/fs/nfs/nfs_commonport.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfs_commonsubs.c | 294 +++++++++++++++++++------------------- sys/fs/nfs/nfsdport.h | 2 +- sys/fs/nfs/nfsport.h | 14 -- sys/fs/nfs/nfsrvstate.h | 12 +- sys/fs/nfsclient/nfs_clport.c | 4 +- sys/fs/nfsserver/nfs_fha_new.c | 84 +++++------ sys/fs/nfsserver/nfs_nfsdcache.c | 134 ++++++++--------- sys/fs/nfsserver/nfs_nfsdkrpc.c | 82 +++++------ sys/fs/nfsserver/nfs_nfsdport.c | 178 +++++++++++------------ sys/fs/nfsserver/nfs_nfsdsocket.c | 66 ++++----- sys/fs/nfsserver/nfs_nfsdstate.c | 160 ++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 32 ++--- 13 files changed, 671 insertions(+), 685 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 91d9188d30c5..03c6688b1406 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -71,10 +71,10 @@ vop_advlock_t *nfs_advlock_p = NULL; vop_reclaim_t *nfs_reclaim_p = NULL; uint32_t nfs_srvmaxio = NFS_SRVMAXIO; -NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); -NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); +VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); int nfs_pnfsio(task_fn_t *, void *); @@ -428,9 +428,9 @@ nfssvc_nfscommon(struct thread *td, struct nfssvc_args *uap) { int error; - NFSD_CURVNET_SET(NFSD_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); error = nfssvc_call(td, uap, td->td_ucred); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -470,105 +470,105 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if ((uap->flag & NFSSVC_NEWSTRUCT) == 0) { /* Copy fields to the old ext_nfsstat structure. */ oldnfsstats.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; oldnfsstats.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; oldnfsstats.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; oldnfsstats.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; oldnfsstats.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; oldnfsstats.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; oldnfsstats.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; oldnfsstats.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; oldnfsstats.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; oldnfsstats.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; oldnfsstats.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; oldnfsstats.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; oldnfsstats.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; oldnfsstats.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; oldnfsstats.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; oldnfsstats.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; oldnfsstats.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; oldnfsstats.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV4_NPROCS; i++) oldnfsstats.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; oldnfsstats.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV4OP_NOPS; i++) oldnfsstats.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV4OP_NOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) oldnfsstats.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; oldnfsstats.reserved_0 = 0; oldnfsstats.reserved_1 = 0; oldnfsstats.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; oldnfsstats.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; oldnfsstats.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; oldnfsstats.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; oldnfsstats.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; oldnfsstats.reserved_2 = 0; oldnfsstats.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; oldnfsstats.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; oldnfsstats.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; oldnfsstats.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; oldnfsstats.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; oldnfsstats.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; oldnfsstats.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; oldnfsstats.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; oldnfsstats.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; oldnfsstats.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV4OP_CBNOPS; i++) oldnfsstats.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; oldnfsstats.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; - oldnfsstats.clopens = NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopenowners; + oldnfsstats.clopens = VNET(nfsstatsv1_p)->clopens; oldnfsstats.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; - oldnfsstats.cllocks = NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllockowners; + oldnfsstats.cllocks = VNET(nfsstatsv1_p)->cllocks; oldnfsstats.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; oldnfsstats.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; oldnfsstats.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; oldnfsstats.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; oldnfsstats.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; error = copyout(&oldnfsstats, uap->argp, sizeof (oldnfsstats)); } else { @@ -578,174 +578,174 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if (nfsstatver.vers == NFSSTATS_OV1) { /* Copy nfsstatsv1 to nfsstatsov1. */ nfsstatsov1.attrcache_hits = - NFSD_VNET(nfsstatsv1_p)->attrcache_hits; + VNET(nfsstatsv1_p)->attrcache_hits; nfsstatsov1.attrcache_misses = - NFSD_VNET(nfsstatsv1_p)->attrcache_misses; + VNET(nfsstatsv1_p)->attrcache_misses; nfsstatsov1.lookupcache_hits = - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; + VNET(nfsstatsv1_p)->lookupcache_hits; nfsstatsov1.lookupcache_misses = - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; + VNET(nfsstatsv1_p)->lookupcache_misses; nfsstatsov1.direofcache_hits = - NFSD_VNET(nfsstatsv1_p)->direofcache_hits; + VNET(nfsstatsv1_p)->direofcache_hits; nfsstatsov1.direofcache_misses = - NFSD_VNET(nfsstatsv1_p)->direofcache_misses; + VNET(nfsstatsv1_p)->direofcache_misses; nfsstatsov1.accesscache_hits = - NFSD_VNET(nfsstatsv1_p)->accesscache_hits; + VNET(nfsstatsv1_p)->accesscache_hits; nfsstatsov1.accesscache_misses = - NFSD_VNET(nfsstatsv1_p)->accesscache_misses; + VNET(nfsstatsv1_p)->accesscache_misses; nfsstatsov1.biocache_reads = - NFSD_VNET(nfsstatsv1_p)->biocache_reads; + VNET(nfsstatsv1_p)->biocache_reads; nfsstatsov1.read_bios = - NFSD_VNET(nfsstatsv1_p)->read_bios; + VNET(nfsstatsv1_p)->read_bios; nfsstatsov1.read_physios = - NFSD_VNET(nfsstatsv1_p)->read_physios; + VNET(nfsstatsv1_p)->read_physios; nfsstatsov1.biocache_writes = - NFSD_VNET(nfsstatsv1_p)->biocache_writes; + VNET(nfsstatsv1_p)->biocache_writes; nfsstatsov1.write_bios = - NFSD_VNET(nfsstatsv1_p)->write_bios; + VNET(nfsstatsv1_p)->write_bios; nfsstatsov1.write_physios = - NFSD_VNET(nfsstatsv1_p)->write_physios; + VNET(nfsstatsv1_p)->write_physios; nfsstatsov1.biocache_readlinks = - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; + VNET(nfsstatsv1_p)->biocache_readlinks; nfsstatsov1.readlink_bios = - NFSD_VNET(nfsstatsv1_p)->readlink_bios; + VNET(nfsstatsv1_p)->readlink_bios; nfsstatsov1.biocache_readdirs = - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; + VNET(nfsstatsv1_p)->biocache_readdirs; nfsstatsov1.readdir_bios = - NFSD_VNET(nfsstatsv1_p)->readdir_bios; + VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV42_OLDNPROCS; i++) nfsstatsov1.rpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + VNET(nfsstatsv1_p)->rpccnt[i]; nfsstatsov1.rpcretries = - NFSD_VNET(nfsstatsv1_p)->rpcretries; + VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV42_PURENOPS; i++) nfsstatsov1.srvrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) nfsstatsov1.srvrpccnt[j] = - NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; + VNET(nfsstatsv1_p)->srvrpccnt[i]; nfsstatsov1.reserved_0 = 0; nfsstatsov1.reserved_1 = 0; nfsstatsov1.rpcrequests = - NFSD_VNET(nfsstatsv1_p)->rpcrequests; + VNET(nfsstatsv1_p)->rpcrequests; nfsstatsov1.rpctimeouts = - NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + VNET(nfsstatsv1_p)->rpctimeouts; nfsstatsov1.rpcunexpected = - NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + VNET(nfsstatsv1_p)->rpcunexpected; nfsstatsov1.rpcinvalid = - NFSD_VNET(nfsstatsv1_p)->rpcinvalid; + VNET(nfsstatsv1_p)->rpcinvalid; nfsstatsov1.srvcache_inproghits = - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; + VNET(nfsstatsv1_p)->srvcache_inproghits; nfsstatsov1.reserved_2 = 0; nfsstatsov1.srvcache_nonidemdonehits = - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; nfsstatsov1.srvcache_misses = - NFSD_VNET(nfsstatsv1_p)->srvcache_misses; + VNET(nfsstatsv1_p)->srvcache_misses; nfsstatsov1.srvcache_tcppeak = - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + VNET(nfsstatsv1_p)->srvcache_tcppeak; nfsstatsov1.srvcache_size = - NFSD_VNET(nfsstatsv1_p)->srvcache_size; + VNET(nfsstatsv1_p)->srvcache_size; nfsstatsov1.srvclients = - NFSD_VNET(nfsstatsv1_p)->srvclients; + VNET(nfsstatsv1_p)->srvclients; nfsstatsov1.srvopenowners = - NFSD_VNET(nfsstatsv1_p)->srvopenowners; + VNET(nfsstatsv1_p)->srvopenowners; nfsstatsov1.srvopens = - NFSD_VNET(nfsstatsv1_p)->srvopens; + VNET(nfsstatsv1_p)->srvopens; nfsstatsov1.srvlockowners = - NFSD_VNET(nfsstatsv1_p)->srvlockowners; + VNET(nfsstatsv1_p)->srvlockowners; nfsstatsov1.srvlocks = - NFSD_VNET(nfsstatsv1_p)->srvlocks; + VNET(nfsstatsv1_p)->srvlocks; nfsstatsov1.srvdelegates = - NFSD_VNET(nfsstatsv1_p)->srvdelegates; + VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV42_CBNOPS; i++) nfsstatsov1.cbrpccnt[i] = - NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + VNET(nfsstatsv1_p)->cbrpccnt[i]; nfsstatsov1.clopenowners = - NFSD_VNET(nfsstatsv1_p)->clopenowners; + VNET(nfsstatsv1_p)->clopenowners; nfsstatsov1.clopens = - NFSD_VNET(nfsstatsv1_p)->clopens; + VNET(nfsstatsv1_p)->clopens; nfsstatsov1.cllockowners = - NFSD_VNET(nfsstatsv1_p)->cllockowners; + VNET(nfsstatsv1_p)->cllockowners; nfsstatsov1.cllocks = - NFSD_VNET(nfsstatsv1_p)->cllocks; + VNET(nfsstatsv1_p)->cllocks; nfsstatsov1.cldelegates = - NFSD_VNET(nfsstatsv1_p)->cldelegates; + VNET(nfsstatsv1_p)->cldelegates; nfsstatsov1.cllocalopenowners = - NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + VNET(nfsstatsv1_p)->cllocalopenowners; nfsstatsov1.cllocalopens = - NFSD_VNET(nfsstatsv1_p)->cllocalopens; + VNET(nfsstatsv1_p)->cllocalopens; nfsstatsov1.cllocallockowners = - NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + VNET(nfsstatsv1_p)->cllocallockowners; nfsstatsov1.cllocallocks = - NFSD_VNET(nfsstatsv1_p)->cllocallocks; + VNET(nfsstatsv1_p)->cllocallocks; nfsstatsov1.srvstartcnt = - NFSD_VNET(nfsstatsv1_p)->srvstartcnt; + VNET(nfsstatsv1_p)->srvstartcnt; nfsstatsov1.srvdonecnt = - NFSD_VNET(nfsstatsv1_p)->srvdonecnt; + VNET(nfsstatsv1_p)->srvdonecnt; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) { nfsstatsov1.srvbytes[j] = - NFSD_VNET(nfsstatsv1_p)->srvbytes[i]; + VNET(nfsstatsv1_p)->srvbytes[i]; nfsstatsov1.srvops[j] = - NFSD_VNET(nfsstatsv1_p)->srvops[i]; + VNET(nfsstatsv1_p)->srvops[i]; nfsstatsov1.srvduration[j] = - NFSD_VNET(nfsstatsv1_p)->srvduration[i]; + VNET(nfsstatsv1_p)->srvduration[i]; } nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; nfsstatsov1.busyfrom = - NFSD_VNET(nfsstatsv1_p)->busyfrom; + VNET(nfsstatsv1_p)->busyfrom; error = copyout(&nfsstatsov1, uap->argp, sizeof(nfsstatsov1)); } else if (nfsstatver.vers != NFSSTATS_V1) error = EPERM; else - error = copyout(NFSD_VNET(nfsstatsv1_p), + error = copyout(VNET(nfsstatsv1_p), uap->argp, sizeof(nfsstatsv1)); } } if (error == 0) { if ((uap->flag & NFSSVC_ZEROCLTSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->attrcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->attrcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->lookupcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->direofcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_hits = 0; - NFSD_VNET(nfsstatsv1_p)->accesscache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_reads = 0; - NFSD_VNET(nfsstatsv1_p)->read_bios = 0; - NFSD_VNET(nfsstatsv1_p)->read_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_writes = 0; - NFSD_VNET(nfsstatsv1_p)->write_bios = 0; - NFSD_VNET(nfsstatsv1_p)->write_physios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readlinks = 0; - NFSD_VNET(nfsstatsv1_p)->readlink_bios = 0; - NFSD_VNET(nfsstatsv1_p)->biocache_readdirs = 0; - NFSD_VNET(nfsstatsv1_p)->readdir_bios = 0; - NFSD_VNET(nfsstatsv1_p)->rpcretries = 0; - NFSD_VNET(nfsstatsv1_p)->rpcrequests = 0; - NFSD_VNET(nfsstatsv1_p)->rpctimeouts = 0; - NFSD_VNET(nfsstatsv1_p)->rpcunexpected = 0; - NFSD_VNET(nfsstatsv1_p)->rpcinvalid = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->rpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->rpccnt)); + VNET(nfsstatsv1_p)->attrcache_hits = 0; + VNET(nfsstatsv1_p)->attrcache_misses = 0; + VNET(nfsstatsv1_p)->lookupcache_hits = 0; + VNET(nfsstatsv1_p)->lookupcache_misses = 0; + VNET(nfsstatsv1_p)->direofcache_hits = 0; + VNET(nfsstatsv1_p)->direofcache_misses = 0; + VNET(nfsstatsv1_p)->accesscache_hits = 0; + VNET(nfsstatsv1_p)->accesscache_misses = 0; + VNET(nfsstatsv1_p)->biocache_reads = 0; + VNET(nfsstatsv1_p)->read_bios = 0; + VNET(nfsstatsv1_p)->read_physios = 0; + VNET(nfsstatsv1_p)->biocache_writes = 0; + VNET(nfsstatsv1_p)->write_bios = 0; + VNET(nfsstatsv1_p)->write_physios = 0; + VNET(nfsstatsv1_p)->biocache_readlinks = 0; + VNET(nfsstatsv1_p)->readlink_bios = 0; + VNET(nfsstatsv1_p)->biocache_readdirs = 0; + VNET(nfsstatsv1_p)->readdir_bios = 0; + VNET(nfsstatsv1_p)->rpcretries = 0; + VNET(nfsstatsv1_p)->rpcrequests = 0; + VNET(nfsstatsv1_p)->rpctimeouts = 0; + VNET(nfsstatsv1_p)->rpcunexpected = 0; + VNET(nfsstatsv1_p)->rpcinvalid = 0; + bzero(VNET(nfsstatsv1_p)->rpccnt, + sizeof(VNET(nfsstatsv1_p)->rpccnt)); } if ((uap->flag & NFSSVC_ZEROSRVSTATS) != 0) { - NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_misses = 0; - NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; - bzero(NFSD_VNET(nfsstatsv1_p)->srvrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->srvrpccnt)); - bzero(NFSD_VNET(nfsstatsv1_p)->cbrpccnt, - sizeof(NFSD_VNET(nfsstatsv1_p)->cbrpccnt)); + VNET(nfsstatsv1_p)->srvcache_inproghits = 0; + VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; + VNET(nfsstatsv1_p)->srvcache_misses = 0; + VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; + bzero(VNET(nfsstatsv1_p)->srvrpccnt, + sizeof(VNET(nfsstatsv1_p)->srvrpccnt)); + bzero(VNET(nfsstatsv1_p)->cbrpccnt, + sizeof(VNET(nfsstatsv1_p)->cbrpccnt)); } } goto out; @@ -891,11 +891,11 @@ nfs_vnetinit(const void *unused __unused) { if (IS_DEFAULT_VNET(curvnet)) - NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + VNET(nfsstatsv1_p) = &nfsstatsv1; else - NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), M_TEMP, M_WAITOK | M_ZERO); - mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", + mtx_init(&VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", NULL, MTX_DEF); } VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_FIRST, @@ -905,10 +905,10 @@ static void nfs_cleanup(void *unused __unused) { - mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); + mtx_destroy(&VNET(nfsrv_nfsuserdsock).nr_mtx); if (!IS_DEFAULT_VNET(curvnet)) { - free(NFSD_VNET(nfsstatsv1_p), M_TEMP); - NFSD_VNET(nfsstatsv1_p) = NULL; + free(VNET(nfsstatsv1_p), M_TEMP); + VNET(nfsstatsv1_p) = NULL; } /* Clean out the name<-->id cache. */ nfsrv_cleanusergroup(); @@ -945,7 +945,7 @@ nfscommon_modevent(module_t mod, int type, void *data) case MOD_UNLOAD: if (newnfs_numnfsd != 0 || - NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING || + VNET(nfsrv_nfsuserd) != NOTRUNNING || nfs_numnfscbd != 0) { error = EBUSY; break; diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 0b7c15a0b54e..b5f83a98b307 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -96,19 +96,19 @@ struct nfs_prime_userd nfs_prime_userd[] = { { 0, 0, 0, NULL }, }; -NFSD_VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; -NFSD_VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); -NFSD_VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; -NFSD_VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; -NFSD_VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; +VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; +VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); +VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; +VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; +VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; +VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; SYSCTL_DECL(_vfs_nfs); -NFSD_VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; +VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, - CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfs_enable_uidtostring), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nfs_enable_uidtostring), 0, "Make nfs always send numeric owner_names"); int nfsrv_maxpnfsmirror = 1; @@ -216,14 +216,14 @@ struct nfsrv_lughash { struct nfsuserhashhead lughead; }; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; -NFSD_VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; -NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; -NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; +VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; +VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; +VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; +VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; +VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; /* * This static array indicates whether or not the RPC generates a large @@ -1369,7 +1369,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, #endif CTASSERT(sizeof(ino_t) == sizeof(uint64_t)); - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (compare) { retnotsup = 0; error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup); @@ -2064,7 +2064,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtouid(nd, cp, j, &uid)) nap->na_uid = - NFSD_VNET(nfsrv_defaultuid); + VNET(nfsrv_defaultuid); else nap->na_uid = uid; } @@ -2098,7 +2098,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } else if (nap != NULL) { if (nfsv4_strtogid(nd, cp, j, &gid)) nap->na_gid = - NFSD_VNET(nfsrv_defaultgid); + VNET(nfsrv_defaultgid); else nap->na_gid = gid; } @@ -2602,7 +2602,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, error = nfsm_advance(nd, attrsize - attrsum, -1); } nfsmout: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE2(error, nd); return (error); } @@ -3652,16 +3652,16 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultuid to "nobody". */ - if (uid == NFSD_VNET(nfsrv_defaultuid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 7; + if (uid == VNET(nfsrv_defaultuid)) { + i = VNET(nfsrv_dnsnamelen) + 7; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3673,9 +3673,9 @@ tryagain: *retlenp = i; NFSBCOPY("nobody@", cp, 7); cp += 7; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3700,7 +3700,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3715,14 +3715,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -3750,7 +3750,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -3771,7 +3771,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { @@ -3819,7 +3819,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) uid_t tuid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -3831,7 +3831,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *uidp = tuid; else error = NFSERR_BADOWNER; @@ -3848,7 +3848,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the domain name matches, search for * the name with dns stripped off. @@ -3856,10 +3856,10 @@ tryagain: * since RFC8881 defines this string as a DNS domain name. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -3867,7 +3867,7 @@ tryagain: * Check for the special case of "nobody". */ if (len == 6 && !NFSBCMP(str, "nobody", 6)) { - *uidp = NFSD_VNET(nfsrv_defaultuid); + *uidp = VNET(nfsrv_defaultuid); error = 0; goto out; } @@ -3902,7 +3902,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -3924,16 +3924,16 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && - !NFSD_VNET(nfs_enable_uidtostring)) { + if (VNET(nfsrv_dnsnamelen) > 0 && + !VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultgid to "nogroup". */ - if (gid == NFSD_VNET(nfsrv_defaultgid)) { - i = NFSD_VNET(nfsrv_dnsnamelen) + 8; + if (gid == VNET(nfsrv_defaultgid)) { + i = VNET(nfsrv_dnsnamelen) + 8; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3945,9 +3945,9 @@ tryagain: *retlenp = i; NFSBCOPY("nogroup@", cp, 8); cp += 8; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); - NFSD_CURVNET_RESTORE(); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); + CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3972,7 +3972,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - NFSD_VNET(nfsrv_dnsnamelen) + 1; + VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3987,14 +3987,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, - NFSD_VNET(nfsrv_dnsnamelen)); + NFSBCOPY(VNET(nfsrv_dnsname), cp, + VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } } @@ -4022,7 +4022,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); return; } @@ -4045,7 +4045,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) gid_t tgid; struct nfsrv_lughash *hp, *hp2; - NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -4057,7 +4057,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - NFSD_VNET(nfsd_enable_stringtouid) != 0)) + VNET(nfsd_enable_stringtouid) != 0)) *gidp = tgid; else error = NFSERR_BADOWNER; @@ -4074,16 +4074,16 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) cnt = 0; tryagain: - if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { + if (VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the dns name matches, search for the * name with the dns stripped off. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && - strncasecmp(cp, NFSD_VNET(nfsrv_dnsname), - NFSD_VNET(nfsrv_dnsnamelen)) == 0) { - len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); + (len - 1 - i) == VNET(nfsrv_dnsnamelen) && + strncasecmp(cp, VNET(nfsrv_dnsname), + VNET(nfsrv_dnsnamelen)) == 0) { + len -= (VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -4091,7 +4091,7 @@ tryagain: * Check for the special case of "nogroup". */ if (len == 7 && !NFSBCMP(str, "nogroup", 7)) { - *gidp = NFSD_VNET(nfsrv_defaultgid); + *gidp = VNET(nfsrv_defaultgid); error = 0; goto out; } @@ -4126,7 +4126,7 @@ tryagain: error = NFSERR_BADOWNER; out: - NFSD_CURVNET_RESTORE(); + CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -4148,12 +4148,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING) { + if (VNET(nfsrv_nfsuserd) != NOTRUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* * Set up the socket record and connect. * Set nr_client NULL before unlocking, just to ensure that no other @@ -4161,7 +4161,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) * occur if the use of the nameid lock to protect nfsrv_nfsuserd is * broken. */ - rp = &NFSD_VNET(nfsrv_nfsuserdsock); + rp = &VNET(nfsrv_nfsuserdsock); rp->nr_client = NULL; NFSUNLOCKNAMEID(); rp->nr_sotype = SOCK_DGRAM; @@ -4202,12 +4202,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) &rp->nr_client); if (error == 0) { NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = RUNNING; + VNET(nfsrv_nfsuserd) = RUNNING; NFSUNLOCKNAMEID(); } else { free(rp->nr_nam, M_SONAME); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } out: @@ -4223,21 +4223,21 @@ nfsrv_nfsuserddelport(void) { NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); return; } - NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; + VNET(nfsrv_nfsuserd) = STARTSTOP; /* Wait for all upcalls to complete. */ - while (NFSD_VNET(nfsrv_userdupcalls) > 0) - msleep(&NFSD_VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, + while (VNET(nfsrv_userdupcalls) > 0) + msleep(&VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, "nfsupcalls", 0); NFSUNLOCKNAMEID(); - newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); - free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); + newnfs_disconnect(NULL, &VNET(nfsrv_nfsuserdsock)); + free(VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); crfree(VNET(nfsrv_nfsuserdsock).nr_cred); NFSLOCKNAMEID(); - NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; + VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } @@ -4257,7 +4257,7 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) int error; NFSLOCKNAMEID(); - if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { + if (VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; @@ -4266,9 +4266,9 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) * Maintain a count of upcalls in progress, so that nfsrv_X() * can wait until no upcalls are in progress. */ - NFSD_VNET(nfsrv_userdupcalls)++; + VNET(nfsrv_userdupcalls)++; NFSUNLOCKNAMEID(); - KASSERT(NFSD_VNET(nfsrv_userdupcalls) > 0, + KASSERT(VNET(nfsrv_userdupcalls) > 0, ("nfsrv_getuser: non-positive upcalls")); nd = &nfsd; cred = newnfs_getcred(); @@ -4286,13 +4286,13 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) len = strlen(name); (void) nfsm_strtom(nd, name, len); } - error = newnfs_request(nd, NULL, NULL, &NFSD_VNET(nfsrv_nfsuserdsock), + error = newnfs_request(nd, NULL, NULL, &VNET(nfsrv_nfsuserdsock), NULL, NULL, cred, RPCPROG_NFSUSERD, RPCNFSUSERD_VERS, NULL, 0, NULL, NULL); NFSLOCKNAMEID(); - if (--NFSD_VNET(nfsrv_userdupcalls) == 0 && - NFSD_VNET(nfsrv_nfsuserd) == STARTSTOP) - wakeup(&NFSD_VNET(nfsrv_userdupcalls)); + if (--VNET(nfsrv_userdupcalls) == 0 && *** 2402 LINES SKIPPED *** From nobody Sun May 3 01:37:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7S7s0YPRz6ccd7 for ; Sun, 03 May 2026 01:37:29 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (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 4g7S7r1qs5z3ZNB for ; Sun, 03 May 2026 01:37:28 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=Sr71zKXX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::102f as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-35f9ab079bdso2306690a91.2 for ; Sat, 02 May 2026 18:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777772245; x=1778377045; darn=freebsd.org; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=rH+dHbW7iQs8qaMv7oqp6jUhF/NLmX6NnOyuhuxphEI=; b=Sr71zKXXhIEeP/pkCL180/Fr16QjnFDlSG5cpYaCRWEBrX6cdEngWQBRKUOlKfB18Z o2a7FRQ/Vm/J6rYaZtYb82NeVQJDbwFrGjqtWFN1g4T4hwE755BWxmfDNJh8cSAIIvaF xTQjJ6gviTCLz1zjVVTLxrVU9Ptnf5+HAf4tC/msWDEE8DjqBC8GW4mdtqzkhcegw0V6 1t89mv1bSQQn6AvJ46QKT110L7W2joWzFUdC6CT6PzAkZbOMW7dJ0/r16XiUr0IMkWPS kS8WyDR15Sfj/Q8yMZmk3dIbG8179Ff0gH+fCye4LuvjU2AxbTjjgp5Jo3oFKkEvpGbL rFpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777772245; x=1778377045; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rH+dHbW7iQs8qaMv7oqp6jUhF/NLmX6NnOyuhuxphEI=; b=aT+c5QkxMAS4raqQhAdOPDobgzaWx5zzh9DeSrmbvUacjbklLXIlI+Ba/J09XsYMEi ovyXKmncdLzum24MBliiOB2rdEn2kDI7eto7p6zjQRcp2Araz0u7IBrd5BDWzNhg4ZZP /cMpCGNaQpJpZLE8qpmtUZBv2RpqYzZTjdwzyvj20JpWq99wHoQ3szqBQxQupvvI0+FI T17Q6mWieOFhtB5+9RFY9GA1qMPhX20F6W0ySnKyb84K5ehV7QEC9Y5DuFOE50YjE4oN 1nvKiJsIZuE28UpYHvpsUr7UKSFGfa7R6AQNNTmZqpnu6+rDMKF42NxlHq24oO+mIW2U WtSA== X-Gm-Message-State: AOJu0YzVmbs51OjdnyIlVzmVg7ws/g/bqJs6kG6/LoyP/lXmVZ45lDKH OZwA46s8CIuP3dcDfCDf5CAXf84N5ElEDrKGwFu0NnsKZLkHFpiKzqqNLJKRmRru X-Gm-Gg: AeBDieuaQtDHtV+qqgeONfJMGIsDZdXmuQNvnYKD0lFXJ9cAxO16mQAjnbJEN0+2+/C 2DAobf9C2qskRtCJftbDHeZARWMSQzChVkTqDuxuKL2h1aNGgEzHP08yQiSFE2Nhh2X4Q5TEFZJ hX/eiqOzhvjLyCjpfKRnrhRhAipERnhxcsGv3rygr2b1IS3HLQ4p03GYxIxZygIxuCduV2yW5zl 52m1PF73JQGPwzVXHSSDShiGykQZUGsuRW2HaFRDnR1YxVQt/+a7JzIizDFCaE0shmn6YqRE9LU YhZo+kyo4pOcmE8eMCrEzzf5EIm70Xh6und2r560vNKcmv0nhQm+YwJtXRcn0l/a3nGRQZejCQB qKC3eO1CBGynD31qC+4amuznLTJPjji3sWCxE/e4wsi/THSnKy7Av0dNfqh7OnePEAUebzuXyZo QGuvFmAHdKn5bkc0T2SCdmiloU2EZOgXOT70h7OoptSdrK5HI= X-Received: by 2002:a17:902:ea0e:b0:2b0:445a:8c7b with SMTP id d9443c01a7336-2b9f259e04cmr47779875ad.15.1777772245468; Sat, 02 May 2026 18:37:25 -0700 (PDT) Received: from ehlo.thunderbird.net ([185.153.179.237]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b9caaba933sm60130085ad.28.2026.05.02.18.37.24 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 02 May 2026 18:37:24 -0700 (PDT) Date: Sat, 02 May 2026 18:37:21 -0700 From: Enji Cooper To: dev-commits-src-main@freebsd.org Subject: =?US-ASCII?Q?Re=3A_git=3A_3e845b109056_-_main_-_ping=3A_fix_li?= =?US-ASCII?Q?sting_test_cases_when_scapy_is_not_installed?= User-Agent: Thunderbird for Android In-Reply-To: <865x55yfe7.fsf@ltc.des.dev> References: <69f61649.1c022.73b2a773@gitrepo.freebsd.org> <865x55yfe7.fsf@ltc.des.dev> Message-ID: List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-0.25 / 15.00]; FORGED_MUA_THUNDERBIRD_MSGID_UNKNOWN(2.50)[]; SUBJ_EXCESS_QP(1.20)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.959]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; MIME_GOOD(-0.10)[text/plain]; XM_UA_NO_VERSION(0.01)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102f:from]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Spamd-Bar: / X-Rspamd-Queue-Id: 4g7S7r1qs5z3ZNB On May 2, 2026 8:56:00 AM PDT, "Dag-Erling Sm=C3=B8rgrav" wrote: >Gleb Smirnoff writes: >> I don't think Kyua expects a test program to be able to list the test >> cases, but then fail to run them=2E > >Yes it does=2E We have literally hundreds of cases like that=2E See >require=2E* in atf-test-case(4) for more information=2E > >DES +1 to what asomers and des said=2E If a test fails when listing testcases with a nonzero exit code or if no t= ests are listed when requested, the list operation will be marked broken by= kyua=2E If you really want to go this route with pure pytest, pytest=2Eimportorski= p is the best way to go (generally) as it doesn't completely hide the impor= t issue, but skips one or more testcases or tests suites at whichever level= failed to import the targeted module=2E I don't know if this route would w= ork through with our mutant ATF/pytest integration though; making module-le= vel skipping work would require making pytest a first class citizen like pu= re ATF, TAP, googletest, etc test suites are today [1]=2E Cheers, -Enji 1=2E Doing this isn't hard; it's just tedious and there's already a fairly= large delta between what's in freebsd :main vs kyua :master (it boils down= to me not having the time to resolve some issues with atf :master since st= uff is so tightly coupled in earlier versions=2E I untangled it in later ve= rsions, but the latest release of atf still has "memory leaks" which need r= esolving=2E=2E I might just throw the problem at Claude and see if it comes= up with any reasonable suggestions=2E=2E=2E From nobody Sun May 3 02:24:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7TBN3ql9z6ch6d for ; Sun, 03 May 2026 02:24: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 4g7TBN3Lk2z3dQt for ; Sun, 03 May 2026 02:24:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777775084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mOIqQq7xjgpjYBuataOslYCWvFYmvVh37ssWBxvFoHY=; b=acYPpIBiMdwEC01mrwtZEJgoTge5G62sl8c+gPqbKFX3j8GtoQOBjV/moSRmFDhEr2oD6o QfuKX6oFpN56SywPqklX+IqmraAJG04mhtPDJHNNCu99EYLYKsf8jpXzY3M+iaMQF+JrZr dvGyp6jfYlAJi5QNc0uWPiUjLFv24UBUhQxcEhCCkTDnK14KqlnQ2rTf4ihk6ad5cRFgoX 7KLYugPUptwdCjB8kBmhj1V9UYw17TLtzwtJ/cJ0oT69Or8hS2bsJ6t/RhjHbURRvuSlb1 /V27y5OkZip48Zve/tzFcAIVlmbxO0U8r68kvE/1F7sob72TQ+KJQ5Kf8QjSNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777775084; a=rsa-sha256; cv=none; b=RqRZjoi85bHvuS7sX16XA87vDzOG8HPN/YyUe85GSYSMIjxfSFbnNSsP1FTbp6NWrh7Uc0 2JwZge0x0JTuMHnwjvbbLbGLtzG5mQqiC93KxHb1/6NeRVrc0/FSB8LeK5zrP+lEiJZ99b /s0xDFRxnXem6HVJrPHWtJbjG8B2djdhy2GTTNwUQfGa3vhOeRfT3aDNLdJW0fcSIlGz4x uCE/ZxRpuuelg+Q8JcontpwjOkpiqdHg9EsinAx4CqqxNY6has72wPQydXEaVUlRaB85ht BjjNH6hUPqKoX+pmL733tlQiNart2xYCgAs9CWwlR1eSxombkDYNylA6Wk1w/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777775084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mOIqQq7xjgpjYBuataOslYCWvFYmvVh37ssWBxvFoHY=; b=eI6r2X6x+OiFbfSMX+HIi2iBt+PO6sBexs6CGefZcBCMCPS1tFXsPXPv2/beXCdyvHkmkB bRw6/g6vvHxaBrv23hUmayDeEctnk0ulGXkntmQ2SENIEsuroxljym8A615ok4h6QPzps1 YcqUPMtype0bSnaSmYjKY4RmMBZqvaR5D8lAaW4KgxfiTLd72O/4MnUwApDZNjOpYUh/sx K+69uziEbgdbB/YNBvjJGD3Wpz2fgGaDO4ggjOk3iSYYIFUawCOhUPlTiqzxWsJYMUx60O xorwBS6MYGoOc0mJ4G/vVtsGq2qU32NG2Q8KOM/LdA2P6m/pMfAd4JNRG5LhqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7TBN2DPsz1C8K for ; Sun, 03 May 2026 02:24:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 181e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 02:24:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stephen J. Kiernan Subject: git: 01674e15dedb - main - bsd.endian.mk: Optimize the handling of big/little endian determination. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01674e15dedb15f8ce498af0680c50bb075c5482 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 02:24:44 +0000 Message-Id: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=01674e15dedb15f8ce498af0680c50bb075c5482 commit 01674e15dedb15f8ce498af0680c50bb075c5482 Author: Stephen J. Kiernan AuthorDate: 2024-04-03 23:25:19 +0000 Commit: Stephen J. Kiernan CommitDate: 2026-05-03 02:21:56 +0000 bsd.endian.mk: Optimize the handling of big/little endian determination. Add variables to contain lists of MACHINE_ARCH values to use to determine little or big endian. Only error out about not being able to determine endianess if TARGET_ENDIANNESS is empty and not cross-compiling. Reviewed by: sjg Obtained from: Hewlett Packard Enterprise Development LP Differential Revision: https://reviews.freebsd.org/D44629 --- share/mk/bsd.endian.mk | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk index 0c5ebb7aeba2..2a617a1d2794 100644 --- a/share/mk/bsd.endian.mk +++ b/share/mk/bsd.endian.mk @@ -1,20 +1,35 @@ -.if ${MACHINE_CPUARCH} == "aarch64" || \ - ${MACHINE_CPUARCH} == "arm" || \ - ${MACHINE_ARCH} == "amd64" || \ - ${MACHINE_ARCH} == "i386" || \ - ${MACHINE_ARCH} == "powerpc64le" || \ - ${MACHINE_CPUARCH} == "riscv" +MACHINE_ARCH_LIST.little = \ + aarch64 \ + amd64 \ + armv7 \ + i386 \ + powerpc64le \ + riscv* + +MACHINE_ARCH_LIST.big = \ + powerpc \ + powerpc64 + +.for e in big little +N_$e:= ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} +.endfor + +# For the host, we need to look at the host architecture +.if ${MACHINE:Nhost*} == "" +_ENDIAN_ARCH=${_HOST_ARCH} +.else +_ENDIAN_ARCH=${MACHINE_ARCH} +.endif + +.if ${_ENDIAN_ARCH:${N_little}} == "" TARGET_ENDIANNESS= 1234 CAP_MKDB_ENDIAN= -l LOCALEDEF_ENDIAN= -l -.elif ${MACHINE_ARCH} == "powerpc" || \ - ${MACHINE_ARCH} == "powerpc64" +.elif ${_ENDIAN_ARCH:${N_big}} == "" TARGET_ENDIANNESS= 4321 CAP_MKDB_ENDIAN= -b LOCALEDEF_ENDIAN= -b -.elif ${.MAKE.OS} == "FreeBSD" -.error Don't know the endian of this architecture .else # # During bootstrapping on !FreeBSD OSes, we need to define some value. Short of @@ -33,3 +48,7 @@ TARGET_ENDIANNESS= 1234 CAP_MKDB_ENDIAN= -B # Poisoned value, invalid flags for both cap_mkdb LOCALEDEF_ENDIAN= -B # and localedef. .endif + +.if empty(TARGET_ENDIANNESS) && ${.MAKE.OS} == "FreeBSD" +.error Don't know the endianness of this architecture +.endif From nobody Sun May 3 05:33:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7YN60D7hz6bnvf for ; Sun, 03 May 2026 05:33: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 4g7YN54Szdz3wwB for ; Sun, 03 May 2026 05:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777786405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kMuIMCTsoJiECqLjEtPO5RffJUdxC85P81OSdOPmhMs=; b=QDLhFNa6Ec2DnlrbYJoC69Jg5pyd27sBx+gMJ5kaquqzS605ZrsKzC/dqNm7Fixt69YSBV fqNxSlNlEJcPFz+vG/B9EkaKOJCqU2+xBiapaYa2qFMDyk7fnFuyIVQ6M3cUZTNoQZx1Lu Esn/XT3yFdtSviMjgDuyiLsY28f75JwKWQIVUYq2ly1jd4eWoFSk1JLmuCI39Icz3CLyWV NPkX3e7jxQHkv8V4xfgKDd7MnZFB2sDi8+bHeHsMcPHnJ1U9LdllHqx6QxpcC2Z5YqYtY0 jtEkmyV5K9ZE0wvZSjtAPJzcndS1iTb8a7NhMP9ebaU1Q9LCsFKaE4MaZ1NCcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777786405; a=rsa-sha256; cv=none; b=GE9CH6UvycijJXuFbuDyaXLt3dFEZWFb/dDL487CInAtgsHDanJ+tO4Y6zh4LJIZSM0iqF km4nn4vacD6a0BFbfa7TVB6BU2cvRozzhHepDDLivrODsSmmh9g9dGAPcXPxGglB6RZrrK PFYCeWe8kUKWyOzVFSUS2Io+6Hr82vFRhRmUNNadQ/f4ySElhpiPra1yJBJUXKZ/uK/Fd6 oYL94Hg5sy6PY4BnjvYQ13ag6tcIXgxzT9eJvd26U6MrA5+wC8eff+2lFPt7ZrkEdeifzF 5e7uJFhWy/t4WlILWIuhOVxv5G0vVBsEhghkvCvZt5uehuXyrBSXgVIL+WBAeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777786405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kMuIMCTsoJiECqLjEtPO5RffJUdxC85P81OSdOPmhMs=; b=siHXdixCIRRxkuX/BB3bq4SHXDxtlJyDoBEZa1S3/+8dXda2/G6y0+5tvIexENx+w0AcSX 4YgShm4dkE2Ejj1/eZjq7z887BBtw0ig3tsa5fvLo8Zfx+3cVHlUNUtAo4mvABeTDXAUVR oesyp7HHQyHY0ca0+ZA9IK3eK3eufElW13fWE2s7NQdpfj3cFn88x9RZa1Ge5eMwcGzHwm sJl+uSaKi/nZhBUWO/j1MFJrtCCRNkfLioG6DW3iaEz6uPlHIew9H+5cMp9ifvWDJx9/eu x1JTpSHA7QWuH2tFarpmvpIjLvhlVxGt33ACjpPGiHLDwec6W2E0c8AkAvbXdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7YN53qt8z49b for ; Sun, 03 May 2026 05:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3297c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 05:33:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 5a6d9479ae22 - main - blocklistd: Fix RFC1918 typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a6d9479ae2271a97dd23ceee8ad284770302874 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 05:33:20 +0000 Message-Id: <69f6de20.3297c.4f1f048a@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5a6d9479ae2271a97dd23ceee8ad284770302874 commit 5a6d9479ae2271a97dd23ceee8ad284770302874 Author: Jose Luis Duran AuthorDate: 2026-05-03 05:31:51 +0000 Commit: Jose Luis Duran CommitDate: 2026-05-03 05:31:51 +0000 blocklistd: Fix RFC1918 typo The address in the configuration file example was intended to be from the 192.168.0.0/16 range of IPv4 private addresses (RFC1918). Reported on mastodon.social at https://mastodon.social/@asmodai/116316630762241486. Fix submitted upstream by emaste@. Fixing locally first. Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56773 --- usr.sbin/blacklistd/blacklistd.conf | 2 +- usr.sbin/blocklistd/blocklistd.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/blacklistd/blacklistd.conf b/usr.sbin/blacklistd/blacklistd.conf index ec995e038574..04a09f8d3dea 100644 --- a/usr.sbin/blacklistd/blacklistd.conf +++ b/usr.sbin/blacklistd/blacklistd.conf @@ -14,7 +14,7 @@ submission stream * * * 3 24h # adr/mask:port type proto owner name nfail duration [remote] -#129.168.0.0/16 * * * = * * +#192.168.0.0/16 * * * = * * #[2001:db8::]/32:ssh * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = diff --git a/usr.sbin/blocklistd/blocklistd.conf b/usr.sbin/blocklistd/blocklistd.conf index c6c7f7c2fafc..db9a6fc5c720 100644 --- a/usr.sbin/blocklistd/blocklistd.conf +++ b/usr.sbin/blocklistd/blocklistd.conf @@ -10,7 +10,7 @@ submission stream * * * 3 24h # adr/mask:port type proto owner name nfail duration [remote] -#129.168.0.0/16 * * * = * * +#192.168.0.0/16 * * * = * * #[2001:db8::]/32:ssh * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = From nobody Sun May 3 08:56:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7dt83ZMgz6cBBY; Sun, 03 May 2026 08:56:16 +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 4g7dt831s4z3LxK; Sun, 03 May 2026 08:56:16 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777798576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ECOvIfRzerE3+WuEDgi6NJBbmQy+qojIu9c/dqgpUSU=; b=rYB/s77G4mAGzV5PNPUZpBEWykI+84L2zlb+qMCUIssiZYH408rEqNTR9rQSNpPe+oinG5 n6w4Ef8/ePrQJahfL+crUDD9DyO/dWmDs31LGZwIF8afix4Ta8bEUHbKeVCOu4dQbGuedV RWZg2MGBjjI6yZ5U8/c7OSlgJDbT8z6+35Rnpcc9bXXoMyDVG4r79UUIvRAdfzDvbYvU7C EBeD06VVJ/EfEEKNdFvTYvRDrrQllY/nfiXyX5ON6PHUXZ5eqvItjM9+REOie6Ly7sMhHW kReY4iD2zElcn9QNFd65OcxWzoGnX0fpucD4jQ5+lljj5oYtA8xNSY6QzhxQ2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777798576; a=rsa-sha256; cv=none; b=VigvhcGFCeuwFCOufp9MAXZ3ueYIQZpOTrdKOm8EpJ0w7Wp+7NDK1u5XO+2/igPH6OD/+N 3gQYvVDnRyxisyGugG7+hO477v/3ARPWUdGJBO+OeFHQ9/DUKPPunyygZZ3XfgJoYexvs8 hkFTj3tcP6qR3HABl5T2LRmaDiUEVZZi5orPn5ewykcZopfKoGEHV3wEbJjPneQVmB0i2p FML62EJ1/WsSamxwg+/cnu6KG2+UHZ7iXJzxXW1b1uql2rtP/DFhYqKeY3814heqOjaogb 5n+s0ePON8RsimW9SGMshBh8Xgb02il82nVn7n9wepVCMA8l7eMPWI5yB6mB/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777798576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ECOvIfRzerE3+WuEDgi6NJBbmQy+qojIu9c/dqgpUSU=; b=Q88M5ENqDxecLJlshIevrCCeoMxocXd4p9L2Iwck/oiHwjatbWNoamMHqcoZ/acr8m68xv AYlXL2v9mtaIu1l9rZ4CCCHwAXYnALiEZxYEtjAtIO8ajUrJpJOhjoVvxMsby6LRDOLwUu OclLzKQtW+j658eyzWkiHubk/5sg0IuDsQPDHdA3oPvooF7fbewwhUeg2SM0zurwj8Q6F8 oJNH6fzTEqzPlF9BLg3rYTlkV0GnsPAEhC66IZjlQOQArx0G+nnxJBiV0ecGqzErIab7Ve 0HfnR1bQ4xz/y+A5gQTP1tJRW4XpaJiPfyBV5SNkMrlXtqjHlAFXyi5n1mIQ2g== Received: from rose.le-fay.org (rose.le-fay.org [IPv6:2a00:1098:6b:400::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g7dt75SW5z10HZ; Sun, 03 May 2026 08:56:15 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Sun, 3 May 2026 09:56:13 +0100 From: Lexi Winter To: Shawn Webb , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d1c176fedfc9 - main - packages: Make create-sets.sh more robust Message-ID: Mail-Followup-To: Shawn Webb , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69f10fa0.34907.7c21574e@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="k8htyTR/NkuK9mjG" Content-Disposition: inline In-Reply-To: --k8htyTR/NkuK9mjG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Lexi Winter wrote in : > Shawn Webb wrote in : > > On Tue, Apr 28, 2026 at 07:50:56PM +0000, Lexi Winter wrote: > > > packages: Make create-sets.sh more robust > >=20 > > After this commit, the create-sets.sh script exits with an error code, > > but no error message. I'm not entirely sure what's going wrong for me. >=20 > can you please add set -x and show the output? >=20 > also, a copy of the full log would be useful, e.g. run > % make update-packages-jobs > and provide ../update-packages.log. if you are building a release (rather that just building packages), this may be https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D294966. --k8htyTR/NkuK9mjG Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHQEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCafcNpwAKCRD1nT63mIK/ YGkQAPj4qT0JBz3iAq15fZsGfACilfP8SK5d9m+2WJU5CqAgAP4pSmFTTJAnbKQE E9BUkh0q1M9yEv7cVGUquXfcD+cYAA== =V8gb -----END PGP SIGNATURE----- --k8htyTR/NkuK9mjG-- From nobody Sun May 3 11:03:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7hjF3HB4z6cQBd for ; Sun, 03 May 2026 11:03: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 4g7hjF2dF6z3cMm for ; Sun, 03 May 2026 11:03:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777806225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FKEHje/cSBruIqBHAQJ/nHis9V+OxevXNXO5DNGdjuY=; b=GtKXGWTO1RkdFxa/POAjN2FR9ZI3jHdsQy8OETGNLk4FyMGZBQFNyb+QtAlOyMRNOlhuhy KZ7ZHZfCUHqiTFfPTllAZVJ2VWtHC3BFpQ0ejwv5rMV/jIUdD0Od63wQiQDXaNAn7+0zvK 2bWYC2nLjN9b3q0uTK4dul+MalYWeTNjcB2pBwClazEyE9yw9UTKgR7vt5/fp75Ws1Szvx qNbpYxaYQBkyl8zelXHoLDBguzrPQ3F3zPp05WG5El6ownDWINXV/wzheR2J4CEeJrYpi8 t4b3M8JFaL+xC46vKYeUaMbIMXWPQD8Z7rJJKnC5S6Fu71216dhhfafZXXQ4Qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777806225; a=rsa-sha256; cv=none; b=sMtoQtS8WFBlZWSGJlLXoarhYiNRF3Q0ZqjeJ+zqaLYcm481VITfhX3+ssNMBrvEPfAZJM 2qRx0x2baHVzWn/ZWXBJqdil1T/ebhcIr9N/LAOzT5GzUIMxHOo+rw4/bFHeAjZkWC6Yat mldPHnGorOLHDQlmTFcZ+qfYqT88t6WWaROqcNp4BrY5xylex2iLG2jmgMvkhihcntuQ6L VJzbnPB5PDqywOs+22jlJMU63oyQMIW8DyAStuWVMjU14EEbaXpJKOoGq70NNehHX/1kC0 rABMPUIy4FaHb3MpQjFXaWCnOK+2Ic7Qdl6rejp7kJrFYDq6PoLJrLR80YmmCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777806225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FKEHje/cSBruIqBHAQJ/nHis9V+OxevXNXO5DNGdjuY=; b=Ed4BKf2cAff7PCAD+zJvywVuNwOxzuT8hFN6v5T8JFcMKHIg0acLxQgUGQCLAqrE0+Sp4f TRUXS8aD0aDaPpLtlaU8zQIfFvgMchvoNjdD7PZzm4ZqQusa3QIau0kmZiKN2k9I4d0LHk 3055BlUfIiMudJMqIk6yYuXRmWab8qWNzh5C3xD8qubBV6RJinJujkxwJqmbftyxXF/DE7 vOqXH3C+eYUDrs7SmCFDkUxrGZE+3iQBvFEAvsSOxCosVmGDq1PAX6xkKVI5AJruLy1ZIr eEV3Qu+wiIpsdIM/Q+uPIbb+/K/n5M36sTrs8Iudc5hMbJ/ax7T6tvigXVBibg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7hjF2BklzTsW for ; Sun, 03 May 2026 11:03:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30e95 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 11:03:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 9137c66c2ea6 - main - tests/carp: Rework unicast_v4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9137c66c2ea6cc09e3a6f8a042ecdc5a62e0f39e Auto-Submitted: auto-generated Date: Sun, 03 May 2026 11:03:45 +0000 Message-Id: <69f72b91.30e95.10e55bd5@gitrepo.freebsd.org> The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9137c66c2ea6cc09e3a6f8a042ecdc5a62e0f39e commit 9137c66c2ea6cc09e3a6f8a042ecdc5a62e0f39e Author: Zhenlei Huang AuthorDate: 2026-05-03 11:02:15 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-03 11:02:15 +0000 tests/carp: Rework unicast_v4 For unicast tests, it is sufficient to use wait_for_carp() to verify the setup is sane. Additional sanity checks are not necessarily required but can serve purpose for redundancy. For some unclear reason routed(8) is advertising route to carp BACKUP. That makes the test flaky. Also routed(8) is marked deprecated and may be removed from base in the future. Let's just add static route entry manually for additional sanity checks. Other noticeable changes: 1. Add atf_check to configuration steps to prevent potential failure on setup. That helps diagnosing on failure. 2. Shorten the names of jails to improve readability. 3. Prefer `[ifconfig|route|sysctl] -j` over `jexec [ifconfig|route|sysctl]` to make the lines shorter. PR: 294817 Reviewed by: glebius (previous version), pouria, markj Fixes: 93fbdef51a13 tests: carp: Update test case unicast_v4 to catch PR 284872 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56761 --- tests/sys/netinet/carp.sh | 80 ++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index e0ef2fd97583..7b484a21d8cf 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -169,58 +169,66 @@ unicast_v4_body() epair_one=$(vnet_mkepair) epair_two=$(vnet_mkepair) - vnet_mkjail carp_uni_v4_one ${epair_one}a ${epair_two}a - vnet_mkjail carp_uni_v4_two ${epair_one}b - vnet_mkjail carp_uni_v4_three ${epair_two}b + j="carp_uni_v4_" - jexec carp_uni_v4_one sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_one ifconfig ${epair_one}a inet 198.51.100.1/25 - jexec carp_uni_v4_one ifconfig ${epair_two}a inet 198.51.100.129/25 + # The router + vnet_mkjail ${j}one ${epair_one}a ${epair_two}a + # The hosts + vnet_mkjail ${j}two ${epair_one}b + vnet_mkjail ${j}three ${epair_two}b - jexec carp_uni_v4_two sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_two ifconfig ${epair_one}b 198.51.100.2/25 up - jexec carp_uni_v4_two route add 198.51.100.224 198.51.100.1 - # A peer address x.x.x.224 to catch PR 284872 - jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \ - peer 198.51.100.224 192.0.2.1/32 + atf_check -o ignore sysctl -j ${j}one net.inet.ip.forwarding=1 + atf_check ifconfig -j ${j}one ${epair_one}a inet 198.51.100.1/25 + atf_check ifconfig -j ${j}one ${epair_two}a inet 198.51.100.129/25 - sleep 0.2 - jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up - jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129 - jexec carp_uni_v4_three ifconfig ${epair_two}b add vhid 1 \ - peer 198.51.100.2 192.0.2.1/32 + atf_check ifconfig -j ${j}two ${epair_one}b 198.51.100.2/25 up + atf_check -o ignore route -j ${j}two -n add default 198.51.100.1 + atf_check ifconfig -j ${j}three ${epair_two}b 198.51.100.224/25 up + atf_check -o ignore route -j ${j}three -n add default 198.51.100.129 + + sleep 0.1 # Sanity check - atf_check -s exit:0 -o ignore jexec carp_uni_v4_two \ + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.2 + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.224 + atf_check -o ignore jexec ${j}two \ ping -c 1 198.51.100.224 - wait_for_carp carp_uni_v4_two ${epair_one}b \ - carp_uni_v4_three ${epair_two}b + # A peer address x.x.x.224 to catch PR 284872 + atf_check ifconfig -j ${j}two ${epair_one}b add vhid 1 \ + peer 198.51.100.224 192.0.2.1/32 + sleep 0.2 + atf_check ifconfig -j ${j}three ${epair_two}b add vhid 1 \ + peer 198.51.100.2 192.0.2.1/32 - # Setup RIPv2 route daemon - jexec carp_uni_v4_two routed -s -Pripv2 - jexec carp_uni_v4_three routed -s -Pripv2 - jexec carp_uni_v4_one routed -Pripv2 + wait_for_carp ${j}two ${epair_one}b \ + ${j}three ${epair_two}b - # XXX Wait for route propagation - sleep 3 + if is_master ${j}two ${epair_one}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.2 + fi - atf_check -s exit:0 -o ignore jexec carp_uni_v4_one \ - ping -c 3 192.0.2.1 + if is_master ${j}three ${epair_two}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.224 + fi + + # Not necessarily required, but just in case + atf_check -o ignore jexec ${j}one \ + ping -c 1 192.0.2.1 # Check that we remain in unicast when tweaking settings - atf_check -s exit:0 -o ignore \ - jexec carp_uni_v4_two ifconfig ${epair_one}b vhid 1 advskew 2 - atf_check -s exit:0 -o match:"peer 198.51.100.224" \ - jexec carp_uni_v4_two ifconfig ${epair_one}b + atf_check -o ignore \ + ifconfig -j ${j}two ${epair_one}b vhid 1 advskew 2 + atf_check -o match:"peer 198.51.100.224" \ + ifconfig -j ${j}two ${epair_one}b } unicast_v4_cleanup() { - jexec carp_uni_v4_one killall routed - jexec carp_uni_v4_two killall routed - jexec carp_uni_v4_three killall routed vnet_cleanup } From nobody Sun May 3 11:46:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7jg21JR5z6cWyn for ; Sun, 03 May 2026 11:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7jg20pfQz3hd7 for ; Sun, 03 May 2026 11:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777808814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYdoFxBJRffaLqCmlGTSzSM7+4OHtrVm2g0kB07x2Kc=; b=HfNUVJc7T5yexJxcsIt6Xb4zNHx2ZWYX/5eD/NL7aed+Qdq0yqjpNb7XPEqv/APRLphHx2 OG7P6ZKugVHwXyJMwWdDgsIxP38k5z1x8bsZ+jSVdW1gh08nMsjpDixKFyNs2z/dgnn7c1 eTxwtilN26gy6f22CPM9m1DNQY8WCNGlkG2rBZh+m3pFjhXBlNlHVYTInBJxZ2TV/lojBo 45rlYp+/hTVp6nrvbBhAHwYCOWL8IU2bdBgh1wuYsNA8DnBjfKuCxy3eJrFQ9xa1baaRjX AxavS7K1I6ZHVnF7PMM019QbgNJKl1cL2ptXIQ2EJ8JNIK+wUhpM24mEswpItA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777808814; a=rsa-sha256; cv=none; b=cFF2G9mpMduFleYdJ2V86/AQ6NzpHKBdRidHN9TC5xvJQR8Xm3UsI49VT7a6dTeec97M4O YtIWoha7CTHQ4pbRqw39EJopyU6CifioAje8H/ubfMUbAipVWRAj3e1KKS2lRZ9GBrJyZB 5eVy3jFKKxvPxShLKD6jExGHpUjKXffF3KL0lVQd+KUgH0+PqY7cjtqFFijvki7DGAyUE9 oxLN30TeNXoR2JdF+HMgnyI4QEPliW8lmXkRWpcCmn/b792Mo8FP+Cx5jJdVSM3cPESmmg L0nJDPsFsVBAOg8pfGzffoDgF2tChNOEaeoo0KxjkMnFx8rn5hYUPZZ86KQ2ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777808814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lYdoFxBJRffaLqCmlGTSzSM7+4OHtrVm2g0kB07x2Kc=; b=SYSoU92owFHoPpNtFVXmxYUJ6MPTHF6rL7Y4ZP9eyxg4mnvN9ema91IqZQewgfYgFM6a9O K7dkbM4L16ipmvTgHdhy3EsjkVi5atLy0+VREt3T6fY1asVwJTnDWTNbLbavxiiLv7ZBoB LL+1ENgImQ13dUVpS7BXEp8rQ4GFiFc93lrxHD63+WLjqaIxZYepEfuPiWKqDiX0J07IcJ aa4ViEJ444vDzXs1jzi04qDKv9CSp/Vr24zNrwADEkTzILIsq/p1IFI0mXwb1DMtPGOfHY 7wvIUtfAJz2m0q4qet1zJauQeM6Igmxn+Kc77+fo+BdEXVu9OxPunbkWzV//uA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7jg20KPQzWYm for ; Sun, 03 May 2026 11:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33ec7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 11:46:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 9b0d9401e6a4 - main - toolchain: Correct LLVM_BINUTILS pkg pkg dependency List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b0d9401e6a46456a84500375c36008cfcfcc508 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 11:46:54 +0000 Message-Id: <69f735ae.33ec7.56a160bb@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9b0d9401e6a46456a84500375c36008cfcfcc508 commit 9b0d9401e6a46456a84500375c36008cfcfcc508 Author: Ed Maste AuthorDate: 2026-05-02 02:30:15 +0000 Commit: Ed Maste CommitDate: 2026-05-03 11:46:41 +0000 toolchain: Correct LLVM_BINUTILS pkg pkg dependency The LLVM binutils are in the clang package. Reported by: jlduran Fixes: c4f08d46c7f7 ("llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package") --- packages/toolchain/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/toolchain/Makefile b/packages/toolchain/Makefile index b47d931c2c10..81631264e22f 100644 --- a/packages/toolchain/Makefile +++ b/packages/toolchain/Makefile @@ -7,7 +7,7 @@ COMPAT_PKGS= dev PKG_SETS= devel .if ${MK_LLVM_BINUTILS} != "no" -PKG_DEPS.toolchain+= llvm +PKG_DEPS.toolchain+= clang .endif .include From nobody Sun May 3 12:51:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7l5s2n3Jz6cddk for ; Sun, 03 May 2026 12:51:45 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (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 4g7l5s0BWzz3tjM for ; Sun, 03 May 2026 12:51:45 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-50e5bea4045so27677041cf.3 for ; Sun, 03 May 2026 05:51:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777812703; cv=none; d=google.com; s=arc-20240605; b=ROTDPycgeCaVsey4gRl/+CARj7AqWeCIsKAAdn9g9JgorXnBqM0qLtRuIQSDetplo3 E/6uDYXzJV5AcEcrcK07EoYLahCbXAqMTRLTJyfSjCL54GyHGRLcfoaiGdL3yTTDGvu/ FAUpjftJV4ENacU3EJUHornJSt4HW8KqFu1ZW0cqmdyNtqGku00NmuBo2OmkDBN04+ft pYoKjko+GIrfQQnesuJITi4ArdN4wyCjKUvZXs9psbJprmSUaG2AJ4q8Pv8HSJFEbMfe yNsNyTWRcX+K1iKNF9LoaE7SnzXkcP7sn5lCUqqds+HS6VyjOfRsrUoLxeBL4bcQOcKL tLFQ== 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:dkim-signature; bh=4OQ7a2FrwuhOZYsfbzBZ/mKGFPh2GYk1QKMaU9MRzV8=; fh=ZxBZn4z75GVg3qeVCeZ+3lUOtkT9djm9P4u5ZQE0dRU=; b=AjZCpRjdCF4LzrQM0+CcqYxNqAdLcwUPEcUPrHGewM2b5Z/K6w7arbGhy/Qj0PiEYf Qglvl2Er1Ht6zeLzSrIMPdznZkNvI8d6jnLstXCnZE3+4zMZBRJDweFCvkO+XxWYWvwX FVt84FJxa5Rz5Pkh6lXBgGnURegRbPQzXJyTK4oIsplDjI60D/foL9GMBbFn0Xmud9H9 txv84buaIWhRTyJr3pJsSorgQXL5dnk1AvHGdtaIoQrEquFNIq0l5AMDxIz+djhDbkGc 7fh1VKwyW1JkjnXK7dZ/fgDX7g8gPygvTnqrvMNdWyOJKAALvW7JyHSLRS85lAt6UCLd VEIg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; t=1777812703; x=1778417503; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4OQ7a2FrwuhOZYsfbzBZ/mKGFPh2GYk1QKMaU9MRzV8=; b=A4Gs8/jkOSaf4ViQlVppfibwFEaC34/xDr+BzI6krVlCBe2YWMwyYFnalV7kzvPqCS 0HYXX/N+WmZbKqWyOvYnN/dOTu1k/Qhdaxz+i+Xx7oNJjuJZvEBj4kahd9KMKjbmiP6y nhLNqd7DaMkmKHCjDEpx29TXNx07veVbCVEEk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777812703; x=1778417503; 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=4OQ7a2FrwuhOZYsfbzBZ/mKGFPh2GYk1QKMaU9MRzV8=; b=DtIVr7Ou/btRvLyUcWGieRmZXv9SzzPg1NLn2ELmt5uico+CETc2owxtlVUmKfHFZV VjGqshDKuOxen70APeX9UP6BymZ+NqGH9ticH/vz35amVDLkrpqaJLaLawAtr57Cb/bW Ouy01Gl2bTLEp5KIRSiy55h/VI/ioF3MmaLfFjpfRhtzZnxDgpmmlr6i7ANZMO0WoCZy zDuIY4t2ZIwb4zu3Sphtvj5uta6IRi5cpDj+EtNFPd5tbr3LeMeAKbm6cWch8D7SvW0j 0NEeQVuISudNERnl9AoPkiw9eLTASJQnKwEGIz7xJe7tRITtRlmxsB0fxNbjnv5erY1g dVyg== X-Forwarded-Encrypted: i=1; AFNElJ9DRiztQazES2Kpc1bt7Ait7dmQaHovgHiJz1EP1WNpbXttgT2N++O3OjcdIfb6HZuW2M9tTHSB/13ySTOxuid4unZA3A==@freebsd.org X-Gm-Message-State: AOJu0YzqDWiORn3lxlKGi0ElqsIc2GOrfAyIKnebRuON3Ck+y556wLLZ G4mgV+AGmzO9tLE4tAREpfTVMes8jqzDGQCUKLcN0RVVx7zeyKGPg6g2RqdDj4u0lUU++IBIOcX RLLB0bl0sCrdYZVbJR4SLCPBbbzP4Pjs/WHbliRk4 X-Gm-Gg: AeBDietBPZHZ20uQfQ48iOnc29wsNG0/BFTUVAxXY3lzxRJ6Qos3OsSVaolRrFwWISa oQNcCeuXmASfUjjT5zzSl3XxMf7X56M6j5Tzrbm088xPU0JtMIoFvFTmTM1VmxqnIMlmqFVfPrb NWZjrIO3JZBUOHtpQS2cOJYi//fCsoQ0S1Z79GPsaYXDyQqs1j6gSGpqZ/NEFV7H5EVdMGzeAPd ZyBuH/wr/ZrMFERqSxmXnYh1Mx7ANW5UMHc47PNYvD0kSzv/oata3XmUs6XQ+3GG+5zbJ7LE/Rh yzKGqgGJCUocMYMEaJq5LmK4CgOkbueEl5KyvWwSYXFpKL4SAQqNa3NkxdGLxZ7Yj51osZ3RElN 365isgDrjtCSqf5TiojLFGrO29rftk+NKp5ZT8hEg24gttVV5q9WWlV2e4UU5 X-Received: by 2002:ac8:7f8b:0:b0:50d:7f66:dca with SMTP id d75a77b69052e-5104bf0a227mr89532101cf.33.1777812703139; Sun, 03 May 2026 05:51:43 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> In-Reply-To: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> From: Kevin Bowling Date: Sun, 3 May 2026 05:51:31 -0700 X-Gm-Features: AVHnY4K-LnPI4NKGjAnma1t4ZNjScc4DYQ520slFdqW4NJ2fhDKKlc2p2xJ6hvU Message-ID: Subject: Re: git: 01674e15dedb - main - bsd.endian.mk: Optimize the handling of big/little endian determination. To: "Stephen J. Kiernan" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4g7l5s0BWzz3tjM X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Sat, May 2, 2026 at 7:24=E2=80=AFPM Stephen J. Kiernan wrote: > > The branch main has been updated by stevek: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D01674e15dedb15f8ce498af068= 0c50bb075c5482 > > commit 01674e15dedb15f8ce498af0680c50bb075c5482 > Author: Stephen J. Kiernan > AuthorDate: 2024-04-03 23:25:19 +0000 > Commit: Stephen J. Kiernan > CommitDate: 2026-05-03 02:21:56 +0000 > > bsd.endian.mk: Optimize the handling of big/little endian determinati= on. > > Add variables to contain lists of MACHINE_ARCH values to use > to determine little or big endian. > > Only error out about not being able to determine endianess if > TARGET_ENDIANNESS is empty and not cross-compiling. > > Reviewed by: sjg > Obtained from: Hewlett Packard Enterprise Development LP > Differential Revision: https://reviews.freebsd.org/D44629 > --- > share/mk/bsd.endian.mk | 39 +++++++++++++++++++++++++++++---------- > 1 file changed, 29 insertions(+), 10 deletions(-) > > diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk > index 0c5ebb7aeba2..2a617a1d2794 100644 > --- a/share/mk/bsd.endian.mk > +++ b/share/mk/bsd.endian.mk > @@ -1,20 +1,35 @@ > > -.if ${MACHINE_CPUARCH} =3D=3D "aarch64" || \ > - ${MACHINE_CPUARCH} =3D=3D "arm" || \ > - ${MACHINE_ARCH} =3D=3D "amd64" || \ > - ${MACHINE_ARCH} =3D=3D "i386" || \ > - ${MACHINE_ARCH} =3D=3D "powerpc64le" || \ > - ${MACHINE_CPUARCH} =3D=3D "riscv" > +MACHINE_ARCH_LIST.little =3D \ > + aarch64 \ > + amd64 \ > + armv7 \ > + i386 \ > + powerpc64le \ > + riscv* > + > +MACHINE_ARCH_LIST.big =3D \ > + powerpc \ > + powerpc64 > + > +.for e in big little > +N_$e:=3D ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} > +.endfor > + > +# For the host, we need to look at the host architecture > +.if ${MACHINE:Nhost*} =3D=3D "" > +_ENDIAN_ARCH=3D${_HOST_ARCH} > +.else > +_ENDIAN_ARCH=3D${MACHINE_ARCH} > +.endif > + > +.if ${_ENDIAN_ARCH:${N_little}} =3D=3D "" > TARGET_ENDIANNESS=3D 1234 > CAP_MKDB_ENDIAN=3D -l > LOCALEDEF_ENDIAN=3D -l > -.elif ${MACHINE_ARCH} =3D=3D "powerpc" || \ > - ${MACHINE_ARCH} =3D=3D "powerpc64" > +.elif ${_ENDIAN_ARCH:${N_big}} =3D=3D "" > TARGET_ENDIANNESS=3D 4321 > CAP_MKDB_ENDIAN=3D -b > LOCALEDEF_ENDIAN=3D -b > -.elif ${.MAKE.OS} =3D=3D "FreeBSD" > -.error Don't know the endian of this architecture > .else > # > # During bootstrapping on !FreeBSD OSes, we need to define some value. = Short of > @@ -33,3 +48,7 @@ TARGET_ENDIANNESS=3D 1234 > CAP_MKDB_ENDIAN=3D -B # Poisoned value, invalid flags for both cap_mk= db > LOCALEDEF_ENDIAN=3D -B # and localedef. > .endif > + > +.if empty(TARGET_ENDIANNESS) && ${.MAKE.OS} =3D=3D "FreeBSD" > +.error Don't know the endianness of this architecture > +.endif This might be breaking poudriere pkg builds i.e. graphics/drm-66-kmod: make[1]: /usr/share/mk/bsd.endian.mk:25: Unknown modifier ":aarch64 amd64 armv7 i386 powerpc64le riscv*" while evaluating indirect modifiers "aarch64 amd64 armv7 i386 powerpc64le riscv*" while evaluating variable "_ENDIAN_ARCH" with value "amd64" in /usr/share/mk/bsd.endian.mk:25 in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D CC, X_ =3D ${_empty_var_} in /usr/share/mk/bsd.own.mk:297 in /usr/share/mk/bsd.init.mk:21 in /usr/src/sys/conf/kern.opts.mk:21 in /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25= _10/Makefile:4 in make[1] in directory "/wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10" make[1]: /usr/share/mk/bsd.endian.mk:53: Don't know the endianness of this architecture in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D CC, X_ =3D ${_empty_var_} in /usr/share/mk/bsd.own.mk:297 in /usr/share/mk/bsd.init.mk:21 in /usr/src/sys/conf/kern.opts.mk:21 in /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25= _10/Makefile:4 in make[1] in directory "/wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10" make[1]: stopped making "obj" in /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10 *** Error code 1 From nobody Sun May 3 13:10:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7lWY74C7z6RXMg; Sun, 03 May 2026 13:10:33 +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 4g7lWY6ckxz3wnl; Sun, 03 May 2026 13:10:33 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777813833; h=from:from:reply-to:subject:subject: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=td0PBhpjuXK6vj7f0VZzQCI6khHeXGRjohSwYgIgsCs=; b=RCPHFd5LYY/UioZK9XXX4vds7yq5U4l8xmEaP1lKvaty+BBUTiEkDtCHJhTvAzPHBPnGNn mRY2v0Cy5fF4b+2FaDTPFzw7xwsGrWNrvO6fui9puYeq+JpdFGMG2mY/p3gARAJZpUomHO X32vzmdDON8yEoxW55OEqhXnD1nDvO3hucH7XjRDpxrkY8lSsVgOvmgIETxULkC6Jfe/zp Ymy71mfKEwJWn+xbOL+ynoNBUO6I98PC+siL5DdcggN/hFpqk4MB/nM2XDW4V3nQ/T82rI EPUXaBqZaFGc3jvN46PoX/0E7kHdLyLEAvfNmAwjPhKMnGSnEdLUJP7JxlqQng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777813833; a=rsa-sha256; cv=none; b=VEY/EZ+RGaPxZj9DsfxutRp51ROT869c07zNLTqa/xzvTjeUMuiNNSG0VvywA6mnECZdTg 9b9Z6unNbpM9lFEptK4UrLWZrCxKyCYRTG+hTl0w4AYXfWI3hFwNFOcVgu/QslxPS6lIVp Akb+lcol9+v89EFCFumDdTlD1WYpKDHckYhiExPQTCjYzX1akehCdHzKnzM6isnn86fD5Q VPTBaHns7POb3JxDfMUkI6izKL18rsg7tu9a8wcHAk/aJauGGg6Z2K+fywGNcDL99DXku0 Ay+/+RP8QVEh116PXB3vbx3nL8qlmn9TzfBSCYfPvOGfer1GcDow4dk9KtF9yA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777813833; h=from:from:reply-to:subject:subject: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=td0PBhpjuXK6vj7f0VZzQCI6khHeXGRjohSwYgIgsCs=; b=gy96hehWjh1YGKiXZOuzj3pTK4az1omgiQSLgXIlFIUVqgiyL0zokjXDbxsRnXMU3qjQLn bCFTmaGqFp2e5j/vpp49uCAu0VPaqI8Tp5X3FPay78ZWhH757j+XbAyFMVIoiq5MhGKtsW JBWHPWhYHLOrib00hcBELkdH2VRpOEMOO/d5Xge2gM2KujZGe/UPHdgXdo/5YbC4TYrZqX 4fchyGaFBkPCmFjhBTgJjkaUX+HCldQyUIbo9GEFy1YCLDOEOUFOXjzodcqYgRXRae3b/z ZGdB4nXzJFn+xw0egUq0BHUvRyZ6IpxvZxbjXkZswyqMNVyEqWgl65AH0HTbog== Received: from ltc.des.dev (2a01cb0585070b00922e16fffef1acef.ipv6.abo.wanadoo.fr [IPv6:2a01:cb05:8507:b00:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4g7lWY56RXz13w0; Sun, 03 May 2026 13:10:33 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 867338EA13; Sun, 03 May 2026 15:10:32 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Jose Luis Duran Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 5a6d9479ae22 - main - blocklistd: Fix RFC1918 typo In-Reply-To: <69f6de20.3297c.4f1f048a@gitrepo.freebsd.org> (Jose Luis Duran's message of "Sun, 03 May 2026 05:33:20 +0000") References: <69f6de20.3297c.4f1f048a@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Sun, 03 May 2026 15:10:32 +0200 Message-ID: <86lde0wsdz.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jose Luis Duran writes: > commit 5a6d9479ae2271a97dd23ceee8ad284770302874 > Author: Jose Luis Duran > AuthorDate: 2026-05-03 05:31:51 +0000 > Commit: Jose Luis Duran > CommitDate: 2026-05-03 05:31:51 +0000 > > blocklistd: Fix RFC1918 typo >=20=20=20=20=20 > The address in the configuration file example was intended to be from > the 192.168.0.0/16 range of IPv4 private addresses (RFC1918). I'm sure it was but we should be using RFC 5737 addresses instead. At least the IPv6 examples are correct... > Reported on mastodon.social at > https://mastodon.social/@asmodai/116316630762241486. that's asmodai@freebsd.org >=20=20=20=20=20 > Fix submitted upstream by emaste@. Fixing locally first. >=20=20=20=20=20 > Reviewed by: emaste > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D56773 DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Sun May 3 14:24:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7n9V1RZvz6RgXf for ; Sun, 03 May 2026 14:25:02 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (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 4g7n9S6M3Zz45DY for ; Sun, 03 May 2026 14:25:00 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=kev009.com header.s=google header.b=gMiLOAVA; dmarc=none; spf=pass (mx1.freebsd.org: domain of kevin.bowling@kev009.com designates 2607:f8b0:4864:20::82a as permitted sender) smtp.mailfrom=kevin.bowling@kev009.com; arc=pass ("google.com:s=arc-20240605:i=1") Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-5102582e23eso25807621cf.1 for ; Sun, 03 May 2026 07:25:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777818299; cv=none; d=google.com; s=arc-20240605; b=j2RYjgDa53hFflo6dwFew+frtmzf+zPueVflGmxDXasOMyWd66fiw+CJ5iNutbsjwl LJ7PSuL/w/RNKGwPgGyHxanv0PaSDAVK/1P3iaaaBFrZuSARMRztBVWpuqt+lrNT3Ay+ woEBRgLDBQTmaC4U0APTQAh5cj+nudL1FeMNakWJ9AC4xjf3otTQZrKHiIJ87bi9alx1 5fVdlpLulVx9FYHHpcCjK/CMa7dazdyxlCf/KIZVhicZK/cAZOrkIV2Kk1mYkhIofX3J wIGFQR7/8AMGa7vvw8ywGrIYjJOyOc7dzCzKVZZTH5JRlduAn2IxteTUpUWolfRRIMJH 9AZQ== 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:dkim-signature; bh=ABLCh8+5cqk2/4gso/HTatGAHy3Aa/6V0RXiy8aCeVk=; fh=12IKZ2aKg/2bPgV8kZDBM7ZN2lFLx9Ibuha6HuyXbAE=; b=CoXY4gh0o0b3Q0T0/eayxvRCqlPVekh/XerlafJ0Figz5LDdL6FUz3x5ve+T3vNUMg vXyRNPydCNqZaaT+3XgYFGeWGwP8vwgbQ0NJFL52cRrfQ0EhfTov/uMPVIoU0AezVUS1 uFBldKUloY+Bkn380QAkhQt6nlaKfIEJM0PdJvU6rvXYE8bDymXP1zgnJr0msFrmE64E Qtcr7PvpSCl0B3kNO+e6j0gY2F0kLctT6LEn3ji6J8KOG6GQFAeBlyy9BpcpMXYvxyOO 8byCQR64F+p4hsoWsR2+xvZNWzCSQs/4qkPkhybnWJnhbqlj7+52lzwKYt2qB1IGuxh0 2TjA==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; t=1777818299; x=1778423099; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ABLCh8+5cqk2/4gso/HTatGAHy3Aa/6V0RXiy8aCeVk=; b=gMiLOAVAIkZMJ6p45fkgivVW8P9brjOAhIoLCjohW4oGAMsqCdhiACblt3bIlV52aT qm3lfaeQ6uv5VWCn/kNYNGa4WzIi/M7KNWxwkwCDD0KsefkiqD3/R05psxvygfCnUkSf r7i6sbVWefEdpwQbL2pgNr25dr1ZvT6yl/Wsk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777818299; x=1778423099; 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=ABLCh8+5cqk2/4gso/HTatGAHy3Aa/6V0RXiy8aCeVk=; b=bL/KF/OGDT6Oa2ottD8rbhs3TbKF3bY9xX9A8yg0nwy9KMyAxGSwWLGb9s+MdSav5U CYLniLN78sfEcvBgbJi5yd688Il30P4wgnW4ZFDrPF7I0Q9P5YJWAu/0lM0TueJCnYWa kQSdDlES7pSjpBW88QahA1EDbY+og12ZM83VtUECknQAmuu4JZ0oODX0rKxVK303xP9I vFoJzETuRPdcgqKySl7kN9rWBq1128EJtycklmwuuDorv1Q3k+54HNXUJfWV+zm3Gfg4 wxyqa4XZu8m7coRfZtjwVO4xyJASBL4hPAY1VsbtMYAL8Fb2tDIhT1JV05hXreVulnMn m0Vg== X-Forwarded-Encrypted: i=1; AFNElJ/vLTrvhxVMo+iO3FcEWDtpMv2mSSuOFfZaVAxZ+DXgfuhX+arPYFhndP9QeAbB+4CDxvfWmtGnTbOOJMK50bMp5GZTXw==@freebsd.org X-Gm-Message-State: AOJu0YyaDXHRd2uKadNyeocrcMtxkztuRtrhAqA1J/T/GFE7QZaVNaqy f3CKNCycVFVQU2/+tGYpkDZWyWrmC6nr4u30G36Xp5gBpS3morjTYa/IYZLgqFoNRKYijUv25oA b3eP0g6LqtoOaniG5ydpAcADdJYOckrbeq6o3mB4S X-Gm-Gg: AeBDies9+/+cHhIh0q/tO31n4SBTbWpaVgzuZM7NhssQgwQIOlYUEWFrlowRMHuWFdD toolX4HsrVudC8zOStuxgyq77XJTAnd6Egwl93FRhf7fGXMoCJIIPFcSwHoqTNH3UlAXvAD1Q+O +fa68WsjPpLcV2inpwg984tNed1lVEM1zpUwAAgkXW9cDD/5XV0EsTNSTfLe3ooppDiDRuTusv/ +3oIkkZiPZBrTeExS5u8DlNdEFsYz6x1b3dbJUdl+PrNuq+oM7ZiBpbrwc2wkGub/fEaZaPXmkO A6BmzZ9j1FypbkAl9JX+HxZwqK3W8RWfeDpu7Fgx6FPGVNhZRHvuvTPEsnMbq7jfBfsPnvq2Hp7 dT/Uu91R++wFdGz11c1KpHBLzXrV6Ba9m2B1Nc5Sr9mLcumaf6PXHuhyrZgmW X-Received: by 2002:a05:622a:353:b0:50d:86d9:4c24 with SMTP id d75a77b69052e-5104bde6d9amr98724841cf.12.1777818299206; Sun, 03 May 2026 07:24:59 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> In-Reply-To: From: Kevin Bowling Date: Sun, 3 May 2026 07:24:48 -0700 X-Gm-Features: AVHnY4IdiiYjGIPuDAoB64pRY6FyChlRIh6R7KSopVGPOEzXTO4afVx4Wi8JDwo Message-ID: Subject: Re: git: 01674e15dedb - main - bsd.endian.mk: Optimize the handling of big/little endian determination. To: "Stephen J. Kiernan" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-1.99 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_SHORT(-0.97)[-0.974]; NEURAL_SPAM_MEDIUM(0.43)[0.427]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56]; NEURAL_HAM_LONG(-0.14)[-0.139]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MISSING_XM_UA(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; R_DKIM_PERMFAIL(0.00)[kev009.com:s=google]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::82a:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; DMARC_NA(0.00)[kev009.com]; DKIM_TRACE(0.00)[kev009.com:~] X-Spamd-Bar: - X-Rspamd-Queue-Id: 4g7n9S6M3Zz45DY I think the issue is M_ListToSkip isn't defined in some contexts but I'm not sure why or where it might need to be set. It's not just the kmod that failed, another sample for analysis: =3D=3D=3D> Building for libcsv-3.0.3_4 make: /usr/share/mk/bsd.endian.mk:25: Unknown modifier ":aarch64 amd64 armv7 i386 powerpc64le riscv*" while evaluating indirect modifiers "aarch64 amd64 armv7 i386 powerpc64le riscv*" while evaluating variable "_ENDIAN_ARCH" with value "amd64" in /usr/share/mk/bsd.endian.mk:25 in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D CC, X_ =3D ${_empty_var_} in /usr/share/mk/bsd.own.mk:297 in /usr/share/mk/bsd.init.mk:21 in /usr/share/mk/bsd.lib.mk:16 in /wrkdirs/usr/ports/textproc/libcsv/work/libcsv-3.0.3/Makefile.lib= :13 make: /usr/share/mk/bsd.endian.mk:53: Don't know the endianness of this architecture in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D CC, X_ =3D ${_empty_var_} in /usr/share/mk/bsd.own.mk:297 in /usr/share/mk/bsd.init.mk:21 in /usr/share/mk/bsd.lib.mk:16 in /wrkdirs/usr/ports/textproc/libcsv/work/libcsv-3.0.3/Makefile.lib= :13 On Sun, May 3, 2026 at 5:51=E2=80=AFAM Kevin Bowling wrote: > > On Sat, May 2, 2026 at 7:24=E2=80=AFPM Stephen J. Kiernan wrote: > > > > The branch main has been updated by stevek: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D01674e15dedb15f8ce498af0= 680c50bb075c5482 > > > > commit 01674e15dedb15f8ce498af0680c50bb075c5482 > > Author: Stephen J. Kiernan > > AuthorDate: 2024-04-03 23:25:19 +0000 > > Commit: Stephen J. Kiernan > > CommitDate: 2026-05-03 02:21:56 +0000 > > > > bsd.endian.mk: Optimize the handling of big/little endian determina= tion. > > > > Add variables to contain lists of MACHINE_ARCH values to use > > to determine little or big endian. > > > > Only error out about not being able to determine endianess if > > TARGET_ENDIANNESS is empty and not cross-compiling. > > > > Reviewed by: sjg > > Obtained from: Hewlett Packard Enterprise Development LP > > Differential Revision: https://reviews.freebsd.org/D44629 > > --- > > share/mk/bsd.endian.mk | 39 +++++++++++++++++++++++++++++---------- > > 1 file changed, 29 insertions(+), 10 deletions(-) > > > > diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk > > index 0c5ebb7aeba2..2a617a1d2794 100644 > > --- a/share/mk/bsd.endian.mk > > +++ b/share/mk/bsd.endian.mk > > @@ -1,20 +1,35 @@ > > > > -.if ${MACHINE_CPUARCH} =3D=3D "aarch64" || \ > > - ${MACHINE_CPUARCH} =3D=3D "arm" || \ > > - ${MACHINE_ARCH} =3D=3D "amd64" || \ > > - ${MACHINE_ARCH} =3D=3D "i386" || \ > > - ${MACHINE_ARCH} =3D=3D "powerpc64le" || \ > > - ${MACHINE_CPUARCH} =3D=3D "riscv" > > +MACHINE_ARCH_LIST.little =3D \ > > + aarch64 \ > > + amd64 \ > > + armv7 \ > > + i386 \ > > + powerpc64le \ > > + riscv* > > + > > +MACHINE_ARCH_LIST.big =3D \ > > + powerpc \ > > + powerpc64 > > + > > +.for e in big little > > +N_$e:=3D ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} > > +.endfor > > + > > +# For the host, we need to look at the host architecture > > +.if ${MACHINE:Nhost*} =3D=3D "" > > +_ENDIAN_ARCH=3D${_HOST_ARCH} > > +.else > > +_ENDIAN_ARCH=3D${MACHINE_ARCH} > > +.endif > > + > > +.if ${_ENDIAN_ARCH:${N_little}} =3D=3D "" > > TARGET_ENDIANNESS=3D 1234 > > CAP_MKDB_ENDIAN=3D -l > > LOCALEDEF_ENDIAN=3D -l > > -.elif ${MACHINE_ARCH} =3D=3D "powerpc" || \ > > - ${MACHINE_ARCH} =3D=3D "powerpc64" > > +.elif ${_ENDIAN_ARCH:${N_big}} =3D=3D "" > > TARGET_ENDIANNESS=3D 4321 > > CAP_MKDB_ENDIAN=3D -b > > LOCALEDEF_ENDIAN=3D -b > > -.elif ${.MAKE.OS} =3D=3D "FreeBSD" > > -.error Don't know the endian of this architecture > > .else > > # > > # During bootstrapping on !FreeBSD OSes, we need to define some value.= Short of > > @@ -33,3 +48,7 @@ TARGET_ENDIANNESS=3D 1234 > > CAP_MKDB_ENDIAN=3D -B # Poisoned value, invalid flags for both cap_= mkdb > > LOCALEDEF_ENDIAN=3D -B # and localedef. > > .endif > > + > > +.if empty(TARGET_ENDIANNESS) && ${.MAKE.OS} =3D=3D "FreeBSD" > > +.error Don't know the endianness of this architecture > > +.endif > > This might be breaking poudriere pkg builds i.e. graphics/drm-66-kmod: > > make[1]: /usr/share/mk/bsd.endian.mk:25: Unknown modifier ":aarch64 > amd64 armv7 i386 powerpc64le riscv*" > while evaluating indirect modifiers "aarch64 amd64 armv7 > i386 powerpc64le riscv*" > while evaluating variable "_ENDIAN_ARCH" with value "amd64" > in /usr/share/mk/bsd.endian.mk:25 > in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D > CC, X_ =3D ${_empty_var_} > in /usr/share/mk/bsd.own.mk:297 > in /usr/share/mk/bsd.init.mk:21 > in /usr/src/sys/conf/kern.opts.mk:21 > in /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.= 25_10/Makefile:4 > in make[1] in directory > "/wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10" > make[1]: /usr/share/mk/bsd.endian.mk:53: Don't know the endianness of > this architecture > in .for loop from /usr/share/mk/bsd.compiler.mk:160 with cc =3D > CC, X_ =3D ${_empty_var_} > in /usr/share/mk/bsd.own.mk:297 > in /usr/share/mk/bsd.init.mk:21 > in /usr/src/sys/conf/kern.opts.mk:21 > in /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.= 25_10/Makefile:4 > in make[1] in directory > "/wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10" > > make[1]: stopped making "obj" in > /wrkdirs/usr/ports/graphics/drm-66-kmod/work/drm-kmod-drm_v6.6.25_10 > *** Error code 1 From nobody Sun May 3 15:17:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7pKr4jkBz6W0Tc for ; Sun, 03 May 2026 15:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7pKr46lhz3D1c for ; Sun, 03 May 2026 15:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777821440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhkkfJQ41S+1aWQMEJyY6/XDqjvAce7OUHdwrTL7a8U=; b=QPZfKl4DH0tKtM6OhD54ltdKegG1kQADlacEFqSfDhXacWoeByzjmD1Uh9YeAlukc0QE0G wodH68IRw2bKkt0OuHRiigrQaHCqW+gmm5ztI9dYjk0cbtKZoyDnsPY8k6Voc14t48JSU7 21MQGQn5I3mDbUdVA43/YeUGBxsBI5DgisyW9JuGUKIsABc+OxTn3Kne0McrxvlST1Z8uc kZLQHq6ooBR/snK29fa5waGVLx2PaLNno+yGMc99E45CYhh0/DOmxsOak/81LmH1TZK7Rw XDDKORwBh6zBsrIFs0e+yrnLlHI3HDe6Mk0hp0o7y+zj/am2lnr3yfCC5KCBVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777821440; a=rsa-sha256; cv=none; b=RYF+aFl73hu6M23G0SdwSjrdYKruycypH2AhmDvyBDoRXrjGWCmLo4yMjicvKn/Tqsn1hT qG6DjVd3DQZtW5DkFx7PVwGRD5AAG//5RhicVGvbvjk3wOKR/EPcgzYN1d4CYALdSrKiSO MgSWAsY341ELAGpnEJ3gia8/iJX2D1pPAriKA+wgaKR7eKpay3BC+lI6lWwA8J8JVDQNFV ajfPrKd5/ERS8rtwzyI217wUQZQEthxotNTtB9R19Mvntf7yYp0AqBk7IlKVli7O4svjaO lIusgtgOvASS4Zakso2FNh00CDTsHn8odwOGMasqJ+rVy04lBjbHXxfxevNb8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777821440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhkkfJQ41S+1aWQMEJyY6/XDqjvAce7OUHdwrTL7a8U=; b=dw9YSqgTHiJwjPonvB6VFCIQYqdDuJ3cXMZwWaT7GoEJ+Abn8l+Q4dgJud5JrGaKAk5EDn b62/gQ7HQoyTgIj7rdZ3J1wwBGh1KiiekD9490bNPjhhwTQF8FbOm2CPIreVgHTaOoQPbs zBMyXNStqQU4gWtJ4qv5siZvWjtyMg6klP2ulF9mSgaWk4QSprV40l8npgUkD9bRoXO8QX vcBjjCWn5uUlSsqy5DXkJzltIm6A1s2Ad0inD1BBUmlFzB+wmNLKKc8plZjyV6PmkjmSxL 4e0ipxizGD0WtLhykfO2Q4SGuTdmqxqfuuEfEdNJ1zI4h/xZhUmN5ltZTRlhlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7pKr3Nx9zf1X for ; Sun, 03 May 2026 15:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18450 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 15:17:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ahmad Khalifa Subject: git: bc83f414583c - main - vt_core: don't draw the splash if a panic occurred List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc83f414583ccaf337ef3b7c019df7727d6a3aae Auto-Submitted: auto-generated Date: Sun, 03 May 2026 15:17:20 +0000 Message-Id: <69f76700.18450.51902b51@gitrepo.freebsd.org> The branch main has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=bc83f414583ccaf337ef3b7c019df7727d6a3aae commit bc83f414583ccaf337ef3b7c019df7727d6a3aae Author: Ahmad Khalifa AuthorDate: 2026-05-03 13:18:38 +0000 Commit: Ahmad Khalifa CommitDate: 2026-05-03 15:15:38 +0000 vt_core: don't draw the splash if a panic occurred The shutdown splash draws over all the useful info if ddb(4) is disabled. Don't draw the splash screen if we're rebooting because of a panic. MFC after: 3 days --- sys/dev/vt/vt_core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 68a9a71c3d72..f7cffcea5b92 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1684,6 +1684,9 @@ vtterm_splash(struct vt_device *vd) uintptr_t image; vt_axis_t top, left; + if (KERNEL_PANICKED()) + return; + if ((vd->vd_flags & VDF_TEXTMODE) != 0 || (boothowto & RB_MUTE) == 0) return; From nobody Sun May 3 15:26:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7pXh1rcKz6W100 for ; Sun, 03 May 2026 15:26:44 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.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 4g7pXh0qkSz3FnF for ; Sun, 03 May 2026 15:26:44 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-51013ab8e3bso3668361cf.2 for ; Sun, 03 May 2026 08:26:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777821998; x=1778426798; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0P+ikF+R5XxFN4CKdj6yxx4z8HvyO45ic9880BaXXbs=; b=gDm1y/gGlzcPeEOqk3t/E0xvi+0CPzIQx419rk4aOcf3M15Jc8+JheDobIGt9oU76r NQwUM+jhrVmsL4/GVG8A0qAhNkIbBrkk8xGYuC2MK/NfEKbVvhTKdCD6SzYD4L651yU+ SDtTEn7sGsXxs4vD+fu/TXzRTG947nWSXEgnh5T+chKMWbWgRtLJlNA4ZGdT9dqdl5Xh YC9CXcUF2/iKAIek7TodZYWuvRCwgUHC/gEMNQ08wQo6bj7kcO4mPdW/hATuxkAWtTwJ 2eKc7t0n8QKgVS8pFJCGsFREVhIBXgeB4Syv/62rF6KyR42eDBVhsjPIRv698Uh5mqax UfWQ== X-Forwarded-Encrypted: i=1; AFNElJ/F4davl7dSOJNXFCOpD0xDFWsNCJeqtsmrAwfluBtH6SnEwgiK/HSLXcVo97IiCqwYkicvdDTCWa8WruwaUgCJeMA3dQ==@freebsd.org X-Gm-Message-State: AOJu0YzFWUW6bxqNfsQ+7aEGVCqkgMUN6Bf02AJaUMSi0s0wOpSn1Hxt WEEc2JOTx9PGQWv/y+s/wg7W5JNHsoLSw60+M5lpFOX/2S8HjDXVRLrZpbaOjnF5 X-Gm-Gg: AeBDiesMGzyMcUbHVs5+CxV6QKK11P+az+9PioPE+IimpJOAmWADr7mSgfDcpWKFNZQ t/Dncy9eeC8QPRolxqOvmCH5RBpFZ+vuW6uuMmdwKermtszSBckL6VE3D3iC87uOz9m4qDzli/2 vIN86O/4KQ1CD5xsle4TBP32jToEYFRLjAV5LM9LI14impB2bHIeoRV1DzD+NP05WLjbMGL5XQO q+4y5+hT30xFBpWqTYivnqu/EonmiJ2gTTGAOXEPaKEpBuk4Osh76FlbRJH6wMCe5y6SnyKGyHt arAri7em5vFnys+TiJfEPCElLLtjbc4BH6CBMUWUcGhN0F5tjX5zoNS/ImCL63I2/IUxwot90s8 zeudCyafI4D3/2jwnha9BXMbQ2unOGZh47Sj87sdSNDfAbRaUIFfkupczcTLJD77xK8j8tf2zdt KLL1toyhLrMWWzkdwYFJtIc9R5Bo+x9L60frFcrnBF+wh5ZsmbRUYjaq6LDk1WHFPQwsLs7Yh6j A== X-Received: by 2002:a05:622a:1905:b0:50e:5cc3:6f59 with SMTP id d75a77b69052e-5104bf3d5f6mr64105541cf.5.1777821998502; Sun, 03 May 2026 08:26:38 -0700 (PDT) Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com. [209.85.160.178]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51040b8174csm80069281cf.25.2026.05.03.08.26.37 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 May 2026 08:26:38 -0700 (PDT) Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-50fbafa0e3cso6485021cf.1 for ; Sun, 03 May 2026 08:26:37 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ+8RTistDmoz/XUkW/gyoPmHB+MZotSuv3MamPa0QEdqBUZocULbKQ1QTW+z+QykqDq+pNhzNVd0l7aSrSUj2qp3FNhsQ==@freebsd.org X-Received: by 2002:a05:622a:1896:b0:50f:bfe3:a04e with SMTP id d75a77b69052e-5104bf8d855mr60229101cf.7.1777821997588; Sun, 03 May 2026 08:26:37 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <69f6de20.3297c.4f1f048a@gitrepo.freebsd.org> <86lde0wsdz.fsf@ltc.des.dev> In-Reply-To: <86lde0wsdz.fsf@ltc.des.dev> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Sun, 3 May 2026 12:26:26 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AVHnY4Ims_PzaX8QxwwiCM1Lzbark42eC7joypY4_6ROdsVtcenIm4TxWREn1i4 Message-ID: Subject: Re: git: 5a6d9479ae22 - main - blocklistd: Fix RFC1918 typo To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g7pXh0qkSz3FnF X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Sun, May 3, 2026 at 10:10=E2=80=AFAM Dag-Erling Sm=C3=B8rgrav wrote: > > Jose Luis Duran writes: > > commit 5a6d9479ae2271a97dd23ceee8ad284770302874 > > Author: Jose Luis Duran > > AuthorDate: 2026-05-03 05:31:51 +0000 > > Commit: Jose Luis Duran > > CommitDate: 2026-05-03 05:31:51 +0000 > > > > blocklistd: Fix RFC1918 typo > > > > The address in the configuration file example was intended to be fr= om > > the 192.168.0.0/16 range of IPv4 private addresses (RFC1918). > > I'm sure it was but we should be using RFC 5737 addresses instead. At > least the IPv6 examples are correct... Yesterday, when I was pushing this patch I realized that we should indeed be using documentation-specific addresses for blocklistd.conf(5), instead of using IPs from Level 3 and APNIC. I'll submit a patch upstream based on your suggestion. Thanks! > > Reported on mastodon.social at > > https://mastodon.social/@asmodai/116316630762241486. > > that's asmodai@freebsd.org Reported by: asmodai > > > > Fix submitted upstream by emaste@. Fixing locally first. > > > > Reviewed by: emaste > > MFC after: 1 week > > Differential Revision: https://reviews.freebsd.org/D56773 > > DES > -- > Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org --=20 Jose Luis Duran From nobody Sun May 3 15:35:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7pks0dw4z6W1lP for ; Sun, 03 May 2026 15:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7pkr6zSCz3GZk for ; Sun, 03 May 2026 15:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJ7QpZZTTDH5IxvPtWFHdeHVq9ngzYcvKi6wS4TjMKM=; b=NwxfnOnHXOLOs9VdBHTJfTMDE5HlSkOr3cp4/PSLhhdknrcyLAU9C1wLQB4G2KgeL0JVP1 qw4KMkz3sLXWCX8tIHE8lKynkr3OyDM9uMQmSu6toJSL+CCJojPrnc5SbSw/nSO01JP9Vn uvPCL1eod6YLYTC8uZW5pqF9/dX38ISVIrikcpl0Ure1mJp73BeBEsqcIx4Fg3Y/HdsG+O hR6hPMyoyw5CDnYP10AqPpxSAGAxUH1uvdirflCh1LPRtGJbxUfYlYK0hn0GRNinD6E2Da jRQE3WNTbtfUeF7kompqD1vbynyI7k/z5Yl6zYVXFC5iM3CEHoSSwNPFdfWCZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777822533; a=rsa-sha256; cv=none; b=wAKTh/oIR+rDMjwzrgu0qBGrX54HD6o+D8B+GcP499hNiWNgfLOZyzcIE1NdCmtbYft/Lc JU9PK6vt9ZCV3c4ZUzY2g46gnJFsIxrQ7HBdLKbtg2AYfC3aWGFo16tYQNLLNIMyqMCTl5 apX07KXpSkmxl8QFvmCTlk+AMaBZQGO0dhM6pUoHYH6ze2ljfLpVrBmor4tna793S5c+Ik XAq6v+uqeV3jI3JzYmFLe4x50qVusD1mv8pBeZXv426eS5vmekUcaJEzxepWgPGkqIwPsn 9nUpAtG8fZFjpxgtSqVjrUklHhsobYP3yjVLIog5DGy7Lfbp0V9qlN9GuGpWKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJ7QpZZTTDH5IxvPtWFHdeHVq9ngzYcvKi6wS4TjMKM=; b=tRe+Hf19d3by/j/MY+R6iRas59AR1B8Y5aYla7/KH0aYD8VrwjYBJaFIN2yq/OGWm5zqsG /WVhuIyTVJpXmVs4OaYXgbeIz3ScvqZQkF3I3D9q7wcMLfCzZGT12AdnKFB5FWfSAFW405 2Bfr6hfuafvyfKITmWhwDZ6aEbcdJNF+K7T71MVX2ibOQidkkpKuzxToXPbcSI85NLfdFk vcfuB4EWOA4nPXWxNIlow94ypGVgfLZ4AfzSZLb68+EvgV0ywST7fXjQqqJuZpMswQilq4 Bi830YCxTrt6quMYo4tX59gz2cTjqtiyheYPgDJo7NfxLxPVwpjqL9u4Yam9Zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7pkr6YHGzfkP for ; Sun, 03 May 2026 15:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d227 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 15:35:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 0095c1425633 - main - stat: Drop unused code and conditionals List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0095c1425633cb6a40fd86fc870ac5945363df2f Auto-Submitted: auto-generated Date: Sun, 03 May 2026 15:35:32 +0000 Message-Id: <69f76b44.1d227.39c3147f@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0095c1425633cb6a40fd86fc870ac5945363df2f commit 0095c1425633cb6a40fd86fc870ac5945363df2f Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-03 15:35:06 +0000 stat: Drop unused code and conditionals We haven't pulled from upstream in over 15 years, and the codebases have diverged so far it is unlikely that we ever will. * Drop NetBSD and OpenBSD version control information. * Drop support for building on non-BSD / non-POSIX platforms. * Fix a few minor style issues. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56771 --- usr.bin/stat/stat.c | 81 ++++++++--------------------------------------------- 1 file changed, 11 insertions(+), 70 deletions(-) diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index ad2b3f9fb3d1..0707c762d100 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -7,7 +7,7 @@ * This code is derived from software contributed to The NetBSD Foundation * by Andrew Brown. * - * Copyright (c) 2025 Klara, Inc. + * Copyright (c) 2025-2026 Klara, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -31,26 +31,9 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include -#if 0 -#ifndef lint -__RCSID("$NetBSD: stat.c,v 1.33 2011/01/15 22:54:10 njoly Exp $" -"$OpenBSD: stat.c,v 1.14 2009/06/24 09:44:25 sobrado Exp $"); -#endif -#endif -#if HAVE_CONFIG_H -#include "config.h" -#else /* HAVE_CONFIG_H */ -#define HAVE_STRUCT_STAT_ST_FLAGS 1 -#define HAVE_STRUCT_STAT_ST_GEN 1 -#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1 -#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1 -#define HAVE_DEVNAME 1 -#endif /* HAVE_CONFIG_H */ - #include -#include #include +#include #include #include @@ -68,44 +51,18 @@ __RCSID("$NetBSD: stat.c,v 1.33 2011/01/15 22:54:10 njoly Exp $" #include #include -#if HAVE_STRUCT_STAT_ST_FLAGS -#define DEF_F "%#Xf " -#define RAW_F "%f " -#define SHELL_F " st_flags=%f" -#else /* HAVE_STRUCT_STAT_ST_FLAGS */ -#define DEF_F -#define RAW_F -#define SHELL_F -#endif /* HAVE_STRUCT_STAT_ST_FLAGS */ - -#if HAVE_STRUCT_STAT_ST_BIRTHTIME -#define DEF_B "\"%SB\" " -#define RAW_B "%B " -#define SHELL_B "st_birthtime=%B " -#else /* HAVE_STRUCT_STAT_ST_BIRTHTIME */ -#define DEF_B -#define RAW_B -#define SHELL_B -#endif /* HAVE_STRUCT_STAT_ST_BIRTHTIME */ - -#if HAVE_STRUCT_STAT_ST_ATIM -#define st_atimespec st_atim -#define st_ctimespec st_ctim -#define st_mtimespec st_mtim -#endif /* HAVE_STRUCT_STAT_ST_ATIM */ - #define DEF_FORMAT \ - "%d %i %Sp %l %Su %Sg %r %z \"%Sa\" \"%Sm\" \"%Sc\" " DEF_B \ - "%k %b " DEF_F "%N" -#define RAW_FORMAT "%d %i %#p %l %u %g %r %z %a %m %c " RAW_B \ - "%k %b " RAW_F "%N" + "%d %i %Sp %l %Su %Sg %r %z \"%Sa\" \"%Sm\" \"%Sc\" \"%SB\" " \ + "%k %b %#Xf %N" +#define RAW_FORMAT "%d %i %#p %l %u %g %r %z %a %m %c %B " \ + "%k %b %f %N" #define LS_FORMAT "%Sp %l %Su %Sg %Z %Sm %N%SY" #define LSF_FORMAT "%Sp %l %Su %Sg %Z %Sm %N%T%SY" #define SHELL_FORMAT \ "st_dev=%d st_ino=%i st_mode=%#p st_nlink=%l " \ "st_uid=%u st_gid=%g st_rdev=%r st_size=%z " \ - "st_atime=%a st_mtime=%m st_ctime=%c " SHELL_B \ - "st_blksize=%k st_blocks=%b" SHELL_F + "st_atime=%a st_mtime=%m st_ctime=%c st_birthtime=%B " \ + "st_blksize=%k st_blocks=%b st_flags=%f" #define LINUX_FORMAT \ " File: \"%N\"%n" \ " Size: %-11z FileType: %HT%n" \ @@ -190,9 +147,7 @@ static int format1(const struct stat *, /* stat info */ int, int, int, int, /* the parsed format */ int, int); static int hex2byte(const char [2]); -#if HAVE_STRUCT_STAT_ST_FLAGS static char *xfflagstostr(unsigned long); -#endif static int fdlistholes(int, const char *); static int listholes(const char *); @@ -210,7 +165,7 @@ int main(int argc, char *argv[]) { struct stat st; - char dname[sizeof _PATH_DEV + SPECNAMELEN] = _PATH_DEV; + char dname[sizeof(_PATH_DEV) + SPECNAMELEN] = _PATH_DEV; const char *statfmt, *options, *synopsis; const char *file; fhandle_t fhnd; @@ -413,7 +368,6 @@ main(int argc, char *argv[]) return (am_readlink ? linkfail : errs); } -#if HAVE_STRUCT_STAT_ST_FLAGS /* * fflagstostr() wrapper that leaks only once */ @@ -430,7 +384,6 @@ xfflagstostr(unsigned long fflags) err(1, "fflagstostr"); return (str); } -#endif /* HAVE_STRUCT_STAT_ST_FLAGS */ static void usage(const char *synopsis) @@ -664,19 +617,17 @@ format1(const struct stat *st, case SHOW_st_dev: case SHOW_st_rdev: small = (sizeof(st->st_dev) == 4); - data = (what == SHOW_st_dev) ? st->st_dev : st->st_rdev; -#if HAVE_DEVNAME switch (what) { case SHOW_st_dev: + data = st->st_dev; dtype = S_IFCHR; break; case SHOW_st_rdev: + data = st->st_rdev; dtype = st->st_mode & (S_IFCHR | S_IFBLK); break; } - sdata = devname(data, dtype); -#endif /* HAVE_DEVNAME */ if (hilo == HIGH_PIECE) { data = major(data); hilo = 0; @@ -686,11 +637,7 @@ format1(const struct stat *st, hilo = 0; } formats = FMTF_DECIMAL | FMTF_OCTAL | FMTF_UNSIGNED | FMTF_HEX | -#if HAVE_DEVNAME FMTF_STRING; -#else /* HAVE_DEVNAME */ - 0; -#endif /* HAVE_DEVNAME */ if (ofmt == 0) ofmt = FMTF_UNSIGNED; break; @@ -779,11 +726,9 @@ format1(const struct stat *st, if (tsp == NULL) tsp = &st->st_ctimespec; /* FALLTHROUGH */ -#if HAVE_STRUCT_STAT_ST_BIRTHTIME case SHOW_st_btime: if (tsp == NULL) tsp = &st->st_birthtimespec; -#endif /* HAVE_STRUCT_STAT_ST_BIRTHTIME */ ts = *tsp; /* copy so we can muck with it */ small = (sizeof(ts.tv_sec) == 4); data = ts.tv_sec; @@ -824,7 +769,6 @@ format1(const struct stat *st, if (ofmt == 0) ofmt = FMTF_UNSIGNED; break; -#if HAVE_STRUCT_STAT_ST_FLAGS case SHOW_st_flags: small = (sizeof(st->st_flags) == 4); data = st->st_flags; @@ -836,8 +780,6 @@ format1(const struct stat *st, if (ofmt == 0) ofmt = FMTF_UNSIGNED; break; -#endif /* HAVE_STRUCT_STAT_ST_FLAGS */ -#if HAVE_STRUCT_STAT_ST_GEN case SHOW_st_gen: small = (sizeof(st->st_gen) == 4); data = st->st_gen; @@ -846,7 +788,6 @@ format1(const struct stat *st, if (ofmt == 0) ofmt = FMTF_UNSIGNED; break; -#endif /* HAVE_STRUCT_STAT_ST_GEN */ case SHOW_realpath: small = 0; data = 0; From nobody Sun May 3 15:35:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7pkt1YyNz6W2CK for ; Sun, 03 May 2026 15:35: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 4g7pkt0h7gz3GTf for ; Sun, 03 May 2026 15:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0lgMsdLjNKdtBOfCr/kJs4UoiWPefHHc1KrXocBqWCo=; b=qGof70BdlVwT40gyQ+bMC/VntyFAl4RErrHeB/gB9ieFRmcJ8ICxPnqMSeTmiHGSfWRm+T PSFETuRNKOKtMNjcEQmi1y4IXvQxAyWClVbRVQyyE3or+XlWGtPHTQIqnczb7FUn31twC6 8d5yc83M/M70yqo/zEM7zYDVqwSk4nUAGunvlibfgfrXN5BMRqx4vbTiL6kyi+TqGDRV55 npB8mEinYbA7gOdK7oln3BxldBIvWaKXesVuasAXeBzxBQ1JPL5tP24BX4yqyedLoI5SOi VB53B8dYcRgZ+3ng7CJCa3pPRnl45RO7y6ZJIRRfgtkoG7X2R5xXK0zGX8Fglg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777822534; a=rsa-sha256; cv=none; b=afePlb0zDhRSlgBY9LN4gPyXYbqzYqKODtvPrmErGEFiMGmJYx/kJv90x6MD/mkxE6kuK2 VUsW6l0SZQilBtjtWA8ZZtMUwNd3phWSWEtvDxeSp1qiVFuQ7iqztRcm549coXGS6tJ3EW YkKwyctT63qvMmyz4Tuowl+Ddx+HQUp3z22EdP4m213F7YFdUbMnp82hdcsl/xo2oFvfrQ gWidmVDi7PEVj52gop4inaGbCjdtyaeR4tiVA4uEqzK6BwI9upuurdzJc5y3ovdWLz0bxb nQPoIuvp1yQghJ9AqMeZwkov0PgCcgwo2a8shoYfTnDMZtvyc+m37vIIAZtwyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0lgMsdLjNKdtBOfCr/kJs4UoiWPefHHc1KrXocBqWCo=; b=WDNDVIMG27NhZocuoD990QOBi4UX0c2gGTGR3rLwX2/FU4RodCHKZR//bbKqiCBv0v2if0 +6hSMUpH3Xr/U9cElEv1WKfn4Syfr78+nwY4bmDOQe/y4vcnhE+vrO4z9R26b9SqvZJt3I wsr4EEFiIFLNQZ2mxB/gLDf3LCVUaVK30TJjpbuKXD19jyWBfWUdO2OJCuxLl3hYisQoPG 2jFLJqNBxpMrmQhxX0aGxD53wZG0R2V+4LBq6wIxwK6+/xWsbY+xz4iPGzeiXj5PpL8SGY /akClXwwOAJv/S/pbl4DsYoBpfROrYuFprV4PyQx3TqzgU4DZK+R6pd9Dq5z/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 4g7pkt0FH1zfWl for ; Sun, 03 May 2026 15:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dcb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 15:35:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christian Ullrich From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: d90513ea8569 - main - lockf: Avoid spinning when operating on an fd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d90513ea85693da0ca5955173609f4e81e38ae16 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 15:35:34 +0000 Message-Id: <69f76b46.1dcb7.14503f26@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d90513ea85693da0ca5955173609f4e81e38ae16 commit d90513ea85693da0ca5955173609f4e81e38ae16 Author: Christian Ullrich AuthorDate: 2026-05-03 15:35:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-03 15:35:10 +0000 lockf: Avoid spinning when operating on an fd When operating on a file descriptor, acquire_lock() would ignore the flags argument and always operate in non-blocking mode, resulting in unnecessary busy-looping. PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56722 --- usr.bin/lockf/lockf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index 16bae36a21e0..076d28b7ddd5 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -320,10 +320,14 @@ acquire_lock(union lock_subject *subj, int flags, int silent) int fd; if (fdlock) { + int lflags = LOCK_EX; + assert(subj->subj_fd >= 0 && subj->subj_fd <= INT_MAX); fd = (int)subj->subj_fd; - if (flock(fd, LOCK_EX | LOCK_NB) == -1) { + if ((flags & O_NONBLOCK) == O_NONBLOCK) + lflags |= LOCK_NB; + if (flock(fd, lflags) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); err(EX_CANTCREAT, "cannot lock fd %d", fd); From nobody Sun May 3 15:35:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7pkw2xBmz6W2BS for ; Sun, 03 May 2026 15:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7pkv4mqbz3G67 for ; Sun, 03 May 2026 15:35:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcCSYLjqRVUCnY/lZivzGTNFvFvfLIpf9+ucCw8siQA=; b=nOmvaDunnV9RwlrUDAu9KdlATswGen8RmO9tJ/7VBtoFHpShjBE9vIPgo9sAy5ehYcOJgx h8dmqeMyHv6ETf3d/nvev8vrig6hUnl3YU09c0SpZfc6310Dk9MJy1WB//89b9EPTXSlx0 oCjxocCvdGCGppXMY8wIkgR/txOapIJYdlyQJHoZBdr4pDcesCJx+nHbGnj8h5kFlagOwU sSzqsKh+CyUlvVssBIV7Jcs9SEU+S0xkJPV0YFFN4bgnO+kYRIGPxUzFS13KzrykE0OT/Y V7fXKeyO47YbXlK0g5AMTwJuj5VbrpgIBpRpv0FYavavfXDZmvTtPOG1JGqUkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777822535; a=rsa-sha256; cv=none; b=PXZt30By2/HQ+jWyOmk2P8aO7M+Fi1FHUbe3eJ/0UFiY/lOdYPcEXognWynYs6EGvcWY8S 0JGbyJqgHeNHX/Ma3CcqOSpZ9XkSVP5Lk1Uuyn3tfJv7GNDnATtFfsJK5AU6WKPcgbJTEu ybSVrXeazrMnSpwwDmhjoUQGwZbaZy+aqwQgi2JPGXLO59hnekcqk++O/1H+XJzp7CA/qy tmkum2QL3weSoVMoablc9KhyDtWGlu7VM+Er2thO3dao7t3Ruj8hhdm1708gjUa9+3Yr8L w/pQsxUYnvA0jxDOEUMZBR5PbLeyQsUSvsu7qlcSjbWFr3f3e8W5kfk/MAwGqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777822535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcCSYLjqRVUCnY/lZivzGTNFvFvfLIpf9+ucCw8siQA=; b=kJ07qsC6JG5E6M3979dgqHkdnFU0nDlA9Vr3JbR37E0X861W2nRhtkRwx0Oswd4el8gs6p nSNCf+RMqAGDjUgC1GS4eZPltZpS5wNYtK/ZPY2az0y4LTf9uNi+PojPGNoNkx2QQ/MT2q pWMe2O2BT0Pq30WWPXcgEn8BOE+8W8G886fk9lOf47GZ4K9SmXQSpvMhkjKuQw0Asc6syG 32i3xdyKpEjcngAGxyJXp3r9rxp6rZg4+d1TO5L4/OAcbGVnVPQuOwFSAyoKc7m8OCKadj PNKZbJFUNjDAiEKiGK8EWiwb6h/1ZlMnwsRgYU1xZUZJ0oVEHAMnzX0CWchgVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7pkv17ByzfWp for ; Sun, 03 May 2026 15:35:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d598 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 15:35:35 +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: 0733afdb4dad - main - lockf: Test that lockf does not spin on fd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0733afdb4dad58cfe7ad7f5994e26bf148d78199 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 15:35:35 +0000 Message-Id: <69f76b47.1d598.5da3d0a7@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0733afdb4dad58cfe7ad7f5994e26bf148d78199 commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:15 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-03 15:35:15 +0000 lockf: Test that lockf does not spin on fd PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723 --- usr.bin/lockf/tests/lockf_test.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh index 823b5673a176..16ee5a03bb9e 100644 --- a/usr.bin/lockf/tests/lockf_test.sh +++ b/usr.bin/lockf/tests/lockf_test.sh @@ -177,6 +177,23 @@ fdlock_body() atf_check test "$status2" -eq 0 } +atf_test_case fdlockspin +fdlockspin_head() +{ + atf_set "descr" "Don't spin when locking a file descriptor" +} +fdlockspin_body() +{ + # Start background locker and give it time to get settled + lockf foo sleep 2 & sleep 1 + # Start foreground locker in fdlock mode + atf_check ktrace -tc lockf -t 3 0 ; Sun, 03 May 2026 17:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7sGm74skz3bHK for ; Sun, 03 May 2026 17:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777829393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXEMJkihmz6h8oozTapScp9GeQzod3D74GRTA1IXtXg=; b=qcWSjB1LVxMtj1uMIBdvUTKevFaWMfgMP9IqVOtMG8m6piWtBwNp3W/uiRQB1VrYLYSQkU 5+3x7r1WyopHgs91RJi3FpCjK/9JIul1hCuQByBpqjh8ay6xLQ7UaYAfFX2zBQtsIZh9GH 8O5O4oNH36s8AA+HruS+ATYbBcaH3P35/oa4e0dkfLQwJbO9NnGgBGhLwrJYgbiL8XxBcD c+WDgggxC5GpHTV+BByqlbpX1VLAEbEuV1SgCQGVehT4VN9cMihJ8SPnbsXROek228bQGi y8sQy8+rQKLLXp9nDfdvqrrE0w/XHBuneUjr1GCUjsvALA+PBSKeB1yvLB7NHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777829393; a=rsa-sha256; cv=none; b=XcPuSJx5jR3Nkk1OK2/ANT17sF0lZCTgi076ktOXywEiiOViwz9E8aAZOxa5L7p8sceFUm 9XSGhvwGBA1xo79hRqdWx3FvahoP5zABOZzl5yF3aDGGyNd3QkfmZWIeN2N4Mw6U9I8652 1voVjk+TFEKz5bKjS9DCnSEOp912X0m4chvy7fJQLLR0IpvaBRKJ5XQSFaNCXzEWfXhBvR RprDy5Zk7Fl6IQfrDdVWZk1DXhNHRvVAl5YcpWEBjiKGrBlTYLf1IgbOWJtMF3knQr5Uzb XxBRW5J5bSctc8QSf43unrqOjJGxJnTG46WGR1FBdX7BJRlwgxW7falYy0ALGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777829393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXEMJkihmz6h8oozTapScp9GeQzod3D74GRTA1IXtXg=; b=UlU0DTkXXn7zBU1a7VMpDJ+r9EikTCtZZ2FbIm7Bju9DC6U9losW4mUxlY2AmF4RH0HN1M RFcs5g0h+yJPJtZ0dDRS+98dixJ4U768yvGaOx8PxXIFkUBEg4Zf3ALEuDHELJUYgBX6qU nbIayQTbvmCtoxXvOyc2C2uWYjEfR+yt/l8j6TC2qFlBOMufidS8B6H6JHFKa3nI30nbhr 6JFeGLtbSFORw11TxUAphnf+W+9Mn5rauRdKKOnnZkLeBN+4NtzAKFQxlHkxYpGmiga1sZ Z9ABZ4ilbdezoSfccM8cRi9DUDIrFBHE22AV/2ByWXcnyImAoSKXUpKe2h7Ouw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7sGm5wmrzjD4 for ; Sun, 03 May 2026 17:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30349 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 17:29:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 28deec9b7e2b - main - ports.7/FILES: Expand and refactor into 3 tables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28deec9b7e2b08b00160eb39de84ade6f27eb125 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 17:29:52 +0000 Message-Id: <69f78610.30349.51267a52@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=28deec9b7e2b08b00160eb39de84ade6f27eb125 commit 28deec9b7e2b08b00160eb39de84ade6f27eb125 Author: Alexander Ziaee AuthorDate: 2026-05-03 17:25:41 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-03 17:29:06 +0000 ports.7/FILES: Expand and refactor into 3 tables Add make.conf, CHANGES, CONTRIBUTING.Md, UPDATING, and Tools/scripts. Refactor the FILES section of the ports reference manual into a bigger table with three sections separated by root directory. Remove preceeding article from all but "the big Kahuna", and root dirs where reasonable. MFC after: 3 days Relnotes: yes Reported by: adamw, arrowd, linimon Differential Revision: https://reviews.freebsd.org/D55441 --- share/man/man7/ports.7 | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 6e28f85da964..f187a1d8c1ce 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -25,7 +25,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 February 21, 2026 +.Dd February 24, 2026 .Dt PORTS 7 .Os .Sh NAME @@ -596,30 +596,41 @@ Which directory to use for the data. .El .Sh FILES -.Bl -tag -width "/usr/ports/Mk/bsd.port.mk" -compact -.It Pa /usr/ports/ -The default ports directory. -.It Pa /usr/ports/Mk/bsd.port.mk -The big Kahuna. -.It Pa /var/db/ports/ -The directory where the results of configuring -.Va OPTIONS -are stored. +.Bl -tag -width "ports/CONTRIBUTING.md" -compact +.It Pa ports/CHANGES +BREAKING NEWS to read before creating ports! +.It Pa ports/CONTRIBUTING.md +Instructions for contributing to the ports tree. +.It Pa ports/Mk/bsd.port.mk +The inner workings of the ports framework. +.It Pa ports/Tools/scripts/ +Grab bag of tools for maintaining ports. +.It Pa ports/UPDATING +BREAKING NEWS to read before upgrading ports! +.It Pa ports/distfiles/ +Directory where fetched files are stored. +.Pp .It Pa ${PORT}/Makefile -The specification for building the port. -.It Pa ${PORT}/distfiles -The directory where fetched files are stored. +Specification for building the port. .It Pa ${PORT}/distinfo -The checksums generated with +Checksums generated with .Ql make makesum . .It Pa ${PORT}/files/ -The directory for any patches. +Directory for patches or any additional files. .It Pa ${PORT}/pkg-descr -The long description of the port. +Long description of the port. .It Pa ${PORT}/pkg-plist -The list of all files installed by the port. -.It Pa ${PORT}/work +List of all files installed by the port. +.It Pa ${PORT}/work/ The port's building and staging directory. +.Pp +.It Pa /etc/make.conf +Settings for the port-building framework. +.It Pa /usr/ports/ +Canonical ports tree location. +.It Pa /var/db/ports/ +Directory for storing configured +.Va OPTIONS . .El .Sh EXAMPLES .Bl -tag -width 0n From nobody Sun May 3 17:40:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7sW26BRqz6bjnd for ; Sun, 03 May 2026 17:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7sW24110z3cWW for ; Sun, 03 May 2026 17:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777830030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TdHorps2lt2kdPEhUDTrbwmcjowmGgMnogNKeKV0Smc=; b=MevONnfUuVngJuRUCkpYVtVBnv3FTrs7cW0yqbIogLOz3CYM82m48MTH+HwLQ4vzVGAujA m5zxir0amAxXMMcQeZl4pHE4SRUQKepUC1ElLjIlkaRNrDy+z0dBLlKhCdAEiOy/wDa2GD Z50zqL5ke2rjBYscSDAN5rui6yoo0tjJklJL46h6RmjR04pknons4jDkHqnV+9ARNeXNNe BdUXDfqp2yDW0Ccs89+DkqNITHvvJT7jyc5FgeS3y9q+uyxnWZQBXzrp1QhS4oxJl3Z5SY mg/gIjYYSlePKqo6Y7CjGsLnCMcgpL0p0IeQVn5yQV8zUH104A4V6qPZjzHc5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777830030; a=rsa-sha256; cv=none; b=DTxGpGZp5i6pNszS1FIXR5R5OoiK3zL/k7CNBg7HV26nxYzNynZ8V5TPs4am1/1SmcH9Ei ++FEzFZfFFTS1y+mWce+M+imooJ6yb9/s/3Po512Ii500re+y2npxHDY8S1MhyBJ2Ww2+l ZcOfkhLOVh6i5ZWajTtfMv8LMMG9LkHYuVWCUeoSiv5Wpazx4xN886GVfXWN0xmVBVrjHC N7dCunOMMbwUOs4EYAh9ZtKUK1II11eyLNtj2cwpLcObPvBkp/Q88x2M0YBHrvEktCB7ES BmTm3CG9Bk0Ddzic3bJQfuT/dXiWBfNHXBAmc/xOyelqPzjWDHaVr+cHCMNJjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777830030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TdHorps2lt2kdPEhUDTrbwmcjowmGgMnogNKeKV0Smc=; b=D4e77+UwBrtk76nZkq5nVcVtUFYFNNH23m5a/HOQLIXCTT8MYOe47o87XZBzZp6t2kpWp2 6ulRBt9CorolaiGwaW/NCmmqE6syUU0UhI7DxZqCJk/6ao3z8UcavmitaHuxf/g6T/ll5u WeEpCgru6AwPXa2KHIsuzPcJjqTI6cfovfy/glbFAaQ/SM9ZgcF8Y8QXuZQtu2IqAOVSi3 yNvTNz6J6Qls39bVm5WOag+ad6aGj/0Lw7/IbTiqqF18WAfvu3pTPsnGmKC1EguumsPbn1 anLoHLHUyEiktD+QFhi0cmlRlDKz17mCI3ckO1q1mVo7KETj2Hc/YLllWOSqxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7sW23DF9zjl2 for ; Sun, 03 May 2026 17:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31ab7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 17:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 33fbfceeb4d9 - main - nvram.8: Align option list and tag SPDX List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33fbfceeb4d9daf1145089a10ce7b25110d8840f Auto-Submitted: auto-generated Date: Sun, 03 May 2026 17:40:25 +0000 Message-Id: <69f78889.31ab7.3c58b10c@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=33fbfceeb4d9daf1145089a10ce7b25110d8840f commit 33fbfceeb4d9daf1145089a10ce7b25110d8840f Author: Alexander Ziaee AuthorDate: 2026-05-03 17:39:27 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-03 17:39:48 +0000 nvram.8: Align option list and tag SPDX MFC after: 3 days --- usr.sbin/nvram/nvram.8 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/nvram/nvram.8 b/usr.sbin/nvram/nvram.8 index f0b63cdbc731..c326551b72c9 100644 --- a/usr.sbin/nvram/nvram.8 +++ b/usr.sbin/nvram/nvram.8 @@ -1,4 +1,6 @@ -.\"- +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2006 Maxim Sobolev .\" All rights reserved. .\" @@ -51,7 +53,7 @@ following by sign. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "-d name" .It Fl d Ar name Delete the variable selected by .Ar name From nobody Sun May 3 18:30:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7tcT1h8Xz6bq99 for ; Sun, 03 May 2026 18:30: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 4g7tcT0cGHz3hj8 for ; Sun, 03 May 2026 18:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777833017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OzNxi3D2zpleysH6eH9xq3QMpiWGMwQZqECOXUl8yEk=; b=H2g1ghFH3OfIJMxgZTFSxM9pnG9E8tSkWOzxnA5gxCEG+xhXKBSsL8PgLomijMYSDg2APS 3YKHWR9XTLow5mt6NjgjUigTFv5W0Z0LWif3LMe4D6m+Mxw45/LoHlRN0Ls+AkvkkZlSFM vOjAdcz0fiHfOfpe72yrwkk0PnAg5T840PE0XQ2y+nL6CHwK6LY5nVu1QwbCwG8MxlcoIw wTBeDjHCZIoY7u2zI9bvV4XeDMVt3togjv2P3qfhWyLKhU0Xjzu9d8Tv0MM46Tt+nUtRIC Z0qujKJDqoTSwG+qSKPo8I5JO4Z4Lgy6pd6eZsQMa9JJ8SfXV5L/bdYk1oGZXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777833017; a=rsa-sha256; cv=none; b=aS4xmuJyLfBj31Y4tf8gPUhAldOhQAuodQkhlIBEO77uW5nGMiI3K3RQABboAvzeUmodVB q1ZKJxOvMdK+QZGnX/Darhts61XrO4k8iHtWU6l+m1IZIAB/p16YrQOYha9e/cNtLI9kZ0 kwlVgFB1sGrPKe0RMDlzYYgCY2/2mwBA8KPoaT65KOv7Ao4THOP4y3T4uyoM7Fss30FOSM xdhAidUFNrmCmOnvqbMIXO9hlEttmGmDsBbZXeXE68LLuorHghje3npbYS0VLlRHgqrWhL dygtMOrw5wUgM89VLsgV/Q4Uo4C5NUpU0LSrO8bAgjNp0Ta8ScX4ckuLIjC8Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777833017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OzNxi3D2zpleysH6eH9xq3QMpiWGMwQZqECOXUl8yEk=; b=RktMmhC96Xaq1fzuWWMyY0Zo6o1FfrVUU7IWwO9d4zjKkFpOro782M81DBfaAl3TIMLk2M aQctnms06DpVuehEE0dcvBcj77zAkTts6k5emRpe2wOtjOngwW5bMsdz0S1WwLyYwJG3L5 A96OpqZxGijIJgNDneL7eaOXVa/xXFD4P3Uw2xb9ig7qJ0skJfq1dBeVIAe3+MXNjMFG1T W7PKQZ/5zWvM76pDNcCR28q0tdRtv44k1Jbd/7vmwlMSHUilO7GpDe7+/qI16Uum9P09CJ libG2U/XcsWvQNecEjeFIOTM2cpZNmOweG9GPGvD8DbR9xErxW0Z95xU0iHthA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7tcS6p4SzlB9 for ; Sun, 03 May 2026 18:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38a23 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 18:30:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 809504f331fd - main - man: Kill off MANSUBDIRs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 809504f331fd3588e36b54255196379bdb59890a Auto-Submitted: auto-generated Date: Sun, 03 May 2026 18:30:16 +0000 Message-Id: <69f79438.38a23.3196f451@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=809504f331fd3588e36b54255196379bdb59890a commit 809504f331fd3588e36b54255196379bdb59890a Author: Alexander Ziaee AuthorDate: 2026-05-03 17:53:25 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-03 17:53:25 +0000 man: Kill off MANSUBDIRs Three architecture dependent manuals are installed to MANSUBDIRs, creating at least two empty manual page directories on everyone's boxxen. Move those manuals to their canonical area, enhancing clarity, grepability, removing useless inodes, and increasing consistency with the rest of the architecture dependent manuals which are unconditionally installed, and noted at the top of the rendered manual. MFC after: 3 days --- ObsoleteFiles.inc | 9 +++++++++ usr.sbin/apm/Makefile | 1 - usr.sbin/apmd/Makefile | 1 - usr.sbin/nvram/Makefile | 1 - 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e290992077d2..524ebcd8c61e 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20260503: Kill off MANSUBDIRs +OLD_FILES+=usr/share/man/man8/amd64/apm.8.gz +OLD_FILES+=usr/share/man/man8/amd64/apmconf.8.gz +OLD_FILES+=usr/share/man/man8/i386/apmd.8.gz +OLD_FILES+=usr/share/man/man8/powerpc/nvram.8.gz +OLD_DIRS+=usr/share/man/man8/amd64 +OLD_DIRS+=usr/share/man/man8/i386 +OLD_DIRS+=usr/share/man/man8/powerpc + # 20260430: Provide stdint.h macros unconditionally OLD_FILES+=usr/include/c++/v1/stdint.h diff --git a/usr.sbin/apm/Makefile b/usr.sbin/apm/Makefile index f9b3e11d22fa..81f47b8ff7b6 100644 --- a/usr.sbin/apm/Makefile +++ b/usr.sbin/apm/Makefile @@ -1,6 +1,5 @@ PROG= apm MAN= apm.8 -MANSUBDIR= /${MACHINE_CPUARCH} PACKAGE=apm diff --git a/usr.sbin/apmd/Makefile b/usr.sbin/apmd/Makefile index bfe59cc7cd7d..9e693c630308 100644 --- a/usr.sbin/apmd/Makefile +++ b/usr.sbin/apmd/Makefile @@ -1,7 +1,6 @@ CONFS= apmd.conf PROG= apmd MAN= apmd.8 -MANSUBDIR= /i386 SRCS= apmd.c apmdlex.l apmdparse.y y.tab.h PACKAGE=apm diff --git a/usr.sbin/nvram/Makefile b/usr.sbin/nvram/Makefile index 7d27790ed132..4988763c73b4 100644 --- a/usr.sbin/nvram/Makefile +++ b/usr.sbin/nvram/Makefile @@ -1,5 +1,4 @@ PROG= nvram MAN= nvram.8 -MANSUBDIR= /powerpc .include From nobody Sun May 3 18:30:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7tcV1L1bz6bqCl for ; Sun, 03 May 2026 18:30: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 4g7tcV0VLdz3hlB for ; Sun, 03 May 2026 18:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777833018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u84SDyESMAQL4c/U7sT/mcuALVdenkJ3ux5VpO7hd5Q=; b=fa40YhMl/wvJSr4H2lAMHoUW1XXaGaUd4KkxKYhgYCF0t+j8rc8HSTruYfToyAmJjrgtzz Pbq1iUkH38M294XP26ot14hKZfhV0bH08grSC1F1PCa8fR4F1pNcQSAjMFj9Ry2zzV5XlX KjvWJeW+eR50RzkBFpxC3cL5k1k5g60W7epdvMufxr/ml+WPr7rQxb+N237WMn3TVw+H6s +hjaWbOhDq6/Vso4BGZ/EgHtGqSABiEKG2t/6j8eNu/eam80TJLT0Ee2Baa7LvXv/bN6v3 vbu/3+r80gQxS1J9xnMRkSVGEwB+BaxEJe+cK8az3C1ma1XGu6ShikLk8A49/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777833018; a=rsa-sha256; cv=none; b=qZDUgjluunzq3doWyX3FdxL9GIr099oEr/O/Sro3iiiUx0/uaBGyEDDLRpck1jLxLDiy9v iBaQRpDybM88fiB9Z/VXDqaT1/PmYev5WpdDYmRQiYqn/U3rEw5VnvZ1t/WS8sGxb1NHeM 5lNLX4C5DHmqL/0sXPZS4zEVJtkmxDDiqQPL4vAEcUYPNhsQQ/KzubIGQLn4R2ixWUG5bX 3mxpORJzjx7adaJg4pZMkrEpwJuVObRDWioWSmAvSWF6EH9YvozfKe5E2qzaLh/WPqMT4D HugR0yqGvH+w9TttA+JSprWdduSPy4RMZzLFhcc++dhBoW9K5+d+GInp/0rz/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=1777833018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u84SDyESMAQL4c/U7sT/mcuALVdenkJ3ux5VpO7hd5Q=; b=OmiCJvxgwRpXTxKiEJiYytA/5HiXgNmVhBhHQDuaQFMJLUTu5GpJYpg1S40PdetV4HeYXW pmNKMWqwOUlVHEMXSgfCqll705lQdOF+6Luh2k0gjuGKm64J+00+dUI3WnQ8bAO0l4Cv8m UFL9/P07OGdiBmb2VP1ygaMm7XNXbJhg/vtumiwlDeoFBGSEK8irKBsIFwBzQ/+UzUcHJE xw8Fqx9XSWrLRbANlHaPXbyHOMnRgYs4WBL+ETrKJIohibjm/PXnocmhWp51PAmdAunNN2 z4rNg49U0EDVG8+Ii8Zmfh/8W8ybOJmBdcpuNfDMSw7MYBTJPwseaUI2Yn4hAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7tcV02ltzkVc for ; Sun, 03 May 2026 18:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 18:30:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: dd97c3d83f9a - main - ocs_fc.4: Cleanup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd97c3d83f9a92bbeb9740ceff4c1c74c451293e Auto-Submitted: auto-generated Date: Sun, 03 May 2026 18:30:18 +0000 Message-Id: <69f7943a.37a10.3563c4fb@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=dd97c3d83f9a92bbeb9740ceff4c1c74c451293e commit dd97c3d83f9a92bbeb9740ceff4c1c74c451293e Author: Alexander Ziaee AuthorDate: 2026-05-03 18:27:05 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-03 18:29:43 +0000 ocs_fc.4: Cleanup + more consistent document description + enumerate available options in synopsis in vt.4 style + tag spdx + tweak list rendering + cleanup HARDWARE + reflow excessively long lines silencing linter warnings + fix link macros MFC after: 3 days Reported by: michaelo (hardware notes) Differential Revision: https://reviews.freebsd.org/D56753 --- share/man/man4/ocs_fc.4 | 93 +++++++++++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/share/man/man4/ocs_fc.4 b/share/man/man4/ocs_fc.4 index 714bb2655c15..b132a6eb24ed 100644 --- a/share/man/man4/ocs_fc.4 +++ b/share/man/man4/ocs_fc.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2017 Broadcom. All rights reserved. .\" The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries. .\" @@ -27,24 +30,37 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 29, 2021 +.Dd May 1, 2026 .Dt OCS_FC 4 .Os .Sh NAME .Nm ocs_fc -.Nd "Device driver for Emulex Fibre Channel Host Adapters" +.Nd Emulex Fibre Channel Host Adapter driver .Sh SYNOPSIS -To compile this driver into the kernel, add this line to the -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device ocs_fc" -.Ed +.Cd device ocs_fc .Pp -To load the driver as a module at boot, add this line to +In +.Xr device.hints 5 : +.Cd hint.ocs_fc.N.initiator +.Cd hint.ocs_fc.N.target +.Cd hint.ocs_fc.N.topology +.Cd hint.ocs_fc.N.speed +.Pp +In .Xr loader.conf 5 : -.Bd -literal -offset indent -ocs_fc_load="YES" -.Ed +.Cd ocs_fc_load="YES" +.Pp +In +.Xr loader.conf 5 +or +.Xr sysctl.conf 5 : +.Cd dev.ocs_fc.N.port_state +.Cd dev.ocs_fc.N.wwpn +.Cd dev.ocs_fc.N.wwnn +.Cd dev.ocs_fc.N.configured_speed +.Cd dev.ocs_fc.N.configured_topology +.Cd dev.ocs_fc.N.current_speed +.Cd dev.ocs_fc.N.current_topology .Sh DESCRIPTION The .Nm @@ -58,7 +74,8 @@ and Fabric connections. FC-Tape is highly recommended for connections to tape drives that support it. FC-Tape includes four elements from the T-10 FCP-4 specification: -.Bl -bullet -offset indent +.Pp +.Bl -bullet -offset indent -compact .It Precise Delivery of Commands .It @@ -71,29 +88,31 @@ Task Retry Identification .Pp Together these features allow for link level error recovery with tape devices. -Without link level error recovery, an initiator cannot, for instance, tell whether a tape write -command that has timed out resulted in all, part, or none of the data going to -the tape drive. +Without link level error recovery, an initiator cannot, for instance, +tell whether a tape write command that has timed out resulted in all, +part, or none of the data going to the tape drive. FC-Tape is automatically enabled when both the controller and target support it. .Sh HARDWARE The .Nm -driver supports these Fibre Channel adapters: -.Bl -tag -width xxxxxx -offset indent -.It Emulex 16/8G FC GEN 5 HBAS -.Bd -literal -offset indent -LPe15004 FC Host Bus Adapters -LPe160XX FC Host Bus Adapters -.Ed -.It Emulex 32/16G FC GEN 6 HBAS -.Bd -literal -offset indent -LPe3100X FC Host Bus Adapters -LPe3200X FC Host Bus Adapters -.Ed -.It Emulex 64/32G FC GEN 7 HBAS -.Bd -literal -offset indent -LPe3500X FC Host Bus Adapters -.Ed +driver supports the following PCIe Fibre Channel adapters: +.Pp +.Bl -bullet -compact +.It +LPe3500X FC Host Bus Adapter +.Pq Emulex 64/32G FC Gen 7 HBA +.It +LPe3200X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe3100X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe160XX FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA +.It +LPe15004 FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA .El .Sh UPDATING FIRMWARE Adapter firmware updates are persistent. @@ -131,11 +150,9 @@ Check kernel messages regarding status of the operation Reboot the machine .El .Sh BOOT OPTIONS -Options are controlled by setting values in -.Pa /boot/device.hints . -.Pp -They are: -.Bl -tag -width indent +The following boot options are controlled by setting values in +.Pa /boot/device.hints : +.Bl -tag -width hint.ocs_fc.N.initiator .It Va hint.ocs_fc.N.initiator Enable initiator functionality. Default 1 (enabled), 0 to disable. @@ -181,9 +198,9 @@ Current Port Topology (read-only). .Sh SUPPORT For general information and support, go to the Broadcom website at: -.Pa http://www.broadcom.com/ +.Lk http://www.broadcom.com/ or E-Mail at -.Pa ocs-driver-team.pdl@broadcom.com . +.Mt ocs-driver-team.pdl@broadcom.com . .Sh SEE ALSO .Xr ifconfig 8 .Sh AUTHORS From nobody Sun May 3 18:48:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7v204qM9z6bs2k for ; Sun, 03 May 2026 18:48:56 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 4g7v201yXCz3lPH for ; Sun, 03 May 2026 18:48:51 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4890d945eb4so24005675e9.0 for ; Sun, 03 May 2026 11:48:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777834130; x=1778438930; 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=ccFfxir9trlNsniLRapBXRh48nxUdv74CiuMMmVBcU4=; b=qzV918YrZWDl9NZlHbjybqLcUWI73vdkvQwfaQW7BslzLgH8N+rGTjv++Jcl28YNCI GLCAKYB8u0HUt/6eYBiVunz2SQoLsIP/AGeCZcX/8TsMPK041cQQ+OqMH4xCGhj9w9NA sVRFJm7m2HQUrtxrgnAgypCft3pqIzwoTeXOkwtxDhsgsEoWk6Ybonxe9uA7UFd8RDBu 2mIhnJCQQCu3KtaC2lxEA4xFHmQa2c07m+ZlrxYyBfVzLQnwo+cIi4dLIrfH640faVGF 26rToh5pj+K1eSbQhMeZCGab4opFxp3pRl0CXyTQlNGo1no3pvtteQcP0zrYnFfix9S1 hFVQ== X-Forwarded-Encrypted: i=1; AFNElJ/DLf7bd3JurqIE0Q2Az4zSu057gAPVGDTO1Fs0kRbsPCWWZwNgaSLcosyxPGMsb3YmqhTeykV19IJx4+f+0K6GjdFsww==@freebsd.org X-Gm-Message-State: AOJu0YwAJ0U/2u5Mn09UbKeUwmQWkt4AYtOOPwGzFaQRhmbTrUFUBHHQ Tv0SgiXfjNIONB1vpTrs7nAmbDWTZreIUTvv4mop0W+4uyHnCSCKfxEBJ5tjRywpHeM= X-Gm-Gg: AeBDiet3dS1uFr3j55ESM7smwK1LSwdG+CNXLSndHDAMwItIv6MzGvQ0mNkSZ4LqCuO 04b01OKk6jvm5s2Db9AS4MjQLT1g7lXCcHvAUUgqFq9W2AHnKxEwkbot65JE7HmuK4BuVtbrh+X bM/OkoQUbq8hWf9rrxbzbrj3bQo3OUP5Nsf8HScP+ZnV5IFMVrikkrucLJc4auWTOjeEfikSkAc uWc9+svv7qlpcQXLdcpBBv/tElSmAOg7oiWv0DNYHqwwgibW/iG8JzKybpMFfXNio0rc8QupTlH sNayNZqnsapuGqZJtqH6maBUmMKhZHkpNXfiqLM1El1kx4mLEl3FBmUc0jn4L185MTqoPU0UXdE NWWTja17Zgcr3hj5o1aluiddyiuMbfGm438WowT67Lj0x14qFXVIUm4PdxHqJ2zgqh8Y4EwQvIr AUMgGXL9cemRwLxQHslyibz2b/Kk1ZFdiTFGjKSFvFni6ARebFNwxW3k8gRd8uYlGBGheImGXhq 7OeRYTsjxeLaw== X-Received: by 2002:a05:600c:26d2:b0:48a:5236:7f38 with SMTP id 5b1f17b1804b1-48a8607970fmr142754895e9.14.1777834129280; Sun, 03 May 2026 11:48:49 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a9879ef89sm23105541f8f.30.2026.05.03.11.48.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 May 2026 11:48:48 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 01674e15dedb - main - bsd.endian.mk: Optimize the handling of big/little endian determination. From: Jessica Clarke In-Reply-To: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> Date: Sun, 3 May 2026 19:48:37 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <6C5FEC1A-D8E1-45B8-A80A-B32F81392058@freebsd.org> References: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> To: "Stephen J. Kiernan" X-Mailer: Apple Mail (2.3864.400.21) 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: 4g7v201yXCz3lPH X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 3 May 2026, at 03:24, Stephen J. Kiernan wrote: >=20 > The branch main has been updated by stevek: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D01674e15dedb15f8ce498af0680c50bb= 075c5482 >=20 > commit 01674e15dedb15f8ce498af0680c50bb075c5482 > Author: Stephen J. Kiernan > AuthorDate: 2024-04-03 23:25:19 +0000 > Commit: Stephen J. Kiernan > CommitDate: 2026-05-03 02:21:56 +0000 >=20 > bsd.endian.mk: Optimize the handling of big/little endian = determination. >=20 > Add variables to contain lists of MACHINE_ARCH values to use > to determine little or big endian. >=20 > Only error out about not being able to determine endianess if > TARGET_ENDIANNESS is empty and not cross-compiling. >=20 > Reviewed by: sjg > Obtained from: Hewlett Packard Enterprise Development LP > Differential Revision: https://reviews.freebsd.org/D44629 > --- > share/mk/bsd.endian.mk | 39 +++++++++++++++++++++++++++++---------- > 1 file changed, 29 insertions(+), 10 deletions(-) >=20 > diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk > index 0c5ebb7aeba2..2a617a1d2794 100644 > --- a/share/mk/bsd.endian.mk > +++ b/share/mk/bsd.endian.mk > @@ -1,20 +1,35 @@ >=20 > -.if ${MACHINE_CPUARCH} =3D=3D "aarch64" || \ > - ${MACHINE_CPUARCH} =3D=3D "arm" || \ > - ${MACHINE_ARCH} =3D=3D "amd64" || \ > - ${MACHINE_ARCH} =3D=3D "i386" || \ > - ${MACHINE_ARCH} =3D=3D "powerpc64le" || \ > - ${MACHINE_CPUARCH} =3D=3D "riscv" Losing MACHINE_CPUARCH makes me sad as a downstream that adds new MACHINE_ARCH for aarch64 and riscv. For riscv at least it=E2=80=99s now = riscv* which I guess is close enough, but for aarch64 it=E2=80=99s not = wildcarded. Similarly arm though I don=E2=80=99t care about that personally. > +MACHINE_ARCH_LIST.little =3D \ > + aarch64 \ > + amd64 \ > + armv7 \ > + i386 \ > + powerpc64le \ > + riscv* > + > +MACHINE_ARCH_LIST.big =3D \ > + powerpc \ > + powerpc64 > + > +.for e in big little > +N_$e:=3D ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} Should we be worried about catching MACHINE(_ARCH) being empty? Jessica > +.endfor > + > +# For the host, we need to look at the host architecture > +.if ${MACHINE:Nhost*} =3D=3D "" > +_ENDIAN_ARCH=3D${_HOST_ARCH} > +.else > +_ENDIAN_ARCH=3D${MACHINE_ARCH} > +.endif > + > +.if ${_ENDIAN_ARCH:${N_little}} =3D=3D "" > TARGET_ENDIANNESS=3D 1234 > CAP_MKDB_ENDIAN=3D -l > LOCALEDEF_ENDIAN=3D -l > -.elif ${MACHINE_ARCH} =3D=3D "powerpc" || \ > - ${MACHINE_ARCH} =3D=3D "powerpc64" > +.elif ${_ENDIAN_ARCH:${N_big}} =3D=3D "" > TARGET_ENDIANNESS=3D 4321 > CAP_MKDB_ENDIAN=3D -b > LOCALEDEF_ENDIAN=3D -b > -.elif ${.MAKE.OS} =3D=3D "FreeBSD" > -.error Don't know the endian of this architecture > .else > # > # During bootstrapping on !FreeBSD OSes, we need to define some value. = Short of > @@ -33,3 +48,7 @@ TARGET_ENDIANNESS=3D 1234 > CAP_MKDB_ENDIAN=3D -B # Poisoned value, invalid flags for both = cap_mkdb > LOCALEDEF_ENDIAN=3D -B # and localedef. > .endif > + > +.if empty(TARGET_ENDIANNESS) && ${.MAKE.OS} =3D=3D "FreeBSD" > +.error Don't know the endianness of this architecture > +.endif >=20 From nobody Sun May 3 19:11:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXW4LLSz6bv4h for ; Sun, 03 May 2026 19:11: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 4g7vXW35yfz3plV for ; Sun, 03 May 2026 19:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835515; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E3BDSInNbBJIN6NZEcWfX/fycZ7K6oOJ7CFGy1jd6cA=; b=j0pheldh2ci3utmGCt8AwsiAHMZ5rc4WHsO8kBFR6qEiZVgN3Rxw5xtaIQCqWPJ5zwfHhU rp5M3vwhbYZkVki2f614ThinTNy4vM7hl864F3kIQATwrWFHq775qjiCSmm6LaWLVsEiik c0+iyDu6mnlgIoTYUZGIz88AJfVTJ/1AAKsKbT86xtIco6C8Kb+RfMO3hVjT0w+VefBW58 Rt4Datazft7nWImMpjgWe4SAQEgTRTydQL1QWhgKD+xuGPojBbM2WJ2gEliL8D9/1bxhuQ OL+0lnAZVyVIzRXqfJroWAgHda9xFLUf1/ui8BAQegA42ScrDY6PYulAtMteIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777835515; a=rsa-sha256; cv=none; b=SYm8b5N2u7oHCWWQS4pEXDQ7JqKBxAWHrXKni1dJt/j9GvsCFNqEcxSvJf3PesmYwhrKIo A2eWye8l34oNpLWXD5xYphiWcbsmrDmgyTnBsHJg5TYzAfpdraofYGNimEe8ZbZL8mNUHX Pb6KTVvFZqMuNa+JTQyrIVhP8+3D18aOBFcgtFQv8a3Bpj0BO4r1nvCPHSzu12kUi3Jz4w Vyo0qMRZd3zrVIdUQCUxgrevpR2+IsBq9nJ3ISeL/S9TjRTnYKd1wPsu22ssfGTopmDk/F tqDr9iwxAvbz5crEM+/yVq/w4i0HHbzWjHsZeLEpv7EkvQh3W16dtGd1vopxMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835515; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E3BDSInNbBJIN6NZEcWfX/fycZ7K6oOJ7CFGy1jd6cA=; b=sfaWy9ilFYbbgX6h+6lE1+WSTEo+TucXN2RiKoVBOkCYOh3HIP2X5OAWjvuJv4CgG3PEPM L0QwLQHEoQW6/jt86gntfk67RYx4jhpVaiZEsc1QqQLzqrlNXSzGoi3Y9D+4gYguJleyPE eQ0CXlvpj9sCKlK0s9svDF+Zh9VsufJpXBsHdse9JAb2CSab+26y9FGekLlVfZ9ruWRwyQ u/qAwRGv/84hn20cV6/VqkWrB7Nd56UaDS/CrDI9ZstJjJW6SE7mUFz31ZY6dOKAKgn70z i+JnEvptwZbaKHwwGESQkYUpoRu+WWCCmLE5lEPgVqsyjI9xqCTyZ7F66aqI2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXW2c2PzmJT for ; Sun, 03 May 2026 19:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c939 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:11:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 96840278032f - main - sysctl: Fix typo in DDB help text example List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96840278032f856669597129e9d16c818e40dc15 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:11:55 +0000 Message-Id: <69f79dfb.3c939.12787170@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=96840278032f856669597129e9d16c818e40dc15 commit 96840278032f856669597129e9d16c818e40dc15 Author: Justin Hibbits AuthorDate: 2026-05-03 18:49:31 +0000 Commit: Justin Hibbits CommitDate: 2026-05-03 19:09:28 +0000 sysctl: Fix typo in DDB help text example --- sys/kern/kern_sysctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 4adbd71fae24..07c137b1e5ab 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -3084,7 +3084,7 @@ db_sysctl_cmd_usage(void) " \n" "For example: \n" "sysctl vm.v_free_min \n" - "vn.v_free_min: 12669 \n" + "vm.v_free_min: 12669 \n" ); } From nobody Sun May 3 19:11:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXX5Pgkz6bv4j for ; Sun, 03 May 2026 19:11: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 4g7vXX3bN7z3plX for ; Sun, 03 May 2026 19:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QMHBsmiaTjISfdjSUxDuZKQkRhYODwyehD7PXmv/CpI=; b=PYCULErfLtOf6TzgrDwLDFBaB2u11LHmMWU2OjDMfMnSRgbB/lcibeblaPN+hrMJI9Dnz7 FYhbi3lp6ZpjHgqhHc97GgBPVl45KqXVh7igT1zaXuVVuACHmH4MgM3Djb/MOXpLZWeTN5 b0Viefq/Anqh8X7zhBi55wpcGTef4t9Pf7msU38SGAu+MK4xxEpzb+VoHFDHwe3JkWMllN uYhHjDuLkRCmwrsbdozlNvfRrkASMZIXk1ahwUqXyMnSurByZM5CKOuRx1uWZYb5lg1K9g Vfp1KOIkTRAJ/AS66R6ecpRIbElYWXcNQelnBWjb6HNzo+IxrAJBRlHLWKbyxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777835516; a=rsa-sha256; cv=none; b=kXD+BXwlxMBObZbHKiSlyx5mRsW8I/Gn/Toh+zJZvy7Px6gX4NyGUiqMWOu5KY40Qjlnn0 N/t16x0IY89hsHVZQu3WybF0+4lE31BytiFQrTB8IKaZU2H1gfR+40ft6Mg104LbDYfqSP aHkPp0kdH4PXE2PXKX6Lo78U2Yo+okJiy2v81neZiJkG0TR625OzCXi0NiFrXs0dty+qrK YGxbqQFeHRscUmwjYzOIktREiVNhju4Lq7vMsH04upUQoX26ikgXlSG3Z9s4qbMQ7W+vqc 1NkMXqGpkuP8HEzcA643erBL3aV/aEl+bVL2Y/FiOAbSCZH7yD7ur0fN9sCaEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QMHBsmiaTjISfdjSUxDuZKQkRhYODwyehD7PXmv/CpI=; b=y4LeH2e0lQtA/pzabzeL0BLB5wCj/W+5iwDLE/b7VnXUv8JUjlnzk3JVTo0OpiWnJqKcHp x0myp3WBh6vspblxuyVxkOIUsB4Gpy9wC0hjZLHU0JNglSvPUGzF93B2kd5KLQVzuk3UJi QO4DPB24h8fFJbcoKZunH7XNAoAC32AZknp8it5Mb4AkHOrXoMFtWi1hqj8tcx1KHc4Y3X q6R6NoicjhEwuioxR9YuZiP5JSFYK4VvowFfIspOI/u9qsphyp29gIDNvG6C7X9xdR90uY 1Addc6I9+mDrbbe3q7q21qh+URi1PK1ugP6BIIfiPHB2Nsa48T303j3GIgpHQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXX37brzmRJ for ; Sun, 03 May 2026 19:11:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ce8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:11:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: d22051b18e9b - main - iicbus/rtc: Add driver for the Ricoh rs5c372 RTC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d22051b18e9b7512c5cf033d7b6eee2df03c985b Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:11:56 +0000 Message-Id: <69f79dfc.3ce8c.5b950eca@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=d22051b18e9b7512c5cf033d7b6eee2df03c985b commit d22051b18e9b7512c5cf033d7b6eee2df03c985b Author: Justin Hibbits AuthorDate: 2026-04-22 02:15:02 +0000 Commit: Justin Hibbits CommitDate: 2026-05-03 19:09:28 +0000 iicbus/rtc: Add driver for the Ricoh rs5c372 RTC This RTC chip supports 2 alarm timers in addition to RTC functionality, but this driver only supports the RTC at this time. --- sys/conf/files | 1 + sys/dev/iicbus/rtc/rs5c372a.c | 182 ++++++++++++++++++++++++++++++++++++++ sys/modules/i2c/Makefile | 1 + sys/modules/i2c/rs5c372a/Makefile | 14 +++ 4 files changed, 198 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 2b4a453ca556..6804c9c81c69 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1858,6 +1858,7 @@ dev/iicbus/rtc/hym8563.c optional hym8563 iicbus fdt dev/iicbus/rtc/isl12xx.c optional isl12xx dev/iicbus/rtc/nxprtc.c optional nxprtc | pcf8563 dev/iicbus/rtc/pcf85063.c optional pcf85063 iicbus fdt +dev/iicbus/rtc/rs5c372a.c optional rs5c372a iicbus fdt dev/iicbus/rtc/rtc8583.c optional rtc8583 dev/iicbus/rtc/rv3032.c optional rv3032 iicbus fdt dev/iicbus/rtc/rx8803.c optional rx8803 iicbus fdt diff --git a/sys/dev/iicbus/rtc/rs5c372a.c b/sys/dev/iicbus/rtc/rs5c372a.c new file mode 100644 index 000000000000..c5743e840d25 --- /dev/null +++ b/sys/dev/iicbus/rtc/rs5c372a.c @@ -0,0 +1,182 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Justin Hibbits + * + * 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 ``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 BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include "clock_if.h" +#include "iicbus_if.h" + +/* + * Driver for the Richo rs5c372a RTC. The chip itself includes 2 alarm clocks + * in addition to the clock component, but this driver offers only the RTC + * component. + * + * Like many other RTCs, this reports the date and time in BCD. + * + * The `Hour' register uses bit 5 in a dual role: In 24-hour time, it's a part + * of the first digit (0, 1, 2). In 12-hour time it denotes PM, so 12PM is + * reported as 0x32, 1PM is 0x21, etc. + */ +#define RS5C372_REG_SEC 0x0 +#define RS5C372_REG_MIN 0x1 +#define RS5C372_REG_HOUR 0x2 +#define HOUR_HR_M 0x1f +#define HOUR_PM 0x20 +#define RS5C372_REG_DOW 0x3 +#define RS5C372_REG_DAY 0x4 +#define RS5C372_REG_MON 0x5 +#define RS5C372_REG_YEAR 0x6 +#define RS5C372_REG_CTRL1 0xe +#define RS5C372_REG_CTRL2 0xf +#define CTRL_PM 0x20 + +static struct ofw_compat_data compat_data[] = { + { "ricoh,rs5c372a", 1 }, + { NULL, 0 } +}; + +static int +rs5c372a_gettime(device_t dev, struct timespec *ts) +{ + struct bcd_clocktime ct = {}; + uint8_t clock_regs[7]; + int err; + uint8_t ctrl2; + bool is_12hr = true; + + err = iicdev_readfrom(dev, RS5C372_REG_CTRL2, &ctrl2, + sizeof(ctrl2), IIC_WAIT); + if (err != 0) + return (err); + err = iicdev_readfrom(dev, RS5C372_REG_SEC, clock_regs, + sizeof(clock_regs), IIC_WAIT); + if (err != 0) + return (err); + + if (ctrl2 & CTRL_PM) + is_12hr = false; + ct.sec = clock_regs[RS5C372_REG_SEC]; + ct.min = clock_regs[RS5C372_REG_MIN]; + ct.hour = clock_regs[RS5C372_REG_HOUR]; + ct.dow = clock_regs[RS5C372_REG_DOW]; + ct.day = clock_regs[RS5C372_REG_DAY]; + ct.mon = clock_regs[RS5C372_REG_MON]; + ct.year = clock_regs[RS5C372_REG_YEAR]; + + if (is_12hr) { + ct.ispm = ct.hour & HOUR_PM; + ct.hour &= HOUR_HR_M; + } + clock_bcd_to_ts(&ct, ts, ct.ispm); + + return (0); +} + +static int +rs5c372a_settime(device_t dev, struct timespec *ts) +{ + struct bcd_clocktime ct; + uint8_t clock_regs[7]; + uint8_t ctrl2; + int err; + bool is_12hr = true; + + err = iicdev_readfrom(dev, RS5C372_REG_CTRL2, &ctrl2, + sizeof(ctrl2), IIC_WAIT); + if (err != 0) + return (err); + if (ctrl2 & CTRL_PM) + is_12hr = false; + clock_ts_to_bcd(ts, &ct, is_12hr); + clock_regs[RS5C372_REG_SEC] = ct.sec; + clock_regs[RS5C372_REG_MIN] = ct.min; + clock_regs[RS5C372_REG_HOUR] = ct.hour; + clock_regs[RS5C372_REG_DAY] = ct.day; + clock_regs[RS5C372_REG_DOW] = ct.dow; + clock_regs[RS5C372_REG_MON] = ct.mon; + clock_regs[RS5C372_REG_YEAR] = ct.year & 0xff; + + if (is_12hr) { + if (ct.ispm) + clock_regs[RS5C372_REG_HOUR] |= HOUR_PM; + } + + err = iicdev_writeto(dev, RS5C372_REG_SEC, clock_regs, + sizeof(clock_regs), IIC_WAIT); + + return (err); +} + +static int +rs5c372a_probe(device_t dev) +{ + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) + return (ENXIO); + + device_set_desc(dev, "Richo RS5C372A RTC"); + + return (BUS_PROBE_DEFAULT); +} + +static int +rs5c372a_attach(device_t dev) +{ + + /* Register with 1s resolution */ + clock_register(dev, 1000000); + clock_schedule(dev, 1); + return (0); +} + +static device_method_t rs5c372a_methods[] = { + /* Device methods */ + DEVMETHOD(device_probe, rs5c372a_probe), + DEVMETHOD(device_attach, rs5c372a_attach), + + /* Clock methods */ + DEVMETHOD(clock_gettime, rs5c372a_gettime), + DEVMETHOD(clock_settime, rs5c372a_settime), + DEVMETHOD_END +}; + + +DEFINE_CLASS_0(rs5c372a, rs5c372a_driver, rs5c372a_methods, 0); +DRIVER_MODULE(rs5c372a, iicbus, rs5c372a_driver, NULL, NULL); +MODULE_VERSION(rs5c372a, 1); +MODULE_DEPEND(rs5c372a, iicbus, IICBUS_MINVER, IICBUS_PREFVER, IICBUS_MAXVER); +IICBUS_FDT_PNP_INFO(compat_data); diff --git a/sys/modules/i2c/Makefile b/sys/modules/i2c/Makefile index 6561327abfca..ff4536694dfc 100644 --- a/sys/modules/i2c/Makefile +++ b/sys/modules/i2c/Makefile @@ -28,6 +28,7 @@ SUBDIR = \ .if !empty(OPT_FDT) SUBDIR += hym8563 \ + rs5c372a \ rv3032 \ rx8803 \ tca64xx \ diff --git a/sys/modules/i2c/rs5c372a/Makefile b/sys/modules/i2c/rs5c372a/Makefile new file mode 100644 index 000000000000..3bd387115a8a --- /dev/null +++ b/sys/modules/i2c/rs5c372a/Makefile @@ -0,0 +1,14 @@ +.PATH: ${SRCTOP}/sys/dev/iicbus/rtc/ +KMOD = rs5c372a +SRCS = rs5c372a.c + +# Generated files... +SRCS+= \ + bus_if.h \ + clock_if.h \ + device_if.h \ + iicbus_if.h \ + opt_platform.h \ + ofw_bus_if.h \ + +.include From nobody Sun May 3 19:11:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXZ0TJ4z6bvLs for ; Sun, 03 May 2026 19:11: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 4g7vXY4zsgz3pgC for ; Sun, 03 May 2026 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQeP5WdYJBuK7O6Ou6fRNqYyjeW/mKZOcGgojECJ4xE=; b=aspmEoW14OZk6gIFj+YVQkD2uCvqYjCt0Y/8lhH/nBvTKhFFS/EorGxMLN0eb6n2BqyCjf f7i4JldSTzmDBi1RA3+e5AiVzggFxkGH1xbevqlcena0UmsncPlMFNXPoVeA/fFCBPuQqd QzsLCxD27TE1/sKbRqy8zLwkVvy9ev/khFVSVssUlRG54Xxb+oSPAHHdPCMTnzZTaVFoCF PPu8JilCCs4lLWNj64dBHpRGHCU44sRfzcmSD/IaU5ssVaGAsO/+RSC5Y5zJrLsX3zs/bu 1HCMyJDp72hS2G0N7j+KCy3W0SyqFQHpxeLs52QHvg1UUkbx0JZMnCnWYa5+Qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777835517; a=rsa-sha256; cv=none; b=D4NomG2AEyxMdsVMgUVMUM6zwOMELG9wXtddlS2NeMUgvRUjoRXhw9FBsWP7Rm1UaOLdtD TU04eYU5LfDHWixWRJclaPxp8Ct3aw7CoLPCMRwhDvO4/KXq3EMdvKFDxF30qmKVjoi2zW M32GpX/2Dpy/sH90fQBeshkgSbhMsNTFyxCuc/ZxvBaEYzf10Gvj5mDmGsVLo/2oLyYiIC U5OkbFxyM7PrNOwiHF2ysSzfSl73DhJd4xVzShPPGkk8YDHEC/FORJcyjYkJjsO3neWHWq MyKXdWrrr+6rmWwoBVwf5AxpXHijbuPTzqOCuW8/XBLdRXrjUHy3llhHlJruag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dQeP5WdYJBuK7O6Ou6fRNqYyjeW/mKZOcGgojECJ4xE=; b=EEEh763AlwY4w/Ht32LFJ2AhtjMeHispljGTLadjKFcdE4c/0juR5Y3lEx/kh7GpTmb9wE Unti7ncVgq48FpYALzrCJPyTNDO3+AL+YVxKqXXTUD014YVJidkr/uzrzFXMoATzL+ow+N AEp9pawMGWGBxLcdmHFCwetoUhXVnXDjE/a6vjCJheJa5lXZp0kVuNDtJ1bhCzhpVvJ1yP u9T5f4R0GN97cMXm88H1xpqyXTQSxZ+b2orw6BaiBULF2vry63U7aGXE4UUy6E5BC6CcAH G9FAbEiC6v3c5fKmmH7x9R6NZMK/lmEfuWYrqQTY9VPO0O8vwqqF+kaSQEIgjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXY4JQhzlpZ for ; Sun, 03 May 2026 19:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d681 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:11:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: fd8d34ce272b - main - dpaa: Migrate from NCSW base to a home-grown driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd8d34ce272ba40f3e0218198ba542a29c390a4a Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:11:57 +0000 Message-Id: <69f79dfd.3d681.162b0f5@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=fd8d34ce272ba40f3e0218198ba542a29c390a4a commit fd8d34ce272ba40f3e0218198ba542a29c390a4a Author: Justin Hibbits AuthorDate: 2026-04-24 03:38:19 +0000 Commit: Justin Hibbits CommitDate: 2026-05-03 19:09:29 +0000 dpaa: Migrate from NCSW base to a home-grown driver The NCSW reference base requires tuning for each target, and currently is configured for FMANv2. This doesn't readily work on FMANv3 devices, such as the T-series powerpc, or the LS1043 ARM. Since Freescale/NXP abandoned the NCSW driver a decade ago, it makes sense to abandon it ourselves as well. This new driver uses a combination of the NCSW driver and the Linux driver (BSD/GPL dual licensed) as a reference, but contains no actual code from them. The DPAA (Data Path Acceleration Architecture) subsystem consists of the following components: * BMan -- Buffer Manager. Manages buffer pools of different sizes (one size per pool, up to 64 pools) * QMan -- Queue Manager. Manages the interfaces between DPAA-based components and the CPU(s). * FMan -- Frame Manager. Responsible for all ethernet-related processing. Consists itself of the following components: * Ports -- interfaces to the QMan. An ethernet interface consists of 2 ports. Ports use "Next-invoked action" (NIA) descriptors to form a pipeline for processing on receive and transmit. * Parser -- performs protocol header parsing and validation. Both hardware and software parsers are available. * KeyGen -- Key generator, used to start the classification process (for the Policer), generating FQIDs and other keys based on the frame input. * Policer -- performs traffic shaping and classification * MAC -- SoC specific ethernet MAC (dTSEC, TGEC, mEMAC). Currently supports dTSEC and mEMAC, along with their MDIO blocks. Additional components not yet handled: SEC -- Security engine (crypto) RE -- RAID engine RapidIO DCE -- Decompression/Compression engine, supports ZLIB, DEFLATE, and GZIP, as well as base64 encoding and decoding. BMan and QMan are accessed via cache-coherent portals, using ring buffers as I/O. The intent is for portals to be per-CPU (core/thread) to reduce locking contention and improve performance. This driver pins interrupt handlers to the CPU "owning" a given portal, and uses critical sections to prevent switching while accessing the portal. --- sys/conf/files.powerpc | 21 + sys/dev/dpaa/bman.c | 439 +++++++-------- sys/dev/dpaa/bman.h | 172 ++---- sys/dev/dpaa/bman_fdt.c | 154 +----- sys/dev/dpaa/bman_portals.c | 378 +++++++++---- sys/dev/dpaa/bman_var.h | 44 ++ sys/dev/dpaa/dpaa_common.c | 82 +++ sys/dev/dpaa/dpaa_common.h | 165 ++++++ sys/dev/dpaa/dpaa_eth.c | 634 +++++++++++++++++++++ sys/dev/dpaa/dpaa_eth.h | 116 ++++ sys/dev/dpaa/fman.c | 858 +++++++++++++++++++++-------- sys/dev/dpaa/fman.h | 73 ++- sys/dev/dpaa/fman_fdt.c | 14 +- sys/dev/dpaa/fman_if.m | 38 ++ sys/dev/dpaa/fman_mdio.c | 16 +- sys/dev/dpaa/fman_muram.c | 70 +++ sys/dev/dpaa/fman_port.c | 680 +++++++++++++++++++++++ sys/dev/dpaa/fman_port.h | 29 + sys/dev/dpaa/fman_port_if.m | 55 ++ sys/dev/dpaa/fman_xmdio.c | 284 ++++++++++ sys/dev/dpaa/if_dtsec.c | 614 +++++++-------------- sys/dev/dpaa/if_dtsec.h | 96 +--- sys/dev/dpaa/if_dtsec_fdt.c | 55 +- sys/dev/dpaa/if_dtsec_im.c | 260 --------- sys/dev/dpaa/if_dtsec_im.h | 39 -- sys/dev/dpaa/if_dtsec_rm.c | 651 ---------------------- sys/dev/dpaa/if_memac.c | 802 +++++++++++++++++++++++++++ sys/dev/dpaa/{if_dtsec_rm.h => if_memac.h} | 50 +- sys/dev/dpaa/if_memac_fdt.c | 190 +++++++ sys/dev/dpaa/portals.h | 51 +- sys/dev/dpaa/portals_common.c | 135 +---- sys/dev/dpaa/qman.c | 794 +++++++++++++++----------- sys/dev/dpaa/qman.h | 184 +++++-- sys/dev/dpaa/qman_fdt.c | 176 ++---- sys/dev/dpaa/qman_portal_if.m | 37 ++ sys/dev/dpaa/qman_portals.c | 490 ++++++++++++---- sys/dev/dpaa/qman_var.h | 167 ++++++ sys/powerpc/conf/QORIQ64 | 4 +- sys/powerpc/conf/dpaa/DPAA | 99 ---- sys/powerpc/conf/dpaa/config.dpaa | 24 - sys/powerpc/conf/dpaa/files.dpaa | 122 ---- 41 files changed, 6006 insertions(+), 3356 deletions(-) diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index 164a5d01d4b9..a754f78b35f2 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -89,6 +89,27 @@ dev/adb/adb_hb_if.m optional adb dev/adb/adb_if.m optional adb dev/adb/adb_buttons.c optional adb dev/agp/agp_apple.c optional agp powermac +dev/dpaa/bman_portals.c optional dpaa fdt +dev/dpaa/bman.c optional dpaa +dev/dpaa/bman_fdt.c optional dpaa fdt +dev/dpaa/dpaa_eth.c optional dpaa +dev/dpaa/fman.c optional dpaa fdt +dev/dpaa/fman_fdt.c optional dpaa fdt +dev/dpaa/fman_if.m optional dpaa +dev/dpaa/fman_mdio.c optional dpaa fdt +dev/dpaa/fman_port_if.m optional dpaa +dev/dpaa/fman_port.c optional dpaa +dev/dpaa/fman_xmdio.c optional dpaa fdt mdio miibus +dev/dpaa/dpaa_common.c optional dpaa +dev/dpaa/if_dtsec.c optional dpaa +dev/dpaa/if_dtsec_fdt.c optional dpaa fdt +dev/dpaa/if_memac.c optional dpaa +dev/dpaa/if_memac_fdt.c optional dpaa +dev/dpaa/portals_common.c optional dpaa +dev/dpaa/qman_portal_if.m optional dpaa +dev/dpaa/qman_portals.c optional dpaa fdt +dev/dpaa/qman.c optional dpaa +dev/dpaa/qman_fdt.c optional dpaa fdt dev/fb/fb.c optional sc dev/gpio/qoriq_gpio.c optional mpc85xx gpio dev/hwpmc/hwpmc_e500.c optional hwpmc diff --git a/sys/dev/dpaa/bman.c b/sys/dev/dpaa/bman.c index c275d2335eb8..90095427f10d 100644 --- a/sys/dev/dpaa/bman.c +++ b/sys/dev/dpaa/bman.c @@ -1,27 +1,7 @@ -/*- - * Copyright (c) 2011-2012 Semihalf. - * 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. +/* + * SPDX-License-Identifier: BSD-2-Clause * - * 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. + * Copyright (c) 2026 Justin Hibbits */ #include @@ -29,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -36,63 +17,161 @@ #include #include +#include #include #include "bman.h" +#include "dpaa_common.h" +#include "bman_var.h" + +#define BMAN_POOL_SWDET(n) (0x000 + 4 * (n)) +#define BMAN_POOL_HWDET(n) (0x100 + 4 * (n)) +#define BMAN_POOL_SWDXT(n) (0x200 + 4 * (n)) +#define BMAN_POOL_HWDXT(n) (0x300 + 4 * (n)) +#define FBPR_FP_LWIT 0x804 +#define BMAN_IP_REV_1 0x0bf8 +#define IP_MAJ_S 8 +#define IP_MAJ_M 0x0000ff00 +#define IP_MIN_M 0x000000ff +#define BMAN_IP_REV_2 0x0bfc +#define BMAN_FBPR_BARE 0x0c00 +#define BMAN_FBPR_BAR 0x0c04 +#define BMAN_FBPR_AR 0x0c10 +#define BMAN_LIODNR 0x0d08 + +#define BMAN_POOL_CONTENT(n) (0x0600 + 4 * (n)) +#define BMAN_ECSR 0x0a00 +#define BMAN_ECIR 0x0a04 +#define ECIR_PORTAL(r) (((r) >> 24) & 0x0f) +#define ECIR_VERB(r) (((r) >> 16) & 0x07) +#define ECIR_R 0x00080000 +#define ECIR_POOL(r) ((r) & 0x3f) +#define BMAN_CECR 0x0a34 /* Corruption Error Capture Register */ +#define BMAN_CEAR 0x0a38 /* Corruption Error Address Register */ +#define BMAN_AECR 0x0a34 /* Acces Error Capture Register */ +#define BMAN_AEAR 0x0a38 /* Acces Error Address Register */ +#define BMAN_ERR_ISR 0x0e00 +#define BMAN_ERR_IER 0x0e04 +#define BMAN_ERR_ISDR 0x0e08 +#define ERR_EMAI 0x00000040 +#define ERR_EMCI 0x00000020 +#define ERR_IVCI 0x00000010 +#define ERR_FLWI 0x00000008 +#define ERR_MBEI 0x00000004 +#define ERR_SBEI 0x00000002 +#define ERR_BSCN 0x00000001 + +static MALLOC_DEFINE(M_BMAN, "bman", "DPAA Buffer Manager structures"); static struct bman_softc *bman_sc; -extern t_Handle bman_portal_setup(struct bman_softc *bsc); +static void +bman_isr(void *arg) +{ + struct bman_softc *sc = arg; + uint32_t ier, isr, isr_bit; + uint32_t reg; + + ier = bus_read_4(sc->sc_rres, BMAN_ERR_IER); + isr = bus_read_4(sc->sc_rres, BMAN_ERR_ISR); + + isr_bit = (isr & ier); + if (isr_bit == 0) + goto end; + + if (isr_bit & ERR_EMAI) { + device_printf(sc->sc_dev, "External memory access error\n"); + reg = bus_read_4(sc->sc_rres, BMAN_AECR); + if (reg <= 63) + device_printf(sc->sc_dev, " pool %d\n", reg); + else + device_printf(sc->sc_dev, " FBPR free list\n"); + reg = bus_read_4(sc->sc_rres, BMAN_AEAR); + device_printf(sc->sc_dev, " offset: %#x\n", reg); + } + + if (isr_bit & ERR_EMCI) { + device_printf(sc->sc_dev, "External memory corruption error\n"); + reg = bus_read_4(sc->sc_rres, BMAN_CECR); + if (reg <= 63) + device_printf(sc->sc_dev, " pool %d\n", reg); + else + device_printf(sc->sc_dev, " FBPR free list\n"); + reg = bus_read_4(sc->sc_rres, BMAN_CEAR); + device_printf(sc->sc_dev, " offset: %#x\n", reg); + } + if (isr_bit & ERR_IVCI) { + reg = bus_read_4(sc->sc_rres, BMAN_ECIR); + device_printf(sc->sc_dev, "Invalid verb command\n"); + device_printf(sc->sc_dev, "Portal: %d, ring: %s\n", + ECIR_POOL(reg), (reg & ECIR_R) ? "RCR" : "Command"); + device_printf(sc->sc_dev, "verb: 0x%02x, pool: %d\n", + ECIR_VERB(reg), ECIR_POOL(reg)); + } + if (isr_bit & (ERR_MBEI | ERR_SBEI)) { + if (isr_bit & ERR_MBEI) + device_printf(sc->sc_dev, "Multi-bit ECC error\n"); + if (isr_bit & ERR_MBEI) + device_printf(sc->sc_dev, "Single-bit ECC error\n"); + /* TODO: Add more error details for ECC errors. */ + } + +end: + bus_write_4(sc->sc_rres, BMAN_ERR_ISR, isr); +} static void -bman_exception(t_Handle h_App, e_BmExceptions exception) +bman_get_version(struct bman_softc *sc) { - struct bman_softc *sc; - const char *message; - - sc = h_App; - - switch (exception) { - case e_BM_EX_INVALID_COMMAND: - message = "Invalid Command Verb"; - break; - case e_BM_EX_FBPR_THRESHOLD: - message = "FBPR pool exhaused. Consider increasing " - "BMAN_MAX_BUFFERS"; - break; - case e_BM_EX_SINGLE_ECC: - message = "Single bit ECC error"; - break; - case e_BM_EX_MULTI_ECC: - message = "Multi bit ECC error"; - break; - default: - message = "Unknown error"; + uint32_t reg = bus_read_4(sc->sc_rres, BMAN_IP_REV_1); + + sc->sc_major = (reg & IP_MAJ_M) >> IP_MAJ_S; + sc->sc_minor = (reg & IP_MIN_M); +} + +static int +bman_set_memory(struct bman_softc *sc, vm_paddr_t pa, vm_size_t size) +{ + vm_paddr_t bar_pa; + if ((pa & (size - 1)) != 0 || (size & (size - 1)) != 0) { + device_printf(sc->sc_dev, + "invalid memory configuration: pa: %#jx, size: %#jx\n", + (uintmax_t)pa, (uintmax_t)size); + return (ENXIO); } + bar_pa = bus_read_4(sc->sc_rres, BMAN_FBPR_BARE); + bar_pa <<= 32; + bar_pa |= bus_read_4(sc->sc_rres, BMAN_FBPR_BAR); + if (bar_pa != 0 && bar_pa != pa) { + device_printf(sc->sc_dev, + "attempted to reinitialize BMan with different BAR\n"); + return (ENOMEM); + } else if (bar_pa == pa) + return (0); + + bus_write_4(sc->sc_rres, BMAN_FBPR_BARE, pa >> 32); + bus_write_4(sc->sc_rres, BMAN_FBPR_BAR, pa & 0xffffffff); + bus_write_4(sc->sc_rres, BMAN_FBPR_AR, ilog2(size) - 1); - device_printf(sc->sc_dev, "BMAN Exception: %s.\n", message); + return (0); } int bman_attach(device_t dev) { struct bman_softc *sc; - t_BmRevisionInfo rev; - t_Error error; - t_BmParam bp; + vm_paddr_t bp_pa; + size_t bp_size; + int bp_count; sc = device_get_softc(dev); sc->sc_dev = dev; bman_sc = sc; - /* Check if MallocSmart allocator is ready */ - if (XX_MallocSmartInit() != E_OK) - return (ENXIO); - /* Allocate resources */ sc->sc_rrid = 0; - sc->sc_rres = bus_alloc_resource_anywhere(dev, SYS_RES_MEMORY, - &sc->sc_rrid, BMAN_CCSR_SIZE, RF_ACTIVE); + sc->sc_rres = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + sc->sc_rrid, RF_ACTIVE); if (sc->sc_rres == NULL) return (ENXIO); @@ -102,36 +181,33 @@ bman_attach(device_t dev) if (sc->sc_ires == NULL) goto err; - /* Initialize BMAN */ - memset(&bp, 0, sizeof(bp)); - bp.guestId = NCSW_MASTER_ID; - bp.baseAddress = rman_get_bushandle(sc->sc_rres); - bp.totalNumOfBuffers = BMAN_MAX_BUFFERS; - bp.f_Exception = bman_exception; - bp.h_App = sc; - bp.errIrq = (uintptr_t)sc->sc_ires; - bp.partBpidBase = 0; - bp.partNumOfPools = BM_MAX_NUM_OF_POOLS; - - sc->sc_bh = BM_Config(&bp); - if (sc->sc_bh == NULL) - goto err; + bman_get_version(sc); + if (sc->sc_major == 2 && sc->sc_minor == 0) + bp_count = BMAN_MAX_POOLS_1023; + else + bp_count = BMAN_MAX_POOLS; - /* Warn if there is less than 5% free FPBR's in pool */ - error = BM_ConfigFbprThreshold(sc->sc_bh, (BMAN_MAX_BUFFERS / 8) / 20); - if (error != E_OK) - goto err; + /* TODO: LIODN */ + bus_write_4(sc->sc_rres, BMAN_LIODNR, 0); - error = BM_Init(sc->sc_bh); - if (error != E_OK) - goto err; + sc->sc_vmem = vmem_create("BMan Pools", 0, bp_count, 1, 0, M_WAITOK); - error = BM_GetRevision(sc->sc_bh, &rev); - if (error != E_OK) - goto err; + /* Pool is reserved memory, so no need to track it ourselves. */ + dpaa_map_private_memory(dev, 0, "fsl,bman-fbpr", &bp_pa, &bp_size); + bman_set_memory(sc, bp_pa, bp_size); + + /* Warn if FBPR drops below 5% total. */ + bus_write_4(sc->sc_rres, FBPR_FP_LWIT, (bp_size / 8) / 20); - device_printf(dev, "Hardware version: %d.%d.\n", - rev.majorRev, rev.minorRev); + /* Clear interrupt status, and enable all interrupts. */ + bus_write_4(sc->sc_rres, BMAN_ERR_ISR, 0xffffffff); + bus_write_4(sc->sc_rres, BMAN_ERR_IER, 0xffffffff); + bus_write_4(sc->sc_rres, BMAN_ERR_ISDR, 0); + + /* Enable the IRQ line now. */ + if (bus_setup_intr(dev, sc->sc_ires, INTR_TYPE_NET, NULL, bman_isr, + sc, &sc->sc_icookie) != 0) + goto err; return (0); @@ -147,9 +223,10 @@ bman_detach(device_t dev) sc = device_get_softc(dev); - if (sc->sc_bh != NULL) - BM_Free(sc->sc_bh); - + if (sc->sc_vmem != NULL) + vmem_destroy(sc->sc_vmem); + if (sc->sc_icookie != NULL) + bus_teardown_intr(dev, sc->sc_ires, sc->sc_icookie); if (sc->sc_ires != NULL) bus_release_resource(dev, SYS_RES_IRQ, sc->sc_irid, sc->sc_ires); @@ -186,179 +263,105 @@ bman_shutdown(device_t dev) * BMAN API */ -t_Handle -bman_pool_create(uint8_t *bpid, uint16_t bufferSize, uint16_t maxBuffers, - uint16_t minBuffers, uint16_t allocBuffers, t_GetBufFunction *f_GetBuf, - t_PutBufFunction *f_PutBuf, uint32_t dep_sw_entry, uint32_t dep_sw_exit, - uint32_t dep_hw_entry, uint32_t dep_hw_exit, - t_BmDepletionCallback *f_Depletion, t_Handle h_BufferPool, - t_PhysToVirt *f_PhysToVirt, t_VirtToPhys *f_VirtToPhys) +struct bman_pool * +bman_new_pool(void) { - uint32_t thresholds[MAX_DEPLETION_THRESHOLDS]; struct bman_softc *sc; - t_Handle pool, portal; - t_BmPoolParam bpp; - int error; + vmem_addr_t bpid; + struct bman_pool *pool; sc = bman_sc; pool = NULL; - sched_pin(); - - portal = bman_portal_setup(sc); - if (portal == NULL) - goto err; - - memset(&bpp, 0, sizeof(bpp)); - bpp.h_Bm = sc->sc_bh; - bpp.h_BmPortal = portal; - bpp.h_App = h_BufferPool; - bpp.numOfBuffers = allocBuffers; - - bpp.bufferPoolInfo.h_BufferPool = h_BufferPool; - bpp.bufferPoolInfo.f_GetBuf = f_GetBuf; - bpp.bufferPoolInfo.f_PutBuf = f_PutBuf; - bpp.bufferPoolInfo.f_PhysToVirt = f_PhysToVirt; - bpp.bufferPoolInfo.f_VirtToPhys = f_VirtToPhys; - bpp.bufferPoolInfo.bufferSize = bufferSize; - - pool = BM_POOL_Config(&bpp); - if (pool == NULL) - goto err; - - /* - * Buffer context must be disabled on FreeBSD - * as it could cause memory corruption. - */ - BM_POOL_ConfigBuffContextMode(pool, 0); - - if (minBuffers != 0 || maxBuffers != 0) { - error = BM_POOL_ConfigStockpile(pool, maxBuffers, minBuffers); - if (error != E_OK) - goto err; - } - - if (f_Depletion != NULL) { - thresholds[BM_POOL_DEP_THRESH_SW_ENTRY] = dep_sw_entry; - thresholds[BM_POOL_DEP_THRESH_SW_EXIT] = dep_sw_exit; - thresholds[BM_POOL_DEP_THRESH_HW_ENTRY] = dep_hw_entry; - thresholds[BM_POOL_DEP_THRESH_HW_EXIT] = dep_hw_exit; - error = BM_POOL_ConfigDepletion(pool, f_Depletion, thresholds); - if (error != E_OK) - goto err; - } - - error = BM_POOL_Init(pool); - if (error != E_OK) - goto err; + if (vmem_alloc(sc->sc_vmem, 1, M_FIRSTFIT | M_NOWAIT, &bpid) != 0) + return (NULL); - *bpid = BM_POOL_GetId(pool); - sc->sc_bpool_cpu[*bpid] = PCPU_GET(cpuid); + pool = malloc(sizeof(*pool), M_BMAN, M_WAITOK | M_ZERO); - sched_unpin(); + pool->bpid = bpid; return (pool); - -err: - if (pool != NULL) - BM_POOL_Free(pool); - - sched_unpin(); - - return (NULL); } -int -bman_pool_destroy(t_Handle pool) +struct bman_pool * +bman_pool_create(uint8_t *bpid, uint16_t buffer_size, uint16_t max_buffers, + uint32_t dep_sw_entry, uint32_t dep_sw_exit, + uint32_t dep_hw_entry, uint32_t dep_hw_exit, + bm_depletion_handler dep_cb, void *arg) { struct bman_softc *sc; + struct bman_pool *bp; sc = bman_sc; - thread_lock(curthread); - sched_bind(curthread, sc->sc_bpool_cpu[BM_POOL_GetId(pool)]); - thread_unlock(curthread); + bp = bman_new_pool(); + if (bpid != NULL) + *bpid = bp->bpid; + + if (dep_cb) { + bp->dep_cb = dep_cb; + bus_write_4(sc->sc_rres, BMAN_POOL_SWDET(bp->bpid), + dep_sw_entry); + bus_write_4(sc->sc_rres, BMAN_POOL_SWDXT(bp->bpid), + dep_sw_exit); + bus_write_4(sc->sc_rres, BMAN_POOL_HWDET(bp->bpid), + dep_hw_entry); + bus_write_4(sc->sc_rres, BMAN_POOL_HWDXT(bp->bpid), + dep_hw_exit); + bp->arg = arg; + bman_portal_enable_scn(DPCPU_GET(bman_affine_portal), bp); + } - BM_POOL_Free(pool); + return (bp); +} - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); +int +bman_pool_destroy(struct bman_pool *pool) +{ + /* Need to error, or print a warning, if the pool isn't empty */ + if (bman_count(pool) != 0) + return (EBUSY); + vmem_free(bman_sc->sc_vmem, pool->bpid, 1); + free(pool, M_BMAN); return (0); } int -bman_pool_fill(t_Handle pool, uint16_t nbufs) +bman_put_buffers(struct bman_pool *pool, struct bman_buffer *buffers, int count) { - struct bman_softc *sc; - t_Handle portal; + struct bman_portal_softc *portal; int error; - sc = bman_sc; - sched_pin(); + critical_enter(); - portal = bman_portal_setup(sc); + portal = DPCPU_GET(bman_affine_portal); if (portal == NULL) { - sched_unpin(); + critical_exit(); return (EIO); } - error = BM_POOL_FillBufs(pool, portal, nbufs); - - sched_unpin(); - - return ((error == E_OK) ? 0 : EIO); -} - -void * -bman_get_buffer(t_Handle pool) -{ - struct bman_softc *sc; - t_Handle portal; - void *buffer; - - sc = bman_sc; - sched_pin(); - - portal = bman_portal_setup(sc); - if (portal == NULL) { - sched_unpin(); - return (NULL); + while (count > 0) { + int c = min(count, 8); + error = bman_release(pool, buffers, c); + buffers += c; + count -= c; } - buffer = BM_POOL_GetBuf(pool, portal); + critical_exit(); - sched_unpin(); - - return (buffer); + return (error); } -int -bman_put_buffer(t_Handle pool, void *buffer) +uint32_t +bman_get_bpid(struct bman_pool *pool) { - struct bman_softc *sc; - t_Handle portal; - int error; - - sc = bman_sc; - sched_pin(); - - portal = bman_portal_setup(sc); - if (portal == NULL) { - sched_unpin(); - return (EIO); - } - - error = BM_POOL_PutBuf(pool, portal, buffer); - - sched_unpin(); - - return ((error == E_OK) ? 0 : EIO); + return (pool->bpid); } uint32_t -bman_count(t_Handle pool) +bman_count(struct bman_pool *pool) { - return (BM_POOL_GetCounter(pool, e_BM_POOL_COUNTERS_CONTENT)); + return (bus_read_4(bman_sc->sc_rres, BMAN_POOL_CONTENT(pool->bpid))); } + diff --git a/sys/dev/dpaa/bman.h b/sys/dev/dpaa/bman.h index 01c09489890c..d8a76bfa672b 100644 --- a/sys/dev/dpaa/bman.h +++ b/sys/dev/dpaa/bman.h @@ -1,3 +1,9 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Justin Hibbits + */ + /*- * Copyright (c) 2011-2012 Semihalf. * All rights reserved. @@ -27,29 +33,16 @@ #ifndef _BMAN_H #define _BMAN_H +#include #include -#include - /* * BMAN Configuration */ -/* Maximum number of buffers in all BMAN pools */ -#define BMAN_MAX_BUFFERS 4096 - /* * Portal definitions */ -#define BMAN_CE_PA(base) (base) -#define BMAN_CI_PA(base) ((base) + 0x100000) - -#define BMAN_PORTAL_CE_PA(base, n) \ - (BMAN_CE_PA(base) + ((n) * BMAN_PORTAL_CE_SIZE)) -#define BMAN_PORTAL_CI_PA(base, n) \ - (BMAN_CI_PA(base) + ((n) * BMAN_PORTAL_CI_SIZE)) - -#define BMAN_CCSR_SIZE 0x1000 struct bman_softc { device_t sc_dev; /* device handle */ @@ -57,129 +50,42 @@ struct bman_softc { struct resource *sc_rres; /* register resource */ int sc_irid; /* interrupt rid */ struct resource *sc_ires; /* interrupt resource */ + void *sc_icookie; + vmem_t *sc_vmem; /* resource pool */ + int sc_major; + int sc_minor; +}; - bool sc_regs_mapped[MAXCPU]; /* register mapping status */ +struct bman_buffer { + uint16_t bpid; + uint16_t buf_hi; + uint32_t buf_lo; +} __aligned(8); - t_Handle sc_bh; /* BMAN handle */ - t_Handle sc_bph[MAXCPU]; /* BMAN portal handles */ - vm_paddr_t sc_bp_pa; /* BMAN portals PA */ - unsigned int sc_bpool_cpu[BM_MAX_NUM_OF_POOLS]; -}; +struct bman_pool; +struct bman_buffer; -/* - * External API - */ +typedef void (*bm_depletion_handler)(void *, bool); /* - * @brief Function to create BMAN pool. - * - * @param bpid The pointer to variable where Buffer Pool ID will be - * stored. - * - * @param bufferSize The size of buffers in newly created pool. - * - * @param maxBuffers The maximum number of buffers in software stockpile. - * Set to 0 if software stockpile should not be created. - * - * @param minBuffers The minimum number of buffers in software stockpile. - * Set to 0 if software stockpile should not be created. - * - * @param allocBuffers The number of buffers to preallocate during pool - * creation. - * - * @param f_GetBuf The buffer allocating function. Called only by - * bman_pool_create() and bman_pool_fill(). - * - * @param f_PutBuf The buffer freeing function. Called only by - * bman_pool_destroy(). - * - * @param dep_sw_entry The software portal depletion entry threshold. - * Set to 0 if depletion should not be signaled on - * software portal. - * - * @param dep_sw_exit The software portal depletion exit threshold. - * Set to 0 if depletion should not be signaled on - * software portal. - * - * @param dep_hw_entry The hardware portal depletion entry threshold. - * Set to 0 if depletion should not be signaled on - * hardware portal. - * - * @param dep_hw_exit The hardware portal depletion exit threshold. - * Set to 0 if depletion should not be signaled on - * hardware portal. - * - * @param f_Depletion The software portal depletion notification function. - * Set to NULL if depletion notification is not used. - * - * @param h_BufferPool The user provided buffer pool context passed to - * f_GetBuf, f_PutBuf and f_Depletion functions. - * - * @param f_PhysToVirt The PA to VA translation function. Set to NULL if - * default one should be used. - * - * @param f_VirtToPhys The VA to PA translation function. Set to NULL if - * default one should be used. - * - * @returns Handle to newly created BMAN pool or NULL on error. - * - * @cautions If pool uses software stockpile, all accesses to given - * pool must be protected by lock. Even if only hardware - * portal depletion notification is used, the caller must - * provide valid @p f_Depletion function. + * External API */ -t_Handle bman_pool_create(uint8_t *bpid, uint16_t bufferSize, - uint16_t maxBuffers, uint16_t minBuffers, uint16_t allocBuffers, - t_GetBufFunction *f_GetBuf, t_PutBufFunction *f_PutBuf, - uint32_t dep_sw_entry, uint32_t dep_sw_exit, uint32_t dep_hw_entry, - uint32_t dep_hw_exit, t_BmDepletionCallback *f_Depletion, - t_Handle h_BufferPool, t_PhysToVirt *f_PhysToVirt, - t_VirtToPhys *f_VirtToPhys); -/* - * @brief Fill pool with buffers. - * - * The bman_pool_fill() function fills the BMAN pool with buffers. The buffers - * are allocated through f_GetBuf function (see bman_pool_create() description). - * - * @param pool The BMAN pool handle. - * @param nbufs The number of buffers to allocate. To maximize - * performance this value should be multiple of 8. - * - * @returns Zero on success or error code on failure. - */ -int bman_pool_fill(t_Handle pool, uint16_t nbufs); +struct bman_pool *bman_new_pool(void); +struct bman_pool *bman_pool_create(uint8_t *bpid, uint16_t buffer_size, + uint16_t max_buffers, uint32_t dep_sw_entry, uint32_t dep_sw_exit, uint32_t + dep_hw_entry, uint32_t dep_hw_exit, bm_depletion_handler dep_cb, void *arg); /* * @brief Destroy pool. * - * The bman_pool_destroy() function destroys the BMAN pool. Buffers for pool - * are free through f_PutBuf function (see bman_pool_create() description). + * The bman_pool_destroy() function destroys the BMAN pool. + * The buffer pool must be empty. * * @param pool The BMAN pool handle. - * - * @returns Zero on success or error code on failure. - */ -int bman_pool_destroy(t_Handle pool); - -/* - * @brief Get a buffer from BMAN pool. - * - * @param pool The BMAN pool handle. - * - * @returns Pointer to the buffer or NULL if pool is empty. - */ -void *bman_get_buffer(t_Handle pool); - -/* - * @brief Put a buffer to BMAN pool. - * - * @param pool The BMAN pool handle. - * @param buffer The pointer to buffer. - * - * @returns Zero on success or error code on failure. + * @return 0 on success, EBUSY if the pool is not empty. */ -int bman_put_buffer(t_Handle pool, void *buffer); +int bman_pool_destroy(struct bman_pool *pool); /* * @brief Count free buffers in given pool. @@ -188,7 +94,25 @@ int bman_put_buffer(t_Handle pool, void *buffer); * * @returns Number of free buffers in pool. */ -uint32_t bman_count(t_Handle pool); +uint32_t bman_count(struct bman_pool *pool); + +int bman_put_buffers(struct bman_pool *, struct bman_buffer *, int); +static inline int +bman_put_buffer(struct bman_pool *p, vm_paddr_t buf, int bpid) +{ + struct bman_buffer b = { + .bpid = bpid, + .buf_hi = ((uintptr_t)buf) >> 32, + .buf_lo = ((uintptr_t)buf) & 0xffffffff + }; + return (bman_put_buffers(p, &b, 1)); +} + +int bman_acquire(struct bman_pool *, struct bman_buffer *, uint8_t); + +int bman_create_affine_portal(device_t, vm_offset_t, vm_offset_t, int); +void bman_destroy_affine_portal(int); +uint32_t bman_get_bpid(struct bman_pool *); /* * Bus i/f diff --git a/sys/dev/dpaa/bman_fdt.c b/sys/dev/dpaa/bman_fdt.c index 330db7b89715..c77d58cf118d 100644 --- a/sys/dev/dpaa/bman_fdt.c +++ b/sys/dev/dpaa/bman_fdt.c @@ -40,6 +40,7 @@ #include #include "bman.h" +#include "bman_var.h" #include "portals.h" #define FBMAN_DEVSTR "Freescale Buffer Manager" @@ -59,12 +60,7 @@ static device_method_t bman_methods[] = { DEVMETHOD_END }; -static driver_t bman_driver = { - "bman", - bman_methods, - sizeof(struct bman_softc), -}; - +DEFINE_CLASS_0(bman, bman_driver, bman_methods, sizeof(struct bman_softc)); EARLY_DRIVER_MODULE(bman, simplebus, bman_driver, 0, 0, BUS_PASS_SUPPORTDEV); static int @@ -82,144 +78,46 @@ bman_fdt_probe(device_t dev) /* * BMAN Portals */ -#define BMAN_PORT_DEVSTR "Freescale Buffer Manager - Portals" +#define BMAN_PORT_DEVSTR "Freescale Buffer Manager - Portal" -static device_probe_t bman_portals_fdt_probe; -static device_attach_t bman_portals_fdt_attach; +static int portal_ncpus; +static device_probe_t bman_portal_fdt_probe; +static device_attach_t bman_portal_fdt_attach; -static device_method_t bm_portals_methods[] = { +static device_method_t bman_portal_methods[] = { /* Device interface */ - DEVMETHOD(device_probe, bman_portals_fdt_probe), - DEVMETHOD(device_attach, bman_portals_fdt_attach), - DEVMETHOD(device_detach, bman_portals_detach), + DEVMETHOD(device_probe, bman_portal_fdt_probe), + DEVMETHOD(device_attach, bman_portal_fdt_attach), + DEVMETHOD(device_detach, bman_portal_detach), DEVMETHOD_END }; -static driver_t bm_portals_driver = { - "bman-portals", - bm_portals_methods, - sizeof(struct dpaa_portals_softc), -}; - -EARLY_DRIVER_MODULE(bman_portals, ofwbus, bm_portals_driver, 0, 0, - BUS_PASS_BUS); - -static void -get_addr_props(phandle_t node, uint32_t *addrp, uint32_t *sizep) -{ - - *addrp = 2; - *sizep = 1; - OF_getencprop(node, "#address-cells", addrp, sizeof(*addrp)); - OF_getencprop(node, "#size-cells", sizep, sizeof(*sizep)); -} +DEFINE_CLASS_0(bman_portal, bman_portal_driver, bman_portal_methods, + sizeof(struct bman_portal_softc)); +EARLY_DRIVER_MODULE(bman_portal, simplebus, bman_portal_driver, 0, 0, + BUS_PASS_SUPPORTDEV + BUS_PASS_ORDER_MIDDLE); static int -bman_portals_fdt_probe(device_t dev) +bman_portal_fdt_probe(device_t dev) { - phandle_t node; - - if (ofw_bus_is_compatible(dev, "simple-bus")) { *** 9976 LINES SKIPPED *** From nobody Sun May 3 19:11:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXb1SRZz6bts9 for ; Sun, 03 May 2026 19:11: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 4g7vXZ5b23z3plf for ; Sun, 03 May 2026 19:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++y8ce2cjoGMPq40W4LfhsMpxo8dD+tEAGcNbLg+VOo=; b=kfYm7G2eFvZKHgGl0ob+VZAYvtGj90pQ8dq7ViEij+71L0Zt3qRG/pdl4CPOz1F0aasRbr nfqay5cN3IksPqfXHV8G78nH+hYGy2chM8gDBEkDgAbKq9yycVKHm9UT6MlGVa5u/n/7AC XbX90Xaoe0yUMYyd9ESu+1jDKEhsG3njrvyuOXTXFT0co3ZftXa87UI9TQmOxuK8DIYAdu dvOosrn2VqVdKvSixFchX0i1Q9aKFw4EfUcQo49c/uhcJdgYdOrFXfmkVvyA1gKAgmK6t2 7XKjrJzYcxdFM0BjP0FylEy2l1WLAcR3n8v8cT1/GAYNuJIabRRBbeGrrVUPqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777835518; a=rsa-sha256; cv=none; b=pyE7P3TG80K4wOeyqItqXF/0j1hj5yTdq0uoYq6Jn4GujMQ+lDgAVAhJys7ZxkiDnN1Qzk +OAK/KFGtBA1HErRSss+UH/n51K8rpUjnjdEjoc5MlVHdKlyncESALyQShQgPYx2x5AfsJ lNJdn++u97CtZ8+djbeCoE77dX3f6WNOVSeimRF890kuUf4cTN7Qhje3NxVGf65P7iqbbN oWGoOlww2qpNo5Q5e2SqdfvGNbLpSvNmw0fhYUL/c/MRrD5cyFcNuVlGXGU+Ar/VSYwb8t PuRI7llujPWSShRIE+f8VXUSt9GJ9hac36j+6vBF4+U6RS408VXF2GJrn5vjUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++y8ce2cjoGMPq40W4LfhsMpxo8dD+tEAGcNbLg+VOo=; b=wuZAiN2sdxgIDMk5356y+5jsxXRW8nP6lDYDiRuknLHNZNe7+2zcvA5+saJUw9LUYf5Vdv /xJMHa3EjqGZkvN84r1DTAsVp+i+6m3kq6ve7ovO189NcXi5Ak/LRjQUZdiCNW+fyMAAgp wu+3gkxlPU+pjGfx4/pIxW02hpd0E0TDAAj6TcijhnKFQaAKlE9LHKrHCOOZD92ias+zGo 8kK263A5/BLjvUuzdOgKt92QGSCwwDYSxtQfD7VfqVs5A9KZ0Ei13GpP66V6zhzZ9HwICI YKo4f0WcQii/7E/hCWz2yRifVFabxMtelkY2zUyWtqf91AXja8L/v5DO6+niXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXZ57qHzmJk for ; Sun, 03 May 2026 19:11:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cac1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:11:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 6464974c5a56 - main - dpaa: Enable checksum offloading for IPv4 and IPv6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6464974c5a56a9f899f8a673385711253f9fcbd0 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:11:58 +0000 Message-Id: <69f79dfe.3cac1.2033c7a2@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=6464974c5a56a9f899f8a673385711253f9fcbd0 commit 6464974c5a56a9f899f8a673385711253f9fcbd0 Author: Justin Hibbits AuthorDate: 2026-04-25 20:50:34 +0000 Commit: Justin Hibbits CommitDate: 2026-05-03 19:09:29 +0000 dpaa: Enable checksum offloading for IPv4 and IPv6 Enable the FMan hardware parser to take advantage of some offloading. This enables receive and transmit checksum offloading for both IPv4 and IPv6. Additional offloading capabilities the DPAA supports include: * vlan parsing * Transmit rate limiting * IEEE-1588 timestamps * Soft parsing for custom protocol checking * Congestion handling --- sys/dev/dpaa/dpaa_common.h | 30 +++++++++++++++ sys/dev/dpaa/dpaa_eth.c | 92 +++++++++++++++++++++++++++++++++++++++------- sys/dev/dpaa/fman.h | 30 +++++++++++++++ sys/dev/dpaa/fman_parser.h | 27 ++++++++++++++ sys/dev/dpaa/fman_port.c | 47 +++++++++++++++-------- sys/dev/dpaa/if_memac.c | 19 +++++++++- 6 files changed, 216 insertions(+), 29 deletions(-) diff --git a/sys/dev/dpaa/dpaa_common.h b/sys/dev/dpaa/dpaa_common.h index 7c030f16bd6c..1d81d63877a4 100644 --- a/sys/dev/dpaa/dpaa_common.h +++ b/sys/dev/dpaa/dpaa_common.h @@ -26,6 +26,36 @@ struct dpaa_fd { #define DPAA_FD_FORMAT_SHORT_MBSF 4 +#define DPAA_FD_RX_STATUS_DCL4C 0x10000000 +#define DPAA_FD_RX_STATUS_DME 0x01000000 +#define DPAA_FD_RX_STATUS_IPRE_M 0x00300000 +#define DPAA_FD_RX_STATUS_FPE 0x00080000 +#define DPAA_FD_RX_STATUS_FSE 0x00040000 +#define DPAA_FD_RX_STATUS_DIS 0x00020000 +#define DPAA_FD_RX_STATUS_EOF 0x00008000 +#define DPAA_FD_RX_STATUS_NSS 0x00004000 +#define DPAA_FD_RX_STATUS_KSO 0x00002000 +#define DPAA_FD_RX_STATUS_FCL_M 0x00000c00 +#define DPAA_FD_RX_STATUS_IPP 0x00000200 +#define DPAA_FD_RX_STATUS_FLM 0x00000100 +#define DPAA_FD_RX_STATUS_PTE 0x00000080 +#define DPAA_FD_RX_STATUS_ISP 0x00000040 +#define DPAA_FD_RX_STATUS_PHE 0x00000020 +#define DPAA_FD_RX_STATUS_FRDR 0x00000010 +#define DPAA_FD_RX_STATUS_BLE 0x00000008 +#define DPAA_FD_RX_STATUS_L4CV 0x00000004 +#define DPAA_FD_RX_STATUS_IPR 0x00000001 + +#define DPAA_FD_TX_CMD_RPD 0x40000000 +#define DPAA_FD_TX_CMD_DTC 0x10000000 +#define DPAA_FD_TX_STATUS_UFD 0x04000000 +#define DPAA_FD_TX_STATUS_LGE 0x02000000 +#define DPAA_FD_TX_STATUS_DME 0x01000000 + +/* Most of the above are error flags, but some aren't */ +#define DPAA_FD_CMD_STAT_ERR_M 0x010ce3e8 +#define DPAA_FD_TX_STAT_ERR_M 0x03000000 + #define DPAA_FD_GET_ADDR(fd) ((void *)PHYS_TO_DMAP(fd->addr)) struct dpaa_sgte { diff --git a/sys/dev/dpaa/dpaa_eth.c b/sys/dev/dpaa/dpaa_eth.c index 6f86dfe5045f..95e2c57e014e 100644 --- a/sys/dev/dpaa/dpaa_eth.c +++ b/sys/dev/dpaa/dpaa_eth.c @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2026 Justin Hibbits * Copyright (c) 2012 Semihalf. * All rights reserved. * @@ -43,6 +44,8 @@ #include #include #include +#include +#include #include #include @@ -56,6 +59,7 @@ #include "dpaa_common.h" #include "dpaa_eth.h" #include "fman.h" +#include "fman_parser.h" #include "fman_port.h" #include "fman_if.h" #include "fman_port_if.h" @@ -78,6 +82,7 @@ struct dpaa_eth_frame_info { struct mbuf *fi_mbuf; + struct fman_internal_context fi_ic; struct dpaa_sgte fi_sgt[DPAA_NUM_OF_SG_TABLE_ENTRY]; }; @@ -132,7 +137,7 @@ dpaa_eth_fi_alloc(struct dpaa_eth_softc *sc) { struct dpaa_eth_frame_info *fi; - fi = uma_zalloc(sc->sc_fi_zone, M_NOWAIT); + fi = uma_zalloc(sc->sc_fi_zone, M_NOWAIT | M_ZERO); return (fi); } @@ -318,26 +323,48 @@ dpaa_eth_fq_mext_free(struct mbuf *m) dpaa_eth_pool_rx_put_buffer(sc, buffer, NULL); } +static int +dpaa_eth_update_csum_flags(struct qman_fd *frame, + struct fman_parse_result *prs, struct mbuf *m) +{ + uint16_t l3r = be16toh(prs->l3r); + + /* TODO: nested protocols? */ + if ((l3r & L3R_FIRST_IP_M) != 0) { + m->m_pkthdr.csum_flags |= CSUM_L3_CALC; + if ((l3r & L3R_FIRST_ERROR) == 0) + m->m_pkthdr.csum_flags |= CSUM_L3_VALID; + } + if (frame->cmd_stat & DPAA_FD_RX_STATUS_L4CV) { + m->m_pkthdr.csum_flags |= CSUM_L4_CALC; + m->m_pkthdr.csum_data = 0xffff; + if ((prs->l4r & L4R_TYPE_M) != 0 && + (prs->l4r & L4R_ERR) == 0) + m->m_pkthdr.csum_flags |= CSUM_L4_VALID; + } + + return (0); +} + static int dpaa_eth_fq_rx_callback(device_t portal, struct qman_fq *fq, struct qman_fd *frame, void *app) { struct dpaa_eth_softc *sc; struct mbuf *m; + struct fman_internal_context *frame_ic; void *frame_va; m = NULL; sc = app; frame_va = DPAA_FD_GET_ADDR(frame); + frame_ic = frame_va; /* internal context at head of the frame */ KASSERT(frame->format == 0, ("%s(): Got unsupported frame format 0x%02X!", __func__, frame->format)); - KASSERT(frame->offset == 0, - ("%s(): Only offset 0 is supported!", __func__)); - - if (frame->cmd_stat != 0) { + if ((frame->cmd_stat & DPAA_FD_CMD_STAT_ERR_M) != 0) { device_printf(sc->sc_dev, "RX error: 0x%08X\n", frame->cmd_stat); goto err; @@ -347,8 +374,11 @@ dpaa_eth_fq_rx_callback(device_t portal, struct qman_fq *fq, if (m == NULL) goto err; - m_extadd(m, frame_va, MCLBYTES, dpaa_eth_fq_mext_free, frame_va, sc, 0, - EXT_NET_DRV); + m_extadd(m, (char *)frame_va + frame->offset, frame->length, + dpaa_eth_fq_mext_free, frame_va, sc, 0, EXT_NET_DRV); + + if (if_getcapenable(sc->sc_ifnet) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) + dpaa_eth_update_csum_flags(frame, &frame_ic->prs, m); m->m_pkthdr.rcvif = sc->sc_ifnet; m->m_len = frame->length; @@ -377,7 +407,7 @@ dpaa_eth_fq_tx_confirm_callback(device_t portal, struct qman_fq *fq, sc = app; - if (frame->cmd_stat != 0) + if ((frame->cmd_stat & DPAA_FD_TX_STAT_ERR_M) != 0) device_printf(sc->sc_dev, "TX error: 0x%08X\n", frame->cmd_stat); @@ -385,7 +415,7 @@ dpaa_eth_fq_tx_confirm_callback(device_t portal, struct qman_fq *fq, * We are storing struct dpaa_eth_frame_info in first entry * of scatter-gather table. */ - sgt0 = (struct dpaa_sgte *)PHYS_TO_DMAP(frame->addr); + sgt0 = (struct dpaa_sgte *)PHYS_TO_DMAP(frame->addr + frame->offset); fi = (struct dpaa_eth_frame_info *)PHYS_TO_DMAP(sgt0->addr); /* Free transmitted frame */ @@ -517,6 +547,42 @@ dpaa_eth_fq_tx_init(struct dpaa_eth_softc *sc) } /** @} */ +/* Returns the cmd_stat field for the frame descriptor */ +static uint32_t +dpaa_eth_tx_add_csum(struct dpaa_eth_frame_info *fi) +{ + struct mbuf *m = fi->fi_mbuf; + struct fman_parse_result *prs = &fi->fi_ic.prs; + uint32_t csum_flags = m->m_pkthdr.csum_flags; + uint8_t ether_size = ETHER_HDR_LEN; + + if ((csum_flags & CSUM_FLAGS_TX) == 0) + return (0); + + if (m->m_flags & M_VLANTAG) + ether_size += ETHER_VLAN_ENCAP_LEN; + if (csum_flags & CSUM_IP) + prs->l3r = L3R_FIRST_IPV4; + if (csum_flags & CSUM_IP_UDP) { + prs->l4r = L4R_TYPE_UDP; + prs->l4_off = ether_size + sizeof(struct ip); + } else if (csum_flags & CSUM_IP_TCP) { + prs->l4r = L4R_TYPE_TCP; + prs->l4_off = ether_size + sizeof(struct ip); + } else if (csum_flags & CSUM_IP6_UDP) { + prs->l3r = L3R_FIRST_IPV6; + prs->l4r = L4R_TYPE_UDP; + prs->l4_off = ether_size + sizeof(struct ip6_hdr); + } else if (csum_flags & CSUM_IP6_TCP) { + prs->l3r = L3R_FIRST_IPV6; + prs->l4r = L4R_TYPE_TCP; + prs->l4_off = ether_size + sizeof(struct ip6_hdr); + } + + prs->ip_off[0] = ether_size; + + return (DPAA_FD_TX_CMD_RPD | DPAA_FD_TX_CMD_DTC); +} /** * @group dTSEC IFnet routines. @@ -573,7 +639,6 @@ dpaa_eth_if_start_locked(struct dpaa_eth_softc *sc) * First entry in scatter-gather table is used to keep * pointer to frame info structure. */ - memset(&fi->fi_sgt[i], 0, sizeof(fi->fi_sgt[i])); fi->fi_sgt[i].addr = pmap_kextract((vm_offset_t)fi); i++; @@ -613,15 +678,16 @@ dpaa_eth_if_start_locked(struct dpaa_eth_softc *sc) fi->fi_sgt[i - 1].final = 1; - fd.addr = pmap_kextract((vm_offset_t)fi->fi_sgt); + fd.addr = pmap_kextract((vm_offset_t)&fi->fi_ic); fd.length = psize; fd.format = DPAA_FD_FORMAT_SHORT_MBSF; fd.liodn = 0; fd.bpid = 0; fd.eliodn = 0; - fd.offset = 0; - fd.cmd_stat = 0; + fd.offset = offsetof(struct dpaa_eth_frame_info, fi_sgt) - + offsetof(struct dpaa_eth_frame_info, fi_ic); + fd.cmd_stat = dpaa_eth_tx_add_csum(fi); DPAA_ETH_UNLOCK(sc); if (qman_fq_enqueue(sc->sc_tx_fq, &fd) != 0) { diff --git a/sys/dev/dpaa/fman.h b/sys/dev/dpaa/fman.h index 68b0b7d1900e..a0af1b36b5a3 100644 --- a/sys/dev/dpaa/fman.h +++ b/sys/dev/dpaa/fman.h @@ -105,6 +105,36 @@ struct fman_port_init_params { uint16_t liodn; }; +struct fman_parse_result { + uint8_t lpid; + uint8_t shimr; + uint16_t l2r; + uint16_t l3r; + uint8_t l4r; + uint8_t cpid; + uint16_t nxthdr; + uint16_t cksum; + uint32_t lcv; + uint8_t shim_off[2]; + uint8_t ip_pid_off; + uint8_t eth_off; + uint8_t llc_snap_off; + uint8_t vlan_tic_off[2]; + uint8_t last_e_type_off; + uint8_t pppoe_off; + uint8_t mpls_off[2]; + uint8_t ip_off[2]; + uint8_t gre_off; + uint8_t l4_off; + uint8_t nxthdr_off; +}; + +struct fman_internal_context { + struct fman_parse_result prs; + uint64_t timestamp; + uint64_t hash; +}; + /** * @group FMan bus interface. * @{ diff --git a/sys/dev/dpaa/fman_parser.h b/sys/dev/dpaa/fman_parser.h new file mode 100644 index 000000000000..65dc5bcabe69 --- /dev/null +++ b/sys/dev/dpaa/fman_parser.h @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Justin Hibbits + */ + +#ifndef DPAA_FMAN_PARSER_H +#define DPAA_FMAN_PARSER_H + +#define FMAN_PARSE_RESULT_OFF 32 +#define L3R_FIRST_IPV4 0x8000 +#define L3R_FIRST_IPV6 0x4000 +#define L3R_FIRST_IP_M (L3R_FIRST_IPV4 | L3R_FIRST_IPV6) +#define L3R_LAST_IPV4 0x8000 +#define L3R_LAST_IPV6 0x4000 +#define L3R_LAST_IP_M (L3R_LAST_IPV4 | L3R_LAST_IPV6) +#define L3R_FIRST_ERROR 0x2000 +#define L3R_LAST_ERROR 0x0080 +#define L4R_TYPE_M 0xe0 +#define L4R_TYPE_TCP 0x20 +#define L4R_TYPE_UDP 0x40 +#define L4R_TYPE_IPSEC 0x60 +#define L4R_TYPE_SCTP 0x80 +#define L4R_DCCP 0xa0 +#define L4R_ERR 0x10 + +#endif diff --git a/sys/dev/dpaa/fman_port.c b/sys/dev/dpaa/fman_port.c index 3e6f2b7dca30..548557edc7f8 100644 --- a/sys/dev/dpaa/fman_port.c +++ b/sys/dev/dpaa/fman_port.c @@ -11,6 +11,7 @@ #include #include #include "fman.h" +#include "fman_parser.h" #include "fman_port.h" #include "fman_if.h" #include "fman_port_if.h" @@ -73,9 +74,17 @@ struct fman_port_softc { #define FMBM_RFP 0x00c #define FMBM_RFED 0x010 #define BMI_RX_FRAME_END_CUT_SHIFT 16 -#define FMBM_RICP 0x014 +#define FMBM_RICP 0x014 /* Counts are units of 16 bytes */ +#define RICP_ICEOF_M 0x001f0000 +#define RICP_ICEOF_S 16 +#define RICP_ICIOF_M 0x00000f00 +#define RICP_ICIOF_S 8 +#define RICP_ICSZ_S 0x0000001f #define FMBM_RIM 0x018 #define FMBM_REBM 0x01c +#define REBM_BSM_M 0x01ff0000 +#define REBM_BSM_S 16 +#define REBM_BEM_M 0x000001ff #define FMBM_RFNE 0x020 #define FMBM_RFCA 0x024 #define RFCA_OR 0x80000000 @@ -105,6 +114,12 @@ struct fman_port_softc { #define FMBM_TFP 0x00c #define BMI_FIFO_PIPELINE_DEPTH_SHIFT 12 #define FMBM_TFED 0x010 +#define FMBM_TICP 0x014 +#define TICP_ICEOF_M 0x001f0000 +#define TICP_ICEOF_S 16 +#define TICP_ICIOF_M 0x00000f00 +#define TICP_ICIOF_S 8 +#define TICP_ICSZ_S 0x0000001f #define FMBM_TFDNE 0x018 #define FMBM_TFCA 0x01c #define TFCA_MR_DEF 0 @@ -385,6 +400,7 @@ fman_port_config(device_t dev, struct fman_port_params *params) static int fman_port_init_bmi_rx(struct fman_port_softc *sc) { + uint32_t reg; /* TODO: Sort the buffer pool list. */ /* TODO: Backup pools */ @@ -407,7 +423,7 @@ fman_port_init_bmi_rx(struct fman_port_softc *sc) RFCA_OR | RFCA_SYNC_REQ | RFCA_MR_DEF); bus_write_4(sc->sc_mem, FMBM_RFPNE, - NIA_ENG_HWK); + NIA_ENG_BMI | NIA_BMI_AC_ENQ_FRAME); bus_write_4(sc->sc_mem, FMBM_RFENE, NIA_ENG_QMI_ENQ | NIA_ORDER_RESTORE); @@ -424,11 +440,14 @@ fman_port_init_bmi_rx(struct fman_port_softc *sc) bus_write_4(sc->sc_mem, FMBM_RFED, DEFAULT_RX_CUT_END_BYTES << BMI_RX_FRAME_END_CUT_SHIFT); - /* No internal context */ - bus_write_4(sc->sc_mem, FMBM_RICP, 0); + /* Insert internal context ahead of the frame */ + reg = sizeof(struct fman_internal_context) << REBM_BSM_S; + bus_write_4(sc->sc_mem, FMBM_REBM, reg); + reg = howmany(FMAN_PARSE_RESULT_OFF, 0x10) << RICP_ICIOF_S; + reg |= howmany(sizeof(struct fman_internal_context), 0x10); + bus_write_4(sc->sc_mem, FMBM_RICP, reg); - /* TODO: Enable HW Parser. */ - bus_write_4(sc->sc_mem, FMBM_RFNE, NIA_ENG_BMI | NIA_BMI_AC_ENQ_FRAME); + bus_write_4(sc->sc_mem, FMBM_RFNE, NIA_ENG_HWP); bus_write_4(sc->sc_mem, FMBM_RFSDM, FM_FD_ERR_DIS); bus_write_4(sc->sc_mem, FMBM_RFSEM, BMI_RX_ERR & ~FM_FD_ERR_DIS); @@ -462,6 +481,11 @@ fman_port_init_bmi_tx(struct fman_port_softc *sc) bus_write_4(sc->sc_mem, FMBM_TFENE, NIA_ENG_QMI_ENQ | NIA_ORDER_RESTORE); + /* Insert internal context ahead of the frame */ + reg = howmany(FMAN_PARSE_RESULT_OFF, 0x10) << TICP_ICIOF_S; + reg |= howmany(sizeof(struct fman_internal_context), 0x10); + bus_write_4(sc->sc_mem, FMBM_TICP, reg); + if (sc->sc_revision_major >= 6) bus_write_4(sc->sc_mem, FMBM_TFNE, (sc->sc_default_fqid == 0 ? TFNE_EBD : 0) | @@ -477,7 +501,7 @@ fman_port_init_hwp(struct fman_port_softc *sc) { int i; - /* TODO: fman_port_init_hwp */ + /* Stop the parser so we can initialize it for our uses */ bus_write_4(sc->sc_mem, HWP_PCAC, HWP_PCAC_PSTOP); for (i = 0; i < 100 && @@ -497,16 +521,9 @@ fman_port_init_hwp(struct fman_port_softc *sc) bus_write_4(sc->sc_mem, HWP_HXS_SSA(HWP_HXS_TCP), HXS_SH_PAD_REM); bus_write_4(sc->sc_mem, HWP_HXS_SSA(HWP_HXS_UDP), HXS_SH_PAD_REM); + /* Re-enable the parser */ bus_write_4(sc->sc_mem, HWP_PCAC, 0); - for (i = 100; i > 0 && - (bus_read_4(sc->sc_mem, HWP_PCAC) & HWP_HXS_PCAC_PSTAT) == 0; i--) { - DELAY(10); - } - if (i == 0) { - device_printf(sc->sc_dev, "Timeout starting HW parser\n"); - return (ENXIO); - } return (0); } diff --git a/sys/dev/dpaa/if_memac.c b/sys/dev/dpaa/if_memac.c index c490cc1dede9..ec216e8b2185 100644 --- a/sys/dev/dpaa/if_memac.c +++ b/sys/dev/dpaa/if_memac.c @@ -89,6 +89,7 @@ #define DEFAULT_PAUSE_QUANTA 0xf000 +#define DPAA_CSUM_TX_OFFLOAD (CSUM_IP | CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6) /** @@ -308,6 +309,7 @@ memac_if_ioctl(if_t ifp, u_long command, caddr_t data) { struct memac_softc *sc; struct ifreq *ifr; + uint32_t changed; int error; sc = if_getsoftc(ifp); @@ -344,6 +346,18 @@ memac_if_ioctl(if_t ifp, u_long command, caddr_t data) } break; + case SIOCSIFCAP: + changed = if_getcapenable(ifp) ^ ifr->ifr_reqcap; + if ((changed & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) != 0) + if_togglecapenable(ifp, + IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6); + if ((changed & (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) != 0) { + if_togglecapenable(ifp, + IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + if_togglehwassist(ifp, DPAA_CSUM_TX_OFFLOAD); + } + break; + case SIOCGIFMEDIA: case SIOCSIFMEDIA: error = ifmedia_ioctl(ifp, ifr, &sc->sc_base.sc_mii->mii_media, @@ -603,8 +617,11 @@ memac_attach(device_t dev) device_get_unit(sc->sc_base.sc_dev)); - if_setcapabilities(ifp, IFCAP_VLAN_MTU); + if_setcapabilities(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM | + IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | + IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); if_setcapenable(ifp, if_getcapabilities(ifp)); + if_sethwassist(ifp, DPAA_CSUM_TX_OFFLOAD); /* Attach PHY(s) */ if (!sc->sc_fixed_link) { From nobody Sun May 3 19:11:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXc49KDz6bvFN for ; Sun, 03 May 2026 19:12: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 4g7vXb6TdSz3pb3 for ; Sun, 03 May 2026 19:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgkZMhN2W2LhkAwXdTkrMopXnyxR+GO2YscoNDPSJcQ=; b=ePcy2k0NDGM003xIKSJnAEWqMuO1d21+tuEB6G732A0gHKuG+1XnyUFfRxJcZ6I5+410Ef yqKEUb7GM00DDzKr4Hzqu4GP4dia5/VrF48SLvEywUqnWQ1rK6t9rF0/BnZf60UMQP1Vrk VMde0d8ibBh36uWFl4jpUOg8EbAAn/Uc/lmZKTesA6XPUu0DfVSaiZFt1oOH/fpnz+Ek4+ nKSceGAiViFsUCC0Q2RFP2Ix3E42UaN/pQmxNIuYxHmPTuMTYsQDJVXgLvNgD8Gfw7ZGr0 ewyRGqGNh+lKs3qWpQJjql2GRFq0JzsqzF7rr3l4gcSAuN641D1zjD5ctyu1Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777835519; a=rsa-sha256; cv=none; b=KtG1DAlW0be9HJ5YWT7zvYIkyuJcwyWjJNT0Wml13JVgiSGOx42xiy9uIpLX4UhPHQ7zBj H71NWT/t09lock5rLA4tWVURtRZx36Tn9ckJsexlLRtdSMHyb7r40QPn6cc+uA7kBkkPOd VWWEL8FvRuphOnQCARLbgHI/hHR2fJNFVtx8tVEXpejFOzC17zDfzH869mlcD109/6nfmF rEq1mDV6QpV2Og4YJFJSjpaMPepU0CKcJDQV4Chikjy0bIMtMsN14CmYtrheG4fqxqTUKu Lcq9sDPOsD1v2fofSLlHf0CUYV5AyF/5llo66xRPIgB9zNvQSKOQFHGDges2Aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777835519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgkZMhN2W2LhkAwXdTkrMopXnyxR+GO2YscoNDPSJcQ=; b=gTRvBUhhJbvj+8gZ9Rl8fTDVBchf0906abkVgoMDJN/9Lucpqsms96Bhrpo0hfjpaSP4in j2rOFb5mDHutyZLXcYgystnNLCTGLCjJOTgCP7aT+FQC/DtYCtweQ8H7xeXoeRVRLhf+Sk LprV7Mtqhmk73cMhdoyk2kStUM5DcVG4U+I0WZkZueKdiQB18gi/pdMBpG9TOpB0r+13Ry NPpsFuJorbMTMCaWtfdbLoIp8Lxe1tpXVnTtB+MQs+FzD8Z+nvEUlgPYYpRDOcpECrWQM+ KLqFufM8RYSdezTmS6Skc3c7ZrSITdyyg+4Tb6jHpwkmuRQ7N8H41vBjNvGxqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7vXb5xBHzlpd for ; Sun, 03 May 2026 19:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c75e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:11:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 9d423705db8b - main - dpaa: Support jumbo frames as multi-buffer frames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d423705db8b4188ed7c02d31b93393f0f8e680e Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:11:59 +0000 Message-Id: <69f79dff.3c75e.55a019b1@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=9d423705db8b4188ed7c02d31b93393f0f8e680e commit 9d423705db8b4188ed7c02d31b93393f0f8e680e Author: Justin Hibbits AuthorDate: 2026-04-29 20:22:56 +0000 Commit: Justin Hibbits CommitDate: 2026-05-03 19:09:30 +0000 dpaa: Support jumbo frames as multi-buffer frames --- sys/dev/dpaa/dpaa_eth.c | 25 ++++++++++++++++++++++--- sys/dev/dpaa/if_memac.c | 3 ++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/sys/dev/dpaa/dpaa_eth.c b/sys/dev/dpaa/dpaa_eth.c index 95e2c57e014e..6424a6e0b0c3 100644 --- a/sys/dev/dpaa/dpaa_eth.c +++ b/sys/dev/dpaa/dpaa_eth.c @@ -360,7 +360,8 @@ dpaa_eth_fq_rx_callback(device_t portal, struct qman_fq *fq, frame_va = DPAA_FD_GET_ADDR(frame); frame_ic = frame_va; /* internal context at head of the frame */ - KASSERT(frame->format == 0, + /* Only simple (single- or multi-) frames are supported. */ + KASSERT(frame->format == 0 || frame->format == 4, ("%s(): Got unsupported frame format 0x%02X!", __func__, frame->format)); @@ -374,8 +375,26 @@ dpaa_eth_fq_rx_callback(device_t portal, struct qman_fq *fq, if (m == NULL) goto err; - m_extadd(m, (char *)frame_va + frame->offset, frame->length, - dpaa_eth_fq_mext_free, frame_va, sc, 0, EXT_NET_DRV); + if (frame->format == 0) { + /* Single-frame format */ + m_extadd(m, (char *)frame_va + frame->offset, frame->length, + dpaa_eth_fq_mext_free, frame_va, sc, 0, EXT_NET_DRV); + } else { + struct dpaa_sgte *sgt = + (struct dpaa_sgte *)(char *)frame_va + frame->offset; + /* Simple multi-frame format */ + for (int i = 0; i < DPAA_NUM_OF_SG_TABLE_ENTRY; i++) { + if (sgt[i].length > 0) + m_extadd(m, PHYS_TO_DMAP(sgt[i].addr), + sgt[i].length, dpaa_eth_fq_mext_free, + PHYS_TO_DMAP(sgt[i].addr), sc, 0, + EXT_NET_DRV); + if (sgt[i].final) + break; + } + /* Free the SGT buffer, it's no longer needed. */ + bman_put_buffer(sc->sc_rx_pool, frame->addr, sc->sc_rx_bpid); + } if (if_getcapenable(sc->sc_ifnet) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) dpaa_eth_update_csum_flags(frame, &frame_ic->prs, m); diff --git a/sys/dev/dpaa/if_memac.c b/sys/dev/dpaa/if_memac.c index ec216e8b2185..dd338b318492 100644 --- a/sys/dev/dpaa/if_memac.c +++ b/sys/dev/dpaa/if_memac.c @@ -617,7 +617,8 @@ memac_attach(device_t dev) device_get_unit(sc->sc_base.sc_dev)); - if_setcapabilities(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM | + if_setcapabilities(ifp, IFCAP_JUMBO_MTU | + IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); if_setcapenable(ifp, if_getcapabilities(ifp)); From nobody Sun May 3 19:31:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7vzm2vp4z6bx9Q for ; Sun, 03 May 2026 19:32:04 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) (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 4g7vzl43YBz3tpQ for ; Sun, 03 May 2026 19:32:03 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-8acae26e564so40915796d6.2 for ; Sun, 03 May 2026 12:32:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777836722; cv=none; d=google.com; s=arc-20240605; b=knfnz3u0jDvURAdC38Loly6oTLquw4roA10vvhMhd8HJX1UoWNC7AEGc23H2RX/8Kx kQkwEGc5qOkqtAuRVxWSomNqsGJ8+nN1VYcYL0p23+zlhAgp/pv+I01xoHSaQ+5L/J44 7HIdYny7LGct8Mi1NpDgQnLeHtdXOvxTFzpe98D/lz22cSzTHCZgV19OpEK4V1L54aKJ l+DZBsTtpR1D6etq/pMqJxMfUoud9vJtrVRcR2t1soNVrpkXreyV589oLoSCKX2Y3IsW CYonpCXr+0Pgc1i+9b14Yo1V63rlpIL5rjajTsO7Ijt3ZFC6BVXW7H+dGKAmApchKjeQ XNPg== 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=KEM6l1hcVDQVqX+aukKW64DKb2oprVq/tvvIlVvRiX8=; fh=vxQmwe3je1yZFWYQ4Z5qDCuA2HfSk1XjoYC5DKpE1x0=; b=ijMShiuNWW5IQWY5wsyTZHUezxYGlPx5woeF72kQu4tR+6GmcRGzBHXSbYHtvsngbo Lq0wzFhxxOpGc7sOp8ibNr1jIxMiMfpPWrQ/r3b+3izqDfBNsX9DBwIyXeVdFenNeBug 6AId8GcT4Fz87HoprY1tP13HUttyPR3C42ajft6y4zQYPFMNzgXMpHHLE1ifQDoMGHZs HFzV4y30cgpOXMXnbcpn7am3ZgG+3Y1K8VFUgiM4k8EaD7Im0SizJAcdgpKXXn497K6J 4UIZde8RyCLeh/b8s7qmvQVgKmuQo2tpsbYBL+MqnsjFWCwbwu2g3QJBpyT/1PNLgwpa rBsg==; 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=1777836722; x=1778441522; 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=KEM6l1hcVDQVqX+aukKW64DKb2oprVq/tvvIlVvRiX8=; b=e4SVAd0EzP/In2eCwo5QF6nXgxkilnLLYwnN2QeNNNByXN6DCfV6fRbWHeplEq5O1n tw13/wmTZoCgdY7DI9rWK7zghCShaty4mRDHPSKbLooY3a9kYAiD3fWR4qQRmFsAgC3a cTbxTcFZtqAXp4iAaSBB5njYqXxBZmDZZJfVk7cNh3g1ZzSLvijE0Mo+L7w8j3TVn/CO gWirxqQM5plcj8ovF1IqPy8egP/tN6ddbpRxo57emP1o3cMT7GVBKGVoGALEaDWw30ip AHGIMEW7EHhPnsZB3zkbYcb5wSDSkidHbTvrgkLNdrvzGackjowK0MDRDCg7Zv33fNxX i2/A== X-Forwarded-Encrypted: i=1; AFNElJ/B88LHl4y5ltWdRlbNYJXh8+9JmO3x3gZEGEa0qj0PLdtqI9a2ODeL6jqJqV41Hb2Ncj+ySX/9VzU7GAFR85SHdIgrIA==@freebsd.org X-Gm-Message-State: AOJu0Yw+XB/Xf/gSAj7iy4xCuuB6D8lAaZ5FppMWnj6U12o/aq0HgA4q RHAfRcHRjMtgQBDqEPRi6Kq9vBm9qMMmSgnFERBGTtFSF3C7XnxHyUV7lIIxtzO1m5oLLh1MU5w zSMw0OcXraonyp7XUiJXaGClBM+T1LHvWDg== X-Gm-Gg: AeBDiesZRHf0E2pUknVMTdLdk9MgUhBt64Sxbi0JLhBePBcg8/KXO96Zgp6MmIXbyAG u9Gow/yZKovcfulqVBO9+ei1U1DoxDXLHAGATqmIUOOieiXB6gHNQS9Iqujruc3kb2m2sPVDmgg 8qGd9GiD3E5xTzVbTaX2PXQQJDqs5mBARLJ5ho4jlGsZZ4joPfJVWshyj+KGicwppnCaqaZsL3j jxwLD932ee8UFWAvcDpBHybizgcOVZHyfmEpH+oG4okp+RFLE5JtOTOcmxNV2Ck874hUlOa8cM7 WAOp3q0AV9T9etnk2T2TgVLhp3XCq6+5dtM7HTuZiZi3lrSlYs00VpZqTm/oHIdfq3r8OKsYWde Azklia+DXJXq5cJEXWffWe9Cb5BTew7YjU8mYK6lwayKEG/g1+itV4TUnDjQTnE9vQzKj X-Received: by 2002:ad4:5ce4:0:b0:8b3:fb6a:d35d with SMTP id 6a1803df08f44-8b6696db9b5mr137706956d6.47.1777836722101; Sun, 03 May 2026 12:32:02 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <69f6b1ec.181e8.27d0b938@gitrepo.freebsd.org> <6C5FEC1A-D8E1-45B8-A80A-B32F81392058@freebsd.org> In-Reply-To: <6C5FEC1A-D8E1-45B8-A80A-B32F81392058@freebsd.org> From: Adrian Chadd Date: Sun, 3 May 2026 12:31:50 -0700 X-Gm-Features: AVHnY4L5lWsj72fWPxZd59ctEUa51Rs4cxCohA6FO3a1TC1luqDawdesJW4QnHY Message-ID: Subject: Re: git: 01674e15dedb - main - bsd.endian.mk: Optimize the handling of big/little endian determination. To: Jessica Clarke Cc: "Stephen J. Kiernan" , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g7vzl43YBz3tpQ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated I just hit this too. can we revert the diff for now until we figure out why it breaks ports building at least? -a On Sun, 3 May 2026 at 11:49, Jessica Clarke wrote: > > On 3 May 2026, at 03:24, Stephen J. Kiernan wrote: > > > > The branch main has been updated by stevek: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D01674e15dedb15f8ce498af0= 680c50bb075c5482 > > > > commit 01674e15dedb15f8ce498af0680c50bb075c5482 > > Author: Stephen J. Kiernan > > AuthorDate: 2024-04-03 23:25:19 +0000 > > Commit: Stephen J. Kiernan > > CommitDate: 2026-05-03 02:21:56 +0000 > > > > bsd.endian.mk: Optimize the handling of big/little endian determinat= ion. > > > > Add variables to contain lists of MACHINE_ARCH values to use > > to determine little or big endian. > > > > Only error out about not being able to determine endianess if > > TARGET_ENDIANNESS is empty and not cross-compiling. > > > > Reviewed by: sjg > > Obtained from: Hewlett Packard Enterprise Development LP > > Differential Revision: https://reviews.freebsd.org/D44629 > > --- > > share/mk/bsd.endian.mk | 39 +++++++++++++++++++++++++++++---------- > > 1 file changed, 29 insertions(+), 10 deletions(-) > > > > diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk > > index 0c5ebb7aeba2..2a617a1d2794 100644 > > --- a/share/mk/bsd.endian.mk > > +++ b/share/mk/bsd.endian.mk > > @@ -1,20 +1,35 @@ > > > > -.if ${MACHINE_CPUARCH} =3D=3D "aarch64" || \ > > - ${MACHINE_CPUARCH} =3D=3D "arm" || \ > > - ${MACHINE_ARCH} =3D=3D "amd64" || \ > > - ${MACHINE_ARCH} =3D=3D "i386" || \ > > - ${MACHINE_ARCH} =3D=3D "powerpc64le" || \ > > - ${MACHINE_CPUARCH} =3D=3D "riscv" > > Losing MACHINE_CPUARCH makes me sad as a downstream that adds new > MACHINE_ARCH for aarch64 and riscv. For riscv at least it=E2=80=99s now r= iscv* > which I guess is close enough, but for aarch64 it=E2=80=99s not wildcarde= d. > Similarly arm though I don=E2=80=99t care about that personally. > > > +MACHINE_ARCH_LIST.little =3D \ > > + aarch64 \ > > + amd64 \ > > + armv7 \ > > + i386 \ > > + powerpc64le \ > > + riscv* > > + > > +MACHINE_ARCH_LIST.big =3D \ > > + powerpc \ > > + powerpc64 > > + > > +.for e in big little > > +N_$e:=3D ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} > > Should we be worried about catching MACHINE(_ARCH) being empty? > > Jessica > > > +.endfor > > + > > +# For the host, we need to look at the host architecture > > +.if ${MACHINE:Nhost*} =3D=3D "" > > +_ENDIAN_ARCH=3D${_HOST_ARCH} > > +.else > > +_ENDIAN_ARCH=3D${MACHINE_ARCH} > > +.endif > > + > > +.if ${_ENDIAN_ARCH:${N_little}} =3D=3D "" > > TARGET_ENDIANNESS=3D 1234 > > CAP_MKDB_ENDIAN=3D -l > > LOCALEDEF_ENDIAN=3D -l > > -.elif ${MACHINE_ARCH} =3D=3D "powerpc" || \ > > - ${MACHINE_ARCH} =3D=3D "powerpc64" > > +.elif ${_ENDIAN_ARCH:${N_big}} =3D=3D "" > > TARGET_ENDIANNESS=3D 4321 > > CAP_MKDB_ENDIAN=3D -b > > LOCALEDEF_ENDIAN=3D -b > > -.elif ${.MAKE.OS} =3D=3D "FreeBSD" > > -.error Don't know the endian of this architecture > > .else > > # > > # During bootstrapping on !FreeBSD OSes, we need to define some value. = Short of > > @@ -33,3 +48,7 @@ TARGET_ENDIANNESS=3D 1234 > > CAP_MKDB_ENDIAN=3D -B # Poisoned value, invalid flags for both cap_mkdb > > LOCALEDEF_ENDIAN=3D -B # and localedef. > > .endif > > + > > +.if empty(TARGET_ENDIANNESS) && ${.MAKE.OS} =3D=3D "FreeBSD" > > +.error Don't know the endianness of this architecture > > +.endif > > > > From nobody Sun May 3 19:40:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7w8y2m7Wz6byKS for ; Sun, 03 May 2026 19:40: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 4g7w8y1XMbz3xLg for ; Sun, 03 May 2026 19:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777837202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pXNVRp9ilNTK0atrrLF75JJzCW+TP07c4ah66SHI+qY=; b=apP8UUrHeknmRk1jDm8DP7uRSXbgJskAOfDF9WKsC6CYcw/3CCqaHPyaQEFPTODHKjkaM3 NSd0jpO9o1t1jQ+IJvpK45avfxIBk8BNieZXMjDj2xivPIOq4Dtr1ugcQ4wnyT9KRbrfuV JswAV9Mf3FJ5rkp3LXufJ5m9i20fWlWt+GOKRjRNEQPuDqfi34zDuekXRpiKUCwiTy7+7V /aJyk3FjsGuBU+8Cw5gfeOZHBBOrRyiX5toKeyTlFuz8gsK+biG5vW9hi2WrmgRIsaCstG ZOxGuOaCeREnEyO/1fXt8vtN/tn/JpYdDo6X9fQ4gLKCaOlIL3c3C1PpC1+UEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777837202; a=rsa-sha256; cv=none; b=kBTD7FSFD9XHwJkwnSb1SK1LC0nqk1upRhKkGACuGtsCIXpvJ+DZITv8h52shfbkW8vT+Q slMBq+JIX4oiUINtBdt0rVgcwBQ7NL5/VkQrOmwlvbtEew/P7P2KvP/nPf8bhBzozxkGvY j6Wfeg0ttOdyHCKgEbtdCMbhICcPU0Tpt+vDdAvUY4ClCKlwdmHBdiwNGLe9KexJmAZ08X bU2xJ/j50JOAGo2GXuU25gNKstwnRGCS2JYs562am5Mv/mh3o0Nze3gS7hGrJ4XHnsdJvS gB/gkvU60FpJo4vyYNp4q2BLUBIMb+AfGrGGZdmYvkhBAU92cVVBdSZczSnYfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777837202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pXNVRp9ilNTK0atrrLF75JJzCW+TP07c4ah66SHI+qY=; b=mKmijmxJucycOPwDf00hJmxx1bUyLA3U3Oy62jfoEgdmhivWk6H6N/qbsrkuvoX/Qvjri4 XgWS4PMP3zyOIY8KuyqGttBeHGtn3WT8okNbdXD8fdVydhr0OfdoNXc9tP6/JPS8n+ni62 lvd58+bN+G3wPYOSOA5pdVcp5kHnIfC7XbOb7kYuVBscLrT9FqBoDK6Qk7yvqrc1VfswGG SbxNpHZpcUO8ZSx/7NZ2wguj1IzKsaSrWcuAhWwreNs9iQtrKOZICe8KyOefYSTRoA1vhm snVL6vYJ6dJ7X3gF21nLLGwBqJEwYJOi484iHpcKcpLGQhu8HERmoxKHmKTVfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7w8y0vS4zn2q for ; Sun, 03 May 2026 19:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e070 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:40:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stephen J. Kiernan Subject: git: b89155be25a7 - main - bsd.endian.mk: Avoid use of M_ListToSkip List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b89155be25a7f501980a165e225b28abd886c1e5 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:40:02 +0000 Message-Id: <69f7a492.3e070.5a9b95eb@gitrepo.freebsd.org> The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=b89155be25a7f501980a165e225b28abd886c1e5 commit b89155be25a7f501980a165e225b28abd886c1e5 Author: Stephen J. Kiernan AuthorDate: 2026-05-03 19:35:22 +0000 Commit: Stephen J. Kiernan CommitDate: 2026-05-03 19:39:50 +0000 bsd.endian.mk: Avoid use of M_ListToSkip While the src build works fine with M_ListToSkip, it can break the ports build. For now, it is safer just to do the actual variable modifiers in place. Reported by: se Fixes: 01674e15dedb ("bsd.endian.mk: Optimize the handling...") --- share/mk/bsd.endian.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk index 2a617a1d2794..b990172c7792 100644 --- a/share/mk/bsd.endian.mk +++ b/share/mk/bsd.endian.mk @@ -12,7 +12,7 @@ MACHINE_ARCH_LIST.big = \ powerpc64 .for e in big little -N_$e:= ${MACHINE_ARCH_LIST.$e:${M_ListToSkip}} +N_$e:= ${MACHINE_ARCH_LIST.$e:@m@N$m@:ts:} .endfor # For the host, we need to look at the host architecture From nobody Sun May 3 19:59:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZv10WBz6c0xZ for ; Sun, 03 May 2026 19:59: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 4g7wZv0T6Jz422V for ; Sun, 03 May 2026 19:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KxqC7ry/34V5O7rxAXo3/1pcZiw6o0gGUjzrW0CYBik=; b=pFhtW5OCOdHhRHtim/cPSx4HbBLMhb5at54DfeSakFojtJRvUWeW4lsamWpiJCqADY3/qS SxYSgA0lw66aHrhuNyLaqB7UVus//4lGq3kI/Xy1hYtmPFMD16m2POGvjacXE+hemssBPE ICrJcrEfZaMLKPajAEksqdt9odcam2fq3/uC8t0Wznt/vUc8NvWqtDaDr3fmNpzCLh1z7e MA97YpqVesj8OHfYTh+B5hAzg9jt3IFAYQdX3r3HwtN/a379Aw9cHpLCt3LTkpQJTj4Bc1 ClxqMBBFWmtqBT0ARIhhnhVImmQzcTOsT/O7GbiqA5xMd/X4188KWN6gmzI0gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838343; a=rsa-sha256; cv=none; b=A6udu9/TIPK77ju41eVPwB6lG4lH65TwCq6hnCRFM18UqxOHT6d2oZM6FtnP8J94ga48Z0 VazA1/GAxCMqFy0d434Ei/SFDBXNLgUsP4Ysqwg7IK1Ir5az2NoNqsobEnamc927PswQwt MwW7UlEfLh1Ler7jCVeeUJkOieQT4eNgfKvAQ4W1kYPn0Ar2uPJrK8oKz45Z82OHLocEOC B69K5KzVBC8a0bAqNiyrHIcxwXxq7xCGn/dY4OKOKpidc8CNrAqQbPREapL+gUfoXOuueV YQ9T/aqR4TJyQeAwc5Vo9uAhIbxF5Gviw+wA/zIPsRy50y08vza93siekd2IKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KxqC7ry/34V5O7rxAXo3/1pcZiw6o0gGUjzrW0CYBik=; b=dr4BeH40LO32FkzL4xVbePW+m+Hyv8tKHdfLQFJFGGRQGYKaus4jRRU8B6ZwHreNswDsSj xxhqh0iENr7fanzEa/KxaBqBDxIhKZzZj9KhhUsZbnGeWQVrrs+lEwtI8jDeZ83rgqMD/e QH/BH5phefXiXme4mH7Ac66XocP5T/aBHyRiXC7+rb912qkKcWqN1YhSvBXXW8G1mDMMkA 4Kqalq4jX1JkURE4Z5pj+QfapC3LQyFDdvdtjyYyCBYyLuUzwnt2F6HZAvgSaYBPiWEE38 8Go0eDiZtqa0/Yhb9c29kHmYRp+bQV8mQzcW6p3UgtOvL4J4Hek6MRsHHHECsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZt6sRxzn8f for ; Sun, 03 May 2026 19:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 406c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: fbecfc4aa028 - main - fdescfs: do not change vnode type on VOP_GETATTR() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fbecfc4aa028964f972a0457809aa041d415f61b Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:02 +0000 Message-Id: <69f7a906.406c0.5bb26524@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fbecfc4aa028964f972a0457809aa041d415f61b commit fbecfc4aa028964f972a0457809aa041d415f61b Author: Konstantin Belousov AuthorDate: 2026-05-03 19:09:15 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:36 +0000 fdescfs: do not change vnode type on VOP_GETATTR() There is no point to do it. The VNON type is good enough for fdescfs operations, and changing the type on stat(2) is arbitrary and does not serve much purpose, because we recalculate the returned file type on each stat(2) anyway. But setting the type to VLNK has undesired consequence of namei() trying VOP_READLINK() there, which might fail since it defer the calculation of path to vn_fullpath(). Submitted by: Mike PR: 294768 MFC after: 2 weeks --- sys/fs/fdescfs/fdesc_vnops.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c index c1188c3819e7..267e80918d1b 100644 --- a/sys/fs/fdescfs/fdesc_vnops.c +++ b/sys/fs/fdescfs/fdesc_vnops.c @@ -469,7 +469,6 @@ fdesc_getattr(struct vop_getattr_args *ap) break; } - vp->v_type = vap->va_type; return (0); } From nobody Sun May 3 19:59:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZw3FSfz6c136 for ; Sun, 03 May 2026 19:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wZw0zQCz42FK for ; Sun, 03 May 2026 19:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXq9EDq0SW8KqFiDBEoxnmgr6KePPxMugOMS9MoatqM=; b=IT1yj87eoyi3XuNyb7bWVZZCmqm0fJb9e+UxdnvpK7jF5gb2Owdo9dkN4PGTmbBqfPc0Ta DkWgcke88JDayPCmjC7kAkXVu1pkUL+yrWgpR71aHVnyJUq4DgVWFs+75zHtr8ulEDjQip 16nb4lsH4cjuGz1PtGAIVmfA8B7FinwfCgfga0qY/ciXDWrvwPsNxiz0aUGuEnM7lcDYgV z5xkM+vO3BB/thAbPiijo4Tnhl3RpZ/uqy3oMpljMt052HsFQyqtQ8kggnIvUe0rlVbk/i AFh4GjjwIpd/UUtsxLs5J1Qqe4tJKvYTWThz26/k5HzrULXwLZjVJCQeeA5NUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838344; a=rsa-sha256; cv=none; b=SOvAQDOosdJiHqugZT0pOCpLOrcDHEJpM78H0aMEALmEyzvALx2ffBdK7l4QBbU21J9DcR 1S8aBwNRZ5VAMcVWO75r/q3l3hOTavqcuTubr71MVi6AxP839GHrLut/vqaWG5TgGjMhWq 9gkiSf6CjG8roJZGJlJ1k1rCRXYFgvIWFN11QFxLsjUtsEvjSqcMcAj4E6lx5042Hr9/g+ b893LNevEDVY4kozf/KUwJz7LPYI0a7m6xhdHqO/1PG5NM5AxobbXYvwMElE45kzCisPRP 5kgiSBo0W6mlXLmZNGgRR1tS+b5m1Y3pfFiykEcS8VAA4mZI9+XPHtJZxkWpWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXq9EDq0SW8KqFiDBEoxnmgr6KePPxMugOMS9MoatqM=; b=pq29w/RkxoKvKsc0oHRZtHWUU3s5sg7cUy4GJeRZh0GTs13bbPZWuLrUzu43fPbzk1ApeN LmTFmrdt+cvSpsdyTVVUdbGtm1fiBwp1UlWs6v7nzzuNuV+VZBq0B/A0Rm/CFAdU+OHMSJ vjbNSh3stuq2j90VPuZgnZ8XwUiYLUG7OpT92iWnacPFYbkPdGa87gDkDe+43nzc+8HIDx XnD9+TELWAFKdcoEwPYCaxZIoJMPaIJLKs0OJBEUwaTIyL/tw8Kb+dop28rGCopq80deq3 URKCKMTUEQu2TxCzhwadkwDY6ohraVTbnKmHhQdcowMjUZSQYWdio78UjdhKMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZv74WPzn8g for ; Sun, 03 May 2026 19:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d8c9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2213820b6f4c - main - Add O_SYMLINK emulation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2213820b6f4cd22bbfdc0f45741c3e7d17ae82c0 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:03 +0000 Message-Id: <69f7a907.3d8c9.3214c104@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2213820b6f4cd22bbfdc0f45741c3e7d17ae82c0 commit 2213820b6f4cd22bbfdc0f45741c3e7d17ae82c0 Author: Konstantin Belousov AuthorDate: 2026-04-20 20:02:13 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:36 +0000 Add O_SYMLINK emulation for MacOSX partial compatibility, defined as O_PATH | O_NOFOLLOW. fstat(2) and freadlink(3) works on the resulting file descriptors, but reads on the regular file do not. More complete but more hackish version was developed but deemed too hackish. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56365 --- sys/sys/fcntl.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/sys/fcntl.h b/sys/sys/fcntl.h index 0b13241f0ee3..80cbca4ea753 100644 --- a/sys/sys/fcntl.h +++ b/sys/sys/fcntl.h @@ -142,6 +142,13 @@ typedef __pid_t pid_t; #define O_EMPTY_PATH 0x02000000 #define O_NAMEDATTR 0x04000000 /* NFSv4 named attributes */ #define O_XATTR O_NAMEDATTR /* Solaris compatibility */ + +/* + * Emulate MacOSX compatibility flag without consuming a flags bit. + * It is not fully correct since reads over regular files opened with + * this definition fail. + */ +#define O_SYMLINK (O_PATH | O_NOFOLLOW) #endif #if __POSIX_VISIBLE >= 202405 From nobody Sun May 3 19:59:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZx4C26z6c113 for ; Sun, 03 May 2026 19:59: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 4g7wZx1tn9z42L9 for ; Sun, 03 May 2026 19:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FqOvJNbXifPIF+bC/PUVsHHcy2CfYN8cjCVM5d16FI4=; b=KIv5up//xwglsjWV8M4TPpQ5Jy/IsQma/EnO4OWaBZ5ye/dl+rG0IJzDVVxg4VJER2s6aw cbFjX7RBC2HPb5sFSgMhr1qjF8szTTzIb90hldFT9EImEKiR4a4BFMgSe/Wkk+Rc7/IfE9 UA0w/dBxvkSVJY0Qa0mzXISa6Qdlp6T/UmdQQeRxinTFF2XakHTKCAUZJ6I6eJASc1IxQC Q64XnC5ke3DXd57d0jr8Uf3c2deXyWvWEjcURa6uKUGdBEuBhy30ywyHJ8+lKY7tjnAkdx lEiB4euvyAF7AM+zJPtP1Ycj6Iku1DBrCcHWxnRzWuB9vCGf888oiyWCMDTqrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838345; a=rsa-sha256; cv=none; b=GLXE7pwcK1dl4piyF/rs+93R7ahAIHIUTl4wzr0Z1mENdzpdseHIS0Wq/b9RFBHksEtjS9 N2v63LG9NfhsgMRiRJFVLXmP6WuxwdMcdPh49YlDhKPky8sCWmZ1SMK9IHdemggvwVmr/f 4laZhrvZjxNBqzfoEdewnDVVuDBaZ3OFzd2uRnxciyz3KgBDnYp21pfyQlv+8NIOfviKaO PBT1dCF7BbdL47K/dO0uF0+2bK7cR+HqanRds2OGYrNChsBsTVYKpnL5nr7F9KInvo/hIJ i6q+aHNTO8T96zWebXKdDdiXc9z0ua6Qkn60QsIg3cbNtn3jy717fAYE7brYig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FqOvJNbXifPIF+bC/PUVsHHcy2CfYN8cjCVM5d16FI4=; b=NM/Zxn3MPQlwxkLuXz0ePtwQEV9o3IoAX0ilssIrMZJQixDB+QoqsaHnCvzW2VyExdT6ex i8YJJI6Y6bKwzUYI6motBCxifAkiZuZwBJwQgfGhwla4uwvm/CkyJHf1C64o53zCP2H9L1 9Y/KNIC9wHqGDxX7Ug/r8gKAO/gidBvCkNE+SZXOqp8cE62DMRsykzjt9sG8n+Djn+1x1l 5kfKuX++V8DzwETHMyNr/sHzJSXXl5zAwFG2ys/lu6KO/U9pyckFfFPMpu1nfCHa6MzO6U RWZTg9sSNcE7JUQE/pYlNeIfHyc5e5dmOwW95+pDVQeiiyRRTQzXdUQhBTOIgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZx0hP0znJy for ; Sun, 03 May 2026 19:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4061a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ae6a13deb8e3 - main - libc: add freadlink(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae6a13deb8e33a52188643e09171207e1d7171e8 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:05 +0000 Message-Id: <69f7a909.4061a.41661e22@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ae6a13deb8e33a52188643e09171207e1d7171e8 commit ae6a13deb8e33a52188643e09171207e1d7171e8 Author: Konstantin Belousov AuthorDate: 2026-04-12 08:56:26 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:36 +0000 libc: add freadlink(3) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56365 --- include/unistd.h | 1 + lib/libc/gen/Makefile.inc | 1 + lib/libc/gen/Symbol.map | 1 + lib/libc/gen/freadlink.c | 16 ++++++++++++++++ 4 files changed, 19 insertions(+) diff --git a/include/unistd.h b/include/unistd.h index 797eac4c364d..290bcce6a0b3 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -518,6 +518,7 @@ int execvpe(const char *, char * const *, char * const *); int feature_present(const char *); int fchroot(int); char *fflagstostr(u_long); +ssize_t freadlink(int fd, char *buf, size_t bufsize); int getdomainname(char *, int); int getentropy(void *, size_t); int getgrouplist(const char *, gid_t, gid_t *, int *); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index c31f789fd1d1..18a68902f50a 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -56,6 +56,7 @@ SRCS+= \ fmtmsg.c \ fnmatch.c \ fpclassify.c \ + freadlink.c \ frexp.c \ fstab.c \ ftok.c \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 60f34b3a1923..4d22251f7ec5 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -475,6 +475,7 @@ FBSD_1.8 { }; FBSD_1.9 { + freadlink; posix_spawn_file_actions_addchdir; posix_spawn_file_actions_addfchdir; posix_spawnattr_getexecfd_np; diff --git a/lib/libc/gen/freadlink.c b/lib/libc/gen/freadlink.c new file mode 100644 index 000000000000..e1ed7aba6c06 --- /dev/null +++ b/lib/libc/gen/freadlink.c @@ -0,0 +1,16 @@ +/*- + * 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 + +ssize_t +freadlink(int fd, char *buf, size_t bufsize) +{ + return (readlinkat(fd, "", buf, bufsize)); +} From nobody Sun May 3 19:59:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZy3fWBz6c11C for ; Sun, 03 May 2026 19:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wZy1lmPz42Hj for ; Sun, 03 May 2026 19:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e9q1k44nN44BXxTg/fq4bmmhip6jOc7LTyrlw//Chpo=; b=BRNiGT3vCXrtnQpt3G/ET/nb/TonOKtjTMcDekwBKSGp1KOeuwHJe/QbBre+0baALVO6Jy Pf19U+lZKCDc/i6Ii8duwA8iQOT8YLDfx6dZGniLL3/Ewxx0pj10vMx80UMkHEGxiw1/fF gYJa9ye6b4GRPs+syZtlJ47GRtmp5VOMPjt+jg9F+bZ78JpXayudY7HjXBX48VU6DtPt4P 0WihiFaTsKSlSemKfTwaWC9dOGjtg45tXLkFgZn1/YgcgRHgK0ZgL6QfAWM5Yu0hOa/05t ZuSbIbHSu4miGEGIJlPad2ydIFUinOC/KWne79yW6X19iDI+Mc8aiJFDkALeoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838346; a=rsa-sha256; cv=none; b=bNnn6DusmS5eECCPJfAdIgkrfJOztyUedfIjv2Wu0kok3ibVZeV0Um/akb+o+mZB0qli/n mqRwmdFiYnm6EPH09w4YkKGyB8XqvlqYSFsozDEQSMXXKRsucLJlFO2nWY6o+CzjRYfueF qnYnVGoXXH0e9Pl4pao/muEIvDKbozz8jUeHjUcg2oNc0XJif0AFx1t3JTd9onRf16+Fre GXDqvWd/JAX+iJCZQ1Rm+1nLmXn4pYIf/1GDb8ewVaCcRib7c7wz4/TvYmpVgN5oSKRBw0 myZxrDhCAInbR/MYXDioaTCzcHvogpazZA1OLxQXCXBwrjfr6RdGacWSBzkHKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e9q1k44nN44BXxTg/fq4bmmhip6jOc7LTyrlw//Chpo=; b=rue0DK/iG/ivrH0L8n5OuN2W5XsiCjNI8l7Qc0SjA80yYJDHNfKGNxSsGkLhoKVnb6rPHD bfUNSQf3nKzS6wzaEuFlfdvqbnzlmw7yBuX9jOfL6SQ4VKQmMlX6DOzoxiW7mlwP1DZJxp kDiimkNSyQnTQzS+FNKj3ITjHP5pEKGg0MkTeBnU1Cu54DeqJrcUVurrqPFQOfi8ABeZFk oKOmjyfzYRDNRnc+3j3MW3EHXJzSdWG7GU3MAAn/QI4Jgiv52O5LzS/YHyx6srkHHeiW0k jSsJW8+m8LvEOFHrdNDoB7F3RDDH4KNzZadkbxLsBW86/B4mAaQa1aLHu6uXnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZy1HY3zng5 for ; Sun, 03 May 2026 19:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40cde by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f9458655e78f - main - Add O_SYMLINK emulation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9458655e78f6532e962a13d28d6a6086b4156de Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:06 +0000 Message-Id: <69f7a90a.40cde.3f32aeed@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f9458655e78f6532e962a13d28d6a6086b4156de commit f9458655e78f6532e962a13d28d6a6086b4156de Author: Konstantin Belousov AuthorDate: 2026-04-12 08:48:32 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:36 +0000 Add O_SYMLINK emulation for MacOSX partial compatibility, defined as O_PATH | O_SYNC | O_DIRECT. libc openat() wrapper is modified to fstat() the descriptor and re-open in the normal mode if the type is not symlink. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56365 --- lib/libc/include/libc_private.h | 3 +++ lib/libc/sys/Symbol.map | 4 ++++ lib/libc/sys/open.c | 4 +++- lib/libc/sys/openat.c | 44 +++++++++++++++++++++++++++++++++++++++- lib/libthr/thread/thr_syscalls.c | 5 ++++- sys/sys/fcntl.h | 6 +++--- 6 files changed, 60 insertions(+), 6 deletions(-) diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 299629fce2ad..ef490e1a66ef 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -384,4 +384,7 @@ struct uexterror; int __uexterr_format(const struct uexterror *ue, char *buf, size_t bufsz); int __libc_uexterr_gettext(char *buf, size_t bufsz); +int __impl_openat(int fd, const char *path, int flags, ...); +int __openat_symlink(int fd, const char *path, int flags, int interposed); + #endif /* _LIBC_PRIVATE_H_ */ diff --git a/lib/libc/sys/Symbol.map b/lib/libc/sys/Symbol.map index 8acffcfd714e..1bae1fb78538 100644 --- a/lib/libc/sys/Symbol.map +++ b/lib/libc/sys/Symbol.map @@ -75,3 +75,7 @@ FBSD_1.7 { FBSD_1.9 { pdwait; }; + +FBSDprivate_1.0 { + __openat_symlink; +}; diff --git a/lib/libc/sys/open.c b/lib/libc/sys/open.c index dd7bedebf141..d58a81f60b18 100644 --- a/lib/libc/sys/open.c +++ b/lib/libc/sys/open.c @@ -29,9 +29,11 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "namespace.h" #include #include #include +#include "un-namespace.h" #include "libc_private.h" #pragma weak open @@ -48,5 +50,5 @@ open(const char *path, int flags, ...) } else { mode = 0; } - return (INTERPOS_SYS(openat, AT_FDCWD, path, flags, mode)); + return (__impl_openat(AT_FDCWD, path, flags, mode)); } diff --git a/lib/libc/sys/openat.c b/lib/libc/sys/openat.c index ba937cae3a3e..f4223be8aad7 100644 --- a/lib/libc/sys/openat.c +++ b/lib/libc/sys/openat.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 The FreeBSD Foundation. + * Copyright 2014, 2026 The FreeBSD Foundation. * * Portions of this software were developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. @@ -29,11 +29,46 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "namespace.h" #include #include +#include +#include #include +#include +#include "un-namespace.h" #include "libc_private.h" +static int +do_openat(int fd, const char *path, int flags, int interposed) +{ + if (interposed) + return (__sys_openat(fd, path, flags | O_PATH, 0)); + return (INTERPOS_SYS(openat, fd, path, flags | O_PATH, 0)); +} + +int +__openat_symlink(int fd, const char *path, int flags, int interposed) +{ + struct stat st; + int rfd, xfd, saved_errno; + + flags &= ~O_SYMLINK; + rfd = do_openat(fd, path, flags | O_PATH | O_NOFOLLOW, interposed); + if (rfd != -1 && _fstat(rfd, &st) != -1 && !S_ISLNK(st.st_mode)) { + xfd = do_openat(rfd, "", flags | O_EMPTY_PATH, interposed); + saved_errno = errno; + /* dup to rfd to guarantee lowest fd number value */ + if (_dup2(xfd, rfd) == -1) { + _close(rfd); + rfd = -1; + } + _close(xfd); + errno = saved_errno; + } + return (rfd); +} + __sym_compat(openat, __impl_openat, FBSD_1.1); __weak_reference(openat, __impl_openat); __sym_default(openat, openat, FBSD_1.2); @@ -45,12 +80,19 @@ openat(int fd, const char *path, int flags, ...) va_list ap; int mode; + if (__predict_false((flags & (O_SYMLINK | O_CREAT)) == + (O_SYMLINK | O_CREAT))) { + errno = EINVAL; + return (-1); + } if ((flags & O_CREAT) != 0) { va_start(ap, flags); mode = va_arg(ap, int); va_end(ap); } else { mode = 0; + if (__predict_false((flags & O_SYMLINK) == O_SYMLINK)) + return (__openat_symlink(fd, path, flags, 0)); } return (INTERPOS_SYS(openat, fd, path, flags, mode)); } diff --git a/lib/libthr/thread/thr_syscalls.c b/lib/libthr/thread/thr_syscalls.c index bff2d0624aee..8168185188ea 100644 --- a/lib/libthr/thread/thr_syscalls.c +++ b/lib/libthr/thread/thr_syscalls.c @@ -298,7 +298,10 @@ __thr_openat(int fd, const char *path, int flags, int mode) curthread = _get_curthread(); _thr_cancel_enter(curthread); - ret = __sys_openat(fd, path, flags, mode); + if (__predict_false((flags & O_SYMLINK) == O_SYMLINK)) + ret = __openat_symlink(fd, path, flags, 1); + else + ret = __sys_openat(fd, path, flags, mode); _thr_cancel_leave(curthread, ret == -1); return (ret); diff --git a/sys/sys/fcntl.h b/sys/sys/fcntl.h index 80cbca4ea753..bf64d06f2a4d 100644 --- a/sys/sys/fcntl.h +++ b/sys/sys/fcntl.h @@ -145,10 +145,10 @@ typedef __pid_t pid_t; /* * Emulate MacOSX compatibility flag without consuming a flags bit. - * It is not fully correct since reads over regular files opened with - * this definition fail. + * Selected bits set does not define a useful open request and is + * unlikely to be specified by reasonable code. */ -#define O_SYMLINK (O_PATH | O_NOFOLLOW) +#define O_SYMLINK (O_PATH | O_DSYNC | O_DIRECT) #endif #if __POSIX_VISIBLE >= 202405 From nobody Sun May 3 19:59:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZz4GKXz6c0n1 for ; Sun, 03 May 2026 19:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wZz2cMlz42Hw for ; Sun, 03 May 2026 19:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6c2YidkGrythWFwx305eC5V2klgL2qTgsEdx/Kt9T/8=; b=Bh+a2rHo7rTU41P55LgSqHO+3uqa+icjVqNqu9wuJIK79FvRU6uLS3Q3hModOLw82uhAed YpC1VCwQYHZ73o0AO0HGn+9OtwgkecGndo2pxBG3yRQUGqFUSOEoGFmuOtTZz3vx4jFv0C LP9x7JK1yHBqCuDZgPYqbwFfYYxxIxPt9iiiTiU/N+nofR+lYKaYkgPJqxQSSJyWUI9PLM +ojE+xZVl8ALoGys1G9gXVQishtd0+U12WS6ZyaH3akOPr07k8tdUCOUsLAHVjEiqC8pkV SYBWAS2BfGTY9PXfPYhuvS75YTfJeErK0yuj3cidwKGpGqWIyZMHnxpb3u3NJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838347; a=rsa-sha256; cv=none; b=FRXkGl9YcoH1pWfbCoCbUNd5L8koCcVcSkZii1MKKc8YSvpY3twDPhmoPj5DvqpYupozjb /DMBC5ecCEOGAVIyECvocyFvl/zU8sVwtv56v5zgl65F7IaRKz724vDDBLWrfbxUolPgde eGanM/GYOqRXRJB+2vKi/d7v47Ek/n8zyAJwPvfsZx8jBAz2TUNSA41aC73y6O0OGUT/QV STUVkkI+KbnLZuAi7Qk9bePQXCql4WNG5OEtnaZ1r1kv3wFagpP0F4/hATnN9y6trZUvrm fRWr0+QKpmV1MAuRLHIu+kBwFwDU1QNIqUaAKy+GWco/Cj/pZ53fUu84UEUxdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6c2YidkGrythWFwx305eC5V2klgL2qTgsEdx/Kt9T/8=; b=IoTXHl/KMnCpzMV5XqzgfGboiYr3ASpS7NvCheU6qKSPNs0UwAjWHx9Fk+FFikfPh7Gnfq uSvYL2DKOLmCmsi/zdsFVIWmpM+YIYc8M7s1g+UzxYw1TOhAgPzUeJKkVi60UYkA8wM/PT N7FG7ERQtH9gPNOa63tSwG5cJL1VYBnvolLJS7lhcDP6qTuRPucgYiC+pTQuE37+oP+yi3 Rxj7iLxRah6uSYZ+tBfDcWb+jeYl1kA6DKmvU+okJoWDmHTEOXBAWxZwc4Uy5/6xfqz+8l sMcUErfJ6dIZpcgKqoBoiRQThlGrtMugA2wlW1UPyuB1GpOEu20WJIQeGBY7hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wZz1xfvznKs for ; Sun, 03 May 2026 19:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40713 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 067cfac2e7bd - main - bufspace_wait(): only try to help bufdaemon if there is a chance to help List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 067cfac2e7bd9dc857fb6cc504c01b0249bcd1b7 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:07 +0000 Message-Id: <69f7a90b.40713.1ec9d773@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=067cfac2e7bd9dc857fb6cc504c01b0249bcd1b7 commit 067cfac2e7bd9dc857fb6cc504c01b0249bcd1b7 Author: Konstantin Belousov AuthorDate: 2026-04-22 05:09:34 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 bufspace_wait(): only try to help bufdaemon if there is a chance to help Only call buf_flush() if there are some dirty buffers belonging to the vnode we are allocating the buffer for. Otherwise the bd dirty queue scan cannot find anything and it makes no sense to spend CPU doing it. --- sys/kern/vfs_bio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 8f47a7abbc5e..675f6fb4e526 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -727,7 +727,8 @@ bufspace_wait(struct bufdomain *bd, struct vnode *vp, int gbflags, BD_LOCK(bd); while (bd->bd_wanted) { if (vp != NULL && vp->v_type != VCHR && - (td->td_pflags & TDP_BUFNEED) == 0) { + (td->td_pflags & TDP_BUFNEED) == 0 && + vp->v_bufobj.bo_dirty.bv_cnt > 0) { BD_UNLOCK(bd); /* * getblk() is called with a vnode locked, and From nobody Sun May 3 19:59:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb05KJkz6c0vv for ; Sun, 03 May 2026 19:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wb033Hyz426y for ; Sun, 03 May 2026 19:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=go/XiFKxG5UyvPhD2YWjMfrC0W6cdt977VqQs8H3OGk=; b=fCiTvOG/oMojr6j47Mrwz+89G3uZUUiEVfinhcbs7HYXIapia8UTHXsWda1yPJzrUTvFBu mEZ4RkxjFWFuJ+wLhFP617Pdwy4zCajybJth9dMQfklR4hbajb66Z3/U0+46UoIYmW8JQn KEMP2Xvm3iOn3fvVNvkXlxPr7Kni3GmkvDSMDU12t0IazscInHGCbs3+O8Y5hnJDyGGwTX 3F8IOrn/k/11svr3AGWiy8QCzz1En5XoSjeZJL/aPnPmUVDQB5tyELLoO4cJDCVL8ACjtd MWo8KXCmVmyYbmXmCizkYFY4xwqPN5WYiyAzkPEh+wX+efkyO8mOlNTYDsLhQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838348; a=rsa-sha256; cv=none; b=PyvqVZ02/GAJmbnbNpFTzVrtUSjEmF7V2sDgcHXiDogcrF3GcdlBrjmFCBttrNF4hBo0XK wOHXqidVkzp6xURs5QWfdpj9JwpYxQb9Oqaii8FRhDi8DVrCmCQb3+NsHdCSrA9OfNoCZZ zO4bEqkE+/mg8yz2dVtyJ7fkpYdaUpWQnQjJOiBUU7JLS28RsyGPsEXD4VIMX+ViY5VQye jZZxV27TiVXGhOaPdwb7+hzUnS6PHDSmn5FedXumMb+o0OqPZIm0V711nZc57WcdVLUP4e /HSYcLNwEm3LfXluc/B8n1gCdA/3lDcMgcXVSauirPv0TVvXjbzNIjgHG99P8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=go/XiFKxG5UyvPhD2YWjMfrC0W6cdt977VqQs8H3OGk=; b=fohKY3Ht3DtNk+FOKwLpXKgeO/mN6ghFmuVS4b4/F9BKBepiCQDZkmCTr00A21mTbUP4W5 Qi6k9j0Yb9KNWRNnXpQIIgpgVeBVA+/qVihL0QUPBwLa61X/RumtY1m3VUHhK1w3+svaBT 5x+xgq7mLirPs2/svWEaCE/opAd6ruWpd6+huZDE5AbuvFSWQe8NPB2J5bXW4r6Nk6vY6a fDolKSPFt36Z0XLo2mv9LGtsDKW589tM8gqdj16So+VGEgGMTMQA5pMs4IImd1Fl3k4Hgl vJF2sJ0zJ6OZDwFxjTOcV8iK9jHdybWFQMlV3HFFJUw95DlBPp3BjBouhdDEFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb02XP0znK2 for ; Sun, 03 May 2026 19:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4078a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a770638ecf16 - main - sys/rangelock.h: explicitly enumerate padding at the end of the structure List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a770638ecf16515d8922111c3fdd417aba6c045e Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:08 +0000 Message-Id: <69f7a90c.4078a.1d3a3156@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a770638ecf16515d8922111c3fdd417aba6c045e commit a770638ecf16515d8922111c3fdd417aba6c045e Author: Konstantin Belousov AuthorDate: 2026-04-26 02:22:52 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 sys/rangelock.h: explicitly enumerate padding at the end of the structure Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: --- sys/sys/rangelock.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/sys/rangelock.h b/sys/sys/rangelock.h index 32ccf3427b49..3169c251a495 100644 --- a/sys/sys/rangelock.h +++ b/sys/sys/rangelock.h @@ -50,6 +50,9 @@ struct rl_q_entry; struct rangelock { uintptr_t head; bool sleepers; + uint8_t resv0; + uint16_t resv1; + uint32_t resv2; }; #ifdef _KERNEL From nobody Sun May 3 19:59:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb16Hl6z6c11H for ; Sun, 03 May 2026 19:59: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 4g7wb13Ygkz42TT for ; Sun, 03 May 2026 19: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=1777838349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZjzKulIQDYuCx7e5V42/+S+d5q6mVTCXax9SlUOOlg=; b=pthErWKkx2hSvaU3SGM1MYZ2Lrfykb2FOLs/vsCjPWimiUxiC/amaRVAXVWhZB2FQs6O9A jyG2Rs1yUsnBSZxrYH9wDiDqaV+LGaYAOwobDgL0JmwGOt+egxiseD219Db2V1X85GUyvO XxQbq2JFe57DmUq8QYuUs+3f/1udqkmeNr9vIfQSSPyDnEFGiXKyKkaj5ULnGwz5Shi9F5 WCnukTgrlzmcl0m143NF1IEMMYtfGA81725NJCYl/hvDOYosuY5yQxCF6wfZIKKqsbCq8d XNFPfy7mZ46BiKSVUB0OW1nCGrZXYumcTrV6mqb4ElMhhKJBIQi78OG+OZ4p+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838349; a=rsa-sha256; cv=none; b=DFrLld/6FHu+rIRUUfd0X92GYWv+6m6fpITK12gzGBCoFjWfJGWemjioeHalobztstP5ff +/OTuiRiBI4z5TsBWNGuW2VpclLuNnzNkqBPxr5Y4SYvF3oAy0PUan8OKOs7D6G44CKltI 9XE+tw7tDYBC6nXHfo/YBTIWaKFhTihcGp5tGM4rxWmBFWN99cLyFpP8w37d4bfXHlv28b sPr/u5/oGYY86J69IsW+OMJO86xk5qXQwLP5+4t3oRlEPkWo/GWMFQNi6AUhzkvMSG+OUK +MCatNE+1GACSJCSrg3mLiPF+UndICUHviChK6SWzf0HXh1OUvV0dghOFJ6kzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZjzKulIQDYuCx7e5V42/+S+d5q6mVTCXax9SlUOOlg=; b=jHiRDpR0R5Czubebe8zzmgfBbQxwxHdozTFrXKi/GLRk0VGyIccw1R84oPhBC0bT+CLxJg l4r5IAYldGJxYcMOvLa1n7izZoCu50r76ySstdev7wdxaWdCvuIkz2nk58g7P2Ph3IUmm9 Pv9dyqobgZnxN6Ljd2oWtz25gKWJQNVNS4xoePFhXNSxaRfigJgJ+16RGtzWmPexkOclfq tSd+Mu1E3JNfEc11nYNP0a9L5IUkovTfqJZCqx0Ql8x60GhVT5DzsBhSGdDVEGRXI62KMm LC+/Aq5dPzMucjXGh/q2Um1Fe3zJwjMQ28UGswc/ixOkB+n8lLjfxMAPZ5Kv9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb131NWzn3w for ; Sun, 03 May 2026 19:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e5f9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d990e8f0e947 - main - struct vnode: assign v_rl.resv1 as v_vrflag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d990e8f0e9478194569ba28c366b0c0c0f414e7b Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:09 +0000 Message-Id: <69f7a90d.3e5f9.3e50ef51@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d990e8f0e9478194569ba28c366b0c0c0f414e7b commit d990e8f0e9478194569ba28c366b0c0c0f414e7b Author: Konstantin Belousov AuthorDate: 2026-04-26 02:31:50 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 struct vnode: assign v_rl.resv1 as v_vrflag Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: --- sys/sys/rangelock.h | 3 +++ sys/sys/vnode.h | 1 + 2 files changed, 4 insertions(+) diff --git a/sys/sys/rangelock.h b/sys/sys/rangelock.h index 3169c251a495..00fe7eee851e 100644 --- a/sys/sys/rangelock.h +++ b/sys/sys/rangelock.h @@ -46,6 +46,9 @@ struct rl_q_entry; * all existing lock owners are compatible with the request. Two lock * owners are compatible if their ranges do not overlap, or both * owners are for read. + * + * The resvX fields can be used by consumers. For instance, struct + * vnode uses resv1 as v_vrflag. */ struct rangelock { uintptr_t head; diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 3fd2c770cda1..7dde71834143 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -203,6 +203,7 @@ struct vnode { (negative) text users */ int v_seqc_users; /* i modifications pending */ }; +#define v_vrflag v_rl.resv1 #define VN_ISDEV(vp) VTYPE_ISDEV((vp)->v_type) From nobody Sun May 3 19:59:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb40FMfz6c13P for ; Sun, 03 May 2026 19:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wb351T6z42Wm for ; Sun, 03 May 2026 19:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIOFBr2veT13TnsOcHBMf5Ngy0ClXwdmZY5pC2TACt8=; b=cDj0jWFV5x1G1/gXvdKffmqcqvPzn9+X/c8YNv2odhYbQtAz8FzEhQLgVTRPqmU9fvinO5 aB5l4GTf50RqzxVm6Tgm8RWdecpROelDRIfoXlJuNKqQOlGWkip3Xv0huMUyspWCI+TWDu xQqvvQHeLn3wsAW07TCLJM6iza6TWufx9Jc+9XeMQzLeHTBR/jH0dfmd5i+idj19Fu+xs4 9+CzJ3oPyuveZMSrQiyUJLcR8iIX0l28QZX3whGK4KheAPGpMnWXo+t4OG1A6RpPs9W1Yt 2Mh3ZRT2mLccXzBNGLlp+AKzZs0OZhvnekCSV4hKm4u7EFdmFpgnMJ6ukRFeHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838351; a=rsa-sha256; cv=none; b=febVNZ6WJJDWcA0wF8JYUKnyscGGhCtdC30kCPxxGnfj5fyyd/9mIAIXkuHMcDLwIIGMyZ fXVWblV8osXrWEsrZNwHYFxNIdX+nzuLKmk0bGCrekbQIztzfVUBtj77EDZsKIDrXtSpTt 0JaJ+P0o5wA8OCUJCfuCoSwc5FDpI9HVlpk0BQ9NE5Urrm4khh2eg8JRjMA6m1SqGxh2/7 Fl7KB1y9j9j1K/IGhZ/pZyHUG7dg3cj0Sgr7zXDOdiyuMhEOhpo+bVS6iNoeElYGgX/amC /tPkl8srhpRADXYGbaLm/OAUZlx2csyYTbX7ka/wWE/+is6egIkE2OXZ9noF6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIOFBr2veT13TnsOcHBMf5Ngy0ClXwdmZY5pC2TACt8=; b=rijb3ZAHRqylwHU4B36W8TFjjl18qn1rvVMtuhWMK4C5S3PVUT1C7Wz4Sgpl9QReGTR2L9 YTJbiQvND4MgpsrYzir+1f0bB1gly875z8I1tbrwuPBNmLkqAqfvI3q01+95IO5LLTZz+z B5qHO2iIBU9Jbueb+CBj+VIUjiN/NAgYdJL5Fz2DXOpKOjsttRWCnPB+vfFrB/o3aDoFFY PRUMQq+uThXqFd5aF+4mBoRls0y5s5n/aSTbx2zORfW8TdB4+OHJSQjIWP0OslYFZlf6en XScA3J12eLG0T6vcvZNBrgzJ3CTLnBgnA7IzFPboLpZH/85cOg9J/E70AJXhyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb34XPfzn8k for ; Sun, 03 May 2026 19:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f9b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7fe74a02764e - main - vnode: add VIRF_KNOTE flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fe74a02764e5899b10cdc45ab34182b961d5d19 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:11 +0000 Message-Id: <69f7a90f.3f9b7.6e65e909@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7fe74a02764e5899b10cdc45ab34182b961d5d19 commit 7fe74a02764e5899b10cdc45ab34182b961d5d19 Author: Konstantin Belousov AuthorDate: 2026-04-24 01:31:27 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 vnode: add VIRF_KNOTE flag to indicate non-empty vnode knote list. Use it instead of VN_KNLIST_EMPTY() and guard note activations with it. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56611 --- sys/kern/vfs_subr.c | 51 ++++++++++++++++++++++++++++++++++----------------- sys/sys/mount.h | 12 ++++++++++-- sys/sys/vnode.h | 26 ++++++++++++-------------- 3 files changed, 56 insertions(+), 33 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index b008db45a8b7..57de07ffaa12 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -5817,6 +5817,15 @@ assert_vop_elocked(struct vnode *vp, const char *str) } #endif /* INVARIANTS */ +static bool +vop_check_pollinfo(struct vnode *vp, int rc) +{ + return (rc == 0 && + (vn_irflag_read(vp) & (VIRF_KNOTE | VIRF_INOTIFY)) != 0); +} +#define vop_check_pollinfo(vp, rc) \ + __predict_false((vop_check_pollinfo)((vp), (rc))) + void vop_rename_fail(struct vop_rename_args *ap) { @@ -6093,7 +6102,7 @@ vop_create_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6151,7 +6160,7 @@ vop_deleteextattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (!rc) { + if (vop_check_pollinfo(vp, rc)) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6181,7 +6190,7 @@ vop_link_post(void *ap, int rc) tdvp = a->a_tdvp; vn_seqc_write_end(vp); vn_seqc_write_end(tdvp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(vp, NOTE_LINK); VFS_KNOTE_LOCKED(tdvp, NOTE_WRITE); INOTIFY_NAME(vp, tdvp, a->a_cnp, _IN_ATTRIB_LINKCOUNT); @@ -6209,7 +6218,7 @@ vop_mkdir_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE | NOTE_LINK); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6247,7 +6256,7 @@ vop_mknod_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6262,7 +6271,8 @@ vop_reclaim_post(void *ap, int rc) a = ap; vp = a->a_vp; ASSERT_VOP_IN_SEQC(vp); - if (!rc) { + + if (vop_check_pollinfo(vp, rc)) { VFS_KNOTE_LOCKED(vp, NOTE_REVOKE); INOTIFY_REVOKE(vp); } @@ -6293,7 +6303,7 @@ vop_remove_post(void *ap, int rc) vp = a->a_vp; vn_seqc_write_end(dvp); vn_seqc_write_end(vp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); VFS_KNOTE_LOCKED(vp, NOTE_DELETE); INOTIFY_NAME(vp, dvp, a->a_cnp, _IN_ATTRIB_LINKCOUNT); @@ -6366,7 +6376,7 @@ vop_rmdir_post(void *ap, int rc) vp = a->a_vp; vn_seqc_write_end(dvp); vn_seqc_write_end(vp); - if (!rc) { + if (rc == 0) { vp->v_vflag |= VV_UNLINKED; VFS_KNOTE_LOCKED(dvp, NOTE_WRITE | NOTE_LINK); VFS_KNOTE_LOCKED(vp, NOTE_DELETE); @@ -6394,7 +6404,7 @@ vop_setattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (!rc) { + if (vop_check_pollinfo(vp, rc)) { VFS_KNOTE_LOCKED(vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6442,7 +6452,7 @@ vop_setextattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (!rc) { + if (vop_check_pollinfo(vp, rc)) { VFS_KNOTE_LOCKED(vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6468,7 +6478,7 @@ vop_symlink_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (!rc) { + if (rc == 0) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6479,7 +6489,7 @@ vop_open_post(void *ap, int rc) { struct vop_open_args *a = ap; - if (!rc) { + if (vop_check_pollinfo(a->a_vp, rc)) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_OPEN); INOTIFY(a->a_vp, IN_OPEN); } @@ -6490,8 +6500,9 @@ vop_close_post(void *ap, int rc) { struct vop_close_args *a = ap; - if (!rc && (a->a_cred != NOCRED || /* filter out revokes */ - !VN_IS_DOOMED(a->a_vp))) { + if (rc == 0 && (a->a_cred != NOCRED || /* filter out revokes */ + !VN_IS_DOOMED(a->a_vp)) && + vop_check_pollinfo(a->a_vp, rc)) { VFS_KNOTE_LOCKED(a->a_vp, (a->a_fflag & FWRITE) != 0 ? NOTE_CLOSE_WRITE : NOTE_CLOSE); INOTIFY(a->a_vp, (a->a_fflag & FWRITE) != 0 ? @@ -6504,7 +6515,7 @@ vop_read_post(void *ap, int rc) { struct vop_read_args *a = ap; - if (!rc) { + if (vop_check_pollinfo(a->a_vp, rc)) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_READ); INOTIFY(a->a_vp, IN_ACCESS); } @@ -6515,7 +6526,7 @@ vop_read_pgcache_post(void *ap, int rc) { struct vop_read_pgcache_args *a = ap; - if (!rc) + if (rc == 0) VFS_KNOTE_UNLOCKED(a->a_vp, NOTE_READ); } @@ -6662,6 +6673,8 @@ vfs_knlunlock(void *arg) { struct vnode *vp = arg; + if (KNLIST_EMPTY(&vp->v_pollinfo->vpi_selinfo.si_note)) + vn_irflag_unset(vp, VIRF_KNOTE); VOP_UNLOCK(vp); } @@ -6709,7 +6722,11 @@ vfs_kqfilter(struct vop_kqfilter_args *ap) return (ENOMEM); knl = &vp->v_pollinfo->vpi_selinfo.si_note; vhold(vp); - knlist_add(knl, kn, 0); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + knlist_add(knl, kn, 1); + if ((vn_irflag_read(vp) & VIRF_KNOTE) == 0) + vn_irflag_set(vp, VIRF_KNOTE); + VOP_UNLOCK(vp); return (0); } diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 1564d2cc22c4..170201b82ac1 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -952,14 +952,22 @@ vfs_statfs_t __vfs_statfs; } \ } while (0) +#include + #define VFS_KNOTE_LOCKED(vp, hint) do \ { \ - VN_KNOTE((vp), (hint), KNF_LISTLOCKED); \ + if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ + KNOTE_LOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, \ + hint); \ + } \ } while (0) #define VFS_KNOTE_UNLOCKED(vp, hint) do \ { \ - VN_KNOTE((vp), (hint), 0); \ + if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ + KNOTE_UNLOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, \ + hint); \ + } \ } while (0) #include diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 7dde71834143..0ceaed3cf4b5 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -225,18 +225,15 @@ _Static_assert(sizeof(struct vnode) <= 448, "vnode size crosses 448 bytes"); /* XXX: These are temporary to avoid a source sweep at this time */ #define v_object v_bufobj.bo_object -/* We don't need to lock the knlist */ -#define VN_KNLIST_EMPTY(vp) ((vp)->v_pollinfo == NULL || \ - KNLIST_EMPTY(&(vp)->v_pollinfo->vpi_selinfo.si_note)) - -#define VN_KNOTE(vp, b, a) \ - do { \ - if (!VN_KNLIST_EMPTY(vp)) \ - KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note, (b), \ - (a) | KNF_NOKQLOCK); \ - } while (0) -#define VN_KNOTE_LOCKED(vp, b) VN_KNOTE(vp, b, KNF_LISTLOCKED) -#define VN_KNOTE_UNLOCKED(vp, b) VN_KNOTE(vp, b, 0) +#define VN_KNOTE(vp, b, a) \ +do { \ + if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ + KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note, (b), \ + (a) | KNF_NOKQLOCK); \ + } \ +} while (0) +#define VN_KNOTE_LOCKED(vp, b) VN_KNOTE(vp, b, KNF_LISTLOCKED) +#define VN_KNOTE_UNLOCKED(vp, b) VN_KNOTE(vp, b, 0) /* * Vnode flags. @@ -261,6 +258,7 @@ _Static_assert(sizeof(struct vnode) <= 448, "vnode size crosses 448 bytes"); #define VIRF_INOTIFY 0x0080 /* This vnode is being watched */ #define VIRF_INOTIFY_PARENT 0x0100 /* A parent of this vnode may be being watched */ +#define VIRF_KNOTE 0x0200 /* Has knlist */ #define VI_UNUSED0 0x0001 /* unused */ #define VI_MOUNT 0x0002 /* Mount in progress */ @@ -1053,7 +1051,7 @@ void vop_rename_fail(struct vop_rename_args *ap); off_t osize, ooffset, noffset; \ \ osize = ooffset = noffset = 0; \ - if (!VN_KNLIST_EMPTY((ap)->a_vp)) { \ + if ((vn_irflag_read((ap)->a_vp) & VIRF_KNOTE) != 0) { \ error = VOP_GETATTR((ap)->a_vp, &va, (ap)->a_cred); \ if (error) \ return (error); \ @@ -1064,7 +1062,7 @@ void vop_rename_fail(struct vop_rename_args *ap); #define vop_write_post(ap, ret) \ noffset = (ap)->a_uio->uio_offset; \ if (noffset > ooffset) { \ - if (!VN_KNLIST_EMPTY((ap)->a_vp)) { \ + if ((vn_irflag_read((ap)->a_vp) & VIRF_KNOTE) != 0) { \ VFS_KNOTE_LOCKED((ap)->a_vp, NOTE_WRITE | \ (noffset > osize ? NOTE_EXTEND : 0)); \ } \ From nobody Sun May 3 19:59:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb32Jlsz6c13N for ; Sun, 03 May 2026 19:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7wb245msz42GJ for ; Sun, 03 May 2026 19:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7dQOvXORXmvNkhRnIy2nb2aoAOMnBfJQ21mW0gNlfgU=; b=uO0KyCXXm5EwOqEZwDbJ1qBNwp01x4OO2SOFS6YNJWoNNTXTgASCnnIzwZX3mVZvOumctg c/+qRImkC7ZlWspKlZZqoNy9HmAxxa2uCzvzIVqVxbWXl57GYncWrRAgQa2PaeTcxyhwkE sBxNDDgwsb6rHztjTxztF3Jpiy0sfPUl0UF89/gS5jt4g+G9uFkZxr8zrfLjAvalcE4/jj VBGkuLwKYuuHv1M160YJ8748o5Srn+kB+FzyLx6ze2QIQxt8Jc97xzhZCc63PGjUtN5gSE 14nURcDcJkTfDwVUBMGmzPRW1tF0rZJq0B+d+waWgdOt6eft7L2AdSIIyzy4Ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838350; a=rsa-sha256; cv=none; b=vv4nGwgjme1BjcqKEBmCN9qrAV93zbR4EbcFbHXWUHVKB+a6Q3l9i8Cu46+S0hMv64fS3P NiX9c4edPoxf7lrpbCU8lv9gnZ3VniVMoefyGMKleWaUImwks1RwodzB9lbPdJaiYgUSTY DPrL0P5pmOJXCj6GP1Vt76uY0MYNMbhJVnaOfDHmE9EWYVMO5IsnjyVmyw5ofkHYnxv2Sj pQAR8yfogvwe+18GdB2gOaAQMCdY4qaoZHMaEwrN1lvx8a/lmuS0aWePBYep6Z4tDvVMYX vUz/sTSKWjDB0342YmOypJX1L0U00OTf6r+iSzOimbaZJ6t+ZyQ6m5p+6X1Rkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7dQOvXORXmvNkhRnIy2nb2aoAOMnBfJQ21mW0gNlfgU=; b=YT6WtvdkTWY6poZz+M4ZWDf68avjf81WZy6qbfba9YhHmefVT1ZqRqceVmDS6yvkJ/MCw0 kCbokr7RqrvKvJmoRKqEL7518fJ608HXyY43/FzSZnbWv3HPDgv7iwJJQUV8Z6WdhPmYWf IBRdo58j5Zk+wUK9InFbT9p/EY4Cdb8qWzyL926f59N1991kLe9EToLeju8mlLuom2dRrD GzqggE5OrJ03lp8xNZ+FPf2M6IMdEGcI0/7/19P4sQrKve4wBqL2lIYs3qcrNnxfqcg2gV 0e1LfwxPqXPH33T5cRuA+M0imDrBB/Nh9D8R1jRhtK1CP37kMv9lJf2o5kON0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb23dR2zn8j for ; Sun, 03 May 2026 19:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fd42 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a61a696e78a9 - main - vfs: convert vfs_op_thread_* macros to static inlines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a61a696e78a967b149a6e39b1f98ada26217a6bb Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:10 +0000 Message-Id: <69f7a90e.3fd42.7d53d252@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a61a696e78a967b149a6e39b1f98ada26217a6bb commit a61a696e78a967b149a6e39b1f98ada26217a6bb Author: Konstantin Belousov AuthorDate: 2026-04-24 01:26:11 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 vfs: convert vfs_op_thread_* macros to static inlines Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56611 --- sys/kern/vfs_cache.c | 4 +-- sys/kern/vfs_mount.c | 6 ++-- sys/kern/vfs_subr.c | 6 ++-- sys/kern/vfs_vnops.c | 4 +-- sys/sys/mount.h | 97 +++++++++++++++++++++++++++++++--------------------- 5 files changed, 68 insertions(+), 49 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 3f8591bd0ba7..66210bf58a7c 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -5737,7 +5737,7 @@ cache_fplookup_climb_mount(struct cache_fpl *fpl) prev_mp = NULL; for (;;) { - if (!vfs_op_thread_enter_crit(mp, mpcpu)) { + if (!vfs_op_thread_enter_crit(mp, &mpcpu)) { if (prev_mp != NULL) vfs_op_thread_exit_crit(prev_mp, prev_mpcpu); return (cache_fpl_partial(fpl)); @@ -5792,7 +5792,7 @@ cache_fplookup_cross_mount(struct cache_fpl *fpl) return (0); } - if (!vfs_op_thread_enter_crit(mp, mpcpu)) { + if (!vfs_op_thread_enter_crit(mp, &mpcpu)) { return (cache_fpl_partial(fpl)); } if (!vn_seqc_consistent(vp, vp_seqc)) { diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index ddc5a1b70887..fff05a627162 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -500,7 +500,7 @@ vfs_ref_from_vp(struct vnode *vp) if (__predict_false(mp == NULL)) { return (mp); } - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { if (__predict_true(mp == vp->v_mount)) { vfs_mp_count_add_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); @@ -527,7 +527,7 @@ vfs_ref(struct mount *mp) struct mount_pcpu *mpcpu; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { vfs_mp_count_add_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); return; @@ -645,7 +645,7 @@ vfs_rel(struct mount *mp) struct mount_pcpu *mpcpu; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { vfs_mp_count_sub_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); return; diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 58975f7ac932..b008db45a8b7 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -879,7 +879,7 @@ vfs_busy(struct mount *mp, int flags) MPASS((flags & ~MBF_MASK) == 0); CTR3(KTR_VFS, "%s: mp %p with flags %d", __func__, mp, flags); - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_DRAINING) == 0); MPASS((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0); MPASS((mp->mnt_kern_flag & MNTK_REFEXPIRE) == 0); @@ -942,7 +942,7 @@ vfs_unbusy(struct mount *mp) CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_DRAINING) == 0); vfs_mp_count_sub_pcpu(mpcpu, lockref, 1); vfs_mp_count_sub_pcpu(mpcpu, ref, 1); @@ -6988,7 +6988,7 @@ vfs_cache_root(struct mount *mp, int flags, struct vnode **vpp) struct vnode *vp; int error; - if (!vfs_op_thread_enter(mp, mpcpu)) + if (!vfs_op_thread_enter(mp, &mpcpu)) return (vfs_cache_root_fallback(mp, flags, vpp)); vp = atomic_load_ptr(&mp->mnt_rootvnode); if (vp == NULL || VN_IS_DOOMED(vp)) { diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 4061b2272193..15704634ff62 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -2083,7 +2083,7 @@ vn_start_write_refed(struct mount *mp, int flags) struct mount_pcpu *mpcpu; int error, mflags; - if ((flags & V_XSLEEP) == 0 && vfs_op_thread_enter(mp, mpcpu)) { + if ((flags & V_XSLEEP) == 0 && vfs_op_thread_enter(mp, &mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_SUSPEND) == 0); vfs_mp_count_add_pcpu(mpcpu, writeopcount, 1); vfs_op_thread_exit(mp, mpcpu); @@ -2252,7 +2252,7 @@ vn_finished_write(struct mount *mp) if (mp == NULL) return; - if (vfs_op_thread_enter(mp, mpcpu)) { + if (vfs_op_thread_enter(mp, &mpcpu)) { vfs_mp_count_sub_pcpu(mpcpu, writeopcount, 1); vfs_mp_count_sub_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 18f85192f6c3..1564d2cc22c4 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -36,8 +36,10 @@ #include #include #ifdef _KERNEL +#include #include #include +#include #include #include #include @@ -1138,47 +1140,64 @@ void resume_all_fs(void); */ #define vfs_mount_pcpu(mp) zpcpu_get(mp->mnt_pcpu) #define vfs_mount_pcpu_remote(mp, cpu) zpcpu_get_cpu(mp->mnt_pcpu, cpu) +static void vfs_op_thread_exit_crit(struct mount *mp, struct mount_pcpu *mpcpu); -#define vfs_op_thread_entered(mp) ({ \ - MPASS(curthread->td_critnest > 0); \ - struct mount_pcpu *_mpcpu = vfs_mount_pcpu(mp); \ - _mpcpu->mntp_thread_in_ops == 1; \ -}) - -#define vfs_op_thread_enter_crit(mp, _mpcpu) ({ \ - bool _retval_crit = true; \ - MPASS(curthread->td_critnest > 0); \ - _mpcpu = vfs_mount_pcpu(mp); \ - MPASS(mpcpu->mntp_thread_in_ops == 0); \ - _mpcpu->mntp_thread_in_ops = 1; \ - atomic_interrupt_fence(); \ - if (__predict_false(mp->mnt_vfs_ops > 0)) { \ - vfs_op_thread_exit_crit(mp, _mpcpu); \ - _retval_crit = false; \ - } \ - _retval_crit; \ -}) - -#define vfs_op_thread_enter(mp, _mpcpu) ({ \ - bool _retval; \ - critical_enter(); \ - _retval = vfs_op_thread_enter_crit(mp, _mpcpu); \ - if (__predict_false(!_retval)) \ - critical_exit(); \ - _retval; \ -}) - -#define vfs_op_thread_exit_crit(mp, _mpcpu) do { \ - MPASS(_mpcpu == vfs_mount_pcpu(mp)); \ - MPASS(_mpcpu->mntp_thread_in_ops == 1); \ - atomic_interrupt_fence(); \ - _mpcpu->mntp_thread_in_ops = 0; \ -} while (0) +static inline bool +vfs_op_thread_entered(struct mount *mp) +{ + struct mount_pcpu *mpcpu = vfs_mount_pcpu(mp); -#define vfs_op_thread_exit(mp, _mpcpu) do { \ - vfs_op_thread_exit_crit(mp, _mpcpu); \ - critical_exit(); \ -} while (0) + MPASS(curthread->td_critnest > 0); + return (mpcpu->mntp_thread_in_ops == 1); +} + +static inline bool +vfs_op_thread_enter_crit(struct mount *mp, struct mount_pcpu **mpcpup) +{ + struct mount_pcpu *mpcpu; + bool retval_crit = true; + + MPASS(curthread->td_critnest > 0); + mpcpu = vfs_mount_pcpu(mp); + MPASS(mpcpu->mntp_thread_in_ops == 0); + mpcpu->mntp_thread_in_ops = 1; + atomic_interrupt_fence(); + if (__predict_false(mp->mnt_vfs_ops > 0)) { + vfs_op_thread_exit_crit(mp, mpcpu); + retval_crit = false; + } + *mpcpup = mpcpu; + return (retval_crit); +} + +static inline bool +vfs_op_thread_enter(struct mount *mp, struct mount_pcpu **mpcpup) +{ + bool retval; + + critical_enter(); + retval = vfs_op_thread_enter_crit(mp, mpcpup); + if (__predict_false(!retval)) + critical_exit(); + return (retval); +} + +static inline void +vfs_op_thread_exit_crit(struct mount *mp, struct mount_pcpu *mpcpu) +{ + MPASS(mpcpu == vfs_mount_pcpu(mp)); + MPASS(mpcpu->mntp_thread_in_ops == 1); + + atomic_interrupt_fence(); + mpcpu->mntp_thread_in_ops = 0; +} + +static inline void +vfs_op_thread_exit(struct mount *mp, struct mount_pcpu *mpcpu) +{ + vfs_op_thread_exit_crit(mp, mpcpu); + critical_exit(); +} #define vfs_mp_count_add_pcpu(_mpcpu, count, val) do { \ MPASS(_mpcpu->mntp_thread_in_ops == 1); \ From nobody Sun May 3 19:59:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb513Hlz6c0xs for ; Sun, 03 May 2026 19: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 4g7wb45sLbz424W for ; Sun, 03 May 2026 19:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EqNFaA8SeKM7sT6PF20P/JAxn94YfV24KcQFHBt8+PM=; b=TLH3zpgby/Q0PESC8HHyNIfnyAkPnYfmn4krjLnHSKnsK61LeIVe8+O7YaIU/1uxO2/KO6 7ZD8jxbayFa01WHB3QwTNzwgEjtrv5wBVw1Ljf5yY6wfVdz1sedSRBTzM+RUXNMHkBIyaL UqsOXuNfPR67eT/uaFxwmAjZe/BlQrG0sNjDrHg1oPCdsEggQ591B6QiXJzXoMX/ClDGai WdmQL5pXzHu6+9C+UPtNYXnye2SDc4VaCZ2dTlVtL1820GrFDrutlKPQoKyPwTuWKl7C/r KYDTTNBSbJ66uRi8VEHbhDe2C7XHSfbIr0gqWiLh+6qoKm84GDJanfsnFoCGdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838352; a=rsa-sha256; cv=none; b=lAav52pt1kebf6MoaU/rfA61uMOkYOpqP6pR9878jU79VLcQPRIqEIm1jn5iDBvb/Y+FQj 7brWJRu1msXPbR28IQyyFjFxTgfsBnW9Nm47mGLlLtycyrYxmpalrXkCujbmIfNEC7t2sj wga9W8zv5EXPRRw+wmJNlOBrg6T7EKbYatdmLWCb/OuSnNK8/GbHZcf6+aSTpT2ErmnItr M/hxwYvTbJ6O8iu9wgHLyTN7GS53dVS4seB/sp6xc00o1nuYpzir9XxOcGg/uRxni9uSFb jka9PPQPhQNzzZNkDIJaxr/AhZ3FLqLPoGeKb25tdsR+qFonodyv08PuNj9AzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EqNFaA8SeKM7sT6PF20P/JAxn94YfV24KcQFHBt8+PM=; b=IySDJtZb7NuD/hmFGpw3QBWIhcPW1+ns/0JDeUQiADRx4nQ0O6NL+BG78Wo06fAFOMT0eJ HTgQLHpha6s7Sl5zLpSZQBcTWUFtAW/+rq4CuyMPq23L+ADEci7lWZqLClcHljHuwaulQ9 1r+ytjEoWkBEv7qpwfmDTXAsMwqgozDs7N1m4yj+gr4csDurDq8941d7KeUOtydln/Bw7B +2FqRhh81rhJTkacg2fpuYJqp4688OHVS6bbXx0XIJI8RrOsyvC7s51NSRb74Dibwi+4w2 V0GlHGHkRFirwjtLYDsFZ+wEACzGIVSLkZN/M1TZk7ebi8nMxrtnWf048Mn4Pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb45MS9zn8m for ; Sun, 03 May 2026 19:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40fe6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 48bf024f2ef5 - main - vfs: convert VFS_OPs from macros to static inlines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48bf024f2ef5afeba3500bd92a04283370479edf Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:12 +0000 Message-Id: <69f7a910.40fe6.368262c3@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=48bf024f2ef5afeba3500bd92a04283370479edf commit 48bf024f2ef5afeba3500bd92a04283370479edf Author: Konstantin Belousov AuthorDate: 2026-04-24 01:31:27 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 vfs: convert VFS_OPs from macros to static inlines Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56611 --- sys/sys/mount.h | 230 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 121 insertions(+), 109 deletions(-) diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 170201b82ac1..c96ce7d7b080 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -853,122 +853,134 @@ struct vfsops { vfs_statfs_t __vfs_statfs; -#define VFS_MOUNT(MP) ({ \ - int _rc; \ - \ - TSRAW(curthread, TS_ENTER, "VFS_MOUNT", (MP)->mnt_vfc->vfc_name);\ - _rc = (*(MP)->mnt_op->vfs_mount)(MP); \ - TSRAW(curthread, TS_EXIT, "VFS_MOUNT", (MP)->mnt_vfc->vfc_name);\ - _rc; }) - -#define VFS_UNMOUNT(MP, FORCE) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_unmount)(MP, FORCE); \ - _rc; }) - -#define VFS_ROOT(MP, FLAGS, VPP) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_root)(MP, FLAGS, VPP); \ - _rc; }) - -#define VFS_CACHEDROOT(MP, FLAGS, VPP) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_cachedroot)(MP, FLAGS, VPP); \ - _rc; }) - -#define VFS_QUOTACTL(MP, C, U, A, MP_BUSY) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_quotactl)(MP, C, U, A, MP_BUSY); \ - _rc; }) - -#define VFS_STATFS(MP, SBP) ({ \ - int _rc; \ - \ - _rc = __vfs_statfs((MP), (SBP)); \ - _rc; }) - -#define VFS_SYNC(MP, WAIT) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_sync)(MP, WAIT); \ - _rc; }) - -#define VFS_VGET(MP, INO, FLAGS, VPP) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_vget)(MP, INO, FLAGS, VPP); \ - _rc; }) - -#define VFS_FHTOVP(MP, FIDP, FLAGS, VPP) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_fhtovp)(MP, FIDP, FLAGS, VPP); \ - _rc; }) - -#define VFS_CHECKEXP(MP, NAM, EXFLG, CRED, NUMSEC, SEC) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_checkexp)(MP, NAM, EXFLG, CRED, NUMSEC,\ - SEC); \ - _rc; }) - -#define VFS_EXTATTRCTL(MP, C, FN, NS, N) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_extattrctl)(MP, C, FN, NS, N); \ - _rc; }) - -#define VFS_SYSCTL(MP, OP, REQ) ({ \ - int _rc; \ - \ - _rc = (*(MP)->mnt_op->vfs_sysctl)(MP, OP, REQ); \ - _rc; }) - -#define VFS_SUSP_CLEAN(MP) do { \ - if (*(MP)->mnt_op->vfs_susp_clean != NULL) { \ - (*(MP)->mnt_op->vfs_susp_clean)(MP); \ - } \ -} while (0) +static inline int +VFS_MOUNT(struct mount *mp) +{ + int rc; -#define VFS_RECLAIM_LOWERVP(MP, VP) do { \ - if (*(MP)->mnt_op->vfs_reclaim_lowervp != NULL) { \ - (*(MP)->mnt_op->vfs_reclaim_lowervp)((MP), (VP)); \ - } \ -} while (0) + TSRAW(curthread, TS_ENTER, "VFS_MOUNT", mp->mnt_vfc->vfc_name); + rc = mp->mnt_op->vfs_mount(mp); + TSRAW(curthread, TS_EXIT, "VFS_MOUNT", mp->mnt_vfc->vfc_name); + return (rc); +} -#define VFS_UNLINK_LOWERVP(MP, VP) do { \ - if (*(MP)->mnt_op->vfs_unlink_lowervp != NULL) { \ - (*(MP)->mnt_op->vfs_unlink_lowervp)((MP), (VP)); \ - } \ -} while (0) +static inline int +VFS_UNMOUNT(struct mount *mp, int force) +{ + return (mp->mnt_op->vfs_unmount(mp, force)); +} -#define VFS_PURGE(MP) do { \ - if (*(MP)->mnt_op->vfs_purge != NULL) { \ - (*(MP)->mnt_op->vfs_purge)(MP); \ - } \ -} while (0) +static inline int +VFS_ROOT(struct mount *mp, int flags, struct vnode **vpp) +{ + return (mp->mnt_op->vfs_root(mp, flags, vpp)); +} + +static inline int +VFS_CACHEDROOT(struct mount *mp, int flags, struct vnode **vpp) +{ + return (mp->mnt_op->vfs_cachedroot(mp, flags, vpp)); +} + +static inline int +VFS_QUOTACTL(struct mount *mp, int cmds, uid_t uid, void *arg, bool *mp_busy) +{ + return (mp->mnt_op->vfs_quotactl(mp, cmds, uid, arg, mp_busy)); +} + +static inline int +VFS_STATFS(struct mount *mp, struct statfs *sbp) +{ + return (__vfs_statfs(mp, sbp)); +} + +static inline int +VFS_SYNC(struct mount *mp, int waitfor) +{ + return (mp->mnt_op->vfs_sync(mp, waitfor)); +} + +static inline int +VFS_VGET(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) +{ + return (mp->mnt_op->vfs_vget(mp, ino, flags, vpp)); +} + +static inline int +VFS_FHTOVP(struct mount *mp, struct fid *fidp, int flags, struct vnode **vpp) +{ + return (mp->mnt_op->vfs_fhtovp(mp, fidp, flags, vpp)); +} + +static inline int +VFS_CHECKEXP(struct mount *mp, struct sockaddr *nam, uint64_t *extflagsp, + struct ucred **credanonp, int *numsecflavors, int *secflavors) +{ + return (mp->mnt_op->vfs_checkexp(mp, nam, extflagsp, credanonp, + numsecflavors, secflavors)); +} + +static inline int +VFS_EXTATTRCTL(struct mount *mp, int cmd, struct vnode *filename_vp, + int attrnamespace, const char *attrname) +{ + return (mp->mnt_op->vfs_extattrctl(mp, cmd, filename_vp, + attrnamespace, attrname)); +} + +static inline int +VFS_SYSCTL(struct mount *mp, fsctlop_t op, struct sysctl_req *req) +{ + return (mp->mnt_op->vfs_sysctl(mp, op, req)); +} + +static inline void +VFS_SUSP_CLEAN(struct mount *mp) +{ + if (mp->mnt_op->vfs_susp_clean != NULL) + mp->mnt_op->vfs_susp_clean(mp); +} + +static inline void +VFS_RECLAIM_LOWERVP(struct mount *mp, struct vnode *vp) +{ + if (mp->mnt_op->vfs_reclaim_lowervp != NULL) + mp->mnt_op->vfs_reclaim_lowervp(mp, vp); +} + +static inline void +VFS_UNLINK_LOWERVP(struct mount *mp, struct vnode *vp) +{ + if (mp->mnt_op->vfs_unlink_lowervp != NULL) + mp->mnt_op->vfs_unlink_lowervp(mp, vp); +} + +static inline void +VFS_PURGE(struct mount *mp) +{ + if (mp->mnt_op->vfs_purge != NULL) + mp->mnt_op->vfs_purge(mp); +} #include -#define VFS_KNOTE_LOCKED(vp, hint) do \ -{ \ - if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ - KNOTE_LOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, \ - hint); \ - } \ -} while (0) +static inline void +VFS_KNOTE_LOCKED(struct vnode *vp, int hint) +{ + if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { + KNOTE_LOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, + hint); + } +} -#define VFS_KNOTE_UNLOCKED(vp, hint) do \ -{ \ - if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ - KNOTE_UNLOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, \ - hint); \ - } \ -} while (0) +static inline void +VFS_KNOTE_UNLOCKED(struct vnode *vp, int hint) +{ + if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { + KNOTE_UNLOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, + hint); + } +} #include From nobody Sun May 3 19:59:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb620T7z6c15L for ; Sun, 03 May 2026 19:59: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 4g7wb56rfyz424g for ; Sun, 03 May 2026 19: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=1777838354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9lomLwVJg6gzZA9y/7lnx8//geefl8iL1v5ZpHiBQ8=; b=xtLS3Ebqfu8cRm8qqXj+Zj2HndM/YXSr16vt1ZhYXLXE/7ycZ9LLFsDuFFPqepRqH844jv 6W+Rx+sUFyXSIMpcjO0o1VhrMP4+G+9C5l3kQgedDMV9ObL5uEhGdkORH0UyB8MrbAn5KR IWQsonnh2RbXxDy36N5IuSK4mp4nVpq+rGoEQ8WQMj5vT5UhEh7xPmrVhvmn+NleohOprZ Sl/IomYmxUPeSvsBNH7KePswc4iG0w6Sehc/R7zjy9OpZU9OSOjz5aZtlaB0BARfpsAfMA pD2kdV9hRR02nbwY6Vgzj8dfrEyYGD81wj9wlKhvYvG6FPqFXElhnDxSG3yxBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777838354; a=rsa-sha256; cv=none; b=j17usd5aNAYKKcjLrm3k72nfaOvOJU3dzGJK+mYv4F0ViWFxfSx3gng9CT+26S5Jaokgp1 3Ry5bhfA0SRwKfbfHGQS6YdVbmKkmNiaLLwEr0aGs8CPzRL4XTCqMeIwBvQ1zLHEit1Bva Cl1Tp4Q13qCbcn1959fnEgDQZ5WqA3fPYlipps64EfEKE7I+6y9NZhw1n5oqD1k+oERSAF u71VXqHitqnkfgCcfLdXN8pRL1AZuv37jkLIbuzgjHeJjJz15fxJM2e296AF1Up+EwoFYd r7CXMeBISGaETjM3PJI3DbfsSr45fxUTmC7lEdbhwVJM2jGIj2q34sRu9INOJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777838354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9lomLwVJg6gzZA9y/7lnx8//geefl8iL1v5ZpHiBQ8=; b=DcjO4hJgrgUm22MNXdw4HXJt8fsh5Pa4USIYlv9R7b+u0PoHtkt7+S0okQJt25RIogRlyx fJ713Olzt6f4q+dU4JbSZd9bALmkGbPoPov0sXn177pFEqZTc8ElfgMwPjKC75Nn8N5XQ4 XMEVxF+yTxXSSS1LqMMahCKBMy5rfdSVJxbVtE7pq1u7RpjjLrMGFkJFt25dXkws0Ju4v8 jj5qo56oPM/MDH5V3tsBj35OclYP/EpW4x4UefTto230x7tHwvFdebXMQTnv1y0oya80AV uaPAdcTGVVZsP92th/OW7NmTnOj0i13Or5ET+HJHQV3/r2/IP2P8wGtIPQyBFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wb5686dzn8n for ; Sun, 03 May 2026 19:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4093c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 19:59:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f193f5a749b6 - main - sys/vnode.h: remove stale comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f193f5a749b696e6c05fa2c47c24522b1624b1a7 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 19:59:13 +0000 Message-Id: <69f7a911.4093c.2f9d5148@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f193f5a749b696e6c05fa2c47c24522b1624b1a7 commit f193f5a749b696e6c05fa2c47c24522b1624b1a7 Author: Konstantin Belousov AuthorDate: 2026-04-24 02:06:02 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 19:58:37 +0000 sys/vnode.h: remove stale comment The source sweep is not going to happen. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56611 --- sys/sys/vnode.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 0ceaed3cf4b5..70340faca1b4 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -222,7 +222,6 @@ _Static_assert(sizeof(struct vnode) <= 448, "vnode size crosses 448 bytes"); #define bo2vnode(bo) __containerof((bo), struct vnode, v_bufobj) -/* XXX: These are temporary to avoid a source sweep at this time */ #define v_object v_bufobj.bo_object #define VN_KNOTE(vp, b, a) \ From nobody Sun May 3 20:12:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7wtT0ShRz6c1sS for ; Sun, 03 May 2026 20:12: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 4g7wtS71qnz47hV for ; Sun, 03 May 2026 20:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777839153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xiJrvKf8Bcnu/eR/Ktb1gTV26e7RLD5C9rdgdVfSgIM=; b=TebZ1yQa8NbcAMtbivu50MJNany7yVamqQlb34Xrx4ncRQQZO1MlohAK8eHohltKarblJz xACBnEnB18V08nHBTlgC9kdlSE5ndxWOhoHbdsNzWcJr9jeT6c9mM+ApQgSzJGMwzR95es Pir6la7QrqDPuR7EEkiLVWwXXKLK2yzockKBJ1VUnUlmtkcN6ORCYW82DcbCx4SA5k5O94 Q1ESV3h9zO3+dI8pHJVaNPyFVfNLRf5cHBHnLCkWh2bcSoa/wN2FBNOHsXpGrdO4YQrIPB 41CFVdxdVUp64Tq/nZPXIqciR0M7Uwv0WauUDP7EuWSfDScs31FJaX/klbVhRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777839153; a=rsa-sha256; cv=none; b=fV8QQJKCtL9L7W2AskTQeq0gwP/Xku6Q3jVGDsGXz4B5LnwdoZMJi1qPFcdQg9Zipbwp5U sf2IGd0sp3MVf/D0PrwvHdWrxh2+No65xo9llL6eOAHi64sAGGkiZAo42YMnffqMqGjthQ OymcJHkodjdLCrs//fG1kiFueCE7ipvQwPHMfmhkIgcptfhQLpHxUe0w0qLledrRH/47Hu C081nU7I7Zb1fojpBm7KzE7ZvrBqW7R+dvPik/kPl59/sAVOyv+o5J75o4RvznWnZ6gYMH 1PrcsVBdCzNnQxdOhDhDJaO7GN3xCioqr5/NHA8pX5bnhDWAj2S4NSoqZiIuDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777839153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xiJrvKf8Bcnu/eR/Ktb1gTV26e7RLD5C9rdgdVfSgIM=; b=d+BTSrO7MZMM35zp8MDAYYGxCIjxJfhgntlm8vrheymcgTOgTbOsT8NKnsVrUzY4fxqn5e 8g7CCFyvf8tXXn+/H2/RFxV/49XRwId5rxW+M7kjRMOVJEd6MSwI9WA8fGyW6RUMrpsjoo FdAjYcbS1qQd5ECytVdpFjl5misTkkPsbRPaXVInYrP8OBTvQriHzv+jtSpZnfFTcStT03 hx2aEcAyA/YuoRxuo0fNV04NbaZkkJSSOwhY+rt9PNivxT6BUk320qPQla34N8txd9wQ/S Oiv51PbGyni5bIPTTR1pPaO3XcSS7DwvuxOLR9QKR1YOr3dBtjGKt7oIQk0YMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7wtS6YX7zntb for ; Sun, 03 May 2026 20:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42c23 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 20:12:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 9ca9a79ea67e - main - Revert erronously pushed series of commits, which should not be. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ca9a79ea67e8569c31ecc328e001b35908f491c Auto-Submitted: auto-generated Date: Sun, 03 May 2026 20:12:32 +0000 Message-Id: <69f7ac30.42c23.2250bb73@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9ca9a79ea67e8569c31ecc328e001b35908f491c commit 9ca9a79ea67e8569c31ecc328e001b35908f491c Author: Konstantin Belousov AuthorDate: 2026-05-03 20:10:06 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-03 20:12:03 +0000 Revert erronously pushed series of commits, which should not be. Sorry for the mess. Revert "sys/vnode.h: remove stale comment" This reverts commit f193f5a749b696e6c05fa2c47c24522b1624b1a7. Revert "vfs: convert VFS_OPs from macros to static inlines" This reverts commit 48bf024f2ef5afeba3500bd92a04283370479edf. Revert "vnode: add VIRF_KNOTE flag" This reverts commit 7fe74a02764e5899b10cdc45ab34182b961d5d19. Revert "vfs: convert vfs_op_thread_* macros to static inlines" This reverts commit a61a696e78a967b149a6e39b1f98ada26217a6bb. Revert "struct vnode: assign v_rl.resv1 as v_vrflag" This reverts commit d990e8f0e9478194569ba28c366b0c0c0f414e7b. Revert "sys/rangelock.h: explicitly enumerate padding at the end of the structure" This reverts commit a770638ecf16515d8922111c3fdd417aba6c045e. Revert "bufspace_wait(): only try to help bufdaemon if there is a chance to help" This reverts commit 067cfac2e7bd9dc857fb6cc504c01b0249bcd1b7. Revert "Add O_SYMLINK emulation" This reverts commit f9458655e78f6532e962a13d28d6a6086b4156de. Revert "libc: add freadlink(3)" This reverts commit ae6a13deb8e33a52188643e09171207e1d7171e8. Revert "Add O_SYMLINK emulation" This reverts commit 2213820b6f4cd22bbfdc0f45741c3e7d17ae82c0. --- include/unistd.h | 1 - lib/libc/gen/Makefile.inc | 1 - lib/libc/gen/Symbol.map | 1 - lib/libc/gen/freadlink.c | 16 -- lib/libc/include/libc_private.h | 3 - lib/libc/sys/Symbol.map | 4 - lib/libc/sys/open.c | 4 +- lib/libc/sys/openat.c | 44 +----- lib/libthr/thread/thr_syscalls.c | 5 +- sys/kern/vfs_bio.c | 3 +- sys/kern/vfs_cache.c | 4 +- sys/kern/vfs_mount.c | 6 +- sys/kern/vfs_subr.c | 57 +++---- sys/kern/vfs_vnops.c | 4 +- sys/sys/fcntl.h | 7 - sys/sys/mount.h | 323 +++++++++++++++++---------------------- sys/sys/rangelock.h | 6 - sys/sys/vnode.h | 28 ++-- 18 files changed, 188 insertions(+), 329 deletions(-) diff --git a/include/unistd.h b/include/unistd.h index 290bcce6a0b3..797eac4c364d 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -518,7 +518,6 @@ int execvpe(const char *, char * const *, char * const *); int feature_present(const char *); int fchroot(int); char *fflagstostr(u_long); -ssize_t freadlink(int fd, char *buf, size_t bufsize); int getdomainname(char *, int); int getentropy(void *, size_t); int getgrouplist(const char *, gid_t, gid_t *, int *); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 18a68902f50a..c31f789fd1d1 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -56,7 +56,6 @@ SRCS+= \ fmtmsg.c \ fnmatch.c \ fpclassify.c \ - freadlink.c \ frexp.c \ fstab.c \ ftok.c \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 4d22251f7ec5..60f34b3a1923 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -475,7 +475,6 @@ FBSD_1.8 { }; FBSD_1.9 { - freadlink; posix_spawn_file_actions_addchdir; posix_spawn_file_actions_addfchdir; posix_spawnattr_getexecfd_np; diff --git a/lib/libc/gen/freadlink.c b/lib/libc/gen/freadlink.c deleted file mode 100644 index e1ed7aba6c06..000000000000 --- a/lib/libc/gen/freadlink.c +++ /dev/null @@ -1,16 +0,0 @@ -/*- - * 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 - -ssize_t -freadlink(int fd, char *buf, size_t bufsize) -{ - return (readlinkat(fd, "", buf, bufsize)); -} diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index ef490e1a66ef..299629fce2ad 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -384,7 +384,4 @@ struct uexterror; int __uexterr_format(const struct uexterror *ue, char *buf, size_t bufsz); int __libc_uexterr_gettext(char *buf, size_t bufsz); -int __impl_openat(int fd, const char *path, int flags, ...); -int __openat_symlink(int fd, const char *path, int flags, int interposed); - #endif /* _LIBC_PRIVATE_H_ */ diff --git a/lib/libc/sys/Symbol.map b/lib/libc/sys/Symbol.map index 1bae1fb78538..8acffcfd714e 100644 --- a/lib/libc/sys/Symbol.map +++ b/lib/libc/sys/Symbol.map @@ -75,7 +75,3 @@ FBSD_1.7 { FBSD_1.9 { pdwait; }; - -FBSDprivate_1.0 { - __openat_symlink; -}; diff --git a/lib/libc/sys/open.c b/lib/libc/sys/open.c index d58a81f60b18..dd7bedebf141 100644 --- a/lib/libc/sys/open.c +++ b/lib/libc/sys/open.c @@ -29,11 +29,9 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "namespace.h" #include #include #include -#include "un-namespace.h" #include "libc_private.h" #pragma weak open @@ -50,5 +48,5 @@ open(const char *path, int flags, ...) } else { mode = 0; } - return (__impl_openat(AT_FDCWD, path, flags, mode)); + return (INTERPOS_SYS(openat, AT_FDCWD, path, flags, mode)); } diff --git a/lib/libc/sys/openat.c b/lib/libc/sys/openat.c index f4223be8aad7..ba937cae3a3e 100644 --- a/lib/libc/sys/openat.c +++ b/lib/libc/sys/openat.c @@ -1,5 +1,5 @@ /* - * Copyright 2014, 2026 The FreeBSD Foundation. + * Copyright (c) 2014 The FreeBSD Foundation. * * Portions of this software were developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. @@ -29,46 +29,11 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "namespace.h" #include #include -#include -#include #include -#include -#include "un-namespace.h" #include "libc_private.h" -static int -do_openat(int fd, const char *path, int flags, int interposed) -{ - if (interposed) - return (__sys_openat(fd, path, flags | O_PATH, 0)); - return (INTERPOS_SYS(openat, fd, path, flags | O_PATH, 0)); -} - -int -__openat_symlink(int fd, const char *path, int flags, int interposed) -{ - struct stat st; - int rfd, xfd, saved_errno; - - flags &= ~O_SYMLINK; - rfd = do_openat(fd, path, flags | O_PATH | O_NOFOLLOW, interposed); - if (rfd != -1 && _fstat(rfd, &st) != -1 && !S_ISLNK(st.st_mode)) { - xfd = do_openat(rfd, "", flags | O_EMPTY_PATH, interposed); - saved_errno = errno; - /* dup to rfd to guarantee lowest fd number value */ - if (_dup2(xfd, rfd) == -1) { - _close(rfd); - rfd = -1; - } - _close(xfd); - errno = saved_errno; - } - return (rfd); -} - __sym_compat(openat, __impl_openat, FBSD_1.1); __weak_reference(openat, __impl_openat); __sym_default(openat, openat, FBSD_1.2); @@ -80,19 +45,12 @@ openat(int fd, const char *path, int flags, ...) va_list ap; int mode; - if (__predict_false((flags & (O_SYMLINK | O_CREAT)) == - (O_SYMLINK | O_CREAT))) { - errno = EINVAL; - return (-1); - } if ((flags & O_CREAT) != 0) { va_start(ap, flags); mode = va_arg(ap, int); va_end(ap); } else { mode = 0; - if (__predict_false((flags & O_SYMLINK) == O_SYMLINK)) - return (__openat_symlink(fd, path, flags, 0)); } return (INTERPOS_SYS(openat, fd, path, flags, mode)); } diff --git a/lib/libthr/thread/thr_syscalls.c b/lib/libthr/thread/thr_syscalls.c index 8168185188ea..bff2d0624aee 100644 --- a/lib/libthr/thread/thr_syscalls.c +++ b/lib/libthr/thread/thr_syscalls.c @@ -298,10 +298,7 @@ __thr_openat(int fd, const char *path, int flags, int mode) curthread = _get_curthread(); _thr_cancel_enter(curthread); - if (__predict_false((flags & O_SYMLINK) == O_SYMLINK)) - ret = __openat_symlink(fd, path, flags, 1); - else - ret = __sys_openat(fd, path, flags, mode); + ret = __sys_openat(fd, path, flags, mode); _thr_cancel_leave(curthread, ret == -1); return (ret); diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 675f6fb4e526..8f47a7abbc5e 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -727,8 +727,7 @@ bufspace_wait(struct bufdomain *bd, struct vnode *vp, int gbflags, BD_LOCK(bd); while (bd->bd_wanted) { if (vp != NULL && vp->v_type != VCHR && - (td->td_pflags & TDP_BUFNEED) == 0 && - vp->v_bufobj.bo_dirty.bv_cnt > 0) { + (td->td_pflags & TDP_BUFNEED) == 0) { BD_UNLOCK(bd); /* * getblk() is called with a vnode locked, and diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 66210bf58a7c..3f8591bd0ba7 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -5737,7 +5737,7 @@ cache_fplookup_climb_mount(struct cache_fpl *fpl) prev_mp = NULL; for (;;) { - if (!vfs_op_thread_enter_crit(mp, &mpcpu)) { + if (!vfs_op_thread_enter_crit(mp, mpcpu)) { if (prev_mp != NULL) vfs_op_thread_exit_crit(prev_mp, prev_mpcpu); return (cache_fpl_partial(fpl)); @@ -5792,7 +5792,7 @@ cache_fplookup_cross_mount(struct cache_fpl *fpl) return (0); } - if (!vfs_op_thread_enter_crit(mp, &mpcpu)) { + if (!vfs_op_thread_enter_crit(mp, mpcpu)) { return (cache_fpl_partial(fpl)); } if (!vn_seqc_consistent(vp, vp_seqc)) { diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index fff05a627162..ddc5a1b70887 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -500,7 +500,7 @@ vfs_ref_from_vp(struct vnode *vp) if (__predict_false(mp == NULL)) { return (mp); } - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { if (__predict_true(mp == vp->v_mount)) { vfs_mp_count_add_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); @@ -527,7 +527,7 @@ vfs_ref(struct mount *mp) struct mount_pcpu *mpcpu; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { vfs_mp_count_add_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); return; @@ -645,7 +645,7 @@ vfs_rel(struct mount *mp) struct mount_pcpu *mpcpu; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { vfs_mp_count_sub_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); return; diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 57de07ffaa12..58975f7ac932 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -879,7 +879,7 @@ vfs_busy(struct mount *mp, int flags) MPASS((flags & ~MBF_MASK) == 0); CTR3(KTR_VFS, "%s: mp %p with flags %d", __func__, mp, flags); - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_DRAINING) == 0); MPASS((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0); MPASS((mp->mnt_kern_flag & MNTK_REFEXPIRE) == 0); @@ -942,7 +942,7 @@ vfs_unbusy(struct mount *mp) CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_DRAINING) == 0); vfs_mp_count_sub_pcpu(mpcpu, lockref, 1); vfs_mp_count_sub_pcpu(mpcpu, ref, 1); @@ -5817,15 +5817,6 @@ assert_vop_elocked(struct vnode *vp, const char *str) } #endif /* INVARIANTS */ -static bool -vop_check_pollinfo(struct vnode *vp, int rc) -{ - return (rc == 0 && - (vn_irflag_read(vp) & (VIRF_KNOTE | VIRF_INOTIFY)) != 0); -} -#define vop_check_pollinfo(vp, rc) \ - __predict_false((vop_check_pollinfo)((vp), (rc))) - void vop_rename_fail(struct vop_rename_args *ap) { @@ -6102,7 +6093,7 @@ vop_create_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6160,7 +6151,7 @@ vop_deleteextattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (vop_check_pollinfo(vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6190,7 +6181,7 @@ vop_link_post(void *ap, int rc) tdvp = a->a_tdvp; vn_seqc_write_end(vp); vn_seqc_write_end(tdvp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(vp, NOTE_LINK); VFS_KNOTE_LOCKED(tdvp, NOTE_WRITE); INOTIFY_NAME(vp, tdvp, a->a_cnp, _IN_ATTRIB_LINKCOUNT); @@ -6218,7 +6209,7 @@ vop_mkdir_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE | NOTE_LINK); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6256,7 +6247,7 @@ vop_mknod_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6271,8 +6262,7 @@ vop_reclaim_post(void *ap, int rc) a = ap; vp = a->a_vp; ASSERT_VOP_IN_SEQC(vp); - - if (vop_check_pollinfo(vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(vp, NOTE_REVOKE); INOTIFY_REVOKE(vp); } @@ -6303,7 +6293,7 @@ vop_remove_post(void *ap, int rc) vp = a->a_vp; vn_seqc_write_end(dvp); vn_seqc_write_end(vp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); VFS_KNOTE_LOCKED(vp, NOTE_DELETE); INOTIFY_NAME(vp, dvp, a->a_cnp, _IN_ATTRIB_LINKCOUNT); @@ -6376,7 +6366,7 @@ vop_rmdir_post(void *ap, int rc) vp = a->a_vp; vn_seqc_write_end(dvp); vn_seqc_write_end(vp); - if (rc == 0) { + if (!rc) { vp->v_vflag |= VV_UNLINKED; VFS_KNOTE_LOCKED(dvp, NOTE_WRITE | NOTE_LINK); VFS_KNOTE_LOCKED(vp, NOTE_DELETE); @@ -6404,7 +6394,7 @@ vop_setattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (vop_check_pollinfo(vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6452,7 +6442,7 @@ vop_setextattr_post(void *ap, int rc) a = ap; vp = a->a_vp; vn_seqc_write_end(vp); - if (vop_check_pollinfo(vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(vp, NOTE_ATTRIB); INOTIFY(vp, IN_ATTRIB); } @@ -6478,7 +6468,7 @@ vop_symlink_post(void *ap, int rc) a = ap; dvp = a->a_dvp; vn_seqc_write_end(dvp); - if (rc == 0) { + if (!rc) { VFS_KNOTE_LOCKED(dvp, NOTE_WRITE); INOTIFY_NAME(*a->a_vpp, dvp, a->a_cnp, IN_CREATE); } @@ -6489,7 +6479,7 @@ vop_open_post(void *ap, int rc) { struct vop_open_args *a = ap; - if (vop_check_pollinfo(a->a_vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_OPEN); INOTIFY(a->a_vp, IN_OPEN); } @@ -6500,9 +6490,8 @@ vop_close_post(void *ap, int rc) { struct vop_close_args *a = ap; - if (rc == 0 && (a->a_cred != NOCRED || /* filter out revokes */ - !VN_IS_DOOMED(a->a_vp)) && - vop_check_pollinfo(a->a_vp, rc)) { + if (!rc && (a->a_cred != NOCRED || /* filter out revokes */ + !VN_IS_DOOMED(a->a_vp))) { VFS_KNOTE_LOCKED(a->a_vp, (a->a_fflag & FWRITE) != 0 ? NOTE_CLOSE_WRITE : NOTE_CLOSE); INOTIFY(a->a_vp, (a->a_fflag & FWRITE) != 0 ? @@ -6515,7 +6504,7 @@ vop_read_post(void *ap, int rc) { struct vop_read_args *a = ap; - if (vop_check_pollinfo(a->a_vp, rc)) { + if (!rc) { VFS_KNOTE_LOCKED(a->a_vp, NOTE_READ); INOTIFY(a->a_vp, IN_ACCESS); } @@ -6526,7 +6515,7 @@ vop_read_pgcache_post(void *ap, int rc) { struct vop_read_pgcache_args *a = ap; - if (rc == 0) + if (!rc) VFS_KNOTE_UNLOCKED(a->a_vp, NOTE_READ); } @@ -6673,8 +6662,6 @@ vfs_knlunlock(void *arg) { struct vnode *vp = arg; - if (KNLIST_EMPTY(&vp->v_pollinfo->vpi_selinfo.si_note)) - vn_irflag_unset(vp, VIRF_KNOTE); VOP_UNLOCK(vp); } @@ -6722,11 +6709,7 @@ vfs_kqfilter(struct vop_kqfilter_args *ap) return (ENOMEM); knl = &vp->v_pollinfo->vpi_selinfo.si_note; vhold(vp); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - knlist_add(knl, kn, 1); - if ((vn_irflag_read(vp) & VIRF_KNOTE) == 0) - vn_irflag_set(vp, VIRF_KNOTE); - VOP_UNLOCK(vp); + knlist_add(knl, kn, 0); return (0); } @@ -7005,7 +6988,7 @@ vfs_cache_root(struct mount *mp, int flags, struct vnode **vpp) struct vnode *vp; int error; - if (!vfs_op_thread_enter(mp, &mpcpu)) + if (!vfs_op_thread_enter(mp, mpcpu)) return (vfs_cache_root_fallback(mp, flags, vpp)); vp = atomic_load_ptr(&mp->mnt_rootvnode); if (vp == NULL || VN_IS_DOOMED(vp)) { diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 15704634ff62..4061b2272193 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -2083,7 +2083,7 @@ vn_start_write_refed(struct mount *mp, int flags) struct mount_pcpu *mpcpu; int error, mflags; - if ((flags & V_XSLEEP) == 0 && vfs_op_thread_enter(mp, &mpcpu)) { + if ((flags & V_XSLEEP) == 0 && vfs_op_thread_enter(mp, mpcpu)) { MPASS((mp->mnt_kern_flag & MNTK_SUSPEND) == 0); vfs_mp_count_add_pcpu(mpcpu, writeopcount, 1); vfs_op_thread_exit(mp, mpcpu); @@ -2252,7 +2252,7 @@ vn_finished_write(struct mount *mp) if (mp == NULL) return; - if (vfs_op_thread_enter(mp, &mpcpu)) { + if (vfs_op_thread_enter(mp, mpcpu)) { vfs_mp_count_sub_pcpu(mpcpu, writeopcount, 1); vfs_mp_count_sub_pcpu(mpcpu, ref, 1); vfs_op_thread_exit(mp, mpcpu); diff --git a/sys/sys/fcntl.h b/sys/sys/fcntl.h index bf64d06f2a4d..0b13241f0ee3 100644 --- a/sys/sys/fcntl.h +++ b/sys/sys/fcntl.h @@ -142,13 +142,6 @@ typedef __pid_t pid_t; #define O_EMPTY_PATH 0x02000000 #define O_NAMEDATTR 0x04000000 /* NFSv4 named attributes */ #define O_XATTR O_NAMEDATTR /* Solaris compatibility */ - -/* - * Emulate MacOSX compatibility flag without consuming a flags bit. - * Selected bits set does not define a useful open request and is - * unlikely to be specified by reasonable code. - */ -#define O_SYMLINK (O_PATH | O_DSYNC | O_DIRECT) #endif #if __POSIX_VISIBLE >= 202405 diff --git a/sys/sys/mount.h b/sys/sys/mount.h index c96ce7d7b080..18f85192f6c3 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -36,10 +36,8 @@ #include #include #ifdef _KERNEL -#include #include #include -#include #include #include #include @@ -853,134 +851,114 @@ struct vfsops { vfs_statfs_t __vfs_statfs; -static inline int -VFS_MOUNT(struct mount *mp) -{ - int rc; - - TSRAW(curthread, TS_ENTER, "VFS_MOUNT", mp->mnt_vfc->vfc_name); - rc = mp->mnt_op->vfs_mount(mp); - TSRAW(curthread, TS_EXIT, "VFS_MOUNT", mp->mnt_vfc->vfc_name); - return (rc); -} - -static inline int -VFS_UNMOUNT(struct mount *mp, int force) -{ - return (mp->mnt_op->vfs_unmount(mp, force)); -} - -static inline int -VFS_ROOT(struct mount *mp, int flags, struct vnode **vpp) -{ - return (mp->mnt_op->vfs_root(mp, flags, vpp)); -} - -static inline int -VFS_CACHEDROOT(struct mount *mp, int flags, struct vnode **vpp) -{ - return (mp->mnt_op->vfs_cachedroot(mp, flags, vpp)); -} - -static inline int -VFS_QUOTACTL(struct mount *mp, int cmds, uid_t uid, void *arg, bool *mp_busy) -{ - return (mp->mnt_op->vfs_quotactl(mp, cmds, uid, arg, mp_busy)); -} - -static inline int -VFS_STATFS(struct mount *mp, struct statfs *sbp) -{ - return (__vfs_statfs(mp, sbp)); -} - -static inline int -VFS_SYNC(struct mount *mp, int waitfor) -{ - return (mp->mnt_op->vfs_sync(mp, waitfor)); -} - -static inline int -VFS_VGET(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) -{ - return (mp->mnt_op->vfs_vget(mp, ino, flags, vpp)); -} - -static inline int -VFS_FHTOVP(struct mount *mp, struct fid *fidp, int flags, struct vnode **vpp) -{ - return (mp->mnt_op->vfs_fhtovp(mp, fidp, flags, vpp)); -} - -static inline int -VFS_CHECKEXP(struct mount *mp, struct sockaddr *nam, uint64_t *extflagsp, - struct ucred **credanonp, int *numsecflavors, int *secflavors) -{ - return (mp->mnt_op->vfs_checkexp(mp, nam, extflagsp, credanonp, - numsecflavors, secflavors)); -} - -static inline int -VFS_EXTATTRCTL(struct mount *mp, int cmd, struct vnode *filename_vp, - int attrnamespace, const char *attrname) -{ - return (mp->mnt_op->vfs_extattrctl(mp, cmd, filename_vp, - attrnamespace, attrname)); -} - -static inline int -VFS_SYSCTL(struct mount *mp, fsctlop_t op, struct sysctl_req *req) -{ - return (mp->mnt_op->vfs_sysctl(mp, op, req)); -} - -static inline void -VFS_SUSP_CLEAN(struct mount *mp) -{ - if (mp->mnt_op->vfs_susp_clean != NULL) - mp->mnt_op->vfs_susp_clean(mp); -} - -static inline void -VFS_RECLAIM_LOWERVP(struct mount *mp, struct vnode *vp) -{ - if (mp->mnt_op->vfs_reclaim_lowervp != NULL) - mp->mnt_op->vfs_reclaim_lowervp(mp, vp); -} +#define VFS_MOUNT(MP) ({ \ + int _rc; \ + \ + TSRAW(curthread, TS_ENTER, "VFS_MOUNT", (MP)->mnt_vfc->vfc_name);\ + _rc = (*(MP)->mnt_op->vfs_mount)(MP); \ + TSRAW(curthread, TS_EXIT, "VFS_MOUNT", (MP)->mnt_vfc->vfc_name);\ + _rc; }) + +#define VFS_UNMOUNT(MP, FORCE) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_unmount)(MP, FORCE); \ + _rc; }) + +#define VFS_ROOT(MP, FLAGS, VPP) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_root)(MP, FLAGS, VPP); \ + _rc; }) + +#define VFS_CACHEDROOT(MP, FLAGS, VPP) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_cachedroot)(MP, FLAGS, VPP); \ + _rc; }) + +#define VFS_QUOTACTL(MP, C, U, A, MP_BUSY) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_quotactl)(MP, C, U, A, MP_BUSY); \ + _rc; }) + +#define VFS_STATFS(MP, SBP) ({ \ + int _rc; \ + \ + _rc = __vfs_statfs((MP), (SBP)); \ + _rc; }) + +#define VFS_SYNC(MP, WAIT) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_sync)(MP, WAIT); \ + _rc; }) + +#define VFS_VGET(MP, INO, FLAGS, VPP) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_vget)(MP, INO, FLAGS, VPP); \ + _rc; }) + +#define VFS_FHTOVP(MP, FIDP, FLAGS, VPP) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_fhtovp)(MP, FIDP, FLAGS, VPP); \ + _rc; }) + +#define VFS_CHECKEXP(MP, NAM, EXFLG, CRED, NUMSEC, SEC) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_checkexp)(MP, NAM, EXFLG, CRED, NUMSEC,\ + SEC); \ + _rc; }) + +#define VFS_EXTATTRCTL(MP, C, FN, NS, N) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_extattrctl)(MP, C, FN, NS, N); \ + _rc; }) + +#define VFS_SYSCTL(MP, OP, REQ) ({ \ + int _rc; \ + \ + _rc = (*(MP)->mnt_op->vfs_sysctl)(MP, OP, REQ); \ + _rc; }) + +#define VFS_SUSP_CLEAN(MP) do { \ + if (*(MP)->mnt_op->vfs_susp_clean != NULL) { \ + (*(MP)->mnt_op->vfs_susp_clean)(MP); \ + } \ +} while (0) -static inline void -VFS_UNLINK_LOWERVP(struct mount *mp, struct vnode *vp) -{ - if (mp->mnt_op->vfs_unlink_lowervp != NULL) - mp->mnt_op->vfs_unlink_lowervp(mp, vp); -} +#define VFS_RECLAIM_LOWERVP(MP, VP) do { \ + if (*(MP)->mnt_op->vfs_reclaim_lowervp != NULL) { \ + (*(MP)->mnt_op->vfs_reclaim_lowervp)((MP), (VP)); \ + } \ +} while (0) -static inline void -VFS_PURGE(struct mount *mp) -{ - if (mp->mnt_op->vfs_purge != NULL) - mp->mnt_op->vfs_purge(mp); -} +#define VFS_UNLINK_LOWERVP(MP, VP) do { \ + if (*(MP)->mnt_op->vfs_unlink_lowervp != NULL) { \ + (*(MP)->mnt_op->vfs_unlink_lowervp)((MP), (VP)); \ + } \ +} while (0) -#include +#define VFS_PURGE(MP) do { \ + if (*(MP)->mnt_op->vfs_purge != NULL) { \ + (*(MP)->mnt_op->vfs_purge)(MP); \ + } \ +} while (0) -static inline void -VFS_KNOTE_LOCKED(struct vnode *vp, int hint) -{ - if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { - KNOTE_LOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, - hint); - } -} +#define VFS_KNOTE_LOCKED(vp, hint) do \ +{ \ + VN_KNOTE((vp), (hint), KNF_LISTLOCKED); \ +} while (0) -static inline void -VFS_KNOTE_UNLOCKED(struct vnode *vp, int hint) -{ - if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { - KNOTE_UNLOCKED(&vp->v_pollinfo->vpi_selinfo.si_note, - hint); - } -} +#define VFS_KNOTE_UNLOCKED(vp, hint) do \ +{ \ + VN_KNOTE((vp), (hint), 0); \ +} while (0) #include @@ -1160,64 +1138,47 @@ void resume_all_fs(void); */ #define vfs_mount_pcpu(mp) zpcpu_get(mp->mnt_pcpu) #define vfs_mount_pcpu_remote(mp, cpu) zpcpu_get_cpu(mp->mnt_pcpu, cpu) -static void vfs_op_thread_exit_crit(struct mount *mp, struct mount_pcpu *mpcpu); - -static inline bool -vfs_op_thread_entered(struct mount *mp) -{ - struct mount_pcpu *mpcpu = vfs_mount_pcpu(mp); - - MPASS(curthread->td_critnest > 0); - return (mpcpu->mntp_thread_in_ops == 1); -} - -static inline bool -vfs_op_thread_enter_crit(struct mount *mp, struct mount_pcpu **mpcpup) -{ - struct mount_pcpu *mpcpu; - bool retval_crit = true; - - MPASS(curthread->td_critnest > 0); - mpcpu = vfs_mount_pcpu(mp); - MPASS(mpcpu->mntp_thread_in_ops == 0); - mpcpu->mntp_thread_in_ops = 1; - atomic_interrupt_fence(); - if (__predict_false(mp->mnt_vfs_ops > 0)) { - vfs_op_thread_exit_crit(mp, mpcpu); - retval_crit = false; - } - *mpcpup = mpcpu; - return (retval_crit); -} - -static inline bool -vfs_op_thread_enter(struct mount *mp, struct mount_pcpu **mpcpup) -{ - bool retval; - critical_enter(); - retval = vfs_op_thread_enter_crit(mp, mpcpup); - if (__predict_false(!retval)) - critical_exit(); - return (retval); -} - -static inline void -vfs_op_thread_exit_crit(struct mount *mp, struct mount_pcpu *mpcpu) -{ - MPASS(mpcpu == vfs_mount_pcpu(mp)); - MPASS(mpcpu->mntp_thread_in_ops == 1); - - atomic_interrupt_fence(); - mpcpu->mntp_thread_in_ops = 0; -} +#define vfs_op_thread_entered(mp) ({ \ + MPASS(curthread->td_critnest > 0); \ + struct mount_pcpu *_mpcpu = vfs_mount_pcpu(mp); \ + _mpcpu->mntp_thread_in_ops == 1; \ +}) + +#define vfs_op_thread_enter_crit(mp, _mpcpu) ({ \ + bool _retval_crit = true; \ + MPASS(curthread->td_critnest > 0); \ + _mpcpu = vfs_mount_pcpu(mp); \ + MPASS(mpcpu->mntp_thread_in_ops == 0); \ + _mpcpu->mntp_thread_in_ops = 1; \ + atomic_interrupt_fence(); \ + if (__predict_false(mp->mnt_vfs_ops > 0)) { \ + vfs_op_thread_exit_crit(mp, _mpcpu); \ + _retval_crit = false; \ + } \ + _retval_crit; \ +}) + +#define vfs_op_thread_enter(mp, _mpcpu) ({ \ + bool _retval; \ + critical_enter(); \ + _retval = vfs_op_thread_enter_crit(mp, _mpcpu); \ + if (__predict_false(!_retval)) \ + critical_exit(); \ + _retval; \ +}) + +#define vfs_op_thread_exit_crit(mp, _mpcpu) do { \ + MPASS(_mpcpu == vfs_mount_pcpu(mp)); \ + MPASS(_mpcpu->mntp_thread_in_ops == 1); \ + atomic_interrupt_fence(); \ + _mpcpu->mntp_thread_in_ops = 0; \ +} while (0) -static inline void -vfs_op_thread_exit(struct mount *mp, struct mount_pcpu *mpcpu) -{ - vfs_op_thread_exit_crit(mp, mpcpu); - critical_exit(); -} +#define vfs_op_thread_exit(mp, _mpcpu) do { \ + vfs_op_thread_exit_crit(mp, _mpcpu); \ + critical_exit(); \ +} while (0) #define vfs_mp_count_add_pcpu(_mpcpu, count, val) do { \ MPASS(_mpcpu->mntp_thread_in_ops == 1); \ diff --git a/sys/sys/rangelock.h b/sys/sys/rangelock.h index 00fe7eee851e..32ccf3427b49 100644 --- a/sys/sys/rangelock.h +++ b/sys/sys/rangelock.h @@ -46,16 +46,10 @@ struct rl_q_entry; * all existing lock owners are compatible with the request. Two lock * owners are compatible if their ranges do not overlap, or both * owners are for read. - * - * The resvX fields can be used by consumers. For instance, struct - * vnode uses resv1 as v_vrflag. */ struct rangelock { uintptr_t head; bool sleepers; - uint8_t resv0; - uint16_t resv1; - uint32_t resv2; }; #ifdef _KERNEL diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 70340faca1b4..3fd2c770cda1 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -203,7 +203,6 @@ struct vnode { (negative) text users */ int v_seqc_users; /* i modifications pending */ }; -#define v_vrflag v_rl.resv1 #define VN_ISDEV(vp) VTYPE_ISDEV((vp)->v_type) @@ -222,17 +221,21 @@ _Static_assert(sizeof(struct vnode) <= 448, "vnode size crosses 448 bytes"); #define bo2vnode(bo) __containerof((bo), struct vnode, v_bufobj) +/* XXX: These are temporary to avoid a source sweep at this time */ #define v_object v_bufobj.bo_object -#define VN_KNOTE(vp, b, a) \ -do { \ - if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) { \ - KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note, (b), \ - (a) | KNF_NOKQLOCK); \ - } \ -} while (0) -#define VN_KNOTE_LOCKED(vp, b) VN_KNOTE(vp, b, KNF_LISTLOCKED) -#define VN_KNOTE_UNLOCKED(vp, b) VN_KNOTE(vp, b, 0) +/* We don't need to lock the knlist */ +#define VN_KNLIST_EMPTY(vp) ((vp)->v_pollinfo == NULL || \ + KNLIST_EMPTY(&(vp)->v_pollinfo->vpi_selinfo.si_note)) *** 38 LINES SKIPPED *** From nobody Sun May 3 20:20:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7x452DvPz6c3Fv; Sun, 03 May 2026 20:20:53 +0000 (UTC) (envelope-from kib@freebsd.org) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7x441ZDQz3C3n; Sun, 03 May 2026 20:20:52 +0000 (UTC) (envelope-from kib@freebsd.org) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=freebsd.org (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kib@freebsd.org) smtp.mailfrom=kib@freebsd.org Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 643KKdmT066140; Sun, 3 May 2026 23:20:42 +0300 (EEST) (envelope-from kib@freebsd.org) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 643KKdmT066140 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 643KKd4M066139; Sun, 3 May 2026 23:20:39 +0300 (EEST) (envelope-from kib@freebsd.org) X-Authentication-Warning: tom.home: kostik set sender to kib@freebsd.org using -f Date: Sun, 3 May 2026 23:20:39 +0300 From: Konstantin Belousov To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: fbecfc4aa028 - main - fdescfs: do not change vnode type on VOP_GETATTR() Message-ID: References: <69f7a906.406c0.5bb26524@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <69f7a906.406c0.5bb26524@gitrepo.freebsd.org> X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=4.0.2 X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on tom.home X-Spamd-Result: default: False [-1.93 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : No valid SPF, No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; NEURAL_SPAM_SHORT(0.06)[0.063]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; R_DKIM_NA(0.00)[]; FREEFALL_USER(0.00)[kib]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; HAS_XAW(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_THREE(0.00)[3] X-Spamd-Bar: - X-Rspamd-Queue-Id: 4g7x441ZDQz3C3n On Sun, May 03, 2026 at 07:59:02PM +0000, Konstantin Belousov wrote: > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=fbecfc4aa028964f972a0457809aa041d415f61b > > commit fbecfc4aa028964f972a0457809aa041d415f61b > Author: Konstantin Belousov > AuthorDate: 2026-05-03 19:09:15 +0000 > Commit: Konstantin Belousov > CommitDate: 2026-05-03 19:58:36 +0000 > > fdescfs: do not change vnode type on VOP_GETATTR() Unlike the rest of the commits in the series, that were reverted, this one was not. It is intended, I only wanted to push the first commit from my branch, this one, but messed things. Again, sorry. From nobody Sun May 3 21:26:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g7yXD328fz6c9bj for ; Sun, 03 May 2026 21:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g7yXD2Cg3z3MVV for ; Sun, 03 May 2026 21:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777843612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mfoI7uQe6cN+klFF9DremDMQS/iB9KBtGG/J9D3Xk0Y=; b=XU+/UX5k2Mr/ez0qeIsuc1OxE4ghAt9OTKZ00AFg3r69FX0bCNksh254PnY7uqOd2RB9Gk /TpRbn+cpEEBDtMOgb3hybIriQDSZZ37nu2XNaUXB2gxooY8HR1d1R88RivyCOH/MN2lpw f6PdhS0dZckC6vM2EXauFYsvxKb5hoZGMpxVsewHI6uQM6zD3/UfjXrU62e6hyktBN0aEW QEgwDJ/tGXYWnT0hN9Wai/ah6B1EVGfOsXG8pfQjUXCdQbY+RCAzF3sw9NLnMYEyTRRwwG lCcVp6f7pmsKl/m+ySu0L+giOOpeBXp9UpF0icZGAqNYMa3ye0eN4j3Ng7ATgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777843612; a=rsa-sha256; cv=none; b=SOe2HxygCskaUhUIe63upedpnDWETMCbakwSrgFeZRlsP2tlh+hVGVM4VkBiPPRjmVOGtO nefzrs6zmA3BabSI5Ij9RWjfYb+OzdcghTkVAu5G5Q6WZYSxRumFxItTq6toh+3aTLRhQF 9CTfF0M1fIFVU/ozrEJ8N6ZifTSY44SNbmp4UDF1Nmh834UMesLvHKxIzhr+YVwN39/gHX n7Q0vJX3J8ww8zGiPvKOs9Ke0j64RG424qFVDSwfBa+62wiX02LfU+0Kdag3e4SjxODjTr vPWIWb2sUH4SWmOry1gWnpPle486rJGo8rTiNGpU3iNPyTDrmhdkEfUSpPHlKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777843612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mfoI7uQe6cN+klFF9DremDMQS/iB9KBtGG/J9D3Xk0Y=; b=SrjaXsRZgZqmyEWFAiFLo31v3zUyLNvsX9qbLYWPJ/k7UhbejI77m+fj6XFUQwtugdkejV KAxFyeJ5RNoLF03jGXP+5EIdSOoJH/pY/bhdXOLW1e6aJe6toCd5hr4TqT3vWAVAsprOTF eJHc3FvrtgJ0nRjomjWK93C+//LRLrDJHHluLR+nOwq0Byx6x2BWKAI891TMYahMzbpaX4 fS5TFxJYZXTmKYPYCUOQw8ow4FmC71RRRTTUoYrO2o0JQrCQAL0TPdzgxPeZB+6kFxEeCb zOyupeXaYKLgpK/wxwsUNl2u0yfYfEWtOV/J/M96Qfr8byYWuizyof9S7Usfxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g7yXD1LRHzqSt for ; Sun, 03 May 2026 21:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4755b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 21:26:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: d8d9e1cf5e05 - main - krpc: Get rid of KRPC_VNET macros List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8d9e1cf5e055433565a7e686bc096a8494d2bb8 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 21:26:52 +0000 Message-Id: <69f7bd9c.4755b.54451dfc@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d8d9e1cf5e055433565a7e686bc096a8494d2bb8 commit d8d9e1cf5e055433565a7e686bc096a8494d2bb8 Author: Rick Macklem AuthorDate: 2026-05-03 21:25:06 +0000 Commit: Rick Macklem CommitDate: 2026-05-03 21:25:06 +0000 krpc: Get rid of KRPC_VNET macros When the krpc was vnet'd, the VNET macros were hidden behind macros that had the KRPC_ prefix on them. This was done because, at the time, it was thought that something other than vnet might be used for this. That has not happened and probably will not happen, so this patch replaces these obscuring macros with the regular vnet ones. There should be no semantics change caused by this commit. Discussed with: bz, glebius MFC after: 1 month --- sys/rpc/rpcsec_tls.h | 15 ------- sys/rpc/rpcsec_tls/rpctls_impl.c | 30 +++++++------- sys/rpc/svc_vc.c | 90 ++++++++++++++++++++-------------------- 3 files changed, 60 insertions(+), 75 deletions(-) diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 97c49dc32245..d796ca88f31a 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -65,21 +65,6 @@ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, /* String for AUTH_TLS reply verifier. */ #define RPCTLS_START_STRING "STARTTLS" -/* Macros for VIMAGE. */ -/* Just define the KRPC_VNETxxx() macros as VNETxxx() macros. */ -#define KRPC_VNET_NAME(n) VNET_NAME(n) -#define KRPC_VNET_DECLARE(t, n) VNET_DECLARE(t, n) -#define KRPC_VNET_DEFINE(t, n) VNET_DEFINE(t, n) -#define KRPC_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) -#define KRPC_VNET(n) VNET(n) - -#define CTLFLAG_KRPC_VNET CTLFLAG_VNET - -#define KRPC_CURVNET_SET(n) CURVNET_SET(n) -#define KRPC_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) -#define KRPC_CURVNET_RESTORE() CURVNET_RESTORE() -#define KRPC_TD_TO_VNET(n) TD_TO_VNET(n) - #endif /* _KERNEL */ #endif /* _RPC_RPCSEC_TLS_H_ */ diff --git a/sys/rpc/rpcsec_tls/rpctls_impl.c b/sys/rpc/rpcsec_tls/rpctls_impl.c index 22ba699a6fab..e1b80217263f 100644 --- a/sys/rpc/rpcsec_tls/rpctls_impl.c +++ b/sys/rpc/rpcsec_tls/rpctls_impl.c @@ -75,8 +75,8 @@ static struct syscall_helper_data rpctls_syscalls[] = { static struct opaque_auth rpctls_null_verf; -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); -KRPC_VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_success); +VNET_DECLARE(uint64_t, svc_vc_tls_handshake_failed); static CLIENT *rpctls_connect_handle; static CLIENT *rpctls_server_handle; @@ -159,7 +159,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) if (error != 0) return (error); - KRPC_CURVNET_SET(KRPC_TD_TO_VNET(td)); + CURVNET_SET(TD_TO_VNET(td)); mtx_lock(&rpctls_lock); upsp = RB_FIND(upsock_t, &upcall_sockets, &(struct upsock){ @@ -176,7 +176,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) } mtx_unlock(&rpctls_lock); if (upsp == NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); printf("%s: socket lookup failed\n", __func__); return (EPERM); } @@ -187,7 +187,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) * As such, it needs to be closed here. */ soclose(ups.so); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } soref(ups.so); @@ -211,7 +211,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) finit(fp, FREAD | FWRITE, DTYPE_SOCKET, ups.so, &socketops); fdrop(fp, td); /* Drop fp reference. */ td->td_retval[0] = fd; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (error); } @@ -441,8 +441,8 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) u_int maxlen; #endif - KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); - KRPC_VNET(svc_vc_tls_handshake_failed)++; + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + VNET(svc_vc_tls_handshake_failed)++; /* Initialize reply. */ rqst->rq_verf = rpctls_null_verf; @@ -450,12 +450,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) if (rqst->rq_cred.oa_length != 0 || msg->rm_call.cb_verf.oa_length != 0 || msg->rm_call.cb_verf.oa_flavor != AUTH_NULL) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_BADCRED); } if (rqst->rq_proc != NULLPROC) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -465,7 +465,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) call_stat = TRUE; #endif if (!call_stat) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -488,7 +488,7 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_dontrcv = FALSE; sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (AUTH_REJECTEDCRED); } @@ -506,12 +506,12 @@ _svcauth_rpcsec_tls(struct svc_req *rqst, struct rpc_msg *msg) xprt->xp_uid = uid; xprt->xp_gidp = gidp; } - KRPC_VNET(svc_vc_tls_handshake_failed)--; - KRPC_VNET(svc_vc_tls_handshake_success)++; + VNET(svc_vc_tls_handshake_failed)--; + VNET(svc_vc_tls_handshake_success)++; } sx_xunlock(&xprt->xp_lock); xprt_active(xprt); /* Harmless if already active. */ - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); return (RPCSEC_GSS_NODISPATCH); } diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c index 848109704ad0..24c09f182174 100644 --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -77,57 +77,57 @@ SYSCTL_NODE(_kern_rpc, OID_AUTO, tls, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, SYSCTL_NODE(_kern_rpc, OID_AUTO, unenc, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "unencrypted"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgbytes), 0, "Count of non-TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_rx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, rx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_rx_msgcnt), 0, "Count of non-TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgbytes) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgbytes, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgbytes), 0, "Count of non-TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; -SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); +VNET_DEFINE_STATIC(uint64_t, svc_vc_tx_msgcnt) = 0; +SYSCTL_U64(_kern_rpc_unenc, OID_AUTO, tx_msgcnt, CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tx_msgcnt), 0, "Count of non-TLS tx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_alerts) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, alerts, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_alerts), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_alerts), 0, "Count of TLS alert messages"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_failed) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_failed, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_failed), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_failed), 0, "Count of TLS failed handshakes"); -KRPC_VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; +VNET_DEFINE(uint64_t, svc_vc_tls_handshake_success) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, handshake_success, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, - &KRPC_VNET_NAME(svc_vc_tls_handshake_success), 0, + CTLFLAG_VNET | CTLFLAG_RW, + &VNET_NAME(svc_vc_tls_handshake_success), 0, "Count of TLS successful handshakes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgbytes), 0, "Count of TLS rx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_rx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, rx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_rx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_rx_msgcnt), 0, "Count of TLS rx messages"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgbytes) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgbytes, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgbytes), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgbytes), 0, "Count of TLS tx bytes"); -KRPC_VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; +VNET_DEFINE_STATIC(uint64_t, svc_vc_tls_tx_msgcnt) = 0; SYSCTL_U64(_kern_rpc_tls, OID_AUTO, tx_msgcnt, - CTLFLAG_KRPC_VNET | CTLFLAG_RW, &KRPC_VNET_NAME(svc_vc_tls_tx_msgcnt), 0, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(svc_vc_tls_tx_msgcnt), 0, "Count of TLS tx messages"); static bool_t svc_vc_rendezvous_recv(SVCXPRT *, struct rpc_msg *, @@ -850,15 +850,15 @@ tryagain: * This record needs to be handled in userland * via an SSL_read() call, so do an upcall to the daemon. */ - KRPC_CURVNET_SET(so->so_vnet); + CURVNET_SET(so->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0 && error == ENXIO) { - KRPC_VNET(svc_vc_tls_alerts)++; + VNET(svc_vc_tls_alerts)++; /* Disable reception. */ xprt->xp_dontrcv = TRUE; sx_xunlock(&xprt->xp_lock); ret = rpctls_srv_handlerecord(so, &reterr); - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); sx_xlock(&xprt->xp_lock); xprt->xp_dontrcv = FALSE; if (ret != RPC_SUCCESS || reterr != RPCTLSERR_OK) { @@ -875,7 +875,7 @@ tryagain: } if (error) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); SOCK_RECVBUF_LOCK(so); if (xprt->xp_upcallset) { xprt->xp_upcallset = 0; @@ -889,7 +889,7 @@ tryagain: } if (!m) { - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); /* * EOF - the other end has closed the socket. */ @@ -915,20 +915,20 @@ tryagain: m_freem(m); m_free(ctrl); rcvflag = MSG_DONTWAIT | MSG_TLSAPPDATA; - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); goto tryagain; } - KRPC_VNET(svc_vc_tls_rx_msgcnt)++; - KRPC_VNET(svc_vc_tls_rx_msgbytes) += + VNET(svc_vc_tls_rx_msgcnt)++; + VNET(svc_vc_tls_rx_msgbytes) += 1000000000 - uio.uio_resid; } m_free(ctrl); } else { - KRPC_VNET(svc_vc_rx_msgcnt)++; - KRPC_VNET(svc_vc_rx_msgbytes) += 1000000000 - + VNET(svc_vc_rx_msgcnt)++; + VNET(svc_vc_rx_msgbytes) += 1000000000 - uio.uio_resid; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); if (cd->mpending) m_last(cd->mpending)->m_next = m; @@ -1017,7 +1017,7 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, htonl(0x80000000 | (len - sizeof(uint32_t))); /* For RPC-over-TLS, copy mrep to a chain of ext_pgs. */ - KRPC_CURVNET_SET(xprt->xp_socket->so_vnet); + CURVNET_SET(xprt->xp_socket->so_vnet); if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { /* * Copy the mbuf chain to a chain of @@ -1029,13 +1029,13 @@ svc_vc_reply(SVCXPRT *xprt, struct rpc_msg *msg, maxextsiz = min(maxextsiz, maxlen); #endif mrep = _rpc_copym_into_ext_pgs(mrep, maxextsiz); - KRPC_VNET(svc_vc_tls_tx_msgcnt)++; - KRPC_VNET(svc_vc_tls_tx_msgbytes) += len; + VNET(svc_vc_tls_tx_msgcnt)++; + VNET(svc_vc_tls_tx_msgbytes) += len; } else { - KRPC_VNET(svc_vc_tx_msgcnt)++; - KRPC_VNET(svc_vc_tx_msgbytes) += len; + VNET(svc_vc_tx_msgcnt)++; + VNET(svc_vc_tx_msgbytes) += len; } - KRPC_CURVNET_RESTORE(); + CURVNET_RESTORE(); atomic_add_32(&xprt->xp_snd_cnt, len); /* * sosend consumes mreq. From nobody Sun May 3 23:09:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g80pS5fVnz6cLW4 for ; Sun, 03 May 2026 23:09:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g80pS1v1Hz3Xwx for ; Sun, 03 May 2026 23:09:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T9+ahU/5viPbnt11LqF0s6x8z1XTHu5cHdDk8FS6Z3k=; b=ytLfhd00UxyCK2ar/l09daygD0QAI15irdTW7xX3wlXIbzQjqY4g6LG3cKa18oDZP3IWWS CqyDu0Hc5ka4ipk8z4fcEVORWSufl3xExRgk71cPmPHS3UxXtEEUNLtKsuG7dvZ6zvjWrU G+yf0aU3FssYlYwkMRwjhYwj2FnEOC0pard43+aXEaE/t9xVuJlz/tBURDIylFBJArNkCj prRJCP320pfRFO6seFBkZ4smPWFPuqJAbYQQJqIveN5qC26/gi/Hi9lgTQKjNBtPbAxWMI 8fej752UVEDLz7JOWKgQqLt6/G+HI8SX5+R63Lkq8uN/Noci+taYAsqTK8pAmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777849760; a=rsa-sha256; cv=none; b=Nl2ChgwJb4zNGyiHzT0EJEC/uHcF48F85gjlbSEM3hQ8+GKwo7ucp8NOAbPs9stORFTANl HzJptl+iNWl5aB6qLRvuctFNrac0gaTeMeRruSDEimzt+6b2ie8nzOYnOFTqDiqjbXrENu /oICKTp1Fr5NWGsaidBOP9kdom2xwwKVinpjZulonEfvNbZ0an2l5rLVnygY1OaXB/3PSv Mnc7KVpTVM0+CiejJ/opBR0AS2T3WWd7KtVfXxwP6+cIGA1jCALUoG0cRD0sYEJE74lJJb cEre7AW0bI06M/VAOE4w5s7s20XFuM0n6e2etJhMzQ3hq23ju0BxJn9nZnen4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T9+ahU/5viPbnt11LqF0s6x8z1XTHu5cHdDk8FS6Z3k=; b=C+Z7+7B1dHnX3JLd8t0XIHymd30r9GZgaEdZKU/wv7UJUyY9peKWtVOA1PVBqHBFlVRGBS CoGFVDLV/Fzwl6uVdcer0Qppwm3oSwwzDkuLhIQH54el7X7uS7LSafM8hZwZPB9MWMEDY2 /FOlTZD1/JIpCDd1dxK1JQU3RWNstJ7iPelKUpXf8JwiW/mquCMEWOO728jlbW70w7bkN3 cj+obmEQ2WGWz0hrGJ9pmCFHwOPBsRchfEaui/t7VLX43lzh2kERIGQmT4rH0hKHRi4gMp bOEqa1GmR3OpZJp+2q7MYh7Mt3uHheUULDHtpiEvkHgz2QFXXoxKax9jk4keIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g80pS1VkGzthy for ; Sun, 03 May 2026 23:09:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24bfe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:09:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 001cfc7b8aa3 - main - tests/timerfd: Serialize List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 001cfc7b8aa38122c4e0fe8ae48fae3556a1f2b6 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:09:20 +0000 Message-Id: <69f7d5a0.24bfe.6d17c50d@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=001cfc7b8aa38122c4e0fe8ae48fae3556a1f2b6 commit 001cfc7b8aa38122c4e0fe8ae48fae3556a1f2b6 Author: Mark Johnston AuthorDate: 2026-05-03 15:46:52 +0000 Commit: Mark Johnston CommitDate: 2026-05-03 21:51:49 +0000 tests/timerfd: Serialize At least one of these tests changes the system clock, which potentially interferes with concurrently running tests and causes them to fail. MFC after: 1 week --- tests/sys/kern/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index e65b4812f90b..a5a2af67e39d 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -55,6 +55,8 @@ ATF_TESTS_C+= sysctl_kern_proc ATF_TESTS_C+= sys_getrandom ATF_TESTS_C+= timerfd LIBADD.timerfd+= pthread +# One test modifies the system time. +TEST_METADATA.timerfd+= is_exclusive="true" ATF_TESTS_C+= tty_pts ATF_TESTS_C+= unix_dgram ATF_TESTS_C+= unix_passfd_dgram From nobody Sun May 3 23:09:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g80pV6XzKz6cLW6 for ; Sun, 03 May 2026 23:09: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 4g80pV3GrKz3Xlt for ; Sun, 03 May 2026 23:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KzWZwMkH683t9YLdMtMPQXklZNwLhucOPX0Ag81m8mw=; b=SeENwYv1PcSLiMENnuy9rymRXrmfxLxMMnud4fezUVB9ENU93MxAlUNWzTMW8rgaullHrL cALoRAKyj71Pwe0sYSvW1dt4BojP654W9ADAUneEdnlAoJH1VRb/qUqxl+BjvSJfTzfOqz yTWYJBTt5XPpiWC7UnaunVj47rJ1lZvH97h95YEQNeZAS1P4+Rxkenb+qsgpFIfvFAzLyx PwUSOThmygJevzcB3Z2farxh+S4yjqZW30zIJkQwUk1pAy5GiwKD92P0ciwjs0FrYz/ztJ 16eNTVrMc7BNpCxzRL+3hqJYWcaexp/UXNZ1fJho+ASVysgxLxkFmsxu0TGyDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777849762; a=rsa-sha256; cv=none; b=Umims1o2FkFjUuH/7yKC1X6stf0rcEFfYsaahEyDBjLxkwKNgUObihlIcO6PikkgErFbX5 hiUvTlIshR8WR1cDH3B8TaMdA8hsmZZzrz3jYFDJ2WI4rHPgEBYuzA0RGDvAFoJSJvmIjZ a3f+QSq3qQM253FaRfzTYUVjpYva9khYZit2b04WovzvECepwC7W0GoGdzMcCHP77dCcDn i2xxrvECvj4KaMG2mSE2S2Pl8gPWH5NNwkOhuuRMWXKqrglDYAraCaYRe8z4TqN4/rtuMa A3LrgiKiFW+k9vDF6BboDnKKNXbdttJmAWHd8KF1oMwEzGFPKwks5gsVYTpFQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KzWZwMkH683t9YLdMtMPQXklZNwLhucOPX0Ag81m8mw=; b=a/PGTJlRRL+8sv71SpouVi/4UTDMmXcQMQPQl0rOW+UQrDyYvKTzIVKsgzFfs+rTUw5hJb gDzxMYPt45+S7ycNOQC5FbfWMewTMm2UrNsmUozSQPoBI6D1ZX/DV6zrO5VplY9jkn3G+4 pr/0nw38X2cXJMvF3K74cJvp6Zne20A6FILyFS2sA0+FolA6X4OZ8NQkbvP2I4cLxRn5Cs SXln+ZzCm2LYZzkECvtctrh74I21MSdXUDaiG6aaMMKCsg5S6ri5WeInCEWGNnI9VxVTe5 X09yu66gLSi9WGRyNU+IvxlXD655mO1rV0TA0PSvWF6WyE0B0SxZaCyYGZxyEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g80pV2t6jztKj for ; Sun, 03 May 2026 23:09:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22d59 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:09:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 667dd9eafa4d - main - tests/ping: Fix date(1) invocations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 667dd9eafa4d5352efdfcdc1a9e228c23fbc60f5 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:09:22 +0000 Message-Id: <69f7d5a2.22d59.2af19599@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=667dd9eafa4d5352efdfcdc1a9e228c23fbc60f5 commit 667dd9eafa4d5352efdfcdc1a9e228c23fbc60f5 Author: Mark Johnston AuthorDate: 2026-05-03 19:05:55 +0000 Commit: Mark Johnston CommitDate: 2026-05-03 21:51:50 +0000 tests/ping: Fix date(1) invocations Fixes: 069681afd58a ("ping: use CLOCK_REALTIME for ICMP Originate Timestamp") --- sbin/ping/tests/ping_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ping/tests/ping_test.sh b/sbin/ping/tests/ping_test.sh index 6e090cfd945a..af700615dc8d 100644 --- a/sbin/ping/tests/ping_test.sh +++ b/sbin/ping/tests/ping_test.sh @@ -272,8 +272,8 @@ timestamp_origin_body() atf_check test -n "$tsr" # Convert tso and tsr from HH:MM:SS to seconds - tso_s=`date -jf %H:%M:%S $tso` - tsr_s=`date -jf %H:%M:%S $tsr` + tso_s=`date -jf %H:%M:%S $tso +%s` + tsr_s=`date -jf %H:%M:%S $tsr +%s` diff=$((tso_s - tsr_s)) # Tolerate negative time difference between the sender and receiver From nobody Sun May 3 23:09:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g80pT5hLdz6cLFD for ; Sun, 03 May 2026 23:09: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 4g80pT2lM1z3Xj8 for ; Sun, 03 May 2026 23:09:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Svf1xg6vj6DSBIEBzJIfXj+SdU8tFpZCFc9wYaGskRw=; b=tIVLW/LmX2QJ6QXs1JZ0LRsHEneon7y1XEb3oz8QE4D+y4w0ekGLz0LC/EVl8DnfMyc6WV 0pzzEGJgCOrvB35L0dfCpVAyC5ywsJlzJm2iiewRl5ZLTpC6V4LJJkZUd6tkojwJvsJTcM l3odt8UzfYAA/zwhnf4yspOVQuZFEvthAia5KCFhkTToKLusKzQkfoDUUw9v0DoXwz9lrH gR/mVIDVZj1ZFSw7JMDGI+4DjASufzPywjUyjGd6rNyS65vtnD1IsV7y1+znz3/lxIC/j7 3v5DnYs/NLsGyFaj0BE+Q4gQvdy4vLBYfYL5QHJdmpl55AtkyedqSq9oHkqWUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777849761; a=rsa-sha256; cv=none; b=vTBF0S4/YQ6GGwDh1t2u47/yaqdqjMOlEt8JUmu34nFjvILwkX/uWTIaorpe7/weO2qdrW hM7Wow3fOZqm9mZiZbUnHJxPx9iWqazo3UCQ2fZUD+adx5aaKt9NzvFgepmXBQxDrI1pJW +zIe6M71coWBPD11rLC52MfQySMnUZTb36fC+4ugUfJiopqWw7Hwpn1cPZ2zmcabz+CIAg 0ztfOIbFFmTg4gFuSgEEYjPGphROGyF3KowKY0kO56wPLAJ9MBODWa3L+sPxF713nLnXIZ yjDNkPthCk2Wstkh2uYG2bondww177v8FLQJiKDKkAqKPrs0M4IDbmnZOw1q1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Svf1xg6vj6DSBIEBzJIfXj+SdU8tFpZCFc9wYaGskRw=; b=KkR0VHJNgT/jiQBTjwSu1Hd1Po1Rs1jgdS5p3sr5ZQCxR5Ho4JCkeZmnZNsUl/kCHKvliJ cCB7lJ7HNbPH6QaRGJQ5oOvVZ3JbKyImlKqGo5RQi2cG1pJ2fXpjk7u+6gkVaLOFSiX1M6 IDDjwTtnuVBKQ0ls3o72nm19oBUSMANUlJJziqaXVH2Lv70i/uwQavj/o1MZuCjqqeTVLH KJtwrfH+GaBFVGOrjXjEKMZOckVVnptM3Z5/Z77LYh/it7js9tSfWgBffqx8UH6sodSMAZ Uy3DgOrmfJkpZBF0QfL4UmVk1sbpdvn+2caahdLWD9AtxC3BARMsxJuEk3qRXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g80pT27gdztky for ; Sun, 03 May 2026 23:09:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24ca7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:09:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 47ae0135d461 - main - tests/if_lagg: Minor improvements List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47ae0135d461854b72b905ac77bf3e1f5b2868bc Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:09:21 +0000 Message-Id: <69f7d5a1.24ca7.59eba5c7@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=47ae0135d461854b72b905ac77bf3e1f5b2868bc commit 47ae0135d461854b72b905ac77bf3e1f5b2868bc Author: Mark Johnston AuthorDate: 2026-05-03 15:48:49 +0000 Commit: Mark Johnston CommitDate: 2026-05-03 21:51:50 +0000 tests/if_lagg: Minor improvements - Set require.kmods instead of relying on ifconfig to load if_lagg.ko, as this doesn't work when running within a jail. - Simplify helper functions which create tap and lagg devices. MFC after: 1 week --- tests/sys/net/if_lagg_test.sh | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/tests/sys/net/if_lagg_test.sh b/tests/sys/net/if_lagg_test.sh index 992cdd1ebc0d..7351700b3b82 100755 --- a/tests/sys/net/if_lagg_test.sh +++ b/tests/sys/net/if_lagg_test.sh @@ -35,6 +35,7 @@ create_head() { atf_set "descr" "Create a lagg and assign an address" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } create_body() { @@ -78,6 +79,7 @@ status_stress_head() { atf_set "descr" "Simultaneously query a lagg while also creating or destroying it." atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } status_stress_body() { @@ -133,6 +135,7 @@ create_destroy_stress_head() { atf_set "descr" "Simultaneously create and destroy a lagg" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } create_destroy_stress_body() { @@ -187,6 +190,7 @@ lacp_linkstate_destroy_stress_head() { atf_set "descr" "Simultaneously destroy an LACP lagg and change its childrens link states" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } lacp_linkstate_destroy_stress_body() { @@ -246,6 +250,7 @@ up_destroy_stress_head() { atf_set "descr" "Simultaneously up and destroy a lagg" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } up_destroy_stress_body() { @@ -303,6 +308,7 @@ set_ether_head() { atf_set "descr" "Set a lagg's ethernet address" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } set_ether_body() { @@ -341,6 +347,7 @@ updown_head() { atf_set "descr" "upping or downing a lagg ups or downs its children" atf_set "require.user" "root" + atf_set "require.kmods" if_lagg } updown_body() { @@ -418,35 +425,15 @@ atf_init_test_cases() # Creates a new tap(4) interface, registers it for cleanup, and echoes it get_tap() { - local TAPN=0 - while ! ifconfig tap${TAPN} create > /dev/null 2>&1; do - if [ "$TAPN" -ge 8 ]; then - atf_skip "Could not create a tap(4) interface" - else - TAPN=$(($TAPN + 1)) - fi - done - local TAPD=tap${TAPN} - # Record the TAP device so we can clean it up later - echo ${TAPD} >> "devices_to_cleanup" - echo ${TAPD} + ifconfig tap create > tap + cat tap | tee -a devices_to_cleanup } # Creates a new lagg(4) interface, registers it for cleanup, and echoes it get_lagg() { - local LAGGN=0 - while ! ifconfig lagg${LAGGN} create > /dev/null 2>&1; do - if [ "$LAGGN" -ge 8 ]; then - atf_skip "Could not create a lagg(4) interface" - else - LAGGN=$(($LAGGN + 1)) - fi - done - local LAGGD=lagg${LAGGN} - # Record the lagg device so we can clean it up later - echo ${LAGGD} >> "devices_to_cleanup" - echo ${LAGGD} + ifconfig lagg create > lagg + cat lagg | tee -a devices_to_cleanup } cleanup_tap_and_lagg() From nobody Sun May 3 23:09:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g80pR4Frxz6cLCB for ; Sun, 03 May 2026 23:09:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g80pR20jqz3Y9b for ; Sun, 03 May 2026 23:09:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NLNf9g69INEu6DZ6geNUWhMdl0bK2ZZgdFbC56RK2AI=; b=PSAJnrZR/+6HJsI0QYQTUKKZVWvSJz0/0RuFLgyRorzKYsJQWNgX1KH/jCaIa1G6GPDLOk gcBh5HUklH00wgDPMAeGAU2vDfBdx5A8iiEB2oE3Ifd7+XHy9KPdEFMhl+Xvq0sHn7UNXs C0Ui/GhF7zkJDplOdQGbTXLK7j30VxldTVLNxrWejzHG7phH1UIwgsyYkoObiawV4YZqSm et+6Ek6nd4IsQD277SkNgFMrz54pw7ZiUSDDCNmOe0LtQROKKiUZpsRHJRfcCDU8xrcQSc 5wNq0vYS2cWUUgyp0lAUHIAJYVqvrL+E5lfJ4uORLu+RU3GOK1bXiER9QzLJQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777849759; a=rsa-sha256; cv=none; b=jl0VQF6Uc4niblFgyAy3U4tS2Ewbh2cVfP6FJQEJSyZF2kY3FQ/3sHceNPBTIabiTj8WZf Udw0+nKeorsfDHJMpOzdG2ftvv7a/vhQupvRwTqoxI/oKvFZ65VLJHs4aet7rUGhBw2Hjv LdGJoL+jBq5kHIp5AYH2UtuglfAXLJgv4ylw2UJEYnSq+qifvHPZWHsFZxKg5YgJRtpDEZ Fb7jFLQ/CSrDBVUD4ZRflotLSWdhevPU20rIXNiyJ4hOcWgy1Tv77mklrnaPuEmPPQIPay PFaB+W0/bnX0PSMbCIRRTPnsa9AX39Aej1ED+0+1gT+7g4Gl/E1gdhvKbz27iA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777849759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NLNf9g69INEu6DZ6geNUWhMdl0bK2ZZgdFbC56RK2AI=; b=M9u/5xtlj1ZCBRToULL1neu+hv9qHA7Jsi/FvyZ80Xx92rJ/Jm4ai8SSxa9CkSsOBceqwP hTxq0t0SAi0S8spkkioT2aIzOcQhfGRha+YcM9+NQ0O7o8zTkZkIhRM23U7mBxNmie2NRx WcJOJBtTrjZpgqzHKxxnXacfgqaG464toS43/T+1ZkrmqP5kOn6/Uui+PadIJojVluP7i/ 7InPZmnv/sayjOzT6pdxWQLVwxLPHEDRZHuH82bqUhq5S/pMXDS+7bQoP2kpmiDwxckvGY 9nx2uio4J/ThNJ6tlB2Aw6LXTxmLz5GlkysyN7n9+Ga2z40FP0Z40ZSwuVTtNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g80pR1KTQztgh for ; Sun, 03 May 2026 23:09:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24c32 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:09:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 476805133f57 - main - unix: Make sure we signal EOF on the write side when disconnecting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 476805133f5736c2c8638e41d2b5d8dd2c597f3a Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:09:19 +0000 Message-Id: <69f7d59f.24c32.3cabcabf@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=476805133f5736c2c8638e41d2b5d8dd2c597f3a commit 476805133f5736c2c8638e41d2b5d8dd2c597f3a Author: Mark Johnston AuthorDate: 2026-05-03 15:46:22 +0000 Commit: Mark Johnston CommitDate: 2026-05-03 21:51:49 +0000 unix: Make sure we signal EOF on the write side when disconnecting Add a regression test. PR: 294014 Reported by: diizzy Reviewed by: glebius MFC after: 1 week Fixes: d15792780760 ("unix: new implementation of unix/stream & unix/seqpacket") Differential Revision: https://reviews.freebsd.org/D56764 --- sys/kern/uipc_usrreq.c | 2 ++ tests/sys/kern/unix_stream.c | 77 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 62 insertions(+), 17 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index d56aac883d9c..8ff9822ee9eb 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -3159,6 +3159,8 @@ unp_soisdisconnected(struct socket *so) so->so_state |= SS_ISDISCONNECTED; so->so_state &= ~SS_ISCONNECTED; so->so_rcv.uxst_peer = NULL; + selwakeuppri(&so->so_wrsel, PSOCK); + KNOTE_LOCKED(&so->so_snd.sb_sel->si_note, 0); socantrcvmore_locked(so); } diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 442b766ac885..df8dd1a15f85 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -109,6 +109,7 @@ typedef void check_func_t(struct check_ctx *); struct check_ctx { check_func_t *method; int sv[2]; + int kq; bool timeout; union { enum { SELECT_RD, SELECT_WR } select_what; @@ -156,24 +157,47 @@ check_poll(struct check_ctx *ctx) } static void -check_kevent(struct check_ctx *ctx) +add_kevent(struct check_ctx *ctx) { struct kevent kev; - int nfds, kq; + int kq, nfds; + + if (ctx->kq <= 0) { + kq = kqueue(); + ATF_REQUIRE(kq > 0); + ctx->kq = kq; + } - ATF_REQUIRE(kq = kqueue()); EV_SET(&kev, ctx->sv[0], ctx->kev_filter, EV_ADD, 0, 0, NULL); - nfds = kevent(kq, &kev, 1, NULL, 0, NULL); + nfds = kevent(ctx->kq, &kev, 1, NULL, 0, NULL); ATF_REQUIRE_MSG(nfds == 0, "kevent() returns %d errno %d", nfds, errno); - nfds = kevent(kq, NULL, 0, &kev, 1, ctx->timeout ? +} + +static void +check_kevent(struct check_ctx *ctx) +{ + struct kevent kev; + int nfds; + + nfds = kevent(ctx->kq, NULL, 0, &kev, 1, ctx->timeout ? &(struct timespec){.tv_nsec = 1000000} : NULL); ATF_REQUIRE_MSG(nfds == ctx->nfds, "kevent() returns %d errno %d", nfds, errno); - ATF_REQUIRE(kev.ident == (uintptr_t)ctx->sv[0] && - kev.filter == ctx->kev_filter && - (kev.flags & ctx->kev_flags) == ctx->kev_flags); - close(kq); + if (nfds > 0) { + ATF_REQUIRE_EQ(kev.ident, (uintptr_t)ctx->sv[0]); + ATF_REQUIRE_EQ(kev.filter, ctx->kev_filter); + ATF_REQUIRE_EQ(kev.flags & ctx->kev_flags, ctx->kev_flags); + } + close(ctx->kq); + ctx->kq = -1; +} + +static void +add_and_check_kevent(struct check_ctx *ctx) +{ + add_kevent(ctx); + check_kevent(ctx); } static void @@ -287,7 +311,7 @@ ATF_TC_WITHOUT_HEAD(full_writability_kevent); ATF_TC_BODY(full_writability_kevent, tc) { struct check_ctx ctx = { - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_WRITE, }; @@ -312,7 +336,7 @@ ATF_TC_BODY(connected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -333,13 +357,13 @@ ATF_TC_BODY(unconnected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); } -ATF_TC_WITHOUT_HEAD(peerclosed_writability); -ATF_TC_BODY(peerclosed_writability, tc) +ATF_TC_WITHOUT_HEAD(peerclosed_writability_level); +ATF_TC_BODY(peerclosed_writability_level, tc) { struct check_ctx ctx = { .timeout = false, @@ -355,6 +379,24 @@ ATF_TC_BODY(peerclosed_writability, tc) check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; ctx.kev_flags = EV_EOF; + add_and_check_kevent(&ctx); + + close(ctx.sv[0]); +} + +ATF_TC_WITHOUT_HEAD(peerclosed_writability_edge); +ATF_TC_BODY(peerclosed_writability_edge, tc) +{ + struct check_ctx ctx = { + .timeout = false, + .nfds = 1, + }; + + do_socketpair(ctx.sv); + ctx.kev_filter = EVFILT_WRITE; + ctx.kev_flags = EV_EOF; + add_kevent(&ctx); + close(ctx.sv[1]); check_kevent(&ctx); close(ctx.sv[0]); @@ -384,7 +426,7 @@ ATF_TC_BODY(peershutdown_writability, tc) * and then this test will also expect EV_EOF in returned flags. */ ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -463,7 +505,7 @@ ATF_TC_WITHOUT_HEAD(peershutdown_wakeup_kevent); ATF_TC_BODY(peershutdown_wakeup_kevent, tc) { peershutdown_wakeup(&(struct check_ctx){ - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_READ, .kev_flags = EV_EOF, }); @@ -525,7 +567,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, full_writability_select); ATF_TP_ADD_TC(tp, full_writability_poll); ATF_TP_ADD_TC(tp, full_writability_kevent); - ATF_TP_ADD_TC(tp, peerclosed_writability); + ATF_TP_ADD_TC(tp, peerclosed_writability_level); + ATF_TP_ADD_TC(tp, peerclosed_writability_edge); ATF_TP_ADD_TC(tp, peershutdown_writability); ATF_TP_ADD_TC(tp, peershutdown_readability); ATF_TP_ADD_TC(tp, peershutdown_wakeup_select); From nobody Sun May 3 23:27:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g81CZ1dtvz6cNHN for ; Sun, 03 May 2026 23:27:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g81CY4YQgz3dHN for ; Sun, 03 May 2026 23:27:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777850857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXCQaoDKOUJwaO+3Qh9nifXeKQTY/u8JW2uDQDOS6ag=; b=tin1Jw0YIM14a5n+ujQMqIwiPcJbpG8UfhwQdoaZGH09e/ZLM2zVVV1nPwqGURyiaef7Q+ 19t7JgyoFjZh0kTU31h0CEs+FVi0n06N6nVYqiL2lXsYE9cu0mJEpXxR6K6d59hNHThTlq yv9MFzAcvlWtj6qUzckyut3uR8fcUG1DbqY65258UoaeYB3MZSq4SAd0DrMo274tJOb2aG gW46seQ1qYuoEYP+GOz+/UJNsmhvOGeedlB6yUfHDM6malFcxOG62o6+WqC0X5APBmj/bm H/ATOfBb5T5LwZrAnvVl63LnSs1jbz1lLsPF81oJaWNe2anfJyDrNbCSCdE2Lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777850857; a=rsa-sha256; cv=none; b=iDKunaxGmQH7mszSkgI6055uCJKyq5gWXID2Rjg7m2RWDECPMPCl4kVpQG35uBhcMva+gl +IyTmi5z2ONIKb/EkTZG64ouorUyz54shdgekxV9NhEpPEgxx4mK3gGCL9TZvwhL428reB dfdK84NIT9jZsCFlQLz6LWpBAgBEMVfFbayis8AOpdWOvTM/xBradTdg04CvpVL8stZXYp Wwpy9st19N6s6wouAgIpguamA06+ZDYLtaKC/K8mD7Tq/caqqdUYa1I0hpQmaUF1tlVurJ ly5rIPjNaFHkXH47iIXeO6BZn4y7KbM9d47vP2SsLBzFq+E//WdNSY3BL1uJEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777850857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXCQaoDKOUJwaO+3Qh9nifXeKQTY/u8JW2uDQDOS6ag=; b=D1PyGAyDu3eSp5u1ytzDbbIFsAMoE97kzY2hNBnflOI83M2SSnczbp5yGv38HpTmS2pRrz I37IvG8oxSykSdREQ3fbhtmOKt/3/3PMi2dQ2ZUKIyxR2Gtxl1CQGUXAjyfTCtPMYHNtQT RG6B7U5vOOCHnikaTJxDsS4CGaWkkRp57++TrOeTAJCiZesFvrSPDl8Z2g2gsd06GJAT8I J1f0nRxxbBqcdEQmGthKOWLR56p2KW43T6JUypgOuEv/v5WOU2RMYQRHGAS4/ql57oW+Jn iUAoiPKEUsN67kVn3zeU4hF4nW+MrYIRtoJ0rGwzVMgmGpFmMljPF6zAd5r4ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g81CY1PTyztm9 for ; Sun, 03 May 2026 23:27:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2677a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:27:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 457c621add0a - main - nfsd: Disable use of callbacks for NFSv4.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 457c621add0a531273ee27798c924c6aaeacc4c1 Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:27:37 +0000 Message-Id: <69f7d9e9.2677a.243bc206@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=457c621add0a531273ee27798c924c6aaeacc4c1 commit 457c621add0a531273ee27798c924c6aaeacc4c1 Author: Rick Macklem AuthorDate: 2026-05-03 23:25:45 +0000 Commit: Rick Macklem CommitDate: 2026-05-03 23:25:45 +0000 nfsd: Disable use of callbacks for NFSv4.0 Commit 71ac1ec5c9d9 disabled callbacks for the NFS client for NFSv4.0. This patch does the same for the NFSv4.0 server. The only use for callbacks for NFSv4.0 is delegations and delegations rarely work well for NFSv4.0 anyhow. Therefore, this patch disables callbacks for the NFSv4.0 server. This is the same behavior as occurs when vfs.nfsd.issue_delegations is 0. This change allowed the functions called nfsrv_getclientipaddr() and nfsrv_getipnumber() to be removed from the kernel. MFC after: 2 weeks --- sys/fs/nfsserver/nfs_nfsdstate.c | 269 +++++---------------------------------- 1 file changed, 31 insertions(+), 238 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 4f4aff342872..22e702b001c0 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -165,7 +165,6 @@ static void nfsrv_insertlock(struct nfslock *new_lop, struct nfslock *insert_lop, struct nfsstate *stp, struct nfslockfile *lfp); static void nfsrv_updatelock(struct nfsstate *stp, struct nfslock **new_lopp, struct nfslock **other_lopp, struct nfslockfile *lfp); -static int nfsrv_getipnumber(u_char *cp); static int nfsrv_checkrestart(nfsquad_t clientid, u_int32_t flags, nfsv4stateid_t *stateidp, int specialid); static int nfsrv_checkgrace(struct nfsrv_descript *nd, struct nfsclient *clp, @@ -4079,279 +4078,73 @@ out: } /* - * Get the client ip address for callbacks. If the strings can't be parsed, - * just set lc_program to 0 to indicate no callbacks are possible. - * (For cases where the address can't be parsed or is 0.0.0.0.0.0, set - * the address to the client's transport address. This won't be used - * for callbacks, but can be printed out by nfsstats for info.) + * Just set lc_program to 0 to indicate no callbacks are possible. + * Set the address to the client's transport address. This won't be used + * for callbacks, but can be printed out by nfsstats for info. * Return error if the xdr can't be parsed, 0 otherwise. */ int nfsrv_getclientipaddr(struct nfsrv_descript *nd, struct nfsclient *clp) { - u_int32_t *tl; - u_char *cp, *cp2; - int i, j, maxalen = 0, minalen = 0; - sa_family_t af; + uint32_t *tl; + int error = 0, i; #ifdef INET - struct sockaddr_in *rin = NULL, *sin; + struct sockaddr_in *rin, *sin; #endif #ifdef INET6 - struct sockaddr_in6 *rin6 = NULL, *sin6; -#endif - u_char *addr; - int error = 0, cantparse = 0; -#ifdef INET - union { - in_addr_t ival; - u_char cval[4]; - } ip; -#endif -#if defined(INET6) || defined(INET) - union { - in_port_t sval; - u_char cval[2]; - } port; + struct sockaddr_in6 *rin6, *sin6; #endif - /* 8 is the maximum length of the port# string. */ - addr = malloc(INET6_ADDRSTRLEN + 8, M_TEMP, M_WAITOK); clp->lc_req.nr_client = NULL; clp->lc_req.nr_lock = 0; - af = AF_UNSPEC; - NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); i = fxdr_unsigned(int, *tl); - if (i >= 3 && i <= 4) { - error = nfsrv_mtostr(nd, addr, i); + if (i < 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } else if (i > 0) { + error = nfsm_advance(nd, NFSM_RNDUP(i), -1); if (error) goto nfsmout; -#ifdef INET - if (!strcmp(addr, "tcp")) { - clp->lc_flags |= LCL_TCPCALLBACK; - clp->lc_req.nr_sotype = SOCK_STREAM; - clp->lc_req.nr_soproto = IPPROTO_TCP; - af = AF_INET; - } else if (!strcmp(addr, "udp")) { - clp->lc_req.nr_sotype = SOCK_DGRAM; - clp->lc_req.nr_soproto = IPPROTO_UDP; - af = AF_INET; - } -#endif -#ifdef INET6 - if (af == AF_UNSPEC) { - if (!strcmp(addr, "tcp6")) { - clp->lc_flags |= LCL_TCPCALLBACK; - clp->lc_req.nr_sotype = SOCK_STREAM; - clp->lc_req.nr_soproto = IPPROTO_TCP; - af = AF_INET6; - } else if (!strcmp(addr, "udp6")) { - clp->lc_req.nr_sotype = SOCK_DGRAM; - clp->lc_req.nr_soproto = IPPROTO_UDP; - af = AF_INET6; - } - } -#endif - if (af == AF_UNSPEC) { - cantparse = 1; - } - } else { - cantparse = 1; - if (i > 0) { - error = nfsm_advance(nd, NFSM_RNDUP(i), -1); - if (error) - goto nfsmout; - } } - /* - * The caller has allocated clp->lc_req.nr_nam to be large enough - * for either AF_INET or AF_INET6 and zeroed out the contents. - * maxalen is set to the maximum length of the host IP address string - * plus 8 for the maximum length of the port#. - * minalen is set to the minimum length of the host IP address string - * plus 4 for the minimum length of the port#. - * These lengths do not include NULL termination, - * so INET[6]_ADDRSTRLEN - 1 is used in the calculations. - */ - switch (af) { + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + i = fxdr_unsigned(int, *tl); + if (i < 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } else if (i > 0) { + error = nfsm_advance(nd, NFSM_RNDUP(i), -1); + if (error) + goto nfsmout; + } + switch (nd->nd_nam->sa_family) { #ifdef INET case AF_INET: + sin = (struct sockaddr_in *)nd->nd_nam; rin = (struct sockaddr_in *)clp->lc_req.nr_nam; rin->sin_family = AF_INET; rin->sin_len = sizeof(struct sockaddr_in); - maxalen = INET_ADDRSTRLEN - 1 + 8; - minalen = 7 + 4; + rin->sin_addr.s_addr = sin->sin_addr.s_addr; + rin->sin_port = 0x0; break; #endif #ifdef INET6 case AF_INET6: + sin6 = (struct sockaddr_in6 *)nd->nd_nam; rin6 = (struct sockaddr_in6 *)clp->lc_req.nr_nam; rin6->sin6_family = AF_INET6; rin6->sin6_len = sizeof(struct sockaddr_in6); - maxalen = INET6_ADDRSTRLEN - 1 + 8; - minalen = 3 + 4; + rin6->sin6_addr = sin6->sin6_addr; + rin6->sin6_port = 0x0; break; #endif } - NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); - i = fxdr_unsigned(int, *tl); - if (i < 0) { - error = NFSERR_BADXDR; - goto nfsmout; - } else if (i == 0) { - cantparse = 1; - } else if (!cantparse && i <= maxalen && i >= minalen) { - error = nfsrv_mtostr(nd, addr, i); - if (error) - goto nfsmout; - - /* - * Parse out the address fields. We expect 6 decimal numbers - * separated by '.'s for AF_INET and two decimal numbers - * preceded by '.'s for AF_INET6. - */ - cp = NULL; - switch (af) { -#ifdef INET6 - /* - * For AF_INET6, first parse the host address. - */ - case AF_INET6: - cp = strchr(addr, '.'); - if (cp != NULL) { - *cp++ = '\0'; - if (inet_pton(af, addr, &rin6->sin6_addr) == 1) - i = 4; - else { - cp = NULL; - cantparse = 1; - } - } - break; -#endif -#ifdef INET - case AF_INET: - cp = addr; - i = 0; - break; -#endif - } - while (cp != NULL && *cp && i < 6) { - cp2 = cp; - while (*cp2 && *cp2 != '.') - cp2++; - if (*cp2) - *cp2++ = '\0'; - else if (i != 5) { - cantparse = 1; - break; - } - j = nfsrv_getipnumber(cp); - if (j >= 0) { - if (i < 4) -#ifdef INET - ip.cval[3 - i] = j; -#else - ; -#endif -#if defined(INET6) || defined(INET) - else - port.cval[5 - i] = j; -#endif - } else { - cantparse = 1; - break; - } - cp = cp2; - i++; - } - if (!cantparse) { - /* - * The host address INADDR_ANY is (mis)used to indicate - * "there is no valid callback address". - */ - switch (af) { -#ifdef INET6 - case AF_INET6: - if (!IN6_ARE_ADDR_EQUAL(&rin6->sin6_addr, - &in6addr_any)) - rin6->sin6_port = htons(port.sval); - else - cantparse = 1; - break; -#endif -#ifdef INET - case AF_INET: - if (ip.ival != INADDR_ANY) { - rin->sin_addr.s_addr = htonl(ip.ival); - rin->sin_port = htons(port.sval); - } else { - cantparse = 1; - } - break; -#endif - } - } - } else { - cantparse = 1; - if (i > 0) { - error = nfsm_advance(nd, NFSM_RNDUP(i), -1); - if (error) - goto nfsmout; - } - } - if (cantparse) { - switch (nd->nd_nam->sa_family) { -#ifdef INET - case AF_INET: - sin = (struct sockaddr_in *)nd->nd_nam; - rin = (struct sockaddr_in *)clp->lc_req.nr_nam; - rin->sin_family = AF_INET; - rin->sin_len = sizeof(struct sockaddr_in); - rin->sin_addr.s_addr = sin->sin_addr.s_addr; - rin->sin_port = 0x0; - break; -#endif -#ifdef INET6 - case AF_INET6: - sin6 = (struct sockaddr_in6 *)nd->nd_nam; - rin6 = (struct sockaddr_in6 *)clp->lc_req.nr_nam; - rin6->sin6_family = AF_INET6; - rin6->sin6_len = sizeof(struct sockaddr_in6); - rin6->sin6_addr = sin6->sin6_addr; - rin6->sin6_port = 0x0; - break; -#endif - } - clp->lc_program = 0; - } + clp->lc_program = 0; nfsmout: - free(addr, M_TEMP); NFSEXITCODE2(error, nd); return (error); } -/* - * Turn a string of up to three decimal digits into a number. Return -1 upon - * error. - */ -static int -nfsrv_getipnumber(u_char *cp) -{ - int i = 0, j = 0; - - while (*cp) { - if (j > 2 || *cp < '0' || *cp > '9') - return (-1); - i *= 10; - i += (*cp - '0'); - cp++; - j++; - } - if (i < 256) - return (i); - return (-1); -} - /* * This function checks for restart conditions. */