From nobody Mon Oct  5 12: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 4hyyv43DDJz4n9vQ
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 12:12:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hyyv426J3z4f7S
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 12: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=1791202352;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=/WbXJcTLiysd69/79rDWp9KlmLEfJpq7BoWm+bhTcG4=;
	b=NSPlcksTUygWD12gkKQ0AMpStfuOMtZOnwm0vYF6JRyOpacXrNz0ciBKeHeeXDRv4oiNky
	DrsLKpVGaosq1j+DcI23NpRAIGc719fEO42dyAAMBpLTn0YNqvDf19ALymPYvQTzGqR6kZ
	YsfOVttvBcWOHk3iiKB4JrR00pK8b/Ua6KR7RcabY6UnEoaew13NAREeggXZGEcEH30WCt
	+/s0OsH2vTRtuYIWcYWlZuJmoIkZVaHCRQtxqEKdruy7JJMnJnqMsrPEVFUHkzairUC8yi
	3vWwEAvn+zIJoOTWhIlzgdRVPya6MK4AwdooMcV5TMvL10xRWldYE0EqTMcYwQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791202352;
	b=pGcnBOg8tGn7gDJUg8VzKl7LQd89RjQ1ZRU8fIj3DGN2ZHttlskN7IvLFSkyKJwx2MhjyP
	AxcTF7s80h2ql5nbBfwaCpRRkLXktbKkThdP7LMYpm7OPrBVwOKa13HFaDEGi9jOaM78aS
	aYrfqp8QVjODyMjNAjeAikadKAlqJL0smFVNEKfZameChvsXdkSOYX1OEXR+lQxhVVEzpC
	x2ISiJuFeYgQWrEqLBeSWxuq3T7eMTRiVk8b8xIygICslinCfmWYPpWGMdF+09KNp7DE82
	Z6xDVSbHSCcKUZHE3nTEUAad7hp0uZr/wq3rfG4bC0sZxgMQmIRj9qGgbUZdQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791202352;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=/WbXJcTLiysd69/79rDWp9KlmLEfJpq7BoWm+bhTcG4=;
	b=Nk9Rmyha7PVVzRCNOuIeqmP1FLmdArHc9mr2EqZHhkJQDKNAl/IXferLhZmobYBRHTy55t
	yUewbjW+vqtEqTtSK+cMx3CzW8aPpM5hZXFaR6BaLguAE9+CF2IY24lhvBaKg7Guu1lnv0
	DcHiAFWVIidBv2z2jAunoZ2LdOHBuU65ROrM8n1SAdtcOobWjaKjZgQ8KcWF4nXeAT21vr
	lGZmeApU0JJnKgbAunx4C+Jb3E+GvYMGPZl/TKZX6vOhuPOiNK/+xDqE2T5vbstTdhvjE1
	uAcbTMM5Y1aGrGjUkQA1sHx2kV0HahJRcdliVPpYrnQqlAoWXqcRcTDXWtwK4Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hyyv40y2WzJqK
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 12:12:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3aba2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 12:12:32 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Sourojeet A <siri@racha.ca>
From: Ed Maste <emaste@FreeBSD.org>
Subject: git: d7e7397c2171 - main - LinuxKPI: Add crc16.h for amdkfd support
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: d7e7397c217137c9f2465f60a7faf129c87934ec
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 12:12:32 +0000
Message-Id: <6ac39430.3aba2.310c1119@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit d7e7397c217137c9f2465f60a7faf129c87934ec
Author:     Sourojeet A <siri@racha.ca>
AuthorDate: 2026-10-05 12:10:41 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-10-05 12:12:09 +0000

    LinuxKPI: Add crc16.h for amdkfd support
    
    Reviewed by:    wulf
    Differential Revision:  https://reviews.freebsd.org/D60275
---
 sys/compat/linuxkpi/common/include/linux/crc16.h | 13 +++++++++++++
 sys/sys/crc16.h                                  |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/crc16.h b/sys/compat/linuxkpi/common/include/linux/crc16.h
new file mode 100644
index 000000000000..a44f05160f84
--- /dev/null
+++ b/sys/compat/linuxkpi/common/include/linux/crc16.h
@@ -0,0 +1,13 @@
+/*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2026 The FreeBSD Foundation
+ */
+
+#ifndef _LINUXKPI_LINUX_CRC16_H_
+#define _LINUXKPI_LINUX_CRC16_H_
+
+#include <linux/types.h>
+#include <sys/crc16.h>
+
+#endif /* _LINUXKPI_LINUX_CRC16_H_ */
diff --git a/sys/sys/crc16.h b/sys/sys/crc16.h
index 38f1e8220c41..145a10c9041f 100644
--- a/sys/sys/crc16.h
+++ b/sys/sys/crc16.h
@@ -34,7 +34,7 @@
 extern uint16_t const crc16_table[256];
 
 static inline uint16_t
-crc16(uint16_t crc, const void *buffer, unsigned int len)
+crc16(uint16_t crc, const void *buffer, size_t len)
 {
 	const unsigned char *cp = buffer;
 	while (len--)

From nobody Mon Oct  5 13:08: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 4hz07P3DrLz4nG8J;
	Mon, 05 Oct 2026 13:08:17 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz07P2bvvz4kq1;
	Mon, 05 Oct 2026 13:08:17 +0000 (UTC)
	(envelope-from des@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791205697;
	h=from:from:reply-to:subject:subject: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=p9aEdWKn14Ikk0gmze5uwyx6ABCo2JsmgC18CuTOi5s=;
	b=f0QftDJTfFZ0KRiFkpit2LyjPIw0LX/hM40wZwmjyntynwYMRhpt5yB7A2GMxNmxQX5hrD
	bNIlnxz7JoMwJV0NHRJVBVE36sekY21Hwm7+XhuDrUNcsEY9ukTVPCCXa0SocooufLTvzt
	Js5JJ4fS5ODEiRzBbL/MypV+yy6q5eQ7iru0EL1DwrsiuMXB6otZeJTZf5bfMdxFQGLpEl
	Ng/M+k5Dk9nczcpu1tt6sStlOk+/snbH8VjktpjOtNA4hUFdg/jM8wi2SvzIyxOrR3Tm2t
	HS6h59YdYVg5B4qmi4ItMTbUOPqR4KTuRLR83CczXCFoJWabbGqpkw2Iou54/g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791205697;
	b=DKO8IVXj09QhfShF8HnIiYnw/j+i4GmhIvZs/cmzzafXd5IffwI6ZiCrDbOSp/94k9W6N2
	bd6qhiHSc3QXDiYWa5lK/KPKrpGmepbUa4Gj5U06pZu4YiWazlqX7gtxi0c3ooqjUnoWgi
	+KHWC2k0mg9T59w7hBPRdO04tqN+QivfYmuArMkg8a4wUPonmV1zf3H7NFSsMW7Ey5e/TY
	YyxLjHTMOjQ7J7i/uSo0uqvXIvJ2fbLOhv5KCZtzHIDIXMfeHcu5ffhic7LD570qvTXiEq
	H4wBHDm3Z9wyPrhJnYc4w9eksQIk/PwneC6EO4KI2fLXdxWG+roq1SbMPW7WIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791205697;
	h=from:from:reply-to:subject:subject: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=p9aEdWKn14Ikk0gmze5uwyx6ABCo2JsmgC18CuTOi5s=;
	b=QRHf/RnNY5iMBfCK7+ObTFmBAoahpa2aFiZp5qSMTQRbFR95OTZT+NpMraw4CVUT8NxLQf
	mEEXdARQlSAcXIvJBWXbz1nO4Jflo0ZJM7nPXyB+a+7o+JV8hp8r9M2Cq4veY9JX0MT3td
	fO3Cf7OJ5uQ0O/7rykPZSlRsuiSVdiCzLkKL7q0QIq5/6HkCY37TnzIYh7tKnimY8vWjUo
	kC4fKuCVyoTc0v4TvM0aZMCquMtiD48yvoIX1jIX7gZ0/8No1R90wUb/xdoxT8eZQ2zUM/
	fY3WxhdAkyftD/CwsHAt5YnInckkfzx2x1P4qtd7iUfH2fe2ESNkl/CqLnnX4Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
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 4hz07P0HF3zYD7;
	Mon, 05 Oct 2026 13:08:17 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: by ltc.des.dev (Postfix, from userid 1001)
	id C715E11E5DE; Mon, 05 Oct 2026 15:08:15 +0200 (CEST)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
To: Maxim Sobolev <sobomax@FreeBSD.org>
Cc: src-committers@FreeBSD.org,  dev-commits-src-all@FreeBSD.org,
  dev-commits-src-main@FreeBSD.org
Subject: Re: git: 43b0384bc7e8 - main - mountpoint(1): new utility,
 implemented as a stat(1) hardlink
In-Reply-To: <6abecfdf.3a8dc.610fc5a7@gitrepo.freebsd.org>
References: <6abecfdf.3a8dc.610fc5a7@gitrepo.freebsd.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Mon, 05 Oct 2026 15:08:15 +0200
Message-ID: <86jynwnvls.fsf@ltc.des.dev>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Maxim Sobolev <sobomax@FreeBSD.org> writes:
> commit 43b0384bc7e87df5bd164ce833617e68824f4828
> Author:     Maxim Sobolev <sobomax@FreeBSD.org>
> AuthorDate: 2026-10-01 21:25:37 +0000
> Commit:     Maxim Sobolev <sobomax@FreeBSD.org>
> CommitDate: 2026-10-01 21:25:37 +0000
>
>     mountpoint(1): new utility, implemented as a stat(1) hardlink

Why was this implemented as a stat(1) hardlink?  There is aboslutely no
common code between the two.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org

From nobody Mon Oct  5 13:12: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 4hz0Cz5tt7z4nGKd
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 13:12: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz0Cz2Xj0z4mDJ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:12:15 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791205935;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=+XuMtkX4y5yWZWGyxpcdhOVN3Erq+ZYgE3rqdPu0wEk=;
	b=AlLWwYMgznC83vzsQR05PzYMSCO4TmecK1GCyXpWEQDC/DtkzefCDhWUxNHT4OQh4ITMvT
	nz/UqRX+6ep0d+jpr5fdTxSZ52qTiTuNPBWiZqWeQtBHX6Wy5FxRAhfJ1KQ+GhYugO76YJ
	ncYPf379WsfPXMz+1PU/O8Q2ViiGmYOkNYJf86A74bJCYE7rNCj9CNy3TbJbhef4rGI72B
	YCBDmyNvz+WXos7pMKTRB1Z0tQ2BlFUy6SNCEcKBozb7LRfuxf8o/19wlTRDazaI5WQyYr
	aXFRp0QXqEy37x3fp0HRlOZ86B6Z2RThqdx6wtCjpZRDooESsJyCZgaGJnAslg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791205935;
	b=c40ns1WGgbXxdyNBVEN2NYN2jLtewGwDM2N2vrJHUdwW1tqog3xj8flwQ+Ucj2hOx7myyT
	nEX4Yi559qL1pA6m58jBSN2Vnhf2rhRhDragR/BhWORNb0CPvNL2qeF4fP07AehDEDwU6+
	/xZO5xrKYlH5jMlI+2RjMmpxbkNxH4N4iV0ILuIdz5o+3rlN/kbHwpVXtJ98c8pJCgAQf2
	yqNUgJ1hr2UWWvBFN2Ff0DQ3JT8Hvabuv8x357XlYsWp3QGIYx5ZbDvwDF7OATdMSfgrfH
	YolEkT+amIv6hzPre8ulX2uSwyvyqAMTx95Fotwt63SSmo7P+LQR1+ruEARj6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791205935;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=+XuMtkX4y5yWZWGyxpcdhOVN3Erq+ZYgE3rqdPu0wEk=;
	b=jwOsvRp1kta+L9z/+FwojpsTDHVYmDoyUOrRZEwd7tBGuu6/Bd0fsU/4X2JdoUvA+IXwEn
	Gngd8d4zmkU6a1x87UPDWRCqctVdAiUaJBWLLINJj7Kd4Yve6UiDcQot/OeTvpVo4Bfn/A
	GDdaSWWWHw+RXMEQqVYpQsEAnH6bCm2lfKoklxmKZvPKTjM/cxV4+WSCR8w8/sdOSykVH/
	+oDg99p+gYiKwwFw6AnX0ICOrymEB8hPCJdVHhUyCuAaa4UIdx+GH1vd/nz+WgFJIUW4gn
	uii9mzkIkGQdSjvG41sY9j0ZeXrlkqFLAUV1x0ZeAwfMToHgNqTzBAfADgvLPA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz0Cz0vQLzKtM
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:12:15 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 409a4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 13:12:15 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Peter Eriksson <pen@lysator.liu.se>
From: Ed Maste <emaste@FreeBSD.org>
Subject: git: b30e67dc130e - main - camcontrol: Add support for firmware uploading on HPE-branded drives
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: b30e67dc130ea8217e92e0b4c462f189e2268eba
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 13:12:15 +0000
Message-Id: <6ac3a22f.409a4.1fe5013@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit b30e67dc130ea8217e92e0b4c462f189e2268eba
Author:     Peter Eriksson <pen@lysator.liu.se>
AuthorDate: 2026-10-02 16:45:59 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-10-05 13:11:27 +0000

    camcontrol: Add support for firmware uploading on HPE-branded drives
    
    PR:             299059
---
 sbin/camcontrol/fwdownload.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sbin/camcontrol/fwdownload.c b/sbin/camcontrol/fwdownload.c
index 569021c2bfc1..d8057dab326c 100644
--- a/sbin/camcontrol/fwdownload.c
+++ b/sbin/camcontrol/fwdownload.c
@@ -197,6 +197,8 @@ static struct fw_vendor vendors_list[] = {
 	0x8000, 0x05, 0x05, 1, 0, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
 	{VENDOR_HP,	 	"HP",		T_ANY,
 	0x8000, 0x07, 0x07, 0, 1, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
+	{VENDOR_HP,	 	"HPE",		T_ANY,
+	0x8000, 0x07, 0x07, 0, 1, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
 	{VENDOR_IBM,		"IBM",		T_SEQUENTIAL,
 	0x8000, 0x07, 0x07, 0, 1, FW_TUR_NA, 300 * 1000, FW_TIMEOUT_DEFAULT},
 	{VENDOR_IBM,		"IBM",		T_ANY,

From nobody Mon Oct  5 13:21: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 4hz0QF55BMz4nGxv
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 13:21: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz0QF3SH2z4ng2
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:21:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791206469;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bp5yuHxB35Tttc0BVVP65zzYW+wVVm5ves60R0AYJO8=;
	b=vMeLKqNAMuanaKraB1aY63+rcZ0isZzSEgjRbmIgnYxzVVI1uU92XhMSaimpJTOaekt01w
	LSHShC2ZzjatKyFECkcI0KfrtvVpHeXqejvTkzfImXuqZtildn3LNm1nsqNb8pVu4DBjWi
	Ep9UdFZAklrnQwUc36sYA8sESiboYzm2Y5kX6aV5TAcY2NlokrPsrUG/CowqIb7myQucoa
	KNa3NYYhOGLmSYTVUi2b3I6+6p53AYmVqfSBn4tMgtlvj0lFF8KzFcWjZnqKcIn4FQknse
	kVF0tIDiChThTfvZQFpKs1g20I/vSaT8xjdYA41WUNktD0YLsVljBgAOCHOxNQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791206469;
	b=yXdCTA3fTNspyBVIk1Affq/uRejXGy6isthiCn1S/xVQsyIFlz3vgEw6t3tXTXxbA0lk6q
	DL/oM1NZD4BqO/L7/6BKAxdaLItMMC1nWsF5Fp1liltA2yhQ2RkXtLCSeK0JccZW0NgRoX
	3+NB8xctNlky1itmb18yv0oeml6CcX4ArFwtpsqtno5zW016HtABDgPb6GqO04PcSOAM0x
	68QhnWy3kfVFqW7EBoCZz6/6g/S6b4svi7R5GGdGkIeeYeRVksDx3fEaXsxZGetZCq3vD2
	onoElU7hwP1Fq1VHOb4aUFZ1XufvwglzZT1ocpH8NX7daCtZbXc/RTtKMeLz7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791206469;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bp5yuHxB35Tttc0BVVP65zzYW+wVVm5ves60R0AYJO8=;
	b=aPlbJwGc4fWKFQ0myXqdRUrRyRqRrxW1YqHVAhb7p7wLUGQQFh6GyARds1k9e/SmG0krXT
	nu1obBzEtlx+A5cr2E0m5XOHqjwShI8zrnxNxsxlGFUlmQbcPzVIHBGzspGQr/md3a3lik
	L/jtD/fvHskxKHoPG3r69fjIefKWS/0ZbmyKHSfuFe2yS7H1PLE7H5Z/HREz+RnUlvdsyt
	Edw9sBepFwo6dQK/hhzvV0Zh1bWI6c/ZkrjJ2CVtK9SdOxqCqM+0DzS2A61xyNaaNzGy6Q
	oWDAAyna/hNQxFckGTAQWQEkAx4r7eLuGNhbC+F/rUalZiBaLVvJRJs2aS3c+w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz0QF2S2KzL7W
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:21:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 40859
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 13:21:09 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: c109a681456d - main - netinet6: Fix the OSIOCAIFADDR_IN6 handler
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: c109a681456d03fc0737ca83487995e28b759e3b
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 13:21:09 +0000
Message-Id: <6ac3a445.40859.16ead508@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit c109a681456d03fc0737ca83487995e28b759e3b
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-05 13:13:47 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-05 13:20:58 +0000

    netinet6: Fix the OSIOCAIFADDR_IN6 handler
    
    We cannot simply treat a pointer to struct oin6_aliasreq as a pointer to
    struct in6_aliasreq: the latter is larger.  In particular, the store to
    ifra->ifra_vhid is out of bounds.
    
    Since OSIOCAIFADDR_IN6 does not need to copy data back out, it can
    simply use a struct in6_ifaliasreq on the stack.
    
    Reported by:    Andrew <xxx.sys@protonmail.com>
    Reviewed by:    pouria
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60184
---
 sys/netinet6/in6.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 2c4dd09a28db..aa0528552163 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -266,7 +266,7 @@ in6_control_ioctl(u_long cmd, void *data,
 {
 	struct	in6_ifreq *ifr = (struct in6_ifreq *)data;
 	struct	in6_ifaddr *ia = NULL;
-	struct	in6_aliasreq *ifra = (struct in6_aliasreq *)data;
+	struct in6_aliasreq tmpifra, *ifra = (struct in6_aliasreq *)data;
 	struct sockaddr_in6 *sa6;
 	int error;
 	bool control_locked = false;
@@ -276,7 +276,9 @@ in6_control_ioctl(u_long cmd, void *data,
 	 */
 	if (cmd == OSIOCAIFADDR_IN6) {
 		cmd = SIOCAIFADDR_IN6;
-		ifra->ifra_vhid = 0;
+		ifra = &tmpifra;
+		memset(ifra, 0, sizeof(*ifra));
+		memcpy(ifra, data, sizeof(struct oin6_aliasreq));
 	}
 
 	switch (cmd) {

From nobody Mon Oct  5 13:23: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 4hz0Sq4Xjrz6jqrJ
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 13:23:23 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz0Sq2MClz4pV7
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:23:23 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791206603;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HJkUY6p8cKwivDVBOxWePlMRyZVw/eCnnQMEveDWYhg=;
	b=gpOmQFS5mtlNzscDjh0V7qJ8fhT1jwDDUk478y6g0bSs5dcaBaTbbSD4T3F8kTuO2aQkxb
	XflCly3ckcqVCtXYbs1Hgn1ZKpmSVYuOTeUUjJSK6tSxUZDBVPwY1tJFTOhYTcw5Ic8HH9
	/5WInLXzynGPKbpYOCzl+ixfhS4AkIjv8SW6itLPitqYnyVC639h6nijs0TFd1fVGV4t4U
	WKytdc7pGQpY+KagQPHNXmhNryWQZcpxyZCGZRSeAgewDs0SrW3NPUEsUARPa985mUD9F2
	C6PJCNSdGBo4nbeVuPwW7paM5jXY0Y5o6hTlyJG4r960m3qSFlg6tCUgwDPN6w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791206603;
	b=eUNDaEwq514Hgf8zyG4tSaSG6Wm4X4uaJRDmZUGQh6Ctr9k01OFqNx4KxcHZISA602YYjb
	Xw+KynD4RwJ7P81RYXF5ApgZv4N6eWbuKhoFfZCxuGHh4hHKBeHo9yXwjG+i1pzaT0upcA
	XioFoEPROdQ3VO+6n2qxoItc8UB/Oxk9PVJOR0UIIO6Uv+8hdEngYkLdFzS7uWb4i2Lj7y
	7IFjRTnawZAHwTa9seLEBAlIYq2ysnI0XkHvIamOx/UUqxZ2NVyEC/2jGg1K+9Ju/9Ncom
	XLIBnoyw/ODKw62l1KzBvVjTLHM6ug/xBBaua4z0gGOTB+lhxkDwpAIFx0Yjgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791206603;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HJkUY6p8cKwivDVBOxWePlMRyZVw/eCnnQMEveDWYhg=;
	b=E4NOuGS5d5vhj5IAVqOFNF090U+ql2kQIF95fW0gWYimq99SW94/axEx0IvLgglCoQ3Ldd
	041FZt11whWiSclme9qbQ0K8oe+vCXvK8rfu+76y42JHqgwHLBFxleiLJwUXJFmjjIufm9
	sOMKUr0+9AlxqMUUcHh7egmlJk41M7B9dLf2Q6PL+elTekVXEfsxrF7y9THS9vynH7WdS/
	Et4y1UdUjah/X3pb/3zy1YfYkccVokffgwvgTpKo3Y+c40oia62s2gApLaatjcy+WkBSY2
	8TXXVDuCRaf0vdjbXayeoeSn/HHkr3qdWdJingz8PrHafgIDKKFOrnLt5JCQKQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz0Sq0Q7PzL7v
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:23:23 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 41ff9
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 13:23:23 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Andrew Griffiths <andrew@calif.io>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 80af0a32e48b - main - tcp: Preserve borrowed ICMPv6 error mbufs
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 80af0a32e48bff6ad97e768b16d2dbc01ac8d1c3
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 13:23:23 +0000
Message-Id: <6ac3a4cb.41ff9.c4256a2@gitrepo.freebsd.org>

The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=80af0a32e48bff6ad97e768b16d2dbc01ac8d1c3

commit 80af0a32e48bff6ad97e768b16d2dbc01ac8d1c3
Author:     Andrew Griffiths <andrew@calif.io>
AuthorDate: 2026-10-05 13:14:38 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-05 13:21:20 +0000

    tcp: Preserve borrowed ICMPv6 error mbufs
    
    The TCP-over-UDP ICMP callback receives ip6c_m as a borrowed chain owned
    by icmp6_notify_error.  It used m_pulldown() to obtain a contiguous UDP
    header even though that API frees the complete chain when the requested
    range is unavailable.  The callback could then return without
    propagating the lost ownership, leaving raw ICMP delivery to read and
    free a stale head.
    
    Validate that the complete UDP header was quoted, copy it through the
    chain with m_copydata(), and temporarily advance the parser offset
    instead of consuming bytes from the caller-owned packet.
    
    A remote sender can reach the old path when TCP UDP tunneling is enabled
    by quoting the configured local UDP source port in an ICMPv6 error and
    including only four through seven UDP-header bytes.
    
    Signed-off-by: Andrew Griffiths <andrew@calif.io>
    
    Reviewed by:    pouria, tuexen, markj
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D60143
---
 sys/netinet/tcp_subr.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index 1be803ed443f..4650e8035260 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -3392,25 +3392,21 @@ static void
 tcp6_ctlinput_viaudp(udp_tun_icmp_param_t param)
 {
 	struct ip6ctlparam *ip6cp = param.ip6cp;
-	struct mbuf *m;
-	struct udphdr *udp;
+	struct udphdr udp;
 	uint16_t port;
 
-	m = m_pulldown(ip6cp->ip6c_m, ip6cp->ip6c_off, sizeof(struct udphdr), NULL);
-	if (m == NULL) {
+	if (ip6cp->ip6c_m->m_pkthdr.len <
+	    ip6cp->ip6c_off + sizeof(struct udphdr))
 		return;
-	}
-	udp = mtod(m, struct udphdr *);
-	if (ntohs(udp->uh_sport) != V_tcp_udp_tunneling_port) {
+	m_copydata(ip6cp->ip6c_m, ip6cp->ip6c_off, sizeof(udp),
+	    (caddr_t)&udp);
+	if (ntohs(udp.uh_sport) != V_tcp_udp_tunneling_port)
 		return;
-	}
-	port = udp->uh_dport;
-	m_adj(m, sizeof(struct udphdr));
-	if ((m->m_flags & M_PKTHDR) == 0) {
-		ip6cp->ip6c_m->m_pkthdr.len -= sizeof(struct udphdr);
-	}
+	port = udp.uh_dport;
+	ip6cp->ip6c_off += sizeof(struct udphdr);
 	/* Now call in to the normal handling code */
 	tcp6_ctlinput_with_port(ip6cp, port);
+	ip6cp->ip6c_off -= sizeof(struct udphdr);
 }
 
 #endif /* INET6 */

From nobody Mon Oct  5 13:37: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 4hz0nb5qSnz6js5T
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 13:37: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz0nb3rP4z4rMn
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:37:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791207475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=uL/DHqRFtMY1BuxuLcKYYvhm9+vr6bGuKASFABgUP98=;
	b=Dp7GrT+ItQyY+Wl0gcXCxYfiywtREX+VRc9d2Vv19zQu/sUukgwRo3DBh5SqQevDiOrSCp
	6+G0MOO5IMCvfI6BUHHZEL14VKXmmq8wyS1MepGxiJpj9i4JcXa1WCWdTqhYXWqwB+RepS
	cBfcfDZEMkJpqcKTnbBh4GRUv/oRrlbgENmMbA/9X1GUlA36FWuHv6Rfk6H5CGU9s5nhUX
	Td8bUbRqo1dGVDIsAlFN0pDe8yajI49fHo5VsCJkaNSbVFj97yobUq9fQnPm/qxsawFeth
	1ywE3/D5uuMKBNTwHqrzqzp96Vq9+24PeNCugmf7f85K8ao369xYfyB2/+QXzw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791207475;
	b=L4tCTCFJpFUSkPNH3t553evVY+xYPZmVs1ttFkXYzZNVexG+is2bH/JpBUk7EVFX+l1iF/
	1NNZhVdt5IFkwy8/xoVbNDXbg+xLuRLtUfXQo/1rGdY/oZR1R81xjnkFwyOOTaqgYTevPj
	pheeGBNZ/+ZKDVAgtS5oOr/IHoMmsALawpaRd1GxABF/5M8/j9XFAKgVTEAjq6+dtnTf7B
	N+0ZXIh4nTgkhvtaujOjz+3n1fUbRJinXUfzNEwCY2bZMNwcoR4H8gWYZCRPws89Fwtn/S
	SBDAGp/OkyXqt2BEr2qI3tLSv3wOky6jjUa7QjBMWqe0DcWekiLpudYFEJ9SRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791207475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=uL/DHqRFtMY1BuxuLcKYYvhm9+vr6bGuKASFABgUP98=;
	b=dvfHMYlM+9SVhPXAtB7u2NCEK9fWCm7Lu+W/ZvxqopTc5V1aw5+PyAIEV0T2tCk1pWnsEB
	niv44y/39E7c0CRLm56b8KtDSi1C1/ISiWu296Ttbpda9iaHO3G/tS7ZkhcWRvzdgwDlQP
	TgJK3+YDxRjisIY2wdPt0Dyz6hUsMBEbQQPKpNHeqEDpyi5yYHGoigF0eG9wRf20yGHIQ8
	BM3Ia0VqyTOWrLMbT4o8PQe93PqgCgyt7siO/+WrtulhX6OfJD4Ke5VShAwvfeID3rp/OH
	FOTkRkj87f/auw74YpFGXgCtU9ShYwB36giaf53BXPISjR903nL/RLsY/MDK5Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz0nb25w3zLhx
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 13:37:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 406fb
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 13:37:55 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Piotr Kubaj <pkubaj@FreeBSD.org>
Subject: git: 1f1043d550ea - main - powerpc: keep FP, VMX and VSX ownership changes atomic with preemption
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: pkubaj
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 1f1043d550ea2b8282e692019f17a88896212a76
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 13:37:55 +0000
Message-Id: <6ac3a833.406fb.44575d79@gitrepo.freebsd.org>

The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/src/commit/?id=1f1043d550ea2b8282e692019f17a88896212a76

commit 1f1043d550ea2b8282e692019f17a88896212a76
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-09-21 12:48:06 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-10-05 13:37:46 +0000

    powerpc: keep FP, VMX and VSX ownership changes atomic with preemption
    
    trap() and set_mcontext() change the FP/VMX/VSX ownership state in
    several steps with preemption enabled.  A context switch in between
    leaves the thread computing with another thread's register contents:
    
    - enable_fpu()/enable_vec() set PCB_FPU/PCB_VEC before loading the
      registers, so a switch mid-load saves a half-loaded unit over the PCB.
    - set_mcontext() clears the frame's MSR bits and then the PCB flags;
      a switch in between re-enables the unit, and the thread returns to
      user space with it enabled but not owned, so it is neither saved nor
      restored until the next signal.
    
    Both paths run after every sigreturn(2), setcontext(2) and
    swapcontext(3).  A POWER9 test that keeps f14-f31 live across a signal,
    with other threads using the FPU on the same CPU, saw 283 corrupted
    round trips out of 882000; none after this change.
    
    Hold a critical section around both, as amd64 and arm64 do.
    
    Reviewed by:    jhibbits
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D60054
---
 sys/powerpc/powerpc/exec_machdep.c | 8 +++++++-
 sys/powerpc/powerpc/trap.c         | 6 ++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c
index 18e0ba004a13..7192feae6055 100644
--- a/sys/powerpc/powerpc/exec_machdep.c
+++ b/sys/powerpc/powerpc/exec_machdep.c
@@ -522,7 +522,14 @@ set_mcontext(struct thread *td, mcontext_t *mcp)
 	 *
 	 * Additionally, ensure VSX is disabled as well, as it is illegal
 	 * to leave it turned on when FP or VEC are off.
+	 *
+	 * The MSR bits in the frame and the PCB flags must change together:
+	 * if the thread is switched out in between, cpu_switchin() still
+	 * sees the flags, reloads the registers and puts the MSR bits back
+	 * into the frame, and the thread then runs with the units enabled
+	 * but without owning them.
 	 */
+	critical_enter();
 	tf->srr1 &= ~(PSL_FP | PSL_VSX | PSL_VEC);
 	pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX | PCB_VEC);
 
@@ -536,7 +543,6 @@ set_mcontext(struct thread *td, mcontext_t *mcp)
 	 * sigresume is callled will used by the resumed thread, instead of the
 	 * previously saved data from the mcontext.
 	 */
-	critical_enter();
 	msr = mfmsr() & ~(PSL_FP | PSL_VSX | PSL_VEC);
 	isync();
 	mtmsr(msr);
diff --git a/sys/powerpc/powerpc/trap.c b/sys/powerpc/powerpc/trap.c
index 6843ce49b48f..b04506cf10d9 100644
--- a/sys/powerpc/powerpc/trap.c
+++ b/sys/powerpc/powerpc/trap.c
@@ -294,24 +294,30 @@ trap(struct trapframe *frame)
 		case EXC_FPU:
 			KASSERT((td->td_pcb->pcb_flags & PCB_FPU) != PCB_FPU,
 			    ("FPU already enabled for thread"));
+			critical_enter();
 			enable_fpu(td);
+			critical_exit();
 			break;
 
 		case EXC_VEC:
 			KASSERT((td->td_pcb->pcb_flags & PCB_VEC) != PCB_VEC,
 			    ("Altivec already enabled for thread"));
+			critical_enter();
 			enable_vec(td);
+			critical_exit();
 			break;
 
 		case EXC_VSX:
 			KASSERT((td->td_pcb->pcb_flags & PCB_VSX) != PCB_VSX,
 			    ("VSX already enabled for thread"));
+			critical_enter();
 			if (!(td->td_pcb->pcb_flags & PCB_VEC))
 				enable_vec(td);
 			if (td->td_pcb->pcb_flags & PCB_FPU)
 				save_fpu(td);
 			td->td_pcb->pcb_flags |= PCB_VSX;
 			enable_fpu(td);
+			critical_exit();
 			break;
 
 		case EXC_FAC:

From nobody Mon Oct  5 14: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 4hz1Ql0SLxz6jtvk
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 14: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz1Ql00H8z3CJ2
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14: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=1791209199;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Xi+zEEicwuF3d1XjCN99c83ZelMf8cBpnXeNC351nT0=;
	b=Z5ateZf5UPWYHEYny5XiX25g/3KcyQimvtH554nC4wttBIU8jfR7fyhw8AQIeUzhAbdRAh
	MdqHCoWbUmgfAoXP8/Tm6n0dp59+SNWGIfG1DCV1jIbRQOQUXzX2QiWCuWRnpujH9g3+3n
	pTAlD0GcJpd6Wgc/vvl6B9ZYeSZzuqcsg0zb061mCWm3PfhusjfVvQ2po2I5v3tIoNg7bg
	V6lVkBh1wj6xO64QHjLHf/aqwqOepAHPACsLcB0XrKVtE2ihEP6mGuRmrvGOh9QhtYrdn+
	pPP+KBEWR+aFZrQD+7dIIoQZoeTu2LN5FwNUc8nXMHAPv999VpulxuIvCEJViQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791209199;
	b=SVWAS9xm6Sioz3iKDjRyVljrH6S0G33oAmn8Ah/EBHVQO+BaCVwG81N9mkwza0oWWYgIUv
	hKVV0ekVY0thFM+OtPT+lYaRcSEsrwMzgT9I/rY9npD0UUiQLPEetn/tnzehe39ViAVxwX
	qRl760MAWJ3goMdAxfX+MQaSmf3DdLfPyH9r7yzrDKX6riCN+mEZcD3+lbU34hWmjsbxY7
	4bi2lz07q9skGpVJDyzZjNe6+HFeslSmWQSDLOWXzW9UHKRALtgdDddZdCjvYOxzkJJiaC
	/wX64Hgev8FqMeV4XhYvDTJeCvMIMayx6sJWZEfJMJzMM5EMnIYrlwy3y2e/rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791209199;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Xi+zEEicwuF3d1XjCN99c83ZelMf8cBpnXeNC351nT0=;
	b=HdRnr5R1UOlqkVcVdNadwzyAfz9n68vqtHwIilXxKXTDCUHy7ipO/vTUlRmLYV1opTvQc6
	YkF48aM5YYQ3nE2mY4ZGNG0hCY4Ok8QxYzR7ymcfNQMzPe9zm1PNkIniJWKuqdLUE0tR+V
	eiIyGS6fZ/tYI+h+QkqkXi5nivD7nTTAP5VVN4fCSRvicEx/pXC4Pb/JDcO7U3BrKe7RXO
	sTS8ephbeAItNyzWh1wMaeC5so9PLpgcKKbW+AKCmX98V0zUbmtOs7bJjIP6MdTUUhwSp4
	DlXFdF8vA4NHo1dBNFu+py56pDibT22FkfHXjDMS6gblODRu226iLh8+GZ++Dw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz1Qk5dd7zLw1
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:06:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 4598a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 14:06:38 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: R. Christian McDonald <rcm@FreeBSD.org>
Subject: git: 68386f6b551e - main - igc: Fix the flow control sysctl
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: rcm
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 68386f6b551e64c956c9623b9973be9e462ce1de
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 14:06:38 +0000
Message-Id: <6ac3aeee.4598a.54ce795c@gitrepo.freebsd.org>

The branch main has been updated by rcm:

URL: https://cgit.FreeBSD.org/src/commit/?id=68386f6b551e64c956c9623b9973be9e462ce1de

commit 68386f6b551e64c956c9623b9973be9e462ce1de
Author:     R. Christian McDonald <rcm@FreeBSD.org>
AuthorDate: 2026-10-05 14:01:54 +0000
Commit:     R. Christian McDonald <rcm@FreeBSD.org>
CommitDate: 2026-10-05 14:01:54 +0000

    igc: Fix the flow control sysctl
    
    dev.igc.N.fc read and wrote a function-static variable shared by every
    igc device, so a read returned the last value written to any of them (3
    until the first write), not the state of the device.  The softc value
    started as 0, which is also the value of "no flow control", while the
    hardware was set up for full flow control.  As a result:
    
    - Writing 0 was taken for no change and did nothing, unless another
      value had been written to that device before.
    - igc_reset() took a softc value of 0 for "not set", so a device set to
      0 went back to full flow control on the next init.
    - With more than one receive queue the driver enabled per-queue drop
      (SRRCTL.DROP_EN), which is meant for a MAC that does not send pause
      frames, although the MAC was told to send them.
    - Values out of range were accepted and ignored.
    
    A write only forced the MAC's flow control bits.  The pause bits
    advertised to the link partner, the pause thresholds and DROP_EN stayed
    as the last init had set them, and the next link event resolved flow
    control from the stale advertisement again: a port set to 0 came back
    honoring pause frames, for example.
    
    Start the softc value as full, report it, use it as it is in
    igc_reset(), reject invalid values, and apply a change by
    reinitializing the interface, as the dmac and eee_control sysctls do.
    
    Two things behave differently now.  Changing the mode of a running
    interface takes the link down to renegotiate.  And with the default
    mode and more than one receive queue DROP_EN is no longer set: a full
    receive ring makes the MAC send pause frames, and holds up the other
    queues, where it used to drop that queue's packets.  Setting fc to 0 or
    1 selects per-queue drop.
    
    Tested on I226-V ports with four receive queues: for each mode, the
    flow control bits in CTRL, the pause thresholds and DROP_EN were read
    back, and the mode the link partner resolved, also after a down/up.
    
    Reviewed by:            gallatin
    Fixes:                  517904de5cca ("igc(4): Introduce new driver for the Intel I225 Ethernet controller.")
    MFC after:              2 weeks
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D60363
---
 sys/dev/igc/if_igc.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/sys/dev/igc/if_igc.c b/sys/dev/igc/if_igc.c
index bc24849693e1..7bfbf1c9d1a7 100644
--- a/sys/dev/igc/if_igc.c
+++ b/sys/dev/igc/if_igc.c
@@ -181,6 +181,7 @@ static int	igc_if_msix_intr_assign(if_ctx_t, int);
 static int	igc_msix_link(void *);
 static void	igc_handle_link(void *context);
 
+static void	igc_sysctl_request_reinit(struct igc_softc *);
 static int	igc_set_flowcntl(SYSCTL_HANDLER_ARGS);
 static int	igc_sysctl_dmac(SYSCTL_HANDLER_ARGS);
 static int	igc_sysctl_eee(SYSCTL_HANDLER_ARGS);
@@ -533,6 +534,7 @@ igc_if_attach_pre(if_ctx_t ctx)
 	    OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 	    sc, 0, igc_sysctl_debug_info, "I", "Debug Information");
 
+	sc->fc = igc_fc_full;
 	SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
 	    SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
 	    OID_AUTO, "fc", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
@@ -2190,10 +2192,7 @@ igc_reset(if_ctx_t ctx)
 	/* 16-byte granularity */
 	hw->fc.low_water = hw->fc.high_water - 16;
 
-	if (sc->fc) /* locally set flow control value? */
-		hw->fc.requested_mode = sc->fc;
-	else
-		hw->fc.requested_mode = igc_fc_full;
+	hw->fc.requested_mode = sc->fc;
 
 	hw->fc.pause_time = IGC_FC_PAUSE_TIME;
 
@@ -3736,34 +3735,35 @@ igc_sysctl_tso_tcp_flags_mask(SYSCTL_HANDLER_ARGS)
 static int
 igc_set_flowcntl(SYSCTL_HANDLER_ARGS)
 {
-	int error;
-	static int input = 3; /* default is full */
+	int error, input;
 	struct igc_softc *sc = (struct igc_softc *) arg1;
 
+	input = sc->fc;
 	error = sysctl_handle_int(oidp, &input, 0, req);
 
 	if ((error) || (req->newptr == NULL))
 		return (error);
 
-	if (input == sc->fc) /* no change? */
-		return (error);
-
 	switch (input) {
 	case igc_fc_rx_pause:
 	case igc_fc_tx_pause:
 	case igc_fc_full:
 	case igc_fc_none:
-		sc->hw.fc.requested_mode = input;
-		sc->fc = input;
 		break;
 	default:
-		/* Do nothing */
-		return (error);
+		return (EINVAL);
 	}
 
-	sc->hw.fc.current_mode = sc->hw.fc.requested_mode;
-	igc_force_mac_fc(&sc->hw);
-	return (error);
+	if (input == sc->fc) /* no change? */
+		return (0);
+
+	/*
+	 * The mode is advertised to the link partner and also decides the
+	 * pause thresholds and per-queue drop, so it takes a reinit to apply.
+	 */
+	sc->fc = input;
+	igc_sysctl_request_reinit(sc);
+	return (0);
 }
 
 static void

From nobody Mon Oct  5 14:07: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 4hz1SF6LbVz6jv1Y
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 14:07: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz1SF5jfQz3D6p
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:07:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791209277;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q2jklzUOzJWRFSDg+4PZQZe3VxjZR46t3HI8zb6/H3M=;
	b=n2nJvZzkMroAdiXM0hlRGyoZDS+3MmY5ZYY0bTNXXPKRGvz+VMOQeMG2PuDNU6eLD8YN4K
	6SsfUi1CKSXQWcY69AxcngaERxeykgTJ16PgZRovYLuD3k6Gb5KJ6LKV+WFYUOjKCjNS9k
	+ooax0oQx+SfaRx5DO+suX3F1s+/msMCa0rwtYd4VhboGGhyEL2yJUN00Z95Og6HE00pdH
	wP4bJMThv3tBXaEGlhLxG2eVonRhgldcBTbmFxfZmPSh86caDpBVKJqukCSK7ZnZN1jtYH
	Vxzx4FZKq2VNp8Mb+Oyt7sg8RbqtWQJRPzc6sAjjwgONYbSce5uLVQwb0sbF6g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791209277;
	b=ff0kZYabXsd2y/LlbL8+61xlTc/10SpZYS9UXr2aS553VKwnAHJ0zl3xlL2wHmuYXAh6Y9
	pFq6YFQbMQiInopGq54JADcVgG3n6nz2/vS8Y6In1yYKlNbg5zyrPTPZLU7G/lzBJg5c/A
	2qVhLnpsj0OmzEx6SnCv3a1LRQzAHfYTXsQm79Zd8CFYSWPGZaqEegi+y1L9nmO4k7CLm5
	RSFGLYuE2A0UjhAmeUGzINJJYhqHTIs0GGvKI+Vocz0LKPCeoe+hnfnUDFOUWPA7JTcVpv
	YlIz5NO4459lYoKcnzesHp9JKbZZwhUeRQs1wSUEhXr9lA6soiPasVyseGmNtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791209277;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q2jklzUOzJWRFSDg+4PZQZe3VxjZR46t3HI8zb6/H3M=;
	b=jMWNK+CJ04xozW5cMbhZGS6xT8LgfFLOcC5KZglWet8r7Pp62yOP9IMgsYe/cmE3miITzr
	MB6UzwikP0HigP4ByWeQkI15WhNZa1Qv2vTc4tQD3+6ZOfBDqocEERF2xJ5IYpwU3mBxFI
	hoyFYiwXBL4U4yTWsZgX49FWtGF1cTyrd2QCmAGEc+KU8+M5fzWJXMXuVJycmKzoma0B1W
	h1YiyH6yQI+ob7jrgD17lqo11MOpz4SNRKhfq9Chq5x/lkSyK6jmZcXhx9vfSCmreq0Bk5
	bB/kWeR48Fwz0tjs296o806HL0OmO9LwWmV7JouFz/MmVdXKDcaVo9heVk69wg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz1SF4mnbzMbY
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:07:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 446b4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 14:07:57 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Siva Mahadevan <siva@FreeBSD.org>
Subject: git: fdd3f6f78888 - main - bsd.lib.mk: only ctfmerge if objfiles have a CTF section
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: fdd3f6f78888b02a1bfa69a0572317413dc14a45
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 14:07:57 +0000
Message-Id: <6ac3af3d.446b4.721d30f1@gitrepo.freebsd.org>

The branch main has been updated by siva:

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

commit fdd3f6f78888b02a1bfa69a0572317413dc14a45
Author:     Siva Mahadevan <siva@FreeBSD.org>
AuthorDate: 2026-10-02 19:54:55 +0000
Commit:     Siva Mahadevan <siva@FreeBSD.org>
CommitDate: 2026-10-05 14:07:44 +0000

    bsd.lib.mk: only ctfmerge if objfiles have a CTF section
    
    PR:             299013
    Reported by:    Trond.Endrestol@ximalas.info
    Reviewed by:    emaste
    Fixes:          222210c6a822 ("libgcc_s: add libgcc_s_asneeded.so wrapper for gcc 16")
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60252
---
 share/mk/bsd.lib.mk | 2 +-
 share/mk/sys.mk     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index e3b3d760ff28..5b7bed041b8f 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -291,7 +291,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
 .endif
 	${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
 	    -o ${.TARGET} -Wl,-soname,${SONAME} ${SOBJS} ${LDADD}
-.if ${MK_CTF} != "no"
+.if ${MK_CTF} != "no" && defined(SOBJS) && !empty(SOBJS)
 	${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
 .endif
 
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index bb943d2b1519..f63223e8464e 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -165,7 +165,7 @@ CPP		?=	cpp
 CTFFLAGS	?=	-L VERSION
 
 CTFCONVERT	?=	ctfconvert
-CTFMERGE	?=	ctfmerge
+CTFMERGE	?=	ctfmerge -t
 
 .if defined(CFLAGS) && (${CFLAGS:M-g} != "")
 CTFFLAGS	+=	-g

From nobody Mon Oct  5 14:13: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 4hz1Zf062Mz6jw8l
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 14:13: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz1Zd6L5fz3FfZ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:13:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791209609;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vUVVWE54VIT2QppRXzfWL7qSLRWVaVHp1pQmv8cPjfM=;
	b=nFnbZ+VG0WBeiVrfOh48FB5veI4w5aMnHKIek62rR8r2kF9b0hom4jB9BQp9EqG6ELIk7L
	H4C/4Fz/HyAFk14JjKYKonGxMruvfmitvlqRfBnhXfUBGceDdwZveDMuT8SA02bIoHyCPB
	a9LAa6TjkkZpcYrrQKiw1dMNBJeEwnXtuJLMpUHQoZp7TAHLY0icXqwjWeA1YJvlebA/4t
	3jXKWwYJdEVSReuxFJCnqLBxwjDoLU3qFbXEZrA9t/Ouy6jaW1EcjxYIQud5Gr8pc6z/Zl
	3zYT2oZubEJuj1u1pBj7vjEYLUc/4yXjNorxvRzqdwwfBNVRMOqEb8rGZqDy1Q==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791209609;
	b=RXF+B5VnWo8ze3xiYoxRx2oLxzfJ2wLgPuloidgu30XV8wPgfl/vHxObeaFYJPA3HxmHJc
	7rgKbefu8JEhts2sVTRMy0ztgGLVtOUbTAsijKNs6dEcN1JEFIJ3RrFP1T8qtADLNdIEes
	C+/hipysqhbk5XtdNeU7LEsF2lfdvqXiw9FiAvqT3BdG05+8xf3Pgn4Jt/DEICsrWnwYJi
	3pLnBzse6AUht0sRrBR+cYTrAR3uhLWtnYbuQP97kE7u11ypdQ5ylMF8AMxZ/eHim//HKl
	PFLeyxapYGLLEZ0mebsPq7YGUTaPjEEv2YLImOadsN0vXAp+QQ7iYUGUX3T8UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791209609;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vUVVWE54VIT2QppRXzfWL7qSLRWVaVHp1pQmv8cPjfM=;
	b=ZnEPu3ZIUJCFzW5oP07JiUSmmS1hvNtrp5kKEZH+LMhMAS9H5xlmaIi1vNF2XRtsrbAFAz
	Jh45gqlVfMRSU1Rz8ILkQZC5//CDy4VPFhreV3vRi30y7B7nrKbQOeUXwwDGbrkjmTkSyX
	BHE41gfz9s7CDM4BrXKTAYiAvrWF5UeNMe+rSh3vZEGjtuTvtq1VaCd3+CPJDXWdYphMQX
	3gQw1h3lh+MQiUa0SPHo+MZGvdVUXjy/Iz7KIM/jYNxPiCVvsXvs7/HLsdd5qWzRJJOtZB
	UqVbXRkd9IXZZck7K0350wf3cpP8cnGJWcfSa93JkmYAb72+0JL52y6UKytYuw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz1Zd5LrzzNF1
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:13:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 444eb
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 14:13:29 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Andrew Turner <andrew@FreeBSD.org>
Subject: git: 412c3a037049 - main - arm64/gicv5: Use ArmMpidr to find the correct CPU
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 412c3a0370491c6745e056266f54ce9aa67017e1
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 14:13:29 +0000
Message-Id: <6ac3b089.444eb.5231fef4@gitrepo.freebsd.org>

The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=412c3a0370491c6745e056266f54ce9aa67017e1

commit 412c3a0370491c6745e056266f54ce9aa67017e1
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2026-10-05 13:31:02 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2026-10-05 14:13:06 +0000

    arm64/gicv5: Use ArmMpidr to find the correct CPU
    
    The GICv5 ACPI code uses CpuInterfaceNumber to as the CPU ID. This a
    GICv5 CPU ID and may not be the same as the appropriate FreeBSD value.
    
    It is also possible the target CPU is disabled, e.g. when the hw.ncpu
    tunable is uses to limit CPUs. If this is the case we don't want to
    enable the CPU in the cpu set as it is offline so cannot handle
    interrupts.
    
    Switch to use ArmMpidr to find which pcpu to use when finding which
    CPUs the IRS is attached to.
    
    Fixes:  9556306213e1 ("arm64: Add ACPI support to GICv5 driver")
    Differential Revision:  https://reviews.freebsd.org/D59993
    Sponsored by:   Arm Ltd
---
 sys/arm64/arm64/gicv5_acpi.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/sys/arm64/arm64/gicv5_acpi.c b/sys/arm64/arm64/gicv5_acpi.c
index 0cece1eae0e5..aebea1dcd466 100644
--- a/sys/arm64/arm64/gicv5_acpi.c
+++ b/sys/arm64/arm64/gicv5_acpi.c
@@ -28,11 +28,12 @@
 #include <sys/types.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
+#include <sys/cpuset.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/rman.h>
-#include <sys/cpuset.h>
+#include <sys/smp.h>
 
 #include <machine/intr.h>
 #include <machine/resource.h>
@@ -254,14 +255,24 @@ madt_process_gicc(ACPI_SUBTABLE_HEADER *entry, void *arg)
 {
 	struct process_gicc_args *gicc_args;
 	ACPI_MADT_GENERIC_INTERRUPT *gicc;
+	struct pcpu *pcpu;
+	int cpu;
 
 	gicc_args = (struct process_gicc_args *)arg;
 
 	if (entry->Type == ACPI_MADT_TYPE_GENERIC_INTERRUPT) {
 		gicc = (ACPI_MADT_GENERIC_INTERRUPT *)entry;
 
-		if (gicc->IrsId == gicc_args->irs_id)
-			CPU_SET(gicc->CpuInterfaceNumber, &gicc_args->cpuset);
+		if (gicc->IrsId == gicc_args->irs_id) {
+			/* Find CPU ID from gicc->ArmMpidr */
+			CPU_FOREACH(cpu) {
+				pcpu = pcpu_find(cpu);
+				if (pcpu->pc_mpidr != gicc->ArmMpidr)
+					continue;
+				CPU_SET(pcpu->pc_cpuid, &gicc_args->cpuset);
+				break;
+			}
+		}
 	}
 }
 

From nobody Mon Oct  5 14:44: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 4hz2GG6GD5z6jyP2;
	Mon, 05 Oct 2026 14:44:22 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz2GG5hHVz3KkB;
	Mon, 05 Oct 2026 14:44:22 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791211462;
	h=from:from:reply-to:subject:subject: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=ABjxIgOPlZAqo4VaUuRiMJ1EggrKNKMjjx6m4A9/8U4=;
	b=gdj38Rof2hehH+VbY57broFSmN+4GQXO2hcKwAU3DqpNcLIOx/ULRsOBrzCxzQwSx0CfaQ
	VSUy0OiOcq99OduzcTrs2H25tip9vttlWTfTqWxfSoinseyt+QZU4RqiDV5GJwx688ujl6
	FoB4enrNJjAmOWzZdP+US4wkSf7EHJWceYf6tKghpJTEv3BKLBG9NgrsVACZfaALqONtOG
	GUPs96XdWeNzPs40Y+5xpLUUSNGaGTmB/wVpLH9a7vN03+khHIsZVJz92K2OwZ9xRkms3f
	ochEp//XfablfNQssnlke6134l836wMlr2QjL7RcP59YKRgmtQPHD2uoVd4oig==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791211462;
	b=wgvzfNi/XJvayi8K2gam5hdEe0+Z5A889ZRZkp8lC7bJi3LxjNXt6EZJTins/yD1IQMory
	SxizgwLcknfLdZsATkONnA0kiTJnb9Bhw94WlHUNcOiZ1oNMH1DQxOmFave95tUXvCCL89
	wlIRcxLTU9S7SW6wG6IUQ38hVvQc6e9UST7PsAoACR3IvHN/WkGihejM4hJNQ24xCAP6iN
	s6Lve69cV0Y0tsyMuhR7EgVCDXL5xk/22etILeZQvslK1SlV2BG+4wqzvnj1KjJiWVX0il
	qIs3vNnLk1Bbgys9P2q3xd2r1A/+55Y5bEy87ZkprdqVU2qiyOp9NQVKqr5veQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791211462;
	h=from:from:reply-to:subject:subject: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=ABjxIgOPlZAqo4VaUuRiMJ1EggrKNKMjjx6m4A9/8U4=;
	b=PfuET31NAozNw+FxiLokuGB+ef9DpcCx+DEiUUbVSjuww6fUzTpFsZCPB3mraE6agkJ7V6
	OU92b4ndeZKr/UHcpZwlyi3FEUOLnMG2LCvfStllCA1jIY1ijYPt8L2S5qNX3m7BIt3JDu
	78gB8H0ITXAuVh5TskPxH5xVi2IoOHi/ic14dmW5jRxrvklz6b3hrzxcTjlskuwCzQvMXq
	4Z3Mgrse7HjzmAaUTMtxsjzOUaczBspszZOPLxOs3mb8LlS+Odocp2RbvgECHNhigMmexf
	vLRT87bt16HUvkm3zT/ozlh92uw3tygoLPZZWLaEKwEKqVfEEgjlSyfsKJ+dxg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from [IPV6:2601:5cc:4402:82e0:5818:5068:f2b1:7f58] (unknown [IPv6:2601:5cc:4402:82e0:5818:5068:f2b1:7f58])
	(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 4hz2GG38rCzZmK;
	Mon, 05 Oct 2026 14:44:22 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <0d4a78d6-0d67-4fa6-aaa4-4dfc19858f72@FreeBSD.org>
Date: Mon, 5 Oct 2026 10:44:21 -0400
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: git: 32137c41065c - main - sound: Retire the version constants
Content-Language: en-US
To: Jason Harmening <jason.harmening@gmail.com>
Cc: Christos Margiolis <christos@freebsd.org>, src-committers@freebsd.org,
 dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
References: <6ab2bc22.412bd.10bb456f@gitrepo.freebsd.org>
 <CAM=8qam9LOk06mdhfXPrCvRfEZr_gPqie-FRaSr3T_Ak3-BPYw@mail.gmail.com>
 <2df20868-4983-4169-a94e-da6adf2fb3ea@FreeBSD.org>
 <CAM=8qaneX8MpWWJKEE3hiE8v6Zk9Z+2DovZyQvpYesnAv64Ktw@mail.gmail.com>
 <DLOBW3GYVE9P.1VA7OO17Q4YZF@freebsd.org>
 <CAM=8qamv5_0Cp84edsDFmaHQ+1JNUFBNcjs2w1=gUtSf2VbtbA@mail.gmail.com>
 <bd6dc971-bb19-4966-ab1b-e1b80500f6c7@FreeBSD.org>
 <CAM=8qa=qJHN-AKoJwLRME6g7wfnbgo64n7Zb_0_azyPCcckw+Q@mail.gmail.com>
 <6280fdf4-0254-4953-b948-b6bac7796f80@FreeBSD.org>
 <CAM=8qa=C5OxKV7ZADVrS6D1opiYgnN=wq8nQHVG1OkAUGC1+=w@mail.gmail.com>
 <8ecda432-8a6f-46b3-b4f3-2a5761404b59@FreeBSD.org>
 <CAM=8qak-VHKN7Os69R8qAZy6xLuTTBfdq9oHWdSMq_tOc_o+sQ@mail.gmail.com>
From: John Baldwin <jhb@FreeBSD.org>
In-Reply-To: <CAM=8qak-VHKN7Os69R8qAZy6xLuTTBfdq9oHWdSMq_tOc_o+sQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 10/3/26 11:48, Jason Harmening wrote:
> On Thu, Oct 1, 2026 at 4:08 PM John Baldwin <jhb@freebsd.org> wrote:
> 
> <snip>
> 
> 
>> Hmm, I guess the trick is what counts as gratuitous which is fairly
>> subjective.  The policy I've tried to follow when refactoring APIs used
>>
> 
> I don't think it's quite so subjective.  If a breaking change doesn't have
> a clear benefit (e.g., improved functionality/ease of debugging, reduced
> maintenance burden, even renaming an offensively-named symbol), then
> there's a clear cost but no clear benefit, therefore it's gratuitous.
> Whether the breakage can be dealt with easily enough using #if[n]def isn't
> really the point.

The other possible factor to consider in your list of benefits is that
removing old/deprecated "ways of doing things" for code hygiene purposes
avoids future developers copying from the "old" way instead of the "new" way.

For this particular change of removing these constants I do find it a bit
borderline.  If someone does actually refactor the macros at some point to
largely remove the versions then I think that would be a more compelling
reason to remove these particular macros.

-- 
John Baldwin


From nobody Mon Oct  5 14:58: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 4hz2ZX1ZGbz6jyr1
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 14:58:28 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz2ZX0kPmz3Mxq
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:58:28 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791212308;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=I6Q7yYVhEXoOZ5GHTGE2NPP9vPePYnolaMW1yRW37io=;
	b=KnXOz+CfiukhdW3S64g6FiEIwk8sczCiH676mlSVNV/8m6AHrKM01hfshVMQ1lw52ZgRia
	ja2i4UmWGjiEZ4tUsHehDvKCnRdBV10ZLHmTVqhksIBb7+ltBbUEz7qb33RmSvoBZur8a+
	iaTjk4SKe+clv3DGhal9xwTLoPRtdqEyXhiRUptd0dx3RvTRKGV+1K+nMmn0XjGdPATJWF
	3w07oozdi/IQOlhpumsycR3o4CtMCfvYrTbMWdLgpQnPSjBbdBwAC5SBAg5AjdKD5oExcH
	wGWB+tWG2rpYW1K1ErZUNogqLVXgf+SiR6yVaAjC8s6Qu04XyiWhxqSm/0iQqA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791212308;
	b=BnIp/6iuUHK3BA76B1E43xTg6o5Ln0+ZS4Cyt8WsopFCWPOzjw5nAERlZLxYLz8SllMaRE
	oBaCfowueixgOCgiZ09IkZW6TDAvXdr0mohXyJcjhDqaGSN2nwzS43ixoSVTGVQR5mntRe
	h/2GyoY9KCGDEZ11+AiR7pUDvzrgh8H6msBaYanRmc0DaUkkNJTnBTg74UIekyJDe7urc1
	pB99q42M+n1gA2h6N1vGMudF8eJt9ndzf1Reev4x7A/IzIimK86H/JLys29ieW2d3xxyDr
	M8dMEnQqRZopritqk0sLXe0q2HR8FD43BMmtY65S6WCukjiwFRYsYozyne5gWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791212308;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=I6Q7yYVhEXoOZ5GHTGE2NPP9vPePYnolaMW1yRW37io=;
	b=HXzBp89kDmko3b3P+crOYr26BLqJ2H2e1Mu9yHIuyVxlrAt2zahKNJNQ6M4WREvGGqVCiV
	shON+UilnjfCJZqeBD/o4rG1sdv4wKSYHB+orHlflD7xYP5gse9HrWaQTNkYAYmqy3Jxzp
	IoQO15+cnXhJmwF0PYmEG2cIQ/4xY4LISZLsZn2HBY2iEXLTs6vupQX3b3Ra5Xo8aDrWkK
	gIvQb/U8NOBeTGHxJP/oh5iTfcQBYNT0gvyU0UmlCjKrak9j5SuiQQNsdXYx6z8zKsYVuR
	ptnYSPyjseZMZfYqKKLycqb1h5wm5pD/ZkNBDZrje9d6kzCzP475iN1XbMDKNQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz2ZW5qQfzP7H
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 14:58:27 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 18a6c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 14:58:27 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Andrew Gallatin <gallatin@FreeBSD.org>
Subject: git: 16c787fbabb8 - main - arm64: Elide coherent busdma maps
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 16c787fbabb8077df1af3bd3baaddf3b4c0dd8e8
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 14:58:27 +0000
Message-Id: <6ac3bb13.18a6c.446a00b1@gitrepo.freebsd.org>

The branch main has been updated by gallatin:

URL: https://cgit.FreeBSD.org/src/commit/?id=16c787fbabb8077df1af3bd3baaddf3b4c0dd8e8

commit 16c787fbabb8077df1af3bd3baaddf3b4c0dd8e8
Author:     Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2026-10-05 14:56:10 +0000
Commit:     Andrew Gallatin <gallatin@FreeBSD.org>
CommitDate: 2026-10-05 14:56:10 +0000

    arm64: Elide coherent busdma maps
    
    Avoid allocating per-transfer maps for coherent tags that cannot
    bounce. Retain maps for cache synchronization, CCA realms, and KMSAN.
    These un-used maps carry with them memory and cache miss overheads.
    
    Reviewed by: andrew
    Differential Revision: https://reviews.freebsd.org/D60098
    Sponsored by: Netflix
---
 sys/arm64/arm64/busdma_bounce.c | 80 +++++++++++++++++++++++++++++++++--------
 sys/arm64/include/bus_dma.h     | 12 ++++---
 2 files changed, 73 insertions(+), 19 deletions(-)

diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c
index 7cf62061d56a..49587b5f4b39 100644
--- a/sys/arm64/arm64/busdma_bounce.c
+++ b/sys/arm64/arm64/busdma_bounce.c
@@ -69,6 +69,7 @@ enum {
 	BF_KMEM_ALLOC_CONTIG	= 0x08,
 	BF_KMEM_ALLOC		= BF_KMEM_ALLOC_PAGES | BF_KMEM_ALLOC_CONTIG,
 	BF_COHERENT		= 0x10,
+	BF_FORCE_MAP		= 0x20,
 };
 
 struct bounce_page;
@@ -115,6 +116,10 @@ struct bus_dmamap {
 	struct sync_list	slist[];
 };
 
+static struct bus_dmamap nobounce_dmamap = {
+	.flags = DMAMAP_COHERENT,
+};
+
 static bool _bus_dmamap_pagesneeded(bus_dma_tag_t dmat, bus_dmamap_t map,
     vm_paddr_t buf, bus_size_t buflen, int *pagesneeded);
 static void _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map,
@@ -278,6 +283,11 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 	newtag->map_count = 0;
 	newtag->segments = NULL;
 
+#ifdef KMSAN
+	/* KMSAN stores the memory descriptor in the map. */
+	newtag->bounce_flags |= BF_FORCE_MAP;
+#endif
+
 	if ((flags & BUS_DMA_COHERENT) != 0) {
 		newtag->bounce_flags |= BF_COHERENT;
 	}
@@ -412,6 +422,12 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp)
 		}
 	}
 
+	if ((dmat->bounce_flags &
+	    (BF_COULD_BOUNCE | BF_COHERENT | BF_FORCE_MAP)) == BF_COHERENT &&
+	    !in_realm()) {
+		*mapp = NULL;
+		goto out;
+	}
 	*mapp = alloc_dmamap(dmat, M_NOWAIT);
 	if (*mapp == NULL) {
 		CTR3(KTR_BUSDMA, "%s: tag %p error %d",
@@ -459,9 +475,11 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp)
 	}
 	bz->map_count++;
 
+out:
 	if (error == 0) {
 		dmat->map_count++;
-		if ((dmat->bounce_flags & BF_COHERENT) != 0)
+		if (*mapp != NULL &&
+		    (dmat->bounce_flags & BF_COHERENT) != 0)
 			(*mapp)->flags |= DMAMAP_COHERENT;
 	} else {
 		free(*mapp, M_DEVBUF);
@@ -479,17 +497,19 @@ static int
 bounce_bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map)
 {
 
-	/* Check we are destroying the correct map type */
-	if ((map->flags & DMAMAP_FROM_DMAMEM) != 0)
-		panic("bounce_bus_dmamap_destroy: Invalid map freed\n");
-
-	if (STAILQ_FIRST(&map->bpages) != NULL || map->sync_count != 0) {
-		CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, EBUSY);
-		return (EBUSY);
+	if (map != NULL && map != &nobounce_dmamap) {
+		if ((map->flags & DMAMAP_FROM_DMAMEM) != 0)
+			panic("bounce_bus_dmamap_destroy: Invalid map freed\n");
+		if (STAILQ_FIRST(&map->bpages) != NULL ||
+		    map->sync_count != 0) {
+			CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__,
+			    dmat, EBUSY);
+			return (EBUSY);
+		}
+		if (dmat->bounce_zone != NULL)
+			dmat->bounce_zone->map_count--;
+		free(map, M_DEVBUF);
 	}
-	if (dmat->bounce_zone)
-		dmat->bounce_zone->map_count--;
-	free(map, M_DEVBUF);
 	dmat->map_count--;
 	CTR2(KTR_BUSDMA, "%s: tag %p error 0", __func__, dmat);
 	return (0);
@@ -751,6 +771,20 @@ bounce_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map,
 	if (segs == NULL)
 		segs = dmat->segments;
 
+	if (map == NULL) {
+		KASSERT((dmat->bounce_flags &
+		    (BF_COULD_BOUNCE | BF_COHERENT | BF_FORCE_MAP)) ==
+		    BF_COHERENT && !in_realm(),
+		    ("%s: invalid NULL map for tag %p", __func__, dmat));
+		map = &nobounce_dmamap;
+		if (!_bus_dmamap_addsegs(dmat, map, buf, buflen, segs, segp)) {
+			bus_dmamap_unload(dmat, map);
+			return (EFBIG); /* XXX better return value here? */
+		}
+		return (0);
+	}
+	sl = map->slist + map->sync_count - 1;
+
 	if (might_bounce(dmat, map, (bus_addr_t)buf, buflen)) {
 		_bus_dmamap_count_phys(dmat, map, buf, buflen, flags);
 		if (map->pagesneeded != 0) {
@@ -760,7 +794,6 @@ bounce_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map,
 		}
 	}
 
-	sl = map->slist + map->sync_count - 1;
 	sl_end = 0;
 
 	while (buflen > 0) {
@@ -831,6 +864,17 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 	char *kvaddr, *vaddr, *sl_vend;
 	int error;
 
+	if (map == NULL) {
+		KASSERT((dmat->bounce_flags &
+		    (BF_COULD_BOUNCE | BF_COHERENT | BF_FORCE_MAP)) ==
+		    BF_COHERENT && !in_realm(),
+		    ("%s: invalid NULL map for tag %p", __func__, dmat));
+		map = &nobounce_dmamap;
+		sl = NULL;
+	} else {
+		sl = map->slist + map->sync_count - 1;
+	}
+
 	KASSERT((map->flags & DMAMAP_FROM_DMAMEM) != 0 ||
 	    dmat->common.alignment <= PAGE_SIZE,
 	    ("loading user buffer with alignment bigger than PAGE_SIZE is not "
@@ -839,7 +883,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 	if (segs == NULL)
 		segs = dmat->segments;
 
-	if (flags & BUS_DMA_LOAD_MBUF)
+	if ((flags & BUS_DMA_LOAD_MBUF) != 0 && map != &nobounce_dmamap)
 		map->flags |= DMAMAP_MBUF;
 
 	if (might_bounce(dmat, map, (bus_addr_t)buf, buflen)) {
@@ -856,7 +900,6 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 	 * continuous segments first and then pass these segment into
 	 * load loop.
 	 */
-	sl = map->slist + map->sync_count - 1;
 	vaddr = buf;
 	sl_pend = 0;
 	sl_vend = NULL;
@@ -960,6 +1003,9 @@ bounce_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map,
 static void
 bounce_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map)
 {
+	if (map == NULL || map == &nobounce_dmamap)
+		return;
+
 	free_bounce_pages(dmat, map);
 	map->sync_count = 0;
 	map->flags &= ~DMAMAP_MBUF;
@@ -1057,6 +1103,8 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		 */
 		dsb(sy);
 	}
+	if (map == NULL)
+		goto out;
 
 	if ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
 		CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x "
@@ -1127,6 +1175,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 			dma_dcache_sync(sl, op);
 	}
 
+out:
 	if ((op & (BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE)) != 0) {
 		/*
 		 * Wait for the bcopy to complete before any DMA operations.
@@ -1134,7 +1183,8 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		dsb(sy);
 	}
 
-	kmsan_bus_dmamap_sync(&map->kmsan_mem, op);
+	if (map != NULL)
+		kmsan_bus_dmamap_sync(&map->kmsan_mem, op);
 }
 
 #ifdef KMSAN
diff --git a/sys/arm64/include/bus_dma.h b/sys/arm64/include/bus_dma.h
index d9c37eb2641b..6dc92c87f6eb 100644
--- a/sys/arm64/include/bus_dma.h
+++ b/sys/arm64/include/bus_dma.h
@@ -81,8 +81,10 @@ 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);
+	if (map != NULL) {
+		tc = (struct bus_dma_tag_common *)dmat;
+		tc->impl->map_unload(dmat, map);
+	}
 }
 
 static inline void
@@ -135,8 +137,10 @@ _bus_dmamap_waitok(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_waitok(dmat, map, mem, callback, callback_arg);
+	if (map != NULL) {
+		tc = (struct bus_dma_tag_common *)dmat;
+		tc->impl->map_waitok(dmat, map, mem, callback, callback_arg);
+	}
 }
 
 static inline bus_dma_segment_t *

From nobody Mon Oct  5 15:19: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 4hz32K5rYrz6k1sn
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 15:19: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz32K5Fdqz3R2x
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 15:19:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791213545;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FODi7qRtzInxvJgEQZ7A3u43/BXEMWiWQvbv/SK3VCA=;
	b=oOcJFvCkq1zvkPDPnsV1f4B0aRP5QKx+/esOlANT17b5+6eCFKWYLmjj4vMWmDgQspWXFB
	l5FQzkEtXYLcPUa/N4XL9MSOqk4fLT5dM/DxkyvfDD2AH1b4e0ToWIfoJ4M8tPQJvhI9K1
	cXaD0/dwpL1tVmBO2wRhd5R5c5SaTDK0cE90e6q0EVZWhfGdt3NrnA/9eMuQNYDQghMnaU
	PzoYpOtHNw72NT0+qncHVLgPQdogH7Ly92eG4omvERvrYjS8IEYjYUUuCRfumVqLKEHhUR
	Pqa0+s3uwCGavGCMJ80aKC3VozqRO8BXwSbcATzftctiQOW//Qo7pGjKbf+xmg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791213545;
	b=KZaK+v865l+2l1l672/25xpQw3fKd1yMorWa4wNgts/Pb0nKRp2onK8q/jnk7YJnUVWi/5
	3cT+UONHaYcLYlyc8gpVSVkrLRh17/j8IExDhS+qQNP6EXumJpVBdgjnzrOTWwrKY177cQ
	i75IFlYsTTrAJUoS4mDkP39kAHzkvaFn+RULrm1G5+veD5TyuvhAk+pJU8yFl2I+yMbE4D
	zOaeZkkHZUWDghNsFiOVD1AV7qtWI8C4HC2L1mGQuAq/1NcAj/jO5blbFbwJmpgqY7ga+y
	jgdaRs+w+IdIiWLh0DA4OQzYMPy/Cg//D03ZonIGMCouKb1+oWS9xh0SghZ1Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791213545;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FODi7qRtzInxvJgEQZ7A3u43/BXEMWiWQvbv/SK3VCA=;
	b=vXW/2uNP81fmnWDEguICyKfcyucSBKHi8dhD5jH24dp1bDOUnUywCcVZQtqcmJHqCRXGjT
	JfXLCVm2Ij8ZgnOV3er/1sL4k092hh3T5oCxZ9yohRHo6RJbmy2YI6q878Pd6XHiyHOQGe
	TBQymhHi/YNwX/2YfMcHms/TrkoXla4sPX+nmzTrWBmVQJtsVBWp/WsQzC/88Y+KoeJ7za
	tsMn/Et8Cp4PfH7sPpjsBYIhwONyML++l0MV2YxFlJGhm8Ns/28mi/7A6VsbjDvZSFLHIO
	J/b4IHD+dlO1nUB8KfUT+Rwuo9YWXeSD7OfnypzdtY6cPQGWa0zsb2A6BbTtgQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz32K41t6zPhQ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 15:19:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1ca4a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 15:19:05 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: R. Christian McDonald <rcm@FreeBSD.org>
Subject: git: 4a0ec469934a - main - iflib: Do not ring the transmit doorbell when nothing is pending
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: rcm
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 4a0ec469934a5de60b9b540689703a698ac44105
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 15:19:05 +0000
Message-Id: <6ac3bfe9.1ca4a.1d0623d2@gitrepo.freebsd.org>

The branch main has been updated by rcm:

URL: https://cgit.FreeBSD.org/src/commit/?id=4a0ec469934a5de60b9b540689703a698ac44105

commit 4a0ec469934a5de60b9b540689703a698ac44105
Author:     R. Christian McDonald <rcm@FreeBSD.org>
AuthorDate: 2026-10-05 15:17:13 +0000
Commit:     R. Christian McDonald <rcm@FreeBSD.org>
CommitDate: 2026-10-05 15:19:01 +0000

    iflib: Do not ring the transmit doorbell when nothing is pending
    
    For a lightly used ring iflib_txd_db_check() may defer zero descriptors,
    so its "pending >= limit" test is true even when nothing has been queued
    since the last doorbell.  iflib_txq_drain() calls it before, inside and
    after its loop, so a sender that drains its own packet wrote the tail
    register three times per packet, twice with the value the hardware
    already had.
    
    The log of 81be655266fa ("iflib: ensure that tx interrupts enabled and
    cleanups") calls skipping the doorbell when db_pending is zero "an
    obvious missing optimization"; the comparison against a limit of zero
    defeated it.  vmx(4) and mgb(4) have dropped such repeated requests in
    the driver since 2019.  Return early when nothing is pending.
    
    Reviewed by:            gallatin
    MFC after:              2 weeks
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D60290
---
 sys/net/iflib.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index c2e70d946bf6..834cc37cb6ab 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -3457,6 +3457,13 @@ iflib_txd_db_check(iflib_txq_t txq, int ring)
 	if_ctx_t ctx = txq->ift_ctx;
 	qidx_t dbval, max;
 
+	/*
+	 * Nothing has been queued since the last doorbell.  The threshold is
+	 * zero for a lightly used ring, so the test below would not catch this.
+	 */
+	if (txq->ift_db_pending == 0)
+		return (false);
+
 	max = TXQ_MAX_DB_DEFERRED(txq, txq->ift_in_use);
 
 	/* force || threshold exceeded || at the edge of the ring */

From nobody Mon Oct  5 16:46: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 4hz4zL2pQDz6n737
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 16:46: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz4zL27t3z4Q22
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791218798;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6KFDGfF5CbzGLJZbmWn+PmZqD+x22ihKlWUVX+nbcb8=;
	b=V9Cnv65RpWZmSd+WqMNgkJsSkkq5pdFM8cwEJb7HU4IYPdJyV2zFnjewZ4hFVBvAfXJAyt
	1yuN90Kyrqvojt9twJsl3RmLE14SGr+iVkhg4JBnR5iCSe09zIHxoJtyP3cJymXVzfF3Hg
	7sGPXquebA5iPakWHY8jyi+7HS9c7fU822vSt4QVs9KcTQ5xDCzxKzH/X80Uj3kr9Ea3Ef
	/D7j57P+b4h4KaTQpl2tdI6427+t1j2Z1AheWdjiyLt5visul8uwUEIZcDAEdPQlHxQrwx
	3TBFYJ0kBRjxlpCL965Bx8sXcHrP4bxukQX/dz09qwf+A3Xb5H8dlHEqV3DBRg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791218798;
	b=bEtPGe3/BSNCY+URcD4yhv6qJhMTFRgJHHTBvlSC07Yd2s4JzSEpJBpXYjPV3ngLkZHjDZ
	ZNtRj3SCLr006VEfFoesv/VUUtNwt5LzSXVPo7n1KKkYUNuL0MnlHyw/NbcjsZ/qgDYE32
	lrg08+56ytaKEQhAgEjLlPvvyxozcgRnY20Mppbj0DYqBAiwKqXW0TcgyqKvCj5VuwrMLH
	fvOSZJ2iQRSRn3RRkSqy4/VU3H16KMbyHjqdui2+qT7pUnbIDaODKQnc+VBS7gJQpH+lgD
	cmxU2gKiCbdjFQy0TVTGDNQT5MxrpnSL5iU0OHDQo93vGAkdW3uGUvSPI9Y0Mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791218798;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6KFDGfF5CbzGLJZbmWn+PmZqD+x22ihKlWUVX+nbcb8=;
	b=HETd8bC026qK4fX5PkM3KZIwHrVw5wmpYA4NocjI+HJC9J9ed228pWDSJ1XsLIrjbnu5qn
	dMSGAZll5PRseuJOQNolteDz3P+JrmNcIjMqpQ7MJ+wBitbOPdwxfFHmOa5Yqzzexe1IxU
	WrCrVCqerH6WB4YDpi6C1XLxmd3rSkmNfBKHY+dBa/3vOHPEbHWI5rp7F1z3UN+d0GeWF6
	/zfMGMtHWvI1/G23vHlv1qKoO8wK7k5/ASW8PNzrS7tdWLp/mgPXovC+lkXTgzu4AI+gJi
	BlCTbSn9bhoFZbTVnb5WwQ0hydT1/vbx5JymCi3uNqoMdVUnmpCH8otiqeQGyQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz4zL1CWfzS33
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 27512
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 16:46:38 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: 2165accd3748 - main - acpi: Tasks: Remove unnecessary includes
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 2165accd3748c0acb6e82756d71a46509b220fd8
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 16:46:38 +0000
Message-Id: <6ac3d46e.27512.4741d461@gitrepo.freebsd.org>

The branch main has been updated by olce:

URL: https://cgit.FreeBSD.org/src/commit/?id=2165accd3748c0acb6e82756d71a46509b220fd8

commit 2165accd3748c0acb6e82756d71a46509b220fd8
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-10-02 17:11:58 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-05 16:45:32 +0000

    acpi: Tasks: Remove unnecessary includes
    
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
---
 sys/dev/acpica/Osd/OsdSchedule.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/sys/dev/acpica/Osd/OsdSchedule.c b/sys/dev/acpica/Osd/OsdSchedule.c
index f0464709e8ad..5720fb3d4e2e 100644
--- a/sys/dev/acpica/Osd/OsdSchedule.c
+++ b/sys/dev/acpica/Osd/OsdSchedule.c
@@ -30,8 +30,6 @@
  * 6.3 : Scheduling services
  */
 
-#include <sys/cdefs.h>
-#include "opt_acpi.h"
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>

From nobody Mon Oct  5 16:46: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 4hz4zM6xMHz6n6jV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 16:46: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz4zM42Swz4QCh
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791218799;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wnbAUJoeJFb8iY4duaA0MTjsjwMyB2/XDBgaJOzVHa8=;
	b=NhfI/UuKNdDj0+6/SPxAGmNWO0d0Z4qIZFRMMNh3LJjCIrJXV6GNoL1AJpe48g6P9aHTls
	2MSN4ibW2aUsmM7oavEjOEjbTSKwwRh66D/dZBOSsXhLlh43Ik+Tnj3F4IZiMKDUb5YgjV
	ZqGQ3x3G94Ihsrq4lNQ+Cf2nE8OCjzVevrynmL9GVjWZVw0iJfv3Cp0bqgelC+RFeN9edT
	981xGCJkPa/Wf4j5Wt9n8qPIUlmkNo0FIwkDC1BCf7eOon/dpsr+fX/LC8wkVNyhLXeRWC
	0hhHeDPKkxU9ZfcoqM3HBjaLEI2HIbmGCHDCdaRCZSLa+hG3F0GQM3GIHaAVLw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791218799;
	b=wHIQS4/nFMORyrc+1RhS5S4J3ECENlLDVEdPCsOJRWngXKG/1yJ+Z8lo0T0l5/TuTBLvJS
	9+8Fve1L8efS8B+Y1Z2Gdatucismdzfxdw818So2zOoVY5Opz2XipIbJWBo2hgFTSFRaIJ
	QmsbayziXl/dZJqJQe6julA4sYLD58AmUFplpZIOYUK/o2cUM8qz5a+ZRlsuCCJVBnbiy3
	5WG86AE/B0Pl19BVNLqZICWGu/WBnitudOjqum3NjEOQIoIZb1ZMA7gdLzt3Rpu80DyFcN
	4P1dpv6jVt2fi8ByzingTaJTkvdInDiGM4kdO0b2LQgC0ztnzz6FCVTPQ8QkKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791218799;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wnbAUJoeJFb8iY4duaA0MTjsjwMyB2/XDBgaJOzVHa8=;
	b=iRyMGeNh8RDK7NwHlvcDaEFldx2zTVL7bXGuNP03DkN+hxFjPb/0xkuYC9pYgTWFBtPXXr
	QAV3zlZW7L/HN5zkUBCUrGnawg/yJl92BoSPrJqL5YHlzMOoAXAT+GRezdgmqNP3K4JV4G
	mrr+XPig4P3PmDOQw711MwWJa5+tKKp2kSrfdTanp+83WGRAdTn9ANU9raAeZVV9phuxO7
	WBa2pBB+orD4Xy9TGpn2BXE0ATdyog9SvlmLgVNP6Igjh27UCasWNN3LVpSkwcS1dC3xCr
	dY95DfuVXLhYJsASxymgkW/WZaXmKbjKXdVscslcCr4NZk5hE9QO0M28BbITGw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz4zM1rRxzSJl
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 27639
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 16:46:39 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: f0825f75bab8 - main - acpi: Tasks: Make OsdSchedule.c whitespace clean
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: f0825f75bab8ae7cb8e0ba717f76110b6f1862f3
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 16:46:39 +0000
Message-Id: <6ac3d46f.27639.6fdfd8e4@gitrepo.freebsd.org>

The branch main has been updated by olce:

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

commit f0825f75bab8ae7cb8e0ba717f76110b6f1862f3
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-10-02 17:12:46 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-05 16:45:56 +0000

    acpi: Tasks: Make OsdSchedule.c whitespace clean
    
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
---
 sys/dev/acpica/Osd/OsdSchedule.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/acpica/Osd/OsdSchedule.c b/sys/dev/acpica/Osd/OsdSchedule.c
index 5720fb3d4e2e..d4be416f94e2 100644
--- a/sys/dev/acpica/Osd/OsdSchedule.c
+++ b/sys/dev/acpica/Osd/OsdSchedule.c
@@ -74,7 +74,7 @@ static MALLOC_DEFINE(M_ACPITASK, "acpitask", "ACPI deferred task");
 struct acpi_task_ctx {
     struct task			at_task;
     ACPI_OSD_EXEC_CALLBACK	at_function;
-    void 			*at_context;
+    void			*at_context;
     int				at_flag;
 #define	ACPI_TASK_FREE		0
 #define	ACPI_TASK_USED		1

From nobody Mon Oct  5 16:46: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 4hz4zP2MvJz6n6Zb
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 16:46: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz4zN3TVXz4PfF
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:40 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791218800;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jGEX5Tce1xWr/BnNmpIG/tL7sLvaeQA7jPrubT5xk6w=;
	b=m7RwjGif4Q3/h0MkryVYiYMMQf64xFj9iyguWftbo0hTPDrDR+toKBZzHK2ocBu8+JwRAo
	9GfJppkq62QkCD2uhdQ4Doe/vJwiZjqZlAMzWmThuDniqRCTrWCml+fD1C3kvkcFO2qauf
	PQekr1L1/FDOS6rlcqjbPN+vTsdRpIMrPagblW+p17s5+1P1OjzvG7w//cYfKIEppB4MVu
	TchMyQjNieYB18MJPG4J0Zba75A2Zt0YVBJkRBl8lYav4DLDmJcOirokJLDG9KQU3COksn
	t6MG6qQp3fr0tUvvJkF1ZbawgQ9Y4VnxQ9xA4a1CYxQLnaQN4ELn2wzwOdMHbA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791218800;
	b=jgWL3OXUBQS/qyjVtdXSZQflTPq7UCOX0kRYRanWYsqEi0sZLcMN7NdYxyE3WdvdBbNka4
	XEqFUXOVNKV8wNH06SK1Rvrk8c6OymtFV0c8kU/Acr6+5fhxcXPebt/FM7j4PPVXTYSOak
	b1W2DY6wUGBzXJnMSXCJ/o59wQSTmgJOaenlyiT4X+LNjqufwir4ph1Om+1iG2UaUu0sOp
	70QLcFZEY78r9NMBsGZrcX7utJUDXxUIUQjfTp/mJwZJUdZ1cST0RgkeUJruCsayzoApOb
	1yeAe6Jf7hQatHo8Ii1xBf4Dm5rCTQd5miU9YMYu8OYWVsNtnz4BnpmI5AzavA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791218800;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jGEX5Tce1xWr/BnNmpIG/tL7sLvaeQA7jPrubT5xk6w=;
	b=vgfhaYNB66NNaHXfqrf81Mu/XwdSFjy7mOIsoyGm+f4gmzd6j2VIWKxb4Sn60CoGexuh1a
	GHrSLGhNKirFCG3TN3/Ra3sjFA3mjSw2P5DF23woIuQ50KnPOmksa2us+HhT22nMVgVITt
	4vaBfZkIemc/YAJOmstEqEWNnFD1JWha+PmxyGkB7RQh85UUls6APNT58/aYRWC0In697+
	bsfoHEHqWhRoIG1iJyxZA0uF81PbnY6jMzEGCVaPXMQs4sdpdaSVPOm0P5D/sQd8uQewM+
	T6BHH+7Uo1IMky1Fvm1hPqRG4BH7mO8kkzPkcyCAN62vEiJ1d42nUwK8R7kjPQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz4zN2WCLzS4D
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 16:46:40 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 279d6
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 16:46:40 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: e89c3ac5df58 - main - acpi: Tasks: Document why 'acpi_task_count' is accessed unsynchronized
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: e89c3ac5df58a9eae9d01f325ffc9b34258c4b29
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 16:46:40 +0000
Message-Id: <6ac3d470.279d6.75b91981@gitrepo.freebsd.org>

The branch main has been updated by olce:

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

commit e89c3ac5df58a9eae9d01f325ffc9b34258c4b29
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-10-02 17:14:16 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-05 16:46:04 +0000

    acpi: Tasks: Document why 'acpi_task_count' is accessed unsynchronized
    
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
---
 sys/dev/acpica/Osd/OsdSchedule.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/dev/acpica/Osd/OsdSchedule.c b/sys/dev/acpica/Osd/OsdSchedule.c
index d4be416f94e2..c39d4112a039 100644
--- a/sys/dev/acpica/Osd/OsdSchedule.c
+++ b/sys/dev/acpica/Osd/OsdSchedule.c
@@ -83,6 +83,7 @@ struct acpi_task_ctx {
 
 struct taskqueue		*acpi_taskq;
 static struct acpi_task_ctx	*acpi_tasks;
+/* Unsynchronized as only useful in the mono-CPU startup phase. */
 static int			acpi_task_count;
 static int			acpi_taskq_started;
 

From nobody Mon Oct  5 18:53: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 4hz7nN0Tkhz6vFHm
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 18:53: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz7nM75nQz4lwC
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 18:53:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791226392;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jbiONKdl0AVKCufltzcG9BiUoz9ye9tvTXm45AZ1zaE=;
	b=Zh6TuOz7ACNROWmxirS6rZNVdyY1kuoNR/odNhwwf/rHSK43vmddIhB6841I/3ckBbeYJG
	FYbDo56xlpq23y3xO99I1TANPavOpQb61rNokxyvv4UrLDeXU/t+or8zd+ZvKWH4H0SNdo
	vravfblEAgoJvWcF3epetwHEiS+D679oxgblV3wmtiXHeUtVeTK3/MU6qX89vu3zP+HT+k
	lBnKfRg6SWcppuwsVsLdPHkuZ0L4YUpML3sxoZtn28XpASUsT08jLIixvZGN17cBASb664
	ASnXNSRPObZriyqYDI+aaDji8pDUTJvt5kLvJkYMBKObqlPJzMfW7uwSoT2Xzw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791226392;
	b=Trwo7dpoxjW7/17mPNTXF5pLtfTao5nytx3iOccKBqwuFdouRnop+fVN16kQdV3FAWaL3Y
	7MKFPPQM1J3j47eFKRJyfdIkNAhPCOyRQLO09J8EjNunRZTdSpvkyhbDcY8aNOKALq/drz
	IUztdw9E6q3YzvLgRo1Unaj5l/8gN1NsRcCj7MGjt6JHzWOGWO7ZuWoO6I66cNgNHJXrrh
	zPSDgpmZbTyUPGqC+P7InLlxO3MQQko6OKftKcZlf2nV/g6MhushtKOXl3nLHNeoeHonPO
	0gUx+LVkK+nqEtMywQ+VIK7Y0CibFeAUE/DBRkS58/q2g6ilaU2BGK3ZMt2XmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791226392;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jbiONKdl0AVKCufltzcG9BiUoz9ye9tvTXm45AZ1zaE=;
	b=ApkidG/oNqjODHfd/LKiqlSu5H+p1ZVi8Ti421r4SQsVqEuP9Y54f7kwTNYtcvCo19cnhM
	mBeUBt+boV9VkC+WAyhcVI1f6cYulg82uyOcVsat6Rqsl82sX5U0bj/TVv3+IrNQ92YFZR
	4UPsxiaUYG8mO7vwMIsQ3UerdS4GljPDwnghcaLAz3i3RAOX8ZFAaRpdxO5Asxq1W+WeG6
	htl4qRTa89vMWu40jRGlH78qzgM9eDg9ColeeDeqRwicME0Z7MV+81JGMwKAuni5r+uITG
	wXWx5A897gH/r9LfLbxGsGQ8Smj2qR8DtC6Jzo1Svpj7SuxGaxHax5eyZXuECA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz7nM670WzY3f
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 18:53:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d13b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 18:53:11 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: R. Christian McDonald <rcm@FreeBSD.org>
Subject: git: ac24108dabca - main - iflib: Make the deferral test in iflib_txd_db_check() an early return
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: rcm
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: ac24108dabcac04c7db351d33eb76f3ddee6073b
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 18:53:11 +0000
Message-Id: <6ac3f217.3d13b.36889286@gitrepo.freebsd.org>

The branch main has been updated by rcm:

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

commit ac24108dabcac04c7db351d33eb76f3ddee6073b
Author:     R. Christian McDonald <rcm@FreeBSD.org>
AuthorDate: 2026-10-05 18:52:10 +0000
Commit:     R. Christian McDonald <rcm@FreeBSD.org>
CommitDate: 2026-10-05 18:52:10 +0000

    iflib: Make the deferral test in iflib_txd_db_check() an early return
    
    Invert the test so the doorbell write is no longer nested inside the
    conditional, and wrap its comments to 80 columns.  Fix a typo in one of
    them.
    
    No functional change intended.
    
    Reviewed by:            kbowling
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D60371
---
 sys/net/iflib.c | 37 +++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index 834cc37cb6ab..358e2f03aded 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -3466,26 +3466,27 @@ iflib_txd_db_check(iflib_txq_t txq, int ring)
 
 	max = TXQ_MAX_DB_DEFERRED(txq, txq->ift_in_use);
 
-	/* force || threshold exceeded || at the edge of the ring */
-	if (ring || (txq->ift_db_pending >= max) || (TXQ_AVAIL(txq) <= MAX_TX_DESC(ctx))) {
+	/* Defer unless forced, at the threshold or at the edge of the ring. */
+	if (!ring && txq->ift_db_pending < max &&
+	    TXQ_AVAIL(txq) > MAX_TX_DESC(ctx))
+		return (false);
 
-		/*
-		 * 'npending' is used if the card's doorbell is in terms of the number of descriptors
-		 * pending flush (BRCM). 'pidx' is used in cases where the card's doorbeel uses the
-		 * producer index explicitly (INTC).
-		 */
-		dbval = txq->ift_npending ? txq->ift_npending : txq->ift_pidx;
-		bus_dmamap_sync(txq->ift_ifdi->idi_tag, txq->ift_ifdi->idi_map,
-		    BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
-		ctx->isc_txd_flush(ctx->ifc_softc, txq->ift_id, dbval);
+	/*
+	 * 'npending' is used if the card's doorbell is in terms of the number
+	 * of descriptors pending flush (BRCM). 'pidx' is used in cases where
+	 * the card's doorbell uses the producer index explicitly (INTC).
+	 */
+	dbval = txq->ift_npending ? txq->ift_npending : txq->ift_pidx;
+	bus_dmamap_sync(txq->ift_ifdi->idi_tag, txq->ift_ifdi->idi_map,
+	    BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
+	ctx->isc_txd_flush(ctx->ifc_softc, txq->ift_id, dbval);
 
-		/*
-		 * Absent bugs there are zero packets pending so reset pending counts to zero.
-		 */
-		txq->ift_db_pending = txq->ift_npending = 0;
-		return (true);
-	}
-	return (false);
+	/*
+	 * Absent bugs there are zero packets pending so reset pending counts
+	 * to zero.
+	 */
+	txq->ift_db_pending = txq->ift_npending = 0;
+	return (true);
 }
 
 #ifdef PKT_DEBUG

From nobody Mon Oct  5 19:35:28 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hz8kC2fY7z6vJJM;
	Mon, 05 Oct 2026 19:35:31 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz8kC0xTrz4sCy;
	Mon, 05 Oct 2026 19:35:31 +0000 (UTC)
	(envelope-from markj@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791228931;
	h=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=EvmBAgGvQUiMHzVLdVqfiKkE2GdpF1NogKo1OXr7aT4=;
	b=JXaMnhG21w+RpZ5n2QOu9Q++N0oXntvaE+B+/lmgXBocfIy3ZXeK2sPPWi7pbM+EH4DE1H
	MNntmpyVR+gCEakobpX1QYHYP4IDug3qhumz78jWKGxTo3TSHgZI6Ek1GI8YwN5mrBXWHx
	Mk/ylbxGVjzlPA1YPLAzkh3Kgm1Qte+5FUkEd98pIpIFrpmhY8f25Yk6Z9KppGmVl8oMrx
	8UQjX+nybjIib7aDdousw1xeetStfnMJkxnX+b+/+QOcN2YLDg2taI4kvpNXDYKgjzKeI2
	A9dgOzjCGH+h/VslsrkGVbaQknt8zVYrPxarDI0v7f8ftlG7NxOWNYniWeLD0Q==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791228931;
	b=oyLUNhaQyA6kQMjlQJxzu7kvkJgIzmc0vrbBdTpJMg+KIZqj/teF/BG0p84hednMTqpUj6
	2OJgjsno/7ght0J7el7jsU5Y5twYcOl0zOGrwhAFMHpBBINLR0A4ok6PBEfL/KRIe+ENBd
	2e7hro2aEN+x+P35+dtkeFE12DMyBhqt2q46y93C8/8Utj7LlXLCbQJjRQMjJQux8H1ZYy
	p1vUfMi/KGjpfsS7Ui9z692LrqDD1bhdi9R5nE8Kqj6zIjnJPFGZAuQwqwHnD7w+CazGDL
	ZKYkcw+sJCifKd7eSSrbl+ECA+VxSEnItULw8g1G1pBBtNWq2s1baPZzAqQDXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791228931;
	h=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=EvmBAgGvQUiMHzVLdVqfiKkE2GdpF1NogKo1OXr7aT4=;
	b=L8JE4paOsxU9efosEnQbKJ4Cp4qW6fuXj77Ms4YO09WKOJpyuMHVIt9vPqXL/A5wMO3Pjy
	ORk8pjSkPqSoAa7xgwYmYIDdjhGijp0Mdw97aYNOuG0tt7C6ftDExN8/2b+hUDG+a1wMC6
	yPCLwqMdBBz5djguLokWdSEwbq//OsHuydk79OwHU93KODliP7jf4CG1saxXE5P0O3+HwW
	fweMBuTvXhiidJmwHxD6yKXodfpfvDAc+bCelKoaAiwOywulfgZjXMFhr2ZNaA0CKD367h
	oAO0O+wyvqDQMFZxKl/7c7dgf2YNUJARH9UUhYf3N419EUWN0L/aQ1LVSUN77A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from nuc (198-84-224-249.cpe.teksavvy.com [198.84.224.249])
	(using TLSv1.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 4hz8kB4xL2zj0x;
	Mon, 05 Oct 2026 19:35:30 +0000 (UTC)
	(envelope-from markj@freebsd.org)
Date: Mon, 5 Oct 2026 15:35:28 -0400
From: Mark Johnston <markj@freebsd.org>
To: Siva Mahadevan <siva@freebsd.org>
Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
	dev-commits-src-main@freebsd.org
Subject: Re: git: fdd3f6f78888 - main - bsd.lib.mk: only ctfmerge if objfiles
 have a CTF section
Message-ID: <asP8AJ7T0K2nRlJh@nuc>
References: <6ac3af3d.446b4.721d30f1@gitrepo.freebsd.org>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6ac3af3d.446b4.721d30f1@gitrepo.freebsd.org>

On Mon, Oct 05, 2026 at 02:07:57PM +0000, Siva Mahadevan wrote:
> The branch main has been updated by siva:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=fdd3f6f78888b02a1bfa69a0572317413dc14a45
> 
> commit fdd3f6f78888b02a1bfa69a0572317413dc14a45
> Author:     Siva Mahadevan <siva@FreeBSD.org>
> AuthorDate: 2026-10-02 19:54:55 +0000
> Commit:     Siva Mahadevan <siva@FreeBSD.org>
> CommitDate: 2026-10-05 14:07:44 +0000
> 
>     bsd.lib.mk: only ctfmerge if objfiles have a CTF section
>     
>     PR:             299013
>     Reported by:    Trond.Endrestol@ximalas.info
>     Reviewed by:    emaste
>     Fixes:          222210c6a822 ("libgcc_s: add libgcc_s_asneeded.so wrapper for gcc 16")
>     MFC after:      3 days
>     Sponsored by:   The FreeBSD Foundation
>     Differential Revision:  https://reviews.freebsd.org/D60252
> ---
>  share/mk/bsd.lib.mk | 2 +-
>  share/mk/sys.mk     | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
> index e3b3d760ff28..5b7bed041b8f 100644
> --- a/share/mk/bsd.lib.mk
> +++ b/share/mk/bsd.lib.mk
> @@ -291,7 +291,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
>  .endif
>  	${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
>  	    -o ${.TARGET} -Wl,-soname,${SONAME} ${SOBJS} ${LDADD}
> -.if ${MK_CTF} != "no"
> +.if ${MK_CTF} != "no" && defined(SOBJS) && !empty(SOBJS)
>  	${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
>  .endif
>  
> diff --git a/share/mk/sys.mk b/share/mk/sys.mk
> index bb943d2b1519..f63223e8464e 100644
> --- a/share/mk/sys.mk
> +++ b/share/mk/sys.mk
> @@ -165,7 +165,7 @@ CPP		?=	cpp
>  CTFFLAGS	?=	-L VERSION
>  
>  CTFCONVERT	?=	ctfconvert
> -CTFMERGE	?=	ctfmerge
> +CTFMERGE	?=	ctfmerge -t

Is this part of the change intentional?  It doesn't seem right.  We may
legitimately have object files without CTF info, I'm sure this happens
in the kernel for instance.

>  
>  .if defined(CFLAGS) && (${CFLAGS:M-g} != "")
>  CTFFLAGS	+=	-g
> 

From nobody Mon Oct  5 19:55: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 4hz98l02r4z6vK8B;
	Mon, 05 Oct 2026 19:55:03 +0000 (UTC)
	(envelope-from siva@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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz98k6XxCz4vGl;
	Mon, 05 Oct 2026 19:55:02 +0000 (UTC)
	(envelope-from siva@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791230102;
	h=from:from:reply-to:subject:subject: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=bWPwTlSSlnx9J/gmUzCgI9JFRhwJXP8RvjmvE30xS7o=;
	b=O4Azv14x/Yt8ddhpAJBRJENkQhU+LW+cpE1TaOAqvVFku4lxltZQnxPCn/UeQ0rTck0P9F
	9p0oGuuCQUxEcNeOjxh9zQHpfQs19HpOpQ0Cz4glx15k9jM1CyHtSmsBJoWcJub5BAA+EK
	3vrnN2039PfdhX5ULsNAd8rFt+wr3nHhk/xT2ZU1OGUD/AEWgH/lh4KxDdSw+6rD/Mitsc
	LnK47iSVfP+WZyBw0DSQcb2vz2AxJhB6pAyHCZ7x9+pmIY/Ee+NNYI8jOTtQlaTrJJIG64
	KnUjvq8+Bb8R8rcVVqs6o4ASKXRQUjhWvevCvhmQ6nTmCV2DD8QD7qPg3qHxGA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791230102;
	b=ZLIFhEVzJd4XJMeBgYsFO/nyq8ffJRd6d+zG7z5PJI0l3ru9arg1TOBnR/xeBfJLXB2YBJ
	4VSwEgKrjveS4YPnEgKhBQZByh8ywGNDY5yRe1FYCgCIBhot6Lbn4zr46CfH8wilC4YsYR
	GjJj7qmsa9mk0dHxNYa+oDO+k4VYQiMGLo+e5CxeQU0XzqEfbB2FV/lswMK7GNaRCz0qQV
	YeQKCoAGuAhT5VLNyI+q5bZcqGMg8XJ2MW3aGmfNIEUad7CBZ7Q4MdYGE9kmzm1oNBODFu
	AO75AXpvHwzZ5D7i0/2g0gqaGbct4ufNUTXPTzy162OZNeCVWiG/mQf0dXrZKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791230102;
	h=from:from:reply-to:subject:subject: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=bWPwTlSSlnx9J/gmUzCgI9JFRhwJXP8RvjmvE30xS7o=;
	b=YBAEgVgQxLMxFG86KCAEJ++//2lPN9UqiRgpvdMSfcY2tu57eoY2RuS9sdL01r8v++e1vq
	aS7HxZ4k0gEl/2n038igX1oOO9+GS/E+hN9eRtoDeEaIMEb9E2VKzjtDuj9wSjTp7u5YNg
	wcq6swVB9VvEwrIpzJS0Q7+cNqQNYqTOLJUYvKvRoxgqySUQbaQu3D+2Z7KR5bBkBVZhEi
	xHEZ5ciAa8jrjjVAeAlESMRxN4kF4llqjbdRT0GqsywOI6p19DgbCpG+H6D5r8cME1elJB
	fQvPZ8fWQ6YIUm0bfFbLS7lRCE36HUXrLKtuHsDVEdAZVJi59taAArY8sPfnRg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from localhost (unknown [IPv6:2606:6d00:f3a:e490:b79c:2c74:cd48:7dc9])
	(using TLSv1.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: siva/mail)
	by smtp.freebsd.org (Postfix) with ESMTPSA id 4hz98k4Rp6zjTd;
	Mon, 05 Oct 2026 19:55:02 +0000 (UTC)
	(envelope-from siva@freebsd.org)
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 05 Oct 2026 15:55:01 -0400
Message-Id: <DLX62SGNY330.1G30TXB8P6IQ9@freebsd.org>
Subject: Re: git: fdd3f6f78888 - main - bsd.lib.mk: only ctfmerge if
 objfiles have a CTF section
From: "Siva Mahadevan" <siva@freebsd.org>
Cc: <src-committers@freebsd.org>, <dev-commits-src-all@freebsd.org>,
 <dev-commits-src-main@freebsd.org>
To: "Mark Johnston" <markj@freebsd.org>
X-Mailer: aerc 0.22.0
References: <6ac3af3d.446b4.721d30f1@gitrepo.freebsd.org>
 <asP8AJ7T0K2nRlJh@nuc>
In-Reply-To: <asP8AJ7T0K2nRlJh@nuc>

On Mon Oct 5, 2026 at 106:00 UTC, Mark Johnston <markj@freebsd.org> wrote:
> On Mon, Oct 05, 2026 at 02:07:57PM +0000, Siva Mahadevan wrote:
>> The branch main has been updated by siva:
>>=20
>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Dfdd3f6f78888b02a1bfa69a05=
72317413dc14a45
>>=20
>> commit fdd3f6f78888b02a1bfa69a0572317413dc14a45
>> Author:     Siva Mahadevan <siva@FreeBSD.org>
>> AuthorDate: 2026-10-02 19:54:55 +0000
>> Commit:     Siva Mahadevan <siva@FreeBSD.org>
>> CommitDate: 2026-10-05 14:07:44 +0000
>>=20
>>     bsd.lib.mk: only ctfmerge if objfiles have a CTF section
>>    =20
>>     PR:             299013
>>     Reported by:    Trond.Endrestol@ximalas.info
>>     Reviewed by:    emaste
>>     Fixes:          222210c6a822 ("libgcc_s: add libgcc_s_asneeded.so wr=
apper for gcc 16")
>>     MFC after:      3 days
>>     Sponsored by:   The FreeBSD Foundation
>>     Differential Revision:  https://reviews.freebsd.org/D60252
>> ---
>>  share/mk/bsd.lib.mk | 2 +-
>>  share/mk/sys.mk     | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>=20
>> diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
>> index e3b3d760ff28..5b7bed041b8f 100644
>> --- a/share/mk/bsd.lib.mk
>> +++ b/share/mk/bsd.lib.mk
>> @@ -291,7 +291,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
>>  .endif
>>  	${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
>>  	    -o ${.TARGET} -Wl,-soname,${SONAME} ${SOBJS} ${LDADD}
>> -.if ${MK_CTF} !=3D "no"
>> +.if ${MK_CTF} !=3D "no" && defined(SOBJS) && !empty(SOBJS)
>>  	${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
>>  .endif
>> =20
>> diff --git a/share/mk/sys.mk b/share/mk/sys.mk
>> index bb943d2b1519..f63223e8464e 100644
>> --- a/share/mk/sys.mk
>> +++ b/share/mk/sys.mk
>> @@ -165,7 +165,7 @@ CPP		?=3D	cpp
>>  CTFFLAGS	?=3D	-L VERSION
>> =20
>>  CTFCONVERT	?=3D	ctfconvert
>> -CTFMERGE	?=3D	ctfmerge
>> +CTFMERGE	?=3D	ctfmerge -t
>
> Is this part of the change intentional?  It doesn't seem right.  We may
> legitimately have object files without CTF info, I'm sure this happens
> in the kernel for instance.
>
>> =20
>>  .if defined(CFLAGS) && (${CFLAGS:M-g} !=3D "")
>>  CTFFLAGS	+=3D	-g
>>=20

It was intentional, but made with the wrong understanding, thanks for
reporting this. I've submitted D60378 for review as a fix.

From nobody Mon Oct  5 19:58:12 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hz9DN4txxz6vK7H
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 19:58:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz9DN4KWQz4vlS
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 19:58:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791230292;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=C3aB7SCjcLdtsHvg2eLsmHnpckheRfLAR9GAOsaT2kQ=;
	b=dUvAv9nMDo5kz4HQ+r2D++4F8l0BHKoe7xKdVF+q5DN3Ei+wgedFkYABISPLP3rMSQF+Uo
	Yl9UufbTQL0PCD8sRxGytOtXM3/t4AUgSWITTjfeTo+P+LED62mJF5feM9tZMMfXSMIMNP
	ux7EOvqLOKsXFFtdT/J47R9MX0fHvxvaWqV1btWCcP/AFKkVHtmcdbeq0jseJZApRpu5Xf
	bBjRpoX48WPig9EoqhVOGEjIYvEiqyRDn3peQPBuVJseV69kAgumHB2oXH38JHbHhmvNiC
	HrkssrluHTvbhMlN+OiGCsoNg68eYGcl39g1ShrycUi8fpkWxToihrHOIjU73g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791230292;
	b=e5Ag3jjwttn8OhDTjBD6xr5duA4vC/k7JqiJFa0BaTnRJJiBBMw2+8cGf0tglVDconD00t
	l/WBccr+PmwHJB1oM+nV45NsnDCKB2LYeiz8ceUBE+8/O0pQQwrWNm9wx+wfz0QfaYdZlY
	iTTmI3bfG5b/K1GS1UFSeerHkrLTXd9wOV86YemE7H1IioBKOyBrHJq8ql3IXxPM34TT5+
	FzjmEBH+8nCcI+Zw3gQFimsReIHX0bsAwy0UiVl3RwP3Rfr/sdsh1Y0sZxVSF8I7hwdZ4C
	5SPiQHxHSb8M5du7WCRYTHY7UBDWNRMpvO89ONUWrqK6s12r9WEcYeuHL5MHoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791230292;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=C3aB7SCjcLdtsHvg2eLsmHnpckheRfLAR9GAOsaT2kQ=;
	b=ok7taHdnd/TxermwA/DdYmI9ipaZOvCsJ5u3xVnx0YQvLbvfx4+GbWSjL3Jk716nH0ogAb
	9PXCoeC05zAWuhNt7ORbHie2xCyDIHg/mpv556dAj338H7ZRaawZgU1gnpicA3eHe/MJft
	pWolOisuJctXZ5lrwx9gCHr62ThsURPC50ApwTHddWJ0k1vt4IzsP8lKy1nJNgaBN5alr8
	oaYxYvabGRIzM5h4XKiPqe3Jo3egl3WqA5zWZ+MUSc82V4DtNGsSLq1Ge47XwUOM0xWXET
	k3PP+73anUsqy5BesEjIgbhh5rvkJRlERpJaepNplM/km2xKjVZRaoiB92jb2A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz9DN36XGzbbZ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 19:58:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 412d1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 19:58:12 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Antoine Brodin <antoine@FreeBSD.org>
Subject: git: 152dd1a0ee30 - main - ObsoleteFiles.inc: add more obsolete files
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: antoine
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 152dd1a0ee3076be117e7897c666df95a5a4447d
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 19:58:12 +0000
Message-Id: <6ac40154.412d1.2a4b188e@gitrepo.freebsd.org>

The branch main has been updated by antoine:

URL: https://cgit.FreeBSD.org/src/commit/?id=152dd1a0ee3076be117e7897c666df95a5a4447d

commit 152dd1a0ee3076be117e7897c666df95a5a4447d
Author:     Antoine Brodin <antoine@FreeBSD.org>
AuthorDate: 2026-10-05 19:57:35 +0000
Commit:     Antoine Brodin <antoine@FreeBSD.org>
CommitDate: 2026-10-05 19:57:35 +0000

    ObsoleteFiles.inc: add more obsolete files
---
 ObsoleteFiles.inc | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 344173ab74bc..93a31ad8e6ac 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -71,7 +71,12 @@ OLD_FILES+=usr/share/man/man1/lesskey.1.gz
 # 20260921: atf-0.26 release
 OLD_FILES+=usr/share/doc/atf/README
 
+# 20260903: vm_page_try_to_free(9) removed
+OLD_FILES+=usr/share/man/man9/vm_page_try_to_free.9.gz
+
 # 20260813: lib9p.so becomes a private library
+OLD_FILES+=usr/lib/lib9p.a
+OLD_FILES+=usr/lib/lib9p.so
 OLD_LIBS+=usr/lib/lib9p.so.1
 
 # 20260811: libusb symbol versioning, shared library bumped to version 4
@@ -81,6 +86,10 @@ OLD_LIBS+=usr/lib/libusb.so.3
 OLD_FILES+=usr/tests/sys/netinet6/frag6/frag6_01
 OLD_FILES+=usr/tests/sys/netinet6/frag6/frag6_01.py
 
+# 20260809: fwcamctl(8) removed
+OLD_FILES+=usr/sbin/fwcamctl
+OLD_FILES+=usr/share/man/man8/fwcamctl.8.gz
+
 # 20260707: Move sendfile_helper to tests/sys/common
 OLD_FILES+=usr/tests/sys/kern/sendfile_helper
 
@@ -642,6 +651,9 @@ OLD_FILES+=usr/lib/clang/19/share/cfi_ignorelist.txt
 OLD_FILES+=usr/lib/clang/19/share/msan_ignorelist.txt
 OLD_DIRS+=usr/lib/clang/19/share
 OLD_DIRS+=usr/lib/clang/19
+OLD_LIBS+=usr/lib/libprivateclang.so.19
+OLD_LIBS+=usr/lib/libprivatelldb.so.19
+OLD_LIBS+=usr/lib/libprivatellvm.so.19
 
 # 20260425: new libc++ import which bumps version from 19 to 21
 OLD_FILES+=usr/include/c++/v1/__algorithm/fold.h
@@ -707,6 +719,7 @@ OLD_LIBS+=usr/lib/krb5/plugins/preauth/test.so.121
 OLD_LIBS+=usr/lib/krb5/plugins/tls/k5tls.so.121
 
 # 20260120: Made libkrb5profile INTERNALLIB
+OLD_FILES+=usr/lib/libkrb5profile.a
 OLD_LIBS+=usr/lib/libkrb5profile.so.122
 OLD_FILES+=usr/lib/libkrb5profile.so
 

From nobody Mon Oct  5 20:13: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 4hz9ZX25mxz6vLjf
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 20: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz9ZX1CHFz4yS4
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 20: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=1791231236;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=i6FfsEYYzx1L30WND7YDFYrWbAQTN77Y/8tomx4zVHk=;
	b=qoclaNpGyBzlrHUer1xOZd4IZQ5j9HKkDw5Fxi6YmPlAyHPqFPF/rQirH+hyMm5Xzjia86
	zmGRo/YTN+FKDAhvvRvHUuNAASZ2u+xJZaK0UqsZELvGdz8sYlFj1pOr6t6Ps83hYDfXJe
	L7J+xv6d6fbwg51wGz55ot7eY8KtjUWblKLH1Rg1JUlveEdTtOczAIgvKOREsMTqmXeHpB
	GDhAM/iU9tb5vR9pMkoRPQCDg0yRpG6Vwo4hZSnA3pbzP4KNMYlnJvTVXx1a3TlhlBhFi0
	GuxNs5AQRxkollypJGI3MWO92kdOYXGoRYjGgTXG6jgzQdNsR94dvWegpz0VHQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791231236;
	b=nUiP+VZGp55hi32/+OJnVcCMF/UnXmNouJN4oq33t2NXNThNCrn650P1rTOJconYbBsxzW
	vtKxzrfglMfaINWMVJVUg6wr/QGQLM4fTufp2w0ZRXWXVktpHpO0pUY0mMm2NepblvW/9D
	jab+wlZ1T9WaOv4SRWVBhZAU4WSNicL/bzXnstwPxCcptgmliTaoCzJWQV3TVbY2/s3uFn
	yvWRtZBNPHZ/9Zr3XTxVYoyBRI/BOAHO71+T+nHcen82TQdXuG6VsHsEVJXECLshyOQLZD
	nNPjAz76p0Fx76+pHnaLGkfWNKKy0U2637nIGtlmhPdILGL2KvOadPjULQQOKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791231236;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=i6FfsEYYzx1L30WND7YDFYrWbAQTN77Y/8tomx4zVHk=;
	b=ZlqudDdOuWsNn5H602hsH3xVwNa383LFGZwQmqlUfTqNrZyotWnvkgfzDHJywRke1WWZxd
	kba8LoWrcuUdoqhOdbq7caso6ncCdu6k83FAucW5YvyglZk6HmEgw3A8+3/zZKyY/ol+W9
	vmhP9Jhi8ClTPLZHYpghoLFnbkupuL4nyhwEBOBcjbMtoL6ZzxcvIATYQEMv2BdtMhxtgZ
	8F3W1RIHnAs7N6z8KHbtDyM3ehEOrx3RJGTa+Gsb3CXMOpOBWyk4iWSLXNJc38rLlF1T5o
	gsQrrl4Zov5rkZ2SsMFFMdX66geZgx2nc9nrCjCvZzeoHwdy3zGa8VnIIle1iA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz9ZW6ZbFzc7S
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 20:13:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 459b2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 20:13:55 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Siva Mahadevan <siva@FreeBSD.org>
Subject: git: b45d14d3d665 - main - sys.mk: CTFMERGE: don't assume objfiles always have CTF sections
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: b45d14d3d665e0253391924e5c0595c259b8a773
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 20:13:55 +0000
Message-Id: <6ac40503.459b2.1f2f63c2@gitrepo.freebsd.org>

The branch main has been updated by siva:

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

commit b45d14d3d665e0253391924e5c0595c259b8a773
Author:     Siva Mahadevan <siva@FreeBSD.org>
AuthorDate: 2026-10-05 20:13:16 +0000
Commit:     Siva Mahadevan <siva@FreeBSD.org>
CommitDate: 2026-10-05 20:13:36 +0000

    sys.mk: CTFMERGE: don't assume objfiles always have CTF sections
    
    There are many instances, e.g. in the kernel, where
    object files don't have CTF sections, but still need
    to be merged into one that does have a CTF section.
    
    This fixes cases like the following:
    
    --------------------------------------------------------------
    >>> stage 3.1: building everything
    --------------------------------------------------------------
    
    linking kernel.full
    ctfmerge -t -L VERSION -g -o kernel.full ...
    ERROR: ctfmerge: Input file force-dynamic-hack.pico was partially built from C sources, but no CTF data was present
    Removing kernel.full
    
        kernel.full ---
        [kernel.full] Error code 1
    
    This partially reverts commit fdd3f6f78888b02a1bfa69a0572317413dc14a45.
    
    PR:             299013
    Reported by:    markj
    Reviewed by:    markj, emaste
    Fixes:          fdd3f6f78888 ("bsd.lib.mk: only ctfmerge if objfiles have a CTF section")
    Differential Revision:  https://reviews.freebsd.org/D60378
---
 share/mk/sys.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index f63223e8464e..bb943d2b1519 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -165,7 +165,7 @@ CPP		?=	cpp
 CTFFLAGS	?=	-L VERSION
 
 CTFCONVERT	?=	ctfconvert
-CTFMERGE	?=	ctfmerge -t
+CTFMERGE	?=	ctfmerge
 
 .if defined(CFLAGS) && (${CFLAGS:M-g} != "")
 CTFFLAGS	+=	-g

From nobody Mon Oct  5 20:23: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 4hz9nV0Qb2z6vMb2
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 20:23:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hz9nT4yCMz51LT
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 20:23:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791231805;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=j6/W10Gqn0byZtbyqvE2Uqr0GfgR4Cyt/ofLlYLrfNA=;
	b=pJlzRcfzGiX6PwnGEB2J7S4tFEMqOjFwoSd8Etcn35H6pJi6G2Jfeh9l0CDAFJNJAt2h6P
	FO8bt90kjIEVu/Mw/cbJu9cLw+Qo7z2xgE6HkkZUoGMHVkLmv4DDzK+VZYo9KsxdF4/aIb
	n925Ri/ACceW0kg7S221fYDcSRklYP4u3XggfBtQKudUiaTsMrv4owwz/x+RLMEhpdA1AY
	MxY2YMfSuAnNnodSrz1oZjqo0HGK9azxsqa0STyopSI0SQ8fjeIPV+k5i12nvZqEXXT2Sg
	JWbfFyBNvxeIpXh7uvRDYSACGSsfIHeuE77uN+t6CUXGaNccfZfjaGz0i+u+jg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791231805;
	b=AT8tyA4i1uv0rV0QhCdt4F31QYeSwqlB24lleXrKuCKUy9Cu9fzwY72ENhExW1qln/aKP0
	biT2eG4+1IqMTbn+dkhQnSMMz7LFNJk9OuvXnwSfnC2wi+aiRcos31wEQRR8Z1T5prVUYg
	9BXot9pcsQmu/7mM6ihxRcFcef4mjlT3uki4DuG6alVFcx4ye0+MLKvlyHokC3DF5J4lQM
	BEYD1KDDw/LYjguKKKZGm+ZHgjnxDaCvNfEvr32dgkToid96O7MQ+PuYl/fXeVqPuzite4
	QmGbPnlJFbQIBpO6TJPCgs4Uiqs2TMFvpMq629JRnqFRBiZvL+aDduWZYZLkvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791231805;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=j6/W10Gqn0byZtbyqvE2Uqr0GfgR4Cyt/ofLlYLrfNA=;
	b=nQHUZ94kEoV+DqoRUECvHhSLuuRpkrP9TKSsNV28c1UMJan3KgCXin77uPqxzWjqVz+e48
	I7VvTyEWWfEcgHRgoVKfBlnjNBaCs1kULv/G1UeEDbqH+HVlr1j/RCI9zqVnMSh8YuK63d
	uBH7YCea0/5RvteVVSksHmfEWnQN0dc4mPYtqI5wljm34Oc5TMF7zmN4X1ti0um/Bu389F
	qzF60NtWZ0UJPua7gqGDvw1kxaZkSur+RCjypsCdq5acjet1h3s+4EdG6z7TiXozxGaVVA
	LhQPaDSC5kQyvyooQQqR+rCYyXtqt7sn4lViDlp/omqg4tEzeLUpeYODBU8VHg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz9nT3qsYzcjV
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 20:23:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 4407e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 20:23:25 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: R. Christian McDonald <rcm@FreeBSD.org>
Subject: git: 481447ad9be2 - main - e1000: Fix the flow control sysctl
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: rcm
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 481447ad9be2e60e0bb3744ab199ce121baadf84
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 20:23:25 +0000
Message-Id: <6ac4073d.4407e.4473e1ff@gitrepo.freebsd.org>

The branch main has been updated by rcm:

URL: https://cgit.FreeBSD.org/src/commit/?id=481447ad9be2e60e0bb3744ab199ce121baadf84

commit 481447ad9be2e60e0bb3744ab199ce121baadf84
Author:     R. Christian McDonald <rcm@FreeBSD.org>
AuthorDate: 2026-10-05 20:21:47 +0000
Commit:     R. Christian McDonald <rcm@FreeBSD.org>
CommitDate: 2026-10-05 20:22:44 +0000

    e1000: Fix the flow control sysctl
    
    dev.em.N.fc and dev.igb.N.fc read and wrote a function-static variable
    shared by every em(4) and igb(4) device, so a read returned the last
    value written to any of them (3 until the first write), not the state of
    the device.  The softc value started as 0, which is also the value of
    "no flow control", while the hardware was set up for full flow control.
    As a result:
    
    - Writing 0 was taken for no change and did nothing, unless another
      value had been written to that device before.
    - em_reset() took a softc value of 0 for "not set", so a device set to 0
      went back to full flow control on the next init.
    - On igb(4) with more than one receive queue the driver enabled
      per-queue drop (SRRCTL.DROP_EN), which is meant for a MAC that does
      not send pause frames, although the MAC was told to send them.
    - Values out of range were accepted and ignored.
    
    A write only forced the MAC's flow control bits.  The pause bits
    advertised to the link partner, the pause thresholds and DROP_EN stayed
    as the last init had set them, and the next link event resolved flow
    control from the stale advertisement again.  On 82577 and 82578 (pchlan)
    a write could also turn on transmit flow control, which em_reset() keeps
    off there as a workaround.
    
    Start the softc value as full, report it, use it as it is in em_reset(),
    reject invalid values, and apply a change by reinitializing the
    interface, as the dmac and eee_control sysctls do.  This is the same fix
    as 68386f6b551e ("igc: Fix the flow control sysctl"); igc(4) inherited
    the handler from this driver.  On pchlan, remove transmit pause from the
    requested mode instead of replacing the mode with receive pause, so that
    the workaround stays and 0 still turns flow control off.
    
    Reviewed by:            kbowling
    MFC after:              2 weeks
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D60376
---
 sys/dev/e1000/if_em.c | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index eac1798c9d25..5a44956f2a88 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -544,6 +544,7 @@ static void	em_handle_link(void *);
 
 static void	em_enable_vectors_82574(if_ctx_t);
 
+static void	em_sysctl_request_reinit(struct e1000_softc *);
 static int	em_set_flowcntl(SYSCTL_HANDLER_ARGS);
 static int	em_sysctl_eee(SYSCTL_HANDLER_ARGS);
 static int	igb_sysctl_dmac(SYSCTL_HANDLER_ARGS);
@@ -1223,6 +1224,7 @@ em_add_device_sysctls(struct e1000_softc *sc)
 	    CTLTYPE_STRING | CTLFLAG_RD, sc, 0,
 	    em_sysctl_print_fw_version, "A",
 	    "Prints FW/NVM Versions");
+	sc->fc = e1000_fc_full;
 	SYSCTL_ADD_PROC(ctx_list, child, OID_AUTO, "fc",
 	    CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0,
 	    em_set_flowcntl, "I", "Flow Control");
@@ -5095,10 +5097,7 @@ em_reset(if_ctx_t ctx)
 	    roundup2(hw->mac.max_frame_size, 1024);
 	hw->fc.low_water = hw->fc.high_water - 1500;
 
-	if (sc->fc) /* locally set flow control value? */
-		hw->fc.requested_mode = sc->fc;
-	else
-		hw->fc.requested_mode = e1000_fc_full;
+	hw->fc.requested_mode = sc->fc;
 
 	if (hw->mac.type == e1000_80003es2lan)
 		hw->fc.pause_time = 0xFFFF;
@@ -5111,7 +5110,10 @@ em_reset(if_ctx_t ctx)
 	switch (hw->mac.type) {
 	case e1000_pchlan:
 		/* Workaround: no TX flow ctrl for PCH */
-		hw->fc.requested_mode = e1000_fc_rx_pause;
+		if (hw->fc.requested_mode == e1000_fc_full)
+			hw->fc.requested_mode = e1000_fc_rx_pause;
+		else if (hw->fc.requested_mode == e1000_fc_tx_pause)
+			hw->fc.requested_mode = e1000_fc_none;
 		hw->fc.pause_time = 0xFFFF; /* override */
 		if (if_getmtu(ifp) > ETHERMTU) {
 			hw->fc.high_water = 0x3500;
@@ -8533,34 +8535,35 @@ em_add_int_delay_sysctl(struct e1000_softc *sc, const char *name,
 static int
 em_set_flowcntl(SYSCTL_HANDLER_ARGS)
 {
-	int error;
-	static int input = 3; /* default is full */
+	int error, input;
 	struct e1000_softc *sc = (struct e1000_softc *) arg1;
 
+	input = sc->fc;
 	error = sysctl_handle_int(oidp, &input, 0, req);
 
 	if ((error) || (req->newptr == NULL))
 		return (error);
 
-	if (input == sc->fc) /* no change? */
-		return (error);
-
 	switch (input) {
 	case e1000_fc_rx_pause:
 	case e1000_fc_tx_pause:
 	case e1000_fc_full:
 	case e1000_fc_none:
-		sc->hw.fc.requested_mode = input;
-		sc->fc = input;
 		break;
 	default:
-		/* Do nothing */
-		return (error);
+		return (EINVAL);
 	}
 
-	sc->hw.fc.current_mode = sc->hw.fc.requested_mode;
-	e1000_force_mac_fc(&sc->hw);
-	return (error);
+	if (input == sc->fc) /* no change? */
+		return (0);
+
+	/*
+	 * The mode is advertised to the link partner and also decides the
+	 * pause thresholds and per-queue drop, so it takes a reinit to apply.
+	 */
+	sc->fc = input;
+	em_sysctl_request_reinit(sc);
+	return (0);
 }
 
 static void

From nobody Mon Oct  5 22:19: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 4hzDMQ02Kfz6vW76
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 22:19: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzDMP6DkGz3Ggx
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:19:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791238769;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=GcQ+hkUe2WMtJHtATbKDJjeMkPdEqhIo3IqXfHFpwpo=;
	b=e1r45z01vftFwtAuHssoE2GAvMGceFOv2cFEHmXbCYxKj0A7rnm3KxnhKqEL7wRPpx3ah8
	OPyd58Vr1VPFdPaiWzfMraackPZMpZBncwzcVofQYy/kmE0QCEmOrmIoizTtiKx5ZO87O7
	TFVv3d1uo8ylVQ9JFmr7aQiCN2wG7k4YUKlcEW0P/LHO2BQErrL/mugW/c4JhX8xn6J50u
	oP7FVDQuWBi07py1k3SmBjU+b9B1CmfgehNq6kx6dGy0rZwLxOrzQ5eJnAN6hFQyo3ZJyn
	LuyYlQpIDdX1Mcf0sX1s5i2KNwJdu7L0nQHyaC+1Z4ZpOFkFiL3GopSa5e/m9w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791238769;
	b=btpkaggScHV/5p2PPYMD2yLVHTjdHoGULvn2b3sa5o8p5dYK9t8x0sAMTf3yH8AH09esdp
	/xDvn4ztLQ5kjC5fgy0A/mDq6+vTY4cIhZdsPMRMWu2Tzh8rQa+RgJcI3oRrakB2CXwApz
	JOX+sM6Y6lmkPqAA21dibXITPo/HiOqTaRICsxx28O3rCtxIb8XO45hV1jxy/bBu8pF9rJ
	6tllKCKcBj8eT1kVdRDOWM06DyEbwX7Swrqyr6tDRMNOdWqBJZqEdd/3yHp9OPrZEqWM3Q
	GZvN+Vtv9UH9JD4niojkToMXZea/LFNiQ+NE+FCR2CDTmQewP+rja+JCpINZCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791238769;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=GcQ+hkUe2WMtJHtATbKDJjeMkPdEqhIo3IqXfHFpwpo=;
	b=X9MFIDqN4fc/0F1n4wBwzpgy0GB9M9KjEn2cptZ2R9eoZvxKJH2e4U16prxYAGrXc+XveC
	nP2L7IijZVsGn5wUt9aLKBESx43R58Fuw6vjmYiy4nFshRcCUjreQOWBwq85Q88vOyHVS3
	c6VQoMeEMEOvD2O0nIfDZnMAV54Vcch4VRnnBlY6e59vFMR9J5NoZze3YjpEtAm6Wzn0Zn
	7tL71mFXs2kwwCHa6HRc5vnW7vCt43d4jKvP0CHAwgYrAvBRlff0ozSJq7YCpMVznyq1SP
	J2YxnqYoXtUq1fVk13I5Gxzaoqro9fIJjn2updK0R4xuFxXw4/e0zJ3wtD9+zA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzDMP51NJzgWG
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:19:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 224c8
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 22:19:29 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: 850d4562928e - main - cdevsw: add D_NONPASSABLE flag
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 850d4562928ea9308dd9188d5014bcabe7049938
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 22:19:29 +0000
Message-Id: <6ac42271.224c8.2994af20@gitrepo.freebsd.org>

The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=850d4562928ea9308dd9188d5014bcabe7049938

commit 850d4562928ea9308dd9188d5014bcabe7049938
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-04 00:50:23 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-05 21:56:53 +0000

    cdevsw: add D_NONPASSABLE flag
    
    to make the opened device files non-passable.
    
    Reviewed by:    markj
    Tested by:      pho (previous version)
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60285
---
 sys/fs/devfs/devfs_vnops.c | 27 +++++++++++++++++++++++++--
 sys/sys/conf.h             |  2 ++
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index d594b1584757..cd6cd1959d6b 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -67,6 +67,7 @@
 static struct vop_vector devfs_vnodeops;
 static struct vop_vector devfs_specops;
 static const struct fileops devfs_ops_f;
+static const struct fileops devfs_ops_nonpassable_f;
 
 #include <fs/devfs/devfs.h>
 #include <fs/devfs/devfs_int.h>
@@ -1344,8 +1345,11 @@ devfs_open(struct vop_open_args *ap)
 	if (fp == NULL)
 		return (error);
 #endif
-	if (fp->f_ops == &badfileops)
-		finit(fp, fp->f_flag, DTYPE_VNODE, dev, &devfs_ops_f);
+	if (fp->f_ops == &badfileops) {
+		finit(fp, fp->f_flag, DTYPE_VNODE, dev,
+		    (dsw->d_flags & D_NONPASSABLE) == 0 ? &devfs_ops_f :
+		    &devfs_ops_nonpassable_f);
+	}
 	return (error);
 }
 
@@ -2096,6 +2100,25 @@ static const struct fileops devfs_ops_f = {
 	.fo_flags =	DFLAG_PASSABLE | DFLAG_SEEKABLE
 };
 
+static const struct fileops devfs_ops_nonpassable_f = {
+	.fo_read =	devfs_read_f,
+	.fo_write =	devfs_write_f,
+	.fo_truncate =	devfs_truncate_f,
+	.fo_ioctl =	devfs_ioctl_f,
+	.fo_poll =	devfs_poll_f,
+	.fo_kqfilter =	devfs_kqfilter_f,
+	.fo_stat =	devfs_stat_f,
+	.fo_close =	devfs_close_f,
+	.fo_chmod =	vn_chmod,
+	.fo_chown =	vn_chown,
+	.fo_sendfile =	vn_sendfile,
+	.fo_seek =	vn_seek,
+	.fo_fill_kinfo = vn_fill_kinfo,
+	.fo_mmap =	devfs_mmap_f,
+	.fo_cmp =	devfs_cmp_f,
+	.fo_flags =	DFLAG_SEEKABLE
+};
+
 /* Vops for non-CHR vnodes in /dev. */
 static struct vop_vector devfs_vnodeops = {
 	.vop_default =		&default_vnodeops,
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
index a6713ee91190..bf626298c05f 100644
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -177,6 +177,8 @@ typedef int dumper_hdr_t(struct dumperinfo *di, struct kerneldumpheader *kdh);
 #define	D_GIANTOK	0x00200000	/* suppress warning about using Giant */
 #define	D_NEEDGIANT	0x00400000	/* driver want Giant */
 #define	D_NEEDMINOR	0x00800000	/* driver uses clone_create() */
+#define	D_NONPASSABLE	0x01000000	/* file is not passable with
+					   SCM_RIGHTS or fork(2) */
 
 /*
  * Version numbers.

From nobody Mon Oct  5 22:19: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 4hzDMR4GShz6vW0k
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 22:19: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzDMR0GF0z3Gtn
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:19:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791238771;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=63XP8l+4A2DZR/3iBg1w/T7ddfp5r20Ae2p8FClgUfE=;
	b=hVRU16qMgfXcoECFg7snVQk10FxVYNdbsts9yOVWmZ4PiuIggoH6K9jR0y6GCjwKrUKUu5
	FrUK6/SZS5U0EQFm98GkJWglO/O1K5qxs2eXjKl3Cj0kTP6Wgz3hkDRJnBicC32KgMW2wL
	sysrT9uW/Q0itjHIhSt4tKqYL3I2/KyvPqS/3n5B7QsGfSntQyuoP3RtSHWLzdq/5ZxwYb
	y5zxXy2BuGrC3XzONH0r3Tt/X9TNTuUfexOFvYa5smIzSzylQRo+uZYQMFZCdjhKAq4P+S
	mi26B5F7yZbXQ8lk5OZYqYdbYyUTTk+K9EtNd/jwZRzhU6K0maDk9SNUHlHZ6A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791238771;
	b=UA5a9QUeYEkjaTlKoLmAtZk7NHua9HMincRx0rfuhYn/V2Ity3KTdCuegsRd27/6IxRdUT
	0/gtMkZQDxSbwqvLfNBJX1CSx2vPXcjpUPMSYdfTeqzbEZgDnP9GGJ+Jr7MZU/f38/Xj65
	1FaZJoKUmM1FNGDn5znRLRL7/j2cmu0HBNnJ1s6AJWjfYie4nuJ83g4s7CZs+eXEmPz7Vs
	1DqR1opaEqDOaR6gKHMliPBr03ukztf0AOLYTlCwSEGRNR+eH2y/i041bEJK5xm1sIIzxg
	bhvpab5etYBXPFKb0NmijUheiCOLPk3pMBSpnRfp2y7jbvoFvVIrPqfOhN04uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791238771;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=63XP8l+4A2DZR/3iBg1w/T7ddfp5r20Ae2p8FClgUfE=;
	b=s8WyP+q9QrhhLSb6aan4/5inPJvIFFFJyEtmgbSuSr5FxnCpkBfmkYCJf6GB0J/DJMvNoi
	RAe5Vc8iYE6Xc0+3TwW1+7qSJtlGQTD6i4Bh6LsteL5rzHuMdP63md6APKe0GZTzycb7kT
	iX5Jc1+nif0LGZhzBr/UX0kUzMmQvVxjzsPOPe6n6cCD48eY7byRFFrVGAVSxjA7ZULDvP
	+RE943OI/Zj762KN7orPunE32FG9ZxLcs/WYrEfOyPlJQ4qXpu92Q43otQ280fB+Mc6uh7
	CGxhTMY5KjKKONcj1Ix02aPpk/o9aemx+tMi8cHjoJ7dkFuEG0kqPW7rEm7e2A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzDMQ5jTxzgSp
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:19:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22c98
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 22:19:30 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: 499901dd7a0a - main - ufssuspend(4): mark non-passable
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 499901dd7a0afc77745ede85c4e6ec063d43a84d
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 22:19:30 +0000
Message-Id: <6ac42272.22c98.6c3bbe2a@gitrepo.freebsd.org>

The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=499901dd7a0afc77745ede85c4e6ec063d43a84d

commit 499901dd7a0afc77745ede85c4e6ec063d43a84d
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-04 00:50:57 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-05 21:56:53 +0000

    ufssuspend(4): mark non-passable
    
    This fixes long-standing issue where ufssuspend file descriptor could
    leak over fork or be passed over unix domain socket, and then closing it
    in the opener would not unsuspend the file system.
    
    It should not affect the well-behaving growfs(8) utility, but makes the
    userspace API safer on principle.
    
    Reviewed by:    markj
    Tested by:      pho (previous version)
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60285
---
 sys/ufs/ffs/ffs_suspend.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/ufs/ffs/ffs_suspend.c b/sys/ufs/ffs/ffs_suspend.c
index c35831c4bb96..9eb6d328e6ca 100644
--- a/sys/ufs/ffs/ffs_suspend.c
+++ b/sys/ufs/ffs/ffs_suspend.c
@@ -60,6 +60,7 @@ static struct cdevsw ffs_susp_cdevsw = {
 	.d_write =	ffs_susp_rdwr,
 	.d_ioctl =	ffs_susp_ioctl,
 	.d_name =	"ffs_susp",
+	.d_flags =	D_NONPASSABLE,
 };
 
 static struct cdev *ffs_susp_dev;

From nobody Mon Oct  5 22:23: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 4hzDRx6Kgcz6vWW9
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 22:23:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzDRx5sVxz3HgB
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:23:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791239005;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QO82SumntZypWXLJMTkkfRLikt3Amg/HeDY6FU8348M=;
	b=bF5du8GR3w8L1C5Gb/CXvrL6Y1K/akGZIWBuRBLBnwfGky8iCnHVTDmZzJo8+YAQeyOCMi
	4vS3eIzvFQeZN+/VgSoL9nQGYTLRXLix+eGDwHYZXkMdhrDQSlbrZ4QElMdp//gO750rTs
	ZBHM+UqvMd9LnGUWAu+cEHlFWC3uzo+AgRkq17hqpqhsqzIiRP5Oe5Pj9L4DfmBUtPKhO7
	YicwUlEtmx+h4KbeR5VxU6vItCAtGQNdptA2LJOgcvJQsueq1d5l+Q7Ddwm3ZDlDoewe3K
	Pji8StAJgG8m73Wg7kPhEVlOkXnQTKUZHI2IIZyG4pH5zCUUoV3ULpuyUXSSaw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791239005;
	b=vsZxrPjvmPJl1iCuYfF4fyOMLiXihFnWfm9OhobenT67kfz/JzHwKCJibSzU/jbYislZc9
	ecH9AQTx9QnPiueLPYksprzVvIYuU+s67WTj8euVjPi9lLTFGw/2xKnlziQ5XwZdFbJH6t
	HkQRaNVScnYJnYHbH6uKSBzyp3+doyHYKqnD9m7zDjpE5WRIlnxoF4FFZegQFOaH/zTgdv
	OQaIBLlon1ncVlIpWIQUNi4JUlxHcsuNcx1ul7b4cHO849BYUsmZ8Ey7Hw0DRQz2zO29hr
	E1fc7FmvZuMu+mh008D/HIOA6Z9vWjdZs8+MQSkd5MvL2GF7QhqktTkUvUWCvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791239005;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QO82SumntZypWXLJMTkkfRLikt3Amg/HeDY6FU8348M=;
	b=f23hc+0dBdrI8yCUkBuQmBDl3VdpyeshmE6ZMlkpIei2gAemHv1Vk3MyN4wce4JbCNQzlW
	4kt3Iu/tVqaPrlRG8hVCYgM3QjtU/t978ywR8h8RLVjglgdIXvJiuleTPLAZK6ixjt4Syj
	kbY6u36HMttpt2TjRemKzr1Pxy8S/adyC8ASN1NViSUE+dDymiyIDGgySGt7GnXICva73n
	6PQftBhdOV3/yv4fQ6IUiWmpEFUGgI61FGsD6ZnXqwsBpuB0DYPrOC6Wk29oZs7ai8x8bZ
	cZ7iTT1PE0udxd34LHaZuI//BSK536uanuD1aiMQXu3sv2/HbsX4UpRXFDV7SA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzDRx4wRXzgX2
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:23:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22fb1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 22:23:25 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 4bb60157646d - main - netinet: Deprecate OSIOCAIFADDR and OSIOCAIFADDR_IN6
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 4bb60157646df86c77cea130c66f63f119947709
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 22:23:25 +0000
Message-Id: <6ac4235d.22fb1.50d86a6b@gitrepo.freebsd.org>

The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=4bb60157646df86c77cea130c66f63f119947709

commit 4bb60157646df86c77cea130c66f63f119947709
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-05 22:21:39 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-05 22:23:12 +0000

    netinet: Deprecate OSIOCAIFADDR and OSIOCAIFADDR_IN6
    
    Requested by:   glebius
    Reviewed by:    pouria, glebius
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60247
---
 sys/netinet/in.c   | 3 +++
 sys/netinet6/in6.c | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/sys/netinet/in.c b/sys/netinet/in.c
index 508bc43bc63c..7ebcdf993d26 100644
--- a/sys/netinet/in.c
+++ b/sys/netinet/in.c
@@ -384,6 +384,9 @@ in_control_ioctl(u_long cmd, void *data, struct ifnet *ifp,
 		sx_xunlock(&in_control_sx);
 		return (error);
 	case OSIOCAIFADDR:	/* 9.x compat */
+		gone_in(17, "%s (pid %d) uses OSIOCAIFADDR",
+		    curproc->p_comm, curproc->p_pid);
+		/* FALLTHROUGH */
 	case SIOCAIFADDR:
 		sx_xlock(&in_control_sx);
 		error = in_aifaddr_ioctl(cmd, data, ifp, cred);
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index aa0528552163..cb0c25ec78d2 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -275,6 +275,8 @@ in6_control_ioctl(u_long cmd, void *data,
 	 * Compat to make pre-10.x ifconfig(8) operable.
 	 */
 	if (cmd == OSIOCAIFADDR_IN6) {
+		gone_in(17, "%s (pid %d) uses OSIOCAIFADDR_IN6",
+		    curthread->td_proc->p_comm, curthread->td_proc->p_pid);
 		cmd = SIOCAIFADDR_IN6;
 		ifra = &tmpifra;
 		memset(ifra, 0, sizeof(*ifra));

From nobody Mon Oct  5 22:49:29 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hzF2141Lwz6vXsl
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 22:49:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzF213W1Pz3LGG
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:49:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791240569;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lRebtpZCFAzMSEwnSEx091yYr5KHL3dwHX+0X9yXW/Q=;
	b=rRgI6NO/go0mOXMrkYQEr7zgAJBOGY1ek9X/MrAAh9WQnOGPjAmVLMKJPfKKo878dOgS/B
	0rnUCegBiVUs7Gi7XOmlYXa17npM79DK8GxOXQqQepi8hMGtF1QuYGmSRAyt1RxxD4POPZ
	T2xVZWBmX3+afHzzn/DN0ksY5isAcKXKMwh0JvxxvlF0+AQCoul+KyWh0KNNW+V2s7ayKj
	cxW6wlKdKSfYnGkQ06Z56xlkXVPu/PWtfhlG1rrelZWzp9zYjfl4e/HKKIfQ5rxBBLvn2x
	1TruY/dC+RmPxoNd1ppo3DRxUNNq11RkiHZMpcRSsmmLfu8vDxb3ini1Xyoz5A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791240569;
	b=Z3SbYCFghDMsyLPqcMssc2Xuazfl3ijx9m3yqDGDFFUwMlCqbjSfXIJdkm4RyD+ywXi1E5
	NLegm0A2Rqp92wfAASq/YjBkkK+y8f8d59AbD0FhqLQrkcL8rXA2s91bsBEyl3eJTH7n3Q
	Lfs3uxZxNxmYW5X5NqhInZ9xxWYUUshdwg2jgQokY3YAJlYmyUWOMs2c+lyQ88+yhCgEMJ
	D0juWa1Gh/W7B2ScWvNbbOOdyQGWUGpLbpvXWZLRRB56aa7idMqpg4XZaBTvUaNWjA5Bd6
	bcRqnjE8u8pOwnsHRm4e1I+xo8mGsh80ImWUsA828J11jCGGaO66c7vqgjLMjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791240569;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lRebtpZCFAzMSEwnSEx091yYr5KHL3dwHX+0X9yXW/Q=;
	b=jsY4LFRP/oxE2BHHfgYasj9bWJgb+e/zoCTmHKThE6tLFsyJSY9Q/0Ti2NmAlzJvyQvzcf
	HA9qqn0z20GE9W1WFIBvDcaCnA7t1YubnJICqdFswr9+Ch+3OBSoZtwbvzSG8HU88bpesl
	39FhhcjT/Z6m3Hi6CShpt14UQB5wmpX4kwh1olh2zOvBw5EQG9H3SO8ZeeFH9HQJelNJkC
	rK2SgDDgL4YPtsprIRQG42q8DO0ZUl64XvGLh+05RcOoa54Bx2AM+0EPPbwgCTiC+uIyvo
	0z/aQIpk7kjd9dMiRfkUTn6yJFsdFx3E3KyKxoGC/Y8zQTcSIcRGy/Rmt7nh6w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzF212ZW9zh20
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 22:49:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2608d
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 22:49:29 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: bb5f10e51bd5 - main - linux: implement sched_getattr()
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: bb5f10e51bd53771f1a438f36f554256fcbd7d08
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 22:49:29 +0000
Message-Id: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit bb5f10e51bd53771f1a438f36f554256fcbd7d08
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-05 22:48:22 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-05 22:49:09 +0000

    linux: implement sched_getattr()
    
    This change adds the necessary glue to translate Linux scheduler policy
    and priority from FreeBSD so this information is available to Linux
    applications.
    
    This unbreaks using the Linux version of Chromium on FreeBSD.
    
    This change was originally submitted via [freebsd/freebsd-src#2370][github-pr].
    
    MFC after:      2 weeks
    PR:     297468
    Co-Authored-By: Enji Cooper <ngie@FreeBSD.org>
    Signed-off-by:  Joao Bonifacio <joaoboni017@gmail.com>
    
    [github-pr]: https://github.com/freebsd/freebsd-src/pull/2370
    
    Differential Revision:  https://reviews.freebsd.org/D60214
---
 sys/compat/linux/linux_dummy.c |  1 -
 sys/compat/linux/linux_misc.c  | 89 ++++++++++++++++++++++++++++++++++++++++++
 sys/compat/linux/linux_misc.h  | 19 ++++++++-
 3 files changed, 106 insertions(+), 3 deletions(-)

diff --git a/sys/compat/linux/linux_dummy.c b/sys/compat/linux/linux_dummy.c
index dfb1c90e9abf..873e2cef3879 100644
--- a/sys/compat/linux/linux_dummy.c
+++ b/sys/compat/linux/linux_dummy.c
@@ -97,7 +97,6 @@ DUMMY(process_vm_writev);
 /* Linux 3.8: */
 DUMMY(finit_module);
 DUMMY(sched_setattr);
-DUMMY(sched_getattr);
 /* Linux 3.18: */
 DUMMY(bpf);
 /* Linux 3.19: */
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 65c9044dd3bd..9e7f6411df17 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -29,6 +29,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #include <sys/param.h>
 #include <sys/fcntl.h>
 #include <sys/jail.h>
@@ -116,6 +117,39 @@ struct l_pselect6arg {
 	l_size_t	ss_len;
 };
 
+/**
+ * `SCHED_ATTR_SIZE_VER0` represents the size of the initial published structure.
+ *
+ * See `linux/kernel/sched/syscalls.c` for more details.
+ */
+#define LINUX_SCHED_ATTR_SIZE_VER0 48
+/**
+ * Linux struct sched_attr
+ */
+struct linux_sched_attr {
+	l_uint 		size;
+	l_uint 		sched_policy;
+	uint64_t 	sched_flags;
+	int32_t  	sched_nice;
+	l_uint 		sched_priority;
+
+	uint64_t 	sched_runtime;
+	uint64_t 	sched_deadline;
+	uint64_t 	sched_period;
+
+	l_uint 		sched_util_min;
+	l_uint 		sched_util_max;
+};
+/**
+ * `.size` must be checked at runtime as well in the syscall to match the
+ * Linux implementation.
+ *
+ * This `_Static_assert(..)` is a sanity check to ensure that the structure
+ * meets the minimum expected bar.
+ */
+_Static_assert(sizeof(struct linux_sched_attr) >= LINUX_SCHED_ATTR_SIZE_VER0,
+    "struct linux_sched_attr size");
+
 static int	linux_utimensat_lts_to_ts(struct l_timespec *,
 			struct timespec *);
 #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
@@ -1350,6 +1384,61 @@ linux_sched_getscheduler(struct thread *td,
 	return (error);
 }
 
+int
+linux_sched_getattr(struct thread *td, struct linux_sched_getattr_args *args)
+{
+	struct linux_sched_attr attr;
+	struct sched_param sched_param;
+	struct thread *tdt;
+	int error, policy;
+
+	if (args->attr == NULL || args->pid < 0 || args->flags != 0 ||
+	    args->size < LINUX_SCHED_ATTR_SIZE_VER0 || args->size > PAGE_SIZE)
+		return (EINVAL);
+
+	tdt = linux_tdfind(td, args->pid, -1);
+	if (tdt == NULL)
+		return (ESRCH);
+
+	error = kern_sched_getscheduler(td, tdt, &policy);
+	if (error) {
+		PROC_UNLOCK(tdt->td_proc);
+		return (error);
+	}
+
+	error = kern_sched_getparam(td, tdt, &sched_param);
+	PROC_UNLOCK(tdt->td_proc);
+	if (error)
+		return (error);
+
+	memset(&attr, 0, sizeof(attr));
+
+	attr.size = MIN(args->size, sizeof(attr));
+
+	if (linux_map_sched_prio) {
+		switch (policy) {
+		case SCHED_OTHER:
+			sched_param.sched_priority = 0;
+			break;
+		case SCHED_FIFO:
+		case SCHED_RR:
+			/**
+			 * Map [0, RTP_PRIO_MAX - RTP_PRIO_MIN] to
+			 * [1, LINUX_MAX_RT_PRIO - 1] (rounding up).
+			 */
+			sched_param.sched_priority =
+			    (sched_param.sched_priority *
+				    (LINUX_MAX_RT_PRIO - 1) +
+				(RTP_PRIO_MAX - RTP_PRIO_MIN - 1)) /
+				(RTP_PRIO_MAX - RTP_PRIO_MIN) + 1;
+			break;
+		}
+	}
+	attr.sched_priority = sched_param.sched_priority;
+
+	return (copyout(&attr, args->attr, args->size));
+}
+
 int
 linux_sched_get_priority_max(struct thread *td,
     struct linux_sched_get_priority_max_args *args)
diff --git a/sys/compat/linux/linux_misc.h b/sys/compat/linux/linux_misc.h
index fb77784ddea8..44dd8e06fcb7 100644
--- a/sys/compat/linux/linux_misc.h
+++ b/sys/compat/linux/linux_misc.h
@@ -109,10 +109,25 @@
 #define	__LINUX_NPXCW__		0x37f
 #endif
 
-/* Scheduling policies */
-#define	LINUX_SCHED_OTHER	0
+/**
+ * Linux scheduling policies.
+ *
+ * Ref: `linux/include/uapi/linux/sched.h`
+ */
+#define	LINUX_SCHED_NORMAL	0
+/* `SCHED_OTHER` is a legacy alias for `SCHED_NORMAL`. */
+#define	LINUX_SCHED_OTHER	LINUX_SCHED_NORMAL
 #define	LINUX_SCHED_FIFO	1
 #define	LINUX_SCHED_RR		2
+/**
+ * FreeBSD does not implement analogs for these Linux scheduling policies. This
+ * is mostly here for reference and to be self-documenting in `sched_set*()`.
+ */
+#define	LINUX_SCHED_BATCH	3
+/* LINUX_SCHED_ISO: slot reserved, but not implemented upstream. */
+#define	LINUX_SCHED_IDLE	5
+#define	LINUX_SCHED_DEADLINE	6
+#define	LINUX_SCHED_EXT		7
 
 #define	LINUX_MAX_RT_PRIO	100
 

From nobody Mon Oct  5 23:22: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 4hzFlm1mg8z6vb4k;
	Mon, 05 Oct 2026 23:22:12 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzFlm1K1qz3PHh;
	Mon, 05 Oct 2026 23:22:12 +0000 (UTC)
	(envelope-from markj@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791242532;
	h=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=GUX18+8b60HabjAyMAfXvmqNLCoikbArQyU9fcOv1t0=;
	b=jpSFKuswaMw/MUcl63rfD3XsnWBiJ0YLRQLmNfoKNHYwFGuaKOSaYY3vqzW48l/ubP+maa
	mtRB01UgYoRXojtAI1G4Bfn5NNCOh/SeVwBzaygUAHf4bRG91MxOAQAVDeE/IVJ761rCM4
	jWYErunynJHTmkQCwT2P8bvDNlPSGWcAWSSDYo15xaLXVQe2PEU8idtPso9Y79xaWDK5Dr
	qRlcu/h/nHZL2u3+jBlUwwhLZCv6BYH4fjxcZ1tdURPk7gx9y2yUwg6KUViX9S1QJg6am1
	xLHCWIBOOuGjM5pbudyc+6RXE7B263STf0Zg5fcYxynOLN9CBiJElOr+djyt1A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791242532;
	b=NaSZNweVB7QHP2qgJP8Jn6gMk4OG/TUYecl4pWmZdOl5gRyjwC+rRrSJR2t/joypY+sy5j
	g/DeVmGaamhJpMn/csOrVo++B8g8y7puQiGzuudFvkX1Zi6GoUZ/d0bbRwvBHRYn6Czmck
	w6p/YDd2oGmW14KXrH+4bbrZA7OzwyQkQ/6OjU6InjR6nRmz5WZ+HXYSsbZtxlgzOf8LZZ
	9yqcbcChAoZMDuZg3+A/X1YfsAnWb90nwbiWcXb0N+V3CisA9eneLpMFOhwWPVAZiBat6s
	ZAkzlZZB+e0NaX+sjZZPZ7xSzEiU05JMrynobo7UYV2qi03jWqlozuZ44zUGUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791242532;
	h=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=GUX18+8b60HabjAyMAfXvmqNLCoikbArQyU9fcOv1t0=;
	b=KqXLpeLjVbyYGkfkHWHq4xwAdXQRENwQysDfo8Z6SwINChDVhuo0RTIkwuU5WbHjz37fyQ
	1y230VFHPzOP2Q5ttOd7taI7OrouzCEx5os+UA9dKuL+vWHaMSZomMvceA4taUSacBY0TK
	uV8EhnDOu/gqA0RB5biAZ52D/LF181j/l8L70fAy2V4pgLelMtj5pEwrQT9+shayRR/Hco
	i+0feSr5wMno1KAL2ex6DtYV6wXpedZogElpkE2yjXB45Snh6joJsYx2XYFOyajUd1Iv1m
	2aMzr/sSafpeVOINt/jCQgnCaCu2KgweLdKmglHV1vD6Wz0i3PACD+GXHCf8NA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from nuc (198-84-224-249.cpe.teksavvy.com [198.84.224.249])
	(using TLSv1.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 4hzFll5qPhzmqr;
	Mon, 05 Oct 2026 23:22:11 +0000 (UTC)
	(envelope-from markj@freebsd.org)
Date: Mon, 5 Oct 2026 19:22:09 -0400
From: Mark Johnston <markj@freebsd.org>
To: Enji Cooper <ngie@freebsd.org>
Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
	dev-commits-src-main@freebsd.org
Subject: Re: git: bb5f10e51bd5 - main - linux: implement sched_getattr()
Message-ID: <asQxIRIqvfkVQcCc@nuc>
References: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>

On Mon, Oct 05, 2026 at 10:49:29PM +0000, Enji Cooper wrote:
> The branch main has been updated by ngie:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=bb5f10e51bd53771f1a438f36f554256fcbd7d08
> 
> commit bb5f10e51bd53771f1a438f36f554256fcbd7d08
> Author:     Enji Cooper <ngie@FreeBSD.org>
> AuthorDate: 2026-10-05 22:48:22 +0000
> Commit:     Enji Cooper <ngie@FreeBSD.org>
> CommitDate: 2026-10-05 22:49:09 +0000
> 
>     linux: implement sched_getattr()
>     
>     This change adds the necessary glue to translate Linux scheduler policy
>     and priority from FreeBSD so this information is available to Linux
>     applications.
>     
>     This unbreaks using the Linux version of Chromium on FreeBSD.
>     
>     This change was originally submitted via [freebsd/freebsd-src#2370][github-pr].
>     
>     MFC after:      2 weeks
>     PR:     297468
>     Co-Authored-By: Enji Cooper <ngie@FreeBSD.org>

The commit author is already set to you.

>     Signed-off-by:  Joao Bonifacio <joaoboni017@gmail.com>
>     
>     [github-pr]: https://github.com/freebsd/freebsd-src/pull/2370
>     
>     Differential Revision:  https://reviews.freebsd.org/D60214

https://docs.freebsd.org/en/articles/committers-guide/#_include_appropriate_metadata_in_a_footer
documents the right way to label commits with pull request metadata.
Please follow it instead of inventing your own format.

> ---
>  sys/compat/linux/linux_dummy.c |  1 -
>  sys/compat/linux/linux_misc.c  | 89 ++++++++++++++++++++++++++++++++++++++++++
>  sys/compat/linux/linux_misc.h  | 19 ++++++++-
>  3 files changed, 106 insertions(+), 3 deletions(-)
> 
> diff --git a/sys/compat/linux/linux_dummy.c b/sys/compat/linux/linux_dummy.c
> index dfb1c90e9abf..873e2cef3879 100644
> --- a/sys/compat/linux/linux_dummy.c
> +++ b/sys/compat/linux/linux_dummy.c
> @@ -97,7 +97,6 @@ DUMMY(process_vm_writev);
>  /* Linux 3.8: */
>  DUMMY(finit_module);
>  DUMMY(sched_setattr);
> -DUMMY(sched_getattr);
>  /* Linux 3.18: */
>  DUMMY(bpf);
>  /* Linux 3.19: */
> diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
> index 65c9044dd3bd..9e7f6411df17 100644
> --- a/sys/compat/linux/linux_misc.c
> +++ b/sys/compat/linux/linux_misc.c
> @@ -29,6 +29,7 @@
>   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +#include <sys/cdefs.h>
>  #include <sys/param.h>
>  #include <sys/fcntl.h>
>  #include <sys/jail.h>
> @@ -116,6 +117,39 @@ struct l_pselect6arg {
>  	l_size_t	ss_len;
>  };
>  
> +/**
> + * `SCHED_ATTR_SIZE_VER0` represents the size of the initial published structure.
> + *
> + * See `linux/kernel/sched/syscalls.c` for more details.
> + */
> +#define LINUX_SCHED_ATTR_SIZE_VER0 48
> +/**
> + * Linux struct sched_attr
> + */
> +struct linux_sched_attr {
> +	l_uint 		size;
> +	l_uint 		sched_policy;
> +	uint64_t 	sched_flags;
> +	int32_t  	sched_nice;
> +	l_uint 		sched_priority;
> +
> +	uint64_t 	sched_runtime;
> +	uint64_t 	sched_deadline;
> +	uint64_t 	sched_period;
> +
> +	l_uint 		sched_util_min;
> +	l_uint 		sched_util_max;
> +};
> +/**
> + * `.size` must be checked at runtime as well in the syscall to match the
> + * Linux implementation.
> + *
> + * This `_Static_assert(..)` is a sanity check to ensure that the structure
> + * meets the minimum expected bar.
> + */
> +_Static_assert(sizeof(struct linux_sched_attr) >= LINUX_SCHED_ATTR_SIZE_VER0,
> +    "struct linux_sched_attr size");
> +
>  static int	linux_utimensat_lts_to_ts(struct l_timespec *,
>  			struct timespec *);
>  #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
> @@ -1350,6 +1384,61 @@ linux_sched_getscheduler(struct thread *td,
>  	return (error);
>  }
>  
> +int
> +linux_sched_getattr(struct thread *td, struct linux_sched_getattr_args *args)
> +{
> +	struct linux_sched_attr attr;
> +	struct sched_param sched_param;
> +	struct thread *tdt;
> +	int error, policy;
> +
> +	if (args->attr == NULL || args->pid < 0 || args->flags != 0 ||
> +	    args->size < LINUX_SCHED_ATTR_SIZE_VER0 || args->size > PAGE_SIZE)
> +		return (EINVAL);
> +
> +	tdt = linux_tdfind(td, args->pid, -1);
> +	if (tdt == NULL)
> +		return (ESRCH);
> +
> +	error = kern_sched_getscheduler(td, tdt, &policy);
> +	if (error) {
> +		PROC_UNLOCK(tdt->td_proc);
> +		return (error);
> +	}
> +
> +	error = kern_sched_getparam(td, tdt, &sched_param);
> +	PROC_UNLOCK(tdt->td_proc);
> +	if (error)
> +		return (error);
> +
> +	memset(&attr, 0, sizeof(attr));
> +
> +	attr.size = MIN(args->size, sizeof(attr));
> +
> +	if (linux_map_sched_prio) {
> +		switch (policy) {
> +		case SCHED_OTHER:
> +			sched_param.sched_priority = 0;
> +			break;
> +		case SCHED_FIFO:
> +		case SCHED_RR:
> +			/**
> +			 * Map [0, RTP_PRIO_MAX - RTP_PRIO_MIN] to
> +			 * [1, LINUX_MAX_RT_PRIO - 1] (rounding up).
> +			 */
> +			sched_param.sched_priority =
> +			    (sched_param.sched_priority *
> +				    (LINUX_MAX_RT_PRIO - 1) +
> +				(RTP_PRIO_MAX - RTP_PRIO_MIN - 1)) /
> +				(RTP_PRIO_MAX - RTP_PRIO_MIN) + 1;
> +			break;
> +		}
> +	}
> +	attr.sched_priority = sched_param.sched_priority;
> +
> +	return (copyout(&attr, args->attr, args->size));

So, this lets the caller decide how much stack data they want to copy
out, independent of sizeof(attr).  The only constraint is the
`args->size > PAGE_SIZE` check at the beginning of the function.

In fact, the original author of this commit got this bit right, and the
bug was introduced when you modified their patch.

Please revert, and in the future be sure to obtain review from kernel
developers before making changes to the syscall layer.  Yes, sometimes
patches go unreviewed for longer than we'd like, but that's not an
excuse to simply go ahead and commit if you aren't familiar with the
code being modified.  If you're having trouble getting review, please
feel free to reach out to srcmgr@.

> +}
> +
>  int
>  linux_sched_get_priority_max(struct thread *td,
>      struct linux_sched_get_priority_max_args *args)
> diff --git a/sys/compat/linux/linux_misc.h b/sys/compat/linux/linux_misc.h
> index fb77784ddea8..44dd8e06fcb7 100644
> --- a/sys/compat/linux/linux_misc.h
> +++ b/sys/compat/linux/linux_misc.h
> @@ -109,10 +109,25 @@
>  #define	__LINUX_NPXCW__		0x37f
>  #endif
>  
> -/* Scheduling policies */
> -#define	LINUX_SCHED_OTHER	0
> +/**
> + * Linux scheduling policies.
> + *
> + * Ref: `linux/include/uapi/linux/sched.h`
> + */
> +#define	LINUX_SCHED_NORMAL	0
> +/* `SCHED_OTHER` is a legacy alias for `SCHED_NORMAL`. */
> +#define	LINUX_SCHED_OTHER	LINUX_SCHED_NORMAL
>  #define	LINUX_SCHED_FIFO	1
>  #define	LINUX_SCHED_RR		2
> +/**
> + * FreeBSD does not implement analogs for these Linux scheduling policies. This
> + * is mostly here for reference and to be self-documenting in `sched_set*()`.
> + */
> +#define	LINUX_SCHED_BATCH	3
> +/* LINUX_SCHED_ISO: slot reserved, but not implemented upstream. */
> +#define	LINUX_SCHED_IDLE	5
> +#define	LINUX_SCHED_DEADLINE	6
> +#define	LINUX_SCHED_EXT		7
>  
>  #define	LINUX_MAX_RT_PRIO	100
>  
> 

From nobody Mon Oct  5 23:56:49 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hzGWk0gmmz6vclg
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 05 Oct 2026 23:56: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzGWk0C1xz4GB4
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 23:56:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791244610;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FO3hxk0TolRr8eVZEapi1hfVJdtYNXziDxFqsGqX0eU=;
	b=Sec0jMmBCQzfk2t5kmO6jR7yPtN+dOKzAV7yR6wn+Nmx7/s5WFdBIbi9ZCtfWsrICeb4sf
	4vpb+XB8RDvL7T+GRMgyhP8aemK3K0Vslg5BfpSgNK0psmTRyUgfCO3YfZrGxbPYtpQ88x
	scFd39GZNjnswAS9CoUpohpTvYBzrGCGDe5Tw9Wo8I+sR9v755VRscT6IZoPwT3iWvq11P
	a2Kia+jcBEU1yzWRNqQ5syChSX7VsEsUpSvhtma0r6QH5li0/AtDLjhlUJuwIaTmIeLJgI
	BbZEWvuUkDcD3hlOA3Mn3i4nF79Rla4V7/PEMJ3e3fNFVNOhNKFsvudWneZ7+g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791244610;
	b=b+9HSThCSP2q9KNu2YeExgnwqmSbYNFkX5uXC+ko9WG99cWN9u6TUUl33gQDjFDr+LOsDp
	xTWwI7HsZjx0KE3E7wPXKjy6UV4YKSD5GVDGLczQbdDXyZXQR93Swios9sKqBJGsYw+m6c
	3WkpvSEbr/de/4A9LwQgC8qiQCAxUiTE+iJoOchOJWvWAAfNEHyYNKHB0YHVf/bVy9gBMz
	Mnt2vfbLHXf/IQGJXo4sYyM70iZv6EEzVwoAxNCQi+RPw5g3kp/C5PGhAwbzYPcYk3POpx
	dA7n0JXKnhH2kKj+3GA1ppCR4PG+VmNkjnJ3kYkd10U7Yvl1cRPGc73u9Dj8+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791244610;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FO3hxk0TolRr8eVZEapi1hfVJdtYNXziDxFqsGqX0eU=;
	b=l0oSRILU+l2QTL2nohk7zyOeHKIibHJFTMTB+eYiRCYXuLU/9+dZURNA/Fnb9RHehiaQVq
	Y+PFXS1tbYqG0vPSKgMn9q0luVeiQHX33XdEiVlusfGB+j3pNp3ysRNXNN9upUxB4k2Y3W
	VelTdL5PI7XqRex1hAciro0jIyQ6YdkIluS1enOs6VR4bKVW21DeRgBu9sE/vx5Mf8EvAv
	ksqYsWtwQSo8YOT98Skqyanyz5Gl3CgiJl8NzY7kl8ny4PHaYiq8ykHniTxGET5nhcfrYT
	d+uZc9HUUBDznI5wlxnZwM2jPoyIYIP8JvUBhT9OpDrsRSSnoJIq8jDNSivk3A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzGWj6Lx7zk53
	for <dev-commits-src-main@FreeBSD.org>; Mon, 05 Oct 2026 23:56:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 33f53
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 05 Oct 2026 23:56:49 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Jamie Gritton <jamie@FreeBSD.org>
Subject: git: a5ae2a9bfb1c - main - jaildesc: Lock prison pointer when filling kinfo
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: jamie
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a5ae2a9bfb1ca7f49e79ee63ed39216c42326d02
Auto-Submitted: auto-generated
Date: Mon, 05 Oct 2026 23:56:49 +0000
Message-Id: <6ac43941.33f53.39a6fc93@gitrepo.freebsd.org>

The branch main has been updated by jamie:

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

commit a5ae2a9bfb1ca7f49e79ee63ed39216c42326d02
Author:     Jamie Gritton <jamie@FreeBSD.org>
AuthorDate: 2026-10-05 23:54:21 +0000
Commit:     Jamie Gritton <jamie@FreeBSD.org>
CommitDate: 2026-10-05 23:54:21 +0000

    jaildesc: Lock prison pointer when filling kinfo
    
    Submitted by:   Yuri Tkachenko <yura.tkachenko at gmail.com>
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D60392
---
 sys/kern/kern_jaildesc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c
index fdce321cb468..3e91d47c1f43 100644
--- a/sys/kern/kern_jaildesc.c
+++ b/sys/kern/kern_jaildesc.c
@@ -418,7 +418,9 @@ jaildesc_fill_kinfo(struct file *fp, struct kinfo_file *kif,
 
 	jd = fp->f_data;
 	kif->kf_type = KF_TYPE_JAILDESC;
+	JAILDESC_LOCK(jd);
 	kif->kf_un.kf_jail.kf_jid = jd->jd_prison ? jd->jd_prison->pr_id : 0;
+	JAILDESC_UNLOCK(jd);
 	return (0);
 }
 

From nobody Tue Oct  6 00:47: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 4hzHfW4KbXz6vhNb
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 00:47: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzHfW3nhQz4LwW
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 00:47:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791247667;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q1w+YJ7M5Ocnp1RlVxehYSA13fvLI8a0T7z2saPB1P4=;
	b=YMWHpbEG4+sDBTPryqIiedOraTQnGn3PQWlqTlSllMoev/x3nLc0CfBz74bDMXQMQLylLk
	i71S7I5nmqmvY7U1jYbzikRFCwEnSVnaXqaCNX9DD/+FPlHwh3qI0Z/ZklIk1VZngkYlLa
	SEn2h4Mc8Mhc2XBtCWxbH/T+1gpTQsBX7mtmzH51edz447zmrl6Yt1VvrGtn0vddvoYBEt
	HnkSZQDYkrAlj+X+PRQoFLSmHsPLkST7/MavBgYC/FRkP5jD/QARJyVfDRGEV99Ta33jqz
	vDj98jCQCPcviTGGGSurEWvQlOYntFP7pzE1kcsb+pk55QTn6v9sLF21CpqqZQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791247667;
	b=qIvPAON4wcTjsKGHmmveT19j95W1F0p7Mm9kgEWVL/iHukjy74sFDA6rmLPkd/UvkEmFIB
	jphyjrpOktGIp4X2muxqqQjv+3l0oR2EC9NHmn+bIedBqwE2fX1ZsrFuml2vPJn7SIPQdE
	9NTFkl+DlKm8RQxCayn9cHj8GPL/hvIo3hkYircmQZg2qnyGvFMUot0iRoH1MRzj5NMZvU
	1sNUbeUt4mmVsE25CMlyPavk8ypILlGN4nx8wpysFrOw/2t+DkGT/VzgEa0EvYQNzoWMgY
	KXPBu8aJ/xX2S5qAEauQMx9P0o8td4r83yqYXeij3HmjsLeBvKoXTQCH9SeEYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791247667;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q1w+YJ7M5Ocnp1RlVxehYSA13fvLI8a0T7z2saPB1P4=;
	b=HZrDjPHIyPpeAKvZLHtAY/ytReWGszdcH/5N8HWFIzXsT/gBWmDfJhZ/8dmN49Ca6L+Apw
	7UZ2xwixy5jpruIVFXmxd2Xe3JnyFJa8jPpQvcpdmWQ48EUK2B9PxWFJX8I0wKAxIMWUal
	AeF3DZXNZ+EU3j9zpEGL5IjU2GWwaSMAISh39/xu5PmX8yROy9z4WUf0l/pXqFqnkxoSOo
	ghFQcMoEeUoODnpW5i1Vlim76wBbxz1b+eqagr+aYm1QthwZzqsaMSGFElRgtbfPzudCYp
	QWdK9uYbSa5hyPhT+gG3zkrvgs7TNub3xpPqABA9Ur1irmsK3tW3qDVZQCsuIA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzHfW2ZXPzksJ
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 00:47:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3aecb
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 00:47:47 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: 1e595e959f66 - main - devfs_open: do not access dsw after dev_relthread()
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 1e595e959f66e11d0490e90270b9fb701cbc6739
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 00:47:47 +0000
Message-Id: <6ac44533.3aecb.832df6b@gitrepo.freebsd.org>

The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=1e595e959f66e11d0490e90270b9fb701cbc6739

commit 1e595e959f66e11d0490e90270b9fb701cbc6739
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-05 23:35:32 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-06 00:30:49 +0000

    devfs_open: do not access dsw after dev_relthread()
    
    Noted and reviewed by:  markj
    Fixes:  850d4562928e ("cdevsw: add D_NONPASSABLE flag")
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60393
---
 sys/fs/devfs/devfs_vnops.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index cd6cd1959d6b..53fb08c6931b 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -1288,6 +1288,7 @@ devfs_open(struct vop_open_args *ap)
 	int error, ref, vlocked;
 	struct cdevsw *dsw;
 	struct file *fpop;
+	bool passable;
 
 	if (vp->v_type == VBLK)
 		return (ENXIO);
@@ -1306,6 +1307,7 @@ devfs_open(struct vop_open_args *ap)
 		dev_relthread(dev, ref);
 		return (ENXIO);
 	}
+	passable = (dsw->d_flags & D_NONPASSABLE) == 0;
 
 	if (vp->v_type == VCHR)
 		devfs_usecount_add(vp);
@@ -1347,8 +1349,7 @@ devfs_open(struct vop_open_args *ap)
 #endif
 	if (fp->f_ops == &badfileops) {
 		finit(fp, fp->f_flag, DTYPE_VNODE, dev,
-		    (dsw->d_flags & D_NONPASSABLE) == 0 ? &devfs_ops_f :
-		    &devfs_ops_nonpassable_f);
+		    passable ? &devfs_ops_f : &devfs_ops_nonpassable_f);
 	}
 	return (error);
 }

From nobody Tue Oct  6 02: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 4hzLGR1nypz4n9x6
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 02: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzLGR1HxLz4ZB8
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 02: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=1791254735;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ihfP/WgPX1JxdfoEX2RT7jv+W0gSJ2dwzP+rSZMS65k=;
	b=JLxPQH8IEeUMd0LOyq0BN4cLev0PXfqX2L56nMarKPQOcfKTL/bXcFkLGjWLCPssFoYnqZ
	PI8PkHFfcxe6gqin/s819+gz+dlaoyQhjdQowJs0iAV2ENCt1aNAXeP7LmZNakbrBfH/hr
	UZj/vDy52lOWNeZf5MwHgfS0ntUlPYaQlAErtG9ONWL1tBgRDxODsHqC7q9uSBxA5vk9kd
	BMp0esz0DVdYG0CFMS88w8d1zkOlqASBH54OqIac1bAdfm6XjvIWrEiJtpnoCxKZEGNwEU
	2PtPWf0tnA25Dq/b1Lc82BmFvbnnDiaZXoaw/7tbAt4pajrJYrT2VINT7Ix4Jg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791254735;
	b=vn89gQZUI2FBbZAj1AYktoV5cheb04bb7SGL3Db9MBUM4RG51ejeV4W4RYEs71//G+FKHG
	11p7ykZzR3HNNNhLzMW88JkzuTDXqmh5uwH+eWcjRP4WoBZBmsx6/4KO6ALohEqQ2QmxCo
	g50HH6QzRzpMEWpxSYydsYND76/div32UhKR+75qz6xo7KBiEDU+A1ITXhortBJfn5gUL2
	0HJYskb9LsXnZRwefBpnAV0yAM19LAVJ8kqq+OijeDp/nr6BgJRxmfq0DQzdsE0fWVPVrt
	qNZtYhgPA8wor6acPhsClEoAQFpRYrzNFP0VYTkl6v374j8iMIuinx690x7GLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791254735;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ihfP/WgPX1JxdfoEX2RT7jv+W0gSJ2dwzP+rSZMS65k=;
	b=NNyrz3lA2KDf0VRuygNtwU3xj7/Tses2wQvPcMAknplMg4cWSVg7obpK42nGugmgIFePOF
	AIvlhbbenJVdnXQxALey+IBwhDikfQYRayXfNMXQNHSpYhcjQqXs6fixL1C0zutjsa2BsC
	oZP6M4WHyzNw5uO7WpsRATGyRZgQisGZHeNdhVr6oomk+e7rNHZ13ABFqHp8tumZAzDq5k
	ZTouwwAcXVUSbAzaKw02VL2JztOt15owVEZN9GfHs2ZM5HL/iHxsZWMV/YFbch9N04Kjsr
	XjAFGYqN7iXqkDOf5BcXVpju/SLC0woMZ8HHovUUV2hvYZE0djfHkBilvRLCfQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzLGR0MNnzpG4
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 02:45:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1dbbe
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 02:45:35 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: John Baldwin <jhb@FreeBSD.org>
Subject: git: c907302c121a - main - zstream: Downgrade -Watomic-alignment to a warning
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: c907302c121acc5ed696544f86a6d44d07faf06c
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 02:45:35 +0000
Message-Id: <6ac460cf.1dbbe.4345319c@gitrepo.freebsd.org>

The branch main has been updated by jhb:

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

commit c907302c121acc5ed696544f86a6d44d07faf06c
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-10-05 20:53:19 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-10-06 02:35:14 +0000

    zstream: Downgrade -Watomic-alignment to a warning
    
    Don't complain about unaligned atomic operations on i386.  This
    same approach is already used for libspl.
---
 cddl/usr.bin/zstream/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cddl/usr.bin/zstream/Makefile b/cddl/usr.bin/zstream/Makefile
index 0562e6545056..545716a6ec56 100644
--- a/cddl/usr.bin/zstream/Makefile
+++ b/cddl/usr.bin/zstream/Makefile
@@ -1,3 +1,6 @@
+.include <bsd.init.mk>
+.include <bsd.compiler.mk>
+
 .PATH: ${ZFSTOP}/cmd/zstream
 .PATH: ${ZFSTOP}/man/man8
 
@@ -43,6 +46,9 @@ CFLAGS+= \
 	-include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h \
 	-DHAVE_ISSETUGID \
 	-include ${SRCTOP}/sys/modules/zfs/zfs_config.h
+.if ${COMPILER_TYPE} == "clang"
+CFLAGS.zstream_io.c+=	-Wno-error=atomic-alignment
+.endif
 
 LIBADD=	geom m nvpair umem avl spl zfs_core zfs zutil zpool pthread
 

From nobody Tue Oct  6 02:45: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 4hzLGT0Yhfz4n9yV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 02:45: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzLGS3QYzz4Z3m
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 02:45:36 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791254736;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QHTeN2cGgSjIMymo5kxRelb8EnksgHyfyeMDIqXQsx4=;
	b=BIqFekacNbR7aCg3HdTK0RRYEBBO7oYu4krhY1rGbyORy8V+kmcK4EPWBSnbL0PNrIO6YB
	0gLf6ouPoXbLUF6EWo7/zt4xRsplGcFBJnGYw+TymnioK32wLLeesooQtpmhVIjqpwOp55
	1RDnNmHzNAwMrdzWf8UH657pMT4NKhbyE3fCl7myneC5n8j7llpRQnOL539Q/6ej9+jFKD
	dK0hMGaRNC7sy/39NgO6zOzH8kSFJpvUsyPwJx/bXMFzPKBFyaetV5WV9B1QVzSMRN8eIW
	WUA+M/CkaqnWLORF1uWAjty4Os8Fr+GtwNEYCzBQGI8ndYAkMaWube7ToMkOQQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791254736;
	b=mKm8kh0oa2gnB5WXjyI6O51njT/qPpNlY+A66I8yxyNPAE96pUBRHWohOHCAMoLUVWeQy5
	jn1K55r7xHImxvv9h4lC3L30d3MfPstP0F4pt/x6LSX+zl9Nu9FqL2wF+ee6Lv5Nse2K8/
	LYQUwEKUokTcsPl5+NxPhiTvtj1jPc/aTz69OHuSf+AWxExKhEPhxpmnPNt9T0FW5YYpEF
	FqAgUuWNeTFzza+4xumMwKfCoFWTXLhBOnfazv+gmzfwf8ILJ30wJWTyTK1fH5zbY747SQ
	2xjhBUx0QsFWtMqlysNcu0ONQ7uFL2DCOrGFshk/2KMNH2Wic6q9oJPnDy6F/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791254736;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QHTeN2cGgSjIMymo5kxRelb8EnksgHyfyeMDIqXQsx4=;
	b=oTHaZ2eyBVv7Rewmf4+UVC6oHZ0LXx0UuRsxc0GomI+Jjuck2YehKyj5MhBt8jcpILfrLy
	yD6GX8ZZkbiIMyd38XEy2dQ9QFPavvZfmfNHZOk78DHlrooQfXmwWGCn+2fn+ZdO8WzZUE
	tRTY3IZ565zklB3opw71bYrlLhH0+pydj7heddSMsntJtTQvIA6027XPuxechp68f/SyNJ
	UsYPCgGy1xkCuGz00gCdyEVaYvSDOdijvHZAkVtThsjmO+LPHtTzBerDOYULqCi/GX1eyH
	BPqhpkkaQx7q/GMcJNpU0ajuEtS89UmQGwp5g1i/FObIbdFJ9V/wewsFb9Fdxw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzLGS1D3Szn1v
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 02:45:36 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1e9e4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 02:45:36 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: John Baldwin <jhb@FreeBSD.org>
Subject: git: 1d8c5f8e0255 - main - sendfile: Fix build for kernels without INET or INET6
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 1d8c5f8e02558faa578329eb9e2076e04de3fc5d
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 02:45:36 +0000
Message-Id: <6ac460d0.1e9e4.3575d125@gitrepo.freebsd.org>

The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=1d8c5f8e02558faa578329eb9e2076e04de3fc5d

commit 1d8c5f8e02558faa578329eb9e2076e04de3fc5d
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-10-05 21:00:56 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-10-06 02:35:15 +0000

    sendfile: Fix build for kernels without INET or INET6
    
    Don't cap the new low watermark to a TCP-specific setting in kernels
    without TCP.
    
    Fixes:          6948f4d5e2b2 ("sendfile: keep the lowat hack more conservative")
---
 sys/kern/kern_sendfile.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c
index a14b88b2169e..b9e7a1a2ce97 100644
--- a/sys/kern/kern_sendfile.c
+++ b/sys/kern/kern_sendfile.c
@@ -660,7 +660,11 @@ sendfile_wait_generic(struct socket *so, off_t need, int *space)
 	SOCK_SENDBUF_LOCK(so);
 	lowat = so->so_snd.sb_lowat;
 	if (so->so_snd.sb_flags & SB_AUTOLOWAT) {
+#if defined(INET) || defined(INET6)
 		newlowat = min(V_tcp_sendspace, so->so_snd.sb_hiwat) / 2;
+#else
+		newlowat = so->so_snd.sb_hiwat / 2;
+#endif
 		if (so->so_snd.sb_lowat < newlowat)
 			so->so_snd.sb_lowat = newlowat;
 		if (so->so_snd.sb_lowat < PAGE_SIZE &&

From nobody Tue Oct  6 04:33: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 4hzNfr1kfDz6Z0tK
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 04:33: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzNfr1DZ6z4pd9
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 04:33:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791261204;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=3v5ElYW9g4tp3Dw/JoDs/dZ55VSs6xEpfLGB6ShxIrQ=;
	b=IlCOW4Xc2PqPn7isKzVPZaM3yGFaEc9qoUOUn/mnRq0TCPi0rqfRZZ6Fet9ddKCbCG1VhY
	uqKRJ5QMrpHOzXgsNCEo4sZCxl6hB9LyMgMPEFX1G6ikyZAeKQMFNz0BhKg0/g55HtkUHs
	kqHTk09tuGjidz/CgOXjzDKhkm88l3sKEgUFmv5FLFhFzrfwq6sVC1KuynxQyDT1w2GD7Y
	PxVHYpRJM/faWE3vCglV0O67rPB6WIdtwOilk1LjYrXY8Oid7FHK2z3YLR13PZbVKnKCg2
	FHpnUqwTDsFzxV9zI3gfwAoWSzrkELp8GKa2t7fkMVBz7MvKY4Izn01TJoZgPw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791261204;
	b=Vbpg4rmSfyXH7g4O8QxfsucRJV/JnBSUUWkczmEo2KOAzS5qLPc6QOHVe/RS/+rgegDwpn
	d44ulYsfaYtk4Ej7jBdRSKLMf/CD80fclt0Hxsz6MU62mKu0useJzIka1XK8VyES+fx4kd
	iEgu4JIQA+6+lYD2nBeld0hfyOmt5Dt9hH+rdd57vhD2axCqXHn0kYs5VR3BsEIBbXCgVw
	6lVEJTmWlGJdyGQGFOKtwuQ8AmwEbm6s74X9EZcXSrVWEGX3bRK5Mcb+DNUsrXA2WOkKZ2
	Un6gpMOof82HBzx11Bvtxmn/vfBgw/FsU6B4gmJGkVCTO6BrAy17znSFy91AoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791261204;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=3v5ElYW9g4tp3Dw/JoDs/dZ55VSs6xEpfLGB6ShxIrQ=;
	b=sDT/6hhlVaQ5WzFZ//bzSoNP9tauflA/LOG1Ss5DnvGdRIf2nPRS3hJPVynstG3XxIKiM4
	W5mjT5FV45QjpGrz+H8aQnSLh496REBp95cbDlM+LiOkQYSxkInESrRugvl3i3BihyKScP
	c4zI3holuQ908YH3REYq1VGGdw0VusjEbnFEKUAQX8asWJNIFkUP8yaRoyj4bGfw8ab2lO
	sE+Tu+QbosIUyeWlCrRb2OOcQPWPL0wNB/kiSfZeawWREdCUyjcQn28uLKL/TKkWBkWuzq
	ckcNBPjijl8SV2hK6JKgvQ+f6WyACE5hkJTbtVnUjguoeUfVbkIE+GAOehvGrA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzNfr0GF5zrdx
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 04:33:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 337b4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 04:33:24 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Alan Cox <alc@FreeBSD.org>
Subject: git: d8dfbeb57017 - main - uiomove_object_page: a failed copy can still dirty the page
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: alc
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: d8dfbeb5701769832e84e5bb52f2e8b4e3ab902b
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 04:33:24 +0000
Message-Id: <6ac47a14.337b4.525b2153@gitrepo.freebsd.org>

The branch main has been updated by alc:

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

commit d8dfbeb5701769832e84e5bb52f2e8b4e3ab902b
Author:     Alan Cox <alc@FreeBSD.org>
AuthorDate: 2026-10-03 17:19:36 +0000
Commit:     Alan Cox <alc@FreeBSD.org>
CommitDate: 2026-10-06 04:30:23 +0000

    uiomove_object_page: a failed copy can still dirty the page
    
    For writes, if we fail in the middle of reading from the source, the
    destination may have already been dirtied.  For example, the source may
    cross a page boundary, and the second page is inaccessible.
    Conservatively mark the destination as dirty, even on errors.
    
    Reported by:    Claude (Opus 5.5)
    Reviewed by:    kib, markj
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D60280
---
 sys/kern/uipc_shm.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index 7df9d59716c7..3544ebd35336 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -246,8 +246,14 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio)
 
 found:
 	error = uiomove_fromphys(&m, offset, tlen, uio);
-	if (uio->uio_rw == UIO_WRITE && error == 0)
+	if (uio->uio_rw == UIO_WRITE) {
+		/*
+		 * Even a failed copy may have changed the page's contents,
+		 * because uiomove_fromphys() can copy part of the data before
+		 * it fails.
+		 */
 		vm_page_set_dirty(m);
+	}
 	vm_page_activate(m);
 	vm_page_sunbusy(m);
 

From nobody Tue Oct  6 04:52: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 4hzP4P434gz6Z2Sm
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 04:52: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzP4P3kKXz4rvg
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 04:52:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791262325;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=yZnHpvo8VogYg3DkbVyZ5eRrcKgogOaQk2utrGOAKcY=;
	b=xbZFmNq/fZyxcX2+ZmU7lm/wXyAhRJtMMHIYpdk1VkKR1pABHqN9oxUjY901EewmgvxDN+
	WP6vgRgmjG3pqk0q3jZtu1tFsj6GsDwoMmGQs2xmv65J10APQw+xCtuVDawB571dtfKpNS
	77JO80peLofLjGlz0VfdTBa1hZAYepRxZN+74MpTeNeE8V+T2+/kyKAAfHX1pK829h4SRw
	rmDXboZwnmbfeAqwEMj/ycDxg4s1IAHU4ICgE4cv1RRpwFnhYvhiSGXNl88y2iRFJDcUO/
	jCFq/gv2HOY+yQuBxeyCtaX8Zd4hjrCrBRCj+NNuATi0RAXDke+/hHravhDipg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791262325;
	b=mE4ESD/aImZTUyEi2vgrN8g0VCUd+4JPlx/2YtP5+thBcAH+dZLaIcaGV8xg+vRk0YW3vo
	dggfQEO2OZERvduP/BiRgAVuK17VVL2ElP5wkr31ALRiEYhsESHDTKs++6YuucYfQP8bBN
	EawzymPgnn8VS7RyV49VLIDZXNhVWlwkdhniu7bdiiElA3kh3EGLb46UoP1g/2wkRH3msi
	S5WAJaOIPWN3bar3f8LrLQjQsB/geDesmwZ0yo5KrsyrfOxamntu4FjzEIesHGePumyClR
	Y4I6vq2rCWcKPEC5HEjAnLBMP1uNRw2afEQ2dsxHlrOxGFvHrF7zuIdJazZnNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791262325;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=yZnHpvo8VogYg3DkbVyZ5eRrcKgogOaQk2utrGOAKcY=;
	b=lva3U4D06VTmNz0mi2SMMhi9Wx7z+Vmh3c4pmwCrHiFXAxVl/WzT3A8Qt/+UgLZZU1bXdh
	sIRj7sCpHaVm8BvpBJns4JH89ER/XMAyfN98cFeAKfAWgxgm7DGfeRPMkeIbZW9a05cK2m
	Z/EuIgJQbf0CcuKVnBzMjnKSHRCHK+cjgwNLBcj4ZMRfO/92KgVjiKAMfuhhzqj7YJ4NOd
	Snw+yMa8U3Csvv4ZyMUq3kIYSVgWL0SCVUy7CDEOqJ819t6p3WBFeHRmZn50iIBK/UQnWz
	Q/lMtA/F18Y5pPeQaULzSRQcBuw/Dwm9xLHunMaoul7O+q/piS89gR6mzfYQuQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzP4P2my9zsSn
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 04:52:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 33a75
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 04:52:05 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: 4abfb452ea2d - main - Revert "linux: implement fchmodat2 syscall"
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 4abfb452ea2d18c4710dffee7f3e65167d543041
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 04:52:05 +0000
Message-Id: <6ac47e75.33a75.287df809@gitrepo.freebsd.org>

The branch main has been updated by ngie:

URL: https://cgit.FreeBSD.org/src/commit/?id=4abfb452ea2d18c4710dffee7f3e65167d543041

commit 4abfb452ea2d18c4710dffee7f3e65167d543041
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-06 04:51:35 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-06 04:51:35 +0000

    Revert "linux: implement fchmodat2 syscall"
    
    This got accidentally committed when I was reverting another commit.
    
    This reverts commit c070ec923e2f49b6ecb5a60b584ba8f4376a6e80.
---
 sys/amd64/linux/linux_proto.h         |  7 ++-----
 sys/amd64/linux/linux_sysent.c        |  2 +-
 sys/amd64/linux/linux_systrace_args.c | 26 +-------------------------
 sys/amd64/linux/syscalls.master       |  9 ++-------
 sys/arm64/linux/linux_proto.h         |  7 ++-----
 sys/arm64/linux/linux_sysent.c        |  2 +-
 sys/arm64/linux/linux_systrace_args.c | 26 +-------------------------
 sys/arm64/linux/syscalls.master       |  9 ++-------
 sys/compat/linux/linux_dummy.c        |  2 ++
 sys/compat/linux/linux_file.c         | 22 ----------------------
 sys/i386/linux/linux_proto.h          |  7 ++-----
 sys/i386/linux/linux_sysent.c         |  2 +-
 sys/i386/linux/linux_systrace_args.c  | 26 +-------------------------
 sys/i386/linux/syscalls.master        |  9 ++-------
 14 files changed, 20 insertions(+), 136 deletions(-)

diff --git a/sys/amd64/linux/linux_proto.h b/sys/amd64/linux/linux_proto.h
index fa134b76888c..2373eff31dd3 100644
--- a/sys/amd64/linux/linux_proto.h
+++ b/sys/amd64/linux/linux_proto.h
@@ -1436,10 +1436,7 @@ struct linux_cachestat_args {
 	syscallarg_t dummy;
 };
 struct linux_fchmodat2_args {
-	char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
-	char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)];
-	char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
-	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+	syscallarg_t dummy;
 };
 struct linux_map_shadow_stack_args {
 	syscallarg_t dummy;
@@ -2062,7 +2059,7 @@ int	linux_map_shadow_stack(struct thread *, struct linux_map_shadow_stack_args *
 #define	LINUX_SYS_AUE_linux_futex_waitv	AUE_NULL
 #define	LINUX_SYS_AUE_linux_set_mempolicy_home_node	AUE_NULL
 #define	LINUX_SYS_AUE_linux_cachestat	AUE_NULL
-#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_FCHMODAT
+#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_NULL
 #define	LINUX_SYS_AUE_linux_map_shadow_stack	AUE_NULL
 
 #undef PAD_
diff --git a/sys/amd64/linux/linux_sysent.c b/sys/amd64/linux/linux_sysent.c
index 0369191f33c0..62b50cf68a32 100644
--- a/sys/amd64/linux/linux_sysent.c
+++ b/sys/amd64/linux/linux_sysent.c
@@ -466,6 +466,6 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_futex_waitv, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 449 = linux_futex_waitv */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_set_mempolicy_home_node, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 450 = linux_set_mempolicy_home_node */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_cachestat, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 451 = linux_cachestat */
-	{ .sy_narg = AS(linux_fchmodat2_args), .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_FCHMODAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
+	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_map_shadow_stack, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 453 = linux_map_shadow_stack */
 };
diff --git a/sys/amd64/linux/linux_systrace_args.c b/sys/amd64/linux/linux_systrace_args.c
index 0bc79e0cea29..902a0c1619b1 100644
--- a/sys/amd64/linux/linux_systrace_args.c
+++ b/sys/amd64/linux/linux_systrace_args.c
@@ -2806,12 +2806,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 	}
 	/* linux_fchmodat2 */
 	case 452: {
-		struct linux_fchmodat2_args *p = params;
-		iarg[a++] = p->dfd; /* l_int */
-		uarg[a++] = (intptr_t)p->filename; /* const char * */
-		iarg[a++] = p->mode; /* l_mode_t */
-		iarg[a++] = p->flags; /* l_int */
-		*n_args = 4;
+		*n_args = 0;
 		break;
 	}
 	/* linux_map_shadow_stack */
@@ -7303,22 +7298,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		break;
 	/* linux_fchmodat2 */
 	case 452:
-		switch (ndx) {
-		case 0:
-			p = "l_int";
-			break;
-		case 1:
-			p = "userland const char *";
-			break;
-		case 2:
-			p = "l_mode_t";
-			break;
-		case 3:
-			p = "l_int";
-			break;
-		default:
-			break;
-		};
 		break;
 	/* linux_map_shadow_stack */
 	case 453:
@@ -8848,9 +8827,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 	case 451:
 	/* linux_fchmodat2 */
 	case 452:
-		if (ndx == 0 || ndx == 1)
-			p = "int";
-		break;
 	/* linux_map_shadow_stack */
 	case 453:
 	default:
diff --git a/sys/amd64/linux/syscalls.master b/sys/amd64/linux/syscalls.master
index 94c591c300f1..b3bbd917c013 100644
--- a/sys/amd64/linux/syscalls.master
+++ b/sys/amd64/linux/syscalls.master
@@ -2188,13 +2188,8 @@
 		int linux_cachestat(void);
 	}
 ; Linux 6.6:
-452	AUE_FCHMODAT	STD {
-		int linux_fchmodat2(
-		    l_int dfd,
-		    const char *filename,
-		    l_mode_t mode,
-		    l_int flags
-		);
+452	AUE_NULL		STD {
+		int linux_fchmodat2(void);
 	}
 453	AUE_NULL		STD {
 		int linux_map_shadow_stack(void);
diff --git a/sys/arm64/linux/linux_proto.h b/sys/arm64/linux/linux_proto.h
index f43eac187115..ad0146b8527f 100644
--- a/sys/arm64/linux/linux_proto.h
+++ b/sys/arm64/linux/linux_proto.h
@@ -1246,10 +1246,7 @@ struct linux_cachestat_args {
 	syscallarg_t dummy;
 };
 struct linux_fchmodat2_args {
-	char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
-	char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)];
-	char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
-	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+	syscallarg_t dummy;
 };
 int	linux_setxattr(struct thread *, struct linux_setxattr_args *);
 int	linux_lsetxattr(struct thread *, struct linux_lsetxattr_args *);
@@ -1770,7 +1767,7 @@ int	linux_fchmodat2(struct thread *, struct linux_fchmodat2_args *);
 #define	LINUX_SYS_AUE_linux_futex_waitv	AUE_NULL
 #define	LINUX_SYS_AUE_linux_set_mempolicy_home_node	AUE_NULL
 #define	LINUX_SYS_AUE_linux_cachestat	AUE_NULL
-#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_FCHMODAT
+#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_NULL
 
 #undef PAD_
 #undef PADL_
diff --git a/sys/arm64/linux/linux_sysent.c b/sys/arm64/linux/linux_sysent.c
index 3e206d54283c..e54a76cfd55e 100644
--- a/sys/arm64/linux/linux_sysent.c
+++ b/sys/arm64/linux/linux_sysent.c
@@ -466,5 +466,5 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_futex_waitv, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 449 = linux_futex_waitv */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_set_mempolicy_home_node, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 450 = linux_set_mempolicy_home_node */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_cachestat, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 451 = linux_cachestat */
-	{ .sy_narg = AS(linux_fchmodat2_args), .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_FCHMODAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
+	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
 };
diff --git a/sys/arm64/linux/linux_systrace_args.c b/sys/arm64/linux/linux_systrace_args.c
index 606120a8394c..3d480b31bcd9 100644
--- a/sys/arm64/linux/linux_systrace_args.c
+++ b/sys/arm64/linux/linux_systrace_args.c
@@ -2428,12 +2428,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 	}
 	/* linux_fchmodat2 */
 	case 452: {
-		struct linux_fchmodat2_args *p = params;
-		iarg[a++] = p->dfd; /* l_int */
-		uarg[a++] = (intptr_t)p->filename; /* const char * */
-		iarg[a++] = p->mode; /* l_mode_t */
-		iarg[a++] = p->flags; /* l_int */
-		*n_args = 4;
+		*n_args = 0;
 		break;
 	}
 	default:
@@ -6373,22 +6368,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		break;
 	/* linux_fchmodat2 */
 	case 452:
-		switch (ndx) {
-		case 0:
-			p = "l_int";
-			break;
-		case 1:
-			p = "userland const char *";
-			break;
-		case 2:
-			p = "l_mode_t";
-			break;
-		case 3:
-			p = "l_int";
-			break;
-		default:
-			break;
-		};
 		break;
 	default:
 		break;
@@ -7700,9 +7679,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 	case 451:
 	/* linux_fchmodat2 */
 	case 452:
-		if (ndx == 0 || ndx == 1)
-			p = "int";
-		break;
 	default:
 		break;
 	};
diff --git a/sys/arm64/linux/syscalls.master b/sys/arm64/linux/syscalls.master
index c867de0a26e9..f4ab6f49c363 100644
--- a/sys/arm64/linux/syscalls.master
+++ b/sys/arm64/linux/syscalls.master
@@ -1866,13 +1866,8 @@
 		int linux_cachestat(void);
 	}
 ; Linux 6.6:
-452	AUE_FCHMODAT	STD {
-		int linux_fchmodat2(
-		    l_int dfd,
-		    const char *filename,
-		    l_mode_t mode,
-		    l_int flags
-		);
+452	AUE_NULL		STD {
+		int linux_fchmodat2(void);
 	}
 
  ; vim: syntax=off
diff --git a/sys/compat/linux/linux_dummy.c b/sys/compat/linux/linux_dummy.c
index 1851bd5f8219..dfb1c90e9abf 100644
--- a/sys/compat/linux/linux_dummy.c
+++ b/sys/compat/linux/linux_dummy.c
@@ -147,3 +147,5 @@ DUMMY(futex_waitv);
 DUMMY(set_mempolicy_home_node);
 /* Linux 6.5: */
 DUMMY(cachestat);
+/* Linux 6.6: */
+DUMMY(fchmodat2);
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 9e2fb36c7504..023da9a24772 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -779,28 +779,6 @@ linux_fchmodat(struct thread *td, struct linux_fchmodat_args *args)
 	    args->mode, 0));
 }
 
-int
-linux_fchmodat2(struct thread *td, struct linux_fchmodat2_args *args)
-{
-	int bsdflags, dfd, lflags;
-
-	bsdflags = 0;
-	lflags = args->flags;
-
-	if ((lflags & ~(LINUX_AT_EMPTY_PATH | LINUX_AT_SYMLINK_NOFOLLOW)) != 0)
-		return (EINVAL);
-
-	if ((lflags & LINUX_AT_EMPTY_PATH) != 0)
-		bsdflags |= AT_EMPTY_PATH;
-
-	if ((lflags & LINUX_AT_SYMLINK_NOFOLLOW) != 0)
-		bsdflags |= AT_SYMLINK_NOFOLLOW;
-
-	dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
-	return (kern_fchmodat(td, dfd, args->filename, UIO_USERSPACE,
-	    args->mode, bsdflags));
-}
-
 #ifdef LINUX_LEGACY_SYSCALLS
 int
 linux_mkdir(struct thread *td, struct linux_mkdir_args *args)
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index 8a35ad054fd7..255c2ec7494b 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -1731,10 +1731,7 @@ struct linux_cachestat_args {
 	syscallarg_t dummy;
 };
 struct linux_fchmodat2_args {
-	char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
-	char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)];
-	char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)];
-	char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+	syscallarg_t dummy;
 };
 int	linux_exit(struct thread *, struct linux_exit_args *);
 int	linux_fork(struct thread *, struct linux_fork_args *);
@@ -2487,7 +2484,7 @@ int	linux_fchmodat2(struct thread *, struct linux_fchmodat2_args *);
 #define	LINUX_SYS_AUE_linux_futex_waitv	AUE_NULL
 #define	LINUX_SYS_AUE_linux_set_mempolicy_home_node	AUE_NULL
 #define	LINUX_SYS_AUE_linux_cachestat	AUE_NULL
-#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_FCHMODAT
+#define	LINUX_SYS_AUE_linux_fchmodat2	AUE_NULL
 
 #undef PAD_
 #undef PADL_
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index 1f914ec8f671..b8893008944b 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -466,5 +466,5 @@ struct sysent linux_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_futex_waitv, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 449 = linux_futex_waitv */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_set_mempolicy_home_node, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 450 = linux_set_mempolicy_home_node */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_cachestat, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 451 = linux_cachestat */
-	{ .sy_narg = AS(linux_fchmodat2_args), .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_FCHMODAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
+	{ .sy_narg = 0, .sy_call = (sy_call_t *)linux_fchmodat2, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 452 = linux_fchmodat2 */
 };
diff --git a/sys/i386/linux/linux_systrace_args.c b/sys/i386/linux/linux_systrace_args.c
index f086e96b63b4..739d417bca6e 100644
--- a/sys/i386/linux/linux_systrace_args.c
+++ b/sys/i386/linux/linux_systrace_args.c
@@ -3353,12 +3353,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 	}
 	/* linux_fchmodat2 */
 	case 452: {
-		struct linux_fchmodat2_args *p = params;
-		iarg[a++] = p->dfd; /* l_int */
-		uarg[a++] = (intptr_t)p->filename; /* const char * */
-		iarg[a++] = p->mode; /* l_mode_t */
-		iarg[a++] = p->flags; /* l_int */
-		*n_args = 4;
+		*n_args = 0;
 		break;
 	}
 	default:
@@ -8742,22 +8737,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		break;
 	/* linux_fchmodat2 */
 	case 452:
-		switch (ndx) {
-		case 0:
-			p = "l_int";
-			break;
-		case 1:
-			p = "userland const char *";
-			break;
-		case 2:
-			p = "l_mode_t";
-			break;
-		case 3:
-			p = "l_int";
-			break;
-		default:
-			break;
-		};
 		break;
 	default:
 		break;
@@ -10598,9 +10577,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 	case 451:
 	/* linux_fchmodat2 */
 	case 452:
-		if (ndx == 0 || ndx == 1)
-			p = "int";
-		break;
 	default:
 		break;
 	};
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index 592d00f81b29..b93f28acae14 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -2630,13 +2630,8 @@
 		int linux_cachestat(void);
 	}
 ; Linux 6.6:
-452	AUE_FCHMODAT	STD {
-		int linux_fchmodat2(
-		    l_int dfd,
-		    const char *filename,
-		    l_mode_t mode,
-		    l_int flags
-		);
+452	AUE_NULL		STD {
+		int linux_fchmodat2(void);
 	}
 
  ; vim: syntax=off

From nobody Tue Oct  6 07:57: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 4hzTBh0fzTz6cXCq
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 07:57: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzTBg6Jztz4VH2
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 07:57:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791273467;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Vu9BmRXUc57FFq7y471HVkohpMTLagfIfT1KsU0e+mo=;
	b=feImsVFCN9gXv7qstGPZHWNb6KhutJ1o8JvuC6uTFvin9yf4b7Yj4117Pqulzi7z0IDgST
	d7A29PBnwx7J9ij5kDWLY1c40DgATuGYfKJW3HwOE6lwTVOkle8Tv+nCRcLRIrKlJzgXc1
	/4vwZ0KYfnu0hXSYy0AYs6gO32mMLmz7acKUFYerU8iC38phTa3jVbdKFcrWfVsMAbV1IB
	KSu6arxRWUa1HunINlbMypA4rMg+LZ/zorFEWjoYNHCWa+A9/gXtZ+ilYu3L+moL48ZCuJ
	btndoaKsFjOUZMtoVJIL9ZmSOyZQ7Ett4ES8XTUdR4Xg37pO8HI3u7i0KQv/0g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791273467;
	b=HThd3bHWWZsNYhEHG8org7z7A3F1kafJIC6rpxkeRbHYKPQyIwjfCPF2IyEoM5QW9RlsvN
	5WjyG/UsgnOhvWWbChEe2h4Nn98S+X0JQ53gLVZPcT1iIKef/HP6DRdSCTcBGht2vpwTxy
	7Q8kdJ6Z6lv4pmHvqQWknHZ0Mu+/s9NXVo4dZia+rNLjFrmN42bD8C0KID1QFNOJHcD4cl
	A2R4aKZH1shKu54yiwsL8VmPUUuhYaP71LqN2OA+jx1Q2Xts+66d+eJKSUWOOwgjmsviwC
	6kl7ZbwmIuBaCalpIj66NL3pXYT3sC8CCpX+BjImV3nkkhfRThya6Mc/RndohA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791273467;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Vu9BmRXUc57FFq7y471HVkohpMTLagfIfT1KsU0e+mo=;
	b=VMI/IfqgFLEckJP0HMhOsVJ2pvho/9WgDXMcLWadHw92WzUKL/rTPleZuMdw9hViN5JchF
	MiW1imaM+JYn27RWAje4/Kb39hgv73yp2pdlwsllG7acOY/sRDCerBtfyfPoQHoIoZzPny
	Vr6N4SF8+kv6v/E+OE1GlS4Xdbe5rrEoHCimWZ577IhH3Y07fzv0y76JMDhLh2DH//HRjL
	1ZP5lsA4W9qp8ntVBrDGcU/TAMDJz17VUoGY49rbTyptvdkdL8l/ZKeItfbHV65QAPLc0U
	3nY5/FrRviox43Vzhk7guMsyIWko+85AgmGxrZkBB2lQSLHQl/tu4WHHip+lJw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzTBg4p8Yzy1D
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 07:57:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 195be
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 07:57:47 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: ea23918b025b - main - rtld-elf/i386: remove no longer true __unused args annotations
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: ea23918b025baf72a43c0ce6f3f505ef153c2644
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 07:57:47 +0000
Message-Id: <6ac4a9fb.195be.40170485@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit ea23918b025baf72a43c0ce6f3f505ef153c2644
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-06 07:09:34 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-06 07:56:59 +0000

    rtld-elf/i386: remove no longer true __unused args annotations
    
    Fixes:  d45d7aea6197 ("i386 rtld: implement support for TLSDESC relocation")
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 libexec/rtld-elf/i386/reloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libexec/rtld-elf/i386/reloc.c b/libexec/rtld-elf/i386/reloc.c
index 5dd495f2056c..f22e4f66dab3 100644
--- a/libexec/rtld-elf/i386/reloc.c
+++ b/libexec/rtld-elf/i386/reloc.c
@@ -360,7 +360,7 @@ done:
 
 /* Process the PLT relocations. */
 int
-reloc_plt(Obj_Entry *obj, int flags __unused, RtldLockState *lockstate __unused)
+reloc_plt(Obj_Entry *obj, int flags, RtldLockState *lockstate)
 {
 	const Elf_Rel *rellim;
 	const Elf_Rel *rel;

From nobody Tue Oct  6 08:11: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 4hzTVW5Ky7z6cYFL
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 08:11: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzTVW4pZSz4bnx
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 08:11:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791274291;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=C0ikGdyY9hf6lIvrgi8smlia8sCU1KHk3ny+LPkXgUY=;
	b=hvzNPtwbyMu3GuKln1xohwScyREgPg19si7525FZIsFCauGQZOM5nDTarfzsyTSxg8pDo5
	cMBl9hcZBFZpcnZ7kHc2COGBxDKqBycuhHNd/r6wNcFTpW88F+25q5YEqBgM0bof18hYZj
	6ipC0hE2zV/BtBbqF675LBhg4kI8KJzBkH92SDlYUonUKUu119C1d3a2MaJvvRXTS+wEQn
	fWRJDkePg2dD/iexFNLkOBymtuDP12tOuE1EYllcNQpbJh0kaEDyrXIxZIFHZsw24LE9a9
	0Jn32RAb4CBbckt/nogC/RDTRni5c91hM2Dtbv/OtxxPCxr+sCfV1xBbP5iqfA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791274291;
	b=w+T3p63dMxWiSFgFsuanYJkJ4KKAeK527fe8siAPCs3waJSK+GVESAoSbScrvMYEKC4GPu
	dm/4WIh28dFBDTwB2BcBLCQKOtlUDpqoyVFju2Ax2Tt5H7Vnvk2VfEE49WAHZzS2GcxeJd
	wXAtuT1/k6H4B0iFybJqMb94LAuMCJVdc+Tyoe5ZRKEk/sn37BtJSvtFNFUvFZ5zBF0q46
	7JD+LznXboligzRFmI+T5UBkAgK14l45nAXdfTHKosIyGL4utLR0jNykYnVdx+JWs7kKNe
	gMDYLsP1om72x4OsGyTu+LxatiDFQw27sdkEbyOwC7YSLC+RAhmb+Nzu6GPPeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791274291;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=C0ikGdyY9hf6lIvrgi8smlia8sCU1KHk3ny+LPkXgUY=;
	b=UEXtC7fjlULmYg7ZBtx8/habNDUQ/Pr6sU4ILbcvoNrcyZV8xSqsH3s0ia/g9Chw9EJGmM
	TH8u0oQMSuMcWaati4W6E17jeUaAEDFFS7KVdAid+5jhS2HeyW1aJIXf9bNNrByAJlzNco
	VXrQwfx1VSdP/bLuIBbMxYMM8RjLywmRtaTWSFXoktGr3HfMSbBEOlf3iSXEji501sjhBg
	nXId1ZWYDXqwhYVWHiCen5JaN94UZtTvPWySBc6LSPhYW8ymeM4SPVz78IsIzjjHZxd2RA
	QTXip2BQI731pyz8lcPMIpB9Vvhwz52giH3SINZ35F99FiqYIAkwA3DgLiJEeQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzTVW3sQnzySX
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 08:11:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 19f5f
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 08:11:31 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Xin LI <delphij@FreeBSD.org>
Subject: git: b4e2c9abaf14 - main - libcasper: tolerate kernels without PD_NOWAITPID
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: delphij
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: b4e2c9abaf14d6eabbce59656d448c064e0dc40b
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 08:11:31 +0000
Message-Id: <6ac4ad33.19f5f.8a9063f@gitrepo.freebsd.org>

The branch main has been updated by delphij:

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

commit b4e2c9abaf14d6eabbce59656d448c064e0dc40b
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2026-10-06 07:17:21 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2026-10-06 08:10:57 +0000

    libcasper: tolerate kernels without PD_NOWAITPID
    
    Commit 1a296762b3d0 made libcasper pass PD_NOWAITPID to pdfork(2).
    Kernels predating the flag (15.1 and earlier, since the flag first
    ships in 15.2) reject it with EINVAL, which makes cap_init() and every
    service fork fail when a newer world runs on an older kernel, for
    example in a poudriere jail.
    
    Add casper_pdfork(), which retries without the flag on EINVAL, and use
    it at both pdfork(2) call sites.  The retry is safe because the kernel
    validates pdfork flags before creating a child.  On such kernels the
    zombie must still be reaped with waitpid(2), as before the flag was
    introduced.
    
    The fallback is compiled out once __FreeBSD_version reaches 1700000,
    so it disappears from main when stable/16 branches while remaining in
    the stable/15 and stable/16 branches that need it.
    
    Reviewed by:    kib
    MFC after:      3 days
    
    Differential Revision: https://reviews.freebsd.org/D60401
---
 lib/libcasper/libcasper/libcasper.c      |  2 +-
 lib/libcasper/libcasper/libcasper_impl.h | 23 +++++++++++++++++++++++
 lib/libcasper/libcasper/zygote.c         |  2 +-
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/lib/libcasper/libcasper/libcasper.c b/lib/libcasper/libcasper/libcasper.c
index 8783529d9dc0..9a34b8d7acea 100644
--- a/lib/libcasper/libcasper/libcasper.c
+++ b/lib/libcasper/libcasper/libcasper.c
@@ -95,7 +95,7 @@ cap_init(void)
 		return (NULL);
 	}
 
-	pid = pdfork(&pfd, PD_NOWAITPID);
+	pid = casper_pdfork(&pfd);
 	if (pid == 0) {
 		/* Child. */
 		close(sock[0]);
diff --git a/lib/libcasper/libcasper/libcasper_impl.h b/lib/libcasper/libcasper/libcasper_impl.h
index 43d2495cacf6..682a71fff01c 100644
--- a/lib/libcasper/libcasper/libcasper_impl.h
+++ b/lib/libcasper/libcasper/libcasper_impl.h
@@ -33,6 +33,10 @@
 #ifndef	_LIBCASPER_IMPL_H_
 #define	_LIBCASPER_IMPL_H_
 
+#include <sys/param.h>
+#include <sys/procdesc.h>
+
+#include <errno.h>
 #include <stdbool.h>
 
 #include "libcasper.h"
@@ -44,6 +48,25 @@ struct service_connection;
 bool fd_is_valid(int fd);
 void fd_fix_environment(int *fdp);
 
+static inline pid_t
+casper_pdfork(int *fdp)
+{
+	pid_t pid;
+
+	pid = pdfork(fdp, PD_NOWAITPID);
+#if __FreeBSD_version < 1700000
+	/*
+	 * Kernels predating PD_NOWAITPID (introduced in 15.2) reject the
+	 * flag with EINVAL before creating a child, so retrying without
+	 * it is safe.  The child must then be reaped with waitpid(2), as
+	 * before.  This fallback is compiled out starting with 17.0.
+	 */
+	if (pid == -1 && errno == EINVAL)
+		pid = pdfork(fdp, 0);
+#endif
+	return (pid);
+}
+
 /* Private service functions. */
 struct service	*service_alloc(const char *name,
 		    service_limit_func_t *limitfunc,
diff --git a/lib/libcasper/libcasper/zygote.c b/lib/libcasper/libcasper/zygote.c
index 8295312b6593..574d80a16b01 100644
--- a/lib/libcasper/libcasper/zygote.c
+++ b/lib/libcasper/libcasper/zygote.c
@@ -149,7 +149,7 @@ zygote_main(int *sockp)
 			error = errno;
 			goto send;
 		}
-		pid = pdfork(&procfd, PD_NOWAITPID);
+		pid = casper_pdfork(&procfd);
 		switch (pid) {
 		case -1:
 			/* Failure. */

From nobody Tue Oct  6 13:39: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 4hzcmt5KMSz6vLtY
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 13:39: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzcmt4rCtz4K7r
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 13:39:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791293966;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HtSaFZW47h4Sw2FultMkcX0jwnEcVvWWnYdnpKuaaBs=;
	b=I0qoYkE6NxmQFcjd44jIAu2V+Ms6fGJfObFHGi4rEmmtAJH74GHOl159t8FL+PRkNAqS8N
	kDaVBcK9wXZq04s2mCSAETLGzPEXGULRyq+41wSq36oovmLo72kaU8JcRU6qZ5eU3+pRWU
	3ri85uh2+hdxhpDHCJeJWRMjyEuzZnotrxQG34lBpUJhM9g9ExWIRzJh9KPEj7ZhgSjjT9
	H5z/ijK3AK7j9cm7x4EmSV33qNOVBqYGsE6NFpxcjE1xtRFcoVJreHyPHY5tiP0FjhfF7K
	g4hgNRZfwigj6jYPYRBUhHbKZAgXL8ZuweQbo3h3YOmvJtZoiGUgeT3ePZV2xg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791293966;
	b=gfaGDCNOEX15j3jVNChU5Z87YO3rfebfjTPRlP+Oc4TBQUFSscPjJfm9ePeq2A3tlF8SF0
	waKZr3fu2FfrKIK/yg1itgIXWIr7wu5rvbyZYYCqNBUtc6xa+JjJsMwt79BHaaTo47fV6s
	OXVvcYElRiZ18h0/e+t6xdI+5KTpRx3O+shCnQezGhb4aQtwzq32EOU81L/qZ7kzrZQaZG
	ciTxlJ3DVeYZb8rz1iWTvVCuV1D5zVofWMlcUgIZHY06Rkhcf0955hC/AzqfTwlAhUpTBy
	lCD9g6eRlVK61+0m9oUEwjGVBCzi0aojBsr65oG7T03DBc3turNlPUshKJxMxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791293966;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HtSaFZW47h4Sw2FultMkcX0jwnEcVvWWnYdnpKuaaBs=;
	b=LdgcCWg5LcNj5n8ctQJE5c/1lR/1eLbOBp6dAS6vTtnM45vIWAqu0bMMK7xOSJJlFH0gsL
	TRIO+/jWxrHSt0x4GTxpva7JqFE9dC6M9surslrl8vsNEV7l20kWCmOfhtr+cVX2opPTMg
	G1z12YFYf54B/iZOVt7eLO3jaroGO44xA0TcgDlWsktx7bTxWP9IeaBVgyKsei81lw1/er
	t5OEKuXfgxB2rKWR2gqshUmcKjWg7iUpvtblB2fQQxXHBHIjGd7WHrKOBBaHiiZ6KYZJnf
	CJgTjI25BUAqZlgTAq9s3AKwSl+g70Fsnoo4XOX2EdVbwPStjqCSHJ0DdzrJYw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzcmt3vk4z17l0
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 13:39:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 45651
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 13:39:26 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: 42490d5cd29d - main - sched: New scheduler interface definition scheme
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 42490d5cd29d7a6acd3c28dacfbdc527c2d39028
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 13:39:26 +0000
Message-Id: <6ac4fa0e.45651.22183126@gitrepo.freebsd.org>

The branch main has been updated by olce:

URL: https://cgit.FreeBSD.org/src/commit/?id=42490d5cd29d7a6acd3c28dacfbdc527c2d39028

commit 42490d5cd29d7a6acd3c28dacfbdc527c2d39028
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-09-07 16:19:53 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-06 13:27:41 +0000

    sched: New scheduler interface definition scheme
    
    Define the scheduler interface once and for all (in 'sys/sys/sched.h')
    and remove all code duplication related to it (function signatures, slot
    names, dispatch, scheduler instance declaration), making it easier to
    modify the interface or to add new schedulers.
    
    This is implemented by defining the interface as X macros, which are
    passed a macro (and additional arguments for it) that is "called" with
    a variable number of arguments describing a single function of the
    interface.  The convention used for a function's parameters is that each
    parameter is represented with two macro arguments, the first one being
    the type and the second one being the name.  Helper macros allow to
    process arguments described in this convention in order to generate
    a list of arguments for function definitions (currently, up to
    4 function parameters).  The chosen convention eliminates the need for
    any specific declaration of functions depending on their number of
    arguments.
    
    DECLARE_SCHEDULER() has been changed to automatically declare and fill
    a 'struct sched_instance' structure.  Its number of parameters has been
    reduced to the minimum, and the symbol part used to produce distinct
    structure names can now start with a digit (useful for 4BSD).
    
    The new implementation has the following additional benefits:
    1. The name of implementations for the interface functions is imposed
       (same name as the interface function but with the scheduler symbol
       that was passed to DECLARE_SCHEDULER() added just after the 'sched_'
       prefix, e.g., for ULE, 'sched_ule_*()') and checked at compile-time.
    2. Missing functions in an implementation are detected at compile-time
       (and not at runtime with a NULL dereference).
    3. Failures to fill correctly the 'struct sched_instance' object
       associated to an implementation are eliminated.
    
    Preserve comments/categories of interface functions by moving comments
    that were in the old explicit interface declarations to the SCHED_ITF*()
    macros, and while here, marginally improve some (and move the common
    documentation for sched_initticks() from the implementations to the
    interface).  Several of them are not exact, but this will be fixed in
    a separate commit.
    
    Make the active scheduler instance object internal, as it is not used
    outside of the shim implementation and one of the purposes of the
    interface is also to hide the actual implementation.  If the need
    arises, it would be easy to add scheduler-specific routines as new
    fields in 'struct sched_instance' and to extend the machinery to
    automatically assign routines returning EOPNOTSUPP to these fields, and
    then to provide a macro to register non-trivial implementation, instead
    of making the current instance object visible again.
    
    Additionally, in order to avoid collision with C and C++ keywords:
    1. Fields in 'struct sched_instance' are now suffixed with '_impl', so
       that, e.g., 'switch()' does not require special treatment anymore and
       the corresponding implementations can be renamed back to
       `sched_*_switch()`.  This suffix avoids any collision with existing
       C++ keywords as new functions are added to the interface.  (See
       SCHED_ITF_FIELD_NAME().)
    2. Actual interface functions' C declarations do not list parameter
       names anymore (sched_class() was causing a problem in C++ with its
       'class' parameter).
    allowing to remove the bracketing with '#ifndef __cplusplus'.
    
    Reviewed by:    mchoo, kib
    Fixes:          ce38acee8d0b ("Add kern/sched_shim.c") (+ some followups)
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D59988
---
 sys/arm/arm/mp_machdep.c      |   2 +-
 sys/arm64/arm64/mp_machdep.c  |   2 +-
 sys/kern/init_main.c          |   2 +-
 sys/kern/sched_4bsd.c         |  54 +----
 sys/kern/sched_shim.c         |  96 ++------
 sys/kern/sched_ule.c          |  62 +-----
 sys/powerpc/aim/mp_cpudep.c   |   2 +-
 sys/powerpc/booke/mp_cpudep.c |   2 +-
 sys/riscv/riscv/mp_machdep.c  |   2 +-
 sys/sys/sched.h               | 507 ++++++++++++++++++++++++++++--------------
 sys/x86/x86/mp_x86.c          |   2 +-
 11 files changed, 379 insertions(+), 354 deletions(-)

diff --git a/sys/arm/arm/mp_machdep.c b/sys/arm/arm/mp_machdep.c
index 9a4dc4e503e1..a745adef20bc 100644
--- a/sys/arm/arm/mp_machdep.c
+++ b/sys/arm/arm/mp_machdep.c
@@ -177,7 +177,7 @@ init_secondary(int cpu)
 	pc->pc_curthread = pc->pc_idlethread;
 	pc->pc_curpcb = pc->pc_idlethread->td_pcb;
 	set_curthread(pc->pc_idlethread);
-	schedinit_ap();
+	sched_init_ap();
 #ifdef VFP
 	vfp_init();
 #endif
diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c
index 30f4b30e64a7..2883e7dc74bf 100644
--- a/sys/arm64/arm64/mp_machdep.c
+++ b/sys/arm64/arm64/mp_machdep.c
@@ -280,7 +280,7 @@ init_secondary(uint64_t cpu)
 	/* Initialize curthread */
 	KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread"));
 	pcpup->pc_curthread = pcpup->pc_idlethread;
-	schedinit_ap();
+	sched_init_ap();
 
 	/* Initialize curpmap to match TTBR0's current setting. */
 	pmap0 = vmspace_pmap(&vmspace0);
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
index cfca5d9d1296..829583cb687c 100644
--- a/sys/kern/init_main.c
+++ b/sys/kern/init_main.c
@@ -493,7 +493,7 @@ proc0_init(void *dummy __unused)
 	 * Initialise scheduler resources.
 	 * Add scheduler specific parts to proc, thread as needed.
 	 */
-	schedinit();	/* scheduler gets its house in order */
+	sched_init();	/* scheduler gets its house in order */
 
 	/*
 	 * Create process 0.
diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c
index 5f0246323dea..431957c048eb 100644
--- a/sys/kern/sched_4bsd.c
+++ b/sys/kern/sched_4bsd.c
@@ -1010,7 +1010,7 @@ sched_4bsd_sleep(struct thread *td, int pri)
 }
 
 static void
-sched_4bsd_sswitch(struct thread *td, int flags)
+sched_4bsd_switch(struct thread *td, int flags)
 {
 	struct thread *newtd;
 	struct mtx *tmtx;
@@ -1842,54 +1842,4 @@ sched_4bsd_find_l2_neighbor(int cpu)
 	return (-1);
 }
 
-struct sched_instance sched_4bsd_instance = {
-#define	SLOT(name) .name = sched_4bsd_##name
-	SLOT(load),
-	SLOT(rr_interval),
-	SLOT(runnable),
-	SLOT(exit),
-	SLOT(fork),
-	SLOT(fork_exit),
-	SLOT(class),
-	SLOT(nice),
-	SLOT(ap_entry),
-	SLOT(exit_thread),
-	SLOT(estcpu),
-	SLOT(fork_thread),
-	SLOT(ithread_prio),
-	SLOT(lend_prio),
-	SLOT(lend_user_prio),
-	SLOT(lend_user_prio_cond),
-	SLOT(pctcpu),
-	SLOT(prio),
-	SLOT(sleep),
-	SLOT(sswitch),
-	SLOT(throw),
-	SLOT(unlend_prio),
-	SLOT(user_prio),
-	SLOT(userret_slowpath),
-	SLOT(add),
-	SLOT(choose),
-	SLOT(clock),
-	SLOT(idletd),
-	SLOT(preempt),
-	SLOT(relinquish),
-	SLOT(rem),
-	SLOT(wakeup),
-	SLOT(bind),
-	SLOT(unbind),
-	SLOT(is_bound),
-	SLOT(affinity),
-	SLOT(sizeof_proc),
-	SLOT(sizeof_thread),
-	SLOT(tdname),
-	SLOT(clear_tdname),
-	SLOT(find_l2_neighbor),
-	SLOT(init),
-	SLOT(init_ap),
-	SLOT(setup),
-	SLOT(initticks),
-	SLOT(sysinit),
-#undef SLOT
-};
-DECLARE_SCHEDULER(fourbsd_sched_selector, "4BSD", &sched_4bsd_instance);
+DECLARE_SCHEDULER(4bsd, "4BSD");
diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c
index 9935c4e40aa8..8fdd12e5f84d 100644
--- a/sys/kern/sched_shim.c
+++ b/sys/kern/sched_shim.c
@@ -18,76 +18,10 @@
 #include <sys/sched.h>
 #include <sys/smp.h>
 #include <sys/sysctl.h>
-#include <machine/ifunc.h>
-
-const struct sched_instance *active_sched;
 
-#define	__DEFINE_SHIM(__m, __r, __n, __p, __a)	\
-	DEFINE_IFUNC(, __r, __n, __p)		\
-	{					\
-		return (active_sched->__m);	\
-	}
-#define	DEFINE_SHIM0(__m, __r, __n)	\
-    __DEFINE_SHIM(__m, __r, __n, (void), ())
-#define	DEFINE_SHIM1(__m, __r, __n, __t1, __a1)	\
-    __DEFINE_SHIM(__m, __r, __n, (__t1 __a1), (__a1))
-#define	DEFINE_SHIM2(__m, __r, __n, __t1, __a1, __t2, __a2)	\
-    __DEFINE_SHIM(__m, __r, __n, (__t1 __a1, __t2 __a2), (__a1, __a2))
-
-DEFINE_SHIM0(load, int, sched_load)
-DEFINE_SHIM0(rr_interval, int, sched_rr_interval)
-DEFINE_SHIM0(runnable, bool, sched_runnable)
-DEFINE_SHIM2(exit, void, sched_exit, struct proc *, p,
-    struct thread *, childtd)
-DEFINE_SHIM2(fork, void, sched_fork, struct thread *, td,
-    struct thread *, childtd)
-DEFINE_SHIM1(fork_exit, void, sched_fork_exit, struct thread *, td)
-DEFINE_SHIM2(class, void, sched_class, struct thread *, td, int, class)
-DEFINE_SHIM2(nice, void, sched_nice, struct proc *, p, int, nice)
-DEFINE_SHIM0(ap_entry, void, sched_ap_entry)
-DEFINE_SHIM2(exit_thread, void, sched_exit_thread, struct thread *, td,
-    struct thread *, child)
-DEFINE_SHIM1(estcpu, u_int, sched_estcpu, struct thread *, td)
-DEFINE_SHIM2(fork_thread, void, sched_fork_thread, struct thread *, td,
-    struct thread *, child)
-DEFINE_SHIM2(ithread_prio, void, sched_ithread_prio, struct thread *, td,
-    u_char, prio)
-DEFINE_SHIM2(lend_prio, void, sched_lend_prio, struct thread *, td,
-    u_char, prio)
-DEFINE_SHIM2(lend_user_prio, void, sched_lend_user_prio, struct thread *, td,
-    u_char, pri)
-DEFINE_SHIM2(lend_user_prio_cond, void, sched_lend_user_prio_cond,
-    struct thread *, td, u_char, pri)
-DEFINE_SHIM1(pctcpu, fixpt_t, sched_pctcpu, struct thread *, td)
-DEFINE_SHIM2(prio, void, sched_prio, struct thread *, td, u_char, prio)
-DEFINE_SHIM2(sleep, void, sched_sleep, struct thread *, td, int, prio)
-DEFINE_SHIM2(sswitch, void, sched_switch, struct thread *, td, int, flags)
-DEFINE_SHIM1(throw, void, sched_throw, struct thread *, td)
-DEFINE_SHIM2(unlend_prio, void, sched_unlend_prio, struct thread *, td,
-    u_char, prio)
-DEFINE_SHIM2(user_prio, void, sched_user_prio, struct thread *, td,
-    u_char, prio)
-DEFINE_SHIM1(userret_slowpath, void, sched_userret_slowpath,
-    struct thread *, td)
-DEFINE_SHIM2(add, void, sched_add, struct thread *, td, int, flags)
-DEFINE_SHIM0(choose, struct thread *, sched_choose)
-DEFINE_SHIM2(clock, void, sched_clock, struct thread *, td, int, cnt)
-DEFINE_SHIM1(idletd, void, sched_idletd, void *, dummy)
-DEFINE_SHIM1(preempt, void, sched_preempt, struct thread *, td)
-DEFINE_SHIM1(relinquish, void, sched_relinquish, struct thread *, td)
-DEFINE_SHIM1(rem, void, sched_rem, struct thread *, td)
-DEFINE_SHIM2(wakeup, void, sched_wakeup, struct thread *, td, int, srqflags)
-DEFINE_SHIM2(bind, void, sched_bind, struct thread *, td, int, cpu)
-DEFINE_SHIM1(unbind, void, sched_unbind, struct thread *, td)
-DEFINE_SHIM1(is_bound, int, sched_is_bound, struct thread *, td)
-DEFINE_SHIM1(affinity, void, sched_affinity, struct thread *, td)
-DEFINE_SHIM0(sizeof_proc, int, sched_sizeof_proc)
-DEFINE_SHIM0(sizeof_thread, int, sched_sizeof_thread)
-DEFINE_SHIM1(tdname, char *, sched_tdname, struct thread *, td)
-DEFINE_SHIM1(clear_tdname, void, sched_clear_tdname, struct thread *, td)
-DEFINE_SHIM1(find_l2_neighbor, int, sched_find_l2_neighbor, int, cpu)
-DEFINE_SHIM0(init_ap, void, schedinit_ap)
+#include <machine/ifunc.h>
 
+static const struct sched_instance *active_sched;
 
 SCHED_STAT_DEFINE(ithread_demotions, "Interrupt thread priority demotions");
 SCHED_STAT_DEFINE(ithread_preemptions,
@@ -117,6 +51,18 @@ int __read_mostly		dtrace_vtime_active;
 dtrace_vtime_switch_func_t	dtrace_vtime_switch_func;
 #endif
 
+/*
+ * Define dispatchers for all functions described by SCHED_ITF_DISPATCH().
+ */
+#define DEFINE_SHIM(args, ret_type, fn, ...)				\
+	DEFINE_IFUNC(, ret_type, SCHED_ITF_FUNCTION_NAME(fn),		\
+	    (SCHED_ITF_ARGS_PROTO_NAME(__VA_ARGS__)))			\
+	{								\
+		return (active_sched->SCHED_ITF_FIELD_NAME(fn));	\
+	}
+SCHED_ITF_DISPATCH(DEFINE_SHIM, );
+#undef DEFINE_SHIM
+
 static char sched_name[32] = "ULE";
 
 SET_DECLARE(sched_instance_set, struct sched_selection);
@@ -155,27 +101,27 @@ sched_instance_select(void)
 }
 
 void
-schedinit(void)
+sched_init(void)
 {
 	if (active_sched == NULL)
 		panic("Cannot find scheduler %s", sched_name);
-	active_sched->init();
+	active_sched->SCHED_ITF_FIELD_NAME(init)();
 }
 
 struct cpu_group __read_mostly *cpu_top;		/* CPU topology */
 
 static void
-sched_setup(void *dummy)
+sched_setup(void)
 {
 	cpu_top = smp_topo();
-	active_sched->setup();
+	active_sched->SCHED_ITF_FIELD_NAME(setup)();
 }
 SYSINIT(sched_setup, SI_SUB_RUN_QUEUE, SI_ORDER_FIRST, sched_setup, NULL);
 
 static void
-sched_initticks(void *dummy)
+sched_initticks(void)
 {
-	active_sched->initticks();
+	active_sched->SCHED_ITF_FIELD_NAME(initticks)();
 }
 SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks,
     NULL);
@@ -183,7 +129,7 @@ SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks,
 static void
 sched_sysinit(void)
 {
-	active_sched->sysinit();
+	active_sched->SCHED_ITF_FIELD_NAME(sysinit)();
 }
 SYSINIT(sched_sysinit, SI_SUB_LAST, SI_ORDER_FIRST, sched_sysinit, NULL);
 
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index ea5f63311387..453e3958faf9 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -1899,14 +1899,14 @@ sched_ule_init(void)
 }
 
 /*
- * schedinit_ap() is needed prior to calling sched_throw(NULL) to ensure that
+ * sched_init_ap() is needed prior to calling sched_throw(NULL) to ensure that
  * the pcpu requirements are met for any calls in the period between curthread
  * initialization and sched_throw().  One can safely add threads to the queue
  * before sched_throw(), for instance, as long as the thread lock is setup
  * correctly.
  *
  * TDQ_SELF() relies on the below sched pcpu setting; it may be used only
- * after schedinit_ap().
+ * after sched_init_ap().
  */
 static void
 sched_ule_init_ap(void)
@@ -2320,7 +2320,7 @@ thread_unblock_switch(struct thread *td, struct mtx *mtx)
  * be assigned elsewhere via binding.
  */
 static void
-sched_ule_sswitch(struct thread *td, int flags)
+sched_ule_switch(struct thread *td, int flags)
 {
 	struct thread *newtd;
 	struct tdq *tdq;
@@ -3240,7 +3240,7 @@ sched_ule_ap_entry(void)
 
 	tdq = TDQ_SELF();
 
-	/* This should have been setup in schedinit_ap(). */
+	/* This should have been setup in sched_init_ap(). */
 	THREAD_LOCKPTR_ASSERT(curthread, TDQ_LOCKPTR(tdq));
 
 	TDQ_LOCK(tdq);
@@ -3418,58 +3418,6 @@ sched_ule_find_l2_neighbor(int cpu)
 }
 #endif
 
-struct sched_instance sched_ule_instance = {
-#define	SLOT(name) .name = sched_ule_##name
-	SLOT(load),
-	SLOT(rr_interval),
-	SLOT(runnable),
-	SLOT(exit),
-	SLOT(fork),
-	SLOT(fork_exit),
-	SLOT(class),
-	SLOT(nice),
-	SLOT(ap_entry),
-	SLOT(exit_thread),
-	SLOT(estcpu),
-	SLOT(fork_thread),
-	SLOT(ithread_prio),
-	SLOT(lend_prio),
-	SLOT(lend_user_prio),
-	SLOT(lend_user_prio_cond),
-	SLOT(pctcpu),
-	SLOT(prio),
-	SLOT(sleep),
-	SLOT(sswitch),
-	SLOT(throw),
-	SLOT(unlend_prio),
-	SLOT(user_prio),
-	SLOT(userret_slowpath),
-	SLOT(add),
-	SLOT(choose),
-	SLOT(clock),
-	SLOT(idletd),
-	SLOT(preempt),
-	SLOT(relinquish),
-	SLOT(rem),
-	SLOT(wakeup),
-	SLOT(bind),
-	SLOT(unbind),
-	SLOT(is_bound),
-	SLOT(affinity),
-	SLOT(sizeof_proc),
-	SLOT(sizeof_thread),
-	SLOT(tdname),
-	SLOT(clear_tdname),
-	SLOT(find_l2_neighbor),
-	SLOT(init),
-	SLOT(init_ap),
-	SLOT(setup),
-	SLOT(initticks),
-	SLOT(sysinit),
-#undef SLOT
-};
-DECLARE_SCHEDULER(ule_sched_selector, "ULE", &sched_ule_instance);
-
 static int
 sysctl_kern_quantum(SYSCTL_HANDLER_ARGS)
 {
@@ -3551,3 +3499,5 @@ SYSCTL_INT(_kern_sched_ule, OID_AUTO, always_steal, CTLFLAG_RWTUN,
     &always_steal, 0,
     "Always run the stealer from the idle thread");
 #endif
+
+DECLARE_SCHEDULER(ule, "ULE");
diff --git a/sys/powerpc/aim/mp_cpudep.c b/sys/powerpc/aim/mp_cpudep.c
index 98acfc1a5c37..6bfec392f166 100644
--- a/sys/powerpc/aim/mp_cpudep.c
+++ b/sys/powerpc/aim/mp_cpudep.c
@@ -132,7 +132,7 @@ cpudep_ap_bootstrap(void)
 #endif
 	pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;
 	sp = pcpup->pc_curpcb->pcb_sp;
-	schedinit_ap();
+	sched_init_ap();
 
 	return (sp);
 }
diff --git a/sys/powerpc/booke/mp_cpudep.c b/sys/powerpc/booke/mp_cpudep.c
index a57c80102045..e38ce1bded99 100644
--- a/sys/powerpc/booke/mp_cpudep.c
+++ b/sys/powerpc/booke/mp_cpudep.c
@@ -83,7 +83,7 @@ cpudep_ap_bootstrap(void)
 #endif
 	pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;
 	sp = pcpup->pc_curpcb->pcb_sp;
-	schedinit_ap();
+	sched_init_ap();
 
 	/* XXX shouldn't the pcb_sp be checked/forced for alignment here?? */
 
diff --git a/sys/riscv/riscv/mp_machdep.c b/sys/riscv/riscv/mp_machdep.c
index 9c81d9ee1043..5402c6d388ed 100644
--- a/sys/riscv/riscv/mp_machdep.c
+++ b/sys/riscv/riscv/mp_machdep.c
@@ -180,7 +180,7 @@ init_secondary(uint64_t hart)
 	/* Initialize curthread */
 	KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread"));
 	pcpup->pc_curthread = pcpup->pc_idlethread;
-	schedinit_ap();
+	sched_init_ap();
 
 	/* Setup and enable interrupts */
 	intr_pic_init_secondary();
diff --git a/sys/sys/sched.h b/sys/sys/sched.h
index e4cf848cf641..9d8524ee6464 100644
--- a/sys/sys/sched.h
+++ b/sys/sys/sched.h
@@ -36,6 +36,11 @@
 /*-
  * Copyright (c) 2002-2008, Jeffrey Roberson <jeff@freebsd.org>
  * All rights reserved.
+ * Copyright (c) 2026 The FreeBSD Foundation
+ *
+ * Portions of this software were developed by Olivier Certner
+ * <olce@FreeBSD.org> at Kumacom SARL 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
@@ -71,51 +76,316 @@
 #include <sys/linker_set.h>
 #include <sys/sdt.h>
 
-struct proc;
-struct thread;
+/*
+ * Scheduler interface.
+ *
+ * The scheduler interface is the list of functions that external users can
+ * call.  It consists of two parts: Functions that must be provided directly by
+ * a scheduler implementation (called an "instance"), and functions with
+ * a common implementation (which may indirectly call instance functions).
+ *
+ * The former are declared in an abstract manner with some of the SCHED_ITF_*()
+ * macros (SCHED_ITF_INTERNAL() being a notable exception), described in detail
+ * below.  A fUN() line declares a function, and the final interface function
+ * name is the symbol in the third argument prefixed by 'sched_'.  E.g., such
+ * lines:
+ *
+ * FUN((__VA_ARGS__), int, load)
+ * FUN((__VA_ARGS__), void, switch, struct thread *, td, int, flags)
+ *
+ * lead to the C declarations (among others):
+ *
+ * int sched_load(void);
+ * void sched_switch(struct thread *, int);
+ *
+ * and each implementation (instance) must implement corresponding functions,
+ * e.g., for ULE:
+ *
+ * int sched_ule_load(void);
+ * void sched_ule_switch(struct thread *td, int flags);
+ *
+ * Such interface functions are grouped and commented in the SCHED_ITF*()
+ * macros listing them.
+ *
+ * Functions with a common implementation are declared under "Common functions"
+ * below as commented plain C declarations.
+ */
+
+/*
+ * Macros SCHED_ITF_*() define functions that must be provided by an instance.
+ * Please see their herald comments for details about their differences.  They
+ * are X macros to avoid repetitions in function signatures, slot names,
+ * dispatch code, and scheduler instance declaration.  They take as an argument
+ * the FUN() macro, which is expanded on each interface's function descriptor.
+ *
+ * The arguments passed to FUN() are:
+ * - The variable arguments to the X macro, as the first argument.
+ * - The function descriptor, consisting of:
+ *   - Field name in 'struct sched_instance'.
+ *   - Return type.
+ *   - Function name; prefixed by 'sched_' for the publicly visible functions,
+ *     and by 'sched_<instance_name>_' for instance's implementation.
+ *   - Function arguments, each being represented as a pair of successive macro
+ *     parameters, the first being the argument's type and the second its name.
+ * Note that FUN() is passed a variable number of arguments for flexibility.
+ *
+ * In SCHED_ITF_*() macros, please keep the function's parameters on a separate
+ * line for clarity, even if everything would fit on a single line.
+ */
+
+/* sched_add() arguments. */
+#define	SRQ_BORING	0x0000		/* No special circumstances. */
+#define	SRQ_YIELDING	0x0001		/* We are yielding (from mi_switch). */
+#define	SRQ_OURSELF	0x0002		/* It is ourself (from mi_switch). */
+#define	SRQ_INTR	0x0004		/* It is probably urgent. */
+#define	SRQ_PREEMPTED	0x0008		/* has been preempted.. be kind */
+#define	SRQ_BORROWING	0x0010		/* Priority updated due to prio_lend */
+#define	SRQ_HOLD	0x0020		/* Return holding original td lock */
+#define	SRQ_HOLDTD	0x0040		/* Return holding td lock */
 
 /*
- * General scheduling info.
+ * Functions to be directly dispatched to the active scheduler instance.
  *
- * sched_load:
- *	Total runnable non-ithread threads in the system.
+ * These are implemented using ifuncs for zero-cost dispatch.
+ */
+#define SCHED_ITF_DISPATCH(FUN, ...)					\
+	/*								\
+	 * General scheduling info.					\
+	 *								\
+	 * sched_load:							\
+	 *	Total runnable non-ithread threads in the system.	\
+	 *								\
+	 * sched_runnable:						\
+	 *	Runnable threads for this processor.			\
+	 */								\
+	FUN((__VA_ARGS__), int, load)					\
+	FUN((__VA_ARGS__), int, rr_interval)				\
+	FUN((__VA_ARGS__), bool, runnable)				\
+									\
+	/*								\
+	 * Proc related scheduling hooks.				\
+	 */								\
+	FUN((__VA_ARGS__), void, exit,					\
+	    struct proc *, p, struct thread *, child)			\
+	FUN((__VA_ARGS__), void, fork,					\
+	    struct thread *, td, struct thread *, child)		\
+	FUN((__VA_ARGS__), void, fork_exit,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, class,					\
+	    struct thread *, td, int, class)				\
+	FUN((__VA_ARGS__), void, nice,					\
+	    struct proc *, p, int, nice)				\
+									\
+	/*								\
+	 * Threads are switched in and out, block on resources,		\
+	 * have temporary priorities inherited from their procs,	\
+	 * and use up cpu time.						\
+	 */								\
+	FUN((__VA_ARGS__), void, ap_entry)				\
+	FUN((__VA_ARGS__), void, exit_thread,				\
+	    struct thread *, td, struct thread *, child)		\
+	FUN((__VA_ARGS__), u_int, estcpu,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, fork_thread,				\
+	    struct thread *, td, struct thread *, child)		\
+	FUN((__VA_ARGS__), void, ithread_prio,				\
+	    struct thread *, td, u_char, prio)				\
+	FUN((__VA_ARGS__), void, lend_prio,				\
+	    struct thread *, td, u_char, prio)				\
+	FUN((__VA_ARGS__), void, lend_user_prio,			\
+	    struct thread *, td, u_char, pri)				\
+	FUN((__VA_ARGS__), void, lend_user_prio_cond,			\
+	    struct thread *, td, u_char, pri)				\
+	FUN((__VA_ARGS__), fixpt_t, pctcpu,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, prio,					\
+	    struct thread *, td, u_char, prio)				\
+	FUN((__VA_ARGS__), void, sleep,					\
+	    struct thread *, td, int, prio)				\
+	FUN((__VA_ARGS__), void, switch,				\
+	    struct thread *, td, int, flags)				\
+	FUN((__VA_ARGS__), void, throw,					\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, unlend_prio,				\
+	    struct thread *, td, u_char, prio)				\
+	FUN((__VA_ARGS__), void, user_prio,				\
+	    struct thread *, td, u_char, prio)				\
+	FUN((__VA_ARGS__), void, userret_slowpath,			\
+	    struct thread *, td)					\
+									\
+	/*								\
+	 * Threads are moved on and off of run queues			\
+	 */								\
+	FUN((__VA_ARGS__), void, add,					\
+	    struct thread *, td, int, flags)				\
+	FUN((__VA_ARGS__), struct thread *, choose)			\
+	FUN((__VA_ARGS__), void, clock,					\
+	    struct thread *, td, int, cnt)				\
+	FUN((__VA_ARGS__), void, idletd,				\
+	    void *, dummy)						\
+	FUN((__VA_ARGS__), void, preempt,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, relinquish,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, rem,					\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, wakeup,				\
+	    struct thread *, td, int, srqflags)				\
+									\
+	/*								\
+	 * Binding makes cpu affinity permanent while pinning is used	\
+	 * to temporarily hold a thread on a particular CPU.		\
+	 */								\
+	FUN((__VA_ARGS__), void, bind,					\
+	    struct thread *, td, int, cpu)				\
+	FUN((__VA_ARGS__), void, unbind,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), int, is_bound,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, affinity,				\
+	    struct thread *, td)					\
+									\
+	/*								\
+	 * These procedures tell the process data structure allocation  \
+	 * code how many bytes to actually allocate.			\
+	 */								\
+	FUN((__VA_ARGS__), int, sizeof_proc)				\
+	FUN((__VA_ARGS__), int, sizeof_thread)				\
+									\
+	/*								\
+	 * This routine provides a consistent thread name for use with	\
+	 * KTR graphing FUNctions.					\
+	 */								\
+	FUN((__VA_ARGS__), char *, tdname,				\
+	    struct thread *, td)					\
+	FUN((__VA_ARGS__), void, clear_tdname,				\
+	    struct thread *, td)					\
+									\
+	/*								\
+	 * Find an L2 neighbor of the given CPU or return -1 if none	\
+	 * found.  This does not distinguish among multiple L2		\
+	 * if the given CPU has more than one (it will always return	\
+	 * the same result in that case).				\
+	 */								\
+	FUN((__VA_ARGS__), int,	find_l2_neighbor,			\
+	    int, cpu)							\
+									\
+	/*								\
+	 * Fixup scheduler state for secondary APs			\
+	 */								\
+	FUN((__VA_ARGS__), void, init_ap)
+
+/*
+ * Instance functions to be specifically wrapped.
+ *
+ * An explicit common implementation must be provided for these, and it is
+ * expected to call the instance's implementation.
+ */
+#define SCHED_ITF_WRAP(FUN, ...)					\
+	/*								\
+	 * Initialize scheduler state for proc0 and thread0.		\
+	 */								\
+	FUN((__VA_ARGS__), void, init)
+
+/*
+ * Instance functions used internally.
  *
- * sched_runnable:
- *	Runnable threads for this processor.
+ * Functions here are not made available for external callers.
  */
-int	sched_load(void);
-int	sched_rr_interval(void);
-bool	sched_runnable(void);
+#define SCHED_ITF_INTERNAL(FUN, ...)					\
+	/*								\
+	 * Setup run queues ('cpu_top' filled by the shim machinery).   \
+	 */								\
+	FUN((__VA_ARGS__), void, setup)					\
+									\
+	/*								\
+	 * Determines time constants after stathz and hz are setup.	\
+	 */								\
+	FUN((__VA_ARGS__), void, initticks)				\
+									\
+	/*								\
+	 * Final steps after all the rest has been initialized.		\
+	 */								\
+	FUN((__VA_ARGS__), void, sysinit)
+
+/* All parts at once, but common functions. */
+#define SCHED_ITF_NOCOMMON(FUN, ...)					\
+	SCHED_ITF_DISPATCH(FUN, __VA_ARGS__)				\
+	SCHED_ITF_WRAP(FUN, __VA_ARGS__)				\
+	SCHED_ITF_INTERNAL(FUN, __VA_ARGS__)
 
-/* 
- * Proc related scheduling hooks.
+/*
+ * Machinery to help define FUN() macros.
  */
-void	sched_exit(struct proc *p, struct thread *childtd);
-void	sched_fork(struct thread *td, struct thread *childtd);
-void	sched_fork_exit(struct thread *td);
-void	sched_class(struct thread *td, int class);
-void	sched_nice(struct proc *p, int nice);
+#define _SCHED_ITF_ARG1(a0, ...)					\
+	a0
+#define _SCHED_ITF_ARG9(a0, a1, a2, a3, a4, a5, a6, a7, a8, ...)	\
+	a8
+#define _SCHED_ITF_NARGS(...)						\
+	_SCHED_ITF_ARG9(__VA_ARGS__ __VA_OPT__(,) 4, ERR, 3, ERR, 2,	\
+	    ERR, 1, ERR, 0)
+#define _SCHED_ITF_NARGS_DISP(PREFIX, disp_args, full_args)		\
+	__CONCAT(__CONCAT(PREFIX, _), _SCHED_ITF_NARGS disp_args)	\
+		full_args
+#define _SCHED_ITF_ARGS_PAIR_ERR					\
+	"Two macro arguments per interface function argument expected."
+#define _SCHED_ITF_ARGS_PROTO_NAME_0()					\
+	void
+#define _SCHED_ITF_ARGS_PROTO_NAME_1(t1, a1)				\
+	t1 a1
+#define _SCHED_ITF_ARGS_PROTO_NAME_2(t1, a1, t2, a2)			\
+	t1 a1, t2 a2
+#define _SCHED_ITF_ARGS_PROTO_NAME_3(t1, a1, t2, a2, t3, a3)		\
+	t1 a1, t2 a2, t3 a3
+#define _SCHED_ITF_ARGS_PROTO_NAME_4(t1, a1, t2, a2, t3, a3, t4, a4)	\
+	t1 a1, t2 a2, t3 a3, t4 a4
+#define _SCHED_ITF_ARGS_PROTO_NAME_ERR(...)				\
+	_SCHED_ITF_ARGS_PAIR_ERR
+#define SCHED_ITF_ARGS_PROTO_NAME(...)					\
+	_SCHED_ITF_NARGS_DISP(_SCHED_ITF_ARGS_PROTO_NAME,		\
+	    (__VA_ARGS__), (__VA_ARGS__))
+#define _SCHED_ITF_ARGS_PROTO_NONAME_0()				\
+	void
+#define _SCHED_ITF_ARGS_PROTO_NONAME_1(t1, a1)				\
+	t1
+#define _SCHED_ITF_ARGS_PROTO_NONAME_2(t1, a1, t2, a2)			\
+	t1, t2
+#define _SCHED_ITF_ARGS_PROTO_NONAME_3(t1, a1, t2, a2, t3, a3)		\
+	t1, t2, t3
+#define _SCHED_ITF_ARGS_PROTO_NONAME_4(t1, a1, t2, a2, t3, a3, t4, a4)	\
+	t1, t2, t3, t4
+#define _SCHED_ITF_ARGS_PROTO_NONAME_ERR(...)				\
+	_SCHED_ITF_ARGS_PAIR_ERR
+#define SCHED_ITF_ARGS_PROTO_NONAME(...)				\
+	_SCHED_ITF_NARGS_DISP(_SCHED_ITF_ARGS_PROTO_NONAME,		\
+	    (__VA_ARGS__), (__VA_ARGS__))
+
+#define SCHED_ITF_FIELD_NAME(fn)					\
+	__CONCAT(fn, _impl)
+#define SCHED_ITF_FUNCTION_NAME(fn)					\
+	__CONCAT(sched_, fn)
+#define _SCHED_ITF_IMPL_FUNCTION_NAME(sched_name, fn)			\
+	SCHED_ITF_FUNCTION_NAME(__CONCAT(__CONCAT(sched_name, _),	\
+	    fn))
 
 /*
- * Threads are switched in and out, block on resources, have temporary
- * priorities inherited from their procs, and use up cpu time.
+ * C declaration of first part of interface functions.
+ */
+struct proc;
+struct thread;
+
+/* Eliding argument names to avoid collisions with C++ keywords. */
+#define _SCHED_ITF_FUN(args, ret_type, fn, ...)				\
+	ret_type							\
+	SCHED_ITF_FUNCTION_NAME(fn)					\
+		(SCHED_ITF_ARGS_PROTO_NONAME(__VA_ARGS__));
+SCHED_ITF_DISPATCH(_SCHED_ITF_FUN, );
+SCHED_ITF_WRAP(_SCHED_ITF_FUN, );
+#undef _SCHED_ITF_FUN
+
+/*
+ * Common functions.
  */
-void	sched_ap_entry(void);
-void	sched_exit_thread(struct thread *td, struct thread *child);
-u_int	sched_estcpu(struct thread *td);
-void	sched_fork_thread(struct thread *td, struct thread *child);
-void	sched_ithread_prio(struct thread *td, u_char prio);
-void	sched_lend_prio(struct thread *td, u_char prio);
-void	sched_lend_user_prio(struct thread *td, u_char pri);
-void	sched_lend_user_prio_cond(struct thread *td, u_char pri);
-fixpt_t	sched_pctcpu(struct thread *td);
-void	sched_prio(struct thread *td, u_char prio);
-void	sched_sleep(struct thread *td, int prio);
-void	sched_switch(struct thread *td, int flags);
-void	sched_throw(struct thread *td);
-void	sched_unlend_prio(struct thread *td, u_char prio);
-void	sched_user_prio(struct thread *td, u_char prio);
-void	sched_userret_slowpath(struct thread *td);
 
 static inline void
 sched_userret(struct thread *td)
@@ -136,43 +406,6 @@ sched_userret(struct thread *td)
 		sched_userret_slowpath(td);
 }
 
-/*
- * Threads are moved on and off of run queues
- */
-void	sched_add(struct thread *td, int flags);
-struct thread *sched_choose(void);
-void	sched_clock(struct thread *td, int cnt);
-void	sched_idletd(void *);
-void	sched_preempt(struct thread *td);
-void	sched_relinquish(struct thread *td);
-void	sched_rem(struct thread *td);
-void	sched_wakeup(struct thread *td, int srqflags);
-
-/*
- * Binding makes cpu affinity permanent while pinning is used to temporarily
- * hold a thread on a particular CPU.
- */
-void	sched_bind(struct thread *td, int cpu);
-static __inline void sched_pin(void);
-void	sched_unbind(struct thread *td);
-static __inline void sched_unpin(void);
-int	sched_is_bound(struct thread *td);
-void	sched_affinity(struct thread *td);
-
-/*
- * These procedures tell the process data structure allocation code how
- * many bytes to actually allocate.
- */
-int	sched_sizeof_proc(void);
-int	sched_sizeof_thread(void);
-
-/*
- * This routine provides a consistent thread name for use with KTR graphing
- * functions.
- */
-char	*sched_tdname(struct thread *td);
-void	sched_clear_tdname(struct thread *td);
-
 static __inline void
 sched_pin(void)
 {
@@ -188,19 +421,9 @@ sched_unpin(void)
 	curthread->td_pinned--;
 }
 
-void ast_scheduler(struct thread *td, int tda);
-
-/* sched_add arguments (formerly setrunqueue) */
-#define	SRQ_BORING	0x0000		/* No special circumstances. */
-#define	SRQ_YIELDING	0x0001		/* We are yielding (from mi_switch). */
-#define	SRQ_OURSELF	0x0002		/* It is ourself (from mi_switch). */
-#define	SRQ_INTR	0x0004		/* It is probably urgent. */
-#define	SRQ_PREEMPTED	0x0008		/* has been preempted.. be kind */
-#define	SRQ_BORROWING	0x0010		/* Priority updated due to prio_lend */
-#define	SRQ_HOLD	0x0020		/* Return holding original td lock */
-#define	SRQ_HOLDTD	0x0040		/* Return holding td lock */
-
-/* Scheduler stats. */
+/*
+ * Scheduler statistics.
+ */
 #ifdef SCHED_STATS
 DPCPU_DECLARE(long, sched_switch_stats[SWT_COUNT]);
 
@@ -237,6 +460,7 @@ SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL);
 SCHED_STAT_DECLARE(ithread_demotions);
 SCHED_STAT_DECLARE(ithread_preemptions);
 
+/* Dtrace. */
 SDT_PROBE_DECLARE(sched, , , change__pri);
 SDT_PROBE_DECLARE(sched, , , dequeue);
 SDT_PROBE_DECLARE(sched, , , enqueue);
@@ -254,95 +478,50 @@ extern dtrace_vtime_switch_func_t dtrace_vtime_switch_func;
 #endif
 
 /*
- * Fixup scheduler state for proc0 and thread0
- */
-void schedinit(void);
-
-/*
- * Fixup scheduler state for secondary APs
- */
-void schedinit_ap(void);
-
-/*
- * Find an L2 neighbor of the given CPU or return -1 if none found.  This
- * does not distinguish among multiple L2 neighbors if the given CPU has
- * more than one (it will always return the same result in that case).
- */
-int sched_find_l2_neighbor(int cpu);
-
-/*
- * The scheduler selection interface uses names that are reserved words in
- * C++, causing problems for downstream projects that use C++ in the
- * kernel.
+ * Scheduler instance structure.
  */
-#ifndef __cplusplus
-
+#define _SCHED_ITF_FUN(args, ret_type, fn, ...)				\
+	ret_type (*SCHED_ITF_FIELD_NAME(fn))				\
+	(SCHED_ITF_ARGS_PROTO_NONAME(__VA_ARGS__));
 struct sched_instance {
-	int	(*load)(void);
-	int	(*rr_interval)(void);
-	bool	(*runnable)(void);
-	void	(*exit)(struct proc *p, struct thread *childtd);
-	void	(*fork)(struct thread *td, struct thread *childtd);
-	void	(*fork_exit)(struct thread *td);
-	void	(*class)(struct thread *td, int class);
-	void	(*nice)(struct proc *p, int nice);
-	void	(*ap_entry)(void);
-	void	(*exit_thread)(struct thread *td, struct thread *child);
-	u_int	(*estcpu)(struct thread *td);
-	void	(*fork_thread)(struct thread *td, struct thread *child);
-	void	(*ithread_prio)(struct thread *td, u_char prio);
-	void	(*lend_prio)(struct thread *td, u_char prio);
-	void	(*lend_user_prio)(struct thread *td, u_char pri);
-	void	(*lend_user_prio_cond)(struct thread *td, u_char pri);
-	fixpt_t	(*pctcpu)(struct thread *td);
-	void	(*prio)(struct thread *td, u_char prio);
-	void	(*sleep)(struct thread *td, int prio);
-	void	(*sswitch)(struct thread *td, int flags);
-	void	(*throw)(struct thread *td);
-	void	(*unlend_prio)(struct thread *td, u_char prio);
-	void	(*user_prio)(struct thread *td, u_char prio);
-	void	(*userret_slowpath)(struct thread *td);
-	void	(*add)(struct thread *td, int flags);
*** 97 LINES SKIPPED ***

From nobody Tue Oct  6 14:42: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 4hzfBM23nVz6vRGq
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 14:43:07 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536])
	(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 4hzfBK55v4z4VYh
	for <dev-commits-src-main@freebsd.org>; Tue, 06 Oct 2026 14:43:05 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Authentication-Results: mx1.freebsd.org;
	dkim=pass header.d=gmail.com header.s=20251104 header.b=bl2AthYB;
	spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::536 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com;
	dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-cc4aa0246b7so399939a12.3
        for <dev-commits-src-main@freebsd.org>; Tue, 06 Oct 2026 07:43:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1791297779; x=1791902579; darn=freebsd.org;
        h=to:references:message-id:cc:date:in-reply-to:from:subject
         :mime-version:content-type:from:to:cc:subject:date:message-id
         :reply-to:content-type;
        bh=mmSOvT3yvJTeVGsOD87nCRZWD792RciCbA2SwPvxOeA=;
        b=bl2AthYBJsTjd/oJXgBpMlKJHr+sdvL3Cf8nwWHEJ07LEK8uFwIFTitJZk3e5bH8UI
         3UVMTG+ydrIbkDef/I9Rmy5h4rrPCPO1baHZMpF3uZK0SHxXtbNkSTgeRwKEi/CAew4m
         zOUkE5Ae2nsnkShm6pO1nTMO1Ro5gFoFSDPz0IKTdual/qNeR2JjBIwKFinCwiO21M4m
         3g1sgR4zoSKCMTUIAIAkCAib/jcay5lHyaxjZuw02UvJAafL7QTO14wxwJNjuTqzgFhE
         Jsx4JlhNgNo9g7//Tj8u6hxJkypdQQ5LNRf/0Y+g1Y9i/bzBx7KCM9Glzy4dapvvs7/Q
         eVTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20260707; t=1791297779; x=1791902579;
        h=to:references:message-id:cc:date:in-reply-to:from:subject
         :mime-version:content-type:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to:content-type;
        bh=mmSOvT3yvJTeVGsOD87nCRZWD792RciCbA2SwPvxOeA=;
        b=mJLsKh7mCNw6TRKUwhlCa1bTJ3E3KnrfbuOD3LmZBN1svZj0bzY7TR/P9RrdsDy5xN
         iksrHibfcU+U3Sq3n8RoLmzjhoWdTc1VOM0axN8NwEK3XgseoRJnx4FHuMGpAcMK6f1B
         TRf34vCejEBMcrtz0lSx3jw7U/6UbAvUNSX7VWd+3V5qeiXSUXDVwNI3c173gV5xF+AL
         tX39RqMcZYt7Tk0aHRH7W7wCWFWEbk8jaoOXpnc6oUlxILqH1UMIBWTU+WMqpX04en+m
         GQom0SgFQg5p1xCjIAyPrs9cRUd3U38ep/w4yrv+MS6XgEYiw4DQeT2drqjkkDbb+OH5
         QXiA==
X-Forwarded-Encrypted: i=1; AKwUvBzxTWyEupsamjNZzMF20+9fW7vTlfSPk1BwvHiWyRp0QNFRV1Iv3wn0WShcLqF9zO3UNxjv5cPpYAzUnUyjFHKsbQEQIQ==@freebsd.org
X-Gm-Message-State: AFuF++mVpUX+llEfv/0qZ78v8hl0CkB4tzn5MhbrWmXbjP9LJG8LLwgi
	aPgvpRp2jY8fn/YRu8AWT6jU6WgINoyHWv8uvL7zNwe1pvrn8N6G/5rY
X-Gm-Gg: AYBFou0xTrhP9LCOuaiCYIMkjLwV5UV6qqqTpn4B0X8T1dwGi1EOnWjCSfN7KLfhHar
	M6uY24GPuRCZDypjoCu8nbbJwV4FC5Ed/qje3AE7iQzK+1bIwn1vgu6lS3YX9uQi/0O7EszXNag
	NyxW37ZFRAw4AKCQWMCwHQQmp8MEP/os3evL2K+7yNsRy45PKa7Rhw91fRAzWpyjSrK4GCRaZpT
	NbxWvevbz2G+/4nu/IMMHwiOFAjmlPMhKP7PwIMhrPzuDyKQqNqFlgXjj/tlMm+ho+V9naSfS+W
	aafQaLDkEXvgRZu3YQLy8xt5ErePatX15NTAbjs18zxlXacRzYmMzW3FK3ra4N2nFb72XeD5gra
	6ddd9n5Z9xDpImuocdlBtYNooJIFLOBF1DKOzWt+JYsKSsCGo25RVaEx4RbycK5Jodj0Y4t43AJ
	kp+iQqEWh+mSInzNMYDF86Rn/iRdGcqbH8DDZZzBN8EUqV0ADbd4zDLXH2yVi6IVKVNGzAlK4wH
	bdrs4X00JYorEeUI0SSDeO1/sFp/y0=
X-Received: by 2002:a17:902:f693:b0:2dd:ad73:c989 with SMTP id d9443c01a7336-2e5dcd94ed8mr12414515ad.33.1791297779301;
        Tue, 06 Oct 2026 07:42:59 -0700 (PDT)
Received: from smtpclient.apple ([187.15.153.55])
        by smtp.gmail.com with ESMTPSA id d9443c01a7336-2e5a5ee0726sm25066145ad.62.2026.10.06.07.42.58
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 06 Oct 2026 07:42:58 -0700 (PDT)
Content-Type: multipart/signed;
	boundary="Apple-Mail=_A0D475CB-DDA4-4AAD-9580-CD8F08041ADC";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.700.51.1.3\))
Subject: Re: git: bb5f10e51bd5 - main - linux: implement sched_getattr()
From: "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
In-Reply-To: <asQxIRIqvfkVQcCc@nuc>
Date: Tue, 6 Oct 2026 07:42:46 -0700
Cc: Enji Cooper <ngie@freebsd.org>,
 src-committers@freebsd.org,
 dev-commits-src-all@freebsd.org,
 dev-commits-src-main@freebsd.org
Message-Id: <EF976AFC-5327-4A2B-B982-92976CB9BB89@gmail.com>
References: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>
 <asQxIRIqvfkVQcCc@nuc>
To: Mark Johnston <markj@FreeBSD.org>
X-Mailer: Apple Mail (2.3864.700.51.1.3)
X-Spamd-Bar: --
X-Spamd-Result: default: False [-2.60 / 15.00];
	SIGNED_PGP(-2.00)[];
	DMARC_POLICY_ALLOW(-0.50)[gmail.com,none];
	MV_CASE(0.50)[];
	R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104];
	MIME_GOOD(-0.20)[multipart/signed,text/plain];
	R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c];
	FREEMAIL_FROM(0.00)[gmail.com];
	RCVD_TLS_LAST(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:~];
	DKIM_TRACE(0.00)[gmail.com:+];
	FREEMAIL_ENVFROM(0.00)[gmail.com];
	TO_DN_SOME(0.00)[];
	DWL_DNSWL_NONE(0.00)[gmail.com:dkim];
	FROM_HAS_DN(0.00)[];
	ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US];
	RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::536:from];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	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];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5]
X-Rspamd-Queue-Id: 4hzfBK55v4z4VYh


--Apple-Mail=_A0D475CB-DDA4-4AAD-9580-CD8F08041ADC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On Oct 5, 2026, at 4:22=E2=80=AFPM, Mark Johnston <markj@FreeBSD.org> =
wrote:
>=20
> On Mon, Oct 05, 2026 at 10:49:29PM +0000, Enji Cooper wrote:
>> The branch main has been updated by ngie:
>>=20
>> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3Dbb5f10e51bd53771f1a438f36f554256=
fcbd7d08
>>=20
>> commit bb5f10e51bd53771f1a438f36f554256fcbd7d08
>> Author:     Enji Cooper <ngie@FreeBSD.org>
>> AuthorDate: 2026-10-05 22:48:22 +0000
>> Commit:     Enji Cooper <ngie@FreeBSD.org>
>> CommitDate: 2026-10-05 22:49:09 +0000
>>=20
>>    linux: implement sched_getattr()
>>=20
>>    This change adds the necessary glue to translate Linux scheduler =
policy
>>    and priority from FreeBSD so this information is available to =
Linux
>>    applications.
>>=20
>>    This unbreaks using the Linux version of Chromium on FreeBSD.
>>=20
>>    This change was originally submitted via =
[freebsd/freebsd-src#2370][github-pr].
>>=20
>>    MFC after:      2 weeks
>>    PR:     297468
>>    Co-Authored-By: Enji Cooper <ngie@FreeBSD.org>
>=20
> The commit author is already set to you.

I was trying to be a bit more explicit about having=20

>>    Signed-off-by:  Joao Bonifacio <joaoboni017@gmail.com>
>>=20
>>    [github-pr]: https://github.com/freebsd/freebsd-src/pull/2370
>>=20
>>    Differential Revision:  https://reviews.freebsd.org/D60214
>=20
> =
https://docs.freebsd.org/en/articles/committers-guide/#_include_appropriat=
e_metadata_in_a_footer
> documents the right way to label commits with pull request metadata.
> Please follow it instead of inventing your own format.

Ok. In case someone is confused, these are Markdown reference links (the =
rendered version fills in [github-pr] with the link). I have been using =
them to stay under the <80 col text limit and keep things as legible as =
possible for humans, but all of the metadata did get shuffled around =
more than it needed to be.

...

>> + attr.size =3D MIN(args->size, sizeof(attr));

=E2=80=A6

>> + return (copyout(&attr, args->attr, args->size));
>=20
> So, this lets the caller decide how much stack data they want to copy
> out, independent of sizeof(attr).  The only constraint is the
> `args->size > PAGE_SIZE` check at the beginning of the function.

I eliminated a duplicate calculation in the copyout which contradicted =
the [Linux] documented interface [1].

The interface documented by Linux allows the user to specify the amount =
of data to copy out =
(https://www.man7.org/linux/man-pages/man2/sched_getattr.2.html):

>  The fields of the sched_attr structure are as follows:
>
> size This field should be set to the size of the structure in
bytes, as in sizeof(struct sched_attr). If the provided
structure is smaller than the kernel structure, any
additional fields are assumed to be '0'. If the provided
structure is larger than the kernel structure, the kernel
verifies that all additional fields are 0; if they are not,
sched_setattr() fails with the error E2BIG and updates size
to contain the size of the kernel structure.
>
> The above behavior when the size of the user-space
sched_attr structure does not match the size of the kernel
structure allows for future extensibility of the interface.
Malformed applications that pass oversize structures won't
break in the future if the size of the kernel sched_attr
structure is increased. In the future, it could also allow
applications that know about a larger user-space sched_attr
structure to determine whether they are running on an older
kernel that does not support the larger structure.
=E2=80=A6

>  E2BIG The buffer specified by size and attr is too small.
>
>  EINVAL size is invalid; that is, it is smaller than the initial =
version of the sched_attr structure (48 bytes) or larger
than the system page size.

> In fact, the original author of this commit got this bit right, and =
the
> bug was introduced when you modified their patch.
>=20
> Please revert, and in the future be sure to obtain review from kernel
> developers before making changes to the syscall layer.  Yes, sometimes
> patches go unreviewed for longer than we'd like, but that's not an
> excuse to simply go ahead and commit if you aren't familiar with the
> code being modified.  If you're having trouble getting review, please
> feel free to reach out to srcmgr@.

I reverted the change in 32f5a9f3fb512908805901a1739383766417dd8d . I =
hit ^C while the change was being pushed because I realize the branch =
wasn=E2=80=99t clean (see 4abfb452ea2d18c4710dffee7f3e65167d543041), =
which resulted in the revert commit being pushed to the repo, but =
didn=E2=80=99t generate the commit email [3].

-Enji

1. I honestly think the Linux interface is overly complicated and that =
welcomes security issues (like the ones you=E2=80=99re concerned with). =
I was trying to implement it according to the spec/[Linux] source code =
(the documentation contradicts itself [2], so I needed to refer to the =
source code) in order to ensure the interface was compatible with Linux.
2. https://bugzilla.kernel.org/show_bug.cgi?id=3D222094
3. Why are emails generated synchronously as part of push operations =
instead of asynchronously=E2=80=A6?=

--Apple-Mail=_A0D475CB-DDA4-4AAD-9580-CD8F08041ADC
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmrFCOYACgkQGpE5DjPs
NJi70g//UaizE4dkIc8y+EAu/3v6btZYqagbDWT8/UMB2oHtgyxM48fLIjdt+P19
uyEF5MM7n9I4L1nOPK5XHHw19ere7Jpxn4lXe9Qipn0+UusqTHT/nZMMxqfbuvED
ACfGIlw50MmlFyb5ZXAMGVZlHpZEdQUGnYuu6HCVbcP/O+vvZjHb7iGaC9scV2XA
GNzUp2Ah83cweJCcoCMCv05pngTWX0+Nu21MVVKnRQ+sNTVZK4kvzpcX7rEs1lsG
kAGBtu12RoXIrquDkfYwiUi7BoVgDS9YIlJOs3Du3LwuVvVjL9Z9RUmj0MYp+ds3
hR1C52BoYOZZrRJcRTXrw0CLVgYi8aTv4A4+Z1Ev24SBSbaFj3e5BXOYwCKKcwg8
EBRA6HD74unRjvziNrxeHopSuBlcHIVW8+G/wcPH+jSQ50bH3INeD9VBkg3QsZtI
RVs+Xkjj6A9z3l6a9v0Em5feVOc8dA8JZV4Xz6DtRt4PZ5M8Udh9BAehtaMuIJ29
Yyj80JPpc9NOYk/19hYjP+X61dxMFkifGRG5lTZlTLvYqPfEz0dvPKOYkx9/J761
M5Z8yCxD4nLEa0ZifXSoPh6tOje7H02v5JgpRMspX9dlg8VZaOK45TogI4IW6XJ+
0Cx1NxbGcKtCLQA5a+1kvSs3uRG7EZWE4K4H/E71AVtrhemQQRU=
=cQHh
-----END PGP SIGNATURE-----

--Apple-Mail=_A0D475CB-DDA4-4AAD-9580-CD8F08041ADC--

From nobody Tue Oct  6 16:21: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 4hzhN64KWxz4n8L9
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 16:21:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzhN63q9Kz4knb
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 16:21:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791303702;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=s0PX6xK56OQU49qhD+mNAX9dPan6eSD0cNxy155yH7Q=;
	b=ysj3OJ7G8F0iNIzaiBrPEgPEWpsN1ZhaqSoNt/ucbiaFVHIjUZ5UKmrY2OagVeA3F6SjhS
	vH8VnT1VMwTXK2R0J7bU2//se1rWpyIeR7oiURerxK1mONWcIfc75CdOgW/ESfgipZf6id
	RKysX9VAl0dKwQvP0KfeZXeRdgbAeHabPsWepjT0ZPsF5oZ41moUfwiV4We/lE2gaEIIB1
	2JiFR8nYAM+qsWhRuiWOEEPCQUbXYqSncbR0Q8WQQ+FgeVYzHO45vt11VdXCCNZSrZ5vdB
	mqyNgD65B266/RYLMjor4ozcaGE5WlvBCO5YDapN9UdYqE/cTXAJ7iw/eGZi8g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791303702;
	b=L5hy0pPgkJxKCjsnziGjsBelAvSt0NU26pdaxKoW2bs9WvXQbvdKDPOahZ6I75wUwnYG2o
	lM/V/RsFqD3pLYTqSL6jV2RKdxYK2N+UFwD72uasTdZkQoEdpwxUWzr+tDMIbRrRBz5aaQ
	2F1uYcxnSofX4E8yVTBD8+6nNV6DNdMJSNoBNISUHQTbBpwAvqTFQvxpOpf2b2Qbv6wqis
	N6eifwxJoXl6F5v/T0PZiFKY5nqlZo1A9HIbOqDG5mB0ADnYlqveGoXfQU82FBdBLtYjbE
	L8mlnLxHZD+JrmsxY5zAQ70k3TU7OhSVd5pJ4qWQdETKSUg4uF6ym9vE/EHGqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791303702;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=s0PX6xK56OQU49qhD+mNAX9dPan6eSD0cNxy155yH7Q=;
	b=doMfs3moKyrbebhJsInMXhauXkxlOSieR8CBdhl+HQmTfyglyM8G8wvG6klcZxWqxgycyC
	x71IYWeN3OS6hhvcmAdlVkzyi6klsGO3FBoJsU05eZZMcWsgTqcPZexcaUHKpdaKgmhEMQ
	QIRa7LCcM+2ZqeE+KhZLajIQHJzrtiHkrdnlH2Vun3FBdi+Of1x/+qWi8+IHuq/yGCqEU2
	7anUgTJ2Lfp9UjdTG1vUb5OR6MVYY5zIJjOPUx9n6+gifAgxmxFqXjjImX8NEtZkEqyooA
	RtlaVy52SnUn8amJyrYuosjNn/dg81qT+vmofkCER8u5uM6u0td86nzfvRmz+A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzhN62v3Dz1Cgw
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 16:21:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 27d19
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 16:21:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: 0bccbb9e9893 - main - sched.h: Fix a typo and remove an extra line
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 0bccbb9e98930f55bff5a943c881e460d4f31aec
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 16:21:42 +0000
Message-Id: <6ac52016.27d19.57350bae@gitrepo.freebsd.org>

The branch main has been updated by olce:

URL: https://cgit.FreeBSD.org/src/commit/?id=0bccbb9e98930f55bff5a943c881e460d4f31aec

commit 0bccbb9e98930f55bff5a943c881e460d4f31aec
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-10-06 16:18:14 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-06 16:20:56 +0000

    sched.h: Fix a typo and remove an extra line
    
    Fixes:          42490d5cd29d ("sched: New scheduler interface definition scheme")
    Sponsored by:   The FreeBSD Foundation
---
 sys/sys/sched.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys/sys/sched.h b/sys/sys/sched.h
index 9d8524ee6464..60afd2344eef 100644
--- a/sys/sys/sched.h
+++ b/sys/sys/sched.h
@@ -86,7 +86,7 @@
  *
  * The former are declared in an abstract manner with some of the SCHED_ITF_*()
  * macros (SCHED_ITF_INTERNAL() being a notable exception), described in detail
- * below.  A fUN() line declares a function, and the final interface function
+ * below.  A FUN() line declares a function, and the final interface function
  * name is the symbol in the third argument prefixed by 'sched_'.  E.g., such
  * lines:
  *
@@ -522,7 +522,6 @@ void sched_instance_select(void);
 
 void ast_scheduler(struct thread *td, int tda);
 
-
 #endif /* _KERNEL */
 
 /* POSIX 1003.1b Process Scheduling */

From nobody Tue Oct  6 16:54: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 4hzj5m1spfz4nC9K;
	Tue, 06 Oct 2026 16:54:20 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzj5m1MxWz4tH7;
	Tue, 06 Oct 2026 16:54:20 +0000 (UTC)
	(envelope-from des@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791305660;
	h=from:from:reply-to:subject:subject: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=9z5RZdNczGTzUOMRmC82pmUwl7zaJL6JXXA/2UGV0fo=;
	b=EVGFMgB3RnlpDPHo58MWD1WEx35wZCdVRyCX6atTVAb3GK2gdRvAaJ5iMuI3bAx+TgSnRD
	0/MSGGBcC4f0zKDwj4dif5o/fDnSqBT0Fyug1SWbYbbJGwKok1EBLwwQWqqgaSmbA+7sLJ
	pVkM2rc/v0/tfgGwApmdb3Dz7XIBPIGJ6q7T9USmblMsG1S0XpCHE5SSbgTa6rlJAMCafC
	tPJ1dEtGlWMuevAs4kLULPzL4T9xDIPGrciWOrYtUld3tMKFkDzyr7WTNc76YbghTVKyLu
	hhyeDcW87AHIiV6c55XeXa4PTaHVhUahTUwStmXzn3VCFDOdGMGt5cciBR1kVQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791305660;
	b=C9W0BoaRjPyG7URzjwy2CvYBROnYgV8NcJRVK8zkt1zhcY70fcmCEiEuqcmeNg9hJftiEj
	smEZwFLdoGp0bJ9Si1VOUW0txxU6EL2kTYujZnorQlKYynD5QLxp+9wpIT2xG87e+bNFIY
	SHHUkVFnyPH6vey2y9lXGZxffBXm3YzUZaCMmtK+0Gb/eDSlEiGgj2P7kL7OCl026omqMi
	yzlaFOaWfo0AyvurWgFum5QV4uw2bgQzPeUxHGOuq+r3vHjhmCXLQkceO/sHLYdJQNHi/J
	sgzyGreZlBRNDQzkg9D+i0Hphlq1dvetPJd47mjiyvmGaPYHRlhR2d1NDX7jRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791305660;
	h=from:from:reply-to:subject:subject: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=9z5RZdNczGTzUOMRmC82pmUwl7zaJL6JXXA/2UGV0fo=;
	b=MBGC0ORMY9ndJJSWaWR6m0ScI3uQnSH/cwZcsSyFX2XqAAyAoqim/U20ofyXfF0WFsJQSS
	lDEPwJXhJAPUcfQqx/dEjtkYekrap89hh1kL3T+w5x5230u1NytBVjqqFpKE8iIFz9NGFQ
	aCl2nlMH0daZhFs3gZf0ettXHV/YTu+Vmz5YlURWokoiiMeV948L/vOasP3ZhaYIF9fUI8
	+t0xRHqo72u/0bY0w35ERPFr/U/CIZHLDnejl1lwVKVAeKs5u4tcu29WJH1ES9/GSIkQF3
	j7dQKNglv1V+lp5HE0uQd4vQEsI9Wwqk+Zrd7R+9Xneqs32NY1mOrUyqLgI2bg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
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 4hzj5l6bltz19wB;
	Tue, 06 Oct 2026 16:54:19 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: by ltc.des.dev (Postfix, from userid 1001)
	id 4257D11E661; Tue, 06 Oct 2026 18:54:17 +0200 (CEST)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
To: Maxim Sobolev <sobomax@FreeBSD.org>
Cc: src-committers@FreeBSD.org,  dev-commits-src-all@FreeBSD.org,
  dev-commits-src-main@FreeBSD.org
Subject: Re: git: 43b0384bc7e8 - main - mountpoint(1): new utility,
 implemented as a stat(1) hardlink
In-Reply-To: <86jynwnvls.fsf@ltc.des.dev>
References: <6abecfdf.3a8dc.610fc5a7@gitrepo.freebsd.org>
	<86jynwnvls.fsf@ltc.des.dev>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Tue, 06 Oct 2026 18:54:17 +0200
Message-ID: <86cxtmojly.fsf@ltc.des.dev>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> writes:
> Maxim Sobolev <sobomax@FreeBSD.org> writes:
> >     mountpoint(1): new utility, implemented as a stat(1) hardlink
> Why was this implemented as a stat(1) hardlink?  There is aboslutely no
> common code between the two.

I'm serious, Maxim.  Implementing mountpoint(1) as an alternate move of
stat(1) adds more complexity than it saves.  Please revert and re-commit
as an independent binary.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org

From nobody Tue Oct  6 16: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 4hzjCF2ybLz4nCPw
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 16: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzjCF2PwRz4thG
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 16: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=1791305945;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=IuhZhfFfT/v2WHHg4WnnbXWN6ISBuUxKKx1AAMWOc1w=;
	b=BCRULUN5gpLJmFwcRKV6g53lajR8qyDnBFHvWs5mlMcxxMFb7Swdr/XfK5ciQNU3TSiFeV
	tykE5/XvGxCj15z0n6D6e3suxwzDvjdpdauPfEYkp8UsI8PODWmL5UWajJBe6UBeM0LyzB
	/FeC7FSO2LHOeavodGY7OBv1H1NGLYBRtTo4qehI1aHlA1R1Q5sgLlQyuWXy5MOER7W6mW
	GMBmTd2yVJmhqOsEmTKEacDNSMIWJK/1BWlmimJN4BaHsm9O2V34XK1KeiA6fd6PhoN4Mm
	hRd2X9Bl+2fjSal5CYGj07+x76L2x/GShQ8I82Z0CBkJzkKjJUke1A2qPVmN+A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791305945;
	b=TfbpWR4eODzw38TRwXZmJ8zU4gM9QqiZHjpBWGSxjaMOboDCqEISqbqF546IEniH1jJUOw
	M1MpVFxFnyh29ONXCAWe/WnMOqCwTkrb1GODN3jnNS+vWV891RGi7OlgmBqRxX8ji4IW3f
	OxOb6/EkZXk2KO6yaiRTnZ5V8lDBp+3AqdNhpGZvtlNImZAYByeqqWgWRnFTEdMVuem+va
	DT5KzkTMGxPK5oUIuSPXneDQxL3ZiDxfgG+VH6F0XbndVqG8gH8hidE9XRtTQhNBUHpDX1
	2hJNVUkznm+KEbt9XMzFXqA0O+MizFJbPv4FqOeSGZ/dO/gbq2V/sZUOoAuiFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791305945;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=IuhZhfFfT/v2WHHg4WnnbXWN6ISBuUxKKx1AAMWOc1w=;
	b=wAmTRDGNyXBjA9giJB78ZynQ5VZOqmy5PZA+3za1Pu5o12lB5EpGzubmf3Y3pjhOZMd1kC
	cFuxpaLAsNFADfgv5WGnnF5TySMBUBcbZ/1wc3j5XQ40e8vBXw1CWHFXfSoF3HgF2D/ZrZ
	Y5mvFcVihb77oYADq9JsHwCaqgk4T8NvZ0IBtorHYbGZMhk7cV9HYGeZRcuwYLH0zw4651
	I0KqyVwpPoLvmZK7UWYN0yekWwP6Z2PYeqHnL2Ta22FqDgKgXF7ujn8cAMcB2WTLJOoXfR
	2y7MbAbDrgOrPmj8K0t8L4rSNQxZWD7Ky90SYoPo530L1lSXXKyf8tf5ZJUTcg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzjCF1Tl3zF3v
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 16:59:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 33d55
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 16:59:05 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Roman Bogorodskiy <novel@FreeBSD.org>
Subject: git: 4445d039583a - main - stand: userboot: improve userdisk error handling
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: novel
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 4445d039583a0a47fc335e0d34401581bcbc104e
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 16:59:05 +0000
Message-Id: <6ac528d9.33d55.1756a0e@gitrepo.freebsd.org>

The branch main has been updated by novel:

URL: https://cgit.FreeBSD.org/src/commit/?id=4445d039583a0a47fc335e0d34401581bcbc104e

commit 4445d039583a0a47fc335e0d34401581bcbc104e
Author:     Roman Bogorodskiy <novel@FreeBSD.org>
AuthorDate: 2026-08-28 16:43:26 +0000
Commit:     Roman Bogorodskiy <novel@FreeBSD.org>
CommitDate: 2026-10-06 16:51:40 +0000

    stand: userboot: improve userdisk error handling
    
    Currently, userdisk_init() iterates through disks and
    checks whether DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls
    are available for the device. If either ioctl fails, userdisk_init()
    returns ENXIO with ud_info only partially initialized.
    devinit() records the failure, but loader_main() ignores
    devinit()'s return value, so later code may access an
    uninitialized entry.
    
    In certain cases this code can still boot from a disk even if
    userdisk_init() returns ENXIO, for example, when the first of
    two disks is valid and the second errors out.
    
    To address this issue while not breaking the current behavior, do
    the following:
    
     - Zero-initialize the userdisk_info array and use a zero media size
       to mark disks that do not support the ioctls mentioned above or
       report an empty medium.
     - Update userdisk_print() not to print unusable disks.
     - Update userdisk_open() to return EIO for unusable disks.
     - Update extract_currdev() to pick the first usable disk
       instead of the first disk. Introduce userboot_disk_firstunit()
       for that.
    
    Additionally, reset counters on ud_info allocation failure to prevent
    accessing unallocated data.
    
    Reviewed by:    jhb (previous version), markj
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D59262
---
 stand/userboot/userboot/libuserboot.h   |  1 +
 stand/userboot/userboot/main.c          |  9 ++++---
 stand/userboot/userboot/userboot_disk.c | 45 +++++++++++++++++++++++----------
 3 files changed, 39 insertions(+), 16 deletions(-)

diff --git a/stand/userboot/userboot/libuserboot.h b/stand/userboot/userboot/libuserboot.h
index e1584ec29412..0844e62684f6 100644
--- a/stand/userboot/userboot/libuserboot.h
+++ b/stand/userboot/userboot/libuserboot.h
@@ -39,6 +39,7 @@ typedef unsigned long physaddr_t;
 /* exported devices */
 extern struct devsw userboot_disk;
 extern int userboot_disk_maxunit;
+int userboot_disk_firstunit(void);
 extern struct devsw host_dev;
 
 /* access to host filesystem */
diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c
index d1f231a12e97..985933bf51e9 100644
--- a/stand/userboot/userboot/main.c
+++ b/stand/userboot/userboot/main.c
@@ -237,9 +237,13 @@ extract_currdev(void)
 {
 	struct disk_devdesc dev;
 	struct devdesc *dd;
+	int diskunit;
 #if defined(USERBOOT_ZFS_SUPPORT)
 	struct zfs_devdesc zdev;
+#endif
 
+	diskunit = userboot_disk_firstunit();
+#if defined(USERBOOT_ZFS_SUPPORT)
 	if (userboot_zfs_found) {
 	
 		/* Leave the pool/root guid's unassigned */
@@ -250,10 +254,9 @@ extract_currdev(void)
 		dd = &zdev.dd;
 	} else
 #endif
-
-	if (userboot_disk_maxunit > 0) {
+	if (diskunit >= 0) {
 		dev.dd.d_dev = &userboot_disk;
-		dev.dd.d_unit = 0;
+		dev.dd.d_unit = diskunit;
 		dev.d_slice = D_SLICEWILD;
 		dev.d_partition = D_PARTWILD;
 		/*
diff --git a/stand/userboot/userboot/userboot_disk.c b/stand/userboot/userboot/userboot_disk.c
index 9adcad4f00ac..78377c582225 100644
--- a/stand/userboot/userboot/userboot_disk.c
+++ b/stand/userboot/userboot/userboot_disk.c
@@ -82,25 +82,29 @@ userdisk_init(void)
 	off_t mediasize;
 	u_int sectorsize;
 	int i;
+	int userdisk_usable = 0;
 
 	userdisk_maxunit = userboot_disk_maxunit;
 	if (userdisk_maxunit > 0) {
-		ud_info = malloc(sizeof(*ud_info) * userdisk_maxunit);
-		if (ud_info == NULL)
+		ud_info = calloc(userdisk_maxunit, sizeof(*ud_info));
+		if (ud_info == NULL) {
+			userdisk_maxunit = 0;
+			userboot_disk_maxunit = 0;
 			return (ENOMEM);
+		}
 		for (i = 0; i < userdisk_maxunit; i++) {
 			if (CALLBACK(diskioctl, i, DIOCGSECTORSIZE,
-			    &sectorsize) != 0 || CALLBACK(diskioctl, i,
-			    DIOCGMEDIASIZE, &mediasize) != 0)
-				return (ENXIO);
-			ud_info[i].mediasize = mediasize;
-			ud_info[i].sectorsize = sectorsize;
-			ud_info[i].ud_open = 0;
-			ud_info[i].ud_bcache = NULL;
+			    &sectorsize) == 0 && CALLBACK(diskioctl, i,
+			    DIOCGMEDIASIZE, &mediasize) == 0 && mediasize > 0) {
+				ud_info[i].mediasize = mediasize;
+				ud_info[i].sectorsize = sectorsize;
+				userdisk_usable++;
+			}
 		}
 	}
-	bcache_add_dev(userdisk_maxunit);
-	return(0);
+	bcache_add_dev(userdisk_usable);
+
+	return (0);
 }
 
 static void
@@ -111,6 +115,18 @@ userdisk_cleanup(void)
 		free(ud_info);
 }
 
+int
+userboot_disk_firstunit(void)
+{
+	int i;
+
+	for (i = 0; i < userdisk_maxunit; i++) {
+		if (ud_info[i].mediasize != 0)
+			return (i);
+	}
+	return (-1);
+}
+
 /*
  * Print information about disks
  */
@@ -121,7 +137,7 @@ userdisk_print(int verbose)
 	char line[80];
 	int i, ret = 0;
 
-	if (userdisk_maxunit == 0)
+	if (userboot_disk_firstunit() < 0)
 		return (0);
 
 	printf("%s devices:", userboot_disk.dv_name);
@@ -129,6 +145,8 @@ userdisk_print(int verbose)
 		return (ret);
 
 	for (i = 0; i < userdisk_maxunit; i++) {
+		if (ud_info[i].mediasize == 0)
+			continue;
 		snprintf(line, sizeof(line),
 		    "    disk%d:   Guest drive image\n", i);
 		ret = pager_output(line);
@@ -163,7 +181,8 @@ userdisk_open(struct open_file *f, ...)
 	dev = va_arg(ap, struct disk_devdesc *);
 	va_end(ap);
 
-	if (dev->dd.d_unit < 0 || dev->dd.d_unit >= userdisk_maxunit)
+	if (dev->dd.d_unit < 0 || dev->dd.d_unit >= userdisk_maxunit ||
+	    ud_info[dev->dd.d_unit].mediasize == 0)
 		return (EIO);
 	ud_info[dev->dd.d_unit].ud_open++;
 	if (ud_info[dev->dd.d_unit].ud_bcache == NULL)

From nobody Tue Oct  6 17:34: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 4hzjzX3k8mz4nGS4
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 17:34: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzjzX38Vkz3H3S
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 17:34:00 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791308040;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QeZvETy9CsoE6K2xGREBN27K4iSROa43eynzTXjIHck=;
	b=vyuJ9GedYWlIHWvGbk04gFO7zwFoDpQHrHj/Wsj23UaOrCI32h3osb1f3ZddFc4UamrxTa
	VwHm+XCu/c/Pj7wAG8kxg/kNe6xgyOWn2toYN5bM6f8Qc4lCp6GZNmDUcQx5Fl5XogBAGI
	qpwVQ3Msexi0ZsM8nx5Phe6jGK/NiurOwqsTnv6M3xtoDr91Y45vfUW/qRnV1epGUtAhRB
	RwIFwKYFxbGeMuF57pUFImjV6GgyRcQEsN8QeRjAH2DSSSr0SMFVbkQd2FVGLvo0159YV2
	b37YHUWMS3NhaLE1pPJgJx90Jiuzh6IHutsZyzc5u6m6ZTd0iSi5xQGl7a41eA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791308040;
	b=WWnKGym6eN6qD/BS/oBgY5ZvJ9MXSWMk1ZL57RBahTQ3l7LGvSx65k9yjV+/JwZlgw4nHr
	MnHDIDAGYsrKzqd30KdZJwzadmR4PdJpWAAeZ+O7lt7tENbeG0z8Yo1k+3LKZtitId1TtI
	SJotUpe/ZGDP4hrCFV2crVXcyKDri/d6fNexwtEjWyzjz+IsM96H+OlCFz1tFjMCieSFCb
	NT8iX5HX6pnPgR06SsJ8jxkur1E/dCEDgtGoKLv/8fG7AF0ULkDrHVczG/eshHLFQ64kO+
	1AJmuX63x1QWot62+ucprBbxriM6GUP4+MSM7w+xqBtzsEIXS6L4/2ManDNiTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791308040;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QeZvETy9CsoE6K2xGREBN27K4iSROa43eynzTXjIHck=;
	b=ndnLF5KfYfs2tiiE7lUMTlan9MQ8f9vaAL9DWZK8T0wSC/erMUmujURc0JMo96GI76QSQv
	wh2pr60TbiMqstXSJUaPJraq2Xz8agkLAr71U8uOwxjFUF7A9Wj2Y7OE6XWxuZ23AoxeEq
	Nu9OxYd0UqWF61zrzht36ajmtbinAHlW7C4jYh//bTJb4BYKFkRwAR9ErnEIxRoE1PYMlZ
	ZGMVAIchHa8xPP3ykFskaUmlQZXgFb0fJrDkx/G9BAVsT31ZVwPYVgNFM9OyQOwcmO+Tqj
	yl6HZ8ThMEs2Jqc14y98kaMm64EwnezKQKHf1bB/m+qbvB8znnZ2vxJX1IhiEQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzjzX2CkWzG5B
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 17:34:00 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 382a1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 17:34:00 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: 274236ed084a - main - rtld.c: avoid double-free on dso load failure in do_load_object()
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 274236ed084a259a0e8a11df1afebd2f2f1fb097
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 17:34:00 +0000
Message-Id: <6ac53108.382a1.1491be4b@gitrepo.freebsd.org>

The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=274236ed084a259a0e8a11df1afebd2f2f1fb097

commit 274236ed084a259a0e8a11df1afebd2f2f1fb097
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-06 08:22:21 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-06 17:33:27 +0000

    rtld.c: avoid double-free on dso load failure in do_load_object()
    
    The obj->path is assigned directly from the path argument, and
    load_object() frees the path on do_load_object() failure.  Do not free
    it in obj_free() on the error path.
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60402
---
 libexec/rtld-elf/rtld.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 850e017a404d..048cc473305a 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -3027,6 +3027,7 @@ do_load_object(int fd, const char *name, char *path, struct stat *sbp,
 
 errp:
 	munmap(obj->mapbase, obj->mapsize);
+	obj->path = NULL;	/* obj->path is owned and freed by caller */
 	obj_free(obj);
 	return (NULL);
 }

From nobody Tue Oct  6 18: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 4hzlMN5GFTz6Z1vs;
	Tue, 06 Oct 2026 18:36:16 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzlMN4m1Dz4DQr;
	Tue, 06 Oct 2026 18:36:16 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791311776;
	h=from:from:reply-to:subject:subject: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=L7cBEwQ8vmrUqDiFWOFNjcZaMURgefAzeVcaYQydXWI=;
	b=lhP+YQUwPrFEi7n09h4dxwYrcsg3i+s68SLKbJ4IBDc3X2ejCetjsomVJC2p3EC4pAe93m
	Pt/W6b2f8TrqfMN+btQpirK6Mli8b/lRJesWIQiruBoG2oy6UJlOV6VTuqTL4VKJwaD+YU
	bQSfL8qcGeuvO7lH/jVJc9RRmAL/ksr59lTgsYLeSOHeMQS8Y9TOvR/z8q79LNjAnaly17
	3+taTW+V/L9yDAASfSWylN36jlzWyzLjlahLmxP/svWHkx6Bt00ZWBzGrorZwU8dokePJ9
	bPYc5LBmz8EmXEE25R2CTWCJE2oVIH3hlyjLQVZlX4O+6DQOAgUl9nwjgrNeMA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791311776;
	b=pDP0gLNWyftKGNNGNPDRajJvixIUCqquFDgc2mDOfABYQiHkMB4eaRRPvq8LpJkoncycP2
	1lMpbyIav3J9CKogRl3BTbDdygdEqOC4bB4PccXG+BR90XhO12O2I0/xl86JWpglopcOYn
	9pUINWyApm1B5A5PUzaEvBnGvjmwXiovEKIUNMAHndhvhltblULasfzfVKEAO3xWi+BoGu
	ykEmf+J41YVnv3EXjsKEN+fe+yDHlLnjv+Pnga5DNuTCA1w2ySPd/493UoK9HQK+pQtXD+
	lYwT38ns6cDEVDLE61wu26CasFMCifQ15M7JqjGZZwvaEkJpPg2zBGUswacXSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791311776;
	h=from:from:reply-to:subject:subject: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=L7cBEwQ8vmrUqDiFWOFNjcZaMURgefAzeVcaYQydXWI=;
	b=SET/a+jagWN2p75uZmj/do+7/GPFFwGLpp8ux/0r2ST9KEgwDk0SEW8DFDwPOd93HHLQs9
	zOwQP6l1vEVqOWcztaU0ZxhBsKbgvyAOB8ooP44hl+e9q4ebgUXwPfLN1x+znZm9lFcA6M
	XjaWIchcMoPys4AZWHmxXhJnpkcLA0BLDCYmBGYwVeYhqKFmgazdWQcTdCr2OOm4lccV1F
	leycufp/gAWjPwitedojPyqpwZGL20groV7Ec/fFpWez+KylaFANPLVE3IiI3cS8Hf8Tz/
	Re44TT2sSeykyl/5PayWHoxSuBYL5lUmsYo8Ee/wB4byvfRrzdGINl/84Y14/g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from [IPV6:2601:5cc:4480:1036:3129:49c9:2e6c:45d7] (unknown [IPv6:2601:5cc:4480:1036:3129:49c9:2e6c:45d7])
	(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 4hzlMN27rSz1Byp;
	Tue, 06 Oct 2026 18:36:16 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <05459a0a-8b33-410b-a391-af94384e84b7@FreeBSD.org>
Date: Tue, 6 Oct 2026 14:36:15 -0400
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: git: bb5f10e51bd5 - main - linux: implement sched_getattr()
Content-Language: en-US
To: "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com>,
 Mark Johnston <markj@FreeBSD.org>
Cc: Enji Cooper <ngie@freebsd.org>, src-committers@freebsd.org,
 dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
References: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>
 <asQxIRIqvfkVQcCc@nuc> <EF976AFC-5327-4A2B-B982-92976CB9BB89@gmail.com>
From: John Baldwin <jhb@FreeBSD.org>
In-Reply-To: <EF976AFC-5327-4A2B-B982-92976CB9BB89@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 10/6/26 10:42, Enji Cooper (yaneurabeya) wrote:
> 
> ...
> 
>>> + attr.size = MIN(args->size, sizeof(attr));
> 
> …
> 
>>> + return (copyout(&attr, args->attr, args->size));
>>
>> So, this lets the caller decide how much stack data they want to copy
>> out, independent of sizeof(attr).  The only constraint is the
>> `args->size > PAGE_SIZE` check at the beginning of the function.
> 
> I eliminated a duplicate calculation in the copyout which contradicted the [Linux] documented interface [1].

.. and introduced a kernel stack disclosure (the kind of thing we normally
have to ship an SA for).  Using attr.size for the length here is the
correct solution.

&attr is on the stack, and it is only sizeof(attr) bytes in size.  If
you copy out _more_ bytes than sizeof(attr), you don't magically copy
out zeroes, you copy out _RANDOM KERNEL STACK DATA_.

> The interface documented by Linux allows the user to specify the amount of data to copy out (https://www.man7.org/linux/man-pages/man2/sched_getattr.2.html):
> 
>>   The fields of the sched_attr structure are as follows:
>>
>> size This field should be set to the size of the structure in
> bytes, as in sizeof(struct sched_attr). If the provided
> structure is smaller than the kernel structure, any
> additional fields are assumed to be '0'. If the provided
> structure is larger than the kernel structure, the kernel
> verifies that all additional fields are 0; if they are not,
> sched_setattr() fails with the error E2BIG and updates size
> to contain the size of the kernel structure.

Right, so the extra bytes in the case that args->size is
> sizeof(attr) are supposed to be all zeroes already (and you
are supposed to check that in the syscall if you aren't already)
so you don't need to copy them back out again, only the
sizeof(attr) bytes including the updated size.

This is not all that weird, and is similar to how we handle
cpuset masks which also can be differently sized than the
kernel's representation.

-- 
John Baldwin


From nobody Tue Oct  6 18:53: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 4hzllh29kjz6Z2yw
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 18:53: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzllh1L8xz4Hh4
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 18:53:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791312832;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jENtJj4cK2nRjRLtALRFKHsSIY6zyS5zOqshs46iD2I=;
	b=osfsmeq+qJv+aprTp4qRsnNW9hKd+FLLCRb8GyK55QnRqlTQ+LN7K2T0lAXRG4vbkSrPwe
	Pj+r6Yq6CuaIq6LShOyMVI3pi2gJ0b8mDhAwrcnwdMBSRirinGzA6VU8a1rG3qXdHckhjt
	fegvECSFSrl6OH/fgmpMgahSjwfiJ8JcMmaKnIC4tt7dmUtPGUXa9k0epdlI2SL3sdEQBV
	ltlF42PHSMKHTjNWc0F4BOFq395G4T7xzYHqLcHgqkE/cFen+QZ5RomQbXGGhiEaorZwjV
	lwJD3BJVzxJqMH2DQVS2n+zYsIPAC0upWllCHKrTzUVacli7fVu8HGsM0Fp1gQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791312832;
	b=UzUGgINud90RZIbUQGpLNko9nzZCmpyBNgUjm634qNxMpqrsEJRRIarPnuBSL/Sy3eMxlL
	tdkBNuKgwnWMchOCVgzrtCjq5PzLQ9kvVBrxDW3Px+H+Fo1/D15ByZK/p2dGEf7gSFepU/
	og0rS0iFmhxUpyEOdajMRllLiO8J4DPPpA2iiCfCYicB3JZ/mbAKjsADoCCgnCKZ8xPjv/
	LOXZLUsWaQBAcOXArWXnWL7Xs5haQCFhPV2Rlu72qG5WuT7WtLvulLiWe79uMr3N9K2Nfk
	AOKEGyUYkD2758k38kflHkV7ZKJ2LBwOGV/peym2Jo348tLMFcfK8B4mJqIRqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791312832;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=jENtJj4cK2nRjRLtALRFKHsSIY6zyS5zOqshs46iD2I=;
	b=unQVCLTYlOabqXLS+CMiP7jFcDOp9WU5Sb3GuYBqk50U42bfJTAfQGv+0NqIXdSGZWHJKL
	1mcnwgc6503tmEKLqqyHSZo77Vzsew0nx3qqg2wrX2ChS+NAzjKb/BuuyqhYoKvNpUutsH
	w1FbH0pKL/hER/7ARMgk/ifqRk9W4z+VNBmfJTftH2bRyEX+GNa+PigNcNXd/akbgK20WN
	B/e8EHoHKnSnqE4DiYE03P2uGkRjS4nYOjePCt9khdEahN0XCGYyLZmH6P9n1vrZ7G9xMe
	7C6ifRiIURgXrnYgW/ygu4peQsPpx6KMP4Yo4m7+VXedFjqrx+tkbB1ywCwqqA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzllh0Pc3zJHy
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 18:53:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 40061
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 18:53:52 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Andre Silva <andasilv@amd.com>
From: Mitchell Horne <mhorne@FreeBSD.org>
Subject: git: 572cd669d699 - main - hwpmc: handle delayed IBS NMIs on Zen 6
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 572cd669d6997b759084191007f3744a3610b529
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 18:53:52 +0000
Message-Id: <6ac543c0.40061.62706664@gitrepo.freebsd.org>

The branch main has been updated by mhorne:

URL: https://cgit.FreeBSD.org/src/commit/?id=572cd669d6997b759084191007f3744a3610b529

commit 572cd669d6997b759084191007f3744a3610b529
Author:     Andre Silva <andasilv@amd.com>
AuthorDate: 2026-10-06 18:42:35 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2026-10-06 18:53:44 +0000

    hwpmc: handle delayed IBS NMIs on Zen 6
    
    On Zen 6, an extra IBS NMI can arrive after later samples. Keep the
    credit until the empty NMI arrives, and handle fetch and op samples when
    both are ready.
    
    Reviewed by:    mhorne
    Fixes:  34b00ed041a4 ("hwpmc: fix IBS fetch and op NMI handling")
    Fixes:  e51ef8ae490f ("hwpmc: Initial support for AMD IBS")
    Sponsored by:   AMD
    Differential Revision:  https://reviews.freebsd.org/D60367
---
 sys/dev/hwpmc/hwpmc_ibs.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c
index be981b0c7a07..60e7323dbcb8 100644
--- a/sys/dev/hwpmc/hwpmc_ibs.c
+++ b/sys/dev/hwpmc/hwpmc_ibs.c
@@ -48,6 +48,7 @@
 #include <machine/specialreg.h>
 
 #define	IBS_STOP_ITER		50 /* Stopping iterations */
+#define	IBS_NMI_CREDIT_MAX	2  /* Max owed IBS NMIs per CPU */
 
 /* AMD IBS PMCs */
 struct ibs_descr {
@@ -97,7 +98,7 @@ SYSCTL_U64(_kern_hwpmc, OID_AUTO, ibs_op_ctl2_extra_mask, CTLFLAG_RDTUN,
 
 struct ibs_cpu {
 	int		pc_status;
-	int		pc_nmi_credit;	/* latched NMIs already serviced */
+	int		pc_nmi_credit;	/* owed NMIs already serviced */
 	struct pmc_hw	pc_ibspmcs[IBS_NPMCS];
 };
 static struct ibs_cpu **ibs_pcpu;
@@ -725,13 +726,21 @@ pmc_ibs_intr(struct trapframe *tf)
 	}
 
 	/*
-	 * When both units were serviced, the second unit's NMI may still be
-	 * latched and will arrive with no valid bit set.  Claim that one
-	 * NMI so it is not reported as unknown.
+	 * When both units were serviced, the second unit's NMI is still
+	 * owed and will arrive with no valid bit set.  It is not always
+	 * the next NMI: on Zen 6 one or more NMIs carrying a single new
+	 * sample can arrive first, and those may carry both samples again.
+	 * Count the owed NMIs and let each NMI with no valid bit consume one,
+	 * so they are not reported as unknown.  Cap the count, since every
+	 * leftover credit would hide a genuine unknown NMI later.
 	 */
-	if (retval == 0 && pac->pc_nmi_credit != 0)
+	if (retval == 2) {
+		if (pac->pc_nmi_credit < IBS_NMI_CREDIT_MAX)
+			pac->pc_nmi_credit++;
+	} else if (retval == 0 && pac->pc_nmi_credit > 0) {
+		pac->pc_nmi_credit--;
 		retval = 1;
-	pac->pc_nmi_credit = (retval == 2);
+	}
 	if (retval > 1)
 		retval = 1;
 

From nobody Tue Oct  6 19:10: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 4hzm7625Zkz6Z4ck
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 19:10:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzm761f0Xz4Kvs
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 19:10:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791313842;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=mAq9WhhLvU5eGN67ahVxMKG5w6p60gwjTRhNG/+nJ1o=;
	b=KR2J24tjs9Hm7hGMQtcgt8n2AxgE0hyWwGe+rEo6UYB389Rx5dxOGdd0+I3G9Qq0YoaOOx
	dZ2cjdI/OENxCK4K7M/Jz7ubBEtczatH3FsKRAOxg/fvGinvaNcxmnizJHJzHJj0hU7sph
	ykU0u0ObtcpTTe7G4CPd1styOfxZGhhWB+b8dIw576N6+T9c+9vethE0ZA3FDQR9RFR8k7
	hNdreuiSHWdq9Dmdo/piuDAATjQFAWA1cGN8Yzt8qer/YwG0Ze0zgm4wMH3a5RmyFRwYWH
	xX2+Gm1BEH45EX642sEUBdaniYduBBhGsqqQwc8Fc0OXrnbAT+EuYwMAZEgOnw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791313842;
	b=XXHdnlGdT7EvTesZV87DdPFjCi5ZJWzU4e4FPfKFX/68kVZKj+Kd7ToIP4yjh6eFfFCNE3
	ZAwr1kdsoCHhK496TMGp6nHSQ4Dy3ox1GOoDODsRWPgfr9tVPCygIFM/++6KKmnm8YCxbQ
	HxzxB304xDtvew8mDLqQZSt0fqITk0QdcH0u65LXIpYZFCTwBnFhLPCLOHlxOq+F2o1jJQ
	mmwZMh9PrMeDp5h6N6ILmOypVVzZz1U/5FocUQy7zHmavjN344zA7bUOJK3wKdy+r3xVaQ
	xGCvuWF5NszLT6t17RQsZGp+5KowwQCf31FUx39NbHVgHQFCs9j/RuUpDUTIsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791313842;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=mAq9WhhLvU5eGN67ahVxMKG5w6p60gwjTRhNG/+nJ1o=;
	b=BHEd8xuDL7hpDCE1sIAzl81HWIGx2QTEhmrvS3iQpNv7ACgAg04hREfCompspeFbcNNHxI
	GSAh8svxVL3UwewiPgi6xSqj2rv+dC0fm8IaBrFU4mqGu9WOexTILWW2qJJqmGlg8E8P+E
	HXPAQs7AaCnkwq/FquUYe7VxMVpoE4OCe8fo+MxRHdvudgqhH76qXZf4+OHcsd47HmZDee
	wwgAFOhS0S3SBs+gOi+GYH38ey5725O/9OEpV/WmdzHIoRE2QnpFLn8y5pDo881WV45j1m
	kFSI8ca+AYkSDBinVKs9SYHRTtvDCRpgrZnnIYMFAqXc4otuxTb6DnHvAYr4bw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzm760jRbzJgp
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 19:10:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 41b9b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 19:10:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Ruslan Bukin <br@FreeBSD.org>
Subject: git: 3e01ebda6829 - main - riscv: support the new "riscv,isa-extensions" string-array.
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: br
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 3e01ebda68291db307a5e6c23d4995c638be9228
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 19:10:42 +0000
Message-Id: <6ac547b2.41b9b.2c404c63@gitrepo.freebsd.org>

The branch main has been updated by br:

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

commit 3e01ebda68291db307a5e6c23d4995c638be9228
Author:     Ruslan Bukin <br@FreeBSD.org>
AuthorDate: 2026-10-06 18:55:39 +0000
Commit:     Ruslan Bukin <br@FreeBSD.org>
CommitDate: 2026-10-06 19:09:04 +0000

    riscv: support the new "riscv,isa-extensions" string-array.
    
    Support the new "riscv,isa-extensions" property on RISC-V hart nodes
    in FDT.
    
    The "riscv,isa" property is deprecated, but cannot be removed because
    doing so would break compatibility with existing DTBs. The new properties
    replace it: "riscv,isa-base" describes the base ISA and
    "riscv,isa-extensions" is a string array containing the supported ISA
    extensions.
    
    The "riscv,isa-extensions" property can be relatively large; on the
    Spacemit K3 SoC it is approximately 300 bytes.
    
    The FreeBSD OFW interface does not provide access to the underlying FDT
    property data without copying it, and memory allocation is not possible
    this early. So allocate a static buffer for the property instead.
    
    Reuse the existing parse_riscv_isa() implementation to parse both the new
    extension property and the legacy "riscv,isa" property.
    
    Reviewed by:    bnovkov, mhorne
    Sponsored by:   EPSRC ("UKRI3001: CHERI Research Centre")
    Differential Revision:  https://reviews.freebsd.org/D60209
---
 sys/riscv/riscv/identcpu.c | 106 ++++++++++++++++++++++++++++++++++-----------
 1 file changed, 80 insertions(+), 26 deletions(-)

diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c
index ca1b2b9ae1af..81e8afde8499 100644
--- a/sys/riscv/riscv/identcpu.c
+++ b/sys/riscv/riscv/identcpu.c
@@ -86,6 +86,8 @@ bool has_zicbom;
 bool has_zicboz;
 bool has_zicbop;
 
+static char isa_extensions[PAGE_SIZE];
+
 struct cpu_desc {
 	const char	*cpu_mvendor_name;
 	const char	*cpu_march_name;
@@ -271,14 +273,7 @@ parse_riscv_isa(struct cpu_desc *desc, char *isa, int len)
 {
 	int i;
 
-	/* Check the string prefix. */
-	if (strncmp(isa, ISA_PREFIX, ISA_PREFIX_LEN) != 0) {
-		printf("%s: Unrecognized ISA string: %s\n", __func__, isa);
-		return (-1);
-	}
-
-	i = ISA_PREFIX_LEN;
-	while (i < len) {
+	for (i = 0; i < len; ) {
 		switch(isa[i]) {
 		case 'a':
 		case 'b':
@@ -372,14 +367,82 @@ parse_cbo_fdt(struct cpu_desc *desc, phandle_t node)
 		desc->cboz_block_size = 0;
 }
 
+static int
+parse_isa_extensions(phandle_t node, u_int cpu, struct cpu_desc *desc)
+{
+	ssize_t len, off, i;
+	char *ext;
+
+	len = OF_getprop(node, "riscv,isa-extensions", isa_extensions,
+	    sizeof(isa_extensions));
+	if (len == -1)
+		return (ESRCH);
+	if (len > sizeof(isa_extensions))
+		panic("isa_extensions string truncated");
+
+	for (i = 0; i < len; i++)
+		isa_extensions[i] = tolower(isa_extensions[i]);
+
+	for (off = 0; off < len; ) {
+		ext = isa_extensions + off;
+		if (*ext == '\0')
+			break;
+		if (bootverbose)
+			printf("riscv extension: %s\n", ext);
+		parse_riscv_isa(desc, ext, strlen(ext));
+		off += strlen(ext) + 1;
+	}
+
+	return (0);
+}
+
+static int
+parse_riscv_isa_legacy(phandle_t node, u_int cpu, struct cpu_desc *desc)
+{
+	u_int hart;
+	ssize_t len;
+	int i;
+
+	hart = pcpu_find(cpu)->pc_hart;
+
+	len = OF_getprop(node, "riscv,isa", isa_extensions,
+	    sizeof(isa_extensions));
+	if (len == -1) {
+		printf("%s: could not find 'riscv,isa' property "
+		    "for CPU %d, hart %u\n", __func__, cpu, hart);
+		return (ESRCH);
+	}
+	if (len > sizeof(isa_extensions))
+		panic("isa string truncated");
+
+	if (bootverbose)
+		printf("hart %d isa: %s\n", hart, isa_extensions);
+
+	/*
+	 * The string is specified to be lowercase, but let's be
+	 * certain.
+	 */
+	for (i = 0; i < len; i++)
+		isa_extensions[i] = tolower(isa_extensions[i]);
+
+	/* Check the string prefix. */
+	if (strncmp(isa_extensions, ISA_PREFIX, ISA_PREFIX_LEN) != 0) {
+		printf("%s: Unrecognized ISA string: %s\n", __func__,
+		    isa_extensions);
+		return (-1);
+	}
+
+	return (parse_riscv_isa(desc, &isa_extensions[ISA_PREFIX_LEN],
+	    len - ISA_PREFIX_LEN));
+}
+
 static void
 identify_cpu_features_fdt(u_int cpu, struct cpu_desc *desc)
 {
-	char isa[1024];
 	phandle_t node;
-	ssize_t len;
 	pcell_t reg;
 	u_int hart;
+	int error;
 
 	node = OF_finddevice("/cpus");
 	if (node == -1) {
@@ -403,26 +466,17 @@ identify_cpu_features_fdt(u_int cpu, struct cpu_desc *desc)
 		    reg != hart)
 			continue;
 
-		len = OF_getprop(node, "riscv,isa", isa, sizeof(isa));
-		KASSERT(len <= sizeof(isa), ("ISA string truncated"));
-		if (len == -1) {
-			printf("%s: could not find 'riscv,isa' property "
+		error = parse_isa_extensions(node, cpu, desc);
+		if (error != 0) {
+			/* Fall-back to the legacy riscv,isa string. */
+			error = parse_riscv_isa_legacy(node, cpu, desc);
+		}
+		if (error != 0) {
+			printf("%s: could not parse ISA string "
 			    "for CPU %d, hart %u\n", __func__, cpu, hart);
 			return;
 		}
 
-		if (bootverbose)
-			printf("hart %d isa: %s\n", hart, isa);
-
-		/*
-		 * The string is specified to be lowercase, but let's be
-		 * certain.
-		 */
-		for (int i = 0; i < len; i++)
-			isa[i] = tolower(isa[i]);
-		if (parse_riscv_isa(desc, isa, len) != 0)
-			return;
-
 		/* Check MMU features. */
 		parse_mmu_fdt(desc, node);
 

From nobody Tue Oct  6 19:23: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 4hzmQc2Dcfz6Z5Yq
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 19:24:08 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035])
	(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 4hzmQZ4ZDjz4PKc
	for <dev-commits-src-main@freebsd.org>; Tue, 06 Oct 2026 19:24:06 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Authentication-Results: mx1.freebsd.org;
	dkim=pass header.d=gmail.com header.s=20251104 header.b=DVMXzXRe;
	spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::1035 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com;
	dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-3a4c47bb6e3so634001a91.1
        for <dev-commits-src-main@freebsd.org>; Tue, 06 Oct 2026 12:24:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1791314644; x=1791919444; darn=freebsd.org;
        h=references:to:cc:in-reply-to:date:subject:mime-version:content-type
         :message-id:from:from:to:cc:subject:date:message-id:reply-to
         :content-type;
        bh=GTUYSE9bWN6//R72JW8Zv/pSmvBwH25gMTtvtXe3fic=;
        b=DVMXzXRe/rRNO6ZvP7EoZ9Mg9fh1Ky6nHfyW3bKlJ5H48Jp1WJRBbF0E0wfNY/YiXW
         S4cbDFdgZjbY99bT4jC2RXc8uLRal23TrAbriwpV4W2MHDuvLzuNW9DwdL+FUUW0apPq
         xmRMgH4rqoLpIcgy6uHukRhzhwutzYBxX/TKfp5ndJffessovyl+/hME6DcJJ8zaeouP
         l/9SayDS4JJVlSv6ossvVageC8VJGldiDdPmX0vp99Yvub8BFJzRRy4KZY/Ln3eq4lFA
         yjI9yftsW6T60zRUUWWA17bfubctlBO3mHkFpCtHvR1VXwxI0M0QJgsNFRGYoaUCte5N
         GLtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20260707; t=1791314644; x=1791919444;
        h=references:to:cc:in-reply-to:date:subject:mime-version:content-type
         :message-id:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to:content-type;
        bh=GTUYSE9bWN6//R72JW8Zv/pSmvBwH25gMTtvtXe3fic=;
        b=XUN2D7dpalYigyZMeJuqh4ci6I1VnvBnJR++hDBDfu94lExm7CbHuTyEj5d5pL3T11
         DoDU2smK7349jt+JXPGGnhSsyW+QFMIG+JyGmEDomdoUCP2Xb/GeBZhhaqGYqog/I9sF
         2WNFeTBht0oB3uX2NNv5Ypl6l7tepUnR3Mo2JDQu5QCyEJx+e94266xW187m2GmExa/U
         6y8heW6D8AyhDAAIryigvzlPfUNlmSWrK5FwJ7+9W6OsvK6e6yGalo/iBDFljYt5p/QF
         VtKE13+eOC5dxUzoRiCsL4m9qBzCkJlbSlQ4Oi+DRZVFzmQS1v/xh+NMLgJoQUORyctp
         HY/g==
X-Forwarded-Encrypted: i=1; AKwUvBwGpcMe7WPuQtloC9AXc57urKO0Vop913zD/yCQfc4jNZMRFehq8Tm2o4JmPWmM9eQL63E425Ad88pV6RbGt6xeOUeUow==@freebsd.org
X-Gm-Message-State: AFq9FYKkHH5XindqSMyyrNdXfNdxdVvrgULZivUrsbMZtcjWRUdcbUMh
	L0Nm618XZplFOePDoMfXOLMtNK0pbgwmiz/od/8Ind2I9+nYWN/C+vchu8XzXGqx
X-Gm-Gg: AYBFou2D3O7DtsSWQFZ7/MHK5G55Us+z8Pd0x4Y3MAWhdVIO6nMxizUdo3Re487aHSY
	x0jfCs29NZIvRzZCZgab6YRwAH92q04S2V6qzQBOzoMkbLIFVuD0/CMdRy+KDIvim5sN+3yNwro
	FYsxJUUmZlChuqmMcVV4y5RmYL6BtpPMRZyMNoJZjYKGWkMXOe4djN7YtMnDJdl9DVmZCT29P/v
	y4N4hTfekLwSdbvGG3NlzPxnDIQcqLfH+qBEdbMm6h9jD4HBXDsQk+5JH9W+zXe73qB+qfmde7Y
	a7Y6k272KQmh61dnklHprqmx2DcD6irgGeU8jm5IkhtDrFWcT0t5Phwwgi080atHvqaWGusilA9
	TAySLP31xUQ5rG8VXAK37iDaj6mBICi0C+PohDPX1HEpDHVE+tj1iTatrHih/mXj4odcV4gaJQO
	MgOXY3IizBbZmScoOM0fSvNEKFL1pZYk4Wt5KNUw+qU1QVu/F6cOW1jWGcmsZflzrjKMLJ5TAIW
	lSP/BQPAO4N9eXOqTTg
X-Received: by 2002:a17:90b:3c50:b0:3a4:948d:9dc3 with SMTP id 98e67ed59e1d1-3a8a197fb81mr163481a91.21.1791314643804;
        Tue, 06 Oct 2026 12:24:03 -0700 (PDT)
Received: from smtpclient.apple ([187.15.153.55])
        by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3a85437f740sm6331732a91.11.2026.10.06.12.24.01
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 06 Oct 2026 12:24:02 -0700 (PDT)
From: "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
Message-Id: <B5818ABF-E978-4DC8-9B9B-CB821C511D05@gmail.com>
Content-Type: multipart/signed;
	boundary="Apple-Mail=_2124B0A8-1BBA-488D-AE58-D2ED1562C789";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.700.51.1.3\))
Subject: Re: git: bb5f10e51bd5 - main - linux: implement sched_getattr()
Date: Tue, 6 Oct 2026 12:23:49 -0700
In-Reply-To: <05459a0a-8b33-410b-a391-af94384e84b7@FreeBSD.org>
Cc: Mark Johnston <markj@FreeBSD.org>,
 Enji Cooper <ngie@freebsd.org>,
 src-committers@freebsd.org,
 dev-commits-src-all@freebsd.org,
 dev-commits-src-main@freebsd.org
To: John Baldwin <jhb@FreeBSD.org>
References: <6ac42979.2608d.d368a5e@gitrepo.freebsd.org>
 <asQxIRIqvfkVQcCc@nuc> <EF976AFC-5327-4A2B-B982-92976CB9BB89@gmail.com>
 <05459a0a-8b33-410b-a391-af94384e84b7@FreeBSD.org>
X-Mailer: Apple Mail (2.3864.700.51.1.3)
X-Spamd-Bar: --
X-Spamd-Result: default: False [-2.60 / 15.00];
	SIGNED_PGP(-2.00)[];
	DMARC_POLICY_ALLOW(-0.50)[gmail.com,none];
	MV_CASE(0.50)[];
	R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104];
	MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain];
	R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c];
	FREEMAIL_FROM(0.00)[gmail.com];
	RCVD_TLS_LAST(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~];
	DKIM_TRACE(0.00)[gmail.com:+];
	FREEMAIL_ENVFROM(0.00)[gmail.com];
	TO_DN_SOME(0.00)[];
	DWL_DNSWL_NONE(0.00)[gmail.com:dkim];
	FROM_HAS_DN(0.00)[];
	ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US];
	RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::1035:from];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	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];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6]
X-Rspamd-Queue-Id: 4hzmQZ4ZDjz4PKc


--Apple-Mail=_2124B0A8-1BBA-488D-AE58-D2ED1562C789
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_26541C16-BA63-4085-B07D-38D4DFDDE099"


--Apple-Mail=_26541C16-BA63-4085-B07D-38D4DFDDE099
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On Oct 6, 2026, at 11:36=E2=80=AFAM, John Baldwin <jhb@FreeBSD.org> =
wrote:
>=20
> On 10/6/26 10:42, Enji Cooper (yaneurabeya) wrote:
>> ...
>>>> + attr.size =3D MIN(args->size, sizeof(attr));
>> =E2=80=A6
>>>> + return (copyout(&attr, args->attr, args->size));
>>>=20
>>> So, this lets the caller decide how much stack data they want to =
copy
>>> out, independent of sizeof(attr).  The only constraint is the
>>> `args->size > PAGE_SIZE` check at the beginning of the function.
>> I eliminated a duplicate calculation in the copyout which =
contradicted the [Linux] documented interface [1].
>=20
> .. and introduced a kernel stack disclosure (the kind of thing we =
normally
> have to ship an SA for).  Using attr.size for the length here is the
> correct solution.

Yeah. I figured out that I typoed `args->size` instead of `attr.size` in =
this commit when I was rereading the Differential: =
https://reviews.freebsd.org/D60214?id=3D188351#inline-356758 (it took me =
longer to figure out what @markj was originally pointing out was wrong =
in this change). FWIW, I agree that the unsanitized user-provided value =
shouldn=E2=80=99t have been used.

To protect against making that mistake in the future, I renamed =
variables to hopefully make their use clearer and make the variables a =
bit more unique. It helps me personally because my brain sometimes blurs =
details when there are a lot of commonalities with words (both written =
and phonetic).

...

>> The interface documented by Linux allows the user to specify the =
amount of data to copy out =
(https://www.man7.org/linux/man-pages/man2/sched_getattr.2.html):
>>>  The fields of the sched_attr structure are as follows:
>>>=20
>>> size This field should be set to the size of the structure in
>> bytes, as in sizeof(struct sched_attr). If the provided
>> structure is smaller than the kernel structure, any
>> additional fields are assumed to be '0'. If the provided
>> structure is larger than the kernel structure, the kernel
>> verifies that all additional fields are 0; if they are not,
>> sched_setattr() fails with the error E2BIG and updates size
>> to contain the size of the kernel structure.
>=20
> Right, so the extra bytes in the case that args->size is
>> sizeof(attr) are supposed to be all zeroes already (and you
> are supposed to check that in the syscall if you aren't already)
> so you don't need to copy them back out again, only the
> sizeof(attr) bytes including the updated size.
>=20
> This is not all that weird, and is similar to how we handle
> cpuset masks which also can be differently sized than the
> kernel's representation.

Ok. I guess my earlier statement demonstrates how little experience I =
have in this area.

Thank you,
-Enji=

--Apple-Mail=_26541C16-BA63-4085-B07D-38D4DFDDE099
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" =
content=3D"text/html; charset=3Dutf-8"></head><body =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;"><br><div><blockquote type=3D"cite"><div>On=
 Oct 6, 2026, at 11:36=E2=80=AFAM, John Baldwin &lt;jhb@FreeBSD.org&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div><div>On 10/6/26 =
10:42, Enji Cooper (yaneurabeya) wrote:<br><blockquote =
type=3D"cite">...<br><blockquote type=3D"cite"><blockquote type=3D"cite">+=
 attr.size =3D MIN(args-&gt;size, =
sizeof(attr));<br></blockquote></blockquote>=E2=80=A6<br><blockquote =
type=3D"cite"><blockquote type=3D"cite">+ return (copyout(&amp;attr, =
args-&gt;attr, args-&gt;size));<br></blockquote><br>So, this lets the =
caller decide how much stack data they want to copy<br>out, independent =
of sizeof(attr). &nbsp;The only constraint is the<br>`args-&gt;size &gt; =
PAGE_SIZE` check at the beginning of the function.<br></blockquote>I =
eliminated a duplicate calculation in the copyout which contradicted the =
[Linux] documented interface [1].<br></blockquote><br>.. and introduced =
a kernel stack disclosure (the kind of thing we normally<br>have to ship =
an SA for). &nbsp;Using attr.size for the length here is the<br>correct =
solution.<br></div></div></blockquote><div><br></div>Yeah. I figured out =
that I typoed `args-&gt;size` instead of `attr.size` in this commit when =
I was rereading the Differential:&nbsp;<a =
href=3D"https://reviews.freebsd.org/D60214?id=3D188351#inline-356758">http=
s://reviews.freebsd.org/D60214?id=3D188351#inline-356758</a>&nbsp;(it =
took me longer to figure out what @markj was originally pointing out was =
wrong in this change). FWIW, I agree that the unsanitized user-provided =
value shouldn=E2=80=99t have been used.</div><div><br></div><div>To =
protect against making that mistake in the future, I renamed variables =
to hopefully make their use clearer and make the variables a bit more =
unique. It helps me personally because my brain sometimes blurs details =
when there are a lot of commonalities with words (both written and =
phonetic).</div><div><br>...<br><br><blockquote =
type=3D"cite"><div><div><blockquote type=3D"cite">The interface =
documented by Linux allows the user to specify the amount of data to =
copy out =
(https://www.man7.org/linux/man-pages/man2/sched_getattr.2.html):<br><bloc=
kquote type=3D"cite"> &nbsp;The fields of the sched_attr structure are =
as follows:<br><br>size This field should be set to the size of the =
structure in<br></blockquote>bytes, as in sizeof(struct sched_attr). If =
the provided<br>structure is smaller than the kernel structure, =
any<br>additional fields are assumed to be '0'. If the =
provided<br>structure is larger than the kernel structure, the =
kernel<br>verifies that all additional fields are 0; if they are =
not,<br>sched_setattr() fails with the error E2BIG and updates =
size<br>to contain the size of the kernel =
structure.<br></blockquote><br>Right, so the extra bytes in the case =
that args-&gt;size is<br><blockquote type=3D"cite">sizeof(attr) are =
supposed to be all zeroes already (and you<br></blockquote>are supposed =
to check that in the syscall if you aren't already)<br>so you don't need =
to copy them back out again, only the<br>sizeof(attr) bytes including =
the updated size.<br><br>This is not all that weird, and is similar to =
how we handle<br>cpuset masks which also can be differently sized than =
the<br>kernel's =
representation.<br></div></div></blockquote></div><br><div>Ok. I guess =
my earlier statement demonstrates how little experience I have in this =
area.</div><div><br></div><div>Thank =
you,</div><div>-Enji</div></body></html>=

--Apple-Mail=_26541C16-BA63-4085-B07D-38D4DFDDE099--

--Apple-Mail=_2124B0A8-1BBA-488D-AE58-D2ED1562C789
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmrFSsYACgkQGpE5DjPs
NJiUFw//RV5dd9lBRCgH/MgVyY48IBwwSokDh010FfpKcJG7ANJX9aS9jwku/Nr0
I8IPKzstQCWLnbBZPXjsPUo6jjGMmur7zSyEyUKGp0YAQUskW+KNe1n25XH20FG4
699E5qw6t43fAj2XdZtYwqGLYNnurYszWWiFv51rhQTIAn02FOwnDUS92l2Yi+u5
9kjIuJMu2v0g1ycVKcqACWqblVUju1bInD0xBZ+/+MRBm7GRfHqUow/d+i6on1S+
k81U7vYGnJmQDYmlIqspmvo3FStLwAGGtjndZmjaWVuQYqVjQTg8EmxSSwqA/WQ9
waTtr57HkfxHiTEsdrZvegYtrnRfev9jF99ZF2uK/7zxEe7DnEvivb1d8AVEv3G4
1hFcyy4AblerfF9eQACy3pRFziQ64b3SJizT7yPBD4fKEbdu2qakd9ZPR5gdMr/C
oQ8kQwfWxh+UQcnmfqfTUfjDztrGQgZF+9Z2umxuS8b9da6n8b7hc487SLEEQ8d+
huoIsvVtjZ5kgTbAJ1CRjV87FNKwZ9Kw4N3bKdqhzv3UXwFYNG0QHHF3uV9gnnYO
ljgEsJijN+cSXJTItXZ7mbtDaTJ70ZMj/MSabFo1tIALBtxFvnT8tyQYslI+2otU
HmwV4Es/Xo6k7Oi9y1q09lsDfVZwfc6F83SnWGdrO/gJjSDCpKE=
=EFuA
-----END PGP SIGNATURE-----

--Apple-Mail=_2124B0A8-1BBA-488D-AE58-D2ED1562C789--

From nobody Tue Oct  6 20:15: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 4hznYR4XKxz6cPZW
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 20:15: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hznYR24B4z4XS5
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 20:15:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791317707;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xVYDRaw7PQstxEAxqEQf1mqemnB8OSi+HIXQL0/iPnk=;
	b=oVqvrEtoSo+kUyPgD8FT9sjTgZaIYeRqamLLlcE1IKpwLPBC1AQgI87fAkxty+2SKAcB2L
	iUPHm9xgB/yRLtCIdksWXjW5WJEXBDrUa9bBpzdJ8tRXX/ZYJhSDsB3t0hzGxBNJ0fQk3K
	aF3kwFfrZW7jO59ouGsUiYQvpGdDfoSDUQF4DkSsq/Dkwr4w9vffnTEaECqkNYdP3wR+ch
	2pw7Ba7nS0Mf+tjO8ZH3KilfneLkQLZaUKIts7dTmZjxLDcKDJ5Gv4JlQOyH4f5AT8ycU+
	oZ8hbLjzkjr8LC49vVEyqBuI9d1iq5H+3wupPPHd4qhYgiynNGN4ZKMwn4CdiQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791317707;
	b=X2SizQnt+/+PqvVRf4lSkebkvxpxEYX4VIbKbdZDg6qcp+vdmlVMf9V1Hb9iPEjLJm9Ike
	mGrn8gb7Z/9NbtmRi2GkeuRmSra8cIaFrTSz/ky4IcG+ZVNF7BU1TJpsWT0BR7ZWbfWsLd
	Ym0PLovgIhdLhEpBwAPtMAnA9Q6679zcXdt1KhG/vxDByLlrMvJd1WtkpufkYmG2Afu6PI
	xeTSmpPbtgCCCG603+egOlC2QYam7XRfaiK8NqJXIPWU2bb05gd4mAPf038sdEo1huGGS5
	0djboWJFp9rqzzbCA1Wki8PJ7lUK7j6vPl3cD3vHuDGpYFyCdiIquN38EDrbDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791317707;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xVYDRaw7PQstxEAxqEQf1mqemnB8OSi+HIXQL0/iPnk=;
	b=FDnAiS5UewwADzOm+ZGNUcVjsJqYhRFnJ4CtOzcvcznA5fbci0eIbk8RToO0yviSzgF4lb
	KPJ3fno+lcFgvgAqWeCgKBl9wsO6CpVyiXpYh6nfMHLZzO+Vyz/otiiuP6XtYTvv1BoNBs
	Z55UKuXxh4EGienS2hQ2DV8klS5//d9q3rLbXmQbzRnCPD3Z++k9a2CPx3+KroVikxErB/
	CfcY78a71PBoRr0tY/VYyOt4gnWSvjix2l+yxwZQ+1wX8x9yIbNMCr4Sd4saeD17+DKC5V
	wY0Jho2QnF9Oi7aReah3SAhlc+GklC0lNcP/+4b3UF6Lqx/5RBeel4kTDJC9lg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hznYR17KGzL6W
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 20:15:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 478f5
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 20:15:07 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Ed Maste <emaste@FreeBSD.org>
Subject: git: e3f5a83b8f3c - main - camcontrol: Add Spectra Logic copyright
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: e3f5a83b8f3c75651c1acb93c7f0edb8172b5eaa
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 20:15:07 +0000
Message-Id: <6ac556cb.478f5.7ca227d3@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit e3f5a83b8f3c75651c1acb93c7f0edb8172b5eaa
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-10-06 20:03:58 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-10-06 20:14:51 +0000

    camcontrol: Add Spectra Logic copyright
    
    The majority of lines of code currently in fwdownload.c come from ken@'s
    rework in commit 0e358df062dd ("Revamp camcontrol(8) fwdownload support
    and add the opcodes subcommand.").  Add the appropriate copyright.
    
    Approved by:    ken
---
 sbin/camcontrol/fwdownload.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sbin/camcontrol/fwdownload.c b/sbin/camcontrol/fwdownload.c
index d8057dab326c..0ad53dd2325d 100644
--- a/sbin/camcontrol/fwdownload.c
+++ b/sbin/camcontrol/fwdownload.c
@@ -1,6 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause
  *
+ * Copyright (c) 2015 Spectra Logic Corporation.
  * Copyright (c) 2011 Sandvine Incorporated. All rights reserved.
  * Copyright (c) 2002-2011 Andre Albsmeier <andre@albsmeier.net>
  * All rights reserved.

From nobody Tue Oct  6 22:58: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 4hzsBK1C8xz6cdYB
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 22:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzsBK0c7Zz3DTx
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791327529;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=hQdfHfGK5Axb+GJzID3rTbb9lgD3GjTp79iqmyE9JX0=;
	b=ozG6bTBZ+6p/7a7Bk1L15AmVqmIczeHjGJOoPdlXYyLhS7cZ4hDFgK8YAWIveXLvN+oo3c
	t18eqKnl8Lr2aSAkPKu5y8HldQzayrBVbDVbiWWMOXvFfdTgsGXOQAuMLDvg4MSE8/pz2I
	VUWa0G/cexV1NzHCqmkUkLAs/abhPcBZ5hd/PSSQcfFQGwl+WIFdPDsvMPruuPFqZuw29c
	8tULPc85+IBF/JJmHZbDU/HRxbGnqSxKfHPDdEqVFs2sy0ahhLG+9aNWSVcObyZtI67nZ3
	6vZCDGpufL9extcrqVqTs4T6jZb9WitLJ3FMvpcm0jLlLyez2lJQ1w1VAtQR3w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791327529;
	b=f3BnBffLMhaM7sCAl43ORNtrJPVmGxjbM/MfGXBWyj0A2UROe8sEm1TosMXuC/IumSdCHr
	vPLuxxS4S04ZRE0sNTVfCtiRU1R/IY1O64jZb9dtilpC33XXKqODuRVSaTgGhCVfMsxeM1
	ETJMWPzTcRM0oNBjC6M4a/3qiap7pXwF9nIuXFqF4NOVdfwlAtQC788C31KESC+g9qUYGw
	OBN8GLELuQbb7ddveQ9jHGfpmKPTeUYj4ALfa9uGluEXWLnt1tLJn1ijefUV1fSBNLavwC
	XEbMv0D7RdKH7JLP1fsvOmWU7KAn2HgEtUMVP9V/tXsYnCEt7wbosY/UvLdb5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791327529;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=hQdfHfGK5Axb+GJzID3rTbb9lgD3GjTp79iqmyE9JX0=;
	b=euseB3ng6xOEGLPhyzN/fPbM6zd/JjYX7Un7TAKGFhgn2ugDwzP7G0+gOfEXVYLiKqDmk5
	Ai/NrxyqrWLUbi9iJ92FGf8E+wtxdcyNu5zlPJYfFBnB5Y+ZO2kMiqRC2Saw3NJe8iPT76
	SedkLSJW/5dD9ejpCQTGPzlk8sHfNYeGWRTCP9JxbOmvwOoKIpzByNNy7vIsurltgsdd+0
	6S9BfeWvVb2vSGEHFceEZEPyUDwFspuXvLzaPuuPK2xQ4Yusg8k0TBbhqym70pLAqx0CBG
	U9kmWoUrhmZyrnnJ24ecAWC9kLcux1KqU3WKXm0rgIdNtKTr44nrnScoLE7QMw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzsBJ6WpVzQvg
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 27b52
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 22:58:48 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 0040d1fb7a25 - main - cam: Rename cam_iosched_bio_complete to cam_iosched_bio_update_stats
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 0040d1fb7a251daa0690f4858ddb495bee79ae52
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 22:58:48 +0000
Message-Id: <6ac57d28.27b52.68aa3ae@gitrepo.freebsd.org>

The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=0040d1fb7a251daa0690f4858ddb495bee79ae52

commit 0040d1fb7a251daa0690f4858ddb495bee79ae52
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-06 22:45:31 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-06 22:46:22 +0000

    cam: Rename cam_iosched_bio_complete to cam_iosched_bio_update_stats
    
    The function updates scheduler statistics but does not complete the
    bio. Rename it to avoid implying ownership of bio completion.
    
    Sponsored by:           Netflix
    
    Reviewed by:    ali_mashtizadeh.com
    Differential Revision:  https://reviews.freebsd.org/D60349
---
 sys/cam/ata/ata_da.c   | 2 +-
 sys/cam/cam_iosched.c  | 2 +-
 sys/cam/cam_iosched.h  | 2 +-
 sys/cam/nvme/nvme_da.c | 6 +++---
 sys/cam/scsi/scsi_da.c | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index 76f8e26e43ae..9a088cc74337 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -3010,7 +3010,7 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
 		 * extensive.  Release the periph refcount taken in adastart()
 		 * for each CCB.
 		 */
-		cam_iosched_bio_complete(softc->cam_iosched, bp, done_ccb);
+		cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
 		xpt_release_ccb(done_ccb);
 		KASSERT(softc->refcount >= 1, ("adadone softc %p refcount %d", softc, softc->refcount));
 		softc->refcount--;
diff --git a/sys/cam/cam_iosched.c b/sys/cam/cam_iosched.c
index a7b7eb3cc4e9..e807301c6302 100644
--- a/sys/cam/cam_iosched.c
+++ b/sys/cam/cam_iosched.c
@@ -1771,7 +1771,7 @@ cam_iosched_trim_done(struct cam_iosched_softc *isc)
  * might use notes in the ccb for statistics.
  */
 int
-cam_iosched_bio_complete(struct cam_iosched_softc *isc, struct bio *bp,
+cam_iosched_bio_update_stats(struct cam_iosched_softc *isc, struct bio *bp,
     union ccb *done_ccb)
 {
 	int retval = 0;
diff --git a/sys/cam/cam_iosched.h b/sys/cam/cam_iosched.h
index 54f9a7c02a25..cbe6a20fb871 100644
--- a/sys/cam/cam_iosched.h
+++ b/sys/cam/cam_iosched.h
@@ -99,7 +99,7 @@ int cam_iosched_has_work_flags(struct cam_iosched_softc *isc, uint32_t flags);
 void cam_iosched_set_work_flags(struct cam_iosched_softc *isc, uint32_t flags);
 void cam_iosched_clr_work_flags(struct cam_iosched_softc *isc, uint32_t flags);
 void cam_iosched_trim_done(struct cam_iosched_softc *isc);
-int cam_iosched_bio_complete(struct cam_iosched_softc *isc, struct bio *bp, union ccb *done_ccb);
+int cam_iosched_bio_update_stats(struct cam_iosched_softc *isc, struct bio *bp, union ccb *done_ccb);
 void cam_iosched_set_latfcn(struct cam_iosched_softc *isc, cam_iosched_latfcn_t, void *);
 void cam_iosched_set_trim_goal(struct cam_iosched_softc *isc, int goal);
 void cam_iosched_set_trim_ticks(struct cam_iosched_softc *isc, int ticks);
diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c
index e1831331f8f3..fe5c87c5428a 100644
--- a/sys/cam/nvme/nvme_da.c
+++ b/sys/cam/nvme/nvme_da.c
@@ -1322,7 +1322,7 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
 			 * routine, which in the case of sendfile can be quite
 			 * extensive.
 			 */
-			cam_iosched_bio_complete(softc->cam_iosched, bp, done_ccb);
+			cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
 			xpt_release_ccb(done_ccb);
 			ndaschedule(periph);
 			cam_periph_unlock(periph);
@@ -1349,7 +1349,7 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
 			 * so we can keep proper counts.
 			 */
 			bp1 = TAILQ_FIRST(&queue);
-			cam_iosched_bio_complete(softc->cam_iosched, bp1, done_ccb);
+			cam_iosched_bio_update_stats(softc->cam_iosched, bp1, done_ccb);
 			xpt_release_ccb(done_ccb);
 			softc->outstanding_cmds--;
 			ndaschedule(periph);
@@ -1363,7 +1363,7 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
 				} else
 					bp2->bio_resid = 0;
 				if (bp1 != bp2)
-					cam_iosched_bio_complete(softc->cam_iosched, bp2, NULL);
+					cam_iosched_bio_update_stats(softc->cam_iosched, bp2, NULL);
 				biodone(bp2);
 			}
 		}
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 9a52ee96fa80..04f924c7a91e 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -4788,7 +4788,7 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
 	 * the case of sendfile can be quite extensive. Release the periph
 	 * refcount taken in dastart() for each CCB.
 	 */
-	cam_iosched_bio_complete(softc->cam_iosched, bp, done_ccb);
+	cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
 	xpt_release_ccb(done_ccb);
 	KASSERT(softc->refcount >= 1, ("dadone softc %p refcount %d", softc, softc->refcount));
 	softc->refcount--;

From nobody Tue Oct  6 22:58: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 4hzsBL1SjZz6cdr3
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 22:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzsBL0p3fz3DZp
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791327530;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Rth2XEyioa6+8oQz248cagbpUyzzulqGCb+OMBXWSMw=;
	b=ifwLsdg6kXgCd1E99NeJc16N4ftsNVZv41K4FtcuOrMWuKzNHc5hVFbMwW2a/rFRyE/ZHR
	r2prlRhpUUyhYMafPpIvj5WjjiVfQBOYMbssDlg0YCPy+hjv/795c0pfxmr3GYATv3IHaI
	UqYYoOo2kQpuJuYcVrwHOlurei/fhR0s5veV2EBdgDhrjaI9wCUEYGIaRDpMBcEtCBnu4/
	DQfFQJ2kXYRAzhLIID9/42OPlUSPmQjhV46zWqZoJfVT6AuBO/AqyLQjh451NgyS/1X+u/
	2V3AE8U+o+r+S9+b6LbCNqcsmPeDTvp1m6X9QCsejY6pdUg1uGwSkYFATybxcw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791327530;
	b=oNHB9zR754ystmKdCQPMR1fUvoOsUG2ooEHOM4EBF61QKqadA4ajMtf0W/uuYbnZ/myISR
	iyXeqhRRy3zk/yz7d2X6hVE+PXNm6SMSTQ2LUWBdX7PsORBk/jMRzuNm/gBBJ7trpscNIU
	G4d/w+azouCgF/0yw/Iq9opyXbBb4OTY85B0wj9M5WXL4bPiSQm0nRr1SIahbAIwgSQNql
	pqosEuxtKxVfCzUoUVrp4vMaYJO3JJf+2A2PTakutbJeYE6Qz7hQ7gikHIc62sOwQS3EVC
	eU77G2niejSuYBU//VfkBLinqeFqWx/MucM5Y7zu8T0xwM6KMDGQlFp1bjiDLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791327530;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Rth2XEyioa6+8oQz248cagbpUyzzulqGCb+OMBXWSMw=;
	b=sTuFY3k/e/DIeSpYrmPehkXiZruw7eW83Vs5eBwXpsFq0anPDpEL5IzOG3vVEVDCk32UCq
	MEnCeHG3tmo+ec5e03tZyuPB3lGRsArki6btUzkcFaBdlq3AsvmGb+1lxS5AWN+KXxQ8xB
	EkLUJYcN5MomlCGNV5AaXTaRoisy/M0Gm1+UNIGLEglUJowHkwEa8IvXE65Gh2J1s4jm6h
	pK5wx2NXDrWSNff3IKrLSrQsP+KNzPMMywEsZrWdraxSaFCkona6MWyDEdaErzLf/H9OPW
	J/HD9NBDg1DqocWSfOoUgNKilzZ7Ytbmluz0EmwyRwgwi3aHNeidEExIQrJLFA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzsBK6lFSzQvj
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 31e11
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 22:58:49 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 4a3a5de8ace3 - main - nda: Update trim stats with the periph lock held
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 4a3a5de8ace3c41da35f0fbac4d2549b868d1091
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 22:58:49 +0000
Message-Id: <6ac57d29.31e11.60ba1514@gitrepo.freebsd.org>

The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=4a3a5de8ace3c41da35f0fbac4d2549b868d1091

commit 4a3a5de8ace3c41da35f0fbac4d2549b868d1091
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-06 22:45:36 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-06 22:46:22 +0000

    nda: Update trim stats with the periph lock held
    
    Separate the updating the stats for the completion from the biodone for
    each one.
    
    Sponsored by:           Netflix
    Reviewed by:            ali_mashtizadeh.com
    Differential Revision:  https://reviews.freebsd.org/D60155
---
 sys/cam/cam_iosched.c  | 22 ++++++++++++++++++++++
 sys/cam/cam_iosched.h  |  2 ++
 sys/cam/nvme/nvme_da.c | 22 ++++------------------
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/sys/cam/cam_iosched.c b/sys/cam/cam_iosched.c
index e807301c6302..822adffc93e5 100644
--- a/sys/cam/cam_iosched.c
+++ b/sys/cam/cam_iosched.c
@@ -1822,6 +1822,28 @@ cam_iosched_bio_update_stats(struct cam_iosched_softc *isc, struct bio *bp,
 	return retval;
 }
 
+/*
+ * Update completion status and statistics for each bio in a queue.
+ * The queue is not modified.
+ */
+void
+cam_iosched_bio_queue_update_stats(struct cam_iosched_softc *isc,
+    struct bio_queue *queue, union ccb *done_ccb, int error)
+{
+	struct bio *bp;
+
+	TAILQ_FOREACH(bp, queue, bio_queue) {
+		bp->bio_error = error;
+		if (error != 0) {
+			bp->bio_flags |= BIO_ERROR;
+			bp->bio_resid = bp->bio_bcount;
+		} else
+			bp->bio_resid = 0;
+		cam_iosched_bio_update_stats(isc, bp, done_ccb);
+		done_ccb = NULL;
+	}
+}
+
 /*
  * Tell the io scheduler that you've pushed a trim down into the sim.
  * This also tells the I/O scheduler not to push any more trims down, so
diff --git a/sys/cam/cam_iosched.h b/sys/cam/cam_iosched.h
index cbe6a20fb871..9fc9d4a91b22 100644
--- a/sys/cam/cam_iosched.h
+++ b/sys/cam/cam_iosched.h
@@ -100,6 +100,8 @@ void cam_iosched_set_work_flags(struct cam_iosched_softc *isc, uint32_t flags);
 void cam_iosched_clr_work_flags(struct cam_iosched_softc *isc, uint32_t flags);
 void cam_iosched_trim_done(struct cam_iosched_softc *isc);
 int cam_iosched_bio_update_stats(struct cam_iosched_softc *isc, struct bio *bp, union ccb *done_ccb);
+void cam_iosched_bio_queue_update_stats(struct cam_iosched_softc *isc,
+    struct bio_queue *queue, union ccb *done_ccb, int error);
 void cam_iosched_set_latfcn(struct cam_iosched_softc *isc, cam_iosched_latfcn_t, void *);
 void cam_iosched_set_trim_goal(struct cam_iosched_softc *isc, int goal);
 void cam_iosched_set_trim_ticks(struct cam_iosched_softc *isc, int ticks);
diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c
index fe5c87c5428a..dc06d2d0d0ab 100644
--- a/sys/cam/nvme/nvme_da.c
+++ b/sys/cam/nvme/nvme_da.c
@@ -1329,8 +1329,8 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
 			biodone(bp);
 		} else { /* state == NDA_CCB_TRIM */
 			struct nda_trim_request *trim;
-			struct bio *bp1, *bp2;
-			TAILQ_HEAD(, bio) queue;
+			struct bio *bp2;
+			struct bio_queue queue;
 
 			trim = nvmeio->ccb_trim;
 			TAILQ_INIT(&queue);
@@ -1342,28 +1342,14 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
 			 * need to call this here.
 			 * cam_iosched_trim_done(softc->cam_iosched);
 			 */
-			/*
-			 * The the I/O scheduler that we're finishing the I/O
-			 * so we can keep book. The first one we pass in the CCB
-			 * which has the timing information. The rest we pass in NULL
-			 * so we can keep proper counts.
-			 */
-			bp1 = TAILQ_FIRST(&queue);
-			cam_iosched_bio_update_stats(softc->cam_iosched, bp1, done_ccb);
+			cam_iosched_bio_queue_update_stats(softc->cam_iosched,
+			    &queue, done_ccb, error);
 			xpt_release_ccb(done_ccb);
 			softc->outstanding_cmds--;
 			ndaschedule(periph);
 			cam_periph_unlock(periph);
 			while ((bp2 = TAILQ_FIRST(&queue)) != NULL) {
 				TAILQ_REMOVE(&queue, bp2, bio_queue);
-				bp2->bio_error = error;
-				if (error != 0) {
-					bp2->bio_flags |= BIO_ERROR;
-					bp2->bio_resid = bp1->bio_bcount;
-				} else
-					bp2->bio_resid = 0;
-				if (bp1 != bp2)
-					cam_iosched_bio_update_stats(softc->cam_iosched, bp2, NULL);
 				biodone(bp2);
 			}
 		}

From nobody Tue Oct  6 22:58: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 4hzsBM3dxTz6cf1v
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 22:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzsBM1XbYz3DGy
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791327531;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=oi8Q4nIwWN/G4eVRD90+ILBxPOoz563F1RBX7yQPCVE=;
	b=uR2uWrgPumzwRZELKvZ1nDnXtw7o02v9H0htcA1SrZSAKTkIAQlEke1D/7NRmqBeZf/xKQ
	ltMdHoP154cp5wgLbG147aQpCdNOUWIr5NvVrm9ehIp+PE25lWsYNNjT5omBfhxQs0kWJp
	fneY+/yy+PzDBO1Y9hzGgoy9VftDn2gpjgy36kb3iozKykvmvQ7oSX2Skp4Z12iq4ZT3Ur
	Vom4gtcwbfrueLniUAGZqOnHFS2FvvzhjBQnjSVBt+jWY21t9iLtUCQhnG5tSPVtueY8KO
	L0nh47YC0L95LSqZSrxEMBKWZj00iIiCquNDVWjhDwmfYRhwIYWQq54D4dZBUA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791327531;
	b=v9g71DAd7ki573iB6X1ulejgPKgh8U5iybubrKuyrMzueLbJxd1aXJMyAUuCywy6z1VP1H
	K6dL8qC0Zl7RBgoh6n+jpuyWopGlcF9JK64cd+SIT6qN98UUFZad6e5wcJ+i6O154vTD4n
	B2kVbdH6ip2N5gIZK6AZFA4In7oI/tJMDV/8YCw5PrNlA4WaWUINv8Q9QcnecZ4jvwMtI5
	m00LujC3yls4SfHCwqK58oaW7Hzrtj+c4HKnHGdf9Qxn7dW5WTs2Amttr6D6AlzLLwmOB7
	4yT7bd3kZuhDz8In8XEDhfMICtGz3Q9vff/kRoCao75/+EiShfqEKjYf7lZ4zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791327531;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=oi8Q4nIwWN/G4eVRD90+ILBxPOoz563F1RBX7yQPCVE=;
	b=v4BjRm713s/UFZ9n6zmNdthPLgg5LvZ2PgWnXHV5S6OXPa/pGtsyFmmHIMf3HzCW/5n224
	zBaboTcMPBpoR6+JI1aUlDb44EdbHMvbxBP8onsSbI2UNb2KC2Gy5xNNQg3ssjF3oLbf1G
	Tk2m5k6ZTZ5hqfwgfq6L0E/4liTVOA6d0pwVb8fklBO+BGRG/uvcOMo+4niA0byF3ep/qa
	LgQvusYR3/CcVWfH0bThFdrAcUB1pBoaTFnLGwzdVBfoAPhpL4gpNbhACF4I7MTgNBlUnn
	Kj88O3QFnLzUCcHUrziMr+eCEEFvmbSTvDaMMO3mUJCWMuTI4E2cVITwikNUXQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzsBM06LMzQvk
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 32359
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 22:58:51 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Warner Losh <imp@FreeBSD.org>
Subject: git: bd86f0508e46 - main - da: Update trim stats with the periph lock held
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: bd86f0508e461526ba7342e52bd9778394b183f7
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 22:58:51 +0000
Message-Id: <6ac57d2b.32359.3662596e@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit bd86f0508e461526ba7342e52bd9778394b183f7
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-06 22:45:46 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-06 22:46:23 +0000

    da: Update trim stats with the periph lock held
    
    Separate the updating the stats for the completion from the biodone for
    each one.
    
    Sponsored by:           Netflix
    Reviewed by:            ali_mashtizadeh.com
    Differential Revision:  https://reviews.freebsd.org/D60156
---
 sys/cam/scsi/scsi_da.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 04f924c7a91e..ee5066592f1a 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -4658,6 +4658,7 @@ static void
 dadone(struct cam_periph *periph, union ccb *done_ccb)
 {
 	struct bio *bp, *bp1;
+	struct bio_queue queue;
 	struct da_softc *softc;
 	struct ccb_scsiio *csio;
 	da_ccb_state state;
@@ -4788,16 +4789,21 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
 	 * the case of sendfile can be quite extensive. Release the periph
 	 * refcount taken in dastart() for each CCB.
 	 */
-	cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
+	if (state == DA_CCB_DELETE) {
+		TAILQ_INIT(&queue);
+		TAILQ_INSERT_HEAD(&queue, bp, bio_queue);
+		TAILQ_CONCAT(&queue, &softc->delete_run_queue.queue,
+		    bio_queue);
+		softc->delete_run_queue.insert_point = NULL;
+		cam_iosched_bio_queue_update_stats(softc->cam_iosched, &queue,
+		    done_ccb, bp->bio_error);
+	} else {
+		cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
+	}
 	xpt_release_ccb(done_ccb);
 	KASSERT(softc->refcount >= 1, ("dadone softc %p refcount %d", softc, softc->refcount));
 	softc->refcount--;
 	if (state == DA_CCB_DELETE) {
-		TAILQ_HEAD(, bio) queue;
-
-		TAILQ_INIT(&queue);
-		TAILQ_CONCAT(&queue, &softc->delete_run_queue.queue, bio_queue);
-		softc->delete_run_queue.insert_point = NULL;
 		/*
 		 * Normally, the xpt_release_ccb() above would make sure
 		 * that when we have more work to do, that work would
@@ -4813,20 +4819,14 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
 		cam_periph_unlock(periph);
 		while ((bp1 = TAILQ_FIRST(&queue)) != NULL) {
 			TAILQ_REMOVE(&queue, bp1, bio_queue);
-			bp1->bio_error = bp->bio_error;
-			if (bp->bio_flags & BIO_ERROR) {
-				bp1->bio_flags |= BIO_ERROR;
-				bp1->bio_resid = bp1->bio_bcount;
-			} else
-				bp1->bio_resid = 0;
 			biodone(bp1);
 		}
 	} else {
 		daschedule(periph);
 		cam_periph_unlock(periph);
+		if (bp != NULL)
+			biodone(bp);
 	}
-	if (bp != NULL)
-		biodone(bp);
 	return;
 }
 

From nobody Tue Oct  6 22:58: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 4hzsBN4Nr8z6cf4Q
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 22:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzsBN1mpvz3DXS
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791327532;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=A0utc2Gco1KKnQAzNoqvi5ye0j2+oOkJZJM9Q+fkjkE=;
	b=De+bDNjBqEDONtdhnQxh62HZkjAsYKwhEFVRw0O56k4WnqLr7j+WXbrtCmyrYe0gn+nSuP
	brJefITWVzzDpMAFCmNr2am8Jk5eIB/F6tTHCYq30bKyNZ5Rk3KLSjBxJPacVIjRpHRcs2
	JO7SNG/nMSSvTHfHvqOf20ek4/GLXwvvmMmxjdO6om5Soyw+WZas7ucYCRozS+zdqnVHrb
	b/DlZzrHSsoMqgF20ZT6e3uoWvOZz6uIyjf57kqrhae1x9lw5VVfW5PjtJZpk1v+VPAb0I
	JMaH0w1gSYElNoIDR5BFcUJr0iA5XszWD2ZXlAoqshKAKNvnBCVxiU/he/rOCQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791327532;
	b=nBNHSB2FlcrbynwPjZpHKQwRsZDPO6rDtvLzmXLtbmXQyONifiPfI55NewWwUNZ3YG2IEg
	ckIn3gAQ34v4X4Y61dnFy5IJmVKy5Y41k7CRyRzW0yn7u7m+GJ9nAOXGuCD3KZv9tZhUm7
	nlYqDFnY97PBmjYXUQ6ExhWpOgnaNFk/6ID686XC5XHVkIJKrkmreNbCu+WUWZCDy3REcj
	3cjxk2Bu+y23ywUoK3FhapeuBoBRJP52e6yjyHT/GlH8pyjgpw93RP81iw52jl/IFkm9EW
	6jxYEDSGDDsK9uHuuKnaPneqTg0HsMyMJXM5RMhrRGNBe8BhBd4CrxyIf9+Eqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791327532;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=A0utc2Gco1KKnQAzNoqvi5ye0j2+oOkJZJM9Q+fkjkE=;
	b=AGTX23/HVTOFrYKqvfYEUZGTKJEaqIfW8U4IqdU3D/eA3KR+BsKtC8cqbM8Bc7UCOpP/XE
	KbaSZypWAp2jZUr8nJSaNh9c4WAfWSC6wQfYeMEGMKV4Y1OvwO2XctXIj8vNf8Db49uihb
	NfjyBAE4BX7b3Tg9HXB+2H/9Mk07GP5/38cm9ZN9uohqDyYUfD7ffThlPOUaKGjlzb/Uau
	PKvNySEJ9ymCDN4SA4IdNPNaWw8ZMUFoJ2lMfFIMvT9u5vKgqaEtWLkyQiSfiWupSViaD9
	m4Ulm7e/eRPw2pm70tcDeGLW+Cw9WCPA6sHdk4KlLG4W6qz5EHKCC6e7d4DN8w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzsBN0s9mzQPl
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 31a1f
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 22:58:52 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 7845cf8de8db - main - ada: Update trim stats for every bio
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 7845cf8de8db3f6dd60a69379907b51b80123eae
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 22:58:52 +0000
Message-Id: <6ac57d2c.31a1f.499489b@gitrepo.freebsd.org>

The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=7845cf8de8db3f6dd60a69379907b51b80123eae

commit 7845cf8de8db3f6dd60a69379907b51b80123eae
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-06 22:45:55 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-06 22:46:23 +0000

    ada: Update trim stats for every bio
    
    Separate the updating the stats for the completion from the biodone for
    each one.
    
    Sponsored by:           Netflix
    Reviewed by:            ali_mashtizadeh.com
    Differential Revision:  https://reviews.freebsd.org/D60157
---
 sys/cam/ata/ata_da.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index 9a088cc74337..9c6a5ba2f51d 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -2941,7 +2941,8 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
 	case ADA_CCB_BUFFER_IO:
 	case ADA_CCB_TRIM:
 	{
-		struct bio *bp;
+		struct bio *bp, *bp1;
+		struct bio_queue queue;
 		int error;
 
 		KASSERT(priority == CAM_PRIORITY_NORMAL,
@@ -3010,16 +3011,18 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
 		 * extensive.  Release the periph refcount taken in adastart()
 		 * for each CCB.
 		 */
-		cam_iosched_bio_update_stats(softc->cam_iosched, bp, done_ccb);
+		if (state == ADA_CCB_TRIM) {
+			TAILQ_INIT(&queue);
+			TAILQ_CONCAT(&queue, &softc->trim_req.bps, bio_queue);
+			cam_iosched_bio_queue_update_stats(softc->cam_iosched,
+			    &queue, done_ccb, error);
+		} else
+			cam_iosched_bio_update_stats(softc->cam_iosched, bp,
+			    done_ccb);
 		xpt_release_ccb(done_ccb);
 		KASSERT(softc->refcount >= 1, ("adadone softc %p refcount %d", softc, softc->refcount));
 		softc->refcount--;
 		if (state == ADA_CCB_TRIM) {
-			TAILQ_HEAD(, bio) queue;
-			struct bio *bp1;
-
-			TAILQ_INIT(&queue);
-			TAILQ_CONCAT(&queue, &softc->trim_req.bps, bio_queue);
 			/*
 			 * Normally, the xpt_release_ccb() above would make sure
 			 * that when we have more work to do, that work would
@@ -3035,12 +3038,6 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
 			cam_periph_unlock(periph);
 			while ((bp1 = TAILQ_FIRST(&queue)) != NULL) {
 				TAILQ_REMOVE(&queue, bp1, bio_queue);
-				bp1->bio_error = error;
-				if (error != 0) {
-					bp1->bio_flags |= BIO_ERROR;
-					bp1->bio_resid = bp1->bio_bcount;
-				} else
-					bp1->bio_resid = 0;
 				biodone(bp1);
 			}
 		} else {

From nobody Tue Oct  6 22:58: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 4hzsBP3fKlz6cdwX
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 06 Oct 2026 22:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzsBP2Jtqz3DKn
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791327533;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=I/62f4kw5sTS7RHDmYNrjnowyf3OzhSxAdQocb/46M8=;
	b=IcYsH70S/Da8/Jcme3X59NJk0sPr+6gIkeBLLLN+xS3MSeVi3JHbfeNQhViF3TXRZmVRou
	T3V60FMNGVpP620AA9LG86FKEeRzR13E9sG+SVr7k/xdVr1/xskL4S6a1gylEFkTZIekys
	x9rvyDk1N0/PTIl8xrDjY3jfypqtzsW+ns4gUXY8teCJuul4s+U8gEep0tor0l5UOK62iO
	7PS6ex41HvK4qbXmU/N1NIU4H8t7XKoJOczaMolRTfgvdqnoX5KzXSr5Vj4Q1XxG/5IE/X
	48m57L+7cbynvZIf4bV537f37DnDgQdzVVrodFgWwU0Qb6EgmJ7mY3o7gCxnwQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791327533;
	b=QjJ+YlOCqWffQ7Y3vaPzjzi+Spucvpf+TFqsscpdW/pPvC904OKpy5lGi1cM+cEsfnz985
	rni6eFITEHCy+MC3womDeESTx+LOvNL3FeBiQEKQt/2/zH0W3VEotI9BDnxcM6QHpB/OEZ
	tBESOVq+MK0X61sMe3I9McrJPcLC1ly6XkSthz5INJ8dOAgTBxmILrtOYnr7LtNh+dfb5a
	cI/FRkUmGq9UVncmwRUf0ZSxuCWVcjUDPW2dzVD2pGewngHm3+TBX2K5oz19a1SRUinYWR
	y8cd4h8bLIxmDJpgSvre3SMjEuo2R4CbYUxm5PPjypEDVe+a6Hnza5xw/BqbVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791327533;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=I/62f4kw5sTS7RHDmYNrjnowyf3OzhSxAdQocb/46M8=;
	b=BP+N5qvhPEotPgKNNp9efkDgLXSUweuMdQbQJUOlg9AyENZW2BcvTZRopZbfQ7QpZt4HGt
	WmGvCYZ2zh7NSzaJpEZ/NgAisHqfbDVwa2cbCq5AUjAxVlZz9L365x6Swy5pcYVEr+amap
	26iqK7V6BO4gyYEuss38Hd0ZiEmFezBgemCZM69tfMurlnExg2njNYUecZLzwmkwfCdu4u
	AsH6Rgpez1tcu/vRpSw6ipBUaAexJq785EgXrHqIqzvnqU4kNMlMPyGXQvkvKmajbbjl5j
	wwaip9MnVWG2FhS6ocKzaodfCMNAG+WZZ0rPT2I9vE2Nnfp27dNfCfdGn3wsdw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzsBP1FyQzQf4
	for <dev-commits-src-main@FreeBSD.org>; Tue, 06 Oct 2026 22:58:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 30b63
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 06 Oct 2026 22:58:53 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Warner Losh <imp@FreeBSD.org>
Subject: git: ab7249c288a4 - main - cam: Assert we have the periph lock when updating the iosched stats
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: ab7249c288a4d7d09c88f4de705b58a2afbf35f9
Auto-Submitted: auto-generated
Date: Tue, 06 Oct 2026 22:58:53 +0000
Message-Id: <6ac57d2d.30b63.35cb986c@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit ab7249c288a4d7d09c88f4de705b58a2afbf35f9
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-06 22:46:03 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-06 22:50:38 +0000

    cam: Assert we have the periph lock when updating the iosched stats
    
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D60350
---
 sys/cam/cam_iosched.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/cam/cam_iosched.c b/sys/cam/cam_iosched.c
index 822adffc93e5..74e66c6eedda 100644
--- a/sys/cam/cam_iosched.c
+++ b/sys/cam/cam_iosched.c
@@ -1775,7 +1775,9 @@ cam_iosched_bio_update_stats(struct cam_iosched_softc *isc, struct bio *bp,
     union ccb *done_ccb)
 {
 	int retval = 0;
+
 #ifdef CAM_IOSCHED_DYNAMIC
+	cam_periph_assert(isc->periph, MA_OWNED);
 	if (!do_dynamic_iosched)
 		return retval;
 

From nobody Wed Oct  7 00:07: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 4hztjP6R05z6jwb4
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 00:07: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hztjP5zGWz3QD2
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 00:07:21 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791331641;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dto1nEdjcyc6xIy64sAEgxrNo5ZmcYZJ72p0LBvrVig=;
	b=E/KgbVWZMHLqoz/QtBaJOqH+XLWCDsFBLrTa0FBImDQK4O7WrIS1TiMF2CAvpRT+jI2HFj
	Ki16Mwy3SUmKwncbaGYTK9AOpQvTtmEFeHG0lvbLaGrpMDcOn+qXPEIhEQcjtE9m93rI65
	71oU+rF8iT4iJYs1eNm1zqm0XZYDu/4sTYZ6jh5rY0AR3HYBVh9s2d8oebEdfzx34+Ghjs
	pigUwBxZk95hN/Ge5/6Xwgnz/8m1QBD0NK/+/MhMrJRC6Sao5zMpvoqitAj80eA+YNgbR+
	ibci2bzLXlR0LFtGIWhuES71iXufvwZuhOe29SqSUveINANw4WYvKIIV1cjfmw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791331641;
	b=fVcJCXJt2F9Hs4NE3kEvnjH4o5TcqvGjAmnIwDjvWOCQDFbbxFS+YH/xhbLMOl+0w/m8w0
	M1RRj+t9zsFpQ/AhOXrKpVILTR9Xe9j4wI65e0FYHEyZPw2erNQZo4lhol7aUiST1Cg1VF
	jKQwYVz8kyMnT5zFwIV0q/AxFmAF8ihS5jjk/cqzjbV7tSr0h/7Lto4W54A/v9L4l4V/mc
	jFIWNCUItzLXZ4OBussccdfNZTPhwKPbTu85eTUuaA2sdC84lketOLVYzwZvhiEghpLArI
	hWz+dOXKc0M1loUfOvJGdBAn89sAzA/xc+z2S3bAHFTSDTmnY4k32lkZ6Gy8Aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791331641;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dto1nEdjcyc6xIy64sAEgxrNo5ZmcYZJ72p0LBvrVig=;
	b=UCiqBrgSWKbCRUbu1lbG6vD0o+7CpccY6z8qLEIf0R2OJFpH61U0Fu67CnvEINKk5xcoBG
	Ixg+Lw3JMJQrjUfDE4Kj1e+Vp8+WDcU3Gf5vsChsAagTLxc8CMw/MaPV6OAJbegi8qntRz
	yHGkek690DosG3YckCTP4eiHNrK5iR6TUksk/tVM8ejaE0m9wZM6LwS6dwJ7Rz7+02xPkY
	PhKsVP0XYBXbOqLkZadVKQM6zu4Y68Iq0FUgA6cLrHgS5Cn738c4mHqqaOtXR4JKZfYp0s
	EyCUxeHrTQgGtt9Fd0KSyLRsPaJ6PYA52lSLEpkR5TL1V9oMKc2UjqjSx28MAw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hztjP533FzSWc
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 00:07:21 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 38ab9
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 00:07:21 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Cochard <olivier@FreeBSD.org>
Subject: git: 9af3990ba794 - main - sem test: avoid ETIMEDOUT races in the EINTR test cases
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: olivier
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 9af3990ba7940e85c31b5fc074e9510ee195465f
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 00:07:21 +0000
Message-Id: <6ac58d39.38ab9.6be1281e@gitrepo.freebsd.org>

The branch main has been updated by olivier:

URL: https://cgit.FreeBSD.org/src/commit/?id=9af3990ba7940e85c31b5fc074e9510ee195465f

commit 9af3990ba7940e85c31b5fc074e9510ee195465f
Author:     Olivier Cochard <olivier@FreeBSD.org>
AuthorDate: 2026-10-07 00:00:58 +0000
Commit:     Olivier Cochard <olivier@FreeBSD.org>
CommitDate: 2026-10-07 00:03:27 +0000

    sem test: avoid ETIMEDOUT races in the EINTR test cases
    
    timedwait and clockwait_absolute_intr_remaining arm a 50ms SIGALRM and then
    wait until an absolute deadline only 100ms in the future.
    On a loaded VM the signal can be delivered more than 50ms late, so the wait
    times out first.
    
    Approved by:    imp
    Sponsored by:   Netflix
    Differential Revision:  https://reviews.freebsd.org/D60347
---
 contrib/netbsd-tests/lib/librt/t_sem.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/contrib/netbsd-tests/lib/librt/t_sem.c b/contrib/netbsd-tests/lib/librt/t_sem.c
index f542c6315528..d24ca81c86de 100644
--- a/contrib/netbsd-tests/lib/librt/t_sem.c
+++ b/contrib/netbsd-tests/lib/librt/t_sem.c
@@ -287,7 +287,11 @@ ATF_TC_BODY(timedwait, tc)
 	    "%s", strerror(errno));
 	ATF_REQUIRE_MSG(clock_gettime(CLOCK_REALTIME, &ts) == 0,
 	    "%s", strerror(errno));
-        timespec_add_ms(&ts, 100);
+	/*
+	 * Only EINTR matters here, not the deadline: keep it far enough
+	 * from the 50ms timer that a loaded host cannot hit ETIMEDOUT.
+	 */
+	ts.tv_sec += 10;
 	ATF_REQUIRE_ERRNO(EINTR, sem_timedwait(&sem, &ts));
 	ATF_REQUIRE_MSG(got_sigalrm, "did not get SIGALRM");
 }
@@ -365,7 +369,11 @@ ATF_TC_BODY(clockwait_absolute_intr_remaining, tc)
 	    "%s", strerror(errno));
 	ATF_REQUIRE_MSG(clock_gettime(CLOCK_MONOTONIC, &ts) == 0,
 	    "%s", strerror(errno));
-        timespec_add_ms(&ts, 100);
+	/*
+	 * Only EINTR matters here, not the deadline: keep it far enough
+	 * from the 50ms timer that a loaded host cannot hit ETIMEDOUT.
+	 */
+	ts.tv_sec += 10;
 	ATF_REQUIRE_EQ(-1, sem_clockwait_np(&sem, CLOCK_MONOTONIC,
 	    TIMER_ABSTIME, &ts, &remain));
 	ATF_REQUIRE_ERRNO(EINTR, 1);

From nobody Wed Oct  7 01:16: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 4hzwFV5Z4wz6k2cF
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 01:16: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzwFV53PMz4Kth
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:16:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791335806;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FkZEwy/fiqM1Ei9ORqNBftgPiLg+o3fi5qjwlkLPzgk=;
	b=Xi8cCym0T/KkZN1Mu0qvrG6a+NOXFCbfi7VMJt8QGWUIg6ovEBsglu4H//egpGKqiWzq+V
	4utEtyYVrqk+3CnaM4c/qxTYrB2daFCOqjCxX67O77WQkmSQwPweFHXFwAcC3wuCDNml5r
	fE7SzP8Ae4Pxa+iXDJ2+C2KDWg0DOYZ65/2HLdTpD48eVlc8xAbOUaVGy7A1IAlQtY7VeY
	PmjvQyVgpT0QS5fvgiJxZ9+TyKDUxWUajdpG0ZwUGhuAPM+EA74VcTJwwdfYTjOWbajw3A
	KvMoRgfaT9FUn2lAFSB1j3ZPVL2cREg3DFXmZJnFWcouo57h3kiWxDr4FFsPoQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791335806;
	b=QudRcPBwSvx+JKlAE9VK+n8mOUqGkT5lgKY9LQKm2pEW7rJwA22C8bujvyruHiPpFvFl1i
	LVcydkjd6be6Xgm9FYUo3XJAdWDl57t49BsZ2dV+egXjws/bQVeMUVgRzJ057cE+4iUKPg
	Q4dNoLhT2TNbJeZEQud40pfzbtevhFiZiRrDPZSaNOGtrB8TA2VbejAb4fLEExMIDz5IZQ
	ZkPMcavhFPoGubo1mNvP8GWCu+sLjOSz7LYkrLvcxCjphnjLJf8Jgcb0wFJ3MqrKl0M0vy
	CJSBqzviBlVD7WMsRXPs/TnuQ539O7UJ0V2fpbT8X29cWDM9UaqNN2r0NXIV0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791335806;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=FkZEwy/fiqM1Ei9ORqNBftgPiLg+o3fi5qjwlkLPzgk=;
	b=OcYFuBNKInEU8EWpmE83c/WfgLIiOyfCXgdYtPx2TekEUFRgZb9XNZg2KeDbb0mlkeLn54
	7NWmihF412ZuKcXzqOYSqwaa3Zopr5aih73Tv0FS4GAuPGGYVkNowoQMckL9Plv4SAMlv7
	iVrsamgcvnuFxC9TMC0TQmAADFGziqcXANEm0ASnbyU7cVU+4aYL57LNSRKqsRG5wvqwDX
	A2Xs0cMm4zgfXzEtDU44ULPn7j8AMEdK2qlUJfMcwIZpHYGmUr/HVQ6J5ZMtdFvz1nbn+W
	FkMAFG8EqxGUlJZzXnRIfdfROsZG5KozSztLFleVADc92yev10d/9PvHpX39zA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzwFV45ymzWLr
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:16:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 186a0
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 01:16:46 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Philip Paeps <philip@FreeBSD.org>
Subject: git: 22c3edb31297 - main - contrib/expat: import expat 2.9.0
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 22c3edb31297a79ec3c7bf8f906be2df11b472d2
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 01:16:46 +0000
Message-Id: <6ac59d7e.186a0.7e782f81@gitrepo.freebsd.org>

The branch main has been updated by philip:

URL: https://cgit.FreeBSD.org/src/commit/?id=22c3edb31297a79ec3c7bf8f906be2df11b472d2

commit 22c3edb31297a79ec3c7bf8f906be2df11b472d2
Merge: 9af3990ba794 91970165e3bd
Author:     Philip Paeps <philip@FreeBSD.org>
AuthorDate: 2026-10-06 07:05:31 +0000
Commit:     Philip Paeps <philip@FreeBSD.org>
CommitDate: 2026-10-07 01:15:49 +0000

    contrib/expat: import expat 2.9.0
    
    Changes: https://github.com/libexpat/libexpat/blob/R_2_9_0/expat/Changes
    
    Security:       CVE-2026-102633
    Security:       CVE-2026-77214
    MFC after:      3 days

 contrib/expat/Changes                         | 128 ++++-
 contrib/expat/Makefile.in                     |   3 -
 contrib/expat/README.md                       |   2 +-
 contrib/expat/configure.ac                    |  27 +-
 contrib/expat/doc/Makefile.in                 |   3 -
 contrib/expat/doc/reference.html              | 754 +++++++++++++++++++++---
 contrib/expat/doc/xmlwf.1                     |   2 +-
 contrib/expat/doc/xmlwf.xml                   |   2 +-
 contrib/expat/examples/Makefile.in            |   3 -
 contrib/expat/examples/element_declarations.c |  14 +-
 contrib/expat/examples/elements.c             |  14 +-
 contrib/expat/examples/outline.c              |  14 +-
 contrib/expat/expat_config.h.in               |   4 -
 contrib/expat/fuzz/xml_parse_fuzzer.c         |   2 +-
 contrib/expat/fuzz/xml_parsebuffer_fuzzer.c   |   2 +-
 contrib/expat/lib/Makefile.am                 |   3 +-
 contrib/expat/lib/Makefile.in                 |  43 +-
 contrib/expat/lib/expat.h                     |  99 +++-
 contrib/expat/lib/expat_external.h            |   3 +
 contrib/expat/lib/internal.h                  |  12 +-
 contrib/expat/lib/libexpat.map.in             |  17 +-
 contrib/expat/lib/xcs.c                       |  90 +++
 contrib/expat/lib/{xcsinc.c => xcs.h}         |  36 +-
 contrib/expat/lib/xmlparse.c                  | 549 +++++++++++++-----
 contrib/expat/lib/xmltok.c                    | 280 ++-------
 contrib/expat/lib/xmltok_impl.c               |   2 +-
 contrib/expat/tests/Makefile.am               |   6 +-
 contrib/expat/tests/Makefile.in               |  23 +-
 contrib/expat/tests/acc_tests.c               |  37 ++
 contrib/expat/tests/alloc_tests.c             |  59 ++
 contrib/expat/tests/basic_tests.c             | 170 ++++--
 contrib/expat/tests/benchmark/Makefile.in     |   3 -
 contrib/expat/tests/benchmark/benchmark.c     |  19 +-
 contrib/expat/tests/chardata.c                |   4 +-
 contrib/expat/tests/common.c                  |  11 +-
 contrib/expat/tests/common.h                  |   6 -
 contrib/expat/tests/handlers.c                | 115 ++--
 contrib/expat/tests/misc_tests.c              | 114 +++-
 contrib/expat/tests/props_tests.c             | 790 ++++++++++++++++++++++++++
 contrib/expat/tests/props_tests.h             |  41 ++
 contrib/expat/tests/runtests.c                |  20 +-
 contrib/expat/tests/structdata.c              |  11 +-
 contrib/expat/tests/xcs_tests.c               |  86 +++
 contrib/expat/tests/xcs_tests.h               |  41 ++
 contrib/expat/xmlwf/Makefile.am               |   3 +-
 contrib/expat/xmlwf/Makefile.in               |  46 +-
 contrib/expat/xmlwf/xmlfile.c                 |   9 +-
 contrib/expat/xmlwf/xmlfile.h                 |   8 +-
 contrib/expat/xmlwf/xmlwf.c                   |  31 +-
 lib/libexpat/Makefile                         |   2 +-
 lib/libexpat/expat_config.h                   |   6 +-
 lib/libexpat/libbsdxml.3                      |   4 +-
 52 files changed, 2945 insertions(+), 828 deletions(-)

diff --cc contrib/expat/README.md
index 36e46a90fd23,000000000000..1951645e8285
mode 100644,000000..100644
--- a/contrib/expat/README.md
+++ b/contrib/expat/README.md
@@@ -1,303 -1,0 +1,303 @@@
 +[![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 has **unfixed security issues**!
 +> Please see https://github.com/libexpat/libexpat/issues/1160 for details.
 +
 +> [!NOTE]
 +>
 +> Starting 2026-08-01, for up to six months my work maintaining libexpat
 +> will be funded by the [City of Munich](https://en.wikipedia.org/wiki/Munich)
 +> as part of their [Open Source Sabbatical](https://opensource.muenchen.de/software/libexpat.html#open-source-sabbatical).
 +> Thank you! :heart: :pray:
 +
 +
- # Expat, Release 2.8.5
++# Expat, Release 2.9.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 &mdash; e.g. as part of
 +a Linux distribution &mdash; 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:
 +   <br/>
 +   `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:<br/>
 +   `automake`
 +
 +1. For UTF-16 output as unsigned short (and version/error strings as char),
 +   run:<br/>
 +   `./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf`<br/>
 +   For UTF-16 output as `wchar_t` (incl. version/error strings), run:<br/>
 +   `./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T
 +       --without-xmlwf`
 +   <br/>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 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
 +```
diff --cc contrib/expat/lib/xcs.c
index 000000000000,ae5e042d778f..ae5e042d778f
mode 000000,100644..100644
--- a/contrib/expat/lib/xcs.c
+++ b/contrib/expat/lib/xcs.c
diff --cc contrib/expat/tests/props_tests.c
index 000000000000,fe0eb0697b79..fe0eb0697b79
mode 000000,100644..100644
--- a/contrib/expat/tests/props_tests.c
+++ b/contrib/expat/tests/props_tests.c
diff --cc contrib/expat/tests/props_tests.h
index 000000000000,c429e4c06bf0..c429e4c06bf0
mode 000000,100644..100644
--- a/contrib/expat/tests/props_tests.h
+++ b/contrib/expat/tests/props_tests.h
diff --cc contrib/expat/tests/xcs_tests.c
index 000000000000,3d756b043dde..3d756b043dde
mode 000000,100644..100644
--- a/contrib/expat/tests/xcs_tests.c
+++ b/contrib/expat/tests/xcs_tests.c
diff --cc contrib/expat/tests/xcs_tests.h
index 000000000000,52015f14a63e..52015f14a63e
mode 000000,100644..100644
--- a/contrib/expat/tests/xcs_tests.h
+++ b/contrib/expat/tests/xcs_tests.h
diff --cc lib/libexpat/Makefile
index 1c5be3659eba,000000000000..ccc1adaf65c4
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=		random_arc4random_buf.c xmlparse.c xmlrole.c xmltok.c
++SRCS=		random_arc4random_buf.c xcs.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 <bsd.lib.mk>
diff --cc lib/libexpat/expat_config.h
index 1f84d179bcb7,000000000000..91fb9fd550e5
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 <machine/endian.h>
 +
 +/* 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 <dlfcn.h> header file. */
 +#define HAVE_DLFCN_H 1
 +
 +/* Define to 1 if you have the <fcntl.h> 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 <inttypes.h> 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 <stdint.h> header file. */
 +#define HAVE_STDINT_H 1
 +
 +/* Define to 1 if you have the <stdio.h> header file. */
 +#define HAVE_STDIO_H 1
 +
 +/* Define to 1 if you have the <stdlib.h> header file. */
 +#define HAVE_STDLIB_H 1
 +
 +/* Define to 1 if you have the <strings.h> header file. */
 +#define HAVE_STRINGS_H 1
 +
 +/* Define to 1 if you have the <string.h> 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 <sys/param.h> header file. */
 +#define HAVE_SYS_PARAM_H 1
 +
 +/* Define to 1 if you have the <sys/stat.h> header file. */
 +#define HAVE_SYS_STAT_H 1
 +
 +/* Define to 1 if you have the <sys/types.h> header file. */
 +#define HAVE_SYS_TYPES_H 1
 +
 +/* Define to 1 if you have the <unistd.h> 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.8.5"
++#define PACKAGE_STRING "expat 2.9.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.8.5"
++#define PACKAGE_VERSION "2.9.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.8.5"
++#define VERSION "2.9.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 <sys/types.h> does not define. */
 +/* #undef off_t */
 +
 +#endif // ndef EXPAT_CONFIG_H
diff --cc lib/libexpat/libbsdxml.3
index ffacc9898bc2,000000000000..bfdc4457093b
mode 100644,000000..100644
--- a/lib/libexpat/libbsdxml.3
+++ b/lib/libexpat/libbsdxml.3
@@@ -1,70 -1,0 +1,70 @@@
 +.\"-
 +.\" 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 September 22, 2026
++.Dd October 5, 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.8.5.
++library is a verbatim copy of the eXpat XML library version 2.9.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 in 1997 by
 +.An James Clark Aq Mt jjc@jclark.com .
 +.Pp
 +Subsequently eXpat maintenance and development was taken up in 2000 by a
 +group of people under the leadership of
 +.An Fred Drake ,
 +.An Paul Prescod ,
 +and
 +.An Clark Cooper .
 +.Pp
 +.An Sebastian Pipping Aq Mt sebastian@pipping.org
 +took over maintenance of eXpat in 2016.

From nobody Wed Oct  7 01:16: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 4hzwFW6BL1z6k2P7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 01:16: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzwFW5PvCz4Ktj
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:16:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791335807;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=rIqFbM59uDtA4fNO85QVzHoTZDLK8vyhtZcTD8twYPU=;
	b=Q5MRaPfn/thGMMLW43wVUr3TYXiOIKD7hUDT2J3ECSYYftL+5i03jtkcdxrc9XjiKEAlxN
	RLyibkXgcLrWhqxPbwLWXfHLlr/wqdCsSDRma33weELliFVR5xdhp9nZpxOUyEPMfJsM3w
	w1hgeP0l6yypEqB+efTnSqJBTqvqrAvdhpM+REtXe1yR4E0IczxqvkVtWu28kDzg75FYsi
	WurdwarxmQiAW0RegBgUk0ME2z5fKt6mFIGYaK0adXC8dL8CTClz+0ZfgOITHb005XY1CC
	c6ozNHJpddyEC79AwHGxP3L/ohAUA2FqjAEulaPgRbVl+b2aZvbIINYNYPdKag==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791335807;
	b=X0MihT5f/uszHxpkUpn26GpRXzLoPJftQ7pHIeUjPQj3KDymsLoCIQSAT5nFEm/oBNi52R
	8Uj8io2EFxKDuuWhdOXUv5+HoL2BIRo0vwYa3x6rixcZur2jE/DKjqbmX478DGWQ2DdwDE
	WA/DpZDKjn4enp3JSP7sbuVXZZsVSpqqfVc4PFq0+LmdEx7y6SltD84ZOTPuupbdV3qW7m
	bDoonZ0Mc3ZVXv3HOT/Pd7viirh8eQ9B/PxGkqEv4dL+3WQiIG2PX3k4ZJrzJkAl2HLJIk
	zzBJFPlJRa4Cgm4jTFvsHL80P7MBu0tV8QKIK8nxej7UdvVsRnC5rc8F2XzfqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791335807;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=rIqFbM59uDtA4fNO85QVzHoTZDLK8vyhtZcTD8twYPU=;
	b=C78vG4TNDLL/daAnAzjP4Sjq/vq1hMZOP8d2uYLZa29SpKX+FazVyzG35c/RHkiyl94cFe
	1aWD6E5+vXEtIqwCCYt4b3D6hRuXGIgjUGikGGBV1Xgy7eDaXRr4FdsSc+2HG7gLGEYjJ/
	jaQWzuL0Py4yfLw92bsuifxUt0okXr32+rY9t9bO6Ra/Vvvq6LjiOWGxdXVFAqvd7DToTM
	sUIPppMEExOR05SMUm/yNmB6wcfW2CkAlFeTGLHsqaYzwQ1YZuqerrcTHmdpEB+dlpE9mM
	8yqYpvicREK041HQuYfDLIpfmtjOpBa2hCXYtS0O+Z79ChIhn40EJPppcS7B1w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzwFW4V2BzWPF
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:16:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 18cc2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 01:16:47 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Philip Paeps <philip@FreeBSD.org>
Subject: git: 657c089950a0 - main - lib80211: fix build with eXpat 2.9.0
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 657c089950a0388811c7ba3f6d3e7127c297864e
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 01:16:47 +0000
Message-Id: <6ac59d7f.18cc2.7d392a48@gitrepo.freebsd.org>

The branch main has been updated by philip:

URL: https://cgit.FreeBSD.org/src/commit/?id=657c089950a0388811c7ba3f6d3e7127c297864e

commit 657c089950a0388811c7ba3f6d3e7127c297864e
Author:     Philip Paeps <philip@FreeBSD.org>
AuthorDate: 2026-10-06 03:14:03 +0000
Commit:     Philip Paeps <philip@FreeBSD.org>
CommitDate: 2026-10-07 01:15:49 +0000

    lib80211: fix build with eXpat 2.9.0
    
    eXpat 2.9.0 deprecates XML_GetCurrentLineNumber() in favour of
    XML_GetCurrentLineNumber64().  The new function behaves the same
    as the old one but is not prone to 32 bit integer wrap-around.
---
 lib/lib80211/lib80211_regdomain.c | 53 ++++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/lib/lib80211/lib80211_regdomain.c b/lib/lib80211/lib80211_regdomain.c
index db353a69f4d9..1e7b001dbbf4 100644
--- a/lib/lib80211/lib80211_regdomain.c
+++ b/lib/lib80211/lib80211_regdomain.c
@@ -30,6 +30,7 @@
 #include <sys/sbuf.h>
 #include <sys/stat.h>
 
+#include <inttypes.h>
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
@@ -106,8 +107,8 @@ start_element(void *data, const char *name, const char **attr)
 	}
 	if (iseq(name, "netband") && mt->curband == NULL && mt->rd != NULL) {
 		if (mode == NULL) {
-			warnx("no mode for netband at line %ld",
-			    XML_GetCurrentLineNumber(mt->parser));
+			warnx("no mode for netband at line %" PRIu64,
+			    XML_GetCurrentLineNumber64(mt->parser));
 			return;
 		}
 		if (iseq(mode, "11b"))
@@ -125,15 +126,15 @@ start_element(void *data, const char *name, const char **attr)
 		else if (iseq(mode, "11acg"))
 			mt->curband = &mt->rd->bands_11acg;
 		else
-			warnx("unknown mode \"%s\" at line %ld",
+			warnx("unknown mode \"%s\" at line %" PRIu64,
 			    __DECONST(char *, mode),
-			    XML_GetCurrentLineNumber(mt->parser));
+			    XML_GetCurrentLineNumber64(mt->parser));
 		return;
 	}
 	if (iseq(name, "band") && mt->netband == NULL) {
 		if (mt->curband == NULL) {
-			warnx("band without enclosing netband at line %ld",
-			    XML_GetCurrentLineNumber(mt->parser));
+			warnx("band without enclosing netband at line %" PRIu64,
+			    XML_GetCurrentLineNumber64(mt->parser));
 			return;
 		}
 		mt->netband = calloc(1, sizeof(struct netband));
@@ -143,8 +144,8 @@ start_element(void *data, const char *name, const char **attr)
 	if (iseq(name, "freqband") && mt->freqband == NULL && mt->netband != NULL) {
 		/* XXX handle inlines and merge into table? */
 		if (mt->netband->band != NULL) {
-			warnx("duplicate freqband at line %ld ignored",
-			    XML_GetCurrentLineNumber(mt->parser));
+			warnx("duplicate freqband at line %" PRIu64 " ignored",
+			    XML_GetCurrentLineNumber64(mt->parser));
 			/* XXX complain */
 		} else
 			mt->netband->band = (void *)strdup(ref);
@@ -227,8 +228,8 @@ decode_flag(struct mystate *mt, const char *p, int len)
 	for (i = 0; i < nitems(flags); i++)
 		if (len == flags[i].len && iseq(p, flags[i].name))
 			return flags[i].value;
-	warnx("unknown flag \"%.*s\" at line %ld ignored",
-	    len, p, XML_GetCurrentLineNumber(mt->parser));
+	warnx("unknown flag \"%.*s\" at line %" PRIu64 " ignored",
+	    len, p, XML_GetCurrentLineNumber64(mt->parser));
 	return 0;
 #undef iseq
 }
@@ -269,8 +270,8 @@ end_element(void *data, const char *name)
 		else if (mt->netband != NULL)
 			mt->netband->flags |= decode_flag(mt, p, len);
 		else {
-			warnx("flags without freqband or netband at line %ld ignored",
-			    XML_GetCurrentLineNumber(mt->parser));
+			warnx("flags without freqband or netband at line %" PRIu64 " ignored",
+			    XML_GetCurrentLineNumber64(mt->parser));
 		}
 		goto done;
 	}
@@ -318,8 +319,8 @@ end_element(void *data, const char *name)
 	}
 
 	if (len != 0) {
-		warnx("unexpected XML token \"%s\" data \"%s\" at line %ld",
-		    name, p, XML_GetCurrentLineNumber(mt->parser));
+		warnx("unexpected XML token \"%s\" data \"%s\" at line %" PRIu64,
+		    name, p, XML_GetCurrentLineNumber64(mt->parser));
 		/* XXX goto done? */
 	}
 	/* </freqband> */
@@ -337,12 +338,12 @@ end_element(void *data, const char *name)
 	/* </band> */
 	if (iseq(name, "band") && mt->netband != NULL) {
 		if (mt->netband->band == NULL) {
-			warnx("no freqbands for band at line %ld",
-			   XML_GetCurrentLineNumber(mt->parser));
+			warnx("no freqbands for band at line %" PRIu64,
+			   XML_GetCurrentLineNumber64(mt->parser));
 		}
 		if (mt->netband->maxPower == 0) {
-			warnx("no maxpower for band at line %ld",
-			   XML_GetCurrentLineNumber(mt->parser));
+			warnx("no maxpower for band at line %" PRIu64,
+			   XML_GetCurrentLineNumber64(mt->parser));
 		}
 		/* default max power w/ DFS to max power */
 		if (mt->netband->maxPowerDFS == 0)
@@ -359,16 +360,16 @@ end_element(void *data, const char *name)
 	if (iseq(name, "country") && mt->country != NULL) {
 		/* XXX NO_COUNTRY should be in the net80211 country enum */
 		if ((int) mt->country->code == NO_COUNTRY) {
-			warnx("no ISO cc for country at line %ld",
-			   XML_GetCurrentLineNumber(mt->parser));
+			warnx("no ISO cc for country at line %" PRIu64,
+			   XML_GetCurrentLineNumber64(mt->parser));
 		}
 		if (mt->country->name == NULL) {
-			warnx("no name for country at line %ld",
-			   XML_GetCurrentLineNumber(mt->parser));
+			warnx("no name for country at line %" PRIu64,
+			   XML_GetCurrentLineNumber64(mt->parser));
 		}
 		if (mt->country->rd == NULL) {
-			warnx("no regdomain reference for country at line %ld",
-			   XML_GetCurrentLineNumber(mt->parser));
+			warnx("no regdomain reference for country at line %" PRIu64,
+			   XML_GetCurrentLineNumber64(mt->parser));
 		}
 		mt->country = NULL;
 		goto done;
@@ -433,9 +434,9 @@ lib80211_regdomain_readconfig(struct regdata *rdp, const void *p, size_t len)
 	XML_SetElementHandler(mt->parser, start_element, end_element);
 	XML_SetCharacterDataHandler(mt->parser, char_data);
 	if (XML_Parse(mt->parser, p, len, 1) != XML_STATUS_OK) {
-		warnx("%s: %s at line %ld", __func__,
+		warnx("%s: %s at line %" PRIu64, __func__,
 		   XML_ErrorString(XML_GetErrorCode(mt->parser)),
-		   XML_GetCurrentLineNumber(mt->parser));
+		   XML_GetCurrentLineNumber64(mt->parser));
 		return -1;
 	}
 	XML_ParserFree(mt->parser);

From nobody Wed Oct  7 01:26: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 4hzwSX2M9hz6k315
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 01:26: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzwSX1qbVz4MQR
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:26:20 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791336380;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Y+kUdyu6r2IH7uZiIhq1KFI6QqXliDSwCPEVrDSKeTs=;
	b=ht6tE3bbxiflXD1JvqYkhlmkMgFNkLa/aTV3GtZ1jSNVCfV0f2pIvn6+Yn6PvwPUK1LOmS
	zwV24A5y7l4F/v0UBaEKzFJM9YaeZrQcdFcg8ZvfiFriZClB//oWJB6P1hD2eg+u7ofhXJ
	MZoVGd2CHK58eXYKIlmlQ2dJ/mv/XAFI1A/KHYLJ7VlPs2vvo0DPhgSQlfY/LDzxYy/W6f
	ZDntfw16ltE+VEkWHtVKeoEbBfK07xI8ry6QHNwt6P5GrHDMGfYLxH6TMOSEAGDytHvqIT
	EUPByyP+Qf3n+RtH90udaUwE/qSkJ9+FiNNEHrQUbcDccW89ew+Vlrud+GfqQQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791336380;
	b=YKASDS2LFCvehmfnW9RzoPfZ2HzCJ/Bk2maQ0cYPVgchXN3T43wrR6x1ixd9ttJGgN5bCw
	CSDE3U3jqhXoWjEfB9IK33PDFndaSQtnt2iMVg5lEtud7vWRjAFE+28X3+tfItbFf75zXj
	63yjIO/VQTR+sUJZbvzKICP5JBWSc3olDMfflDaeDcyr/KiuXLhv3TAE+tI4xRkacrc8OI
	pyFU2nqFVMSTn4Odac+stsQqHRC1jWAxYOYbhUXsKtPOInbnDxFzQlnUUylXnt+h7QGvoH
	a0W85+QiDhCNxQUYHOpK05gH1+Np+ViTWJ6FoMOya97SEPv+Vh01O4OiFVqBUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791336380;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Y+kUdyu6r2IH7uZiIhq1KFI6QqXliDSwCPEVrDSKeTs=;
	b=ad3DUsYLueHP6zzBuS6VXDFyomtXWSiPh97N3pfcYZYHdA7ncXq97u/14S5qGDUgPNJdz1
	ph6l5qZcj/loZ3BMf+LeeV9/63Rxx6mujBPJLaKU3H7Lpa5HYi5Q2cgn42BRUK+aIlyAzq
	EvOKiW0ZodAQTENUdLm6Y5Fo0NvDtlkyai03tkX80EU/kYZ/1BIFhTkfHeCauxB2VviSim
	2BtwdBr07KPoHC10xPCN7q9I3HKyDjcucbX+MNiG1BJCIbyt/zlm+QzdLbBx3xVvy5IHRv
	InpoKrI1P5YYfaRM6WiqVcPXW7PJgnZZ4XgUKvaloz1P14IjARtCTtWFfrHIfQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzwSX0tlFzWMl
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:26:20 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1a102
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 01:26:20 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: ShengYi Hung <aokblast@FreeBSD.org>
Subject: git: 192781bf5d04 - main - libthr: Consume error in check_and_init_mutex
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: aokblast
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 192781bf5d047cceff3a1947bfc754c8b5eb0835
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 01:26:20 +0000
Message-Id: <6ac59fbc.1a102.5334b535@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

URL: https://cgit.FreeBSD.org/src/commit/?id=192781bf5d047cceff3a1947bfc754c8b5eb0835

commit 192781bf5d047cceff3a1947bfc754c8b5eb0835
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-10-06 23:08:42 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-10-07 01:26:11 +0000

    libthr: Consume error in check_and_init_mutex
    
    MFC after:      2 weeks
---
 lib/libthr/thread/thr_mutex.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index 32bdc4afe65f..82da8ab1ccba 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -1136,7 +1136,7 @@ __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count)
 	ret = check_and_init_mutex(mutex, &m);
 	if (ret == 0)
 		m->m_yieldloops = count;
-	return (0);
+	return (ret);
 }
 
 int

From nobody Wed Oct  7 01:54: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 4hzx5V1N9mz6sl0b
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 01:54: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4hzx5T6vWXz4Rdb
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:54:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791338094;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Tsge8kveXHpIHxOkziX2hz2R3QmvbPAFOrgCfDM4xzw=;
	b=qrj5P0hHy7Bm4Iwyd/gECe5vIOvp1jRnIkCIL43bnZZnr8BkDymwjjhHhPIIw20Rq5UCTj
	Sc/TX04K9JPg3ydRepAOISUBIQnqCZuq17D7SZRH5PZ5kekPVZXi6g3E/PvCTEIMqr5uHg
	+lBknIMao0AJTU4TZbikVNMQX3yF1m2qoYu2qpprXZv8AM+qKYisF2PV3x/gm6rzXNT8AZ
	NmP3eaaJ2o3eNwk2Op1j86IE4LXzaMRXvvxRIAjRXgGyJF8348vra5faAFMtCcDs3DyWB1
	v40UgrBeE4phhjqjcO8PACyjOCsf4i61+UXvZFbP5rwBgGbGVHIVVPe96at+9Q==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791338094;
	b=gn20Is4dFI1GZttA6VFmpFfpNVzGo32FiKYjkHWtmrjxpzCTVMX9RvJ0Xwk4kAqsaEMOP6
	/3dmh1OR3K7yx6Y8E9DFNlDw228/Mw7r076RGj+Ah8tJ4BtGwdBg8uTW8RLOLT565xamnj
	Ga1p621/1Fh9qVvrW7eNrbCTFMRk9Q/xhm/8MjkCE2TfaUOwBEQ6XslojO44Omxeaan7Gk
	EyACRoQRR0UUe3lO2IWPIsXFAj8y13x6E7fgNi5Rno71hGJXX4EOabN1/as+JlggQSZS5n
	t29/LUsLSOYJGVWhgn+y3fxuFRSdpXbiVqFzuqMYtnDygo9Xo5l/d6Ngv+dFQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791338094;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Tsge8kveXHpIHxOkziX2hz2R3QmvbPAFOrgCfDM4xzw=;
	b=vJSBX6UA15e9/2115mfLzJI7cu9WGuYgrwDeyvNWHLuyEmeg9voEOvlJdUIpk+AvEYpPUV
	EycsNvObSitTmTUtwD6XuIQ5SDMqODOc+wPFGEeGVOvUoQlSrvyMvXZ07WONZ0D77n/OLU
	TbYhXHpJOkSohQkC3Tm0IuS1p9NnB7TobVw4TEb8fct7DUqRZthlX0nD21GvvPXo6VCK8P
	p18WjuTePniosljkX/K+A9E54KdLvKIqSEzkwClTkdB3aWGZ+s2qyLT/imVgRe50PVbl4r
	w59SVQIrMIcX9eVVcup/YDVO/AzoUGHzShIH3v/o0obD46Cxzy12vOF1RFstWQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hzx5T5lSzzYT9
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 01:54:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1d92d
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 01:54:48 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: J. David <j.david.lists@gmail.com>
From: Rick Macklem <rmacklem@FreeBSD.org>
Subject: git: 77a7a48a1cb0 - main - nfscl: Fix oddball cases for session slot release
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 77a7a48a1cb003831ff1d4342b1974fc7f79381e
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 01:54:48 +0000
Message-Id: <6ac5a668.1d92d.20633377@gitrepo.freebsd.org>

The branch main has been updated by rmacklem:

URL: https://cgit.FreeBSD.org/src/commit/?id=77a7a48a1cb003831ff1d4342b1974fc7f79381e

commit 77a7a48a1cb003831ff1d4342b1974fc7f79381e
Author:     J. David <j.david.lists@gmail.com>
AuthorDate: 2026-10-07 01:52:19 +0000
Commit:     Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2026-10-07 01:52:19 +0000

    nfscl: Fix oddball cases for session slot release
    
    We have identified some cases where silent slot loss can occur
    when operations on NFS mounts are aborted. We experience this
    when using NFSv4.2, but it likely also occurs with NFSv4.1.
    
    A slot is acquired for compound operations by nfsv4_setsequence()
    and freed by newnfs_request(). Any call path that abandons the
    compound before reaching newnfs_request() loses the slot permanently.
    
    We identified four call sites where this happens, one of
    which where it actually does happen for us in a semi-reproducible
    way, which allowed us to develop a candidate patch, attached.
    
    The patch adds one function, nfsv4_freeunsentslot(), to
    nfs_clcomsubs.c. It is called from each of the four call
    sites: nfsrpc_writerpc(), nfsrpc_writeds(), and two in
    nfsrpc_setextattr().
    
    nfsv4_freeunsentslot() calls nfsv4_freeslot() with resetseq
    set to true because the aborted RPC will never be sent and
    therefore the slot sequence ID should not advance.
    
    With this patch and other diagnostics, we have confirmed
    that slot loss does not occur under the conditions that
    otherwise cause it in our environment.
    
    PR:     298416
    Reviewed by:    rmacklem
    MFC after:      1 week
---
 sys/fs/nfs/nfs_var.h             |  2 ++
 sys/fs/nfsclient/nfs_clcomsubs.c | 18 ++++++++++++++++++
 sys/fs/nfsclient/nfs_clrpcops.c  |  4 ++++
 3 files changed, 24 insertions(+)

diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 38f0ff90c5da..488ddbd1c582 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -383,6 +383,8 @@ int nfscl_wcc_data(struct nfsrv_descript *, vnode_t,
 int nfsm_loadattr(struct nfsrv_descript *, struct nfsvattr *);
 int nfscl_request(struct nfsrv_descript *, vnode_t,
          NFSPROC_T *, struct ucred *);
+void nfsv4_freeunsentslot(struct nfsmount *, struct nfsclsession *,
+    struct nfsrv_descript *);
 
 /* nfs_nfsdsubs.c */
 void nfsd_fhtovp(struct nfsrv_descript *, struct nfsrvfh *, int,
diff --git a/sys/fs/nfsclient/nfs_clcomsubs.c b/sys/fs/nfsclient/nfs_clcomsubs.c
index d76eecd2762f..fa772ee12c8b 100644
--- a/sys/fs/nfsclient/nfs_clcomsubs.c
+++ b/sys/fs/nfsclient/nfs_clcomsubs.c
@@ -443,3 +443,21 @@ nfscl_lockderef(struct nfsv4lock *lckp)
 	}
 	NFSUNLOCKCLSTATE();
 }
+
+/*
+ * Free the session slot of a compound that was built but will not be sent
+ * to the server.
+ */
+void
+nfsv4_freeunsentslot(struct nfsmount *nmp, struct nfsclsession *sep,
+    struct nfsrv_descript *nd)
+{
+
+	if (nmp == NULL || (nd->nd_flag & (ND_NFSV41 | ND_HASSLOTID)) !=
+	    (ND_NFSV41 | ND_HASSLOTID))
+		return;
+	if (sep == NULL)
+		sep = nfsmnt_mdssession(nmp);
+	if (sep != NULL)
+		nfsv4_freeslot(sep, nd->nd_slotid, true);
+}
diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c
index 547771e4594f..ed19a782c5ba 100644
--- a/sys/fs/nfsclient/nfs_clrpcops.c
+++ b/sys/fs/nfsclient/nfs_clrpcops.c
@@ -2138,6 +2138,7 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, vm_page_t *pgp, int *iomode,
 			error = nfsm_uiombuf(nd, uiop, len);
 		}
 		if (error != 0) {
+			nfsv4_freeunsentslot(nmp, NULL, nd);
 			m_freem(nd->nd_mreq);
 			free(nd, M_TEMP);
 			return (error);
@@ -7376,6 +7377,7 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomode, int *must_commit,
 	*tl = txdr_unsigned(len);
 	error = nfsm_uiombuf(nd, uiop, len);
 	if (error != 0) {
+		nfsv4_freeunsentslot(nmp, &dsp->nfsclds_sess, nd);
 		m_freem(nd->nd_mreq);
 		return (error);
 	}
@@ -9740,6 +9742,7 @@ nfsrpc_setextattr(vnode_t vp, const char *name, struct uio *uiop,
 	NFSCL_REQSTART(nd, NFSPROC_SETEXTATTR, vp, cred);
 	if (uiop->uio_resid > nd->nd_maxreq) {
 		/* nd_maxreq is set by NFSCL_REQSTART(). */
+		nfsv4_freeunsentslot(VFSTONFS(vp->v_mount), NULL, nd);
 		m_freem(nd->nd_mreq);
 		return (EINVAL);
 	}
@@ -9750,6 +9753,7 @@ nfsrpc_setextattr(vnode_t vp, const char *name, struct uio *uiop,
 	*tl = txdr_unsigned(uiop->uio_resid);
 	error = nfsm_uiombuf(nd, uiop, uiop->uio_resid);
 	if (error != 0) {
+		nfsv4_freeunsentslot(VFSTONFS(vp->v_mount), NULL, nd);
 		m_freem(nd->nd_mreq);
 		return (error);
 	}

From nobody Wed Oct  7 03:51: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 4hzzhF6lJZz6svxW
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 03:51:41 +0000 (UTC)
	(envelope-from sobomax@sippysoft.com)
Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.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 4hzzhF1Zdzz4kmn
	for <dev-commits-src-main@freebsd.org>; Wed, 07 Oct 2026 03:51:41 +0000 (UTC)
	(envelope-from sobomax@sippysoft.com)
Authentication-Results: mx1.freebsd.org;
	dkim=none;
	arc=pass ("google.com:s=arc-20260327:i=1");
	spf=pass (mx1.freebsd.org: domain of sobomax@sippysoft.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=sobomax@sippysoft.com;
	dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none)
Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-381b831d535so3530360a91.0
        for <dev-commits-src-main@freebsd.org>; Tue, 06 Oct 2026 20:51:41 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1791345100; cv=none;
        d=google.com; s=arc-20260327;
        b=WXSYiWQ18WyRl/XAUpQ0yTjBSwzKhXA9FV2h/Dbp7d3Wr+0BuVLkAveo3Z5lYCfdcn
         yLWLD77PFt3EQATOBNUULP64WA+1ibJ2pCZgblYmcyO2Swo8dAJMmZTZjrAYQlvz6+3v
         +G7/v56CYxurgb8RnSfvJyIuLe4HsorBX7A+gghAm3lUoiwdegmle2vdChW6aX3L72bX
         5xrpQ7oC+6/J4OyWHanHfQR5NP1nFIcIUr3auAazUpCkkcfqTiLlnb858yNXG/maNWoA
         DZ0fx0yMkgTvBDl2o8YynuScpSP3+EKDD0bK2RnoSoXs9x8FXgKCq7aNHiJkz5n9RogZ
         MJPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version;
        bh=XGC8IzSHsoUfN4rL4lKDuvnYFM4fhlvmydtIamM4Ia0=;
        fh=/lETsaKgmpHO6av78cmohifquJ7P6wU6mxpucMNa560=;
        b=W8/faImPFCH5mQJ4a/nExYUtYozG8u7Oh1L4hmL66ndvd12scrSjVM/fAvHDbim8Dw
         4MeM9UClreYcFX4V3PZRuKqBR/F5PAMYS7cgdNoomZQXVfG20CCHQJi6ZYx2NOtqLSuS
         9rX297R5rsVi/00c2clYx/mnUrHiJxwBqOdDaCIVadKIwPuFDH9M4ADfXWUBFCcSEMel
         wQtuFkD+h6hXklf2qmfnJwDwaNKy82HY50o7z7Tc379qz/Z6eUamLfcVG56iSG4yVl9w
         YeLVeSlX7Thj9GBqPeeukP5lgcxj+/stejpOF/3sjZIvb+0jGPSFyE1fxOm0D7cv9q3L
         Lt0w==;
        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=20260707; t=1791345100; x=1791949900;
        h=content-type: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:content-type;
        bh=XGC8IzSHsoUfN4rL4lKDuvnYFM4fhlvmydtIamM4Ia0=;
        b=rNKVEwv4acJxcoRYoKPytt182tI81WfnBTw6FUtIQAz6T5uPfXHUwQ5/MwJhTCBicP
         YJ9l72XJLHFmxCg0FKZ6YhdhV+WFwDi2XCIdfg7Fsu5iylh7oowi6Tao9TH/bgBTI3Kp
         ubPHDq5q/q+axv15v3Owi655IxgUT7m1capg3c5vvcxg0Q+Pvd2x6l7NL9E3/MOPaeYm
         tBjjTEaKIsnb7N46wgiIbqsmRqvJw3Xwli1ew3X4X4mlQ0LULyyQnsSKJX1dJx6rn9P7
         keGIr0+7isivwe7F+omRf0dfHJag57uAZ8WOzg2vLhoFkSMl8/J9raQVvYRG3LxlylHj
         0tZQ==
X-Forwarded-Encrypted: i=1; AKwUvBy2rBTHGOtX0a9oYWEGp5fJZ3bzCBuMuJmBpdx52d0LBj+OKheJKoUlO17sdZPwIOmhvWS5HZe0asnfBIY5qDFKW2/dFg==@freebsd.org
X-Gm-Message-State: AFq9FYKI0kPz30bG/zw6jJQSaOii/KM6LCUZgFGvcSGMOu7/kW+JqGop
	xl+AqdCuL1nkyW9HG8oUDVc7BNqQ8eNPSdyPDWV8VDY1s2knklaVzuWrR1K6QQhxaZN0A/FFc9/
	jE+OJt07MllHRQcZVeiGW8ANswXaNobGDJWDZwEjKZw==
X-Gm-Gg: AYBFou1yvU2j9+Tw0YzlGVAk7QaGHNo2Kr1C/dWjhQyMOUDNgiRF6IKwbmmcHud9LQm
	oNMrRptA8mKdIqiVhTyDqVrK7uTnlpBYMtmGSDt//9nh0RJ4+zAw85ho144I+G8DAtDSb2DP6/w
	8apmaIMG4N8AV7A8fDDS/vwYlJzGD6rjkx1yXHb8NkYNU3OhEuCW4IW+0WdIAt/OkEnjfqtVrNE
	5HpTv+oCJ8QFaOtK37AvjP3oen83o8g4DFYQIAOv6Xu+r2mUcsuTdV+z0bA+Uyed4uYVU3ws0Y+
	TS5RBfODLPaZtzq+wx81i6vyuvV95kaZt9PNvwDjCF9UeiW5lYlE/w==
X-Received: by 2002:a17:90b:1344:b0:3a8:7bbc:3f3e with SMTP id
 98e67ed59e1d1-3a8a1b0071cmr977730a91.41.1791345099732; Tue, 06 Oct 2026
 20:51:39 -0700 (PDT)
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
References: <6abecfdf.3a8dc.610fc5a7@gitrepo.freebsd.org> <86jynwnvls.fsf@ltc.des.dev>
 <86cxtmojly.fsf@ltc.des.dev>
In-Reply-To: <86cxtmojly.fsf@ltc.des.dev>
From: Maxim Sobolev <sobomax@freebsd.org>
Date: Tue, 6 Oct 2026 20:51:27 -0700
X-Gm-Features: AclHuK-Jb3Z82y6EomBD5vwHeV9n_cs73DOPyvycHMORv0R9aVdTUOv8LQPfH3I
Message-ID: <CAH7qZftwie2Fmwk4mbrUvMzXhAWeRZgVa=pMTGQu-xmMgcqxrg@mail.gmail.com>
Subject: Re: git: 43b0384bc7e8 - main - mountpoint(1): new utility,
 implemented as a stat(1) hardlink
To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= <des@freebsd.org>
Cc: src-committers <src-committers@freebsd.org>, dev-commits-src-all@freebsd.org, 
	dev-commits-src-main@freebsd.org
Content-Type: multipart/alternative; boundary="000000000000570d10065d380890"
X-Spamd-Bar: -
X-Spamd-Result: default: False [-1.00 / 15.00];
	ARC_ALLOW(-1.00)[google.com:s=arc-20260327:i=1];
	FORGED_SENDER(0.30)[sobomax@freebsd.org,sobomax@sippysoft.com];
	R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17];
	DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none];
	MIME_GOOD(-0.10)[multipart/alternative,text/plain];
	RWL_MAILSPIKE_GOOD(-0.10)[209.85.216.47:from];
	MIME_TRACE(0.00)[0:+,1:+,2:~];
	TO_DN_SOME(0.00)[];
	ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US];
	RCVD_COUNT_ONE(0.00)[1];
	FREEFALL_USER(0.00)[sobomax];
	RCVD_IN_DNSWL_NONE(0.00)[209.85.216.47:from];
	R_DKIM_NA(0.00)[];
	FROM_NEQ_ENVFROM(0.00)[sobomax@freebsd.org,sobomax@sippysoft.com];
	FROM_HAS_DN(0.00)[];
	MISSING_XM_UA(0.00)[];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	RCVD_TLS_LAST(0.00)[];
	PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org];
	MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org];
	RCPT_COUNT_THREE(0.00)[4]
X-Rspamd-Queue-Id: 4hzzhF1Zdzz4kmn

--000000000000570d10065d380890
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

This has been suggested by reviewer @kib citing similarity to readlink.
Original implementation was a standalone. I frankly don't care one way
or the other, but arguably you could have raised this earlier while it's
still at review stage. If that's important to you I suggest you do the
conversion now.

-Max

On Tue, Oct 6, 2026, 9:54=E2=80=AFa.m. Dag-Erling Sm=C3=B8rgrav <des@freebs=
d.org> wrote:

> Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> writes:
> > Maxim Sobolev <sobomax@FreeBSD.org> writes:
> > >     mountpoint(1): new utility, implemented as a stat(1) hardlink
> > Why was this implemented as a stat(1) hardlink?  There is aboslutely no
> > common code between the two.
>
> I'm serious, Maxim.  Implementing mountpoint(1) as an alternate move of
> stat(1) adds more complexity than it saves.  Please revert and re-commit
> as an independent binary.
>
> DES
> --
> Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org
>
>

--000000000000570d10065d380890
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div>This has been suggested by reviewer @kib citing simi=
larity to readlink. Original implementation was a standalone. I frankly don=
&#39;t care one way or=C2=A0the other, but arguably you could have raised t=
his earlier while it&#39;s still at review stage. If that&#39;s important t=
o you I suggest you do the conversion now.</div><div dir=3D"auto"><br></div=
><div dir=3D"auto">-Max</div></div><br><div class=3D"gmail_quote gmail_quot=
e_container"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Oct 6, 2026, 9:5=
4=E2=80=AFa.m. Dag-Erling Sm=C3=B8rgrav &lt;<a href=3D"mailto:des@freebsd.o=
rg">des@freebsd.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
Dag-Erling Sm=C3=B8rgrav &lt;des@FreeBSD.org&gt; writes:<br>
&gt; Maxim Sobolev &lt;sobomax@FreeBSD.org&gt; writes:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0mountpoint(1): new utility, implemented as a s=
tat(1) hardlink<br>
&gt; Why was this implemented as a stat(1) hardlink?=C2=A0 There is aboslut=
ely no<br>
&gt; common code between the two.<br>
<br>
I&#39;m serious, Maxim.=C2=A0 Implementing mountpoint(1) as an alternate mo=
ve of<br>
stat(1) adds more complexity than it saves.=C2=A0 Please revert and re-comm=
it<br>
as an independent binary.<br>
<br>
DES<br>
-- <br>
Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org<br>
<br>
</blockquote></div>

--000000000000570d10065d380890--

From nobody Wed Oct  7 04: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 4j006s55C6z6sxbM
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 04:11: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j006s44Pxz4nHR
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 04:11:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791346277;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dkSenyfZHl7pFkWeJJAUb51iAePVyqwqVeLLVtljL+g=;
	b=MFlc0qJ7xGMJ7yyGZKRK4WtaqrNmn9Go8nhb09Tot7kbsIgmewTAqH52XB/Ah0hW7x2d/p
	xUVgepG6mekCJyv4me9raf7tFV8fOVaDNNIsCHOWAeHglazMU4FCjLsh7nItl2BNkeeTlz
	F49Zycqk6zDu04sLzgwx4PE/RFjUsLJsTj5lYvCo3EJejRds9wU1I1AOHWbrx4L8HPGJG1
	T0Gqbg60KSHWxi8sYJold0V9oWQcZb5EWsTonpRbFId30jQlXc81sHEcENq8tamJOOYud0
	WNzB8IEA3tmE9GzYu+cKhegAdRkgt0LnTUaQoNn2f9eSv1pbVbskYD04cXtWTg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791346277;
	b=XC6TGWJXCwd1DBtbHvGYqbX30tZgcnaC+ntsp+QGZnIgV+cOzcmNenvITHf7GwerzeqCjG
	dO1hvILwhMBrHm5KOFawPKXfZ0ugRd1FlnGu9v/jd56fTS3Y32Ub4SqeGF8CpHCU4G6iwN
	QlXLS1qvrNQlWhdnetWh8ImZs+3CLFqZA6p8ALpr27ow+fk1Buljzmq8ndlH4cR0YY9n5N
	Px/oqU2xrX8DRGwAOiMPCLScI2Umkf+/PDatE/VwZozxCImtqSINn0z8ChOnAIsOI+xMV1
	s4UKx01u//Psup2Glsj6GK6WpFpT5X55+CJDI/uKAxAOUEIKcTxLY0cSMfy7TQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791346277;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dkSenyfZHl7pFkWeJJAUb51iAePVyqwqVeLLVtljL+g=;
	b=RgkyR67KtAfE3RHkgDQ4Fa+dHOWYoj0ySPqh/sBSvB3dJ2+Dh5+Bow0Xkgoo9Kix/D+MBa
	fOxz+pkNbbp1bum9kpWk/+MbnBVPPnSIiwiufjFc/EC3QPZn4nhDtiXR1fxBSDJNZ2O2hz
	02Tb8MOKQcgie2upxmNrxWdjCXaFSZLsQLpzKthaEvJKUywGUU/tx0HJPVD6reaeOelWRJ
	S+VsHSI3ws1op/pHsP+QCtILOMe53IAkhlHbMcKUErmEcZzKTTlqiNMSNzH80qWOFBft+M
	vAtpYRV1CboF65rA5a1TCxAey80E88abDAx0qIqx5MhdDvS0+oPzEgGinXDTeg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j006s38PwzcCs
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 04:11:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3363c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 04:11:17 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Cochard <olivier@FreeBSD.org>
Subject: git: a6a864080cfe - main - tests/netinet6: fix ndp_del_gu_success flakiness
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: olivier
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a6a864080cfe2e8308cfae8d07f1affe1a4ac8fa
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 04:11:17 +0000
Message-Id: <6ac5c665.3363c.5cc9b872@gitrepo.freebsd.org>

The branch main has been updated by olivier:

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

commit a6a864080cfe2e8308cfae8d07f1affe1a4ac8fa
Author:     Olivier Cochard <olivier@FreeBSD.org>
AuthorDate: 2026-10-07 04:04:16 +0000
Commit:     Olivier Cochard <olivier@FreeBSD.org>
CommitDate: 2026-10-07 04:07:17 +0000

    tests/netinet6: fix ndp_del_gu_success flakiness
    
    The test pinged an unanswered address and then deleted the resulting
    INCOMPLETE neighbor entry.
    The kernel frees that entry after about 3s, so on a loaded VM,
    ndp -d could run too late and fail with ENOENT.
    
    Configure 2001:db8::2 on epair0b so the ping gets a reply and the
    entry becomes REACHABLE.
    
    Approved by:    pouria
    Sponsored by:   Netflix
    Differential Revision:  https://reviews.freebsd.org/D60348
---
 tests/sys/netinet6/ndp.sh | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/tests/sys/netinet6/ndp.sh b/tests/sys/netinet6/ndp.sh
index 636a5558b7a8..61945ec3c354 100755
--- a/tests/sys/netinet6/ndp.sh
+++ b/tests/sys/netinet6/ndp.sh
@@ -85,17 +85,21 @@ ndp_del_gu_success_body() {
 
 	vnet_mkjail ${jname} ${epair0}a
 
-	jexec ${jname} ndp -i ${epair0}a -- -disabled
-	jexec ${jname} ifconfig ${epair0}a up
+	ndp_if_up ${epair0}a ${jname}
+	ndp_if_up ${epair0}b
 
 	jexec ${jname} ifconfig ${epair0}a inet6 2001:db8::1/64
+	ifconfig ${epair0}b inet6 2001:db8::2/64
 
 	# wait for DAD to complete
-	while [ `jexec ${jname} ifconfig | grep inet6 | grep -c tentative` != "0" ]; do
+	while jexec ${jname} ifconfig ${epair0}a inet6 | grep -q tentative ||
+	    ifconfig ${epair0}b inet6 | grep -q tentative; do
 		sleep 0.1
 	done
 
-	jexec ${jname} ping -c1 -t1 2001:db8::2
+	# A reachable peer keeps the entry alive; an unanswered solicitation
+	# would expire it after nd6_mmaxtries retransmissions (about 3s).
+	atf_check -o ignore jexec ${jname} ping -c1 -t5 2001:db8::2
 
 	atf_check -o match:"2001:db8::2 \(2001:db8::2\) deleted" jexec ${jname} ndp -nd 2001:db8::2
 }

From nobody Wed Oct  7 04:24: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 4j00QM1l6Lz6syD7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 04:24: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j00QM1DbGz4psQ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 04:24:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791347083;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Hwn8huG0DDVCUg+mPRYR4ArrYHGN4xH+IEr4roGKcyQ=;
	b=Pq6KXaphn+OzcOO8AchMAzB1t/2ZYiEYKy2s7Fmgimnmr0DP7JGKLkwuonQmAb8ZTxI20f
	8ZOvS0+xf9mP2wZpUURAmOqnutMT/e/N/WmeOC5XsRW3GmAXyGo2FUZryTtK3bYf+ghO7V
	fPQQ0NaoM3Zy080oB0eQzXv1fhOjwE7M+Gb/WVNupz+RYcubkmf44QUCkFIDiixNlJwFcs
	9oOwFnuGpeaeAjdPrleva2e0OnnVHjxOgU+5OuBzYRAlmeBRg2Ug0skX1gjfld3aOBzoQE
	dpybfuvRtDwLNF5WjxXjRzQGUB68oIVQVR0CC2u/ej2uzN8N7eUXgAPunbudqg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791347083;
	b=Rk817crK+6okHl4lHfZcx4IxtBMPRatdT/SDVDRS8XN3GEgHbJuQkbgEsBDmsMuIJedcBs
	DgOrzoTZ9lFdyjwRxc7SpRBr9YtaI52huiKthK1GE8eBEZ4/m46EsqyQV0AXpKCOsQdmjc
	m/cA2Y2DYX+SXMSDs/yYFXLHxmYgb0dkql927YP/HzvXKPuVvV/Tvnfj0R2yp0BLMq81FY
	HmqIhFHNp5l+I8Fm3LrfFTpMMDYWPt8S0E0Oiqfxj3NuxhqSkSBTrE9UY6bvji6v6skvGD
	gf3wZRsvjYC3sNCkPa2xU4q4zONVS044v7AolNjFs0ZWlG5daYX08lx6oyr/eA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791347083;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Hwn8huG0DDVCUg+mPRYR4ArrYHGN4xH+IEr4roGKcyQ=;
	b=mP1MhuMCUqg0bpYzzo2wgSJzOV0sR0i+a06PhDMyqtqk34KzXuVZIUe8HCEPeIw1YDj0V6
	qS6ureNYOKZHyluAqrswLtnK56SBqe41xmtJp8ysnAGZVK4xFLR5pzbp5TpxZEjWvMbrnf
	rEbuCuYf/nbknpTNXbbumm18aojRUCnnY1EndnLc/TGD5EOTCZ4DjNY5XJFNlCsH+zkZ/0
	z5qs827oIDn910X2dzSlJ/onIdWZps3RcMda3eNRpL3UNFDYhs+QWOftwbNjhbo6qHdigr
	ZxAPkxoxBn7tZUs+RwvGInmGNZIIwUHASMAwY6s2jtXhXC9DnpOq+HyNzCuU7g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j00QM0K5FzdYN
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 04:24:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3377a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 04:24:43 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Cochard <olivier@FreeBSD.org>
Subject: git: 139fa2c12ddc - main - routing: fix rtentry use-after-free in multipath route append
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: olivier
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 139fa2c12ddc028048efe3946f2663dcfba9b122
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 04:24:43 +0000
Message-Id: <6ac5c98b.3377a.2e95a855@gitrepo.freebsd.org>

The branch main has been updated by olivier:

URL: https://cgit.FreeBSD.org/src/commit/?id=139fa2c12ddc028048efe3946f2663dcfba9b122

commit 139fa2c12ddc028048efe3946f2663dcfba9b122
Author:     Olivier Cochard <olivier@FreeBSD.org>
AuthorDate: 2026-10-07 04:16:33 +0000
Commit:     Olivier Cochard <olivier@FreeBSD.org>
CommitDate: 2026-10-07 04:16:33 +0000

    routing: fix rtentry use-after-free in multipath route append
    
    add_route_flags() drops the RIB lock and passes the existing entry,
    rt_orig, to add_route_flags_mpath(). If a concurrent delete removes
    the prefix in that window, the retry re-inserts rt_orig, which is
    then freed while still linked, crashing later in rn_match().
    
    Pass the new rt instead, return ENOENT when the prefix is gone and
    RTM_F_CREATE is not set, and fix the rnd_orig NULL check.
    
    Approved by:    pouria
    Fixes:          c24a8f19c5d5 ("routing: fix rib_add_route_px()")
    Differential Revision:  https://reviews.freebsd.org/D60353
---
 sys/net/route/route_ctl.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c
index fa0f41a0a559..ef58a2845424 100644
--- a/sys/net/route/route_ctl.c
+++ b/sys/net/route/route_ctl.c
@@ -818,8 +818,13 @@ add_route_flags(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data
 	    nhop_can_multipath(rnd_add->rnd_nhop) &&
 	    nhop_can_multipath(rnd_orig.rnd_nhop)) {
 
+		/*
+		 * @rt_orig may be freed once unlocked. Pass @rt if any: it
+		 * is what gets inserted if the prefix vanishes.
+		 */
 		for (int i = 0; i < RIB_MAX_RETRIES; i++) {
-			error = add_route_flags_mpath(rnh, rt_orig, rnd_add, &rnd_orig,
+			error = add_route_flags_mpath(rnh,
+			    rt != NULL ? rt : rt_orig, rnd_add, &rnd_orig,
 			    op_flags, rc);
 			if (error != EAGAIN)
 				break;
@@ -855,6 +860,10 @@ add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt,
 	struct route_nhop_data rnd_new;
 	int error = 0;
 
+	/* Prefix vanished: nothing to append to, @rt may be deleted. */
+	if (rnd_orig->rnd_nhop == NULL && !(op_flags & RTM_F_CREATE))
+		return (ENOENT);
+
 	if (!NH_IS_NHGRP(rnd_add->rnd_nhop))
 		error = nhgrp_get_addition_group(rnh, rnd_orig, rnd_add, &rnd_new);
 	else
@@ -869,7 +878,8 @@ add_route_flags_mpath(struct rib_head *rnh, struct rtentry *rt,
 			RIB_RLOCK(rnh);
 			lookup_prefix_rt(rnh, rt, rnd_orig);
 			RIB_RUNLOCK(rnh);
-			if (rnd_orig == NULL && !(op_flags & RTM_F_CREATE)) {
+			if (rnd_orig->rnd_nhop == NULL &&
+			    !(op_flags & RTM_F_CREATE)) {
 				/* In this iteration route doesn't exist */
 				error = ENOENT;
 			}

From nobody Wed Oct  7 07:04: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 4j03yP5Lxsz6vQNn
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 07:04: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j03yP4hrrz4GrP
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 07:04:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791356653;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=iWWAywlpz0vl6QEshzPfwiR4DCD4YgAbmCJL7I3M3UI=;
	b=rJL7gimnpnaH74EsSCXJ94wln0O6TfDGqcmNuvARWsp3Vda9KEAG0iC/PxP6LX4HaLWrBd
	SHTm0LluQmtDLGVQ6tLKLzUJpELaz79rmyluN3RrvxFlY494XLWCfKcvd1ol/0XmBQYUhR
	gTpEvf3cLeAlpeElIsSQJYuMYBuk7So1kmhvZn3fouGzV555Js81NoYIhQasSPN3AF3A8E
	U886SHWr1KjrixJjEFrBcsQ3VChcc7cF9NZzmc5b67xSfp6H8iQGsE/PwVo7VuY4gvnRIt
	cDDOxj1CskstXGU21iEEmzP8UxDn5KCcf29+jCSVgMmbfFcEtC+EV0rV1ePXHg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791356653;
	b=IagDi1PAVFe3lGtyN6m963GzUAR8GIsUfk7ZFSRLi1/ICUTglX9kgFq0Es/TjeO32SCFnZ
	uuGjax6UvBMgWIc3sKHjIYjmD9VA8MSZqA9/D7B+SbuE93xPjzrC4vJJit14XFMq5scZPc
	tNzbby+zTCcPTGF1uePuaz2iF29gAOtVIqtrkZOGreBJlrluIB39gc3giY1zwPtf4iu1eX
	WkfGbCWsmO8rv+oVQxLil3vlhyeWEjQE8ECHBJrj2nvjqyKFshmp39pgcGusFxNu8OyFlN
	LIrBH4+D9mhAQ3zCKRzATgW5citKqUlisbCenzW6dHIpG/iUOlfLU+QCfKCfBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791356653;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=iWWAywlpz0vl6QEshzPfwiR4DCD4YgAbmCJL7I3M3UI=;
	b=LXt0l2Dyk1nWD4mEZanCBzTpf1wIcXJi5+IViR2Sjh0UVsFXoW6VJPzNw9P8IcZ425fm/T
	1UzyhS2lrgvO9jdUZtLuoG0OWnarvSvX5OGciCbIM5A1V4I37DoLnxC30HxfWKp7HbQmz9
	/NyT2tuPB8TU6zOcAEmf6pGcYJxT/6nS+GL0TWHDPi853T0NsCqgdQRr/r4OLowyyCX7ix
	sDujgWRUOQ/VHF4yUUPSFswPjX5sJoRWarAnreiZkhxP0Ti6NA2vUJEaisVng/aFIifTxD
	r1PEagifUOLKOoZw9BfOm66j/Q2pTZj/MTfIthBK4D5u3rg3ET+ei2ymrFskKQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j03yP3l95zj7b
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 07:04:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 45f4b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 07:04:13 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Christos Margiolis <christos@FreeBSD.org>
Subject: git: 25faf861089c - main - pcm.4: Remove DIAGNOSTICS section
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: christos
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 25faf861089ca119528ea4da39fe594b1c5ca55a
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 07:04:13 +0000
Message-Id: <6ac5eeed.45f4b.7ffcf102@gitrepo.freebsd.org>

The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=25faf861089ca119528ea4da39fe594b1c5ca55a

commit 25faf861089ca119528ea4da39fe594b1c5ca55a
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-10-07 07:03:31 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-10-07 07:03:31 +0000

    pcm.4: Remove DIAGNOSTICS section
    
    These diagnostics do not exist anymore.
    
    MFC after:      1 week
---
 share/man/man4/pcm.4        | 10 +---------
 sys/dev/sound/pcm/channel.c |  2 +-
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4
index fde861d7daa7..118c4233af27 100644
--- a/share/man/man4/pcm.4
+++ b/share/man/man4/pcm.4
@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd June 20, 2026
+.Dd October 7, 2026
 .Dt SOUND 4
 .Os
 .Sh NAME
@@ -646,14 +646,6 @@ This is handy if there are multiple
 devices available:
 .Pp
 .Dl mixer -d pcm1
-.Sh DIAGNOSTICS
-.Bl -diag
-.It pcm%d:play:%d:dsp%d.p%d: play interrupt timeout, channel dead
-The hardware does not generate interrupts to serve incoming (play)
-or outgoing (record) data.
-.It unsupported subdevice XX
-A device node is not created properly.
-.El
 .Sh SEE ALSO
 .Xr devfs 4 ,
 .Xr snd_ai2s 4 ,
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c
index 7ed6dbe2a83a..b78b64d95596 100644
--- a/sys/dev/sound/pcm/channel.c
+++ b/sys/dev/sound/pcm/channel.c
@@ -477,7 +477,7 @@ chn_write(struct pcm_channel *c, struct uio *buf)
 			 *
 			 * 	 The idea is that, while set with CHN_F_NOTRIGGER,
 			 * 	 a channel isn't playing, *but* without this we
-			 * 	 end up with "interrupt timeout / channel dead".
+			 * 	 end up with interrupt timeout.
 			 */
 			ret = EAGAIN;
 		} else {

From nobody Wed Oct  7 08: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 4j068D4v0bz6vY46
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 08:42: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j068C6vKJz4R9D
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 08:42:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791362572;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=GJCEgKx16r6lHmaXTM+ttK5jrCML65xNFSDIlBcevPs=;
	b=dK4XhzYnYdPCmvzUtK0ARISZfQkMXacNykorgXVFJMirIEW2GA44374tdmyRIlg/Bd6jL+
	/RjM1kPc54iZxy+tYiXRHWYrPkQR2vCJTPgQwNdGkZNSTkKyE7l0PhZZhhCwz8vqRSFB8G
	YI6DG8tqf+O+7MoPhE9Cn5enAxNQD3Np8DhrxK/0VrPdgsRaCGCTq/1vdgGaVkpRGmHsbl
	DhC2U7s8AglkeAC/8bkS8jjvW+pJ7Oqlncap/T+oFS8f9Lokqy4HPQU1S6ohxlNmefAPzi
	VxtbXuv5U9sbG/q+rESrafYK1iNAEL2NdorXR0Hm/mk/7rxQIyF7tEbZbLHj4g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791362572;
	b=a/25oUTbg/ggw1O6DjTufEz9n8t7ISVbxh+KkwXMEDmYW28ey7IYomoq+c+9sRjGhJ9orQ
	NaAtBIFHGpHMkXinF0+Ae27FlOOginl80vIDQSE0MdosWWtIwEnXJSV+7wRaR8WDnF9a+3
	n+x7lItI4w8szZeS6bgrxO4P+CXrfFBqhdPQjkBG6+N9o2XPcJhnswRZDplXM4G4r17jkp
	dO1dSWy4srZvj2Ee+OWXdV8gxcf/Z3/Fw0QG7BWgk9SPHab7BkW+oAy5dOzpYlqsOhf5Xy
	YQ1K+fVFgDMJbi95y2pl+Mp+oa287Swirek9VE8/IpAfitg87vlpxyy/g0D+GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791362572;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=GJCEgKx16r6lHmaXTM+ttK5jrCML65xNFSDIlBcevPs=;
	b=FxsnH0TdZKZErnPNPLvjVa/aZ3bO7SStpXUJZDpc6EYi0/1+PlZ5NRMi7JAdhmnq5zCBPP
	Sb4S8dP9umoo3kenGia1n2bq1U6Slfxq0RTkH52VcOEEhn8kwwVVyoAfDMt0nzY70/Q8Km
	nb5HRC3hh9anHJBJ49/w6FGJWhcUTSUzTpGACUUjxO9XLDh1mVAeNKnNaDPEXNaHAxMgab
	vI+bJFiQvexqvBZW9344XQAfIo8S3Lpll++r+qojupEQGPFUMdTCrbVCC5WF3Cx0BoXCsw
	GeanpPktZU5zBxUlOTYNEICDr/ZTriXsRJZVnMnyuD5HRls0zM9qltr+PHUHsA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j068C5zVhzm5R
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 08:42:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 213c2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 08:42:51 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Olivier Certner <olce@FreeBSD.org>
Subject: git: b6d10a962448 - main - sched.h: Include <sys/pcpu.h> unconditionally
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: b6d10a962448bf03400dd381b2083d1f547f869c
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 08:42:51 +0000
Message-Id: <6ac6060b.213c2.cf51195@gitrepo.freebsd.org>

The branch main has been updated by olce:

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

commit b6d10a962448bf03400dd381b2083d1f547f869c
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2026-10-06 09:27:55 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-10-07 08:41:49 +0000

    sched.h: Include <sys/pcpu.h> unconditionally
    
    Even if SCHED_STATS is not defined, this header is necessary to provide
    a definition of 'curthread' used in sched_pin() and sched_unpin().
    
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
---
 sys/sys/sched.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/sys/sys/sched.h b/sys/sys/sched.h
index 60afd2344eef..75c56a864076 100644
--- a/sys/sys/sched.h
+++ b/sys/sys/sched.h
@@ -70,9 +70,7 @@
 #ifdef _KERNEL
 
 #include <sys/types.h>
-#ifdef SCHED_STATS
 #include <sys/pcpu.h>
-#endif
 #include <sys/linker_set.h>
 #include <sys/sdt.h>
 

From nobody Wed Oct  7 10:06: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 4j080d0CCmz6vfLJ;
	Wed, 07 Oct 2026 10:06:25 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j080c6lTkz4b4F;
	Wed, 07 Oct 2026 10:06:24 +0000 (UTC)
	(envelope-from des@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791367584;
	h=from:from:reply-to:subject:subject: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=ILYCDJmS7/mCXgb+NTvoQAdVvZahWGhG1LhvnOB3/HI=;
	b=vR9/otUoe837C0L/WqwxVnSj/ivr+he+/NhQIYlMkSTTsTMNcYZAihtY7aLDeeyTpgBKfP
	OpmXPHbljXhGUbTJqScXbj7nXwimx9+gd6xlv6nLV9vd2/au6x160vWmWliz0LnmT3dppM
	Wg52fzs2I1HEsKgEgN364h/rdLWc1nNEV0mFDbPQ6PodNZAG2MKfQj00xfKStCPYIfeGTl
	57feIMSDgSqMVsOv2wMhZxIMv1uIM2TcWfSRb75eIhWX6KU6IvbA1p8j5qUwOwogKDi46z
	GTZLkXRm3+8KorMLhkoxqOYtTHxJFcxCD4bQHb2XBjO3BawSKIRPr0ApvXiLFw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791367584;
	b=Zf6yaTA84yKF9pwOoi5ESocy9W6NI+CKGlLbwGybJxWzptGds2aV9PMryMt7B7BePn9zv8
	XX6jK2FrkIQOjwk/WAWgNWWGxOTKu67mK1VExFHOxg1Yn5ClYoRmYeUOx1pmSW20laqsD/
	SzuyQ0RjW9BvN3kdJ4NhOCdDTCeI/PNDxSaDKJ/J2PokvE8mPSgC9phnxq2dVfin0qlKwX
	gqIe1++Yudxp8xXldB80nsxqJP4M1WxDXxM3lRn3vSKSM6yRjctWGRvLYfC93tWQFWjso0
	G03rvP6vYfcrZhy/5VVOQk+MH6qdzw3Hxkw/cWftgnEHLXTN4CAxYMYDv/ZwZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791367584;
	h=from:from:reply-to:subject:subject: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=ILYCDJmS7/mCXgb+NTvoQAdVvZahWGhG1LhvnOB3/HI=;
	b=U+Om3Ks0KqaiD290f/S3MTBiJf5DeerEbiQOzHjn3xutHaFmxia/wx+1RKkDB0POAB6xYd
	EOu+OasUTrAl00g/9LwvDJw83rOCYTuGIUzyEVdDERMwRstM7LG7kURK2TfGk5XDderYO5
	eS7v554QlYzKmG+tSsWcJjq7+o4fIdbgxNic1oCVNF5Sq8LtAZPO6m6y2Y3d/gE69puXfZ
	J/wHhGkf5o8B0o+Z5JCtFu7m8w9MPMXZCIMwO+HEBOMti6XT+eESxvqzTnSbdgtIcFzsGp
	2qfAV8lws8YTLuhwFWuxIVJC3HykV7h44/laKYgaNhRXt2nYKgV/J+zhyV5RrA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
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 4j080c4pVszZGW;
	Wed, 07 Oct 2026 10:06:24 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: by ltc.des.dev (Postfix, from userid 1001)
	id 742BA11EC74; Wed, 07 Oct 2026 12:06:23 +0200 (CEST)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
To: Maxim Sobolev <sobomax@freebsd.org>
Cc: src-committers <src-committers@freebsd.org>,
  dev-commits-src-all@freebsd.org,  dev-commits-src-main@freebsd.org
Subject: Re: git: 43b0384bc7e8 - main - mountpoint(1): new utility,
 implemented as a stat(1) hardlink
In-Reply-To: <CAH7qZftwie2Fmwk4mbrUvMzXhAWeRZgVa=pMTGQu-xmMgcqxrg@mail.gmail.com>
References: <6abecfdf.3a8dc.610fc5a7@gitrepo.freebsd.org>
	<86jynwnvls.fsf@ltc.des.dev> <86cxtmojly.fsf@ltc.des.dev>
	<CAH7qZftwie2Fmwk4mbrUvMzXhAWeRZgVa=pMTGQu-xmMgcqxrg@mail.gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Wed, 07 Oct 2026 12:06:23 +0200
Message-ID: <868q49ome8.fsf@ltc.des.dev>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Maxim Sobolev <sobomax@freebsd.org> writes:
> This has been suggested by reviewer @kib citing similarity to
> readlink.  Original implementation was a standalone. I frankly don't
> care one way or the other, but arguably you could have raised this
> earlier while it's still at review stage.

I was not aware of your review.  You did not see fit to add me as a
reviewer or even ping me in a comment, even though I am by far the most
frequent contributor to usr.bin/stat in recent years.

See also https://reviews.freebsd.org/D56772.

> If that's important to you I suggest you do the conversion now.

Yes, please.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org

From nobody Wed Oct  7 11:28: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 4j09pt3YtNz6vlkr
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 11:28: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j09pt1vq6z4jXN
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 11:28:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791372486;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=9Dpp4sIzOh2sIKhLpJadgdLJnOtjgAx0O/aROKOazGc=;
	b=i4b+NSBll2R5/8lDasLijkI98FXW5ZkMJ37n46I6EcXXOK5ZCLFElr7TwH4LMT6aFkzwR0
	nqTFtoUCDvsbHyQITu9uueKIIBj9F+AZgT92g9abk52Qoav6S8Dz4uwmbFKrDYLcqRdz8Y
	IdP9HakMNK62MBaK0oletC+nIRlwgnoBlWxdpx2JKFymW1tFH6nUPJskftDxiY5Db8VxOe
	rLGkLiibQTqXF6F0JLpxIg7doC73FU119ZlxNGMr2PjOSXGPNr9MmkSXdI96As8X095Gbt
	UsAE1YaRlOW0BuLh0AdlKTkPpakDvZNFoC7wp2IsQA+KajhlIJ0+aAtNvXWtbg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791372486;
	b=FSfM2TAd0KkFfeyojhHD60Lqn8ylu4N/jdmth8jjLZbCS+JCLZfI2HhXh1NYak1NzSB/AC
	x1Li3f8mDllguA2hJ/GmGUYwgDxOmprLdsiCv2bRGEVYAZP/UKVfu0/+TXvJlMLtmrOyBp
	QCgRLyi/j1ObN3H5nRBhYs5BKfJ5YrMgt1hj4oplBICKaczs6dV5xJvTfLB6ObAuzWQVAS
	1tc2v2RHJqUrBy/SPwyw3mranxOfJPpgXkRvsV05tvjoiqStuz4lSxJwc1WP4KSu5z4mtd
	tFcfEpl4zyzPMC6njON4jYjvw9aBpfO6JwHKfoyLyxsSfktXQ2yUgJPudi0yQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791372486;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=9Dpp4sIzOh2sIKhLpJadgdLJnOtjgAx0O/aROKOazGc=;
	b=vR2b4fzlA3m+Vlc3gxpnOOLA1asGBcQ0oZlhR6DtGnr8C5DJ5cpimEnYbyKmQpQlvFzEl+
	T9/f37wZvJGp4x3PJ93Gfx2eqgM+ohcZ6s5PVpkMILyUxpPrSweGArHVMqRlnYF180W9pB
	rypsJ0svV3t8oOpIm+pp2OaG9ont8RrXqeAZjkrdWCk7BKO8dfWONjQmYNa5Rm5NN2xC18
	nK8RkMT62jYgtw9InQ2ApPf4RrG4XGyi3x7W9bA1qdiXD/jz0IYSB8MMZPrtNCh4BbCd9n
	9Ndl762bI1+1w2qlp4vk3ateW5O5ghDKEQ9QV9nI/mg1rh2oW6IKYMhv7N7qOw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j09pt0h3Vzrmf
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 11:28:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3b38c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 11:28:06 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Boris Lytochkin <lytboris@FreeBSD.org>
Subject: git: bd369bc7c236 - main - committers-src: Add lytboris mentored by ae@
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: lytboris
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: bd369bc7c2368b19789cfabcea99e355e1e959da
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 11:28:06 +0000
Message-Id: <6ac62cc6.3b38c.496734b0@gitrepo.freebsd.org>

The branch main has been updated by lytboris:

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

commit bd369bc7c2368b19789cfabcea99e355e1e959da
Author:     Boris Lytochkin <lytboris@FreeBSD.org>
AuthorDate: 2026-10-07 11:18:00 +0000
Commit:     Boris Lytochkin <lytboris@FreeBSD.org>
CommitDate: 2026-10-07 11:23:33 +0000

    committers-src: Add lytboris mentored by ae@
    
    Reviewed by:    ae
    Approved by:    ae (mentor)
---
 .mailmap                                    | 1 +
 share/misc/committers-src.dot               | 2 ++
 usr.bin/calendar/calendars/calendar.freebsd | 1 +
 3 files changed, 4 insertions(+)

diff --git a/.mailmap b/.mailmap
index 79da01e4d8de..daa0361863c2 100644
--- a/.mailmap
+++ b/.mailmap
@@ -7,6 +7,7 @@
 <weike.chen@dell.com> <weike.chen_dell.com>
 Alfonso Gregory <gfunni234@gmail.com> <83477269+AtariDreams@users.noreply.github.com>
 Alfonso Gregory <gfunni234@gmail.com> <83477269+gAlfonso-bit@users.noreply.github.com>
+Boris Lytochkin <lytboris@FreeBSD.org> <lytboris@gmail.com> <lytboris@yandex-team.ru>
 Dmitriy Alexandrov <d06alexandrov@gmail.com> <d06alexandrov@users.noreply.github.com>
 Faraz Vahedi <kfv@FreeBSD.org> <kfv@kfv.io>
 Ganael LAPLANCHE <martymac@FreeBSD.org> <ganael.laplanche@martymac.org>
diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot
index 7843eb95f561..39dbc507bf63 100644
--- a/share/misc/committers-src.dot
+++ b/share/misc/committers-src.dot
@@ -271,6 +271,7 @@ lidl [label="Kurt Lidl\nlidl@FreeBSD.org\n2015/10/21"]
 loos [label="Luiz Otavio O Souza\nloos@FreeBSD.org\n2013/07/03"]
 lstewart [label="Lawrence Stewart\nlstewart@FreeBSD.org\n2008/10/06"]
 luporl [label="Leandro Lupori\nluporl@FreeBSD.org\n2018/05/21"]
+lytboris [label="Boris Lytochkin\nlytboris@FreeBSD.org\n2026/10/02"]
 lwhsu [label="Li-Wen Hsu\nlwhsu@FreeBSD.org\n2018/08/09"]
 manu [label="Emmanuel Vadot\nmanu@FreeBSD.org\n2016/04/24"]
 marcel [label="Marcel Moolenaar\nmarcel@FreeBSD.org\n1999/07/03"]
@@ -446,6 +447,7 @@ adrian -> seuros
 adrian -> sgalabov
 
 ae -> melifaro
+ae -> lytboris
 
 akiyano -> osamaabb
 
diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd
index e2d6c33b244a..c2117c25a0e8 100644
--- a/usr.bin/calendar/calendars/calendar.freebsd
+++ b/usr.bin/calendar/calendars/calendar.freebsd
@@ -66,6 +66,7 @@
 02/03	Mateusz Piotrowski <0mp@FreeBSD.org> born in Warsaw, Poland, 1995
 02/04	Eitan Adler <eadler@FreeBSD.org> born in West Hempstead, New York, United States, 1991
 02/05	Frank Laszlo <laszlof@FreeBSD.org> born in Howell, Michigan, United States, 1983
+02/05	Boris Lytochkin <lytboris@FreeBSD.org> born in Protvino, Moscow region, USSR, 1985
 02/06	Julien Charbon <jch@FreeBSD.org> born in Saint Etienne, Loire, France, 1978
 02/07	Bjoern Heidotting <bhd@FreeBSD.org> born in Uelsen, Germany, 1980
 02/10	David Greenman <dg@FreeBSD.org> born in Portland, Oregon, United States, 1968

From nobody Wed Oct  7 12:06: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 4j0BgX24vvz6vpH6;
	Wed, 07 Oct 2026 12:06:48 +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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0BgX1XCTz4nB3;
	Wed, 07 Oct 2026 12:06:48 +0000 (UTC)
	(envelope-from des@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791374808;
	h=from:from:reply-to:subject:subject: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=RN/ZLLVE0x63mssmlbAOXa3WpLaM3mdxZffq/7g74Ns=;
	b=AZ7FWG76pt1RC+//dshJhdWtXiNNzjNXpZGKNip143WtC7JybeL5YVK/yM7itPa4gkqVVM
	RTCuc53AVqca9tN2MWCq+UPRHUdzoYyZv3CT0NqZwbpdUsynVlyGDM8f6oGAZd0GyrMMd6
	d9nDDJEa0ZmhFiCK3k9fOUowpSZVBtJMPCeB6+LVn2GOxhnxGY+uARDfce5RGtRe0S1RZD
	HIy//SKaETGbAW1JvLR+xgfhEWkiXjzfbwzQjeti+0WO1DfPD+jFJOfIgfsyoiX8cXFd0c
	pUibzy7xQQFCaENEHKWEwsxORJ/gADZAd9y4JwW3G4Kgu2QBofsExqMFsC0wYg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791374808;
	b=KCh1QX5tqaAoV+ekmDZ6DA6ramhnF0NCJG4h8lKisL1q3dOIFY6rrohBnCRL6ZqA24fEq3
	SRlSjgGsEP6ieKq2cvRDGnwIZ2ythJ50NVKx4zfoPY14db0WMtoMamD3EeKn7chEJ/tpBy
	2KiK1m5Mczgk7k5QtkNjdehpLn2bFrcCN1OZjftxBcaohGUQY5H6yIB9qd/XEdICcQoDVV
	Qbt7H6uZe1Y1XFoQQ6uLz9FnZyuf5zPjKwWo8KZArYEOu7ztCqMfovjReWzpP+6VVYlEX6
	5/iZwPJFle6valftnzHR1tnqsurgknT3z9HMuRX5/w7maYiL3V+mR/DCLggJWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791374808;
	h=from:from:reply-to:subject:subject: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=RN/ZLLVE0x63mssmlbAOXa3WpLaM3mdxZffq/7g74Ns=;
	b=ItETuNT8OTchZ1ybBNozxyHK2enii9e34rmzDA9zWKbLX/30Wg1dpVs1kc2+YRpyEY8Ot6
	kD+NnqdScQf4n6o9R9L/1rR685+YtMJFJbeJMmKT1PZPgu5g8KoNKPGEfITycg3ataiIV9
	EIJjxfIeYwAqHq3B0WjGm0tOJ0neIlje0yDN/luw55OzpRkCOA8YgCO7zeeT2N8S7mH+iF
	JQ8d+B5fqiyzRMhai2zDLSygXY23moaW/HIdJ2w7qNYpC0ritj1/E1ETyk2BNgWjQoOmTE
	GTU5xAYDUHA/n/Oj7t7L7nQgWglH6ohDLqjWDkFJxeQZBPvP1bBy9d35BqIeeg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from ltc.des.dev (unknown [92.146.129.112])
	(using TLSv1.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 4j0BgW6hsFzc1J;
	Wed, 07 Oct 2026 12:06:47 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: by ltc.des.dev (Postfix, from userid 1001)
	id 8B4CC11EAD3; Wed, 07 Oct 2026 14:06:46 +0200 (CEST)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
To: Enji Cooper <ngie@FreeBSD.org>
Cc: src-committers@FreeBSD.org,  dev-commits-src-all@FreeBSD.org,
  dev-commits-src-main@FreeBSD.org
Subject: Re: git: df6131e2b74d - main - Remove CDDL and ctfconvert tests
 when their controlling knobs are disabled
In-Reply-To: <864if5pbuj.fsf@ltc.des.dev>
References: <6ab1edad.23d37.77e4be44@gitrepo.freebsd.org>
	<864if5pbuj.fsf@ltc.des.dev>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Wed, 07 Oct 2026 14:06:46 +0200
Message-ID: <864iexogtl.fsf@ltc.des.dev>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> writes:
> Enji Cooper <ngie@FreeBSD.org> writes:
>> commit df6131e2b74d9f334c16387e9a46cafd6e27eb78
>> Author:     Enji Cooper <ngie@FreeBSD.org>
>> AuthorDate: 2026-09-22 02:46:52 +0000
>> Commit:     Enji Cooper <ngie@FreeBSD.org>
>> CommitDate: 2026-09-22 02:53:03 +0000
>>
>>     Remove CDDL and ctfconvert tests when their controlling knobs are di=
sabled
>>=20=20=20=20=20
>>     In the event someone specified MK_CDDL =3D=3D no prior to this chang=
e, all
>>     tests under `/usr/tests/cddl` would stick around after the change,
>>     resulting in errors. Similarly, MK_DTRACE =3D=3D no removed ctfconve=
rt,
>>     which the ctfconvert tests relied on (but remained around after the =
knob
>>     was disabled).
>
> The sum total of my build configuration is
>
> WITH_DEBUG_FILES	?=3D yes
> WITHOUT_PROFILE		?=3D yes
>
> After buildworld + installworld, check-old wants to delete the CDDL
> tests.  If I run delete-old, then installworld again, they are
> recreated.

Ping

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org

From nobody Wed Oct  7 13:28: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 4j0DV318bNz6vvN0
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 13:28: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0DV30LqHz3Fb0
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 13:28:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791379723;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bXOoNGSjNsusN5dv0o4zUhyKnA+Eri/Tx4nBJ9XkNa0=;
	b=nWIfzZo0I+WaZ8qRoeO3h3DXcNpjL8WgD8OTBy+eb0prrItX1OrUt2+RIlnS+uWjxqzQAT
	H8gtznhO23aWVtaoRG9FZLSz0ApP6yr9Hwo4kVf2QlSMcNFuOvPCWy2MfGfLOcS1P4pTQv
	/nSkDpi/bra53HP8Dk7rCspHACTP7SS/ihi4aE6UACZfhpD616vec73ASz19KvWfxPnSa2
	xc7rBA98NAmauMWEYgcxDlUiChwkROY7t1cEkWy3geGqwqNA6y9yd9bT93+2DnIeMzJYEY
	jJ900yu4TzwsVxx42X9uJrXrx5pctnxvcAV0S/G7R5Nn+iIQ/K4010ED0VEgpQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791379723;
	b=IrApeYVgyhCxo/axhOjncdYkTCWjav6UyiDUHnbwfhcxj6A65pCOQscbi/4sgeowLVTfeU
	MlYeEcZsFyhepxiJGfUA/CsOeldRwz40LHuYlgJ4HOxO2d5PlCgDuhI9klr7Rdj3f8Cc6Y
	zq18mEBZgFusvctWPXX2Kb0jzjH0wlS5TwjkEUPgsHxUc5zg7uABf4m9DMf4X1JF/P5kfe
	U4oonNl870T8/sZnTYTe9tr2JgjWdgwTmmqdjXvQz3Tpv8LE/XDOuXko+ZLFsB6wifvm1e
	U/8Q+zaWAO3MSAV8YETKa3NFbsdFU0GXTLiY8KKzAEljgBXrD08z3RqulEyjYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791379723;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bXOoNGSjNsusN5dv0o4zUhyKnA+Eri/Tx4nBJ9XkNa0=;
	b=re18MR68danHD4G81Xgflll7JDhGnSjlD2lPSntI7zjFpcfOGMjHRRG+viuKvkFCmJfNbi
	xxsE7lOZpiEBLJX5Xd+xf2ZS/1Q5WZAiIVidrefZxTr6hE1PbjRtmftEverXtCHO6/JBtO
	S9GC8Ny/jsBSno7JKaPRDpkU2Be0eYGfoERCwdm3iJ2XuivmACwnAOOnhVpME1ayZro6uq
	cpwMKlizTv10XSVc5wUX4cbT+qhLfiyH7p+/xQovJOIdN2mJAsJgylgS8xuhALcQupze6W
	sem7O8EzUcg10Mf1Ek2jYJzFQtnOkwH3UaurJmp+H2ltYXirxfE0gfGSifHwrQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0DV26VmYzvpy
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 13:28:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 47040
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 13:28:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 5c20c75b67e3 - main - epair: Make vnet_epair_uninit() run earlier
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 5c20c75b67e3c96d58c1bbfe82472a8371bfa161
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 13:28:42 +0000
Message-Id: <6ac6490a.47040.6c1f010d@gitrepo.freebsd.org>

The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c20c75b67e3c96d58c1bbfe82472a8371bfa161

commit 5c20c75b67e3c96d58c1bbfe82472a8371bfa161
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-06 22:04:54 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 13:28:28 +0000

    epair: Make vnet_epair_uninit() run earlier
    
    I can't see a reason for vnet_epair_init() and vnet_epair_uninit() to be
    inconsistent in the sys(un)init run order.  Move vnet_epair_uninit() to
    SI_SUB_PSEUDO, which is more appropriate for software ifnet drivers.
    
    Reviewed by:    glebius
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60388
---
 sys/net/if_epair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c
index c3354bc76e64..5b00da381918 100644
--- a/sys/net/if_epair.c
+++ b/sys/net/if_epair.c
@@ -937,7 +937,7 @@ vnet_epair_uninit(const void *unused __unused)
 
 	ifc_detach_cloner(V_epair_cloner);
 }
-VNET_SYSUNINIT(vnet_epair_uninit, SI_SUB_INIT_IF, SI_ORDER_ANY,
+VNET_SYSUNINIT(vnet_epair_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY,
     vnet_epair_uninit, NULL);
 
 static int

From nobody Wed Oct  7 13:28: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 4j0DV41fXFz6vvN3
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 13:28: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0DV40qjhz3FPF
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 13:28:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791379724;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=D37sxBcbnKf+azm+RhR6Lh7Z2NMp0lRNyUzpsbJD+BI=;
	b=B+39bsre8BGDIWcCEBZVjoidJa4h/pDlN+2+elwZc3rVKqbuWbx+HbK7VcVLeaU2NLokd0
	Iex1T44wwsJXKatjSDP247Nqn2b174enRjufK6D+VG8IOY6qgpC5cWp5j6Eq9oKZwW5S80
	xBg4OYBLa8Q2a+WKoudM/6wuBg2dpc6YuTA5IfTPC6gzrxuXy6N8sKIVF+TAYSQadiRnld
	A7W2gZ4/5w29eO2eLdvdQc7F19jYVsuwGeOyRg17yv8xCgxYVSlMxTGxkat7x1tEXeVa7d
	dizr03mgDPxHFy1Jge3hLWwJfhS5OVdee1k2TeBWHNyuhejWYOdZStCykXEbHg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791379724;
	b=HpcS+ID+YfDwAbA3JQcA8gE2b8ZsWc3eRyENYs/rN49gBscE5wyG3blLfFinygcsq2TQxn
	/f23j6jHZpwuhiWIqvvALIxAdha7WPTZRWMxtd9p4v49VDmWSAXkCdeHvBJ96pXHNyhmLq
	5JZ8I79V26sUMhM9xowAAJRLZfkxUEPLclHidsYz060fO21xiixx0ZWyMdf5x6OfQhSOEf
	b1XcyD3DZxXf4Js/wHl1I1wcV1jjsi9/5/2FqGLJSmfItf92gocoPpkyM2j5rjGp6TyCXA
	KlRfoKOGSSt6XDtybMpn9t+OAd1+5JYnLpWVWvP/E5WDKFodPm+TYbS+M0vYog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791379724;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=D37sxBcbnKf+azm+RhR6Lh7Z2NMp0lRNyUzpsbJD+BI=;
	b=WquOwkJ0fh6qgAw0BMZT7hiqS8xVNbGUUQZCSg+OpMtFC/MM6qVymflaC/+EDlY7ss7gfi
	TpL3uEvp4+CwkmATNt8F1rPVcfxI8Lki85CCKEdPmz3njFfvV/U2rkDoyEiuOQL4up7f2+
	SoqhfE8z0Z+j3/4ZjPpMG4kdXyN8v7csThgVnRVxIHIL6u50/zwQQqGXMYZG2qbaNdUuEr
	UFWZnEN76KNJObQdu+0rP4CZL/Wwkla3w+GFxLHsjnjFurvzNFKT/mO9lkaElAkDpN5CKs
	xD/A9vwSsq42Av7tQM5OqK0jTlAeR535Viv41oSjrUmwN9Ys04WDZH5spXuwDg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0DV371CYzw46
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 13:28:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 46d08
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 13:28:43 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: a23901a37be9 - main - linux: Initialize per-VNET state earlier
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: a23901a37be9d8567db42f20d2ccc40fc5b7ee2a
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 13:28:43 +0000
Message-Id: <6ac6490b.46d08.3fac39b7@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit a23901a37be9d8567db42f20d2ccc40fc5b7ee2a
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-06 22:05:03 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 13:28:28 +0000

    linux: Initialize per-VNET state earlier
    
    Make sure that linux_ifnet_departure() can't run after
    linux_ifnet_vnet_uninit() has destroyed the per-VNET unit number
    allocator.  Otherwise, when ifc_detach_cloner() destroys instances of an
    interface type, it might be running too late.  Most cloner-based drivers
    tear themselves down during SI_SUB_PSEUDO or SI_SUB_PROTO_IF.
    
    Reviewed by:    pouria, glebius
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60389
---
 sys/compat/linux/linux_if.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/compat/linux/linux_if.c b/sys/compat/linux/linux_if.c
index 51a76aa13be3..f386d55a9ae2 100644
--- a/sys/compat/linux/linux_if.c
+++ b/sys/compat/linux/linux_if.c
@@ -113,7 +113,7 @@ linux_ifnet_vnet_init(void *arg __unused)
 		linux_ifnet_arrival(NULL, ifp);
 	NET_EPOCH_EXIT(et);
 }
-VNET_SYSINIT(linux_ifnet_vnet_init, SI_SUB_PROTO_IF, SI_ORDER_ANY,
+VNET_SYSINIT(linux_ifnet_vnet_init, SI_SUB_INIT_IF, SI_ORDER_ANY,
     linux_ifnet_vnet_init, NULL);
 
 static void
@@ -129,7 +129,7 @@ linux_ifnet_vnet_uninit(void *arg __unused)
 	clear_unrhdr(V_linux_eth_unr);
 	delete_unrhdr(V_linux_eth_unr);
 }
-VNET_SYSUNINIT(linux_ifnet_vnet_uninit, SI_SUB_PROTO_IF, SI_ORDER_ANY,
+VNET_SYSUNINIT(linux_ifnet_vnet_uninit, SI_SUB_INIT_IF, SI_ORDER_ANY,
     linux_ifnet_vnet_uninit, NULL);
 
 /*

From nobody Wed Oct  7 14:05: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 4j0FJ534Prz6vxVV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:05: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FJ52bRFz3N3Y
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:05:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791381909;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YIkX4/SlTGS+exfTyYE7HiQ6XmsNh6lQc5ES4UGeXO4=;
	b=MX4Vzpct5ULFjjWcwaf3bfWu4KuVoFDagqWyDEf5NeCEfgjjOwO2HTgiEShB7XL6d4VYSL
	YhRq4Vs8A8uhzBtXHIbz4m4Ii859uJKQXFS0Ctgh/PHiPuxVkwiOrVh2NwFMz2Vg7+XP5h
	bfJ7h0hK4ggWzP4mVTgyQ6XzMTgOTKgQY116wodGUQybrTUYC9ilgA8GsoVp3kbw6mkoCh
	hmwM20h2jAFllUcDojtsdg3YL7erqA3gc5QWZ+ZBVscPCuOewYyud5r5QtM9A4rxWJ5T8w
	c+FgLanDOtY0uf55RDehs+xRxTh4uUlUhTpLGrqy1JWn+mARInzszxwDDYmegw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791381909;
	b=ExIMk+WOpEtwRDohf6Bldc37saQrqWzpxOHgCPErOdTNESBXY8ACB8Wk6WRl4gQsK/eVYz
	pvR/edBI886Y2SWIbMs2QiJmIXGiKBorNd5CJM2NKQF5ZbzypajVm2BCMO0ec4WIgI55ql
	5kyLq/KLSvKysyKUQpvrMAA6y+JzhKLCJJ4BYOF9CbrR28mqxfC5blGeE6O7lJ9nlIQLli
	sIVVT6WLKwhWGQ6Mtgbyo+e5xsuoHURxuAWc20Rosp/hkCY0HtwbAIcLitqK07W/QxMfk9
	w954rqqP8obibkMttkbdIrzVikvY3uFot/ko7ELcvYuMIWBMPY3lnXyz3LiIiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791381909;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YIkX4/SlTGS+exfTyYE7HiQ6XmsNh6lQc5ES4UGeXO4=;
	b=S2QZtUca6YaXpVq+DHEA8PFgmywYjOTiDxaI6QwwOEx+6GLDQxe9vf4YnZoEVOVQtH9/mN
	2L3LypAOikiJXa3yjdXH6SICrZLf6WUyLgLLRp36DfjUUGcUaEJNdBNSHMSQa15VRdMZlh
	Y7HG8DRi2Al/GPY1XWn6AWEgxm5hSZLld0xszoFtnka1iTyNHwToZsokc1jhNE4PaXau+I
	dla1aU20u/sWj2fyy9Lth7m99BeaooUMqt0vEAksOQuf519SD7L+v0bprmqdupI+i4pjj5
	A9oJW+jv7J5Rb2TQEnLTg1vCKdIhLASptoNtSzVgJhOThyBwZnZUUWDJ5yO0ag==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FJ50qqBzw65
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:05:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 19da1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:05:09 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Jasper Tran O'Leary <jtranoleary@google.com>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 67f85bf4b3f1 - main - gve: fix double free on ring allocation failure
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 67f85bf4b3f1156f2300fb6414f6bb0ca446c436
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:05:09 +0000
Message-Id: <6ac65195.19da1.7a9800ac@gitrepo.freebsd.org>

The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=67f85bf4b3f1156f2300fb6414f6bb0ca446c436

commit 67f85bf4b3f1156f2300fb6414f6bb0ca446c436
Author:     Jasper Tran O'Leary <jtranoleary@google.com>
AuthorDate: 2026-10-07 13:29:31 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 13:29:46 +0000

    gve: fix double free on ring allocation failure
    
    When gve_alloc_rings fails (such as when failing to acquire MSI-X
    vectors or during partial ring allocation), ring cleanup can be
    executed multiple times across nested error paths (e.g. within
    gve_alloc_rings abort and gve_attach abort).
    
    Because gve_free_counters invoked counter_u64_free without nullifying
    the pointer in the stats array, repeated invocation caused a double-free
    panic when freeing the same counter references.
    
    Check for non-NULL before freeing and nullify each counter pointer
    upon release in gve_free_counters.
    
    Signed-off-by: Jasper Tran O'Leary <jtranoleary@google.com>
    
    Reviewed by:    adrian, markj
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D60386
---
 sys/dev/gve/gve_utils.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sys/dev/gve/gve_utils.c b/sys/dev/gve/gve_utils.c
index 707b8f039d88..498ffb305876 100644
--- a/sys/dev/gve/gve_utils.c
+++ b/sys/dev/gve/gve_utils.c
@@ -69,8 +69,12 @@ gve_free_counters(counter_u64_t *stat, int num_stats)
 {
 	int i;
 
-	for (i = 0; i < num_stats; i++)
-		counter_u64_free(stat[i]);
+	for (i = 0; i < num_stats; i++) {
+		if (stat[i] != NULL) {
+			counter_u64_free(stat[i]);
+			stat[i] = NULL;
+		}
+	}
 }
 
 /* Currently assumes a single segment. */

From nobody Wed Oct  7 14:05: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 4j0FJ94wsHz6vxy6
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:05:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FJ92kP5z3NYm
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:05:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791381913;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=JHelzC7mZUXJtfYPX6UnQ9TfkwOZSY3l2t+0hR2MVLY=;
	b=b/dYkEfneJHfKRwWpQwimWiH/ARpk91OTd6ZQnLrIdrNT+Snc307iUNVcz37sZ8x9R3ADD
	ayw7VNJBeh8gSqInU3cnh8tUbyQPYTWgsd8kSn9dksn8ZVne5Pe0ZmzX3ZK3PemdQmMWhl
	yrwAPYC9jUnz5Dhc1EDtZZXbKLC/34/RP4pMeNTxidi7/GY4V4PbsAm0/01HVj4TNf9OTE
	tNFqfFKfeP/xyi42cK4vBKaFzGjT8mUrIm1/Nnk2xFOFsZl9I27T8iyGYPHwHDoBpnP0PZ
	sVlMNrH7Yv3408qQ5VmkjalUcMsDor9rG7aif1agKz1Igz58zBpHeL7gK/2MCA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791381913;
	b=DOw5n9xmRQzSK8anS98hoGdyXcoqnd84J/yDsvLWQOaSO2mxe+RZd5oFIqKu1jb/6J9M/0
	rHef5bQoAZsYj55MkXjUzeMM17I8vla/g+oGY+WQeYnCA5gtJZ1qsBuh0Mk15TasFZ37cF
	3o6Xapc5aOpIOr+a0j8NWjfI+6VbldJsxKvdDNQdG1JKTCjlE8LMHFqHWKEw4JmKCRex9a
	1Ao7qIvaZ3jXWCHTt6gtxkCK08iD9qW2cdLkrLUXFi5t3mMUaXOI+RIUmuA8x82tC8gLzK
	aB5ToA5E0OFzECNWb1RS9cpeqAKw1BxZugfxSvqJ4/w6QAK+r7uTyYSvRAOXYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791381913;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=JHelzC7mZUXJtfYPX6UnQ9TfkwOZSY3l2t+0hR2MVLY=;
	b=phmc92ZjeT7iBXwK/Ch38d4Z6XfJwk11bLwSlyyu3kdIYoFwPzNuD2dTlXhg9ZFrJpRwWb
	hZYP5vuLw+GPR6SCetp6KEhyjB4fstyvKS3ZoFcZkxAwIbein3T7WibACOj6HEShvImEJL
	jKXVKCVu+UZAOPhZnxFHkBCAfJ5zNaZChRSc+o6lwF3enBaw2UFi5fr7GgZO2+MdCjYVZV
	xhan9bv0HMt4sUP5LaGkxcWWkjBidPZ9GgULUve0MKFo/Pw/kBOAV2xRrg0mWeKdosW6xp
	nzHLdkWD05QxDJpbQ6fwmIfy62y7CEtYzCXV+NXU5Ag6xehuPuAp0Z8SyI9Xvg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FJ91Js1zwJS
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:05:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1c097
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:05:08 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Jasper Tran O'Leary <jtranoleary@google.com>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: d45b063c06d4 - main - gve: fix kernel panic on attach failure
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: d45b063c06d46d0f43489708e226821cddbad53b
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:05:08 +0000
Message-Id: <6ac65194.1c097.ed4c373@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit d45b063c06d46d0f43489708e226821cddbad53b
Author:     Jasper Tran O'Leary <jtranoleary@google.com>
AuthorDate: 2026-10-07 13:29:28 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 13:29:40 +0000

    gve: fix kernel panic on attach failure
    
    When device initialization fails during attach (for instance, if device
    resource configuration or firmware negotiation fails), the driver aborts
    and unrolls partial state via its detach routine. However, the teardown
    path assumes transmit and receive queues have already been created. If
    attach aborts before queue allocation, tearing down the uninitialized
    queues triggers a NULL pointer dereference and panics the kernel during
    boot.
    
    Guard queue teardown against uninitialized queue state so that early
    attach failures unwind safely, allowing the driver to report the failure
    gracefully without crashing the operating system.
    
    Signed-off-by: Jasper Tran O'Leary <jtranoleary@google.com>
    
    Reviewed by:    adrian, markj
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D60385
---
 sys/dev/gve/gve_main.c | 16 ++++++++++------
 sys/dev/gve/gve_rx.c   |  3 +++
 sys/dev/gve/gve_tx.c   |  3 +++
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c
index 10197a8e15f8..fc88b3dfd014 100644
--- a/sys/dev/gve/gve_main.c
+++ b/sys/dev/gve/gve_main.c
@@ -694,13 +694,17 @@ gve_free_rings(struct gve_priv *priv)
 {
 	gve_free_irqs(priv);
 
-	gve_free_tx_rings(priv, 0, priv->tx_cfg.num_queues);
-	free(priv->tx, M_GVE);
-	priv->tx = NULL;
+	if (priv->tx != NULL) {
+		gve_free_tx_rings(priv, 0, priv->tx_cfg.num_queues);
+		free(priv->tx, M_GVE);
+		priv->tx = NULL;
+	}
 
-	gve_free_rx_rings(priv, 0, priv->rx_cfg.num_queues);
-	free(priv->rx, M_GVE);
-	priv->rx = NULL;
+	if (priv->rx != NULL) {
+		gve_free_rx_rings(priv, 0, priv->rx_cfg.num_queues);
+		free(priv->rx, M_GVE);
+		priv->rx = NULL;
+	}
 }
 
 static int
diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c
index de64375ac4f3..8d3f1e2a68d9 100644
--- a/sys/dev/gve/gve_rx.c
+++ b/sys/dev/gve/gve_rx.c
@@ -209,6 +209,9 @@ gve_free_rx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx)
 {
 	int i;
 
+	if (priv->rx == NULL)
+		return;
+
 	for (i = start_idx; i < stop_idx; i++)
 		gve_rx_free_ring(priv, i);
 }
diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c
index 5e0611e1d6e4..53451acc1934 100644
--- a/sys/dev/gve/gve_tx.c
+++ b/sys/dev/gve/gve_tx.c
@@ -207,6 +207,9 @@ gve_free_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx)
 {
 	int i;
 
+	if (priv->tx == NULL)
+		return;
+
 	for (i = start_idx; i < stop_idx; i++)
 		gve_tx_free_ring(priv, i);
 }

From nobody Wed Oct  7 14:07: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 4j0FM33KJyz6vy1P
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:07: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FM31JVPz3PJf
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791382063;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=IpDtymzhk3Ah5oNAU/xY1foAUT1ql4to5KG/9bxpqXQ=;
	b=RAOO37zGNjzryPx59SvdMeY++uq8mkoPN8lSAJCdf9Oqi5RLJWgEE2OPXjogynFCXdSSok
	1FrtNLRuVdrTepMhn67o3uRBTsadFw6HfCMyyl1U5KjsZwtVLrM1a2ssqWhLXET63fpPfJ
	MbNgVLfblhcRq34GK1tQj7CdeHyZwrGDweL4W7DqUBNKDxwdz2ss7KqkQ2u4V/W97XMQ1E
	DoWiLdYPq7b0Lrbu2D7UllETbCXzKIbzY20FShwxdbzYOFAXq546d4fgQO2LdUaa2fq9oi
	bSXhw9inBWboIUQozuxvZTxuyP8he+RcNAks1DdTCGFiZnUfYhnI+OV2fhP/rQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791382063;
	b=F2oyNAqKKuNUWbYMADD9l0STEQVUVXWITu4tINFz8cv58q7mgLCIezfo4KBu6q2nY3/l7g
	KFoZbwSzt/zDhoQ9l9d7Lr7wQnsKmpyCNJpKqkfdbcQCjn9fF1t+i0NHEgiOzzlpyVL7cE
	FmNXp6X+V1Iab/nTkpEpX7ewemKmS2e2lWtplkkijucN3bMcGIa/GiBlrkKQaZtfXiYMa7
	8qDsGgOn5mNsmRT1zIFC+dUTM1ixeY/ZsQWuJ9A9kjpolQ0+2JvpkivXBU/98ZrVoQYBAp
	Ahz1QtIW1tHLqod89BFCqIDvYGlV5DeJjJcyMA3QQfDh1nVZCsvpA51lvriaqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791382063;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=IpDtymzhk3Ah5oNAU/xY1foAUT1ql4to5KG/9bxpqXQ=;
	b=yUK6F6vpMemX8u/n1DC/r8yRQooiGLnTCzF1JEGkQwutf4CPQHPxVR0gnfTpOnPBa2NjMd
	wKofegadT4z2s5WJPe7f8v/Ik77xs0Kd6YCiDjA63BWpJBKGeRZP9F1QzDvG2fDKBZv/p6
	zu9TkDI02Qawv7UybJ7f9q8gAlreEfl64Prbdc1pWBRAl8+E1IoBJa2LMNEZxATLaIve79
	DsuH9z6zB/svy8hrrOAOhGVJWY4fa65b5GJA9opPYl7ZuM0mvCNJ9IcTb9iCsQQBgfYoVD
	uDHuOdw5BnqWlSCJVHm9lRum+frUQOQ5fLdkgLnmaZ78aJ65j+VAKsTtnoza7Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FM306TKzx3P
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1c532
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:07:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Baptiste Daroussin <bapt@FreeBSD.org>
Subject: git: a1789e345db7 - main - dhclient: recognize the Captive Portal DHCP options
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: bapt
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a1789e345db7f7c5f248006b49bb287067e03a45
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:07:42 +0000
Message-Id: <6ac6522e.1c532.60bf27e6@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit a1789e345db7f7c5f248006b49bb287067e03a45
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-10-02 19:53:30 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-10-07 14:07:08 +0000

    dhclient: recognize the Captive Portal DHCP options
    
    Rename option 114 from "url" to "captive-portal" (RFC 8910) and retain
    "url" as a deprecated alias.  Rename option 160 from the generic
    "option-160" to "captive-portal-legacy" (RFC 7710).
    
    Reviewed by:    emaste, dch
    Apprived by:    emaste, dch
    Differential Revision:  https://reviews.freebsd.org/D60256
---
 sbin/dhclient/dhclient.c     |  3 ++-
 sbin/dhclient/dhcp-options.5 | 21 ++++++++++++++++-----
 sbin/dhclient/dhcp.h         |  3 ++-
 sbin/dhclient/tables.c       | 12 ++++++++----
 4 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
index e06517a06733..a9425707577c 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2816,7 +2816,8 @@ check_option(struct client_lease *l, int option)
 	case DHO_DHCP_CLIENT_IDENTIFIER:
 	case DHO_BOOTFILE_NAME:
 	case DHO_DHCP_USER_CLASS_ID:
-	case DHO_URL:
+	case DHO_CAPTIVE_PORTAL:
+	case DHO_CAPTIVE_PORTAL_LEGACY:
 	case DHO_SIP_SERVERS:
 	case DHO_V_I_VENDOR_CLASS:
 	case DHO_V_I_VENDOR_OPTS:
diff --git a/sbin/dhclient/dhcp-options.5 b/sbin/dhclient/dhcp-options.5
index db89140c1748..bc309c9b3ba3 100644
--- a/sbin/dhclient/dhcp-options.5
+++ b/sbin/dhclient/dhcp-options.5
@@ -36,7 +36,7 @@
 .\" see ``http://www.isc.org/isc''.  To learn more about Vixie
 .\" Enterprises, see ``http://www.vix.com''.
 .\"
-.Dd January 1, 1995
+.Dd October 2, 2026
 .Dt DHCP-OPTIONS 5
 .Os
 .Sh NAME
@@ -591,9 +591,20 @@ Servers should be listed in order of preference.
 The StreetTalk Directory Assistance (STDA) server option specifies a
 list of STDA servers available to the client.
 Servers should be listed in order of preference.
-.It Ic option url Ar string ;
-This option specifies the URL that the client may use when using UEFI
-boot from a HTTP server.
+.It Ic option captive-portal Ar string ;
+This option specifies the URI of a captive portal API, as defined by
+RFC 8910.
+The value is a URI, usually of the form
+.Dq Li https:// Ns Ar host Ns Pa /path .
+A single option may contain more than one URI, separated by a space.
+.Pp
+The name
+.Ic url
+is retained as a deprecated alias.
+.It Ic option captive-portal-legacy Ar string ;
+This option specifies the URI of a captive portal API as defined by
+RFC 7710, which used DHCP option code 160.
+RFC 8910 obsoleted RFC 7710 and moved the option to code 114.
 .El
 .Sh SEE ALSO
 .Xr dhclient.conf 5 ,
@@ -602,7 +613,7 @@ boot from a HTTP server.
 .Xr dhclient 8 ,
 .Xr dhcpd 8
 .Rs
-.%R "RFC 2131, RFC 2132, RFC 3769, RFC 8925"
+.%R "RFC 2131, RFC 2132, RFC 3769, RFC 8910, RFC 8925"
 .Re
 .Sh AUTHORS
 .An -nosplit
diff --git a/sbin/dhclient/dhcp.h b/sbin/dhclient/dhcp.h
index 3b36038fce46..bdf28311dbd6 100644
--- a/sbin/dhclient/dhcp.h
+++ b/sbin/dhclient/dhcp.h
@@ -173,12 +173,13 @@ struct dhcp_packet {
 #define	DHO_STREETTALK_DA_SERVER	76
 #define DHO_DHCP_USER_CLASS_ID		77
 #define	DHO_IPV6_ONLY			108
-#define	DHO_URL				114
+#define	DHO_CAPTIVE_PORTAL		114
 #define	DHO_DOMAIN_SEARCH		119
 #define DHO_SIP_SERVERS			120
 #define DHO_CLASSLESS_ROUTES		121
 #define DHO_V_I_VENDOR_CLASS		124
 #define DHO_V_I_VENDOR_OPTS		125
+#define	DHO_CAPTIVE_PORTAL_LEGACY	160
 #define DHO_END				255
 
 /* DHCP message types. */
diff --git a/sbin/dhclient/tables.c b/sbin/dhclient/tables.c
index a3757ebc6b65..65c59c64727e 100644
--- a/sbin/dhclient/tables.c
+++ b/sbin/dhclient/tables.c
@@ -179,7 +179,7 @@ struct option dhcp_options[256] = {
 	{ "option-111", "X",				&dhcp_universe, 111 },
 	{ "option-112", "X",				&dhcp_universe, 112 },
 	{ "option-113", "X",				&dhcp_universe, 113 },
-	{ "url", "t",					&dhcp_universe, 114 },
+	{ "captive-portal", "t",			&dhcp_universe, 114 },
 	{ "option-115", "X",				&dhcp_universe, 115 },
 	{ "option-116", "X",				&dhcp_universe, 116 },
 	{ "option-117", "X",				&dhcp_universe, 117 },
@@ -225,7 +225,7 @@ struct option dhcp_options[256] = {
 	{ "option-157", "X",				&dhcp_universe, 157 },
 	{ "option-158", "X",				&dhcp_universe, 158 },
 	{ "option-159", "X",				&dhcp_universe, 159 },
-	{ "option-160", "X",				&dhcp_universe, 160 },
+	{ "captive-portal-legacy", "t",			&dhcp_universe, 160 },
 	{ "option-161", "X",				&dhcp_universe, 161 },
 	{ "option-162", "X",				&dhcp_universe, 162 },
 	{ "option-163", "X",				&dhcp_universe, 163 },
@@ -402,8 +402,9 @@ unsigned char dhcp_option_default_priority_list[] = {
 	DHO_STREETTALK_DA_SERVER,
 	DHO_DHCP_USER_CLASS_ID,
 	DHO_DOMAIN_SEARCH,
-	DHO_URL,
+	DHO_CAPTIVE_PORTAL,
 	DHO_IPV6_ONLY,
+	DHO_CAPTIVE_PORTAL_LEGACY,
 
 	/* Presently-undefined options... */
 	62, 63, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
@@ -412,7 +413,7 @@ unsigned char dhcp_option_default_priority_list[] = {
 	118,      120, 122, 123, 124, 125, 126, 127, 128, 129, 130,
 	131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
 	143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
-	155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+	155, 156, 157, 158, 159,      161, 162, 163, 164, 165, 166,
 	167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
 	179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
 	191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
@@ -443,6 +444,9 @@ initialize_universes(void)
 		    (const unsigned char *)dhcp_options[i].name, 0,
 		    (unsigned char *)&dhcp_options[i]);
 	}
+	/* "url" is a deprecated alias for option 114. */
+	add_hash(dhcp_universe.hash, (const unsigned char *)"url", 0,
+	    (unsigned char *)&dhcp_options[DHO_CAPTIVE_PORTAL]);
 	universe_hash.hash_count = DEFAULT_HASH_SIZE;
 	add_hash(&universe_hash,
 	    (const unsigned char *)dhcp_universe.name, 0,

From nobody Wed Oct  7 14:07: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 4j0FM429xPz6vy1W
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:07:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FM41D22z3PG2
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791382064;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=AM8J0OFUgdomqQECYLH0SNDDeWjKXKUrEJ8B/KGAlmc=;
	b=JYISG6+sNYCmkKuhe1rH60HTXcixJ7veIv0BzMbB6JO95wO2meUDCQgD1Hgr7JRH9VJmXL
	CpM+gq4gWrwivsOkUVDlHByecFEyVvGjCexU7ecLNY5sjkkXHED9FFIoPZ/R9RvIleUtKN
	1lWLyb7/Bl5KX3XRokgRY+q0fVqZ4aiU+OcLViwagjAiqbPKbrHJvMCWr/L7k99Ail0uip
	rAg1wOCgOK2HgS/ebrWzZlEpU2/cqbR/F433nYvBaepylQujv81/ajsV3OQ7CIpFHJKCas
	U1b1GVN8X16zkNPNJ7DvoWS70xafZbTHXv74p1TgThWKnJgVmixw7XQnNgDr+A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791382064;
	b=kryuvLqchxokGpfABZGrX/5GHYRkQRg/bdQQB8odwfnaxs4N5h4MgGRgPWJKLVGzSh2eux
	H6A4k8FJeZ7+aG3zX/OS7v/nhqB/P+aYovgOFdzPClWty/U4MMZh/jbFkIJTevDPTYMFpX
	FQs5zY+YrCTU3KrYEgQvn+uKeCvCUmq5BM4D5LEm3s4LffVuFWwk3IgogfvlZIrgmpxXbC
	J04av/WUCNW5fLoh6LBQVzIdEZJFbtTtEF9BN9i9rjWyN8hU7H67f/vgmgn6Ts9nZXEzDf
	IpTfE2sfHnNGXbYKgLf2/Erz52TvmhNZ9axaoU+L2646rs6Hzzj09989kRoYAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791382064;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=AM8J0OFUgdomqQECYLH0SNDDeWjKXKUrEJ8B/KGAlmc=;
	b=vHlnWUmTsBpGan4N7LlQVnPI2ahX3OVLUqf/pMLjNSbybjyqY2CnoM1KU00v02LciNal8i
	Pwfa1M/YIEwFfxb1F2Av9RC0mQgOYll3bXW4QfY2926ZOtFklqXt0/v10wOphdQs6XQmf9
	BWlTPW2Rnl1WHC1aWWqIFpB3ZDN/GjdhKFJgVgjH3ljsW6H+62OdateosBm0w+xVcW+zpD
	tgfbFM2zcJLXYj4qM20kozBWgjRaipvEUIYybNCGVN42QxU68M2LEN3Y3mtvIqp0B6HeJf
	58iP6nlCBWPj0iQw+7ESg77b+bGrYtqI52rZMEtnCMUrmoLGykzgvdIy8fDlcQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FM40HZrzwxZ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1c018
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:07:44 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Baptiste Daroussin <bapt@FreeBSD.org>
Subject: git: afee6fb209d1 - main - dhclient: request the Captive Portal options
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: bapt
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: afee6fb209d18209f5b7707b944b30b80051e193
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:07:44 +0000
Message-Id: <6ac65230.1c018.32aa6087@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit afee6fb209d18209f5b7707b944b30b80051e193
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-10-02 19:53:50 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-10-07 14:07:09 +0000

    dhclient: request the Captive Portal options
    
    Add DHCP options 114 (captive-portal) and 160 (captive-portal-legacy)
    to the default Parameter Request List so that servers advertise the
    Captive Portal API URI.
    
    Approved by:            emaste
    Reviewed by:            emaste
    Differential Revision:  https://reviews.freebsd.org/D60257
---
 sbin/dhclient/clparse.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sbin/dhclient/clparse.c b/sbin/dhclient/clparse.c
index 46ea6554849f..ef8d28cad076 100644
--- a/sbin/dhclient/clparse.c
+++ b/sbin/dhclient/clparse.c
@@ -125,6 +125,11 @@ read_client_conf(void)
 	    [top_level_config.requested_option_count++] = DHO_DOMAIN_SEARCH;
 	top_level_config.requested_options
 	    [top_level_config.requested_option_count++] = DHO_INTERFACE_MTU;
+	top_level_config.requested_options
+	    [top_level_config.requested_option_count++] = DHO_CAPTIVE_PORTAL;
+	top_level_config.requested_options
+	    [top_level_config.requested_option_count++] =
+	    DHO_CAPTIVE_PORTAL_LEGACY;
 #ifdef INET6
 	/*
 	 * RFC 8925 sec 3.2: The DHCPv4 client on an IPv4-requiring host MUST

From nobody Wed Oct  7 14:07: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 4j0FM54jwyz6vyCh
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:07: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FM51b3hz3PGL
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:45 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791382065;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Eh7ttyjrawmYSUpcT1Mu8PqJlO0NnFycmiMqoPZrjrw=;
	b=bg+aiBjGK+CjtciOq0Jodgo8GWwYadYmD/+yiQSZJXmhwBUN6ik/kE5gHf57RKdRfmMxMg
	WTvABPJlvvqiHGoLK2W5cw7UE3rztJmZ+Heig6NnLkaZQn1p5Gbb0J2ADteQsTmJLZvF+R
	kZ5eGL7xtGHbRMHIxTBPHuNY15NFufLiXeoO1ahD/FTNeTuTL9fwcjYC6brbl4mplMdms+
	RyrWb+M07lCQo49W5LT288px4gGXd1U3s5Jd7s4WkKJOojvgv5UNOcH18xNHpvc9oqdKsU
	H27ZS8JNXwB0doBFj50cWt5XMU9LlrVu8KWHwGJ0GMf+M0MqHi7EeCogGs0zzA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791382065;
	b=ykLNHWtm7c673y8ZlFJAFBAXhJXB9rIPDQTgF4u8vhLosEyGoyJmIt3Gcu342fIHEo9+qv
	QLiU38Cm39tvugbdnLG0COL0rVr4FVRwkVo/feAA2h73DuAXi8SfDIiaHSfxqjYP5neUnx
	bzE2lzT6/rgUK0Vr4JHneoT0V0Zq4RYBI5Uwx8/i8qpQEFygsDT9O+vlVStzJ3JbnWPzhQ
	mTj1OT4zM62iarFyODjkfy15siJjXViqj8sVut0QdM5ZZLR9vdQ5WJADZeGFqpQ/njSaFU
	gTuu3QWKX91fdAeoLj0VwylvGb9rXj6brM8EoamsQPfPnYhUyvdpVfAXAI2b+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791382065;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Eh7ttyjrawmYSUpcT1Mu8PqJlO0NnFycmiMqoPZrjrw=;
	b=ratXRljyjYAjGtM8vEPxgdQk19LXwU0NuBxC3oogpffw2TTT15C5308J4Bj8tngJrXk/cv
	1WUVmGS/89/OUpyJPglZd8mU7KJFYXvX429lO3ohLsG1Wmt0E+xZhyDVDrxjzmiHACnhLH
	HheNCxdrn8UjEaOAb4PGA/L2CKQU/IAR50fit9dVOdeQJFKeAyj3FkbvM6/C00UXNDaw+D
	096gjfGbWInmRAdkDW7FL2afXmo2ABUl49uTEofEntyI0HLul9Qi6341kpStNjUFeVgg94
	sYz2/OeDIjFnpAfbH1+G0VJqsyTUJrxIZ4MrOANsHmCC+CF4vfyGHfA6BswgNg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FM50dtXzwJV
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:45 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1c09c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:07:45 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Baptiste Daroussin <bapt@FreeBSD.org>
Subject: git: 7ba72855939f - main - dhclient: export the Captive Portal URI to the script
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: bapt
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 7ba72855939fc53eb8b6d9def386564579780786
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:07:45 +0000
Message-Id: <6ac65231.1c09c.84ecb5c@gitrepo.freebsd.org>

The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=7ba72855939fc53eb8b6d9def386564579780786

commit 7ba72855939fc53eb8b6d9def386564579780786
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-10-02 19:54:25 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-10-07 14:07:09 +0000

    dhclient: export the Captive Portal URI to the script
    
    Differential Revision=  https://reviews.freebsd.org/D60259
---
 sbin/dhclient/dhclient.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
index a9425707577c..bef956645b85 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2431,10 +2431,21 @@ supersede:
 		if (len) {
 			char name[256];
 
-			if (dhcp_option_ev_name(name, sizeof(name),
+			/*
+			 * The option is named "captive-portal", so the
+			 * generic name derived below would be
+			 * new_captive_portal / old_captive_portal.
+			 * Append "_url" suffix so that the variable name
+			 * says that the value is a URL.
+			 */
+			if (i == DHO_CAPTIVE_PORTAL)
+				strlcpy(name, "captive_portal_url",
+				    sizeof(name));
+			else if (!dhcp_option_ev_name(name, sizeof(name),
 			    &dhcp_options[i]))
-				script_set_env(ip->client, prefix, name,
-				    pretty_print_option(i, dp, len, 0, 0));
+				continue;
+			script_set_env(ip->client, prefix, name,
+			    pretty_print_option(i, dp, len, 0, 0));
 		}
 	}
 	snprintf(tbuf, sizeof(tbuf), "%d", (int)lease->expiry);

From nobody Wed Oct  7 14:07: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 4j0FM66kH3z6vy71
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:07: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0FM64ckcz3P5H
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791382066;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=5ed5dRuMH4JAKuhPVMsnTXcOSr8IFiFTMALhLK/7HnY=;
	b=fcF+nJVhW8DcywIuJNBJbDF8IwOpk6+cg9/3X72WbF1IoZMxmUv0kgcYvxmGsnfKRe1ZBL
	nbnfTFTpZ84ZN+vt6MqcEx1Yo4UyhRjE3VucuEW1gRowHaUqCustSPwYQwmSg7ldD69y6/
	BPaVxfGA4pZZ6l2EqqYBJf7qT9W0StYjNBy2HdXnHsVtCMrRdE6gPAMf58zRSg8LFdh24r
	z0nuhphruBtbXmMNM3RIVnAwSPRdgu3vo10rhtLDPS3tSHl9y2kntHv9sSH6CEi7uXnr01
	Ny+nb+G5AgjPeDRWQkHu6mMaTyldaXRA/V2cJJ3SBrijoGSknuiyEbpEKX0d3g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791382066;
	b=KwZEWllTLWNCWdufiKSBFPggQHr1XBHww7PvtbSGOK1bYItHLWIaSsyCLwFx7yUFctycnZ
	9nXf5i3Uw4XLCWTWwilK+hC46f8gjL6bAd1I8iCPBX/3V8ay/sbJ9e4Dm1Q7VbRyVbp5YR
	nY16FEgn/NlXqL1t5lH21dG+7gTjLBfBxSOG7s08rJjAjgS3nbPyKUwTLwtG2KnSityjhn
	zxuYReoo3OiCbWMYUlsh6kT8DFjIQhbKGiR8b1xoKp55B1tKXkeUg2lS9HG3Em+ZrMo9Y+
	RtllqEQcSjaU2a9qXLiXuzaBbO9PiCzte24+9A7S5AOzDUYBbacECzSi2fsOJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791382066;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=5ed5dRuMH4JAKuhPVMsnTXcOSr8IFiFTMALhLK/7HnY=;
	b=cL/yLKRqDSYWVJQgZ24kN+yu8/wyEq9K4p5HjLFKn8Q229f9oLo8p3rXRyre6DzBJb2St5
	YdmGyyRGQp3DpfAmt7VXnhMVNOoVTIL/yzkkQR7afzHUlgkgOEoq/kkx6By+9dKRV0OOQs
	kND1INQcM95DysbTvNj4LEmUbCeeCJ6Fi5KZhfXpAIgvkwayU1zdkF+wtpMU7hfM2eW7T5
	Wxdw4mXkP9GKnHhndcRYN2huUKSN+d1ThAS9ro7cS77ubZbLlGkHy3BfP9ROg4seSPvZjF
	Np6JEdnnnhQYuop6nm1DIEIyvMg3t2WSm632Q4zf3Fv/KddG9B1oRHqPqNmV3g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0FM61Ppnzx10
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:07:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 19ad2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:07:46 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Baptiste Daroussin <bapt@FreeBSD.org>
Subject: git: 0f1ca95d7740 - main - dhclient-script: store the Captive Portal URI
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: bapt
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 0f1ca95d7740e0800572ed436fd61e70f76eb6c3
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:07:46 +0000
Message-Id: <6ac65232.19ad2.1f382395@gitrepo.freebsd.org>

The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=0f1ca95d7740e0800572ed436fd61e70f76eb6c3

commit 0f1ca95d7740e0800572ed436fd61e70f76eb6c3
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-10-02 19:55:28 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-10-07 14:07:09 +0000

    dhclient-script: store the Captive Portal URI
    
    Write the URI received in DHCP option 114 to
    /var/run/captive-portal.IFACE atomically, with the legacy option 160 as
    a fallback, and remove the file on EXPIRE and FAIL.
    
    Reviewed by:    bcr (manpage)
    Differential Revision:  https://reviews.freebsd.org/D60259
---
 sbin/dhclient/dhclient-script   | 32 ++++++++++++++++++++++++++++++++
 sbin/dhclient/dhclient-script.8 | 11 ++++++++++-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/sbin/dhclient/dhclient-script b/sbin/dhclient/dhclient-script
index 27c424e18118..b2fde6e3ed2a 100755
--- a/sbin/dhclient/dhclient-script
+++ b/sbin/dhclient/dhclient-script
@@ -84,6 +84,34 @@ add_new_alias() {
 	fi
 }
 
+add_captive_portal() {
+	# DHCP option 114 (RFC 8910), with the legacy DHCP option 160
+	# (RFC 7710) as a fallback.
+	captive_portal_url="${new_captive_portal_url:-$new_captive_portal_legacy}"
+
+	if [ -z "$captive_portal_url" ]; then
+		rm -f /var/run/captive-portal.$interface
+		return 0
+	fi
+
+	$LOGGER "New Captive Portal ($interface): $captive_portal_url"
+
+	captive_portal_tmp=/var/run/captive-portal.${interface}.tmp
+	if ! (umask 022; echo "$captive_portal_url" > $captive_portal_tmp); then
+		rm -f $captive_portal_tmp
+		return 1
+	fi
+	if ! mv $captive_portal_tmp /var/run/captive-portal.$interface; then
+		rm -f $captive_portal_tmp
+		return 1
+	fi
+	return 0
+}
+
+delete_captive_portal() {
+	rm -f /var/run/captive-portal.$interface
+}
+
 fill_classless_routes() {
 	set $1
 	while [ $# -ge 5 ]; do
@@ -349,6 +377,7 @@ BOUND|RENEW|REBIND|REBOOT)
 	if [ "$new_ip_address" != "$alias_ip_address" ]; then
 		add_new_alias
 	fi
+	add_captive_portal
 	if is_default_interface; then
 		add_new_resolv_conf
 	fi
@@ -356,6 +385,7 @@ BOUND|RENEW|REBIND|REBOOT)
 
 EXPIRE|FAIL)
 	delete_old_alias
+	delete_captive_portal
 	if [ -n "$old_ip_address" ]; then
 		delete_old_address
 		delete_old_routes
@@ -392,6 +422,7 @@ TIMEOUT)
 				add_new_alias
 			fi
 			add_new_routes
+			add_captive_portal
 			if ! is_default_interface; then
 				exit_with_hooks 0
 			fi
@@ -402,6 +433,7 @@ TIMEOUT)
 	fi
 	eval "$IFCONFIG $interface inet -alias $new_ip_address $medium"
 	delete_old_routes
+	delete_captive_portal
 	exit_with_hooks 1
 	;;
 esac
diff --git a/sbin/dhclient/dhclient-script.8 b/sbin/dhclient/dhclient-script.8
index dd3efd3e8698..00482da3731c 100644
--- a/sbin/dhclient/dhclient-script.8
+++ b/sbin/dhclient/dhclient-script.8
@@ -36,7 +36,7 @@
 .\" see ``http://www.isc.org/isc''.  To learn more about Vixie
 .\" Enterprises, see ``http://www.vix.com''.
 .\"
-.Dd September 6, 2010
+.Dd October 5, 2026
 .Dt DHCLIENT-SCRIPT 8
 .Os
 .Sh NAME
@@ -142,6 +142,15 @@ in order to make valid shell variables, and the variable names start with
 So for example, the new subnet mask would be passed in
 .Va $new_subnet_mask .
 .Pp
+As an exception, the captive portal API URI from DHCP option 114
+.Pq see Xr dhcp-options 5
+is passed as
+.Va $new_captive_portal_url .
+When such a URI is received, the script also writes it to
+.Pa /var/run/captive-portal. Ns Va $interface
+so that it can be discovered by other programs.
+The file is removed when the lease expires or is lost.
+.Pp
 When a binding has been completed, a lot of network parameters are
 likely to need to be set up.
 A new

From nobody Wed Oct  7 14:17: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 4j0FZV0dQZz6vyc5
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:17:38 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f])
	(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 4j0FZT2C6qz4BMk
	for <dev-commits-src-main@freebsd.org>; Wed, 07 Oct 2026 14:17:37 +0000 (UTC)
	(envelope-from yaneurabeya@gmail.com)
Authentication-Results: mx1.freebsd.org;
	dkim=pass header.d=gmail.com header.s=20251104 header.b=MMzdAqRe;
	spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::42f as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com;
	dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-88bda150550so1141943b3a.2
        for <dev-commits-src-main@freebsd.org>; Wed, 07 Oct 2026 07:17:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1791382654; x=1791987454; darn=freebsd.org;
        h=references:to:cc:in-reply-to:date:subject:mime-version:content-type
         :message-id:from:from:to:cc:subject:date:message-id:reply-to
         :content-type;
        bh=Z6rS03MmuXSNeARGHRUrxThE/uMm3egC4S2Ig6bNlEE=;
        b=MMzdAqReX18Xd+NtKuTF6+O9pykHpqPWj+xD9rk55LPS7Dk5MQl0rBkdnyAY7+WEfH
         zYUsMa8PoI7cZQklc1EuuEKauLM//YvqXm8UtseJCv40WlKJpJc6n2RMb2uXp4oaY8hF
         XZY1N2V6No/nOzTov1BLY4O+P3jMkszDSbw9U5dLmwXeFW/g6PGYYrf8WnU7zNLiPkin
         aC6BUqhzesEIkPEDKR1JcJbfIZF8P46pk3S9VFeGLX8w5KjQlK/G0J4h9ocoqwxKWNXz
         BdNifjJo5BRDYf5N8pKJth31E060ycc8uC9AR/h9wa8m3Bgye41pt6uyUBVzVhHljFRz
         l47w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20260707; t=1791382654; x=1791987454;
        h=references:to:cc:in-reply-to:date:subject:mime-version:content-type
         :message-id:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to:content-type;
        bh=Z6rS03MmuXSNeARGHRUrxThE/uMm3egC4S2Ig6bNlEE=;
        b=iiYhb1eYGVo17OcN9Ac0Ha+wPo/t+HteUHuQzRaGvRDxrTD6Y8j6cV3vnRCjGdxNBY
         32A5Jlpjpice8FZ4minNR7VUKh+66Kp9oymBIf/8EYGu8HOIpFS+4oL89f8OCUk7cOqC
         IWUuSpkvPeOVOoQbQj494gLryBncDqPa0R1pciPsweXSYwXBBHrSgU+rymXPljYsKzit
         5o1k5JGtgni/6U9zD9bjHC06y2QVpjQysyAe5nyHsxCIXRVkq+EO3t7VDctaTmi1Ht0b
         ktB3IFYiF4zsFibuxjbsMHfohY168tHIAlNc8oZ7YuVvSOzV7VNlXxQnMU4qz4sKyCzk
         ee+g==
X-Forwarded-Encrypted: i=1; AKwUvBzmgx00h1uURH3WezWgQqMVYVubb8DUKmm7fnbq2IKzRj3eKNz9Wc0Rfrxx3Zp1xQxHOUSwwRqjrSXAaNBNTP3GrLdoag==@freebsd.org
X-Gm-Message-State: AFuF++mu8pSKKQfwJr+TS+osFhxQCbCi9ortEXXaIDEkiJ25el0nqYUp
	ITJsSNYo/GffhzDhHihqmax622ae/mRy5i9DSDCuWO6rGYcMoqxiGUhN
X-Gm-Gg: AYBFou2q419Fc3OhIzX/b8dwG7K0kiTglOwVibHHvvvgRRDvTvfuqJp7r2NfmeaaIQv
	scqbnocZZQySMmbBD4N6YQoTkTuarTobH4/A6cZOQTJEOQppHKr1o2klFamJxZ0AW7LCYeggek5
	0OoTVcbZp7aN8gWZoNocrvir4RoJzw6+1Ii2tpirA1VH5Ki9RLJjcw8YYnaArAEcwlv+7SrxAxb
	GiyE+lkHXayrJMuAaS6ZiUyDY1uQ4NXiJaPDEFDgKX4Lt+ISmjEn5BgZoXYI5iKjh1YXVpwhkFH
	lD6r42F+HyZGFwuKrQe0HKST5o5j3UCK1CESB0HGNO/rcrT/9dYZmmCvRPFHOS6O8Fu70l6Sy4J
	M3RsmF8XOia/R78uCHTIr076g6s1vUXMFACtJYh0WAuHFSD7mHDnhuP/AIXWcrZ/1MC/+ZS5Jom
	SubOzI7RMmBc/Q5qaNhcfQlDpn/BapgumvtiuipO9vGioqg3436qsxLQj4eSkrbjWDUHFe+max8
	xAGVYLhpOsJWG++/twqYiE/hWPNFWg=
X-Received: by 2002:a05:6300:4086:b0:3d3:ae40:51e8 with SMTP id adf61e73a8af0-3e134061fd4mr1942485637.28.1791382654334;
        Wed, 07 Oct 2026 07:17:34 -0700 (PDT)
Received: from smtpclient.apple ([187.15.153.55])
        by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cd0a9ba8028sm1631733a12.25.2026.10.07.07.17.33
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 07 Oct 2026 07:17:33 -0700 (PDT)
From: "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
Message-Id: <CE357F6D-7B10-4FD1-B444-6677B501AF31@gmail.com>
Content-Type: multipart/signed;
	boundary="Apple-Mail=_DEF04E42-F998-4067-9FC4-A90B7A9EB6B5";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.700.51.1.3\))
Subject: Re: git: df6131e2b74d - main - Remove CDDL and ctfconvert tests when
 their controlling knobs are disabled
Date: Wed, 7 Oct 2026 07:17:21 -0700
In-Reply-To: <864iexogtl.fsf@ltc.des.dev>
Cc: Enji Cooper <ngie@FreeBSD.org>,
 "src-committers@freebsd.org" <src-committers@FreeBSD.org>,
 "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>,
 "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
References: <6ab1edad.23d37.77e4be44@gitrepo.freebsd.org>
 <864if5pbuj.fsf@ltc.des.dev> <864iexogtl.fsf@ltc.des.dev>
X-Mailer: Apple Mail (2.3864.700.51.1.3)
X-Spamd-Bar: --
X-Spamd-Result: default: False [-2.60 / 15.00];
	SIGNED_PGP(-2.00)[];
	MV_CASE(0.50)[];
	DMARC_POLICY_ALLOW(-0.50)[gmail.com,none];
	R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104];
	MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain];
	R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c];
	RCVD_TLS_LAST(0.00)[];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::42f:from];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~];
	FREEMAIL_ENVFROM(0.00)[gmail.com];
	ARC_NA(0.00)[];
	FREEMAIL_FROM(0.00)[gmail.com];
	TO_DN_SOME(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US];
	DWL_DNSWL_NONE(0.00)[gmail.com:dkim];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_TRACE(0.00)[gmail.com:+];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org];
	PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5]
X-Rspamd-Queue-Id: 4j0FZT2C6qz4BMk


--Apple-Mail=_DEF04E42-F998-4067-9FC4-A90B7A9EB6B5
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_CF39C115-CDF0-491D-8219-FCA5B2824A45"


--Apple-Mail=_CF39C115-CDF0-491D-8219-FCA5B2824A45
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On Oct 7, 2026, at 5:06=E2=80=AFAM, Dag-Erling Sm=C3=B8rgrav =
<des@FreeBSD.org> wrote:
>=20
> Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org <mailto:des@FreeBSD.org>> =
writes:
>> Enji Cooper <ngie@FreeBSD.org> writes:
>>> commit df6131e2b74d9f334c16387e9a46cafd6e27eb78
>>> Author:     Enji Cooper <ngie@FreeBSD.org>
>>> AuthorDate: 2026-09-22 02:46:52 +0000
>>> Commit:     Enji Cooper <ngie@FreeBSD.org>
>>> CommitDate: 2026-09-22 02:53:03 +0000
>>>=20
>>>    Remove CDDL and ctfconvert tests when their controlling knobs are =
disabled
>>>=20
>>>    In the event someone specified MK_CDDL =3D=3D no prior to this =
change, all
>>>    tests under `/usr/tests/cddl` would stick around after the =
change,
>>>    resulting in errors. Similarly, MK_DTRACE =3D=3D no removed =
ctfconvert,
>>>    which the ctfconvert tests relied on (but remained around after =
the knob
>>>    was disabled).
>>=20
>> The sum total of my build configuration is
>>=20
>> WITH_DEBUG_FILES	?=3D yes
>> WITHOUT_PROFILE		?=3D yes
>>=20
>> After buildworld + installworld, check-old wants to delete the CDDL
>> tests.  If I run delete-old, then installworld again, they are
>> recreated.
>=20
> Ping

Could please run  `make showconfig` from the top-level directory and =
attach the output in a reply?
Thanks!
-Enji=

--Apple-Mail=_CF39C115-CDF0-491D-8219-FCA5B2824A45
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" =
content=3D"text/html; charset=3Dutf-8"></head><body =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;"><br><div><blockquote type=3D"cite"><div>On=
 Oct 7, 2026, at 5:06=E2=80=AFAM, Dag-Erling Sm=C3=B8rgrav =
&lt;des@FreeBSD.org&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><meta charset=3D"UTF-8"><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;">Dag-Erling Sm=C3=B8rgrav &lt;</span><a =
href=3D"mailto:des@FreeBSD.org" style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; widows: 2; =
word-spacing: 0px; -webkit-text-stroke-width: =
0px;">des@FreeBSD.org</a><span style=3D"caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
orphans: 2; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;">&gt; writes:</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: =
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration-line: none; =
text-decoration-thickness: auto; text-decoration-style: =
solid;"><blockquote type=3D"cite" style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; widows: 2; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-line: =
none; text-decoration-thickness: auto; text-decoration-style: =
solid;">Enji Cooper &lt;ngie@FreeBSD.org&gt; writes:<br><blockquote =
type=3D"cite">commit df6131e2b74d9f334c16387e9a46cafd6e27eb78<br>Author: =
&nbsp;&nbsp;&nbsp;&nbsp;Enji Cooper =
&lt;ngie@FreeBSD.org&gt;<br>AuthorDate: 2026-09-22 02:46:52 =
+0000<br>Commit: &nbsp;&nbsp;&nbsp;&nbsp;Enji Cooper =
&lt;ngie@FreeBSD.org&gt;<br>CommitDate: 2026-09-22 02:53:03 =
+0000<br><br>&nbsp;&nbsp;&nbsp;Remove CDDL and ctfconvert tests when =
their controlling knobs are disabled<br><br>&nbsp;&nbsp;&nbsp;In the =
event someone specified MK_CDDL =3D=3D no prior to this change, =
all<br>&nbsp;&nbsp;&nbsp;tests under `/usr/tests/cddl` would stick =
around after the change,<br>&nbsp;&nbsp;&nbsp;resulting in errors. =
Similarly, MK_DTRACE =3D=3D no removed =
ctfconvert,<br>&nbsp;&nbsp;&nbsp;which the ctfconvert tests relied on =
(but remained around after the knob<br>&nbsp;&nbsp;&nbsp;was =
disabled).<br></blockquote><br>The sum total of my build configuration =
is<br><br>WITH_DEBUG_FILES<span class=3D"Apple-tab-span" =
style=3D"white-space: pre;">	</span>?=3D yes<br>WITHOUT_PROFILE<span =
class=3D"Apple-tab-span" style=3D"white-space: pre;">	</span><span =
class=3D"Apple-tab-span" style=3D"white-space: pre;">	</span>?=3D =
yes<br><br>After buildworld + installworld, check-old wants to delete =
the CDDL<br>tests. &nbsp;If I run delete-old, then installworld again, =
they are<br>recreated.<br></blockquote><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
orphans: 2; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration-line: none; =
text-decoration-thickness: auto; text-decoration-style: solid;"><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;">Ping</span><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
orphans: 2; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration-line: none; =
text-decoration-thickness: auto; text-decoration-style: =
solid;"></div></blockquote></div><br><div>Could please run &nbsp;`make =
showconfig` from the top-level directory and attach the output in a =
reply?</div><div>Thanks!</div><div>-Enji</div></body></html>=

--Apple-Mail=_CF39C115-CDF0-491D-8219-FCA5B2824A45--

--Apple-Mail=_DEF04E42-F998-4067-9FC4-A90B7A9EB6B5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmrGVHEACgkQGpE5DjPs
NJhgHQ/+IWkMEeK8vmr7gQeAKegMfX5TXdG08o15ZvEckMfvZZYxDOeVYyShTsoI
ueUBS0K6nFYJiq1LhLAVvvQBA9IxDp2PLx4jcXaVjedwZiThzGxECgUAV4n1Brf+
bNTUVV59fYUrcFj70ojbLV2JnrO/kQl31jMysUupp9c/mPz+XUbtHvHQ72Wbn01w
+i+IDcXeE+8y0LaD3hdCViAfcs9kmXmSUExZ2XldOgQNxc4CEBunON0UZsieaY9D
/IkRNIRaNfvIyA4HdwRsUGdgKIanat7j+Cd7TWttatx98VSFV/EM/PfhcjgBzM2r
ZS39tf2oyP5OF+V1DQ06qZKSeqCzUKT2159ZoxbqzyVG1MvB/HncuV1Mg0/XFijW
tgaOeMxF+pnADGLxvCb7b6l853EzqbU0sX0vXRJRu+djFKS7Io/imCOF7QIZEFub
c556HxNTCUzpF1WedenGrc2kQVI45otTPBb4LKzi8ZuGQP7d5Bfq03m5E+BKbFMm
5KVG3ymk6kElJ6vnFsymA52SR7p+/fpHlyVvt1WYthfh+j0ViPZraQLkhmJI9AsZ
QfdN+48x9IxTZvoXSY6TmzXCylfbMS/dVAjD+ULow4E+FDlGUlb0URWnU7IbUZcI
QW35x7Mk1GdiIMW2X4CNCCJlQjSWBYruyolIatHxnNld/+nuhFo=
=fxPC
-----END PGP SIGNATURE-----

--Apple-Mail=_DEF04E42-F998-4067-9FC4-A90B7A9EB6B5--

From nobody Wed Oct  7 14:24: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 4j0Fk62hMtz6w0J3
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:24: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0Fk61HRtz4CSV
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:24:14 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791383054;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=oFZjHXPtU692lExuAsyz1a6sFQa7nMIT2l6LlI9UR+c=;
	b=NxAr+DmbGADdY0mErSqJvBNFT3JAxO7ATDEL/giOOpBdrPaxhqvSsMsg9NDRI4BHLRdTz5
	wp8CMzTLfvYD92Bd+2pYBk5JnNtwDt5FarrEZ7QZEp+pXAjbsEm5bncv0VN2yREm2bacus
	haCZglibOYtpbr8600JG32CFTDh+QOs8yZJ1Dc9vq+WF1jAKx42lFPuHAmlPAkVvZiSuN/
	oPL8IeKXFHdO1zWKj20GWrJhbfSqAvbqtVc+LaaWWv2J7JlYFKAW7m3zPlJM3JEUW/di8M
	3tCIrWSGHeGL2PRjFcxjPP6ICaGty7fmJ08JrXnH2sJDBSvn5B1Qb3/KibIq5A==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791383054;
	b=AVqJg3fRvfZAvAtVbj0kslBkfGeyh1SFyCSaICxU9xzXj95gLDNd4DR6OR7Z3nixRqoktT
	UhrQwmrLusCqFb7CdNTXttrPXcSkmV8stD33j+3WNfqOLDfQAFmRTKvSIS1/Xz18gm95nP
	7WazVccOj6g+m9fgLhjlYhCpPG3GoYCJgom2L4sg7rltyN9UdkikdizqpURBAWo26VXxwZ
	siTqiX6Q9z7fTpE/yXcAVVggQAvhvO9G8aMIgJtRC1kHwbZg/gZdm+gVdYdWNF92RGEHQV
	8dNmIQ3SZqq9vyf7vZ8Dcnmy4pG8Y6X8WYXGmLDfTHKWPYjLQh5xwd+tLYKOkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791383054;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=oFZjHXPtU692lExuAsyz1a6sFQa7nMIT2l6LlI9UR+c=;
	b=jIGOX85pTBi3jOGTHMfIhQpBM077Lhs3/P4HN9kUvy8/lXyiu3iklxXMf0KLk/5pWIqrn3
	J4OZ/AsCBhKNPgr77fqFxlA5b4aLmszf//ew6a8ixMf+lncKJIPM8rSxIO/b+Lwl42mLx6
	LjFmWiIEZtkyGpTXQ0O2DZ2Yg2TvPmb8hdDA3XDBm59u5R4gfrwwJGpIGlv9g3iKDhQDfm
	d7oYVtb17PMTwYwpn7QLHfAA1ZWJbe2fvGmoDz3UfD10ri81iyIcnEPSRcCPQ06nHTaauc
	NHSpmjmb64OVzyzGVmmJPD1RHY9vDVE2+xtYEhw1MSE1PUmnrIyVfH4B7x0W2Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0Fk60MRCzxb2
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:24:14 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1e0fe
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:24:14 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Alan Cox <alc@FreeBSD.org>
Subject: git: 7dd9a8125f70 - main - arm64: a local TLB invalidation suffices when enabling write access
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: alc
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 7dd9a8125f70f1fc40fd9907bdaae0d23c8586c9
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:24:14 +0000
Message-Id: <6ac6560e.1e0fe.7f5295ca@gitrepo.freebsd.org>

The branch main has been updated by alc:

URL: https://cgit.FreeBSD.org/src/commit/?id=7dd9a8125f70f1fc40fd9907bdaae0d23c8586c9

commit 7dd9a8125f70f1fc40fd9907bdaae0d23c8586c9
Author:     Alan Cox <alc@FreeBSD.org>
AuthorDate: 2026-10-06 04:53:00 +0000
Commit:     Alan Cox <alc@FreeBSD.org>
CommitDate: 2026-10-07 14:22:57 +0000

    arm64: a local TLB invalidation suffices when enabling write access
    
    When a PTE logically supports write access, as indicated by its DBM
    field, but write access is nonetheless blocked by the PTE's protection
    field, pmap_fault() can enable write access with only a local TLB
    invalidation.
    
    Reviewed by:    andrew, kib, markj
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D60417
---
 sys/arm64/arm64/pmap.c | 36 +++++++++++++++++++++++++++++++++---
 1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index acdcfe7fea8c..97cbb92d6d43 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -2152,6 +2152,31 @@ pmap_s1_invalidate_page(pmap_t pmap, vm_offset_t va, bool final_only)
 	isb();
 }
 
+/*
+ * Invalidates any cached final-level TLB entry for the specified virtual
+ * address in the given virtual address space, but only on the current
+ * processor.
+ *
+ * The pmap_multiple_tlbi errata only affect broadcast invalidations.
+ */
+static __inline void
+pmap_s1_invalidate_page_local(pmap_t pmap, vm_offset_t va)
+{
+	uint64_t r;
+
+	PMAP_ASSERT_STAGE1(pmap);
+	dsb(nshst);
+	r = TLBI_VA(va);
+	if (pmap == kernel_pmap) {
+		__asm __volatile("tlbi vaale1, %0" : : "r" (r));
+	} else {
+		r |= ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie));
+		__asm __volatile("tlbi vale1, %0" : : "r" (r));
+	}
+	dsb(nsh);
+	isb();
+}
+
 static __inline void
 pmap_s2_invalidate_page(pmap_t pmap, vm_offset_t va, bool final_only)
 {
@@ -9965,11 +9990,16 @@ pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far)
 		ptep = pmap_pte(pmap, far, &lvl);
 		if (ptep != NULL &&
 		    ((pte = pmap_load(ptep)) & ATTR_SW_DBM) != 0) {
+			/*
+			 * A local invalidation suffices when enabling write
+			 * access.  At worst, a write using a stale read-only
+			 * TLB entry on another processor triggers a fault,
+			 * requiring its own local invalidation below.
+			 */
 			if ((pte & ATTR_S1_AP_RW_BIT) ==
-			    ATTR_S1_AP(ATTR_S1_AP_RO)) {
+			    ATTR_S1_AP(ATTR_S1_AP_RO))
 				pmap_clear_bits(ptep, ATTR_S1_AP_RW_BIT);
-				pmap_s1_invalidate_page(pmap, far, true);
-			}
+			pmap_s1_invalidate_page_local(pmap, far);
 			rv = KERN_SUCCESS;
 		}
 		PMAP_UNLOCK(pmap);

From nobody Wed Oct  7 14:47: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 4j0GF71GfTz6w141
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:47: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0GF70brPz4G0b
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:47:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791384459;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YzBOYzG60VJf0B7GiybWt8s+5AKB5t9p/DfOJR1mWhc=;
	b=Iv9zsP5Wep+OKfu3Qh8bmxLzKPlfLH38IWLwyOHNHgyD98Pen9UNf3DbyfUB7HL9qMTWcz
	aAF5VI44bYnOJ+m7PIIFIuuMUzqAI9truGSW20FqYXIIV2iPJZ91So3ePUvIjpHIYp1qj/
	U9aSPt3nNNg9PTvNwtbdARcqYNnisV3LNb3Rsz0TYSdV35IDhpEtAWpxJf/Nl1oKcaj0qz
	9Ze+EMBDZLrlIvkzmU75gDziOMQS5IjIA3/DRv82bxkFEzFr39bqtOiUbP6N2Lq29pydcz
	5ErpKk9T93RIqx7DDZw3op11xcfeU9QHVjx7PtntrAOnUQIoId9Gfz0aBCCcTg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791384459;
	b=RGWzvoDV8snGiN52Nw0l+WGnY5CVoyYuPmgDHLdkL0qNRg3Afg+p3WJ+hwVmpXjqN11IqJ
	yjxaAEMaFBwyc9waIEib8vfaLa7Jal4jSCfRn1NeqsCygdqh37pQyQRhQAHOUAsp+MaXvE
	CW+PPnxQeR0QFO2C2/hG1JrOx4zlHAFS9ghpoQXvuFbxY8wOp4ATVVkksWU82Gg+3W7kz9
	rTEwzCE3cmExygp35GHvr/k2e3To30MPwIjHcwKTs/Jsc+WnyxYx3fUoS33IpP8Ym023Ra
	EIzGjjGCe59/8R86Rdj7LaXNN3JqhCz7UZX4xLybeG1lJcFcKcziHEBvYzQk5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791384459;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YzBOYzG60VJf0B7GiybWt8s+5AKB5t9p/DfOJR1mWhc=;
	b=qneekbHGPwZTnpHKp+bJPLuM3HmXzAWRvNPOokXlBr/VrroVLlzyh+C4ahMfw1mQOENTMp
	xcoFOuyhbo/xlxVmYGP2/sV6/F1dhIKLzGUIrvC1kVTNND7WwRVlSvrIp3ZM9F4sAfiLnc
	Y1b8Vuf+GzZ0GPytexaQY4MvVavbIbo51hDViGEQNjvKjceJmJzd36VzDaGEhvX2Ek5wQr
	go2AnWHuoOrM8D/qFeDqMfYiz6RCRjryNGl8VukekEze2bNc4sIrQRP68j2hXo7gYWJrke
	JcBlumwSqvJTTdsI5lTNW7G1D6Apmety7o6VuxIKvAAxBKkmJ4P0BOKu09ZGNg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0GF66TRVzxqv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:47:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 20312
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:47:38 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mateusz Piotrowski <0mp@FreeBSD.org>
Subject: git: b6a573aa771e - main - dwatch(1): Use mdo(1) instead of sudo(8) when configured
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: 0mp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: b6a573aa771e4a4b239a7bfeb074d1d25e811c1b
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:47:38 +0000
Message-Id: <6ac65b8a.20312.4b180561@gitrepo.freebsd.org>

The branch main has been updated by 0mp:

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

commit b6a573aa771e4a4b239a7bfeb074d1d25e811c1b
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2026-10-06 14:02:42 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2026-10-07 14:43:49 +0000

    dwatch(1): Use mdo(1) instead of sudo(8) when configured
    
    Reviewed by:    dteske, olce
    Approved by:    christos (mentor)
    MFC after:      1 week
    Sponsored by:   fme AG
    Differential Revision:  https://reviews.freebsd.org/D60408
---
 cddl/usr.sbin/dwatch/dwatch   | 3 ++-
 cddl/usr.sbin/dwatch/dwatch.1 | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/cddl/usr.sbin/dwatch/dwatch b/cddl/usr.sbin/dwatch/dwatch
index c9af8258f4ac..f3bdb3afe585 100755
--- a/cddl/usr.sbin/dwatch/dwatch
+++ b/cddl/usr.sbin/dwatch/dwatch
@@ -717,8 +717,9 @@ pproc_dump()
 
 ############################################################ MAIN
 
-# If we're running as root, no need for sudo(8)
+# If we're running as root, no need for mdo(1) or sudo(8)
 [ "$( id -u )" != 0 ] && type sudo > /dev/null 2>&1 && SUDO=sudo
+[ "$( id -u )" != 0 ] && mdo true > /dev/null 2>&1 && SUDO=mdo
 
 #
 # Process command-line options
diff --git a/cddl/usr.sbin/dwatch/dwatch.1 b/cddl/usr.sbin/dwatch/dwatch.1
index 8c201d970620..9dc13f87b555 100644
--- a/cddl/usr.sbin/dwatch/dwatch.1
+++ b/cddl/usr.sbin/dwatch/dwatch.1
@@ -22,7 +22,7 @@
 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd July 4, 2026
+.Dd October 6, 2026
 .Dt DWATCH 1
 .Os
 .Sh NAME
@@ -65,7 +65,9 @@ The
 utility uses
 .Xr dtrace 1
 to display process info when a given DTrace probe point is triggered.
-Only the root user or users with
+Only the root user or users with either
+.Xr mdo 1
+or
 .Xr sudo 8 Pq Pa ports/security/sudo
 access can run this command.
 .Pp

From nobody Wed Oct  7 14:55: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 4j0GQC3lKLz6w1n1
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:55: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0GQC39Ycz4H1V
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:55:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791384931;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ZJf+5te02zi06NIt39lv1UAYkOdgetC+tT8mqQRML/o=;
	b=B01i4TZdgCDmY9S6T8FiIV4r6n+xxCD1yyGRupo+pFGirQnbTxu9CfXX4sMwNCb1i6iKXk
	eo0/tzQxnh2bTTxC+zghdWXqnI67ID9d8uT9Ecyj8lqsSvqgV7ZSy0Ws6kqghmVw36vojr
	yuCejpuRhw8tbWWWCDrnHbgYzuiUI50lx0Jw+/evOvXRcH0zPTtmRY2+MXTUZfXaQ+7C2i
	ZkhLYk/DThaMzigG3PkdSxG7FARWAL3h7OBL2oXn1U2q83yYXWK9JzpPW6NaKF83rV9+Q4
	9Av7Rua1xEwuYry3pwCRayZ5y9H1FnwDv8IGaK+lInLOOq69NxAgmbO3dRyQRA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791384931;
	b=Ktl4CFWF3OZKnkYlma67CyBGQ3ay3ymDZjWIRmX5k3bmWZYdE58DOTmEysHweFr/R0l7yu
	wxeJhGDQtWKIgYod0k4rdz85ILwuCtiDeRPvuqUcLku0wD5gDnx6mPguLsPlavRnq1a+IO
	ySIpPg0oTblYrcadlm0RzGPftkWa9UEnB+wxrvfDDfY6C0eGXWerhnVA2rZ9C5voWwTbbK
	emfgjm0/eQg1kJu+Q6mbjcyPQiKv/acRkR5cG3pEp3/m6DvX4NdLpA1PLCL7V/zdZQPtAw
	+XrYjO2Md+Ma1IkUd2Aq3n6poAiRzCndBb3P0PGTLwHbBb6aIyZRwz0um2aVZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791384931;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ZJf+5te02zi06NIt39lv1UAYkOdgetC+tT8mqQRML/o=;
	b=ulmJagRGWsjXBUiwEpgzFFu1BuXW5Yd2sYQlbiHBP26+MVoCR/z1TsQWYv110EDFIYWLF9
	+zuWsvGMUEeGqi33j5JXomRgmLsGnLhSLKNL4sg0j4n9E32h8Awxxz6ulQNAviCVJLxZ+d
	QRkAdSgB0ziDtVFfy0F6tZHE6j/PvRzHz01gVGPin47jKtp6OfEWlGJle3qlLy7axTnUxw
	dzKan/tj4AG0DeMRgLj6crzJrQWRzwTJi0sfnMew87vKxWxHbhKNaeG517syNXaMLTZFW5
	QS9VUQp2LJe/lQHaJgPmfwexGtRQ6p/eLyEWawbDZd0sBkK+VJXFEoLDWxqVmg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0GQC2CK9zyBP
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:55:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 20e3e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:55:31 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Ed Maste <emaste@FreeBSD.org>
Subject: git: 3ba592cfea1a - main - makefs: Correct style(9) nit from a recent change
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 3ba592cfea1a5625024a0974fa5268f2e0c8f808
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:55:31 +0000
Message-Id: <6ac65d63.20e3e.172e1bf1@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit 3ba592cfea1a5625024a0974fa5268f2e0c8f808
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-09-23 19:40:16 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-10-07 14:53:53 +0000

    makefs: Correct style(9) nit from a recent change
    
    Fixes: b9811d13572b ("cd9660: merge level 1 and 2 filename conversion")
---
 usr.sbin/makefs/cd9660.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c
index cf004f22ecdd..95464d779793 100644
--- a/usr.sbin/makefs/cd9660.c
+++ b/usr.sbin/makefs/cd9660.c
@@ -1611,8 +1611,7 @@ cd9660_convert_filename(iso9660_disk *diskStructure, const char *oldname,
 					}
 				}
 				extlen++;
-			}
-			else {
+			} else {
 				*newname++ = '.';
 				found_ext = 1;
 			}

From nobody Wed Oct  7 14:56: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 4j0GQx19WXz6w1yw
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:56: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0GQx0f17z4HPy
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:56:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791384969;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VPSYuW7JfiTO4lfuQjXS22HeovJZHmgyfzopU0hOxCg=;
	b=vIPqDUryjlvomEBYOvCOB2mtle31uLQ6xAyeOu4syaMxKpvvlobhJqQKV9/xV70irX0Max
	8EL7t3tng/qPlgPoadIs3oe9d3O941yyRiHxWjxaUnRB0dTBbZNOjuS+el0AaIWCOwJVGg
	iQUyS1NxXXJeY0tkL1SUnzOz/nWnj7YruuWw4+9Q86dOZFQy2IVkt9lEEmyEZI6W727Kj5
	EDxfnwqbmSDEODBiLFwDydn7lpgzGCOEGtfJB89/hw6mjNy8DXQGT2hcszvVrJo0O57spN
	UJlwqVnX7gXRxE33DS1XiiiASuBGGB6dXhb5RWCnH0HSVMRL7PItXuOy+8O8cA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791384969;
	b=fMfGH0IO5EYSTMmvgTwZYWOX1PYJwC3iMGOI8ioleFIZ+WXG346tumH+Nl5UF5Fh7OOZFB
	zAp0/lKZpxAqNdJjBA+ylbTAWAFKkdcYh5nbG2I11Hmyj88f0jtYkhyjmuDU4yCZkDW7Ym
	iC1rcdEBHPof517B69OXjNp96B84l9QIz8jLQLUCrWIF1iYIcjBSX1THXVDEDvcvLM8Gog
	ZgLqljELXMx4nJD1QfQ8e5l0SORTZmZLZfJZwNt5OBPw0fxQbstbWzvE8p/qxurzv2kONL
	dIe2ER6axprPIChX1tD0p+h77paWFChqpPaGNx6pdVVinmqu3Xd/DSu0tkLluQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791384969;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VPSYuW7JfiTO4lfuQjXS22HeovJZHmgyfzopU0hOxCg=;
	b=utcJGoEev+TfM1yq9ZNwhIoA2bSHZ8hpEU3jL+LNy5ayPQ4dKHb1pHjE5sByqnQ/3Rrjx0
	L2WuN7DmASLFs0KyJe8zFU0b6vz5Ds5P5qHZ7YvZTjH2IzbvgTKTcqDUYiI7lW54H0fVgU
	br36vowpu9UIOKSw6COcKhV1QMlCcZrsCOhw+YwGGQdwJ61n4dn8BLdDlaig8mjHT9i2bN
	yJ2lxNIraDGNNTsZdVW3fmuDksw9guv1qx8XIxIn30OUYliJPpVCme+9XzJJjg5zsZaihn
	9aqbrnCy8ARUZl9q2fCsioXp96tpX7RypUIE63eT7IS4YKXMDHdRbo860Cfrjw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0GQw6nJLzxgW
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:56:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22507
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:56:08 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: c2ac0db7150c - main - devfs: Explicitly disable inotify
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: c2ac0db7150c53d3902dbe1c507d96cbacfcadc6
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:56:08 +0000
Message-Id: <6ac65d88.22507.a0bfe77@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit c2ac0db7150c53d3902dbe1c507d96cbacfcadc6
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-07 14:36:26 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 14:55:57 +0000

    devfs: Explicitly disable inotify
    
    In principle, inotify can be used to leak timing information about I/O
    device accesses by privileged process, which might be sensitive, e.g.,
    in the case of /dev/input.  See https://inoti.fyi/#1-linux-inter-keystroke-timing
    
    In practice this does not work since I/O to devfs nodes does not go
    through vnodes, so the INOTIFY() calls in various VOP hooks do not fire.
    But, let's explicitly define a no-op VOP_INOTIFY to help ensure that no
    one tries to "fix" this bug.
    
    Alternately we could simply ignore VCHR/VBLK vnodes in vn_inotify().
    However, maybe someday it'll be desirable to enable inotify for specific
    device files, in which case the filtering should live in devfs.
    
    Add a regression test.
    
    Reported by:    Sudheendra Raghav Neela <sneela@tugraz.at>
    Reviewed by:    kib
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D60364
---
 sys/fs/devfs/devfs_vnops.c    | 18 ++++++++++++++++++
 tests/sys/kern/inotify_test.c | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index 53fb08c6931b..9ed7ef9f0aed 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -921,6 +921,22 @@ fiodgname_buf_get_ptr(void *fgnp, u_long com)
 	}
 }
 
+static int
+devfs_inotify(struct vop_inotify_args *ap)
+{
+	/*
+	 * Don't provide inotify for devfs nodes.  Most of the inotify hooks
+	 * don't fire anyway since devfs files do not use the vnode I/O path.
+	 * If that were not the case, however, inotify could be abused to leak
+	 * sensitive timing information, e.g., by watching for reads from
+	 * /dev/input.  Thus, we make inotify do nothing here as a safeguard.
+	 *
+	 * At some point it may be desirable to enable inotify for specific
+	 * device files.
+	 */
+	return (0);
+}
+
 static int
 devfs_ioctl(struct vop_ioctl_args *ap)
 {
@@ -2126,6 +2142,7 @@ static struct vop_vector devfs_vnodeops = {
 
 	.vop_access =		devfs_access,
 	.vop_getattr =		devfs_getattr,
+	.vop_inotify =		devfs_inotify,
 	.vop_ioctl =		devfs_rioctl,
 	.vop_lookup =		devfs_lookup,
 	.vop_mknod =		devfs_mknod,
@@ -2159,6 +2176,7 @@ static struct vop_vector devfs_specops = {
 	.vop_create =		VOP_PANIC,
 	.vop_fsync =		vop_stdfsync,
 	.vop_getattr =		devfs_getattr,
+	.vop_inotify =		devfs_inotify,
 	.vop_ioctl =		devfs_ioctl,
 	.vop_link =		VOP_PANIC,
 	.vop_mkdir =		VOP_PANIC,
diff --git a/tests/sys/kern/inotify_test.c b/tests/sys/kern/inotify_test.c
index 0c2cc260f29e..8f16b9949932 100644
--- a/tests/sys/kern/inotify_test.c
+++ b/tests/sys/kern/inotify_test.c
@@ -318,6 +318,40 @@ ATF_TC_BODY(inotify_mask_create, tc)
 	close_inotify(ifd);
 }
 
+/*
+ * Verify that inotify events are not generated for devfs.  In principle such
+ * events could leak timing information about I/O device accesses.
+ */
+ATF_TC_WITHOUT_HEAD(inotify_devfs);
+ATF_TC_BODY(inotify_devfs, tc)
+{
+	char buf[1];
+	int fd, ifd, n, wd1, wd2, wd3;
+
+	ifd = inotify(IN_NONBLOCK);
+
+	wd1 = inotify_add_watch(ifd, "/dev", IN_ALL_EVENTS);
+	ATF_REQUIRE(wd1 >= 0);
+	wd2 = inotify_add_watch(ifd, "/dev/null", IN_ALL_EVENTS);
+	ATF_REQUIRE(wd2 >= 0);
+	wd3 = inotify_add_watch(ifd, "/dev/zero", IN_ALL_EVENTS);
+	ATF_REQUIRE(wd3 >= 0);
+
+	fd = open("/dev/null", O_WRONLY);
+	ATF_REQUIRE(fd != -1);
+	ATF_REQUIRE(write(fd, buf, sizeof(buf)) == (ssize_t)sizeof(buf));
+	close_checked(fd);
+
+	fd = open("/dev/zero", O_RDONLY);
+	ATF_REQUIRE(fd != -1);
+	ATF_REQUIRE(read(fd, buf, sizeof(buf)) == (ssize_t)sizeof(buf));
+	close_checked(fd);
+
+	ATF_REQUIRE(ioctl(ifd, FIONREAD, &n) == 0);
+	ATF_REQUIRE_MSG(n == 0, "unexpected %d bytes of inotify events", n);
+	close_checked(ifd);
+}
+
 /*
  * Make sure that inotify cooperates with nullfs: if a lower vnode is the
  * subject of an event, the upper vnode should be notified, and if the upper
@@ -1011,6 +1045,7 @@ ATF_TP_ADD_TCS(tp)
 	ATF_TP_ADD_TC(tp, inotify_capsicum);
 	ATF_TP_ADD_TC(tp, inotify_coalesce);
 	ATF_TP_ADD_TC(tp, inotify_mask_create);
+	ATF_TP_ADD_TC(tp, inotify_devfs);
 	ATF_TP_ADD_TC(tp, inotify_nullfs);
 	ATF_TP_ADD_TC(tp, inotify_nullfs_remove);
 	ATF_TP_ADD_TC(tp, inotify_nullfs_rename);

From nobody Wed Oct  7 14:56: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 4j0GQy3RdLz6w1n4
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:56: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0GQy1PZyz4HXd
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:56:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791384970;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=c0U44k8fGPVPJX/jS0IzJH9vWGVljLL8lGvxHZ1fKjo=;
	b=dOSTYlXskFe1lhO+W0eqmQW3DQOLdHPXJp9DoelgcCKoal2IHSWjx2e4MLjGWHr8NucVOs
	kmrrPeQlbs2ow2bTABr3JSKYvUzARoGgcszxO56G4zFq7YAwtkV/6SArQmnQERmc4S2sLo
	nBRp8h/ip4jQbsjbAGrxNVtAcmZEGIZ4X5gKgjPtAlgEt8KjJqyO/FOGUV6zI7rVmBERmC
	q+bs1+N74RnIWJOQoKWhMetJLs/JfqJEmNpBd9bMULJemujMjN73GAm2Vb8w67cBfvG9S8
	PF5x5G10jNyTNCCnrwNcMfeqavKHMdYaVlHnWsKUGjQTA13XdC4QIjSRTuWHOQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791384970;
	b=gec8CgipK4eoClGP6nqNK3f6hJXvdZSp677Ceh6abgzb9oWRLSDZzEbCU8ZD0Nytg8k35s
	m34HhqL+Q9rRErTXUJi48AK7+JKI3YgY26LGqDZ/wE8fwjykokrNg7vEFLy6xGfOx3M2lu
	LsXfMA9AalW6ZHvL0lkj8snxBWmXcRkul/N/bBBNQKXOdZoWr8l9hiW+vue/++XlL+UXhp
	poPxRxNqF7MWe3X1tSmOaaPKx9cL/uX6lQuL/mEWNrHh68QIcScbJMfP7EdpCtRdqlWaY1
	RkJWTyE7R3qj4athj95z9YPsgtE6vXwHXq1QeSmQ1zihJhbPbmAmvmUvVdACqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791384970;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=c0U44k8fGPVPJX/jS0IzJH9vWGVljLL8lGvxHZ1fKjo=;
	b=aKRu54qH6wsfmL+g7fvHOMQ2J2YOFjyDo42cAjPyvC4QJD/eLaA1gZH0ZMCDREGCGiJPvO
	cljY95HcEkrbJhkEZ7l17dTTeRcNLMBrxEqB7pZJyzX9CJ2pCefqpbcUE502KJu6Mmk7Es
	ciKeN2k3/TvsKtbtjEqh4tYeTeERscwJBeYBcmbJMkZMRSMzZl9XJvfH7NVdxgT4YxnKEI
	uU7JsLhHY2x/Aa/LtbYUvRkEeF6NIBEGGN+EEKwwYFazZ7B02/DXohHV0cFWUs+71pOaAc
	66h97mjPRDRu3hgHu/ZMLytF5EEXuRAs2VqRmhFBplW3kM8EpN8GADTsBWUHQw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0GQy04CSzy5s
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:56:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 20e42
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:56:09 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: fa6fe034a73c - main - inotify.2: Add some entries to the BUGS section
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: fa6fe034a73c8b17320d1e68767ad2aa99eaa8bf
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:56:09 +0000
Message-Id: <6ac65d89.20e42.1a0ff1ac@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit fa6fe034a73c8b17320d1e68767ad2aa99eaa8bf
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-10-07 14:36:46 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-10-07 14:55:57 +0000

    inotify.2: Add some entries to the BUGS section
    
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
---
 lib/libsys/inotify.2 | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/lib/libsys/inotify.2 b/lib/libsys/inotify.2
index 0728c65af975..f0844452f488 100644
--- a/lib/libsys/inotify.2
+++ b/lib/libsys/inotify.2
@@ -3,7 +3,7 @@
 .\"
 .\" Copyright (c) 2025 Klara, Inc.
 .\"
-.Dd May 19, 2025
+.Dd October 7, 2026
 .Dt INOTIFY 2
 .Os
 .Sh NAME
@@ -377,3 +377,27 @@ Thus, the
 implementation behaves as though
 .Dv IN_EXCL_UNLINK
 is always set.
+.Pp
+Some inotify events rely on the kernel's name cache in order to determine
+the name of the file being accessed.
+Some filesystems do not use the name cache, for instance
+.Xr devfs 4 ,
+and
+.Xr tmpfs 4
+mounts with the
+.Dv nonc
+option set.
+inotify may not reliably deliver events for files on such filesystems.
+.Pp
+inotify does not deliver events for
+.Xr devfs 4
+files so as to avoid leaking potentially sensitive timing information.
+For instance,
+.Dv IN_ACCESS
+events on
+.Pa /dev/input
+could be used to determine information about keyboard input from a different
+user.
+A watch on a
+.Xr devfs 4
+file or directory may be created, but will not deliver any events.

From nobody Wed Oct  7 14:58: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 4j0GTV6L4fz6w2B5
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 14:58: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0GTV4hD4z4JPM
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:58:22 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791385102;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VVlDH/Dxmo54xzgI1U9Jr2+YtY0d69Le68YSp/UYTNY=;
	b=G8qupPI4PUfhQR4+IGuPGLY7ZfhDRkQF0Iv/YzqQhLEhPPKY0uIcwQ+J96Foy+tpQfBZfT
	Ip6ohaXnOUXbZ6AXaat5IKbKyJbD/84sE7SQ7Rz9k5WndlmRHbKkkbwGKS60P7KqtH9PQo
	07Hci704+xK/POFA2SVcQdlaRRhxM+hrx8V+b2I4dMOw9QeOCLAukViGP6L6fh0H3awtrg
	Sn+iPqzuBTte6dXplO5QGQUeuGiMLdsFY3Geua40yjjiWRkYjqCCknBc5ee35uBGesE/We
	ZAYxVQbwNp+MVTlaNyzWoamYvJD/a6QLhcIhqmsE/91d//pdrVlNHZIvxbKaNg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791385102;
	b=IrH4Pk9xu3+FALRmBPZN6IkiXXIEuI6Um0cZTLbxWielocgx70dxsLYca5ZNopsWb/NXDS
	zgDLM6ZaisXTLUEXYS4pQX6Z0EyoiUXAZGNX1AT7OMUJSKlNP8MqBAmX5kdovflyXw/8wl
	2EqUDbxpXZcsxfjX46ZliL69/Jva/nmlzrxGTrViTVhrm32fc5tnsAZIMDPsqtIH/qF+g/
	EvnMqSk0SFDfiBb6Oh9YZ+8M6HgocI9Zefm+Im2Qw+79aTL3mtLqd4Bpb79wDYMfzUTPiH
	wuKxwgPxEpcycAQuXWjTnYawnHwfpwm5jk+9LIQw0VgOUfQI8fg/K+9FbDEZPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791385102;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VVlDH/Dxmo54xzgI1U9Jr2+YtY0d69Le68YSp/UYTNY=;
	b=p+8LWgRIBR4KGoe5lvg31yumCtSHQDMATEEwYTRSKmaTBWszthaioirYl//l8gUuLQgbFF
	7/MxXYuvY1HXJHnXb1xxrVnufUzUD7w9wzcrQg07FMaisk3sYOWs6Yu9ZZR2q61rI95N5N
	W0aZ9nSEE84cXq3/MgClvFDQ95bPj/onHnmA1VHBnE5UP6qwgRMxyozeOs2w15VeqVhs5q
	qS5hIjtK6Tz7ldDw/GTxIRzDCs4cpptMRudY67j+XuR0H0v0R6FlIfH8cM63HfFLcNGJqp
	6DNgZxdLt9HjcZ8CZixcezrmOsqEbevSpRWryvI2soeRVge9uUUxsnW7F0UmYA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0GTV39vBzy8R
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 14:58:22 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2190a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 14:58:22 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: R. Christian McDonald <rcm@FreeBSD.org>
Subject: git: dece5b05f577 - main - makefs/zfs: Allow the autotrim pool property to be set
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: rcm
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: dece5b05f577fc4c6b89af7ad48dfbdf7cc4945c
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 14:58:22 +0000
Message-Id: <6ac65e0e.2190a.1c9d522b@gitrepo.freebsd.org>

The branch main has been updated by rcm:

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

commit dece5b05f577fc4c6b89af7ad48dfbdf7cc4945c
Author:     R. Christian McDonald <rcm@FreeBSD.org>
AuthorDate: 2026-10-07 14:57:40 +0000
Commit:     R. Christian McDonald <rcm@FreeBSD.org>
CommitDate: 2026-10-07 14:57:40 +0000

    makefs/zfs: Allow the autotrim pool property to be set
    
    Add an "autotrim" option taking "on" or "off". The value is stored in
    the pool properties object alongside "bootfs", so the imported pool
    starts trimming freed space automatically without a separate
    "zpool set" step. When the option is omitted nothing is written and
    the pool keeps the default ("off"), exactly as before.
    
    A string option is used rather than makefs's boolean option type since
    the latter ignores its value, which would make "autotrim=off" enable
    the feature.
    
    Define the spa_autotrim_t enumeration in the boot zfsimpl.h, copied
    from OpenZFS's sys/spa.h, so that makefs can refer to SPA_AUTOTRIM_OFF
    and SPA_AUTOTRIM_ON by name. The loader does not use it.
    
    Document the option in makefs(8) and add a regression test.
    
    Reviewed by:            markj
    MFC after:              1 week
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D60420
---
 sys/cddl/boot/zfs/zfsimpl.h               | 10 ++++++
 usr.sbin/makefs/makefs.8                  | 11 +++++-
 usr.sbin/makefs/tests/makefs_zfs_tests.sh | 59 +++++++++++++++++++++++++++++++
 usr.sbin/makefs/zfs.c                     | 17 +++++++++
 usr.sbin/makefs/zfs/zfs.h                 |  2 ++
 5 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/sys/cddl/boot/zfs/zfsimpl.h b/sys/cddl/boot/zfs/zfsimpl.h
index d3ae3c32635d..b14a829025d1 100644
--- a/sys/cddl/boot/zfs/zfsimpl.h
+++ b/sys/cddl/boot/zfs/zfsimpl.h
@@ -904,6 +904,16 @@ typedef enum pool_state {
 	POOL_STATE_POTENTIALLY_ACTIVE	/* Internal libzfs state	*/
 } pool_state_t;
 
+/*
+ * Send TRIM commands in-line during normal pool operation while deleting.
+ *	OFF: no
+ *	ON: yes
+ */
+typedef enum {
+	SPA_AUTOTRIM_OFF = 0,
+	SPA_AUTOTRIM_ON,
+} spa_autotrim_t;
+
 /*
  * The uberblock version is incremented whenever an incompatible on-disk
  * format change is made to the SPA, DMU, or ZAP.
diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8
index e165702813ae..47c7bf50df5a 100644
--- a/usr.sbin/makefs/makefs.8
+++ b/usr.sbin/makefs/makefs.8
@@ -33,7 +33,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 12, 2026
+.Dd October 7, 2026
 .Dt MAKEFS 8
 .Os
 .Sh NAME
@@ -535,6 +535,15 @@ The following keywords are supported:
 The base-2 logarithm of the minimum block size.
 Typical values are 9 (512B blocks) and 12 (4KB blocks).
 The default value is 12.
+.It Cm autotrim
+The value of the
+.Ql autotrim
+pool property, either
+.Ql on
+or
+.Ql off .
+The default is
+.Ql off .
 .It Cm bootfs
 The name of the bootable dataset for the pool.
 Specifying this option causes the
diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh
index 22adfda00d2b..fe27c62ab765 100644
--- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh
+++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh
@@ -107,6 +107,64 @@ autoexpand_cleanup()
 	common_cleanup
 }
 
+#
+# Test setting the autotrim pool property.
+#
+atf_test_case autotrim cleanup
+autotrim_body()
+{
+	local src val
+
+	create_test_inputs
+
+	atf_check -s exit:1 -e match:"invalid value .foo. for autotrim" \
+	    $MAKEFS -s 1g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \
+	    -o autotrim=foo $TEST_IMAGE $TEST_INPUTS_DIR
+
+	for val in on off; do
+		atf_check $MAKEFS -s 1g -o rootpath=/ \
+		    -o poolname=$ZFS_POOL_NAME \
+		    -o autotrim=$val \
+		    $TEST_IMAGE $TEST_INPUTS_DIR
+
+		import_image
+
+		check_image_contents
+
+		# OpenZFS reports a pool property whose value equals the
+		# default as coming from the default, even if it was set.
+		if [ $val = off ]; then
+			src=default
+		else
+			src=local
+		fi
+		atf_check -o inline:$val\\n \
+		    zpool get -H -o value autotrim $ZFS_POOL_NAME
+		atf_check -o inline:$src\\n \
+		    zpool get -H -o source autotrim $ZFS_POOL_NAME
+
+		atf_check zpool destroy ${ZFS_POOL_NAME}
+		atf_check rm -f ${TEST_ZFS_POOL_NAME}
+		atf_check mdconfig -d -u $(cat ${TEST_MD_DEVICE_FILE})
+		atf_check rm -f ${TEST_MD_DEVICE_FILE}
+	done
+
+	# Without the option the property keeps its default value.
+	atf_check $MAKEFS -s 1g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \
+	    $TEST_IMAGE $TEST_INPUTS_DIR
+
+	import_image
+
+	atf_check -o inline:off\\n \
+	    zpool get -H -o value autotrim $ZFS_POOL_NAME
+	atf_check -o inline:default\\n \
+	    zpool get -H -o source autotrim $ZFS_POOL_NAME
+}
+autotrim_cleanup()
+{
+	common_cleanup
+}
+
 #
 # Test with some default layout defined by the common code.
 #
@@ -1110,6 +1168,7 @@ T_flag_mtree_cleanup()
 atf_init_test_cases()
 {
 	atf_add_test_case autoexpand
+	atf_add_test_case autotrim
 	atf_add_test_case basic
 	atf_add_test_case compression
 	atf_add_test_case dataset_removal
diff --git a/usr.sbin/makefs/zfs.c b/usr.sbin/makefs/zfs.c
index 1288c52141ab..9e304202fb4f 100644
--- a/usr.sbin/makefs/zfs.c
+++ b/usr.sbin/makefs/zfs.c
@@ -82,6 +82,8 @@ zfs_prep_opts(fsinfo_t *fsopts)
 	memset(zfs, 0, sizeof(*zfs));
 
 	const option_t zfs_options[] = {
+		{ '\0', "autotrim", &zfs->autotrim, OPT_STRPTR,
+		  0, 0, "Automatic TRIM (on or off)" },
 		{ '\0', "bootfs", &zfs->bootfs, OPT_STRPTR,
 		  0, 0, "Bootable dataset" },
 		{ '\0', "mssize", &zfs->mssize, OPT_INT64,
@@ -247,6 +249,17 @@ zfs_check_opts(fsinfo_t *fsopts)
 	if (zfs->vdevpath[0] != '/')
 		errx(1, "path `%s' must be absolute", zfs->vdevpath);
 
+	zfs->autotrimval = SPA_AUTOTRIM_OFF;
+	if (zfs->autotrim != NULL) {
+		if (strcmp(zfs->autotrim, "on") == 0)
+			zfs->autotrimval = SPA_AUTOTRIM_ON;
+		else if (strcmp(zfs->autotrim, "off") == 0)
+			zfs->autotrimval = SPA_AUTOTRIM_OFF;
+		else
+			errx(1, "invalid value `%s' for autotrim",
+			    zfs->autotrim);
+	}
+
 	if (zfs->ashift == 0)
 		zfs->ashift = 12;
 
@@ -262,6 +275,7 @@ zfs_cleanup_opts(fsinfo_t *fsopts)
 	zfs = fsopts->fs_specific;
 	free(zfs->rootpath);
 	free(zfs->vdevpath);
+	free(zfs->autotrim);
 	free(zfs->bootfs);
 	free(__DECONST(void *, zfs->poolname));
 	STAILQ_FOREACH_SAFE(d, &zfs->datasetdescs, next, tmp) {
@@ -474,6 +488,9 @@ pool_init_objdir_poolprops(zfs_opt_t *zfs, zfs_zap_t *objdir)
 	zap_add_uint64(objdir, DMU_POOL_PROPS, id);
 
 	zfs->poolprops = zap_alloc(zfs->mos, dnode);
+
+	if (zfs->autotrim != NULL)
+		zap_add_uint64(zfs->poolprops, "autotrim", zfs->autotrimval);
 }
 
 /*
diff --git a/usr.sbin/makefs/zfs/zfs.h b/usr.sbin/makefs/zfs/zfs.h
index 13f2ece43c69..ebc54caad8e9 100644
--- a/usr.sbin/makefs/zfs/zfs.h
+++ b/usr.sbin/makefs/zfs/zfs.h
@@ -80,6 +80,8 @@ typedef struct {
 	const char	*poolname;
 	char		*rootpath;	/* implicit mount point prefix */
 	char		*vdevpath;	/* vdev path, pool property */
+	char		*autotrim;	/* "on" or "off", pool property */
+	spa_autotrim_t	autotrimval;	/* parsed autotrim value */
 	char		*bootfs;	/* bootable dataset, pool property */
 	int		ashift;		/* vdev block size */
 	uint64_t	mssize;		/* metaslab size */

From nobody Wed Oct  7 15:25:31 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j0H4q63Bxz6w3rd
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 15:25: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0H4q5Kd0z4NRT
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 15:25:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791386731;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cjiZY7t16375uszfCoNb2V1RFbqpvI2Ni3X40g3LQCM=;
	b=GT24LEyGqTpyDRme9ysUkoDSHeu3Y+tuNDvIGwVkem3LeHuQ7hwJmgLLQl8BBms2OnlC4z
	UfQv9dcgwpDg601AGfu1OkOg0dG30MWnI5GbcHBQYDLqZfibrutjKoo/5qiMwYx7mgbPuv
	bOyOFGgUSxpgjG93ELMYKx8SF/WvWFGatrK8UMuzqUJ9xyP3Cn7RL0waEo1V4vwsn9X3ES
	RcWm2MNfwzwdTRInxbuXXYeJyZVylf3mgAnxjIWC9A61weT46UJScaBKZb6CTJ95fdXc4W
	0Xobp97QP/Ys679zXnI7BDU1rkSIxdo/jpLdEXH3UTkH+Lj9VlrNblL8TzAy1w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791386731;
	b=vapIYe8fyHGJ2LOYsCn5yBqVJtPiJtM4Ui1kMrCd6vLUMcK0FzJ3z2gY/AIUHtJNbBY+a7
	wfv1IrY5aHNwK2Rw/pZKH/7y+gmIEoTa9v7SK0KLOp4KSC14+FkdQy7OqF2l5+fsShZvNO
	w5kJM4l4TPyF6NmP2FjRv43tJYBa29tR2ilcAeI9ZfT7tiLomrOlePrwb8k0yRQCKCl2uh
	m/msYHAKXAuonps3lTvd3qq29LY2YW59hWZqbkg6tiFZR+MvXqorY5viyduDLbJugBUume
	7aSaCmcKBc1fxdDkUGhlHAw6eQDetL2r61yVs7lXDqCCRJn/D+6HHg320SaEjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791386731;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cjiZY7t16375uszfCoNb2V1RFbqpvI2Ni3X40g3LQCM=;
	b=QRIrtTLfJSgTWX0FHsqmnlt9hhqhr4OC5ECcVh6wBQZxlLMAyixtimIrPUllLszX69jHI2
	IayIoS8eFIgCCq/bxgl9bGJIFRaxJwK6T2XaI1nMdTvLiFoZ6VwOdFp9MV7UTUNZbo8h0s
	X/7f0LsqjEz9zwdYEvETUfXCSsfrrgfmrncZufHGo08g71yFh0hpgujS2O8DsaZs/aUTsa
	3SWLWSmv5uAw7oyRWYuN2nnZJx34zPU0RIymazWoWSvb3Tual5VGt1GMEvMY1CfTOdJcHF
	Wta+wwYNXW/OBhOnhXknvr6u6GnxfEc5arrTkK6iv3ocpztfy8PkFPRo0q+2eA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0H4q44Jnzygv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 15:25:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 240d2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 15:25:31 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Krzysztof Galazka <krzysztof.galazka@intel.com>
From: Fernando Apeste=?utf-8?Q?gu=C3=ADa?= <fernape@FreeBSD.org>
Subject: git: e7b019fbf1a0 - main - whereis: Fix list size calculation.
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: fernape
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: e7b019fbf1a0f02386a8d02eac4a691f112cc242
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 15:25:31 +0000
Message-Id: <6ac6646b.240d2.682c100f@gitrepo.freebsd.org>

The branch main has been updated by fernape:

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

commit e7b019fbf1a0f02386a8d02eac4a691f112cc242
Author:     Krzysztof Galazka <krzysztof.galazka@intel.com>
AuthorDate: 2026-10-07 15:24:05 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2026-10-07 15:25:05 +0000

    whereis: Fix list size calculation.
    
    Use nitems() to calculate the number of elements in sourcepaths.
    
    Reviewed by:            fernape@, ngie@
    Approved by:            ngie@
    Fixes:                  3963483523a4
    Sponsored by:           Intel Corporation
    Assisted-by:            Github Copilot (GPT-5.6 Terra)
    Differential Revision:  https://reviews.freebsd.org/D60368
---
 usr.bin/whereis/whereis.c | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/usr.bin/whereis/whereis.c b/usr.bin/whereis/whereis.c
index 5f8aeb1cdbc1..d8dabd056039 100644
--- a/usr.bin/whereis/whereis.c
+++ b/usr.bin/whereis/whereis.c
@@ -33,6 +33,7 @@
  */
 
 #include <sys/types.h>
+#include <sys/param.h>
 #include <sys/stat.h>
 #include <sys/sysctl.h>
 
@@ -249,7 +250,7 @@ colonify(ccharp *cpp)
 static void
 defaults(void)
 {
-	size_t s;
+	size_t i, s;
 	char *b, buf[BUFSIZ], *cp;
 	const char *path_ports;
 	int nele;
@@ -307,9 +308,11 @@ defaults(void)
 	/* -s defaults to precompiled list, plus subdirs of
 	 * $PORTSDIR. If not set, it defaults to /usr/ports */
 	if (!sourcedirs) {
-		size_t sp_len = strlen(*sourcepaths);
-		sourcedirs = malloc(sp_len * sizeof (char *));
-		for (size_t i = 0; i < sp_len; i++)
+		s = nitems(sourcepaths);
+		sourcedirs = malloc(s * sizeof(char *));
+		if (sourcedirs == NULL)
+			abort();
+		for (i = 0; i < s; i++)
 			sourcedirs[i] = sourcepaths[i];
 
 		path_ports = getenv("PORTSDIR");
@@ -329,6 +332,15 @@ defaults(void)
 			return;
 		if ((dir = opendir(path_ports)) == NULL)
 			err(EX_OSERR, "opendir(%s)", path_ports);
+
+		/*
+		 * Move the index one element back so if we end up adding some
+		 * port directories, we place them back to back to the
+		 * sourcepaths and the NULL element shows only at the end (used
+		 * later on as end-o-array marker)
+		 */
+		--i;
+
 		while ((dirp = readdir(dir)) != NULL) {
 			/*
 			 * Not everything below path_ports is of
@@ -360,11 +372,11 @@ defaults(void)
 				continue;
 			}
 			sourcedirs = realloc(sourcedirs,
-					     (nele + 2) * sizeof(char *));
+					     (i + 2) * sizeof(char *));
 			if (sourcedirs == NULL)
 				abort();
-			sourcedirs[nele++] = b;
-			sourcedirs[nele] = NULL;
+			sourcedirs[i++] = b;
+			sourcedirs[i] = NULL;
 		}
 		closedir(dir);
 	}

From nobody Wed Oct  7 16:53: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 4j0K2W2LMqz6w9df
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 16:53: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0K2W1Gdsz4WX0
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:53:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392019;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=yvSTrjS/7px/Q3WzvYOakOfn4/CbVegOEgGbHezV4hc=;
	b=gYlYUpOjHz2wpPRDkwISCHzGigWILUBAp1gc9qtu9yn3LKnsjc5AOrrglOf9r/K3msyohu
	T1r8wIQ/rxYNNzEYgOJQc3NYwe+gOxemBX4X6NWt7Ob6/tbd+ygAUqPGnZlycrInSsnNaE
	chgnpjvEWRkQ4ZuYtYNir55JUH+MCm6RHt2dimn/UbBzh9nu1yj4eSMXBIEGE+exCELa6d
	3REHc847zEpnSazrZBnBBYL3T72ikyEMGaPup0PSxBE1OIh886UiLwNx4/oR/BCAgmPb06
	4KpWNHh153YWkZk+5Oc884OJPuPpjRrGuQjEvG2BAbHYnvikVkMoWiTZCkhcoA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392019;
	b=xlIKfiAdnreHNzNARzmnC0m/ySVxzJ61LeNVZJeuJvaZik16M102fynOUI2f6lOcD/AcPe
	9o8oYwajQUSeYjO/ynE+lE/OmOi982NHRSEZCk3Ciszegi0HPQ4TWXVJfMvmJdcSj+cP8l
	cX7ezHya5AN0407Xf2wKaIqND6+44s6IKyNJ8c+IF1kS8CYCnX+2dpsJt35vWY2DZYua6F
	whWd+aaKXEvZgC8I318LjyKLI3utTF3FZArGMhFz+F6T9r44Nu1dolQRTwwGwzOZosv70X
	8n+wJjzJ/bYfaaFmhP/Td24QwtsZSYqPI2MNC4GCjtyVCNC2Y9XN5+HAyzv7ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392019;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=yvSTrjS/7px/Q3WzvYOakOfn4/CbVegOEgGbHezV4hc=;
	b=sy6qy2Z1wsABkt/zTm/edC7/r8zOzr71QfI6/WownLUr9a49AwzGI5+nLPdYD5xCV0E2WV
	gTeDnhx9DiDJlVd7ydkQtvfvHKxMqh3BzX/Vv7OzhsIGQYZqsswXiOCC3SxouDXdgS1ZWv
	pmuxO6ufJCTfvDOR+PZW2a27kRdBMMdE6ITfaOgJDQFDsQJiWkSDJYE6QDo0vEpS1CKK+R
	vxvW95ZAnlWPHwLHkrpIDpobJiF8UfYWUHRq0sY06CXJIEqpGQsjEN8w1aOIQEYggPkJP7
	ic/96eOwphr+d7xUfVi2BkarT7IyvOuz3FZkKd3Y3p+p0rCCD4jgny0ulqZPeg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0K2W01MCz12TF
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:53:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 36723
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 16:53:38 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Christos Margiolis <christos@FreeBSD.org>
Subject: git: 26203cca5262 - main - rc.d/mountd: Do not require /etc/exports
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: christos
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 26203cca52621c215f60640bf59128dcd9780be7
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 16:53:38 +0000
Message-Id: <6ac67912.36723.7aa576f1@gitrepo.freebsd.org>

The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=26203cca52621c215f60640bf59128dcd9780be7

commit 26203cca52621c215f60640bf59128dcd9780be7
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-10-07 16:53:28 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-10-07 16:53:28 +0000

    rc.d/mountd: Do not require /etc/exports
    
    mountd exits if it cannot read any exports files. Requiring
    /etc/exports, however, unconditionally stops mountd from starting on a
    server that exports ZFS datasets only (/etc/zfs/exports).
    
    Let sbin/mountd handle requirements itself, instead of hardcoding
    /etc/exports, which is also wrong, because different files can be
    specified in mountd_flags.
    
    This patch also works with nfsv4_server_enable="YES", by preserving the
    behavior of failing to start if there is no "V4:" line in the exports
    file, which is missing by default on ZFS-only exports.
    
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Reviewed by:    rmacklem, markj, emaste
    Differential Revision:  https://reviews.freebsd.org/D60044
---
 libexec/rc/rc.d/mountd | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libexec/rc/rc.d/mountd b/libexec/rc/rc.d/mountd
index dfd2431f9c35..08416d32876a 100755
--- a/libexec/rc/rc.d/mountd
+++ b/libexec/rc/rc.d/mountd
@@ -13,7 +13,6 @@ desc="Service remote NFS mount requests"
 rcvar="mountd_enable"
 command="/usr/sbin/${name}"
 pidfile="/var/run/${name}.pid"
-required_files="/etc/exports"
 start_precmd="mountd_precmd"
 extra_commands="reload"
 

From nobody Wed Oct  7 16:59: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 4j0K9F6fWCz6w9yM
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 16:59: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0K9F4dclz4Y83
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:59:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392369;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dTfk1keo3S3mrVlFVVPrPzm2xVJ4uvlK+lRcN44ywhw=;
	b=Jaa7mdsu7tnnaOSRDL1SfDALX8brmkoa0GzUSK0BtnT63oBUu+fPnqnGQeJYNFFJQuQAeC
	QhM7FEEqHAheOn/pESFfeLQKFSYwIffRkw+i3mtcIsih9MzDa89FatXjb7nTOTlpXlxcqH
	2NQLpEIgN+vSj2MiKQawJ99ZHMCcir/xcfe1MLT4omJzdVndCFyh4GuWTsFcoYKcnCmbd2
	LE8e6g0qe5hZgz/IIuHyfmcJF237QiqzXROa/I1++mNCvOXABN/iI8Jeu1v9FYQCXj+1CD
	g/zerSU8acMHiBGOJhpy7f/rJI9o0RAD4XomQ8f0u4poUTyILsznYjokMBXMPQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392369;
	b=G7+ZFFZm9jKga2Tswyg8XEZNaARYDPPOj5m9/FCc32krPka+atu/BKaXGQQ4koMwyHfG7R
	grulelJGvN6CfgUKjP1lcGSvehNQaCN8g+Dg2E88sJfxC3o5bpCfRJKePnqWW8Yn4+v7oI
	dTZUxGclKIWEO34VWrTk/31ggdEGN+oPppnG/PIICGwNrFJlM/Vfxuxmlc4wprtw00/9EG
	eHekMqAHq747SXik5Z2J5CLzHhZlE9hb8T46UGgmgCdcG0YrVkLxlzyRTth4jdhPjtHnB8
	o8O8OH4N/UwFps8YKEl1/iHQtqzB2Q+nngiNV6CiZZGmMbux54ZHniklqxE3ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392369;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=dTfk1keo3S3mrVlFVVPrPzm2xVJ4uvlK+lRcN44ywhw=;
	b=WUWGuK8Pt7BzpSZpgughdR0oQl78/DFEWr24VbTz04qVh5TcrnLQW8Z/X5H5uB0QWCqY3x
	/kWr2gOAnF2XBdkDR/h2AZbsVYerFTTekEWBy9FpGGUvL+fCkD1KbrGE36psJQeBqM6tpT
	PLC87oto/JRsPvw4mOdBr9HNM2iC0XIThsplfblkiegIfzLv/pdqgjd5TeKAd10uaHVn0I
	x+iGEfgbsmq/jjAThwz6xy+o/fPLCyXeW5TTP40A2IZD05LMImaT1Fx4Z1u/HGw5Kpdeza
	MPa69VlKL29vQlHI2RxzrV3zEQeVeYehKuwI0FwTHCeixBE2wcXxwU8eTDddAw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0K9F38nwz11vv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:59:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 36637
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 16:59:29 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: ShengYi Hung <aokblast@FreeBSD.org>
Subject: git: 1d21e67e720a - main - libthr: Do not rely on UB in counter
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: aokblast
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 1d21e67e720a08992e81d626cff9d76524a81f22
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 16:59:29 +0000
Message-Id: <6ac67a71.36637.7462135a@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

URL: https://cgit.FreeBSD.org/src/commit/?id=1d21e67e720a08992e81d626cff9d76524a81f22

commit 1d21e67e720a08992e81d626cff9d76524a81f22
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-10-07 01:41:55 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-10-07 16:59:10 +0000

    libthr: Do not rely on UB in counter
    
    counter + 1 > 0 is a undefined behavior and nobody guarantee that it
    will be honestly perform by the compiler that counter + 1 will always be
    INT_MIN. We switch to INT_MAX check instead to provide a deterministic
    result.
    
    Reviewed by:    kib
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D60426
---
 lib/libthr/thread/thr_mutex.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index 82da8ab1ccba..1787db825bf3 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -865,7 +865,7 @@ mutex_self_trylock(struct pthread_mutex *m)
 
 	case PTHREAD_MUTEX_RECURSIVE:
 		/* Increment the lock count: */
-		if (m->m_count + 1 > 0) {
+		if (m->m_count < INT_MAX) {
 			m->m_count++;
 			ret = 0;
 		} else
@@ -934,7 +934,7 @@ mutex_self_lock(struct pthread_mutex *m, const struct timespec *abstime)
 
 	case PTHREAD_MUTEX_RECURSIVE:
 		/* Increment the lock count: */
-		if (m->m_count + 1 > 0) {
+		if (m->m_count < INT_MAX) {
 			m->m_count++;
 			ret = 0;
 		} else

From nobody Wed Oct  7 16:59: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 4j0K9G5Q0fz6wBGr
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 16:59: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0K9G4lHxz4YD4
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:59:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392370;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=TPOi8XCVpuP17Q2fRNSlE2rvo/W0nk47QnujGSFPdnA=;
	b=dUzSMAsWm6q4urTUO8auUuxZxkOUGj0xxlhmimzHrZED4eeux/CNJMo7g7zso3Lwj8BmSP
	4GgFBANy29SSdicAVam5+ABwsWJFIPMmK+JyoCoUbQ3QD/xLFOWrZw2I217IgzoZkt2j3Z
	ln/2yZ10SkLQSPVJoZVc8BZU7mZxxl0m2jB1CNljWzAXtvVlkC6JFR93LdrI66vuMb2V+F
	Gt09RIOGqOMwwNzQjcZLCC7mvnrlmRISQyHhfGSH/KA7trFIe9fSnQ6Wy8qaKxJDhnCDEK
	erTQ3wILgU18LKDyXRT7dao1qWCxvixmiwYyP638TwWweScOwwpyxnzv81KmHA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392370;
	b=qFlKYO3/f5n7BCH3iX1gzTsZYLwvUI1bXIcL+fjwcoLEgYmwPxklJlbiTsW4SNseMC7KQ6
	Fh1XVovHKJxuPDAwSKvarMBzPSkwqEt0CPCym9t57Q8sGUpKQ5lHYJYRzy7tltoCjtKGPx
	bUnlVx68mU0TMmB6o2rf9GY7onPfAzjqlm/xzN+oWwGQhQeManKjj0HBbwRANX1nQrdSWr
	v+MnG7+T6YAW05FLD/s0sexxu78osOd+bR7n0UDqrpquN6gB5xOH2+GSNdcdEtKMHxZM99
	nlXkmVXE4qZHkODiiOmyXaVjhkXz/lVkboJjD76JwDfSEddD9klGoifuZDJS4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392370;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=TPOi8XCVpuP17Q2fRNSlE2rvo/W0nk47QnujGSFPdnA=;
	b=VhKi/kJYBdynxgbTmeLdaLGv9AFBAmDqiHSjsmh67R5agAo1oIjsE1hZWpsl33C1qLUaBi
	cgiiZqj7QOEXz560x3LFMx/jK1X9uPt4N7111fjWdx7I/wWshHedtbY/szOr1lAEjM9144
	PyzgLFlpTSXAyLQWbBZKyrtTt5cjwdsal8Mr+Y1nFf8YaeVkFsjH5cRY5a9j2oWkrM8cjo
	/mA7BjhRoS6Y+xAR1OweAGQWF9Srr78ga2FfrrdcTc8s1QOunSOWzB5CdizEMJJTFaugT/
	XNgSpgMuJSG4PVeIVCYwsPUe+Qc9Va1Z2mscSCqAltS0+U531piIeyW9ISYHSQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0K9G3q34z12Gf
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 16:59:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 37782
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 16:59:30 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: ShengYi Hung <aokblast@FreeBSD.org>
Subject: git: 627e7d5b72cf - main - libthr: reject count < 0
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: aokblast
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 627e7d5b72cf967eae3cd9e9e0707ce0ff63a4da
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 16:59:30 +0000
Message-Id: <6ac67a72.37782.a7a9916@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

URL: https://cgit.FreeBSD.org/src/commit/?id=627e7d5b72cf967eae3cd9e9e0707ce0ff63a4da

commit 627e7d5b72cf967eae3cd9e9e0707ce0ff63a4da
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-10-07 01:30:56 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-10-07 16:59:19 +0000

    libthr: reject count < 0
    
    This causes count == -1 spin for INT_MAX times in userspace.
    
    Reviewed by:    kib
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D60425
---
 lib/libthr/thread/thr_mutex.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index 1787db825bf3..ccb3094db16d 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -1109,6 +1109,8 @@ __pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count)
 	struct pthread_mutex *m;
 	int ret;
 
+	if (count < 0)
+		return (EINVAL);
 	ret = check_and_init_mutex(mutex, &m);
 	if (ret == 0)
 		m->m_spinloops = count;
@@ -1133,6 +1135,8 @@ __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count)
 	struct pthread_mutex *m;
 	int ret;
 
+	if (count < 0)
+		return (EINVAL);
 	ret = check_and_init_mutex(mutex, &m);
 	if (ret == 0)
 		m->m_yieldloops = count;

From nobody Wed Oct  7 17:01: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 4j0KCD0vHtz6wBBr
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:01: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0KCC66fRz4Z8V
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:01:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392471;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=M6YhbJLaUkqEoAO943M8PrafWt7T/8SlJE9UNTe1Cgw=;
	b=UVAizGXId9RaJBs+EfOGz2nlwNVD82i27fY+bOr5IMnB3FdXMXglUNcVoEI4MtROX1U12r
	haNWFkfai+Ws0orxzZL/bATxBkObsaPnqeqgzGIPL8n42529SXMEmGKqIhCQJoYx0GFo+2
	W1LomcbKDKZ3eIFxJ0P6Gk+J1CLPY5FaJjR12VkNZ8HZ+sCaKZ6ebOSTwDPeaWPIwjGEBR
	YbLIwpMajlxTxU5XhEYPCuTa4M5tzhXBKNQj01AE36FljuyDJ1nCbsd3UpGtpTdFS3Lw3Q
	6Jia+t3wz08+rmF8xtvU5mCK4qVYPWZi2TlF/D1BpoFL9I1+QYf6buGtgK9qMg==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392471;
	b=hrX/yr4x/6Wj5EUMAnBIN+fqIQUOcV3GaDSaFplLHQm2GX5tpadA3sPOtjCA5J2zlgErMu
	ve5vjay5UJ6qwmQUr6/l1mWGJL118Xn2a02xmnaxiOzqI1Dv9q4J2PiTBHO+fMMAQ1JQcs
	Tce6IL7lJcm/DH1+mvI4MKbUk1k1rXAfhm4wq5q7dqJ5d+B4Nn/JBC3PbyzrDfTeOjX5Ru
	9Xxqs6V124PfLwUCcrTRvxE/LNkHLSNGv/DfsApuspjUqszQhTtOUEXFC6YHnDTkmZ0nrV
	gMYotbG+DVciRUtULIGg8wkCAZdceqw/CNV/B2+EV6dUmvhV1/cmOPUDj+mdLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392471;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=M6YhbJLaUkqEoAO943M8PrafWt7T/8SlJE9UNTe1Cgw=;
	b=HW/I77nHvpR2W31pBm12/Yaig8LH2x3e48Xqlh8d+qykXO7a/OhH+2dg8yJe0Omebc62Sr
	O7CN2XK/7zjOkfP+rNICt8KCLcfXcWrDwJlCHw1fbd7/Pz5lvgX3P+0ASnZaNRGRhDVmdF
	RSwhiyvatPNS0S22Ssl9aGziYxuvuoqJBE11mwXLo/X1l0uaCU2j/kNeiYQYpunKug/Cwd
	aOg+JlgCZoijitvKWKY2hd2djSCtLQ5Vwzro3saL/NSO8k4nVyxq9a7JBtGGTq1n9pCfCi
	iGnEjzbAZgxW5UGlBZ+VgzgmZPdFPJWy0TpClhivvwEFA0wwjbfFHPrAqtzF/A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0KCC5B3bz11w7
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:01:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 37a98
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:01:11 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: ccd44c5e4881 - main - vn_open_cred(): rename VN_OPEN_NAMECACHE flag to VN_OPEN_COREDUMP
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: ccd44c5e4881ece004fa23d3b479d4ee57b2a58e
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:01:11 +0000
Message-Id: <6ac67ad7.37a98.17beea04@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit ccd44c5e4881ece004fa23d3b479d4ee57b2a58e
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-03 23:59:30 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-07 17:00:53 +0000

    vn_open_cred(): rename VN_OPEN_NAMECACHE flag to VN_OPEN_COREDUMP
    
    The flag only use is for special handling of core dump vnodes.
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60283
---
 sys/kern/coredump_vnode.c | 4 ++--
 sys/kern/vfs_vnops.c      | 2 +-
 sys/sys/vnode.h           | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys/kern/coredump_vnode.c b/sys/kern/coredump_vnode.c
index 8b857e9aa4a2..0f2da8599a4c 100644
--- a/sys/kern/coredump_vnode.c
+++ b/sys/kern/coredump_vnode.c
@@ -216,7 +216,7 @@ corefile_open_last(struct thread *td, char *name, int indexpos,
 
 	nextvp = oldvp = NULL;
 	cmode = S_IRUSR | S_IWUSR;
-	oflags = VN_OPEN_NOAUDIT | VN_OPEN_NAMECACHE |
+	oflags = VN_OPEN_NOAUDIT | VN_OPEN_COREDUMP |
 	    (capmode_coredump ? VN_OPEN_NOCAPCHECK : 0);
 
 	for (i = 0; i < ncores; i++) {
@@ -396,7 +396,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td,
 		}
 	} else {
 		cmode = S_IRUSR | S_IWUSR;
-		oflags = VN_OPEN_NOAUDIT | VN_OPEN_NAMECACHE |
+		oflags = VN_OPEN_NOAUDIT | VN_OPEN_COREDUMP |
 		    (capmode_coredump ? VN_OPEN_NOCAPCHECK : 0);
 		flags = O_CREAT | FWRITE | O_NOFOLLOW;
 		if ((td->td_proc->p_flag & P_SUGID) != 0)
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index 7cb2b76d6cf2..7b86bb2bdb3f 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -309,7 +309,7 @@ restart:
 				NDREINIT(ndp);
 				goto restart;
 			}
-			if ((vn_open_flags & VN_OPEN_NAMECACHE) != 0 ||
+			if ((vn_open_flags & VN_OPEN_COREDUMP) != 0 ||
 			    (vn_irflag_read(ndp->ni_dvp) & VIRF_INOTIFY) != 0)
 				ndp->ni_cnd.cn_flags |= MAKEENTRY;
 #ifdef MAC
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index 2fa1a51ce1cc..39b8c4fb1952 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -624,7 +624,7 @@ typedef void vop_getpages_iodone_t(void *, vm_page_t *, int, int);
 /* vn_open_flags */
 #define	VN_OPEN_NOAUDIT		0x00000001
 #define	VN_OPEN_NOCAPCHECK	0x00000002
-#define	VN_OPEN_NAMECACHE	0x00000004
+#define	VN_OPEN_COREDUMP	0x00000004
 #define	VN_OPEN_INVFS		0x00000008
 #define	VN_OPEN_WANTIOCTLCAPS	0x00000010
 

From nobody Wed Oct  7 17:01: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 4j0KCF3CNCz6wBBx
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:01: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0KCD6clfz4Z5s
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:01:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392472;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=TwPAuk8lZRpIEkce4L/HrBnf+Gg9BO69WAtXeAmPxi0=;
	b=cmlxAAaEmkDZ8qUosUu8WeDzJBDqUL1TjWJ/Z4qZpsHwDFDObk5ZRX1vWCPX43fEkbaNFV
	Ps+yhtYO+x3X2tOzx/cdGmr+VrJ0zT+NBmx29pdjqOKfZXDsq/7Q5eOUO1wbbqzSSmeJ38
	C5lHkTFz1ceVXi3lJhIGkiVv78uyM4PwObI7dz2ciJ+86i3obT9HoK+hMyDWeDGFUS6PJB
	eyekT8+rGd4x/PpIBSyHfxW3Jq1AbjcDKrF089Xp7zcZPHPcTEt1evjCOh/bMa9/fySHOb
	jOl2V2MHOwOt6+GEjJH+LD5mYGmq+/C91DLuILG1KR8eIWJWQRPFm231n5bNtA==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392472;
	b=bV49G+r1PRoCVjFMlYkqFQEHCicHzcCCor7+hYmv3zBzblG9CK9mqlBX4FlBn6O3pwbz/f
	/QmYPyl6u+/zkh3HWwbqJaENQGWk5j2JXW0UGltA++wsUIR1Chvz1NV7CgNH34brTi23Mk
	xTu6iAOpKXqB86chaFaoamfvewdyZ9xb/czPiLXHWDsmpLnPj3xID1ZSB9k6fwsF4VP2hD
	sewSODubVKAjPXhBWIAHl62LOdsZf0BTnEupyN+5bUzEB2ln867jfeA6hzPiR/6tjTFYyX
	nm4TL6Gl1X/3umkeAqdLxdfXvGHkX6HwLURILX1tsDCb0IbNYsp/babZYd3ggg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392472;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=TwPAuk8lZRpIEkce4L/HrBnf+Gg9BO69WAtXeAmPxi0=;
	b=oJ6MgUWE8BYgDDDSYhufaWv2FBbrJmrmqgAIcyiQkyEHAum5NGerEb6WuxCL2ugfQJcjUp
	JYND/WedM2J+LUENRtcdvgnnAEs7xf3fbZF4LQVMGaEOu4fAWtehbrwSBlDpHGNzMwDg/o
	kAC6YZj5GMD0d4m8Q4BWrM2ecvGl5iRjlgAbXJYkvrmvyfpDbMo2IBpxNPUCDk+8rd6rtg
	jVrqnLrIsIgtdsqG9kvQ5Wna0L7ZDpc6Jer+PMp3bLwjQLA+v6ZaW1vAHKRQx2MR2j0Y0B
	G6XkNGfzFy0/bEpMOivK6XN2uhq+kXrrL5P9MnBqskwPxKGXNtlh+ucWh3HSTw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0KCD5jHpz12QF
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:01:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 38745
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:01:12 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: bea382f25b16 - main - kern/coredump_vnode.c: avoid dumping to the mount point we suspended
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: bea382f25b16fec0e9a1c2be130935e739075287
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:01:12 +0000
Message-Id: <6ac67ad8.38745.20d6c74a@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit bea382f25b16fec0e9a1c2be130935e739075287
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-03 23:59:30 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-07 17:00:53 +0000

    kern/coredump_vnode.c: avoid dumping to the mount point we suspended
    
    PR:     299095
    Reported by:    Rick Richard <rick@sloservers.com>
    Reviewed by:    markj
    Tested by:      Rick Richard <rick@sloservers.com> (previous version)
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D60283
---
 sys/kern/vfs_vnops.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index 7b86bb2bdb3f..96b1c5696251 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -241,6 +241,42 @@ vfs_check_namedattr(struct vnode *vp)
 	return (error);
 }
 
+/*
+ * This check is performed when a vnode is opened for dumping the core
+ * from userspace process. The /dev/ufssuspend device allows userspace
+ * to suspend the UFS volume, and we must check that the dump does not
+ * go into the volume the coredumping process suspended.
+ *
+ * Taking MNT_ILOCK around checks is not required, because the process
+ * is single-threaded around dumping core, and we in particular check
+ * if the current process is the suspension owner.
+ */
+static int
+vn_open_nosuspend(struct vnode *vp, u_int vn_open_flags)
+{
+	struct mount *mp;
+	struct thread *susp_owner;
+	int error;
+
+	if ((vn_open_flags & VN_OPEN_COREDUMP) == 0)
+		return (0);
+	MPASS((curproc->p_flag & P_HADTHREADS) == 0 ||
+	    (curproc->p_flag & (P_SINGLE_BOUNDARY | P_SINGLE_EXIT |
+	    P_STOPPED)) != 0);
+
+	mp = NULL;
+	error = VOP_GETWRITEMOUNT(vp, &mp);
+	if (error != 0 || mp == NULL)
+		return (0);
+	susp_owner = atomic_load_ptr(&mp->mnt_susp_owner);
+	if ((atomic_load_int(&mp->mnt_kern_flag) & (MNTK_SUSPEND |
+	    MNTK_SUSPENDED)) != 0 && susp_owner != NULL &&
+	    susp_owner->td_proc == curproc)
+		error = EBUSY;
+	vfs_rel(mp);
+	return (error);
+}
+
 /*
  * Common code for vnode open operations via a name lookup.
  * Lookup the vnode and invoke VOP_CREATE if needed.
@@ -295,6 +331,12 @@ restart:
 				ndp->ni_dvp = NULL;
 				goto bad;
 			}
+			error = vn_open_nosuspend(ndp->ni_dvp, vn_open_flags);
+			if (error != 0) {
+				vp = ndp->ni_dvp;
+				ndp->ni_dvp = NULL;
+				goto bad;
+			}
 			VATTR_NULL(vap);
 			vap->va_type = VREG;
 			vap->va_mode = cmode;
@@ -375,7 +417,9 @@ restart:
 				goto bad;
 		}
 	}
-	error = vn_open_vnode(vp, fmode, cred, curthread, fp);
+	error = vn_open_nosuspend(vp, vn_open_flags);
+	if (error == 0)
+		error = vn_open_vnode(vp, fmode, cred, curthread, fp);
 	if (first_open) {
 		VI_LOCK(vp);
 		vp->v_iflag &= ~VI_FOPENING;

From nobody Wed Oct  7 17:06: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 4j0KKR543vz6wBLH
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:06: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0KKR4PQhz4bfS
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:06:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791392795;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=nPM+G3MPLPrgJIi+oUK1cYhuDYjOjQ4QP8/2SjsfFU4=;
	b=fSQyZWrQfQmJNcyxCOs8GlU/uYU8d2E+tnjLZs32w5wXHvi4USsggqIdLDODKrmzaKYcQL
	g8zBzjINzdila/by8Otv+UqUyMdbaK7Hnz8hzgXK388KdVLw0ix+MTtGNY1mRaUPWbCPne
	K8NTLUR28FPZN27e78/FBeJfSkuAjcxOzG0mGXXOYT5FuZLm3YKQCVee2BA1gJRezcYqOF
	Tsm5Y30XgiFPqXVqzpVh/ZvTJGCNY5I9YR3KNQ3NV4NB12KY1vfYOo31doiLhXIp7sOWoc
	tY06SDhlYqcpdI4fm4GTuFVMK80bwtDaag3f1JlsC1P4YctzWYHZHPBW3uhxew==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791392795;
	b=af+B7rtGb5ivSHd7ZjMFHc6iGTEl6VQF8mHyHvKXtFpX7aTH12EAxpRAgualX0tNiIFcUe
	6OfEY/sa7XXiozOhgyWriKf3zTdyVegFAlr0l027WTdAaTydDE/RgFMAyKMYaVoowiANxL
	3oEb2o7go4p3Oa+xqaLPqF8XWQS5jUHMNdkhgg2V/3uq992NF/w4N/iMUNOhzvsBmnZPKY
	vjVGkKMQkWqOqDKRNJ/jbDU7oWilkjsEdmtGEOJ5eFyHBa/n11mMgt0mUdQu0BsSpB/FSB
	+TqU1hSD4grI1hKDwpPJp3KTU0Fb+s70pI8c7JNA5G/EvCYoq46ful7U6kB7Wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791392795;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=nPM+G3MPLPrgJIi+oUK1cYhuDYjOjQ4QP8/2SjsfFU4=;
	b=uYWTWSGrlcBrn8U+me4CJIg6mjMAJqqoA79avtngSCoqn8+P7Q1XhN3BOBbVCSLHLK9Ddg
	QW8eyL+wp6+0Dx3/vFqptLrmsgMnvhXgh21nGzGYeP4AY4D/Kc5NhILIf/ASx2DQElds9v
	B/NYjvma4B9BV1iXuDddEcAjOENckC3B4HsfnaMvXAEmceW9nQ5BpzKrOsFlmcgvMOVyI5
	C6sgK/d/3S44Yix5t6+4X1M4NsU1+CP+h6LzdGssrRKU6WSCe4PYpMBxmOBxUUrcb/zPAJ
	tG40JkPWSjc9f65/6YNEPOtzlnCsOTa6HNHhrgkiJLaTQVOiit46gJtyP+04aQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0KKR2pVQz12Tt
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:06:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 36b64
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:06:35 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: ShengYi Hung <aokblast@FreeBSD.org>
Subject: git: 99edcc3bd526 - main - libthr: Reorder pthread mutex to prevent false sharing
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: aokblast
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 99edcc3bd52614c6cf972ea8424a7807ed3fe1e3
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:06:35 +0000
Message-Id: <6ac67c1b.36b64.46e2d4d6@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

URL: https://cgit.FreeBSD.org/src/commit/?id=99edcc3bd52614c6cf972ea8424a7807ed3fe1e3

commit 99edcc3bd52614c6cf972ea8424a7807ed3fe1e3
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-10-07 07:22:13 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-10-07 17:05:58 +0000

    libthr: Reorder pthread mutex to prevent false sharing
    
    On a 64 byte cache line CPU (amd64), m_owner is contended by all of
    the shared processes. However, after finding one winner, mtx is
    enqueued, which trigger a cache refresh from other processors. Reorder
    mtx so that m_lock and m_qu will not be in the same cache line.
    
    Notice that this doesn't affet arch that expose 128 bytes cache line
    line aarch64 or powerpc.
    
    Reviewed by:    kib, markj
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D60434
---
 lib/libthr/thread/thr_mutex.c   | 9 +++++++++
 lib/libthr/thread/thr_private.h | 6 +++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index ccb3094db16d..139dc768b7ba 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -53,6 +53,15 @@
 _Static_assert(sizeof(struct pthread_mutex) <= THR_PAGE_SIZE_MIN,
     "pthread_mutex is too large for off-page");
 
+/*
+ * Keep the thread-private linkage off the cache line holding the lock word;
+ * Only meaningful where cache line is 64 bytes.
+ */
+#if defined(__LP64__) && CACHE_LINE_SIZE == 64
+_Static_assert(offsetof(struct pthread_mutex, m_qe) >= CACHE_LINE_SIZE,
+    "m_qe must not share a cache line with m_lock.m_owner");
+#endif
+
 /*
  * For adaptive mutexes, how many times to spin doing trylock2
  * before entering the kernel to block
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h
index 2edf09d761ae..cf90ac5bd4ef 100644
--- a/lib/libthr/thread/thr_private.h
+++ b/lib/libthr/thread/thr_private.h
@@ -171,6 +171,11 @@ struct pthread_mutex {
 	int				m_spinloops;
 	int				m_yieldloops;
 	int				m_ps;	/* pshared init stage */
+	/*
+	 * Deliberately put m_qe and m_lock into different cache line to prevent
+	 * false sharing.
+	 */
+	struct pthread_mutex		*m_rb_prev;
 	/*
 	 * Link for all mutexes a thread currently owns, of the same
 	 * prio type.
@@ -178,7 +183,6 @@ struct pthread_mutex {
 	TAILQ_ENTRY(pthread_mutex)	m_qe;
 	/* Link for all private mutexes a thread currently owns. */
 	TAILQ_ENTRY(pthread_mutex)	m_pqe;
-	struct pthread_mutex		*m_rb_prev;
 };
 
 struct pthread_mutex_attr {

From nobody Wed Oct  7 17:10: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 4j0KPW47vxz6wBfk
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:10: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0KPW39jLz4bnq
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:10:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791393007;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=WpZ28F0e/qde3jTyT799oZWGhy0zg/rn8D3O9n9thgY=;
	b=CIaBflVSjMNJx2Z7baHVOFAXPTLRHbql8gUcrx1f2dcnc/2sm1AMoEXzmpQHFi+gpddrxT
	VpawZ1V9OBrMxrfTqFRGAeLqUBuowh9JNCiDjk0hilrrndJ/G0RlyThD+CYgchCPhK/u1t
	MflaBlg951BdFlpg8gya1oj6lE+eZMmr18hAySuetTPwLbbAPyqdvPwDxSJ7ES05IRUo5m
	ACnWyB3OqqQmstdHRKqi4jEONa8Y3JviL+tGvoP3PcbRjx/DqWI2pIL0ysS10DsloCMV5d
	tQRECFv8gdcWpDlrbGirT697MVYc+86Rhw9IsE5QPl/eHPYhLl2RD/rfESE9jw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791393007;
	b=ERrx7Ryb+qqYRMUQNJ7MSNaiFuc90SwCxa8NH5ab+mZ+LCDtW0R2e+TgUZk8X4IZUCZ5nt
	jphHxka9z4yrYttIeIyUbwh5AaSwBByFHVFZjvtwloWshf4Pkc/5fIsqddIEwRxb8y7w3x
	r3GofY+P8VOFTl6TMVZ+It8ALN5f9+bTiOBKzeFErVa8wp95NHXDp7b5nLoYkP2b4lk6On
	gCp9upusXudylt02j0BUT3Fv1rsdFPqVJiCs7rnv846ImkjoMFIc5hJntOlCAjCyjaSDN/
	QFAQ443OjNF/rCxPB7nEXos2eDm3VAz5TSZ2TWojTwYomGzhpYCaoIZaxXIyjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791393007;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=WpZ28F0e/qde3jTyT799oZWGhy0zg/rn8D3O9n9thgY=;
	b=fU3QoT3yKP19IgrksNXS1GaqD7XsH+zNoDrDs7MbUBdoN5EbZRsruA6eldFvKpB43uCusJ
	tGojRrq0sLUFJllQjuOFrY+dSMb94bIX6sfYduqmmaeUraQr8hB79b3yKPBUFOUalYGWoI
	+Q7Y85n/a4KpvpmGe8KrDBb29WI+5otT5PqNUcDD+Gxc8iZacn5kNAXtEP3sKO0/idhVxE
	XPGjJH5j31e4iRe+1Txt2SMR4HKIbNLYeGpcMd5TtcnJjbGzrMxdLA8mwCZJDvw1XIq27/
	ujICwv0/jIKWGkVFkd2vzyXQfxCGRZcMtZvMz7QS9QpPkBjaVxqqTCidwcdLRw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0KPW2CNdz12gZ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:10:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 37d76
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:10:02 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Ariel Ehrenberg <aehrenberg@nvidia.com>
From: Konstantin Belousov <kib@FreeBSD.org>
Subject: git: 78ae174e420a - main - mlx5: support DevX UMEM page size bitmap
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
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: 78ae174e420a2eaa340b41247a260bc067fae0c6
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:10:02 +0000
Message-Id: <6ac67cea.37d76.4b83f5b4@gitrepo.freebsd.org>

The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=78ae174e420a2eaa340b41247a260bc067fae0c6

commit 78ae174e420a2eaa340b41247a260bc067fae0c6
Author:     Ariel Ehrenberg <aehrenberg@nvidia.com>
AuthorDate: 2026-10-06 10:45:06 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-07 17:09:41 +0000

    mlx5: support DevX UMEM page size bitmap
    
    rdma-core's mlx5dv_devx_umem_reg_ex() passes the page sizes the caller
    can use in MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP.  Add the attribute and
    choose the UMEM page size, page offset and MTT count the way Linux commit
    7610ab57de56 ("RDMA/mlx5: Allow larger pages in DevX umem") does.
    
    Linux looks at the DMA list only.  The UMEM is mapped at an IOVA equal to
    the DMA address of its first byte, ib_umem_find_best_pgsz() picks the
    largest page size of the bitmap that this mapping allows, and
    devx_umem_find_best_pgsize() halves it while the first DMA address is not
    aligned to it or the length is not a multiple of it, stopping at
    PAGE_SIZE, even if that is below every size in the bitmap.
    
    The FreeBSD OFED layer has none of the ib_umem helpers this relies on,
    so local copies of the current Linux ones are added.
    ib_umem_find_best_pgoff() and ib_umem_dma_offset() come from Linux
    commit b045db62f6f6 ("RDMA/mlx5: Use ib_umem_find_best_pgoff() for
    SRQ"), ib_umem_num_dma_blocks() from Linux commit a665aca89a41
    ("RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks()").
    The ib_umem_find_best_pgsz() logic includes Linux commit 486055f5e09d
    ("RDMA/core: Fix best page size finding when it can cross SG entries"),
    without which no page size above 4K would ever be found, as FreeBSD's
    ib_umem_get() maps every page as an SG entry of its own, and Linux
    commit 09ea6837a043 ("RDMA/umem: Be careful about boundary conditions in
    ib_umem_find_best_pgsz()").
    
    Without the attribute the bitmap defaults to GENMASK_ULL(63, 12), as in
    Linux.  The attribute is read with uverbs_copy_from(), FreeBSD's
    uverbs_get_const_default() works on an s64 and rejects any value with bit
    63 set, the default included.  The page size is kept in a u64, Linux
    returns it as an unsigned int and so fails registrations that would use
    pages of 4G or more.
    
    Reviewed by:  kib
    Sponsored by: Nvidia networking
    MFC after:    1 month
---
 sys/dev/mlx5/mlx5_ib/mlx5_ib_devx.c               | 152 ++++++++++++++++++++--
 sys/ofed/include/uapi/rdma/mlx5_user_ioctl_cmds.h |   1 +
 2 files changed, 144 insertions(+), 9 deletions(-)

diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_devx.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_devx.c
index 5f4aa160cfcf..2a3c60b2ec6d 100644
--- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_devx.c
+++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_devx.c
@@ -40,6 +40,8 @@
 
 #include <sys/priv.h>
 
+#include <linux/bitops.h>
+#include <linux/overflow.h>
 #include <linux/xarray.h>
 #include <linux/rculist.h>
 #include <linux/srcu.h>
@@ -2082,21 +2084,153 @@ err:
 	return err;
 }
 
+/*
+ * A DevX UMEM is mapped at an IOVA equal to the DMA address of its first
+ * byte, the UMEM VA plays no part in choosing its page size or MTT list.
+ */
+static u64 devx_umem_start_dma_addr(struct ib_umem *umem)
+{
+	return sg_dma_address(umem->sg_head.sgl) + ib_umem_offset(umem);
+}
+
+static u64 devx_umem_dma_offset(struct ib_umem *umem, u64 pgsz)
+{
+	return devx_umem_start_dma_addr(umem) & (pgsz - 1);
+}
+
+static size_t devx_umem_num_dma_blocks(struct ib_umem *umem, u64 pgsz)
+{
+	u64 iova = devx_umem_start_dma_addr(umem);
+
+	return (ALIGN(iova + umem->length, pgsz) - ALIGN_DOWN(iova, pgsz)) /
+	       pgsz;
+}
+
+static u64 devx_umem_find_best_pgoff(struct ib_umem *umem, u64 pgsz_bitmap)
+{
+	u64 iova = devx_umem_start_dma_addr(umem);
+	u64 pgoff = ib_umem_offset(umem);
+	u64 curr_base = ~0ULL;
+	u64 curr_len = 0;
+	u64 mask = 0;
+	struct scatterlist *sg;
+	unsigned int bits;
+	u64 last_iova;
+	u64 end;
+	int i;
+
+	/* The best result is the smallest page size that results in the minimum
+	 * number of required pages. Compute the largest page size that could
+	 * work based on IOVA bits that don't change.
+	 */
+	if (check_add_overflow(umem->length - 1, iova, &last_iova))
+		return 0;
+	bits = fls64(iova ^ last_iova);
+	if (bits < 64)
+		mask = pgsz_bitmap & GENMASK_ULL(63, bits);
+
+	for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i) {
+		/* If the current entry is physically contiguous with the
+		 * previous one, no need to take its start addresses into
+		 * consideration.
+		 */
+		if (check_add_overflow(curr_base, curr_len, &end) ||
+		    end != sg_dma_address(sg)) {
+			curr_base = sg_dma_address(sg);
+			curr_len = 0;
+
+			/* Reduce max page size if IOVA/DMA bits differ */
+			mask |= (curr_base + pgoff) ^ iova;
+
+			/* The alignment of any IOVA matching a discontinuity
+			 * point in the DMA list sets the maximum possible page
+			 * size as this must be a starting point of a new page
+			 * that needs to be aligned.
+			 */
+			if (i != 0)
+				mask |= iova;
+		}
+
+		curr_len += sg_dma_len(sg);
+		iova += sg_dma_len(sg) - pgoff;
+
+		pgoff = 0;
+	}
+
+	/* The mask accumulates 1's in each position where the IOVA and DMA
+	 * address differ, thus the length of trailing 0 is the largest page
+	 * size that can pass the IOVA through to the DMA address.
+	 */
+	if (mask)
+		pgsz_bitmap &= GENMASK_ULL(__ffs64(mask), 0);
+	return pgsz_bitmap ? rounddown_pow_of_two(pgsz_bitmap) : 0;
+}
+
+static u64 devx_umem_find_best_pgsize(struct ib_umem *umem, u64 pgsz_bitmap)
+{
+	u64 page_size;
+
+	/* Don't bother checking larger page sizes as offset must be zero and
+	 * total DEVX umem length must be equal to total umem length.
+	 */
+	pgsz_bitmap &= GENMASK_ULL(max_t(u64, order_base_2(umem->length),
+					 PAGE_SHIFT),
+				   MLX5_ADAPTER_PAGE_SHIFT);
+	if (!pgsz_bitmap)
+		return 0;
+
+	page_size = devx_umem_find_best_pgoff(umem, pgsz_bitmap);
+	if (!page_size)
+		return 0;
+
+	/* If the page_size is less than the CPU page size then we can use the
+	 * offset and create a umem which is a subset of the page list.
+	 * For larger page sizes we can't be sure the DMA  list reflects the
+	 * VA so we must ensure that the umem extent is exactly equal to the
+	 * page list. Reduce the page size until one of these cases is true.
+	 */
+	while ((devx_umem_dma_offset(umem, page_size) != 0 ||
+		(umem->length % page_size) != 0) &&
+		page_size > PAGE_SIZE)
+		page_size /= 2;
+
+	return page_size;
+}
+
 static int devx_umem_get(struct mlx5_ib_dev *dev, struct ib_ucontext *ucontext,
 			 struct uverbs_attr_bundle *attrs,
 			 struct devx_umem *obj)
 {
+	u64 pgsz_bitmap;
+	u64 page_size;
 	u64 addr;
 	size_t size;
 	u32 access;
-	int npages;
 	int err;
-	u32 page_mask;
 
 	if (uverbs_copy_from(&addr, attrs, MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR) ||
 	    uverbs_copy_from(&size, attrs, MLX5_IB_ATTR_DEVX_UMEM_REG_LEN))
 		return -EFAULT;
 
+	/*
+	 * If the user does not pass in pgsz_bitmap then the user promises not
+	 * to use umem_offset!=0 in any commands that allocate on top of the
+	 * umem.
+	 *
+	 * If the user wants to use a umem_offset then it must pass in
+	 * pgsz_bitmap which guides the maximum page size and thus maximum
+	 * object alignment inside the umem. See the PRM.
+	 *
+	 * Users are not allowed to use IOVA here, mkeys are not supported on
+	 * umem.
+	 */
+	pgsz_bitmap = GENMASK_ULL(63, min(PAGE_SHIFT, MLX5_ADAPTER_PAGE_SHIFT));
+	if (uverbs_attr_is_valid(attrs,
+				 MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP) &&
+	    uverbs_copy_from(&pgsz_bitmap, attrs,
+			     MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP))
+		return -EFAULT;
+
 	err = uverbs_get_flags32(&access, attrs,
 				 MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
 				 IB_ACCESS_LOCAL_WRITE |
@@ -2113,17 +2247,15 @@ static int devx_umem_get(struct mlx5_ib_dev *dev, struct ib_ucontext *ucontext,
 	if (IS_ERR(obj->umem))
 		return PTR_ERR(obj->umem);
 
-	mlx5_ib_cont_pages(obj->umem, obj->umem->address,
-			   MLX5_MKEY_PAGE_SHIFT_MASK, &npages,
-			   &obj->page_shift, &obj->ncont, NULL);
-
-	if (!npages) {
+	page_size = devx_umem_find_best_pgsize(obj->umem, pgsz_bitmap);
+	if (!page_size) {
 		ib_umem_release(obj->umem);
 		return -EINVAL;
 	}
 
-	page_mask = (1 << obj->page_shift) - 1;
-	obj->page_offset = obj->umem->address & page_mask;
+	obj->page_shift = order_base_2(page_size);
+	obj->page_offset = devx_umem_dma_offset(obj->umem, page_size);
+	obj->ncont = devx_umem_num_dma_blocks(obj->umem, page_size);
 
 	return 0;
 }
@@ -2733,6 +2865,8 @@ DECLARE_UVERBS_NAMED_METHOD(
 			   UA_MANDATORY),
 	UVERBS_ATTR_FLAGS_IN(MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
 			     enum ib_access_flags),
+	UVERBS_ATTR_CONST_IN(MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP,
+			     u64),
 	UVERBS_ATTR_PTR_OUT(MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
 			    UVERBS_ATTR_TYPE(u32),
 			    UA_MANDATORY));
diff --git a/sys/ofed/include/uapi/rdma/mlx5_user_ioctl_cmds.h b/sys/ofed/include/uapi/rdma/mlx5_user_ioctl_cmds.h
index 24f3388c3182..f55d4f2837d2 100644
--- a/sys/ofed/include/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/sys/ofed/include/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -154,6 +154,7 @@ enum mlx5_ib_devx_umem_reg_attrs {
 	MLX5_IB_ATTR_DEVX_UMEM_REG_LEN,
 	MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
 	MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
+	MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP,
 };
 
 enum mlx5_ib_devx_umem_dereg_attrs {

From nobody Wed Oct  7 17:14: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 4j0KVN3554z6wC5D
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:14: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0KVN02sWz4chb
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:14:20 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791393260;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=kuc8r2fw/nPsYL4X0MZRM7wa0qaZQa7Zjf7tOgQ3SMA=;
	b=wv+cCIFMES5TtnCBw+Q3OARSi2HxR+3VnoXCeoip682A1BnlJHmdsF7y/I0O0BqFwVsncD
	Iu2AA9xNVvo/qZITOvq/U1e0D2I0FHuChjMVeXBHeuw/ROBpvA9prr5btntl0Bzw86bFfZ
	VYlBbvLCaa/d7I+WAOMRixCgJE3YLAc9ULtwJKJeVIutER/dVKbaCfs9XvuNRfFa1CLsPO
	9YgmW6SJJnmnKcMZvHvjBhX+9z5MJRmL11oTO6pZ9CC07XOg+3Sb3zioZsho8fkn9XHLpl
	neF5Zk7Ex7qjf2KKsrqZ9cd181vQMQm6CrvS9x/cN+Qw9Zhd3mQEGH6v6ZsWZw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791393260;
	b=MEDxeFHTvQcjGgh4lJNsY/B7dY7Rx52ydz7LD1d0i1JQ+doWzoy3WdO7EuYUDLhvuRyvPs
	ET0iJ5DQvqrjCQbs8v9/RN9l24+wOkXHeiwKgbZ3vwh8jS+9rUT90bXRr3KxSHetv5UZgD
	qnCb/8H06mAVO3QSfHvp+Q05VtVFsmynzxPxNgtiupwEsYUQOkPjeSujK5lQdc6eMtthsU
	fVNXD4GcTrh28K8K3om76ZRpn82gwrN6lWy3MGAikXoany/nzvdqhouvBU8Pa6quEKb01t
	fjLIzcGk3gIkPuwnrdFod0ByEO1e6D6MfDNSHXHPkxqL/7N+ztZ+AfMdcLLLKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791393260;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=kuc8r2fw/nPsYL4X0MZRM7wa0qaZQa7Zjf7tOgQ3SMA=;
	b=TOnDtosqnJlrttCCn2qv8m0vKQFoYn43UykS5ZfSECAGRYq94Z91iuOM8sYF9GfsL6FbrH
	GbhaD9GLBw/9Wqv9UOEKW5tIM+IELs+zLGBlINhJy6koYn4AnUj1plesSdWbD49i4Bt2wc
	MJXnYLvp/GEdl2k5yIC7JLV9r9rlkkh32jNpsS4j6Khp38mvnOc1aGdTKpc/cUqMRHN5rV
	BM/JiZod+BWgM38cTaHbv6yc9/Tvk7rfEgd953z2994tLYUzj9wt00IKEF6wxmDNv1IAnR
	J0Tzq7+FF4mUXWgd8xz77Nt+qsG9t7dxdF7OdiFiJ0xY0o8FPUuej2TKiUgEmQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0KVM6CVqz12km
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:14:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 39155
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:14:19 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: ShengYi Hung <aokblast@FreeBSD.org>
Subject: git: de2c0f157a9c - main - libthr: Fix some bugs in trylock
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: aokblast
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: de2c0f157a9cce0b763da9ae97ada870fa4d1824
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:14:19 +0000
Message-Id: <6ac67deb.39155.27c54888@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

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

commit de2c0f157a9cce0b763da9ae97ada870fa4d1824
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-10-07 02:30:48 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-10-07 17:14:04 +0000

    libthr: Fix some bugs in trylock
    
    1. When contester > 2, a release causes kernel set CONTENTION bit but
       with no owner. In this case, the userspace should be able to try the
       lock instead of fall immediately. We copy this from trylock2.
    2. A PI mutex should consult to kernel instead of decided by userspace
       itself.
    
    Reviewed by:    kib
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D60427
---
 lib/libthr/thread/thr_umtx.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/libthr/thread/thr_umtx.h b/lib/libthr/thread/thr_umtx.h
index 4e1c08ca64e8..eada8ab9297f 100644
--- a/lib/libthr/thread/thr_umtx.h
+++ b/lib/libthr/thread/thr_umtx.h
@@ -82,13 +82,19 @@ _thr_umutex_trylock(struct umutex *mtx, uint32_t id)
 
 	if (atomic_cmpset_acq_32(&mtx->m_owner, UMUTEX_UNOWNED, id))
 		return (0);
+	if ((uint32_t)mtx->m_owner == UMUTEX_CONTESTED &&
+	    __predict_true((mtx->m_flags & (UMUTEX_PRIO_PROTECT |
+	   UMUTEX_PRIO_INHERIT)) == 0) &&
+	   atomic_cmpset_acq_32(&mtx->m_owner, UMUTEX_CONTESTED,
+	   id | UMUTEX_CONTESTED))
+		return (0);
 	if (__predict_false((uint32_t)mtx->m_owner == UMUTEX_RB_OWNERDEAD) &&
 	    atomic_cmpset_acq_32(&mtx->m_owner, UMUTEX_RB_OWNERDEAD,
 	    id | UMUTEX_CONTESTED))
 		return (EOWNERDEAD);
 	if (__predict_false((uint32_t)mtx->m_owner == UMUTEX_RB_NOTRECOV))
 		return (ENOTRECOVERABLE);
-	if ((mtx->m_flags & UMUTEX_PRIO_PROTECT) == 0)
+	if ((mtx->m_flags & (UMUTEX_PRIO_PROTECT | UMUTEX_PRIO_INHERIT)) == 0)
 		return (EBUSY);
 	return (__thr_umutex_trylock(mtx));
 }

From nobody Wed Oct  7 17:52: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 4j0LLg0Kv5z4n4Hc
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:52: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0LLf725bz4k86
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:52:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791395563;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xe2qvvABcyhE5vpxa9f8MKAaAA0Jxscb+u2JZtQJ4hU=;
	b=heYZ7zIxzyhP11BXopNl9DbYrlfma7U3IWOs3fUEFEoJShIXDMKEmqLWebayNOVtA0oP8X
	sbxXRpU7y2/JHofiCM0XBjYwNaqkOkFJtU+b31WPdIWcw0ZPRYfIqH5IJcQ95vZ1oNrjpl
	D7LhxnxHfypnvYSa191Rd97ZN0k/y4IBnI+X2nqEGM9dCuTu1Yc24bujCzcuWXJBDpPKKN
	LsgEiF47u2mBs/6wCTOk5mvAEW+KmGEAZHxflQ2KYc1qRCH4nF6DaU3c3zb51TDYzLVhwj
	lN4PTOw6+0FHGXzYzDmrkoDB6U9xnYMQA0qLsJef9Wz4uUC7+1CKQIyuu2K/nw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791395563;
	b=bopQv3oWT3eWKNs8DdwUPnYiJ5qXzUN4AR44yrL7SZxraytHUiyq7vJV0Qg9runHnafVky
	yHwMqWYhWTQDvsrggmFLcWPxGNcL3o4Sx4652uEBGcbk2LtGlk8a76R9R6//gwYaVLsoXr
	pe1dVlCVD0DOZdKaZxg+3UpU9VEnlsMj2llRUkdgQW3037joh7YSUeSVfyy0bePqb/cEGU
	peX6So4enOap0Z0HzSWwTeQAQEk635bhzN1kKRkCLuubaj67kXsU4pz1nkMMIdvYTHMplD
	vWJ6Peqmx7hDdEJIaYHIpV03yAc3llRT9FbCh91ouQE71Iu63DtrXZbM/6O0wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791395563;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xe2qvvABcyhE5vpxa9f8MKAaAA0Jxscb+u2JZtQJ4hU=;
	b=lc6g/5sb+N9aHGwSc4ns/utN0EV4TGwMvSUBnGHWjUupCBlz91He6aGop8dra48G9n5uiI
	wUTADpch5VQ3JhsM0dSSnOmYHOTG1/oQ3lv6KAcVoheDYH4lgprjhvgSK5erEOXyr0L++U
	uJ/M3pGwIfBIMbzryfLkBE8eTxP2w/llMbsHrI96FjKS2X5KHmPkhSoqaqGMgOa05F6LLC
	FegbyxvhfWyT6vPSrvPiq9Ujw0cqdW4UEWijwTsc8XXmvscKlYxUL2CgWxpoGYHAXGiKhe
	EIO+nPnjqO054ZKI6b4snV/d2JX28NuOtc7XYizkCK0bfEEQXlYb1907yvCmTQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0LLf65x9z13rh
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:52:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d05f
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:52:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: eb8f69902f7d - main - contrib/kyua: update to 0.15.0
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: eb8f69902f7de8012a31a85db2f88a54584f81af
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:52:42 +0000
Message-Id: <6ac686ea.3d05f.1e1346e9@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit eb8f69902f7de8012a31a85db2f88a54584f81af
Merge: de2c0f157a9c 144afd05f8a2
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-07 17:50:26 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-07 17:50:26 +0000

    contrib/kyua: update to 0.15.0
    
    This new release contains multiple feature updates and bugfixes. Please
    see the release notes mentioned in the merge commit for more details.
    
    MFC after:      1 month
    Merge commit '144afd05f8a2300361ec30c1c2020e4022ddd943'
    
    Conflicts:
            contrib/kyua/cli/cmd_debug.cpp
            contrib/kyua/doc/kyua-debug.1.in
            contrib/kyua/doc/kyuafile.5.in
            contrib/kyua/engine/config.cpp
            contrib/kyua/engine/execenv/execenv.cpp
            contrib/kyua/engine/execenv/execenv.hpp
            contrib/kyua/engine/execenv/execenv_host.hpp
            contrib/kyua/engine/requirements.cpp
            contrib/kyua/engine/requirements.hpp
            contrib/kyua/engine/scheduler.cpp
            contrib/kyua/model/metadata.cpp
            contrib/kyua/os/freebsd/execenv_jail.hpp
            contrib/kyua/os/freebsd/execenv_jail_stub.cpp
            contrib/kyua/os/freebsd/main.cpp
            contrib/kyua/os/freebsd/reqs_checker_kmods.cpp
            contrib/kyua/os/freebsd/utils/jail.hpp
            contrib/kyua/utils/fs/directory.cpp
            contrib/kyua/utils/process/executor.cpp

 contrib/kyua/.cirrus.yml                           |  25 -
 contrib/kyua/.gitignore                            |  23 -
 contrib/kyua/.travis.yml                           |  49 --
 contrib/kyua/Doxyfile.in                           |   1 -
 contrib/kyua/FREEBSD-Xlist                         |  12 +
 contrib/kyua/INSTALL.md                            | 268 ------
 contrib/kyua/Makefile.am                           | 186 ----
 contrib/kyua/{NEWS.md => NEWS}                     | 163 +++-
 contrib/kyua/README.md                             |  33 +-
 contrib/kyua/admin/.gitignore                      |   6 -
 contrib/kyua/admin/Makefile.am.inc                 |  41 -
 contrib/kyua/admin/build-bintray-dist.sh           | 131 ---
 contrib/kyua/admin/check-api-docs.awk              |  72 --
 contrib/kyua/admin/check-style-common.awk          |  79 --
 contrib/kyua/admin/check-style-cpp.awk             |  87 --
 contrib/kyua/admin/check-style-make.awk            |  71 --
 contrib/kyua/admin/check-style-man.awk             |  71 --
 contrib/kyua/admin/check-style-shell.awk           |  95 --
 contrib/kyua/admin/check-style.sh                  | 170 ----
 contrib/kyua/admin/clean-all.sh                    |  90 --
 contrib/kyua/admin/travis-build.sh                 |  98 ---
 contrib/kyua/admin/travis-install-deps.sh          |  83 --
 contrib/kyua/bootstrap/.gitignore                  |   4 -
 contrib/kyua/bootstrap/Kyuafile                    |   5 -
 contrib/kyua/bootstrap/Makefile.am.inc             |  90 --
 contrib/kyua/bootstrap/plain_helpers.cpp           | 141 ---
 contrib/kyua/bootstrap/testsuite.at                | 200 -----
 contrib/kyua/cli/Makefile.am.inc                   | 123 ---
 contrib/kyua/cli/cmd_debug.cpp                     |   7 +-
 contrib/kyua/cli/main.cpp                          |   4 +
 contrib/kyua/config.h                              | 139 +++
 contrib/kyua/configure.ac                          | 173 ----
 contrib/kyua/doc/.gitignore                        |  14 -
 contrib/kyua/doc/Makefile.am.inc                   | 152 ----
 contrib/kyua/doc/kyua-about.1.in                   |   2 +-
 contrib/kyua/doc/kyua-config.1.in                  |   2 +-
 contrib/kyua/doc/kyua-db-exec.1.in                 |   2 +-
 contrib/kyua/doc/kyua-db-migrate.1.in              |   2 +-
 contrib/kyua/doc/kyua-debug.1.in                   |   4 +-
 contrib/kyua/doc/kyua-help.1.in                    |   2 +-
 contrib/kyua/doc/kyua-list.1.in                    |   2 +-
 contrib/kyua/doc/kyua-report-html.1.in             |   2 +-
 contrib/kyua/doc/kyua-report-junit.1.in            |   2 +-
 contrib/kyua/doc/kyua-report.1.in                  |   2 +-
 contrib/kyua/doc/kyua-test.1.in                    |   2 +-
 contrib/kyua/doc/kyua.1.in                         |   6 +-
 contrib/kyua/doc/kyua.conf.5.in                    |   2 +-
 contrib/kyua/doc/kyuafile.5.in                     |  19 +-
 contrib/kyua/drivers/Makefile.am.inc               |  72 --
 contrib/kyua/engine/Kyuafile                       |   3 +
 contrib/kyua/engine/Makefile.am.inc                | 155 ----
 contrib/kyua/engine/atf.hpp                        |  21 +-
 contrib/kyua/engine/atf_result.cpp                 |  16 +-
 contrib/kyua/engine/atf_result_test.cpp            |   7 +-
 contrib/kyua/engine/atf_test.cpp                   |   2 +-
 contrib/kyua/engine/config.cpp                     |   4 +-
 contrib/kyua/engine/execenv/execenv.cpp            |   3 -
 contrib/kyua/engine/execenv/execenv.hpp            |   6 +-
 contrib/kyua/engine/execenv/execenv_fwd.hpp        |  44 +
 contrib/kyua/engine/execenv/execenv_host.hpp       |   2 +-
 contrib/kyua/engine/googletest.cpp                 | 219 +++++
 contrib/kyua/engine/googletest.hpp                 |  68 ++
 contrib/kyua/engine/googletest_helpers.cpp         | 330 +++++++
 contrib/kyua/engine/googletest_list.cpp            | 111 +++
 .../atf_helpers.cpp => engine/googletest_list.hpp} |  49 +-
 contrib/kyua/engine/googletest_list_test.cpp       | 208 +++++
 contrib/kyua/engine/googletest_result.cpp          | 528 ++++++++++++
 contrib/kyua/engine/googletest_result.hpp          | 111 +++
 contrib/kyua/engine/googletest_result_fwd.hpp      |  43 +
 contrib/kyua/engine/googletest_result_test.cpp     | 427 +++++++++
 contrib/kyua/engine/googletest_test.cpp            | 361 ++++++++
 contrib/kyua/engine/kyuafile.hpp                   |   5 -
 contrib/kyua/engine/kyuafile_test.cpp              |  10 +-
 contrib/kyua/engine/plain.hpp                      |  13 +-
 contrib/kyua/engine/requirements.cpp               |   4 +-
 contrib/kyua/engine/requirements.hpp               |   4 +-
 contrib/kyua/engine/scheduler.cpp                  |   4 +-
 contrib/kyua/engine/scheduler.hpp                  |  26 +-
 contrib/kyua/engine/scheduler_test.cpp             |  24 +-
 contrib/kyua/engine/tap.hpp                        |  13 +-
 contrib/kyua/examples/Makefile.am.inc              |  45 -
 contrib/kyua/integration/Makefile.am.inc           | 150 ----
 contrib/kyua/integration/cmd_about_test.sh         |   2 +-
 contrib/kyua/integration/cmd_report_test.sh        |   2 +-
 contrib/kyua/integration/cmd_test_test.sh          |   4 +-
 contrib/kyua/integration/helpers/.gitignore        |  11 -
 contrib/kyua/integration/helpers/Makefile.am.inc   |  90 --
 contrib/kyua/integration/utils.sh                  |  34 +-
 contrib/kyua/m4/ax_cxx_compile_stdcxx.m4           | 951 ---------------------
 contrib/kyua/m4/compiler-features.m4               | 122 ---
 contrib/kyua/m4/compiler-flags.m4                  | 169 ----
 contrib/kyua/m4/developer-mode.m4                  | 112 ---
 contrib/kyua/m4/doxygen.m4                         |  62 --
 contrib/kyua/m4/fs.m4                              | 125 ---
 contrib/kyua/m4/getopt.m4                          | 213 -----
 contrib/kyua/m4/memory.m4                          | 122 ---
 contrib/kyua/m4/signals.m4                         |  92 --
 contrib/kyua/m4/uname.m4                           |  63 --
 contrib/kyua/misc/Makefile.am.inc                  |  32 -
 contrib/kyua/model/Makefile.am.inc                 |  89 --
 contrib/kyua/model/README                          |  11 -
 contrib/kyua/model/metadata.cpp                    |  51 +-
 contrib/kyua/os/freebsd/execenv_jail.hpp           |   2 +-
 contrib/kyua/os/freebsd/execenv_jail_stub.cpp      |   2 +-
 contrib/kyua/os/freebsd/main.cpp                   |   8 -
 contrib/kyua/os/freebsd/reqs_checker_kmods.cpp     |   2 +-
 contrib/kyua/os/freebsd/utils/jail.hpp             |   7 +-
 contrib/kyua/store/Makefile.am.inc                 | 145 ----
 contrib/kyua/store/write_transaction_test.cpp      |   2 +-
 contrib/kyua/utils/.gitignore                      |   2 -
 contrib/kyua/utils/Makefile.am.inc                 | 133 ---
 contrib/kyua/utils/cmdline/Makefile.am.inc         |  96 ---
 contrib/kyua/utils/config/Makefile.am.inc          |  87 --
 contrib/kyua/utils/config/nodes.cpp                |  20 +-
 contrib/kyua/utils/config/nodes.hpp                |   2 +
 contrib/kyua/utils/config/nodes_test.cpp           |  15 +-
 contrib/kyua/utils/defs.hpp.in                     |  15 +-
 contrib/kyua/utils/format/Makefile.am.inc          |  59 --
 contrib/kyua/utils/fs/Makefile.am.inc              |  84 --
 contrib/kyua/utils/fs/directory.cpp                |  13 +-
 contrib/kyua/utils/fs/operations.cpp               | 120 +--
 contrib/kyua/utils/logging/Makefile.am.inc         |  53 --
 contrib/kyua/utils/process/.gitignore              |   1 -
 contrib/kyua/utils/process/Kyuafile                |   1 -
 contrib/kyua/utils/process/Makefile.am.inc         | 118 ---
 contrib/kyua/utils/process/child.hpp               |   4 +-
 contrib/kyua/utils/process/child_test.cpp          |   2 +-
 contrib/kyua/utils/process/executor.cpp            |   2 +
 contrib/kyua/utils/process/executor_pid_test.cpp   | 208 -----
 contrib/kyua/utils/process/executor_test.cpp       |  23 +-
 contrib/kyua/utils/process/isolation.cpp           |   2 +-
 contrib/kyua/utils/process/operations.cpp          |   3 +-
 contrib/kyua/utils/process/operations.hpp          |   6 +-
 contrib/kyua/utils/process/operations_test.cpp     |   4 +-
 contrib/kyua/utils/sanity.hpp                      |   4 +-
 contrib/kyua/utils/signals/Makefile.am.inc         |  73 --
 contrib/kyua/utils/signals/misc_test.cpp           |   2 +-
 contrib/kyua/utils/sqlite/Makefile.am.inc          |  82 --
 contrib/kyua/utils/sqlite/database.hpp             |   1 +
 contrib/kyua/utils/sqlite/test_utils.hpp           |   4 +-
 contrib/kyua/utils/stacktrace.cpp                  |   2 +-
 contrib/kyua/utils/stacktrace_test.cpp             |   9 +-
 contrib/kyua/utils/test_utils.ipp                  |   2 +-
 contrib/kyua/utils/text/Makefile.am.inc            |  74 --
 contrib/kyua/utils/text/operations.ipp             |   1 +
 contrib/kyua/utils/text/regex.cpp                  |   4 +-
 contrib/kyua/utils/text/regex.hpp                  |   1 +
 147 files changed, 3019 insertions(+), 6883 deletions(-)

diff --cc contrib/kyua/FREEBSD-Xlist
index 000000000000,000000000000..06fef93a4024
new file mode 100644
--- /dev/null
+++ b/contrib/kyua/FREEBSD-Xlist
@@@ -1,0 -1,0 +1,12 @@@
++*/*/Makefile*
++*/Makefile*
++*/*.m4
++*/*.pc.in
++INSTALL.md
++Makefile*
++aclocal.m4
++admin/
++config.h.in
++bootstrap/
++configure*
++m4/
diff --cc contrib/kyua/README.md
index eb34c0fd4550,000000000000..e42d6da35377
mode 100644,000000..100644
--- a/contrib/kyua/README.md
+++ b/contrib/kyua/README.md
@@@ -1,84 -1,0 +1,79 @@@
- Welcome to the Kyua project!
- ============================
++# Welcome to the Kyua project!
 +
 +Kyua is a **testing framework** for infrastructure software, originally
 +designed to equip BSD-based operating systems with a test suite.  This
 +means that Kyua is lightweight and simple, and that Kyua integrates well
 +with various build systems and continuous integration frameworks.
 +
 +Kyua features an **expressive test suite definition language**, a **safe
 +runtime engine** for test suites and a **powerful report generation
 +engine**.
 +
 +Kyua is for **both developers *and* users**, from the developer applying a
 +simple fix to a library to the system administrator deploying a new release
 +on a production machine.
 +
 +Kyua is **able to execute test programs written with a plethora of testing
 +libraries and languages**.  The library of choice is
- [ATF](https://github.com/jmmv/atf/), for which Kyua was originally
++[ATF](https://github.com/freebsd/atf/), for which Kyua was originally
 +designed, but simple, framework-less test programs and TAP-compliant test
 +programs can also be executed through Kyua.
 +
 +Kyua is licensed under a **[liberal BSD 3-clause license](LICENSE)**.
 +This is not an official Google product.
 +
 +[Read more about Kyua in the About wiki page.](../../wiki/About)
 +
 +
- Download
- --------
++## Download
 +
- The latest version of Kyua is 0.13 and was released on August 26th, 2016.
++The latest version of Kyua is 0.14.1 and was released on March 29th, 2025.
 +
- Download: [kyua-0.13](../../releases/tag/kyua-0.13).
++Download: [kyua-0.14.1](../../releases/tag/kyua-0.14.1).
 +
- See the [release notes](NEWS.md) for information about the changes in this
++See the [release notes](NEWS) for information about the changes in this
 +and all previous releases.
 +
 +
- Installation
- ------------
++## Installation
 +
 +You are encouraged to install binary packages for your operating system
 +wherever available:
 +
- * Fedora 20 and above: install the `kyua-cli` package with `yum install
-   kyua-cli`.
++* Fedora 20 and above: install the `kyua` package with `dnf install
++  kyua`.
 +
 +* FreeBSD 10.0 and above: install the `kyua` package with `pkg install kyua`.
 +
 +* NetBSD with pkgsrc: install the `pkgsrc/devel/kyua` package.
 +
 +* OpenBSD with packages: install the `kyua` package with `pkg_add kyua`.
 +
- * OS X (with Homebrew): install the `kyua` package with `brew install kyua`.
++* macOS (with Homebrew): install the `kyua` package with `brew install kyua`.
 +
 +Should you want to build and install Kyua from the source tree provided
 +here, follow the instructions in the
 +[INSTALL.md file](INSTALL.md).
 +
 +You should also install the ATF libraries to assist in the development of
 +test programs.  To that end, see the
- [ATF project page](https://github.com/jmmv/atf/).
++[ATF project page](https://github.com/freebsd/atf/).
 +
 +
- Contributing
- ------------
++## Contributing
 +
 +Want to contribute?  Great!  But please first read the guidelines provided
 +in [CONTRIBUTING.md](CONTRIBUTING.md).
 +
 +If you are curious about who made this project possible, you can check out
 +the [list of copyright holders](AUTHORS) and the [list of
 +individuals](CONTRIBUTORS).
 +
 +
- Support
- -------
++## Support
 +
 +Please use the [kyua-discuss mailing
 +list](https://groups.google.com/forum/#!forum/kyua-discuss) for any support
 +inquiries.
 +
- *Homepage:* https://github.com/jmmv/kyua/
++*Homepage:* https://github.com/freebsd/kyua/
diff --cc contrib/kyua/config.h
index 000000000000,000000000000..d2e8728dde38
new file mode 100644
--- /dev/null
+++ b/contrib/kyua/config.h
@@@ -1,0 -1,0 +1,139 @@@
++/* config.h.  Generated from config.h.in by configure.  */
++/* config.h.in.  Generated from configure.ac by autoheader.  */
++
++/* Define to the optind value to reset getopt processing */
++#define GETOPT_OPTIND_RESET_VALUE 1
++
++/* define if the compiler supports basic C++20 syntax */
++#define HAVE_CXX20 1
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++
++/* Define to 1 if getcwd(NULL, 0) works */
++#define HAVE_GETCWD_DYN 1
++
++/* Define to 1 if getopt allows a + sign for POSIX behavior */
++/* #undef HAVE_GETOPT_GNU */
++
++/* Define to 1 if getopt has optreset */
++#define HAVE_GETOPT_WITH_OPTRESET 1
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the 'putenv' function. */
++#define HAVE_PUTENV 1
++
++/* Define to 1 if you have the 'setenv' function. */
++#define HAVE_SETENV 1
++
++/* Define to 1 if you have the 'statfs' function. */
++#define HAVE_STATFS 1
++
++/* Define to 1 if you have the 'statvfs' function. */
++#define HAVE_STATVFS 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdio.h> header file. */
++#define HAVE_STDIO_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the 'sysctlbyname' function. */
++#define HAVE_SYSCTLBYNAME 1
++
++/* Define to 1 if you have the <sys/mount.h> header file. */
++#define HAVE_SYS_MOUNT_H 1
++
++/* Define to 1 if you have the <sys/param.h> header file. */
++#define HAVE_SYS_PARAM_H 1
++
++/* Define to 1 if you have the <sys/statvfs.h> header file. */
++#define HAVE_SYS_STATVFS_H 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/sysctl.h> header file. */
++#define HAVE_SYS_SYSCTL_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define to 1 if you have the <sys/vfs.h> header file. */
++/* #undef HAVE_SYS_VFS_H */
++
++/* Define to 1 if you have the <termios.h> header file. */
++#define HAVE_TERMIOS_H 1
++
++/* Define to 1 if you have the 'umount' function. */
++/* #undef HAVE_UMOUNT */
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Define to 1 if you have the 'unmount' function. */
++#define HAVE_UNMOUNT 1
++
++/* Define to 1 if you have the 'unsetenv' function. */
++#define HAVE_UNSETENV 1
++
++/* Define to 1 if your lchmod works */
++#define HAVE_WORKING_LCHMOD 1
++
++/* Name of the system architecture (aka processor type) */
++/* #undef KYUA_ARCHITECTURE */
++
++/* Name of the system platform (aka machine name) */
++/* #undef KYUA_PLATFORM */
++
++/* Define to the last valid signal number */
++#define LAST_SIGNO 128
++
++/* Define to the sub-directory where libtool stores uninstalled libraries. */
++#define LT_OBJDIR ".libs/"
++
++/* Define to the name of the sysctl MIB */
++#define MEMORY_QUERY_SYSCTL_MIB "hw.usermem"
++
++/* Define to the memory query type */
++#define MEMORY_QUERY_TYPE "sysctlbyname"
++
++/* Name of package */
++#define PACKAGE "kyua"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT "freebsd-testing@FreeBSD.org"
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME "Kyua"
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING "Kyua 0.15.0"
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME "kyua"
++
++/* Define to the home page for this package. */
++#define PACKAGE_URL "https://github.com/freebsd/kyua/"
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION "0.15.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 "0.15.0"
diff --cc contrib/kyua/engine/execenv/execenv_fwd.hpp
index 000000000000,ddbb2c3bb40f..ddbb2c3bb40f
mode 000000,100644..100644
--- a/contrib/kyua/engine/execenv/execenv_fwd.hpp
+++ b/contrib/kyua/engine/execenv/execenv_fwd.hpp
diff --cc contrib/kyua/engine/googletest.cpp
index 000000000000,e050410ba1f5..e050410ba1f5
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest.cpp
+++ b/contrib/kyua/engine/googletest.cpp
diff --cc contrib/kyua/engine/googletest.hpp
index 000000000000,9628f994a066..9628f994a066
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest.hpp
+++ b/contrib/kyua/engine/googletest.hpp
diff --cc contrib/kyua/engine/googletest_helpers.cpp
index 000000000000,129a08a89b7c..129a08a89b7c
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_helpers.cpp
+++ b/contrib/kyua/engine/googletest_helpers.cpp
diff --cc contrib/kyua/engine/googletest_list.cpp
index 000000000000,f231cb9e7021..f231cb9e7021
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_list.cpp
+++ b/contrib/kyua/engine/googletest_list.cpp
diff --cc contrib/kyua/engine/googletest_list_test.cpp
index 000000000000,5052c2f133ad..5052c2f133ad
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_list_test.cpp
+++ b/contrib/kyua/engine/googletest_list_test.cpp
diff --cc contrib/kyua/engine/googletest_result.cpp
index 000000000000,a1fc1f72da4d..a1fc1f72da4d
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_result.cpp
+++ b/contrib/kyua/engine/googletest_result.cpp
diff --cc contrib/kyua/engine/googletest_result.hpp
index 000000000000,325995be3221..325995be3221
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_result.hpp
+++ b/contrib/kyua/engine/googletest_result.hpp
diff --cc contrib/kyua/engine/googletest_result_fwd.hpp
index 000000000000,6f41c75a0b3f..6f41c75a0b3f
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_result_fwd.hpp
+++ b/contrib/kyua/engine/googletest_result_fwd.hpp
diff --cc contrib/kyua/engine/googletest_result_test.cpp
index 000000000000,90bc2cc62b7d..90bc2cc62b7d
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_result_test.cpp
+++ b/contrib/kyua/engine/googletest_result_test.cpp
diff --cc contrib/kyua/engine/googletest_test.cpp
index 000000000000,3af4d6801e70..3af4d6801e70
mode 000000,100644..100644
--- a/contrib/kyua/engine/googletest_test.cpp
+++ b/contrib/kyua/engine/googletest_test.cpp

From nobody Wed Oct  7 17:57: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 4j0LRs6Tsjz4n4td
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 17:57: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0LRs5sB6z4kwG
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:57:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791395833;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ksieASh/tbWf3K+mbafHB3rDdSYysehxn/oLzK9Baa8=;
	b=WwQ2xrjiVzRqu+lLMIiJJayPlwtg+WoUU2kTfduXRg35jc0jJueVPTjUYsvoNMvXbTkS+w
	TzoptUiI/Hpl1sI3AM/HuVsD1g/Klzcgd5nzAB6NzH3ZCC1Y4OYqLz1rGkxjKpfr8zEz6D
	l7F8Ko+PY3jsz7WUnHnK36NsZ/3DSQ0YPmRKD55+RisAPpXeeET6Rv6BXe9WG4W9pkp7/e
	0dujD/o9+vtXWk1Z3i4sNxxjLhrRW5aaGEKroIzwpqd6MDDNr1uNXmhkBdUi8/320YjUgG
	2zjHMjI7P3IiAY5B4xIQhr8/3fRKQPox+2y2tu8YlBx+CeUhJO6blgZax2TgJQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791395833;
	b=cslSM8jTEfG210DyVyzP9xKTrjb137mStxR/nTPhV1P1Mo9vR+NNMJv7tpBq5d7zoIQzvY
	MeUqtE+2AYbtfAwxripLS70brOAOgpy8+FCcsSIfDy0mvzOZRk3QW6ZXtKzGJTdi/74lTK
	o/uv4NWTa0qGZhAr/p4kkFW4y6JK8t8fSiiDUJ5mSFu6lQqoxM70g+TtDafltXBh4OILMq
	w3hCo1o3YpCU7DmE8g7CtvVy3pabpFhKRN/VX4oZEuGDanFMF7Rc+FvuVMS/FKJtaFTGO1
	wELJS5XXr4LgMF2GRYoQcdeafAAVkzepooKmPy1k8udnZECnZBEzx5v8GN0TSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791395833;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ksieASh/tbWf3K+mbafHB3rDdSYysehxn/oLzK9Baa8=;
	b=iVi30ztXyPVcukhUodAfJ2PxaWQ1Zz6ctg2A9W11ZaA6QwmJA2i6341B30xHnx86luczmV
	kasKVe3aVCCUyOOcAhZan9Dma1PvPgRGo04OoIDiRhzFYd/YmicaI25B/ohKvwpK782f2B
	Obo3Hjt66gFaZ81/C7ri+xLUEEJXYw9tmZnSYkzy8P+j0rglJxLOV2l34tprWpS/Db2TQY
	SOpHopBKLpQPfIgKl9UxYQUM0wIvjTC+8YCErIYgl5vqR0KuJfQy9uE5bdw03lyXSiwEYQ
	ynjpekjdB4u2Xva3b9IVXVDV41IBn/RSeJyHZrpxcJrIZ2MjR+UbW/LXhCYvWg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0LRs4v9Dz13d0
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 17:57:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3ab67
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 17:57:13 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: b836604e126d - main - contrib/kyua: commit Makefile changes for version update
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: b836604e126d5b3d0d3dee5da6c4168d3ec43fea
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 17:57:13 +0000
Message-Id: <6ac687f9.3ab67.36916cd3@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit b836604e126d5b3d0d3dee5da6c4168d3ec43fea
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-07 17:55:21 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-07 17:55:21 +0000

    contrib/kyua: commit Makefile changes for version update
    
    This was accidentally missed in the version update.
    
    MFC after:      1 month
    Fixes: eb8f69902 ("contrib/kyua: update to 0.15.0")
---
 usr.bin/kyua/Makefile | 25 ++++---------------------
 1 file changed, 4 insertions(+), 21 deletions(-)

diff --git a/usr.bin/kyua/Makefile b/usr.bin/kyua/Makefile
index 083f3a8ec038..a761ebd8b974 100644
--- a/usr.bin/kyua/Makefile
+++ b/usr.bin/kyua/Makefile
@@ -5,7 +5,6 @@ KYUA_DOCDIR=	/usr/share/doc/kyua
 KYUA_EGDIR=	/usr/share/examples/kyua
 KYUA_MISCDIR=	/usr/share/kyua/misc
 KYUA_STOREDIR=	/usr/share/kyua/store
-KYUA_VERSION=	0.13
 
 KYUA_SRCDIR=	${SRCTOP}/contrib/kyua
 .PATH: ${KYUA_SRCDIR}
@@ -15,6 +14,7 @@ PROG_CXX=	kyua
 SRCS=		main.cpp
 LIBADD=		lutok sqlite3 util
 
+.PATH: ${KYUA_SRCDIR}/doc
 MAN=		kyua-about.1 \
 		kyua-config.1 \
 		kyua-db-exec.1 \
@@ -44,10 +44,6 @@ CFLAGS+=	-DGDB=\"/usr/local/bin/gdb\"			\
 		-DKYUA_MISCDIR=\"${KYUA_MISCDIR}\"		\
 		-DKYUA_PLATFORM=\"${MACHINE}\"			\
 		-DKYUA_STOREDIR=\"${KYUA_STOREDIR}\"		\
-		-DPACKAGE=\"kyua\"				\
-		-DPACKAGE_NAME=\"Kyua\"				\
-		-DPACKAGE_VERSION=\"${KYUA_VERSION}\"		\
-		-DVERSION=\"${KYUA_VERSION}\"
 
 CXXWARNFLAGS.gcc+=	-Wno-free-nonheap-object
 
@@ -120,6 +116,9 @@ SRCS+=	engine/atf.cpp			\
 	engine/config.cpp		\
 	engine/exceptions.cpp		\
 	engine/filters.cpp		\
+	engine/googletest.cpp		\
+	engine/googletest_list.cpp	\
+	engine/googletest_result.cpp	\
 	engine/kyuafile.cpp		\
 	engine/plain.cpp		\
 	engine/requirements.cpp		\
@@ -209,20 +208,4 @@ STOREDIR=	${KYUA_STOREDIR}
 STORETAGS=	package=kyua
 .PATH:		${KYUA_SRCDIR}/store
 
-CLEANFILES+=	${MAN}
-.PATH: ${KYUA_SRCDIR}/doc
-.for man in ${MAN}
-${man}: ${man}.in
-	sh ${KYUA_SRCDIR}/doc/manbuild.sh \
-	    -v "CONFDIR=${KYUA_CONFDIR}" \
-	    -v "DOCDIR=${KYUA_DOCDIR}" \
-	    -v "EGDIR=${KYUA_EGDIR}" \
-	    -v "MISCDIR=${KYUA_MISCDIR}" \
-	    -v "PACKAGE=kyua" \
-	    -v "STOREDIR=${KYUA_STOREDIR}" \
-	    -v "TESTSDIR=${TESTSBASE}" \
-	    -v "VERSION=${KYUA_VERSION}" \
-	    ${.ALLSRC} ${.TARGET}
-.endfor
-
 .include <bsd.prog.mk>

From nobody Wed Oct  7 18:05: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 4j0Lcx1CmMz4n5sb
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 18:05:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0Lcx0tRgz4m9D
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 18:05:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791396305;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=4Bi4LbdXPVSPFh5NgqT5wICHSJR0gAn+K9AZsZgrk6E=;
	b=ZTDWGViP0udLQ0xfs4mquNxUc+klj4/KTrlKQuKSavqyzd095IkpbIYb4OtiWusa9MNVvR
	qU6s6ofreHa+pmuktWJhGa/128igEciXizK3QIKOxPpiALD+KtdaPAgykis4F7sYW23Pyr
	Nnl0SFhR1cveyzt5tChtxcxonHcR2J6CdFn05Pk73Kw339Od7I2rvP4IeLI5zunQxVPDel
	aNOVpzDIWNDGdMXTPKlc/XYy7o6UtuMrKaSbJeQhPGumq6jF3LPTs/erg9p5k7WUabffY3
	INlJUdQUg/IydpmvS4NP8/TsDxkNABjPTcR/7wsia618Uph+xkb4oSiMkSXB+w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791396305;
	b=mnl5O3FbtP2SGQSPP1s9zAhsmHPpTntgBUB9w2x4+YGAkLnEUALYUsU458cWVahRmpHZx/
	IYRq7Sd4+F4ClVKnu3bBNXqNy6VG3v83vUSBJKEmcz2h/b5uhW90Cna0vPcdSWWUVptmtR
	mVkXyNigB8yT16AHn0tV72OE0PNTea7O2Dzac/+yVgq+bEdz5zmSok+T5NBSjWm+ebO756
	xfNKINJMIODrCRL8mVmFPPR7EWBcO/liS0l+PPwG4dtJ9rqo+nJ9lP7iiMWjnSbOO4Uaio
	M5zI+MflViRNsldHKMWxQFAa7hoWWM8EtMFgLgseJTv9Lis2ZMzVjzfjhseDhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791396305;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=4Bi4LbdXPVSPFh5NgqT5wICHSJR0gAn+K9AZsZgrk6E=;
	b=pvv7LVsHNDNeOzLviXEKRBhmKBz5pANK9tUXQXnXgZW1G3zJ2t9DwWfA1krviAYei5wuf2
	p9sxLrO/69b2X42G1P3aTwXRry7urO5upY3AnJDR0qNGL0nscr6alNSIOF7uVIFRsAPegG
	0spUxoN5b+1ILnQ/dJmUseDj2ej9DVSu1n4PMn9mR0rqExBJ2oD7ri7/J/zPOaberL3vX/
	4iAMcs/jmBdaBybdoRo64y3GLbrEznykXLtsYfyZkAYM7SyEyIYr7Sy0u14TXrLEpXR4zo
	GXWnUzb38JISKjtoEgGufRMluc6cOr8FhDJXNysN5gF0E5nGmZjhOQA50kpYfQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0Lcw6nqqz13kL
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 18:05:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3cac4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 18:05:04 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: 26eb328b52c3 - main - contrib/kyua: commit generated files
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: 26eb328b52c3ec0ff79c8914b1993dfad03a0a7d
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 18:05:04 +0000
Message-Id: <6ac689d0.3cac4.7b189af0@gitrepo.freebsd.org>

The branch main has been updated by ngie:

URL: https://cgit.FreeBSD.org/src/commit/?id=26eb328b52c3ec0ff79c8914b1993dfad03a0a7d

commit 26eb328b52c3ec0ff79c8914b1993dfad03a0a7d
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-07 18:04:21 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-07 18:04:21 +0000

    contrib/kyua: commit generated files
    
    MFC after:      1 month
    Fixes: eb8f69902 ("contrib/kyua: update to 0.15.0")
---
 contrib/kyua/doc/kyua-about.1        |  95 ++++++
 contrib/kyua/doc/kyua-config.1       |  59 ++++
 contrib/kyua/doc/kyua-db-exec.1      | 199 ++++++++++++
 contrib/kyua/doc/kyua-db-migrate.1   | 182 +++++++++++
 contrib/kyua/doc/kyua-debug.1        | 417 +++++++++++++++++++++++++
 contrib/kyua/doc/kyua-help.1         |  64 ++++
 contrib/kyua/doc/kyua-list.1         | 232 ++++++++++++++
 contrib/kyua/doc/kyua-report-html.1  | 253 +++++++++++++++
 contrib/kyua/doc/kyua-report-junit.1 | 237 +++++++++++++++
 contrib/kyua/doc/kyua-report.1       | 307 +++++++++++++++++++
 contrib/kyua/doc/kyua-test.1         | 498 ++++++++++++++++++++++++++++++
 contrib/kyua/doc/kyua.1              | 405 ++++++++++++++++++++++++
 contrib/kyua/doc/kyua.conf.5         | 150 +++++++++
 contrib/kyua/doc/kyuafile.5          | 574 +++++++++++++++++++++++++++++++++++
 14 files changed, 3672 insertions(+)

diff --git a/contrib/kyua/doc/kyua-about.1 b/contrib/kyua/doc/kyua-about.1
new file mode 100644
index 000000000000..ba3041f14447
--- /dev/null
+++ b/contrib/kyua/doc/kyua-about.1
@@ -0,0 +1,95 @@
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Dd May 20, 2015
+.Dt KYUA-ABOUT 1
+.Os
+.Sh NAME
+.Nm "kyua about"
+.Nd show detailed authors, license, and version information
+.Sh SYNOPSIS
+.Nm
+.Op Ar authors | license | version
+.Sh DESCRIPTION
+The
+.Sq about
+command provides generic information about the
+.Xr kyua 1
+tool.
+In the default synopsis form (no arguments), the information printed
+includes:
+.Bl -enum
+.It
+The name of the package, which is
+.Sq kyua .
+.It
+The version number, which is
+.Sq 0.15.0 .
+.It
+License information.
+.It
+Authors information.
+.It
+A link to the project web site.
+.El
+.Pp
+You can customize the information printed by this command by specifying
+the desired topic as the single argument to the command.
+This can be one of:
+.Bl -tag -width authorsXX
+.It Ar authors
+Displays the list of authors and contributors only.
+.It Ar license
+Displays the license information and the list of copyrights.
+.It Ar version
+Displays the package name and the version number in a format that is
+compatible with the output of GNU tools that support a
+.Fl -version
+flag.
+Use this whenever you have to query the version number of the package.
+.El
+.Sh FILES
+The following files are read by the
+.Nm
+command:
+.Bl -tag -width XX
+.It Pa /usr/share/doc/kyua/AUTHORS
+List of authors (aka copyright holders).
+.It Pa /usr/share/doc/kyua/CONTRIBUTORS
+List of contributors (aka individuals that have contributed to the project).
+.It Pa /usr/share/doc/kyua/LICENSE
+License information.
+.El
+.Sh EXIT STATUS
+The
+.Nm
+command always returns 0.
+.Pp
+Additional exit codes may be returned as described in
+.Xr kyua 1 .
+.Sh SEE ALSO
+.Xr kyua 1
diff --git a/contrib/kyua/doc/kyua-config.1 b/contrib/kyua/doc/kyua-config.1
new file mode 100644
index 000000000000..ae08ad9e013a
--- /dev/null
+++ b/contrib/kyua/doc/kyua-config.1
@@ -0,0 +1,59 @@
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Dd September 9, 2012
+.Dt KYUA-CONFIG 1
+.Os
+.Sh NAME
+.Nm "kyua config"
+.Nd inspect the values of the loaded configuration
+.Sh SYNOPSIS
+.Nm
+.Op Ar variable1 .. variableN
+.Sh DESCRIPTION
+The
+.Nm
+command provides a way to list all defined configuration variables and
+their current values.
+.Pp
+This command is intended to help you in resolving the values of the
+configuration variables without having to scan over configuration files.
+.Pp
+In the default synopsis form (no arguments), the command prints all
+configuration variables.
+If any arguments are provided, the command will only print the
+requested variables.
+.Sh EXIT STATUS
+The
+.Nm
+command returns 0 on success or 1 if any of the specified configuration
+variables does not exist.
+.Pp
+Additional exit codes may be returned as described in
+.Xr kyua 1 .
+.Sh SEE ALSO
+.Xr kyua 1
diff --git a/contrib/kyua/doc/kyua-db-exec.1 b/contrib/kyua/doc/kyua-db-exec.1
new file mode 100644
index 000000000000..8769ac534aa3
--- /dev/null
+++ b/contrib/kyua/doc/kyua-db-exec.1
@@ -0,0 +1,199 @@
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Dd October 13, 2014
+.Dt KYUA-DB-EXEC 1
+.Os
+.Sh NAME
+.Nm "kyua db-exec"
+.Nd execute a SQL statement in a results file
+.Sh SYNOPSIS
+.Nm
+.Op Fl -no-headers
+.Op Fl -results-file Ar file
+.Ar statement
+.Sh DESCRIPTION
+The
+.Nm
+command provides a way to execute an arbitrary SQL statement within the
+database.
+This command is mostly intended to aid in debugging, but can also be used to
+extract information from the database when the current interfaces do not
+provide the desired functionality.
+.Pp
+The input database must exist.
+It makes no sense to use
+.Nm
+on a nonexistent or empty database.
+.Pp
+The
+.Nm
+command takes one or more arguments, all of which are concatenated to form
+a single SQL statement.
+Once the statement is executed,
+.Nm
+prints the resulting table on the screen, if any.
+.Pp
+The following subcommand options are recognized:
+.Bl -tag -width XX
+.It Fl -no-headers
+Avoids printing the headers of the table in the output of the command.
+.It Fl -results-file Ar path , Fl r Ar path
+.\" Copyright 2014 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+Specifies the results file to operate on.
+Defaults to
+.Sq LATEST ,
+which causes
+.Nm
+to automatically load the latest results file from the current test suite.
+.Pp
+The following values are accepted:
+.Bl -tag -width XX
+.It Sq LATEST
+Requests the load of the latest results file available for the test suite rooted
+at the current directory.
+.It Directory
+Requests the load of the latest results file available for the test suite rooted
+at the given directory.
+.It Test suite name
+Requests the load of the latest results file available for the given test suite.
+.It Results identifier
+Requests the load of a specific results file.
+.It Explicit file name (aka everything else)
+Load the specified results file.
+.El
+.Pp
+See
+.Sx Results files
+for more details.
+.El
+.Ss Results files
+.\" Copyright 2014 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+Results files contain, as their name implies, the results of the execution of a
+test suite.
+Each test suite executed by
+.Xr kyua-test 1
+generates a new results file, and such results files can be loaded later on by
+inspection commands such as
+.Xr kyua-report 1
+to analyze their contents.
+.Pp
+Results files support identifier-based lookups and also path name lookups.
+The differences between the two are described below.
+.Pp
+The default naming scheme for the results files provides simple support for
+identifier-based lookups and historical recording of test suite runs.
+Each results file is given an identifier derived from the test suite that
+generated it and the time the test suite was run.
+Kyua can later look up results files by these fields.
+.Pp
+The identifier follows this pattern:
+.Bd -literal -offset indent
+\*(Lttest_suite\*(Gt.\*(LtYYYYMMDD\*(Gt-\*(LtHHMMSS\*(Gt-\*(Ltuuuuuu\*(Gt
+.Ed
+.Pp
+where
+.Sq test_suite
+is the path to the root of the test suite that was run with all slashes replaced
+by underscores and
+.Sq YYYYMMDD-HHMMSS-uuuuuu
+is a timestamp with microsecond resolution.
+.Pp
+When using the default naming scheme, results files are stored in the
+.Pa ~/.kyua/store/
+subdirectory and each file holds a name of the form:
+.Bd -literal -offset indent
+~/.kyua/store/results.\*(Ltidentifier\*(Gt.db
+.Ed
+.Pp
+Results files are simple SQLite databases with the schema described in the
+.Pa /usr/share/kyua/store/schema_v?.sql
+files.
+For details on the schema, please refer to the heavily commented SQL file.
+.Sh EXIT STATUS
+The
+.Nm
+command returns 0 on success or 1 if the SQL statement is invalid or fails
+to run.
+.Pp
+Additional exit codes may be returned as described in
+.Xr kyua 1 .
+.Sh SEE ALSO
+.Xr kyua 1 ,
+.Xr kyua-test 1
diff --git a/contrib/kyua/doc/kyua-db-migrate.1 b/contrib/kyua/doc/kyua-db-migrate.1
new file mode 100644
index 000000000000..177dd0795d10
--- /dev/null
+++ b/contrib/kyua/doc/kyua-db-migrate.1
@@ -0,0 +1,182 @@
+.\" Copyright 2013 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Dd October 13, 2014
+.Dt KYUA-DB-MIGRATE 1
+.Os
+.Sh NAME
+.Nm "kyua db-migrate"
+.Nd upgrade the schema of an existing results file
+.Sh SYNOPSIS
+.Nm
+.Op Fl -results-file Ar file
+.Sh DESCRIPTION
+The
+.Nm
+command migrates the schema of an existing database to the latest
+version implemented in
+.Xr kyua 1 .
+.Pp
+This operation is not reversible.
+However, a backup of the database is created in the same directory where the
+database lives.
+.Pp
+The following subcommand options are recognized:
+.Bl -tag -width XX
+.It Fl -results-file Ar path , Fl r Ar path
+.\" Copyright 2014 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+Specifies the results file to operate on.
+Defaults to
+.Sq LATEST ,
+which causes
+.Nm
+to automatically load the latest results file from the current test suite.
+.Pp
+The following values are accepted:
+.Bl -tag -width XX
+.It Sq LATEST
+Requests the load of the latest results file available for the test suite rooted
+at the current directory.
+.It Directory
+Requests the load of the latest results file available for the test suite rooted
+at the given directory.
+.It Test suite name
+Requests the load of the latest results file available for the given test suite.
+.It Results identifier
+Requests the load of a specific results file.
+.It Explicit file name (aka everything else)
+Load the specified results file.
+.El
+.Pp
+See
+.Sx Results files
+for more details.
+.El
+.Ss Results files
+.\" Copyright 2014 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+Results files contain, as their name implies, the results of the execution of a
+test suite.
+Each test suite executed by
+.Xr kyua-test 1
+generates a new results file, and such results files can be loaded later on by
+inspection commands such as
+.Xr kyua-report 1
+to analyze their contents.
+.Pp
+Results files support identifier-based lookups and also path name lookups.
+The differences between the two are described below.
+.Pp
+The default naming scheme for the results files provides simple support for
+identifier-based lookups and historical recording of test suite runs.
+Each results file is given an identifier derived from the test suite that
+generated it and the time the test suite was run.
+Kyua can later look up results files by these fields.
+.Pp
+The identifier follows this pattern:
+.Bd -literal -offset indent
+\*(Lttest_suite\*(Gt.\*(LtYYYYMMDD\*(Gt-\*(LtHHMMSS\*(Gt-\*(Ltuuuuuu\*(Gt
+.Ed
+.Pp
+where
+.Sq test_suite
+is the path to the root of the test suite that was run with all slashes replaced
+by underscores and
+.Sq YYYYMMDD-HHMMSS-uuuuuu
+is a timestamp with microsecond resolution.
+.Pp
+When using the default naming scheme, results files are stored in the
+.Pa ~/.kyua/store/
+subdirectory and each file holds a name of the form:
+.Bd -literal -offset indent
+~/.kyua/store/results.\*(Ltidentifier\*(Gt.db
+.Ed
+.Pp
+Results files are simple SQLite databases with the schema described in the
+.Pa /usr/share/kyua/store/schema_v?.sql
+files.
+For details on the schema, please refer to the heavily commented SQL file.
+.Sh EXIT STATUS
+The
+.Nm
+command returns 0 on success or 1 if the migration fails.
+.Pp
+Additional exit codes may be returned as described in
+.Xr kyua 1 .
+.Sh SEE ALSO
+.Xr kyua 1
diff --git a/contrib/kyua/doc/kyua-debug.1 b/contrib/kyua/doc/kyua-debug.1
new file mode 100644
index 000000000000..760cf097a349
--- /dev/null
+++ b/contrib/kyua/doc/kyua-debug.1
@@ -0,0 +1,417 @@
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Dd April 18, 2026
+.Dt KYUA-DEBUG 1
+.Os
+.Sh NAME
+.Nm "kyua debug"
+.Nd execute a single test case with facilities for debugging
+.Sh SYNOPSIS
+.Nm
+.Op Fl -build-root Ar path
+.Op Fl -kyuafile Ar file
+.Op Fl -pause-before-cleanup-upon-fail
+.Op Fl -pause-before-cleanup
+.Op Fl -stdout Ar path
+.Op Fl -stderr Ar path
+.Ar test_case
+.Sh DESCRIPTION
+The
+.Nm
+command provides a mechanism to execute a single test case bypassing some
+of the Kyua infrastructure and allowing the user to poke into the execution
+behavior of the test.
+.Pp
+The test case to run is selected by providing a test filter, described below in
+.Sx Test filters ,
+that matches a single test case.
+The test case is executed and its result is printed as the last line of the
+output of the tool.
+.Pp
+The test executed by
+.Nm
+is run under a controlled environment as described in
+.Sx Test isolation .
+.Pp
+At the moment, the
+.Nm
+command allows the following aspects of a test case execution to be
+tweaked:
+.Bl -bullet
+.It
+Redirection of the test case's stdout and stderr to the console (the
+default) or to arbitrary files.
+See the
+.Fl -stdout
+and
+.Fl -stderr
+options below.
+.El
+.Pp
+The following subcommand options are recognized:
+.Bl -tag -width XX
+.It Fl -build-root Ar path
+Specifies the build root in which to find the test programs referenced
+by the Kyuafile, if different from the Kyuafile's directory.
+See
+.Sx Build directories
+below for more information.
+.It Fl -kyuafile Ar file , Fl k Ar file
+Specifies the Kyuafile to process.
+Defaults to
+.Pa Kyuafile
+file in the current directory.
+.It Fl -pause-before-cleanup-upon-fail , Fl p
+Causes Kyua to pause right before the test cleanup routine is invoked if the
+test fails.
+When paused, Kyua waits for input on stdin, and any key press resumes
+execution.
+.sp
+This can be useful for debugging system or end-to-end tests
+which alter the system by creating artifacts such as files, network
+interfaces, routing entries, firewall configuration, containers, etc.
+This flag makes it possible to preserve such artifacts immediately after a test
+failure, simplifying debugging.
+Otherwise, these artifacts would be removed by the test cleanup routine or
+by Kyua built-in cleanup mechanism.
+.It Fl -pause-before-cleanup , Fl P
+The unconditional variant of the previous option.
+This can be helpful for reproducing the infrastructure or fixture of a passing
+test for further development or additional analysis.
+.It Fl -stderr Ar path
+Specifies the file to which to send the standard error of the test
+program's body.
+The default is
+.Pa /dev/stderr ,
+which is a special character device that redirects the output to
+standard error on the console.
+.It Fl -stdout Ar path
+Specifies the file to which to send the standard output of the test
+program's body.
+The default is
+.Pa /dev/stdout ,
+which is a special character device that redirects the output to
+standard output on the console.
+.El
+.Pp
+For example, consider the following Kyua session:
+.Bd -literal -offset indent
+$ kyua test
+kernel/fs:mkdir  ->  passed
+kernel/fs:rmdir  ->  failed: Invalid argument
+
+1/2 passed (1 failed)
+.Ed
+.Pp
+At this point, we do not have a lot of information regarding the
+failure of the
+.Sq kernel/fs:rmdir
+test.
+We can run this test through the
+.Nm
+command to inspect its output a bit closer, hoping that the test case is
+kind enough to log its progress:
+.Bd -literal -offset indent
+$ kyua debug kernel/fs:rmdir
+Trying rmdir('foo')
+Trying rmdir(NULL)
+kernel/fs:rmdir  ->  failed: Invalid argument
+.Ed
+.Pp
+Luckily, the offending test case was printing status lines as it
+progressed, so we could see the last attempted call and we can know match
+the failure message to the problem.
+.Ss Build directories
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+.Em Build directories
+(or object directories, target directories, product directories, etc.) is
+the concept that allows a developer to keep the source tree clean from
+build products by asking the build system to place such build products
+under a separate subtree.
+.Pp
+Most build systems today support build directories.
+For example, the GNU Automake/Autoconf build system exposes such concept when
+invoked as follows:
+.Bd -literal -offset indent
+$ cd my-project-1.0
+$ mkdir build
+$ cd build
+$ ../configure
+$ make
+.Ed
+.Pp
+Under such invocation, all the results of the build are left in the
+.Pa my-project-1.0/build/
+subdirectory while maintaining the contents of
+.Pa my-project-1.0/
+intact.
+.Pp
+Because build directories are an integral part of most build systems, and
+because they are a tool that developers use frequently,
+.Nm
+supports build directories too.
+This manifests in the form of
+.Nm
+being able to run tests from build directories while reading the (often
+immutable) test suite definition from the source tree.
+.Pp
+One important property of build directories is that they follow (or need to
+follow) the exact same layout as the source tree.
+For example, consider the following directory listings:
+.Bd -literal -offset indent
+src/Kyuafile
+src/bin/ls/
+src/bin/ls/Kyuafile
+src/bin/ls/ls.c
+src/bin/ls/ls_test.c
+src/sbin/su/
+src/sbin/su/Kyuafile
+src/sbin/su/su.c
+src/sbin/su/su_test.c
+
+obj/bin/ls/
+obj/bin/ls/ls*
+obj/bin/ls/ls_test*
+obj/sbin/su/
+obj/sbin/su/su*
+obj/sbin/su/su_test*
+.Ed
+.Pp
+Note how the directory layout within
+.Pa src/
+matches that of
+.Pa obj/ .
+The
+.Pa src/
+directory contains only source files and the definition of the test suite
+(the Kyuafiles), while the
+.Pa obj/
+directory contains only the binaries generated during a build.
+.Pp
+All commands that deal with the workspace support the
+.Fl -build-root Ar path
+option.
+When this option is provided, the directory specified by the
+option is considered to be the root of the build directory.
+For example, considering our previous fake tree layout, we could invoke
+.Nm
+as any of the following:
+.Bd -literal -offset indent
+$ kyua debug --kyuafile=src/Kyuafile --build-root=obj
+$ cd src && kyua debug --build-root=../obj
+.Ed
+.Ss Test filters
+.\" Copyright 2012 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+A
+.Em test filter
+is a string that is used to match test cases or test programs in a test suite.
+Filters have the following form:
+.Bd -literal -offset indent
+test_program_name[:test_case_name]
+.Ed
+.Pp
+Where
+.Sq test_program_name
+is the name of a test program or a subdirectory in the test suite, and
+.Sq test_case_name
+is the name of a test case.
+.Ss Test isolation
+.\" Copyright 2014 The Kyua Authors.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\"   notice, this list of conditions and the following disclaimer.
+.\" * 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.
+.\" * Neither the name of Google Inc. nor the names of its contributors
+.\"   may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" 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.
+The test programs and test cases run by
+.Nm
+are all executed in a deterministic environment.
+This known, clean environment serves to make the test execution as
+reproducible as possible and also to prevent clashes between tests that may,
+for example, create auxiliary files with overlapping names.
+.Pp
+For plain test programs and for TAP test programs, the whole test program
+is run under a single instance of the environment described in this page.
+For ATF test programs (see
+.Xr atf 7 ) ,
+each individual test case
+.Em and
+test cleanup routine are executed in separate environments.
+.Bl -tag -width XX
+.It Process space
+Each test is executed in an independent processes.
+Corollary: the test can do whatever it wants to the current process (such
+as modify global variables) without having to undo such changes.
+.It Session and process group
+The test is executed in its own session and its own process group.
+There is no controlling terminal attached to the session.
+.Pp
+Should the test spawn any children, the children should maintain the same
+session and process group.
+Modifying any of these settings prevents
+.Nm
+from being able to kill any stray subprocess as part of the cleanup phase.
+If modifying these settings is necessary, or if any subprocess started by
+the test decides to use a different process group or session, it is the
+responsibility of the test to ensure those subprocesses are forcibly
+terminated during cleanup.
+.It Work directory
+The test is executed in a temporary directory automatically created by the
+runtime engine.
+Corollary: the test can write to its current directory
+without needing to clean any files and/or directories it creates.
+The runtime engine takes care to recursively delete the temporary directories
+after the execution of a test case.
+Any file systems mounted within the temporary directory are also unmounted.
+.It Home directory
+The
+.Va HOME
+environment variable is set to the absolute path of the work directory.
+.It Umask
+The value of the umask is set to 0022.
+.It Environment
+The
+.Va LANG ,
+.Va LC_ALL ,
+.Va LC_COLLATE ,
+.Va LC_CTYPE ,
+.Va LC_MESSAGES ,
+.Va LC_MONETARY ,
+.Va LC_NUMERIC
+and
+.Va LC_TIME
+variables are unset.
+.Pp
+The
+.Va TZ
+variable is set to
+.Sq UTC .
+.Pp
+The
+.Va TMPDIR
+variable is set to the absolute path of the work directory.
+This is to prevent the test from mistakenly using a temporary directory
+outside of the automatically-managed work directory, should the test use the
*** 2800 LINES SKIPPED ***

From nobody Wed Oct  7 18:08: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 4j0Lhd61msz4n5hy;
	Wed, 07 Oct 2026 18:08:17 +0000 (UTC)
	(envelope-from glebius@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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0Lhd5XxFz4mhV;
	Wed, 07 Oct 2026 18:08:17 +0000 (UTC)
	(envelope-from glebius@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791396497;
	h=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=etUwusu3KvOzSeWwrup1RKUjd0pKt4tsP+wXCAhh3lo=;
	b=v8HszLJHa2r/xDsWvbwTxQEoeY56iIGGwrgj2NzkrbZK0IvyETs2OBeKKISvdY+mV3CKDR
	69osqzkBza9CCK/yHJb2sqksnPKTCg0oZn2X5Cb/KNxU8OGFzlwcqljNym/UWVAXvyxsoO
	sL//yXKPmwDwOMbQwCU/2JSdwORx+nSEdOHDw2lJBp3KHv+74FneIr3+exxkA9k2EVEHGw
	/PwHVXwNYGcxEDqgqBIHHbik5Tmxa0uEu8uTbBWEGcEOEsb/iEzSOuxLOuQNi8eJcCSjy+
	26Yq5nCocv5Z1/0L3XKL2ghRmMRRmTEuH8A61RMXqCcOflEQCQ/eAomQt0dz8w==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791396497;
	b=xH856UF7jQxgXvvU4Rwdx7S21mA1wL335T77MNGbHZIj/bvMMHRl/l5j0Wc6tiMcNSpD7l
	yIbaV10wA1/7FPE6gZ4ptrkIuIG2j1HHpRPPHFQM+UdzVqctId9A3Ek16XSMa4GIkHz1xF
	ABxDMh9PVxBf53v3MyuU+iJXpcn1Mcw13uLM/y85C2sj/lAy2h+85tEo4ksLOdLxGhvjHU
	Iin/5FpM9Aayasgn9z3Vu6FvHeckxamXZm913/Iv6BKBwXnUAcy3tiObBPBYTFl3TwPBVh
	CA9RzMASOouKmOARTKVeTpXtv6lpzpb0bjrWwpwD3YSrSiveN+R4us/5j+X1cA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791396497;
	h=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=etUwusu3KvOzSeWwrup1RKUjd0pKt4tsP+wXCAhh3lo=;
	b=B+Vyvbup2uaBx6K1ZTMvrteBRwsoshiN2/zMS/XaxSpbm70yJVZIm/+dXr+Y35UMXBwo4b
	cQH5sKFsZdUriVAMU2Rl1QIhfnFCnhyJLcXzKF+0jSNTBOg2ShM+uCIYCbCcwzTsTIxAja
	99pNX5qi6hWKfA6I/nJ4vd+RMdpX/sBLUb5jA143Mf1xrytrXP/gZAb9GLo22vjcyRdzCe
	X1WLanjUB9TIap7/Ol+z/MaPtLd/Tc++hOiuxFZ7unL+WbOCUIQuCEabO5ewOomXZzYxtc
	+JHsPCaHxdDat6TXmPu160Stw5sQ+LLEMGXPadzJ7Qqo7ghH2Iz851jhCeOAnA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
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 4j0Lhd0b8KzlX7;
	Wed, 07 Oct 2026 18:08:16 +0000 (UTC)
	(envelope-from glebius@freebsd.org)
Date: Wed, 7 Oct 2026 11:08:14 -0700
From: Gleb Smirnoff <glebius@freebsd.org>
To: Baptiste Daroussin <bapt@freebsd.org>
Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
	dev-commits-src-main@freebsd.org
Subject: Re: git: 0f1ca95d7740 - main - dhclient-script: store the Captive
 Portal URI
Message-ID: <asaKji548mwjI5x8@cell.glebi.us>
References: <6ac65232.19ad2.1f382395@gitrepo.freebsd.org>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6ac65232.19ad2.1f382395@gitrepo.freebsd.org>

On Wed, Oct 07, 2026 at 02:07:46PM +0000, Baptiste Daroussin wrote:
B> The branch main has been updated by bapt:
B> 
B> URL: https://cgit.FreeBSD.org/src/commit/?id=0f1ca95d7740e0800572ed436fd61e70f76eb6c3
B> 
B> commit 0f1ca95d7740e0800572ed436fd61e70f76eb6c3
B> Author:     Baptiste Daroussin <bapt@FreeBSD.org>
B> AuthorDate: 2026-10-02 19:55:28 +0000
B> Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
B> CommitDate: 2026-10-07 14:07:09 +0000
B> 
B>     dhclient-script: store the Captive Portal URI
B>     
B>     Write the URI received in DHCP option 114 to
B>     /var/run/captive-portal.IFACE atomically, with the legacy option 160 as
B>     a fallback, and remove the file on EXPIRE and FAIL.
...
B> diff --git a/sbin/dhclient/dhclient-script.8 b/sbin/dhclient/dhclient-script.8
B> index dd3efd3e8698..00482da3731c 100644
B> --- a/sbin/dhclient/dhclient-script.8
B> +++ b/sbin/dhclient/dhclient-script.8
B> @@ -36,7 +36,7 @@
B>  .\" see ``http://www.isc.org/isc''.  To learn more about Vixie
B>  .\" Enterprises, see ``http://www.vix.com''.
B>  .\"
B> -.Dd September 6, 2010
B> +.Dd October 5, 2026
B>  .Dt DHCLIENT-SCRIPT 8
B>  .Os
B>  .Sh NAME
B> @@ -142,6 +142,15 @@ in order to make valid shell variables, and the variable names start with
B>  So for example, the new subnet mask would be passed in
B>  .Va $new_subnet_mask .
B>  .Pp
B> +As an exception, the captive portal API URI from DHCP option 114
B> +.Pq see Xr dhcp-options 5
B> +is passed as
B> +.Va $new_captive_portal_url .
B> +When such a URI is received, the script also writes it to
B> +.Pa /var/run/captive-portal. Ns Va $interface
B> +so that it can be discovered by other programs.
B> +The file is removed when the lease expires or is lost.
B> +.Pp
B>  When a binding has been completed, a lot of network parameters are
B>  likely to need to be set up.
B>  A new

Note that URI and URL are two different things.  I'm pretty sure you meant URL
all around in this batch of changes.  The commit messages can't be fixed
anymore, but the dhclient-script.8 should be.

-- 
Gleb Smirnoff

From nobody Wed Oct  7 18: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 4j0LwR2PT0z4n6RL;
	Wed, 07 Oct 2026 18:18:31 +0000 (UTC)
	(envelope-from bapt@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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0LwR1rfBz4ptw;
	Wed, 07 Oct 2026 18:18:31 +0000 (UTC)
	(envelope-from bapt@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791397111;
	h=from:from:reply-to:subject:subject: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=0pPZ+ZVeQvuBYykBUxmwfR/xWgXf2jcwAlrEhoHvvYY=;
	b=ylpZgbSloqO5x4Z7aCy8IuethKaW06AeacreU4vHG3vOYCTQFfcvLUtVoum91ry9LwDmT6
	5uzPAdI/F4bi3afOp0eotAeDGc0nU95pFdDIzymrmg5efmoas1zE/l+IMK81QIAC8tPgv8
	Gd/2YeijZfCpfYKeqwJNDnvtOYilJVb0CT4HdAgZyGEOiHX9MHqMpp6KsLGl/cFPMjebw4
	SLj0o7aZEREK+P7vPkhLR2f7QRnYTvjjLjvh7RqOQpfwKDV6if6KZ3a4obJvWZAW+ngC8j
	cOh5nbuOXoL8UqUa1LVDnwTslsGzAVIq7wYmvaEkkzmqVK9lToRu01XHbKy/Kw==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791397111;
	b=xsqbX2oxheFbcZmiPoxZ8dZwwST3uQI8A9nTsjUmK0jf1k4Djs6bsyzeSCchSDih/TOtWy
	2JzGi5z8K176nnKzJcEXExmbqzNu6lVLnYzIOtZSx6G5sZEcpjfcPDAfSx17mdKPDE1GMP
	qY2GWYcyPSK0G1w4E5u9cbAzq3+oUpM1Qla28JS1R8TMu55Q5veBPyBs/KSJZrP0P3EVj5
	aUy0s5iH0J9WZiGRQVB3lb1x/1SJGEJ59tMuukwjHWmrkGSVEKE67KIIY34m6PApwfPyfb
	ctQRYizBrjhwKtuzlyMWF5ulQogVSFXq+ovUdeFLvEDOe1qUXkqmNGB47u67aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791397111;
	h=from:from:reply-to:subject:subject: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=0pPZ+ZVeQvuBYykBUxmwfR/xWgXf2jcwAlrEhoHvvYY=;
	b=jq62FuSe135pTD4Stxc+Mx42tFu1g72tTJUEcR9P1jpOeERgSF2wqrtAB4W+E7t7T+xe+p
	BSN8p8X6DiV8yczw8NuKNr78VxOAJ1lPiXLC3sk2gS7rD/pRP/CfZmDT+xz2R1pcFm3Ok4
	VhgcqCkyBHeNhFIecE7ZoyO/VwxwhpFitbR7Iyt0C3M6AVX4MyGR4nA9oYIQloiXjoLtqX
	g8u8hYhUHmiFDRUelytZi0mjZ7s23o0YXYDQuR5lblfTojmKz4MqApyzlxwlFFfJbPR6Zb
	4HDoyPAi5XkjVJ3/OozAuP51jxBNPDEcUYupEhYI/66Qfs/KAkdrvbSffZ/xKw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from b.nours.eu (b.nours.eu [54.38.177.57])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange x25519)
	(Client did not present a certificate)
	(Authenticated sender: bapt)
	by smtp.freebsd.org (Postfix) with ESMTPSA id 4j0LwR02ZFzmRZ;
	Wed, 07 Oct 2026 18:18:30 +0000 (UTC)
	(envelope-from bapt@FreeBSD.org)
Received: from ehlo.thunderbird.net (82-66-66-238.subs.proxad.net [82.66.66.238])
	(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)
	(No client certificate requested)
	by b.nours.eu (Postfix) with ESMTPSA id 66CCD1A8B7C;
	Wed, 07 Oct 2026 20:18:14 +0200 (CEST)
Date: Wed, 07 Oct 2026 20:18:29 +0200
From: Baptiste Daroussin <bapt@FreeBSD.org>
To: Gleb Smirnoff <glebius@freebsd.org>
CC: src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
 dev-commits-src-main@freebsd.org
Subject: =?US-ASCII?Q?Re=3A_git=3A_0f1ca95d7740_-_main_-_dhclien?=
 =?US-ASCII?Q?t-script=3A_store_the_Captive_Portal_URI?=
User-Agent: Thunderbird for Android
In-Reply-To: <asaKji548mwjI5x8@cell.glebi.us>
References: <6ac65232.19ad2.1f382395@gitrepo.freebsd.org> <asaKji548mwjI5x8@cell.glebi.us>
Message-ID: <CCC9B850-9DDB-4578-9815-43743556E75B@FreeBSD.org>
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Le 7 octobre 2026 20:08:14 GMT+02:00, Gleb Smirnoff <glebius@freebsd=2Eorg=
> a =C3=A9crit :
>On Wed, Oct 07, 2026 at 02:07:46PM +0000, Baptiste Daroussin wrote:
>B> The branch main has been updated by bapt:
>B>=20
>B> URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3D0f1ca95d7740e080057=
2ed436fd61e70f76eb6c3
>B>=20
>B> commit 0f1ca95d7740e0800572ed436fd61e70f76eb6c3
>B> Author:     Baptiste Daroussin <bapt@FreeBSD=2Eorg>
>B> AuthorDate: 2026-10-02 19:55:28 +0000
>B> Commit:     Baptiste Daroussin <bapt@FreeBSD=2Eorg>
>B> CommitDate: 2026-10-07 14:07:09 +0000
>B>=20
>B>     dhclient-script: store the Captive Portal URI
>B>    =20
>B>     Write the URI received in DHCP option 114 to
>B>     /var/run/captive-portal=2EIFACE atomically, with the legacy option=
 160 as
>B>     a fallback, and remove the file on EXPIRE and FAIL=2E
>=2E=2E=2E
>B> diff --git a/sbin/dhclient/dhclient-script=2E8 b/sbin/dhclient/dhclien=
t-script=2E8
>B> index dd3efd3e8698=2E=2E00482da3731c 100644
>B> --- a/sbin/dhclient/dhclient-script=2E8
>B> +++ b/sbin/dhclient/dhclient-script=2E8
>B> @@ -36,7 +36,7 @@
>B>  =2E\" see ``http://www=2Eisc=2Eorg/isc''=2E  To learn more about Vixi=
e
>B>  =2E\" Enterprises, see ``http://www=2Evix=2Ecom''=2E
>B>  =2E\"
>B> -=2EDd September 6, 2010
>B> +=2EDd October 5, 2026
>B>  =2EDt DHCLIENT-SCRIPT 8
>B>  =2EOs
>B>  =2ESh NAME
>B> @@ -142,6 +142,15 @@ in order to make valid shell variables, and the v=
ariable names start with
>B>  So for example, the new subnet mask would be passed in
>B>  =2EVa $new_subnet_mask =2E
>B>  =2EPp
>B> +As an exception, the captive portal API URI from DHCP option 114
>B> +=2EPq see Xr dhcp-options 5
>B> +is passed as
>B> +=2EVa $new_captive_portal_url =2E
>B> +When such a URI is received, the script also writes it to
>B> +=2EPa /var/run/captive-portal=2E Ns Va $interface
>B> +so that it can be discovered by other programs=2E
>B> +The file is removed when the lease expires or is lost=2E
>B> +=2EPp
>B>  When a binding has been completed, a lot of network parameters are
>B>  likely to need to be set up=2E
>B>  A new
>
>Note that URI and URL are two different things=2E  I'm pretty sure you me=
ant URL
>all around in this batch of changes=2E  The commit messages can't be fixe=
d
>anymore, but the dhclient-script=2E8 should be=2E
>

oups sorry for the typo I ll fix

Bapt

From nobody Wed Oct  7 18:24: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 4j0M3k2DPNz4n6t7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 18:24: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0M3k1dKrz4qff
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 18:24:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791397490;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bUm1LNwFV8wV+9Rsi1Aih9ftzodSilh/oukTXXCLD+M=;
	b=MbBX8jw3YtkX5XjZ0lZu95zRQzccB96fC+me3OUFZhlVqO3yixGpZynCcojXosFthvInB4
	b8IOXCVLC98Pf++9vDCarBwBZJrKSrc77xCUuAJtTerqwk9yBks/45rrllPPSoBaU6rNV+
	rrvtPoCd6LAoD3JKCGw6rAdtfrOUYC57/6FyUEJg5TdTOekYYqCo0es75/4i8M3xNbGybW
	luxLzsXFlaONT885BH25UYDiIAYdlMs7/ZAG/JEdLB5T69Hni8y+hran5YDv+vQSATCN/a
	TWyigTz6T+ahkAiNB1ZYGdhRgm6FlF4gxgaX+XORW9DUXcSdIz9n3xvDSb/axQ==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791397490;
	b=xM3gabcNI2EDIYVjQz1TMeeszHoCFpijsCCEIyDfQ6/sa9O21AmGVzbQJR0dpSsUFW/1dQ
	Jxzo2SkHK6AzS87cbmZ/ITbsw4b/i0cooB2kQphsx0esNWw8Oh5hyS6TUGKdn9op8C5muJ
	pW3ttcGgc7CuMuh12i3ZYSi4f5BSkrdcTvbO2RA2G/aBw9/CM8+GW4/ncKRnKUyApB9P93
	N6r1eyBm4niKMDktQBiGY3Ih0QEa98kS+BqgTDezqARB+LQbFncE9W+D9G1K7o669AQlCm
	fwauiGYGLyj1SdDrw3Ed6PykcNz2tP9lrpxSqAA9V0+29cjhP5O1/nDHblBdOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791397490;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bUm1LNwFV8wV+9Rsi1Aih9ftzodSilh/oukTXXCLD+M=;
	b=MDF2eKOh7OLckmp6hHqL7berasq656CzSmoiTjwWX1RAoeuzRzap32YKs0SRK2uOT0L6dL
	0hbmeCcu6mB7Ah4VqnfkJdAtbwSmCIJsKBo85IbrEPVhGfO1eGO12FSqfZUeXqOClmUzo4
	HNYEUle9IuTIfgxlQLOtomsa6Sm/YBG+LNNvBWHU3MYG0z31lEgbOaqJJTt6r13gO7vB/x
	5qQ9ZJEo3MyXv1HFCoAxXwfwnkqTuY9Uj0JCEt5wMYaWRCh47+XqdQGzf6A56MYHnXrnvH
	0yX2KADVhUTcUoT33xvMfzoEiA9T8HbWvqXn5MIiMcqp2qZzGXwyy8bV2u2E0w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0M3k0NNdz14LK
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 18:24:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3ecb0
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 18:24:50 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Enji Cooper <ngie@FreeBSD.org>
Subject: git: ef947bb97302 - main - LinuxKPI: firmware: remove `enoentok` logic in `*firmware_request(..)`
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
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: ef947bb97302d8862545cd0a5f38b24fa1bae2f6
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 18:24:50 +0000
Message-Id: <6ac68e72.3ecb0.63fb9cf8@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit ef947bb97302d8862545cd0a5f38b24fa1bae2f6
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-07 18:22:00 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-07 18:22:12 +0000

    LinuxKPI: firmware: remove `enoentok` logic in `*firmware_request(..)`
    
    Prior to this change, in the event that a firmware module could not be
    loaded, the linux_firmware driver would return a partially initialized
    structure with uninitialized/zeroed out values for certain fields. Linux
    does not do this, however, so some drivers that use
    `request_firmware_nowait` expecting Linux behavior, like `if_bcrmfmac`,
    would crash trying to dereference a NULL pointer.
    
    This doesn't address the load/unload situation completely as the driver
    remains loaded after the "firmware crashes", but it makes a completely
    unusable situation (a kernel panic) into a slightly more usable situation
    (driver does not unload).
    
    As a sidenote: the raw free(9) call was replaced with a call to
    `linuxkpi_release_firmware` because the latter call [better] ensures
    that all resources allocated earlier on in the function are cleaned up.
    
    MFC after:      1 weeks
    Reviewed by:    bz
    Differential Revision:  https://reviews.freebsd.org/D58451
---
 sys/compat/linuxkpi/common/src/linux_firmware.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/sys/compat/linuxkpi/common/src/linux_firmware.c b/sys/compat/linuxkpi/common/src/linux_firmware.c
index 0915b317c01e..0d8f9b770d70 100644
--- a/sys/compat/linuxkpi/common/src/linux_firmware.c
+++ b/sys/compat/linuxkpi/common/src/linux_firmware.c
@@ -57,7 +57,7 @@ struct lkpi_fw_task {
 
 static int
 _linuxkpi_request_firmware(const char *fw_name, const struct linuxkpi_firmware **fw,
-    struct device *dev, gfp_t gfp __unused, bool enoentok, bool warn)
+    struct device *dev, gfp_t gfp __unused, bool warn)
 {
 	const struct firmware *fbdfw;
 	struct linuxkpi_firmware *lfw;
@@ -124,12 +124,8 @@ _linuxkpi_request_firmware(const char *fw_name, const struct linuxkpi_firmware *
 		}
 	}
 	if (fbdfw == NULL) {
-		if (enoentok)
-			*fw = lfw;
-		else {
-			free(lfw, M_LKPI_FW);
-			*fw = NULL;
-		}
+		linuxkpi_release_firmware(lfw);
+		*fw = NULL;
 		if (warn)
 			device_printf(dev->bsddev,
 			    "could not load firmware image '%s'\n",
@@ -159,8 +155,8 @@ lkpi_fw_task(void *ctx, int pending)
 	if (lfwt->cont == NULL)
 		goto out;
 
-	_linuxkpi_request_firmware(lfwt->fw_name, &fw, lfwt->dev,
-	    lfwt->gfp, true, true);
+	_linuxkpi_request_firmware(lfwt->fw_name, &fw, lfwt->dev, lfwt->gfp,
+	    true);
 
 	/*
 	 * Linux seems to run the callback if it cannot find the firmware.
@@ -200,8 +196,7 @@ linuxkpi_request_firmware(const struct linuxkpi_firmware **fw,
     const char *fw_name, struct device *dev)
 {
 
-	return (_linuxkpi_request_firmware(fw_name, fw, dev, GFP_KERNEL, false,
-	    true));
+	return (_linuxkpi_request_firmware(fw_name, fw, dev, GFP_KERNEL, true));
 }
 
 int
@@ -209,7 +204,7 @@ linuxkpi_firmware_request_nowarn(const struct linuxkpi_firmware **fw,
     const char *fw_name, struct device *dev)
 {
 
-	return (_linuxkpi_request_firmware(fw_name, fw, dev, GFP_KERNEL, false,
+	return (_linuxkpi_request_firmware(fw_name, fw, dev, GFP_KERNEL,
 	    false));
 }
 

From nobody Wed Oct  7 20:05: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 4j0PJ71CPbz6Ywb1
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 07 Oct 2026 20:05: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 "YR2" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4j0PJ70fHpz51Ly
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 20:05:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1791403543;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=2I4D8RK9LCNPGRWQm8tH1dyeBTnqyjBeTkxM9vk0qQU=;
	b=Ay+tIbdft8qlnN4hpT7eH/MTGVTGAJMeSqEHChF+moeEPTOzW55FjeKE6zfX112Kmwp8+7
	6vjUwIQb88E6nRk2Qrmdt1PZLAGnvKAHgccuDcykGR2RwHA5/08CohGrY5k0erDVlp5rLR
	ylxX6+8yfi+1xgqeCU0Vt5uSleDubZbR+XZXKPFQWE8u8uRdhWrrFLzhDxkvQPkX8dWjvg
	LiybEBg4BEIcUmnhSC5esiAMgw1NKSBFhKnB7SNbX7r9MZU3oF7JEvFXtA0O0XabzagkAH
	k1zxYQ1+kyspKeT4B6L4rrSFJn5ggoXWc7X8/Dtv8kkgyhG4B3Dz9Rf7EyAI8g==
ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791403543;
	b=hIWbfFN0JhZcDuyrOjEqi8HCkXiA4KoA+vuXHeZitc4JOdGrUrCmFco+pDVYOB/o0E9jRY
	zn+YuEDf8McnQBoV9U82wNsr0q4nKjaBM2bXWK/3y3QKFFBq2FKP2pqVmqFihfgoaMVDyP
	dck6SF3KYMGLtyhkGb+PEEt0T7MYwnFZS5pVabGkFBQbM3LZjldG58T+Kek0z0N/zZVHyr
	/YhP7FIr/N3RepOU6HWOOSzRopAtjs2LMRHO5ziS71nFlsn5zNcEt42dpbgwIQObamcQY6
	vTG4GYj52bZ+2SFJawiV0NS93W8OvCclPK8dXu+ysf08/WkFP11b+WJGipT7wA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1791403543;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=2I4D8RK9LCNPGRWQm8tH1dyeBTnqyjBeTkxM9vk0qQU=;
	b=VpsW1pwmG72TBiginmBc30Pcx3tIExU672JW/gjdWuKI4j1mjz6+nuyVaMqUhMZrTlz3+H
	hkE9d8lj6pN/F/XqtrizufXqBwUPdBbWQf89T9AACFwA+jlOhAAVH9nQfhpw3AkC4EWqTi
	FD7Nw3L+ywuqydxnrKB1Kgp4zZ8ASuSAhw//345sjJQHnSuBIrsjlN/qnW+NR/znVTZAJe
	m/4cowRdAbU/Ufr1XBeuiNzra5ZrZ1I7zUuSsruGaCnh72zPcNJz6Lg9bGos61gCB68AfM
	5Zhr89J/wZolasmSLyvQt1QQLYFdg/Aaw0GUgZ46vy9Szk4ejPJmTSUSNN/yrQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j0PJ66X2zz16PY
	for <dev-commits-src-main@FreeBSD.org>; Wed, 07 Oct 2026 20:05:42 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2467a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 07 Oct 2026 20:05:42 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Baptiste Daroussin <bapt@FreeBSD.org>
Subject: git: 6c305c3c3129 - main - dhclient-script(8): s/URI/URL
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
X-BeenThere: dev-commits-src-main@freebsd.org
Sender: owner-dev-commits-src-main@FreeBSD.org
List-Id: <dev-commits-src-main.FreeBSD.org>
List-Post: <mailto:dev-commits-src-main@FreeBSD.org>
List-Help: <mailto:dev-commits-src-main+help@FreeBSD.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@FreeBSD.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@FreeBSD.org>
List-Owner: <mailto:postmaster@FreeBSD.org>
Precedence: list
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: bapt
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 6c305c3c3129c4b90d22fdea5092788549bf7992
Auto-Submitted: auto-generated
Date: Wed, 07 Oct 2026 20:05:42 +0000
Message-Id: <6ac6a616.2467a.26b4289d@gitrepo.freebsd.org>

The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=6c305c3c3129c4b90d22fdea5092788549bf7992

commit 6c305c3c3129c4b90d22fdea5092788549bf7992
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-10-07 20:04:42 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-10-07 20:05:16 +0000

    dhclient-script(8): s/URI/URL
    
    Reported by:    glebius@
---
 sbin/dhclient/dhclient-script.8 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sbin/dhclient/dhclient-script.8 b/sbin/dhclient/dhclient-script.8
index 00482da3731c..b7a5812b819d 100644
--- a/sbin/dhclient/dhclient-script.8
+++ b/sbin/dhclient/dhclient-script.8
@@ -142,11 +142,11 @@ in order to make valid shell variables, and the variable names start with
 So for example, the new subnet mask would be passed in
 .Va $new_subnet_mask .
 .Pp
-As an exception, the captive portal API URI from DHCP option 114
+As an exception, the captive portal API URL from DHCP option 114
 .Pq see Xr dhcp-options 5
 is passed as
 .Va $new_captive_portal_url .
-When such a URI is received, the script also writes it to
+When such a URL is received, the script also writes it to
 .Pa /var/run/captive-portal. Ns Va $interface
 so that it can be discovered by other programs.
 The file is removed when the lease expires or is lost.

