From nobody Mon Jun  8 07:30: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 4gYkGT3RF7z6h18C
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 07:30:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYkGT2sS2z3VkN
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 07:30:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780903825;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HqIldGdee3yF1RfkscGXwcKhlOE1rtk/GpcRO6ztTsQ=;
	b=er/JarlBFx1tup6j68mRsHoyFdxbwT1U39CkHnemn8ZBgSZRUJZDcoAjLnC44IDZ16LXOf
	GvMZKFRRgXYWXrHtLJBPghuOq7X6z6e1wzNekQoFGA1ygM30r3Wz6Jf6Ol6KBtrXfrmPgt
	I2J8QsnkhWtbqauj4Htewg4gBV85Po6j1Jepx8ULxymQDchQkvXnyj+BVF+sYROMfds5na
	BKFaUFk7EK6LcArevNvYEBqh4Ur1mchqPcvlbIOCEq1lB4BiGcRMVBSHMUSzlvxX8+65ji
	QAexFzlRZndNjaKnOMWoP/XaeYswn0R7chlyX5c9DqKB0mvzfHbST/3ZTMV4QQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780903825; a=rsa-sha256; cv=none;
	b=V6ryj54dbvWlkiCXxkzUp9vbHwIAwsqCJ1dlUmWecBxAKYdm+qk3t8sQbvi+Vn06tKWs01
	4KmvwcYqiijQXnLJRBo/axKJGpgFzqsl0d8UKovzJyftMuu+rcowLQ9i9D2+c6Z/OjlBL5
	ddXjC/yCyw2+Fa+31g8i1ivnUWsxtOIKl3h4hXMvcNs3x5lTgDGVBCEovP3RxRlamVkTvL
	wv5dd8F0EHVux/p65qbnSVddTDTh53Nul7ybZjGVEqiKwtqMoRlBvBRaUrwXHiCPV5NWid
	h6pQoNr/Zt9b01wNlsfi6tUsrLw6zFZhLKl7xUVuG6IVcN1ZBFaVHewWISbBXw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780903825;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HqIldGdee3yF1RfkscGXwcKhlOE1rtk/GpcRO6ztTsQ=;
	b=g1j9IouV6mqMBp+glED8nPgPxKRkW3ru9usI6LfeetWMjxAna7M1q7qs6Z59kTZuwwb18s
	HYnckriqOluuLgycjLOcH4iFulxNSULFD3rP/K9/QO4Nm89xLzL9miM20tYvvgYjau47Eb
	GJJVlINcDmbgckR0M5cl+fS0+ZMg5tg2th3XaIOthjXlV2B0hWN5wtUooeY8HTqAxer7G3
	wQ3VjfZZiR9omiinsau0TsCdpZjeNEvV7xUEkql25hrAuVm+zyf26JrAcJqfz+F2ui+/H+
	79L+IxRycAqg/UaES9+Qog+LBj0D/iO9P0plCH7hln612zuO0tVoSs010ylKlQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYkGT2H9GzfhM
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 07:30:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 43522
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 07:30:25 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Emmanuel Vadot <manu@FreeBSD.org>
Subject: git: 5f84c6db7aa1 - main - fwget: amdgpu: Add needed package for Granite Ridge
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: manu
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 5f84c6db7aa16447632c4e6e8959bf28d1bbd8aa
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 07:30:25 +0000
Message-Id: <6a266f91.43522.56b2c60d@gitrepo.freebsd.org>

The branch main has been updated by manu:

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

commit 5f84c6db7aa16447632c4e6e8959bf28d1bbd8aa
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2026-06-08 07:28:00 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2026-06-08 07:30:15 +0000

    fwget: amdgpu: Add needed package for Granite Ridge
    
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 usr.sbin/fwget/pci/pci_video_amd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/usr.sbin/fwget/pci/pci_video_amd b/usr.sbin/fwget/pci/pci_video_amd
index 11f33eef78dd..4c350d92e643 100644
--- a/usr.sbin/fwget/pci/pci_video_amd
+++ b/usr.sbin/fwget/pci/pci_video_amd
@@ -174,10 +174,10 @@ pci_video_amd()
 			addpkg "gpu-firmware-amd-kmod-sdma-6-0-1"
 			addpkg "gpu-firmware-amd-kmod-vcn-4-0-2"
 			;;
-		0x164e)
+		0x13c0|0x164e)
+			addpkg "gpu-firmware-amd-kmod-dcn-3-1-5"
 			addpkg "gpu-firmware-amd-kmod-gc-10-3-6"
 			addpkg "gpu-firmware-amd-kmod-psp-13-0-5"
-			addpkg "gpu-firmware-amd-kmod-dcn-3-1-5"
 			addpkg "gpu-firmware-amd-kmod-sdma-5-2-6"
 			addpkg "gpu-firmware-amd-kmod-vcn-3-1-2"
 			;;

From nobody Mon Jun  8 09:07:52 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYmQw6WZBz6fg0x
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 09:07:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYmQw62w2z3hDq
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 09:07:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780909672;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xLqZd9Lje/UFJc44g2cQIAByA4/p3q3MOg/x3vlXglU=;
	b=INgyQ8gQro1Kh9FGRy8RYgpt2F0Mqkj7N8XamSdrbzo02V5jBzjgADHY9WjB9HR9jZcQdO
	HwUiLiybQNISOaOMne5+EA2Pf6hGGF3XwluDZvSxtwZIm2z+fo+idZVX/upGZIP2s6LWM1
	qfOihJ21xcn0V3rT+itKlwVZNiEOyQpqjk4W6Pnwq18tzM9MQYa4KvCuxF8XRAqmNJ341/
	gU/VtTWE7VMETWQQBB4BjoUUaePCqbSVwxy5qQp8P4YIwhefx3rRZBC1/Q90z/V9t2eXGP
	5njPYVgYv9V4Ye/A7E+rKXYo0wnqYRPRLJ7koL+FDDwrWzuZtYiqJUmR9jPfzg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780909672; a=rsa-sha256; cv=none;
	b=qmTMdE7eeNrZc5QTeh/2zSRZVEdGQgBRjZII/yxoGN+ZszQ5JwT2FOe6gDYAouBQyCGmkT
	e6evpHztspMuDW9+khj2VQwFz+TuaMXEFqgttvtT5dGpWnD6RLnmGtGYpr1dpTmUIiUXEH
	zXTqV3dmVP/A65nUL3M+rNQ9MUDrvduIXs7iyfjyAdDWRP25/1dRhOcFjHrHJ8knjrvt7Z
	TIJ9hoU37feOUtIlKFhNCe2CUcTpTyylWTfiJMG4gxKuwnTC6B11fojAMBt/jxieee5MgB
	OT9QH+H9yjvuyF5l8C1n1m0E5oNDwYoOF1fiW6C3ZkNbE6nmgPJNnvgrb43kyg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780909672;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xLqZd9Lje/UFJc44g2cQIAByA4/p3q3MOg/x3vlXglU=;
	b=bHhbar3dorEaMHTiEQrfviJn1G3CoNq986eAtIDBJ7+Ytx4a45+ObdgCTiyShuJVWqe8b4
	cLdHqhp1K1XcKIluGpyEnaQP7UogBwnVgo3xDHSZvyRx6ppI16UtfkGi26l7FkJ/kLjczg
	oVRKeVVX7wFE3TTIXokMskr3DXC7FQ0+64hiwc0SB1v2JwFQ5Nv2G1FgWXL+6wH4oKfvui
	/HKo/fshkdwGkjvgPIpekvWGbN+c0mhdiY8NOlm4bANywfGtEOfFQV4Pc+y7HnBtS3Jh4i
	Gr73BD38qNzM+hmSZllKOb/ZUdooedG4wG1sMRGxTo59/a6c9ph8wM6HZmMFGg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYmQw5dyDzj84
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 09:07:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1bd61
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 09:07:52 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Kristof Provost <kp@FreeBSD.org>
Subject: git: 035e87247f84 - main - pfsync: remove invalid panic
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: kp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 035e87247f845500b4672e10efb8f47fd2c0f2a2
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 09:07:52 +0000
Message-Id: <6a268668.1bd61.55977035@gitrepo.freebsd.org>

The branch main has been updated by kp:

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

commit 035e87247f845500b4672e10efb8f47fd2c0f2a2
Author:     Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2026-06-06 13:44:17 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2026-06-08 07:44:56 +0000

    pfsync: remove invalid panic
    
    When we undefer a packet (when the peer acks the state) it's possible
    that we don't find a corresponding pfsync_deferral. We panic here, but
    that's actually something that can happen in normal operation:
     - if we have too many deferred packets already (in pfsync_defer())
     - if the deferral timed out (in pfsync_defer_tmo())
    
    Remove this panic and document the scenarios where it might occur.
    
    MFC after:      2 weeks
    Sponsored by:   Orange Business Services
---
 sys/netpfil/pf/if_pfsync.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c
index a5f377e84307..a64d0ef64a61 100644
--- a/sys/netpfil/pf/if_pfsync.c
+++ b/sys/netpfil/pf/if_pfsync.c
@@ -2356,7 +2356,11 @@ pfsync_undefer_state_locked(struct pf_kstate *st, int drop)
 		}
 	}
 
-	panic("%s: unable to find deferred state", __func__);
+	/*
+	 * If we don't find this state in b_deferrals that might be because we
+	 * overflowed the list (see pfsync_defer()'s >= 128 check') or because
+	 * the deferral timed out already (see pfsync_defer_tomo()).
+	 */
 }
 
 static void

From nobody Mon Jun  8 13:52:37 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYtlT3Pm8z6g5qN
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 13:52:37 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYtlT2ZKYz47sH
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:37 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780926757;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=4x10OKs080WGHugXyjzshQAaRyEcfJXFTvBq6Qw0hKE=;
	b=ZJHkH/Is2sKrFJF9oom4NG+m8Y74gGBb/ZQGr9Iya1lDtMClqmYSrXuYjC2dzQmRM5Izk0
	7yTQDpEYtvKWkgKziJlIJgXuW/9J7SWCuTmjCDbBxsMxPG4U8lYiI6EWLPiP5gVrux/N/0
	lRwhHkvUs+QNxSVrf5rQRJq1a/Pyji1YLxjjb6F/dsoqNoYO/Jt2zXzRCrdr3N1V4IH0a/
	nBdS+fajBkpNK1KY8ZrwHHtqLHXNAGZVkFNbX25tdY6FZCFwSoD4NFGH0BYaL17kOl9h+f
	9qJTEx22Wg5DHZGInFE9xiQldBkkkqxgMkYlm7Lr7O5qFUWjLuaYfVVZPH3fgw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780926757; a=rsa-sha256; cv=none;
	b=lM7bUDV1r6OT08UTNrTKLEAKqbu97Sy8zQKxbSijhLydVK4hqXfE53YnHkvhhJm9lIt8IX
	5PUxVDivPnN0qsgt+pD3GHcCbhnGBKu7SpR4HHfDOIkQ4wVdMznK395FdI9qIC9Mo8QHt2
	au7nJcKMghvF/QIuMlQ32YGC8TVy8MRwVuGVpUX4wPStGnCy+c/z918Ij1OMJf9PhL5Adq
	gBQ09+xYANk+eDvBrxRAuKnCj6Ya/6BDGGFOMeVr8bpG1/xx+FgANbuHmMrexeBaod5u3K
	xknrse99rafBwEUVoYjYsdvhh/i2a+IR9afk97fZ6dfK4kNywjPZMW0VwTVRbA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780926757;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=4x10OKs080WGHugXyjzshQAaRyEcfJXFTvBq6Qw0hKE=;
	b=x/QII9xyNKjtKT60ky4HUpYgQq1XtrLaYfYGllCfW45ip2wPVPcmtvUC/KVknqYVNU5YOh
	aG3sdZM8H5spzgaCUBzPt8VqJg7klhopmk9RBpt21xdFRt6FhiDrYqAQFzgSZbfSoGE78g
	CV2O0aYfvScZVH8U7KH67gVf4Ls55J2gW27o2FjA6w0KbZhWywZ5rLzPa9yXCPJ/auq/lr
	jeokWNUpEv5QOOgqR1zQPCQsFlDoBb/s+TP7cw3eszLWL0Fg5T6iWw6mOTmaSn3eOGfeoh
	yUO9QKv1RdkeUPwoJ2g+tEvRymIFivoHLJDBopvXRlI8hpPas+/iW+NVzlzgbQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYtlT0gPzzrcQ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:37 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 43353
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 13:52:37 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Cy Schubert <cy@FreeBSD.org>
Subject: git: 37e9d3641ba0 - main - ipfilter: Fix ip_pptp_pxy (PPTP proxy) length underflow
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: cy
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 37e9d3641ba0e0da0d2bbaa26a59ee56a8cf3ee6
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 13:52:37 +0000
Message-Id: <6a26c925.43353.7c441902@gitrepo.freebsd.org>

The branch main has been updated by cy:

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

commit 37e9d3641ba0e0da0d2bbaa26a59ee56a8cf3ee6
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2026-05-29 06:17:39 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-06-08 13:51:24 +0000

    ipfilter: Fix ip_pptp_pxy (PPTP proxy) length underflow
    
    A PPTP client sending a specially crafted PPTP message with a length
    smaller than the already processed fixed header can panic the system.
    This resultes in a negative remaining length (a large unsigned 16-bit
    number).
    
    Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li,
                    and Ke Xu from Tsinghua University using GLM-5.1 from
                    Z.ai
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D57383
---
 sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c b/sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
index dc4c67dc14f0..95eaf78bd575 100644
--- a/sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
+++ b/sys/netpfil/ipfilter/netinet/ip_pptp_pxy.c
@@ -318,7 +318,9 @@ ipf_p_pptp_nextmessage(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp, int rev)
 			 * it should match 1a2b3c4d.  Byte order is ignored,
 			 * deliberately, when printing out the error.
 			 */
-			len = MIN(8 - pptps->pptps_bytes, dlen);
+			if (pptps->pptps_bytes >= 8)
+				return (-1);
+			len = MIN((size_t)(8 - pptps->pptps_bytes), dlen);
 			COPYDATA(fin->fin_m, off, len, pptps->pptps_wptr);
 			pptps->pptps_bytes += len;
 			pptps->pptps_wptr += len;
@@ -361,7 +363,9 @@ ipf_p_pptp_nextmessage(fr_info_t *fin, nat_t *nat, pptp_pxy_t *pptp, int rev)
 			}
 		}
 
-		len = MIN(pptps->pptps_len - pptps->pptps_bytes, dlen);
+		if (pptps->pptps_len <= pptps->pptps_bytes)
+			return (-1);
+		len = MIN((size_t)(pptps->pptps_len - pptps->pptps_bytes), dlen);
 		COPYDATA(fin->fin_m, off, len, pptps->pptps_wptr);
 		pptps->pptps_bytes += len;
 		pptps->pptps_wptr += len;

From nobody Mon Jun  8 13:52: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 4gYtlV3KHSz6g5p7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 13:52:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYtlV2W2yz48Jq
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780926758;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=RfAcnrLxY/m23/kZdwyZPNX7TeqQCNDoncjHhq82n9Y=;
	b=PwCmqyNZOz5BkfllZweo53fh+Kd+VrzBj3U3QQy4zVoC2UtB1qoEsHKqr+moiqr2/LcXV8
	th4CRbrpoAEJH8kXajsdCen0k5ihnkkOonXztM2ka8S+EqYfeASNZMFGh2n3G/lUcYIomK
	rB5WbUR4wxPu3GweNeQ/LATTgYmP09I2zZkZztzYjAHP7itw/WfC2y1w2LSlQBNqGla9hX
	M/lytSyaaSNub6hr6PgGtb9g9kb37s7EaOIcPf3KKJOsg7cFo49t94nQVJr1Ud9YiSHsEr
	ElXZE26No7i3D0nfafqeFm82/nO2mXSIx0hSgaJjgfBN4vBan/2kZcH2JQ2eXg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780926758; a=rsa-sha256; cv=none;
	b=ODprbCwlkzOnkhmX4mmHxp5oV/ebhThIqtg6xkXlQW3/b81i/7jPIzS3vqsZMGiErwLFmW
	JUP2aHuj/gb/mmurKjMzxsWZeKcnOlPAx+bYcJTKGh3OwC0ITCOd25RBW/gTY1EiMBb0PF
	RMz0Cf9BFNB55O5brtFAWAJMG5QTrVxS2i8aBVhP7Qi6vq7KIPG0B2jTV8NKQJiHXp9Aie
	tEhJj1Y9Ug8JaCyN1kVkJF5D6DhX9rtbPmJa1NiC6KQUe+icX6pB2igq5KgbjNYU81DmyP
	8BjXcpORmsvw1UGN36DG5+mAU1BjcuVpMJE+WgJXwlQOsVTEx54U21iaKv0xcg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780926758;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=RfAcnrLxY/m23/kZdwyZPNX7TeqQCNDoncjHhq82n9Y=;
	b=pztzolRNorvKUIoYb8pXAbnyjTprsV8KTxDFiRly6wXL7Yrndl+xZKrqG0sRxMwIFOnd1O
	sPkkTPFGtIlczcEEPZMNkh7JIECdDGQHQkpXbgVRi8liKlae45b4MQB/ayRJsttGLwYMwo
	polz1feMxgb5FaDH6bfh2ji/vgI9BWGBvd4Nc/z6Bj9IuM8b6zjO+8qDNAMvlj2DufGNH1
	Kw1zntJ/iS5KP1gru9l04OkjS2ahT3keTMxl7ygek46viMWGwBoNh/jNLgguVudUTB7pTE
	oyS6P7GwLYssYyc4ShBYwCCaik7H5lbEvwOTG3Sxr+CL8svnE/wUyOxdyDnwHw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYtlV1TtnzrWX
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 43203
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 13:52:38 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Cy Schubert <cy@FreeBSD.org>
Subject: git: efb5c07f91c5 - main - krb5: Fix null dereference in SPNEGO token processing
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: cy
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: efb5c07f91c5c11fb9bd32227ac74c2d08adf3cf
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 13:52:38 +0000
Message-Id: <6a26c926.43203.3b2a8200@gitrepo.freebsd.org>

The branch main has been updated by cy:

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

commit efb5c07f91c5c11fb9bd32227ac74c2d08adf3cf
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2026-06-02 17:57:17 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-06-08 13:52:04 +0000

    krb5: Fix null dereference in SPNEGO token processing
    
    krb5 1.22.1 erroneously removed a check from get_negTokenResp() for
    successful decoding of the mechListMIC field.  Restore the check to
    prevent a null pointer dereference.
    
    Commit message details obtained from upstream commit.
    Obtained from:  Upstream commit 4ae75cded
    MFC after:      3 days
---
 crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c b/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c
index 4a778364336e..1dd0f170651b 100644
--- a/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c
+++ b/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c
@@ -3517,6 +3517,8 @@ get_negTokenResp(OM_uint32 *minor_status, struct k5input *in,
 
 	if (k5_der_get_value(&seq, CONTEXT | 0x03, &field)) {
 		*mechListMIC = get_octet_string(&field);
+		if (*mechListMIC == GSS_C_NO_BUFFER)
+			return GSS_S_DEFECTIVE_TOKEN;
 
                 /* Handle Windows 2000 duplicate response token */
                 if (*responseToken &&

From nobody Mon Jun  8 13:52: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 4gYtlW4qdbz6g6KJ
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 13:52:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYtlW2tBfz48Qd
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780926759;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=BhAFjHnKLs/RgMYL9Ih2F9SgMvB5pS9Ll9bsobjGQbw=;
	b=pgQP/VVvIA6JGB3mh/PQetsFJPoOTDmD7OGYA/olRfDlNpR7kkoUWhn1/pmDT6pr87GYDy
	SWiDMAaufko508MjKAH3eEzrIMY8lvUZIEHMqF4yh0f9FE4N36k6j7NgtKEF111meC0pTo
	Ql9dvVtqe5gLKkAZUlGYtjLgrPwWyD4r0XQLgfjjDkNDE14bX/HvYdNHETdsDxysZmocJY
	t2QvA4/hThnEaC6iDNh387R5vpYVwLAB8XFlnuhPgmCA7quSH6uRH1EBVM4JeeyeW7oaiy
	53W+n3jg0gjeb2PqGfKZeZ5JaeicpT7qkZBTlvMfwtvH3obU4DxKwyNup3NKrA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780926759; a=rsa-sha256; cv=none;
	b=kW8gnnKgPneAASQ8HwJO1WI443USEpo+lt9m2VEhd3jV516cvUJiJUWhMx0irtKfEeoxWA
	Ky0RXCeBl29cCPYSKDz9jtzaNoxRKFGlDVVtny7elB3Alw4qcElww3//wpyU3yhmRuynMT
	utoU6LQvq7F34BLMBq3aqhkK1CqqZDaUP7mryiv6gXci/voxZx5E2NUhH2wbLvNMqZDYOS
	2YS3DkHquGEXz2qduf2N/65c9JmqlEZQJTlbAEddT7hIUhET66+Yp2+/OBTry4NIiO3BWX
	q+4+/PNuAx6XfAuar4wUvAygpqN7ZrmXaPILqISgpP1Jb7bzJ8JbDmAxAL4jsA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780926759;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=BhAFjHnKLs/RgMYL9Ih2F9SgMvB5pS9Ll9bsobjGQbw=;
	b=b54XB2WfSOzDib4nKIEKapfku74dPgY811xIqD2VK5jYeMDaDjV+5rTVx2H23ghEu1SChb
	o48gDyNz0i6Jb7WBr4dmCu1/TUbLwdmhWaZNdwJoSQp2/uqa8V8pfiwvfYy9JxNuvLcKjw
	eUZJRiwBcMP+J8Rm2sVvDsSASNXGbShaR68kuQSgn6HX8OogkwcZc8cYnKqoWBhehfOCTE
	Sr0O8J1F/2KSwxgsOnSK3oEigZAsy3lta4nECm6+6ONo9VUMxnpFqcggHFLwjKezetjPVX
	VojSfQFBoQYtod6rXD4RuqXriNze5tqlLlnFjPpZvWrUWleKTPozzWnqm+RzIw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYtlW2HbNzqpF
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 13:52:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 412c6
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 13:52:39 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Cy Schubert <cy@FreeBSD.org>
Subject: git: fce16f60de97 - main - krb5: Fix reachable assert when importing krb5 names
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: cy
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: fce16f60de9718be6b789f00e86141a84cd920d3
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 13:52:39 +0000
Message-Id: <6a26c927.412c6.2e60e78e@gitrepo.freebsd.org>

The branch main has been updated by cy:

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

commit fce16f60de9718be6b789f00e86141a84cd920d3
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2026-06-02 18:09:43 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-06-08 13:52:04 +0000

    krb5: Fix reachable assert when importing krb5 names
    
    If a name token contains trailing garbage, error out from
    krb5_gss_import_name() instead of crashing the process with an
    assertion failure.
    
    Commit message details obtained from upstream commit.
    Obtained from:  upstream commit 07818f1fd
    Reported by:    Aisle Research (Ze Sheng, Dmitrijs Trizna,
                    Luigino Camastra, Guido Vranken) to krb5-bugs
    MFC after:      3 days
---
 crypto/krb5/src/lib/gssapi/krb5/import_name.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/crypto/krb5/src/lib/gssapi/krb5/import_name.c b/crypto/krb5/src/lib/gssapi/krb5/import_name.c
index a067d0742331..b4c29b442511 100644
--- a/crypto/krb5/src/lib/gssapi/krb5/import_name.c
+++ b/crypto/krb5/src/lib/gssapi/krb5/import_name.c
@@ -297,7 +297,8 @@ import_name(OM_uint32 *minor_status, gss_buffer_t input_name_buffer,
                     goto fail_name;
                 cp += length;
             }
-            assert(cp == end);
+            if (cp != end)
+		goto fail_name;
         } else {
             status = GSS_S_BAD_NAMETYPE;
             goto cleanup;

From nobody Mon Jun  8 14:34: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 4gYvgl3KNqz6g9Kc
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 14:34:27 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYvgk62qCz4Ffb
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 14:34:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780929266;
	h=from:from:reply-to:subject:subject: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=e4FJMwcsjfBEIcyShCYh+h0aT8OYyPjvrE9LeXLs3qo=;
	b=TlndZP9Dfcl6s2NCaF8wrLP1h3jqrVGIzgTwegII7Y1xj1okXyMm4VVDnEF4ZxalfroTRH
	SjG88z2lpTIlAFr04pBrR50WlopIARTTjL9H3cHF7FkjTf6yXHVBd5vPIeGoK99IjCvouD
	eu8NykkPik7OHV9KA4RNT4vOaCRFRHDBtpHOffkcqnG2hq2Dcx7gJ5Ge0uNi5yw3N12yVp
	aagZ83a3aX3SmCRNSimq5neBMe3SFfsMkEy6ivwFFGIezCPPq7We22OCxlj+YDADvLZywX
	tgan1JFMj4aQucCvgExrc6O9byCdz0vguDUyLDd2f+gFrJnzhac/xxqW94Opog==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780929266; a=rsa-sha256; cv=none;
	b=TIFcevvr4J4nvRsPt2Sg815SRqoMOQ0hUdHoFHYqsboulwZ2bOEKXoleDVUr7k6BCBxLUp
	cuzRviAWtcCWPUqVl+L2vY20QBsYDLUnbhEF1QExCmS7uJKcDi0vluUz1V7nAIWFF0VK2T
	h9NSIr3NO5AZl4/vB4X2af6j5xN8QmUP/RN6zeuxu0PvReYOfln2VEi2a5nKC8YKhKgFrt
	vLMagEWxOysG3iUidzSywIaLFkzJkjemMBllzjYuCWqNqBQqtyrwuKgkIcKSZuo3vaI7xT
	MXFKjMWcfCLyY4MeMg2L42EZIo7I6tGcd7p8S/FP87W8NDD4yACwOT4aohN1yw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780929266;
	h=from:from:reply-to:subject:subject: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=e4FJMwcsjfBEIcyShCYh+h0aT8OYyPjvrE9LeXLs3qo=;
	b=rA/d2H30Yu0nckWP6jIsF0p/Ilkpc2FLTsTXVPI9MAv4BlijFCeahxeQxaZhA0P5qcT6QV
	8+4M+zOu6gATy5UZLexkD++HXmmNjeM93jMyDcU7XI5neMUMaTUQfUryNvcNNp5dwp3c3p
	Y82UlijiPpS3Pzf+71BSlrZoOuP9UG65XwzEc2tdtTuUcEYoT8WbQR0BGopX92KZhzmB0L
	f3pJbYk+FsZeF84aDitkkcbIoTsPDjQu4VkaivyJJbcv2ZkQCIvsdtpOSSW5oUfJSmVXoX
	RyRd4TkFYVjFBXrhXgQCVqrBsg2hEFN9PeS8fDYbk+/+++fF6NMsQ6NSDvEIWw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYvgk4gKbzsbv
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 14:34:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 46f84
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 14:34:26 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Abdelkader Boudih <freebsd@seuros.com>
From: Adrian Chadd <adrian@FreeBSD.org>
Subject: git: a9519f7821c0 - main - firewire: Fix watchdog_clock aliasing and fw_tl2xfer UAF race
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: adrian
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a9519f7821c066c393690603eab33043f3804a0c
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 14:34:26 +0000
Message-Id: <6a26d2f2.46f84.4c1d12e1@gitrepo.freebsd.org>

The branch main has been updated by adrian:

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

commit a9519f7821c066c393690603eab33043f3804a0c
Author:     Abdelkader Boudih <freebsd@seuros.com>
AuthorDate: 2026-06-08 14:30:29 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-06-08 14:30:29 +0000

    firewire: Fix watchdog_clock aliasing and fw_tl2xfer UAF race
    
    Two bugs in the firewire bus layer that affect all consumers (
    if_fwip, sbp):
    
    watchdog_clock was a static local in firewire_watchdog(), shared across
    all firewire_comm instances.  With two controllers (e.g. built-in +
    Thunderbolt Display), both advance the same counter, so the second
    controller's 15-second boot-time timeout guard expires prematurely.
    
    fw_tl2xfer() released tlabel_lock before returning the xfer pointer.
    
    Reviewed by:    zlei, adrian
    Differential Revision:  https://reviews.freebsd.org/D57496
---
 sys/dev/firewire/firewire.c    | 67 +++++++++++++++++++++++-------------------
 sys/dev/firewire/firewirereg.h |  1 +
 2 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c
index 079a50413ffa..a54cbf9cdf0b 100644
--- a/sys/dev/firewire/firewire.c
+++ b/sys/dev/firewire/firewire.c
@@ -372,23 +372,21 @@ firewire_xfer_timeout(void *arg, int pending)
 static void
 firewire_watchdog(void *arg)
 {
-	struct firewire_comm *fc;
-	static int watchdog_clock = 0;
-
-	fc = arg;
+	struct firewire_softc *sc = arg;
+	struct firewire_comm *fc = sc->fc;
 
 	/*
 	 * At boot stage, the device interrupt is disabled and
-	 * We encounter a timeout easily. To avoid this,
-	 * ignore clock interrupt for a while.
+	 * we encounter a timeout easily. To avoid this,
+	 * ignore clock ticks for a while.
 	 */
-	if (watchdog_clock > WATCHDOG_HZ * 15)
+	if (sc->watchdog_clock > WATCHDOG_HZ * 15)
 		taskqueue_enqueue(fc->taskqueue, &fc->task_timeout);
 	else
-		watchdog_clock++;
+		sc->watchdog_clock++;
 
 	callout_reset(&fc->timeout_callout, hz / WATCHDOG_HZ,
-	    firewire_watchdog, fc);
+	    firewire_watchdog, sc);
 }
 
 /*
@@ -444,8 +442,9 @@ firewire_attach(device_t dev)
 	CALLOUT_INIT(&fc->busprobe_callout);
 	TASK_INIT(&fc->task_timeout, 0, firewire_xfer_timeout, fc);
 
+	sc->watchdog_clock = 0;
 	callout_reset(&sc->fc->timeout_callout, hz,
-	    firewire_watchdog, sc->fc);
+	    firewire_watchdog, sc);
 
 	/* create thread */
 	kproc_create(fw_bus_probe_thread, fc, &fc->probe_thread,
@@ -1048,39 +1047,47 @@ fw_tl_free(struct firewire_comm *fc, struct fw_xfer *xfer)
 }
 
 /*
- * To obtain XFER structure by transaction label.
+ * Look up an XFER by transaction label.
+ * Removes the xfer from fc->tlabels only when AT transmit has completed
+ * (FWXF_SENT); FWXF_START xfers remain so fw_drain_txq() can find them
+ * on a bus reset.
  */
 static struct fw_xfer *
 fw_tl2xfer(struct firewire_comm *fc, int node, int tlabel, int tcode)
 {
 	struct fw_xfer *xfer;
-	int s = splfw();
 	int req;
 
 	mtx_lock(&fc->tlabel_lock);
-	STAILQ_FOREACH(xfer, &fc->tlabels[tlabel], tlabel)
-		if (xfer->send.hdr.mode.hdr.dst == node) {
+	STAILQ_FOREACH(xfer, &fc->tlabels[tlabel], tlabel) {
+		if (xfer->send.hdr.mode.hdr.dst != node)
+			continue;
+		/* Validate tcode match before claiming the xfer. */
+		req = xfer->send.hdr.mode.hdr.tcode;
+		if (xfer->fc->tcode[req].valid_res != tcode) {
+			printf("%s: invalid response tcode "
+			    "(0x%x for 0x%x)\n", __func__, tcode, req);
 			mtx_unlock(&fc->tlabel_lock);
-			splx(s);
-			KASSERT(xfer->tl == tlabel,
-				("xfer->tl 0x%x != 0x%x", xfer->tl, tlabel));
-			/* extra sanity check */
-			req = xfer->send.hdr.mode.hdr.tcode;
-			if (xfer->fc->tcode[req].valid_res != tcode) {
-				printf("%s: invalid response tcode "
-				    "(0x%x for 0x%x)\n", __FUNCTION__,
-				    tcode, req);
-				return (NULL);
-			}
-
-			if (firewire_debug > 2)
-				printf("fw_tl2xfer: found tl=%d\n", tlabel);
-			return (xfer);
+			return (NULL);
 		}
+		/*
+		 * Remove from tlabels only after AT transmit completes
+		 * (FWXF_SENT).  Early responses (FWXF_START) must stay
+		 * in the list until fwohci_txd() drains the descriptor.
+		 */
+		if (xfer->flag & FWXF_SENT) {
+			STAILQ_REMOVE(&fc->tlabels[tlabel], xfer,
+			    fw_xfer, tlabel);
+			xfer->tl = -1;
+		}
+		mtx_unlock(&fc->tlabel_lock);
+		if (firewire_debug > 2)
+			printf("fw_tl2xfer: found tl=%d\n", tlabel);
+		return (xfer);
+	}
 	mtx_unlock(&fc->tlabel_lock);
 	if (firewire_debug > 1)
 		printf("fw_tl2xfer: not found tl=%d\n", tlabel);
-	splx(s);
 	return (NULL);
 }
 
diff --git a/sys/dev/firewire/firewirereg.h b/sys/dev/firewire/firewirereg.h
index d17f7a15785a..97a53606c001 100644
--- a/sys/dev/firewire/firewirereg.h
+++ b/sys/dev/firewire/firewirereg.h
@@ -69,6 +69,7 @@ struct fw_device {
 struct firewire_softc {
 	struct cdev *dev;
 	struct firewire_comm *fc;
+	int watchdog_clock;
 };
 
 #define FW_MAX_DMACH 0x20

From nobody Mon Jun  8 15:09: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 4gYwRj5y3Qz6gCmP;
	Mon, 08 Jun 2026 15:09:05 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R12" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYwRj5GNtz4KTc;
	Mon, 08 Jun 2026 15:09:05 +0000 (UTC)
	(envelope-from des@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780931345;
	h=from:from:reply-to:subject:subject: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=BbI48Du9mFyU/V9VO8Dk0QWmX6eD6Og+lxHK3fXtT7Y=;
	b=qAOkDjkVW8vBoInC1xoEYigWfvofBszclEvpHd4JAoHEIol8GJrPa+MROEE7x9xp9AOgSI
	k81HOSFxsTSBPpmjFZwavbi5BreO9Xor9wxglGI8QHCXylaMn0hetB1wZ8bunSgpWxvcPz
	d+SU+hMOYhEhZ2DrDTkYwp2LI4KwUZeZLIXCj+1XMsbeuLNrO8FTkqu8Jcs8De3ddKn+z9
	uzIuCdtBUc2rOawEW3OCb4Zm45DxZ5pvmxVA/MsRhD0aVNiPH4mSqbJWvY3ix891uNEQkj
	5/pzy782OWZeywHOfDt14NOfx5YQE+Mva3R4RqK5+buGw8sTaJxeLzy+LfUxhg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780931345; a=rsa-sha256; cv=none;
	b=xbBbmYu5CG/kts3nGmC3vJqKIlqi7Y2LJQ2TkffHHfO0FlACN3SGDZfAatShC0kAOdKHQw
	566Eg3mjArVho5k4Yf9/sHe97CVNL/Tp7ouzjSKP57CP2ks5lPVr6HH9TC+pPqN3GN8Pqf
	KnUlPlXVbDXH3IRK/J+eUHec75MKtKNRYH/Pc6yoASkfr4nKn9rewEMJklHDwh88UcbE6q
	L0sCdmFTKy7FG2vD2Ps0YDZcvkLiE2P0CS5wZyTm5cbL6UH1fV5XeIIuyAdmriwUxA4gEO
	EwJWoS7SM0FPIb1GIy/rVx4eU70SPsinTRKJ/GeFUXTp/ArQrbHNZKB7ZVXvIA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780931345;
	h=from:from:reply-to:subject:subject: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=BbI48Du9mFyU/V9VO8Dk0QWmX6eD6Og+lxHK3fXtT7Y=;
	b=WH/ySexkveitkGedEUf9OtqUI7fZavVv2gqVrXJy0SJef2qt94Pod0YdYXTHN+U93S3BW8
	5IB+eKKXfkCGukWUmfD2Ly79HC6Z/Xeu+PcGbIoOtvnVHUt1MK/kQaU+in8dX+KFDHR+A2
	HV2yrBg/fg8BzLcW2bZFC18mLca5nhHSunV2Wq6C9Ub+85f+YU6xu3FHh2RFzh8E5stFJ4
	R+WerM9gsX7hXO81nyezk1FY16OTx1IyTsfdiguriN6EG57pbeWGNFViuL2wMeIGsb8ZPw
	lWmfzosYCBCR0dvN/NJ6NHVEYAEhBHFBf+MR5ZbdPvpCyCuO5KA59Vo0307Bfw==
Received: from ltc.des.dev (unknown [92.183.12.56])
	(using TLSv1.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 4gYwRj3wq7z13Vq;
	Mon, 08 Jun 2026 15:09:05 +0000 (UTC)
	(envelope-from des@freebsd.org)
Received: by ltc.des.dev (Postfix, from userid 1001)
	id 797E1AF132; Mon, 08 Jun 2026 17:09:04 +0200 (CEST)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>
To: Jessica Clarke <jrtc27@freebsd.org>
Cc: "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>
Subject: Re: git: ddf6fad0295a - main - etcupdate: Make nobuild the default
In-Reply-To: <8E2A1D1D-F83C-4583-82B4-53B869507627@freebsd.org> (Jessica
	Clarke's message of "Fri, 5 Jun 2026 17:19:22 +0100")
References: <6a22f100.42af1.51deb269@gitrepo.freebsd.org>
	<8E2A1D1D-F83C-4583-82B4-53B869507627@freebsd.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Mon, 08 Jun 2026 17:09:04 +0200
Message-ID: <86ecihqdbj.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

Jessica Clarke <jrtc27@freebsd.org> writes:
> Dag-Erling Sm=C3=B8rgrav <des@freebsd.org> writes:
> > commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d
> > Author:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
> > AuthorDate: 2026-06-05 15:53:25 +0000
> > Commit:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
> > CommitDate: 2026-06-05 15:53:25 +0000
> >=20
> >    etcupdate: Make nobuild the default
> >=20
> >    The common case for etcupdate is to run it after building and instal=
ling
> >    the world, in which case we already have an object directory to draw=
 on.
> >    Add a -b option to turn nobuild off (opposite of -B), and turn nobui=
ld
> >    on by default.
> >=20
> >    MFC after:      1 week
> Changing the default here seems like it might not be appropriate for MFC?

On the contrary, the reason I'm switching is that the current default is
harmful.

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

From nobody Mon Jun  8 15:13: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 4gYwXf6FNQz6gCrg
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 15:13:22 +0000 (UTC)
	(envelope-from jrtc27@jrtc27.com)
Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "smtp.gmail.com", Issuer "WR4" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYwXf4CvFz4L3P
	for <dev-commits-src-main@freebsd.org>; Mon, 08 Jun 2026 15:13:22 +0000 (UTC)
	(envelope-from jrtc27@jrtc27.com)
Authentication-Results: mx1.freebsd.org;
	none
Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-490ac10e337so41270255e9.3
        for <dev-commits-src-main@freebsd.org>; Mon, 08 Jun 2026 08:13:22 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780931601; x=1781536401;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IsFxY3+x71OoTYY2XGmczyG6cR/nxC4XSyG0sSXp3oI=;
        b=WWy6MZyvxK1GZur4IPixYNYAzX38iLbnWHiyWvIbyghkUQ6PeoCrfJFspSHHXpFwmO
         73Ae6zt4MPYrqn67f02kYWZ7NUidvzPrTQ4djGa4yAsXxMTyb8p4B1/fuFXQ0o9af3dS
         6oMLBh1G/wqf7XaVQ37TafPqYxxq8/OTHkBFO6IbKwxCS1xc3LUhU3IGkD9sVXXOvN95
         I6+XJErr4ej4KKakHvAQVLJz9VSMA3VbyYENINJgIjFuTRAhAkUWKcu/fbksdTfJ6U+g
         stavo9art7nScd8QP6ElzTCknMLlB1jcbqQeKRgi/ErhR3A4ZxFt7jmyafpIStWUb8ba
         WVVQ==
X-Forwarded-Encrypted: i=1; AFNElJ8YL5vsyB7Yubm7oJUpKjufSXMo3ZG7WoZHoQ+JlrMZYPE/PEYYLFUS7x0j+C4Vg9kbc2mm6LrJpkW3yGp/IBECi29wXQ==@freebsd.org
X-Gm-Message-State: AOJu0YwCF1G5mJI0OYyIE2cdriw/GSDOv5Ud+IfFTwO3ZhvWreMvqbbY
	i1YIoydEhuLmF/ex8aK/WTz+oIql4/jpRo3+7V189DdF32r2YJJ+iZkDjkWCGFCH4Q0=
X-Gm-Gg: Acq92OHi2V0xkBDIllAyx5c0Z48RNb1ulR6wyghJCHibGn5JfMXM/X5PtJ4tI4hoqTV
	LcTG5usRZ7y8XXpzClOisdaCBxQh2/nGEdA4/vTpFKaLw/Ivq4wxOj3ETdIm6y1Wyb8GtuUVVmh
	VrCUP0RbEOndHXoRqron5zJRkvu0Rx7zgeQU4xSIPd8QyEbGfZJCoVrRwwF9tV2R/isbVpIcVkS
	YBE1/XEuC+pOkSJVTkuBclmfsOCFKGmV8fxyFVJ6co7pOyr+D6gJib9fWVywa3WbRgQJuTi1AXx
	5SX8WBtl/O822RRa/Va7Fr9mPE0dJ1EnDnju3+qDrkOFNPcQeMaZS51HBy8iYMV2XAp0iaEtMzZ
	jbevgmho2PPkTe5KNIDV4MgkVqLWJdB4oI6BQV1AUIlAkFvKqRGAjuT7JuKODEVa8kSt74CNjJg
	iI/BCEEFMv52lM3EvDA3JRPHqGA/IFXf/mUunPqGiUnZDFoLctgI7tIRdpOZW2NIvbxiaP5iTqU
	jJeFg==
X-Received: by 2002:a05:600c:6094:b0:490:4b89:5362 with SMTP id 5b1f17b1804b1-490c2609cecmr266798115e9.24.1780931600855;
        Mon, 08 Jun 2026 08:13:20 -0700 (PDT)
Received: from smtpclient.apple (nat-184-89.net.cam.ac.uk. [131.111.184.89])
        by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490bc3cbfe4sm410335565e9.7.2026.06.08.08.13.19
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 08 Jun 2026 08:13:19 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
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.600.51.1.1\))
Subject: Re: git: ddf6fad0295a - main - etcupdate: Make nobuild the default
From: Jessica Clarke <jrtc27@freebsd.org>
In-Reply-To: <86ecihqdbj.fsf@ltc.des.dev>
Date: Mon, 8 Jun 2026 16:13:09 +0100
Cc: "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>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D1BF14A1-5D5E-4C44-BC0C-BEA9DBAC62EA@freebsd.org>
References: <6a22f100.42af1.51deb269@gitrepo.freebsd.org>
 <8E2A1D1D-F83C-4583-82B4-53B869507627@freebsd.org>
 <86ecihqdbj.fsf@ltc.des.dev>
To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@freebsd.org>
X-Mailer: Apple Mail (2.3864.600.51.1.1)
X-Spamd-Result: default: False [-4.00 / 15.00];
	REPLY(-4.00)[];
	ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]
X-Rspamd-Queue-Id: 4gYwXf4CvFz4L3P
X-Spamd-Bar: ----
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated

On 8 Jun 2026, at 16:09, Dag-Erling Sm=C3=B8rgrav <des@freebsd.org> =
wrote:
>=20
> Jessica Clarke <jrtc27@freebsd.org> writes:
>> Dag-Erling Sm=C3=B8rgrav <des@freebsd.org> writes:
>>> commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d
>>> Author:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
>>> AuthorDate: 2026-06-05 15:53:25 +0000
>>> Commit:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
>>> CommitDate: 2026-06-05 15:53:25 +0000
>>>=20
>>>   etcupdate: Make nobuild the default
>>>=20
>>>   The common case for etcupdate is to run it after building and =
installing
>>>   the world, in which case we already have an object directory to =
draw on.
>>>   Add a -b option to turn nobuild off (opposite of -B), and turn =
nobuild
>>>   on by default.
>>>=20
>>>   MFC after:      1 week
>> Changing the default here seems like it might not be appropriate for =
MFC?
>=20
> On the contrary, the reason I'm switching is that the current default =
is
> harmful.

Any user relying on this (yes, harmful for the majority of cases)
default for a current release would be rightfully annoyed that a minor
release changed the command-line interface in a breaking manner, IMO.

I won=E2=80=99t block you MFCing this in its entirety, but that breakage =
is on
you if a user encounters it.

Jessica


From nobody Mon Jun  8 16:36:03 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gYyN345Mmz6gLdM
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 16:36:03 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYyN33S7yz3DJn
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 16:36:03 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780936563;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=+hxSd8FlRX484l9O5GDKG76ZWSpEpxYcve11YTTRs54=;
	b=dfwPIL5CLZULDwW3+/w1CYUjXBKTPOc5hi44377xKOF+yl2WAqMfvIBDjv/t/jupLm5gyo
	ZzxSMvUYr3qeJ080k63jp2yh1KXjf0XeZQDjyvPDVuY9DiTfSn9JmueDvUuccFxVKfH59C
	RFLyOdoJFHu76dlcMrISEff727lB2l+7b6ZIYv0jAkOfKnupB8YWR3igv4CwNjbsOCNB3k
	FFHjpiRo/NqvK7LXIIjoRd1z1YidjpgfOutbJhlc2/TZQqg4hhhnKxyeFJhs2W5+omIvCc
	Yp9dXMOGd6JiIe7LBYEtbDGMgptvV4EWYC8MSZUlSbvOjitIlmmAqCr51NhIlQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780936563; a=rsa-sha256; cv=none;
	b=wLx2JqDKM7I5kDHk7/gVj6PIVGniyOen6aMJbC/J1gk+zEGVVLwyk9o/blC0iaowo4+5XZ
	Q/hi5s7tELxi1E83L0uRF9ccTw6y31N7w7paHBUilqK4+0q6N1fU1AM7V0zGqF9G5LVk3v
	MPmyU/ajohig1FNaBqVTm1+MZSiTMzu3sMbYcDR44j56HS+XdRQOaa4yEPfaAejh+LCRcc
	CyJgsKYP7dHoe0JBuxznJpuKz/7whXP1Kym9TdT5wkgO/Zu/IooiUF7oNBgV0KvVW5S1EI
	U7aRY0tloFbeqLOQe37ODxO6Pn8UMHeJyBHJdDf6xyxtbExxHyplNO9/itF35A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780936563;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=+hxSd8FlRX484l9O5GDKG76ZWSpEpxYcve11YTTRs54=;
	b=G0phRgOkbDQasHDE7C6bfWoxh/vuuo5cKdtYHRi3IGjIM0U/I8ynXFFzF3hvDZPJZkYrTN
	gb5tBJfzglU7JPB0N1I4dpWcGw3g+e0h3zIOlvD/etByOoEFIMHPBhs7WbYMa22jLmY60V
	zyoVhOd3DV6lRX7t1vCMe5YaWV4BWz8JT68uWdSi5Y9WH+FSflyFQV/bfwRE1Y5m3wSpvb
	ha6JTETpNfGVrfzBlt9F2eOFtvPfaybQZRBKthqz+uJOHPmbtvXZjyajpgYY+TNaj1zBmI
	WwhkzSoexb9E5phbJLHaUFJN4tg/FwSWzgxVYlPNHt0iTpoPApbaaj1M0JTyDg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYyN330Z6zvtR
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 16:36:03 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 24047
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 16:36:03 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Gleb Smirnoff <glebius@FreeBSD.org>
Subject: git: 256fa87c9fc3 - main - netgraph: remove remnants of IPPROTO_DIVERT
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: glebius
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 256fa87c9fc31d67c3da27dd1aac0c42db3dcf41
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 16:36:03 +0000
Message-Id: <6a26ef73.24047.737593d8@gitrepo.freebsd.org>

The branch main has been updated by glebius:

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

commit 256fa87c9fc31d67c3da27dd1aac0c42db3dcf41
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2026-06-08 16:35:07 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2026-06-08 16:35:07 +0000

    netgraph: remove remnants of IPPROTO_DIVERT
    
    Fixes:  8624f4347e8133911b0554e816f6bedb56dc5fb3
---
 share/examples/netgraph/ngctl | 2 +-
 sys/netgraph/ng_ksocket.c     | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/share/examples/netgraph/ngctl b/share/examples/netgraph/ngctl
index c879cbea7b0f..7ee572b4d7c0 100644
--- a/share/examples/netgraph/ngctl
+++ b/share/examples/netgraph/ngctl
@@ -36,7 +36,7 @@
     + mkpeer ksocket foo divert/raw/0
 
 # Note that ``foo'' is the hook name on the socket node, which can be
-# anything.  The ``inet/raw/divert'' is the hook name on the ksocket
+# anything.  The ``divert/raw/0'' is the hook name on the ksocket
 # node, which tells it what kind of socket to create.
 
 # Lets give our ksocket node a global name.  How about ``fred'':
diff --git a/sys/netgraph/ng_ksocket.c b/sys/netgraph/ng_ksocket.c
index 74b2e211c0ed..bb5d56eabb86 100644
--- a/sys/netgraph/ng_ksocket.c
+++ b/sys/netgraph/ng_ksocket.c
@@ -165,7 +165,6 @@ static const struct ng_ksocket_alias ng_ksocket_protos[] = {
 	{ "ah6",	IPPROTO_AH,		PF_INET6	},
 	{ "swipe6",	IPPROTO_SWIPE,		PF_INET6	},
 	{ "encap6",	IPPROTO_ENCAP,		PF_INET6	},
-	{ "divert6",	IPPROTO_DIVERT,		PF_INET6	},
 	{ "pim6",	IPPROTO_PIM,		PF_INET6	},
 	{ NULL,		-1					},
 };

From nobody Mon Jun  8 17:03: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 4gYyzl6Hkdz6gNZ0
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 17:03:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gYyzl5dgZz3GHJ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 17:03:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780938211;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=st2N3Qc7ESjB0jQnwJ/y/YVqcqeFwL69d/byrbIoukM=;
	b=sdKxFKrfwm23nhJsk695E9MXYRPum3uE7QohWlfNPEiFRHlHaWOX7OtnlE1YH/0MvekdcB
	sw9Z6RbEzuKFqh4l2ai8nGM59BAym7L5kn94wGGXF5Y8vptIzkDCfQSb42eLyEPEAR7QAw
	OT/hGMOr50TffiXm/p11I9LfH9y/87HPSiU+E4h8lriEvymtQ8wjF92qnbyGy34acU3HLB
	xUDqtCBmfVFkSSg1ggP7BkWk9P+7CfsDa2I2MzhhF07n79jZjHjqwyPqtvOuYkK12/8P5M
	ANd0z2j57C8mefmt9v65GJvAwVodSTvUJvxIVLZmMA4BfkdGaeomhAwRdLa1mg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780938211; a=rsa-sha256; cv=none;
	b=j3KQn7XUjyBj93dNCwO5LFHz9zucgl5omzz3PUK0uci6PEfaIixkZZw7BQy/c7ANZP871f
	AYL68MEIWyTEDoKhB1oKTF40vlfg3jRdxP4g/BJCUg1v3qW1+5TXy7Jp6DXdEQqNUHTrHb
	79FxqYf6E4MW8MNbhydde3u8TsT8Hi55pC3DgwgBggbDB6WcuYxzjZn7vb71lRqEYS62PR
	X31YL67PrU93lH8hH1WEen5iZQTM+a4D8gEkd75gavZ9iuQkQ45iMwReewOSrLvDsD+W8q
	JkbtUmlvifd8u7sisrkuNB8pNS8+n5HTOvRpOqS2nZdROilsCswskrPn7at2IQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780938211;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=st2N3Qc7ESjB0jQnwJ/y/YVqcqeFwL69d/byrbIoukM=;
	b=OwPSyt7zK3PAhZ/xsvGEfKglyabBbPiZ70EcEhZz7RhALV1zWtbJJZ7sw0PWFs9nI6VJ51
	KgxqWOEhXyhFZbp5AReWE1VqfApBYLgjfvnBF5ZnTrT9T0+Pf6u9WbQZ7arWwJk4pfy/Z3
	0y4BHenW664pLyWsbU1MNRUTDvmTvsZ0XMI8VKGebVPxL4kcwO0h91u7cP0AVWQp1NpQ3D
	ofjjWsdj3YfXIQ7h1PWkAuDPbs97jmaWkRDQ6+IdSGs1aG0ZZsFYjjd4e+8yvaYmeMThcA
	mIeO5V/+psBfZwvRvJt8ZLuvctJ+SCXq/Uj2n4coq1uciAzQdAevqAJGfVGizQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gYyzl58zrzx2M
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 17:03:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 25edf
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 17:03:31 +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: 0b269737f9ca - main - imgact_elf: handle unaligned phdrs
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: 0b269737f9ca057826a6c9376c2474b1ae5bc91c
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 17:03:31 +0000
Message-Id: <6a26f5e3.25edf.4c6a5357@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 0b269737f9ca057826a6c9376c2474b1ae5bc91c
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-08 01:22:51 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-08 17:02:13 +0000

    imgact_elf: handle unaligned phdrs
    
    Althought non-compliant, there are binaries which have the phdrs placed
    unaligned in the image.  Since we have the code to allocate memory for
    off-page phdrs, the same code path can be used to handle unaligned
    phdrs.
    
    Relax the requirement for both the activated image and interpreter.
    
    PR:     295629
    Reviewed by:    emaste, markj, olce
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57498
---
 sys/kern/imgact_elf.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index b889c4a14866..46908f01097b 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -858,12 +858,12 @@ __elfN(load_file)(struct thread *td, const char *file, u_long *addr,
 		goto fail;
 	}
 
-	if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr) ||
-	    hdr->e_phnum > __elfN(phnums)) {
+	if (hdr->e_phnum > __elfN(phnums)) {
 		error = ENOEXEC;
 		goto fail;
 	}
-	if (__elfN(phdr_in_zero_page)(hdr)) {
+	if (__elfN(phdr_in_zero_page)(hdr) &&
+	    aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) {
 		phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff);
 	} else {
 		VOP_UNLOCK(imgp->vp);
@@ -1157,10 +1157,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
 	free_interp = false;
 	m_phdrs = NULL;
 
-	if (!aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) {
-		uprintf("Unaligned program headers\n");
-		return (ENOEXEC);
-	}
 	if (hdr->e_phoff + hdr->e_phnum * hdr->e_phentsize < hdr->e_phoff) {
 		uprintf("PHDRS wrap\n");
 		return (ENOEXEC);
@@ -1170,7 +1166,8 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
 		    hdr->e_phnum, __elfN(phnums));
 		return (ENOEXEC);
 	}
-	if (__elfN(phdr_in_zero_page)(hdr)) {
+	if (__elfN(phdr_in_zero_page)(hdr) &&
+	    aligned(imgp->image_header + hdr->e_phoff, Elf_Addr)) {
 		phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff);
 	} else {
 		VOP_UNLOCK(imgp->vp);

From nobody Mon Jun  8 19:33:10 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZ2Jh06RJz6gcqM
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 19:33:24 +0000 (UTC)
	(envelope-from eduardo@freebsd.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R12" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ2Jg4vwmz3ghv
	for <dev-commits-src-main@freebsd.org>; Mon, 08 Jun 2026 19:33:23 +0000 (UTC)
	(envelope-from eduardo@freebsd.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780947203;
	h=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=G/cxXMtWWPSBLRpd1fMwIQnNNGRhsC1XjEirMVQ31OY=;
	b=K30UrZ30eFGQVLHxXnkFEuomk4ZZBZ6/86gsVWBDsV0EzGPrREwSurwdf3x7ZqrF2bJzjV
	srlmNK+0HBDjRghQ6As/LzWxqxgewgeHdhqFA0oe5hOvdQrDSo9h6ZHpswcQhVU4T5rcwj
	e8fqkf+gjE2qXw26OBxQaTIBhRunjJohu2SnDI8EhfJxyyjBlTpLvG7ymQWPVtGwr5oIsR
	/TlL0dI45YodVN5++g1d1zxtPTjTQWANlxYMaPSEutPTNOCryWR/JtQ8j7wWNv9EDpXU9o
	7Qwp9gP2/fM+qGFlXOdCwfUUrsoJfENljEDa5LCUiQN64Mcf+NrVJtibGmIcCg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780947203; a=rsa-sha256; cv=none;
	b=Mh3T2wbLKPmzhZjWw8nIPrIgjHF/R2BbirWV0qtAGJ8ywt1ThnWnMdgwwd32yqWWH0s2GW
	sVDqU++LYA6oiG6B1RP4PNR7iTHmsOnrvXlzzkCb7YGZshZnQV3IdBefyD0PICTW+hbgR1
	k7GM2g/MQdhF2JnjNvCnU3HcPBBFG+IaQ/9sfMClCB53PZtgy0cCl8vJ2mMcbquMj9EMGc
	nZmlc3DbkCZunDbCoOdx2kRfknbD4nowDVWa/fnsFVlIJCRvjcgW1BPlVNTKnkBLg5RU4A
	YQ0kihPRC9gG5JUllciKRK0EsZt3lrfOYmSAYhBxxoMIkRD4uO2PuO4quFwmyQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780947203;
	h=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=G/cxXMtWWPSBLRpd1fMwIQnNNGRhsC1XjEirMVQ31OY=;
	b=NOHLWAmsJ2pP+9+22ckXy080oe1SU1+kr7r028LA38GQf9elI+DBheFF6QVCWbdVfC1xkV
	4wdfQI6sLWQoyfAew1uiSBVIWsbLz6trPKDUsu08QgHN5Npo8t2YDJdMVObBnbxGFkFOhU
	4ffDq5sJddL5DDTM5Ntg7UpCGpUiEkiKzLz5DL2F8Yf214xO6gl332VpBiFBYaw9pKGYiR
	Le7Q5gg0bBk+0AxzpZPUf0iHxucCcOOIc/vUvrjb/O5Mpumlxnm1qwYa/dG/DTfKbK53P9
	UVQChJFi3Xs2pMQzZXh8ZYUmmN0vVJ6EO2yEYJd+btDJiLoN4ly6O/fgO5bDug==
Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "smtp.gmail.com", Issuer "WR4" (verified OK))
	(Authenticated sender: eduardo)
	by smtp.freebsd.org (Postfix) with ESMTPSA id 4gZ2Jg4F7fz19lC
	for <dev-commits-src-main@freebsd.org>; Mon, 08 Jun 2026 19:33:23 +0000 (UTC)
	(envelope-from eduardo@freebsd.org)
Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-39666c7c910so4131961fa.2
        for <dev-commits-src-main@freebsd.org>; Mon, 08 Jun 2026 12:33:23 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AFNElJ96LXZj21ZScldAT8OdFi4rxJHMn+4eUBo1ntZT5bvmtd8rQoUdsKy/2vDKjnEYum5AaGBu+JIoy99tgOV7e/ufrycGGA==@freebsd.org
X-Gm-Message-State: AOJu0YyTYdo/+/u1VOvEtkAZtRjTei9LtjkCvFxUqfg6QsXj3OzR9Wlj
	mq1f36W1X481vPoRhSwbHe3jXUVzbxe7wBDMypPv8sPswsBqBUgX1+hAy5J9Bvi2Kgvesq92Z3P
	D3jf+FhrnMkwDTmrwtZDvIMccYlIwiSs=
X-Received: by 2002:a05:651c:18cb:b0:38a:325a:8a0b with SMTP id
 38308e7fff4ca-396d0a10734mr19879271fa.5.1780947202033; Mon, 08 Jun 2026
 12:33:22 -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: <6a21bc18.2040e.38ce0e7e@gitrepo.freebsd.org>
In-Reply-To: <6a21bc18.2040e.38ce0e7e@gitrepo.freebsd.org>
From: Nuno Teixeira <eduardo@freebsd.org>
Date: Mon, 8 Jun 2026 20:33:10 +0100
X-Gmail-Original-Message-ID: <CAFDf7U+rDjSqju8qd564GCojZHh0iq835HJzXDhOoCM8OSTSaQ@mail.gmail.com>
X-Gm-Features: AVVi8Ce5xzbyZMryNCGXAhkVct0cEBnvUa0kZtd6h_UQrhADEPz-l-lk9hrAe6w
Message-ID: <CAFDf7U+rDjSqju8qd564GCojZHh0iq835HJzXDhOoCM8OSTSaQ@mail.gmail.com>
Subject: Re: git: 453968c78d27 - main - uipc_usrreq: revert addition of
 EMPTYPATH for bindat(2)
To: Konstantin Belousov <kib@freebsd.org>
Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, 
	dev-commits-src-main@freebsd.org
Content-Type: multipart/alternative; boundary="000000000000574e000653c31544"

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

Hello Konstantin.

I'm geting a testunit failure on devel/aws-c-io reported at
https://github.com/awslabs/aws-c-io/issues/803 that might be related to
this change.

Any clues how to deal with it?

Thanks,

Konstantin Belousov <kib@freebsd.org> escreveu (quinta, 4/06/2026 =C3=A0(s)
18:55):

> The branch main has been updated by kib:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=3D453968c78d27ed5c90562a1178f34fe=
8d616bf40
>
> commit 453968c78d27ed5c90562a1178f34fe8d616bf40
> Author:     Konstantin Belousov <kib@FreeBSD.org>
> AuthorDate: 2026-06-04 17:26:09 +0000
> Commit:     Konstantin Belousov <kib@FreeBSD.org>
> CommitDate: 2026-06-04 17:55:11 +0000
>
>     uipc_usrreq: revert addition of EMPTYPATH for bindat(2)
>
>     The caller wants the parent vnode, which cannot be provided for
> emptypath
>     lookups.
>
>     Reported and reviewed by:       markj
>     Fixes:  12c590a9abd7 ("bindat(2)/connectat(2): allow implicit
> EMPTYPATH for unix domain sockets")
>     Sponsored by:   The FreeBSD Foundation
>     MFC after:      1 week
>     Differential revision:  https://reviews.freebsd.org/D57448
> ---
>  lib/libsys/open.2      | 4 +---
>  sys/kern/uipc_usrreq.c | 5 ++---
>  2 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/lib/libsys/open.2 b/lib/libsys/open.2
> index defc593b15ce..7915f7e8ef0a 100644
> --- a/lib/libsys/open.2
> +++ b/lib/libsys/open.2
> @@ -447,11 +447,9 @@ The other functionality of the returned file
> descriptor is limited to
>  the following descriptor-level operations:
>  .Pp
>  .Bl -tag -width __acl_aclcheck_fd -offset indent -compact
> -.It Xr bindat 2
> -for unix domain socket
> -.Pq see Xr unix 4
>  .It Xr connectat 2
>  for unix domain socket
> +.Pq see Xr unix 4
>  .It Xr fcntl 2
>  but advisory locking is not allowed
>  .It Xr dup 2
> diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
> index a798aaf4f871..920588627914 100644
> --- a/sys/kern/uipc_usrreq.c
> +++ b/sys/kern/uipc_usrreq.c
> @@ -612,9 +612,8 @@ uipc_bindat(int fd, struct socket *so, struct sockadd=
r
> *nam, struct thread *td)
>         buf[namelen] =3D 0;
>
>  restart:
> -       NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE |
> -           EMPTYPATH, UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights=
,
> -           CAP_BINDAT));
> +       NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOCKPARENT | NOCACHE,
> +           UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights,
> CAP_BINDAT));
>  /* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO's */
>         error =3D namei(&nd);
>         if (error)
>
>

--=20
Nuno Teixeira
FreeBSD UNIX:  <eduardo@FreeBSD.org>   Web:  https://FreeBSD.org

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

<div dir=3D"ltr"><div><div><div>Hello Konstantin.<br><br></div>I&#39;m geti=
ng a testunit failure on devel/aws-c-io reported at <a href=3D"https://gith=
ub.com/awslabs/aws-c-io/issues/803">https://github.com/awslabs/aws-c-io/iss=
ues/803</a> that might be related to this change.<br><br></div>Any clues ho=
w to deal with it?<br><br></div>Thanks,</div><br><div class=3D"gmail_quote =
gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">Konstantin Bel=
ousov &lt;<a href=3D"mailto:kib@freebsd.org">kib@freebsd.org</a>&gt; escrev=
eu (quinta, 4/06/2026 =C3=A0(s) 18:55):<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">The branch main has been updated by kib:<br>
<br>
URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D453968c78d27ed5c9=
0562a1178f34fe8d616bf40" rel=3D"noreferrer" target=3D"_blank">https://cgit.=
FreeBSD.org/src/commit/?id=3D453968c78d27ed5c90562a1178f34fe8d616bf40</a><b=
r>
<br>
commit 453968c78d27ed5c90562a1178f34fe8d616bf40<br>
Author:=C2=A0 =C2=A0 =C2=A0Konstantin Belousov &lt;kib@FreeBSD.org&gt;<br>
AuthorDate: 2026-06-04 17:26:09 +0000<br>
Commit:=C2=A0 =C2=A0 =C2=A0Konstantin Belousov &lt;kib@FreeBSD.org&gt;<br>
CommitDate: 2026-06-04 17:55:11 +0000<br>
<br>
=C2=A0 =C2=A0 uipc_usrreq: revert addition of EMPTYPATH for bindat(2)<br>
<br>
=C2=A0 =C2=A0 The caller wants the parent vnode, which cannot be provided f=
or emptypath<br>
=C2=A0 =C2=A0 lookups.<br>
<br>
=C2=A0 =C2=A0 Reported and reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0markj<br>
=C2=A0 =C2=A0 Fixes:=C2=A0 12c590a9abd7 (&quot;bindat(2)/connectat(2): allo=
w implicit EMPTYPATH for unix domain sockets&quot;)<br>
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation<br>
=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 1 week<br>
=C2=A0 =C2=A0 Differential revision:=C2=A0 <a href=3D"https://reviews.freeb=
sd.org/D57448" rel=3D"noreferrer" target=3D"_blank">https://reviews.freebsd=
.org/D57448</a><br>
---<br>
=C2=A0lib/libsys/open.2=C2=A0 =C2=A0 =C2=A0 | 4 +---<br>
=C2=A0sys/kern/uipc_usrreq.c | 5 ++---<br>
=C2=A02 files changed, 3 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/lib/libsys/open.2 b/lib/libsys/open.2<br>
index defc593b15ce..7915f7e8ef0a 100644<br>
--- a/lib/libsys/open.2<br>
+++ b/lib/libsys/open.2<br>
@@ -447,11 +447,9 @@ The other functionality of the returned file descripto=
r is limited to<br>
=C2=A0the following descriptor-level operations:<br>
=C2=A0.Pp<br>
=C2=A0.Bl -tag -width __acl_aclcheck_fd -offset indent -compact<br>
-.It Xr bindat 2<br>
-for unix domain socket<br>
-.Pq see Xr unix 4<br>
=C2=A0.It Xr connectat 2<br>
=C2=A0for unix domain socket<br>
+.Pq see Xr unix 4<br>
=C2=A0.It Xr fcntl 2<br>
=C2=A0but advisory locking is not allowed<br>
=C2=A0.It Xr dup 2<br>
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c<br>
index a798aaf4f871..920588627914 100644<br>
--- a/sys/kern/uipc_usrreq.c<br>
+++ b/sys/kern/uipc_usrreq.c<br>
@@ -612,9 +612,8 @@ uipc_bindat(int fd, struct socket *so, struct sockaddr =
*nam, struct thread *td)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 buf[namelen] =3D 0;<br>
<br>
=C2=A0restart:<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0NDINIT_ATRIGHTS(&amp;nd, CREATE, NOFOLLOW | LOC=
KPARENT | NOCACHE |<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0EMPTYPATH, UIO_SYSSPACE, buf, fd,=
 cap_rights_init_one(&amp;rights,<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0CAP_BINDAT));<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0NDINIT_ATRIGHTS(&amp;nd, CREATE, NOFOLLOW | LOC=
KPARENT | NOCACHE,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0UIO_SYSSPACE, buf, fd, cap_rights=
_init_one(&amp;rights, CAP_BINDAT));<br>
=C2=A0/* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO&#39;s */<br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 error =3D namei(&amp;nd);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (error)<br>
<br>
</blockquote></div><div><br clear=3D"all"></div><br><span class=3D"gmail_si=
gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><d=
iv dir=3D"ltr"><div><font color=3D"#888888">Nuno Teixeira</font></div><div>=
<div><font color=3D"#888888">
FreeBSD UNIX:=C2=A0 &lt;eduardo@FreeBSD.org&gt;=C2=A0 =C2=A0Web:=C2=A0 <a h=
ref=3D"https://FreeBSD.org" rel=3D"noreferrer" target=3D"_blank">https://Fr=
eeBSD.org</a><br></font></div></div></div></div>

--000000000000574e000653c31544--

From nobody Mon Jun  8 19:52: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 4gZ2k861Hrz6gf2p
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 19:52:00 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ2k83Swnz3m2R
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 19:52:00 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780948320;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Li5xPkQtDaSH5kuZZy8UdlEhkTXuEz+0tVJa50oUVRY=;
	b=NJ90W5fi6GACxGL3+L/zWqv8WVVaNYLCkse99RmAkFvpuBtFgFLsPIuDm2uIY35eqPL/0o
	s8gpKFDh0KBXIdDfWJasCxYDRodXEmF9BEnG5RErcdUzrEuqtsc/cwmiI6mWC5i6MG0u9f
	Jjz1fRTmgCrUFpbzXBXKNXeZP3u7XcX9tTukb85x4AML96RD+DFdT+AB8jtBeV32fwTQPv
	EjsPKOKKZaypx0qdm9u2EuUdAaVbriuvlT26BRIZkTDGZoDesBkPgybLw7udU1gh0o61bF
	vgaF5NM/iIlk9WadbVslCC7scuRZA4GX/6sALb0Fwgcyv5vRMOnTtrVQwwCjcg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780948320; a=rsa-sha256; cv=none;
	b=us9UzHpIWKZsXOkAIXsYPx8K6Vko+y2f0hVdJqYRinyvcMh/JMSedxcX/CFo2qYRMkrgsD
	7ZowJjcx8V0G3ptZakTH9/q5NLfmfsKRrtZQ6cke6dxStv1LUtAvi8J4rQoM52TC2icexV
	iUCxiww1ygtViYwOI8gzaiW9qZHcMk/Ajoqvqz7cm7Ng9jQnvXqjYomYZW3gZ4U/ZKo277
	5zn8J2cfUuYi0LNVQxWnnRrYIlnVH8faQiRk189l/cErKwc/Zw1s13OZBy5WasWK+bTmNn
	ATBYXb7c8/bUBf5AS/HkHFxLRQ+4lQQhRTpFtRJVvbw7EWwLtgfJueYSCzWJsQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780948320;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Li5xPkQtDaSH5kuZZy8UdlEhkTXuEz+0tVJa50oUVRY=;
	b=eczMs9738Uls2Trub/F+OjJrOE9ZNPHPpY087WX2g049cB2f8XgwqfMFnw4g9OnA877CMy
	wc98Uc1tfzYi31iFDsEeEjCum92Mrj15V6J8ZHsxoq0PFXua0DJEFsDJG0ttIWMIe5cVL/
	+Gp+meMN0PlzcQbKFRlqHDDN5KXzzVnzkEyTPcPHYaX6URj2EguVdXkOh9QD2jpEMjOkzb
	ZkgmygoZfQMhqFEJWEZtdCL7JkYydlnyH2I+Aa06wg6909BFd5lMCoEcfaiZDAk5kfEcSR
	njNfPzX8LbZziaWrX7NL4dhkRMjVaCiAACyw6IecUmE5IdzWS6cOp8XX4Vmoog==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ2k831h3z122L
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 19:52:00 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 4146c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 19:52:00 +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: 888d9236e224 - main - netlink: Use unsigned type in nl_process_nbuf
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: 888d9236e2249cb1bda686aca8729fdcc69a10ac
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 19:52:00 +0000
Message-Id: <6a271d60.4146c.6180cf37@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit 888d9236e2249cb1bda686aca8729fdcc69a10ac
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-06-05 19:16:53 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-06-08 19:51:35 +0000

    netlink: Use unsigned type in nl_process_nbuf
    
    nlmsghdr::nlmsg_len and nl_buf::offset are u_int.  Make msglen match.
    
    Reviewed by:    pouria, glebius
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57474
---
 sys/netlink/netlink_io.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c
index 9646eb2650d5..51c87d229717 100644
--- a/sys/netlink/netlink_io.c
+++ b/sys/netlink/netlink_io.c
@@ -345,9 +345,11 @@ nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp)
 	};
 
 	for (; nb->offset + sizeof(struct nlmsghdr) <= nb->datalen;) {
+		u_int msglen;
+
 		hdr = (struct nlmsghdr *)&nb->data[nb->offset];
 		/* Save length prior to calling handler */
-		int msglen = NLMSG_ALIGN(hdr->nlmsg_len);
+		msglen = NLMSG_ALIGN(hdr->nlmsg_len);
 		NL_LOG(LOG_DEBUG3, "parsing offset %d/%d",
 		    nb->offset, nb->datalen);
 		npt_clear(&npt);

From nobody Mon Jun  8 20:14: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 4gZ3DM4KGKz6gghf
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 20:14:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ3DM37f2z3rXT
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:14:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780949683;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HsWSIqK0ectdEWzFH6adquF+T+v4Gr9bqLp+OLMGnc0=;
	b=C/SMEHgBvIxHy609AltmXdqQeQgPuTvqbwgaLrCJfzv7yd3Cxyk+7p3/1VphGCvYTDauU/
	BDlX7PqBlB9yvxCXJvStiXiVTzCe3neLgl3OMLqULi6dSjD8qw8Win7NTcNRyGBMoyeugO
	PiUh4+gMtrfoKmc9xDAsEXg9E3OxZWHuWaXVJ/acSP8uBXxwoG+opu/+QQqQftcGke2Dj9
	11nBZKxCDR58He60BOFCsq3on4msHEWBTKRq4Ze4TCj7NFUuTSCDm3cbHwMqgHqAb/cKuy
	6T7u00b6bjQ0VdbLyfUBVPftAt14PoRO7mYdVzzyCxwOkyKfjNIqvcndsoeevw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780949683; a=rsa-sha256; cv=none;
	b=f0Pem5cFbWIXpXAgbtd3EPL/QapgRnjgMGtbeiSaSp2U9vHiosTPucyVmifiGWvmQmJubB
	qWihNft5l0o2sR/Ob+t0uemKqLEZ/2Akelvp7hHoHEx56BmMFugjWvrMAgmFGa/SSz0ppl
	8P+moOxw0FV7L4/YX5QDE1XpyViAqnxz5uoG3OIE7R4lOfr0wx0GiUECsrZSbB3hMQLp7B
	ObTvdDqiq1mDJYFpDfMpxJ0DUZqiAvMXRom5Gh11p4/Cp3aF6zAVsLzzOXwvOjBamZmCdc
	QSD7aPYbSrPiCDrumM5255XrEJv1JFX3gqtLd8flefuu56CqwIWGexVF0/Ujaw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780949683;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HsWSIqK0ectdEWzFH6adquF+T+v4Gr9bqLp+OLMGnc0=;
	b=Wbr6sWGMHUQz7CbFRQwMVzBniMrWI90lCz9YbOCHwtoFgq4Nczo4H7pfAYWYJx929ok2Dt
	76EvX4cmQULx9q4SQJ7Xcx4Pyt6aYzNftZ+gP6TlNerEspV2wLHoKM/6Mv2o/OfzJFL7+p
	57Nj1vfbV//p8W4QNJORJxatYg0+a7o1XVx/FgB1zOjlcEqZKPoNSBccUN0tPuWlTm40t+
	WW2vorv9BTNRSlT9uCwDtWAXg4ghq673kqq1Vs/9Ss2NZasjM/qkWZp5pQ6CpAze0yiI33
	0pYvGp9UoAlv7oVDexIIg39iD/gCudTB/Rs3ekfNIDSvQug07H4ULaDkFvLTWg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ3DM2PBQz13KW
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:14:43 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 43997
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 20:14:43 +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: 9f378397ee89 - main - procstat binary: do not skip pid if either path or osrel sysctls failed
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: 9f378397ee89044a4faec522916b50f0a164d62e
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 20:14:43 +0000
Message-Id: <6a2722b3.43997.525fed57@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 9f378397ee89044a4faec522916b50f0a164d62e
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-07 07:28:29 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-08 20:14:20 +0000

    procstat binary: do not skip pid if either path or osrel sysctls failed
    
    PR:     295893
    Reviewed by:    emaste
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57493
---
 usr.bin/procstat/procstat_bin.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/usr.bin/procstat/procstat_bin.c b/usr.bin/procstat/procstat_bin.c
index 04482e5ee1ba..d3061c1ac420 100644
--- a/usr.bin/procstat/procstat_bin.c
+++ b/usr.bin/procstat/procstat_bin.c
@@ -35,6 +35,7 @@
 #include <errno.h>
 #include <libprocstat.h>
 #include <limits.h>
+#include <signal.h>
 #include <stdio.h>
 #include <string.h>
 
@@ -50,12 +51,13 @@ procstat_bin(struct procstat *prstat, struct kinfo_proc *kipp)
 		xo_emit("{T:/%5s %-16s %8s %s}\n", "PID", "COMM", "OSREL",
 		    "PATH");
 
-	if (procstat_getpathname(prstat, kipp, pathname, sizeof(pathname)) != 0)
+	if (kill(kipp->ki_pid, 0) == -1)
 		return;
-	if (strlen(pathname) == 0)
+	if (procstat_getpathname(prstat, kipp, pathname, sizeof(pathname))
+	    != 0 || strlen(pathname) == 0)
 		strcpy(pathname, "-");
 	if (procstat_getosrel(prstat, kipp, &osrel) != 0)
-		return;
+		osrel = -1;
 
 	xo_emit("{k:process_id/%5d/%d} ", kipp->ki_pid);
 	xo_emit("{:command/%-16s/%s} ", kipp->ki_comm);

From nobody Mon Jun  8 20:14: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 4gZ3DN5LL4z6ggcX
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 20:14:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ3DN3kG3z3rZV
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:14:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780949684;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=UetfvG7cz4pyXoqHtM1WtvHyAo0pT+IZmZHG2suE3Gw=;
	b=G/N6M0JZ+QlwmMSmE20R7y0zRSaBabTa5dc409TZ5m1ZuYO5ZJ6Wn4K6IZuY9NM3GYkvGE
	I5mbpfO0hsnLTFHI8l54o/AtvQ72umJd8MLKkGZDSOSCnpR3rKMZnrGneaV4JeZ8E2WOQQ
	HAb7vo2JAFYX5kTMqssP7NHi0qCw/Sg0LIxbFngSZ7SdoQDWoClrwDBCdatLJoSNoxV+Gu
	fCiGl1C7J3kkRrqjLzuQ4ML/gbmf2peTBL0HLNlAOao/g1F+hTd04zqE2g9q5ExL8qD1Ul
	7CsUUXO+9yMIKBoWUYqdOHRh1gBMiXtZMpQa6bGjlF321r/StJc2as2Q4h7WBg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780949684; a=rsa-sha256; cv=none;
	b=dHs10f00rYUk36tT5UWSr7FCPr1kOlbL7I4ADEyR+IYygoNH9JZ76d3C1HzBURtVRM7m2O
	T0LyC0gIJ3P2n9TgtPzqEXlBi1pbo1Hq86cR6XLGBAozyH/lD3gdqasN//vejhPNVlkekB
	HMvIW3HvE9hUmDZMCw+3EC15eS4gh1B/vYxV4WCn6JypEFBxAs5p82sabgggOaSpqV5pDY
	vZa38EAWjgDRmU7oqfhduotpO3SGa85ZkuJeZNK1NLIdYFGoeRaEEXizU17LQOXEvZ+mLU
	Eon8weMK0G66ZQ6BkokHaN2XBTg+WJj/KRYiyYyM37K5ueiMz0rEJxpfkVNh0A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780949684;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=UetfvG7cz4pyXoqHtM1WtvHyAo0pT+IZmZHG2suE3Gw=;
	b=h7rF1Hi4o+IUxECHmuYa4RmHVntLKDjNWM0g04jb3Aumw3PlaT8Ut8Qqpxry5i3M5LxsHd
	uqUhP9XGiMCaDpafFjJwRw/ZiOqa/zfzmqXOnm5NdC2MKDW3FJMdbzAtEB/+os4LMm/1ks
	26gas+PUE2fBqqWnO5EbHr0LZUvek70BrQVVHmG7YIBo7SvVkP8gk+eOZz4n3ABjEDSBWP
	cXmuQKpxv9iSgNYlR5RerYrd4VBnIB6pEVSJQL2Mdn7iWp+u/5lngdYMFvukXNV8NYSGnE
	UmYYV8rSMFbxOUdvW1m0awV60gb9velRr+UD+1XyWSddouD0tZApcqhM1TSINA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ3DN3Jj8z13KX
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:14:44 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 42be3
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 20:14:44 +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: a2cfe535771d - main - exit1(9): do not deadlock if exit is called due to PT_SC_REMOTERQ
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: a2cfe535771ded3ca8526bae405a5b61f71f1f33
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 20:14:44 +0000
Message-Id: <6a2722b4.42be3.6a50a1e5@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit a2cfe535771ded3ca8526bae405a5b61f71f1f33
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-05 20:21:59 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-08 20:14:20 +0000

    exit1(9): do not deadlock if exit is called due to PT_SC_REMOTERQ
    
    The remote syscall is executed in the context where debugger owns a
    p_lock hold on the target.  Due to this, exit1() waiting for p_lock
    going to zero, never happen.
    
    Postpone the exit1() call to ast then, saving the provided rval and
    signo in the struct proc.  Mark the async-exiting proc with the new
    p_flag P_ASYNC_EXIT.
    
    While p_xexit can be reused, p_xsig can be only set by actual exit1(),
    otherwise it breaks the ptrace mechanism. Allocate a dedicated p_asig
    for it.
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57482
---
 sys/compat/linux/linux_fork.c |  4 +--
 sys/compat/linux/linux_misc.c |  4 +--
 sys/kern/kern_exec.c          | 13 +++++-----
 sys/kern/kern_exit.c          | 57 ++++++++++++++++++++++++++++++++++++++++---
 sys/kern/kern_fork.c          |  3 ++-
 sys/kern/kern_ucoredump.c     |  4 +--
 sys/sys/proc.h                |  4 ++-
 sys/sys/signalvar.h           |  2 +-
 sys/sys/syscallsubr.h         |  1 +
 9 files changed, 72 insertions(+), 20 deletions(-)

diff --git a/sys/compat/linux/linux_fork.c b/sys/compat/linux/linux_fork.c
index 1c9189162a09..24c5d3351623 100644
--- a/sys/compat/linux/linux_fork.c
+++ b/sys/compat/linux/linux_fork.c
@@ -486,8 +486,8 @@ linux_exit(struct thread *td, struct linux_exit_args *args)
 	 * exit via pthread_exit() try thr_exit() first.
 	 */
 	kern_thr_exit(td);
-	exit1(td, args->rval, 0);
-		/* NOTREACHED */
+	kern_exit(td, args->rval, 0);
+	return (0);
 }
 
 int
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index eafba4f4bd19..c863e1db8b02 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -1545,8 +1545,8 @@ linux_exit_group(struct thread *td, struct linux_exit_group_args *args)
 	 * SIGNAL_EXIT_GROUP is set. We ignore that (temporarily?)
 	 * as it doesnt occur often.
 	 */
-	exit1(td, args->error_code, 0);
-		/* NOTREACHED */
+	kern_exit(td, args->error_code, 0);
+	return (0);
 }
 
 #define _LINUX_CAPABILITY_VERSION_1  0x19980330
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 4066682cbcc5..8ea00543989e 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -341,11 +341,11 @@ post_execve(struct thread *td, int error, struct vmspace *oldvmspace)
 }
 
 /*
- * kern_execve() has the astonishing property of not always returning to
- * the caller.  If sufficiently bad things happen during the call to
- * do_execve(), it can end up calling exit1(); as a result, callers must
- * avoid doing anything which they might need to undo (e.g., allocating
- * memory).
+ * kern_execve() has the astonishing property of not always returning
+ * to the caller.  If sufficiently bad things happen during the call
+ * to do_execve(), it can end up calling exit2(). Callers must avoid
+ * doing anything which they might need to undo (e.g., allocating
+ * memory), unless called from the ptrace(PT_SC_REMOTERQ) handler.
  */
 int
 kern_execve(struct thread *td, struct image_args *args, struct mac *mac_p,
@@ -1042,8 +1042,7 @@ exec_fail:
 	if (error && imgp->vmspace_destroyed) {
 		/* sorry, no more process anymore. exit gracefully */
 		exec_cleanup(td, oldvmspace);
-		exit1(td, 0, SIGABRT);
-		/* NOT REACHED */
+		kern_exit(td, 0, SIGABRT);
 	}
 
 #ifdef KTRACE
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 18ea3a7bd29d..63e46dcf46f7 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -204,9 +204,8 @@ exit_onexit(struct proc *p)
 int
 sys__exit(struct thread *td, struct _exit_args *uap)
 {
-
-	exit1(td, uap->rval, 0);
-	__unreachable();
+	kern_exit(td, uap->rval, 0);
+	return (0);
 }
 
 void
@@ -216,6 +215,48 @@ proc_set_p2_wexit(struct proc *p)
 	p->p_flag2 |= P2_WEXIT;
 }
 
+static void
+ast_async_exit(struct thread *td, int asts)
+{
+	struct proc *p;
+
+	p = td->td_proc;
+	if ((p->p_flag & P_ASYNC_EXIT) != 0)
+		exit1(td, p->p_xexit, p->p_asig);
+}
+
+/*
+ * The variation on exit1() intended to be used in the syscall
+ * handlers.  Unlike exit1(), it might delay the current process exit
+ * to ast.  This is needed e.g. when _exit(2) is executed due to the
+ * ptrace(PT_SC_REMOTERQ), which must do more work after the syscall
+ * handler call.
+ */
+void
+kern_exit(struct thread *td, int rval, int signo)
+{
+	struct proc *p;
+
+	KASSERT(rval == 0 || signo == 0,
+	    ("kern_exit rv %d sig %d", rval, signo));
+
+	p = td->td_proc;
+	if ((td->td_dbgflags & TDB_SCREMOTEREQ) != 0) {
+		PROC_LOCK(p);
+		p->p_xexit = rval;
+		p->p_asig = signo;
+		p->p_flag |= P_ASYNC_EXIT;
+		ast_sched(td, TDA_ASYNC_EXIT);
+		PROC_UNLOCK(p);
+		return;
+	}
+	if ((p->p_flag & P_ASYNC_EXIT) != 0) {
+		rval = p->p_xexit;
+		signo = p->p_asig;
+	}
+	exit1(td, rval, signo);
+}
+
 /*
  * Exit: deallocate address space and other resources, change proc state to
  * zombie, and unlink proc from allproc and parent's lists.  Save exit status
@@ -231,6 +272,7 @@ exit1(struct thread *td, int rval, int signo)
 
 	mtx_assert(&Giant, MA_NOTOWNED);
 	KASSERT(rval == 0 || signo == 0, ("exit1 rv %d sig %d", rval, signo));
+	MPASS((td->td_dbgflags & TDB_SCREMOTEREQ) == 0);
 	TSPROCEXIT(td->td_proc->p_pid);
 
 	p = td->td_proc;
@@ -828,7 +870,7 @@ out:
 	sbuf_delete(sb);
 	PROC_LOCK(p);
 	sigexit(td, sig);
-	/* NOTREACHED */
+	return (0);
 }
 
 #ifdef COMPAT_43
@@ -1627,3 +1669,10 @@ proc_reparent(struct proc *child, struct proc *parent, bool set_oppid)
 	if (set_oppid)
 		child->p_oppid = parent->p_pid;
 }
+
+static void
+initexit(void *dummy __unused)
+{
+	ast_register(TDA_ASYNC_EXIT, ASTR_ASTF_REQUIRED, 0, ast_async_exit);
+}
+SYSINIT(exit, SI_SUB_EXEC, SI_ORDER_ANY, initexit, NULL);
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 75f8413e5f36..2fb4d9d4274d 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -66,6 +66,7 @@
 #include <sys/signalvar.h>
 #include <sys/sx.h>
 #include <sys/syscall.h>
+#include <sys/syscallsubr.h>
 #include <sys/sysent.h>
 #include <sys/sysproto.h>
 #include <sys/vmmeter.h>
@@ -1258,7 +1259,7 @@ fork_return(struct thread *td, struct trapframe *frame)
 	 * If the prison was killed mid-fork, die along with it.
 	 */
 	if (!prison_isalive(td->td_ucred->cr_prison))
-		exit1(td, 0, SIGKILL);
+		kern_exit(td, 0, SIGKILL);
 
 #ifdef KTRACE
 	if (KTRPOINT(td, KTR_SYSRET))
diff --git a/sys/kern/kern_ucoredump.c b/sys/kern/kern_ucoredump.c
index d425596b5f24..e08490fbf7b1 100644
--- a/sys/kern/kern_ucoredump.c
+++ b/sys/kern/kern_ucoredump.c
@@ -46,6 +46,7 @@
 #include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/rmlock.h>
+#include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
 #include <sys/syslog.h>
 #include <sys/ucoredump.h>
@@ -197,8 +198,7 @@ sigexit(struct thread *td, int sig)
 			    err != NULL ? err : "");
 	} else
 		PROC_UNLOCK(p);
-	exit1(td, 0, sig);
-	/* NOTREACHED */
+	kern_exit(td, 0, sig);
 }
 
 
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index ed69a09422e2..5f017e6ece2c 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -504,6 +504,7 @@ enum {
 	TDA_MOD3,		/* .. and after */
 	TDA_MOD4,
 	TDA_SCHED_PRIV,
+	TDA_ASYNC_EXIT,
 	TDA_MAX,
 };
 #define	TDAI(tda)		(1U << (tda))
@@ -777,6 +778,7 @@ struct proc {
 
 	TAILQ_HEAD(, kq_timer_cb_data)	p_kqtim_stop;	/* (c) */
 	LIST_ENTRY(proc) p_jaillist;	/* (d) Jail process linkage. */
+	u_int		p_asig;		/* (c) ASYNCEXIT pending signal. */
 };
 
 #define	p_session	p_pgrp->pg_session
@@ -842,7 +844,7 @@ struct proc {
 #define	P_INEXEC	0x04000000	/* Process is in execve(). */
 #define	P_STATCHILD	0x08000000	/* Child process stopped or exited. */
 #define	P_INMEM		0x10000000	/* Loaded into memory, always set. */
-#define	P_UNUSED1	0x20000000	/* --available-- */
+#define	P_ASYNC_EXIT	0x20000000	/* XXX */
 #define	P_UNUSED2	0x40000000	/* --available-- */
 #define	P_PPTRACE	0x80000000	/* PT_TRACEME by vforked child. */
 
diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h
index 9a4009d269af..c7b3b620a459 100644
--- a/sys/sys/signalvar.h
+++ b/sys/sys/signalvar.h
@@ -399,7 +399,7 @@ int	sigacts_shared(struct sigacts *ps);
 int	sig_ast_checksusp(struct thread *td);
 int	sig_ast_needsigchk(struct thread *td);
 void	sig_drop_caught(struct proc *p);
-void	sigexit(struct thread *td, int sig) __dead2;
+void	sigexit(struct thread *td, int sig);
 int	sigev_findtd(struct proc *p, struct sigevent *sigev, struct thread **);
 void	sigfastblock_clear(struct thread *td);
 void	sigfastblock_fetch(struct thread *td);
diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h
index 8d546428820e..0eb471cc9dde 100644
--- a/sys/sys/syscallsubr.h
+++ b/sys/sys/syscallsubr.h
@@ -136,6 +136,7 @@ int	kern_cpuset_setid(struct thread *td, cpuwhich_t which,
 int	kern_dup(struct thread *td, u_int mode, int flags, int old, int new);
 int	kern_execve(struct thread *td, struct image_args *args,
 	    struct mac *mac_p, struct vmspace *oldvmspace);
+void	kern_exit(struct thread *, int, int);
 int	kern_extattr_delete_fd(struct thread *td, int fd, int attrnamespace,
 	    const char *attrname);
 int	kern_extattr_delete_path(struct thread *td, const char *path,

From nobody Mon Jun  8 20:47: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 4gZ3yH4Zsnz6gjxm
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 20:47:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ3yH3mbdz3vX0
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:47:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780951655;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bB/O0Sk0ulaoyPYXWkJPm7kb2uf+Vufbf9bFmpxYhRI=;
	b=qMtkVPjxOyrZqnZ2TBcwmCNz/S3Nv1/SJ5Yu1MtQB2FdIq23XBQuyVDC0R2pg48IhKK7bc
	/VBM97q8NUThAoBX8GHGfmmRhdOiOy9abVUZhOy/1xIFk9SWG+DNETc7fZeLRbzRKrjNYD
	dl4lqErZwXzjjh0h+g477zgByPXk3Feya4nTxAn7HM2aeokzR0yBZiL37OpNR/pxGVSxiz
	LLrvVxzNzU5jTG6SC78Ch85HoMcoH77i5fwCkGid8qudSC1yDdH2X2QuTZ0uUoe6dPAbQi
	SJubcVFoL3prKI5bWC8cDToZXuui5mEScEA8XBhek83RpVMoeM/a/Zy9BF/3sg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780951655; a=rsa-sha256; cv=none;
	b=l2sA5sTQfEef1RY3GpJcgsws60Z1PoDTDsonV6hifnOFmkDMR8tseTwxu9eNISRfByMeEo
	qh/mogRN5IVZYyfnxkTHB9tTn3vx94AWQbxHcFZURsxDOZiOfxXT3Kla3h9kpnRv9FvupW
	MQVHF/K53o7+k1pJsoN1uLeRlhCCGKUbjcSbETSpGxux2+QpvFb5I3+/eTqgQ1va/vdvDw
	dw3yTR87rkt8yVt5O3i5nZ4Xz5HRFN6gmG2npt6SOcOf0//vGgssqxh4FrxwjP7KzoBWBE
	1LerYzjizsGn2Ix+Px2IWkXHJ/p/gdfVLZ4+7J26kR6fGPG6KEPg/+/A0+68lQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780951655;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bB/O0Sk0ulaoyPYXWkJPm7kb2uf+Vufbf9bFmpxYhRI=;
	b=HNfkrprwd/jKY7DSwNS0cxgNS7Z86JYmMez0vsJGx6xiZ0ffaZU8GS4VTy1zP4kuiSgjAg
	Isqv2Kp5xqBK1jDwbZQg0ItV228PSRfit3bwODb7b7BcpAUdT1rslzOlwEcnOUgf3ObK3A
	rlYwMSpQJIWL3J4G0Q4GgLJlaHvDK+Nbv/EJag9zy1ZuEL368WaLVGhPnhcKZV/z8+TWKc
	Ld1ZikSvmZ2NZDhzBNGJE3UeEcWwhQFgaWvaHuVyNFK1A50yj/ORioPvlPRvLSpTcPlpkN
	bYl7aSgo5T2gV2BseugdUCd1d0b+Iv7OVbcOu8S8866bPe6/9lhd6XTZvoB/VQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ3yH32Qlz140c
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 20:47:35 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 4434b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 20:47:35 +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: b16c731b0191 - main - ipfw nat: Add assertion that mbuf is not a chain
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: b16c731b0191d6c47de46a3c6057b0c5ec0dd420
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 20:47:35 +0000
Message-Id: <6a272a67.4434b.4d38b685@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit b16c731b0191d6c47de46a3c6057b0c5ec0dd420
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-06-05 21:00:07 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-06-08 20:47:24 +0000

    ipfw nat: Add assertion that mbuf is not a chain
    
    Discarding m_free's return value will result in an mbuf leak if the mbuf
    was in a chain.
    
    In general we should use m_freem if the mbuf may be in a chain, or
    assert that the return was NULL.  There will not be a chain here due to
    m_megapullup, so add an assert.
    
    Reviewed by:    ae
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57479
---
 sys/netpfil/ipfw/ip_fw_nat.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/netpfil/ipfw/ip_fw_nat.c b/sys/netpfil/ipfw/ip_fw_nat.c
index e816c7bd95eb..6ebde03fe2e3 100644
--- a/sys/netpfil/ipfw/ip_fw_nat.c
+++ b/sys/netpfil/ipfw/ip_fw_nat.c
@@ -291,7 +291,7 @@ free_nat_instance(struct cfg_nat *ptr)
 static int
 ipfw_nat(struct ip_fw_args *args, struct cfg_nat *t, struct mbuf *m)
 {
-	struct mbuf *mcl;
+	struct mbuf *mcl, *mfree __diagused;
 	struct ip *ip;
 	/* XXX - libalias duct tape */
 	int ldt, retval, found;
@@ -396,7 +396,8 @@ ipfw_nat(struct ip_fw_args *args, struct cfg_nat *t, struct mbuf *m)
 	    (retval == PKT_ALIAS_IGNORED &&
 	    (t->mode & PKT_ALIAS_DENY_INCOMING) != 0)))) {
 		/* XXX - should i add some logging? */
-		m_free(mcl);
+		mfree = m_free(mcl);
+		MPASS(mfree == NULL);
 		args->m = NULL;
 		return (IP_FW_DENY);
 	}

From nobody Mon Jun  8 21:10: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 4gZ4SG6BLtz6glR3
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 21:10:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ4SG5M73z3wx3
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 21:10:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780953006;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=d5Gu6m6fLiERTXEWQn5quhTFzk3BVQWRYTNOq/bEWkE=;
	b=KupbCSIbRqPXL9vDZqeaeiy7TnxFwjKMsMs1JkBMtMirgXX4S3BJjFV1cXGtvDkuQbYoFg
	8n53OWxePqvgXfM5L4Wivo6LAL06Gr/AXXAVHMKhov+4cXmkPhClAVFy9Hp684uNQJUfB/
	cM/noDtaIZYGN+XmxnCv022Kf8WoX7EvIY0FhaX13YyfhsbqqIsm1WmyLQFyEqEjwAXF8F
	CA0fcFs1HekeIz5miUZ2q325OcquefRtv+aFNCgdSvNXzdsOpj3fEft5r41JdMforz7wBU
	A5txpxOXSCQz9wrp3jgClLA0GFfGDYVptreqzt9nck3dA/R4s8c/WkcQDqgzWA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780953006; a=rsa-sha256; cv=none;
	b=nAq6pxPJzwOYpG0oDVnDbhHyoOPTxKP5PexclOSMxW2MEIyWmcbBRTaDCPqgq95BksV6GU
	TXu5dl4jHhQThw5+0l5uK9K8MNCW8ME8Uubqq5/4ahtnTq08IMVpP3e8CaNqTbREhPoyrz
	onzHCWdzehIfXBKjVhJ7Mkm2nioL/eVgqiBlbxwpJAqwhapf+uppicqfnnEky54eLoL0WL
	eZGpI3eITVwEXOKQXfNBlzzzH4frGzyHNIb7mMBW5Rc6X08zgWXZfI5N+tM2nIZeyL2iHT
	Qn8UNI3Zcchn77jgTJEuLOXY3q3WtEd28KPWTEikUZsAFK41i7KE99W6zETmMQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780953006;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=d5Gu6m6fLiERTXEWQn5quhTFzk3BVQWRYTNOq/bEWkE=;
	b=kcabd+isYejP1mTDq/dr70bov8JGNIhIC45Sss3EOUUeNRHaBb78yNXbBalzECc+yL5keG
	PwFW0ImxAhl8AisVkK+JYiKwc+iyJi1izqbyC50VU6P5HSrvXS9fDCcvkTufFqn9I9aLDJ
	MWssL7pX2bAJf1iFhngsX3AfidWO2DHJqD8Dr2BxmkOBfS4SNkNtOAxebekwacOirebcBA
	fGsWiyrwZqE7cNJA6PnJyRAsPf/9y3aTtvuDoW96rQ+gxDlcry3yEiMkgiCcaRHBJt5NOB
	ZePyEPQlOf/PxxUOziSUdRcP2z3lOtu4tWMfbFCYthEFH59RDmFi4oda8Ojghw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ4SG4bdrz14qv
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 21:10:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 181dd
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 21:10:06 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: =?utf-8?Q?Jes=C3=BAs?= Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
Subject: git: ea3426bc80aa - main - nuageinit: Create parent directories in write_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: dtxdf
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: ea3426bc80aad58e689c144ec6ddee0cda7861cb
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 21:10:06 +0000
Message-Id: <6a272fae.181dd.56109540@gitrepo.freebsd.org>

The branch main has been updated by dtxdf:

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

commit ea3426bc80aad58e689c144ec6ddee0cda7861cb
Author:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2026-06-08 21:05:09 +0000
Commit:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2026-06-08 21:05:09 +0000

    nuageinit: Create parent directories in write_files
    
    Currently, 'write_files' does not create parent directories, and
    'runcmd' cannot be used here, since those scripts run after the files
    have been written. The only workaround is to create the files in an
    existing directory, such as '/root' or '/tmp', and then move those
    files using 'runcmd', but this is cumbersome when there are many files,
    even if they are small.
    
    With this change, nuageinit now creates the parent directories for each
    file using the path field, which mimics the same behavior as in
    cloud-init.
    
    Permissions and ownership can also be configured using 'runcmd'.
    
    Reviewed by:            bapt@
    Approved by:            bapt@
    Differential Revision:  https://reviews.freebsd.org/D57395
---
 libexec/nuageinit/nuage.lua   | 1 +
 libexec/nuageinit/nuageinit.7 | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua
index a554553b3e61..cbf92627918c 100644
--- a/libexec/nuageinit/nuage.lua
+++ b/libexec/nuageinit/nuage.lua
@@ -832,6 +832,7 @@ local function addfile(file, defer)
 		root = ""
 	end
 	local filepath = root .. file.path
+	mkdir_p(dirname(filepath))
 	local f = assert(io.open(filepath, mode))
 	if content then
 		f:write(content)
diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7
index e1c4b9d61382..a3d9da2415d9 100644
--- a/libexec/nuageinit/nuageinit.7
+++ b/libexec/nuageinit/nuageinit.7
@@ -3,7 +3,7 @@
 .\" Copyright (c) 2025 Baptiste Daroussin <bapt@FreeBSD.org>
 .\" Copyright (c) 2025 Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
 .\"
-.Dd June 6, 2026
+.Dd June 8, 2026
 .Dt NUAGEINIT 7
 .Os
 .Sh NAME
@@ -615,7 +615,7 @@ and
 are supported for now.
 .It Ic path
 The path of the file to be created.
-.Pq Note intermerdiary directories will not be created .
+.Pq Note intermerdiary directories will be created .
 .It Ic permissions
 A string representing the permission of the file in octal.
 .It Ic owner

From nobody Mon Jun  8 21:28:56 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZ4t103lMz6gmFk
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 21:28:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ4t04kMSz41S7
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 21:28:56 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780954136;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QNGYmAgOuDaGE49/jI3xexOJSB2RRbOzTkRonQcxeLw=;
	b=o4ZXHOPQqpn73wBpQqmweypFaMuqW6Ejmq2kLfHcmkH7U+tk6+95NbGuF+g8+mrjBbt6s8
	yuygXWxP/ppP3E2T3+SsatDyPT9ThiyaVB6KXetVElUqveGjyKvOI24qs/HxlrLOBYAKZQ
	jUgZOZU8P+71qvlvNKyBciIFMz3GHLD/rELmwAlc7ddqs6OrWCqBqovb0f2Ow74o5xP3rA
	whoCxHfX6ZuA2OvFSwNKdVGcUyFBlF+4hX3395y6YSVY+buoUkCvQ1AEw6Ka6fhckvPv36
	Q6QgJ00iRhjZKo3dXZ2s4L/mrcOODiLpnWpYQZqmUhoV4GWSbMdptZzmlSf8yA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780954136; a=rsa-sha256; cv=none;
	b=psh3Na9sljVN5JPK4t7kZC/buPQK3g6Ibv8TR0ZFiRe713ULqG7ouIVg2RM39MJV4F6d8z
	aN5nOUoiR6VdCezMtp4rM52Tu9wUdl2+0ufuz4Ko1cgOoPY0KB39hlu0AsI418I8p1eW5t
	qQm51FVmmJs3sj31wqm4Viui/26L9J1SRMhdMR8Evm/5Sa8J2RJy23JIUIyR7mvdduJ319
	tkDsnF3hhvt7yJra8x0reBDWaDcukxm4mpzS93pfuedpMvo/J6lcM6JL1s7kKGrtUGWPQd
	cy3fyjW1NzVweAQgQ/8TA3nQnf0ExIxXIBYHvoefDrpMj8+MTubfVXy4zIyE0g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780954136;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QNGYmAgOuDaGE49/jI3xexOJSB2RRbOzTkRonQcxeLw=;
	b=ai+g9KWixcmcJUNDNg/0xN3PiGp8y9xAHclW/cWHoiqT9DyhdiLD395OrORcr2hh1vdcLW
	2RAvJwZErLVYkBrdXMZcw43kOhwYrW1Chf3t4TWBXjx6vJLQ3F9YDI9kv/f61/40Tqenf7
	eRBgN5n+enOD7QMOkxfaHIseelPu5JUwdtq6bdyEiRPUcEf+FL3hijF8zbG68gDGLDaLgf
	YzOh+458cAJ3/Nz0+elumoqgGzx14QEbDyoEqjwP524LkqZmisO4G4pMOYj8hKzjX40ghW
	+VGEmo9yhyDFDRzGU1y8ERQuObI7dukqUD/NVcFsXx4gUeFLf6eNfeiAG71hqQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ4t03qTRz14Z6
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 21:28:56 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 19fdd
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 21:28:56 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Chuck Tuffli <chuck@FreeBSD.org>
Subject: git: 471fdd91d915 - main - linux: Fix sockopt copyout
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: chuck
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 471fdd91d9156aeab026dc420fb97d97be872d65
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 21:28:56 +0000
Message-Id: <6a273418.19fdd.55d3f832@gitrepo.freebsd.org>

The branch main has been updated by chuck:

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

commit 471fdd91d9156aeab026dc420fb97d97be872d65
Author:     Chuck Tuffli <chuck@FreeBSD.org>
AuthorDate: 2026-06-08 21:19:34 +0000
Commit:     Chuck Tuffli <chuck@FreeBSD.org>
CommitDate: 2026-06-08 21:20:14 +0000

    linux: Fix sockopt copyout
    
    The Linux getsockopt did not check the size of the provided buffer when
    copying out the value, leading to buffer overflows (e.g., for TCP_INFO).
    
    Fix is to use the smaller of the option value size and the provided
    buffer.
    
    MFC after:      1 month
    Relnotes:       yes
    Reviewed by:    kib, markj
    Differential Revision:  https://reviews.freebsd.org/D55881
---
 sys/compat/linux/linux_socket.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 29b55ef60357..12ba6a3adfce 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -2316,10 +2316,21 @@ linux_sockopt_copyout(struct thread *td, void *val, socklen_t len,
     struct linux_getsockopt_args *args)
 {
 	int error;
+	l_int loptlen;
+	socklen_t optlen;
 
-	error = copyout(val, PTRIN(args->optval), len);
-	if (error == 0)
-		error = copyout(&len, PTRIN(args->optlen), sizeof(len));
+	error = copyin(PTRIN(args->optlen), &loptlen, sizeof(loptlen));
+	if (error != 0)
+		return (error);
+	if (loptlen < 0)
+		return (EINVAL);
+
+	optlen = (socklen_t)loptlen;
+	error = copyout(val, PTRIN(args->optval), min(len, optlen));
+	if (error == 0) {
+		loptlen = (l_int)len;
+		error = copyout(&loptlen, PTRIN(args->optlen), sizeof(loptlen));
+	}
 	return (error);
 }
 

From nobody Mon Jun  8 22:30: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 4gZ6FN6dv8z6gs0K
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:30:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6FN61x4z46nt
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:30:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780957848;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lnfIWZiuXf5BJM5D9/lsD2oYE1rqNviISB+bG+g8rjg=;
	b=VtyivBdvClUMLlvBJ+lxiDUkCBvYCxq+RnM6yzXQr8saKjWUms7fowPjBBZVbUJyY1BECC
	veAm9OWt/fnMSFoC7CHZEWL9Kb+NRjjRksgHcw9m0fM83wX954Xyg9PG712wVi28lzFc6I
	h3XIFM/fn2hsYB629wJiDjDu61lysnRFzV+b+yN7CChamEMUpIZrrSl9RO/IldSYWTiorK
	HRDfnNHWn/7ID0tf+Ldpagy5HBDTrz+EtaIVVk0cb9PXX2sj94FxYLohK3rYTz1NJiMv/M
	P1V4q4kUJfJCynmWnNJtmYqPZTyadPhD9jCsrVf6nFVxdG6aMkwFLapsX7wGAw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780957848; a=rsa-sha256; cv=none;
	b=w+uzcfYcaXKwMkFRvl1RiUHXvA90HCl2piYmzJKntc4FsuNrPScpTURsdIy7OuMZnjWkJM
	yax8ZzGNaGWCoHsC8dNfhrXHvWNABZd1NSFOqPq+DBEotzN0Kesk6tJLxhGCyZJpGChGpm
	sT7Vfz4JaCTtChDz8K9wlfAtA4H49GrgEt1MkzDVhLHrDAFGVGKprX/gbdeRPvXmmMvWvS
	XYpQAbeLS9+punWNYgfg/goQO+rw9nR37vfhqCJLMsrKQkAU4PACrzDSkKpVucPzNz4CBD
	+onOKS6yGArKORMc1zeanEdQUYTQfncc5DS+pD9Ey79nCR5GnWzQvxkMY3HNlA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780957848;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lnfIWZiuXf5BJM5D9/lsD2oYE1rqNviISB+bG+g8rjg=;
	b=odPGAIio9tggYZ1hHqTdCEXhp+qBpxaneS0AhImTSJMKkX9wN17RL5HPZK6EzQethVp9A2
	qJ+wW6fXvEwuSYO68DCFWvp97Ovz/lXcQjA0G0UbrUmM+mcJIlqH4Vgu/+psm750IlH6iq
	GaPefTypuucavxtC3r9VNFK4L3gkAkyUgdlWP8Nsruhf7S8uNe+M08ksYRI89X42/shNfl
	1cM66pKiT2oFWqG9Ow2X4zA6UmaaIPT2Hf9fkfQRWjEustTdsCLYbMAwG5s+gH3ypBTgSR
	tQGpaOO5200FJz7X7pU6/i4c48LD7rk4r6x7sQIcyug+i+OgmrVZszdWNO0SFQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6FN5MKYz16d0
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:30:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 21cba
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:30:48 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Alexander Ziaee <ziaee@FreeBSD.org>
Subject: git: 05f132adc530 - main - mount_udf.8: Alphabetize and align 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: ziaee
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 05f132adc530cd53203b9cd09d7e1b211d2babc4
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:30:48 +0000
Message-Id: <6a274298.21cba.7008e40@gitrepo.freebsd.org>

The branch main has been updated by ziaee:

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

commit 05f132adc530cd53203b9cd09d7e1b211d2babc4
Author:     Alexander Ziaee <ziaee@FreeBSD.org>
AuthorDate: 2026-06-08 22:22:32 +0000
Commit:     Alexander Ziaee <ziaee@FreeBSD.org>
CommitDate: 2026-06-08 22:30:22 +0000

    mount_udf.8: Alphabetize and align options
    
    While here, remove "The following UDF specific options are available:".
    It is unused and does not appear to have ever been used.
    
    MFC after:      3 days
---
 sbin/mount_udf/mount_udf.8 | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/sbin/mount_udf/mount_udf.8 b/sbin/mount_udf/mount_udf.8
index 505582746550..75882cf6562d 100644
--- a/sbin/mount_udf/mount_udf.8
+++ b/sbin/mount_udf/mount_udf.8
@@ -45,7 +45,11 @@ to the global file system namespace at the location indicated by
 .Ar node .
 .Pp
 The options are as follows:
-.Bl -tag -width indent
+.Bl -tag -width "-C charset"
+.It Fl C Ar charset
+Specify local
+.Ar charset
+to convert Unicode file names.
 .It Fl o
 Options are specified with a
 .Fl o
@@ -53,13 +57,8 @@ flag followed by a comma separated string of options.
 See the
 .Xr mount 8
 man page for possible options and their meanings.
-The following UDF specific options are available:
 .It Fl v
 Be verbose about mounting the UDF file system.
-.It Fl C Ar charset
-Specify local
-.Ar charset
-to convert Unicode file names.
 .El
 .Sh SEE ALSO
 .Xr cdcontrol 1 ,

From nobody Mon Jun  8 22:46: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 4gZ6c16RYKz6gtD8
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:46:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6c14Kx8z49Xw
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:46:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780958817;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vTyL0ckxZWNHnv0Czgt+Wps1elmYCoLPy4AmLQhLTVY=;
	b=f0RVqLdlAFINab78TmOiwHjwAfz9PVdIjYHmuGje0WKs1lu189d55RoM6kWdmycb+xAskl
	pPwrNT+YR71fwYACLSzQI7uVsFtMOioKvaZmVwMeIDPq8SNZiqBCMSRr+TIIKx0eNOSH2a
	drdqrPuUDYfv8ubvLhX3rUAdFFuf7nHsSpksu4UaGLHArWbbgbN6seLvMVL1d4Cd4eomCL
	8cWo5BeFSgvtCNUSD2qZsIEniPlE3mbOpfW2joZRfyb5kwedu3mrGrAex5fziEX68095kB
	o8HPe/wViiSyxU6LJ6awbRp23D5ZH4b0YGMlwxQDFIn8CYHwup6d6BEt2VWmaA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780958817; a=rsa-sha256; cv=none;
	b=Nrp8zd53jScX8Ap+1ch1Pg5EUidnd/oPwamkvdGTsfAtQR0Z0TYQBbSYqhdif6auASRV8s
	olconHqjvWvpPxOVnFrT3W2uTcJCvnjpm+90oNi6C2hANVhRle6wC8YWZE1NH+72+aaspU
	BRoBNras02aOpmEOjFhseaXwlK4QM6NfxM0tdteonmoasnhjJlMRO82Yr8DTxh/tMyfbS1
	5K5B99xJywh++46OisnsigdboGBWU+o9IsZ7bsIE6J3egbmyBQWrO9/a4b3jtDv0xgyxV+
	+d6m8RgLX5OnOHZgPI7uU/bUH8+uKsf0ujTQDOxpkcJh53EQW0fShpu1rKwB4w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780958817;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vTyL0ckxZWNHnv0Czgt+Wps1elmYCoLPy4AmLQhLTVY=;
	b=bggp0lIT66SiYfMnuv5T4tPW0bln/Eo/chYDA1jWYxaRKL4PBXHy3wdD8UB8oNtIP74CQQ
	hVLTJgHuOm7E9GXRXdWXmXflJMoVqyErccSvBT6HdG25ka886NnrXgfGniX3reKsWRfi7M
	nHNFqRmBZML00EeQ6tEjkg6ClORZvmHSy9arkW6YvKfgdKcCX7qvI8QdpUFXf+3+a8KdFW
	K3HLgUyBetq1L2DAZtA0WXWOe0dApVof+USqiDTj83HPVTP3c+xI3LDNzfrfaSTXuem4lj
	nCme4Ttpc+Ll9PkMHGWRMgw8wMkk0+rvhpEHlGd6Ei+hIJYIjKVan2S5BiUhTQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6c12dd1z17CJ
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:46:57 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2185d
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:46:57 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
Subject: git: 5bd78cfc8003 - main - auditd: Fix signal 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: des
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 5bd78cfc800339fd7f3945498052d67553af9e3c
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:46:57 +0000
Message-Id: <6a274661.2185d.33c7c37e@gitrepo.freebsd.org>

The branch main has been updated by des:

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

commit 5bd78cfc800339fd7f3945498052d67553af9e3c
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-06-08 22:45:34 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-06-08 22:45:34 +0000

    auditd: Fix signal handling
    
    Rewrite the main loop to use ppoll() instead of just blocking on read,
    blocking the signals we care about when we aren't polling.
    
    I didn't bother replacing alarm() with setitimer(); the alarm code
    is dead anyway since there is no way for max_idletime to acquire a
    non-zero value.
    
    While here, avoid leaking the pid file and trigger descriptors to the
    log child.
    
    PR:             295840
    MFC after:      1 week
    Sponsored by:   Klara, Inc.
    Reviewed by:    kevans
    Differential Revision:  https://reviews.freebsd.org/D57451
---
 contrib/openbsm/bin/auditd/audit_warn.c  |  4 ++
 contrib/openbsm/bin/auditd/auditd.c      | 50 ++++++++++++++++----
 contrib/openbsm/bin/auditd/auditd.h      |  3 ++
 contrib/openbsm/bin/auditd/auditd_fbsd.c | 79 ++++++++++++++++----------------
 4 files changed, 86 insertions(+), 50 deletions(-)

diff --git a/contrib/openbsm/bin/auditd/audit_warn.c b/contrib/openbsm/bin/auditd/audit_warn.c
index 6bd2b8477c10..04a6e1caf03c 100644
--- a/contrib/openbsm/bin/auditd/audit_warn.c
+++ b/contrib/openbsm/bin/auditd/audit_warn.c
@@ -29,6 +29,7 @@
 
 #include <sys/types.h>
 
+#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -57,6 +58,9 @@ auditwarnlog(char *args[])
 		/*
 		 * Child.
 		 */
+#ifndef USE_MACH_IPC
+		sigprocmask(SIG_SETMASK, &auditd_origmask, NULL);
+#endif /* !USE_MACH_IPC */
 		execv(AUDITWARN_SCRIPT, loc_args);
 		syslog(LOG_ERR, "Could not exec %s (%m)\n",
 		    AUDITWARN_SCRIPT);
diff --git a/contrib/openbsm/bin/auditd/auditd.c b/contrib/openbsm/bin/auditd/auditd.c
index bd00a6b16191..e9b2cfb2269b 100644
--- a/contrib/openbsm/bin/auditd/auditd.c
+++ b/contrib/openbsm/bin/auditd/auditd.c
@@ -107,6 +107,19 @@ static gid_t	audit_review_gid = -1;
  */
 static char	*lastfile = NULL;
 
+/*
+ * File descriptor to our locked pid file.
+ */
+static int	pidfd;
+
+#ifndef USE_MACH_IPC
+/*
+ * Original signal mask in effect at startup.  Used by the main event loop
+ * and the log child.
+ */
+sigset_t	auditd_origmask;
+#endif /* !USE_MACH_IPC */
+
 /*
  * Error starting auditd. Run warn script and exit.
  */
@@ -354,12 +367,20 @@ close_misc(void)
 		auditd_log_err("Couldn't remove %s: %m", AUDITD_PIDFILE);
 		return (1);
 	}
+	close(pidfd);
+	pidfd = -1;
 	endac();
 
 	if (auditd_close_trigger() != 0) {
 		auditd_log_err("Error closing trigger messaging mechanism");
 		return (1);
 	}
+
+#ifndef USE_MACH_IPC
+	/* Restore the original signal mask. */
+	sigprocmask(SIG_SETMASK, &auditd_origmask, NULL);
+#endif /* !USE_MACH_IPC */
+
 	return (0);
 }
 
@@ -416,9 +437,17 @@ static int
 register_daemon(void)
 {
 	struct sigaction action;
-	FILE * pidfile;
-	int fd;
-	pid_t pid;
+	sigset_t sigmask;
+
+#ifndef USE_MACH_IPC
+	/* Set up the signal mask. */
+	sigemptyset(&sigmask);
+	sigaddset(&sigmask, SIGTERM);
+	sigaddset(&sigmask, SIGALRM);
+	sigaddset(&sigmask, SIGCHLD);
+	sigaddset(&sigmask, SIGHUP);
+	sigprocmask(SIG_BLOCK, &sigmask, &auditd_origmask);
+#endif /* !USE_MACH_IPC */
 
 	/* Set up the signal hander. */
 	action.sa_handler = auditd_relay_signal;
@@ -449,29 +478,30 @@ register_daemon(void)
 		fail_exit();
 	}
 
-	if ((pidfile = fopen(AUDITD_PIDFILE, "a")) == NULL) {
+	/* Open the pid file. */
+	pidfd = open(AUDITD_PIDFILE, O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC,
+	    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+	if (pidfd < 0) {
 		auditd_log_err("Could not open PID file");
 		audit_warn_tmpfile();
 		return (-1);
 	}
 
 	/* Attempt to lock the pid file; if a lock is present, exit. */
-	fd = fileno(pidfile);
-	if (flock(fd, LOCK_EX | LOCK_NB) < 0) {
+	if (flock(pidfd, LOCK_EX | LOCK_NB) < 0) {
 		auditd_log_err(
 		    "PID file is locked (is another auditd running?).");
 		audit_warn_ebusy();
 		return (-1);
 	}
 
-	pid = getpid();
-	ftruncate(fd, 0);
-	if (fprintf(pidfile, "%u\n", pid) < 0) {
+	/* Write our pid to the pid file and leave it open. */
+	ftruncate(pidfd, 0);
+	if (dprintf(pidfd, "%u\n", getpid()) < 0) {
 		/* Should not start the daemon. */
 		fail_exit();
 	}
 
-	fflush(pidfile);
 	return (0);
 }
 
diff --git a/contrib/openbsm/bin/auditd/auditd.h b/contrib/openbsm/bin/auditd/auditd.h
index 20afd75172cf..ce1b8bfb69e7 100644
--- a/contrib/openbsm/bin/auditd/auditd.h
+++ b/contrib/openbsm/bin/auditd/auditd.h
@@ -96,5 +96,8 @@ void	auditd_terminate(void);
 int	auditd_config_controls(void);
 void	auditd_reap_children(void);
 
+#ifndef USE_MACH_IPC
+extern sigset_t auditd_origmask;
+#endif /* !USE_MACH_IPC */
 
 #endif /* !_AUDITD_H_ */
diff --git a/contrib/openbsm/bin/auditd/auditd_fbsd.c b/contrib/openbsm/bin/auditd/auditd_fbsd.c
index 6553bf26386e..d62367b4d23b 100644
--- a/contrib/openbsm/bin/auditd/auditd_fbsd.c
+++ b/contrib/openbsm/bin/auditd/auditd_fbsd.c
@@ -33,6 +33,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
+#include <poll.h>
 #include <stdarg.h>
 #include <signal.h>
 #include <string.h>
@@ -57,10 +58,7 @@ static int	auditing_state = AUD_STATE_INIT;
  */
 static int	max_idletime = 0;
 
-static int	sigchlds, sigchlds_handled;
-static int	sighups, sighups_handled;
-static int	sigterms, sigterms_handled;
-static int	sigalrms, sigalrms_handled;
+static volatile sig_atomic_t	signaled[NSIG];
 
 static int	triggerfd = 0;
 
@@ -83,7 +81,7 @@ auditd_openlog(int debug, gid_t __unused gid)
 }
 
 /*
- * Log messages at different priority levels. 
+ * Log messages at different priority levels.
  */
 void
 auditd_log_err(const char *fmt, ...)
@@ -154,7 +152,7 @@ auditd_set_state(int state)
 {
 	int old_auditing_state = auditing_state;
 
-	if (state == AUD_STATE_INIT) 
+	if (state == AUD_STATE_INIT)
 		init_audit_state();
 	else
 		auditing_state = state;
@@ -173,7 +171,6 @@ auditd_set_state(int state)
 int
 auditd_get_state(void)
 {
-
 	if (auditing_state == AUD_STATE_INIT)
 		init_audit_state();
 
@@ -186,8 +183,8 @@ auditd_get_state(void)
 int
 auditd_open_trigger(int __unused launchd_flag)
 {
-
-	return ((triggerfd = open(AUDIT_TRIGGER_FILE, O_RDONLY, 0)));
+	triggerfd = open(AUDIT_TRIGGER_FILE, O_RDONLY | O_CLOEXEC);
+	return (triggerfd);
 }
 
 /*
@@ -196,56 +193,66 @@ auditd_open_trigger(int __unused launchd_flag)
 int
 auditd_close_trigger(void)
 {
-	
 	return (close(triggerfd));
 }
 
-/* 
+/*
  * The main event loop.  Wait for trigger messages or signals and handle them.
  * It should not return unless there is a problem.
  */
 void
 auditd_wait_for_events(void)
 {
-	int num;
+	struct pollfd pfd;
+	ssize_t ret;
 	unsigned int trigger;
 
+	pfd.fd = triggerfd;
+	pfd.events = POLLIN;
+	pfd.revents = 0;
 	for (;;) {
-		num = read(triggerfd, &trigger, sizeof(trigger));
-		if ((num == -1) && (errno != EINTR)) {
-			auditd_log_err("%s: error %d", __FUNCTION__, errno);
-			return;
-		}
-		
 		/* Reset the idle time alarm, if used. */
-		if (max_idletime)
+		if (max_idletime != 0)
 			alarm(max_idletime);
 
-		if (sigterms != sigterms_handled) {
+		/* Check if any signals were caught. */
+		if (signaled[SIGTERM]) {
+			signaled[SIGTERM] = 0;
 			auditd_log_debug("%s: SIGTERM", __FUNCTION__);
 			auditd_terminate();
-			/* not reached */ 
+			/* not reached */
 		}
-		if (sigalrms != sigalrms_handled) {
+		if (signaled[SIGALRM]) {
+			signaled[SIGALRM] = 0;
 			auditd_log_debug("%s: SIGALRM", __FUNCTION__);
 			auditd_terminate();
-			/* not reached */ 
+			/* not reached */
 		}
- 		if (sigchlds != sigchlds_handled) {
-			sigchlds_handled = sigchlds;
+		if (signaled[SIGCHLD]) {
+			signaled[SIGCHLD] = 0;
 			auditd_reap_children();
 		}
-		if (sighups != sighups_handled) {
+		if (signaled[SIGHUP]) {
+			signaled[SIGHUP] = 0;
 			auditd_log_debug("%s: SIGHUP", __FUNCTION__);
-			sighups_handled = sighups;
 			auditd_config_controls();
 		}
 
-		if (num == -1)
+		/* Now wait for a trigger or signal. */
+		if ((ret = ppoll(&pfd, 1, NULL, &auditd_origmask)) < 0 &&
+		    errno != EINTR) {
+			auditd_log_err("%s: error %d", __FUNCTION__, errno);
+			break;
+		}
+		if (ret <= 0)
 			continue;
-		if (num == 0) {
+		if ((ret = read(triggerfd, &trigger, sizeof(trigger))) < 0) {
+			auditd_log_err("%s: error %d", __FUNCTION__, errno);
+			break;
+		}
+		if (ret == 0) {
 			auditd_log_err("%s: read EOF", __FUNCTION__);
-			return;
+			break;
 		}
 		auditd_handle_trigger(trigger);
 	}
@@ -258,15 +265,7 @@ auditd_wait_for_events(void)
  * context.
  */
 void
-auditd_relay_signal(int signal)
+auditd_relay_signal(int signo)
 {
-        if (signal == SIGHUP)
-                sighups++;
-        if (signal == SIGTERM)
-                sigterms++;
-        if (signal == SIGCHLD)
-                sigchlds++;
-	if (signal == SIGALRM)
-		sigalrms++;
+	signaled[signo] = 1;
 }
-

From nobody Mon Jun  8 22:50: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 4gZ6gc5Vlyz6gtBP
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:50:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6gc4zb1z3BwX
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780959004;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Znxe6amMgO5XT+91L5M7/T55MAhSmcDovlNqt4Pf858=;
	b=Afqlnq/CL+4xET+QHqSfINVHkB4P6zbHghRBb8kH86GNYcmytVXViqnwxZgjNI/vYC/XzB
	kclYTBim+WMpx8uuxVL/Sm5wlQ7n/VYOE1EpacammkLSyDPhG0Djz6UXMU09hre/gFvfl/
	HQJ9PEwo5Te+BcFANPoF/9a3bK7pMgXYL+tJ8sig7wOrE6XwcHV4T49Jxb/XCdDFNipjsN
	Z/BbjMdfXrGirlox7YuoJtzoHKKTm6hr4RloBWt4B8wAEWB0dNEKTvcYiBgyoMYiRqF+L2
	uZo+XU9/ULlUN6UIMJYjpDEm7PpSMREQEIOnX22ZIK8lKY1eD5pTeBFGbwtmYA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780959004; a=rsa-sha256; cv=none;
	b=ALJyinoFBCKid9HdKTA6Z9693rTzMpQBf0avs3TM8Ef5YVTGVoaZEIiCwdY8OMKObm8HHM
	ip69sT3oboAgRYA5rG/zo19bQIAXCtsZ+mQuZlpJKRtG/TOZQvTybuFsroo+HjCz9FLeU7
	WqgRLidZ2giozvt7dlnGupRlHxLXFw+qbkhRu5VjiupBRK4CDWeDNKMvJjnvz7vjPSZEE0
	V6fYo6MoOdruJxpwiKQRncMRuXLtD0Ly/kL5cZNFBtosOx0ofOxdZxvXryMzm2DgyKuhGP
	ONdYtBlwOYRzGbhdW4H5Mpfve3UGMeC2kD2e8BV2MrGNPaM4X9ZrRikQdvMyCg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780959004;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Znxe6amMgO5XT+91L5M7/T55MAhSmcDovlNqt4Pf858=;
	b=f0nAsv7J9uGyIdhHNBCpU/QP6jzxBNihHs5WGVnz4AVItdAcf95QVd7N6c5TZrvsUzBCaw
	GNMzTRE98dx3K+XT5mJfjwd7cHf4p4CJxL3aWOGotru5V+je9OEEkELDPlPvCSYlRYAsJO
	OK4LuGQ8SgccCOQSO/wLk4VlFQtCkS5/sxrLjPxiuSeI2/UBzZfHg+Ji/5Y5VBQFqUsLsy
	TpnnEsKFNLTbqzismTM38wN+Ho81HQnbANKNnNQ9ZYukqCvtFsc0PIY4N54ejlQFCOyeUq
	3TA9f+ZWdv8Ei/GTMFOX8UUq6+Dk/tPFDERIxJ513pR1RDs+20jl4S/W8t1VQQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6gc4b4dz16vw
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 23c43
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:50:04 +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: acf0be6e5192 - main - ip6: Drop dead code in ip6_input_hbh()
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: acf0be6e5192c8b1ae2c9a71d86828daf12317b2
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:50:04 +0000
Message-Id: <6a27471c.23c43.33d849da@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit acf0be6e5192c8b1ae2c9a71d86828daf12317b2
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-08 22:45:44 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-08 22:49:51 +0000

    ip6: Drop dead code in ip6_input_hbh()
    
    After commit 069a67374ed9, ip6_input() quickly rejects packets with
    plen == 0, before ip6_input_hbh() is called.  So, there is no need to
    check this condition again in the helper function.
    
    Reviewed by:    pouria, zlei, tuexen
    Differential Revision:  https://reviews.freebsd.org/D57342
---
 sys/netinet6/ip6_input.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
index 0dae879c1bd5..426b81dc9c03 100644
--- a/sys/netinet6/ip6_input.c
+++ b/sys/netinet6/ip6_input.c
@@ -421,24 +421,9 @@ ip6_input_hbh(struct mbuf **mp, uint32_t *rtalert, int *off,
 		goto out;	/* m have already been freed */
 	}
 
-	/* adjust pointer */
 	m = *mp;
 	ip6 = mtod(m, struct ip6_hdr *);
 
-	/*
-	 * If the payload length field is 0 and the next header field indicates
-	 * Hop-by-Hop Options header, then a Jumbo Payload option MUST be
-	 * included. We no not support Jumbo Payloads so report an error.
-	 */
-	if (ip6->ip6_plen == 0) {
-		IP6STAT_INC(ip6s_badoptions);
-		in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard);
-		in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr);
-		icmp6_error(m, ICMP6_PARAM_PROB,
-			    ICMP6_PARAMPROB_HEADER,
-			    (caddr_t)&ip6->ip6_plen - (caddr_t)ip6);
-		goto out;
-	}
 	/* ip6_hopopts_input() ensures that mbuf is contiguous */
 	hbh = (struct ip6_hbh *)(ip6 + 1);
 	*nxt = hbh->ip6h_nxt;
@@ -760,8 +745,11 @@ passin:
 	 * We don't support Jumbograms, reject packets with plen == 0 as early
 	 * as we can.
 	 */
-	if (plen == 0)
+	if (__predict_false(plen == 0)) {
+		IP6STAT_INC(ip6s_tooshort);
+		in6_ifstat_inc(rcvif, ifs6_in_hdrerr);
 		goto bad;
+	}
 
 	/*
 	 * Disambiguate address scope zones (if there is ambiguity).

From nobody Mon Jun  8 22:50: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 4gZ6gf2QQsz6gt2y
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:50:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6gd6L9Yz3C21
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780959005;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6wWfnzRa9SRRLRvO+FdSTAovj7q1/2JCP+G/sHAkaII=;
	b=N04wKf7iKq6GJssbDOFIfU6XtXVCjlTvEPuaP14/4Wu9ZPhtkrvSvT4Ii+pQEal8XIjrE3
	C6LlqDXKt9P3WRtluqFH1CAGr6apQ3XrsZyml9CHypADocp8jJL1H02VsruiEb0sjEHqGx
	bNerZVfAXkZGud+nUWFUBoqSJS6E8ytc4vO32/JaaqZ+8u5cLoZ9S9QLhASJK1q3AoOgDY
	30uTtN1jLZoqRVEFjy7y/M0GHFzFyyYExSOfW9AIlN8XQ6Dx66MI7GGsUeQ4A7dwU1cosC
	duzQlL0vP0YvhjG2oWWMXQ1pbbtnJt6hGpkVtvfsk01OJjdK83NvukyjVE2pkw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780959005; a=rsa-sha256; cv=none;
	b=cd1dhnD5/Lb9PV8Pe0Hafo8ZrCIfrnol1oAjk0bm8h6nY3PIe4XTpjUyf+jQs5wObblTpU
	P4eMZUfVDnz+X0kBQKyDhmDnrFqJMzsxwp6SlEj3VtbN9PwOEsBPEdzsdnlKWVl+kQvx1L
	SCfTbLxyvuGbgw/YKw8As7pe5RgJozz6ccRVaaOa2LXe4Xhzlqa/fw1ldD5gc+1djjt9dL
	xaxscXZO642LegI9GXZiWJ/QsdT+LJkMSpHOg0QZXb93ePA4dSBMIsZkg1Ptd9wtV6RIJw
	Hu5k7SN4vch7xjblOJStMUX1/ZYOugmD1ryQg+Xo3PI6E5RYq8C+OK5csJWrHQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780959005;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6wWfnzRa9SRRLRvO+FdSTAovj7q1/2JCP+G/sHAkaII=;
	b=dWvBsscId7uDvAAgzqPqawq5FjIFB/57mFlk3XQzPO4StFN5vZafweHjg2uqeP4bv67PgA
	g8EF3L9ukMNPM5h5k2e9mLZ+gQ8JD7a9a4BRgQgYANCwRBVr3hQwwBpD+lrMvjKcqwuk48
	oS8E8cCBZ6w7axS7UlM3POgqV0KdI024vH8rgw9RIGSS3ZHY1l7DcEtDanI+dOIadzbdYm
	I3kxiuQCg5Dr6uzi9H6A1wW2FqWjqq6jfRi6oTs1fmq7UADS/0QCNpM7zIPcUpZ9viluBZ
	6reUMpihzxKOf70RE5M7NogjlMtEUVVEf33k3/sym3ylWBZbKNIYpIguKZLmVQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6gd5XCqz17Fg
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 243f4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:50:05 +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: 6cd8a1bf4f15 - main - tests/ptrace: Validate PT_SC_REMOTE with some tricky syscalls
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: 6cd8a1bf4f15ff8a9b646dc94ac90b3fe0926650
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:50:05 +0000
Message-Id: <6a27471d.243f4.4559ed13@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 6cd8a1bf4f15ff8a9b646dc94ac90b3fe0926650
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-08 22:45:54 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-08 22:49:51 +0000

    tests/ptrace: Validate PT_SC_REMOTE with some tricky syscalls
    
    Reviewed by:    kib
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D57485
---
 tests/sys/kern/ptrace_test.c | 215 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 215 insertions(+)

diff --git a/tests/sys/kern/ptrace_test.c b/tests/sys/kern/ptrace_test.c
index 3a55a6f48033..478e787d129b 100644
--- a/tests/sys/kern/ptrace_test.c
+++ b/tests/sys/kern/ptrace_test.c
@@ -26,6 +26,8 @@
 #include <sys/types.h>
 #include <sys/cpuset.h>
 #include <sys/elf.h>
+#define	_WANT_KERNEL_ERRNO
+#include <sys/errno.h>
 #include <sys/event.h>
 #include <sys/file.h>
 #include <sys/mman.h>
@@ -4472,6 +4474,215 @@ ATF_TC_BODY(ptrace__PT_SC_REMOTE_syscall_validation, tc)
 	ATF_REQUIRE(ptrace(PT_DETACH, fpid, (caddr_t)1, 0) != -1);
 }
 
+ATF_TC_WITHOUT_HEAD(ptrace__PT_SC_REMOTE_exit);
+ATF_TC_BODY(ptrace__PT_SC_REMOTE_exit, tc)
+{
+	struct ptrace_sc_remote pscr;
+	syscallarg_t args[1];
+	pid_t fpid, wpid;
+	int status;
+
+	ATF_REQUIRE((fpid = fork()) != -1);
+	if (fpid == 0) {
+		trace_me();
+		exit(0);
+	}
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+	REQUIRE_EQ(WSTOPSIG(status), SIGSTOP);
+
+	args[0] = 42;
+	pscr.pscr_syscall = SYS_exit;
+	pscr.pscr_nargs = 1;
+	pscr.pscr_args = args;
+	ATF_REQUIRE(ptrace(PT_SC_REMOTE, fpid, (caddr_t)&pscr,
+	    sizeof(pscr)) != -1);
+
+        wpid = waitpid(fpid, &status, 0);
+        REQUIRE_EQ(wpid, fpid);
+        ATF_REQUIRE(WIFSTOPPED(status));
+        ATF_REQUIRE(ptrace(PT_CONTINUE, fpid, (caddr_t)1, 0) != -1);
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFEXITED(status));
+	REQUIRE_EQ(WEXITSTATUS(status), 42);
+}
+
+/*
+ * Trace a forking process with FOLLOW_FORK.  Once the child stops in
+ * fork_return(), use PT_SC_REMOTE to force it to call exit().
+ */
+ATF_TC_WITHOUT_HEAD(ptrace__PT_SC_REMOTE_exit_child);
+ATF_TC_BODY(ptrace__PT_SC_REMOTE_exit_child, tc)
+{
+	struct ptrace_sc_remote pscr;
+	syscallarg_t args[1];
+	pid_t child, fpid, wpid;
+	int status;
+
+	ATF_REQUIRE((fpid = fork()) != -1);
+	if (fpid == 0) {
+		trace_me();
+		follow_fork_parent(false);
+	}
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+	REQUIRE_EQ(WSTOPSIG(status), SIGSTOP);
+
+	ATF_REQUIRE(ptrace(PT_LWP_EVENTS, fpid, NULL, 1) != -1);
+	ATF_REQUIRE(ptrace(PT_FOLLOW_FORK, fpid, NULL, 1) != -1);
+	ATF_REQUIRE(ptrace(PT_CONTINUE, fpid, (caddr_t)1, 0) != -1);
+
+	child = handle_fork_events(fpid, NULL);
+	ATF_REQUIRE(child > 0);
+
+	args[0] = 42;
+	pscr.pscr_syscall = SYS_exit;
+	pscr.pscr_nargs = 1;
+	pscr.pscr_args = args;
+
+	/* The child must be at the syscall boundary. */
+	ATF_REQUIRE_ERRNO(EBUSY,
+	    ptrace(PT_SC_REMOTE, child, (caddr_t)&pscr, sizeof(pscr)) == -1);
+
+	/* Resume the child and ask it to stop during syscall exits. */
+	ATF_REQUIRE(ptrace(PT_TO_SCX, child, (caddr_t)1, 0) != -1);
+
+	wpid = waitpid(child, &status, 0);
+	REQUIRE_EQ(wpid, child);
+	ATF_REQUIRE(WIFSTOPPED(status));
+
+	ATF_REQUIRE(ptrace(PT_SC_REMOTE, child, (caddr_t)&pscr, sizeof(pscr)) !=
+	    -1);
+
+        wpid = waitpid(child, &status, 0);
+        REQUIRE_EQ(wpid, child);
+        ATF_REQUIRE(WIFSTOPPED(status));
+        ATF_REQUIRE(ptrace(PT_CONTINUE, child, (caddr_t)1, 0) != -1);
+
+	wpid = waitpid(child, &status, 0);
+	REQUIRE_EQ(wpid, child);
+	ATF_REQUIRE(WIFEXITED(status));
+	REQUIRE_EQ(WEXITSTATUS(status), 42);
+}
+
+/*
+ * Use PT_SC_REMOTE to ask the tracee to exit, then send SIGKILL before
+ * continuing it.
+ */
+ATF_TC_WITHOUT_HEAD(ptrace__PT_SC_REMOTE_exit_sigkill);
+ATF_TC_BODY(ptrace__PT_SC_REMOTE_exit_sigkill, tc)
+{
+	struct ptrace_sc_remote pscr;
+	syscallarg_t args[1];
+	pid_t fpid, wpid;
+	int status;
+
+	ATF_REQUIRE((fpid = fork()) != -1);
+	if (fpid == 0) {
+		trace_me();
+		exit(0);
+	}
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+	REQUIRE_EQ(WSTOPSIG(status), SIGSTOP);
+
+	args[0] = 42;
+	pscr.pscr_syscall = SYS_exit;
+	pscr.pscr_nargs = 1;
+	pscr.pscr_args = args;
+	ATF_REQUIRE(ptrace(PT_SC_REMOTE, fpid, (caddr_t)&pscr,
+	    sizeof(pscr)) != -1);
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+
+	ATF_REQUIRE(ptrace(PT_CONTINUE, fpid, (caddr_t)1, SIGKILL) != -1);
+
+	/* The child should honour the original exit() call. */
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFEXITED(status));
+	REQUIRE_EQ(WEXITSTATUS(status), 42);
+}
+
+ATF_TC_WITHOUT_HEAD(ptrace__PT_SC_REMOTE_execve);
+ATF_TC_BODY(ptrace__PT_SC_REMOTE_execve, tc)
+{
+	struct ptrace_sc_remote pscr;
+	syscallarg_t args[3];
+	char *ping_path;
+	char *argv[5];
+	char *envp[1];
+	pid_t fpid, wpid;
+	int status;
+
+	ping_path = __DECONST(char *, "/sbin/ping");
+	argv[0] = ping_path;
+	argv[1] = __DECONST(char *, "-c");
+	argv[2] = __DECONST(char *, "1");
+	argv[3] = __DECONST(char *, "localhost");
+	argv[4] = NULL;
+	envp[0] = NULL;
+
+	ATF_REQUIRE((fpid = fork()) != -1);
+	if (fpid == 0) {
+		trace_me();
+		exit(0);
+	}
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+	REQUIRE_EQ(WSTOPSIG(status), SIGSTOP);
+
+	args[0] = (syscallarg_t)ping_path;
+	args[1] = (syscallarg_t)argv;
+	args[2] = (syscallarg_t)envp;
+	pscr.pscr_syscall = SYS_execve;
+	pscr.pscr_nargs = 3;
+	pscr.pscr_args = args;
+	ATF_REQUIRE(ptrace(PT_SC_REMOTE, fpid, (caddr_t)&pscr,
+	    sizeof(pscr)) != -1);
+	/* EJUSTRETURN here is an implementation detail. */
+	REQUIRE_EQ(pscr.pscr_ret.sr_error, EJUSTRETURN);
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFSTOPPED(status));
+	REQUIRE_EQ(WSTOPSIG(status), SIGSTOP);
+
+	{
+		struct kinfo_proc kp;
+		size_t len;
+		int mib[4];
+
+		mib[0] = CTL_KERN;
+		mib[1] = KERN_PROC;
+		mib[2] = KERN_PROC_PID;
+		mib[3] = fpid;
+		len = sizeof(kp);
+		ATF_REQUIRE(sysctl(mib, nitems(mib), &kp, &len, NULL, 0) == 0);
+		ATF_REQUIRE_STREQ(kp.ki_comm, "ping");
+	}
+
+	/* Let the child (now ping) run to completion. */
+	ATF_REQUIRE(ptrace(PT_DETACH, fpid, (caddr_t)1, 0) != -1);
+
+	wpid = waitpid(fpid, &status, 0);
+	REQUIRE_EQ(wpid, fpid);
+	ATF_REQUIRE(WIFEXITED(status));
+	REQUIRE_EQ(WEXITSTATUS(status), 0);
+}
+
 /*
  * Ensure that procctl(PROC_REAP_KILL) won't block forever waiting for a target
  * process that stopped to report its status to a debugger.
@@ -4712,6 +4923,10 @@ ATF_TP_ADD_TCS(tp)
 	ATF_TP_ADD_TC(tp, ptrace__procdesc_reparent_wait_child);
 	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_getpid);
 	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_syscall_validation);
+	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_exit);
+	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_exit_child);
+	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_exit_sigkill);
+	ATF_TP_ADD_TC(tp, ptrace__PT_SC_REMOTE_execve);
 	ATF_TP_ADD_TC(tp, ptrace__reap_kill_stopped);
 	ATF_TP_ADD_TC(tp, ptrace__PT_ATTACH_no_EINTR);
 	ATF_TP_ADD_TC(tp, ptrace__PT_DETACH_continued);

From nobody Mon Jun  8 22:50: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 4gZ6gh1yJnz6gtJy
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:50:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6gg6L6pz3C2H
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780959007;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=a97//UTeVV73WJZ+/hRcXjpymcuVLoVh4cU0Gy6WUqE=;
	b=xPyOOdvPfFnQSeI3HmIFSV7KgYpmYN1y8u61kOm9LyPm12yhuNoigX2Q7nd2xPkZn5jWu7
	Q4mxwOrKPAXaKYpNR5GbdugU+SMfUIG0L0Me2QtdIk0LBPEJHlOBX4/nUUK8IpjR6c1Ib+
	Sxm8AHxgmdFWyqJLTk2NTpdBTh4/EZ4SJ2KVwbqI6stQfsI3dv6O8izS6NJ5d7Xu5u34a8
	MfFVeJxL0Yhsz1uDyU9VEOoqOwrmROinJDjviExATxzmH9osanJPwI8hMusfivZMw5jIEL
	H5YudnV0sh9SGJs5tOkDE2HAduTWT+2crxs67ThfqRiCxkBhZ+8vBY62obgr+A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780959007; a=rsa-sha256; cv=none;
	b=J/zTLpkcZ4RgLt7VKIpKbX8/AmbxQcKcq6n35azNaTxep3qHbo/yk8fMFN2DYT67jl1Eh6
	s5all7tubZ8StuUldNd0MBWpgGkKsRYHZzhyktokB+uQppPYPiBsiBTUor6DQ+R/pLJ3zC
	HZdw4j62K1v0OSa3+1I07OYXa9Sw+72JmqdalTkml+M0qXsoHxrgWcFchzzG83G8RBH7RN
	aVfdrcyw3DwgHMZFtniSr1G6BwRFw/496ct9yGzkl62PDknv0YZOuik2gWs/RMWv7wSh/f
	lJD+xSt/ksqE8ZlRqlwwr13KmUdc1KLsUjtQCD5zzWM11Eb1mLugxvBR24jy8g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780959007;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=a97//UTeVV73WJZ+/hRcXjpymcuVLoVh4cU0Gy6WUqE=;
	b=uftOQyxWQuTF8dBZD8zLNMNKwAY+J8rFiVdsqKc5owyW8ccC9PSP1hl27uuLgitltOVC6Z
	QgBQBI53qnobDjXM+UesDuh/Ho46Q+/FcyEjmNAzPVa7yYFFY5O3uq+kqqEYeuUFSecRuT
	ftov0BymsIAeuufVqRabOsWMglScXN9OyX8tPYZdgISbF3YmF/o2IeoqDvSWvqXMHiHypq
	8r+EoQKivtp/L3KG4ERuoNGBI5KSUCFRqEta8XSFNJdgXfM4jto6TLJmT1Kf9vCKCb6cEa
	BRHXtjrW4zyclnCIUrmdsTerv9LuiJyC8VJSzPUJy6JhYXUoz/jOKXaUsIr3ug==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6gg5sFdz16dn
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 24e07
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:50:07 +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: 2ff705f32a20 - main - libalias: Serialize updates to the global instance list
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: 2ff705f32a2033201a8f83f1ade5ddbc0460387d
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:50:07 +0000
Message-Id: <6a27471f.24e07.100f034b@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 2ff705f32a2033201a8f83f1ade5ddbc0460387d
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-08 22:46:32 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-08 22:49:51 +0000

    libalias: Serialize updates to the global instance list
    
    libalias maintains a global list of all libalias handles.  The list was
    updated without any locking, but nothing prevents updates from running
    concurrently.
    
    MFC after:      1 week
---
 sys/netinet/libalias/alias_db.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c
index 41f0a328daec..bc567ad2d918 100644
--- a/sys/netinet/libalias/alias_db.c
+++ b/sys/netinet/libalias/alias_db.c
@@ -33,6 +33,7 @@
 #include <sys/systm.h>
 #include <sys/lock.h>
 #include <sys/module.h>
+#include <sys/mutex.h>
 #include <sys/rwlock.h>
 #include <sys/stdarg.h>
 #include <sys/syslog.h>
@@ -61,6 +62,10 @@
 
 #include "alias_db.h"
 
+#ifdef _KERNEL
+static struct mtx list_mtx;
+MTX_SYSINIT(libalias_list, &list_mtx, "libalias list lock", MTX_DEF);
+#endif
 static LIST_HEAD(, libalias) instancehead = LIST_HEAD_INITIALIZER(instancehead);
 int LibAliasTime;
 
@@ -2190,8 +2195,14 @@ LibAliasInit(struct libalias *la)
 		/* kernel cleans up on module unload */
 		if (LIST_EMPTY(&instancehead))
 			atexit(finishoff);
+#endif
+#ifdef _KERNEL
+		mtx_lock(&list_mtx);
 #endif
 		LIST_INSERT_HEAD(&instancehead, la, instancelist);
+#ifdef _KERNEL
+		mtx_unlock(&list_mtx);
+#endif
 
 #ifdef _KERNEL
 		LibAliasTime = time_uptime;
@@ -2259,8 +2270,14 @@ LibAliasUninit(struct libalias *la)
 	UninitPacketAliasLog(la);
 #ifndef NO_FW_PUNCH
 	UninitPunchFW(la);
+#endif
+#ifdef _KERNEL
+	mtx_lock(&list_mtx);
 #endif
 	LIST_REMOVE(la, instancelist);
+#ifdef _KERNEL
+	mtx_unlock(&list_mtx);
+#endif
 	LIBALIAS_UNLOCK(la);
 	LIBALIAS_LOCK_DESTROY(la);
 	free(la);

From nobody Mon Jun  8 22:50: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 4gZ6gg2qmkz6gt66
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Mon, 08 Jun 2026 22:50:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ6gf605Bz3Bsm
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780959006;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=u9+Y7dke3+rE6Qq5sJV/C34Uw09jXpAl0O24Tnm45Tg=;
	b=bDwXBNKSB9UwabDhzE3VNRt15Ga7bpO7U49elvXF/evjEL60IAmDTJ2G9Fo0DBHeAuA2ip
	K0aVvgEIPf3d6FMoOJoI9uPZmLkwOKCZLxb2OVKHtbpe/dYgddg6nEOzGMZN/qgEN+iP2e
	58IUTiLXV2eHg2WtNZaJvJejCzKdn0HrSs+a/2HCMQsEzi8xLn4I4sfggkxM1cXXYwkbkr
	XICktHULc0XgFbJhCzMmjGM8FcdDYDcSj+DTfQjDHTK/zcnQmdP/wbDupmz1aQJWe2G8q+
	8oZMby01cEjgWW0hTnkEqTmjhI5IZCO7mdwzt+ULoVBb8gQMhKD/6W3viPDUAg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780959006; a=rsa-sha256; cv=none;
	b=H/+BnUnd0+o/epVdq1FLVj1qxIBsri9c18zItO+mVXEwL+9Qjeyf3iG0K/sJqhJfdqHiOL
	TdTzWWEzrwxFmpx7XbLuJFFdVTJ5U+qAsFhUC0PAL0IDOr1X2tOX71OyUF0v/jLjM1D1QP
	/5aRvthX3xr80bK2+mEynTiduhEWPfEFt4OaFKU5uBa8oUT4Ci/EtiuqsTSDpYFm5ANykM
	E0ZfwEGdRWYvmW08sswS+L4zi28kj8vrRblQupO5RBFcpEhvMgWEIix2MXLWLBrFpZftSw
	9hnwAq4v31JesYQapScpFAJzKlP5SGHk31rtkJBZxthFSgLQVgqyBbtxl0L0Yw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780959006;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=u9+Y7dke3+rE6Qq5sJV/C34Uw09jXpAl0O24Tnm45Tg=;
	b=Eop/bQ2PbPcqGCCbXHrT836+48XhG88HyUThDuPBTtS7jK/2xpKRsC2pqYaU53IDNG4lVg
	4EIzZYGVLZ9qnDBE+1MiS/Af50DYGlUiVZU2LEUzLFOyHEcMyGV2JxrWxynlCG5VxmYq8I
	AwYr/IouQNUnayKNYPUSGOULmZncEPAMReYI2jvtj1gAFrLg9gMtpQF5iAx3eUDaS8JVr0
	j1lbV1OrPRAWHxR85/TS4LIqCU9CGfREikW42OlgBEW7HzPopbUqVcnn6JmbdqlAwOAh+u
	/CnvGFZj8/LinVl0POta7FybWr1kGxaMFVRakyFs6gVoVDHaQwnJ30xzn91riQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ6gf5RKqz16kK
	for <dev-commits-src-main@FreeBSD.org>; Mon, 08 Jun 2026 22:50:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 24e03
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Mon, 08 Jun 2026 22:50:06 +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: c491c2db2f37 - main - iconv.3: Fix formatting of the error 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: c491c2db2f37399eba7a356c4bfa298d64012101
Auto-Submitted: auto-generated
Date: Mon, 08 Jun 2026 22:50:06 +0000
Message-Id: <6a27471e.24e03.4dfcca1a@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit c491c2db2f37399eba7a356c4bfa298d64012101
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-08 22:46:08 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-08 22:49:51 +0000

    iconv.3: Fix formatting of the error section
    
    MFC after:      1 week
---
 lib/libc/iconv/iconv.3 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/libc/iconv/iconv.3 b/lib/libc/iconv/iconv.3
index 577b537e5c21..d20171cf5717 100644
--- a/lib/libc/iconv/iconv.3
+++ b/lib/libc/iconv/iconv.3
@@ -238,6 +238,7 @@ There is no converter specified by
 and
 .Fa dstname .
 .El
+.Pp
 The
 .Fn iconv_open_into
 function may cause an error in the following cases:

From nobody Tue Jun  9 01:01: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 4gZ9b11lXMz6h3wj
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 01:01:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZ9b1141Kz3Qk1
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 01:01:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780966877;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wZueDECu4/zjMt7ObbEMk2ZrtbAhWM2rFRNQEIC7XTg=;
	b=i3sr8G+jAdxyl1C3O9vDbWxCRSVHYiV1xLkroocvl59YS0jJSCA/kArGSqVT490MdvcvpF
	L5UZcIIRCPSyhmTyPP83lvn7cEO30GRE2QQPpxy2zl5FQ2UU0Wv0W7srosGDLTCeZI8LjQ
	/+r5DNzJH4TwRUc8KIW/vAitlAS/ZqFf06juR6Vh/gN0uyBeKUvJCLOvpYs1IVSyRCsXib
	/s/6jtVl5r/12r3grdTAPwSceDgwy+k8xd0KaAJ2q4vK1Tv2yGz14soq4njPn/uMJmJyUJ
	0XkrtG0jjije9FAtRfOMIP7/yWv5cpY61fUS8ZZY0+qABcjBsI2ae5fgj9O/jQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780966877; a=rsa-sha256; cv=none;
	b=kczBvOZr943ogupFbhRTHHkvHeIRm6O7w2fbpscqpjV3coAtanUpSXbCyez04O3Brz9+QY
	RlXxDoR355cjCcdXIAAuvFMomJRFbg+O2H5jBTLV5WIjIYZloJ3JLX+g5xS1BmvjpfNAqE
	3HMc2e3Ne8Kom2QfRI94DbbRViKPE81c44YPuexZDh+YjoBPN3/qaG5o0aLWDZO5gAksDp
	3ceTE14oqggdBTXXwqbjgamHCrYln+i3sL0jikLmbUdazqChvynkGblzRGmWpEWVUoWGYU
	s83MmFHqN+e48Hn9zCWoCV8jUjc30In4Kb+5ddxzz4DL9z61NK2/AjmJU3Xp2w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780966877;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wZueDECu4/zjMt7ObbEMk2ZrtbAhWM2rFRNQEIC7XTg=;
	b=d93iIo1wQ1FNGANHn6KB5xPa8quZgryF7wF/bz/DWbaSwLGRvKGtU61debvwguetydcCHU
	2ZNHT8wLKrqJX1E+cC6mduplzjslYZv6Z4BpE7vEeZQLKLQbHwNHyWT1dLtLK+Dr1SjAEK
	OcxLBGmu6Q74YfgPkNfFWPLJ8ZU4QDaUnCotg7tVtxNaVlCdXojMBsHxFu5HBFxNVozHtf
	pw3x9bcySp87xgnsGmQTpkKUlWtWMNfztiZrHVLjoViD6RVsFvGXZA5KdQVNq2sZEzMTyc
	4xDf+AJ+MW7pAFVtZT0o3/KJ2EHUYdofCDs8kgY6AoNSdNlmkEiHGPJgGQZDYg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZ9b10d6wz1Bdt
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 01:01:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3aa16
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 01:01:17 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Adrian Chadd <adrian@FreeBSD.org>
Subject: git: c3d8aca1d43e - main - net80211: add DEFERRED_WORK.md
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: adrian
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: c3d8aca1d43ee8c569a351b7e1bf2aeb53508b98
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 01:01:17 +0000
Message-Id: <6a2765dd.3aa16.7ebd2a8d@gitrepo.freebsd.org>

The branch main has been updated by adrian:

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

commit c3d8aca1d43ee8c569a351b7e1bf2aeb53508b98
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2026-06-09 01:00:36 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-06-09 01:00:36 +0000

    net80211: add DEFERRED_WORK.md
    
    Describe the ieee80211_task API, why its used and some of
    its shortcomings.
    
    Differential Revision:  https://reviews.freebsd.org/D57261
---
 sys/net80211/DEFERRED_WORK.md | 180 ++++++++++++++++++++++++++++++++++++++++++
 sys/net80211/README.md        |   2 +-
 2 files changed, 181 insertions(+), 1 deletion(-)

diff --git a/sys/net80211/DEFERRED_WORK.md b/sys/net80211/DEFERRED_WORK.md
new file mode 100644
index 000000000000..5dac4d7c9cf1
--- /dev/null
+++ b/sys/net80211/DEFERRED_WORK.md
@@ -0,0 +1,180 @@
+# Deferred work in net80211
+
+## Overview
+
+The work of driving the driver, interface and node state machines is
+partially implemented as a set of deferred work tasks which are
+serialised on a driver task queue.  This way the order of
+control plane operations can be guaranteed and work can be done
+without complicated lock ordering strategies.
+
+## Implementation
+
+The current net80211 implementation uses FreeBSD taskqueues to
+provide a place for both net80211 and driver specific state machine
+tasks to be serialised into and run.  This replaced the bulk
+of per-driver taskqueues for state management.
+
+Each (struct ieee80211com) has an entry (ic_tq) which represents
+the state taskqueue.  The FreeBSD implementation of taskqueues
+requires the caller create, initialise and add their own task
+to the queue.
+
+### net80211 and driver API
+
+net80211 and drivers have the following API:
+
+Initialising tasks currently just uses the FreeBSD taskqueue macros:
+
+ * struct task - the FreeBSD taskqueue work item
+ * TASK_INIT() - initialise a task with state pointer and callback
+
+Work is handled via two calls:
+
+ * ieee80211_runtask() - will schedule the given task to run
+ * ieee80211_draintask() - will wait for the given task to complete if scheduled
+
+Tasks are run in their order they are scheduled.
+
+In addition, the following functions leverage taskqueues to provide
+known good states for certain control plane operations such as
+suspend, resume, interface stop, etc:
+
+ * ieee80211_waitfor_parent() - will block the taskqueue and then wait for
+   (some) pending work to complete.
+
+Other parts of driver/net80211 code currently calls the taskqueue_*
+routines directly on the ic_tq rather than a platform API to
+abstract it.
+
+### Why use this versus mutexes and state variables?
+
+net80211 has to handle a variety of state changes from a variety of sources.
+Here are some examples:
+
+ * userland - (ioctl calls from hostapd/wpa_supplicant, ifconfig, other tools);
+ * timers - eg a BAR timeout causing A-MPDU TX state to be torn out,
+   nodes expiring, association / authentication timeouts;
+ * transmit errors
+ * received frames - plenty of 802.11 state changes based on received
+   frames!
+ * driver input - the driver / firmware itself may trigger state changes
+   due to packet errors, firmware command success/failure, notifications
+   about node timeouts, and much more.
+
+These could all be implemented by holding mutexes whilst state changes
+occur, but in a lot of cases there may be other mutexes being held inside
+net80211, the ioctl layer, the driver stack, the upper layers of the network
+stack and .. well, a variety of other places.  This also can lead into
+situations where the driver and net80211 end up calling into each other
+in circles just to get work done.
+
+Here's an example - notification of an 802.11n channel width via a call to
+ieee80211_update_chw().
+
+ * This happens when an 802.11 IE is received which indicates the channel
+   width should change.
+ * This will end up calling into the 802.11 stack to signal the channel
+   width change.
+ * It will also need to call back into the driver to potentially change
+   the currently configured channel width.
+
+If this were done without a deferred task, the flow would be driver ->
+net80211 -> driver (and then potentially -> net80211 again.)
+
+Instead, deferring the work addresses a few things:
+
+ * Any locks held across the driver receive path don't matter here,
+   as the serialising is done via the task queue order, not by
+   mutexes being held;
+ * The work is serialised based on the order of received state changes
+   (ie receving packets A, B and C which cause state changes A, B and
+   C to be scheduled should result in A, B and C happening in that order);
+ * There's no recursion from driver -> net80211 -> driver, or net80211 ->
+   driver -> net80211 (except for some macros/utility calls.)
+
+### VAP state change handling / ieee80211_new_state()
+
+The VAP newstate handling is an example of where the current task API
+falls short and it would benefit from being more dynamic.
+
+The older net80211 code had a single task for newstate.  Each call
+to ieee80211_new_state() to change the VAP state (AUTH, RUN, INIT, etc)
+would attempt to update the VAP state via a deferred task.
+However if multiple state changes came in quickly, the requested new
+state and argument would end up replacing the existing queued one,
+and the driver would not see the intermediate state changes.
+
+This is fine for some - eg back to back channel width changes
+can be coalesced into one - but others such as the VAP state
+machine should not!
+
+This changed in FreeBSD-14 / FreeBSD-15 to leverage an array of
+newstates to attempt to deal with this happening.  ieee80211_new_state_locked()
+would request a free slot, and then ieee80211_newstate_cb() would
+get the next pending state from the list to handle.
+
+### Deferred tasks versus data path and control path
+
+There is no implicit synchronisation between deferred tasks, the control
+path and the data path.  Deferred tasks can and will run in parallel with
+packet transmit and receive and with ioctl / other control paths.
+
+The goals of task deferral is to serialise these tasks between itself and other
+tasks.  This has the side effect of happening outside of all the locking
+that may be occuring if it were done inline, but it does not preclude
+tasks themselves from having to use locks to serialise with the data/control
+paths.
+
+Thus, data path, control path and deferred tasks must still use the
+appropriate mutexes to protect any state changes (global, vap, node, etc.)
+In most cases it'll be the driver lock (via IEEE80211_LOCK() ), but
+it may also involve the node table lock, power save queue lock, etc.
+
+### net80211 driver tasks
+
+The following are a list of tasks which are global to the device and
+are defined in struct ieee80211com .
+
+ * ic_parent_task - deferred parent processing
+ * ic_promisc_task - deferred promiscuous configuration change processing
+ * ic_mcast_task - deferred multicast config/filter processing
+ * ic_chan_task - deferred global device channel change
+ * ic_bmiss_task - deferred beacon miss handler
+ * ic_chw_task - deferred HT channel width (20/40MHz) update processing
+ * ic_restart_task - deferred device restart
+
+The following are a list of tasks which are per-VAP and are defined in
+struct ieee80211vap .
+
+ * iv_swbmiss_task - deferred per-vap beacon miss processing
+ * iv_nstate_task (with iv_nstates, iv_nstate_args) - VAP state transition
+   handling tasks
+ * iv_wme_task - deferred WME (QoS configuration) update
+ * iv_slot_task - deferred slot time update
+ * iv_erp_protmode_task - deferred ERP/11g protection mode update
+ * iv_preamble_task - deferred 802.11b preamble update
+ * iv_ht_protmode_update - deferred 802.11n protection mode update
+
+## Future work
+
+ * There's currently no way to schedule multiple instances of a task
+   with some state into the taskqueue.  Eg, the newstate task used to "miss"
+   state changes; it now works around this by having an array of newstate task
+   entries.
+
+ * The task API is very much a thin wrapper around FreeBSD's taskqueue API.
+   It really should become a platform API which is defined and implemented
+   in ieee80211_freebsd.[ch].
+
+ * Tasks are fire and forget.  There's currently no way for the submitter
+   to be called when thas task runs or is canceled; it can only run and
+   then block via calling drain until its called or cancelled.
+
+ * There's currently no way to suspend transmit and receive handling
+   around state processing.  This is not always desirable for packet
+   performance and latency reasons but there are cases where this
+   would be desirable (eg a channel width change would benefit from
+   stopping and queueing transmit, waiting for the driver to finish
+   transmitting, then change the channel width and then unblock
+   transmit to continue.)
diff --git a/sys/net80211/README.md b/sys/net80211/README.md
index be704185f43f..c47e27a10219 100644
--- a/sys/net80211/README.md
+++ b/sys/net80211/README.md
@@ -101,7 +101,7 @@ with the protocol definitions.
  * Debugging - (@ref md_net80211_DEBUG)
  * Top-level device layout (ieee80211com)
  * Data / Control Path Overview (@ref md_net80211_DATAPATH_TRANSMIT), (@ref md_net80211_DATAPATH_RECEIVE)
- * Deferred work
+ * Deferred work (@ref md_net80211_DEFERRED_WORK)
  * Regulatory
  * Virtual interfaces
  * Operating Modes

From nobody Tue Jun  9 01:38:58 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZBQj280Nz6h7Zs;
	Tue, 09 Jun 2026 01:39:09 +0000 (UTC)
	(envelope-from kib@freebsd.org)
Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZBQh3HP4z3XZ3;
	Tue, 09 Jun 2026 01:39:08 +0000 (UTC)
	(envelope-from kib@freebsd.org)
Authentication-Results: mx1.freebsd.org;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=freebsd.org (policy=none);
	spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kib@freebsd.org) smtp.mailfrom=kib@freebsd.org
Received: from tom.home (kib@localhost [127.0.0.1] (may be forged))
	by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 6591cwZl098876;
	Tue, 9 Jun 2026 04:39:01 +0300 (EEST)
	(envelope-from kib@freebsd.org)
DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 6591cwZl098876
Received: (from kostik@localhost)
	by tom.home (8.18.1/8.18.1/Submit) id 6591cwh8098875;
	Tue, 9 Jun 2026 04:38:58 +0300 (EEST)
	(envelope-from kib@freebsd.org)
X-Authentication-Warning: tom.home: kostik set sender to kib@freebsd.org using -f
Date: Tue, 9 Jun 2026 04:38:58 +0300
From: Konstantin Belousov <kib@freebsd.org>
To: Robert Clausecker <fuz@freebsd.org>
Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
        dev-commits-src-main@freebsd.org, Faraz Vahedi <kfv@kfv.io>
Subject: Re: git: 5f732742ad5b - main - libc: Add free_sized() and
 free_aligned_sized() as per C23
Message-ID: <aidusnnCokFs58xX@kib.kiev.ua>
References: <6a25dc0b.4729a.7f7225a7@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: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org>
X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00
	autolearn=ham autolearn_force=no version=4.0.2
X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on tom.home
X-Spamd-Result: default: False [-2.97 / 15.00];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_MEDIUM(-0.99)[-0.989];
	NEURAL_HAM_SHORT(-0.98)[-0.984];
	DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : No valid SPF, No valid DKIM,none];
	MIME_GOOD(-0.10)[text/plain];
	ARC_NA(0.00)[];
	ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US];
	HAS_XAW(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FREEFALL_USER(0.00)[kib];
	TO_DN_SOME(0.00)[];
	R_SPF_SOFTFAIL(0.00)[~all];
	R_DKIM_NA(0.00)[];
	MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MISSING_XM_UA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_LAST(0.00)[];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5]
X-Spamd-Bar: --
X-Rspamd-Queue-Id: 4gZBQh3HP4z3XZ3

On Sun, Jun 07, 2026 at 09:00:59PM +0000, Robert Clausecker wrote:
> The branch main has been updated by fuz:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=5f732742ad5b3133a860a8969cf2bd13dc9ac358
> 
> commit 5f732742ad5b3133a860a8969cf2bd13dc9ac358
> Author:     Faraz Vahedi <kfv@kfv.io>
> AuthorDate: 2026-05-16 18:36:17 +0000
> Commit:     Robert Clausecker <fuz@FreeBSD.org>
> CommitDate: 2026-06-07 20:59:19 +0000
> 
>     libc: Add free_sized() and free_aligned_sized() as per C23
>     

> +FBSD_1.9 {
> +	free_sized;
> +	free_aligned_sized;

> +	__free_sized;
> +	__free_aligned_sized;

Why these two symbols (from private C namespace) need to be exported?
And then, why they need to be exported in the public version?

> +};

From nobody Tue Jun  9 04:26: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 4gZG8C3Pyxz6hL13
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 04:26:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZG8C2jhDz3r1T
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 04:26:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780979211;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=x6GN3peRpCP/LnAstqdg5jJYWTg3VEoC2V8ylfcRdok=;
	b=kDi1kpaZU12MzTwE8N9bVuUAF7+MwIkA/7W9fPRxpiXFrj0ryM+EtxJWHNtxI8cP7mHWna
	B/n1c5XSV/LHxWgt4zWIG52t9fvQ0uNFSoDb93Rcc2xOTdFL2/FzFcfJi9mX+QRc3OOeaY
	C8LVOlyM3fbqQe8l6mDj3/4HBN7xedRIw17mexRXEMOXNlnDknvVnPRMQDuj53/KE4uelS
	TgyPTqE0HZ8xQdtP2R7DU76iWyNbWTX8yaPQefNyN1b3YoPT+6USdx3Xmm2qCFRuCdY16B
	NjongJjBlTDzRIT440pRd1eOCoucmUi2GCtOYubrByisbNnW1KWKiNBa0u+8zQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780979211; a=rsa-sha256; cv=none;
	b=MmQAKk2wr2e1wFbYwcufSIeMWMxjFgwpcyvcszkHT/4P1tytcTmgGAsgIesV+xTUOtcTQ4
	yPbtviMx4oRWbDLmB2+F6YNNiORtcoDX6zbK21qQDLnXO5gYcEtVG+ww6MRznzkB2AmDuA
	jKDGw4wntCTYOJFedno2tffJpdUy1VBiAxEGYIOVv4KL7b7eAiAJr+mV7HKO2e/fpmXxAc
	nts5Ap6zEBNG9mDlAHIP1+Rggn0R7ve0OcyqWTnfoFpkTthbzL/yH2/+jFm9mNhq8iG6oD
	f32VFjTRZ+EjEpSlxqo3Wrqyp/Wn0ZSANRQHCw1/womcFHOePwR3of9AUb3STg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780979211;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=x6GN3peRpCP/LnAstqdg5jJYWTg3VEoC2V8ylfcRdok=;
	b=s5xEGZSuDGB8HExDKuZyujDj7YwLd0npZN/H71Yd81ot5Z9tnZH68cNlUcH2ZofELyPyGn
	txz6IhgU5n2OMqBvkH7Orve2PP254juv4zjeuyHf0oX7bIdc3U2Hrpac8IEmhZaElRc3cO
	UBA5O2lfhN1rd5Zpud2k1NsSb6IxlffWs3Nd9C9jmSnz7uIbCxtqotUZ6MRGMGPuzHjKqF
	IMKGfptL46tAvtI3uWKik98XkYOd1FEnvVthsq+mMhY+1ESkpZ8ZhYjYlGocLcW7o5Rh4U
	CJzog/N6T5qd2uPJ9qCQisGv0mm/zjL+nysIKKHXWnQgRnvNMaurRsjnvXsjUg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZG8C2J8Vz3fP
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 04:26:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 272c1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 04:26:51 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Adrian Chadd <adrian@FreeBSD.org>
Subject: git: a653fd5560cf - main - net80211: create IEEE80211_KEYBUF_128_SIZE / IEEE80211_MICBUF_128_SIZE
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: adrian
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a653fd5560cfdd68f634cca7352c56f2cf7e1473
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 04:26:51 +0000
Message-Id: <6a27960b.272c1.2fafbe61@gitrepo.freebsd.org>

The branch main has been updated by adrian:

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

commit a653fd5560cfdd68f634cca7352c56f2cf7e1473
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2026-06-09 04:26:07 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-06-09 04:26:07 +0000

    net80211: create IEEE80211_KEYBUF_128_SIZE / IEEE80211_MICBUF_128_SIZE
    
    The IEEE80211_KEYBUF_SIZE and IEEE80211_MICBUF_SIZE are sprinkled
    throughout the net80211 stack, ioctl API and drivers.  This makes it
    challenging to (eventually) up IEEE80211_KEYBUF_SIZE to support 256 /
    384 bit encryption as, well, it'll break every single driver and the
    ioctl API in doing so.
    
    So as part of this, let's start to separate out the current key/mic
    buffer size from what drivers and the ioctl layer are using.
    Drivers especially shouldn't be using these definitions as their
    key sizes are hardware / firmware API limits, not net80211 limits.
    Ideally drivers would define their own key buffer / mic buffer
    sizes and only copy in keys up to that length (and fail keys
    that are too large) but the current net80211 API isn't there yet.
    
    This doesn't yet change what defines / buffer sizes are used in the
    ioctl layer.  I'm going to plan out some subsequent work to
    separate out those defines and ioctl APIs so they maintain using
    the 128 bit key/mic buffer sizes and will copy them in/out of any
    larger net80211 key buffer size in the future.
    
    Differential Revision:  https://reviews.freebsd.org/D54593
---
 sys/dev/ipw/if_ipwreg.h             |  2 +-
 sys/dev/iwi/if_iwireg.h             |  4 ++--
 sys/dev/malo/if_malo.h              |  6 +++---
 sys/dev/mwl/if_mwl.c                |  4 ++--
 sys/dev/ral/rt2560reg.h             |  4 ++--
 sys/dev/usb/wlan/if_rsureg.h        |  4 ++--
 sys/dev/usb/wlan/if_rum.c           |  4 ++--
 sys/dev/usb/wlan/if_rumreg.h        |  2 +-
 sys/dev/wpi/if_wpireg.h             |  4 ++--
 sys/net80211/ieee80211_crypto.h     | 20 ++++++++++++++++++--
 sys/net80211/ieee80211_crypto_wep.c |  4 ++--
 11 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/sys/dev/ipw/if_ipwreg.h b/sys/dev/ipw/if_ipwreg.h
index 05f5939ac597..acb310f22138 100644
--- a/sys/dev/ipw/if_ipwreg.h
+++ b/sys/dev/ipw/if_ipwreg.h
@@ -168,7 +168,7 @@ struct ipw_hdr {
 	uint8_t		encrypt;
 	uint8_t		keyidx;
 	uint8_t		keysz;
-	uint8_t		key[IEEE80211_KEYBUF_SIZE];
+	uint8_t		key[IEEE80211_KEYBUF_128_SIZE]; /* XXX should be HW specific */
 	uint8_t		reserved[10];
 	uint8_t		src_addr[IEEE80211_ADDR_LEN];
 	uint8_t		dst_addr[IEEE80211_ADDR_LEN];
diff --git a/sys/dev/iwi/if_iwireg.h b/sys/dev/iwi/if_iwireg.h
index dd6bb91bfecd..b34867677d12 100644
--- a/sys/dev/iwi/if_iwireg.h
+++ b/sys/dev/iwi/if_iwireg.h
@@ -341,7 +341,7 @@ struct iwi_tx_desc {
 #define IWI_DATA_XFLAG_QOS	0x10
 
 	uint8_t		wep_txkey;
-	uint8_t		wepkey[IEEE80211_KEYBUF_SIZE];
+	uint8_t		wepkey[IEEE80211_KEYBUF_128_SIZE]; /* XXX hardware specific */
 	uint8_t		rate;
 	uint8_t		antenna;
 	uint8_t		reserved3[10];
@@ -530,7 +530,7 @@ struct iwi_wep_key {
 	uint8_t	seq;
 	uint8_t	idx;
 	uint8_t	len;
-	uint8_t	key[IEEE80211_KEYBUF_SIZE];
+	uint8_t	key[IEEE80211_KEYBUF_128_SIZE]; /* XXX hardware specific */
 } __packed;
 
 /* structure for command IWI_CMD_SET_WME_PARAMS */
diff --git a/sys/dev/malo/if_malo.h b/sys/dev/malo/if_malo.h
index 05c5bc90c467..008068c99524 100644
--- a/sys/dev/malo/if_malo.h
+++ b/sys/dev/malo/if_malo.h
@@ -332,9 +332,9 @@ struct malo_cmd_wepkey {
 	uint8_t			len;
 	uint8_t			flags;
 	uint16_t		index;
-	uint8_t			value[IEEE80211_KEYBUF_SIZE];
-	uint8_t			txmickey[IEEE80211_WEP_MICLEN];
-	uint8_t			rxmickey[IEEE80211_WEP_MICLEN];
+	uint8_t			value[IEEE80211_KEYBUF_128_SIZE]; /* XXX hardware */
+	uint8_t			txmickey[IEEE80211_WEP_MICLEN]; /* XXX hardware */
+	uint8_t			rxmickey[IEEE80211_WEP_MICLEN]; /* XXX hardware */
 	uint64_t		rxseqctr;
 	uint64_t		txseqctr;
 } __packed;
diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c
index b7f85e65cfd9..87e2679778db 100644
--- a/sys/dev/mwl/if_mwl.c
+++ b/sys/dev/mwl/if_mwl.c
@@ -1661,10 +1661,10 @@ _mwl_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k,
 		/* Copy in TKIP MIC after the 16 byte main key */
 		memcpy(hk.key.aes, ieee80211_crypto_get_key_data(k),
 		    ieee80211_crypto_get_key_len(k));
-		memcpy(hk.key.aes + IEEE80211_KEYBUF_SIZE,
+		memcpy(hk.key.aes + IEEE80211_KEYBUF_128_SIZE,
 		    ieee80211_crypto_get_key_txmic_data(k),
 		    8);
-		memcpy(hk.key.aes + IEEE80211_KEYBUF_SIZE + 8,
+		memcpy(hk.key.aes + IEEE80211_KEYBUF_128_SIZE + 8,
 		    ieee80211_crypto_get_key_rxmic_data(k),
 		    8);
 		break;
diff --git a/sys/dev/ral/rt2560reg.h b/sys/dev/ral/rt2560reg.h
index af95a7626b62..86d6a568dad1 100644
--- a/sys/dev/ral/rt2560reg.h
+++ b/sys/dev/ral/rt2560reg.h
@@ -224,7 +224,7 @@ struct rt2560_tx_desc {
 	uint8_t		plcp_length_hi;
 	uint32_t	iv;
 	uint32_t	eiv;
-	uint8_t		key[IEEE80211_KEYBUF_SIZE];
+	uint8_t		key[IEEE80211_KEYBUF_128_SIZE]; /* XXX hardware */
 	uint32_t	reserved2[2];
 } __packed;
 
@@ -251,7 +251,7 @@ struct rt2560_rx_desc {
 	uint8_t		ta[IEEE80211_ADDR_LEN];
 	uint32_t	iv;
 	uint32_t	eiv;
-	uint8_t		key[IEEE80211_KEYBUF_SIZE];
+	uint8_t		key[IEEE80211_KEYBUF_128_SIZE]; /* XXX hardware */
 	uint32_t	reserved[2];
 } __packed;
 
diff --git a/sys/dev/usb/wlan/if_rsureg.h b/sys/dev/usb/wlan/if_rsureg.h
index e2074e1dd2ad..7ac194e6f142 100644
--- a/sys/dev/usb/wlan/if_rsureg.h
+++ b/sys/dev/usb/wlan/if_rsureg.h
@@ -478,14 +478,14 @@ struct r92s_fw_cmd_set_key {
 
 	uint8_t	cam_id;
 	uint8_t	grpkey;
-	uint8_t	key[IEEE80211_KEYBUF_SIZE];
+	uint8_t	key[IEEE80211_KEYBUF_128_SIZE]; /* XXX firmware */
 } __packed;
 
 /* Structure for R92S_CMD_SET_STA_KEY. */
 struct r92s_fw_cmd_set_key_mac {
 	uint8_t	macaddr[IEEE80211_ADDR_LEN];
 	uint8_t	algo;
-	uint8_t	key[IEEE80211_KEYBUF_SIZE];
+	uint8_t	key[IEEE80211_KEYBUF_128_SIZE]; /* XXX firmware */
 } __packed;
 
 /* Structures for R92S_EVENT_SURVEY/R92S_CMD_JOIN_BSS. */
diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c
index 4a4a150146a1..4683267bda25 100644
--- a/sys/dev/usb/wlan/if_rum.c
+++ b/sys/dev/usb/wlan/if_rum.c
@@ -2867,10 +2867,10 @@ rum_common_key_set(struct rum_softc *sc, struct ieee80211_key *k,
 		return EIO;
 
 	if (k->wk_cipher->ic_cipher == IEEE80211_CIPHER_TKIP) {
-		if (rum_write_multi(sc, base + IEEE80211_KEYBUF_SIZE,
+		if (rum_write_multi(sc, base + IEEE80211_KEYBUF_128_SIZE,
 		    ieee80211_crypto_get_key_txmic_data(k), 8))
 			return EIO;
-		if (rum_write_multi(sc, base + IEEE80211_KEYBUF_SIZE + 8,
+		if (rum_write_multi(sc, base + IEEE80211_KEYBUF_128_SIZE + 8,
 		    ieee80211_crypto_get_key_rxmic_data(k), 8))
 			return EIO;
 	}
diff --git a/sys/dev/usb/wlan/if_rumreg.h b/sys/dev/usb/wlan/if_rumreg.h
index 348a57582859..cc364e95590c 100644
--- a/sys/dev/usb/wlan/if_rumreg.h
+++ b/sys/dev/usb/wlan/if_rumreg.h
@@ -45,7 +45,7 @@
 /*
  * H/w encryption/decryption support
  */
-#define KEY_SIZE		(IEEE80211_KEYBUF_SIZE + IEEE80211_MICBUF_SIZE)
+#define KEY_SIZE		(IEEE80211_KEYBUF_128_SIZE + IEEE80211_MICBUF_128_SIZE)
 #define RT2573_ADDR_MAX		64
 #define RT2573_SKEY_MAX		4
 
diff --git a/sys/dev/wpi/if_wpireg.h b/sys/dev/wpi/if_wpireg.h
index 84d25bbeb953..4c6af326329d 100644
--- a/sys/dev/wpi/if_wpireg.h
+++ b/sys/dev/wpi/if_wpireg.h
@@ -466,7 +466,7 @@ struct wpi_node_info {
 	uint8_t		reserved4;
 	uint16_t	ttak[5];
 	uint16_t	reserved5;
-	uint8_t		key[IEEE80211_KEYBUF_SIZE];
+	uint8_t		key[IEEE80211_KEYBUF_128_SIZE]; /* XXX firmware */
 	uint32_t	action;
 #define WPI_ACTION_SET_RATE	(1 << 2)
 
@@ -514,7 +514,7 @@ struct wpi_cmd_data {
 #define WPI_CIPHER_TKIP		3
 #define WPI_CIPHER_WEP104	9
 
-	uint8_t		key[IEEE80211_KEYBUF_SIZE];
+	uint8_t		key[IEEE80211_KEYBUF_128_SIZE]; /* XXX firmware */
 	uint8_t		tkip[IEEE80211_WEP_MICLEN];
 	uint32_t	fnext;
 #define WPI_NEXT_STA_ID(id)	((id) << 8)
diff --git a/sys/net80211/ieee80211_crypto.h b/sys/net80211/ieee80211_crypto.h
index 48115da586b5..824983ae4d2d 100644
--- a/sys/net80211/ieee80211_crypto.h
+++ b/sys/net80211/ieee80211_crypto.h
@@ -31,8 +31,24 @@
 /*
  * 802.11 protocol crypto-related definitions.
  */
-#define	IEEE80211_KEYBUF_SIZE	16
-#define	IEEE80211_MICBUF_SIZE	(8+8)	/* space for both tx+rx keys */
+
+/*
+ * Legacy 128 bit key size storage for WEP, TKIP, CCMP key sizes.
+ * This has been used to store keys in net80211 for various things
+ * (eg the rc4key in WEP) as well as driver definitions for their
+ * own hardware programming.
+ *
+ * This should eventually be used by the ioctl and drivers instead of
+ * IEEE80211_KEYBUF_SIZE as the key size will eventually grow.
+ */
+#define	IEEE80211_KEYBUF_128_SIZE	16
+#define	IEEE80211_MICBUF_128_SIZE	(8+8)	/* space for both tx+rx keys */
+
+/*
+ * Temporary definition whilst I clean up where this is still being used.
+ */
+#define	IEEE80211_KEYBUF_SIZE		IEEE80211_KEYBUF_128_SIZE
+#define	IEEE80211_MICBUF_SIZE		IEEE80211_MICBUF_128_SIZE
 
 /*
  * Old WEP-style key.  Deprecated.
diff --git a/sys/net80211/ieee80211_crypto_wep.c b/sys/net80211/ieee80211_crypto_wep.c
index e1b261a0be6f..cf947e559a4f 100644
--- a/sys/net80211/ieee80211_crypto_wep.c
+++ b/sys/net80211/ieee80211_crypto_wep.c
@@ -348,7 +348,7 @@ wep_encrypt(struct ieee80211_key *key, struct mbuf *m0, int hdrlen)
 	struct wep_ctx *ctx = key->wk_private;
 	struct ieee80211vap *vap = ctx->wc_vap;
 	struct mbuf *m = m0;
-	uint8_t rc4key[IEEE80211_WEP_IVLEN + IEEE80211_KEYBUF_SIZE];
+	uint8_t rc4key[IEEE80211_WEP_IVLEN + IEEE80211_KEYBUF_128_SIZE];
 	uint8_t icv[IEEE80211_WEP_CRCLEN];
 	uint32_t i, j, k, crc;
 	size_t buflen, data_len;
@@ -431,7 +431,7 @@ wep_decrypt(struct ieee80211_key *key, struct mbuf *m0, int hdrlen)
 	struct wep_ctx *ctx = key->wk_private;
 	struct ieee80211vap *vap = ctx->wc_vap;
 	struct mbuf *m = m0;
-	uint8_t rc4key[IEEE80211_WEP_IVLEN + IEEE80211_KEYBUF_SIZE];
+	uint8_t rc4key[IEEE80211_WEP_IVLEN + IEEE80211_KEYBUF_128_SIZE];
 	uint8_t icv[IEEE80211_WEP_CRCLEN];
 	uint32_t i, j, k, crc;
 	size_t buflen, data_len;

From nobody Tue Jun  9 04:35: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 4gZGL22k0Vz6hLPH
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 04:35:22 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZGL229n4z3s4P
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 04:35:22 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780979722;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=LCiN/hBY9coRWHdTM01y3EJoABoRCdQ3O1nCkVNCUQI=;
	b=iQiy7/2ayWXCZvoTRCIFhoUq3hFkueeRHwwQXQ36+V5mq/9Q9dNPa6H/I3iyWXDj3nuulZ
	OjKiqk51ooggKfyjGFU9ox6/2z5xvW0kaYfjJpAMHzd0vtNhITSZ/dakYjWpkfUng2vz3z
	2oFsSeyuTaU8ZTk5h05GdPH8ZgT/LNg5m4+V/G98CUD2GTlqZZHRS3JiMfb7OXXDPeA863
	5LuuJ8kLc3zAWThWoyTxMHZ3yOOLH//Tiu/s62WdGhfl8afhvOlVFblKXyAUrjg6WTYROG
	/Oog1cCjsFPy0ux5GRA65PvFgBsmqx+Jgia+bRYOJysRX+Ilhsl8Ra95IRcZYA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780979722; a=rsa-sha256; cv=none;
	b=SmrGOT7ndI3EJOiMYozD9c+JoLwy68OOr3aAj0leuamVLLrL1QTbjEP2Z2HoI3m3NFfS4n
	eSK+nbzkd0nNB810mGrpBOLkvvgwpZtzfUMHz2RBWSdPA2jbfE2SyzO/qKOrhhIKXT85v+
	ItGYjAdes2lHD9SpzoVDyCyx0YtnZ7SDvWhKDw2EohPLABEqXTWjKYcw32R/mdI5h3h9+n
	7j1LKdkrCpSbyfilrDcXkOo6VZ2bV+y9mbB9ZpJVQJmSuQS/XIQApM2NDekMCDixe4rD7F
	M736SG6Ye9XbGMSp3B0p14ytTGc5u/FNsaMBn9efgCW8aJhlAu2lY9pLz7XhJQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780979722;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=LCiN/hBY9coRWHdTM01y3EJoABoRCdQ3O1nCkVNCUQI=;
	b=t/sVApJDjOropqiP7TIlwdWoHfSkiBFJYFj0x7/phxAJwZV+JOAfb6fhCjprEl8I03zpoo
	9qhHjIRyULJFsH5u0MIabaV3dbG0zI/Eoj+Qbi1kXxpUAAA5GXniczc/z7j6B6qELbpns6
	k3lEIk93gUQTQXEEAvAsinhl0RJOm5jDv/z5GyntC3f87pKlqkhpDFHwIasXHSpMR4NrOP
	lMpkZ8G2Bupujg/1djKm8Yr3cBFEK9kIyxPp0HGvsruF1zmcTLTp4uklvepDYbG8O2k4Q7
	XPGq4UYoPCs0ZKzXoynITJaztzNEwAathhjxK2nOwzwIRUD8aGZp7SGNNAQouA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZGL21lDnz3gB
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 04:35:22 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 307e0
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 04:35:22 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Adrian Chadd <adrian@FreeBSD.org>
Subject: git: 62c1865c9aae - main - net80211: delete the deprecated ieee80211_wepkey struct
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: adrian
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 62c1865c9aaef436498c444b460e6ec2fbcaf44d
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 04:35:22 +0000
Message-Id: <6a27980a.307e0.c0488d6@gitrepo.freebsd.org>

The branch main has been updated by adrian:

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

commit 62c1865c9aaef436498c444b460e6ec2fbcaf44d
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2026-06-09 04:27:12 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-06-09 04:27:12 +0000

    net80211: delete the deprecated ieee80211_wepkey struct
    
    This hasn't been used in a long time, and since I am shuffling around
    the net80211 crypto API a bunch, let's just delete it instead of
    leaving it here and trying to figure out how to support it if it's
    used by userland somehow.
    
    Reviewed by:    guest-seuros
    Differential Revision:  https://reviews.freebsd.org/D57312
---
 sys/net80211/ieee80211_crypto.h | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/sys/net80211/ieee80211_crypto.h b/sys/net80211/ieee80211_crypto.h
index 824983ae4d2d..9ae91bcaeb5d 100644
--- a/sys/net80211/ieee80211_crypto.h
+++ b/sys/net80211/ieee80211_crypto.h
@@ -50,14 +50,6 @@
 #define	IEEE80211_KEYBUF_SIZE		IEEE80211_KEYBUF_128_SIZE
 #define	IEEE80211_MICBUF_SIZE		IEEE80211_MICBUF_128_SIZE
 
-/*
- * Old WEP-style key.  Deprecated.
- */
-struct ieee80211_wepkey {
-	u_int		wk_len;		/* key length in bytes */
-	uint8_t		wk_key[IEEE80211_KEYBUF_SIZE];
-};
-
 struct ieee80211_rsnparms {
 	uint8_t		rsn_mcastcipher;	/* mcast/group cipher */
 	uint8_t		rsn_mcastkeylen;	/* mcast key length */

From nobody Tue Jun  9 08:41:10 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZMnf1j1Wz6hcQq
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 08:41:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZMnf16fKz3HtG
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 08:41:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1780994470;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=NmVEyKQBgJXSjqbzW7oB27hVTaR8Almpak1wQ3RElc8=;
	b=E5jB38ok7pv0HWD3OyVyKrpMf4USQhzbxkAaw96gB1yLKQAtVxwPur38jzw6RoSLJoxA8B
	flpVWEQmabzPwoWQZC6Cbj7lGh1x2feYgHHg8EppsXP5k8MFAp6Cfr9MmM8tjUcRGs3cFX
	d2/yPMHYir9uGXOFQqWE+Q3wcfmAzNm7zEybn1IQbp9p2EIZQeBrZNafY8Qn6jw2gIeouB
	shztfmRxwuHrAEBFt+WOAUfHb68wNfB0Ol1iXm2MW6B6kilpcWfExYueRQlEFBxy8ozPPz
	xYL3kjipbll6uIESnHl0Zv+n9chwtRlIqBZI0Rsvy6eoW2/hGt31IjkofwJJoQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780994470; a=rsa-sha256; cv=none;
	b=lTr5n/wdg5q3fuPbx90wfNI0ZpGiWgXoEfZJUNUVVbBbgQ2ehONgXsBrk1hRpZm89m+hR6
	43lH5/fnrIrjS9+f8N19i4u9Z85rOPll4GxSe5qU1zhN1RrRdcO9/9I5/dVcT3LoKnzzpt
	CEmdZlV+vZnLYHqXdvDPkllpw+/efprZf3b6lohWJc/NnaioepgE75OsOfIpt8/gDyHmY8
	+45ID9t6a7UTp8JG5KNvgKI12M/psW1bTEV59i1OH2hot2k2v06Pz8SOujcBbZeKvuRL89
	iB3RFz5/rHkyUNNZw7BmSoeJjU5jQWA80MEDkjm5jj8KBRf4Je//Ai+N3+T5hA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1780994470;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=NmVEyKQBgJXSjqbzW7oB27hVTaR8Almpak1wQ3RElc8=;
	b=X8/zN0c7wimfYB6curADvp3d3m/Iuzb05dTM7Ar/aNMKzL767ikzaB9n4vOrG2Obp/xZv4
	7gPK3lvWP2F+zS2Oqvt0oY7w2IN3UNwGqMkRPBzRAPbrYOvMon4teGnL1jJ2PtJ9p28E8C
	zGE7OdelchVxpl419kC7UqNUaKIj8bSSMU484Fvj5DdIs7sHBVKWCbRKbaA5GcFBV4Q96B
	qxViWjs5v2EbmfpMkwagRKeGr4j8unDjGmB5dKEsy+r2lLg+zX+ITSdCmDmrzZxrtmUK9U
	ZI9ngzrWmWLlnkzSb0zR3K1zNaVODHw8SFN1yGdH+OWb3EY3HF7PKq2/tUcUOw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZMnf0gmnzBNR
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 08:41:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1923a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 08:41:10 +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: c0ec8ffb46ab - main - stats: Reference zpool-iostat(8) instead of zpool(8)
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: c0ec8ffb46ab337dcf726fcdf8083f62859d0ae6
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 08:41:10 +0000
Message-Id: <6a27d1a6.1923a.7e027125@gitrepo.freebsd.org>

The branch main has been updated by 0mp:

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

commit c0ec8ffb46ab337dcf726fcdf8083f62859d0ae6
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2026-06-09 08:37:13 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2026-06-09 08:40:42 +0000

    stats: Reference zpool-iostat(8) instead of zpool(8)
    
    MFC after:      3 days
---
 share/man/man7/stats.7 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/share/man/man7/stats.7 b/share/man/man7/stats.7
index f81c2fef0155..54620b90dd9e 100644
--- a/share/man/man7/stats.7
+++ b/share/man/man7/stats.7
@@ -24,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd May 7, 2026
+.Dd June 9, 2026
 .Dt STATS 7
 .Os
 .Sh NAME
@@ -116,7 +116,7 @@ Report ZFS I/O statistics
 .Xr pmcstat 8 ,
 .Xr pstat 8 ,
 .Xr vmstat 8 ,
-.Xr zpool 8
+.Xr zpool-iostat 8
 .Sh HISTORY
 The
 .Nm

From nobody Tue Jun  9 11:27: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 4gZRV36Dvgz6hp6r
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 11:27:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZRV35hBlz3cBs
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:27:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781004475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=LSnYUdoiwZmbyAv/ii0JVG18HFqVxvr56igCMUwQpT4=;
	b=MbHWQTiS77pfnLA1gUaoMkO0JVQDrNr7uZ/f8aWboteNKIpv2c2Jtdr3q3PTFofgLMwwc4
	iL25cniQCf+8eVqCaqP2TgxTGK035F+rq0IpevF4MCzFWKZ2Rvqgxgfvi0ug87dspIVwU2
	aZtGBe1hhGj7+8gbyTmTnVdfDOKBv/q5lVFnfrrahzJiPuD3CXswLrQfWf20TpkguxD/jv
	RjnZ4SH2wLOx+3kQ5yleT8slBdrn2eG3ueGNSwT9+Vo9daesIsZ0/raYMSRAOIJNr5Ea45
	tzjTKW20yYhKe85qhDDW1XQXar94xvcfvVUJ5bOt2VEEvLVLekC04kDm57furQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781004475; a=rsa-sha256; cv=none;
	b=ilR//lCKIRXG9DuIxZOOwvQpBulH1YKMU2S7w/NBVDuGUinpJDnr4TDTPGPDqXGFKvRQ/u
	wSFceJbLjmZ0JL5j6XyZ3Vrl16XurF8AxmHmN0bRu7KInwnIF3l19ZMv1Az9WKc0l0f3Rd
	k59Lps9CKUfjYNagCFvpyzlZS4T8trEriLr9HXonqSZH+isK0yXX4UJApF749OdQMhnMgj
	F39/oJW0naBBGIPSGmAWrhjNeWMH9DXPkB2GKuGLTKxOC6GSMtB12IaYCYWj5mW0bo5AJv
	qm87p1nQ8yXj13+udzey7OogkIvAtOsseLJw54uzI+pGhiU4pF9EnpvrozNC8w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781004475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=LSnYUdoiwZmbyAv/ii0JVG18HFqVxvr56igCMUwQpT4=;
	b=X8ojMHNJjuXHlgncX0Lr3/x9SHgF/b1sLs+pdwcE/17/ir6Jbt0PzM8A1D8NOZoEqk75TW
	bE/ycJWPBqcEbxdN8ID+p9dEo33zublrY4JqCTwAqq/lw4mY0IUhGdddeLIJuiXtBqJn90
	MwsijdFZg6hzOvoVKl5xg5h+GV0n+JW6t+AUZ+yomGkJILbsI0baO6YOUb1RdLV5Wd57VY
	1A55qgIp6ecLSFs0+9mPTwwrEUaGLHdHoN9WsjEEyHR5dCJl3gwWWde/FdmL4DgZxeytuA
	bPB+yuPWU/4SR/69TfEMVINcdo5CPo7R0Xyn16qZczSyl7GSiV2WWIfEkngm3A==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZRV35H84zYqK
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:27:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3257d
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 11:27:55 +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: 9c0489508695 - main - libc: Use slow path in fenv in C++
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: 9c0489508695fde3bdd742edfd1b4b681aab4d19
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 11:27:55 +0000
Message-Id: <6a27f8bb.3257d.36b63bf9@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

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

commit 9c0489508695fde3bdd742edfd1b4b681aab4d19
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-06-04 08:58:28 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-06-09 11:25:30 +0000

    libc: Use slow path in fenv in C++
    
    C++ exposes cfenv functions via using ::func. Our name-mangling
    mechanism rewrites all function calls causing symbols such as
    std::feclearexcept to be transformed into std::__feclearexcept_int.
    Since no such function exists, compilation fails.
    
    The using ::feclearexpect declarations themselves are unaffected because
    they are not function calls, which further exposes the mismatch
    
    As a result, enable the fast path only for C and fall back to the slow
    path in C++.
    
    Reviewed by:    kib
    Fixes:          5bc64b7d417d
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57450
---
 lib/msun/aarch64/fenv.h | 10 ++++++++++
 lib/msun/arm/fenv.h     | 10 ++++++++++
 lib/msun/powerpc/fenv.h | 12 ++++++++++++
 lib/msun/riscv/fenv.h   | 12 ++++++++++++
 lib/msun/x86/fenv.h     | 10 ++++++++++
 5 files changed, 54 insertions(+)

diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h
index 5d47940cf9eb..aebcd99909ce 100644
--- a/lib/msun/aarch64/fenv.h
+++ b/lib/msun/aarch64/fenv.h
@@ -96,6 +96,15 @@ int feenableexcept(int);
 int fedisableexcept(int);
 int fegetexcept(void);
 
+/*
+ * C permits a standard library function to also be exposed as a function-like
+ * macro (C23 7.1.4), and msun uses that here to inline the fast path.  C++
+ * forbids it: <cfenv> imports these names into namespace std (using
+ * ::feclearexcept; etc.), so std::feclearexcept() and friends must denote the
+ * actual functions.  Expose the inlining macros to C only; C++ uses the real
+ * extern functions (defined in the matching lib/msun/<arch>/fenv.c).
+ */
+#ifndef __cplusplus
 #define	feclearexcept(a)	__feclearexcept_int(a)
 #define	fegetexceptflag(e, a)	__fegetexceptflag_int(e, a)
 #define	fesetexceptflag(e, a)	__fesetexceptflag_int(e, a)
@@ -110,6 +119,7 @@ int fegetexcept(void);
 #define	feenableexcept(a)	__feenableexcept_int(a)
 #define	fedisableexcept(a)	__fedisableexcept_int(a)
 #define	fegetexcept()		__fegetexcept_int()
+#endif /* !__cplusplus */
 
 __fenv_static inline int
 __feclearexcept_int(int __excepts)
diff --git a/lib/msun/arm/fenv.h b/lib/msun/arm/fenv.h
index 78ca9ef0f589..6febbf95008d 100644
--- a/lib/msun/arm/fenv.h
+++ b/lib/msun/arm/fenv.h
@@ -129,6 +129,15 @@ int fedisableexcept(int);
 int fegetexcept(void);
 #endif
 
+/*
+ * C permits a standard library function to also be exposed as a function-like
+ * macro (C23 7.1.4), and msun uses that here to inline the fast path.  C++
+ * forbids it: <cfenv> imports these names into namespace std (using
+ * ::feclearexcept; etc.), so std::feclearexcept() and friends must denote the
+ * actual functions.  Expose the inlining macros to C only; C++ uses the real
+ * extern functions (defined in the matching lib/msun/<arch>/fenv.c).
+ */
+#ifndef __cplusplus
 #define	feclearexcept(a)	__feclearexcept_int(a)
 #define	fegetexceptflag(e, a)	__fegetexceptflag_int(e, a)
 #define	fesetexceptflag(e, a)	__fesetexceptflag_int(e, a)
@@ -145,6 +154,7 @@ int fegetexcept(void);
 #define	fedisableexcept(a)	__fedisableexcept_int(a)
 #define	fegetexcept()		__fegetexcept_int()
 #endif
+#endif /* !__cplusplus */
 
 __fenv_static inline int
 __feclearexcept_int(int __excepts)
diff --git a/lib/msun/powerpc/fenv.h b/lib/msun/powerpc/fenv.h
index f6fb354470c7..8752be09994c 100644
--- a/lib/msun/powerpc/fenv.h
+++ b/lib/msun/powerpc/fenv.h
@@ -123,6 +123,15 @@ int feholdexcept(fenv_t *);
 int fesetenv(const fenv_t *);
 int feupdateenv(const fenv_t *);
 
+/*
+ * C permits a standard library function to also be exposed as a function-like
+ * macro (C23 7.1.4), and msun uses that here to inline the fast path.  C++
+ * forbids it: <cfenv> imports these names into namespace std (using
+ * ::feclearexcept; etc.), so std::feclearexcept() and friends must denote the
+ * actual functions.  Expose the inlining macros to C only; C++ uses the real
+ * extern functions (defined in the matching lib/msun/<arch>/fenv.c).
+ */
+#ifndef __cplusplus
 #define	feclearexcept(a)	__feclearexcept_int(a)
 #define	fegetexceptflag(e, a)	__fegetexceptflag_int(e, a)
 #define	fesetexceptflag(e, a)	__fesetexceptflag_int(e, a)
@@ -134,6 +143,7 @@ int feupdateenv(const fenv_t *);
 #define	feholdexcept(e)		__feholdexcept_int(e)
 #define	fesetenv(e)		__fesetenv_int(e)
 #define	feupdateenv(e)		__feupdateenv_int(e)
+#endif /* !__cplusplus */
 
 __fenv_static inline int
 __feclearexcept_int(int __excepts)
@@ -266,8 +276,10 @@ __feupdateenv_int(const fenv_t *__envp)
 int feenableexcept(int);
 int fedisableexcept(int);
 
+#ifndef __cplusplus	/* see the note above; C++ uses the real functions */
 #define	feenableexcept(a)	__feenableexcept_int(a)
 #define	fedisableexcept(a)	__fedisableexcept_int(a)
+#endif
 
 __fenv_static inline int
 __feenableexcept_int(int __mask)
diff --git a/lib/msun/riscv/fenv.h b/lib/msun/riscv/fenv.h
index 1059744941f3..199ca1806684 100644
--- a/lib/msun/riscv/fenv.h
+++ b/lib/msun/riscv/fenv.h
@@ -91,6 +91,15 @@ int feholdexcept(fenv_t *);
 int fesetenv(const fenv_t *);
 int feupdateenv(const fenv_t *);
 
+/*
+ * C permits a standard library function to also be exposed as a function-like
+ * macro (C23 7.1.4), and msun uses that here to inline the fast path.  C++
+ * forbids it: <cfenv> imports these names into namespace std (using
+ * ::feclearexcept; etc.), so std::feclearexcept() and friends must denote the
+ * actual functions.  Expose the inlining macros to C only; C++ uses the real
+ * extern functions (defined in the matching lib/msun/<arch>/fenv.c).
+ */
+#ifndef __cplusplus
 #define	feclearexcept(a)	__feclearexcept_int(a)
 #define	fegetexceptflag(e, a)	__fegetexceptflag_int(e, a)
 #define	fesetexceptflag(e, a)	__fesetexceptflag_int(e, a)
@@ -102,6 +111,7 @@ int feupdateenv(const fenv_t *);
 #define	feholdexcept(e)		__feholdexcept_int(e)
 #define	fesetenv(e)		__fesetenv_int(e)
 #define	feupdateenv(e)		__feupdateenv_int(e)
+#endif /* !__cplusplus */
 
 __fenv_static inline int
 __feclearexcept_int(int __excepts)
@@ -224,8 +234,10 @@ __feupdateenv_int(const fenv_t *__envp)
 int feenableexcept(int);
 int fedisableexcept(int);
 
+#ifndef __cplusplus	/* see the note above; C++ uses the real functions */
 #define	feenableexcept(a)	__feenableexcept_int(a)
 #define	fedisableexcept(a)	__fedisableexcept_int(a)
+#endif
 
 __fenv_static inline int
 __feenableexcept_int(int __mask __unused)
diff --git a/lib/msun/x86/fenv.h b/lib/msun/x86/fenv.h
index b5da37902083..cb44624a858a 100644
--- a/lib/msun/x86/fenv.h
+++ b/lib/msun/x86/fenv.h
@@ -150,12 +150,22 @@ int fesetround(int);
 int fegetround(void);
 int fesetenv(const fenv_t *);
 
+/*
+ * C permits a standard library function to also be exposed as a function-like
+ * macro (C23 7.1.4), and msun uses that here to inline the fast path.  C++
+ * forbids it: <cfenv> imports these names into namespace std (using
+ * ::feclearexcept; etc.), so std::feclearexcept() and friends must denote the
+ * actual functions.  Expose the inlining macros to C only; C++ uses the real
+ * extern functions (defined in the matching lib/msun/<arch>/fenv.c).
+ */
+#ifndef __cplusplus
 #define	feclearexcept(a)	__feclearexcept_int(a)
 #define	fegetexceptflag(e, a)	__fegetexceptflag_int(e, a)
 #define	fetestexcept(a)		__fetestexcept_int(a)
 #define	fesetround(a)		__fesetround_int(a)
 #define	fegetround()		__fegetround_int()
 #define	fesetenv(a)		__fesetenv_int(a)
+#endif /* !__cplusplus */
 
 #ifdef __i386__
 

From nobody Tue Jun  9 11:28: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 4gZRVv05MGz6hng2
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 11:28:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZRVt6Sl0z3cv4
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:28:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781004518;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HfZFLqeqQlIOrRmqxWdbpHdnUf2EpGxDzqFNGm1Ojr4=;
	b=c08CVTJT5DGzAtSeRIBEVfaCsy61OpnKrAnBzHHPr3Y5nOZSkUAcXxPIUHFRO7WiKNcRBg
	FEmtu/MoYo5P0Lf61Z3tJ/j8RLr/eLENXLT/m42txurxns1xunkMQmeH2Oywl2UIyTQJnl
	rp9M+XXFNtQHpc+N5/dxCKEtvOaikKh3zQC1qm/12umtyfF1R/QRUAeM2Wx6MEUceQ3vug
	c7cG7Mn5VPSLJmY5+6LgCNUOZTRv1kT76a76VT6S16clMr+fJXv9fGzmGIOu6QbDKf1Iav
	YTVnz5eigFfFPrZdduisIILhcV0x7zjUtbY6LmS45fUEtbso018+rb3YRYo5RQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781004518; a=rsa-sha256; cv=none;
	b=IqI2U4Mmecz4UuHWrkmSVwso6tTUyKYXVwpmEhDHg7zHJ8ZGbUjTHukjXuOclF0PpzB5Qx
	q6QNCcAWnBI/FZfveaYpmR/lI8EWmGbDvKiChwwHvRQYI/V0p4auT2YzNeeXIwFAKTvUQw
	4PTpR1k7jjovJ+hP0tCddAkb8Z782+2eJ55oz6nciBp63x+LQUXhaL7SdkqFU/IZYdZFi5
	fhA5k0XNAnfOCiPm9dl83KdfC+/3WGOuxsLFWYH7Fy+qhxiBvCg4UmYIfjC0BpW24Khl1w
	gM815JGLFesDNVVleuVrq3nM8OWged2tn1vToIkpamJY1jwsuRqW6OfmhIVYGA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781004518;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=HfZFLqeqQlIOrRmqxWdbpHdnUf2EpGxDzqFNGm1Ojr4=;
	b=MmZ8TjVDRBjtEB1sSST3eGMHYZLxK0TV9rVNMJBlT8XnDkhk8FVP3/qinHuVeXXwIjIoUX
	SZuGoqDKJ239e0Zxp2nBmfxdL0fqsoBijv7Bx+f4ID/OYpLruMBrSU51T2Lbg8GGqNSEBA
	MZQ0JYlTgQ1EYBbRBIS0L/Bhfifh/Yc8hiec7Ff/SdPm+TLn3CA9MOp3HxhDs0rPzBi9yC
	xoGbpk9yvEdffIfdlMbQek8S7YLpb+xjEYuXsfMzzPQb5et57RtHGLtHL6q4SaHSuQaLjh
	ykd0mTG7qZ0YSNTykYNB/KtrEdmJKTup5evhIsygkxpUrTOO9hYs/qk+Hcd9Wg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZRVt5qcBzXPh
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:28:38 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 324fa
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 11:28:38 +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: 2934783fa80d - main - usb: Add missing unsetup while detaching uchcom
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: 2934783fa80de2854d9527ae11db85c47ac65a91
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 11:28:38 +0000
Message-Id: <6a27f8e6.324fa.4b387331@gitrepo.freebsd.org>

The branch main has been updated by aokblast:

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

commit 2934783fa80de2854d9527ae11db85c47ac65a91
Author:     ShengYi Hung <aokblast@FreeBSD.org>
AuthorDate: 2026-05-29 15:09:52 +0000
Commit:     ShengYi Hung <aokblast@FreeBSD.org>
CommitDate: 2026-06-09 11:28:27 +0000

    usb: Add missing unsetup while detaching uchcom
    
    Reviewed by:    christos
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57329
---
 sys/dev/usb/serial/uchcom.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/dev/usb/serial/uchcom.c b/sys/dev/usb/serial/uchcom.c
index fdc5515fa722..ff1ac8897c90 100644
--- a/sys/dev/usb/serial/uchcom.c
+++ b/sys/dev/usb/serial/uchcom.c
@@ -404,6 +404,7 @@ uchcom_detach(device_t dev)
 	DPRINTFN(11, "\n");
 
 	ucom_detach(&sc->sc_super_ucom, &sc->sc_ucom);
+	usbd_transfer_unsetup(&sc->sc_intr_xfer, 1);
 	usbd_transfer_unsetup(sc->sc_xfer, UCHCOM_N_TRANSFER);
 
 	device_claim_softc(dev);

From nobody Tue Jun  9 11:33: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 4gZRcH30xkz6hpYc
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 11:33:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZRcH2Hsxz3ddq
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:33:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781004799;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=kdxTsI6mp0N66HfmI6/QBILuKWNcsKoNeN7ygvdV0nY=;
	b=FYwsqxcG/Xa7x77u0H41Y8D5BwoBWbEVteFYrPuPQOnAfCVpE6r92w2UpEJH7a7eaGfPKx
	x48qYsydOBafnY4zvFeQEDGwiTp80Ddo8ndhgegewr1GIpKEffOGiY6FYU/gVbGAgeefs8
	V2GRs6ctKybn2nRxpX4Mkhh1T/h/VW8jd7alPuwRzQL4MW+nfk7L9MJXMXQRGyYBy/0Cwu
	7VGyD9c/IM+9bNXb5gl2PfgPm/8FG7XqRQ4I1m2Ik7Tl9Jlv9amRd9/0w8AsuhheMN83MH
	2LKTYkJmnKM5kFCQVZlF+NewQrQZa16Cts0Z/l2Inr1YRJcccznwIt3zrepJqw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781004799; a=rsa-sha256; cv=none;
	b=LPwTCFANhaiDdDhtmWJjKcyd/0efFBhfEmE1aV62CSlB0l/rSi/d+12TmCuiN6II3L+5Qh
	gXje0Df24TEsd9brcfwMbhlW3rSCjJKMrtjSvwKZ9dxxULynKA3Ve9Upxx4cpY73gmR1h5
	wLsfWeqKI+i30beorIkJxseiyxSHqegQ6LgrFqEKpgai3VyZeBOba/GPkEOOpMx+IDXesO
	a78ABWSF0Q6hYr990QCmwBURU/p4Zv9+I2/zcSvhp2r9yVBa+SdjllJ1imCuaiA9vUS2yd
	k7PWzxZChZe0FGSN07PdT27CkWJLQRlj9D1HJ11gy9rA2EcNtDZplSX0Yv5WRQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781004799;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=kdxTsI6mp0N66HfmI6/QBILuKWNcsKoNeN7ygvdV0nY=;
	b=hhWK7teCoCUoiRoQP4BKlfNS64VxX+VFkgggWi5qCGUbOBwLCuqbjaTaH4oVhberbYfW08
	2hZASnm7DtNZtky2Z5Pm11l4PneQkTr3L5ha/Rf2NEI62NO3g/QU85kIlzPg6hZmB4mwPc
	9/k825elyn2ApRVljYJhXWg2HLTg6ys7leQ8dD7d+KzuZ6f9i+EAliGaPX3TmWfEn13aac
	iGtgmXzU1oOWmymvbPGy8AjjLkfiqm/W9HJt4wfhYYnbgLNbjhQMk8WCz6nH4fFpCnS8uE
	/TNlrTAbRO9QJrkSeJDJxIyzw954mi/UGA/PP4lGd91Q5AUJw/Xttafnq+BCBQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZRcH1vZ2zYjn
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:33:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 36aa4
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 11:33:19 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
Subject: git: 2ab18d3286f5 - main - examples: Update COPTFLAGS in make.conf
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: des
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 2ab18d3286f5e1ea08cd86e234377b673245ec15
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 11:33:19 +0000
Message-Id: <6a27f9ff.36aa4.1ef1580c@gitrepo.freebsd.org>

The branch main has been updated by des:

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

commit 2ab18d3286f5e1ea08cd86e234377b673245ec15
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-06-09 11:29:13 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-06-09 11:33:01 +0000

    examples: Update COPTFLAGS in make.conf
    
    We've been using -O2 for about fifteen years.
    
    Reported by:    Jan Stary <hans@stare.cz>
    MFC after:      1 week
---
 share/examples/etc/make.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index 61bc132bad57..c771805b95a6 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -106,7 +106,7 @@
 # There is very little to gain by using higher optimization levels, and doing
 # so can cause problems.
 #
-#COPTFLAGS= -O -pipe
+#COPTFLAGS= -O2 -pipe
 #
 # Compare before install.
 #INSTALL+= -C

From nobody Tue Jun  9 11:38: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 4gZRk34MTKz6hpNQ
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 11:38:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZRk33sCHz3dtn
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:38:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781005099;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=txG0QpIHitHXNp9yOVxIXaMpBy9DfMc5beujetbGClE=;
	b=Vnq7jsEjsJhfnCDIMVOoPA74YO8sC6LPRx2pCL53V3Hs0g/TIMHuyd7Dt61TGhBbu96AyC
	hf01Z4bghWYQ/rrMckkxYK+fG0YIPmt4B5ZNzeOapww4L5JfR4Q/d7/99vOOJk8nRUGpyD
	8a6OpuN/mnIiT8ii4Pv1je2zJZBy6wecY2jZrYlcHIyUs1Gxo+aYBw7IXsjvA/LkiT5WLU
	ioa278U5IE+9peroF57PKnjGQ3QAe66yzFRzxoIN1UGwQIggY7VKP93VGGuSsC2OWh4KI4
	vTc22fR1RRfTkLf9C2jSJav/zP+OVzw4KfuYjf3xf0pzROnFfmoOsReB21AGSw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781005099; a=rsa-sha256; cv=none;
	b=m3jivxVeq04pPrZs117f9I0TEmMFxioG592+YDlPSnGINkLKkbS+demYQ1F/2SKbHKXPMT
	ShjH/8N7r5+HBp+xXy2+EfPZOWxzBglg01s5NZtvIYy7Dd52MmXbwXeUGs1FbRX1hXtWSl
	M3fJjzk7ESGDQ1XRy0HzTKAT6lZ1HhYYarNsxzKRoAIoGQsihcIDhD/OZQaT51Pk4uMuua
	4IoEebe4ZoR/oaEDtMdcqxXVaQ/D5fs40v93oEI9FMtfsHabVhnhmxChWzDMf2xacHwFm1
	188QPB146FnWsgbL5y/GmAy5eMRiiLA0tsnzqV6yeDqZ25vi9Y/GpSi3QUkmyQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781005099;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=txG0QpIHitHXNp9yOVxIXaMpBy9DfMc5beujetbGClE=;
	b=JQBPfvFUoekJgjhRZcu1OAHZK+Mxo/aZQXBYhrqzNxRihBv5MOzTZNL/wu7AfRY7tLNvxq
	Tsd+V4mDdVKJqu9JDmTDwLyVax5swMEUPD8eHSHhDrvEwp4tq9n6PEgXQdEMRx6s1UFHIc
	4bLR+TY8GqpT+uZ+jDqau/6LU+VwszqwzGt3toX6QZbEoCXEh7IZ2Fp2eWNOkYHBnPAnMb
	Zx9pF+gGikpU07ojyfJNDMYHMIfK2BiCR9WjySnfiLFQb3o8OJAjENmn0Oy5oLGzC0Fl8Z
	P6iZS6ZTbC6MBDu3YQibnOrWeXutz3QIDVb0K871LFpH5H4Htnpl8VYvCJy3jg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZRk33CBxzZ8V
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:38:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3640b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 11:38:19 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Mariusz Zaborski <oshogbo@FreeBSD.org>
Subject: git: 97edd37e6279 - main - cap_net: add tests for limits drop
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: oshogbo
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 97edd37e6279d76efee89d466550587246161dc9
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 11:38:19 +0000
Message-Id: <6a27fb2b.3640b.67e68c0e@gitrepo.freebsd.org>

The branch main has been updated by oshogbo:

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

commit 97edd37e6279d76efee89d466550587246161dc9
Author:     Mariusz Zaborski <oshogbo@FreeBSD.org>
AuthorDate: 2026-06-09 11:34:13 +0000
Commit:     Mariusz Zaborski <oshogbo@FreeBSD.org>
CommitDate: 2026-06-09 11:34:13 +0000

    cap_net: add tests for limits drop
    
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D56992
---
 lib/libcasper/services/cap_net/tests/net_test.c | 235 ++++++++++++++++++++++++
 1 file changed, 235 insertions(+)

diff --git a/lib/libcasper/services/cap_net/tests/net_test.c b/lib/libcasper/services/cap_net/tests/net_test.c
index 21d620e0f8d8..0fd20d9deae8 100644
--- a/lib/libcasper/services/cap_net/tests/net_test.c
+++ b/lib/libcasper/services/cap_net/tests/net_test.c
@@ -24,6 +24,7 @@
  */
 
 #include <sys/param.h>
+#include <sys/nv.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -1443,6 +1444,233 @@ ATF_TC_BODY(capnet__limits_deprecated_connecttodns, tc)
 	cap_close(capnet);
 }
 
+ATF_TC(capnet__limits_name2addr_partial_drops_family);
+ATF_TC_HEAD(capnet__limits_name2addr_partial_drops_family, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_name2addr_partial_drops_family, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	int family = AF_INET6;
+
+	capnet = create_network_service();
+
+	/* Tighten: only AF_INET6 allowed under name2addr. */
+	limit = cap_net_limit_init(capnet, CAPNET_NAME2ADDR);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_name2addr_family(limit, &family, 1);
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	ATF_REQUIRE(test_getaddrinfo(capnet, AF_INET, TEST_DOMAIN_0, NULL) ==
+	    ENOTCAPABLE);
+
+	/* Replacement omits "family"; must be rejected. */
+	limit = cap_net_limit_init(capnet, CAPNET_NAME2ADDR);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_name2addr(limit, TEST_DOMAIN_0, NULL);
+	ATF_REQUIRE(cap_net_limit(limit) != 0);
+
+	ATF_REQUIRE(test_getaddrinfo(capnet, AF_INET, TEST_DOMAIN_0, NULL) ==
+	    ENOTCAPABLE);
+
+	cap_close(capnet);
+}
+
+ATF_TC(capnet__limits_name2addr_partial_drops_hosts);
+ATF_TC_HEAD(capnet__limits_name2addr_partial_drops_hosts, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_name2addr_partial_drops_hosts, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	int family = AF_INET;
+
+	capnet = create_network_service();
+
+	/* Tighten: only TEST_DOMAIN_0 allowed. */
+	limit = cap_net_limit_init(capnet, CAPNET_NAME2ADDR);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_name2addr(limit, TEST_DOMAIN_0, NULL);
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	ATF_REQUIRE(test_getaddrinfo(capnet, AF_INET, TEST_DOMAIN_1, NULL) ==
+	    ENOTCAPABLE);
+
+	/* Replacement omits "hosts"; must be rejected. */
+	limit = cap_net_limit_init(capnet, CAPNET_NAME2ADDR);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_name2addr_family(limit, &family, 1);
+	ATF_REQUIRE(cap_net_limit(limit) != 0);
+
+	ATF_REQUIRE(test_getaddrinfo(capnet, AF_INET, TEST_DOMAIN_1, NULL) ==
+	    ENOTCAPABLE);
+
+	cap_close(capnet);
+}
+
+ATF_TC(capnet__limits_addr2name_partial_drops_family);
+ATF_TC_HEAD(capnet__limits_addr2name_partial_drops_family, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_addr2name_partial_drops_family, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	struct sockaddr_in ipaddrv4;
+	int family = AF_INET6;
+
+	capnet = create_network_service();
+
+	memset(&ipaddrv4, 0, sizeof(ipaddrv4));
+	ipaddrv4.sin_family = AF_INET;
+	inet_pton(AF_INET, TEST_IPV4, &ipaddrv4.sin_addr);
+
+	/* Tighten: only AF_INET6 allowed under addr2name. */
+	limit = cap_net_limit_init(capnet, CAPNET_ADDR2NAME);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_addr2name_family(limit, &family, 1);
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	ATF_REQUIRE(test_getnameinfo(capnet, AF_INET, TEST_IPV4) ==
+	    ENOTCAPABLE);
+
+	/* Replacement omits "family". Must be rejected. */
+	limit = cap_net_limit_init(capnet, CAPNET_ADDR2NAME);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_addr2name(limit, (struct sockaddr *)&ipaddrv4,
+	    sizeof(ipaddrv4));
+	ATF_REQUIRE(cap_net_limit(limit) != 0);
+
+	ATF_REQUIRE(test_getnameinfo(capnet, AF_INET, TEST_IPV4) ==
+	    ENOTCAPABLE);
+
+	cap_close(capnet);
+}
+
+ATF_TC(capnet__limits_addr2name_partial_drops_sockaddr);
+ATF_TC_HEAD(capnet__limits_addr2name_partial_drops_sockaddr, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_addr2name_partial_drops_sockaddr, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	struct sockaddr_in6 ipaddrv6;
+	int family = AF_INET6;
+
+	capnet = create_network_service();
+
+	memset(&ipaddrv6, 0, sizeof(ipaddrv6));
+	ipaddrv6.sin6_family = AF_INET6;
+	inet_pton(AF_INET6, TEST_IPV6, &ipaddrv6.sin6_addr);
+
+	/* Tighten: only TEST_IPV6 allowed under addr2name. */
+	limit = cap_net_limit_init(capnet, CAPNET_ADDR2NAME);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_addr2name(limit, (struct sockaddr *)&ipaddrv6,
+	    sizeof(ipaddrv6));
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	/* Replacement omits "sockaddr". Must be rejected. */
+	limit = cap_net_limit_init(capnet, CAPNET_ADDR2NAME);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_addr2name_family(limit, &family, 1);
+	ATF_REQUIRE(cap_net_limit(limit) != 0);
+
+	cap_close(capnet);
+}
+
+/*
+ * The public helpers drop empty sublimits during pack, so the empty-{}
+ * variant is only reachable via libnv + cap_limit_set() directly.
+ */
+ATF_TC(capnet__limits_connect_partial_drops_sockaddr);
+ATF_TC_HEAD(capnet__limits_connect_partial_drops_sockaddr, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_connect_partial_drops_sockaddr, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	struct sockaddr_in ipv4;
+	nvlist_t *lnvl;
+
+	capnet = create_network_service();
+
+	memset(&ipv4, 0, sizeof(ipv4));
+	ipv4.sin_family = AF_INET;
+	ipv4.sin_port = htons(TEST_PORT);
+	inet_pton(AF_INET, TEST_IPV4, &ipv4.sin_addr);
+
+	/* Tighten: only TEST_IPV4:TEST_PORT allowed under connect. */
+	limit = cap_net_limit_init(capnet, CAPNET_CONNECT);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_connect(limit, (struct sockaddr *)&ipv4, sizeof(ipv4));
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	ATF_REQUIRE(test_connect(capnet, TEST_IPV4, TEST_PORT) == 0);
+	ATF_REQUIRE(test_connect(capnet, "8.8.8.8", TEST_PORT) == ENOTCAPABLE);
+
+	/* Build connect={} (no sockaddr subkey) directly. Must be rejected. */
+	lnvl = nvlist_create(0);
+	nvlist_add_number(lnvl, "mode", CAPNET_CONNECT);
+	nvlist_add_nvlist(lnvl, "connect", nvlist_create(0));
+	ATF_REQUIRE(cap_limit_set(capnet, lnvl) != 0);
+
+	ATF_REQUIRE(test_connect(capnet, "8.8.8.8", TEST_PORT) == ENOTCAPABLE);
+
+	cap_close(capnet);
+}
+
+/*
+ * The public helpers drop empty sublimits during pack, so the empty-{}
+ * variant is only reachable via libnv + cap_limit_set() directly.
+ */
+ATF_TC(capnet__limits_bind_partial_drops_sockaddr);
+ATF_TC_HEAD(capnet__limits_bind_partial_drops_sockaddr, tc)
+{
+	atf_tc_set_md_var(tc, "require.config", "allow_network_access");
+}
+ATF_TC_BODY(capnet__limits_bind_partial_drops_sockaddr, tc)
+{
+	cap_channel_t *capnet;
+	cap_net_limit_t *limit;
+	struct sockaddr_in ipv4;
+	nvlist_t *lnvl;
+
+	capnet = create_network_service();
+
+	memset(&ipv4, 0, sizeof(ipv4));
+	ipv4.sin_family = AF_INET;
+	inet_pton(AF_INET, TEST_BIND_IPV4, &ipv4.sin_addr);
+
+	/* Tighten: only TEST_BIND_IPV4 allowed under bind. */
+	limit = cap_net_limit_init(capnet, CAPNET_BIND);
+	ATF_REQUIRE(limit != NULL);
+	cap_net_limit_bind(limit, (struct sockaddr *)&ipv4, sizeof(ipv4));
+	ATF_REQUIRE(cap_net_limit(limit) == 0);
+
+	ATF_REQUIRE(test_bind(capnet, TEST_BIND_IPV4) == 0);
+	ATF_REQUIRE(test_bind(capnet, "127.0.0.2") == ENOTCAPABLE);
+
+	/* Build bind={} (no sockaddr subkey) directly. Must be rejected. */
+	lnvl = nvlist_create(0);
+	nvlist_add_number(lnvl, "mode", CAPNET_BIND);
+	nvlist_add_nvlist(lnvl, "bind", nvlist_create(0));
+	ATF_REQUIRE(cap_limit_set(capnet, lnvl) != 0);
+
+	ATF_REQUIRE(test_bind(capnet, "127.0.0.2") == ENOTCAPABLE);
+
+	cap_close(capnet);
+}
+
 ATF_TP_ADD_TCS(tp)
 {
 
@@ -1483,5 +1711,12 @@ ATF_TP_ADD_TCS(tp)
 	ATF_TP_ADD_TC(tp, capnet__limits_connecttodns);
 	ATF_TP_ADD_TC(tp, capnet__limits_deprecated_connecttodns);
 
+	ATF_TP_ADD_TC(tp, capnet__limits_name2addr_partial_drops_family);
+	ATF_TP_ADD_TC(tp, capnet__limits_name2addr_partial_drops_hosts);
+	ATF_TP_ADD_TC(tp, capnet__limits_addr2name_partial_drops_family);
+	ATF_TP_ADD_TC(tp, capnet__limits_addr2name_partial_drops_sockaddr);
+	ATF_TP_ADD_TC(tp, capnet__limits_connect_partial_drops_sockaddr);
+	ATF_TP_ADD_TC(tp, capnet__limits_bind_partial_drops_sockaddr);
+
 	return (atf_no_error());
 }

From nobody Tue Jun  9 11: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 4gZS1C2Tfhz6hqRb
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 11:51:27 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZS1C1vQSz3gmJ
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:51:27 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781005887;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ZM5DNKMoVHhQGK9uncOgKe5G2UqRl9AEAMm7cOtVVis=;
	b=PHajl7iBsmZBh96yv6SANfjY7eaHiqVjp7hE1zOpujSGz0+PIpdnsn9QpTF+WcCzPkJRT0
	s4w3wll7WNHdrI3CfWXb1/YdDzN1w1FD4ZLYr/vats//NDwyZOM8+wB9d924gAUgLsgq0S
	bj6IJyZyTnoCt1H1/F/Vb1pMvPl1E8anFm0WEA+MmSxl9vffW8USTi47EY8CsA0kovmp5B
	ov743LJYOtsmNoYV1N3AOkODlJONddwiwv1RUDBVlQptLpUsCO0XijtVo3bR5phD2Ucdju
	BtCDCRCKbJSIIP/0wlrd6FsajMZzexHFIETurXx0pWoq3YGke37W9VoOTv6C6Q==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781005887; a=rsa-sha256; cv=none;
	b=bt6xcaXWHo+pCYAogQdjaS1ygpiUNmEXrqiIjq1n69ectqc0b/NowDaDn4pTzl3NsUVpf3
	q1TtDzo5yoAHzt9C/9y68eIE9lk7v/MJKb83BU6x2zTlgRfeNaH6y6iDikpEd/j23GeXqV
	cavzpNFUPS52On+GQCyfDAvwOZPsRXr1Yy1CGdP1uMa+cs5HOqdnrNqMx6dinfnXYkKgog
	j059Gy/WlzJJSrKEh6Oc2LTE5PTd7ZFhLWs+4mX/PAYi82HEq75cEj6MXHSrSewOxecROE
	a36r/JnX1RChTwwHAiJRhTF9drAJs7pvpAk21Q8f9KkH7Vlh005bzm4dI1L9iQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781005887;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ZM5DNKMoVHhQGK9uncOgKe5G2UqRl9AEAMm7cOtVVis=;
	b=quB0hTUS/t6ySL628evsqIZxV+cATccgZ7i5gTEuTZxvMaDB6FpUaSB42PMfnyPp2RVexI
	qyfae+MwhNSMDka1ZoDCW0QiBa+s+k/AxusFADcPGvwp3wXH+gwU2iz/CX0A/yO5OMhXVE
	g9tr+23WmtSn+u6ZmsSuX3tZ8zQmj1tOF1vi+Cw6fcUF/83k2Zlkwcb4z6azC7s/lc9isZ
	hCPh6AoJYeppUtfQBsTETNxMJ0tN0Mv18spsWn8hCSwjkQHHSXFNX3tyck4QghhQBYRfrQ
	mzwXERaTKIr5IRhFviIMOPV/fWShARsFZjZrJzY3TEi2UVp0gRCJnURtXKvd0g==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZS1C1VGMzZ7b
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 11:51:27 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3866b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 11:51:27 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Tai-hwa Liang <avatar@FreeBSD.org>
Subject: git: 8011f6b0d8ba - main - if_axge: remove AXGE_RX_MII_ERR from packet dropping criteria
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: avatar
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 8011f6b0d8ba2ee18a60f3bd719f950081a474b3
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 11:51:27 +0000
Message-Id: <6a27fe3f.3866b.5589aeb1@gitrepo.freebsd.org>

The branch main has been updated by avatar:

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

commit 8011f6b0d8ba2ee18a60f3bd719f950081a474b3
Author:     Tai-hwa Liang <avatar@FreeBSD.org>
AuthorDate: 2026-05-15 14:32:03 +0000
Commit:     Tai-hwa Liang <avatar@FreeBSD.org>
CommitDate: 2026-06-09 11:51:09 +0000

    if_axge: remove AXGE_RX_MII_ERR from packet dropping criteria
    
    Packets received with the following configuration are associated with
    AXGE_RX_MII_ERR, which looks legit since there's no AXGE_RX_CRC_ERR
    or AXGE_RX_DROP_PKT attached:
    
            axge0: <ASIX Elec. Corp. AX88179, rev 2.10/1.00, addr 3> on usbus0
            miibus0: <MII bus> on axge0
            rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 3 on miibus0
            rgephy0: OUI 0x00e04c, model 0x0011, rev. 5
            rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
    
    Without this, 'dhclient ue0' never gets valid lease as all the DHCP
    replies are dropped by the driver.
    
    This behaviour is align with the reference driver provided by the
    vendor(ASIX_USB_NIC_Linux_Driver_Source_v3.5.0.tar.bz2).
    
    MFC after:      2 weeks
---
 sys/dev/usb/net/if_axgereg.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/usb/net/if_axgereg.h b/sys/dev/usb/net/if_axgereg.h
index 87e662b6cbc1..5cc9edeaf3b8 100644
--- a/sys/dev/usb/net/if_axgereg.h
+++ b/sys/dev/usb/net/if_axgereg.h
@@ -197,7 +197,7 @@ struct axge_frame_rxhdr {
 
 #define	AXGE_RXBYTES(x)		(((x) & AXGE_RX_LEN_MASK) >> AXGE_RX_LEN_SHIFT)
 #define	AXGE_RX_ERR(x)		\
-	    ((x) & (AXGE_RX_CRC_ERR | AXGE_RX_MII_ERR | AXGE_RX_DROP_PKT))
+	    ((x) & (AXGE_RX_CRC_ERR | AXGE_RX_DROP_PKT))
 
 struct axge_softc {
 	struct usb_ether	sc_ue;

From nobody Tue Jun  9 14:03: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 4gZVxr6HSbz6g2wn;
	Tue, 09 Jun 2026 14:03:44 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R12" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZVxr5p1fz3sxw;
	Tue, 09 Jun 2026 14:03:44 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781013824;
	h=from:from:reply-to:subject:subject: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=Kdl/BNf5/hhyuSosIwJzglIHlwssovOk9lGEJVHWf1o=;
	b=CZz0rZ5JDYdLNKvVwcu2VJuDEo0mqGuhRT5oymb3qhSDcw9t0FY9euQr64MPaK/FiZ/LSC
	jJo0gB3x5K8H4xImTY231qFHmF/lYJEpbpKPESKIruUJkDWh5PBNoezm+4xLYiwTA9wgSq
	ynlbBj3igpgh84tuP3tWZr+Q/HC1i/oWktAUtJcgWOwZh0A5iw0dfutaDzR7J9SGuUFFcf
	ndDrK/2Q8SFljOA3F3xlF1aNfpcJq1LUWYBRYrbkH+uMI+ODsGLvvljryyEDj/JvA0JEUo
	t5nCjCfXXDQR+FGF+T9EPbA82Ursf00kdl5aHTy6zDDY3vUn/vKc3uQ5VzrH4A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781013824; a=rsa-sha256; cv=none;
	b=FfgwP+IlAOhwNdB6I2P1sgugVbJUvTe8ZSAyZEWXWK7qBR+oKq/sQe/jftV90IjZuOT249
	NjVglhHbMbT1PVVVjioHh5M7Fzlxwt7K+2oyqUe6sfxy5A3c2y+MBFd6fKODNKJmYKBKj+
	7bccte2E3go3jYOyw9UANLnQQzhKDAPuS9SJizYT1WHkjgg8np6v0+U7i7aNA0CvfxkEu2
	/6UUDzfs8nmaWO59xpwsSdY5YUQ/oCZHu8qY4XzuRyu4XBjrwfGrSDLuzY6BL9l0+5z1N+
	L+wn12N0yCzs6XAqlTjOgMCvJNy3vVP/Wa2rk8mycTZ7SxRaBRDChINxWnk6rA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781013824;
	h=from:from:reply-to:subject:subject: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=Kdl/BNf5/hhyuSosIwJzglIHlwssovOk9lGEJVHWf1o=;
	b=Gzt50X6NhcXVYZHKo0o1oK7/UNPxXlhyEIfvxUpqi99UsqQ31bNGkb0oNQGMa2zOmTpkze
	8Vsq5LqXzOE2VJso/RbBYLxPLLBrgiZemDlxO592VNKJ0Y3K5dVeB5CXZqGfSZ8Sv5vQDE
	wxTYvyuinBJgULydYYepzUXxNwu3ji8u0uEQVTVFPF2OOyINrvri1zlUjd2oNNujK3sJpZ
	V1+5Drp6rfrIopHhfJe7/tc58Y0pp8F96pXImJ2tiSGJNXJ7DCx7cpTDyxH+5QGkfW/rwx
	pAnfeDD1U+IqETXPA5ABWCO5LpuRxH8Jz9xO9CuSLDOWSNJ0UgamITKlPSowCQ==
Received: from [IPV6:2601:5c0:4202:5670:5830:fff7:274a:e7d2] (unknown [IPv6:2601:5c0:4202:5670:5830:fff7:274a:e7d2])
	(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 4gZVxr3cKqzLJy;
	Tue, 09 Jun 2026 14:03:44 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <387ec9ef-32a5-4600-ad88-ec7b04b0f190@FreeBSD.org>
Date: Tue, 9 Jun 2026 10:03:43 -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: ddf6fad0295a - main - etcupdate: Make nobuild the default
Content-Language: en-US
To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org>,
 Jessica Clarke <jrtc27@freebsd.org>
Cc: "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>
References: <6a22f100.42af1.51deb269@gitrepo.freebsd.org>
 <8E2A1D1D-F83C-4583-82B4-53B869507627@freebsd.org>
 <86ecihqdbj.fsf@ltc.des.dev>
From: John Baldwin <jhb@FreeBSD.org>
In-Reply-To: <86ecihqdbj.fsf@ltc.des.dev>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 6/8/26 11:09, Dag-Erling Smørgrav wrote:
> Jessica Clarke <jrtc27@freebsd.org> writes:
>> Dag-Erling Smørgrav <des@freebsd.org> writes:
>>> commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d
>>> Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
>>> AuthorDate: 2026-06-05 15:53:25 +0000
>>> Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
>>> CommitDate: 2026-06-05 15:53:25 +0000
>>>
>>>     etcupdate: Make nobuild the default
>>>
>>>     The common case for etcupdate is to run it after building and installing
>>>     the world, in which case we already have an object directory to draw on.
>>>     Add a -b option to turn nobuild off (opposite of -B), and turn nobuild
>>>     on by default.
>>>
>>>     MFC after:      1 week
>> Changing the default here seems like it might not be appropriate for MFC?
> 
> On the contrary, the reason I'm switching is that the current default is
> harmful.

Harmful or slow?  Certainly it is slower, but AFAIK you still get an updated
/etc.  Maybe the generated sendmail.mc files are slightly different from the
ones you would otherwise get, but those changes are cosmetic (comments only).

-- 
John Baldwin


From nobody Tue Jun  9 14:06: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 4gZW0f5fDXz6g3CZ;
	Tue, 09 Jun 2026 14:06:10 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R12" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZW0f50dCz3tB0;
	Tue, 09 Jun 2026 14:06:10 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781013970;
	h=from:from:reply-to:subject:subject: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=E45XyPOcFqEeumIjSlznwkNE89/vYXY91uX5oao7Zwg=;
	b=rxb1f/00TqisLnZoc6+qS1qiz6NwJpGNp6FstuQ//EWmxRiINQ6sLqWSfiSG5Qru6Bt1Ef
	HDnbbu4YVVHvyofZWp0GbyKj4AMIhdtZctdKWBKJxEBhOoeR5dG/+RLz8IPKR3D1bB+ypQ
	+IhPtu1Lwb62ZxsJVwsWUIViU7aiWbarWn0z56B4PW56iuEDC5KPhDDMue8E/fZbmxeIrr
	rnR98kTJQ6PDGW19rTbWmSzUiz0gBSOSLgXD47ujQ3tgytROy1tYWs5+wAoNcsXP1uoGDa
	ecpqsXdtw9DDggz9qrxPWvayFwDcXZK/BddpGU3V6Y1/Svq0MpjvDo4D92d5vw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781013970; a=rsa-sha256; cv=none;
	b=VB2J2VOrffVm3CeWEhfhIOagWo6hpNWKCdY7FjfoT8vnM4WLmyUa8v+dyw/U8763I8Zqlg
	nq1efGieBW/SsPvKu6BOPiGGOVcyEQbIgxNTfPFflV8QTfQOjbfqpv3PiGiVlIkwDgOUvq
	HTLHU6NkRRxU3lvFqs0Mqgal6QhN61nmGAT2w0flC7C1l/n2KeqYA6xOd8AW21oNorMylq
	YRFL+tsC523sr+ay6dDE8jr6s9n2kevwwD1gbHvxVNDz9Odh446yDxBiBQcdUaXhdayynR
	2tHuCh4mlvnEDAa0uReNc0f+ICkv34tJDd4ZZIKT55NWfx3b+Zb7/TfJxWlODA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781013970;
	h=from:from:reply-to:subject:subject: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=E45XyPOcFqEeumIjSlznwkNE89/vYXY91uX5oao7Zwg=;
	b=GDcNlWMmvRGY2ElY3F898TwAT8WJw96kZtJEdsve3JWimXRbto85t9HTReuyDiUgfYUigr
	6pOougeV/QKhnBJ4XUbSy7sY4bhw8MWImAyLJS3oJWU6hyHh0sjR1YCqv0nFzDGZMfJYL4
	kU4EANvHLXDG+jzCw0WMtdck9WI6UBnqvuYtG+J7XNUzRIZgg2IwIb4Pdyuo+hkDR6dy5C
	UJsvlZoWidxtwJgRY7qZpksT8Sww3JY2ACxl5h/P2p7Y4l6dh7cNa6Qm7WCbL8agKXqPfp
	GCh8AVGNO9ffNGK+Tc4Zoe+WRUgKPjmnCWl3XgCh/s/5EIy6f54zTqYb3J7pow==
Received: from [IPV6:2601:5c0:4202:5670:4dbd:f02b:35c7:4e56] (unknown [IPv6:2601:5c0:4202:5670:4dbd:f02b:35c7:4e56])
	(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 4gZW0f2GwMzM9P;
	Tue, 09 Jun 2026 14:06:10 +0000 (UTC)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <15221817-b23e-4cd2-94a9-edff4d06bb3b@FreeBSD.org>
Date: Tue, 9 Jun 2026 10:06:09 -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: 5f732742ad5b - main - libc: Add free_sized() and
 free_aligned_sized() as per C23
Content-Language: en-US
To: Robert Clausecker <fuz@fuz.su>, Konstantin Belousov <kib@freebsd.org>
Cc: Robert Clausecker <fuz@freebsd.org>, src-committers@freebsd.org,
 dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org,
 Faraz Vahedi <kfv@kfv.io>
References: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org>
 <aidusnnCokFs58xX@kib.kiev.ua> <aifdH5XKiyPjXguR@fuz.su>
From: John Baldwin <jhb@FreeBSD.org>
In-Reply-To: <aifdH5XKiyPjXguR@fuz.su>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 6/9/26 05:30, Robert Clausecker wrote:
> Hi Konstantin,
> 
> Am Tue, Jun 09, 2026 at 04:38:58AM +0300 schrieb Konstantin Belousov:
>> On Sun, Jun 07, 2026 at 09:00:59PM +0000, Robert Clausecker wrote:
>>> The branch main has been updated by fuz:
>>>
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=5f732742ad5b3133a860a8969cf2bd13dc9ac358
>>>
>>> commit 5f732742ad5b3133a860a8969cf2bd13dc9ac358
>>> Author:     Faraz Vahedi <kfv@kfv.io>
>>> AuthorDate: 2026-05-16 18:36:17 +0000
>>> Commit:     Robert Clausecker <fuz@FreeBSD.org>
>>> CommitDate: 2026-06-07 20:59:19 +0000
>>>
>>>      libc: Add free_sized() and free_aligned_sized() as per C23
>>>      
>>
>>> +FBSD_1.9 {
>>> +	free_sized;
>>> +	free_aligned_sized;
>>
>>> +	__free_sized;
>>> +	__free_aligned_sized;
>>
>> Why these two symbols (from private C namespace) need to be exported?
>> And then, why they need to be exported in the public version?
>>
>>> +};
> 
> This is for consistency with the other libc allocator symbols, which are also
> exported.  I suppose this is useful if you e.g. wish to hook or replace the
> allocation machinery, giving you access to the originals where desired.

That's what RTLD_NEXT is for?

-- 
John Baldwin


From nobody Tue Jun  9 15:14:16 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZXWF03RPz6g8Th
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 15:14:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZXWD6VYmz43qn
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 15:14:16 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781018056;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=8AMImoK+sFsjNwiltow0ZKfKcGCL+Y4COypL5Q/0CFg=;
	b=OgJlAQlEYdNGlvnsdnp1qLnCdoWw+RIYwffLrKBCf/ZubcbVAGV5eI5OQa+8pap+KelJYB
	Oy73Xyk3Q8wiuX2F9+vdBqBB3vf/I0P15JQdwt4pDh8/GrEZJmpaX/wyBpqfN8i1KPtcN0
	kpRZwjUtn+vq/HV0tGjHsVFqG/X7Y/bOP8WUoc9fpATEWBgXigkfQGL3J7Gmyx+2xSULHN
	3XC7JNZI+1SRBC19qBe/CoSHyACfJWkQgmfrvJsW96nFwol6gq8RIjFsEffDHNLKsPdFlX
	8Z7z/bbDf5YfEgM16aDpe7G6MeDES8Bm9IH/PtwRw0uZ/rbe3zbPKc5QQ0GqmQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781018056; a=rsa-sha256; cv=none;
	b=bQFkDIzEJYeRDI+22Xi+eClgE8arW8+Ecpyb/jh+ATRXvqOycbo6PkW3QSkbZd9/o7wPox
	B/M3WCtshsbCG//1kl94MoS/iucxwJkBaKgznGsdnLfNTRP9hPiFCvd1ADEQb/ORzIKdgG
	qKqkncMxTrRK5YbvV0i7lQm+btOSGKVh1GyqzO2xBQiAs8FIqGkzA+3kidzWZUqDGbt6oM
	/O11QGN0nihbs4xFFmhgxWSc651jrJPmyyoniU7BZH3m7nQ2MjjIfXlVEAV3qGW9gwS52+
	KNeGRSp/GhQaqtCJREDxyzUWYOJpX73E0lW/Ig56lu2IRYpBL9z6qUUdOtMu4A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781018056;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=8AMImoK+sFsjNwiltow0ZKfKcGCL+Y4COypL5Q/0CFg=;
	b=GA2VC51bYnF3qj7eA+s/aylhQiDS7013p8SF3C1cHQbq9FZP0DdRe/BIr36r5royKB6Jg/
	KYh6I5Kaz8+nIeq8FJSLSD053ryiNF6H2SSV99ed1JtwldomIeWz9cda9XlidvncsJ3WoK
	SIA+52onwmKr1BuAITf+dLECeQhPkn3E+g9v1NqnIanL3XI3cY9l+wbl9a0uhJefYZhc57
	nTrIxHV2SE/zYx1da9DUOk65N9Lc6Z3ESca7zi22F8nSjpk/lBgLcn/b4eNFkXWBMq0Q+7
	3zmQfHatUWOqRV+WvAp0F5qS3Fug5t9DF4CkohB72g8enTz4xOgKC38FcHAxTg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZXWD662KzgFR
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 15:14:16 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1c13c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 15:14:16 +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: 439b219fed3e - main - devd/snd.conf: Handle absent control device properly
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: 439b219fed3eea8ad3e1204393a8605826b8bbca
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 15:14:16 +0000
Message-Id: <6a282dc8.1c13c.25daf9e5@gitrepo.freebsd.org>

The branch main has been updated by christos:

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

commit 439b219fed3eea8ad3e1204393a8605826b8bbca
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-06-09 15:10:58 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-06-09 15:10:58 +0000

    devd/snd.conf: Handle absent control device properly
    
    If virtual_oss is not enabled when these rules run on startup, dmesg
    will show the following messages:
    
    Starting devd.
    virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory
    virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory
    
    Reported by:    olce, Mark Millard <marklmi@yahoo.com>
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sbin/devd/snd.conf | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/sbin/devd/snd.conf b/sbin/devd/snd.conf
index 3fc1cb9f0b0e..ecaec62bc6cc 100644
--- a/sbin/devd/snd.conf
+++ b/sbin/devd/snd.conf
@@ -7,8 +7,9 @@ notify 0 {
 
 	# Other audio servers or device switching commands can be used here
 	# instead of virtual_oss(8).
-	action			"/usr/sbin/virtual_oss_cmd \
-		/dev/$(sysrc -n virtual_oss_default_control_device) -R /dev/$cdev";
+	action			"\
+		vd=/dev/$(sysrc -n virtual_oss_default_control_device); \
+		test -e ${vd} && /usr/sbin/virtual_oss_cmd ${vd} -R /dev/$cdev";
 };
 
 notify 0 {
@@ -18,8 +19,9 @@ notify 0 {
 	match "cdev"		"dsp[0-9]+";
 
 	# See comment above.
-	action			"/usr/sbin/virtual_oss_cmd \
-		/dev/$(sysrc -n virtual_oss_default_control_device) -P /dev/$cdev";
+	action			"\
+		vd=/dev/$(sysrc -n virtual_oss_default_control_device); \
+		test -e ${vd} && /usr/sbin/virtual_oss_cmd ${vd} -P /dev/$cdev";
 };
 
 notify 0 {
@@ -29,6 +31,7 @@ notify 0 {
 
 	# No connected devices. Disable both recording and playback to avoid
 	# repeated virtual_oss error messages.
-	action			"/usr/sbin/virtual_oss_cmd \
-		/dev/$(sysrc -n virtual_oss_default_control_device) -f /dev/null";
+	action			"\
+		vd=/dev/$(sysrc -n virtual_oss_default_control_device); \
+		test -e ${vd} && /usr/sbin/virtual_oss_cmd ${vd} -f /dev/null";
 };

From nobody Tue Jun  9 16:04:29 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZYd93nBRz6gCfW
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 16:04:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZYd9320mz4FHC
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781021069;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=3TJiGReFPV3UXveF+7G88d3wsbfYcSvgsf9Y8AXvo8M=;
	b=GWHVWLffmYCUMy3d+SXR+e6iA5692vRFt85RFH+pOgl0kZ5EQBFIrqVVeCTZRnv3zA5fIe
	wgeMntWKEqLCFfgSd1Emlj0wHZWwddskxXGd2/x7pUt6+xvtH/96yHK5KDJbkWhPw4h86c
	A7WoqSUMBhsRgsEf6uGesBwWUz42A8mMNGsJff5Z1WnjMG7QoGY+u38HGO9JlFpJYMJb7L
	5bK3wcNP9o9Pc51l1wibFmjBwgWnSfnyB8b2pzd/kygn1KL63aQkmVYnTDu1sjOAIZj1MJ
	kU04SAVZ2Laq2E/aDz/jEG/pnF4ifkeBd1NnAHvwuqzYfkOwSuj69+Bu6TAf3w==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781021069; a=rsa-sha256; cv=none;
	b=MklBKS9xDH+4tfWLsEgAk2gVIWlb+cQzisJsw4RRI0ESCc6l+dCakarTCyzTBxwtl+NqTd
	+J2POgLfdY9u4vO6PhVXa93KHnHbVIBFdWPw5iIk/Ht9f5v8qKT9Ss/CyZtnEQlYKgMUtz
	dCWFQyo7j5+ECzobUrPe6+1uEqEvpHAwX6S6CNThoDuhVLsGnDcsAW609hVmPziZKfLzJX
	rX+/62d2HiauwtK8dP5s1DiT2Bi7tmxx62Bz2/nvyhfqn8JPHL2Ng0GUgohAQQwwwvgdD4
	DXVpPzhqWUsvzDXbm/9VTtTlEHuZ6Bdt2qthXWfAWDktJSnlfAYp9PVFBLC4xw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781021069;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=3TJiGReFPV3UXveF+7G88d3wsbfYcSvgsf9Y8AXvo8M=;
	b=ufsDbHU2xR2FJnL1yQa+ufgpHAoknYRkkv/ikTZjt5lkVJKEXsnM0dYItaWE/r9nUgA7Gu
	8Xs0RR5RlWIXFMcJk2sW2Pj9bupS+aremvp4aZuNgxUT4fJKmmcJAQycFyuWTLTATaB7s9
	HVXNQQmvObfZ3m3eW4P6tkmxEc0ihgvKDIjZj0gbo7QQjb1NcEYMP9eZ+OTKQeYMloP46d
	PPpIlakB/sPIrfpDXmJ/XNh13P4CQG50dNTejCqI8jcmR53xekj4BAAylvl0eKHTu7VuXX
	8P7Pu7Rr4S5nUvsaxBH91T1qHee86ZhKLboNS7vVu7KuNkjA1lmarCaKrMU1eA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZYd9278Czh36
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:29 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 21843
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 16:04:29 +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: da3890fdccfa - main - nuageinit: use single-quote shell escaping for hostname in rc.conf.d
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: da3890fdccfa7d540ea746182248299b81f95345
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 16:04:29 +0000
Message-Id: <6a28398d.21843.2c5b50cd@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit da3890fdccfa7d540ea746182248299b81f95345
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-06-09 14:04:18 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-06-09 16:04:24 +0000

    nuageinit: use single-quote shell escaping for hostname in rc.conf.d
    
    The hostname value was written inside double quotes in
    /etc/rc.conf.d/hostname. POSIX shell performs command substitution
    inside double quotes, so a hostname containing $() or backticks would
    be executed when the file is sourced (e.g., by rc(8)).
    
    Switch to using the existing shell_escape() helper, which wraps values
    in single quotes. In POSIX shell, single-quoted strings are completely
    literal — no expansion or substitution of any kind is performed.
    
    While the hostname is already validated to contain only
    [a-zA-Z0-9.-], this change provides defense-in-depth so the output
    format is safe regardless of future validation changes.
    
    Reported by:    Yazdan Soltani <yazdan.soltani@gmail.com>
---
 libexec/nuageinit/nuage.lua             |  2 +-
 libexec/nuageinit/tests/nuage.sh        |  2 +-
 libexec/nuageinit/tests/nuageinit.sh    | 12 ++++++------
 libexec/nuageinit/tests/sethostname.lua |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua
index cbf92627918c..cbd842460e55 100644
--- a/libexec/nuageinit/nuage.lua
+++ b/libexec/nuageinit/nuage.lua
@@ -187,7 +187,7 @@ local function sethostname(hostname)
 		warnmsg("Impossible to open " .. hostnamepath .. ":" .. err)
 		return
 	end
-	f:write('hostname="' .. hostname:gsub('"', '\\"') .. '"\n')
+	f:write("hostname=" .. shell_escape(hostname) .. "\n")
 	f:close()
 end
 
diff --git a/libexec/nuageinit/tests/nuage.sh b/libexec/nuageinit/tests/nuage.sh
index 97c5224c7813..1e08c990eacd 100644
--- a/libexec/nuageinit/tests/nuage.sh
+++ b/libexec/nuageinit/tests/nuage.sh
@@ -33,7 +33,7 @@ sethostname_body()
 	if [ ! -f etc/rc.conf.d/hostname ]; then
 		atf_fail "hostname not written"
 	fi
-	atf_check -o inline:"hostname=\"myhostname\"\n" cat etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='myhostname'\n" cat etc/rc.conf.d/hostname
 }
 
 addsshkey_body()
diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh
index 798ac235e122..3f3e2843c35d 100644
--- a/libexec/nuageinit/tests/nuageinit.sh
+++ b/libexec/nuageinit/tests/nuageinit.sh
@@ -80,13 +80,13 @@ nocloud_body()
 	atf_check -s exit:1 -e match:"nuageinit: error parsing nocloud.*" /usr/libexec/nuageinit "${PWD}"/media/nuageinit/ nocloud
 	printf "instance-id: iid-local01\nlocal-hostname: cloudimg\n" > "${PWD}"/media/nuageinit/meta-data
 	atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud
-	atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='cloudimg'\n" cat etc/rc.conf.d/hostname
 	cat > media/nuageinit/meta-data << EOF
 instance-id: iid-local01
 hostname: myhost
 EOF
 	atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud
-	atf_check -o inline:"hostname=\"myhost\"\n" cat etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='myhost'\n" cat etc/rc.conf.d/hostname
 }
 
 nocloud_userdata_script_body()
@@ -250,7 +250,7 @@ config2_body()
 }
 EOF
 	atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='cloudimg'\n" cat etc/rc.conf.d/hostname
 }
 
 config2_pubkeys_head()
@@ -1307,7 +1307,7 @@ echo "multipart script executed"
 --==BOUNDARY==--
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:"hostname=\"multipart-host\"\n" cat etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='multipart-host'\n" cat etc/rc.conf.d/hostname
 	atf_check -o inline:"#!/bin/sh\necho \"multipart script executed\"\n" cat var/cache/nuageinit/multipart_script
 	test -x var/cache/nuageinit/multipart_script || atf_fail "multipart_script not executable"
 	true
@@ -1376,13 +1376,13 @@ fqdn: host.domain.tld
 hostname: host
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:"hostname=\"host.domain.tld\"\n" cat ${PWD}/etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='host.domain.tld'\n" cat ${PWD}/etc/rc.conf.d/hostname
 	cat > media/nuageinit/user_data <<EOF
 #cloud-config
 hostname: host
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:"hostname=\"host\"\n" cat ${PWD}/etc/rc.conf.d/hostname
+	atf_check -o inline:"hostname='host'\n" cat ${PWD}/etc/rc.conf.d/hostname
 }
 
 config2_userdata_encode_base64_body()
diff --git a/libexec/nuageinit/tests/sethostname.lua b/libexec/nuageinit/tests/sethostname.lua
index 0bc7eb2c4475..8973cc6d6e86 100644
--- a/libexec/nuageinit/tests/sethostname.lua
+++ b/libexec/nuageinit/tests/sethostname.lua
@@ -20,7 +20,7 @@ local function check_hostname(expected)
 	end
 	local content = f:read("*a")
 	f:close()
-	local expected_content = 'hostname="' .. expected:gsub('"', '\\"') .. '"\n'
+	local expected_content = "hostname=" .. n.shell_escape(expected) .. "\n"
 	if content ~= expected_content then
 		n.err("hostname mismatch: got '" .. content ..
 		    "', expected '" .. expected_content .. "'")

From nobody Tue Jun  9 16:04: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 4gZYdB4rJWz6gD0f
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 16:04:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZYdB3S8Dz4Drb
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781021070;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=G5Sf7JwKl0sUMExg9o8FyRely9JW7TxyIKnJuG9lIio=;
	b=TvoE+ukzlmdgKmZZo+fnUGfdAy0H8IHrJdD0Bd8dGEpjvCDdLXIECwJ8vfrD/dMze2HYE7
	b/kVyRIKbYidbA5I0sD5ETUBmk0jqbofpOfcXlF+f+acYEuVnd1sN6DpLA5i6NkKCI9ITx
	HJS3OG4BrDVrPPkB5eQ31mGUSOAtwfzmXIyXEWYGQp0qs9McLzX5qh8olEKS/iQ74gM21b
	YDJbBsVbJrAo4ylHM5hiPyAlDpxUvUlta7DrbXhnZGANisvzjco8TxF6++EhvIGd5S2/Bi
	nh5GGZNxxiBzdLoQ+CBtTS8DnzmdGlRJO9hnhqJ23Jw1Gf+CzsUrGHQlX2AQoQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781021070; a=rsa-sha256; cv=none;
	b=qhGEzAR281hdgIIXjmDW5S/SdV1RZHErdd5bFihdXfr9+JYNBkQRJB8Z2pFOjoHr4BBEv1
	LQOIde98t8olVaGvfccYOI2MYwtKj2gcROR2ObOEF0kay4FSn5YWxEOhgcuZd9ThyCSrYp
	dD8w0hv4fLjmuy+SXPgV635fKHB0C4SnsrLUHPgkXJHhfNvH+EZU5lv33vuAcMGr22d4pJ
	MbojsToMkwl/ggiNpjwA25CD2oBeYd/LwgJoxQYfgF/4Rasi21DUARs7u6HUNUYtTpMXt2
	m9zWAWdM+rzbybW+0XGDliFqWiJDU50xpAPx1OPmAnl2TgzS7HFbfN188ffH4A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781021070;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=G5Sf7JwKl0sUMExg9o8FyRely9JW7TxyIKnJuG9lIio=;
	b=YIEYa0XUKVzOrEAxwj8GSvBJLua2dK7NdvWdYIWoLBmcLp3stSrRj+vmTm65pSfxdCHnxN
	GTVQk72j+2DC37+a34Y1ePPp3FML9I76O6X52s49+XG16rpmHix0LJ3+FfxZIXqzwyRYQw
	MW6H0U4bBNqd50DaP+Wyw2kUiFhq/Q7SJsTz/x3d3rMljTKca2da1dETRYEUKq8W5myqYd
	s7acRZo2bXHMYjTJGtBltrhYDs4rIdx+hIWuwBmmCI8ltafde+nI26WXR2KsgL4OOAiWIC
	gz3kVT7MnSR/JlS5BLajZRGtmF3O7uJWNn+v5X6lqHkg91f8VpHsI7vPSmNFHA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZYdB2NYczhpH
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 21df8
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 16:04:30 +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: 0211c8722ff2 - main - nuageinit: fix shell command injection in multiple rc.conf.d writes
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: 0211c8722ff2ac9367565e526e62837745bb2cce
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 16:04:30 +0000
Message-Id: <6a28398e.21df8.2708f907@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit 0211c8722ff2ac9367565e526e62837745bb2cce
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-06-09 14:16:44 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-06-09 16:04:24 +0000

    nuageinit: fix shell command injection in multiple rc.conf.d writes
---
 libexec/nuageinit/nuageinit          | 89 ++++++++++++------------------------
 libexec/nuageinit/tests/nuageinit.sh | 46 +++++++++----------
 2 files changed, 53 insertions(+), 82 deletions(-)

diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index 9a0399ad4862..6e900e01df4e 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -240,37 +240,11 @@ local function nameservers(interface, obj)
 	local resolvconf_conf_handler = open_resolvconf_conf()
 
 	if obj.search then
-		local with_space = false
-
-		resolvconf_conf_handler:write('search_domains="')
-
-		for _, d in ipairs(obj.search) do
-			if with_space then
-				resolvconf_conf_handler:write(" " .. d)
-			else
-				resolvconf_conf_handler:write(d)
-				with_space = true
-			end
-		end
-
-		resolvconf_conf_handler:write('"\n')
+		resolvconf_conf_handler:write("search_domains=" .. nuage.shell_escape(table.concat(obj.search, " ")) .. "\n")
 	end
 
 	if obj.addresses then
-		local with_space = false
-
-		resolvconf_conf_handler:write('name_servers="')
-
-		for _, a in ipairs(obj.addresses) do
-			if with_space then
-				resolvconf_conf_handler:write(" " .. a)
-			else
-				resolvconf_conf_handler:write(a)
-				with_space = true
-			end
-		end
-
-		resolvconf_conf_handler:write('"\n')
+		resolvconf_conf_handler:write("name_servers=" .. nuage.shell_escape(table.concat(obj.addresses, " ")) .. "\n")
 	end
 
 	resolvconf_conf_handler:close()
@@ -455,18 +429,18 @@ local function network_config(obj)
 				local ifaces = get_ifaces_by_mac()
 				local matched = ifaces[v.match.macaddress]
 				if matched and matched == interface then
-					network:write("ifconfig_" .. interface .. '_name=' .. v["set-name"] .. '\n')
+					network:write("ifconfig_" .. interface .. "_name=" .. nuage.shell_escape(v["set-name"]) .. "\n")
 					interface = v["set-name"]
 				end
 			end
 			if v.dhcp4 then
-				network:write("ifconfig_" .. interface .. '="DHCP"' .. extra_opts .. '\n')
+				network:write("ifconfig_" .. interface .. "=" .. nuage.shell_escape("DHCP" .. extra_opts) .. "\n")
 			elseif v.addresses then
 				for _, a in pairs(v.addresses) do
 					if a:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)") then
-						network:write("ifconfig_" .. interface .. '="inet ' .. a .. extra_opts .. '"\n')
+						network:write("ifconfig_" .. interface .. "=" .. nuage.shell_escape("inet " .. a .. extra_opts) .. "\n")
 					else
-						network:write("ifconfig_" .. interface .. '_ipv6="inet6 ' .. a .. extra_opts .. '"\n')
+						network:write("ifconfig_" .. interface .. "_ipv6=" .. nuage.shell_escape("inet6 " .. a .. extra_opts) .. "\n")
 						ipv6[#ipv6 + 1] = interface
 					end
 				end
@@ -476,24 +450,22 @@ local function network_config(obj)
 				end
 				if set_defaultrouter and v.gateway4 then
 					set_defaultrouter = false
-					routing:write('defaultrouter="' .. v.gateway4 .. '"\n')
+					routing:write("defaultrouter=" .. nuage.shell_escape(v.gateway4) .. "\n")
 				end
 				if v.gateway6 then
 					if set_defaultrouter6 then
 						set_defaultrouter6 = false
-						routing:write('ipv6_defaultrouter="' .. v.gateway6 .. '"\n')
+						routing:write("ipv6_defaultrouter=" .. nuage.shell_escape(v.gateway6) .. "\n")
 					end
-					routing:write("ipv6_route_" .. interface .. '="' .. v.gateway6)
-					routing:write(" -prefixlen 128 -interface " .. interface .. '"\n')
+					routing:write("ipv6_route_" .. interface .. "=" .. nuage.shell_escape(v.gateway6 .. " -prefixlen 128 -interface " .. interface) .. "\n")
 				end
 			end
 		end
 		::next::
 	end
 	if #ipv6 > 0 then
-		network:write('ipv6_network_interfaces="')
-		network:write(table.concat(ipv6, " ") .. '"\n')
-		network:write('ipv6_default_interface="' .. ipv6[1] .. '"\n')
+		network:write("ipv6_network_interfaces=" .. nuage.shell_escape(table.concat(ipv6, " ")) .. "\n")
+		network:write("ipv6_default_interface=" .. nuage.shell_escape(ipv6[1]) .. "\n")
 	end
 	network:close()
 	routing:close()
@@ -633,7 +605,7 @@ local function keyboard(obj)
 		warnmsg("unable to open " .. path .. " for writing")
 		return
 	end
-	f:write('keymap="' .. keymap .. '"\n')
+	f:write("keymap=" .. nuage.shell_escape(keymap) .. "\n")
 	f:close()
 end
 
@@ -648,10 +620,14 @@ local function locale(obj)
 		return
 	end
 	if type(obj.locale) == "string" then
-		f:write("export LANG=" .. obj.locale .. "\n")
+		f:write("export LANG=" .. nuage.shell_escape(obj.locale) .. "\n")
 	elseif type(obj.locale) == "table" then
 		for k, v in pairs(obj.locale) do
-			f:write("export " .. k .. "=" .. v .. "\n")
+			if not k:match("^[a-zA-Z_][a-zA-Z0-9_]*$") then
+				nuage.warn("locale: invalid variable name '" .. k .. "', skipping")
+			else
+				f:write("export " .. k .. "=" .. nuage.shell_escape(v) .. "\n")
+			end
 		end
 	else
 		nuage.warn("locale: invalid type " .. type(obj.locale) .. ", expecting string or object")
@@ -920,14 +896,14 @@ local function config2_network(p)
 	for _, v in pairs(obj["networks"]) do
 		local interface = mylinks[v["link"]]
 		if v["type"] == "ipv4_dhcp" then
-			network:write("ifconfig_" .. interface .. '="DHCP"\n')
+			network:write("ifconfig_" .. interface .. "=" .. nuage.shell_escape("DHCP") .. "\n")
 		end
 		if v["type"] == "ipv4" then
 			network:write(
-				"ifconfig_" .. interface .. '="inet ' .. v["ip_address"] .. " netmask " .. v["netmask"] .. '"\n'
+				"ifconfig_" .. interface .. "=" .. nuage.shell_escape("inet " .. v["ip_address"] .. " netmask " .. v["netmask"]) .. "\n"
 			)
 			if v["gateway"] then
-				routing:write('defaultrouter="' .. v["gateway"] .. '"\n')
+				routing:write("defaultrouter=" .. nuage.shell_escape(v["gateway"]) .. "\n")
 			end
 			if v["routes"] then
 				for i, r in ipairs(v["routes"]) do
@@ -936,11 +912,10 @@ local function config2_network(p)
 						goto next
 					end
 					if r["network"] == "0.0.0.0" then
-						routing:write('defaultrouter="' .. r["gateway"] .. '"\n')
+						routing:write("defaultrouter=" .. nuage.shell_escape(r["gateway"]) .. "\n")
 						goto next
 					end
-					routing:write("route_" .. rname .. '="-net ' .. r["network"] .. " ")
-					routing:write(r["gateway"] .. " " .. r["netmask"] .. '"\n')
+					routing:write("route_" .. rname .. "=" .. nuage.shell_escape("-net " .. r["network"] .. " " .. r["gateway"] .. " " .. r["netmask"]) .. "\n")
 					ipv4[#ipv4 + 1] = rname
 					::next::
 				end
@@ -949,11 +924,10 @@ local function config2_network(p)
 		if v["type"] == "ipv6" then
 			ipv6[#ipv6 + 1] = interface
 			ipv6_routes[#ipv6_routes + 1] = interface
-			network:write("ifconfig_" .. interface .. '_ipv6="inet6 ' .. v["ip_address"] .. '"\n')
+			network:write("ifconfig_" .. interface .. "_ipv6=" .. nuage.shell_escape("inet6 " .. v["ip_address"]) .. "\n")
 			if v["gateway"] then
-				routing:write('ipv6_defaultrouter="' .. v["gateway"] .. '"\n')
-				routing:write("ipv6_route_" .. interface .. '="' .. v["gateway"])
-				routing:write(" -prefixlen 128 -interface " .. interface .. '"\n')
+				routing:write("ipv6_defaultrouter=" .. nuage.shell_escape(v["gateway"]) .. "\n")
+				routing:write("ipv6_route_" .. interface .. "=" .. nuage.shell_escape(v["gateway"] .. " -prefixlen 128 -interface " .. interface) .. "\n")
 			end
 			-- TODO compute the prefixlen for the routes
 			--if v["routes"] then
@@ -988,17 +962,14 @@ local function config2_network(p)
 	end
 
 	if #ipv4 > 0 then
-		routing:write('static_routes="')
-		routing:write(table.concat(ipv4, " ") .. '"\n')
+		routing:write("static_routes=" .. nuage.shell_escape(table.concat(ipv4, " ")) .. "\n")
 	end
 	if #ipv6 > 0 then
-		network:write('ipv6_network_interfaces="')
-		network:write(table.concat(ipv6, " ") .. '"\n')
-		network:write('ipv6_default_interface="' .. ipv6[1] .. '"\n')
+		network:write("ipv6_network_interfaces=" .. nuage.shell_escape(table.concat(ipv6, " ")) .. "\n")
+		network:write("ipv6_default_interface=" .. nuage.shell_escape(ipv6[1]) .. "\n")
 	end
 	if #ipv6_routes > 0 then
-		routing:write('ipv6_static_routes="')
-		routing:write(table.concat(ipv6, " ") .. '"\n')
+		routing:write("ipv6_static_routes=" .. nuage.shell_escape(table.concat(ipv6, " ")) .. "\n")
 	end
 	network:close()
 	routing:close()
diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh
index 3f3e2843c35d..ce574a350ecc 100644
--- a/libexec/nuageinit/tests/nuageinit.sh
+++ b/libexec/nuageinit/tests/nuageinit.sh
@@ -223,15 +223,15 @@ network:
 EOF
 	atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud
 	cat > network << EOF
-ifconfig_${myiface}="inet 192.0.2.2/24"
-ifconfig_${myiface}_ipv6="inet6 2001:db8::2/64"
-ipv6_network_interfaces="${myiface}"
-ipv6_default_interface="${myiface}"
+ifconfig_${myiface}='inet 192.0.2.2/24'
+ifconfig_${myiface}_ipv6='inet6 2001:db8::2/64'
+ipv6_network_interfaces='${myiface}'
+ipv6_default_interface='${myiface}'
 EOF
 	cat > routing << EOF
-defaultrouter="192.0.2.1"
-ipv6_defaultrouter="2001:db8::1"
-ipv6_route_${myiface}="2001:db8::1 -prefixlen 128 -interface ${myiface}"
+defaultrouter='192.0.2.1'
+ipv6_defaultrouter='2001:db8::1'
+ipv6_route_${myiface}='2001:db8::1 -prefixlen 128 -interface ${myiface}'
 EOF
 	atf_check -o file:network cat "${PWD}"/etc/rc.conf.d/network
 	atf_check -o file:routing cat "${PWD}"/etc/rc.conf.d/routing
@@ -406,15 +406,15 @@ cat > media/nuageinit/network_data.json << EOF
 EOF
 	atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
 	cat > network << EOF
-ifconfig_${myiface}="DHCP"
-ifconfig_${myiface}_ipv6="inet6 2001:db8::3257:9652/64"
-ipv6_network_interfaces="${myiface}"
-ipv6_default_interface="${myiface}"
+ifconfig_${myiface}='DHCP'
+ifconfig_${myiface}_ipv6='inet6 2001:db8::3257:9652/64'
+ipv6_network_interfaces='${myiface}'
+ipv6_default_interface='${myiface}'
 EOF
 	cat > routing << EOF
-ipv6_defaultrouter="fd00::1"
-ipv6_route_${myiface}="fd00::1 -prefixlen 128 -interface ${myiface}"
-ipv6_static_routes="${myiface}"
+ipv6_defaultrouter='fd00::1'
+ipv6_route_${myiface}='fd00::1 -prefixlen 128 -interface ${myiface}'
+ipv6_static_routes='${myiface}'
 EOF
 	atf_check -o file:network cat "${PWD}"/etc/rc.conf.d/network
 	atf_check -o file:routing cat "${PWD}"/etc/rc.conf.d/routing
@@ -466,12 +466,12 @@ cat > media/nuageinit/network_data.json << EOF
 EOF
 	atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
 	cat > network << EOF
-ifconfig_${myiface}="inet 10.184.0.244 netmask 255.255.240.0"
+ifconfig_${myiface}='inet 10.184.0.244 netmask 255.255.240.0'
 EOF
 	cat > routing << EOF
-route_cloudinit1_${myiface}="-net 10.0.0.0 11.0.0.1 255.0.0.0"
-defaultrouter="23.253.157.1"
-static_routes="cloudinit1_${myiface}"
+route_cloudinit1_${myiface}='-net 10.0.0.0 11.0.0.1 255.0.0.0'
+defaultrouter='23.253.157.1'
+static_routes='cloudinit1_${myiface}'
 EOF
 	atf_check -o file:network cat "${PWD}"/etc/rc.conf.d/network
 	atf_check -o file:routing cat "${PWD}"/etc/rc.conf.d/routing
@@ -518,7 +518,7 @@ cat > media/nuageinit/network_data.json << EOF
 }
 EOF
 	atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:'name_servers="9.9.9.9 149.112.112.112"\n' \
+	atf_check -o inline:"name_servers='9.9.9.9 149.112.112.112'\n" \
 		cat "${PWD}"/etc/resolvconf.conf
 }
 
@@ -1203,7 +1203,7 @@ keyboard:
   variant: acc
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:'keymap="fr.acc"\n' cat etc/rc.conf.d/keymap
+	atf_check -o inline:"keymap='fr.acc'\n" cat etc/rc.conf.d/keymap
 	true
 }
 
@@ -1351,7 +1351,7 @@ config2_userdata_locale_body()
 locale: fr_FR.UTF-8
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o inline:"export LANG=fr_FR.UTF-8\n" cat etc/profile
+	atf_check -o inline:"export LANG='fr_FR.UTF-8'\n" cat etc/profile
 
 	cat > media/nuageinit/user_data <<EOF
 #cloud-config
@@ -1360,8 +1360,8 @@ locale:
   LC_ALL: de_DE.UTF-8
 EOF
 	atf_check -o empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2
-	atf_check -o match:"export LANG=de_DE.UTF-8" cat etc/profile
-	atf_check -o match:"export LC_ALL=de_DE.UTF-8" cat etc/profile
+	atf_check -o match:"export LANG='de_DE.UTF-8'" cat etc/profile
+	atf_check -o match:"export LC_ALL='de_DE.UTF-8'" cat etc/profile
 	true
 }
 

From nobody Tue Jun  9 16:04: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 4gZYdD0Mgfz6gClN
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 16:04:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZYdC3jvyz4FHG
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781021071;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q0V3ER2Cu2bxqhg9sqybwxPzqjQfCYwMYFRh1FkmwMM=;
	b=irDMPtoBS/bjmEaYkWW9OxDfB0CHjipsNcecWEAA8eF9sRXKpKSC1Oy2xDmLwjZdrfn9e+
	k87exCFb9acMa15avGxW4HXVkMy0YdJzsSKu1hkVVnc7+03+7Yyn5cFIGuojPNcR5uosW2
	3MN0KVymi2RsXrLRycDvVkOExLUfAHiFW8btuOF2XzmPQICuYXA+QJJJhpm6GsdSXQeCrP
	Bk+H2/hKV0oc8xzxOpF9LH+DmNLRIwskBD9vFC6awVY1GJt/Nb/5QfV1cCb3TV+Ql9vT4G
	c8XCGipiEXuUYrn4T5Q0WWT9XM0lbbiJqtS987BWHXKq8K7/jxCSkyZCfGBwPw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781021071; a=rsa-sha256; cv=none;
	b=xz4tD+qimOFbC0ntBpBTpz1ptXvVJ/DjcmP8KQ1fYwZSo49glgQJt7pzOatNjjl0QB74yD
	kEdfUcsSTlK9QrQjYiec9Bm6UVUVbySoBnZnKNA25FpcdYJpdd/yPYYrtEq0YtPSBydcWr
	iQ8O+L/eNs94GbhvgI8MJZ5yvXfBXhv98bxFaL7MjumqjHxe96ZnHCLZ5xWutOrL9HF3pV
	B0gNywvT1ELOVIpkmJgRNGNE9Y7saaGfKbZ0/JK5+lAeRIgpdYlr0yd+4JqQp/8wvW1rRh
	HKykRRq0gcF4GxutFUL48W8erlPQKW4AuHS42pDmp37o6bBK84Uu1EbJCUhVfw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781021071;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Q0V3ER2Cu2bxqhg9sqybwxPzqjQfCYwMYFRh1FkmwMM=;
	b=UMwZ9dFfTcnoY/qf7A6GN5lksdrZwzoP3bKRrEqGWMkzcxlNinRLdXIM0dN1ff5KSv5kXB
	5iDYTEdwBy6qMkX7f/0x6iT2s5QNyo0qRjMU8SGKJx9LJkLZ4s8pTZO0w08rgPcGAJevpQ
	GLrwVwOFAOi9C7Lzd+NScbZuVY7JWkpBpusyurKO11CPkYf6keR1srYJdeHSCtD0ca+m5b
	xqExhSZs8x2KzB8uDHrjES7UkGrE2wKI6BgR3EQugr7efMPCdgHv41eeQkoYj5TKh5VbOj
	caoUiKoUw30p8HqwQ5cpsK734IEuFjIn1UkVsqRm3EtQzoSLQPsOvJCSQMqo4g==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZYdC3F8Tzhv1
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22d21
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 16:04:31 +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: 09d068e52722 - main - nuageinit: fix shell injection in power_state_change delay and add test
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: 09d068e52722dee0ed65eb88c5ea5bff4bb2ba06
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 16:04:31 +0000
Message-Id: <6a28398f.22d21.5d3e5e7e@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit 09d068e52722dee0ed65eb88c5ea5bff4bb2ba06
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-06-09 14:19:56 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-06-09 16:04:25 +0000

    nuageinit: fix shell injection in power_state_change delay and add test
---
 libexec/nuageinit/nuageinit          | 2 +-
 libexec/nuageinit/tests/nuageinit.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index 6e900e01df4e..8ca1a2c558c8 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -748,7 +748,7 @@ local function power_state_change(obj)
 	end
 
 	-- Build shutdown command
-	local cmd = "shutdown -" .. flag .. " " .. delay
+	local cmd = "shutdown -" .. flag .. " " .. nuage.shell_escape(delay)
 	if message then
 		cmd = cmd .. " " .. nuage.shell_escape(message)
 	end
diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh
index ce574a350ecc..ab9e697076e1 100644
--- a/libexec/nuageinit/tests/nuageinit.sh
+++ b/libexec/nuageinit/tests/nuageinit.sh
@@ -1332,7 +1332,7 @@ power_state:
   timeout: 30
   condition: true
 EOF
-	atf_check -o inline:"shutdown -r +5 'Rebooting after configuration is complete'\n" \
+	atf_check -o inline:"shutdown -r '+5' 'Rebooting after configuration is complete'\n" \
 	    /usr/libexec/nuageinit "${PWD}"/media/nuageinit postnet
 	true
 }

From nobody Tue Jun  9 16:04: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 4gZYdD6h3lz6gCxd
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 16:04:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZYdD4McGz4FMT
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781021072;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wbNoFlNaC34I+VUlfg2fWxYdxyZwHkj+sVHlioyp/Qg=;
	b=dhXm1UUAQ0+Ks0MxqVMvRhniduoDM1FpknOUtlkPlMO/gU85+H6o3nHlZAHI/VPFtn8En+
	qQjs0rtph8Surfo91Imknj1rB0Lf2GAuedxcTCEDYPhSpBmwwnVUoecfSWzZ9eSYU/HWr/
	Ch8rj6EZ+Cr90FadmOMoeJlFkx6Y8WkAkKFWr1Ab1d+k1DL1yT43gyYQmT9wHUOLvXSdie
	R03/wnSnyBpzhLRT45rxul/6VcmRSzS0zAIL03chdBKtatWE4XCCyYLBXrkHX17NnFN+4l
	4aaDDSfPZ2wfXMYxEaMA4E7YHZZCXUDbwLvWdDhSZP5OYY77unNl9D0UChpI5A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781021072; a=rsa-sha256; cv=none;
	b=ocmrmR3B8Hvpu9tfWJAQ8l4Vx4Q4IqKB3f0eRC3j4EIPphQYPEFVD+5Gq8v0jwPub18ZCq
	wVQDeaR1XH9jg5+8puYxxL4ILZh6dMRVDRQv/SyOMcIh7s10hHmZvaXgXTblaPtkmkcCb5
	rzDnc9+tqWnz77sFlfz2LQNsmvQe3udsY4jLad0YmBctjM4ZhZZwsUT1ha+Xqh830o5kuZ
	kT+VFgu2qyDeIXTj2+zurBqvfoLzNXf9iKlR8t65einZM7Dw3hpFyOxQCKQ3iajLlbYHe5
	Wy49RhNkH5wIhtpiqRnTIHxKHnZjgufR1UJZh7419HEpNy4UqKnBd9FwpKfxbA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781021072;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wbNoFlNaC34I+VUlfg2fWxYdxyZwHkj+sVHlioyp/Qg=;
	b=HP0kLt3fow+cdmPdjJwnFrYMT2Nc9FXwBZjmtQh6tT/CnP3CdjfqycuB29O3slR+fIxfUB
	nuCbe6yFwFYCJlV75nD+xcB68L/Fiyx10VzuaBLqyYqvidZH5/dVcFPCors8S+q+4Zg6yS
	QzlqqBOKVTEgyZ5Gve/x9HsXnQjtJ1559kHl5ozlPe7QJ5kx12UawMWeEvtVSb+u/T9sx0
	lEDgwvklc5gTtwykDJNdJCjKgKn/YHmjhu1wECd0VFCGEgDBqdaJX79McGLsYY7ZqFBQfO
	hdetmRrJzJJ+l8wQYFt1vlpWAFpE1u83PbRuLKoc2OX7XemtRvP23BpsjZq9zw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZYdD3wTzzhv2
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:04:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22fa1
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 16:04:32 +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: 13fb6dbc738f - main - nuageinit: validate set-name to prevent shell injection in variable names
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: 13fb6dbc738f4ba30e78a8fb21efa1382c520d33
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 16:04:32 +0000
Message-Id: <6a283990.22fa1.77541917@gitrepo.freebsd.org>

The branch main has been updated by bapt:

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

commit 13fb6dbc738f4ba30e78a8fb21efa1382c520d33
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-06-09 14:24:56 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-06-09 16:04:25 +0000

    nuageinit: validate set-name to prevent shell injection in variable names
    
    Shell variable names cannot be safely quoted with shell_escape() —
    only alphanumeric characters are valid. Add validation that set-name
    only matches [a-zA-Z0-9]+; invalid values are rejected with a
    warning and the rename is skipped entirely.
---
 libexec/nuageinit/nuageinit | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index 8ca1a2c558c8..ba26f504effb 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -429,8 +429,12 @@ local function network_config(obj)
 				local ifaces = get_ifaces_by_mac()
 				local matched = ifaces[v.match.macaddress]
 				if matched and matched == interface then
-					network:write("ifconfig_" .. interface .. "_name=" .. nuage.shell_escape(v["set-name"]) .. "\n")
-					interface = v["set-name"]
+					if not v["set-name"]:match("^[a-zA-Z0-9]+$") then
+						nuage.warn("set-name contains invalid characters, ignoring: " .. v["set-name"])
+					else
+						network:write("ifconfig_" .. interface .. "_name=" .. nuage.shell_escape(v["set-name"]) .. "\n")
+						interface = v["set-name"]
+					end
 				end
 			end
 			if v.dhcp4 then

From nobody Tue Jun  9 16:39:12 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZZPD5RlJz6gG64
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 16:39:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZZPD4ggpz4JRN
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:39:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781023152;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ymTU2Xd0YUq/+2LAwG7rz57qoKJMAI9bYQbhp+pcruE=;
	b=jyY3dWF96qLMtP6l3tHtoDbwYug9H1yU2VpnyLOPn4Jk0qcbX/HZ6UYMohOllbEHIk/UZN
	uKM5vLeuJaZoF6yvfuj3wl3Z55ZZESB+8JBbelR9FNvy2Mm1ba/vWM7drAhmOaLS5nvle5
	D5ubh2RDY1uuSpXgfqRw6J/wBnAMZ8WzS0Mkilobc1QxrayAUiJe6Ks5Mo72eu6QO1DRiE
	NqTGXu8HRxDbKQkF1Mjl5S3pbQf4VjywtD7BDaVCGEIXNNM7C6AmIWakDgwr5CGdCHfJm5
	N/8tmSPiZWZwGQNue2En2H2J1PmnEojolVAorWa/F4X/nL4vrb5EnQi40fmA2A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781023152; a=rsa-sha256; cv=none;
	b=KgpAGbbVqYxRPf9zNoUp+h0wCZf7roZLKMwUf8IyYFx/QIYyfefqwcIHSWDlOGzidzzz2s
	C4OXFIMJeXNKmUHfzTn3AHYyGXOEboHeEaE399eADZab49ibvyi/D49QApo8w+WmixH+fr
	sG3CZQ2YFA33v7XlR0vZ6Mc9Ad65uEN+ds2JhLFIblB3AiRD3zj0OgHWTXHN2sJQlVgueR
	sFbSrBSDNUemPL3idniK8fIjfWV01u9oCrethyFPjWDzHFwVBJkmzXKeVa3zSYDeuCYgcg
	0c2HpQiJWYka+ZpUC/RoJCs7yVKm8ppBldDYSjTEtImypMFDqmZI09SdVWVALw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781023152;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=ymTU2Xd0YUq/+2LAwG7rz57qoKJMAI9bYQbhp+pcruE=;
	b=m0fZAMps2v5/5jGl4bn8CFtBaGnjbSCVQrQXV+L6SDq6Cp3uwClDvOAOjbXHyCWa68jNcq
	b9AjMd+dM0eHAP4+tpITz4P5F2fHH5iyUirKwaNt7AP1q48SQqldmleVzWYAyXDbwjDXjV
	oTrL1GNEbohjFb2l/DljmUbzzueJMyMsgM6VN1h0sfgQxfgB3A6YxZRLndicy1Dcp8E5rE
	2+GDNZzVPv0buASD965WmJ8eHYhzHhZgX9mmvjrOTSEFMxDcHlKQ7vY6zimG3DYk8tzxhP
	D9/gT/FrjMc3COTaBy9xGH15fi/yc5Ikv+38CzLFIExe45c4wclv/4JWDEG15A==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZZPD401Gzjnb
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 16:39:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2606b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 16:39:12 +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: c289291a6736 - main - tty: Add sysctl knob to globally disable TIOCSTI
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: c289291a6736c01dd68fb8459ec3801859b0a59a
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 16:39:12 +0000
Message-Id: <6a2841b0.2606b.19febe36@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit c289291a6736c01dd68fb8459ec3801859b0a59a
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-05-25 13:59:40 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-06-09 16:38:54 +0000

    tty: Add sysctl knob to globally disable TIOCSTI
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57233
---
 sys/kern/tty.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 3d20d225087c..13147613f7f6 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -101,6 +101,10 @@ static int  tty_drainwait = 5 * 60;
 SYSCTL_INT(_kern, OID_AUTO, tty_drainwait, CTLFLAG_RWTUN,
     &tty_drainwait, 0, "Default output drain timeout in seconds");
 
+static bool tty_tiocsti = true;
+SYSCTL_BOOL(_security_bsd, OID_AUTO, tiocsti, CTLFLAG_RWTUN,
+    &tty_tiocsti, 0, "Allow TIOCSTI ioctl");
+
 /*
  * Set TTY buffer sizes.
  */
@@ -1651,6 +1655,10 @@ tty_set_winsize(struct tty *tp, const struct winsize *wsz)
 static int
 tty_sti_check(struct tty *tp, int fflag, struct thread *td)
 {
+	/* Check for global disable. */
+	if (!tty_tiocsti)
+		return (EPERM);
+
 	/* Root can bypass all of our constraints. */
 	if (priv_check(td, PRIV_TTY_STI) == 0)
 		return (0);

From nobody Tue Jun  9 18:30: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 4gZcs93jtCz6gQHG
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 18:30:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZcs932Jnz3FP1
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 18:30:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781029805;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vd4twXNzMlChTgP9JDfWU9614ij0zhOPXMnDlcMwV8A=;
	b=kvZqeJnZDv3RDdaekeEs4/Xz/6ZOB/WiILyVPEfS4lA2YEVWpoLLBno/hijbu5+wZBGQGl
	xytv+doQTIpLvECPiu6hQm9XmaXpidNrMua1ns/B+SrNpRZkQTN/DK9JDuFQ6raGIJMzPu
	Fvk2W+Bxm1hFjBKuk7Chio0JSpz35jmaq/BGPnP3C+eKE8VPib3zCBO1yF/jyKrqeDTWN0
	lwfhZ9G06BluVyKJfVUMwqD0SkONBkFzr2p3x4pjY7U2AFoJWnGX5i11aLBqcsumNUqOay
	kQpisolTV3/wG0SvgrkcZ2iVbq4VDe769g6b9i+e9D3OFGq3BvC/BLLE6HHuRA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781029805; a=rsa-sha256; cv=none;
	b=mgYYjD24zwB8+hTENeMeuTZOquF8one4N++kGE+mfNjNWy6/jWjdEq0MPbUfVXqjenX2Zn
	g2RRc6RV5kdIdAjwaF4WyjTWes9l3TlGS2DvpIHMn/crw5Dimt7+7qc8i85U3cnBYqPcwN
	J4ZUxHiQdsM9VjiD6SvYfkTbuxyKIrAiaeXSKNSQFnxX1/WHEJDuX4n6k5G0bY0ZHAZxS5
	nY6r0TI4jXJLAJ10eEisOyt72v4L/qftOFKHAzIz3dcKrPoow4XBFd65shRRe4wsJHF5Gd
	YV0KxOK4gTH+sDPm0RSe8NwCPJSkxjyScOO4Uxh/6MeDEimHI7SpdnC1DmIzzQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781029805;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vd4twXNzMlChTgP9JDfWU9614ij0zhOPXMnDlcMwV8A=;
	b=gnRVDitOeBZk76+oFmtR0OghdCGix2HUYHfMIloX5RUMWhzgsrny1n3Qn7PjZFiUEcT2pm
	hUreiRYSoAXyzglef3kISMNkNGTrf+YS3X7ItM5KLquA6YV8D51f++Ft0nTUptmvgN/IeI
	AqHGgVZrMf6As0tPw9mEJs4jbvkG+TxJ1Y2Hu1hLW1QJaqoyro6NW3AugQFMRcy0loRB+X
	ZzVsL0kqU7e+CUIGpZckLnvTofA0xwhIfCBRMSZaeB6n37INiXeBurfBBRCVdQPzbYnL/r
	l7+QLcfSMTEA/HSmYd3Fkdj2MnSw5ni7jHCXY73ziskQGs1CmRI+nKikJS1dMw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZcs92bKZzmdS
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 18:30:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3a6a8
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 18:30:05 +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: c94b8eee5bcb - main - vt: Rename sysctl to security.bsd.allow_tiocsti
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: c94b8eee5bcb5f9d116cce9c831933115cfeeb19
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 18:30:05 +0000
Message-Id: <6a285bad.3a6a8.12c8440e@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit c94b8eee5bcb5f9d116cce9c831933115cfeeb19
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-06-09 18:26:42 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-06-09 18:27:56 +0000

    vt: Rename sysctl to security.bsd.allow_tiocsti
    
    This is consistent with allow_read_dir and allow_ptrace.
    
    PR: 293485
    Fixes: c289291a6736 ("tty: Add sysctl knob to globally disable TIOCSTI")
    Sponsored by: The FreeBSD Foundation
---
 sys/kern/tty.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 13147613f7f6..ef0137dee80a 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -102,7 +102,7 @@ SYSCTL_INT(_kern, OID_AUTO, tty_drainwait, CTLFLAG_RWTUN,
     &tty_drainwait, 0, "Default output drain timeout in seconds");
 
 static bool tty_tiocsti = true;
-SYSCTL_BOOL(_security_bsd, OID_AUTO, tiocsti, CTLFLAG_RWTUN,
+SYSCTL_BOOL(_security_bsd, OID_AUTO, allow_tiocsti, CTLFLAG_RWTUN,
     &tty_tiocsti, 0, "Allow TIOCSTI ioctl");
 
 /*

From nobody Tue Jun  9 19: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 4gZdv26k87z6gTR7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19: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 "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv24mK7z3K0w
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19: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=1781032606;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=NoPzJW6VSg7nxL1PqxOoRTRGXe1YH9VKuP4Z9hncdh4=;
	b=wroYUU9/OXjD0o4k79wcWLdRjII0n4AxshIDh08Usk0+dnpjGSWTbyzigwcPjIJ9NUSDTf
	gR5Tms1uA2l8RAi7LSw8gWDg3CGECLNP9DOdhJf8ggG+0N3vXmy8BmwSv9vAgQBF2TmF2G
	cICDDHV+OZQdM1MdUEhvivhBiG0LZPUiYUR9Hehs2ULEv7l6qlQ1NiM2m1Dzlg0IvlOY3p
	Kr0X5n7V+U9j2E39Q2JtbRfh+4zDifd9e+ztdWj/TNIzgPWTweNBqylsi6tSSKN/twknSr
	Vn4dKMAdsTlNUTFBAPgD/xBIHzOLA+mKMyA+CNK0a16MxVwRmB1H7x6XeS70xA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032606; a=rsa-sha256; cv=none;
	b=Zn/y+pe/vU8kxI+VCVNmMMWxUwlEm0rHfnDdl03e0Ho7o7wC1RG/asPkU/h9qXXDPlO1fH
	1C1BPvxDxKvWJ6OSIdF9rZlOeG1lqwUpjUkAQ3Y4uCggiemTLBrYFvAtY4TZID4BE1lHKg
	7EZSz4SFu9t1Mw2M6LBMnd/134H6THQgV45WB82DVlOUbygpM97HPpD4mulm8BtUlwuA6H
	CE016zSN2PJZ7rrnhZ/kKZL8n8Dop1UrvJQDRup/R4du7KZyMTvosClahnS1fH6bhfMgO7
	XQVdz8r8/OnUmp4SDED4XoNsNatflUzn3+91pSVtsH8ULwHNKQ6E3ZtZddnOng==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032606;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=NoPzJW6VSg7nxL1PqxOoRTRGXe1YH9VKuP4Z9hncdh4=;
	b=PVlubxKRxl1/1anfUO89JLg5s5SnozPAdNKw4Cicr8BeRUcDQhjLCnvu8QdGJ/FU1aajRQ
	Pck+VvIXHJus0Xse5AcRFBlCTe5Iz5aeFfsLbnmeaHYZvnsc9BR3QycEPhflDEcWIYJ8L5
	6Qb7FLOUBEjIZ+9+DgYdzjka+UvlMo09OygiXGp8hwa62L6jDh/rZP1kpWEfrthbq5TYsc
	PrYT+7QmcIAoLgdzUIHypdq0nQomnjki3xtUab4mRyEiBiW+wgUYFV6V0vG1FYMPHPSlwD
	T++OTRsKO+qi6D5YtCD0hdnu5/fXph+Lx2S7u/E7D9pAco/n3Of4isR7OJlnGA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv246Szznr0
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e418
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:46 +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: bf1e2c07977d - main - thr_kill2: Respect p_cansignal()
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: bf1e2c07977d6b987f7a976bb9e5b6bdd1ad3986
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:46 +0000
Message-Id: <6a28669e.3e418.2a65013f@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit bf1e2c07977d6b987f7a976bb9e5b6bdd1ad3986
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-05-25 15:12:57 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    thr_kill2: Respect p_cansignal()
    
    Approved by:    so
    Security:       FreeBSD-SA-26:25.thr
    Security:       CVE-2026-45256
    Reported by:    Igor Gabriel Sousa e Souza
    Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai
    Reviewed by:    emaste, kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57237
---
 sys/kern/kern_thr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c
index 4329959a2ef4..4a439eee0210 100644
--- a/sys/kern/kern_thr.c
+++ b/sys/kern/kern_thr.c
@@ -506,7 +506,7 @@ sys_thr_kill2(struct thread *td, struct thr_kill2_args *uap)
 		p = ttd->td_proc;
 		AUDIT_ARG_PROCESS(p);
 		error = p_cansignal(td, p, uap->sig);
-		if (uap->sig == 0)
+		if (error != 0 || uap->sig == 0)
 			;
 		else if (!_SIG_VALID(uap->sig))
 			error = EINVAL;

From nobody Tue Jun  9 19: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 4gZdv40tM7z6gTR8
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv356Bjz3JlT
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19: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=1781032607;
	h=from:from:reply-to:subject:subject: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=4cDynXAn8CHJgtZLhsn/WLG2LLOw+iywLz8YuGelp3w=;
	b=mh+lzrdut8oAptoKF4kPbFJhl3wBhUCA0gEG+WQrWO2Px1kdkn6J/v8sx6fX5VbrsySugN
	q4/2N82cos6Zj9gc2GAv2IOxHh4+mqwP6XEOu6KEMRBusIADM1OmQZDO0RDXEs7TkNEkko
	daP1s6sV8N6eamFXFQJa/H8w9Uhi9XtTy6N1d2xTwdrk8lIcvmhM69BATpG9vdvqNpHKfY
	+/OKM7KPQ+/FgH8wm8Y30Gw+YRROOOR4v+UQSPhW1/5+2frLh5frxk7+os/ZZ4fRln3zMT
	oYnGuO48RvFs6boY6nHTE0CztcL1+Iurbg1rV4Cp8aK9LPpz78RjzxQMOmzw9A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032607; a=rsa-sha256; cv=none;
	b=pBI7xK5ZapNUEFZXROxoPmSjFytkuenAHAmh20Qo7Khg3G2hWVk60oEAD4MCxaQAkULM4w
	jZ3tVQePPXj+F0aA/xS4dNgwLoKNDcSAX5Fr3F37qv4dZkhDOoo8aYjS6hBSgZ+5mGDsRU
	5TIjIYgcCU3Ww68NcXEQfkEwRU15PHu971UOgd+3K47yykeCB6AwvNuwb9zQ0BjNLhnvGb
	4RgMIYPS51W9IehU3D2TvBQm0J5POJ+O3H9g2eRtnLcuIUjZbxG6ybYuZjJ5o2BobyTwoX
	kozcw/4nwIJDWw8lsdQYHaQ1eIXaVGH1+vHknfBMv+J7UvO6p96kFAN479D4oQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032607;
	h=from:from:reply-to:subject:subject: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=4cDynXAn8CHJgtZLhsn/WLG2LLOw+iywLz8YuGelp3w=;
	b=dO/2jss03tBDH3j+SKLIbbM3+yMEpgAVYQZodKXB33Xs9J7S7jgSa5j2Fx3bav7h6qIgte
	zkKak60gF4A4zDax+UaWRv/zDQTFvdCVlt+G1lIe5eh2j/v06N6vPS+b47WL3GE5tn1e0n
	IjocAO5/SxFModeFtQYEoNWtJ4BuZ8v3Pcs5aF/xxwddBC8jJnPEGU3PZ5BsaXY2+TtFBZ
	lQRwvBnFRyZuA7CiLjEou6zhOB+L8VjBgjm03yl5eAIFVod2pt6/Wq3jqW/zmIss511MeD
	QQOnwQxwQjoXr8t7nAsbbpS4lFXewijBSkdm+lbid69Df8q6kiUYDXdzdToSlA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv34QQJznvf
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e490
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:47 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: John Baldwin <jhb@FreeBSD.org>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 3444414cb463 - main - ktls: Don't attempt to modify non-anonymous mbufs on the receive path
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: 3444414cb4639ef2028abd9b46641e76eadf363d
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:47 +0000
Message-Id: <6a28669f.3e490.26fe08e8@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 3444414cb4639ef2028abd9b46641e76eadf363d
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-03 23:22:00 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    ktls: Don't attempt to modify non-anonymous mbufs on the receive path
    
    Normally, data processed on the KTLS receive path is contained in
    anonymous mbufs that can be modified in place.  Either the data
    originates in receive buffers from a NIC driver, or for loopback
    connections the data is anonymous-backed mbufs created when writing to
    a socket.  One potential source of non-anonymous mbufs are mbufs
    created by sendfile(2) which borrow the pages of the underlying file,
    either via M_EXTPG or EXT_SFBUF that are sent over a loopback
    connection.  For a well-formed loopback TLS session, the sender should
    only use sendfile(2) if KTLS is enabled.  If TLS is fully handled in
    userspace, the sender must use write(2) or send(2) which allocate
    anonymous mbufs.  If KTLS transmit is enabled, then sendfile(2) on a
    loopback connection will always use crypto via OCF and will allocate
    anonymous pages to hold the encrypted data.
    
    However, if sendfile(2) is used to send file-backed data directly over
    a loopback connection where KTLS is not enabled on the sender side,
    the KTLS receive path can modify the file-backed pages in place
    overwriting the file's data.  One potential fix would be to replace
    non-anonymous mbufs in a received TLS record with anonymous mbufs
    (e.g. via m_dup()) before passing the record to OCF.  However, there
    is no legitimate use case for using sendfile(2) over a loopback TLS
    connection without using KTLS on the sender side, so instead simply
    fail decryption requests and close the connection if non-anonymous
    mbufs are encountered in the RX decryption path.
    
    Add a test for this that verifies that the original data backing the
    file descriptor used as the source for sendfile() is unchanged after
    being processed.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:26.ktls
    Security:       CVE-2026-45257
    Co-authored-by: Drew Gallatin <gallatin@FreeBSD.org>
    Sponsored by:   Chelsio Communications
    Sponsored by:   Netflix
---
 sys/kern/uipc_ktls.c       | 17 +++++++--
 sys/sys/ktls.h             |  1 +
 tests/sys/kern/ktls_test.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 108 insertions(+), 3 deletions(-)

diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c
index 61d1a171c467..155c2e6e54f7 100644
--- a/sys/kern/uipc_ktls.c
+++ b/sys/kern/uipc_ktls.c
@@ -2396,8 +2396,10 @@ tls13_find_record_type(struct ktls_session *tls, struct mbuf *m, int tls_len,
  * Check if a mbuf chain is fully decrypted at the given offset and
  * length. Returns KTLS_MBUF_CRYPTO_ST_DECRYPTED if all data is
  * decrypted. KTLS_MBUF_CRYPTO_ST_MIXED if there is a mix of encrypted
- * and decrypted data. Else KTLS_MBUF_CRYPTO_ST_ENCRYPTED if all data
- * is encrypted.
+ * and decrypted data. KTLS_MBUF_CRYPTO_ST_ENCRYPTED if all data is
+ * encrypted. KTLS_MBUF_CRYPTO_ST_SHAREDMBUF if any mbuf points at
+ * shared data that must not be modified in place (non-anonymous
+ * M_EXTPG or sendfile M_EXT buffers).
  */
 ktls_mbuf_crypto_st_t
 ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len)
@@ -2413,6 +2415,13 @@ ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len)
 	offset += len;
 
 	for (; mb != NULL; mb = mb->m_next) {
+		if ((mb->m_flags & M_EXTPG) != 0 &&
+		    (mb->m_epg_flags & EPG_FLAG_ANON) == 0)
+			return (KTLS_MBUF_CRYPTO_ST_SHAREDMBUF);
+		if ((mb->m_flags & M_EXT) != 0 &&
+		    mb->m_ext.ext_type == EXT_SFBUF)
+			return (KTLS_MBUF_CRYPTO_ST_SHAREDMBUF);
+
 		m_flags_ored |= mb->m_flags;
 		m_flags_anded &= mb->m_flags;
 
@@ -2605,9 +2614,11 @@ ktls_decrypt(struct socket *so)
 				record_type = hdr->tls_type;
 			}
 			break;
-		default:
+		case KTLS_MBUF_CRYPTO_ST_SHAREDMBUF:
 			error = EINVAL;
 			break;
+		default:
+			__assert_unreachable();
 		}
 		if (error) {
 			counter_u64_add(ktls_offload_failed_crypto, 1);
diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h
index 3e3f0b77e4a2..8e5950b8e2b4 100644
--- a/sys/sys/ktls.h
+++ b/sys/sys/ktls.h
@@ -242,6 +242,7 @@ typedef enum {
 	KTLS_MBUF_CRYPTO_ST_MIXED = 0,
 	KTLS_MBUF_CRYPTO_ST_ENCRYPTED = 1,
 	KTLS_MBUF_CRYPTO_ST_DECRYPTED = -1,
+	KTLS_MBUF_CRYPTO_ST_SHAREDMBUF = -2,
 } ktls_mbuf_crypto_st_t;
 
 void ktls_check_rx(struct sockbuf *sb);
diff --git a/tests/sys/kern/ktls_test.c b/tests/sys/kern/ktls_test.c
index 72497196b945..3970083e7f72 100644
--- a/tests/sys/kern/ktls_test.c
+++ b/tests/sys/kern/ktls_test.c
@@ -30,6 +30,7 @@
 #include <sys/endian.h>
 #include <sys/event.h>
 #include <sys/ktls.h>
+#include <sys/mman.h>
 #include <sys/socket.h>
 #include <sys/sysctl.h>
 #include <netinet/in.h>
@@ -2817,6 +2818,97 @@ ATF_TC_BODY(ktls_listening_socket, tc)
 	ATF_REQUIRE(close(s) == 0);
 }
 
+/*
+ * Verify that the KTLS receive path does not overwrite data belonging
+ * to a file whose payload is transmitted over a loopback connection
+ * via plain sendfile.
+ */
+ATF_TC_WITHOUT_HEAD(ktls_receive_loopback_sendfile);
+ATF_TC_BODY(ktls_receive_loopback_sendfile, tc)
+{
+	struct tls_enable en;
+	struct msghdr msg;
+	struct sf_hdtr hdtr;
+	struct iovec iov[2];
+	uint64_t seqno;
+	off_t sbytes;
+	char cbuf[CMSG_SPACE(sizeof(struct tls_get_record))];
+	char *plaintext, *ciphertext, *outbuf;
+	void *p;
+	const size_t payload_len = PAGE_SIZE;
+	ssize_t rv;
+	size_t len;
+	int mode, shm, sockets[2];
+	socklen_t slen;
+
+	ATF_REQUIRE_KTLS();
+	seqno = random();
+	build_tls_enable(tc, CRYPTO_AES_NIST_GCM_16, 128 / 8, 0,
+	    TLS_MINOR_VER_TWO, seqno, &en);
+
+	len = tls_header_len(&en) + payload_len + tls_trailer_len(&en);
+	plaintext = alloc_buffer(payload_len);
+	ciphertext = malloc(len);
+	ATF_REQUIRE_INTEQ(len, encrypt_tls_record(tc, &en, TLS_RLTYPE_APP,
+	    seqno, plaintext, payload_len, ciphertext, len, 0));
+
+	ATF_REQUIRE((shm = shm_open(SHM_ANON, O_RDWR, 0600)) > 0);
+	ATF_REQUIRE_INTEQ(0, ftruncate(shm, payload_len));
+	ATF_REQUIRE((p = mmap(NULL, payload_len, PROT_READ | PROT_WRITE,
+	    MAP_SHARED, shm, 0)) != MAP_FAILED);
+	memcpy(p, ciphertext + tls_header_len(&en), payload_len);
+
+	ATF_REQUIRE_MSG(socketpair_tcp(sockets), "failed to create sockets");
+	ATF_REQUIRE(setsockopt(sockets[0], IPPROTO_TCP, TCP_RXTLS_ENABLE, &en,
+	    sizeof(en)) == 0);
+	slen = sizeof(mode);
+	ATF_REQUIRE_INTEQ(0, getsockopt(sockets[0], IPPROTO_TCP, TCP_RXTLS_MODE,
+	    &mode, &slen));
+	ATF_REQUIRE_INTEQ(TCP_TLS_MODE_SW, mode);
+
+	fd_set_blocking(sockets[0]);
+	fd_set_blocking(sockets[1]);
+
+	iov[0].iov_base = ciphertext;
+	iov[0].iov_len = tls_header_len(&en);
+	iov[1].iov_base = ciphertext + tls_header_len(&en) + payload_len;
+	iov[1].iov_len = tls_trailer_len(&en);
+	hdtr.headers = iov;
+	hdtr.hdr_cnt = 1;
+	hdtr.trailers = iov + 1;
+	hdtr.trl_cnt = 1;
+	debug_hexdump(tc, p, payload_len, "shm buffer before");
+	ATF_REQUIRE_INTEQ(0, sendfile(shm, sockets[1], 0, payload_len, &hdtr,
+	    &sbytes, 0));
+	ATF_REQUIRE_INTEQ(sbytes, len);
+
+	outbuf = calloc(payload_len, 1);
+
+	memset(&msg, 0, sizeof(msg));
+
+	msg.msg_control = cbuf;
+	msg.msg_controllen = sizeof(cbuf);
+
+	iov[0].iov_base = outbuf;
+	iov[0].iov_len = payload_len;
+	msg.msg_iov = iov;
+	msg.msg_iovlen = 1;
+
+	rv = recvmsg(sockets[0], &msg, 0);
+	if (rv >= 0) {
+		ATF_REQUIRE_INTEQ(payload_len, rv);
+		ATF_REQUIRE_INTEQ(0, memcmp(outbuf, plaintext, payload_len));
+	} else
+		ATF_REQUIRE_ERRNO(EBADMSG, true);
+
+	debug_hexdump(tc, p, payload_len, "shm buffer after");
+	ATF_REQUIRE_INTEQ(0, memcmp(p, ciphertext + tls_header_len(&en),
+	    payload_len));
+
+	close_sockets_ignore_errors(sockets);
+	(void)close(shm);
+}
+
 ATF_TP_ADD_TCS(tp)
 {
 	/* Transmit tests */
@@ -2843,6 +2935,7 @@ ATF_TP_ADD_TCS(tp)
 	/* Miscellaneous */
 	ATF_TP_ADD_TC(tp, ktls_sendto_baddst);
 	ATF_TP_ADD_TC(tp, ktls_listening_socket);
+	ATF_TP_ADD_TC(tp, ktls_receive_loopback_sendfile);
 
 	return (atf_no_error());
 }

From nobody Tue Jun  9 19:16: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 4gZdv50BQ5z6gTP0
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv45btGz3JnW
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032608;
	h=from:from:reply-to:subject:subject: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=vZXAdpZealDrDhBIaspHQr/0rpivbcy3aHT+QhO6OmM=;
	b=PkuiBxyivHKpjYDhBiIXPwIK7YY0B+YwqqtXZS08GxqQbZHHDYUO36WGzSNjbGdouViYgq
	vtNt3Od0ihrP8K10eGgDLsO8bDYRPwMzN2ETpW7JlRQYnbCga4We+puuXPVm+SRDAr8Pam
	dt6R7WAS+3hzjKG9BdDKR09otNF7NzGfmaHo4YnAbPanYK3S6qvYQkxlJm3XEEgfLMNEiC
	kCbMLbnj0MbqB2eb78OtiPMFVaA7X50S+XarfaZdAMHIsh3Kve6U2TUjtMEz0vVGn8FdQN
	iLGnzuBO/h6VvFfzT2DmhHCxtMtlgovstl4NiaUwLlOz0Di9kHqzzQxkEjGkAg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032608; a=rsa-sha256; cv=none;
	b=vi2pPfVBpL408xV+/NVWgLJCv4fnLFV7fCZNJmWw80CcmscFomD91c+8t2SU44OfVZSdVK
	fGulrx0L0XfkQr8maRrO3C5rlMO1vKbhkel/55wOartmIGW/Gf57yBldJ1flOSeBR3Tnef
	lQaTz6HhyLiyCVW6OQ/QBdXHNo5EODoBpZ0HGe6EO8HfXjEDCE2dchwmJQdNThW6WIc54/
	WUrm8yY/M+M9VC0b5WGSd+VjkZSuZmZAxrcIJrQS3EL1+0/fw5Pfa/aUsRfTcjvGrS8cUq
	3RaOr7jZskp9QwEUCLD5pBAYeqvutg3ONgJXYEA9PkzI6Y5/f59yd1zlaPRaMg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032608;
	h=from:from:reply-to:subject:subject: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=vZXAdpZealDrDhBIaspHQr/0rpivbcy3aHT+QhO6OmM=;
	b=S3VimhBQ9LEBIIvztTCgSVmK0x4/Nc/d5YaGq9Ezi+tNucCqNb0NBMDyTVUPVK/hUbZeMM
	lmFYRn1UYyBi2Xjh4DPnYZI1zvoWi/7stxoCTlU30M4GRhiFoNRtpSuLfOu3AY6zRDT09R
	MuxL80liumpmgtMzXaoMVE3v56G2b2hMpLrJUzHPvQJrBuifLkTN4KSPrJDjPDaUGeJ+VJ
	OKSA3IznZMkmK3sxxCLhgZBEbcwShPiVqjs8vZHk4ddRpJ7HWo7Euw+xZrMlbef7L8QWc6
	Cc94IWPnLLdhH5/JVyKvVXUamg6P919b7b6YVElEBbq8TspnRagL6pQRL9hYmQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv459lwznkN
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:48 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d967
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:48 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Christos Margiolis <christos@FreeBSD.org>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 1bb8212df187 - main - sound: Check for offset overflow in dsp_mmap_single()
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: 1bb8212df1878845f0a02e0375f1c4847b11e326
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:48 +0000
Message-Id: <6a2866a0.3d967.78a9f393@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 1bb8212df1878845f0a02e0375f1c4847b11e326
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-05-27 15:50:33 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    sound: Check for offset overflow in dsp_mmap_single()
    
    Approved by:    so
    Security:       FreeBSD-SA-26:27.sound
    Security:       CVE-2026-45258
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
---
 sys/dev/sound/pcm/dsp.c  |  3 +++
 tests/sys/sound/Makefile |  1 +
 tests/sys/sound/mmap.c   | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+)

diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
index bc92a3fbd530..30bd4ac5184e 100644
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -1920,6 +1920,9 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset,
 	struct pcm_channel *wrch, *rdch, *c;
 	int err;
 
+	if (*offset >= *offset + size)
+		return (EINVAL);
+
 	/*
 	 * https://lists.freebsd.org/pipermail/freebsd-emulation/2007-June/003698.html
 	 */
diff --git a/tests/sys/sound/Makefile b/tests/sys/sound/Makefile
index ab52a7aad386..f534a8cb17e5 100644
--- a/tests/sys/sound/Makefile
+++ b/tests/sys/sound/Makefile
@@ -2,6 +2,7 @@ PACKAGE=	tests
 
 TESTSDIR=	${TESTSBASE}/sys/sound
 
+ATF_TESTS_C+=	mmap
 ATF_TESTS_C+=	pcm_read_write
 ATF_TESTS_C+=	polling
 ATF_TESTS_C+=	sndstat
diff --git a/tests/sys/sound/mmap.c b/tests/sys/sound/mmap.c
new file mode 100644
index 000000000000..53594b7cc962
--- /dev/null
+++ b/tests/sys/sound/mmap.c
@@ -0,0 +1,51 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2026 The FreeBSD Foundation
+ */
+
+#include <sys/mman.h>
+#include <sys/soundcard.h>
+
+#include <atf-c.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#define	FMT_ERR(s)	s ": %s", strerror(errno)
+
+ATF_TC(mmap_offset_overflow);
+ATF_TC_HEAD(mmap_offset_overflow, tc)
+{
+	atf_tc_set_md_var(tc, "descr", "mmap offset overflow test");
+	atf_tc_set_md_var(tc, "require.kmods", "snd_dummy");
+}
+
+ATF_TC_BODY(mmap_offset_overflow, tc)
+{
+	uint8_t *buf;
+	off_t off;
+	size_t len;
+	int fd;
+
+	fd = open("/dev/dsp.dummy", O_RDWR);
+	ATF_REQUIRE_MSG(fd >= 0, FMT_ERR("open"));
+
+	/* off + len will overflow and wrap back to 0. */
+	off = 0xfffffffffffff000;
+	len = 0x1000;
+
+	buf = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, off);
+	ATF_REQUIRE_MSG(buf == MAP_FAILED, FMT_ERR("mmap"));
+
+	munmap(buf, len);
+
+	close(fd);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+	ATF_TP_ADD_TC(tp, mmap_offset_overflow);
+
+	return (atf_no_error());
+}

From nobody Tue Jun  9 19:16: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 4gZdv63NzTz6gTqq
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv56V6Pz3Jnl
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032609;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wXUXAH5IY83PRAqUvX/9ovUhTIACgbl+FlZjdXuYHiU=;
	b=OKaoVpkv7kjB9e+Ymsy9VkVtsaAb2hpoJPvNDUArF0frMk+BysAcKyt9U6ZZHRc5iFy5Bn
	IW3oa0lUp9J5A/NwDxQjePiWVbI3oM98ymcbhaRq9yz4w1wm5OhZQQ+bc/za2P4IX28LW7
	L1orGBzF87FvxoJEo5kstTkSpEjCV2fSTKmOuaRQvIrmT8TU8+jSHb8xFPijyXT6nY+Nrn
	r6OnR4ZxP99XviC3DG7vXGV81W4ZH7pUSV9McjchLGJHxXv8dhdq+gAgY88vsXYOrhL7vg
	uUslssh6gc2jRl8Kr5GZ8Otzc+NOFtcRX+o+VQ3b1afZUpMsK1fcb8oOULK04Q==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032609; a=rsa-sha256; cv=none;
	b=pmvh+lPkykn3ioh3DJ31PqDMXhdRY+E2Q6T8lW+qtiW5No0UQgD15/5WrRTaqk/giyxmIr
	INzjsVBVFB2kdxwIVT61Jhy1aNufW1m36bopiWAm/hm+KsXoDTVBwk/04yHR2yrdYfHtXt
	nCFkqqQuBsfXUWmACwcd27Iqfa22Lp7pWncWVZQYAyJw2HEyGXbgTnsGCbkKhjSaywSVDu
	7aIHdIcTj1xP0JpWo+iEvh5Ba+pHBD2h3FE68fpkO3vKa3X7ofA3sTcnKDeX30OK6qjj/X
	ITAi7jQT08ApUEyKJH+YRv88A3cWhSH8hyZOsUOOfEmtmvs0XHhvTfSkVKTYAQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032609;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wXUXAH5IY83PRAqUvX/9ovUhTIACgbl+FlZjdXuYHiU=;
	b=hLVn3mWLvWDpbMQ9x5f0tR1WqEGpPm7vXaXN4Ji3ZhF2p4YM3sKTB/j1cL3ty+74VbKuxW
	OQMqiK9yZ9dU6ugj9srv0uXy2no86grv431JGC9HLYI2YzyFqNDuhqDVh675Dut4J901aq
	DTNxP4VBZGRmc5U8NT/PVFppds+JV/Mx75fRBEX/ehKOs0Z2nZ/1LR6JaRZh7KQz+L/1Wu
	lx1NCv6tw79zh+c3TUqh8xyq3+kWw/dtgBWf8GTdZowCw6ViQo3deXxAc48m2LrzLjdQUL
	OWD7v6XgYSeBU5yRDrk8nsS6sRO7znJ0mjsFnFX4Jij4PuYyGNA+MMcU84Iy1w==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv55x2yzmsT
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d645
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:49 +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: 1b775b9ea4c1 - main - sound: Fix software buffer lifetime issues
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: 1b775b9ea4c1f4eb375c4309f8d6e90edb269844
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:49 +0000
Message-Id: <6a2866a1.3d645.7e672f0c@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 1b775b9ea4c1f4eb375c4309f8d6e90edb269844
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-01 21:57:40 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    sound: Fix software buffer lifetime issues
    
    The channel buffer mapped by dsp_mmap_single() may be freed when the
    device handle is closed, but the mapping persists beyond that, allowing
    userspace to read or write memory owned by a different consumer.
    
    Fix the problem by adding a reference counter to the sound buffer.
    Define pager ops for the VM object returned by dsp_mmap_single() and use
    them to manage the extra reference.
    
    Add a regression test.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:27.sound
    Security:       CVE-2026-49417
    Reported by:    Lexpl0it, 75Acol, Liyw979, Rob1n
    Reviewed by     kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57393
---
 sys/dev/sound/pcm/buffer.c | 38 ++++++++++++++++++--
 sys/dev/sound/pcm/buffer.h |  4 +++
 sys/dev/sound/pcm/dsp.c    | 89 ++++++++++++++++++++++++++++++++++++++--------
 tests/sys/sound/mmap.c     | 60 +++++++++++++++++++++++++++++++
 4 files changed, 175 insertions(+), 16 deletions(-)

diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c
index 0c574ae2908c..86278a46a731 100644
--- a/sys/dev/sound/pcm/buffer.c
+++ b/sys/dev/sound/pcm/buffer.c
@@ -36,6 +36,7 @@
 #include "opt_snd.h"
 #endif
 
+#include <sys/refcount.h>
 #include <dev/sound/pcm/sound.h>
 
 #include "feeder_if.h"
@@ -50,6 +51,7 @@ sndbuf_create(struct pcm_channel *channel, const char *desc)
 	struct snd_dbuf *b;
 
 	b = malloc(sizeof(*b), M_DEVBUF, M_WAITOK | M_ZERO);
+	refcount_init(&b->refcount, 1);
 	snprintf(b->name, SNDBUF_NAMELEN, "%s:%s", channel->name, desc);
 	b->channel = channel;
 
@@ -59,8 +61,30 @@ sndbuf_create(struct pcm_channel *channel, const char *desc)
 void
 sndbuf_destroy(struct snd_dbuf *b)
 {
-	sndbuf_free(b);
-	free(b, M_DEVBUF);
+	b->flags |= SNDBUF_F_DETACHED;
+	sndbuf_rele(b);
+}
+
+void
+sndbuf_ref(struct snd_dbuf *b)
+{
+	unsigned int count __diagused;
+
+	CHN_LOCK(b->channel);
+	count = refcount_acquire(&b->refcount);
+	KASSERT(count > 0, ("sndbuf %p refcount 0", b));
+	CHN_UNLOCK(b->channel);
+}
+
+void
+sndbuf_rele(struct snd_dbuf *b)
+{
+	if (refcount_release(&b->refcount)) {
+		sndbuf_free(b);
+		KASSERT(refcount_load(&b->refcount) == 0,
+		    ("sndbuf %p still referenced", b));
+		free(b, M_DEVBUF);
+	}
 }
 
 static void
@@ -177,6 +201,11 @@ sndbuf_resize(struct snd_dbuf *b, unsigned int blkcnt, unsigned int blksz)
 
 	if (bufsize > b->allocsize ||
 	    bufsize < (b->allocsize >> SNDBUF_CACHE_SHIFT)) {
+		if (refcount_load(&b->refcount) > 1 ||
+		    (b->flags & SNDBUF_F_DETACHED) != 0) {
+			CHN_UNLOCK(b->channel);
+			return (EBUSY);
+		}
 		allocsize = round_page(bufsize);
 		CHN_UNLOCK(b->channel);
 		tmpbuf = malloc(allocsize, M_DEVBUF, M_WAITOK);
@@ -211,10 +240,15 @@ sndbuf_remalloc(struct snd_dbuf *b, unsigned int blkcnt, unsigned int blksz)
 	if (blkcnt < 2 || blksz < 16)
 		return EINVAL;
 
+	CHN_LOCKASSERT(b->channel);
+
 	bufsize = blksz * blkcnt;
 
 	if (bufsize > b->allocsize ||
 	    bufsize < (b->allocsize >> SNDBUF_CACHE_SHIFT)) {
+		if (refcount_load(&b->refcount) > 1 ||
+		    (b->flags & SNDBUF_F_DETACHED) != 0)
+			return (EBUSY);
 		allocsize = round_page(bufsize);
 		CHN_UNLOCK(b->channel);
 		buf = malloc(allocsize, M_DEVBUF, M_WAITOK);
diff --git a/sys/dev/sound/pcm/buffer.h b/sys/dev/sound/pcm/buffer.h
index 371ba2dd94ce..fee41db2ff82 100644
--- a/sys/dev/sound/pcm/buffer.h
+++ b/sys/dev/sound/pcm/buffer.h
@@ -31,6 +31,7 @@
  */
 
 #define	SNDBUF_F_MANAGED	0x00000001
+#define	SNDBUF_F_DETACHED	0x00000002
 
 #define SNDBUF_NAMELEN	48
 
@@ -53,6 +54,7 @@ struct snd_dbuf {
 	bus_dma_tag_t dmatag;
 	bus_addr_t buf_addr;
 	int dmaflags;
+	unsigned int refcount;
 	struct selinfo sel;
 	struct pcm_channel *channel;
 	char name[SNDBUF_NAMELEN];
@@ -60,6 +62,8 @@ struct snd_dbuf {
 
 struct snd_dbuf *sndbuf_create(struct pcm_channel *channel, const char *desc);
 void sndbuf_destroy(struct snd_dbuf *b);
+void sndbuf_ref(struct snd_dbuf *b);
+void sndbuf_rele(struct snd_dbuf *b);
 
 int sndbuf_alloc(struct snd_dbuf *b, bus_dma_tag_t dmatag, int dmaflags, unsigned int size);
 int sndbuf_setup(struct snd_dbuf *b, void *buf, unsigned int size);
diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
index 30bd4ac5184e..089e193ee8b4 100644
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -77,7 +77,6 @@ static d_read_t dsp_read;
 static d_write_t dsp_write;
 static d_ioctl_t dsp_ioctl;
 static d_poll_t dsp_poll;
-static d_mmap_t dsp_mmap;
 static d_mmap_single_t dsp_mmap_single;
 static d_kqfilter_t dsp_kqfilter;
 
@@ -89,7 +88,6 @@ struct cdevsw dsp_cdevsw = {
 	.d_ioctl	= dsp_ioctl,
 	.d_poll		= dsp_poll,
 	.d_kqfilter	= dsp_kqfilter,
-	.d_mmap		= dsp_mmap,
 	.d_mmap_single	= dsp_mmap_single,
 	.d_name		= "dsp",
 };
@@ -1898,23 +1896,81 @@ dsp_poll(struct cdev *i_dev, int events, struct thread *td)
 	return (ret);
 }
 
+struct dsp_mmap_handle {
+	struct cdev *cdev;
+	struct snd_dbuf *buf;
+};
+
 static int
-dsp_mmap(struct cdev *i_dev, vm_ooffset_t offset, vm_paddr_t *paddr,
-    int nprot, vm_memattr_t *memattr)
+dsp_dev_pager_ctor(void *handle, vm_ooffset_t size, vm_prot_t prot,
+    vm_ooffset_t foff, struct ucred *cred, u_short *color)
 {
+	struct dsp_mmap_handle *h = handle;
 
-	/*
-	 * offset is in range due to checks in dsp_mmap_single().
-	 * XXX memattr is not honored.
-	 */
-	*paddr = vtophys(offset);
+	dev_ref(h->cdev);
+	sndbuf_ref(h->buf);
 	return (0);
 }
 
+static void
+dsp_dev_pager_dtor(void *handle)
+{
+	struct dsp_mmap_handle *h = handle;
+
+	sndbuf_rele(h->buf);
+	dev_rel(h->cdev);
+	free(h, M_DEVBUF);
+}
+
+static int
+dsp_dev_pager_fault(vm_object_t object, vm_ooffset_t offset, int prot,
+    vm_page_t *mres)
+{
+	struct dsp_mmap_handle *h = object->handle;
+	vm_page_t m;
+	uintptr_t addr;
+	vm_paddr_t paddr;
+
+	addr = (uintptr_t)offset;
+	if (addr < (uintptr_t)h->buf->buf ||
+	    addr >= (uintptr_t)h->buf->buf + h->buf->allocsize)
+		return (VM_PAGER_ERROR);
+	paddr = vtophys((void *)addr);
+
+	if (((*mres)->flags & PG_FICTITIOUS) != 0) {
+		m = *mres;
+		vm_page_updatefake(m, paddr, object->memattr);
+	} else {
+		VM_OBJECT_WUNLOCK(object);
+		m = vm_page_getfake(paddr, object->memattr);
+		VM_OBJECT_WLOCK(object);
+		vm_page_replace(m, object, (*mres)->pindex, *mres);
+		*mres = m;
+	}
+	m->valid = VM_PAGE_BITS_ALL;
+	return (VM_PAGER_OK);
+}
+
+static void
+dsp_dev_pager_path(void *handle, char *path, size_t len)
+{
+	struct dsp_mmap_handle *h = handle;
+
+	dev_copyname(h->cdev, path, len);
+}
+
+static const struct cdev_pager_ops dsp_dev_pager_ops = {
+	.cdev_pg_ctor = dsp_dev_pager_ctor,
+	.cdev_pg_dtor = dsp_dev_pager_dtor,
+	.cdev_pg_fault = dsp_dev_pager_fault,
+	.cdev_pg_path = dsp_dev_pager_path,
+};
+
 static int
-dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset,
+dsp_mmap_single(struct cdev *cdev, vm_ooffset_t *offset,
     vm_size_t size, struct vm_object **object, int nprot)
 {
+	struct dsp_mmap_handle *handle;
 	struct dsp_cdevpriv *priv;
 	struct snddev_info *d;
 	struct pcm_channel *wrch, *rdch, *c;
@@ -1968,13 +2024,18 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset,
 
 	*offset = (uintptr_t)sndbuf_getbufofs(c->bufsoft, *offset);
 	dsp_unlock_chans(priv, FREAD | FWRITE);
-	*object = vm_pager_allocate(OBJT_DEVICE, i_dev,
-	    size, nprot, *offset, curthread->td_ucred);
 
+	handle = malloc(sizeof(*handle), M_DEVBUF, M_WAITOK);
+	handle->cdev = cdev;
+	handle->buf = c->bufsoft;
+	*object = cdev_pager_allocate(handle, OBJT_DEVICE, &dsp_dev_pager_ops,
+	    size, nprot, *offset, curthread->td_ucred);
 	PCM_GIANT_LEAVE(d);
+	if (*object == NULL) {
+		free(handle, M_DEVBUF);
+		return (EINVAL);
+	}
 
-	if (*object == NULL)
-		 return (EINVAL);
 	return (0);
 }
 
diff --git a/tests/sys/sound/mmap.c b/tests/sys/sound/mmap.c
index 53594b7cc962..b44b16e7f312 100644
--- a/tests/sys/sound/mmap.c
+++ b/tests/sys/sound/mmap.c
@@ -4,12 +4,14 @@
  * Copyright (c) 2026 The FreeBSD Foundation
  */
 
+#include <sys/param.h>
 #include <sys/mman.h>
 #include <sys/soundcard.h>
 
 #include <atf-c.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <string.h>
 #include <unistd.h>
 
 #define	FMT_ERR(s)	s ": %s", strerror(errno)
@@ -43,9 +45,67 @@ ATF_TC_BODY(mmap_offset_overflow, tc)
 	close(fd);
 }
 
+/*
+ * Verify that a MAP_SHARED mapping of a DSP device's software buffer remains
+ * valid after the file descriptor is closed.
+ */
+ATF_TC(mmap_buffer_lifetime);
+ATF_TC_HEAD(mmap_buffer_lifetime, tc)
+{
+	atf_tc_set_md_var(tc, "descr", "mmap data survives close()");
+	atf_tc_set_md_var(tc, "require.kmods", "snd_dummy");
+}
+ATF_TC_BODY(mmap_buffer_lifetime, tc)
+{
+	audio_buf_info abi;
+	uint8_t *buf;
+	size_t len;
+	int fd, arg;
+
+	fd = open("/dev/dsp.dummy", O_RDWR);
+	ATF_REQUIRE_MSG(fd >= 0, FMT_ERR("open"));
+
+	arg = (2 << 16) | 14; /* 2*16KB */
+	ATF_REQUIRE_MSG(ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &arg) == 0,
+	    FMT_ERR("SNDCTL_DSP_SETFRAGMENT"));
+	ATF_REQUIRE_MSG(ioctl(fd, SNDCTL_DSP_GETOSPACE, &abi) == 0,
+	    FMT_ERR("SNDCTL_DSP_GETOSPACE"));
+
+	len = abi.bytes;
+	ATF_REQUIRE_MSG(len >= PAGE_SIZE, "buffer too small: %zu", len);
+
+	buf = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+	ATF_REQUIRE_MSG(buf != MAP_FAILED, FMT_ERR("mmap"));
+
+	for (size_t i = 0; i < len; i++) {
+		ATF_REQUIRE_MSG(buf[i] == 0,
+		    "mmap data corrupted at offset %zu: want 0 got 0x%02x",
+		    i, buf[i]);
+	}
+
+	memset(buf, 0xa5, len);
+	for (size_t i = 0; i < len; i++) {
+		ATF_REQUIRE_MSG(buf[i] == 0xa5,
+		    "mmap data corrupted at offset %zu: want 0xa5 got 0x%02x",
+		    i, buf[i]);
+	}
+
+	ATF_REQUIRE(close(fd) == 0);
+
+	/* Closing the device causes the buffer to be reset. */
+	for (size_t i = 0; i < len; i++) {
+		ATF_REQUIRE_MSG(buf[i] == 0 || buf[i] == 0xa5,
+		    "mmap data corrupted at offset %zu: got 0x%02x", i, buf[i]);
+	}
+	memset(buf, 0xa5, len);
+
+	ATF_REQUIRE(munmap(buf, len) == 0);
+}
+
 ATF_TP_ADD_TCS(tp)
 {
 	ATF_TP_ADD_TC(tp, mmap_offset_overflow);
+	ATF_TP_ADD_TC(tp, mmap_buffer_lifetime);
 
 	return (atf_no_error());
 }

From nobody Tue Jun  9 19:16: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 4gZdv73bzCz6gTtS
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:51 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv67462z3Jnv
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032611;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Ta5FepWvmIimlGC8VCQkI9CbxV8ahnI9+asnf3SxRns=;
	b=LVceMjKcPzwWmtqPYIGW6vGutTAbUKAMKKivu1d85h1HbKbY0qHyKGL7l4I20hKpHQ4y/a
	y4gOFyxnhkOHUn+yL12HyJaGpIRk7dgalV9tKrcLSV8FkqHQIRSzvHoR6FGgZVQJJNs8On
	RHXEzpwC+Ks41O63ZXTBbGxyK1jvAOXghrEUDJuYl2SWCMFKWEzyj9kM23REKBrQfhGUMc
	rXN6DUv+9DzeByzsTa7pImW8P0dG/5jG4gIjR2DAjuvlJ7a8O3uor61X6AjuXAuJKh/jX+
	rSQCtj20EzbZnxY9zUlmNaUxX8OS9veQlaKE0kfi5yEnXSdC+opk14NraL1+qQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032611; a=rsa-sha256; cv=none;
	b=mNXi4HA3ouFYNCVg8B0qMnXoyvZTtkRfS+c16MBrEO/5b+hbRCkSMG1/gPUQbwcDC2gyUa
	KkRRt6MOl2IPGGanTDekW8afVAtLsx/Mt9ncjHd9j+JnYfLhWSfgp/SttsxPhsu/01qOtr
	yjIq0OndycWnYoU21og6LCu3VubW+CEB0ctFlBbgN2+C21Eo1eHGBXvJrI1G1wz7fa9jiZ
	dRhArWmHU4oCinZLZEUqaZWdNrHZ3PMPuD3Lrd7kV/zEOWjkAHdGOzhdzyNENxp8u8nA6r
	0CBDt5qoQRC1gdCyOLs80JoLVUIV0PF9Yzn1F18RwrSvfhHDLC+XDAMvaWxsKQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032611;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Ta5FepWvmIimlGC8VCQkI9CbxV8ahnI9+asnf3SxRns=;
	b=I4CeyBOj3Cp+C9IeGD25/RzI4wLcMjUyXVeQp2OeuGy4DM9zjf0VnniFGtpu8mQf3Yc0xF
	RPHDmC9+lzxKYkVkkdl7SLLptn5BI+Ed6Wfi+8KqKgePk3uQFXogEq0Okx8NRZRuy84akU
	MRIIThHkYa1dB290sqHIIggb+hDnVoYI6PgL+JvGA3Kk/UYDk49W0tnA5ZDgFzKdaliaxY
	qOse3fO5xLo6SuU4UXAmFxJYJCJaIqPWVt3HrveC7Nd5tlqpAzk3JwvS7a0kkzyJQCZUR5
	YUtz+e4KzC45PCTfLTXmI9kbfNAICjaheGUsDdkwkiKispvV7MqFtM2UzIJCKg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv66gXZznr4
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3ea6a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:50 +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: 1bac7df1baeb - main - in6_mcast: Fix a race in in6p_set_source_filter()
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: 1bac7df1baebd233d31d086a973a48df18f99e73
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:50 +0000
Message-Id: <6a2866a2.3ea6a.722e7f09@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 1bac7df1baebd233d31d086a973a48df18f99e73
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-05-29 20:12:24 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    in6_mcast: Fix a race in in6p_set_source_filter()
    
    We drop the inpcb lock in order to copy in the source list, but this
    leaves a window where the multicast filter structure might be freed.
    This can be exploited to obtain root privileges.
    
    In the v4 code this race is mitigated by holding the global multicast
    lock across the gap.
    
    Restructure the code to copy in filters before doing anything else, so
    that there's no need to drop the inpcb lock and reason about the
    correctness of doing so.  Do the same in the v4 code for consistency.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:29.ip6_multicast
    Security:       CVE-2026-49412
    Reported by:    Andrew Griffiths <andrew@calif.io>
    Reported by:    Maik Münch <maik@secfault-security.com>
    Reviewed by:    glebius
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57347
---
 sys/netinet/in_mcast.c   | 40 +++++++++++++++++-----------------------
 sys/netinet6/in6_mcast.c | 41 +++++++++++++++++++----------------------
 2 files changed, 36 insertions(+), 45 deletions(-)

diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index 1e7985ac01d7..340218cf5397 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -2505,6 +2505,7 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 {
 	struct epoch_tracker	 et;
 	struct __msfilterreq	 msfr;
+	struct sockaddr_storage	*kss;
 	sockunion_t		*gsa;
 	struct ifnet		*ifp;
 	struct in_mfilter	*imf;
@@ -2517,9 +2518,6 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (error)
 		return (error);
 
-	if (msfr.msfr_nsrcs > in_mcast_maxsocksrc)
-		return (ENOBUFS);
-
 	if ((msfr.msfr_fmode != MCAST_EXCLUDE &&
 	     msfr.msfr_fmode != MCAST_INCLUDE))
 		return (EINVAL);
@@ -2532,13 +2530,24 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (!IN_MULTICAST(ntohl(gsa->sin.sin_addr.s_addr)))
 		return (EINVAL);
 
+	if (msfr.msfr_nsrcs > in_mcast_maxsocksrc)
+		return (ENOBUFS);
+	kss = mallocarray(msfr.msfr_nsrcs, sizeof(struct sockaddr_storage),
+	    M_TEMP, M_WAITOK);
+	error = copyin(msfr.msfr_srcs, kss,
+	    sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs);
+	if (error)
+		goto out_inp_unlocked;
+
 	gsa->sin.sin_port = 0;	/* ignore port */
 
 	NET_EPOCH_ENTER(et);
 	ifp = ifnet_byindex(msfr.msfr_ifindex);
 	NET_EPOCH_EXIT(et);	/* XXXGL: unsafe ifp */
-	if (ifp == NULL)
-		return (EADDRNOTAVAIL);
+	if (ifp == NULL) {
+		error = EADDRNOTAVAIL;
+		goto out_inp_unlocked;
+	}
 
 	IN_MULTI_LOCK();
 
@@ -2570,25 +2579,9 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (msfr.msfr_nsrcs > 0) {
 		struct in_msource	*lims;
 		struct sockaddr_in	*psin;
-		struct sockaddr_storage	*kss, *pkss;
+		struct sockaddr_storage	*pkss;
 		int			 i;
 
-		INP_WUNLOCK(inp);
-
-		CTR2(KTR_IGMPV3, "%s: loading %lu source list entries",
-		    __func__, (unsigned long)msfr.msfr_nsrcs);
-		kss = malloc(sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs,
-		    M_TEMP, M_WAITOK);
-		error = copyin(msfr.msfr_srcs, kss,
-		    sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs);
-		if (error) {
-			IN_MULTI_UNLOCK();
-			free(kss, M_TEMP);
-			return (error);
-		}
-
-		INP_WLOCK(inp);
-
 		/*
 		 * Mark all source filters as UNDEFINED at t1.
 		 * Restore new group filter mode, as imf_leave()
@@ -2623,7 +2616,6 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 				break;
 			lims->imsl_st[1] = imf->imf_st[1];
 		}
-		free(kss, M_TEMP);
 	}
 
 	if (error)
@@ -2660,6 +2652,8 @@ out_imf_rollback:
 out_inp_locked:
 	INP_WUNLOCK(inp);
 	IN_MULTI_UNLOCK();
+out_inp_unlocked:
+	free(kss, M_TEMP);
 	return (error);
 }
 
diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c
index 7942faefd568..fad47cb0e69b 100644
--- a/sys/netinet6/in6_mcast.c
+++ b/sys/netinet6/in6_mcast.c
@@ -2491,6 +2491,7 @@ in6p_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 {
 	struct __msfilterreq	 msfr;
 	struct epoch_tracker	 et;
+	struct sockaddr_storage	*kss;
 	sockunion_t		*gsa;
 	struct ifnet		*ifp;
 	struct in6_mfilter	*imf;
@@ -2503,9 +2504,6 @@ in6p_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (error)
 		return (error);
 
-	if (msfr.msfr_nsrcs > in6_mcast_maxsocksrc)
-		return (ENOBUFS);
-
 	if (msfr.msfr_fmode != MCAST_EXCLUDE &&
 	    msfr.msfr_fmode != MCAST_INCLUDE)
 		return (EINVAL);
@@ -2518,19 +2516,31 @@ in6p_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (!IN6_IS_ADDR_MULTICAST(&gsa->sin6.sin6_addr))
 		return (EINVAL);
 
+	if (msfr.msfr_nsrcs > in6_mcast_maxsocksrc)
+		return (ENOBUFS);
+	kss = mallocarray(msfr.msfr_nsrcs, sizeof(struct sockaddr_storage),
+	    M_TEMP, M_WAITOK);
+	error = copyin(msfr.msfr_srcs, kss,
+	    sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs);
+	if (error)
+		goto out_in6p_unlocked;
+
 	gsa->sin6.sin6_port = 0;	/* ignore port */
 
 	NET_EPOCH_ENTER(et);
 	ifp = ifnet_byindex(msfr.msfr_ifindex);
 	NET_EPOCH_EXIT(et);
-	if (ifp == NULL)
-		return (EADDRNOTAVAIL);
+	if (ifp == NULL) {
+		error = EADDRNOTAVAIL;
+		goto out_in6p_unlocked;
+	}
 	(void)in6_setscope(&gsa->sin6.sin6_addr, ifp, NULL);
 
 	/*
 	 * Take the INP write lock.
 	 * Check if this socket is a member of this group.
 	 */
+	IN6_MULTI_LOCK();
 	imo = in6p_findmoptions(inp);
 	imf = im6o_match_group(imo, ifp, &gsa->sa);
 	if (imf == NULL) {
@@ -2555,24 +2565,9 @@ in6p_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 	if (msfr.msfr_nsrcs > 0) {
 		struct in6_msource	*lims;
 		struct sockaddr_in6	*psin;
-		struct sockaddr_storage	*kss, *pkss;
+		struct sockaddr_storage	*pkss;
 		int			 i;
 
-		INP_WUNLOCK(inp);
-
-		CTR2(KTR_MLD, "%s: loading %lu source list entries",
-		    __func__, (unsigned long)msfr.msfr_nsrcs);
-		kss = malloc(sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs,
-		    M_TEMP, M_WAITOK);
-		error = copyin(msfr.msfr_srcs, kss,
-		    sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs);
-		if (error) {
-			free(kss, M_TEMP);
-			return (error);
-		}
-
-		INP_WLOCK(inp);
-
 		/*
 		 * Mark all source filters as UNDEFINED at t1.
 		 * Restore new group filter mode, as im6f_leave()
@@ -2617,7 +2612,6 @@ in6p_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
 				break;
 			lims->im6sl_st[1] = imf->im6f_st[1];
 		}
-		free(kss, M_TEMP);
 	}
 
 	if (error)
@@ -2652,6 +2646,9 @@ out_im6f_rollback:
 
 out_in6p_locked:
 	INP_WUNLOCK(inp);
+	IN6_MULTI_UNLOCK();
+out_in6p_unlocked:
+	free(kss, M_TEMP);
 	return (error);
 }
 

From nobody Tue Jun  9 19:16: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 4gZdv83dPvz6gTqx
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv80tVJz3K5c
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032612;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wp+DeS0QYM1R86VII6QdKPIsL3RFlnGfKTIR38wDuDo=;
	b=vUYeG3ePeSIlTHMMaRG56pR0LZCOUqnKdtU3LfqFpTzyfIlcnoyqS3z9FaPsFPpelCGHTq
	3qTV6nrVKtgbVjW7e8wna1z6IsMWqVxptsgGWz26gQVpPud7PlReCNyxs8A7JmpSY57/rR
	NtS70usQIuHRtkMnukOj+JsPA2I6/0eDQiJool2clybG79OIpfMW5sqbA0QaMpQ3j85EfG
	dbF9tqWfyE71I6f+9KNQpb/J8yZsoqqw8nu72XKxfXrBwC7R0j51f0fENZG+3vq/xDYDxX
	cRyhx80KpOcVUNXQb0x2YRVan3us0i41KB66/iuC1wZ2+FfT9YMyGITwLZjWrA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032612; a=rsa-sha256; cv=none;
	b=dJDQJjgHX6YFT3EREFI+OplJ0OFo8mLtrJW8Hno3yW7mDDD27gx08149gOAS9bN0cwmhQK
	f8t7Q3HIeLCnd9aPd5x9e15dSjStF8kvYfV5C6mTZdalugcXa/a/OkIi5pX2GkHqkOdz/2
	3SiDBZG2dyST6y67LRvkZ7fYiUOCkF2RFiAqOPN7bYfO5i4KERD93B5GHJWhwHZF7xu2at
	zwJY4NUxgyabW3E68LjgI9vGLIinwV98R2tgT/idNt3CSHsUapewaB7/TvWxHOXUMDeuPo
	L3DAl4hHF35OKdKXvjUIHiAUx44k5W0sCMu57rxFHDr/XJj2LfiCyOunkHl7nA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032612;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=wp+DeS0QYM1R86VII6QdKPIsL3RFlnGfKTIR38wDuDo=;
	b=YFhyix5qX/WlVqLDmdfANRYsx1FDaXgWQTeSv5wmexN0AApYLP6y8i5Izj69xgeq+mQBQI
	Bd/+cAYQIgAlLuMldfIEjP2GAGTopoXXU5fI6PSqV3ZljMcTW82aLHLhrNAygAjJJJFW1w
	rPPCPxE42AbwCXkdF+M23EpU5LrROni8YCVp0+Mw1twkrVEVJKYCjKaHiJEqVtRRsdLumR
	N5rM1kSoagbH8kkqFjB7WqpNK9A7iGBYSSwFck1hwbewLDcOV/9PKzWq+M3ozu0dT4WfD2
	tBYyNd4i4JdRV05CFE+N273GA5kr6OrGupsGudmbxozOjjbOPEvBbuEolVRRsw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv80Cg3znr5
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:52 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3f41b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:52 +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: d39be1b1b50d - main - linux: Correct the issetugid check in copyout_auxargs
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: d39be1b1b50df91ad7ab62b25a4a30343e94cba5
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:52 +0000
Message-Id: <6a2866a4.3f41b.c77be12@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit d39be1b1b50df91ad7ab62b25a4a30343e94cba5
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-05-29 21:41:35 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    linux: Correct the issetugid check in copyout_auxargs
    
    The runtime linker in glibc relies on the AT_SECURE auxv entry to know
    whether the executable is set-ugid, if so then various dangerous
    functionality such as LD_PRELOAD is disabled.
    
    The check added in commit 669414e4fb74 failed to take into account the
    fact that during execve, P_SUGID may not yet be set for a set-ugid
    process.  Correct the test.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:30.linux
    Security:       CVE-2026-49413
    Reported by:    Minseong Kim
    Fixes:          669414e4fb74 ("Implement AT_SECURE properly.")
    Reviewed by:    kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57350
---
 sys/compat/linux/linux_elf.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c
index c9eb6aea8373..6c9f785c97e7 100644
--- a/sys/compat/linux/linux_elf.c
+++ b/sys/compat/linux/linux_elf.c
@@ -492,11 +492,9 @@ __linuxN(copyout_auxargs)(struct image_params *imgp, uintptr_t base)
 	struct thread *td = curthread;
 	Elf_Auxargs *args;
 	Elf_Auxinfo *aarray, *pos;
-	struct proc *p;
 	int error, issetugid;
 
-	p = imgp->proc;
-	issetugid = p->p_flag & P_SUGID ? 1 : 0;
+	issetugid = imgp->credential_setid ? 1 : 0;
 	args = imgp->auxargs;
 	aarray = pos = malloc(LINUX_AT_COUNT * sizeof(*pos), M_TEMP,
 	    M_WAITOK | M_ZERO);

From nobody Tue Jun  9 19:16: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 4gZdv94lVKz6gTv9
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdv91ncTz3K7R
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032613;
	h=from:from:reply-to:subject:subject: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=oJ+a+ziRBrZgWPEc04lOPSOvYvPvXlToxTMCjfrZxyw=;
	b=oLFpqTMKbYOdg0Vtzg9HRGKWLcKzXmLhBEmRaE2NxA8G0mDRbPFxt4k+EZ6QPZ4/8uc4Ij
	6OuidThPPG/DnyaBcAHoXhwtVgB7rTc48EqVBibF7KE1nU2vFwZsdDGhUsnIOOVIZyhKS2
	74JpFzPyfYJdeV90t8N1+rodtVh00FxJJ0wk9cu7XzHClcGDqH/an4iL94PDenwEdakXnH
	cpyzpC/7xMyGOTTJEkUu+N0m37WYlHDAZbXbhIylUer4fLeMbS9QfNbXOMQSHxO2tDbyTM
	v7n9uHKn3GGT6NDr0IbRCxmjJ5Fmo5fic6NYySrmQMtb4fefPYZzbLqEwjMB2w==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032613; a=rsa-sha256; cv=none;
	b=FaN1rU+R78SZMB//ub1anfGSZ3KVrNnbVc4Me+XCgHH2B0kwYy5NioesBMUKLJhOYjhtR8
	6KN3RWsnqUZTr7Fy3Pq+RKK1xuCAqgGXBqnVtSqcsdV3Od9RQVt9Otxti4Njazh95jHW3t
	8bsfvskSi3yXz21BEWw94Ddd/cNAE1W39DYVPspvfAijdseIOI8TPY2h9QZfUfTvDs0S7k
	ftlTS1PqvqiYcEk3MbVcpZf9j2VtAkV72ZVn35J94bFIaUkKphGAu3eP9NdsVlqWHi+lxP
	Ns1WSdC5c58yRJNB+YVoV0h05eLDIfN+1rOcKylyobn88XOgdhzAZkjvskYa5Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032613;
	h=from:from:reply-to:subject:subject: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=oJ+a+ziRBrZgWPEc04lOPSOvYvPvXlToxTMCjfrZxyw=;
	b=nROGZXZPN56eiNzy+/LhEUhY8l5hiS1cNpnNiwGegxLWF8eCkzW+JQpIL/3ZCvTh7o+YbP
	O+VevItyW4F+tUWVhZn6oAmhQFFXZS/Bg62YjGRAG2ta9m28fmTnJ720961lEZWgBcruEO
	Ki+DcRIthOFxh9PYiBTkuDTHDlDOB4yoskk+mCck9b7Wd0HqMRpqFUh5bwOIGYOrsdp11p
	lr7RVcTlLGbrHje0pR3MxAIsLQsTaauc50W4T+YdlHPz5sn9qJKfIhGAcF/XrdEPIyqreF
	EXkpj7hNyE6NouGoiw0RGEWCwAAVfZttAsf0fghst+ZR8YsBHD7mjRMItN/nKg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdv912bFznFY
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:53 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e783
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:53 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Andrew Turner <andrew@FreeBSD.org>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 9c0a62df50de - main - arm64: Workaround the following errata
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: 9c0a62df50de990230a48827ca0bb85b41d4e839
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:53 +0000
Message-Id: <6a2866a5.3e783.5975154@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 9c0a62df50de990230a48827ca0bb85b41d4e839
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2026-05-28 09:25:30 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    arm64: Workaround the following errata
    
     - ARM C1-Premium erratum 4193780
     - ARM C1-Ultra erratum 4193780
     - ARM Cortex-A76 erratum 4193800
     - ARM Cortex-A76AE erratum 4193801
     - ARM Cortex-A77 erratum 4193798
     - ARM Cortex-A78 erratum 4193791
     - ARM Cortex-A78AE erratum 4193793
     - ARM Cortex-A78C erratum 4193794
     - ARM Cortex-A710 erratum 4193788
     - ARM Cortex-X1 erratum 4193791
     - ARM Cortex-X1C erratum 4193792
     - ARM Cortex-X2 erratum 4193788
     - ARM Cortex-X3 erratum 4193786
     - ARM Cortex-X4 erratum 4118414
     - ARM Cortex-X925 erratum 4193781
     - ARM Neoverse-N1 erratum 4193800
     - ARM Neoverse-N2 erratum 4193789
     - ARM Neoverse-V1 erratum 4193790
     - ARM Neoverse-V2 erratum 4193787
     - ARM Neoverse-V3 erratum 4193784
     - ARM Neoverse-V3AE erratum 4193784
    
    These are all variants on an erratum where TLBI+DSB instructions on
    one CPU may incorrectly complete early leading to stores to an updated
    address using an incorrect translation on another CPU.
    
    In all cases the workaround is to add a second TLBI+DSB.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:31.arm64
    Security:       CVE-2025-10263
    Sponsored by:   Arm Ltd
---
 sys/arm64/arm64/pmap.c | 60 ++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 51 insertions(+), 9 deletions(-)

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 1fb9ac2011aa..2eabdef6d27c 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -1769,20 +1769,62 @@ static cpu_feat_en
 pmap_multiple_tlbi_check(const struct cpu_feat *feat __unused, u_int midr)
 {
 	/*
-	 * Cortex-A55 erratum 2441007 (Cat B rare)
+	 * ARM C1-Premium erratum 4193780
+	 * ARM C1-Ultra erratum 4193780
+	 * ARM Cortex-A76 erratum 4193800
+	 * ARM Cortex-A76AE erratum 4193801
+	 * ARM Cortex-A77 erratum 4193798
+	 * ARM Cortex-A78 erratum 4193791
+	 * ARM Cortex-A78AE erratum 4193793
+	 * ARM Cortex-A78C erratum 4193794
+	 * ARM Cortex-A710 erratum 4193788
+	 * ARM Cortex-X1 erratum 4193791
+	 * ARM Cortex-X1C erratum 4193792
+	 * ARM Cortex-X2 erratum 4193788
+	 * ARM Cortex-X3 erratum 4193786
+	 * ARM Cortex-X4 erratum 4118414
+	 * ARM Cortex-X925 erratum 4193781
+	 * ARM Neoverse-N1 erratum 4193800
+	 * ARM Neoverse-N2 erratum 4193789
+	 * ARM Neoverse-V1 erratum 4193790
+	 * ARM Neoverse-V2 erratum 4193787
+	 * ARM Neoverse-V3 erratum 4193784
+	 * ARM Neoverse-V3AE erratum 4193784
 	 * Present in all revisions
 	 */
-	if (CPU_IMPL(midr) == CPU_IMPL_ARM &&
-	    CPU_PART(midr) == CPU_PART_CORTEX_A55)
-		return (FEAT_DEFAULT_DISABLE);
+	if (CPU_IMPL(midr) == CPU_IMPL_ARM) {
+		switch(CPU_PART(midr)) {
+		case CPU_PART_C1_PREMIUM:
+		case CPU_PART_C1_ULTRA:
+		case CPU_PART_CORTEX_A76:
+		case CPU_PART_CORTEX_A76AE:
+		case CPU_PART_CORTEX_A77:
+		case CPU_PART_CORTEX_A78:
+		case CPU_PART_CORTEX_A78AE:
+		case CPU_PART_CORTEX_A78C:
+		case CPU_PART_CORTEX_A710:
+		case CPU_PART_CORTEX_X1:
+		case CPU_PART_CORTEX_X1C:
+		case CPU_PART_CORTEX_X2:
+		case CPU_PART_CORTEX_X3:
+		case CPU_PART_CORTEX_X4:
+		case CPU_PART_CORTEX_X925:
+		case CPU_PART_NEOVERSE_N1:
+		case CPU_PART_NEOVERSE_N2:
+		case CPU_PART_NEOVERSE_V1:
+		case CPU_PART_NEOVERSE_V2:
+		case CPU_PART_NEOVERSE_V3:
+		case CPU_PART_NEOVERSE_V3AE:
+			return (FEAT_DEFAULT_ENABLE);
+		}
+	}
 
 	/*
-	 * Cortex-A76 erratum 1286807 (Cat B rare)
-	 * Present in r0p0 - r3p0
-	 * Fixed in r3p1
+	 * Cortex-A55 erratum 2441007 (Cat B rare)
+	 * Present in all revisions
 	 */
-	if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A76,
-	    0, 0, 3, 0))
+	if (CPU_IMPL(midr) == CPU_IMPL_ARM &&
+	    CPU_PART(midr) == CPU_PART_CORTEX_A55)
 		return (FEAT_DEFAULT_DISABLE);
 
 	/*

From nobody Tue Jun  9 19:16:54 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZdvB4FvQz6gTkc
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:54 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdvB272Xz3K3T
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:54 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032614;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=G1TY7JfverA6gSr5EVGOhFOZ8ClVc/oyTVmdSm6ooxo=;
	b=FQFboJh8s2RAI20jexNanS+ldW9HOaiDU8g66bwmBaLo0qgoGyX5LDRI6manzIdwkreJO5
	n/2n7ZDCguvamx+RCr6E/d51QZKlVsZKPms94TZSD2HNgjjRKNaB5LLwuqo5cf2ahNfraF
	+vpFxnTlJvSkGcojh80SRWWSjwWH1bWr2Mtug+953TLuDDGdmjZ/XqKDiygCto87JLYhoL
	DiXc7dgZSnH1FVhRJr7nxm/UeXrcv/XHNG3sXn/GDg59tzbsmW6ZcxYDnuogxoS/qQAF2I
	/LkoQ9ZWYk642+KUqEdeqxN1klXZICiZQPFXv+D6zAZc0/mvF+zYmh40iMTEFw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032614; a=rsa-sha256; cv=none;
	b=HObJbueyRb672kpwogJ/WHIGWHpT+2tZ7KuMRhxvy2x4SbZixRQizavgJTbM1YczBkEOXL
	wA3AzJ5A5Vb0L5ehrlDpMDSXbnEd1VuSXf5ZDp9W5c35VlXiyNytDFzYwCID0Lke9Jdk0B
	nwjJ9IMBoQHOYPI8aM0X0t7diV4w0vtumHy5VOu+pkVhvazJw3EKxa17Zg93pAcjbveRTy
	XXaA6cwq/OPKMyGZDkAtz4nyx7QfYqZX6K4TrqwPtVc1H1+ell/DD/696dLJelsvMSh8Oa
	Euc6aPWd1l6olqf50Babit2XQw26veYPjI/pRuVDImGgdTorWzzxJNF13mXTBg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032614;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=G1TY7JfverA6gSr5EVGOhFOZ8ClVc/oyTVmdSm6ooxo=;
	b=c125Qd0E+V1sz3i4gvojWR6Bluk5/x+5y0idw7rdEPDn/Ep8RYXLUZdZFgniKSg1GqxnQs
	+ZtgCt6IWFdKzNjHvnnWP/0sKKm0LUa57Zs1WLhoyzikCTjCg+a615rEp0Rb4D7lmV+eVP
	g1uL2A9SzqZedz0neeDLt9aSFGE5/hlwlcDpQwi8XEvUIAQ+sgru5KqLdARRcWBYQ4vvqz
	lcjmXbjrkkMM3teStOTk+OFqVa9tH+/ZKYdSqwhINOTgk4qfVwfRBMmA3OuO/xLQifHTlT
	ln4PX4WLnncvzdfObV5r3OjtK8NLv4b7sdO9oB8sTcgSZz/23tTxg4V1HSpSkw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdvB1gz7zmsV
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:54 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3c4ea
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:54 +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: ebb0ea9f4f59 - main - imgact_elf: Clear no-ASLR and -WXORX flags earlier for setugid images
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: ebb0ea9f4f599be267641e630ea48279e4f531d1
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:54 +0000
Message-Id: <6a2866a6.3c4ea.331031a9@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit ebb0ea9f4f599be267641e630ea48279e4f531d1
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-02 20:29:00 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    imgact_elf: Clear no-ASLR and -WXORX flags earlier for setugid images
    
    Otherwise an unprivileged user can disable randomization of the base
    address for PIEs even if they are setugid.
    
    Add a regression test.
    
    Approved by:    so
    Security:       FreeBSD-SA-26:32.elf
    Security:       CVE-2026-49414
    Reported by:    David Berard
    Reviewed by:    kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57397
---
 sys/kern/imgact_elf.c   |  55 ++++++++---------
 tests/sys/kern/Makefile |   2 +
 tests/sys/kern/aslr.c   | 157 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 187 insertions(+), 27 deletions(-)

diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 46908f01097b..65e0e6089dca 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -1269,11 +1269,39 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
 		error = ENOEXEC;
 		goto ret;
 	}
+
+	/*
+	 * Avoid a possible deadlock if the current address space is destroyed
+	 * and that address space maps the locked vnode.  In the common case,
+	 * the locked vnode's v_usecount is decremented but remains greater
+	 * than zero.  Consequently, the vnode lock is not needed by vrele().
+	 * However, in cases where the vnode lock is external, such as nullfs,
+	 * v_usecount may become zero.
+	 *
+	 * The VV_TEXT flag prevents modifications to the executable while
+	 * the vnode is unlocked.
+	 */
+	VOP_UNLOCK(imgp->vp);
+
+	/*
+	 * Decide whether to enable randomization of user mappings.  First,
+	 * reset user preferences for the setid binaries.  Then, account for the
+	 * support of randomization by the ABI, by user preferences, and make
+	 * special treatment for PIE binaries.
+	 */
+	if (imgp->credential_setid) {
+		PROC_LOCK(imgp->proc);
+		imgp->proc->p_flag2 &= ~(P2_ASLR_ENABLE | P2_ASLR_DISABLE |
+		    P2_WXORX_DISABLE | P2_WXORX_ENABLE_EXEC);
+		PROC_UNLOCK(imgp->proc);
+	}
+
 	sv = brand_info->sysvec;
 	if (hdr->e_type == ET_DYN) {
 		if ((brand_info->flags & BI_CAN_EXEC_DYN) == 0) {
 			uprintf("Cannot execute shared object\n");
 			error = ENOEXEC;
+			(void)vn_lock(imgp->vp, LK_SHARED | LK_RETRY);
 			goto ret;
 		}
 		/*
@@ -1292,33 +1320,6 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
 				imgp->et_dyn_addr = __elfN(pie_base);
 		}
 	}
-
-	/*
-	 * Avoid a possible deadlock if the current address space is destroyed
-	 * and that address space maps the locked vnode.  In the common case,
-	 * the locked vnode's v_usecount is decremented but remains greater
-	 * than zero.  Consequently, the vnode lock is not needed by vrele().
-	 * However, in cases where the vnode lock is external, such as nullfs,
-	 * v_usecount may become zero.
-	 *
-	 * The VV_TEXT flag prevents modifications to the executable while
-	 * the vnode is unlocked.
-	 */
-	VOP_UNLOCK(imgp->vp);
-
-	/*
-	 * Decide whether to enable randomization of user mappings.
-	 * First, reset user preferences for the setid binaries.
-	 * Then, account for the support of the randomization by the
-	 * ABI, by user preferences, and make special treatment for
-	 * PIE binaries.
-	 */
-	if (imgp->credential_setid) {
-		PROC_LOCK(imgp->proc);
-		imgp->proc->p_flag2 &= ~(P2_ASLR_ENABLE | P2_ASLR_DISABLE |
-		    P2_WXORX_DISABLE | P2_WXORX_ENABLE_EXEC);
-		PROC_UNLOCK(imgp->proc);
-	}
 	if ((sv->sv_flags & SV_ASLR) == 0 ||
 	    (imgp->proc->p_flag2 & P2_ASLR_DISABLE) != 0 ||
 	    (fctl0 & NT_FREEBSD_FCTL_ASLR_DISABLE) != 0) {
diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile
index dcaeb8d2f1fa..fb267f1a2782 100644
--- a/tests/sys/kern/Makefile
+++ b/tests/sys/kern/Makefile
@@ -7,6 +7,7 @@ TESTSRC=	${SRCTOP}/contrib/netbsd-tests/kernel
 
 TESTSDIR=	${TESTSBASE}/sys/kern
 
+ATF_TESTS_C+=	aslr
 ATF_TESTS_C+=	basic_signal
 ATF_TESTS_C+=	copy_file_range
 .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "powerpc"
@@ -91,6 +92,7 @@ PROGS+=		coredump_phnum_helper
 PROGS+=		pdeathsig_helper
 PROGS+=		sendfile_helper
 
+LIBADD.aslr+=				util
 LIBADD.copy_file_range+=		md
 LIBADD.jail_lookup_root+=		jail util
 LIBADD.jaildesc+=			pthread
diff --git a/tests/sys/kern/aslr.c b/tests/sys/kern/aslr.c
new file mode 100644
index 000000000000..13038054603c
--- /dev/null
+++ b/tests/sys/kern/aslr.c
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2026 The FreeBSD Foundation
+ *
+ * This software was developed by Mark Johnston under sponsorship from the
+ * FreeBSD Foundation.
+ */
+
+#include <sys/param.h>
+#include <sys/procctl.h>
+#include <sys/stat.h>
+#include <sys/user.h>
+#include <sys/wait.h>
+
+#include <libutil.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <atf-c.h>
+
+/*
+ * Spawn an unprivileged child with ASLR force-disabled, which then execs
+ * /sbin/ping (setuid root).
+ */
+static pid_t
+spawn_ping(const atf_tc_t *tc)
+{
+	const char *user;
+	struct passwd *passwd;
+	pid_t child;
+	int arg, error;
+
+	user = atf_tc_get_config_var(tc, "unprivileged_user");
+	passwd = getpwnam(user);
+	ATF_REQUIRE(passwd != NULL);
+
+	child = fork();
+	ATF_REQUIRE(child >= 0);
+	if (child == 0) {
+		if (seteuid(passwd->pw_uid) != 0)
+			_exit(1);
+
+		arg = PROC_ASLR_FORCE_DISABLE;
+		error = procctl(P_PID, getpid(), PROC_ASLR_CTL, &arg);
+		if (error != 0)
+			_exit(2);
+
+		execl("/sbin/ping", "ping", "127.0.0.1", NULL);
+		_exit(127);
+	}
+	usleep(500000); /* XXX-MJ */
+
+	return (child);
+}
+
+/*
+ * Return the base address of the first mapping backed by the specified
+ * executable in the given process, or 0 if not found.
+ */
+static uint64_t
+text_base(pid_t pid, const char *path)
+{
+	struct kinfo_vmentry *vmmap;
+	uint64_t base;
+	int cnt;
+
+	base = 0;
+	vmmap = kinfo_getvmmap(pid, &cnt);
+	if (vmmap == NULL)
+		return (0);
+	for (int i = 0; i < cnt; i++) {
+		if (vmmap[i].kve_type == KVME_TYPE_VNODE &&
+		    strcmp(vmmap[i].kve_path, path) == 0) {
+			base = vmmap[i].kve_start;
+			break;
+		}
+	}
+	free(vmmap);
+	return (base);
+}
+
+/*
+ * Make sure that ASLR can't be disabled for a setuid executable by an
+ * unprivileged user.
+ */
+ATF_TC(aslr_setuid);
+ATF_TC_HEAD(aslr_setuid, tc)
+{
+	atf_tc_set_md_var(tc, "require.user", "root");
+	atf_tc_set_md_var(tc, "require.config", "unprivileged_user");
+}
+ATF_TC_BODY(aslr_setuid, tc)
+{
+	struct stat sb;
+	uint64_t bases[5];
+	pid_t child, pid;
+	int arg, error, st;
+
+	if (!atf_tc_has_config_var(tc, "unprivileged_user"))
+		atf_tc_skip("unprivileged_user not set");
+
+	error = stat("/sbin/ping", &sb);
+	ATF_REQUIRE(error == 0);
+	ATF_REQUIRE_MSG(sb.st_uid == 0 && (sb.st_mode & S_ISUID) != 0,
+	    "/sbin/ping is not setuid root");
+
+	child = spawn_ping(tc);
+	bases[0] = text_base(child, "/sbin/ping");
+	ATF_REQUIRE_MSG(bases[0] != 0,
+	    "failed to find /sbin/ping text segment");
+
+	arg = 0;
+	error = procctl(P_PID, child, PROC_ASLR_STATUS, &arg);
+	ATF_REQUIRE_MSG(error == 0, "procctl ASLR_STATUS failed: %s",
+	    strerror(errno));
+	ATF_REQUIRE_MSG((arg & PROC_ASLR_ACTIVE) != 0,
+	    "ASLR is not active for setuid child");
+	ATF_REQUIRE_MSG((arg & ~PROC_ASLR_ACTIVE) == PROC_ASLR_NOFORCE,
+	    "expected NOFORCE for setuid child, got %d",
+	    arg & ~PROC_ASLR_ACTIVE);
+
+	error = kill(child, SIGTERM);
+	ATF_REQUIRE(error == 0);
+	pid = waitpid(child, &st, 0);
+	ATF_REQUIRE(pid == child);
+	ATF_REQUIRE(WIFSIGNALED(st) && WTERMSIG(st) == SIGTERM);
+
+	for (size_t i = 1; i < nitems(bases); i++) {
+		child = spawn_ping(tc);
+		bases[i] = text_base(child, "/sbin/ping");
+		ATF_REQUIRE_MSG(bases[i] != 0,
+		    "failed to find /sbin/ping text segment");
+		error = kill(child, SIGTERM);
+		ATF_REQUIRE(error == 0);
+		pid = waitpid(child, &st, 0);
+		ATF_REQUIRE(pid == child);
+		ATF_REQUIRE(WIFSIGNALED(st) && WTERMSIG(st) == SIGTERM);
+	}
+
+	/* Verify that the text base is different across all runs. */
+	for (size_t i = 0; i < nitems(bases); i++) {
+		for (size_t j = i + 1; j < nitems(bases); j++) {
+			ATF_REQUIRE_MSG(bases[i] != bases[j],
+			    "ping text base collision 0x%jx",
+			    (uintmax_t)bases[i]);
+		}
+	}
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+	ATF_TP_ADD_TC(tp, aslr_setuid);
+
+	return (atf_no_error());
+}

From nobody Tue Jun  9 19:16: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 4gZdvC6PpGz6gTvH
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdvC3lTNz3KB5
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032615;
	h=from:from:reply-to:subject:subject: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=SQJE4/JTdnTO3bREziqsB4aZmNN5zBcquAnJbdBFAjo=;
	b=vfEjl8dxZN9eQ4J5PvDPGgwf/OhXdEjD+i1EI4xSsANqr3HcppZSm4Zpp5Mdd6tMypnVkF
	gW/9H6aSbcMOVVbpErcSqcakEH51BHRJ+EQYx9BkcjSlRGIKArzh5MEpcwegIBFiZ0PRsC
	XEyozsv3g/+zOeVdhJRwg4eEes+TrUpmQ+w/LQxYd7HcS4yf0rh++SPbb0YogcIhIYvgif
	lZSjv4a7/GU0NyRCV7EYyhtO6K9LBIpaVoSyzXmR1ys2fqZKyAePMuuPiwQw4kvRX4yux+
	ZLNpt7MYm6htLXLLl7gP9FhTbIuTesZnEf0mrt0ZdKpL82SJKy9VuPPlX0jK9A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032615; a=rsa-sha256; cv=none;
	b=E0VfyRWe+pbclzRd+JrlhnnOygOLVjPJWmweTu113/Lfsy5ip4ZZEbcZ/fciR01GYD+no7
	VI312AeA0fErlV15TkAfEZPtYuQpBlYOzab+9S6AAnEJ+dyezrB7F8cIt8VSAE77KIy1tW
	witkFhDruN+uliQ4r+StfDCuKQ5gtFbBqNXEkYSRiRntxks/dOl0zXPmuTYdJ7K7yTfceB
	EERqgWU4Tru/vqWs66bA4doZDirab/H0jLlgWu4vYFlBfDcdfxaB9oxuW7qT2VKhfCOkNx
	1GPnyqECdIJx3qYLhPyd+lHvrs2v8ZLSkqu51hSLKpkNUoeYtz5SdirSwkwyow==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032615;
	h=from:from:reply-to:subject:subject: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=SQJE4/JTdnTO3bREziqsB4aZmNN5zBcquAnJbdBFAjo=;
	b=HBigalOz07iylIEdvX+vuy1AXij6jspNXZj69RsSZX1+zhWxlTNlsQhmZPUjieoHSq5Ksp
	m1gRcXjivZtXu/ajiVkdJMZ3a061q3OXVvnj7lMLbPOsyaXk7LYyAu5NquCOhTXaLTgdf0
	kXoOLoGKI+UxK9EkT2nd5Z0vsVUaLVZaWZtRQJrJ+WnS7WnShrIGM8DdtJop4HVJ2wMByL
	M+VQ5oZMQXWVHuUEje6aBl881LQG6L/qaju/tAGzhBBYmrX8XF7v3d6sqwk2Rdi1UgFWnj
	q8AY1WPXt0hz1Tkrc5067avn2YxASTkEVZdrhDj4ggf0uM8tKTFO5ssWPo7P9w==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdvC2QNyznt0
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3c8db
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:55 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Gordon Tetlow <gordon@FreeBSD.org>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: e508c3431d8e - main - openssl: Fix multiple vulnerabilities
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: e508c3431d8e1ace6118e150837a0d0d67f1672a
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:55 +0000
Message-Id: <6a2866a7.3c8db.5b7489e4@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit e508c3431d8e1ace6118e150837a0d0d67f1672a
Author:     Gordon Tetlow <gordon@FreeBSD.org>
AuthorDate: 2026-04-29 08:23:24 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    openssl: Fix multiple vulnerabilities
    
    This is a rollup commit from upstream to fix:
      Reject oversized inputs in ASN1_mbstring_ncopy()
      cms: kek_unwrap_key: Fix out-of-bounds read in check-byte validation
      cms: kek_unwrap_key: test for fix out-of-bounds read in check-byte validation
      Avoid length truncation in ASN1_STRING_set
      pkcs12: verify that the pbmac1 key length is safe
      Reject potentially forged encrypted CMS AuthEnvelopedData messages
      QUIC stack must limit the number of PATH_CHALLENGE frames processed in RX
      Fix NULL dereference in QUIC address validation
      Fix potential NULL dereference processing CMS PasswordRecipientInfo
      Fix potential NULL dereference in OSSL_CRMF_ENCRYPTEDVALUE_decrypt()
      Enforce implicit rejection for CMS/PKCS#7 decryption
      Use the correct issuer when validating rootCAKeyUpdate
      Match the local q DHX parameter against the peer's q
      Apply the buffered IV on the AES-OCB EVP_Cipher() path
      Fix handling of empty-ciphertext messages in AES-GCM-SIV and AES-SIV
      Fix possible use-after-free in OpenSSL PKCS7_verify()
    
    Approved by:    so
    Obtained from:  OpenSSL
    Security:       FreeBSD-SA-26:35.openssl
    Security:       CVE-2026-7383
    Security:       CVE-2026-9076
    Security:       CVE-2026-34180
    Security:       CVE-2026-34181
    Security:       CVE-2026-34182
    Security:       CVE-2026-34183
    Security:       CVE-2026-42764
    Security:       CVE-2026-42766
    Security:       CVE-2026-42767
    Security:       CVE-2026-42768
    Security:       CVE-2026-42769
    Security:       CVE-2026-42770
    Security:       CVE-2026-45445
    Security:       CVE-2026-45446
    Security:       CVE-2026-45447
---
 crypto/openssl/crypto/asn1/a_mbstr.c               |  31 ++++-
 crypto/openssl/crypto/asn1/tasn_dec.c              |  24 ++--
 crypto/openssl/crypto/cmp/cmp_genm.c               |   6 +-
 crypto/openssl/crypto/cms/cms_enc.c                |  10 +-
 crypto/openssl/crypto/cms/cms_env.c                |   7 --
 crypto/openssl/crypto/cms/cms_pwri.c               |  13 +-
 crypto/openssl/crypto/crmf/crmf_lib.c              |  10 +-
 crypto/openssl/crypto/pkcs12/p12_mutl.c            |   8 +-
 crypto/openssl/crypto/pkcs7/pk7_doit.c             |   7 --
 crypto/openssl/crypto/pkcs7/pk7_smime.c            |   9 +-
 crypto/openssl/doc/man3/CMS_decrypt.pod            |   4 +-
 crypto/openssl/doc/man3/PKCS7_decrypt.pod          |  10 +-
 crypto/openssl/include/internal/quic_cfq.h         |   1 +
 crypto/openssl/include/internal/quic_channel.h     |   1 +
 crypto/openssl/include/internal/quic_fifd.h        |   1 +
 .../ciphers/cipher_aes_gcm_siv_hw.c                |  27 ++--
 .../implementations/ciphers/cipher_aes_ocb.c       |  13 ++
 .../implementations/ciphers/cipher_aes_siv.c       |   3 +
 .../providers/implementations/exchange/dh_exch.c   |   5 +-
 crypto/openssl/ssl/quic/quic_cfq.c                 |  15 +++
 crypto/openssl/ssl/quic/quic_channel.c             |   6 +
 crypto/openssl/ssl/quic/quic_channel_local.h       |  39 ++++++
 crypto/openssl/ssl/quic/quic_fifd.c                |  43 +++++++
 crypto/openssl/ssl/quic/quic_port.c                |   6 +-
 crypto/openssl/ssl/quic/quic_rx_depack.c           |  60 +++++----
 crypto/openssl/ssl/quic/quic_txp.c                 |   2 +
 crypto/openssl/test/cmsapitest.c                   |  48 ++++++-
 crypto/openssl/test/evp_extra_test.c               | 140 +++++++++++++++++++++
 crypto/openssl/test/recipes/80-test_cmsapi.t       |   3 +-
 .../80-test_cmsapi_data/cms_pwri_kek_oob.der       | Bin 0 -> 193 bytes
 crypto/openssl/test/recipes/80-test_pkcs12.t       |  13 +-
 .../pbmac1_256_256.bad-key-len.p12                 | Bin 0 -> 2803 bytes
 .../pbmac1_256_256.good-shorter-key-len.p12        | Bin 0 -> 2803 bytes
 33 files changed, 472 insertions(+), 93 deletions(-)

diff --git a/crypto/openssl/crypto/asn1/a_mbstr.c b/crypto/openssl/crypto/asn1/a_mbstr.c
index 2270e63d51d4..962e19b2ceaa 100644
--- a/crypto/openssl/crypto/asn1/a_mbstr.c
+++ b/crypto/openssl/crypto/asn1/a_mbstr.c
@@ -174,11 +174,27 @@ int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
         break;
 
     case MBSTRING_BMP:
+        if (nchar > INT_MAX / 2) {
+            ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG);
+            if (free_out) {
+                ASN1_STRING_free(dest);
+                *out = NULL;
+            }
+            return -1;
+        }
         outlen = nchar << 1;
         cpyfunc = cpy_bmp;
         break;
 
     case MBSTRING_UNIV:
+        if (nchar > INT_MAX / 4) {
+            ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG);
+            if (free_out) {
+                ASN1_STRING_free(dest);
+                *out = NULL;
+            }
+            return -1;
+        }
         outlen = nchar << 2;
         cpyfunc = cpy_univ;
         break;
@@ -186,8 +202,11 @@ int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
     case MBSTRING_UTF8:
         outlen = 0;
         ret = traverse_string(in, len, inform, out_utf8, &outlen);
-        if (ret < 0) {
-            ERR_raise(ERR_LIB_ASN1, ASN1_R_INVALID_UTF8STRING);
+        if (ret < 0) { /* error already raised in out_utf8() */
+            if (free_out) {
+                ASN1_STRING_free(dest);
+                *out = NULL;
+            }
             return -1;
         }
         cpyfunc = cpy_utf8;
@@ -270,9 +289,15 @@ static int out_utf8(unsigned long value, void *arg)
     int *outlen, len;
 
     len = UTF8_putc(NULL, -1, value);
-    if (len <= 0)
+    if (len <= 0) {
+        ERR_raise(ERR_LIB_ASN1, ASN1_R_INVALID_UTF8STRING);
         return len;
+    }
     outlen = arg;
+    if (*outlen > INT_MAX - len) {
+        ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG);
+        return -1;
+    }
     *outlen += len;
     return 1;
 }
diff --git a/crypto/openssl/crypto/asn1/tasn_dec.c b/crypto/openssl/crypto/asn1/tasn_dec.c
index 91c2e524f55b..e9532b9f48f7 100644
--- a/crypto/openssl/crypto/asn1/tasn_dec.c
+++ b/crypto/openssl/crypto/asn1/tasn_dec.c
@@ -54,7 +54,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval,
     const ASN1_ITEM *it,
     int tag, int aclass, char opt,
     ASN1_TLC *ctx);
-static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
+static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, long len,
     int utype, char *free_cont, const ASN1_ITEM *it);
 
 /* Table to convert tags to bit values, used for MSTRING type */
@@ -855,19 +855,24 @@ err:
 
 /* Translate ASN1 content octets into a structure */
 
-static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
+static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, long len,
     int utype, char *free_cont, const ASN1_ITEM *it)
 {
     ASN1_VALUE **opval = NULL;
     ASN1_STRING *stmp;
     ASN1_TYPE *typ = NULL;
     int ret = 0;
+    int ilen = (int)len;
     const ASN1_PRIMITIVE_FUNCS *pf;
     ASN1_INTEGER **tint;
     pf = it->funcs;
 
-    if (pf && pf->prim_c2i)
-        return pf->prim_c2i(pval, cont, len, utype, free_cont, it);
+    if (pf && pf->prim_c2i) {
+        if (len == (long)ilen)
+            return pf->prim_c2i(pval, cont, ilen, utype, free_cont, it);
+        ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG);
+        return 0;
+    }
     /* If ANY type clear type and set pointer to internal value */
     if (it->utype == V_ASN1_ANY) {
         if (*pval == NULL) {
@@ -885,7 +890,8 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
     }
     switch (utype) {
     case V_ASN1_OBJECT:
-        if (!ossl_c2i_ASN1_OBJECT((ASN1_OBJECT **)pval, &cont, len))
+        if (len != (long)ilen
+            || !ossl_c2i_ASN1_OBJECT((ASN1_OBJECT **)pval, &cont, ilen))
             goto err;
         break;
 
@@ -940,6 +946,10 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
     case V_ASN1_SET:
     case V_ASN1_SEQUENCE:
     default:
+        if (len != (long)ilen) {
+            ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG);
+            goto err;
+        }
         if (utype == V_ASN1_BMPSTRING && (len & 1)) {
             ERR_raise(ERR_LIB_ASN1, ASN1_R_BMPSTRING_IS_WRONG_LENGTH);
             goto err;
@@ -970,10 +980,10 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
         }
         /* If we've already allocated a buffer use it */
         if (*free_cont) {
-            ASN1_STRING_set0(stmp, (unsigned char *)cont /* UGLY CAST! */, len);
+            ASN1_STRING_set0(stmp, (unsigned char *)cont /* UGLY CAST! */, ilen);
             *free_cont = 0;
         } else {
-            if (!ASN1_STRING_set(stmp, cont, len)) {
+            if (!ASN1_STRING_set(stmp, cont, ilen)) {
                 ERR_raise(ERR_LIB_ASN1, ERR_R_ASN1_LIB);
                 ASN1_STRING_free(stmp);
                 *pval = NULL;
diff --git a/crypto/openssl/crypto/cmp/cmp_genm.c b/crypto/openssl/crypto/cmp/cmp_genm.c
index bcc121f14695..ec1f03d20c1a 100644
--- a/crypto/openssl/crypto/cmp/cmp_genm.c
+++ b/crypto/openssl/crypto/cmp/cmp_genm.c
@@ -202,7 +202,7 @@ static int selfsigned_verify_cb(int ok, X509_STORE_CTX *store_ctx)
         for (i = 0; i < sk_X509_num(trust); i++) {
             issuer = sk_X509_value(trust, i);
             if ((*check_issued)(store_ctx, cert, issuer)) {
-                if (X509_add_cert(chain, cert, X509_ADD_FLAG_UP_REF))
+                if (X509_add_cert(chain, issuer, X509_ADD_FLAG_UP_REF))
                     ok = 1;
                 break;
             }
@@ -235,6 +235,7 @@ static int verify_ss_cert(OSSL_LIB_CTX *libctx, const char *propq,
     if ((csc = X509_STORE_CTX_new_ex(libctx, propq)) == NULL
         || !X509_STORE_CTX_init(csc, ts, target, untrusted))
         goto err;
+    X509_STORE_CTX_set_flags(csc, X509_V_FLAG_CHECK_SS_SIGNATURE);
     X509_STORE_CTX_set_verify_cb(csc, selfsigned_verify_cb);
     ok = X509_verify_cert(csc) > 0;
 
@@ -253,7 +254,8 @@ verify_ss_cert_trans(OSSL_CMP_CTX *ctx, X509 *trusted /* may be NULL */,
     int res = 0;
 
     if (trusted != NULL) {
-        X509_VERIFY_PARAM *vpm = X509_STORE_get0_param(ts);
+        X509_VERIFY_PARAM *vpm = (ts == NULL) ? NULL
+                                              : X509_STORE_get0_param(ts);
 
         if ((ts = X509_STORE_new()) == NULL)
             return 0;
diff --git a/crypto/openssl/crypto/cms/cms_enc.c b/crypto/openssl/crypto/cms/cms_enc.c
index 08afb5ab114b..ba7082cebd72 100644
--- a/crypto/openssl/crypto/cms/cms_enc.c
+++ b/crypto/openssl/crypto/cms/cms_enc.c
@@ -109,13 +109,15 @@ BIO *ossl_cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec,
                 goto err;
             }
             piv = aparams.iv;
-            if (ec->taglen > 0
-                && EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,
-                       ec->taglen, ec->tag)
-                    <= 0) {
+
+            if (ec->taglen < 4 || ec->taglen > 16
+                || EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, (int)ec->taglen, ec->tag) <= 0) {
                 ERR_raise(ERR_LIB_CMS, CMS_R_CIPHER_AEAD_SET_TAG_ERROR);
                 goto err;
             }
+        } else if (auth) {
+            ERR_raise(ERR_LIB_CMS, CMS_R_UNSUPPORTED_CONTENT_ENCRYPTION_ALGORITHM);
+            goto err;
         }
     }
     len = EVP_CIPHER_CTX_get_key_length(ctx);
diff --git a/crypto/openssl/crypto/cms/cms_env.c b/crypto/openssl/crypto/cms/cms_env.c
index 0828d157fad6..70dd59c06169 100644
--- a/crypto/openssl/crypto/cms/cms_env.c
+++ b/crypto/openssl/crypto/cms/cms_env.c
@@ -619,13 +619,6 @@ static int cms_RecipientInfo_ktri_decrypt(CMS_ContentInfo *cms,
     if (!ossl_cms_env_asn1_ctrl(ri, 1))
         goto err;
 
-    if (EVP_PKEY_is_a(pkey, "RSA"))
-        /* upper layer CMS code incorrectly assumes that a successful RSA
-         * decryption means that the key matches ciphertext (which never
-         * was the case, implicit rejection or not), so to make it work
-         * disable implicit rejection for RSA keys */
-        EVP_PKEY_CTX_ctrl_str(ktri->pctx, "rsa_pkcs1_implicit_rejection", "0");
-
     if (evp_pkey_decrypt_alloc(ktri->pctx, &ek, &eklen, fixlen,
             ktri->encryptedKey->data,
             ktri->encryptedKey->length)
diff --git a/crypto/openssl/crypto/cms/cms_pwri.c b/crypto/openssl/crypto/cms/cms_pwri.c
index d62dbbde881b..faf6a164669b 100644
--- a/crypto/openssl/crypto/cms/cms_pwri.c
+++ b/crypto/openssl/crypto/cms/cms_pwri.c
@@ -200,18 +200,18 @@ static int kek_unwrap_key(unsigned char *out, size_t *outlen,
     const unsigned char *in, size_t inlen,
     EVP_CIPHER_CTX *ctx)
 {
-    size_t blocklen = EVP_CIPHER_CTX_get_block_size(ctx);
+    int blocklen = EVP_CIPHER_CTX_get_block_size(ctx);
     unsigned char *tmp;
     int outl, rv = 0;
 
-    if (blocklen == 0)
+    if (blocklen < 4)
         return 0;
 
-    if (inlen < 2 * blocklen) {
+    if (inlen < 2 * (size_t)blocklen) {
         /* too small */
         return 0;
     }
-    if (inlen % blocklen) {
+    if (inlen > INT_MAX || inlen % blocklen) {
         /* Invalid size */
         return 0;
     }
@@ -367,6 +367,11 @@ int ossl_cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms,
 
     /* Finish password based key derivation to setup key in "ctx" */
 
+    if (algtmp == NULL) {
+        ERR_raise_data(ERR_LIB_CMS, CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER,
+            "Missing KeyDerivationAlgorithm");
+        goto err;
+    }
     if (!EVP_PBE_CipherInit_ex(algtmp->algorithm,
             (char *)pwri->pass, (int)pwri->passlen,
             algtmp->parameter, kekctx, en_de,
diff --git a/crypto/openssl/crypto/crmf/crmf_lib.c b/crypto/openssl/crypto/crmf/crmf_lib.c
index d5c8983b2fd4..34477d52662d 100644
--- a/crypto/openssl/crypto/crmf/crmf_lib.c
+++ b/crypto/openssl/crypto/crmf/crmf_lib.c
@@ -766,6 +766,7 @@ unsigned char *OSSL_CRMF_ENCRYPTEDVALUE_decrypt(const OSSL_CRMF_ENCRYPTEDVALUE *
     EVP_CIPHER *cipher = NULL; /* used cipher */
     int cikeysize = 0; /* key size from cipher */
     unsigned char *iv = NULL; /* initial vector for symmetric encryption */
+    int iv_len; /* iv length */
     unsigned char *out = NULL; /* decryption output buffer */
     int n, ret = 0;
     EVP_PKEY_CTX *pkctx = NULL; /* private key context */
@@ -820,11 +821,12 @@ unsigned char *OSSL_CRMF_ENCRYPTEDVALUE_decrypt(const OSSL_CRMF_ENCRYPTEDVALUE *
     } else {
         goto end;
     }
-    if ((iv = OPENSSL_malloc(EVP_CIPHER_get_iv_length(cipher))) == NULL)
+    iv_len = EVP_CIPHER_get_iv_length(cipher);
+    if ((iv = OPENSSL_malloc(iv_len)) == NULL)
         goto end;
-    if (ASN1_TYPE_get_octetstring(enc->symmAlg->parameter, iv,
-            EVP_CIPHER_get_iv_length(cipher))
-        != EVP_CIPHER_get_iv_length(cipher)) {
+    if (enc->symmAlg->parameter == NULL
+        || ASN1_TYPE_get_octetstring(enc->symmAlg->parameter, iv, iv_len)
+            != iv_len) {
         ERR_raise(ERR_LIB_CRMF, CRMF_R_MALFORMED_IV);
         goto end;
     }
diff --git a/crypto/openssl/crypto/pkcs12/p12_mutl.c b/crypto/openssl/crypto/pkcs12/p12_mutl.c
index 01956252df76..15072e12f26b 100644
--- a/crypto/openssl/crypto/pkcs12/p12_mutl.c
+++ b/crypto/openssl/crypto/pkcs12/p12_mutl.c
@@ -144,11 +144,13 @@ static int PBMAC1_PBKDF2_HMAC(OSSL_LIB_CTX *ctx, const char *propq,
     }
     pbkdf2_salt = pbkdf2_param->salt->value.octet_string;
 
-    /* RFC 9579 specifies missing key length as invalid */
+    /* RFC 9879 specifies missing key length as invalid */
     if (pbkdf2_param->keylength != NULL)
         keylen = ASN1_INTEGER_get(pbkdf2_param->keylength);
-    if (keylen <= 0 || keylen > EVP_MAX_MD_SIZE) {
-        ERR_raise(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR);
+    /* RFC 9879 specifies too short key length as untrustworthy too */
+    if (keylen < 20 || keylen > EVP_MAX_MD_SIZE) {
+        ERR_raise_data(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR,
+            "Invalid Key length (%d is not in the range 20..64)", keylen);
         goto err;
     }
 
diff --git a/crypto/openssl/crypto/pkcs7/pk7_doit.c b/crypto/openssl/crypto/pkcs7/pk7_doit.c
index d6513cf3a379..1ec7895fc197 100644
--- a/crypto/openssl/crypto/pkcs7/pk7_doit.c
+++ b/crypto/openssl/crypto/pkcs7/pk7_doit.c
@@ -203,13 +203,6 @@ static int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen,
     if (EVP_PKEY_decrypt_init(pctx) <= 0)
         goto err;
 
-    if (EVP_PKEY_is_a(pkey, "RSA"))
-        /* upper layer pkcs7 code incorrectly assumes that a successful RSA
-         * decryption means that the key matches ciphertext (which never
-         * was the case, implicit rejection or not), so to make it work
-         * disable implicit rejection for RSA keys */
-        EVP_PKEY_CTX_ctrl_str(pctx, "rsa_pkcs1_implicit_rejection", "0");
-
     ret = evp_pkey_decrypt_alloc(pctx, &ek, &eklen, fixlen,
         ri->enc_key->data, ri->enc_key->length);
     if (ret <= 0)
diff --git a/crypto/openssl/crypto/pkcs7/pk7_smime.c b/crypto/openssl/crypto/pkcs7/pk7_smime.c
index 97f20058979f..dc003ee2affd 100644
--- a/crypto/openssl/crypto/pkcs7/pk7_smime.c
+++ b/crypto/openssl/crypto/pkcs7/pk7_smime.c
@@ -222,6 +222,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
     int i, j = 0, k, ret = 0;
     BIO *p7bio = NULL;
     BIO *tmpout = NULL;
+    BIO *next = NULL;
     const PKCS7_CTX *p7_ctx;
 
     if (p7 == NULL) {
@@ -352,9 +353,11 @@ err:
         BIO_free(tmpout);
     X509_STORE_CTX_free(cert_ctx);
     OPENSSL_free(buf);
-    if (indata != NULL)
-        BIO_pop(p7bio);
-    BIO_free_all(p7bio);
+    while (p7bio != NULL && p7bio != indata) {
+        next = BIO_pop(p7bio);
+        BIO_free(p7bio);
+        p7bio = next;
+    }
     sk_X509_free(signers);
     sk_X509_free(untrusted);
     return ret;
diff --git a/crypto/openssl/doc/man3/CMS_decrypt.pod b/crypto/openssl/doc/man3/CMS_decrypt.pod
index 121b74a30a10..66a94287b6f5 100644
--- a/crypto/openssl/doc/man3/CMS_decrypt.pod
+++ b/crypto/openssl/doc/man3/CMS_decrypt.pod
@@ -68,7 +68,7 @@ then the above behaviour is modified and an error B<is> returned if no
 recipient encrypted key can be decrypted B<without> generating a random
 content encryption key. Applications should use this flag with
 B<extreme caution> especially in automated gateways as it can leave them
-open to attack.
+open to attack. See L<EVP_PKEY_decrypt(3)> for more details.
 
 It is possible to determine the correct recipient key by other means (for
 example looking them up in a database) and setting them in the CMS structure
@@ -103,7 +103,7 @@ mentioned in CMS_verify() also applies to CMS_decrypt().
 
 =head1 SEE ALSO
 
-L<ERR_get_error(3)>, L<CMS_encrypt(3)>
+L<ERR_get_error(3)>, L<CMS_encrypt(3)>, L<EVP_PKEY_decrypt(3)>
 
 =head1 HISTORY
 
diff --git a/crypto/openssl/doc/man3/PKCS7_decrypt.pod b/crypto/openssl/doc/man3/PKCS7_decrypt.pod
index aea15937ab86..cfb5b3f87376 100644
--- a/crypto/openssl/doc/man3/PKCS7_decrypt.pod
+++ b/crypto/openssl/doc/man3/PKCS7_decrypt.pod
@@ -22,6 +22,14 @@ B<flags> is an optional set of flags.
 Although the recipients certificate is not needed to decrypt the data it is needed
 to locate the appropriate (of possible several) recipients in the PKCS#7 structure.
 
+When RSA PKCS#1 v1.5 Key Transport is in use, the invoked EVP_PKEY_decrypt()
+will use implicit rejection mechanism. It always returns the result of RSA
+decryption of the symmetric key to avoid Marvin attack. This result is
+deterministic and can happen to match the symmetric cipher used for the content
+encryption. In case when the certificate is not provided, the last
+RecipientInfo producing the key looking valid will be used. It may cause
+getting garbage content on decryption.
+
 The following flags can be passed in the B<flags> parameter.
 
 If the B<PKCS7_TEXT> flag is set MIME headers for type B<text/plain> are deleted
@@ -43,7 +51,7 @@ mentioned in PKCS7_sign() also applies to PKCS7_verify().
 
 =head1 SEE ALSO
 
-L<ERR_get_error(3)>, L<PKCS7_encrypt(3)>
+L<ERR_get_error(3)>, L<PKCS7_encrypt(3)>, L<EVP_PKEY_decrypt(3)>
 
 =head1 COPYRIGHT
 
diff --git a/crypto/openssl/include/internal/quic_cfq.h b/crypto/openssl/include/internal/quic_cfq.h
index 0b2a3a4cb2d6..96c8d89eb600 100644
--- a/crypto/openssl/include/internal/quic_cfq.h
+++ b/crypto/openssl/include/internal/quic_cfq.h
@@ -149,6 +149,7 @@ QUIC_CFQ_ITEM *ossl_quic_cfq_get_priority_head(const QUIC_CFQ *cfq,
 QUIC_CFQ_ITEM *ossl_quic_cfq_item_get_priority_next(const QUIC_CFQ_ITEM *item,
     uint32_t pn_space);
 
+int ossl_quic_cfq_discard_unreliable(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item);
 #endif
 
 #endif
diff --git a/crypto/openssl/include/internal/quic_channel.h b/crypto/openssl/include/internal/quic_channel.h
index b917b966abeb..cfaeab728178 100644
--- a/crypto/openssl/include/internal/quic_channel.h
+++ b/crypto/openssl/include/internal/quic_channel.h
@@ -468,6 +468,7 @@ int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
     const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,
     const QUIC_CONN_ID *odcid);
 
+void ossl_ch_reset_rx_state(QUIC_CHANNEL *ch);
 #endif
 
 #endif
diff --git a/crypto/openssl/include/internal/quic_fifd.h b/crypto/openssl/include/internal/quic_fifd.h
index 4ea7a2e0d226..afa330cbc4a2 100644
--- a/crypto/openssl/include/internal/quic_fifd.h
+++ b/crypto/openssl/include/internal/quic_fifd.h
@@ -83,6 +83,7 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt);
 void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void *arg),
     void *arg);
 
+void ossl_quic_fifd_pkt_discard_unreliable(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *tpkt);
 #endif
 
 #endif
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
index d0b6ae4b070d..5bdc567b4bb1 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
@@ -58,6 +58,9 @@ static int aes_gcm_siv_initkey(void *vctx)
     memset(&data, 0, sizeof(data));
     memcpy(&data.block[sizeof(data.counter)], ctx->nonce, NONCE_SIZE);
 
+    ctx->generated_tag = 0;
+    memset(ctx->tag, 0, TAG_SIZE);
+
     /* msg_auth_key is always 16 bytes in size, regardless of AES128/AES256 */
     /* counter is stored little-endian */
     for (i = 0; i < BLOCK_SIZE; i += 8) {
@@ -134,17 +137,6 @@ static int aes_gcm_siv_aad(PROV_AES_GCM_SIV_CTX *ctx,
     return 1;
 }
 
-static int aes_gcm_siv_finish(PROV_AES_GCM_SIV_CTX *ctx)
-{
-    int ret = 0;
-
-    if (ctx->enc)
-        return ctx->generated_tag;
-    ret = !CRYPTO_memcmp(ctx->tag, ctx->user_tag, sizeof(ctx->tag));
-    ret &= ctx->have_user_tag;
-    return ret;
-}
-
 static int aes_gcm_siv_encrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned char *in,
     unsigned char *out, size_t len)
 {
@@ -271,6 +263,19 @@ static int aes_gcm_siv_decrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned char *i
     return !error;
 }
 
+static int aes_gcm_siv_finish(PROV_AES_GCM_SIV_CTX *ctx)
+{
+    int ret = 0;
+
+    if (ctx->enc)
+        return ctx->generated_tag;
+    if (!ctx->generated_tag)
+        aes_gcm_siv_decrypt(ctx, NULL, NULL, 0);
+    ret = !CRYPTO_memcmp(ctx->tag, ctx->user_tag, sizeof(ctx->tag));
+    ret &= ctx->have_user_tag;
+    return ret;
+}
+
 static int aes_gcm_siv_cipher(void *vctx, unsigned char *out,
     const unsigned char *in, size_t len)
 {
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_ocb.c b/crypto/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
index b724c425e392..99254cb49a88 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
@@ -514,6 +514,19 @@ static int aes_ocb_cipher(void *vctx, unsigned char *out, size_t *outl,
         return 0;
     }
 
+    /*
+     * Mirror the streaming handler: refuse if the key has not been set,
+     * and push the buffered IV into the OCB context before any data is
+     * processed.  Without this, CRYPTO_ocb128_encrypt/decrypt runs with
+     * Offset_0 = 0 regardless of the caller's IV -- catastrophic
+     * (key, nonce) reuse, and a subsequent EVP_*Final_ex() emits a tag
+     * that is a function of (key, iv) only.
+     */
+    if (!ctx->key_set || !update_iv(ctx)) {
+        ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED);
+        return 0;
+    }
+
     if (!aes_generic_ocb_cipher(ctx, in, out, inl)) {
         ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED);
         return 0;
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c b/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
index 96f26757abe2..754e0757cda3 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
@@ -192,6 +192,7 @@ static int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[])
     PROV_AES_SIV_CTX *ctx = (PROV_AES_SIV_CTX *)vctx;
     const OSSL_PARAM *p;
     unsigned int speed = 0;
+    SIV128_CONTEXT *sctx = &ctx->siv;
 
     if (ossl_param_is_empty(params))
         return 1;
@@ -226,6 +227,8 @@ static int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[])
         if (keylen != ctx->keylen)
             return 0;
     }
+    sctx->final_ret = -1;
+
     return 1;
 }
 
diff --git a/crypto/openssl/providers/implementations/exchange/dh_exch.c b/crypto/openssl/providers/implementations/exchange/dh_exch.c
index 94d4254ed5d2..2bfefc0aedf4 100644
--- a/crypto/openssl/providers/implementations/exchange/dh_exch.c
+++ b/crypto/openssl/providers/implementations/exchange/dh_exch.c
@@ -146,12 +146,15 @@ static int dh_init(void *vpdhctx, void *vdh, const OSSL_PARAM params[])
 static int dh_match_params(DH *priv, DH *peer)
 {
     int ret;
+    int ignore_q = 1;
     FFC_PARAMS *dhparams_priv = ossl_dh_get0_params(priv);
     FFC_PARAMS *dhparams_peer = ossl_dh_get0_params(peer);
 
+    if (dhparams_priv != NULL && dhparams_priv->q != NULL)
+        ignore_q = 0;
     ret = dhparams_priv != NULL
         && dhparams_peer != NULL
-        && ossl_ffc_params_cmp(dhparams_priv, dhparams_peer, 1);
+        && ossl_ffc_params_cmp(dhparams_priv, dhparams_peer, ignore_q);
     if (!ret)
         ERR_raise(ERR_LIB_PROV, PROV_R_MISMATCHING_DOMAIN_PARAMETERS);
     return ret;
diff --git a/crypto/openssl/ssl/quic/quic_cfq.c b/crypto/openssl/ssl/quic/quic_cfq.c
index 3c59234ff0ff..16818e55f57d 100644
--- a/crypto/openssl/ssl/quic/quic_cfq.c
+++ b/crypto/openssl/ssl/quic/quic_cfq.c
@@ -7,6 +7,7 @@
  * https://www.openssl.org/source/license.html
  */
 
+#include "internal/quic_channel.h"
 #include "internal/quic_cfq.h"
 #include "internal/numbers.h"
 
@@ -307,6 +308,20 @@ void ossl_quic_cfq_mark_lost(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item,
     }
 }
 
+int ossl_quic_cfq_discard_unreliable(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item)
+{
+    int discarded;
+
+    if (ossl_quic_cfq_item_is_unreliable(item)) {
+        ossl_quic_cfq_release(cfq, item);
+        discarded = 1;
+    } else {
+        discarded = 0;
+    }
+
+    return discarded;
+}
+
 /*
  * Releases a CFQ item. The item may be in either state (NEW or TX) prior to the
  * call. The QUIC_CFQ_ITEM pointer must not be used following this call.
diff --git a/crypto/openssl/ssl/quic/quic_channel.c b/crypto/openssl/ssl/quic/quic_channel.c
index 13692e5bd09e..5f81a8560d5f 100644
--- a/crypto/openssl/ssl/quic/quic_channel.c
+++ b/crypto/openssl/ssl/quic/quic_channel.c
@@ -2213,6 +2213,12 @@ static void ch_rx_check_forged_pkt_limit(QUIC_CHANNEL *ch)
         "forgery limit");
 }
 
+void ossl_ch_reset_rx_state(QUIC_CHANNEL *ch)
+{
+    ch->did_crypto_frame = 0;
+    ch->seen_path_challenge = 0;
+}
+
 /* Process queued incoming packets and handle frames, if any. */
 static int ch_rx(QUIC_CHANNEL *ch, int channel_only, int *notify_other_threads)
 {
diff --git a/crypto/openssl/ssl/quic/quic_channel_local.h b/crypto/openssl/ssl/quic/quic_channel_local.h
index ae443fccca1e..e40b4901cbc7 100644
--- a/crypto/openssl/ssl/quic/quic_channel_local.h
+++ b/crypto/openssl/ssl/quic/quic_channel_local.h
@@ -12,6 +12,28 @@
 #include "internal/quic_stream_map.h"
 #include "internal/quic_tls.h"
 
+/*
+ * This is a part of PATH_CHALLENGE flood [1] mitigation. This limits the
+ * number of PATH_CHALLENGE frames  QUIC stack is willing to process for
+ * connection. Local QUIC stack creates PATH_RESPONSE frame for PATH_CHALLENGE
+ * frame it receives from remote peer. The response frame is put Control Frame
+ * Queue waiting to be dispatched. The PATH_RESPONSE frame is removed from CFQ
+ * after it is dispatched. The QUIC_PATH_RESPONSE_QLEN limits the number of
+ * PATH_RESPONSE frames waiting to be dispatched. No new PATH_RESPONSE frames
+ * are inserted into CFQ if queue limit is exceeded.
+ *
+ * QUIC implementations use different limits for PATH_RESPONSE queue lengths:
+ *    quic-go defines maxPathResponses as 256
+ *    quiche from cloadflare sets DEFAULT_MAX_PATH_CHALLENGE_RX_QUEUE_LEN to 3
+ *    t-quic from tencent chooses MAX_PATH_CHALS_RECV to be 8
+ *
+ * OpenSSL here introduces QUIC_PATH_RESPONSE_QLEN as 32.
+ *
+ * [1] https://www.ietf.org/archive/id/draft-chen-quic-logical-vuln-mitigations-00.txt
+ *     (section 4.2)
+ */
+#define QUIC_PATH_RESPONSE_QLEN 32
+
 /*
  * QUIC Channel Structure
  * ======================
@@ -457,6 +479,18 @@ struct quic_channel_st {
 
     /* Has qlog been requested? */
     unsigned int is_tserver_ch : 1;
+    /*
+     * RFC 9000 Section 9.2.1 says:
+     *      However, an endpoint SHOULD NOT send multiple
+     *      PATH_CHALLENGE frames in a single packet.
+     * The counter here allows us to detect multiple presence
+     * of PATH_CHALLENGE frame in packet. We process only the
+     * first PATH_CHALLENGE frame found in packet. Remaining PATH_CHALLENGE
+     * frames are ignored.
+     * seen_path_challenge flag is always reset before
+     * ossl_quic_handle_frames() gets called.
+     */
+    unsigned int seen_path_challenge : 1;
 
     /* Saved error stack in case permanent error was encountered */
     ERR_STATE *err_state;
@@ -467,6 +501,11 @@ struct quic_channel_st {
 
     /* Title for qlog purposes. We own this copy. */
     char *qlog_title;
+    /*
+     * number of path responses waiting to be dispatched
+     * from control frame queue (CFQ)
+     */
+    unsigned int path_response_limit;
 };
 
 #endif
diff --git a/crypto/openssl/ssl/quic/quic_fifd.c b/crypto/openssl/ssl/quic/quic_fifd.c
index 03b8cebd3057..e80483b501d7 100644
--- a/crypto/openssl/ssl/quic/quic_fifd.c
+++ b/crypto/openssl/ssl/quic/quic_fifd.c
@@ -310,3 +310,46 @@ void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void *arg)
     fifd->get_qlog_cb = get_qlog_cb;
     fifd->get_qlog_cb_arg = get_qlog_cb_arg;
 }
+
+static void txpim_pkt_remove_cfq_item(QUIC_TXPIM_PKT *pkt, QUIC_CFQ_ITEM *cfq_item)
+{
+    QUIC_CFQ_ITEM *prev = cfq_item->pkt_prev;
+
+    if (prev != NULL) {
+        prev->pkt_next = cfq_item->pkt_next;
+    } else {
+        pkt->retx_head = cfq_item->pkt_next;
+    }
+
+    if (cfq_item->pkt_next != NULL)
+        cfq_item->pkt_next->pkt_prev = prev;
+
+    cfq_item->pkt_prev = NULL;
+    cfq_item->pkt_next = NULL;
+}
+
+void ossl_quic_fifd_pkt_discard_unreliable(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
+{
+    QUIC_CFQ_ITEM *cfq_item, *cfq_next;
+
+    /*
+     * The packet has been written to network. We can discard frames we don't
+     * retransmit when loss is detected.
+     */
+    cfq_item = pkt->retx_head;
+    while (cfq_item != NULL) {
+        /*
+         * Discarded items are moved to free list. If item
+         * got moved to free list we must also remove it from
+         * cfq list kept in pkt, so ACKM does not find it when
+         * receives an ACK for pkt.
+         */
+        if (ossl_quic_cfq_discard_unreliable(fifd->cfq, cfq_item)) {
+            cfq_next = cfq_item->pkt_next;
+            txpim_pkt_remove_cfq_item(pkt, cfq_item);
+            cfq_item = cfq_next;
+        } else {
+            cfq_item = cfq_item->pkt_next;
+        }
+    }
+}
diff --git a/crypto/openssl/ssl/quic/quic_port.c b/crypto/openssl/ssl/quic/quic_port.c
index 1e247e1ec624..dc79485b96a5 100644
--- a/crypto/openssl/ssl/quic/quic_port.c
+++ b/crypto/openssl/ssl/quic/quic_port.c
@@ -1666,8 +1666,10 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
          * forget qrx so channel can create a new one
          * with valid initial encryption level keys.
          */
-        qrx_src = qrx;
-        qrx = NULL;
+        if (qrx != NULL) {
+            qrx_src = qrx;
+            qrx = NULL;
+        }
     }
 
     port_bind_channel(port, &e->peer, &scid, &hdr.dst_conn_id,
diff --git a/crypto/openssl/ssl/quic/quic_rx_depack.c b/crypto/openssl/ssl/quic/quic_rx_depack.c
index 786af9b4c221..1bdb43b7d639 100644
--- a/crypto/openssl/ssl/quic/quic_rx_depack.c
+++ b/crypto/openssl/ssl/quic/quic_rx_depack.c
@@ -931,6 +931,12 @@ static int depack_do_frame_retire_conn_id(PACKET *pkt,
 
 static void free_path_response(unsigned char *buf, size_t buf_len, void *arg)
 {
+    QUIC_CHANNEL *ch = (QUIC_CHANNEL *)arg;
+
+    assert(ch->path_response_limit > 0);
+
+    ch->path_response_limit--;
+
     OPENSSL_free(buf);
 }
 
@@ -951,33 +957,39 @@ static int depack_do_frame_path_challenge(PACKET *pkt,
         return 0;
     }
 
-    /*
-     * RFC 9000 s. 8.2.2: On receiving a PATH_CHALLENGE frame, an endpoint MUST
-     * respond by echoing the data contained in the PATH_CHALLENGE frame in a
-     * PATH_RESPONSE frame.
-     *
-     * TODO(QUIC FUTURE): We should try to avoid allocation here in the future.
-     */
-    encoded_len = sizeof(uint64_t) + 1;
-    if ((encoded = OPENSSL_malloc(encoded_len)) == NULL)
-        goto err;
+    if (ch->seen_path_challenge == 0
+        && ch->path_response_limit < QUIC_PATH_RESPONSE_QLEN) {
+        /*
+         * RFC 9000 s. 8.2.2: On receiving a PATH_CHALLENGE frame, an endpoint
+         * MUST respond by echoing the data contained in the PATH_CHALLENGE
+         * frame in a PATH_RESPONSE frame.
+         *
+         * TODO(QUIC FUTURE): We should try to avoid allocation here in the
+         * future.
+         */
+        encoded_len = sizeof(uint64_t) + 1;
+        if ((encoded = OPENSSL_malloc(encoded_len)) == NULL)
+            goto err;
 
-    if (!WPACKET_init_static_len(&wpkt, encoded, encoded_len, 0))
-        goto err;
+        if (!WPACKET_init_static_len(&wpkt, encoded, encoded_len, 0))
+            goto err;
 
-    if (!ossl_quic_wire_encode_frame_path_response(&wpkt, frame_data)) {
-        WPACKET_cleanup(&wpkt);
-        goto err;
-    }
+        if (!ossl_quic_wire_encode_frame_path_response(&wpkt, frame_data)) {
+            WPACKET_cleanup(&wpkt);
+            goto err;
+        }
 
-    WPACKET_finish(&wpkt);
+        WPACKET_finish(&wpkt);
 
-    if (!ossl_quic_cfq_add_frame(ch->cfq, 0, QUIC_PN_SPACE_APP,
-            OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
-            QUIC_CFQ_ITEM_FLAG_UNRELIABLE,
-            encoded, encoded_len,
-            free_path_response, NULL))
-        goto err;
+        if (!ossl_quic_cfq_add_frame(ch->cfq, 0, QUIC_PN_SPACE_APP,
+                OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
+                QUIC_CFQ_ITEM_FLAG_UNRELIABLE,
+                encoded, encoded_len,
+                free_path_response, ch))
+            goto err;
+        ch->seen_path_challenge = 1;
+        ch->path_response_limit++;
+    }
 
     return 1;
 
@@ -1432,7 +1444,7 @@ int ossl_quic_handle_frames(QUIC_CHANNEL *ch, OSSL_QRX_PKT *qpacket)
     if (ch == NULL)
         return 0;
 
-    ch->did_crypto_frame = 0;
+    ossl_ch_reset_rx_state(ch);
 
     /* Initialize |ackm_data| (and reinitialize |ok|)*/
     memset(&ackm_data, 0, sizeof(ackm_data));
diff --git a/crypto/openssl/ssl/quic/quic_txp.c b/crypto/openssl/ssl/quic/quic_txp.c
index 44aaad868d2f..b2565c1a9fee 100644
--- a/crypto/openssl/ssl/quic/quic_txp.c
+++ b/crypto/openssl/ssl/quic/quic_txp.c
@@ -3133,6 +3133,8 @@ static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,
             --probe_info->pto[pn_space];
     }
 
+    ossl_quic_fifd_pkt_discard_unreliable(&txp->fifd, tpkt);
+
     return rc;
 }
 
diff --git a/crypto/openssl/test/cmsapitest.c b/crypto/openssl/test/cmsapitest.c
index 0752d14df09c..d908bc6fc4c4 100644
--- a/crypto/openssl/test/cmsapitest.c
+++ b/crypto/openssl/test/cmsapitest.c
@@ -21,6 +21,7 @@ static X509 *cert = NULL;
 static EVP_PKEY *privkey = NULL;
 static char *derin = NULL;
 static char *too_long_iv_cms_in = NULL;
+static char *pwri_kek_oob_der_in = NULL;
 
 static int test_encrypt_decrypt(const EVP_CIPHER *cipher)
 {
@@ -512,7 +513,48 @@ end:
     return ret;
 }
 
-OPT_TEST_DECLARE_USAGE("certfile privkeyfile derfile\n")
+/*
+ * CMS EnvelopedData with a single PasswordRecipientInfo using
+ * id-alg-PWRI-KEK and an AES-128-CFB key encryption cipher
+ * (1-byte effective block size).  The encryptedKey OCTET STRING is
+ * only two bytes long, so the wrapped key buffer is shorter than
+ * the seven octets read by the check-byte test in kek_unwrap_key().
+ * Prior to CVE-2026-9076 this triggered an out-of-bounds heap read;
+ * CMS_decrypt() must now fail cleanly.
+ */
+static int test_pwri_kek_unwrap_short_encrypted_key(void)
+{
+    BIO *in = NULL;
+    CMS_ContentInfo *cms = NULL;
+    unsigned long err = 0;
+    int ret = 0;
+
+    if (!TEST_ptr(in = BIO_new_file(pwri_kek_oob_der_in, "rb"))
+        || !TEST_ptr(cms = d2i_CMS_bio(in, NULL)))
+        goto end;
+
+    /*
+     * The unwrap is attempted eagerly inside CMS_decrypt_set1_password().
+     * It must fail cleanly (no OOB read) and report CMS_R_UNWRAP_FAILURE.
+     */
+    if (!TEST_false(CMS_decrypt_set1_password(cms,
+            (unsigned char *)"password", -1)))
+        goto end;
+
+    err = ERR_peek_last_error();
+    if (!TEST_int_eq(ERR_GET_LIB(err), ERR_LIB_CMS)
+        || !TEST_int_eq(ERR_GET_REASON(err), CMS_R_UNWRAP_FAILURE))
+        goto end;
+
+    ERR_clear_error();
+    ret = 1;
+end:
+    CMS_ContentInfo_free(cms);
+    BIO_free(in);
+    return ret;
+}
+
+OPT_TEST_DECLARE_USAGE("certfile privkeyfile derfile tooLongIVpem pwriKekOobDer\n")
 
 int setup_tests(void)
 {
@@ -527,7 +569,8 @@ int setup_tests(void)
     if (!TEST_ptr(certin = test_get_argument(0))
         || !TEST_ptr(privkeyin = test_get_argument(1))
         || !TEST_ptr(derin = test_get_argument(2))
-        || !TEST_ptr(too_long_iv_cms_in = test_get_argument(3)))
+        || !TEST_ptr(too_long_iv_cms_in = test_get_argument(3))
+        || !TEST_ptr(pwri_kek_oob_der_in = test_get_argument(4)))
*** 235 LINES SKIPPED ***

From nobody Tue Jun  9 19:16:56 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZdvD6PXTz6gTRV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:16:56 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZdvD3kzCz3KBD
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:56 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781032616;
	h=from:from:reply-to:subject:subject: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=lcJ4CtYBqb/Uu7VGniZLls+1cYGGQA8jr3J2NGZ1aPM=;
	b=tGRi5ne6B2o5hpWSa+89/2DCp+5uC9zjHczusPgqxrumW37JJoP4WtFBK+gwjK442hxEJ4
	Z0yxRmAPrZ68+3yTn4/SwRCRJCQ8j13+6D+m/xU0oR5O/GAlRPpsZUl/ocaoLIi9UAgjP2
	1Vg9+0uitBj2uDU4W0OVI5PaLIkZRo9F3wYnfyFA5nptwktpeN6okPV+UrE9GCRmhVB9WQ
	L8dhGzMCxG4if5Z+Abd6/qm31NyDDP9pB2z+6g1UUzP/RMtSAHzNhIkKDjtLvsfrrUol8r
	XR8BmQ3uN1b+CTc7jg16T4dL7te4lsB+RrT6Kx4pcATr3YWvQSFvxCwxxNNqTg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781032616; a=rsa-sha256; cv=none;
	b=kWWogeilaOgQ+te/ACxL+PmQ5KCR1RrrN6c9qWKAgTxyDhZ0IA4lsWpnj0DL8rG3bT8JyO
	5snmCNnDk8FkJjZpwG6hGrtdV3x8yUaYxpqKj25as0wSnrpp/VHEJ6E0lLUKhxkgPkRmCZ
	6Ft+F7i/5B+fw7CgGSAHym9AYYGED/WNI6Q0mHru+XGMyWSRxavzH+/gq0akt/cJpAV1TI
	k25f1oU1y8t60F/NDrZO/oNnunQBCk78Pn2swLyK7p6MvLgX7HAWfWMnCKnYEqJc8wAOPe
	onOpmZ4vCZcGobAi5iaKS42b7XePcIyocNX6fUKNHUTuz2xwJLOndMJ0Z1I7aw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781032616;
	h=from:from:reply-to:subject:subject: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=lcJ4CtYBqb/Uu7VGniZLls+1cYGGQA8jr3J2NGZ1aPM=;
	b=lYh5Q36Z6otftymMeS+cuRnCKohPuu/A42K7IYdfNrNYizT93jvII9qkCpTt51MQw/s0QW
	dupdcHfLmxpXKb3jI5jQ3v2n1VW7b6dOMlXQ5FzK51Nmr/tQjqUcnnceeGluhPhdJ2eMxa
	JZCK+86aP/NwDgKadaelf0PD563Ih8LQBxoItaENZ0HSn92VQedilIBpTEz+C0XyXc4pw9
	B9o90kN+Ty8z8k7JlwKCJncOPnPNcqtgc2tUWTmM7HW7FrHS8UcdtkMpwmBygOeu+t97G0
	vj1Qy7YsebrIyAD8+dYHTHywPck3ygVjQTopOVsbbJXw3wV1tKomFEba38tcEA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZdvD35pRznvk
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:16:56 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e495
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:16:56 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Gordon Tetlow <gordon@FreeBSD.org>
From: Mark Johnston <markj@FreeBSD.org>
Subject: git: 980ba4177b69 - main - ldns: Fix query response validation
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: 980ba4177b69655726485daa5ff3e931f19aa738
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:16:56 +0000
Message-Id: <6a2866a8.3e495.33ee7e98@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 980ba4177b69655726485daa5ff3e931f19aa738
Author:     Gordon Tetlow <gordon@FreeBSD.org>
AuthorDate: 2026-06-07 15:09:39 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 19:13:21 +0000

    ldns: Fix query response validation
    
    Approved by:    so
    Security:       FreeBSD-SA-26:36.ldns
    Security:       CVE-2026-10846
---
 contrib/ldns/error.c      |  6 ++++
 contrib/ldns/ldns/error.h |  5 ++-
 contrib/ldns/net.c        | 92 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/contrib/ldns/error.c b/contrib/ldns/error.c
index 5723aea9b4c2..4fc05d6d0d8f 100644
--- a/contrib/ldns/error.c
+++ b/contrib/ldns/error.c
@@ -191,6 +191,12 @@ ldns_lookup_table ldns_error_str[] = {
 		"at least 2 bytes of option data" },
 	{ LDNS_STATUS_EQUAL_RR,
 		"An identical RR already existed in the zone" },
+	{ LDNS_STATUS_ID_DID_NOT_MATCH,
+		"Response ID did not match the query ID" },
+	{ LDNS_STATUS_QDCOUNT_MUST_BE_ONE,
+		"The query section MUST contain exactly one question" },
+	{ LDNS_STATUS_QUERY_DID_NOT_MATCH,
+		"The question in the response did not match the query" },
 	{ 0, NULL }
 };
 
diff --git a/contrib/ldns/ldns/error.h b/contrib/ldns/ldns/error.h
index a76eb2ecab5d..41d64cc0815f 100644
--- a/contrib/ldns/ldns/error.h
+++ b/contrib/ldns/ldns/error.h
@@ -144,7 +144,10 @@ enum ldns_enum_status {
 	LDNS_STATUS_INVALID_SVCPARAM_VALUE,
 	LDNS_STATUS_NOT_EDE,
 	LDNS_STATUS_EDE_OPTION_MALFORMED,
-	LDNS_STATUS_EQUAL_RR
+	LDNS_STATUS_EQUAL_RR,
+	LDNS_STATUS_ID_DID_NOT_MATCH,
+	LDNS_STATUS_QDCOUNT_MUST_BE_ONE,
+	LDNS_STATUS_QUERY_DID_NOT_MATCH
 };
 typedef enum ldns_enum_status ldns_status;
 
diff --git a/contrib/ldns/net.c b/contrib/ldns/net.c
index e944d018b357..4c1f405419fb 100644
--- a/contrib/ldns/net.c
+++ b/contrib/ldns/net.c
@@ -441,6 +441,50 @@ ldns_udp_bgsend2(ldns_buffer *qbin,
 	return ldns_udp_bgsend_from(qbin, to, tolen, NULL, 0, timeout);
 }
 
+/** helper sockaddr compare function. returns -1, 0 or 1. */
+static int
+ldns_sockaddr_cmp(const struct sockaddr_storage* addr1, socklen_t len1,
+	const struct sockaddr_storage* addr2, socklen_t len2)
+{
+	struct sockaddr_in* p1_in = (struct sockaddr_in*)addr1;
+	struct sockaddr_in* p2_in = (struct sockaddr_in*)addr2;
+	struct sockaddr_in6* p1_in6 = (struct sockaddr_in6*)addr1;
+	struct sockaddr_in6* p2_in6 = (struct sockaddr_in6*)addr2;
+	if(len1 < len2)
+		return -1;
+	if(len1 > len2)
+		return 1;
+	assert(len1 == len2);
+	if( p1_in->sin_family < p2_in->sin_family)
+		return -1;
+	if( p1_in->sin_family > p2_in->sin_family)
+		return 1;
+	assert( p1_in->sin_family == p2_in->sin_family );
+	/* compare ip4 */
+	if( p1_in->sin_family == AF_INET ) {
+		/* just order it, ntohs not required */
+		if(p1_in->sin_port < p2_in->sin_port)
+			return -1;
+		if(p1_in->sin_port > p2_in->sin_port)
+			return 1;
+		assert(p1_in->sin_port == p2_in->sin_port);
+		return memcmp(&p1_in->sin_addr, &p2_in->sin_addr,
+			sizeof(p1_in->sin_addr));
+	} else if (p1_in6->sin6_family == AF_INET6) {
+		/* just order it, ntohs not required */
+		if(p1_in6->sin6_port < p2_in6->sin6_port)
+			return -1;
+		if(p1_in6->sin6_port > p2_in6->sin6_port)
+			return 1;
+		assert(p1_in6->sin6_port == p2_in6->sin6_port);
+		return memcmp(&p1_in6->sin6_addr, &p2_in6->sin6_addr,
+			sizeof(p1_in6->sin6_addr));
+	} else {
+		/* eek unknown type, perform this comparison for sanity. */
+		return memcmp(addr1, addr2, len1);
+	}
+}
+
 static ldns_status
 ldns_udp_send_from(uint8_t **result, ldns_buffer *qbin,
 		const struct sockaddr_storage *to  , socklen_t tolen,
@@ -449,6 +493,8 @@ ldns_udp_send_from(uint8_t **result, ldns_buffer *qbin,
 {
 	int sockfd;
 	uint8_t *answer;
+	struct sockaddr_storage reply_addr;
+	socklen_t reply_addr_len;
 
 	sockfd = ldns_udp_bgsend_from(qbin, to, tolen, from, fromlen, timeout);
 
@@ -467,13 +513,21 @@ ldns_udp_send_from(uint8_t **result, ldns_buffer *qbin,
          * but returns a 'NETWORK_ERROR' much like a timeout. */
         ldns_sock_nonblock(sockfd);
 
-	answer = ldns_udp_read_wire(sockfd, answer_size, NULL, NULL);
+	reply_addr_len = sizeof(reply_addr);
+	memset(&reply_addr, 0, reply_addr_len);
+	answer = ldns_udp_read_wire(sockfd, answer_size, &reply_addr,
+		&reply_addr_len);
 	close_socket(sockfd);
 
 	if (!answer) {
 		/* oops */
 		return LDNS_STATUS_NETWORK_ERR;
 	}
+	/* Check that the reply came from the to addr. */
+	if(ldns_sockaddr_cmp(to, tolen, &reply_addr, reply_addr_len) != 0) {
+		free(answer);
+		return LDNS_STATUS_NETWORK_ERR;
+	}
 
 	*result = answer;
 	return LDNS_STATUS_OK;
@@ -512,6 +566,10 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf
 
 	assert(r != NULL);
 
+	/* The query should at least have one question */
+	if(ldns_buffer_limit(qb) < 6 || ldns_buffer_read_u16_at(qb, 4) != 1)
+		return LDNS_STATUS_QDCOUNT_MUST_BE_ONE;
+
 	status = LDNS_STATUS_OK;
 	rtt = ldns_resolver_rtt(r);
 	ns_array = ldns_resolver_nameservers(r);
@@ -599,6 +657,16 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf
 			ldns_resolver_set_nameserver_rtt(r, i, LDNS_RESOLV_RTT_INF);
 			status = send_status;
 		}
+		if(reply_bytes && ldns_buffer_limit(qb) >= 2) {
+			uint16_t txid = ldns_buffer_read_u16_at(qb, 0);
+			if(reply_size < 2 ||
+				ldns_read_uint16(reply_bytes) != txid) {
+				status = LDNS_STATUS_ID_DID_NOT_MATCH;
+				LDNS_FREE(reply_bytes);
+				reply_bytes = NULL;
+				reply_size = 0;
+			}
+		}
 		
 		/* obey the fail directive */
 		if (!reply_bytes) {
@@ -608,7 +676,7 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf
 					LDNS_FREE(src);
 				}
 				LDNS_FREE(ns);
-				return LDNS_STATUS_ERR;
+				return status ? status : LDNS_STATUS_ERR;
 			} else {
 				LDNS_FREE(ns);
 				continue;
@@ -670,6 +738,26 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf
 #endif /* HAVE_SSL */
 
 	LDNS_FREE(reply_bytes);
+	if (reply) {
+		ldns_pkt *query = NULL;
+
+		if(ldns_pkt_qdcount(reply) != 1) {
+			status = LDNS_STATUS_QDCOUNT_MUST_BE_ONE;
+			ldns_pkt_free(reply);
+			reply = NULL;
+
+		} else if(ldns_wire2pkt(&query
+		                , ldns_buffer_begin(qb)
+		                , ldns_buffer_position(qb)) != LDNS_STATUS_OK
+		|| ldns_pkt_qdcount(query) != 1
+		|| ldns_rr_compare(ldns_rr_list_rr(ldns_pkt_question(query),0)
+		                  ,ldns_rr_list_rr(ldns_pkt_question(reply),0))){
+			status = LDNS_STATUS_QUERY_DID_NOT_MATCH;
+			ldns_pkt_free(reply);
+			reply = NULL;
+		}
+		ldns_pkt_free(query);
+	}
 	if (result) {
 		*result = reply;
 	}

From nobody Tue Jun  9 19:38:49 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZfNV0d4dz6gXCf
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19:38:50 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZfNT4XZ3z3tDk
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:38:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781033929;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=JnvGCPpiq232OtLj6iO+IWgmL159HT+srXKOXa4i7Ks=;
	b=Ns41Cn8d+wmOvzeAEXOR9F5VimVugW/XZhg8dtN8fFo097eqBUpC7OKdpIMnzrL7cHCFeN
	CxLrQ/uaitEqcg9TjyEWIuT8nBzJkzydSN1zS3jJQH7MPsnfcFNYvcDRoHNviuLX8Xcof4
	qTs2R+HpEzGQG8IKNcJQeXEkrHXyU53eFW0M6E6FHIrodmvy66LS0rM/oe0DvBHtaEyTHb
	EL1lxVA0r5oCRf+VWDB36XGgAk54ivdzmb3AQSrP2YND5uvz49CEHzl9wc4faXjBLzm8bo
	5AoK9aJ0lxVlr3ZOQVZAPE5Kieve4lg7O4uTZnXUwgrYryvJLcLU7LLjHGdrFA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781033929; a=rsa-sha256; cv=none;
	b=jc05M6P2pv52rg1zph9b7spsume3cGONxsM30SPHdgTSlWK5YyP3DwFgT0GaizC+Qc1xGM
	yw0WCYe8o8mOviFxq2tOv9dZOJ8XDUghluM4OgrSYbdPx/70Kmkhs6SPRrM8r+yKT7eMVP
	MArrNF5knUE/s2N+ENVmWJ3MmZUUBssvjy9pKN56n99PQS1Bsb7LCfT5y04TPxsBtu4Hoz
	HqNZ+SYNp2uMv1YlLBiw7X9qgx/0yqZHE3jK4FhNlvlGli8ZqBI5+RDoo3SAWD3vFt/NmO
	guPGbYMNeKPfdV18RIlIM7KwkRSc8h+f8Kf1AZjq3q4cxXcRgacYOMOgBINqTQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781033929;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=JnvGCPpiq232OtLj6iO+IWgmL159HT+srXKOXa4i7Ks=;
	b=FXin/4gvl6vm34zTU+rrVynp1cvRI+a45gJaUwpulvOcCVxogqOgZ496JEfJwnO9G8Br7C
	5EBEzlnIMoQyNbEGF5Zyi68pkBLTeFty96edL8wtoGQPz/MLJcRBn8W+3H7u3gBeF3HedR
	TFEzEG1/KvLjTuJrMf07ACBLhM6nNAsTksL3usN3ZA1peqLL3kg3exnhaWnm4e7LJ4yQAc
	ZsFuEYTTCwZaPpUdHXWOhCyHX7lc+hMZnWND10He4hQEcNi0PhIPpF5k1R0yOQqpjIdj4Z
	joOBuVjWC/ajCL7cgKyE9lNgH4jcIVZ8U8VIa+kkIyBN/KaIpkmrDDHEQnL4lA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZfNT38Pnzp3W
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:38:49 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 18d50
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:38:49 +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: 8f9aabbdbcd5 - main - OpenSSL: update MAINTAINERS/CODEOWNERS
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: 8f9aabbdbcd55b25b698bd762e8693d43f295bbd
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:38:49 +0000
Message-Id: <6a286bc9.18d50.ad63f70@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit 8f9aabbdbcd55b25b698bd762e8693d43f295bbd
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-06-09 19:34:41 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-06-09 19:37:52 +0000

    OpenSSL: update MAINTAINERS/CODEOWNERS
    
    I've been the quasi-defacto component maintainer for OpenSSL since
    14.0-RELEASE. Make it official via CODEOWNERS/MAINTAINERS.
    
    The goal is to help guide those interested in making changes in this
    space to solicit my input with the new vendor import process and
    coordinate fixes with upstream until things are at a point where most of
    this is automated a system of automated checks and balances to confirm
    that the updates being made to the component help maintain a security
    supply chain for this given component.
    
    Thank you benl and jkim for your past efforts in this component area.
    Hopefully I can do my part to help improve this critical space further
    as you both did in your respective tenures.
    
    MFC after:      3 days
---
 .github/CODEOWNERS | 7 ++++---
 MAINTAINERS        | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2df505627dc2..7d97938a2241 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -51,7 +51,7 @@
 /crypto/heimdal		@cschuber
 /crypto/krb5		@cschuber
 /crypto/openssh	@dag-erling @emaste
-/crypto/openssl/	@juikim
+/crypto/openssl/	@ngie-eign
 /etc/mail	@gshapiro
 /etc/sendmail	@gshapiro
 /kerberos5	@cschuber
@@ -76,7 +76,8 @@
 /sbin/mount_fusefs @asomers
 /sbin/nvmecontrol @bsdimp
 /sbin/veriexec/	@stephane-rochoy-stormshield
-/secure/usr.bin/openssl/	@juikim
+/secure/lib/libcrypto/	@ngie-eign
+/secure/lib/libssl/	@ngie-eign
 /share/man/		@concussious
 /share/mk	@bsdimp @bapt @bdrewery @brooksdavis @emaste
 /stand		@bsdimp
@@ -90,7 +91,7 @@
 /sys/arm64/rockchip	@evadot
 /sys/arm64/vmm		@zxombie
 /sys/compat/linprocfs/	@dag-erling
-/sys/crypto/openssl/	@juikim
+/sys/crypto/openssl/	@ngie-eign
 /sys/dev/drm2	@bsdimp
 /sys/dev/ftgpio/	@stephane-rochoy-stormshield
 /sys/dev/ftwd/	@stephane-rochoy-stormshield
diff --git a/MAINTAINERS b/MAINTAINERS
index 7878004cf3ff..4f4d15869c81 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -77,8 +77,8 @@ nvme(4)		imp	Pre-commit review requested.
 nvmecontrol(8)	imp	Pre-commit review requested.
 opencrypto	jhb	Pre-commit review requested.
 openpam		des	Pre-commit review required.
+openssl		ngie	Pre-commit review requested.
 openssh		emaste	Pre-commit review requested.
-openssl		benl	Pre-commit review requested.
 otus(4)		adrian	Pre-commit review requested, send to freebsd-wireless@freebsd.org
 sys/dev/pci	imp,jhb	Pre-commit review requested.
 pmcstudy(8)	rrs		Pre-commit review requested.

From nobody Tue Jun  9 19:46:34 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZfYW5G6Yz6gXSh
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 19: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 "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZfYW1qktz3vLp
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19: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=1781034399;
	h=from:from:reply-to:subject:subject: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=KtGok9QQkUqsFh0Ux6h9ZEUPSi0+eA32EVbTn3M5MPI=;
	b=jKOsO1Oqav+HtH0SCfMk3rEjt603gOiE7R8IZipTqHo62spaBWj7obVMgPJIAQSnKuniL5
	FWkCr3bCIujgXkLwde8PX0HOhXIEW1Ljar0mj4RlMCZrJWxFVORsTg6cbF71Z8PUdZ2QpP
	r+Osos5Xx1m4nFLlUbVG7VYv2yA6YIPZzmD17txN8q2sSEcwMu0kUiGL91iEE47Qfuh48j
	h4Dq3vP552u64zqjo15AYUyh0BNm2KbnmV1iHJbCeFUwmFwcy74BwkBOi1fri8bjW81S2c
	4VMxZI9WG+Lx7B8tBdHOLCLdqh6oUKwxssbKKrVypsVvGYo0lFOOI31/oFIhdQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781034399; a=rsa-sha256; cv=none;
	b=pBJzRdMslThqtlkod3+nEVOBXIx4qHTuCT5W8L2QA7JQk0J+YU1JMbTINhNz5JjvP56bR+
	zYO6qS0q/QjGekiMROmOV5zKlkns4/4ObKL2bhO00wdnis7igSRP8zSBThhXVLCEoKgSqH
	bsOMZA1pFShS3CnVAj/hAXveScil1vSUWLpfd3nqZaq+DZ5XmeJ0SK4AZrSm3HW2DLwklT
	GpMKfVHk3+UZdtcVw7ZbYXfOFc0tWKRRfEtLoa4TwwfL9oqu4chmI1DmnCv7iUey6QMGMw
	Rr0SeSTqqmSaT6yypeCIXzmaOf/jfrOoK6PJodPlEnEFZj2QnB/1PE/dOEzrug==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781034399;
	h=from:from:reply-to:subject:subject: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=KtGok9QQkUqsFh0Ux6h9ZEUPSi0+eA32EVbTn3M5MPI=;
	b=U8D9/tT1UtqzVrxCK42FGPPsdPY0stKoWkSmGNvNcXtGzqunQjhE82qsmNaYEwFcMKWDwd
	KCL1EvvilpC04Vy4m93JHGAkMimD+bCk9x/aoP6yCsJxynyRlx8YvpWETEmAfP2QpKMBqf
	mx4WoPT85eM4esTSyf2O3NJLgGawGAzCG5skjyEDt35sBQpYvu8FRtqdq5viQrAo+NeolR
	7ufF92I3+/DWi+pR7HeX1XKNXuEvOMY+zi5PrXNMuV0FM9Oj87ehn1wct6VpSg0cs5tkT1
	BevolkPFzyzYer4H7Wrb0eDWdxkPAwxv5rXMSmJ0YBVD4QUKMXskhMEUpE3OFA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZfYW1Jrnzpfd
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 19:46:39 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1978c
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 19:46:34 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Ali Mashtizadeh <ali@mashtizadeh.com>
From: Mitchell Horne <mhorne@FreeBSD.org>
Subject: git: dded0ab415cc - main - hwpmc: Disable AMD PMCs if in an unsupported VM
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: dded0ab415cc09eed506968366e383d406834823
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 19:46:34 +0000
Message-Id: <6a286d9a.1978c.49e1669d@gitrepo.freebsd.org>

The branch main has been updated by mhorne:

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

commit dded0ab415cc09eed506968366e383d406834823
Author:     Ali Mashtizadeh <ali@mashtizadeh.com>
AuthorDate: 2026-06-05 23:48:53 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2026-06-09 19:46:31 +0000

    hwpmc: Disable AMD PMCs if in an unsupported VM
    
    AMD does not have a CPUID bit to indicate the lack of K8 PMCs.  If all
    other PMC features are not present we should test an event selector to
    see if it stores and returns a value.  If the VM is implemented
    correctly, this should result in a #GP on the initial wrmsr_safe.  Bhyve
    and a few other VMs ignore writes, so I got one step further and test
    that it retains the OS and USR bits.
    
    Tested on Zen 5 native and a Zen 5 Bhyve virtual machine.  This code
    should not run on any recent hardware, except in a VM, as it checks that
    the core counter extension is missing.
    
    PR:             268943
    Reported by:    Sandipan Das, John F. Carr <jfc@mit.edu>
    Reviewed by:    mhorne, imp
    Sponsored by:   Netflix
    MFC after:      1 week
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/2272/changes
---
 sys/dev/hwpmc/hwpmc_amd.c | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c
index 299021494716..e76bdef118d5 100644
--- a/sys/dev/hwpmc/hwpmc_amd.c
+++ b/sys/dev/hwpmc/hwpmc_amd.c
@@ -869,12 +869,14 @@ amd_pcpu_fini(struct pmc_mdep *md, int cpu)
 struct pmc_mdep *
 pmc_amd_initialize(void)
 {
+	struct amd_descr *d;
 	struct pmc_classdep *pcd;
 	struct pmc_mdep *pmc_mdep;
+	uint64_t reg;
 	enum pmc_cputype cputype;
-	int error, i, ncpus, nclasses;
+	int ncpus, nclasses, i;
 	int family, model, stepping;
-	struct amd_descr *d;
+	int error;
 
 	/*
 	 * The presence of hardware performance counters on the AMD
@@ -905,6 +907,37 @@ pmc_amd_initialize(void)
 		return (NULL);
 	}
 
+	/*
+	 * Unforunately, there is no way to communicate that the original four
+	 * core counters are disabled through CPUIDs alone.  We attempt to
+	 * write and read back the MSR to validate that it is working.
+	 *
+	 * Referenced the BIOS and Kernel Developer Guide for AMD Athlon 64 and
+	 * AMD Opteron Processors 26094 Rev. 3.24 January, 2005 to ensure these
+	 * fields are valid.
+	 */
+	if ((amd_feature2 & AMDID2_PCXC) == 0) {
+		error = wrmsr_safe(AMD_PMC_EVSEL_0, AMD_PMC_OS | AMD_PMC_USR);
+		if (error != 0) {
+			printf("hwpmc: AMD evsel 0 wrmsr failed!\n");
+			return (NULL);
+		}
+
+		error = rdmsr_safe(AMD_PMC_EVSEL_0, &reg);
+		if (error != 0) {
+			printf("hwpmc: AMD evsel 0 rdmsr failed!\n");
+			return (NULL);
+		}
+
+		if (reg == 0) {
+			printf("hwpmc: AMD evsel returned invalid value! "
+			    "You may be in a VM without PMC support.\n");
+			return (NULL);
+		}
+
+		wrmsr(AMD_PMC_EVSEL_0, 0);
+	}
+
 	/*
 	 * From PPR for AMD Family 1Ah, a new cpuid leaf specifies the maximum
 	 * number of PMCs of each type.  If we do not have that leaf, we use

From nobody Tue Jun  9 21:01: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 4gZhCw0BMtz6gf4B
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 21:01:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZhCv5pT4z450p
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:01:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781038891;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=PYvCaroTXsVLJDcuRk5cqdqO/WDNSiIAklOkKXETTKU=;
	b=Kh08tUQiudNznfvZ0tSXvsICSOve7FZn0J3gAaNJsGG6VlgIOwNj1v5xqm748GkAc51fdv
	RoGX6RJgicXiK+wTTOtmR8PkxVoNfeEm3i7dfjsY5jSrEDS5lTgkpw852bq+9CyWABXrNb
	bMm57NdCXFc2OczMWkHPF45ZYFXUZOP7ijNmM4qDzGAcoqItqjILYKiTx/D8P/AN5gJ6vB
	uz2TWmFKT7r5XL7I8RWBuO16Tf+V20lLV3V0DAZBneUZnmQRuJbTKv/l3WMamHKnAaOsFH
	SFrAGhQ6H6KFdm+wnQJlCAJelmLWMEmoxw6Chtg29py3VlVV6cXL1fz0rfQZPQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781038891; a=rsa-sha256; cv=none;
	b=x44RtsZLjt7p2SBMpDFOOIbW6Wyr9WFQHkwmdicM6FRHJSUEmwDcfoO4+v8TxpVbPR/Ted
	5rUaASiy+4Xsxa7NgrHL3nv+cKR+M/E2ExZxOdB7QqXycReujB2hRAsZlZ16/6nPwaWxst
	VxP5EGSwiUDmHJJXQiLquhxMOX8M54vCKnnCk6lw2d7zelJIHgMyFUUSE44IDTxlmfrZgv
	kfDoSxLaYghAmS7eWcyWIOtHf3ht6u7agBJSXitqFVnbLep/iarnA6jcZvrID1Bbh70fxP
	1p6swsYTviSb2R3/bSXFmv5QzMQ34lajhk7QCcAuWOGlovoXfRfZXua8hwpClw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781038891;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=PYvCaroTXsVLJDcuRk5cqdqO/WDNSiIAklOkKXETTKU=;
	b=DkpHZslBfKFkhBoKKkp0DF8hfmx6w+ajEpNXLnB+PO7yIFQoo74MmcyhFE59eZ4EaFU6RE
	8rLsukekyI638FDToJqefuinfR4n5sTeYGuI6UGoDS98QnaddLZMJrFBjWDD+PfF1gqeOS
	8nNkdeu8PJE1H7APPS9XuPFmZfdOZsJS93VBf//aY0B/RGj6KA0DEKJu/mtYtYCbgvOZ9x
	vgD4mQ0xcH+cY+aCo3Ubhou0yUVtgoe3ZWc4+XW0ZOhZlszXuyEqU1125+20X3bBsa76mc
	SN7e0c6K1vjzQ9G2MpgW9juZ2Jft5ZtAjr3nhNqUTOO8gLBvOZwNcZL0RwLIHA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZhCv5J6vzqmG
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:01:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 22d6b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 21:01:31 +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: 6bd97b5f3778 - main - tests.7: Remove an unused configuration variable
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: 6bd97b5f3778aa36bcf89ff870bb1483b301a9be
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 21:01:31 +0000
Message-Id: <6a287f2b.22d6b.59a2caf0@gitrepo.freebsd.org>

The branch main has been updated by markj:

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

commit 6bd97b5f3778aa36bcf89ff870bb1483b301a9be
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-09 21:00:23 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-09 21:00:23 +0000

    tests.7: Remove an unused configuration variable
    
    No existing tests require it, and I cannot understand what kinds of test
    scenarios are supposed to require it.  Just remove it.
    
    While here, improve the documentation of test variables a bit.
    
    Reviewed by:    ngie
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D56604
---
 share/man/man7/tests.7 | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/share/man/man7/tests.7 b/share/man/man7/tests.7
index 97cc6beba4dc..4cea1470adb2 100644
--- a/share/man/man7/tests.7
+++ b/share/man/man7/tests.7
@@ -219,23 +219,16 @@ skipped.
 .Pp
 Test suites are configured by defining their configuration
 variables in
-.Pa /etc/kyua/kyua.conf .
-The format of this file is detailed in
+.Pa /etc/kyua/kyua.conf
+or on the command line.
+The format of the configuration file is detailed in
 .Xr kyua.conf 5 .
 .Pp
 The following configuration variables are available in the
 .Fx
-Test Suite:
+Test Suite; all of the variable names are prefixed with
+.Va test_suites.FreeBSD. .
 .Bl -tag -width "allow_sysctl_side_effects"
-.It Va allow_devfs_side_effects
-If defined, enables tests that may destroy and recreate semipermanent device
-nodes, like disk devices.
-Without this variable, tests may still create and destroy devices nodes that
-are normally transient, like /dev/tap* and /dev/pts*, as long as they clean
-them up afterwards.
-However, tests that require this variable have a relaxed cleanup requirement;
-they must recreate any devices that they destroyed, but not necessarily with
-the same devnames.
 .It Va allow_sysctl_side_effects
 Enables tests that change globally significant
 .Xr sysctl 8

From nobody Tue Jun  9 21:10: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 4gZhQB3Tdxz6gfXK
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 21:10:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZhQB0krXz45g9
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:10:26 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781039426;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lUuEc3GeWRuX/r1wEDkIVdSAySPAZFxQh8NFA81pTFM=;
	b=sK3H0dU495CjInyGzD99XQPJ16RKMSPDEIPblgwVNZ4FJbhBBJ0gxS4qqLiJXcPeu9HjEb
	yLDkx5ei8Kv3kYowOscIh36tmWdqZ4P1Oz2vRDRBQ+criLjJ0f9EcjFtHh8vr+79pzOfif
	tB41ybMSw2Q+d6dXnb7a7iOwEF6MWVxj6QktrBmCZsCYQdyCMrfYh6CVjLLRtApSQ+XlL6
	S4CHCP1LoyOBhaO5vc6pGnfnII+wTV78r7XXMDMUzJStMTnp/l5hu8FWjwvVb84DCY/g++
	enpv6EYcrsDlbgy43irSKiQQBbj5sMcvECc/jutF3S6A270SKwpzxn54Cc2t+g==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781039426; a=rsa-sha256; cv=none;
	b=oQymeFs3IVN75268bSmYZPvAq9R8vyHJjxny4yn1iqaUcw4/ABvocWeq24jGOJRtQ7u7Jp
	UkQPjEau4MBFLYUkyS8vnjhCoj3FRWAMTDh2QGxOoiT7fgHZ2tuPQdffhyid015X0NOe9P
	euQ6J5R705lP6O5grJMYh/2yzDveOe6zCqNkO0urKYRyuDHtmZQo+5MqYWN3jUBQiBLzM2
	Q1FKKRQ3g72F2kMH/uGpt7DLJY1GfOpIYvRiE0NQFLkHDRVIrLAOk9tOdZXa34xW0trmIw
	jLJMb6aKnavwl8plyOMO8iWHzHbyfs33D91IV3b4VX6pIUfSZvgANt2ILUsVXQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781039426;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=lUuEc3GeWRuX/r1wEDkIVdSAySPAZFxQh8NFA81pTFM=;
	b=Np8KAKuMgDlzSN+IVum6xl2XZqvQgJQCJisV2/0ManrT7Z4l+W67vz9iHI3EeclISYGZ6w
	HDIdNy3qpydZqjGZv4v8Vs9ECF0ILkMt/QmCN46DN1bYNAqqVEwm+3o1ZKGqHfqEZEGVFZ
	u9fnz3lC9IJ9ZtEKMVWncBLMxH7f1snteX+FX+88FCAelKB1OAN4Ai8feXoFP+AAa5drcY
	UB1prpDslX513zlUfMJHifOAGdp0W0tn4yMuazCZtONkggdZHOkte3Bt4Na1RPLx+BMtBi
	pgbImL06o4DDa2OUwamFE7EeeSzu2YjAby9Q1PWeD0XspAwW2rRuHVSWUVonBg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZhQ96T4TzqmS
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:10:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 24887
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 21:10:25 +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: a248c5545f6f - main - connectat(2): do not enable EMPTYPATH for AT_FDCWD
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: a248c5545f6fb861ea4200b69a58b2abcf815ce4
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 21:10:25 +0000
Message-Id: <6a288141.24887.260244b8@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit a248c5545f6fb861ea4200b69a58b2abcf815ce4
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-09 05:27:49 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-09 21:09:48 +0000

    connectat(2): do not enable EMPTYPATH for AT_FDCWD
    
    This restores existing error code for connect(2) over unix domain socket
    when the empty string is specified as socket address.
    
    Reported by:    eduardo
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57509
---
 sys/kern/uipc_usrreq.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 920588627914..b28aed291895 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -2921,8 +2921,9 @@ unp_connectat(int fd, struct socket *so, struct sockaddr *nam,
 		sa = malloc(sizeof(struct sockaddr_un), M_SONAME, M_WAITOK);
 	else
 		sa = NULL;
-	NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | EMPTYPATH,
-	    UIO_SYSSPACE, buf, fd, cap_rights_init_one(&rights, CAP_CONNECTAT));
+	NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF |
+	    (fd == AT_FDCWD ? 0 : EMPTYPATH), UIO_SYSSPACE, buf, fd,
+	    cap_rights_init_one(&rights, CAP_CONNECTAT));
 	error = namei(&nd);
 	if (error)
 		vp = NULL;

From nobody Tue Jun  9 21:17: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 4gZhZD10cCz6gfvs
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 21:17:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZhZD0WDNz47BR
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:17:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781039844;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=22AQ6mOeaUnfOe/P7bpG7CXYXBwgYqWjGPxFvqyrM9w=;
	b=IWwD1oYCE3tVkwI0CA5mhgUSzn1dxFidqOMOPNEUtIe/TuY12dEwOY71J0Ar5Yb8wA2wX4
	oTXv0WO5ZH79tQ01EdzLMcQjMj3G85T1Syyl3kHxwMWRXLjjUmjcMrEevZvT7CgdK+Hkt8
	V9y+YpGH3qiywsMwFK34qkNzV4QQT++L3GVNpAbTW7WUpAhR8VVXkvXYdkR9QhAKdo0f3P
	gamMHMUyNWhkAXjtmL1qseGdgtwM8m90iOXyYW13WbVinx70kOWkUaS9ATVqEqbuPPO29H
	W7rpuhu37NV5F6EuJAH+BbLi7Q9BXBnMxU4la6Q8bfwz9TrRomDPoDSWvNaaXw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781039844; a=rsa-sha256; cv=none;
	b=lwwSdw7Ji/qJ3Au2PghQOj5Y6/iTUXDGLDDjDHveQthcvcK8CQXMKZhM/3/7OtX3fo5/HY
	xsJObfe1INqhpdFYQY5/NqjM+nSdoJoEmeYQY9cH5FposyG+cBCmfoulIlaZ7w3in0Ir6G
	z76ofbtpnxFc/+jmoOwHP36rO6lxSlUSQ5r6RhpRBb0OujRJDgCibNXDYlmq/6ZdTbvgf+
	AuTPEhYZAO+7IONcZHHW1VsuQoM7gQcbHdJHQf89sSBcS7HkZjQbytLsCCXfzN6glXQABO
	EfQnkZuV3xdAuxBpOio7KBTzM7cTN9gmMH6PHJqkTyDWVnYQ5HCAoHqhzIwe1w==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781039844;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=22AQ6mOeaUnfOe/P7bpG7CXYXBwgYqWjGPxFvqyrM9w=;
	b=RCA8jg89nhAb1QQOI/6XFxe4Q3Uagou3igHi/jpbbqWo+OMn9E1iRvR6Fvtft8wJTVZ77K
	XIZNCvt2w9kOgoGfopaJgJ2DfDHKsDVQxskkITgqM44eymo2cUV+/OHKI01qLsCnr9dL26
	QAtA5zx9QZLg/6eehrlXP2tnQFT20TsRGdHbcWQUws6ehBUtMlFd9uSc21LLKxeHvHSD3F
	J/cZkhoSA3wQMW7jTgo57F+CSTVAK50G71YeNo5pAAF3k9+X0/flD4twNRQAgnR0bQFjyP
	gLs1hTnWzVEQc35pUFDVtvfRFCCbWI6nvyjZ8BHi3gizYPbsCsUvf4Pfns1/OQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZhZD05pfzs56
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:17:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 245d0
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 21:17:24 +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: 85a65e393092 - main - proc: add tree ref count
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: 85a65e3930924429903e09832d177f8aa09dfb47
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 21:17:24 +0000
Message-Id: <6a2882e4.245d0.2f8dfa80@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 85a65e3930924429903e09832d177f8aa09dfb47
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-06 18:02:29 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-09 21:11:45 +0000

    proc: add tree ref count
    
    Owning the reference prevents reuse of the struct proc.
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57492
---
 sys/kern/kern_exit.c | 2 +-
 sys/kern/kern_fork.c | 3 ++-
 sys/kern/kern_proc.c | 1 +
 sys/sys/proc.h       | 7 +++++++
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 63e46dcf46f7..2f94386c9101 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -1107,7 +1107,7 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options)
 
 	KASSERT(FIRST_THREAD_IN_PROC(p),
 	    ("proc_reap: no residual thread!"));
-	uma_zfree(proc_zone, p);
+	PROC_TREE_UNREF(p);
 	atomic_add_int(&nprocs, -1);
 }
 
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 2fb4d9d4274d..5318a737ea35 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -1051,6 +1051,7 @@ fork1(struct thread *td, struct fork_req *fr)
 		pages = kstack_pages;
 	/* Allocate new proc. */
 	newproc = uma_zalloc(proc_zone, M_WAITOK);
+	PROC_TREE_REF(newproc);
 	td2 = FIRST_THREAD_IN_PROC(newproc);
 	if (td2 == NULL) {
 		td2 = thread_alloc(pages);
@@ -1131,7 +1132,7 @@ fail1:
 fail2:
 	if (vm2 != NULL)
 		vmspace_free(vm2);
-	uma_zfree(proc_zone, newproc);
+	PROC_TREE_UNREF(newproc);
 	if ((flags & RFPROCDESC) != 0 && fp_procdesc != NULL) {
 		fdclose(td, fp_procdesc, *fr->fr_pd_fd);
 		fdrop(fp_procdesc, td);
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 43cb1f95b4ef..68845e5aa679 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -279,6 +279,7 @@ proc_init(void *mem, int size, int flags)
 	p->p_pgrp = NULL;
 	TAILQ_INIT(&p->p_kqtim_stop);
 	STAILQ_INIT(&p->p_ktr);
+	refcount_init(&p->p_tree_refcnt, 0);
 	return (0);
 }
 
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index 5f017e6ece2c..ff6e944a5ad2 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -779,6 +779,7 @@ struct proc {
 	TAILQ_HEAD(, kq_timer_cb_data)	p_kqtim_stop;	/* (c) */
 	LIST_ENTRY(proc) p_jaillist;	/* (d) Jail process linkage. */
 	u_int		p_asig;		/* (c) ASYNCEXIT pending signal. */
+	u_int		p_tree_refcnt;	/* (e) proctree refcount */
 };
 
 #define	p_session	p_pgrp->pg_session
@@ -804,6 +805,12 @@ struct proc {
 #define	PROC_PROFUNLOCK(p)	mtx_unlock_spin(&(p)->p_profmtx)
 #define	PROC_PROFLOCK_ASSERT(p, type)	mtx_assert(&(p)->p_profmtx, (type))
 
+#define	PROC_TREE_REF(p)	refcount_acquire(&(p)->p_tree_refcnt)
+#define	PROC_TREE_UNREF(p)	do {					\
+	if (refcount_release(&(p)->p_tree_refcnt))			\
+		uma_zfree(proc_zone, p);				\
+} while (0)
+
 /* These flags are kept in p_flag. */
 #define	P_ADVLOCK	0x00000001	/* Process may hold a POSIX advisory
 					   lock. */

From nobody Tue Jun  9 21:17: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 4gZhZF2r09z6gfvw
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 21:17:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZhZF0yzsz47Pt
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:17:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781039845;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=0wPodCJDttobio25UmwOZPfXmt1obdXf0Jh46kgLRX0=;
	b=ZxZq+1Z2Fyc3HZw8h08mq65uFLYr+xoF25BoVS9mUelf4lXrtnOTRwxaK0LyF2U0cA8fW5
	fMR/MEGE2Ld3gmxg/pCIzGe73k4K9ESb8PeORgFJaflcBrJmemir6rIeeA8Lw8sra18jO1
	dEGi5WTJrK3HGuCBYoL+8UYTrz2PJwe0wyGv/TaJdx/oUJzw31ElETj7dVF5SVT1V0m/rq
	I9AJoNDeKFm+Wj9PnCgsd4wzXbJc0xisVdkNPodazH+OfdshNQ1eB/glB7UldHsCuXWGo4
	5tFOifyfsS4tygOZZbULjqLRdN2RlW/gTVGAdmUPH4L0va3RNwo1NvqwUFNAIQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781039845; a=rsa-sha256; cv=none;
	b=fyfKnwzKxRJIOgtZU30PtMB28wq9pGi59Mo8KyEZKmP/WxeF0MjzkVQfT+DsbvilKsJg5g
	06NjW0XpN441UY181R/I6xdF8VmTkxyLJUHTxDc9Fc4q6jdTc/oP2kseWvvAReghPU1n6T
	RHA+o2fADlfDK5aTgKf8VH9Xhw7WVUHdRn14wqBBJpF9z1VN9ERYAX259jUKLmJpYF5SmK
	Pc9TKHGKFqQYyz7k3M/dvaGZiKf7xrQQpWufcV6sEDjPy8yjLHUVdcf5fknLgmTj0guhoQ
	qieLYUoDsxKY604MMSEGsDm9833qnAE3rj2OOIv/+sapMPLXW6HteNwNoE11gg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781039845;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=0wPodCJDttobio25UmwOZPfXmt1obdXf0Jh46kgLRX0=;
	b=nNRm5fb3lSyCSz4lMTVHA441WzOYIF3FdEDYiW3J8xCcu+UOeAcL3Ik5VAjEexAQAlCX0i
	VBCRBGkR1O+heS7Ew90bui3v7cDnM4jx9vj02nQfOzYdyXX4RlJ6fDhT0Jz7pIr1bCJX6R
	NE4iLKXH1DHBAa7zylGvBL973OPJD2HQsKi1BXUbqiEyilPrTrspm4P8Iukc3havoLgh6s
	dd1nkcrWpvvT7McDH8dRaimsRVdQ6V1FI9we9tl9TLht0ECXLvxw0hPxmEGhCUwfctPKwb
	JrMOcw9V5VAMeikAwhlmRXGNsjTkDC1fzjgw1RHhOyZSOBLHNErnw5DmnF7lOw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZhZF0YqYzqpw
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 21:17:25 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 2374b
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 21:17:25 +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: 44970244e6d8 - main - reap_kill_subtree_once: when proctree_lock is dropped, reaper might 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: kib
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 44970244e6d872103f36eae34218b672b69579dd
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 21:17:25 +0000
Message-Id: <6a2882e5.2374b.62dc910b@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 44970244e6d872103f36eae34218b672b69579dd
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-05 23:57:16 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-09 21:11:45 +0000

    reap_kill_subtree_once: when proctree_lock is dropped, reaper might change
    
    Recalculate it to iterate over the right set of processes.
    
    Prevent reaper' struct proc reuse by holding the tree ref on it.
    Since our reference is taken under the proctree lock and we know that
    the process is reaper, it cannot go away.  The process hold count
    (p_lock) cannot be used there because p_lock intent is prevent exit, but
    reaper owns its reap-children until reaped itself, i.e. even a zombie
    reaper is still on duty.
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57492
---
 sys/kern/kern_procctl.c | 43 +++++++++++++++++++++++++++++--------------
 1 file changed, 29 insertions(+), 14 deletions(-)

diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c
index 1ff1b15767b5..c8d14aa2f2f6 100644
--- a/sys/kern/kern_procctl.c
+++ b/sys/kern/kern_procctl.c
@@ -49,6 +49,7 @@
 #include <vm/pmap.h>
 #include <vm/vm_map.h>
 #include <vm/vm_extern.h>
+#include <vm/uma.h>
 
 static int
 protect_setchild(struct thread *td, struct proc *p, int flags)
@@ -366,13 +367,7 @@ reap_kill_sched(struct reap_kill_tracker_head *tracker, struct proc *p2)
 {
 	struct reap_kill_tracker *t;
 
-	PROC_LOCK(p2);
-	if ((p2->p_flag2 & P2_WEXIT) != 0) {
-		PROC_UNLOCK(p2);
-		return;
-	}
-	_PHOLD(p2);
-	PROC_UNLOCK(p2);
+	PROC_TREE_REF(p2);
 	t = malloc(sizeof(struct reap_kill_tracker), M_TEMP, M_WAITOK);
 	t->parent = p2;
 	TAILQ_INSERT_TAIL(tracker, t, link);
@@ -381,7 +376,7 @@ reap_kill_sched(struct reap_kill_tracker_head *tracker, struct proc *p2)
 static void
 reap_kill_sched_free(struct reap_kill_tracker *t)
 {
-	PRELE(t->parent);
+	PROC_TREE_UNREF(t->parent);
 	free(t, M_TEMP);
 }
 
@@ -416,16 +411,17 @@ reap_kill_children(struct thread *td, struct proc *reaper,
 }
 
 static bool
-reap_kill_subtree_once(struct thread *td, struct proc *p, struct proc *reaper,
+reap_kill_subtree_once(struct thread *td, struct proc *p, struct proc **reaperp,
     struct unrhdr *pids, struct reap_kill_proc_work *w)
 {
 	struct reap_kill_tracker_head tracker;
 	struct reap_kill_tracker *t;
-	struct proc *p2;
+	struct proc *p2, *reaper, *old_reaper;
 	bool proctree_dropped, res;
 
 	res = false;
 	TAILQ_INIT(&tracker);
+	reaper = *reaperp;
 	reap_kill_sched(&tracker, reaper);
 	while ((t = TAILQ_FIRST(&tracker)) != NULL) {
 		TAILQ_REMOVE(&tracker, t, link);
@@ -483,8 +479,24 @@ again:
 			}
 			PROC_UNLOCK(p2);
 			res = true;
-			if (proctree_dropped)
+			if (proctree_dropped) {
+				old_reaper = reaper;
+				reaper = get_reaper_or_p(p);
+				if (old_reaper != reaper) {
+					*reaperp = reaper;
+					PROC_TREE_REF(reaper);
+					PROC_TREE_UNREF(old_reaper);
+					reap_kill_sched(&tracker, reaper);
+					/*
+					 * Already scheduled kill
+					 * actions should be kept on
+					 * the schedule, the processes
+					 * are inherited by the new
+					 * reaper.
+					 */
+				}
 				goto again;
+			}
 		}
 		reap_kill_sched_free(t);
 	}
@@ -492,7 +504,7 @@ again:
 }
 
 static void
-reap_kill_subtree(struct thread *td, struct proc *p, struct proc *reaper,
+reap_kill_subtree(struct thread *td, struct proc *p, struct proc **reaperp,
     struct reap_kill_proc_work *w)
 {
 	struct unrhdr pids;
@@ -512,7 +524,7 @@ reap_kill_subtree(struct thread *td, struct proc *p, struct proc *reaper,
 		goto out;
 	}
 	PROC_UNLOCK(td->td_proc);
-	while (reap_kill_subtree_once(td, p, reaper, &pids, w))
+	while (reap_kill_subtree_once(td, p, reaperp, &pids, w))
 	       ;
 
 	ihandle = create_iter_unr(&pids);
@@ -562,6 +574,7 @@ reap_kill(struct thread *td, struct proc *p, void *data)
 		return (EINVAL);
 	PROC_UNLOCK(p);
 	reaper = get_reaper_or_p(p);
+
 	ksiginfo_init(&ksi);
 	ksi.ksi_signo = rk->rk_sig;
 	ksi.ksi_code = SI_USER;
@@ -577,7 +590,9 @@ reap_kill(struct thread *td, struct proc *p, void *data)
 		w.ksi = &ksi;
 		w.rk = rk;
 		w.error = &error;
-		reap_kill_subtree(td, p, reaper, &w);
+		PROC_TREE_REF(reaper);
+		reap_kill_subtree(td, p, &reaper, &w);
+		PROC_TREE_UNREF(reaper);
 		crfree(w.cr);
 	}
 	PROC_LOCK(p);

From nobody Tue Jun  9 22:32:33 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZkDx46C9z6gmLn
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 22:32:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZkDx33X2z3JBc
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 22:32:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781044353;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Nde1Qw+cDllbC6t3PPGGc+dEF4GsS9vzk8liR9ee8L0=;
	b=TgSHTeCZf+ZuXIZFhpFazt2psuwsRJkiiP1be9CWjFcUknQuujxhjCVruDw0BhUBGuEfUw
	5lVVTQARJ0EyQBfQlgjgfDPvnk/i1LYvHw1Ged8QsvyC/psKKW9o3VJFz5QOwQuBQzuVhl
	LCejDu33ZAfR7yZBJAmH4X6nc6AQndp8s4vM8cLAcxz5HgZZ29XPLMjJVGtYAXTKH9GS3q
	DL5Y4D862oQVmqA79UVkYPCadivf5VenEbwrU4pV8LlBlpoMUbZvCQQBjM4F+G57sBJHGW
	cmTzey5ohKh6mYNvz6VYxdpeckV0RpjwioPjNdC1w7JkrO6Ton+Z+5NEpCa8UA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781044353; a=rsa-sha256; cv=none;
	b=Z9VuFeCs/h9Pf+aqyUZftnnpIR0Z8x5Q5ErzFChaTzL4pWP6Twq9eIxtBgEihI/meGcUOs
	NfpQ0VavBaMOY4c2YgHx4C50a1iPmtCqpPWZgMClJT/wz4T6/tjQMYC2OCWAoWvaWb+Sni
	chR6zFlePRfy2Xiy3670UOUQR+HmeIKvWnsJU18kEukRDqt70dBEKfGfq/JY32GLEYW0Hv
	aaSBHwuMwwNLiQvhJJGJCf3q+c4hzzy8wNjSIp8Nj/RpdrNve5rlCAxfA++d4sTVQ7AmXF
	jo6zsZqYtegGEbZjDhrNo4lOYYYyDO5de63JM/q91O/VNIE1OQps58wiPg7/Zg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781044353;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Nde1Qw+cDllbC6t3PPGGc+dEF4GsS9vzk8liR9ee8L0=;
	b=OE9/Kd/4/Mi/RExTA8coRYD8vWL+YEyPnQf+OVIQqi+dto3GDAciay35NwjIRL/hyIRWIp
	QPhQ0JrZG5HHbJQ11VdXWYnZqaKTOsBpSuQON0jlg5jUR0Ff5hrlU8m93txt26pRr+15++
	jimZq3DNpaysOmssJTXmWrXt9ju5EZ8fjhEJL0S0UHsOuaBeZx85dPxav/iGyAalWJ9ty1
	S0Bu+DC4mKW3krD0oE3Lq5DGU8E53XpomHawHAPdIQlYMq+3aFCHZ8fOXlLvCWPrKg/V4S
	yjyNFhA8KcoLzfPQGxxeTs9QVhCxcefUtR93qH4q6KgWbn8ziTJWhLcnK3gelw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZkDx2fKYzv2X
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 22:32:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 320f5
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 22:32:33 +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: b52dc2067618 - main - jail: Don't double-free the current prison in kern_jail_set/get
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: b52dc2067618fc73e8d4d20e4035d1a67a8b455d
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 22:32:33 +0000
Message-Id: <6a289481.320f5.78341fda@gitrepo.freebsd.org>

The branch main has been updated by jamie:

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

commit b52dc2067618fc73e8d4d20e4035d1a67a8b455d
Author:     Jamie Gritton <jamie@FreeBSD.org>
AuthorDate: 2026-06-09 22:31:40 +0000
Commit:     Jamie Gritton <jamie@FreeBSD.org>
CommitDate: 2026-06-09 22:31:40 +0000

    jail: Don't double-free the current prison in kern_jail_set/get
    
    Reported by:    Yuxiang Yang, et al <yangyx22 at mails.tsinghua.edu.cn>
    Discussed with: markj
    MFC after:      3 days
---
 sys/kern/kern_jail.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index bc80adb91cd6..a8d44012db0f 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -1117,14 +1117,17 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
 			 * Look up and create jails based on the
 			 * descriptor's prison.
 			 */
-			prison_free(mypr);
-			error = jaildesc_find(td, jfd_in, &mypr, NULL);
+			struct prison *jdpr;
+
+			error = jaildesc_find(td, jfd_in, &jdpr, NULL);
 			if (error != 0) {
 				vfs_opterror(opts, error == ENOENT ?
 				    "descriptor to dead jail" :
 				    "not a jail descriptor");
 				goto done_errmsg;
 			}
+			prison_free(mypr);
+			mypr = jdpr;
 			if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) {
 				error = EPERM;
 				goto done_free;
@@ -2618,14 +2621,17 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags)
 		}
 		if (flags & JAIL_AT_DESC) {
 			/* Look up jails based on the descriptor's prison. */
-			prison_free(mypr);
-			error = jaildesc_find(td, jfd_in, &mypr, NULL);
+			struct prison *jdpr;
+
+			error = jaildesc_find(td, jfd_in, &jdpr, NULL);
 			if (error != 0) {
 				vfs_opterror(opts, error == ENOENT ?
 				    "descriptor to dead jail" :
 				    "not a jail descriptor");
 				goto done;
 			}
+			prison_free(mypr);
+			mypr = jdpr;
 		}
 		if (flags & (JAIL_GET_DESC | JAIL_OWN_DESC)) {
 			/* Allocate a jail descriptor to return later. */

From nobody Tue Jun  9 23:14:18 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gZl9R2dk6z6grLm;
	Tue, 09 Jun 2026 23:14:35 +0000 (UTC)
	(envelope-from kib@freebsd.org)
Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZl9Q3wrYz3Qrf;
	Tue, 09 Jun 2026 23:14:34 +0000 (UTC)
	(envelope-from kib@freebsd.org)
Authentication-Results: mx1.freebsd.org;
	none
Received: from tom.home (kib@localhost [127.0.0.1] (may be forged))
	by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 659NEIVX062790;
	Wed, 10 Jun 2026 02:14:21 +0300 (EEST)
	(envelope-from kib@freebsd.org)
DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 659NEIVX062790
Received: (from kostik@localhost)
	by tom.home (8.18.1/8.18.1/Submit) id 659NEINt062789;
	Wed, 10 Jun 2026 02:14:18 +0300 (EEST)
	(envelope-from kib@freebsd.org)
X-Authentication-Warning: tom.home: kostik set sender to kib@freebsd.org using -f
Date: Wed, 10 Jun 2026 02:14:18 +0300
From: Konstantin Belousov <kib@freebsd.org>
To: John Baldwin <jhb@freebsd.org>
Cc: Robert Clausecker <fuz@fuz.su>, Robert Clausecker <fuz@freebsd.org>,
        src-committers@freebsd.org, dev-commits-src-all@freebsd.org,
        dev-commits-src-main@freebsd.org, Faraz Vahedi <kfv@kfv.io>
Subject: Re: git: 5f732742ad5b - main - libc: Add free_sized() and
 free_aligned_sized() as per C23
Message-ID: <aiieSu8UZsZezs4F@kib.kiev.ua>
References: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org>
 <aidusnnCokFs58xX@kib.kiev.ua>
 <aifdH5XKiyPjXguR@fuz.su>
 <15221817-b23e-4cd2-94a9-edff4d06bb3b@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: <15221817-b23e-4cd2-94a9-edff4d06bb3b@FreeBSD.org>
X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00
	autolearn=ham autolearn_force=no version=4.0.2
X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on tom.home
X-Spamd-Result: default: False [-4.00 / 15.00];
	REPLY(-4.00)[];
	ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]
X-Rspamd-Queue-Id: 4gZl9Q3wrYz3Qrf
X-Spamd-Bar: ----
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated

On Tue, Jun 09, 2026 at 10:06:09AM -0400, John Baldwin wrote:
> On 6/9/26 05:30, Robert Clausecker wrote:
> > Hi Konstantin,
> > 
> > Am Tue, Jun 09, 2026 at 04:38:58AM +0300 schrieb Konstantin Belousov:
> > > On Sun, Jun 07, 2026 at 09:00:59PM +0000, Robert Clausecker wrote:
> > > > The branch main has been updated by fuz:
> > > > 
> > > > URL: https://cgit.FreeBSD.org/src/commit/?id=5f732742ad5b3133a860a8969cf2bd13dc9ac358
> > > > 
> > > > commit 5f732742ad5b3133a860a8969cf2bd13dc9ac358
> > > > Author:     Faraz Vahedi <kfv@kfv.io>
> > > > AuthorDate: 2026-05-16 18:36:17 +0000
> > > > Commit:     Robert Clausecker <fuz@FreeBSD.org>
> > > > CommitDate: 2026-06-07 20:59:19 +0000
> > > > 
> > > >      libc: Add free_sized() and free_aligned_sized() as per C23
> > > 
> > > > +FBSD_1.9 {
> > > > +	free_sized;
> > > > +	free_aligned_sized;
> > > 
> > > > +	__free_sized;
> > > > +	__free_aligned_sized;
> > > 
> > > Why these two symbols (from private C namespace) need to be exported?
> > > And then, why they need to be exported in the public version?
> > > 
> > > > +};
> > 
> > This is for consistency with the other libc allocator symbols, which are also
> > exported.  I suppose this is useful if you e.g. wish to hook or replace the
> > allocation machinery, giving you access to the originals where desired.
> 
> That's what RTLD_NEXT is for?

Well there is indeed 9dfba391d62cb.

But since we are trying to discourage the non-standard interpretation
of the weak symbol semantic from rtld (of course this can never happen),
might be it is not too wise to extend the hack.

Anyway, it is in now, so let it be.

From nobody Tue Jun  9 23:34: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 4gZlbz3kSTz6gtFd
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Tue, 09 Jun 2026 23:34:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZlby734Cz43YH
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 23:34:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781048047;
	h=from:from:reply-to:subject:subject: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=+WYAlDHR5w3EDay5uy2znpPodNOPH4nz1l02t0GOLd0=;
	b=JmAPELvPFl7GzWkQg7TkF+lBW5EwrLxwHwomOdErcyhU2txMe9Fat0F//47bBPoPv9woby
	H86KiZ8US7Xi8a7cej5zUBSAj2QcYcWOAvd2MHJc89VrT+30mHkPl3koy0y/Tte3dzo4DI
	bv/xjrfGH3tV2mdHRK48zGgX97v9Q/ZLUUBjbr69TFrC4MF1ayisY/B4qV28Yl4Y37QWna
	3sORBkJjhcVP5FRg7v9jWMDttvWLX/zHLIbWbuqIFxG2YCSu8eiuu1shabMzKDtJgDSpST
	S9Jd3y687sOszkIDOGpsF1icNkP88fHfzvJd9RnUuwZM5MnYL4S6QU02xbCFLQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781048047; a=rsa-sha256; cv=none;
	b=VG74IWcDNETJjcl/+az4A1/izEmugFMTuVlx6MTxayJjdyTVxNvMy4rSdlL+2XEMyYhs2D
	GzNCgil2qMhRGZYejhcUlpocsLcyo8MOBUGh7qKtCZwQ3/G/P19AlBxqjMg5WlD/A2CUbZ
	nuWRctIrC4stGDPwQCion4Qb0oWorBOxtOECeDpRvdtZRJruXrk0taUnv79gRMUkZ3Fxbh
	Tpb1ffwPNo0PS0j4TyHZrNdZkIv1R7KL/tt09DOPrISdHToFpnzleOK4t73l9EFpRHitnw
	Kywt7ueHOmVdKFa9XiBQD1gnHqPFtmNQdLwizaYcqFMICcrMu8usfSPgE7gRIA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781048047;
	h=from:from:reply-to:subject:subject: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=+WYAlDHR5w3EDay5uy2znpPodNOPH4nz1l02t0GOLd0=;
	b=RUquMeQoxoASpC8DyikL0vYQo86di6NLuTz59BI3g+ToJWW+KKQnU+fz+pRJkBwFdGIxKq
	OP1owrXD8jQA0T0Vr7mNhGvFHaqG2zSTadY7w2sR+xqbM5srfPcdYqLfo83mHLaLsdEOJr
	pNY80bW8CX91Qyle9CrxGO7a+biDtpa1dOfqVwo8pxFsc3+FpNYe1huBJeFLZAVvzbj4B0
	EUeqYqo03RhIcq+X5EwWd067MaHMR5UZkjF11tKgNrSVI+wsA5vER+s53oYNQgE5bEX+ul
	f5jeQvVb2Dr3FGD/AiPXmXrg2I8CBi90UaG4NjCYg1uC75NIda1spzqRAxz3zA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZlby6WLkzvxT
	for <dev-commits-src-main@FreeBSD.org>; Tue, 09 Jun 2026 23:34:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3b89e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Tue, 09 Jun 2026 23:34:01 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Faraz Vahedi <kfv@kfv.io>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 1c85c5eea09a - main - loader.efi: Search boot device before foreign ZFS pools
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: 1c85c5eea09a4c9649b7634225220337e6005cd4
Auto-Submitted: auto-generated
Date: Tue, 09 Jun 2026 23:34:01 +0000
Message-Id: <6a28a2e9.3b89e.f7901f7@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 1c85c5eea09a4c9649b7634225220337e6005cd4
Author:     Faraz Vahedi <kfv@kfv.io>
AuthorDate: 2026-05-26 14:35:42 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-09 23:33:05 +0000

    loader.efi: Search boot device before foreign ZFS pools
    
    When `boot_policy` is `RELAXED`, `find_currdev()` tried ZFS pools on every
    disk before searching the boot ESP and sibling partitions. Booting install
    media from USB could therefore select an installed ZFS root on internal
    storage instead of the intended memstick UFS image.
    
    Extract the boot-device partition walk into `try_boot_device_partitions()`
    and run it before relaxed foreign-pool probing. The ZFS search order is
    preserved; pools on the boot device are tried first, followed by pools on
    other devices when `boot_policy` is `RELAXED` and the boot device yields
    no bootable root.
    
    Signed-off-by: Faraz Vahedi <kfv@kfv.io>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2239
---
 stand/efi/loader/main.c | 125 ++++++++++++++++++++++++++++--------------------
 1 file changed, 72 insertions(+), 53 deletions(-)

diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
index 2dc7924b9fcd..1444b1eee17d 100644
--- a/stand/efi/loader/main.c
+++ b/stand/efi/loader/main.c
@@ -364,6 +364,49 @@ try_as_currdev(pdinfo_t *hd, pdinfo_t *pp)
 	return (sanity_check_currdev());
 }
 
+/*
+ * Search the boot device first (i.e. the ESP and any sibling partitions).
+ * Per the UEFI specification, filesystems on other devices must not be
+ * preferred until the boot device has been fully exhausted.
+ */
+static int
+try_boot_device_partitions(void)
+{
+	pdinfo_t *dp, *pp, *espdp;
+	CHAR16 *text;
+
+	dp = efiblk_get_pdinfo_by_handle(boot_img->DeviceHandle);
+	if (dp == NULL)
+		return (ENOENT);
+
+	text = efi_devpath_name(dp->pd_devpath);
+	if (text != NULL) {
+		printf("Trying ESP: %S\n", text);
+		efi_free_devpath_name(text);
+	}
+	set_currdev_pdinfo(dp);
+	if (sanity_check_currdev())
+		return (0);
+
+	if (dp->pd_parent == NULL)
+		return (ENOENT);
+
+	espdp = dp;
+	dp = dp->pd_parent;
+	STAILQ_FOREACH(pp, &dp->pd_part, pd_link) {
+		if (espdp == pp)
+			continue;
+		text = efi_devpath_name(pp->pd_devpath);
+		if (text != NULL) {
+			printf("Trying: %S\n", text);
+			efi_free_devpath_name(text);
+		}
+		if (try_as_currdev(dp, pp))
+			return (0);
+	}
+	return (ENOENT);
+}
+
 /*
  * Sometimes we get filenames that are all upper case
  * and/or have backslashes in them. Filter all this out
@@ -535,10 +578,9 @@ match_boot_info(char *boot_info, size_t bisz)
 static int
 find_currdev(bool do_bootmgr, char *boot_info, size_t boot_info_sz)
 {
-	pdinfo_t *dp, *pp;
+	pdinfo_t *dp;
 	EFI_DEVICE_PATH *devpath, *copy;
 	EFI_HANDLE h;
-	CHAR16 *text;
 	struct devsw *dev;
 	int unit;
 	uint64_t extra;
@@ -606,65 +648,42 @@ find_currdev(bool do_bootmgr, char *boot_info, size_t boot_info_sz)
 		return (0);
 #endif /* MD_IMAGE_SIZE */
 
-#ifdef EFI_ZFS_BOOT
-	zfsinfo_list_t *zfsinfo = efizfs_get_zfsinfo_list();
-	zfsinfo_t *zi;
+	if (try_boot_device_partitions() == 0)
+		return (0);
 
-	/*
-	 * First try the zfs pool(s) that were on the boot device, then
-	 * try any other pool if we have a relaxed policy. zfsinfo has
-	 * the pools that had elements on the boot device first.
-	 */
-	STAILQ_FOREACH(zi, zfsinfo, zi_link) {
-		if (boot_policy == STRICT &&
-		    zi->zi_handle != boot_img->DeviceHandle)
-			continue;
-		printf("Trying ZFS pool 0x%jx\n", zi->zi_pool_guid);
-		if (probe_zfs_currdev(zi->zi_pool_guid))
-			return (0);
-	}
-#endif /* EFI_ZFS_BOOT */
+#ifdef EFI_ZFS_BOOT
+	{
+		zfsinfo_list_t *zfsinfo = efizfs_get_zfsinfo_list();
+		zfsinfo_t *zi;
 
-	/*
-	 * Try to find the block device by its handle based on the
-	 * image we're booting. If we can't find a sane partition,
-	 * search all the other partitions of the disk. We do not
-	 * search other disks because it's a violation of the UEFI
-	 * boot protocol to do so. We fail and let UEFI go on to
-	 * the next candidate.
-	 */
-	dp = efiblk_get_pdinfo_by_handle(boot_img->DeviceHandle);
-	if (dp != NULL) {
-		text = efi_devpath_name(dp->pd_devpath);
-		if (text != NULL) {
-			printf("Trying ESP: %S\n", text);
-			efi_free_devpath_name(text);
+		/*
+		 * Try ZFS pool(s) on the boot device not reachable via
+		 * the partition walk above.
+		 */
+		STAILQ_FOREACH(zi, zfsinfo, zi_link) {
+			if (zi->zi_handle != boot_img->DeviceHandle)
+				continue;
+			printf("Trying ZFS pool 0x%jx\n", zi->zi_pool_guid);
+			if (probe_zfs_currdev(zi->zi_pool_guid))
+				return (0);
 		}
-		set_currdev_pdinfo(dp);
-		if (sanity_check_currdev())
-			return (0);
-		if (dp->pd_parent != NULL) {
-			pdinfo_t *espdp = dp;
-			dp = dp->pd_parent;
-			STAILQ_FOREACH(pp, &dp->pd_part, pd_link) {
-				/* Already tried the ESP */
-				if (espdp == pp)
+
+		/*
+		 * With a relaxed policy, try pools on other devices only
+		 * after the boot device has no bootable root.
+		 */
+		if (boot_policy == RELAXED) {
+			STAILQ_FOREACH(zi, zfsinfo, zi_link) {
+				if (zi->zi_handle == boot_img->DeviceHandle)
 					continue;
-				/*
-				 * Roll up the ZFS special case
-				 * for those partitions that have
-				 * zpools on them.
-				 */
-				text = efi_devpath_name(pp->pd_devpath);
-				if (text != NULL) {
-					printf("Trying: %S\n", text);
-					efi_free_devpath_name(text);
-				}
-				if (try_as_currdev(dp, pp))
+				printf("Trying ZFS pool 0x%jx\n",
+				    zi->zi_pool_guid);
+				if (probe_zfs_currdev(zi->zi_pool_guid))
 					return (0);
 			}
 		}
 	}
+#endif /* EFI_ZFS_BOOT */
 
 	/*
 	 * Try the device handle from our loaded image first.  If that

From nobody Wed Jun 10 00:32: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 4gZmvD5573z6h25h
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 00:32:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZmvD30Ptz3X3t
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 00:32:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781051544;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=SFd19c9FTb1zHi+CtVbZuL5eyeYJT7MRub8O/f8ZQLc=;
	b=wWvd2KpMZAtDFLt71vgkL0siG3+B3CpTcqgM1cyNwfOD9Ee/Dp4RFnc1qXFToF+EOtt/VR
	D8q+a8q8S7znMyxCzj6V4k5Pb3y0osVUyxDSsmUhHe3yUNsadFxDvGzWvZECIYPaxInHZY
	OrqgGmajLs2Dcdc1kiAAarvHc+toHFZBpJNAxLvOeenfvs0VNCUIOpSUlPp+4x4bvq/mwx
	9384bkEn/VT3uPH+fGX6JzzGhpQj2o7Cbp9IPvlO5LgIZyzjKvjpl82vfvW4KgIO7Jdu3N
	3pFz45m9Q/3OzHPAj1oAkGYtkOGPUKeYCUVseUlO0r0rF5QAQOqUiIZjAd6ltw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781051544; a=rsa-sha256; cv=none;
	b=TDaAOU31GajzhkythbjQy+qLMNAdNR1i5D6IETYJ7keaYhXiYfvPLRuR0NReK4zyrCN02B
	MQRnj+hyOGwq0RqLaeawju19EbQXNP+8jVhwnf+1ou9O4N37cdlY0iCi6HBtwL0TaGdML6
	xKo+R9/jjvz5hq4sAEq1nilzMkFFKawReAKDfgEEAaHLK8Bjr755Oxp3ZNnwhD5Sm4qRUS
	diuCT78G6CM/dp+s35rjFgxMUITWoLBN8FmK4Q17HVOUFdEiFvnlW081T118wmGXcZcmkh
	u/yX68WF7AiwMo5CY2z75Ff6lh7HVM2cgCB7l2pz34AWlEq6tHbDRvKYAbqG8g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781051544;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=SFd19c9FTb1zHi+CtVbZuL5eyeYJT7MRub8O/f8ZQLc=;
	b=q3q8Y/LQxRb3ue4r/DJNUs3pwnXNnUeItBc4t9eYsgZdEjTgnV6c+wRFXkBYl8ybplI9pD
	DDoC8VxfWpoRPWR0V4+RLBCuULSo/1e4qbW/5z05BTS2+oZUz5ybt6VQS50NqhbBFvrHKd
	RK2oTDA0HZ6JiNbA3cQlI35ko2aljHV6XbyJw2180ZdtKvULOYhD0CI1qr+OwjZVVDc9LF
	ePzkri9U4snSPP4SLNp7xH1wDPWeElZarbFHyLBK7b+2TlwZT/BdA2QBxyVgvuyp1Nt4C3
	x1sLLtjqvRf/wr5s9uI6/QQ56MZfPoehLaOp+YUiHKatXDgdjxIRb6D167ywHg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZmvD21wCzyHF
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 00:32:24 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3fec0
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 00:32:24 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Chuck Tuffli <chuck@FreeBSD.org>
Subject: git: 925ca9b8355d - main - linux: Add TCP_INFO 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: chuck
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 925ca9b8355d10a0dc85175dc865095c9b3370c4
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 00:32:24 +0000
Message-Id: <6a28b098.3fec0.1bb5ef47@gitrepo.freebsd.org>

The branch main has been updated by chuck:

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

commit 925ca9b8355d10a0dc85175dc865095c9b3370c4
Author:     Chuck Tuffli <chuck@FreeBSD.org>
AuthorDate: 2026-06-10 00:22:49 +0000
Commit:     Chuck Tuffli <chuck@FreeBSD.org>
CommitDate: 2026-06-10 00:23:24 +0000

    linux: Add TCP_INFO support
    
    Implement the getsockopt for TCP_INFO by mapping FreeBSD's version to
    what Linux expects.
    
    MFC after:      1 month
    Relnotes:       yes
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D55882
---
 sys/compat/linux/linux_socket.c | 47 +++++++++++++++++++--
 sys/compat/linux/linux_socket.h | 92 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 136 insertions(+), 3 deletions(-)

diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 12ba6a3adfce..7b579958158a 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -591,9 +591,7 @@ linux_to_bsd_tcp_sockopt(int opt)
 	case LINUX_TCP_KEEPCNT:
 		return (TCP_KEEPCNT);
 	case LINUX_TCP_INFO:
-		LINUX_RATELIMIT_MSG_OPT1(
-		    "unsupported TCP socket option TCP_INFO (%d)", opt);
-		return (-2);
+		return (TCP_INFO);
 	case LINUX_TCP_MD5SIG:
 		return (TCP_MD5SIG);
 	case LINUX_TCP_USER_TIMEOUT:
@@ -2407,6 +2405,42 @@ linux_getsockopt_so_linger(struct thread *td,
 	return (linux_sockopt_copyout(td, &ling, len, args));
 }
 
+static int
+linux_getsockopt_tcp_info(struct thread *td,
+    struct linux_getsockopt_args *args)
+{
+	struct tcp_info tinfo;
+	struct l_tcp_info l_tinfo;
+	socklen_t len;
+	int error;
+
+	len = sizeof(tinfo);
+	error = kern_getsockopt(td, args->s, IPPROTO_TCP, TCP_INFO, &tinfo,
+	    UIO_SYSSPACE, &len);
+	if (error != 0)
+		return (error);
+	memset(&l_tinfo, 0, sizeof(l_tinfo));
+	l_tinfo.tcpi_state         = tinfo.tcpi_state;
+	l_tinfo.tcpi_options       = tinfo.tcpi_options;
+	l_tinfo.tcpi_snd_wscale    = tinfo.tcpi_snd_wscale;
+	l_tinfo.tcpi_rcv_wscale    = tinfo.tcpi_rcv_wscale;
+	l_tinfo.tcpi_rto           = tinfo.tcpi_rto;
+	l_tinfo.tcpi_snd_mss       = tinfo.tcpi_snd_mss;
+	l_tinfo.tcpi_rcv_mss       = tinfo.tcpi_rcv_mss;
+	l_tinfo.tcpi_last_data_recv = tinfo.tcpi_last_data_recv;
+	l_tinfo.tcpi_rtt           = tinfo.tcpi_rtt;
+	l_tinfo.tcpi_rttvar        = tinfo.tcpi_rttvar;
+	l_tinfo.tcpi_snd_ssthresh  = tinfo.tcpi_snd_ssthresh;
+	l_tinfo.tcpi_snd_cwnd      = tinfo.tcpi_snd_cwnd;
+	l_tinfo.tcpi_rcv_space     = tinfo.tcpi_rcv_space;
+	l_tinfo.tcpi_snd_wnd       = tinfo.tcpi_snd_wnd;
+	l_tinfo.tcpi_rcv_ooopack   = tinfo.tcpi_rcv_ooopack;
+	/* Eqivalent */
+	l_tinfo.tcpi_total_retrans = tinfo.tcpi_snd_rexmitpack;
+
+	return (linux_sockopt_copyout(td, &l_tinfo, len, args));
+}
+
 int
 linux_getsockopt(struct thread *td, struct linux_getsockopt_args *args)
 {
@@ -2505,6 +2539,13 @@ linux_getsockopt(struct thread *td, struct linux_getsockopt_args *args)
 		name = linux_to_bsd_ip6_sockopt(args->optname);
 		break;
 	case IPPROTO_TCP:
+		switch (args->optname) {
+		case LINUX_TCP_INFO:
+			return (linux_getsockopt_tcp_info(td, args));
+			/* NOTREACHED */
+		default:
+			break;
+		}
 		name = linux_to_bsd_tcp_sockopt(args->optname);
 		switch (name) {
 		case TCP_MAXUNACKTIME:
diff --git a/sys/compat/linux/linux_socket.h b/sys/compat/linux/linux_socket.h
index d30d68409496..47fc140259c5 100644
--- a/sys/compat/linux/linux_socket.h
+++ b/sys/compat/linux/linux_socket.h
@@ -359,6 +359,98 @@ struct l_ifreq {
 	} ifr_ifru;
 };
 
+/*
+ * Linux TCP_INFO structure as of v6.19.8
+ *
+ * Comments indicate last field for the given kernel version
+ */
+struct l_tcp_info {
+	uint8_t	tcpi_state;
+	uint8_t	tcpi_ca_state;
+	uint8_t	tcpi_retransmits;
+	uint8_t	tcpi_probes;
+	uint8_t	tcpi_backoff;
+	uint8_t	tcpi_options;
+	uint8_t	tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
+	uint8_t	tcpi_delivery_rate_app_limited:1, tcpi_fastopen_client_fail:2;
+
+	uint32_t	tcpi_rto;
+	uint32_t	tcpi_ato;
+	uint32_t	tcpi_snd_mss;
+	uint32_t	tcpi_rcv_mss;
+
+	uint32_t	tcpi_unacked;
+	uint32_t	tcpi_sacked;
+	uint32_t	tcpi_lost;
+	uint32_t	tcpi_retrans;
+	uint32_t	tcpi_fackets;
+
+	uint32_t	tcpi_last_data_sent;
+	uint32_t	tcpi_last_ack_sent;
+	uint32_t	tcpi_last_data_recv;
+	uint32_t	tcpi_last_ack_recv;
+
+	uint32_t	tcpi_pmtu;
+	uint32_t	tcpi_rcv_ssthresh;
+	uint32_t	tcpi_rtt;
+	uint32_t	tcpi_rttvar;
+	uint32_t	tcpi_snd_ssthresh;
+	uint32_t	tcpi_snd_cwnd;
+	uint32_t	tcpi_advmss;
+	uint32_t	tcpi_reordering;
+
+	uint32_t	tcpi_rcv_rtt;
+	uint32_t	tcpi_rcv_space;
+
+	uint32_t	tcpi_total_retrans;		/* v3.6 */
+
+	uint64_t	tcpi_pacing_rate;
+	uint64_t	tcpi_max_pacing_rate;	/* v3.14 */
+	uint64_t	tcpi_bytes_acked;
+	uint64_t	tcpi_bytes_received;
+	uint32_t	tcpi_segs_out;
+	uint32_t	tcpi_segs_in;					/* v4.1 */
+
+	uint32_t	tcpi_notsent_bytes;
+	uint32_t	tcpi_min_rtt;
+	uint32_t	tcpi_data_segs_in;
+	uint32_t	tcpi_data_segs_out;		/* v4.5 */
+
+	uint64_t   tcpi_delivery_rate;	/* v4.8 */
+
+	uint64_t	tcpi_busy_time;
+	uint64_t	tcpi_rwnd_limited;
+	uint64_t	tcpi_sndbuf_limited;	/* v4.9 */
+
+	uint32_t	tcpi_delivered;
+	uint32_t	tcpi_delivered_ce;		/* v4.16 */
+
+	uint64_t	tcpi_bytes_sent;
+	uint64_t	tcpi_bytes_retrans;
+	uint32_t	tcpi_dsack_dups;
+	uint32_t	tcpi_reord_seen;			/* v4.18 */
+
+	uint32_t	tcpi_rcv_ooopack;
+
+	uint32_t	tcpi_snd_wnd;					/* v5.3 */
+	uint32_t	tcpi_rcv_wnd;
+
+	uint32_t  tcpi_rehash;					/* v6.1 */
+
+	uint16_t	tcpi_total_rto;
+	uint16_t	tcpi_total_rto_recoveries;
+	uint32_t	tcpi_total_rto_time;	/* v6.6 */
+	uint32_t	tcpi_received_ce;
+	uint32_t	tcpi_delivered_e1_bytes;
+	uint32_t	tcpi_delivered_e0_bytes;
+	uint32_t	tcpi_delivered_ce_bytes;
+	uint32_t	tcpi_received_e1_bytes;
+	uint32_t	tcpi_received_e0_bytes;
+	uint32_t	tcpi_received_ce_bytes;
+	uint16_t	tcpi_accecn_fail_mode;
+	uint16_t	tcpi_accecn_opt_seen;	/* v6.17 */
+};
+
 /*
  * Define here members which are not exists in the FreeBSD struct ifreq.
  */

From nobody Wed Jun 10 02:33: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 4gZqbH5dDJz6gkrM
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 02:33:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZqbH4l8Kz3nsZ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 02:33:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781058827;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=DV1Xt/W7ftiuELQ7+ubYztgaR7sP+iqvItuVvcJ8V+g=;
	b=jvQ+rsaG2/Qv+OOc0OU7po15UDy1Wl1IuyPgu4NfOyb6RwVy0yHdYlxRCIVSEXownZ2849
	qagj903+xwWRO4bEAf1UnoAWLntYN4DlpE3M7SgztL80Ls1wjA0iXxPH4sQwdlJoiMd6H9
	7Zu00mItwzz0AjzMcUcpkmHmlGRB6nInJ/d4tL2hAue9JRELJe6deUreh4YN5lTcMcGxB5
	6mQUAhnuCz80u/KLeTOqVEk85FRk5h7FCfZkMT7KPV06z89n+vVuSEe8TviiScYVqcO1Fe
	1d/4kSL9B06ROuMvmAFOU5kaQAA6RNidfkk/gE6uShsdXqJdngDfFZgE4fq92Q==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781058827; a=rsa-sha256; cv=none;
	b=AZTf9sWJnsjz0v7XyBAN1bKLrw+erwU3seDdW6Rt6QyCssGZMXEio2fMTqmAk1UmRr3YHS
	p3guwanNEQK/Q4xkxPMh0Sag1tJ0DM4W+KLoPx5kF6/5kCCZEfvk7m9xOdofnOpYKcZqeD
	ur75IrS4ErNOKsK0vfBgqlKBoR4G8Y9qrL3x6of/U9lLoptLwLbjtWUnZr/vP6kWiiK10D
	Y0uZC0icHD6fhpLYUlMkMfIe0b9LjKVH61LQvxSbytvWpyrISSf1QYnbHX5O9LrJo7NkNj
	3MA6CW6KFITpQePIF9ui1M+fuUAH4KiGv+crLQPt/efqFIug3CcHXztl6/YMyg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781058827;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=DV1Xt/W7ftiuELQ7+ubYztgaR7sP+iqvItuVvcJ8V+g=;
	b=dlIYSrFxvYFBg9eq2ycrhvDTH0IAFfjtrWENzGQOnQ3I4WEwGIdddWXbmW+qfV+v7/y5SF
	v9aNEpp0YgWvZmhup1J1NK6+7bInJoH5url6oOQvM4mFoMSTH0UzKF7PKwFEuuACgUTOva
	GfaZZry4926UJxxW8Pk508is+iiWEPjDWvO861YiNe9pttsQQpHWrU2PcA4RRwWnrK3D3X
	ozSnWxEC1Q8vCLCLC963T2z+sddWu/kdU+u0VHgNmUL7PSwO9ytzaXKnQN6w4ttEraVTNa
	rLFQLHlSMk0cWjhaOsesirND/npHgAaOBjgwVKJ1YLiuej59BPlUR9NeFDm9OQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZqbH4KMSz11sn
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 02:33:47 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1de95
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 02:33:47 +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: c85542b92acd - main - GCE: Apply public-image label on GCE images
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: c85542b92acd286d9e4b034b2ab4d6b6cd46c740
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 02:33:47 +0000
Message-Id: <6a28cd0b.1de95.34b50a6f@gitrepo.freebsd.org>

The branch main has been updated by delphij:

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

commit c85542b92acd286d9e4b034b2ab4d6b6cd46c740
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2026-06-10 02:33:03 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2026-06-10 02:33:12 +0000

    GCE: Apply public-image label on GCE images
    
    Update the GCE image creation process to automatically apply the
    'public-image=true' label when publishing new images. This aligns
    with standard labeling expectations for images hosted in public
    projects.
    
    MFC after:      3 days
---
 release/Makefile.gce | 1 +
 1 file changed, 1 insertion(+)

diff --git a/release/Makefile.gce b/release/Makefile.gce
index 31770bfd5098..f5c657c3c103 100644
--- a/release/Makefile.gce
+++ b/release/Makefile.gce
@@ -85,6 +85,7 @@ gce-do-upload-${_FS}:
 		--architecture=${GCE_ARCH} \
 		--family=${GCE_FAMILY}-${_FS}${GCE_FAMILY_SUFX} ${GCE_LICENSE} \
 		--guest-os-features=GVNIC,UEFI_COMPATIBLE \
+		--labels=public-image=true \
 		--source-uri gs://${GCE_BUCKET}/${GCE_TARGET_${_FS}}.tar.gz
 	touch ${.OBJDIR}/${.TARGET}
 .endfor

From nobody Wed Jun 10 02:37: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 4gZqgs1jFNz6glQj
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 02:37:45 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gZqgs0z5fz3p8R
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 02:37:45 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781059065;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Za2IGqsXs+WEbf+XTE8Jkh8bIT/YjcJE08YC5YwgPUQ=;
	b=IYXR+FpNNuEm94ayCJkq871ajXwNIW+8ZaJDiGrRLJSeSLHFwF6EubXUFUK4Qvg/Y7K1Ld
	I3yfORUERAllGuZMSjLfth77bE4lDjxY7w4sdZzBtb8wMZ7W4hKIiPulgdFWQuXgMD4Jhy
	WfnjojNlW9Gmd6bYy1vfK5D7ZpL7Lrr/osofE1WuDFpAG54vtwr4fMudXy0hIOWbuuvqDZ
	UVkXkY5Z2DDXS8ASQbbJdNV+Q4inOnF1BjUpTFheuq37D0fXe/rSkMX+xBS8EvHfmWHX23
	egp46KDvT7q4vawTgToppC0gKL/hVyRedcFBEwsZ6mYLIt8Bx+gwsokcS+e5Sw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781059065; a=rsa-sha256; cv=none;
	b=rYMvng0N1bWMsNNta6qa5EIoWbNlilv0YoVHZTlNROUoMNYMJ4w78HDA9nnlm0lpkNE60g
	4/m1BV1BlO4HjdFMIilEOCdNYWTHSfjetDC+/Q9k3Hszz1gvMmYfa6x2Lx4eoKsZbWTn7/
	2ETMtkYWbZO85frLzP6GsvW+IpsAA4Cwl+V0sVgska4dRyWHm2ZhexMyLhQPvL8DA2w2FD
	nv5qwG9/mkaZ6s6Fj0hcqjkEk3lWbBo2A4gd5Sac1rd8wsOmnh6iDinSN2jiWjktTgnCDm
	vl1GRBIe4tLDffHKeRwJBrX0TTyFFaGRXUXfSU8g4HNgXNYq+YhJaAmzwNMS3g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781059065;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=Za2IGqsXs+WEbf+XTE8Jkh8bIT/YjcJE08YC5YwgPUQ=;
	b=v1Vr+4L0N/h5FOkQ+AFQ/p8sCl6D0azs41eLHnIXtDtXqdIdB2QOIxMdprme+UmEX6jy3U
	Zuw/G0wKoVe2KZE7DaOwRglnpWO/NDX+zOg1o0Z8SbiM2QwbfQpTFA7hdqUfgdRQTAdxGl
	164xPNOiGClNnIHsTB2F0pLYNJUoyyNl/tH/0wbURHiY741c2/Zf3XkEDHGJcIVOoMGRX0
	DkwEU6fsiMDXz+vLqalxxehNSTC2dyYh/3DIlh3XdaXhwYUayGncnQxNaRrYnkLgqBqrdG
	ilMn0clCaafpFd8ReMW5h9O2l8py4VdnBu8RMRgoDjCs8luRGDcK1WzQjsFIcQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gZqgs0K3hz11fg
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 02:37:45 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1e406
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 02:37:44 +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: 89fa97f0a71d - main - compat32 wait4/6(2): only copy out when there is a pid to report
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: 89fa97f0a71d4988891766c4e69eeb9687016b14
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 02:37:44 +0000
Message-Id: <6a28cdf8.1e406.43d933b4@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 89fa97f0a71d4988891766c4e69eeb9687016b14
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-09 21:33:56 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-10 02:37:25 +0000

    compat32 wait4/6(2): only copy out when there is a pid to report
    
    PR:     295965
    Reported and tested by: mandree
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D57513
---
 sys/compat/freebsd32/freebsd32_misc.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index a0b6118900ed..e4a4f256feb4 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -234,11 +234,9 @@ freebsd32_wait4(struct thread *td, struct freebsd32_wait4_args *uap)
 	else
 		rup = NULL;
 	error = kern_wait(td, uap->pid, &status, uap->options, rup);
-	if (error)
-		return (error);
-	if (uap->status != NULL)
+	if (uap->status != NULL && error == 0 && td->td_retval[0] != 0)
 		error = copyout(&status, uap->status, sizeof(status));
-	if (uap->rusage != NULL && error == 0) {
+	if (uap->rusage != NULL && error == 0 && td->td_retval[0] != 0) {
 		freebsd32_rusage_out(&ru, &ru32);
 		error = copyout(&ru32, uap->rusage, sizeof(ru32));
 	}
@@ -265,11 +263,9 @@ freebsd32_wait6(struct thread *td, struct freebsd32_wait6_args *uap)
 		sip = NULL;
 	error = kern_wait6(td, uap->idtype, PAIR32TO64(id_t, uap->id),
 	    &status, uap->options, wrup, sip);
-	if (error != 0)
-		return (error);
-	if (uap->status != NULL)
+	if (uap->status != NULL && error == 0 && td->td_retval[0] != 0)
 		error = copyout(&status, uap->status, sizeof(status));
-	if (uap->wrusage != NULL && error == 0) {
+	if (uap->wrusage != NULL && error == 0 && td->td_retval[0] != 0) {
 		freebsd32_rusage_out(&wru.wru_self, &wru32.wru_self);
 		freebsd32_rusage_out(&wru.wru_children, &wru32.wru_children);
 		error = copyout(&wru32, uap->wrusage, sizeof(wru32));

From nobody Wed Jun 10 11: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 4gb3g76Z6nz6fxb9
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 11: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 "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb3g75t01z3v5h
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 11: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=1781091475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=g7u3T/d87hwYbjggFqL+yxJuhL5/SmrDMCUwipDGKV0=;
	b=RfOze2vpPFY2CQHoKz7y5oy0gD/Z8+7rbSMJ9kF5CAlZM4h+9KgWzVtDTyJGaMLb0tOs+D
	xaAdq+xKWAyTZBe6A+ELkoZ4t67Jrwqfb+RHVXSsXERDg7Vq6Axwv/GXAU4McV5phLw5Bg
	kUxjBDtoJmQtRyZb4+GmLcOJOPI2haPaPqoQ0s54hNDrP+rsyJJemerg3R3mmdDJgF+xOX
	n6OeF2QDph0JLIdcJA7FJprWUPjxjVVWL1+auiVNYfhig3K/QZyv51kFtheAXs6fdaTIVh
	X8Ft+J5EGaTbWqGusgtXXOVCmtXYYeQ5GWJZz0VCHZGaCk3sCxZ4ZA1AmLLznA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781091475; a=rsa-sha256; cv=none;
	b=FiiSvI+0x8wEFuDHL3CBVtX3OZA4FrwjTasuSNREx7A5wcOkqSlOxhmtjaGHiWaRQ8HrUQ
	fAxw9P3yS8fi7juytX3/OxHKXQc/QSa3MK/MiJV53oXMjr/cCjtOw2dAh9+9NxkIY562XY
	mVO7cOTv7u24pNO5G2jaBbHpgHKLUfRXt0e3muvFQ5lQ/+MdpQcFW8b/HCFZmiv0NSUoMs
	qlowfFTa8kqFPxEfOgDFWjklE1SXvCQQEFmhvV6xzfujjPNv5b7nOFznOBPg/71hQxOIfr
	phf6q3i81LQSk6HNMrkzj+3jyAbM3pOoB+N3OG95gQ71Kxkmijk3SRkEaT+JiA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781091475;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=g7u3T/d87hwYbjggFqL+yxJuhL5/SmrDMCUwipDGKV0=;
	b=gC9rU5zU3LG9Mh6MQZZPP4Pma0bpUxt0k6SLGgUbukq2r13ifSkxIxiJPOqwy6ZYEYaGvm
	cZLIdX1lOP+TGj/NVUIXvJk06U9b2hU6tr4eZ4IGzW5rgjV3Jt76W3dSeI02JiAndhzmWx
	CejZtvTUezS3k8Xov/vdjsCJ7jXCHO0+vvFmYTg6O/yKc9S7oySMmMwF8Ts9TfUU3zBybD
	Y9sEJ6AwxUy+UDYHB2zmG6C/dp/3zZsXZHaywzU/d5mLsn9+Lj/JjQ87AyWQXLb7UONfpw
	lXP0YL4TdheCUVnJkXpglKP1OKpI/30AJz5XfjIgbl5C2jMHONhX/49YJ3UMIg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb3g7585Gz1JHN
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 11:37:55 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3615e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 11:37:55 +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: 9b48646ab366 - main - kern_fork: guard against NULL newproc on the failure path
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: 9b48646ab366dcf6089fac653eef963331aa1169
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 11:37:55 +0000
Message-Id: <6a294c93.3615e.728a1016@gitrepo.freebsd.org>

The branch main has been updated by kib:

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

commit 9b48646ab366dcf6089fac653eef963331aa1169
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-10 10:29:05 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-10 11:37:23 +0000

    kern_fork: guard against NULL newproc on the failure path
    
    Reported and tested by: pho
    Fixes:  85a65e393092 ("proc: add tree ref count")
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sys/kern/kern_fork.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 5318a737ea35..26e2510698e2 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -1132,7 +1132,8 @@ fail1:
 fail2:
 	if (vm2 != NULL)
 		vmspace_free(vm2);
-	PROC_TREE_UNREF(newproc);
+	if (newproc != NULL)
+		PROC_TREE_UNREF(newproc);
 	if ((flags & RFPROCDESC) != 0 && fp_procdesc != NULL) {
 		fdclose(td, fp_procdesc, *fr->fr_pd_fd);
 		fdrop(fp_procdesc, td);

From nobody Wed Jun 10 12:36: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 4gb4yF3czgz6g40X
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yF1MvVz43GT
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094965;
	h=from:from:reply-to:subject:subject: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=Ardc+UgelOXYJgqHPjT1iwkrGrkjcMVkY0NK2lKwGeY=;
	b=JcDY7UuAV7+U7YxyRqbw3FHM81COZgNZZWourKZ0wPGcxyBb+PnbqzOeHNy2d3scg4BPab
	s6jDtru5xqdwH950Yca2j5Akrz/Kgh0sKunzbJfq0utUocoeT6pUNtATIG0uS5xCjuMsYY
	JfyppuFmn3BHkQNJX4GRRkvEtrcRZTKgFgAb/EHqUJoMgyDtHmOAdWUCnJn06rD1bsy0RR
	t2KWXj37b5uhq168YtG6fbIVf70jhtoGpRHJ65i3iyBZbgEzUM2OCseBsSH0Gvw1/5wxJf
	3W+fHYje7gPvpz8yzQgY57wBwGnM2zXGX5SvYcLla0RAClvL4Ix1u9IjJt8WYw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094965; a=rsa-sha256; cv=none;
	b=bDj/EDKwm8vLzfoAnOlF64oDRDfoLh1MqOBCEl0XTkl9hFXMpzWK/CHRMMdGYAhTcGC70N
	UVgqLaagtVnXmOb/okMlgdh4ybzTryRrcD1HvqrEFzvKE4E/orhP3TQeqSauW/Er42rLJl
	6HMpsViXlCYs9AAvQZ+3IShd9BB0iqrrLhN7eQADyg0Bw4Qty1cfo+Qp938p4NPK2rB2Cg
	lhqmwhg80tb51ua+Z2PfBBAmYeaukx2K3FC66RQuJC/vYs5/nMDQIZVmgwUoZ+9TF7OLHd
	f/k7F8SyU4WPndmuc8r6WOuDt+nu9YWJdkxI733UqYuXnm2DIIsZxPpp9U6Cvg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094965;
	h=from:from:reply-to:subject:subject: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=Ardc+UgelOXYJgqHPjT1iwkrGrkjcMVkY0NK2lKwGeY=;
	b=Ws+lROdUX8zkHNi5g85pp/Z/2TDiFDpkDT+FUU5AOfoivUL/VgyRjI3ntuOvCAuyCVlLrT
	GWCMmv2Xquy2s3Jgln/lEO6MMAMZAOKUwcOroP+QJ8Y0hqonxp/OX9j+Nk8fAzUMAe2nb1
	JeJJ4k1/X6arCBBysJklaUJL8b4iIZg0MbbDVXf57w9l5/Ne+14RVHo3Ng83nElnBVtV7x
	5adIcCcF1HVdQ3kVtHsb94F4X6sHM/sFNMyyIUo6CzqtRnE1RjAeet1QOqlHqIroIZ0aSQ
	nZkHPLsAU3j20uWQ/XltKx16pKuw77J5LuksP0QZg2X9h9Q6EoNgnrTzFJiVSw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yF0Lwsz1Ks9
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:05 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e007
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:05 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: ykla <yklaxds@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 9a6a2e4b7d20 - main - Warn if hostname is empty
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: 9a6a2e4b7d203fe9c5ea4f335564f4797bb29a01
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:05 +0000
Message-Id: <6a295a35.3e007.778624b0@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 9a6a2e4b7d203fe9c5ea4f335564f4797bb29a01
Author:     ykla <yklaxds@gmail.com>
AuthorDate: 2025-05-18 00:19:06 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:02 +0000

    Warn if hostname is empty
    
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1700
---
 usr.sbin/bsdinstall/scripts/hostname | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/usr.sbin/bsdinstall/scripts/hostname b/usr.sbin/bsdinstall/scripts/hostname
index 19df8885893b..ec58ad5dfe66 100755
--- a/usr.sbin/bsdinstall/scripts/hostname
+++ b/usr.sbin/bsdinstall/scripts/hostname
@@ -54,7 +54,7 @@ msg_freebsd_installer="$OSNAME Installer"
 msg_ok="OK"
 msg_please_choose_a_hostname="Please choose a hostname for this machine.\n\nIf you are running on a managed network, please ask\nyour network administrator for an appropriate name."
 msg_set_hostname="Set Hostname"
-
+msg_empty_hostname_warning="The hostname is currently empty. This is not recommended, as many network services rely on a valid hostname. Are you sure you want to continue?"
 #
 # Command strings for various tasks
 #
@@ -97,10 +97,35 @@ f_dialog_title "$msg_set_hostname"
 f_dialog_backtitle "$msg_freebsd_installer"
 
 #
-# Get user input
+# Get user input and Warn if hostname is empty
 #
-HOSTNAME=$( dialog_hostname "$HOSTNAME" )
-[ $? -eq $DIALOG_CANCEL ] && exit 1
+while :; do
+    HOSTNAME=$(dialog_hostname "$HOSTNAME")
+    [ $? -eq $DIALOG_CANCEL ] && exit 1
+
+    if [ -z "$HOSTNAME" ]; then
+	if [ "$USE_XDIALOG" ]; then
+		yes=yes no=no defaultno=defaultno
+		extra_args="--wrap --left"
+	else
+		yes=yes no=no defaultno=defaultno
+		extra_args="--colors --cr-wrap"
+        fi
+
+        $DIALOG \
+		--title "$DIALOG_TITLE" 		\
+		--backtitle "$DIALOG_BACKTITLE" 	\
+		--defaultno 				\
+		--yes-label "$yes" 			\
+		--no-label "$no" 			\
+		$extra_args 				\
+		--yesno "$msg_empty_hostname_warning" 0 0
+
+        [ $? -ne 0 ] && continue
+    fi
+
+    break
+done
 
 #
 # Store the user's choice

From nobody Wed Jun 10 12:36:03 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yD4KXJz6g3yb
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yD1gJjz43GQ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094964;
	h=from:from:reply-to:subject:subject: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=FIoIFyTrq64Ey+Xdaf7l8KwrlXUL9Oow8hP3VcA4lAk=;
	b=KpqJKlS7wX3t5XLQ6b7NLGhr0ARX9FtTAiKFVL0CtL9yl6PEJtvWFkWDcwSqgn6zf1ybss
	vLyIT8HemgURFdwDTY9C5a2MyOl/ht73t3CEDmiKsBdeKB3gBbVfuMWML4h47AI1PYcO+d
	ZC8S/0Q9lL2tZUfrP98mY5qRlTSenXy5G4SmSgKxstb3BZAsomGCkJuZ8DbP7spe3XukRY
	2qyJGuNGyApRo6Ur3YXY91OeIZIQpjsbuyajeVWLI8UypW4IV0vOwrQwixJoV+XDEouv4t
	WhmIidygPHhnUip0Ca8vMH1H/dL2XY5ePhHnOw8AnlDqyGM8Jd0I3juEq6BCeQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094964; a=rsa-sha256; cv=none;
	b=mo5EUDpjnhYSyj37uiJw0JYj2Co7WO7Uv+K13kUiA1QocuO8XSjNN5NfXEvmFcFHItqf3x
	ozXMwUVw3F3wqfK+Y/1DzVBlByxfxQIo/0rzz8A7PZV7zZNOHzqnbi2z+zZ6r//heyn3BL
	3DiBBwTuxMyASIRFrjkyTxFvA7bs9QMU8sI+d6099lY2F3KpUWEbf2HjDP14LGpMc2jvLh
	hG2Qo3WfuSctEYP1yDxPxdHdxSnf+s17TgDFovtuLe+2mAy2uwj1hoaNgx+yDQt5XSLgfl
	5SQv/ElGaVgDUI6r/4PjeWbvPEbkZudvCK2sxTjnNTg8CvEW2u4Ye9VcJLIPhg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094964;
	h=from:from:reply-to:subject:subject: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=FIoIFyTrq64Ey+Xdaf7l8KwrlXUL9Oow8hP3VcA4lAk=;
	b=K8KeVGKfs8krOIJtB6YzQsJCrwmWptCDekUziXSX3GA2i9NOSqMYqqaSp4Av1lb0IOJFPY
	eCW9f8fi7Ky40Rg2YIHhSweo0+5X8BX1iQ83BwwE/X6kDhsc+s/jN9DZ0xxmaSqKxZi9Tu
	DrcdSea07K1n2VyY+tQUHrDm/e5bx1b2ioT3mcw1WyI2IaNsYapGQ/1E9GTQHgGZTGWdQP
	NQtyClCATYOlgpsSaH88Uic48h9DZ2EuF9bqV4WOKKFOA+igbTHqJrcH+TuTkt2g06Xikc
	8R3l8A3jNfaoqKT4yzaHx7VIY9otFphtukb3Xt7c+6G6BIByTsm3p30TGsOrhg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yD020cz1KXk
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:04 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3c5e2
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:03 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Phil Krylov <phil@krylov.eu>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: a62eaf71ddb7 - main - bsdinstall(8): Fix GPT label conflicts with disks not managed by us
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: a62eaf71ddb7463cf51d2be8be6506befbcfff8d
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:03 +0000
Message-Id: <6a295a33.3c5e2.4e095571@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit a62eaf71ddb7463cf51d2be8be6506befbcfff8d
Author:     Phil Krylov <phil@krylov.eu>
AuthorDate: 2025-06-22 02:39:30 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:02 +0000

    bsdinstall(8): Fix GPT label conflicts with disks not managed by us
    
    Signed-off-by: Phil Krylov <phil@krylov.eu>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1735
---
 usr.sbin/bsdinstall/scripts/zfsboot | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot
index a973b03d17fd..dbf7e19c6f5b 100755
--- a/usr.sbin/bsdinstall/scripts/zfsboot
+++ b/usr.sbin/bsdinstall/scripts/zfsboot
@@ -242,6 +242,7 @@ ZPOOL_SET='zpool set %s "%s"'
 hline_alnum_arrows_punc_tab_enter="Use alnum, arrows, punctuation, TAB or ENTER"
 hline_arrows_space_tab_enter="Use arrows, SPACE, TAB or ENTER"
 hline_arrows_tab_enter="Press arrows, TAB or ENTER"
+msg_all_possible_gpt_labels_already_taken="All possible GPT labels already taken"
 msg_an_unknown_error_occurred="An unknown error occurred"
 msg_back="Back"
 msg_cancel="Cancel"
@@ -840,6 +841,24 @@ zfs_create_diskpart()
 
 	case "$ZFSBOOT_PARTITION_SCHEME" in
 	""|GPT*) f_dprintf "$funcname: Creating GPT layout..."
+		#
+		# 0. Check for potential GPT label conflicts with disks not
+		# managed by us and adjust $index accordingly
+		#
+		while [ -e /dev/gpt/efiboot$index ] ||
+			[ -e /dev/gpt/gptboot$index ] ||
+			[ -e /dev/gpt/boot$index ] ||
+			[ -e /dev/gpt/swap$index ] ||
+			[ -e /dev/gpt/zfs$index ]; do
+			index=$(( $index + 1 ))
+			if [ $index -ge 4096 ]; then
+				f_dprintf "$funcname: all possible GPT labels already taken"
+				msg_error="$msg_error: $funcname" f_show_err \
+					"$msg_all_possible_gpt_labels_already_taken"
+				return $FAILURE
+			fi
+		done
+
 		#
 		# 1. Create GPT layout using labels
 		#

From nobody Wed Jun 10 12:36: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 4gb4yG3mR0z6g45H
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yG17FCz42v6
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094966;
	h=from:from:reply-to:subject:subject: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=nQnz3Ryl+LT7aM7cIe561KPMKjZYttgXqlPqTEqYWPI=;
	b=BI0c+rhhy2TbrWgu5oVtBhCVZqPqMHHmwSiNLWcNlI2pmszwJTcxBQZt0jk+OW8RdGq+T/
	vUR2P85F9KpuJNuL3WVx04kW4sWpKXQn2qniebvTP8SUBSFFmbb7eiGVOu2Ed6+gC+2vzi
	mdkspgVhSdTAUQSaGoo+6NsLVlLsHuLgWTviC3L9YKxnWMUE1JVzh98k3ayDhvgwfaigUE
	ZRA+ACBvbmSZ8k/WrKxrNeEq078X+Wfb8weG9PXWJS06ISvmxiw4FWZUlAoXPnmamG6288
	j6GJ9ZvQ/fyY47BpH1qlRrUqpsR7WYSCEHdn3HawxfJcwvvECgMuXoG6w7AVCw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094966; a=rsa-sha256; cv=none;
	b=nsKieH6+n+7UdhQ4un8iOXqOCj7GT6PsPg4iJsYlXWUUFk3MTxdJ1tVgtK8qnhvd34SSlv
	U8e8oPzmPAOkaZQg9vCKZkJo8wZSTVuTgVmTwMV1Lerc5VsoHtJwAzSElGS/hPYuFrB0ba
	KdWynOwW+gFuuSBe8Sncn+Yi4fpk90NcgmYm4i2KDWx1ie9wLhWMUpfn+Cw0I/cRvqbyKH
	HmkgtMGi1jlac/rzxQNktLstkwP6xAqNgerlq8pIOIwATwet8togs6UCe/LfKvTDBeJWeq
	ZIrnr76XlHHQEZZXPcM/NqQDYngwzaYyeANAzOyaCu52B13DCSuBv8gkpxlOoQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094966;
	h=from:from:reply-to:subject:subject: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=nQnz3Ryl+LT7aM7cIe561KPMKjZYttgXqlPqTEqYWPI=;
	b=Wn/xvcuWke6JEgMkRwbpReIo7hZLPY5kF3/z+crLAnkFy7l+QYAyoLEJoJsOBGh4l3tgjj
	1LPcbIxM7xM+rM2eW5aFn7EYsErvQ8tNdIQF6UgprNab7BQb+v/vFDadPeVInAXUG5ufJz
	kDGchUW0eZwurPDTmoaGYDtRr4Ia5qDOTepLrEeFwgL2Ba3VJ/2XjtVbV9j8lyiw68sn86
	Rq4cT19xqQJk1z4wX2UZ3fHxkDdJ5gCiGypRNUT/g4J3uNqW6QN6tXyVksNTlSgzPUHOaY
	q6/PsnOi1MFH2YaON0+etoPI9Glh7LCeO/ulfKejMzcsMdMH8AWrnHTGDAkmRA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yG0gRgz1KXn
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:06 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3de77
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:06 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: K Rin <rin@sandb0x.tw>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 6b61852b4f00 - main - mac_portacl: do not reject unspecific family directly
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: 6b61852b4f000431eb83ce26584da806f64d4643
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:06 +0000
Message-Id: <6a295a36.3de77.3d036d67@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 6b61852b4f000431eb83ce26584da806f64d4643
Author:     K Rin <rin@sandb0x.tw>
AuthorDate: 2025-04-12 02:28:52 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:02 +0000

    mac_portacl: do not reject unspecific family directly
    
    Reviewed by: imp,emaste
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1659
---
 sys/security/mac_portacl/mac_portacl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/security/mac_portacl/mac_portacl.c b/sys/security/mac_portacl/mac_portacl.c
index b3a5e06c0e2a..1cbfcad83acf 100644
--- a/sys/security/mac_portacl/mac_portacl.c
+++ b/sys/security/mac_portacl/mac_portacl.c
@@ -452,7 +452,8 @@ socket_check_bind(struct ucred *cred, struct socket *so,
 		return (0);
 
 	/* Reject addresses we don't understand; fail closed. */
-	if (sa->sa_family != AF_INET && sa->sa_family != AF_INET6)
+	if (sa->sa_family != AF_UNSPEC && sa->sa_family != AF_INET &&
+	    sa->sa_family != AF_INET6)
 		return (EINVAL);
 
 	family = so->so_proto->pr_domain->dom_family;

From nobody Wed Jun 10 12:36: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 4gb4yH4swJz6g49q
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yH1wkmz42s9
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094967;
	h=from:from:reply-to:subject:subject: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=Hdmf0eJ9++0e4VZ2w084m7w/cjcmrJXIcNY6MKRMF5o=;
	b=QaK4YEVUWeehhooZaO96MdvnyeDBevkhGsCVYLGo3AK7vfDsCKgBYYwZ1y3H8STCpC2rOU
	bMcpKMQIGD+Ytwl0fAW6uZmkMWU1dCrmVufi9VbGewz21YsbtGmJPqjdkedVdGmS9FxtgU
	UzAqTW7G25burrd+wwbQKp8/kHQ+M48EarWbrjQaM6ZP5tkWAaQBkvs2LWxrW3UyqOk2oQ
	jmpYC40p+5qK7ejdi8cg1I7oLWPRy+XfN1VWtktd5pzpM4VRExLcPaq7ldBikj+LvH0jep
	uFpfC8ZgGNcvNegLgrSVEAKpnQHTfPLfapqdFVFpzTGNISEiAnP+yIdhoQGHaw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094967; a=rsa-sha256; cv=none;
	b=pkz2Bskg2HbWxZwkHlyOWGLveZwz4NoUpGQ5hIaewH4NCAf8XJTwEZfkzYPGD5xI9/SqLK
	6Z8mGNwbmZvZHxGorzDSQUc6lHoNDBxqpN7+YdB3M2nO6u4BB3gsA/cX0tCiosO0h46PlO
	A0MWimgOioIYi2NhfYNSRSUK1dvckO7l6CZU8vaNveGiwq57SlXXu2UhCH+Irhaxf2kLl0
	1je6tLYYpXD2YjmhkZy8MhDjQsORpkkte5p0j0GrSukVJKfevHQlZbLJ0DQ/ipu3siFJNB
	9Ou0VChY3kInheuBHQfS3J90oWrMJGCJ0JvGnz+uBvLGv7fcjPbZYNWoK80BaA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094967;
	h=from:from:reply-to:subject:subject: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=Hdmf0eJ9++0e4VZ2w084m7w/cjcmrJXIcNY6MKRMF5o=;
	b=Gr4pxEpkfHrpR6Wiho0W9KbtgI1shfNJGL5qUGKkqjgzItdiyK6vp33zy6guVqNCIaBicg
	PL6n9q+Af4WQnsk1IeAOtpP06vH7uo1oh8fyM8hkwvFaXazzRu6BX8x8GKritY2drYK0T6
	w0/42bxcMcrA14Kn1Grw0Am1ngk09jiTc710tJfzb2GeMNGhp7x9ljayYAOUsR28DcANiC
	z3lPsn54ogkkL5pvkdAI90m68RL9MF2c5rFlxTmWbA030PW9jklO6tEqaHaGrpl+1PEIZv
	rnwW9rcdw8xEDW7cbP7aWUmt4h90YEzpOnQ/28EvTj5LfI7WERpO3OQiTI0zSQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yH1Py9z1KZs
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3c925
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:07 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: K Rin <rin@sandb0x.tw>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: ce08af63788d - main - mac_portacl tests: rewrite the test program and test unspecific family.
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: ce08af63788da219c0c5826fc3f2345fb2ce29f4
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:07 +0000
Message-Id: <6a295a37.3c925.67cb7b66@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit ce08af63788da219c0c5826fc3f2345fb2ce29f4
Author:     K Rin <rin@sandb0x.tw>
AuthorDate: 2025-04-12 03:05:47 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:03 +0000

    mac_portacl tests: rewrite the test program and test unspecific family.
    
    Reviewed by: imp,emaste
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1659
---
 tests/sys/mac/portacl/Makefile |  2 ++
 tests/sys/mac/portacl/bind.c   | 60 ++++++++++++++++++++++++++++++++++++++++++
 tests/sys/mac/portacl/misc.sh  | 55 ++++++++++++++++++++++----------------
 3 files changed, 94 insertions(+), 23 deletions(-)

diff --git a/tests/sys/mac/portacl/Makefile b/tests/sys/mac/portacl/Makefile
index 2b0f4634c802..2ae55d30f7fc 100644
--- a/tests/sys/mac/portacl/Makefile
+++ b/tests/sys/mac/portacl/Makefile
@@ -1,9 +1,11 @@
 PACKAGE=	tests
 
 TESTSDIR=	${TESTSBASE}/sys/mac/portacl
+BINDIR= 	${TESTSDIR}
 
 ${PACKAGE}FILES+=	misc.sh
 
+PROGS+=   bind
 TAP_TESTS_SH+=	nobody_test
 TAP_TESTS_SH+=	root_test
 
diff --git a/tests/sys/mac/portacl/bind.c b/tests/sys/mac/portacl/bind.c
new file mode 100644
index 000000000000..1cb64ba23b81
--- /dev/null
+++ b/tests/sys/mac/portacl/bind.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+
+int main(int argc, char *argv[])
+{
+    if (argc < 5) {
+        fprintf(stderr, "Usage: %s family host protocol port\n", argv[0]);
+        return 1;
+    }
+    int family = atoi(argv[1]);
+    const char *host = argv[2];
+    const char *protocol = argv[3];
+    const char *port = argv[4];
+    int sock_type;
+    if (strcmp(protocol, "tcp") == 0)
+        sock_type = SOCK_STREAM;
+    else if (strcmp(protocol, "udp") == 0)
+        sock_type = SOCK_DGRAM;
+    else {
+        fprintf(stderr, "Unsupported protocol: %s\n", protocol);
+        return 1;
+    }
+    struct addrinfo hints, *res;
+    memset(&hints, 0, sizeof(hints));
+    hints.ai_family = family;
+    hints.ai_socktype = sock_type;
+    hints.ai_flags = AI_PASSIVE;
+    int err = getaddrinfo(host, port, &hints, &res);
+    if (err != 0) {
+        fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(err));
+        return 1;
+    }
+    int sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+    if (sock < 0) {
+        freeaddrinfo(res);
+        return 1;
+    }
+    int opt = 1;
+    setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
+    if (bind(sock, res->ai_addr, res->ai_addrlen) < 0) {
+        if (errno == EACCES || errno == EPERM)
+            printf("bind_error: permission denied.\n");
+        else
+            printf("bind error: %s\n", strerror(errno));
+        close(sock);
+        freeaddrinfo(res);
+        return 1;
+    }
+    printf("ok\n");
+    close(sock);
+    freeaddrinfo(res);
+    return 0;
+}
+
diff --git a/tests/sys/mac/portacl/misc.sh b/tests/sys/mac/portacl/misc.sh
index 4d3f18fce1c1..da022556a854 100644
--- a/tests/sys/mac/portacl/misc.sh
+++ b/tests/sys/mac/portacl/misc.sh
@@ -1,5 +1,17 @@
 #!/bin/sh
 
+dir=`dirname $0`
+
+sysctl security.mac.portacl >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+	echo "1..0 # SKIP MAC_PORTACL is unavailable."
+	exit 0
+fi
+if [ $(id -u) -ne 0 ]; then
+	echo "1..0 # SKIP testcases must be run as root"
+	exit 0
+fi
+
 ntest=1
 
 check_bind() {
@@ -15,32 +27,29 @@ check_bind() {
 
 	[ "${proto}" = "udp" ] && udpflag="-u"
 
-	out=$(
-		case "${idtype}" in
-		uid|gid)
-			( echo -n | su -m ${name} -c "nc ${udpflag} -l -w ${timeout} $host $port" 2>&1 ) &
-			;;
-		jail)
-			kill $$
-			;;
-		*)
-			kill $$
-		esac
-		sleep 0.3
-		echo | nc ${udpflag} -w ${timeout} $host $port >/dev/null 2>&1
-		wait
-	)
-	case "${out}" in
-	"nc: Permission denied"*|"nc: Operation not permitted"*)
-		echo fl
+	case "${idtype}" in
+	uid|gid)
+		su -m ${name} -c "${dir}/bind 0 ${host} ${proto} ${port}" > /dev/null # unspec
+		retval1=$?
+		su -m ${name} -c "${dir}/bind 2 ${host} ${proto} ${port}" > /dev/null # inet
+		retval2=$?
+		if [ $retval1 -ne $retval2 ]; then
+			echo inconsistent
+			return
+		fi
+		if [ $retval1 -ne 0 ]; then
+			echo fl
+			return
+		fi
 		;;
-	"")
-		echo ok
+	jail)
+		kill $$
 		;;
 	*)
-		echo ${out}
-		;;
+		kill $$
 	esac
+	
+	echo ok
 }
 
 bind_test() {
@@ -57,7 +66,7 @@ bind_test() {
 	out=$(check_bind ${idtype} ${name} ${proto} ${port})
 	if [ "${out}" = "${expect_without_rule}" ]; then
 		echo "ok ${ntest}"
-	elif [ "${out}" = "ok" -o "${out}" = "fl" ]; then
+	elif [ "${out}" = "ok" -o "${out}" = "fl" -o "${out}" = "inconsistent" ]; then
 		echo "not ok ${ntest} # '${out}' != '${expect_without_rule}'"
 	else
 		echo "not ok ${ntest} # unexpected output: '${out}'"

From nobody Wed Jun 10 12:36: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 4gb4yJ41LXz6g4Cc
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yJ35Qhz43GW
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094968;
	h=from:from:reply-to:subject:subject: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=OpvDN+7BO5evwO3Wc5ZQFJk3mYniMxWgO/nL6faISmY=;
	b=uZzaY/QkdsTWi4kx0Ix45rUajuVVRSCrHxS2m/L2o4Y8jBjotu2a7CuZqQeyvEUv/Jmgwo
	Zcem5u893nIbrkjHfSa4PWcBaR5ROOBzfixWDIQBrxdsH+QZW4YQeh+v3x584imKw80w9b
	i2BDwAeSjTbNRm9KNLw5IXUZ25a7X1YzhhJwUVkuCtHOZ8UDh9yPxagEOqWacuZyqDNkdb
	E9awZHWgepWWxzRFcBRzxa95H9fit8sMMQjyo5HNtFdQprP912A7QU7BQpdFIU7hkVqOw7
	zZGdNhHuI3CXul8eFDXvaD5plpqjeJlH/JhZzOxr2/hPuabufcS+ZGSl14UskA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094968; a=rsa-sha256; cv=none;
	b=pnVYPASSw7Ct87Dh4u2KEq38r6PaCZCp/MOrrLOhYz87foqI2K79cj5K32pIqDw33cncRf
	XZf8wfjNJkzE8bxnTfEjCK1PaAw/+hLRVHLMm6ZV2qFF0MX6OuW/EAqw7kq4XPszPjc1hS
	dX9djVtMSe9sIRN/jMTi00EDeoCeHTmnNVxjE6ja8/21E8LpmEbKtWK7cN0qGoeXtB43Jz
	BflfOMd4TIJiQoMhCz29nbSuZdaLtcoikARTveEqK9UiWVnNfc4C8zOzgqs+rDeBVijV6w
	KxRlXzF5MmEgfktFitLzFLhQRqTGTX8zmNAK34pVEL56fK5WL3PlxTLuKXPCfQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094968;
	h=from:from:reply-to:subject:subject: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=OpvDN+7BO5evwO3Wc5ZQFJk3mYniMxWgO/nL6faISmY=;
	b=UlMffk77qcjefYxlpTab5EXI2AqUR5bC+u9ft8CpS7ZE+D4jjpQaOOHxifxWnr+CkixFIR
	kiNPH5n1nl4KDDZ/jLXasP3mdpwkHN4MAWnREkS+TUnk2SDmR+iSODUhUtm7/pYSGgONjl
	emNrd75Ty+9Aml5+tdctg82Vd5YNQhCdRT+tCWf3mOGAdH/CF7dzflt+DkrYYH1nmMrQ/m
	H2wyVg+xVaiH2J6E2foOgr/OLZ7+4DwyM/449aiBaPezDUu1Qarz8aPADWcPDox6+d0+6i
	qVxflgB/90c8nJA3F2gTNTJPRYe/ScmAocvDOJFVOwfcS3SvWNF51cUN5CVfqw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yJ2NTgz1KsC
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3cf5a
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:08 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: K Rin <rin@sandb0x.tw>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 85e449cfcfdf - main - libc/tests: copy ieeefp tests out from contrib/netbsd-tests and rename them as FreeBSD test convention.
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: 85e449cfcfdf3a3ea99bae7fed9f3cd436eb21ec
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:08 +0000
Message-Id: <6a295a38.3cf5a.437a3d38@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 85e449cfcfdf3a3ea99bae7fed9f3cd436eb21ec
Author:     K Rin <rin@sandb0x.tw>
AuthorDate: 2025-04-10 02:33:21 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:03 +0000

    libc/tests: copy ieeefp tests out from contrib/netbsd-tests and rename them as FreeBSD test convention.
    
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1656
---
 lib/libc/tests/gen/Makefile          |   6 +-
 lib/libc/tests/gen/fpclassify_test.c | 206 +++++++++++++++++++
 lib/libc/tests/gen/fpsetmask_test.c  | 369 +++++++++++++++++++++++++++++++++++
 lib/libc/tests/gen/fpsetround_test.c | 163 ++++++++++++++++
 4 files changed, 741 insertions(+), 3 deletions(-)

diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile
index 97b32827a66a..395171a86bac 100644
--- a/lib/libc/tests/gen/Makefile
+++ b/lib/libc/tests/gen/Makefile
@@ -6,6 +6,7 @@ ATF_TESTS_C+=		dlopen_empty_test
 ATF_TESTS_C+=		fmtcheck2_test
 ATF_TESTS_C+=		fmtmsg_test
 ATF_TESTS_C+=		fnmatch2_test
+ATF_TESTS_C+=		fpclassify_test
 ATF_TESTS_C+=		fpclassify2_test
 .if ${COMPILER_FEATURES:Mblocks}
 ATF_TESTS_C+=		fts_blocks_test
@@ -16,6 +17,8 @@ ATF_TESTS_C+=		fts_open_test
 ATF_TESTS_C+=		fts_options_test
 ATF_TESTS_C+=		fts_regress_test
 ATF_TESTS_C+=		fts_set_test
+ATF_TESTS_C+=		fpsetmask_test
+ATF_TESTS_C+=		fpsetround_test
 ATF_TESTS_C+=		ftw_test
 ATF_TESTS_C+=		getentropy_test
 ATF_TESTS_C+=		getmntinfo_test
@@ -68,9 +71,6 @@ NETBSD_ATF_TESTS_C+=	cpuset_test
 NETBSD_ATF_TESTS_C+=	dir_test
 NETBSD_ATF_TESTS_C+=	floatunditf_test
 NETBSD_ATF_TESTS_C+=	fnmatch_test
-NETBSD_ATF_TESTS_C+=	fpclassify_test
-NETBSD_ATF_TESTS_C+=	fpsetmask_test
-NETBSD_ATF_TESTS_C+=	fpsetround_test
 NETBSD_ATF_TESTS_C+=	ftok_test
 NETBSD_ATF_TESTS_C+=	getcwd_test
 NETBSD_ATF_TESTS_C+=	getgrent_test
diff --git a/lib/libc/tests/gen/fpclassify_test.c b/lib/libc/tests/gen/fpclassify_test.c
new file mode 100644
index 000000000000..21dea9e8fee7
--- /dev/null
+++ b/lib/libc/tests/gen/fpclassify_test.c
@@ -0,0 +1,206 @@
+/* $NetBSD: t_fpclassify.c,v 1.3 2011/10/01 21:47:08 christos Exp $ */
+
+/*-
+ * Copyright (c) 2011 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <atf-c.h>
+
+#include <float.h>
+#include <math.h>
+#include <stdio.h>
+#include <string.h>
+
+#ifndef _FLOAT_IEEE754
+
+ATF_TC(no_test);
+ATF_TC_HEAD(no_test, tc)
+{
+	atf_tc_set_md_var(tc, "descr", "Dummy test");
+}
+
+ATF_TC_BODY(no_test,tc)
+{
+	atf_tc_skip("Test not available on this architecture");
+}
+
+#else /* defined(_FLOAT_IEEE754) */
+
+ATF_TC(fpclassify_float);
+ATF_TC_HEAD(fpclassify_float, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr", "Test float operations");
+}
+
+ATF_TC_BODY(fpclassify_float, tc)
+{
+	float d0, d1, d2, f, ip;
+	int e, i;
+
+	d0 = FLT_MIN;
+	ATF_REQUIRE_EQ(fpclassify(d0), FP_NORMAL);
+	f = frexpf(d0, &e);
+	ATF_REQUIRE_EQ(e, FLT_MIN_EXP);
+	ATF_REQUIRE_EQ(f, 0.5);
+	d1 = d0;
+
+	/* shift a "1" bit through the mantissa (skip the implicit bit) */
+	for (i = 1; i < FLT_MANT_DIG; i++) {
+		d1 /= 2;
+		ATF_REQUIRE_EQ(fpclassify(d1), FP_SUBNORMAL);
+		ATF_REQUIRE(d1 > 0 && d1 < d0);
+
+		d2 = ldexpf(d0, -i);
+		ATF_REQUIRE_EQ(d2, d1);
+
+		d2 = modff(d1, &ip);
+		ATF_REQUIRE_EQ(d2, d1);
+		ATF_REQUIRE_EQ(ip, 0);
+
+		f = frexpf(d1, &e);
+		ATF_REQUIRE_EQ(e, FLT_MIN_EXP - i);
+		ATF_REQUIRE_EQ(f, 0.5);
+	}
+
+	d1 /= 2;
+	ATF_REQUIRE_EQ(fpclassify(d1), FP_ZERO);
+	f = frexpf(d1, &e);
+	ATF_REQUIRE_EQ(e, 0);
+	ATF_REQUIRE_EQ(f, 0);
+}
+
+ATF_TC(fpclassify_double);
+ATF_TC_HEAD(fpclassify_double, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr", "Test double operations");
+}
+
+ATF_TC_BODY(fpclassify_double, tc)
+{
+	double d0, d1, d2, f, ip;
+	int e, i;
+
+	d0 = DBL_MIN;
+	ATF_REQUIRE_EQ(fpclassify(d0), FP_NORMAL);
+	f = frexp(d0, &e);
+	ATF_REQUIRE_EQ(e, DBL_MIN_EXP);
+	ATF_REQUIRE_EQ(f, 0.5);
+	d1 = d0;
+
+	/* shift a "1" bit through the mantissa (skip the implicit bit) */
+	for (i = 1; i < DBL_MANT_DIG; i++) {
+		d1 /= 2;
+		ATF_REQUIRE_EQ(fpclassify(d1), FP_SUBNORMAL);
+		ATF_REQUIRE(d1 > 0 && d1 < d0);
+
+		d2 = ldexp(d0, -i);
+		ATF_REQUIRE_EQ(d2, d1);
+
+		d2 = modf(d1, &ip);
+		ATF_REQUIRE_EQ(d2, d1);
+		ATF_REQUIRE_EQ(ip, 0);
+
+		f = frexp(d1, &e);
+		ATF_REQUIRE_EQ(e, DBL_MIN_EXP - i);
+		ATF_REQUIRE_EQ(f, 0.5);
+	}
+
+	d1 /= 2;
+	ATF_REQUIRE_EQ(fpclassify(d1), FP_ZERO);
+	f = frexp(d1, &e);
+	ATF_REQUIRE_EQ(e, 0);
+	ATF_REQUIRE_EQ(f, 0);
+}
+
+/*
+ * XXX NetBSD doesn't have long-double flavors of frexp, ldexp, and modf,
+ * XXX so this test is disabled.
+ */
+
+#ifdef TEST_LONG_DOUBLE
+
+ATF_TC(fpclassify_long_double);
+ATF_TC_HEAD(fpclassify_long_double, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr", "Test long double operations");
+}
+
+ATF_TC_BODY(fpclassify_long_double, tc)
+{
+	long double d0, d1, d2, f, ip;
+	int e, i;
+
+	d0 = LDBL_MIN;
+	ATF_REQUIRE_EQ(fpclassify(d0), FP_NORMAL);
+	f = frexpl(d0, &e);
+	ATF_REQUIRE_EQ(e, LDBL_MIN_EXP);
+	ATF_REQUIRE_EQ(f, 0.5);
+	d1 = d0;
+
+	/* shift a "1" bit through the mantissa (skip the implicit bit) */
+	for (i = 1; i < LDBL_MANT_DIG; i++) {
+		d1 /= 2;
+		ATF_REQUIRE_EQ(fpclassify(d1), FP_SUBNORMAL);
+		ATF_REQUIRE(d1 > 0 && d1 < d0);
+
+		d2 = ldexpl(d0, -i);
+		ATF_REQUIRE_EQ(d2, d1);
+
+		d2 = modfl(d1, &ip);
+		ATF_REQUIRE_EQ(d2, d1);
+		ATF_REQUIRE_EQ(ip, 0);
+
+		f = frexpl(d1, &e);
+		ATF_REQUIRE_EQ(e, LDBL_MIN_EXP - i);
+		ATF_REQUIRE_EQ(f, 0.5);
+	}
+
+	d1 /= 2;
+	ATF_REQUIRE_EQ(fpclassify(d1), FP_ZERO);
+	f = frexpl(d1, &e);
+	ATF_REQUIRE_EQ(e, 0);
+	ATF_REQUIRE_EQ(f, 0);
+}
+#endif /* TEST_LONG_DOUBLE */
+#endif /* _FLOAT_IEEE754 */
+
+ATF_TP_ADD_TCS(tp)
+{
+
+#ifndef _FLOAT_IEEE754
+	ATF_TP_ADD_TC(tp, no_test);
+#else
+	ATF_TP_ADD_TC(tp, fpclassify_float);
+	ATF_TP_ADD_TC(tp, fpclassify_double);
+#ifdef TEST_LONG_DOUBLE
+	ATF_TP_ADD_TC(tp, fpclassify_long_double);
+#endif /* TEST_LONG_DOUBLE */
+#endif /* _FLOAT_IEEE754 */
+
+	return atf_no_error();
+}
diff --git a/lib/libc/tests/gen/fpsetmask_test.c b/lib/libc/tests/gen/fpsetmask_test.c
new file mode 100644
index 000000000000..1c2d9316e5a7
--- /dev/null
+++ b/lib/libc/tests/gen/fpsetmask_test.c
@@ -0,0 +1,369 @@
+/*	$NetBSD: t_fpsetmask.c,v 1.16 2016/03/12 11:55:14 martin Exp $ */
+
+/*-
+ * Copyright (c) 1995 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+
+#include <atf-c.h>
+
+#include <stdio.h>
+#include <signal.h>
+#include <float.h>
+#include <setjmp.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef _FLOAT_IEEE754
+
+ATF_TC(no_test);
+ATF_TC_HEAD(no_test, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr", "Dummy test case");
+}
+
+ATF_TC_BODY(no_test, tc)
+{
+
+	atf_tc_skip("Test not available on this architecture.");
+}
+
+#else /* defined(_FLOAT_IEEE754) */
+
+#include <ieeefp.h>
+
+#if __arm__ && !__SOFTFP__
+	/*
+	 * Some NEON fpus do not implement IEEE exception handling,
+	 * skip these tests if running on them and compiled for
+	 * hard float.
+	 */
+#define	FPU_PREREQ()							\
+	if (0 == fpsetmask(fpsetmask(FP_X_INV)))			\
+		atf_tc_skip("FPU does not implement exception handling");
+#endif
+
+#ifndef FPU_PREREQ
+#define	FPU_PREREQ()	/* nothing */
+#endif
+
+void		sigfpe(int, siginfo_t *, void *);
+
+volatile sig_atomic_t signal_caught;
+volatile int sicode;
+
+static volatile const float	f_one   = 1.0;
+static volatile const float	f_zero  = 0.0;
+static volatile const double	d_one   = 1.0;
+static volatile const double	d_zero  = 0.0;
+static volatile const long double ld_one  = 1.0;
+static volatile const long double ld_zero = 0.0;
+
+static volatile const float	f_huge = FLT_MAX;
+static volatile const float	f_tiny = FLT_MIN;
+static volatile const double	d_huge = DBL_MAX;
+static volatile const double	d_tiny = DBL_MIN;
+static volatile const long double ld_huge = LDBL_MAX;
+static volatile const long double ld_tiny = LDBL_MIN;
+
+static volatile float f_x;
+static volatile double d_x;
+static volatile long double ld_x;
+
+/* trip divide by zero */
+static void
+f_dz(void)
+{
+
+	f_x = f_one / f_zero;
+}
+
+static void
+d_dz(void)
+{
+
+	d_x = d_one / d_zero;
+}
+
+static void
+ld_dz(void)
+{
+
+	ld_x = ld_one / ld_zero;
+}
+
+/* trip invalid operation */
+static void
+d_inv(void)
+{
+
+	d_x = d_zero / d_zero;
+}
+
+static void
+ld_inv(void)
+{
+
+	ld_x = ld_zero / ld_zero;
+}
+
+static void
+f_inv(void)
+{
+
+	f_x = f_zero / f_zero;
+}
+
+/* trip overflow */
+static void
+f_ofl(void)
+{
+
+	f_x = f_huge * f_huge;
+}
+
+static void
+d_ofl(void)
+{
+
+	d_x = d_huge * d_huge;
+}
+
+static void
+ld_ofl(void)
+{
+
+	ld_x = ld_huge * ld_huge;
+}
+
+/* trip underflow */
+static void
+f_ufl(void)
+{
+
+	f_x = f_tiny * f_tiny;
+}
+
+static void
+d_ufl(void)
+{
+
+	d_x = d_tiny * d_tiny;
+}
+
+static void
+ld_ufl(void)
+{
+
+	ld_x = ld_tiny * ld_tiny;
+}
+
+struct ops {
+	void (*op)(void);
+	fp_except mask;
+	int sicode;
+};
+
+static const struct ops float_ops[] = {
+	{ f_dz, FP_X_DZ, FPE_FLTDIV },
+	{ f_inv, FP_X_INV, FPE_FLTINV },
+	{ f_ofl, FP_X_OFL, FPE_FLTOVF },
+	{ f_ufl, FP_X_UFL, FPE_FLTUND },
+	{ NULL, 0, 0 }
+};
+
+static const struct ops double_ops[] = {
+	{ d_dz, FP_X_DZ, FPE_FLTDIV },
+	{ d_inv, FP_X_INV, FPE_FLTINV },
+	{ d_ofl, FP_X_OFL, FPE_FLTOVF },
+	{ d_ufl, FP_X_UFL, FPE_FLTUND },
+	{ NULL, 0, 0 }
+};
+
+static const struct ops long_double_ops[] = {
+	{ ld_dz, FP_X_DZ, FPE_FLTDIV },
+	{ ld_inv, FP_X_INV, FPE_FLTINV },
+	{ ld_ofl, FP_X_OFL, FPE_FLTOVF },
+	{ ld_ufl, FP_X_UFL, FPE_FLTUND },
+	{ NULL, 0, 0 }
+};
+
+static sigjmp_buf b;
+
+static void
+fpsetmask_masked(const struct ops *test_ops)
+{
+	struct sigaction sa;
+	fp_except ex1, ex2;
+	const struct ops *t;
+
+	/* mask all exceptions, clear history */
+	fpsetmask(0);
+	fpsetsticky(0);
+
+	/* set up signal handler */
+	sa.sa_sigaction = sigfpe;
+	sigemptyset(&sa.sa_mask);
+	sa.sa_flags = SA_SIGINFO;
+	sigaction(SIGFPE, &sa, 0);
+	signal_caught = 0;
+
+	/*
+	 * exceptions masked, check whether "sticky" bits are set correctly
+	 */
+	for (t = test_ops; t->op != NULL; t++) {
+		(*t->op)();
+		ex1 = fpgetsticky();
+		ATF_CHECK_EQ(ex1 & t->mask, t->mask);
+		ATF_CHECK_EQ(signal_caught, 0);
+
+		/* check correct fpsetsticky() behaviour */
+		ex2 = fpsetsticky(0);
+		ATF_CHECK_EQ(fpgetsticky(), 0);
+		ATF_CHECK_EQ(ex1, ex2);
+	}
+}
+
+/* force delayed exceptions to be delivered */
+#define BARRIER() fpsetmask(0); f_x = f_one * f_one
+
+static void
+fpsetmask_unmasked(const struct ops *test_ops)
+{
+	struct sigaction sa;
+	int r;
+	const struct ops *volatile t;
+
+	/* mask all exceptions, clear history */
+	fpsetmask(0);
+	fpsetsticky(0);
+
+	/* set up signal handler */
+	sa.sa_sigaction = sigfpe;
+	sigemptyset(&sa.sa_mask);
+	sa.sa_flags = SA_SIGINFO;
+	sigaction(SIGFPE, &sa, 0);
+	signal_caught = 0;
+
+	/*
+	 * exception unmasked, check SIGFPE delivery and correct siginfo
+	 */
+	for (t = test_ops; t->op != NULL; t++) {
+		fpsetmask(t->mask);
+		r = sigsetjmp(b, 1);
+		if (!r) {
+			(*t->op)();
+			BARRIER();
+		}
+		ATF_CHECK_EQ(signal_caught, 1);
+		ATF_CHECK_EQ(sicode, t->sicode);
+		signal_caught = 0;
+	}
+}
+
+void
+sigfpe(int s, siginfo_t *si, void *c)
+{
+	signal_caught = 1;
+	sicode = si->si_code;
+	siglongjmp(b, 1);
+}
+
+#define TEST(m, t)							\
+	ATF_TC(m##_##t);						\
+									\
+	ATF_TC_HEAD(m##_##t, tc)					\
+	{								\
+									\
+		atf_tc_set_md_var(tc, "descr",				\
+		    "Test " ___STRING(m) " exceptions for "		\
+		    ___STRING(t) "values");				\
+	}								\
+									\
+	ATF_TC_BODY(m##_##t, tc)					\
+	{								\
+									\
+		FPU_PREREQ();						\
+									\
+		if (strcmp(MACHINE, "macppc") == 0)			\
+			atf_tc_expect_fail("PR port-macppc/46319");	\
+									\
+		if (isQEMU())						\
+			atf_tc_expect_fail("PR misc/44767");		\
+									\
+		m(t##_ops);						\
+	}
+
+TEST(fpsetmask_masked, float)
+TEST(fpsetmask_masked, double)
+TEST(fpsetmask_masked, long_double)
+TEST(fpsetmask_unmasked, float)
+TEST(fpsetmask_unmasked, double)
+TEST(fpsetmask_unmasked, long_double)
+
+ATF_TC(fpsetmask_basic);
+ATF_TC_HEAD(fpsetmask_basic, tc)
+{
+	atf_tc_set_md_var(tc, "descr", "A basic test of fpsetmask(3)");
+}
+
+ATF_TC_BODY(fpsetmask_basic, tc)
+{
+	size_t i;
+	fp_except_t msk, lst[] = { FP_X_INV, FP_X_DZ, FP_X_OFL, FP_X_UFL };
+
+	FPU_PREREQ();
+
+	msk = fpgetmask();
+	for (i = 0; i < __arraycount(lst); i++) {
+		fpsetmask(msk | lst[i]);
+		ATF_CHECK((fpgetmask() & lst[i]) != 0);
+		fpsetmask(msk & ~lst[i]);
+		ATF_CHECK((fpgetmask() & lst[i]) == 0);
+	}
+
+}
+
+#endif /* defined(_FLOAT_IEEE754) */
+
+ATF_TP_ADD_TCS(tp)
+{
+
+#ifndef _FLOAT_IEEE754
+	ATF_TP_ADD_TC(tp, no_test);
+#else
+	ATF_TP_ADD_TC(tp, fpsetmask_basic);
+	ATF_TP_ADD_TC(tp, fpsetmask_masked_float);
+	ATF_TP_ADD_TC(tp, fpsetmask_masked_double);
+	ATF_TP_ADD_TC(tp, fpsetmask_masked_long_double);
+	ATF_TP_ADD_TC(tp, fpsetmask_unmasked_float);
+	ATF_TP_ADD_TC(tp, fpsetmask_unmasked_double);
+	ATF_TP_ADD_TC(tp, fpsetmask_unmasked_long_double);
+#endif
+
+	return atf_no_error();
+}
diff --git a/lib/libc/tests/gen/fpsetround_test.c b/lib/libc/tests/gen/fpsetround_test.c
new file mode 100644
index 000000000000..0f23e74e57c8
--- /dev/null
+++ b/lib/libc/tests/gen/fpsetround_test.c
@@ -0,0 +1,163 @@
+/* $NetBSD: t_fpsetround.c,v 1.6 2011/10/01 17:46:10 christos Exp $ */
+
+/*-
+ * Copyright (c) 2011 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Christos Zoulas.
+ *
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *        This product includes software developed by the NetBSD
+ *        Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: t_fpsetround.c,v 1.6 2011/10/01 17:46:10 christos Exp $");
+
+#include <float.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <atf-c.h>
+
+ATF_TC(fpsetround_basic);
+ATF_TC_HEAD(fpsetround_basic, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr",
+	    "Minimal testing of fpgetround(3) and fpsetround(3)");
+}
+
+#ifdef _FLOAT_IEEE754
+#include <ieeefp.h>
+
+static const struct {
+	const char *n;
+	int rm;
+	int rf;
+} rnd[] = {
+	{ "RN", FP_RN, 1 },
+	{ "RP", FP_RP, 2 },
+	{ "RM", FP_RM, 3 },
+	{ "RZ", FP_RZ, 0 },
+
+};
+
+static const struct {
+	const char *n;
+	int v[4];
+} tst[] = {	/*  RN  RP  RM  RZ */
+	{  "1.1", {  1,  1,  2,  1 } },
+	{  "1.5", {  1,  2,  2,  1 } },
+	{  "1.9", {  1,  2,  2,  1 } },
+	{  "2.1", {  2,  2,  3,  2 } },
+	{  "2.5", {  2,  2,  3,  2 } },
+	{  "2.9", {  2,  3,  3,  2 } },
+	{ "-1.1", { -1, -1, -1, -2 } },
+	{ "-1.5", { -1, -2, -1, -2 } },
+	{ "-1.9", { -1, -2, -1, -2 } },
+	{ "-2.1", { -2, -2, -2, -3 } },
+	{ "-2.5", { -2, -2, -2, -3 } },
+	{ "-2.9", { -2, -3, -2, -3 } },
+};
+
+static const char *
+getname(int r)
+{
+	for (size_t i = 0; i < __arraycount(rnd); i++)
+		if (rnd[i].rm == r)
+			return rnd[i].n;
+	return "*unknown*";
+}
+
+static void
+test(int r)
+{
+	int did = 0;
+	for (size_t i = 0; i < __arraycount(tst); i++) {
+		double d = strtod(tst[i].n, NULL);
+		int g = (int)rint(d);
+		int e = tst[i].v[r];
+		ATF_CHECK_EQ(g, e);
+		if (g != e) {
+			if (!did) {
+				fprintf(stderr, "Mode Value Result Expected\n");
+				did = 1;
+			}
+			fprintf(stderr, "%4.4s %-5.5s %6d %8d\n", rnd[r].n,
+			    tst[i].n, (int)rint(d), tst[i].v[r]);
+		}
+	}
+}
+#endif
+
+
+ATF_TC_BODY(fpsetround_basic, tc)
+{
+
+#ifndef _FLOAT_IEEE754
+	atf_tc_skip("Test not applicable on this architecture.");
+#else
+	int r;
+
+	ATF_CHECK_EQ(r = fpgetround(), FP_RN);
+	if (FP_RN != r)
+		fprintf(stderr, "default expected=%s got=%s\n", getname(FP_RN),
+		    getname(r));
+	ATF_CHECK_EQ(FLT_ROUNDS, 1);
+
+	for (size_t i = 0; i < __arraycount(rnd); i++) {
+		const size_t j = (i + 1) & 3;
+		const int o = rnd[i].rm;
+		const int n = rnd[j].rm;
+
+		ATF_CHECK_EQ(r = fpsetround(n), o);
+		if (o != r)
+			fprintf(stderr, "set %s expected=%s got=%s\n",
+			    getname(n), getname(o), getname(r));
+		ATF_CHECK_EQ(r = fpgetround(), n);
+		if (n != r)
+			fprintf(stderr, "get expected=%s got=%s\n", getname(n),
+			    getname(r));
+		ATF_CHECK_EQ(r = FLT_ROUNDS, rnd[j].rf);
+		if (r != rnd[j].rf)
+			fprintf(stderr, "rounds expected=%x got=%x\n",
+			    rnd[j].rf, r);
+		test(r);
+	}
+#endif /* _FLOAT_IEEE754 */
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+
+	ATF_TP_ADD_TC(tp, fpsetround_basic);
+
+	return atf_no_error();
+}

From nobody Wed Jun 10 12:36: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 4gb4yL4c5kz6g4NY
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yK4rPxz43MT
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094969;
	h=from:from:reply-to:subject:subject: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=WBuC/TBiDQFEZZAFpm8K4JuJRIbjMq8bJ7OTqddG8u8=;
	b=cJufRwAujB4jwcnuse//Fh1x/zVsrqt3omeFYHgi6yvxRCNtVVlOV4mU2Q0OAyM6+sqRkX
	ELfSpzsWtovX4JKTCa7QqLp1F8lRWxt6V/ch4wAjycoxH5XiOF/V2DMcdT2CZLgtBuG4i4
	s0cCKgZfTDoAXfgOg3v8Hu+1nw/TWm3d4AvBb+hIgAgh32SuIjmGhlNWP+/fXm8bjgyc5f
	bw4+Yy8HFaOx3tBHi++2E/IakVf9OaWdbL2BTWngPEX67c/cb0N/EEqo91o717YkgdPLp1
	WV2yC8OdS3ToqaKsM22j4pEZneJ21XvtygTBywGNyiiqA0AP4Y2kydQjbeqdkQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094969; a=rsa-sha256; cv=none;
	b=nr7cxekEe9EAm6fIjAPvHTcHilKJXpE2toCfI4y7/r4TtlV8/x2IWAPIwN7/sa0bPbtFy6
	eFII1oRZkS+U2+bYGScfc3kGzDgYgbBTthfTlVLSRJUcodmCk1GGPE7SltKJ1H0yQxj1Hc
	BA3eUjLS3zEuZuYBGxgg03wBFYy2cvvXoHCPSPwGSj76xJyfrH7SDyFYqw1Kaw4z+H8uav
	FDBsTyyghl5Zib5DaKHnfnEgMOaeAjtdmmwPzmmTwiHZ0afFHVMCGSCntMEEdE+Yl9xWSv
	IIff3WsuDaKUW2TMgxF9jZeMmtdMOORtaeprzBhGqbl6eyb1U9HLbBEAhS5rcA==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094969;
	h=from:from:reply-to:subject:subject: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=WBuC/TBiDQFEZZAFpm8K4JuJRIbjMq8bJ7OTqddG8u8=;
	b=RcFy1FzhJoYroTZ+qD1UeRGHCwVDikb62ON5E5QerF+9Qhw2HttLDkhCEXYBoiPaGzjzQo
	VoAe7JYlnf2jx1GzEuGckY0MszR60h/74OU1vPVmsj0xTfts9yQ/RpInapbLQ7mxG6FFql
	4xmzRMECE/rTEf7WM22S/LiiiBiTjwg4oB9APaqsjJ04vj2Z7GABGMTKMf5CaakhXjIv9Y
	v7o2gXZ/BEtBwfqLZuosLN+q9fyrwjm7Y/Pm8VaR4bMk8hZBBucQ6//3x8IrppLJiVtiU3
	iruLBSqB8T/vudc4FF8QE//HNLuwMKDi4nxWR9vUMkkMzmcchdqwO7bCpG0AzQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yK3D1Zz1Ksv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:09 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3df28
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:09 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: K Rin <rin@sandb0x.tw>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 2671607f1b5c - main - libc/tests: Enable fpsetround_basic which was never triggered since ported.
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: 2671607f1b5c6e787eb754b0d291a2b5e28e8ac9
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:09 +0000
Message-Id: <6a295a39.3df28.4072fc80@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 2671607f1b5c6e787eb754b0d291a2b5e28e8ac9
Author:     K Rin <rin@sandb0x.tw>
AuthorDate: 2025-04-10 04:34:47 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:03 +0000

    libc/tests: Enable fpsetround_basic which was never triggered since ported.
    
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1656
---
 lib/libc/tests/gen/fpclassify_test.c | 13 ++++++-----
 lib/libc/tests/gen/fpsetmask_test.c  | 42 ++++++++++++++++++++++--------------
 lib/libc/tests/gen/fpsetround_test.c |  7 +++---
 3 files changed, 38 insertions(+), 24 deletions(-)

diff --git a/lib/libc/tests/gen/fpclassify_test.c b/lib/libc/tests/gen/fpclassify_test.c
index 21dea9e8fee7..ed573b9e2b57 100644
--- a/lib/libc/tests/gen/fpclassify_test.c
+++ b/lib/libc/tests/gen/fpclassify_test.c
@@ -33,7 +33,7 @@
 #include <stdio.h>
 #include <string.h>
 
-#ifndef _FLOAT_IEEE754
+#ifndef __i386__
 
 ATF_TC(no_test);
 ATF_TC_HEAD(no_test, tc)
@@ -46,7 +46,10 @@ ATF_TC_BODY(no_test,tc)
 	atf_tc_skip("Test not available on this architecture");
 }
 
-#else /* defined(_FLOAT_IEEE754) */
+#else /* defined(__i386__) */
+
+#undef LDBL_MANT_DIG
+#define LDBL_MANT_DIG DBL_MANT_DIG
 
 ATF_TC(fpclassify_float);
 ATF_TC_HEAD(fpclassify_float, tc)
@@ -187,12 +190,12 @@ ATF_TC_BODY(fpclassify_long_double, tc)
 	ATF_REQUIRE_EQ(f, 0);
 }
 #endif /* TEST_LONG_DOUBLE */
-#endif /* _FLOAT_IEEE754 */
+#endif /* __i386__ */
 
 ATF_TP_ADD_TCS(tp)
 {
 
-#ifndef _FLOAT_IEEE754
+#ifndef __i386__
 	ATF_TP_ADD_TC(tp, no_test);
 #else
 	ATF_TP_ADD_TC(tp, fpclassify_float);
@@ -200,7 +203,7 @@ ATF_TP_ADD_TCS(tp)
 #ifdef TEST_LONG_DOUBLE
 	ATF_TP_ADD_TC(tp, fpclassify_long_double);
 #endif /* TEST_LONG_DOUBLE */
-#endif /* _FLOAT_IEEE754 */
+#endif /* __i386__ */
 
 	return atf_no_error();
 }
diff --git a/lib/libc/tests/gen/fpsetmask_test.c b/lib/libc/tests/gen/fpsetmask_test.c
index 1c2d9316e5a7..377e42be1469 100644
--- a/lib/libc/tests/gen/fpsetmask_test.c
+++ b/lib/libc/tests/gen/fpsetmask_test.c
@@ -37,7 +37,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#ifndef _FLOAT_IEEE754
+#ifndef __i386__
 
 ATF_TC(no_test);
 ATF_TC_HEAD(no_test, tc)
@@ -52,9 +52,16 @@ ATF_TC_BODY(no_test, tc)
 	atf_tc_skip("Test not available on this architecture.");
 }
 
-#else /* defined(_FLOAT_IEEE754) */
+#else /* defined(__i386__) */
 
 #include <ieeefp.h>
+#ifndef ___STRING
+#define ___STRING(x) #x
+#endif
+#ifndef __arraycount
+#define __arraycount(x) (sizeof(x) / sizeof((x)[0]))
+#endif
+
 
 #if __arm__ && !__SOFTFP__
 	/*
@@ -142,8 +149,8 @@ f_inv(void)
 static void
 f_ofl(void)
 {
-
 	f_x = f_huge * f_huge;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 static void
@@ -151,6 +158,7 @@ d_ofl(void)
 {
 
 	d_x = d_huge * d_huge;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 static void
@@ -158,33 +166,34 @@ ld_ofl(void)
 {
 
 	ld_x = ld_huge * ld_huge;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 /* trip underflow */
 static void
 f_ufl(void)
 {
-
 	f_x = f_tiny * f_tiny;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 static void
 d_ufl(void)
 {
-
 	d_x = d_tiny * d_tiny;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 static void
 ld_ufl(void)
 {
-
 	ld_x = ld_tiny * ld_tiny;
+	printf("%f %f %Lf", f_x, d_x, ld_x); // avoid compiler optimization
 }
 
 struct ops {
 	void (*op)(void);
-	fp_except mask;
+	fp_except_t mask;
 	int sicode;
 };
 
@@ -218,12 +227,12 @@ static void
 fpsetmask_masked(const struct ops *test_ops)
 {
 	struct sigaction sa;
-	fp_except ex1, ex2;
+	fp_except_t ex1, ex2;
 	const struct ops *t;
 
 	/* mask all exceptions, clear history */
 	fpsetmask(0);
-	fpsetsticky(0);
+	fpresetsticky(~0);
 
 	/* set up signal handler */
 	sa.sa_sigaction = sigfpe;
@@ -241,8 +250,8 @@ fpsetmask_masked(const struct ops *test_ops)
 		ATF_CHECK_EQ(ex1 & t->mask, t->mask);
 		ATF_CHECK_EQ(signal_caught, 0);
 
-		/* check correct fpsetsticky() behaviour */
-		ex2 = fpsetsticky(0);
+		/* check correct fpresetsticky() behaviour */
+		ex2 = fpresetsticky(~0);
 		ATF_CHECK_EQ(fpgetsticky(), 0);
 		ATF_CHECK_EQ(ex1, ex2);
 	}
@@ -260,7 +269,7 @@ fpsetmask_unmasked(const struct ops *test_ops)
 
 	/* mask all exceptions, clear history */
 	fpsetmask(0);
-	fpsetsticky(0);
+	fpresetsticky(~0);
 
 	/* set up signal handler */
 	sa.sa_sigaction = sigfpe;
@@ -275,13 +284,16 @@ fpsetmask_unmasked(const struct ops *test_ops)
 	for (t = test_ops; t->op != NULL; t++) {
 		fpsetmask(t->mask);
 		r = sigsetjmp(b, 1);
+		printf("r = %d\n", r);
 		if (!r) {
 			(*t->op)();
 			BARRIER();
+			fpresetsticky(~0);
 		}
 		ATF_CHECK_EQ(signal_caught, 1);
 		ATF_CHECK_EQ(sicode, t->sicode);
 		signal_caught = 0;
+		sicode = 0;
 	}
 }
 
@@ -312,8 +324,6 @@ sigfpe(int s, siginfo_t *si, void *c)
 		if (strcmp(MACHINE, "macppc") == 0)			\
 			atf_tc_expect_fail("PR port-macppc/46319");	\
 									\
-		if (isQEMU())						\
-			atf_tc_expect_fail("PR misc/44767");		\
 									\
 		m(t##_ops);						\
 	}
@@ -348,12 +358,12 @@ ATF_TC_BODY(fpsetmask_basic, tc)
 
 }
 
-#endif /* defined(_FLOAT_IEEE754) */
+#endif /* defined(__i386__) */
 
 ATF_TP_ADD_TCS(tp)
 {
 
-#ifndef _FLOAT_IEEE754
+#ifndef __i386__
 	ATF_TP_ADD_TC(tp, no_test);
 #else
 	ATF_TP_ADD_TC(tp, fpsetmask_basic);
diff --git a/lib/libc/tests/gen/fpsetround_test.c b/lib/libc/tests/gen/fpsetround_test.c
index 0f23e74e57c8..6114cf25e8e3 100644
--- a/lib/libc/tests/gen/fpsetround_test.c
+++ b/lib/libc/tests/gen/fpsetround_test.c
@@ -54,8 +54,9 @@ ATF_TC_HEAD(fpsetround_basic, tc)
 	    "Minimal testing of fpgetround(3) and fpsetround(3)");
 }
 
-#ifdef _FLOAT_IEEE754
+#ifdef __i386__
 #include <ieeefp.h>
+#define __arraycount(a) (sizeof(a) / sizeof(*(a)))
 
 static const struct {
 	const char *n;
@@ -121,7 +122,7 @@ test(int r)
 ATF_TC_BODY(fpsetround_basic, tc)
 {
 
-#ifndef _FLOAT_IEEE754
+#ifndef __i386__
 	atf_tc_skip("Test not applicable on this architecture.");
 #else
 	int r;
@@ -151,7 +152,7 @@ ATF_TC_BODY(fpsetround_basic, tc)
 			    rnd[j].rf, r);
 		test(r);
 	}
-#endif /* _FLOAT_IEEE754 */
+#endif /* __i386__ */
 }
 
 ATF_TP_ADD_TCS(tp)

From nobody Wed Jun 10 12:36: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 4gb4yJ6T2fz6g4BC
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yJ1BC3z42sB
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094968;
	h=from:from:reply-to:subject:subject: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=87zNTx+DOupLS/dm+oSqepGT5wJe4sV8JvjwKigjoss=;
	b=o8Nu+h3OlZ3wY+sQKLDGj7t7n2rDLXixzKOZ3U+JdaXuBipvMdNOK7+lvPcIpJ32J0Gr1H
	4jD8wNjVsk1Mbp+dvypkfFi1iB/4UV2ehr1PRo/UkCLpxILodcH16nOjgwVBh9I32prqto
	WpdM6vyDMiVQbgV4d61aEoKyVYalem2U7uEaiVFxY/zZw04cCSQoo4NAnW/EOx95SS3+JA
	xy9yeoSpWJ4ORzTINhk7eZvIObCjFVMHP0CYn8/sOKH8iUraeyJa2we2VuK4WW68o6ID86
	nB5NNrvzG69hVbneHCxYMjZGFjByV5scj767tA2WpDBO9e4PQjF6ngAs7gThVg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094968; a=rsa-sha256; cv=none;
	b=bZluRqd217gz4HY6XgSCBhdZTD7mcnkfdMwY5ASiE7uFdOqr+UopQikVL6vYRvMAhhNmbF
	GqPLS3PWlaIF/W/fE1wpc6XCKet2exdgs1u+qmI73IJ2SbZJgjJHEKfvdK3RehcaR2jvE+
	KixeQ7+UAoMgo93ljYOQhVQwG6wLKP3HkjkKyrguJuHMAWpOFaTlndcPU5cjD6afv3xWo5
	lVU3clQY37EZ9mBrJKTYcUxpIUKp2OV2Z3dGHTcNJz9ZhrZNwXPyLkjkHz3OkRdW0kf6Fn
	dO7ikevt+lAT1MFflB+5qnynYPctr3NGGAeCv9vupz+rkdFBpM6uP7pdPPpf/g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094968;
	h=from:from:reply-to:subject:subject: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=87zNTx+DOupLS/dm+oSqepGT5wJe4sV8JvjwKigjoss=;
	b=uR1JI0q2ID/8BCBtFF0TegTa+7a6UMYzXLD4Jiw10VEIPAfzco3A5OY50hlmEm8kFlw7gf
	1qK4PZg5GFMasBGFP/Bptvnu2x4Ohf2g9L3DYqBMlsEXkWRBXHLG2SbSov+uNnOMWey0A5
	Z7M1rwE59EDmweYU3HTxbp7dceZuvDjtDnV/6J9BrRuatrJ/4HMQ7Xz1ybQG0PJszRzv73
	yPTGrh4dy3pdnBdwHmDCKSdWAPtFr8zA2vFZqVfeYR1gfhk9TIkHvbniYHTdwz3yB0Ffqc
	BEu6vUMUeg25slW8nQ3u/yQqWDdE1dXuTzlqL2k842tbY4tHyY8fly2cruzeDQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yJ0bdsz1Kss
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:08 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3e002
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:02 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: androvonx95 <androvonx95@tutamail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 925f53682469 - main - improve renice user error messages
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: 925f53682469ea12c017b48114b16e8f1627fb0b
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:02 +0000
Message-Id: <6a295a32.3e002.31d3fa83@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 925f53682469ea12c017b48114b16e8f1627fb0b
Author:     androvonx95 <androvonx95@tutamail.com>
AuthorDate: 2025-07-15 18:01:28 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:02 +0000

    improve renice user error messages
    
    Improve error handling for invalid user names and UIDs in renice:
    - Use warnx() and err() for consistent error reporting
    - Set errno = EINVAL for invalid input
    - Provide clearer error messages for invalid user names and UIDs
    - Add test cases for invalid user input
    
    Signed-off-by: androvonx95 <androvonx95@tutamail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1768
---
 usr.bin/renice/renice.c             | 31 +++++++++++++++++---
 usr.bin/renice/tests/renice_test.sh | 57 +++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/usr.bin/renice/renice.c b/usr.bin/renice/renice.c
index 4931a39c0f67..240ddf54134c 100644
--- a/usr.bin/renice/renice.c
+++ b/usr.bin/renice/renice.c
@@ -97,6 +97,7 @@ main(int argc, char *argv[])
 			if ((pwd = getpwnam(*argv)) != NULL)
 				who = pwd->pw_uid;
 			else if (getnum("uid", *argv, &who)) {
+				warnx("invalid uid: %s", *argv);
 				errs++;
 				continue;
 			} else if (who < 0) {
@@ -106,6 +107,7 @@ main(int argc, char *argv[])
 			}
 		} else {
 			if (getnum("pid", *argv, &who)) {
+				warnx("invalid pid: %s", *argv);
 				errs++;
 				continue;
 			}
@@ -126,11 +128,27 @@ static int
 donice(int which, int who, int prio, bool incr)
 {
 	int oldprio;
+	const char *who_type;
+
+	switch (which) {
+	case PRIO_PROCESS:
+		who_type = "process";
+		break;
+	case PRIO_PGRP:
+		who_type = "process group";
+		break;
+	case PRIO_USER:
+		who_type = "user";
+		break;
+	default:
+		who_type = "unknown";
+		break;
+	}
 
 	errno = 0;
 	oldprio = getpriority(which, who);
 	if (oldprio == -1 && errno) {
-		warn("%d: getpriority", who);
+		warnx("%s %d: getpriority failed", who_type, who);
 		return (1);
 	}
 	if (incr)
@@ -140,11 +158,16 @@ donice(int which, int who, int prio, bool incr)
 	if (prio < PRIO_MIN)
 		prio = PRIO_MIN;
 	if (setpriority(which, who, prio) < 0) {
-		warn("%d: setpriority", who);
+		if (errno == EPERM) {
+			warnx("Permission denied: cannot set priority for %s %d",
+			    who_type, who);
+			return (1);
+		}
+		warnx("%s %d: setpriority failed", who_type, who);
 		return (1);
 	}
-	fprintf(stderr, "%d: old priority %d, new priority %d\n", who,
-	    oldprio, prio);
+	fprintf(stderr, "%s %d: old priority %d, new priority %d\n", who_type,
+	    who, oldprio, prio);
 	return (0);
 }
 
diff --git a/usr.bin/renice/tests/renice_test.sh b/usr.bin/renice/tests/renice_test.sh
index 7983eb594716..116f1be60fe9 100755
--- a/usr.bin/renice/tests/renice_test.sh
+++ b/usr.bin/renice/tests/renice_test.sh
@@ -51,6 +51,50 @@ renice_rel_pid_body() {
 	kill $pid
 }
 
+atf_test_case renice_invalid_priority
+renice_invalid_priority_head() {
+	atf_set "descr" "Verify handling of invalid priority values"
+}
+renice_invalid_priority_body() {
+	local pid
+	sleep 60 &
+	pid=$!
+
+	# Test out of range priority
+	atf_check -s exit:1 -e match:"numeric value out of range" renice 100000 $pid
+	atf_check -s exit:1 -e match:"numeric value out of range" renice -100000 $pid
+
+	# Test invalid priority format
+	atf_check -s exit:1 -e match:"invalid numeric value" renice "abc" $pid
+	atf_check -s exit:1 -e match:"invalid numeric value" renice "12.3" $pid
+
+	kill $pid
+}
+
+atf_test_case renice_permission_denied
+renice_permission_denied_head() {
+	atf_set "descr" "Verify handling of permission denied cases"
+}
+renice_permission_denied_body() {
+	local pid
+	sleep 60 &
+	pid=$!
+
+	# Test permission denied with non-root user
+	atf_check -s exit:1 -e match:"Permission denied: cannot set priority" renice -n 10 $pid
+
+	kill $pid
+}
+
+atf_test_case renice_nonexistent_process
+renice_nonexistent_process_head() {
+	atf_set "descr" "Verify handling of non-existent process"
+}
+renice_nonexistent_process_body() {
+	# Test with a non-existent PID
+	atf_check -s exit:1 -e match:"process 999999 not found" renice 10 999999
+}
+
 atf_test_case renice_abs_pgid
 renice_abs_pgid_head() {
 	atf_set "descr" "Set a process group's nice number to an absolute value"
@@ -115,6 +159,18 @@ renice_rel_user_body() {
 	kill $pid
 }
 
+atf_test_case renice_invalid_user
+renice_invalid_user_head() {
+	atf_set "descr" "Verify handling of invalid user names"
+}
+renice_invalid_user_body() {
+	# Test with non-existent user name
+	atf_check -s exit:1 -e match:"Invalid user name or UID: nonexist" renice 10 -u nonexist
+
+	# Test with invalid UID
+	atf_check -s exit:1 -e match:"Invalid UID: -1" renice 10 -u -1
+}
+
 atf_test_case renice_delim
 renice_delim_head() {
 	atf_set "descr" "Test various delimiter positions"
@@ -169,6 +225,7 @@ atf_init_test_cases() {
 	atf_add_test_case renice_rel_pgid
 	atf_add_test_case renice_abs_user
 	atf_add_test_case renice_rel_user
+	atf_add_test_case renice_invalid_user
 	atf_add_test_case renice_delim
 	atf_add_test_case renice_incr_noarg
 }

From nobody Wed Jun 10 12:36: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 4gb4yN1FMqz6g4Js
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yM4tyrz42vW
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094971;
	h=from:from:reply-to:subject:subject: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=llk76lXjdUXNHCszlfppG5eKVvVmXq7Eblh8AtXbIi4=;
	b=upf35HBCLpalGkN1bFq4AzFqxrprOYKIIurrFSIn5XD8fdTKeUzcvjXHqo427D5URHtX9n
	N1V+DMIjK6fW7QDu6vRnyY18dgV6HJmkVFn3f843AGGTybp6xSlfNlZdces4N2P0GPTtB8
	zoxa5LmwmfvULdcw/5wV1lsId45SFJxBBO9PBRO/U47r/+Qzciq9QN0FyXGIgRfHFEfO6D
	Xe82y5Ddw/JpOuad8x9GR6KyY2zLOuvW32JJVm03erYywO2M9WVCfMRNw7XyTPokcovi4A
	RPKsofArHg/u4OJhU7oLGQZSyZo0pnHvQj39yqRnTORWU3dZqaBwnu8ELbOjUA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094971; a=rsa-sha256; cv=none;
	b=mVjasS38a6x08B2bAYZGg+Qz05/336v6z8j4cKRGqH4+gjBMHt52w6wzBhqLicOnD66jT7
	ByIWJMerZg0tVc9wEeFTbdOCwiEpjkmWlxRC16j+gUIcpbXvrfLchznn2ioN1MhXE+OS+6
	5YGM7QSJZn9+2Nb29qVkLd+wS9vS/uQRFtnpfJkvUNmNQHe1E4vgwk277uJcbyoTMXkHZ6
	rjY/ULL0RYbkaRnkVTGr8LsTKcONwkOFMkI/YH1QwNRGZMcgTHIxY1KuMKRvKhIThzOvDg
	XRcHMk9vQUy1Ra7bU6rnx5iPYaZ36rQneu4UxEKIfRGh/96Ox7eFEy1cduE/IQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094971;
	h=from:from:reply-to:subject:subject: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=llk76lXjdUXNHCszlfppG5eKVvVmXq7Eblh8AtXbIi4=;
	b=ZfiwmwEkMcVrNHQGGYafsDVvmmYfYA3sJHvea0k0pjxAWcXVYYJQV4IcxjeKAmP5uvrgYF
	oKl4dVMWhr9QrSNsUjlbSj+PjDOFvo+4FggKPbrYi4DZ/6SIqqndbLDVsUyZ0hIJV7S9A7
	BRumDJC1SyXSGt5RUy3jtqKYD/FWfjaTYLJrGPyTsiEbHP9qRwVhLbDCPaWimhacGkb6wF
	TkJQBM5n7wYIxZUPoM4Gu54iTC9JvU3YhcohdWS3KOWaxHWXb+9fppCiTaWLCrSTAEEtfC
	8Ji/2PMmbiy7Tj7c/KA7ml4ltX6Jq8FZDso1KwmIoKYWhPZwqQErWlJyVCT1xA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yM4S16z1KXs
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d620
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:11 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 2c5fd7d9a7ed - main - cp(1): fix -P documentation to reflect it works without -R
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: 2c5fd7d9a7ed36cf15dd538d9533e7835c7f8555
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:11 +0000
Message-Id: <6a295a3b.3d620.3ed54ad2@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 2c5fd7d9a7ed36cf15dd538d9533e7835c7f8555
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:25:44 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:03 +0000

    cp(1): fix -P documentation to reflect it works without -R
    
    Since commit 97e13037915c, the -P flag works without -R as
    required by POSIX. Update the man page to state that only -H
    and -L are ignored without -R, while -P can be used independently.
    
    PR: 289959
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2102
---
 bin/cp/cp.1 | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/bin/cp/cp.1 b/bin/cp/cp.1
index 5231fa72621c..e31eb07ecd92 100644
--- a/bin/cp/cp.1
+++ b/bin/cp/cp.1
@@ -29,7 +29,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd July 9, 2025
+.Dd June 9, 2026
 .Dt CP 1
 .Os
 .Sh NAME
@@ -247,14 +247,17 @@ flags (in conjunction with the
 .Fl R
 flag) cause symbolic links to be followed as described above.
 The
-.Fl H ,
-.Fl L
+.Fl H
 and
-.Fl P
+.Fl L
 options are ignored unless the
 .Fl R
 option is specified.
-In addition, these options override each other and the
+The
+.Fl P
+option can be used with or without
+.Fl R .
+These options override each other and the
 command's actions are determined by the last one specified.
 .Pp
 If

From nobody Wed Jun 10 12:36:10 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yM1BVcz6g4GG
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yL50zQz438j
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094970;
	h=from:from:reply-to:subject:subject: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=rYsi1i4qKs80FYwW5UlMgCKU6fqCNAXbFfTK2kwIr4M=;
	b=ypFw1EgffLND7fdVeOjv2M0IeGHr8jBR0jIcUNJJjOT5jqz9kZqawJoRBapQuDG0/6peGV
	TH7WK6n8/FoJNOzy6i5pIga6+j/kOzpv+hJN/sRrfbBEpnHgUltAPcJA5rM5bn4jLIlm3w
	KIMmsQCo2jfUV9TpBDYMzV+EHqzhjTmwWWrF8PJ6sgtUOcsnP7H4WSXrTX4htF2SdnvPqb
	fjBXFL2vNZfq2tr3TNOUJlvdkRv66lD7tOekWi53qpinppM+9kI/XQrLRSDN7orhtnyRvw
	JDASSpW2KE98Bsq3uFV5D0n2en2qhqEkzuEvjunVTtZ8RJ4TBJ6W7sGUopposA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094970; a=rsa-sha256; cv=none;
	b=AY49Xc7UU3cCQJdkLvFHjL964M+yJ+1c5m6J9mfwlBhVf2IslDXDvpHQaTtJHCYpNAdkry
	+KBoHoTdZ5pq+efhwvGtIY35nZQLZFZQLIfRblxy8zUYinoBKKMTW37wgcn1LKd9X6L4Vu
	zOwvByWx5oWjcbDPHxWTzoFmKtDu3UQqM7P8dZjrPhD3rs1LAWbwDA5wVG7beCCmIarytN
	nvom4ZT3D1v3DTZ2BCyq37u5yMB09l5Glp5RCR6DVcPldhWXpTyYBKka3xeCP9ehpmKkxu
	eBLcSQU81wUV9d/GdwboyDLW13GUKnMi40SM3SlK9Eytriv2QUv2L9HlQtlQCw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094970;
	h=from:from:reply-to:subject:subject: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=rYsi1i4qKs80FYwW5UlMgCKU6fqCNAXbFfTK2kwIr4M=;
	b=mmbdblVv2cpFhkKlAodxt46AwK2XlWsqlgXClN6fvrXhN7QWAGu9RhLrNYEOH+5e2iu+fA
	OPItUE57dxLPfoywa7tC1wATpMsjZnFncwLJEc/LdkFGnw/N5nvjt1pnGLodkhOpXr1RvY
	ZzqIZ1Fn2+DjQQQZuj/TuiXgddu+B9xLon0k0Fy0u4ggoZ7usdcZBBn/vrtbDxOrTBHLhj
	zOsb5jlmu0qke/t7rETYlJ1BjJpWzJc9YhCpGFZIOg9AAq1tv7pyu0pWGsY/8fCMoLC4JA
	STlGNvWuGgisIl0WsR4bcL9FCkv0/JHCe9ly1DqQM4fK2bjpyLjDmfzjHrGJ/Q==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yL3qnkz1Kdn
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3da89
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:10 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 82780af43b11 - main - du(1): document --si option
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: 82780af43b113ab16a1a4fab5bf085b2b159f81e
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:10 +0000
Message-Id: <6a295a3a.3da89.109447a9@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 82780af43b113ab16a1a4fab5bf085b2b159f81e
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:30:11 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:03 +0000

    du(1): document --si option
    
    The --si option (human-readable output with SI units based on
    powers of 1000) was implemented but missing from both the SYNOPSIS
    and the options list.
    
    PR: 265199
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2104
---
 usr.bin/du/du.1 | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/usr.bin/du/du.1 b/usr.bin/du/du.1
index a2bda42e5f9a..db77fb276fe2 100644
--- a/usr.bin/du/du.1
+++ b/usr.bin/du/du.1
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd April 24, 2026
+.Dd June 9, 2026
 .Dt DU 1
 .Os
 .Sh NAME
@@ -36,7 +36,7 @@
 .Op Fl -libxo
 .Op Fl Aclnx
 .Op Fl H | L | P
-.Op Fl g | h | k | m
+.Op Fl g | h | k | m | -si
 .Op Fl a | s | d Ar depth
 .Op Fl B Ar blocksize
 .Op Fl I Ar mask
@@ -116,6 +116,11 @@ Display block counts in 1073741824-byte (1 GiB) blocks.
 output.
 Use unit suffixes: Byte, Kilobyte, Megabyte,
 Gigabyte, Terabyte and Petabyte based on powers of 1024.
+.It Fl -si
+.Dq Human-readable
+output.
+Use unit suffixes: Byte, Kilobyte, Megabyte,
+Gigabyte, Terabyte and Petabyte based on powers of 1000.
 .It Fl k
 Display block counts in 1024-byte (1 kiB) blocks.
 .It Fl l

From nobody Wed Jun 10 12:36: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 4gb4yP1cvcz6g42D
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yN5wM0z4398
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094972;
	h=from:from:reply-to:subject:subject: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=TdkUcJY4KIBzwnC7mzDDtjzcsUfY0fIw2/GCSbRotCM=;
	b=Lv90utC2ZsvhrRtPT75zRpqqsQqFWxWZI/sc6cBidmbLQXewYh40iMeDyFdE6Ot+8ZQU6U
	Ap0zeT7PyjUv0TAs99PuU0Dy4VIJ1jdZK6yciKu90Fl3Uso+s/991dWMYgEb3LQ/kZ4Wbn
	5fmJ1U8FJY4oFQcznb+nDyr0GGCx6hOP65e9Q+6N7I8BUraUvGJOhIwpr/w60c/qQBPfOA
	wj4JZ+HiBWeductj93dsb0pDqSkRnXq3L5wVcG0d/F2ElVlwxuFeOZQ9LJne/jB9HefPfP
	2lfkIEsY9hUf1Ha31IKMolWCAx7rpHJU8iIebslsp2w6GW3gPjigohzS/ff8Yg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094972; a=rsa-sha256; cv=none;
	b=W9J+yNPAet70MNhA/v2X5Et9x8ukps4DWZic56aUtVnncoNoabh2/XHXB9iDNtP5dkRE+r
	h+9no75Y209uS+YVufUVzRYMu8qmTnD716//JKVvIofn90o7VHb2VdYk2VRC3/gvhOsHcu
	vHEt97ayk2Raq72FFgh8+3Yb5wjya2AOXzaaIN/B9beZiZ9Yq039d/Nduk09OtDxqhzuZV
	E/GLNo8WDXaoKxrcjKJqSK7tpNqSvGf9t/uOnGzkvGRfSOpglTlmhvea2WYFgcfk41Syd0
	lODwKgFOVUVuPJOK1OpnXyV6cYX6/zftJWhRTeP5kaA7oLsee6aqKsA3RN0Ehw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094972;
	h=from:from:reply-to:subject:subject: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=TdkUcJY4KIBzwnC7mzDDtjzcsUfY0fIw2/GCSbRotCM=;
	b=Q0rX2A6vIHmlQtbjWmsUGrdNua3Cbitn9yFF0h79slPDts7zRNuLhJ9EDxT5dIxD3MviJB
	Y4MQF+GbCXYWGlv6rFSNCecASW6RxkFq29iVLRAflFh7mb5HkNz/EtWwpvTN2cdPV5CzKM
	r7FOeYIfEF9RuSEEJANL01yE4nDFN87tT9CotaEe2+mEaRhXGvFojWqd2XqYD/wPIEVOUS
	SJx8odqZ3tjM2bdd7fNS4FDl6yC2aTTBwpuHjoJayTjoAtgFHpUPcJnxMNrMjW2iqbcph0
	Lfywp0OPcpB0/PzH0FwiXYg7zll482qu8SjwGAplBecys3G4O/bE5BN/Pm9uHg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yN4xzCz1Kdp
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3cdf9
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:12 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 05a02d395d6e - main - mail(1): fix temporary file path in FILES 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: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 05a02d395d6e9de099c4be3ead222d36ca29e0a5
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:12 +0000
Message-Id: <6a295a3c.3cdf9.43440d2b@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 05a02d395d6e9de099c4be3ead222d36ca29e0a5
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:23:47 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:04 +0000

    mail(1): fix temporary file path in FILES section
    
    The FILES section listed /tmp/R* but the source code uses
    /tmp/mail.R* (e.g. mail.RsXXXXXXXXXX, mail.ReXXXXXXXXXX,
    mail.RxXXXXXXXXXX) as the mkstemp template prefix.
    
    PR: 289980
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2103
---
 usr.bin/mail/mail.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/usr.bin/mail/mail.1 b/usr.bin/mail/mail.1
index 7ec2cf818f4e..767b2d811318 100644
--- a/usr.bin/mail/mail.1
+++ b/usr.bin/mail/mail.1
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd August 8, 2018
+.Dd June 9, 2026
 .Dt MAIL 1
 .Os
 .Sh NAME
@@ -1222,7 +1222,7 @@ commands.
 This can be overridden by setting the
 .Ev MAILRC
 environment variable.
-.It Pa /tmp/R*
+.It Pa /tmp/mail.R*
 Temporary files.
 .It Pa /usr/share/misc/mail.*help
 Help files.

From nobody Wed Jun 10 12:36: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 4gb4yR4BVDz6g4R9
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:15 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yR05yfz43Kv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:15 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094975;
	h=from:from:reply-to:subject:subject: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=FePTdkJyqr7UY/GZNJZXy7xCClFHJLNdlt1FwxssV/Q=;
	b=KgjsVxwzmdpwyOcR+7BBORxOgfxfOmRNiFNq06zyc4gMKb5sL0WJC9CX4MiYFpkDTdjbCH
	H5W+mAQqYn4WpYE0rmTJR1ylwkY8rezZh54SOjihrCtzf2TPcse6JjUIIfRWz8ANZvQNhJ
	4dl33RJ3G/H0a8mPoKcXSKoSi9D7pM+FQLD9trqr980ZKhU641lAuRfZJEDTpFKCXEEcDZ
	0iXxI+KNOtIQWgo414PfiuE7u1USjSGjSWXcrY0t1/nGnNUmhCHnRZRydoiQ1OmeFyoLpe
	lJylkfY00KIRL9qpYmv6Oc4h9EheJOah9VXTasucq9Kta9grD5Zv7tUAJorD0A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094975; a=rsa-sha256; cv=none;
	b=yg8ccJ4l0xU2q+kt7wwRo1rcUHkzorYjEHuneYkhSAIBt2PkZGvimh3UvFZw7Z5pKBDyjZ
	4C/pEvt8dx2Dm/8tb2m6oXD1+Hj1kWriO6kIoPoEEIwLh6LwXGu4577SqOsTk88G5W0qzI
	PyeyGDyPmoR86HA7Q+cyreZ35X4YTFfAXkiEOoMecANGnoa3V0hdpGlMZ6MtQaqf2PiAe5
	yN26ScjNcCMSOrfReIZciM4A49485WOgaZBZqeEp7jckY0dWHiyp51ikN+EAzVxbIQ0Bhr
	jCO/9Mltp02Mg8R09cymqCBLUNtNS2+lduq1d0fOxV1zaiXSr4s3//PNuX61tw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094975;
	h=from:from:reply-to:subject:subject: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=FePTdkJyqr7UY/GZNJZXy7xCClFHJLNdlt1FwxssV/Q=;
	b=dBj1c48FZXhnAERPa1qvCZF6TaKmWPSgW+G2Ae/IMCvcjKmi8vT8119flutDg/yHm4pOvd
	dS6276kluQiWLbq0XysiniNdbAjBqkZ/d1so8aT0bSUOHc91mFD3RcLHk2x+jI6wdaGn9F
	Sd0nqofcHA0TN5N8LQwwEZuQqe9ZWQRK6wnoLie27vw0N8LVAI0IutT0ANVoLvvXktp4eL
	CrsOGGaZYlKX9gvmKlMUQbJU+aMTWBJaCaeNT1q/6u8yITh6qiDKBAqozIw4m4MRZZcBs1
	rSOomSIeFWXz0B4FEYic6S6v6WHHs27XXkma7qYK0skg4UPGv930xBKg4yarPg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yQ6Nhjz1KXv
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:14 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3cdfe
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:14 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: e7bdf44da75a - main - bsdconfig(8): add missing vt(4) console commands
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: e7bdf44da75a3f877c90dbbb9ff3db730937bc96
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:14 +0000
Message-Id: <6a295a3e.3cdfe.49638c23@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit e7bdf44da75a3f877c90dbbb9ff3db730937bc96
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:25:38 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:04 +0000

    bsdconfig(8): add missing vt(4) console commands
    
    Add documentation for the vt_font, vt_keymap, vt_repeat, vt_saver,
    vt_screenmap, and vt_ttys commands which are available at runtime
    but were not listed in the man page.
    
    Also clarify that the existing syscons_* commands are for the
    syscons(4) console driver and remove stale commented-out entries.
    
    PR: 291051
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2100
---
 usr.sbin/bsdconfig/bsdconfig.8 | 48 +++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 17 deletions(-)

diff --git a/usr.sbin/bsdconfig/bsdconfig.8 b/usr.sbin/bsdconfig/bsdconfig.8
index c4fb1e612dbb..aa81785a3acc 100644
--- a/usr.sbin/bsdconfig/bsdconfig.8
+++ b/usr.sbin/bsdconfig/bsdconfig.8
@@ -23,7 +23,7 @@
 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 12, 2020
+.Dd June 9, 2026
 .Dt BSDCONFIG 8
 .Os
 .Sh NAME
@@ -170,29 +170,43 @@ Shortcut to the Delete menu under the View/Edit Startup Configuration menu
 (startup_rcconf) of startup.
 .It Cm startup_rcvar
 Shortcut to the Toggle Startup Services menu under startup.
-.\" use neutral name, e.g. console_keymap instead of syscons_keymap?
-.\" font (encoding) selection not applicable to vt(4)!
 .It Cm syscons_font
-Shortcut to the Font menu under console.
-.\" .It Cm console_keymap
-.\" Shortcut to the Keymap menu under console.
+Shortcut to the Font menu under console for
+.Xr syscons 4 .
 .It Cm syscons_keymap
-Shortcut to the Keymap menu under console.
-.\" .It Cm vt_repeat
-.\" Shortcut to the Repeat menu under console.
+Shortcut to the Keymap menu under console for
+.Xr syscons 4 .
 .It Cm syscons_repeat
-Shortcut to the Repeat menu under console.
+Shortcut to the Repeat menu under console for
+.Xr syscons 4 .
 .\" .It Cm vt_saver
-.\" Shortcut to the Saver menu under console.
 .It Cm syscons_saver
-Shortcut to the Saver menu under console.
-.\" screenmap (encoding) selection not applicable to vt(4)!
+Shortcut to the Saver menu under console for
+.Xr syscons 4 .
 .It Cm syscons_screenmap
-Shortcut to the Screenmap menu under console.
-.\" .It Cm vt_syscons_ttys
-.\" Shortcut to the Ttys menu under console.
+Shortcut to the Screenmap menu under console for
+.Xr syscons 4 .
 .It Cm syscons_ttys
-Shortcut to the Ttys menu under console.
+Shortcut to the Ttys menu under console for
+.Xr syscons 4 .
+.It Cm vt_font
+Shortcut to the Font menu under console for
+.Xr vt 4 .
+.It Cm vt_keymap
+Shortcut to the Keymap menu under console for
+.Xr vt 4 .
+.It Cm vt_repeat
+Shortcut to the Repeat menu under console for
+.Xr vt 4 .
+.It Cm vt_saver
+Shortcut to the Saver menu under console for
+.Xr vt 4 .
+.It Cm vt_screenmap
+Shortcut to the Screenmap menu under console for
+.Xr vt 4 .
+.It Cm vt_ttys
+Shortcut to the Ttys menu under console for
+.Xr vt 4 .
 .It Cm timezone
 Set the regional timezone of the local machine.
 .It Cm ttys

From nobody Wed Jun 10 12:36: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 4gb4yQ6Sjjz6g4Bg
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:14 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yQ47LQz43Vy
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:14 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094974;
	h=from:from:reply-to:subject:subject: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=hrZGqToK5vMMPTPd10hwW4XFJAmdo5gdZxy39uABe2w=;
	b=OZ2Z5TyyKedHi1t4xXWzAEBnMoA6yVxPvS18InVT4y80SQvucAoOLweXATI2bb0TQ48LF6
	1EOS0kXGfNQu2iWT50TGR21QX90oSpMtaErT86HMrz/i9PlooQ1GuX6mmC0DnGIbpyZumY
	4jl+NHhFRYuNMFXLRH1E24xU9Z0xmFo3HPo1Ra8L0iXtoBgmDOXd0LSOQxG2Ij88/tCReK
	dLVAP12RWkRWWbbaKhR01q0MWWYTxBeLJCrSB6IUUFmB0P4vhaQQ1kxAvmQxyIS4Vkkvd+
	7k1wcowf7Qgh4EFx0iRSDeHu96aQbDGAtqbuwHdV0f9+t6Kh4K3yUkCH0TxUGg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094974; a=rsa-sha256; cv=none;
	b=glMXjVrU9V/ZnccrebutiAKxN0O3h1j51NztSdSiEOc/aEtBNWxGpsSK6n0PpELIUWgE4D
	qNDnaXOS8WuFcjJH8+8lGhjhlp6JX3oZMioh7ODk+vumTdqaRMH62zX+nlfAKZM0opSPjx
	g9dIttGANjEtJGigZ0zJvzGaqYiYkny9FLwutQ7b2A4gWUzslHilfxvAmajL+HlK8dvYoR
	jOJ/HoPb2zaRGV3Q9RgNd9JY/fGYflkaa31PCtAGxLyNm2ix5IxZ4JxJiS2FnmJcwx/g9b
	WFBtMXlvevzkUWycDyCrVorwZaSJLKqsN4SIDWVyxyBPbAxnwSEO43WaDI1BSw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094974;
	h=from:from:reply-to:subject:subject: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=hrZGqToK5vMMPTPd10hwW4XFJAmdo5gdZxy39uABe2w=;
	b=WWigVxSwOtWBE3UG3k7M16WLF9nSGRD09vV6ftbjLkKchdAvztE6juT4yWhM+wQBlh3qvV
	H6hC1lsDu7DbbAALlXCyo9dzeX58lPzA69nheFv6OHe/aw8VDzGvJlukFb+OyCzOTNZmGa
	bm8LXRPvUfokc5nadd8qP/8kPZNoJ/4KeTFV0fLgu3w8Vd1TFhujz/cwVsJ+kItZd5OC7e
	A9H76ipPjGhk7XI329uFwsDlxCgSHBki/fpV5R9CqqHjDBDDeCt15pP4PdD4N1FaA6pyG3
	lHdI6J5Y4aPwGYpfJ2LTgZp1fOEP5iOO1MATg8sAiSJ87J2+nXlHMIoqmOMSRA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yP5Vdcz1KsH
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:13 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3cf5f
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:13 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: f8c8875add69 - main - diskless(8): remove references to deleted clone_root 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: imp
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: f8c8875add6946b09ea8cf1f7bbdbd90fe5b1f17
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:13 +0000
Message-Id: <6a295a3d.3cf5f.79a69d20@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit f8c8875add6946b09ea8cf1f7bbdbd90fe5b1f17
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:25:41 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:04 +0000

    diskless(8): remove references to deleted clone_root script
    
    The clone_root script was removed from the tree in commit
    7736786b08e8 but the diskless(8) man page still referenced it
    in two places. Remove both references.
    
    PR: 292231
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2101
---
 share/man/man8/diskless.8 | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/share/man/man8/diskless.8 b/share/man/man8/diskless.8
index cc49854ae850..603209dec7dc 100644
--- a/share/man/man8/diskless.8
+++ b/share/man/man8/diskless.8
@@ -27,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 11, 2024
+.Dd June 9, 2026
 .Dt DISKLESS 8
 .Os
 .Sh NAME
@@ -179,10 +179,7 @@ can contain the following lines:
 where
 .Aq ROOT
 is the mount point on the server of the root partition.
-The script
-.Pa /usr/share/examples/diskless/clone_root
-can be used to create a shared read-only root partition,
-but in many cases you may decide to export
+In many cases you may decide to export
 (again as read-only) the root directory used by
 the server itself.
 .It
@@ -219,10 +216,6 @@ and
 have the obvious meanings.
 .It
 A properly initialized root partition.
-The script
-.Pa /usr/share/examples/diskless/clone_root
-can help in creating it, using the server's root partition
-as a reference.
 If you are just starting out, you should
 simply use the server's own root directory,
 .Pa / ,

From nobody Wed Jun 10 12:36: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 4gb4yT3x33z6g4Rd
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yT20cmz43YV
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094977;
	h=from:from:reply-to:subject:subject: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=HZksUzyETaPlsMYQwS+91qUURvyLatZqcWK9SRX7TqM=;
	b=R4DynEMdX1uasJI7ZiVoHmTCO//LaAm5d+auGU4pdJZ+3dqz6CDnU/G3rPp6/90FyfMrVu
	E+hUmQN6nufU3ZG2S1YCaWTobfujoDabNx6E2ylc6wBQATyLKBtIeTAzp+j7gR0tQC5pB+
	QmWhJ0euTA1fpn41OhH9jUr7DCCLR0cWwpZTrDVQzm19EooO3l3bTQnPSMPR4HZSl70Opp
	sBQCfl5GaWSRXi1/sENMKcW2ZwFMXIPixG3IgaI8POIWTt7f6ndmYhBPUMuCpzJdoqAxTB
	0fhBMhSvt77T2kw1gwkfVC1neD6OeQXq+sdA0a82sw/UZBV7GL0nxQ/HoEXzCA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094977; a=rsa-sha256; cv=none;
	b=ds7qfhOOymqH6wkUpUfHjhb9YMfh8KWuApAw+CLdmzVYvlb/PgJ9QQjt9delXVWGbO4I03
	Lg620U7PVOOYgdWSed5BO0yd1JbjQmu+TJBXcLQVXx45qFPVuabQ8jcy4Mk+ide4W/Div9
	3UGOiwCYXrelqOEvwhElfa/RAQXOgX073RYhBBQ6U+vXAoYURi7IhBH0kPPowTtcA54Tlu
	1pilqSxrSQ/I8P/biB09IOrRIbZeGDfaUjhn2hAh1EtBSPn3w4IerxzdbpgEuog386nBdK
	o7YWvwiHjXXYg/UZqWyWGWW6JwuyDcBAqZL3+7jz4QRKBacbK+9RP9TV55X6xQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094977;
	h=from:from:reply-to:subject:subject: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=HZksUzyETaPlsMYQwS+91qUURvyLatZqcWK9SRX7TqM=;
	b=m3i2px1ASE+QlvpZU51F7dWC/wafEZx1ScOBJOEFK3W66FxuiQXAHC/2YZ4osmEjApIJ9h
	4HQZkr6cQZTfTpFGIJdm1CKFQPqrcNRhkstG9zKUCNR5s1DG2QPfRBKZHoIzcQ+BjjW7IN
	d78tMH/nAnylYWkoTlSmXN4aKiDCtrIt4f43k3k0J7YBaTLEUcOCtO4M2ckycxUTBhXQKi
	yPNE1+3UwwazZMMH3xC6k75AjdpTGSxNr5+UoLp/gspbuA8loiVy/lB18pvCG5KcpO3mcx
	vW05pBVd3x/fPbex1cibC2L7WK7fEmdLoVPe0gSORArx7gk7LIlJ67P3VC4lgA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yT0jNyz1Jb9
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d807
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:17 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 3a71a24bbeae - main - etherswitchcfg(8): document atu commands
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: 3a71a24bbeae3b72c91fd7c0b212ee607f18cba6
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:17 +0000
Message-Id: <6a295a41.3d807.10775acc@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 3a71a24bbeae3b72c91fd7c0b212ee607f18cba6
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:25:27 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:04 +0000

    etherswitchcfg(8): document atu commands
    
    Add documentation for the ATU (Address Translation Unit) commands
    that were implemented but not documented in the man page:
    
    - atu dump: display the MAC address table
    - atu flush all: clear all dynamic ATU entries
    - atu flush port <n>: clear ATU entries for a specific port
    
    Also add atu to the SYNOPSIS section.
    
    PR: 275413
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2096
---
 sbin/etherswitchcfg/etherswitchcfg.8 | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/sbin/etherswitchcfg/etherswitchcfg.8 b/sbin/etherswitchcfg/etherswitchcfg.8
index f903975bd356..8f3198c543ea 100644
--- a/sbin/etherswitchcfg/etherswitchcfg.8
+++ b/sbin/etherswitchcfg/etherswitchcfg.8
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd June 23, 2021
+.Dd June 9, 2026
 .Dt ETHERSWITCHCFG 8
 .Os
 .Sh NAME
@@ -50,6 +50,10 @@
 .Ar register[=value]
 .Nm
 .Op Fl "f control file"
+.Cm atu
+.Ar command Op Ar parameter
+.Nm
+.Op Fl "f control file"
 .Cm vlangroup%d
 .Ar command parameter
 .Sh DESCRIPTION
@@ -166,6 +170,21 @@ Enable the ingress filter on the port.
 .It Fl ingress
 Disable the ingress filter.
 .El
+.Ss atu
+The atu command provides access to the Address Translation Unit table
+of the switch, which maps MAC addresses to switch ports.
+It supports the following commands:
+.Pp
+.Bl -tag -width ".Cm flush port number" -compact
+.It Cm dump
+Display the current ATU table entries.
+Each entry shows the MAC address and a bitmask of ports associated with it.
+.It Cm flush all
+Remove all dynamic entries from the ATU table.
+.It Cm flush port Ar number
+Remove all dynamic ATU entries associated with port
+.Ar number .
+.El
 .Ss reg
 The reg command provides access to the registers of the switch controller.
 .Ss vlangroup

From nobody Wed Jun 10 12: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 4gb4yS3pdjz6g4K7
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:16 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yS0zyNz43SV
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:16 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094976;
	h=from:from:reply-to:subject:subject: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=DkNfHwMT2KcfwnPjgIbdFV9ahV/jZH5FcZC4rbrHZN8=;
	b=r23p+LF4ysF9W9naVrx9HNredYtZutZjiNmsCcq+pwLefi0X+z29GB4/Nm675rtzd+fiP+
	CdXXJ3O7vxE9dC12MQBLpMrwsxj/Z+QiC8Ec0G8/cBhFl5DeKP7pVeLB51yKj61KO/IoT/
	8jmu/3v4xQroZoOhVJnlrh/VOILnPWFFfr6kXJC28ukDK9Bey44NDBqBaYhw0Foyr9zZi1
	cATARrMb3XBgc9NSEp4zq/hsjzmWeZlei4wW0NLIAxWhVVfNij2G9J2TSQxUMvZYtK9AgY
	efCnKJlNtjSSHrC7UJXZdpl9mVhRc0bi5sKxnFOu27s5JdDvJaCx5uuQGA2t5A==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094976; a=rsa-sha256; cv=none;
	b=Ob4I7u6BupBYoh38943PGd7OuyG1fpnjtdf2tzsC8RMChKLn7fEPP93aMouv79qAbXWjNV
	SYKgXEAGHUWYBD08UkhyJzCimwFEKk1XbyYCBaKEjg8PA/D7vghgQ5RyjWkUqyPbzQ6qNu
	Uo5oROiKjzCxWCMxJpGkkNEHVqDodHaYf3gz8Gd2VgwEaIcq9IwKl8T+XcFA7kb/CvASs1
	a76E9CZ2/23UsqGJ5I2TyGXsA8BKWy+DH4h7iJol/2mFgQ/JUsUmDJZuV/wK34vuUS1Emf
	XN9k3pnStt6bFkZaKvkBu80rZLhFx5JSaTd3fCBdJ2pVL2Qohbq0ND66lnWkUg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094976;
	h=from:from:reply-to:subject:subject: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=DkNfHwMT2KcfwnPjgIbdFV9ahV/jZH5FcZC4rbrHZN8=;
	b=xpkQ8fykxrE+UC45orWkbMjxKvtj5dLf0hUcv3/VySacXWDRzpUAzcPz5cJiQfcJiq8Hq6
	91dWQjosLOvszwRz2R4D7l62zNGRlvkrqNPByBKa1PIgzebqg8OHqZGGErwA7JMLboG97O
	06JA1/og8e8P/6R1QZghdTkzUdijbhy222W32BFNbqtxtZo/NB96bzDrj2pI8tMUvYyHiC
	DCL9vEWa3ebjSGZfu+mRQ2F5NWvbcM2J6D9TQkkg+AccqQfN+ijnnbEpF8sONz8rjS0pxN
	ip7CYEqm8M9GJlqOo88efewz+KNwIrNsdBcxK4akQoOX+kTy252raofXs0YtnQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yR74FQz1K9h
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:15 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3d59f
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:15 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: 473fa0f7a11e - main - re(4): document jumbo frame support for 8168/8111 chips
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: 473fa0f7a11ebecc50dfbd2997c8bdebbaad6541
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:15 +0000
Message-Id: <6a295a3f.3d59f.30291bc3@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit 473fa0f7a11ebecc50dfbd2997c8bdebbaad6541
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 04:25:29 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:04 +0000

    re(4): document jumbo frame support for 8168/8111 chips
    
    The man page only mentioned jumbo frame support for the 8169, 8169S,
    and 8110S chips. The 8168 and 8111 family also support jumbo frames,
    with varying MTU limits depending on the chip revision (6K for C
    variants, 9K for D and later). Update the documentation to reflect
    the actual driver capabilities.
    
    PR: 160399
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2097
---
 share/man/man4/re.4 | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/share/man/man4/re.4 b/share/man/man4/re.4
index 1a255ccf0db6..0020af64b330 100644
--- a/share/man/man4/re.4
+++ b/share/man/man4/re.4
@@ -28,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 .\" THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd November 7, 2022
+.Dd June 9, 2026
 .Dt RE 4
 .Os
 .Sh NAME
@@ -77,9 +77,12 @@ in both 32-bit PCI and 64-bit PCI models.
 The 8110S is designed for
 embedded LAN-on-motherboard applications.
 .Pp
-The 8169, 8169S and 8110S also support jumbo frames, which can be configured
-via the interface MTU setting.
-The MTU is limited to 7422, since the chip cannot transmit larger frames.
+The 8169, 8169S, 8110S, 8168 and 8111 also support jumbo frames,
+which can be configured via the interface MTU setting.
+The maximum MTU depends on the chip revision:
+the 8169, 8169S and 8110S support up to 7422 bytes;
+the 8168C/8111C and 8168E-VL/8111E-VL support up to approximately 6100 bytes;
+and the 8168D/8111D and later revisions support up to approximately 9200 bytes.
 Selecting an MTU larger than 1500 bytes with the
 .Xr ifconfig 8
 utility configures the adapter to receive and transmit jumbo frames.

From nobody Wed Jun 10 12:36:18 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yW08nYz6g4Kk
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 12:36:19 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb4yV2TxSz43Nh
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:18 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781094978;
	h=from:from:reply-to:subject:subject: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=KWiYwLZ26ulM1sTqB4E8PZ6mzmyrz8giAciHxwE3jXc=;
	b=lgniGYwvO2B6Aclcmpf9/wBeCPDj48ECE7lNwb2kldleyNpEtMnGgBrk1W1GoFq1PIV9oK
	0bKzbfCYcP12fePqmNsHpHP69dsjdNlFM3Dw7uyOOuqfGdfGoCfmoy9FBUC3XlwDirNCz6
	+yz7emEXzesR5qkOs2bLdZaG1UcUuhiMAFBxvjZCoUof5kP2xIqggnJA9Y+CmhSONDyB89
	ZXnfAHgDcxNHR08BxMKd+f0sJnjKERXGHtW7WXgSZ1veYiyy6uWt1i/XcyVy8xw9vN6Pi1
	BJv4gfdORFfzVEPEQU2HJBVg8pGMsUgOkPQxMCApFdLnuGwaex0rJGpJS9XRKQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781094978; a=rsa-sha256; cv=none;
	b=dHAk7oKgA1rIvu1X7euIxLEomxykNCMStt+P2TqK8znpfmXUADcSZJdE1BtuKIAf5zQDr4
	VOcag6bFMaE1BPbBMOVvK2M23Zx5qthMv9mlPKGxNoE+OYt7iPjRZE4jUA8yPrsma/B/se
	MnG0ZmWO2Ie8HvQkyB4NZK1FkDaiPMw94XbyzBX5NyA2QO5U3osDDsD2a3rZGt8CAaHnu/
	A7vr4TFgm6kmvkvS+XgGl3crrIFuzj3aOOoU1Oy3zmFy62ruRTMMvoLO+EU8+TTW/PllnS
	azl5WlDD6M9xsI9XelSSmrCw0oIHGLkdfkcsBRs3dt15ZHLw1ST3l9kgPUuTnw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781094978;
	h=from:from:reply-to:subject:subject: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=KWiYwLZ26ulM1sTqB4E8PZ6mzmyrz8giAciHxwE3jXc=;
	b=rjqivqDrASef+nbms/IMjPDzvNisuAOVci/Cmvd3HRFMmLaY7WN6AcocdTu0RF5A0G9Dz6
	M0FstY7qfmpxHGLecacSDnzNL8PeiflBVARbtVxWI1QR7wDeb9SicYdjPgCbKAVIEgazPn
	K1eIuBziXwbwXanFl8+BczX/T7zKWYuvuJn3TbNnys1W893Zn9ap9pu9Q8oHaMY3qzOWg+
	AhjaROXxwXtNI7tB6uNAjX8xs6y6Ykcvh05mG/zhw1BJnTgP1oLHSOrhoVJpDrlWaYLAnr
	RT72OPTWagBHhFdgX7FA3dE5gN8wbkYVTuUTBK+w1tZCQl+oKMDw5bVHZRuBRg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb4yV1WmLz1KXw
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 12:36:18 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3da8e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 12:36:18 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc: Kit Dallege <xaum.io@gmail.com>
From: Warner Losh <imp@FreeBSD.org>
Subject: git: ab8ceaaa86ba - main - hcreate(3): fix incorrect claim that hdestroy frees keys
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: ab8ceaaa86baa077fcdc020a0c05ccf88fcd54d1
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 12:36:18 +0000
Message-Id: <6a295a42.3da8e.104bafee@gitrepo.freebsd.org>

The branch main has been updated by imp:

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

commit ab8ceaaa86baa077fcdc020a0c05ccf88fcd54d1
Author:     Kit Dallege <xaum.io@gmail.com>
AuthorDate: 2026-03-27 01:57:10 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-10 12:35:05 +0000

    hcreate(3): fix incorrect claim that hdestroy frees keys
    
    The man page incorrectly stated that hdestroy() calls free(3) for
    each comparison key. The implementation (hdestroy_r.c) only frees
    the internal table structure, not the user-provided keys or data.
    This matches POSIX, which says hdestroy "shall dispose of the
    search table" without mentioning key deallocation.
    
    Update the description to clarify that the caller is responsible
    for freeing any memory associated with table entries.
    
    PR: 291240
    Signed-off-by: Kit Dallege <xaum.io@gmail.com>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/2095
---
 lib/libc/stdlib/hcreate.3 | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/libc/stdlib/hcreate.3 b/lib/libc/stdlib/hcreate.3
index 4621850d4661..95a959fcedbb 100644
--- a/lib/libc/stdlib/hcreate.3
+++ b/lib/libc/stdlib/hcreate.3
@@ -26,7 +26,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 6, 2017
+.Dd June 9, 2026
 .Dt HCREATE 3
 .Os
 .Sh NAME
@@ -86,10 +86,11 @@ After the call to
 the data can no longer be considered accessible.
 The
 .Fn hdestroy
-function calls
-.Xr free 3
-for each comparison key in the search table
-but not the data item associated with the key.
+function disposes of the search table but does not free
+the comparison keys or data items stored in it.
+The caller is responsible for freeing any memory associated
+with table entries before calling
+.Fn hdestroy .
 .Pp
 The
 .Fn hsearch

From nobody Wed Jun 10 13:52: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 4gb6fQ6fWWz6gS6q
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 13:52:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb6fQ1Qt0z3PHh
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781099550;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=t+h96kbHWf5nPN7DxaLcMp3mzZ8BRqUT5TmvKtDMITg=;
	b=HHBBDuMvn/p7Vdi3LKSrHyAfPalEMzjxok//cHOJdiSllCLYIJeBl1mDM3NHnNZzSsvTkp
	AuU8GJjwE0vJaIk7f+Mh4jmcBX57BHedfhDTW9KDjs0JlcYBTeOrjsAI1Nsj7f1pTE5po2
	RjbpLB87Piv9L4cqxFgz6lfT7b65xwTyzHNWnTqJTrHv4nXlFSksce5Z2Dwdp7ROk4jSWG
	APlSJdInfcgsK29cB23ueJ/u3+qiFL7mPo9vNFRAC/9YYmgSD/ntOcATeo/MafMlsRMD1p
	cQNS6+45HYLwpI4Se11IDIjFveJ+VIeZtb2ivfR7zEoXQxv8CdNjnN5zL1JfHg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781099550; a=rsa-sha256; cv=none;
	b=o1Eo19BgwrqUM6RYTQCYHB7VGhktcfisO0Q0MYGkKdTmcZpvlUXY/N4FM+sRSPiGrqe/5w
	ri1TShGh65hzc0g62led0Et7HkLeH44r1R9UTWjFPLdZGgPKAuslVJQC4iCMHx+DbRck5y
	MnYgLJbfvc8JL8wPoGh1JHUe0unDnOwhdZTU/mtGLQjG2ze79d+lQWnz4ligypt9USsePA
	DoxjlguOlltaOK70AEqy96goBEXOD9ovcaHYKMwTYoDzhm3h2NJz06qvA5WBl/0pdHi9g2
	etaQnTasXXRuGlM84sWFP6DWBeVLv8H+ycGxSSDRiNPthqXOH7Zm4lx8uRkGhw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781099550;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=t+h96kbHWf5nPN7DxaLcMp3mzZ8BRqUT5TmvKtDMITg=;
	b=I1BQABReX7Va+7EZ+bvooDTQCBilnmfsdW2g4CenMbVDNK+eyW4An0g886jMNPu/g8q2SO
	UdI11ct3YDYcFZGQTvLKG1hh4nYN+xZTTZjkfO7k7nBEf1r8mk8f04kKFLVz1rSmgzfMMk
	0OallPLN1JnI0Mf5tgaomNtv2NR8h5p+8MQ9nmSQszKitdUPUd1oufq1Xp/zsnNud8lFIu
	wMPivdAgQtifrVYcTjPTUoYhIkMemZCJ00cR6Q2d7QciozwDB5zhG2TRfLvyWIf1u7jFmh
	ktOx/Gv2HkubdaL6tTuIIwpnBUBVOLpGOBUyHQw+/ZJqQZ8pyeBVdXYc4AMUjw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb6fQ10Gqz1MZD
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:30 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1f802
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 13:52:30 +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: 0492dbe9212e - main - cd9660: Don't parse RRIP records whose length overflows the sector boundary
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: 0492dbe9212ee0172e8003c487f256015478edd6
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 13:52:30 +0000
Message-Id: <6a296c1e.1f802.270eebf0@gitrepo.freebsd.org>

The branch main has been updated by jhb:

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

commit 0492dbe9212ee0172e8003c487f256015478edd6
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-10 13:44:10 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-06-10 13:44:10 +0000

    cd9660: Don't parse RRIP records whose length overflows the sector boundary
    
    PR:             272896
    Reported by:    Robert Morris <rtm@lcs.mit.edu>
    Reviewed by:    des, emaste
    Differential Revision:  https://reviews.freebsd.org/D57135
---
 sys/fs/cd9660/cd9660_rrip.c | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c
index 9bc8ef655368..db87f6d1223e 100644
--- a/sys/fs/cd9660/cd9660_rrip.c
+++ b/sys/fs/cd9660/cd9660_rrip.c
@@ -464,6 +464,7 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana,
 	RRIP_TABLE *ptable;
 	ISO_SUSP_HEADER *phead;
 	ISO_SUSP_HEADER *pend;
+	ISO_SUSP_HEADER *pnext;
 	struct buf *bp = NULL;
 	char *pwhead;
 	u_short c;
@@ -495,6 +496,21 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana,
 		 * Note: "pend" should be more than one SUSP header
 		 */
 		while (pend >= phead + 1) {
+			/* Validate length. */
+			if (isonum_711(phead->length) < sizeof(*phead))
+				break;
+
+			/*
+			 * Next SUSP
+			 * Hopefully this works with newer versions, too
+			 */
+			pnext = (ISO_SUSP_HEADER *)((char *)phead +
+			    isonum_711(phead->length));
+
+			/* If the record doesn't fit, break out of the loop. */
+			if (pnext > pend)
+				break;
+
 			if (isonum_711(phead->version) == 1) {
 				for (ptable = table; ptable->func; ptable++) {
 					if (phead->type[0] == ptable->type[0] &&
@@ -510,14 +526,8 @@ cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana,
 				result &= ~ISO_SUSP_STOP;
 				break;
 			}
-			/* plausibility check */
-			if (isonum_711(phead->length) < sizeof(*phead))
-				break;
-			/*
-			 * move to next SUSP
-			 * Hopefully this works with newer versions, too
-			 */
-			phead = (ISO_SUSP_HEADER *)((char *)phead + isonum_711(phead->length));
+
+			phead = pnext;
 		}
 
 		if (ana->fields && ana->iso_ce_len) {

From nobody Wed Jun 10 13:52: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 4gb6fR4f4kz6gSJ0
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 13:52:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb6fR28xXz3PZq
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781099551;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VvqTRtduwS/Hav9sujnbNz0Fd5k1kk5GnY3EXySfje8=;
	b=M/aAwB07W4+KBUGv7hswrQp+w4LyowTIa+U9+16KUNuY8qeqxOBps8nMOKQL364iGCPLYn
	dLvM1iShlfkKQK8xFvYO9dDUUfoUM+5AwFhrmVGfyIEVqFWH3ArkcKHHkFmIZkupEKWFW0
	ez++CM/MLuL5VtKkZ4b6IbM4Ma4OwySTCrWouVbFs7liqkyEkny2hSjVw4jjdbqBcDPSPG
	MTa8MOnt/nqshj8idytnxvxUMq+TueMsSSFpAxshCM6kTzfZaHUlnvGN5qQQy1XLCwjBo+
	nDexWCmX6nWyhFO5KE1gBd3b+6QGown7tGNGLCOuUChr3EuxwHJzMuzRNry1Zw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781099551; a=rsa-sha256; cv=none;
	b=qEqd83UFojm3PWqMFrwCn+xI7BxfXtpOm/jxU/pxKvqt3bm+KxI+0eKSqSmkN1jp8ujY73
	DUbAQFiU2TXd15hk/zI32Z/6Wpz80zAuFk3D9H89qiw5uAxjKBYMibLMR16JjyoFYZLkv0
	b1nWPyxzlITwmU/LEwlFc3ddjEYpDuM0TbzhpkXv4sJR7X5rFVgQW85UKHS08D1ku3WJrU
	+LRPNiPVXZfNuOWAyg/rZDI/mCj0ggV56SGS7E5Ti4CUe7wni8Fgy7sw7OU6YQ63Ksk4Al
	4COV1Y5ky8zVo19r4s00ZiXSbWihwbpMsRal8owv6TdPehHyvHIZQAIi4cwe0g==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781099551;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=VvqTRtduwS/Hav9sujnbNz0Fd5k1kk5GnY3EXySfje8=;
	b=h4xj4Uj68uU22RKU8NSvMNdyPxb1XqZD9+uk6stE2JLgyxpV8gxHewLaMyx+xnzlKKDVBo
	YA32EpG+IYxZqH3QTp7T6rH3erdtK0ifO0Gg+06I5sCmuA+m1SLMbzWG4jHR0wDaJ3BIcV
	HYM7UQippEtmUxzj5yHXo3qzGieBh1t2cAcONVQGoczdXwy/iqLjm/DHz3wv0G58qmRTJ/
	nB7BNDo/OBlaf6sOYuGl4FzxJYl8LxPPex26PSdsisolxPbzt822d5BzKHoKTmgPzvP1Ah
	gesV3BPdhIOl0c6mIdnUlvBf/80b2qCyElknQQiP9Fc6VItO4XthAQ7fzbpzBg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb6fR1lt5z1MvB
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:31 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1e826
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 13:52:31 +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: b5a8b933d499 - main - ppp: Don't fetch a non-existent variadic argument
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: b5a8b933d4994835e10226562ff8126298c96693
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 13:52:31 +0000
Message-Id: <6a296c1f.1e826.1687e7bd@gitrepo.freebsd.org>

The branch main has been updated by jhb:

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

commit b5a8b933d4994835e10226562ff8126298c96693
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-10 13:44:10 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-06-10 13:44:10 +0000

    ppp: Don't fetch a non-existent variadic argument
    
    Only fetch the optional mode argument to ID0open to pass to open(2) if
    O_CREAT is present in the flags argument.  It is UB to fetch an
    argument that doesn't exist.  On CHERI this UB results in a fault.
    
    Reviewed by:    brooks
    Obtained from:  CheriBSD
    Sponsored by:   AFRL, DARPA
    Differential Revision:  https://reviews.freebsd.org/D57137
---
 usr.sbin/ppp/id.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/usr.sbin/ppp/id.c b/usr.sbin/ppp/id.c
index c7d512380afa..35bd3f08c261 100644
--- a/usr.sbin/ppp/id.c
+++ b/usr.sbin/ppp/id.c
@@ -145,7 +145,10 @@ ID0open(const char *path, int flags, ...)
 
   va_start(ap, flags);
   ID0set0();
-  ret = open(path, flags, va_arg(ap, int));
+  if (flags & O_CREAT)
+	  ret = open(path, flags, va_arg(ap, int));
+  else
+	  ret = open(path, flags);
   log_Printf(LogID0, "%d = open(\"%s\", %d)\n", ret, path, flags);
   ID0setuser();
   va_end(ap);

From nobody Wed Jun 10 13:52: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 4gb6fS4HGpz6gRyn
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 13:52:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb6fS2Xwkz3PVY
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781099552;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=7CtIjc9fzgxbQgm9SdRV8otU7Vcb2GukHNWZP5avcpU=;
	b=rPC7XkD0D7Rtq/eF+PC3fUH2IwEklibpcFnqilKK7b1jozUy8tJyn4AkK0r3E3DjFqbouN
	5/v/sYF2qLJ0YXrAw5yxQm3dRmuAUHgIbqTy7mKNwR721MrGwDGeQAgsPF3/XxRgsTy7so
	3+hWVVsBBEM9bT6+xe0SKKHQ0ANOfzjsrbW+qHTXmdzfyV5d0iDWDKCZ3QJz+M1sfoZUXr
	6zhZYb1z7qY66JKvsYoS/8UVLr/XwwWlkqwOKtY8C6Pwz84tGzmNywK/n+MMrOmip1Oqe6
	N+sflK4xNUlSZu1ni71WcXUmyEv2tc7L0VPE7PtOJ2WHU7+jVQGIguc+dYr+7Q==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781099552; a=rsa-sha256; cv=none;
	b=f+HzOgQpkxBob76tK0tdL6DjJIdoA8MMRTlv2bqLgjtoPWkOxbQsJfcELsqEQJKgpXFrKo
	TP469cPQDpzbsKro5G6WZKlX5Q63Zf9+8BJ2W1QlUuqmTLSu+xqlIqkVtnyEo3zsq8Hp4y
	pJaaSrkW6wPjAajZcrEusNptTCiYMOI71PlAPyl3epB++l7QwpIJ/Y7sfg12qPGxWAJEF3
	7vgWKJh15oudbxghKjtgPN7ERc/VuGTBao1/USBs2Z4q2cLxgnaRD/uVy3Z95ecQV0rHKs
	XiD+vCW6b8dElfiE+lU5eH8PZ0sE7Zp1pz33qlUpQEYA8gJQwa6Npy9otOkxnQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781099552;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=7CtIjc9fzgxbQgm9SdRV8otU7Vcb2GukHNWZP5avcpU=;
	b=t0HnmM60Rgf5whqFQCBGtV+V5IanTpuXhO3ucUisn56ghU1Qypr020FU6J1ulIrOemeG6f
	7OndY4QDy99C4M023c0WXqc5p94T8v6zXdN+Im/ZUcgLezFRtMamwXdb8YtbkyVEIM7Oc2
	XS1J4cuR2ukeHC1oeFnvsLMEAnwfalNQVG2PhHI9WZPVSDFHScClF5g9gFDkdhpo15bmpD
	UElnENHILzadq4cLxSAXzp4xDMaU5XIMwK6r8QpFnxkGKYTBAMODtDtmrCMFSqj2vERyIg
	PpA3tIOrOFVgXUQf9/XEGrWHl2lVtRSZu+4/vS2ZMve8JDzUZIHX78+jVOJUKg==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb6fS26Rtz1MfY
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:32 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1d7cd
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 13:52:32 +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: 7e971892dfc5 - main - ppp: Permit CHAP challenges up to 255 bytes
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: 7e971892dfc5aac20bd62be7817941dbaed55f42
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 13:52:32 +0000
Message-Id: <6a296c20.1d7cd.55f12157@gitrepo.freebsd.org>

The branch main has been updated by jhb:

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

commit 7e971892dfc5aac20bd62be7817941dbaed55f42
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-10 13:44:10 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-06-10 13:44:10 +0000

    ppp: Permit CHAP challenges up to 255 bytes
    
    RFC 1994 does not place any limit on the length of the value field in
    challenge messages except that the length is a single octet which
    bounds the maximum length to 255.
    
    NB: I'm not sure why the local[] and peer[] arrays contain room for an
    authentication name (AUTHLEN) in addition to a challenge value/response,
    but I've just left that in place.
    
    PR:             271955
    Reported by:    Robert Morris <rtm@lcs.mit.edu>
    Reviewed by:    des
    Differential Revision:  https://reviews.freebsd.org/D57138
---
 usr.sbin/ppp/chap.c | 4 ++--
 usr.sbin/ppp/chap.h | 4 ++--
 usr.sbin/ppp/defs.h | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/usr.sbin/ppp/chap.c b/usr.sbin/ppp/chap.c
index 9cefa6db71ce..1129aa7fb2a3 100644
--- a/usr.sbin/ppp/chap.c
+++ b/usr.sbin/ppp/chap.c
@@ -238,7 +238,7 @@ chap_BuildAnswer(char *name, char *key, u_char id, char *challenge
     MD5Init(&MD5context);
     MD5Update(&MD5context, &id, 1);
     MD5Update(&MD5context, key, klen);
-    MD5Update(&MD5context, challenge + 1, *challenge);
+    MD5Update(&MD5context, challenge + 1, (u_char)*challenge);
     MD5Final(digest, &MD5context);
 
     memcpy(digest + 16, name, nlen);
@@ -913,7 +913,7 @@ chap_Input(struct bundle *bundle, struct link *l, struct mbuf *bp)
               if (myans == NULL)
                 key = NULL;
               else {
-                if (!chap_Cmp(myans + 1, *myans, ans + 1, alen
+                if (!chap_Cmp(myans + 1, (u_char)*myans, ans + 1, alen
 #ifndef NODES
                               , p->link.lcp.want_authtype, lanman
 #endif
diff --git a/usr.sbin/ppp/chap.h b/usr.sbin/ppp/chap.h
index f697167ab165..993ed3f060f7 100644
--- a/usr.sbin/ppp/chap.h
+++ b/usr.sbin/ppp/chap.h
@@ -48,8 +48,8 @@ struct chap {
   } child;
   struct authinfo auth;
   struct {
-    u_char local[CHAPCHALLENGELEN + AUTHLEN];	/* I invented this one */
-    u_char peer[CHAPCHALLENGELEN + AUTHLEN];	/* Peer gave us this one */
+    u_char local[CHAPCHALLENGELEN + 1 + AUTHLEN]; /* I invented this one */
+    u_char peer[CHAPCHALLENGELEN + 1 + AUTHLEN];  /* Peer gave us this one */
   } challenge;
 #ifndef NODES
   unsigned NTRespSent : 1;		/* Our last response */
diff --git a/usr.sbin/ppp/defs.h b/usr.sbin/ppp/defs.h
index c76cbd8ad9cb..31f2577a6c23 100644
--- a/usr.sbin/ppp/defs.h
+++ b/usr.sbin/ppp/defs.h
@@ -58,7 +58,7 @@
 #define DEVICE_LEN SCRIPT_LEN	/* Size of individual devices */
 #define AUTHLEN 100 		/* Size of authname/authkey */
 #define CHAPDIGESTLEN 100	/* Maximum chap digest */
-#define CHAPCHALLENGELEN 48	/* Maximum chap challenge */
+#define CHAPCHALLENGELEN 255	/* Maximum chap challenge */
 #define CHAPAUTHRESPONSELEN 48	/* Maximum chap authresponse (chap81) */
 #define MAXARGS 40		/* How many args per config line */
 #define NCP_IDLE_TIMEOUT 180	/* Drop all links */

From nobody Wed Jun 10 13:52:33 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb6fT4fwZz6gSZV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 13:52:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb6fT3RJYz3PKc
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781099553;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=mCDCve1f8qzWtu4eLPiJOs4oTXV+J5Y6+UD39KYzSBI=;
	b=Y+7dbX2jh+bThE1Rcf5Uqq0VLqGM+TZRg3Kd8XHh0bkNtUzBd4ht/tNqvEmYrWaalXKZCo
	+7LDa3xSHP76flZmq4S6Mdof70o1/9pZ/E3iixB0/yGlPFj037wDlgRyBbwdJdH7tpu9G3
	dHXSGAkqvxRWkWVk1lwSHjGepj7/Rf8eCLgLij2B0MM4YevqmQ7XJ7gGwjxUJEMDpRViM7
	FsS1mkzYBsMhmTCuMy+dy/4oIapmYIiAzWIUK7I7lddyV71w4pWXXNUEuIKP7jjvLanByA
	1tDQZ8cg3D4tEpORhEgh80JVlfrWrQy1BeRlUmSM+EK9c2g2Fm8Has4lYVmvAw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781099553; a=rsa-sha256; cv=none;
	b=KYN3k9XwNoEIN+8EvsRBhmmrZxX+DOrNhp/n8p7eDdJn4NmuZSK5BoWzj4fcoU3dGzq1ES
	sRMpSdMP14dBRj40XrzGuuwYF3XItyBfxvXAnN5k6d5xxvMn/ZtskzWULppo1Zwre9Vhmu
	WgNjWO0El+k1uWR90fow+x1nfsLbcpzx46zTSr1Qr8GCLF70emOhmbT/O0KLqt8KYQd5tK
	0M1e4LwWr6zRpSaU+Pgtxu2mr2h+68H9RDLnX3JPH5L/QZy6SLYzNlg6ZPL45tVoeeRZkZ
	2XM51LlFTXLmC91f5Rggs8gwnJu7oP7IzpaeqYGciUAP76wJw1EDTADcpYKrcQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781099553;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=mCDCve1f8qzWtu4eLPiJOs4oTXV+J5Y6+UD39KYzSBI=;
	b=UVtfqIH6Y7lvHtkILiDW4CzXjYVpHNabz6/IbHfykK1kStNhKFIlxT7VW4RhgzfYX49Fs7
	TutMRAOFbzoC8oye5NZ+iN8ED6tAKbyu+0vU6N5H+SMX6R2Q44KuPOdEHfFMwFLoztSqhD
	rgo2F0KucLw2I7Tl7OMq1QSqhyh/PbkRdOCEa7wOhjFcO6JnQ1SPG79JePaFrbIMm+ir8M
	fInZ4lR6TOjzyKkOqojE5wblf+ZpDGSRpwStxswhPwCa+H39qtNfR0/t4lhgV9hWySa1Uv
	aT/OlfbLcgqujkY+52Sxq8xMHTDD2Thx29VFllrpQakV7gx6qP7KgFMUq7hP9Q==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb6fT2wy4z1MfZ
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 13:52:33 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1f806
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 13:52:33 +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: 4d8fde8cff07 - main - ppp: Reject FSM messages whose length is smaller than the message header
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: 4d8fde8cff0796f32e659036543aa17d16a15b1b
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 13:52:33 +0000
Message-Id: <6a296c21.1f806.54e3558@gitrepo.freebsd.org>

The branch main has been updated by jhb:

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

commit 4d8fde8cff0796f32e659036543aa17d16a15b1b
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-06-10 13:44:10 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-06-10 13:44:10 +0000

    ppp: Reject FSM messages whose length is smaller than the message header
    
    PR:             271843
    Reported by:    Robert Morris <rtm@lcs.mit.edu>
    Reviewed by:    des, emaste
    Differential Revision:  https://reviews.freebsd.org/D57139
---
 usr.sbin/ppp/fsm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/usr.sbin/ppp/fsm.c b/usr.sbin/ppp/fsm.c
index 5c011bef7f4f..060a9149a6af 100644
--- a/usr.sbin/ppp/fsm.c
+++ b/usr.sbin/ppp/fsm.c
@@ -1060,6 +1060,12 @@ fsm_Input(struct fsm *fp, struct mbuf *bp)
     m_freem(bp);
     return;
   }
+  if (ntohs(lh.length) < sizeof(lh)) {
+    log_Printf(LogWARN, "%s: Header length %d is too small - dropped\n",
+	fp->link->name, (int)ntohs(lh.length));
+    m_freem(bp);
+    return;
+  }
 
   if (lh.code < fp->min_code || lh.code > fp->max_code ||
       lh.code > sizeof FsmCodes / sizeof *FsmCodes) {

From nobody Wed Jun 10 14:08: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 4gb70d2qK5z6gV2W
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 14:08:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb70d24Dbz3SJW
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 14:08:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781100497;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YfbHSTbtc4zsES+EZcIP/dk2o3y/wl8rVR21WBlORfs=;
	b=QVA1N66IKPoCaCOlZ6xY1L+GcuOjDbLfNkS+y4Edh93/HSmBxvYG+dfexiZBHiYg5CRTLN
	91tLwKGFf+SwY6TPV5F8k1bOgJj5DsEDGS8VHbvKG6WZr4UHe2maNfbkhJhWCy7TMVLvi8
	Ux8Q0YUpwtgNWTT7htXyQAMZWBSHhsZAOdpCM1zOkvikagfJ05QAXBneDFe8dKRVsp+Cbl
	Cpl60tYodSbWiB4Mjs1H/qDdCDgU12lfeLLgswB2F1/AfTtfLUedTZ/AVIzefNuuxCQ6bS
	BcJoZ3DokcdMSNtNgWEEeBAZr1iu9rIktibTpPIeE6fSgq4fGXiwmRKCF2dbhg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781100497; a=rsa-sha256; cv=none;
	b=VieUtV08kXfANucd5pyVfvQOCpBZ0JSlEPb40U0i7j23AW//uLhoiWhP7CMtDsR/Ac6Lk1
	4LvbI0iJoTsAMbVPzknLS70OtEHDUtJYT2/Axl8mbJk0r9yw6GXZe0Fs8hEldDGXMpaJkW
	gFvQth/pXLMTg9Dclw4WIdG9L+cjNLQJUeSAZqB2numi7h5+2MkKUDee/DPkWnh4aSboOU
	hfuV40UjLpcV98/Mpx3J/3sycKGVDwoNh6Zye/NsPwEcii1/ZJwffxqCWQ1po8JMNwSQdY
	ayRqjq5ZCsUb4MfkJj5MfY3flwwwd6Oz9E2o4XM4NyZGBIP4ojzbAAUixXPQJw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781100497;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=YfbHSTbtc4zsES+EZcIP/dk2o3y/wl8rVR21WBlORfs=;
	b=vQmTB57Binp8L7ZGUwy6ga30cmFcZl2m4sxPS9gHrAErpP9mjWls8qn05OdK3wJX2QM0uc
	9YLo6RxSHNbgTCKfUtQhBtW0ioAmpFHd9gRxbbSPHjnJVgoMdV3Yq8o9Vp+ChNGo8HA6VE
	glDQ5vrp11o52P6B/vx5H2qhpo6wwGX0E4lJPeIzhWnF5cSHvC7IEEl5XxwWUpuZO8VSEy
	iAvYlh7qEhC/SfmwDSIxvhd43M7BDpnhprjnGpWXYZumiAq3TmFtubMvCQqflbZs2lG0sn
	CpSXLeu+iloF62eZQDa7x4SIT3tURPxsB9JXK3wEmYz/UmmNH7qpbF2DBFk9eA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb70d1Xwrz1MdW
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 14:08:17 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1e7fe
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 14:08:17 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Justin Hibbits <jhibbits@FreeBSD.org>
Subject: git: d08cb1dc1748 - main - watchdog: Fix a couple type issues
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: jhibbits
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: d08cb1dc17486920c1506f175d77259e0ac3f3a3
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 14:08:17 +0000
Message-Id: <6a296fd1.1e7fe.1fd619e6@gitrepo.freebsd.org>

The branch main has been updated by jhibbits:

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

commit d08cb1dc17486920c1506f175d77259e0ac3f3a3
Author:     Justin Hibbits <jhibbits@FreeBSD.org>
AuthorDate: 2026-06-10 13:50:14 +0000
Commit:     Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2026-06-10 14:04:40 +0000

    watchdog: Fix a couple type issues
    
    * Force the type of the literal `1` passed to nstosbt() to ensure it's a
      64-bit type (or larger).  Otherwise it gets inconveniently typed to
      int, resulting in truncation.
    * Use `flsll()` when converting sbt to power-of-2-nanoseconds to fix
      32-bit compatibility.
    
    PR:             292616
    Obtained from:  Hewlett Packard Enterprise
    Fixes:  26d6617f3 ("watchdog: Convert to using sbintime_t format")
    MFC after:      3 days
---
 sys/dev/watchdog/watchdog.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/dev/watchdog/watchdog.c b/sys/dev/watchdog/watchdog.c
index c599db56bf95..4c166a2bd7e9 100644
--- a/sys/dev/watchdog/watchdog.c
+++ b/sys/dev/watchdog/watchdog.c
@@ -110,7 +110,7 @@ wdog_kern_pat(u_int utim)
 	if (utim == WD_TO_NEVER)
 		sbt = 0;
 	else
-		sbt = nstosbt(1 << utim);
+		sbt = nstosbt(1ULL << utim);
 
 	return (wdog_kern_pat_sbt(sbt));
 }
@@ -142,7 +142,7 @@ wdog_kern_pat_sbt(sbintime_t sbt)
 
 	/* legacy uses power-of-2-nanoseconds time. */
 	if (sbt != 0) {
-		pow2ns = flsl(sbttons(sbt));
+		pow2ns = flsll(sbttons(sbt));
 	}
 	if (wd_last_sbt != sbt) {
 		wd_last_u = pow2ns;

From nobody Wed Jun 10 14:08:18 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb70f4GXhz6gTXV
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 14:08:18 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb70f2JKtz3S5L
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 14:08:18 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781100498;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=AotgP0dOFMDbDY1rgeYWXSbWxkIaSsB8Wzqvagn9msA=;
	b=KHu1MYqtT/NdMFm6p/YWd2lt5Uu9oEhi9FMedhcXgEtDOaz2dW1Xl4OLnf+t9RjqwCXIY2
	KmQ/c8kNyJZJ9Zxc19RpuzpBAmU4jhVP7NU729/E/28kYNCFMJDJY7YAqZcqI+oL1vECOw
	ntB8qksP5hZ/sx2XrSOa72VubNZfevAFLV6FJrR6ekSk0HSnm77t/LLLUTLoOeuXOWj/Bs
	et/iO5V2lvfgjOnCzQYP/AMFc1SA+wV9EB+aNb7Chdb761Xng71Wwn8WwvB800a7z2JfJZ
	DMgIaA24p2KdQCcU9RWH6QaQ37M6rmmBMZyYWL5V2ig/NffzCB9HakiS8iZNYg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781100498; a=rsa-sha256; cv=none;
	b=AH+bAvINHwDUP41/E7GY4idTl1YWdjEQqZfixpmvbAPPfNufqKTOe+7NYGi3t9YI9Q8Rst
	5dBaCBsPff2lO1EVvv/RKgNPoUxmJcHB1taSDAd49/zFujHFhRg+8T98/Lr9vLgLYwCArl
	rIDYy4/uhUBgXdKcjJzlAocnmZUr4ftAlySjMXfOrb4r1M1t/WIDykjctkigmuKQCGENc0
	PEz0HFYZ8+TqUJhh7CAUhImOv+dqQGpIXO8KgFIYwq6kAX8TB9FL7eUK5G9Hi/JcSk6pU+
	muqqfdWYz72QFyfIMBfSNNDhKeXMjYRmEwYLrFqgLqpTTx8mn81E5cR8KXTpjQ==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781100498;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=AotgP0dOFMDbDY1rgeYWXSbWxkIaSsB8Wzqvagn9msA=;
	b=aZbdGytoALgpmipw/nWhtWoCsNh/ekQ0hsOJFCxIkG6H9Duxb6doEStKJoU5drKMupJ0kk
	x38Z0Ibgt/PmB4VSlGr5w5eSZ6xmrkR/ckfe5dn3BdavxboJPQV1Pw7a+j1o400y0xQ2jR
	sZxlWNgwviO+0LlTodae5nfogwzdxZ6hygsjazIABPmzov9mUp0daYEjyE6c3vDz/xHZpq
	S30Se88aTH63F74LsCpg7kB730PAVq8MG7BHcsljNgb30d1eSp3BeQW/hLkrqCeSymv9BI
	3HjzTa+lI0XlaJsj3EBKbDbX5d54nX/9fYhlZSCvtQ9/ZR6HCtKHjvDJllw8mw==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb70f1vyrz1MwX
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 14:08:18 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 1fbdd
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 14:08:18 +0000
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
From: Justin Hibbits <jhibbits@FreeBSD.org>
Subject: git: 4bdcff554368 - main - powerpc/booke: Add watchdog driver
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: jhibbits
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 4bdcff55436859420e090afb0e6932bab794baa4
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 14:08:18 +0000
Message-Id: <6a296fd2.1fbdd.44ea01c6@gitrepo.freebsd.org>

The branch main has been updated by jhibbits:

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

commit 4bdcff55436859420e090afb0e6932bab794baa4
Author:     Justin Hibbits <jhibbits@FreeBSD.org>
AuthorDate: 2026-06-10 03:09:10 +0000
Commit:     Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2026-06-10 14:04:41 +0000

    powerpc/booke: Add watchdog driver
    
    The Book-E watchdog is effectively a state machine based around an AND
    mask of the timebase register.  A single bit (0-63) is watched in the
    timebase register, and when it transitions (by counting *or* by
    programmatically setting) an exception is triggered.  The first
    exception triggers a core interrupt.  The second is programmable.
    In our case, we panic on the first and reset on second.
---
 sys/powerpc/booke/machdep_e500.c | 71 ++++++++++++++++++++++++++++++++++++++++
 sys/powerpc/include/spr.h        |  3 ++
 2 files changed, 74 insertions(+)

diff --git a/sys/powerpc/booke/machdep_e500.c b/sys/powerpc/booke/machdep_e500.c
index d56209c12faa..2f39a66aac6d 100644
--- a/sys/powerpc/booke/machdep_e500.c
+++ b/sys/powerpc/booke/machdep_e500.c
@@ -30,8 +30,11 @@
 
 #include <sys/types.h>
 #include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/eventhandler.h>
 #include <sys/proc.h>
 #include <sys/reboot.h>
+#include <sys/smp.h>
 
 #include <vm/vm.h>
 #include <vm/pmap.h>
@@ -136,3 +139,71 @@ cpu_machine_check(struct thread *td, struct trapframe *frame, int *ucode)
 	*ucode = BUS_OBJERR;
 	return (SIGBUS);
 }
+
+/*
+ * Book-E watchdog timer is a simple check of a single bit in the timebase
+ * register.  When that bit rolls over from 0 to 1 the state machine activates.
+ * In our case, we want it to trigger an interrupt to the core first, then
+ * reboot on the second interrupt.
+ *
+ * With all PowerPC numbering, 0 is the MSB, and 63 is LSB.
+ */
+/* Arg is the timebase bit number 1-based (flsll result) */
+static void
+booke_watchdog_cpu(void *arg)
+{
+	uint32_t tcr;
+	int bitno = (uintptr_t)arg;
+
+	/* First pet the watchdog */
+	mtspr(SPR_TSR, TSR_ENW | TSR_WIS);
+
+	tcr = mfspr(SPR_TCR);
+	tcr &= ~(TCR_WP_MASK | TCR_WPEXT_MASK);
+	tcr |= TCR_MAKE_WP(bitno);
+
+	tcr |= TCR_WRC_CHIP | TCR_WIE;
+
+	mtspr(SPR_TCR, tcr);
+}
+
+static void
+booke_watchdog_fn(void *priv, sbintime_t sbt, sbintime_t *esbt, int *err)
+{
+	struct cpuref cpuref;
+	uintptr_t tb_bit;
+	uint64_t freq, tb, ticks;
+
+	/* Once enabled it cannot be disabled */
+	if (sbt == 0) {
+		*err = EOPNOTSUPP;
+		return;
+	}
+	cpuref.cr_hwref = 0;
+	cpuref.cr_cpuid = 0;
+	freq = platform_timebase_freq(&cpuref);
+	ticks = 1000000000 / freq;	/* Ticks/s -> ns/tick */
+	ticks = sbttons(sbt) / ticks;
+
+	/*
+	 * To get the next rollover bit add the current timbase to the tick
+	 * count, using only a mask of the current timebase matching the tick
+	 * size.  This will give us the next rollover bit *beyond* the timeout.
+	 */
+	tb = mftb() & ((1 << flsll(ticks)) - 1);
+	tb += ticks;
+
+	tb_bit = 64 - flsll(tb);
+
+	smp_rendezvous(NULL, booke_watchdog_cpu, NULL, (void *)tb_bit);
+	*err = 0;
+}
+
+static void
+booke_watchdog_register(void *arg)
+{
+	printf("Registering booke watchdog timer\n");
+	EVENTHANDLER_REGISTER(watchdog_sbt_list, booke_watchdog_fn, NULL, 0);
+}
+
+SYSINIT(booke_watchdog, SI_SUB_LAST, SI_ORDER_ANY, booke_watchdog_register, NULL);
diff --git a/sys/powerpc/include/spr.h b/sys/powerpc/include/spr.h
index 5c6e9d67fcb4..afa1692bed75 100644
--- a/sys/powerpc/include/spr.h
+++ b/sys/powerpc/include/spr.h
@@ -549,6 +549,9 @@
 #define	  TCR_FP_2_21		  0x03000000 /* 2**21 clocks */
 #define	  TCR_FIE		  0x00800000 /* FIT Interrupt Enable */
 #define	  TCR_ARE		  0x00400000 /* Auto Reload Enable */
+#define	  TCR_WPEXT_MASK	  0x003c0000
+#define	  TCR_FPEXT_MASK	  0x0003c000
+#define	  TCR_MAKE_WP(c)	  (((c & 0x3) << 30) | (c & 0x3c) << 15)
 
 #define	SPR_HID0		0x3f0	/* ..8 Hardware Implementation Register 0 */
 #define	SPR_HID1		0x3f1	/* ..8 Hardware Implementation Register 1 */

From nobody Wed Jun 10 15:33: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 4gb8tW4jJlz6gfJK
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 15:33:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb8tW2G5kz3cRH
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:33:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781105587;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=9VxRDlogWzROFxb3HIzWkjBIw8MyqJx7IQQA5y7t3RU=;
	b=wCPjJE/w5pZ2Y6dswWyyudLkmueHgLuBPZE59L/oUnh17z6d9Ndd1aMWCm/VDLXqP3H0jQ
	jaRDDlxMLPUElqxwM1YRkpBrntSqu0AHCaGF9pg2IhbJtJJ2WTjwsZ/qos9hjRF8dmxRsd
	7VMjwKsxmQoyRMjcLwKM9P1kCHJD0tJQiaE1xn2ObtB1ycHShxakilR8t9W148xsaulvmo
	OSB8fQ0iGbALRvGcD8XFyiNpNXhsTUcH2URtMcNIcV72vINBHA73o4Zst7LtCA6KmxE+Tg
	9ljSZK1yP6PWmj3MTQMDrtw48ECtQ57XjPShu6G5Rzl4Cu6Sj/zL9q6Ul4rDzQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781105587; a=rsa-sha256; cv=none;
	b=qUV8DFobpmul2JRErOcMw2rlhoCdy7SnJ2NFrn3DyL3cMYDXl1I+OhssIMx499vlbctAtZ
	8JJl/fYzC46hOTORGD80r4QzLUw2QkOlixMC5zQQaFu2o1KudttU/SqfWIn/VPQTBRPDpn
	MTDHTLLjK7x8Iee62yBIeUESbM1A3WG4ckOMFH7zrksbInSnBFNmHfgymAGbDdltvIu3By
	gCPE7G+6D0+SMPbkpdMOb/G5hvhk9QyrBeqJ47c2ZYgbYFZa5fd96mqgs/MwZVZ8Ewc6aR
	8JHY36iMvzGG0iaQeIAJ3HHcbDV/wIo8yW7FVeyURykH22pgo7TBE/zccHbRvg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781105587;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=9VxRDlogWzROFxb3HIzWkjBIw8MyqJx7IQQA5y7t3RU=;
	b=q4uZn53aFZacDVXc1a/xg1W/gPCXgWHptK6IJyv4ovvfrLCkBHjtSNXul61POjkl/+TB9o
	wgEufaOrU7+RJfNntyonocrd7hF391Xmvr3jw/ZdOGFABOgQ/nCIc6j7dy4EuOkraWhVmI
	9IyKtS4ORF6BcxKfn5G5NQf4UUT6WQKF5yPl8e4SM2tRPzssYlE8NOsqB6j9+7ehoTQAmo
	EjLdPBbTc79xgih6fb0FH+36WxlpAVq5Kmyh8LY6PW7/Y8f9/5vEm8n6fj2H9PhAfJqRuJ
	tGKN9aUF43VZKfQD2wgVxHo76NDbDau3ew2HM/nWiAKi0D+n8bsiJqh7HUzuYA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb8tW1mNZz1Pyy
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:33:07 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 30daa
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 15:33:06 +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: 0881f6cf3f44 - main - crypto/openssl: update artifacts to match 3.5.7 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: ngie
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 0881f6cf3f44883b03c21dc7e5ab2140275b5afd
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 15:33:06 +0000
Message-Id: <6a2983b2.30daa.79e0b214@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit 0881f6cf3f44883b03c21dc7e5ab2140275b5afd
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-06-10 15:32:04 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-06-10 15:32:35 +0000

    crypto/openssl: update artifacts to match 3.5.7 release
    
    MFC after:      3 days
    MFC with:       1523ccfd9
---
 crypto/openssl/exporters/libcrypto.pc              |  2 +-
 crypto/openssl/exporters/libssl.pc                 |  2 +-
 crypto/openssl/exporters/openssl.pc                |  2 +-
 crypto/openssl/include/openssl/opensslv.h          | 10 +--
 crypto/openssl/include/openssl/ssl.h               |  4 +-
 crypto/openssl/include/openssl/x509_acert.h        | 10 ++-
 secure/lib/libcrypto/man/man3/ADMISSIONS.3         |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_EXTERN_FUNCS.3  |  2 +-
 .../libcrypto/man/man3/ASN1_INTEGER_get_int64.3    |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_INTEGER_new.3   |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3   |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3    |  2 +-
 .../lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_STRING_new.3    |  2 +-
 .../lib/libcrypto/man/man3/ASN1_STRING_print_ex.3  |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_TIME_set.3      |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3      |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_aux_cb.3        |  2 +-
 .../lib/libcrypto/man/man3/ASN1_generate_nconf.3   |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_item_d2i_bio.3  |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_item_new.3      |  2 +-
 secure/lib/libcrypto/man/man3/ASN1_item_sign.3     |  2 +-
 secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 |  2 +-
 secure/lib/libcrypto/man/man3/ASYNC_start_job.3    |  2 +-
 secure/lib/libcrypto/man/man3/BF_encrypt.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_ADDR.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_connect.3        |  2 +-
 secure/lib/libcrypto/man/man3/BIO_ctrl.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_base64.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_buffer.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_cipher.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_md.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_null.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_prefix.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_readbuffer.3   |  2 +-
 secure/lib/libcrypto/man/man3/BIO_f_ssl.3          |  2 +-
 secure/lib/libcrypto/man/man3/BIO_find_type.3      |  2 +-
 secure/lib/libcrypto/man/man3/BIO_get_data.3       |  2 +-
 .../lib/libcrypto/man/man3/BIO_get_ex_new_index.3  |  2 +-
 .../libcrypto/man/man3/BIO_get_rpoll_descriptor.3  |  2 +-
 secure/lib/libcrypto/man/man3/BIO_meth_new.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_new.3            |  2 +-
 secure/lib/libcrypto/man/man3/BIO_new_CMS.3        |  2 +-
 secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 |  2 +-
 secure/lib/libcrypto/man/man3/BIO_printf.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_push.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_read.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_accept.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_bio.3          | 88 +++++++++++++++++++++-
 secure/lib/libcrypto/man/man3/BIO_s_connect.3      |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_core.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_datagram.3     |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_dgram_pair.3   |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_fd.3           |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_file.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_mem.3          |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_null.3         |  2 +-
 secure/lib/libcrypto/man/man3/BIO_s_socket.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_sendmmsg.3       |  2 +-
 secure/lib/libcrypto/man/man3/BIO_set_callback.3   |  2 +-
 secure/lib/libcrypto/man/man3/BIO_set_flags.3      |  2 +-
 secure/lib/libcrypto/man/man3/BIO_should_retry.3   |  2 +-
 secure/lib/libcrypto/man/man3/BIO_socket_wait.3    |  2 +-
 secure/lib/libcrypto/man/man3/BN_BLINDING_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/BN_CTX_new.3         |  2 +-
 secure/lib/libcrypto/man/man3/BN_CTX_start.3       |  2 +-
 secure/lib/libcrypto/man/man3/BN_add.3             | 10 ++-
 secure/lib/libcrypto/man/man3/BN_add_word.3        |  2 +-
 secure/lib/libcrypto/man/man3/BN_bn2bin.3          |  2 +-
 secure/lib/libcrypto/man/man3/BN_cmp.3             |  2 +-
 secure/lib/libcrypto/man/man3/BN_copy.3            |  2 +-
 secure/lib/libcrypto/man/man3/BN_generate_prime.3  |  2 +-
 secure/lib/libcrypto/man/man3/BN_mod_exp_mont.3    |  2 +-
 secure/lib/libcrypto/man/man3/BN_mod_inverse.3     |  2 +-
 .../lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 |  2 +-
 .../lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 |  2 +-
 secure/lib/libcrypto/man/man3/BN_new.3             |  2 +-
 secure/lib/libcrypto/man/man3/BN_num_bytes.3       |  2 +-
 secure/lib/libcrypto/man/man3/BN_rand.3            |  2 +-
 secure/lib/libcrypto/man/man3/BN_security_bits.3   |  2 +-
 secure/lib/libcrypto/man/man3/BN_set_bit.3         |  2 +-
 secure/lib/libcrypto/man/man3/BN_swap.3            |  2 +-
 secure/lib/libcrypto/man/man3/BN_zero.3            |  2 +-
 secure/lib/libcrypto/man/man3/BUF_MEM_new.3        |  2 +-
 secure/lib/libcrypto/man/man3/CMAC_CTX.3           |  2 +-
 .../libcrypto/man/man3/CMS_EncryptedData_decrypt.3 |  2 +-
 .../libcrypto/man/man3/CMS_EncryptedData_encrypt.3 |  2 +-
 .../man/man3/CMS_EncryptedData_set1_key.3          |  2 +-
 .../libcrypto/man/man3/CMS_EnvelopedData_create.3  |  2 +-
 secure/lib/libcrypto/man/man3/CMS_add0_cert.3      |  2 +-
 .../libcrypto/man/man3/CMS_add1_recipient_cert.3   |  2 +-
 secure/lib/libcrypto/man/man3/CMS_add1_signer.3    |  2 +-
 secure/lib/libcrypto/man/man3/CMS_compress.3       |  2 +-
 secure/lib/libcrypto/man/man3/CMS_data_create.3    |  2 +-
 secure/lib/libcrypto/man/man3/CMS_decrypt.3        |  8 +-
 secure/lib/libcrypto/man/man3/CMS_digest_create.3  |  2 +-
 secure/lib/libcrypto/man/man3/CMS_encrypt.3        |  2 +-
 secure/lib/libcrypto/man/man3/CMS_final.3          |  2 +-
 .../libcrypto/man/man3/CMS_get0_RecipientInfos.3   |  2 +-
 .../lib/libcrypto/man/man3/CMS_get0_SignerInfos.3  |  2 +-
 secure/lib/libcrypto/man/man3/CMS_get0_type.3      |  2 +-
 .../libcrypto/man/man3/CMS_get1_ReceiptRequest.3   |  2 +-
 secure/lib/libcrypto/man/man3/CMS_sign.3           |  2 +-
 secure/lib/libcrypto/man/man3/CMS_sign_receipt.3   |  2 +-
 .../lib/libcrypto/man/man3/CMS_signed_get_attr.3   |  2 +-
 secure/lib/libcrypto/man/man3/CMS_uncompress.3     |  2 +-
 secure/lib/libcrypto/man/man3/CMS_verify.3         |  2 +-
 secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 |  2 +-
 secure/lib/libcrypto/man/man3/COMP_CTX_new.3       |  2 +-
 secure/lib/libcrypto/man/man3/CONF_modules_free.3  |  2 +-
 .../libcrypto/man/man3/CONF_modules_load_file.3    |  2 +-
 .../libcrypto/man/man3/CRYPTO_THREAD_run_once.3    |  2 +-
 .../libcrypto/man/man3/CRYPTO_get_ex_new_index.3   |  2 +-
 secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3      |  2 +-
 .../man/man3/CTLOG_STORE_get0_log_by_id.3          |  2 +-
 secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/CTLOG_new.3          |  2 +-
 .../libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3    |  2 +-
 secure/lib/libcrypto/man/man3/DES_random_key.3     |  2 +-
 secure/lib/libcrypto/man/man3/DH_generate_key.3    |  2 +-
 .../libcrypto/man/man3/DH_generate_parameters.3    |  2 +-
 secure/lib/libcrypto/man/man3/DH_get0_pqg.3        |  2 +-
 secure/lib/libcrypto/man/man3/DH_get_1024_160.3    |  2 +-
 secure/lib/libcrypto/man/man3/DH_meth_new.3        |  2 +-
 secure/lib/libcrypto/man/man3/DH_new.3             |  2 +-
 secure/lib/libcrypto/man/man3/DH_new_by_nid.3      |  2 +-
 secure/lib/libcrypto/man/man3/DH_set_method.3      |  2 +-
 secure/lib/libcrypto/man/man3/DH_size.3            |  2 +-
 secure/lib/libcrypto/man/man3/DSA_SIG_new.3        |  2 +-
 secure/lib/libcrypto/man/man3/DSA_do_sign.3        |  2 +-
 secure/lib/libcrypto/man/man3/DSA_dup_DH.3         |  2 +-
 secure/lib/libcrypto/man/man3/DSA_generate_key.3   |  2 +-
 .../libcrypto/man/man3/DSA_generate_parameters.3   |  2 +-
 secure/lib/libcrypto/man/man3/DSA_get0_pqg.3       |  2 +-
 secure/lib/libcrypto/man/man3/DSA_meth_new.3       |  2 +-
 secure/lib/libcrypto/man/man3/DSA_new.3            |  2 +-
 secure/lib/libcrypto/man/man3/DSA_set_method.3     |  2 +-
 secure/lib/libcrypto/man/man3/DSA_sign.3           |  2 +-
 secure/lib/libcrypto/man/man3/DSA_size.3           |  2 +-
 secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3  |  2 +-
 secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3  |  2 +-
 secure/lib/libcrypto/man/man3/DTLSv1_get_timeout.3 |  2 +-
 .../lib/libcrypto/man/man3/DTLSv1_handle_timeout.3 |  2 +-
 secure/lib/libcrypto/man/man3/DTLSv1_listen.3      |  2 +-
 secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3      |  2 +-
 secure/lib/libcrypto/man/man3/ECDSA_sign.3         |  2 +-
 .../lib/libcrypto/man/man3/ECPKParameters_print.3  |  2 +-
 .../lib/libcrypto/man/man3/EC_GFp_simple_method.3  |  2 +-
 secure/lib/libcrypto/man/man3/EC_GROUP_copy.3      |  2 +-
 secure/lib/libcrypto/man/man3/EC_GROUP_new.3       |  2 +-
 .../lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3  |  2 +-
 secure/lib/libcrypto/man/man3/EC_KEY_new.3         |  2 +-
 secure/lib/libcrypto/man/man3/EC_POINT_add.3       |  2 +-
 secure/lib/libcrypto/man/man3/EC_POINT_new.3       |  2 +-
 secure/lib/libcrypto/man/man3/ENGINE_add.3         |  2 +-
 secure/lib/libcrypto/man/man3/ERR_GET_LIB.3        |  2 +-
 secure/lib/libcrypto/man/man3/ERR_clear_error.3    |  2 +-
 secure/lib/libcrypto/man/man3/ERR_error_string.3   |  2 +-
 secure/lib/libcrypto/man/man3/ERR_get_error.3      |  2 +-
 .../libcrypto/man/man3/ERR_load_crypto_strings.3   |  2 +-
 secure/lib/libcrypto/man/man3/ERR_load_strings.3   |  2 +-
 secure/lib/libcrypto/man/man3/ERR_new.3            |  2 +-
 secure/lib/libcrypto/man/man3/ERR_print_errors.3   |  2 +-
 secure/lib/libcrypto/man/man3/ERR_put_error.3      |  2 +-
 secure/lib/libcrypto/man/man3/ERR_remove_state.3   |  2 +-
 secure/lib/libcrypto/man/man3/ERR_set_mark.3       |  2 +-
 .../lib/libcrypto/man/man3/EVP_ASYM_CIPHER_free.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_BytesToKey.3     |  2 +-
 .../man/man3/EVP_CIPHER_CTX_get_app_data.3         |  2 +-
 .../man/man3/EVP_CIPHER_CTX_get_cipher_data.3      |  2 +-
 .../man/man3/EVP_CIPHER_CTX_get_original_iv.3      |  2 +-
 .../lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_DigestInit.3     |  2 +-
 secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 |  2 +-
 .../lib/libcrypto/man/man3/EVP_DigestVerifyInit.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_EncodeInit.3     |  2 +-
 secure/lib/libcrypto/man/man3/EVP_EncryptInit.3    |  5 +-
 secure/lib/libcrypto/man/man3/EVP_KDF.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_KEM_free.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_KEYEXCH_free.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_KEYMGMT.3        |  2 +-
 secure/lib/libcrypto/man/man3/EVP_MAC.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_OpenInit.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PBE_CipherInit.3 |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY2PKCS8.3     |  2 +-
 .../lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_get0_libctx.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_get0_pkey.3    |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_get_algor.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3   |  2 +-
 .../man/man3/EVP_PKEY_CTX_set1_pbe_pass.3          |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_set_params.3   |  2 +-
 .../man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 |  2 +-
 .../man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3        |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_asn1_get_count.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_check.3     |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_copy_parameters.3  |  2 +-
 .../lib/libcrypto/man/man3/EVP_PKEY_decapsulate.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3    |  2 +-
 .../man/man3/EVP_PKEY_digestsign_supports_digest.3 |  2 +-
 .../lib/libcrypto/man/man3/EVP_PKEY_encapsulate.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_fromdata.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_get_attr.3  |  2 +-
 .../man/man3/EVP_PKEY_get_default_digest_nid.3     |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_get_field_type.3   |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_get_group_name.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_get_size.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_gettable_params.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_is_a.3      |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3    |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_meth_get_count.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_new.3       |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_print_private.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3  |  2 +-
 .../man/man3/EVP_PKEY_set1_encoded_public_key.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_set_type.3  |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_settable_params.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3      |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_todata.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3    |  2 +-
 .../libcrypto/man/man3/EVP_PKEY_verify_recover.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_RAND.3           |  2 +-
 secure/lib/libcrypto/man/man3/EVP_SIGNATURE.3      |  2 +-
 secure/lib/libcrypto/man/man3/EVP_SKEY.3           |  2 +-
 secure/lib/libcrypto/man/man3/EVP_SKEYMGMT.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_SealInit.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_SignInit.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_VerifyInit.3     |  2 +-
 secure/lib/libcrypto/man/man3/EVP_aes_128_gcm.3    |  2 +-
 secure/lib/libcrypto/man/man3/EVP_aria_128_gcm.3   |  2 +-
 secure/lib/libcrypto/man/man3/EVP_bf_cbc.3         |  2 +-
 secure/lib/libcrypto/man/man3/EVP_blake2b512.3     |  2 +-
 .../lib/libcrypto/man/man3/EVP_camellia_128_ecb.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3      |  2 +-
 secure/lib/libcrypto/man/man3/EVP_chacha20.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_des_cbc.3        |  2 +-
 secure/lib/libcrypto/man/man3/EVP_desx_cbc.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_idea_cbc.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_md2.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_md4.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_md5.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_mdc2.3           |  2 +-
 secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3        |  2 +-
 secure/lib/libcrypto/man/man3/EVP_rc4.3            |  2 +-
 .../lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3  |  2 +-
 secure/lib/libcrypto/man/man3/EVP_ripemd160.3      |  2 +-
 secure/lib/libcrypto/man/man3/EVP_seed_cbc.3       |  2 +-
 .../man/man3/EVP_set_default_properties.3          |  2 +-
 secure/lib/libcrypto/man/man3/EVP_sha1.3           |  2 +-
 secure/lib/libcrypto/man/man3/EVP_sha224.3         |  2 +-
 secure/lib/libcrypto/man/man3/EVP_sha3_224.3       |  2 +-
 secure/lib/libcrypto/man/man3/EVP_sm3.3            |  2 +-
 secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3        |  2 +-
 secure/lib/libcrypto/man/man3/EVP_whirlpool.3      |  2 +-
 secure/lib/libcrypto/man/man3/GENERAL_NAME.3       |  2 +-
 secure/lib/libcrypto/man/man3/HMAC.3               |  2 +-
 secure/lib/libcrypto/man/man3/MD5.3                |  2 +-
 secure/lib/libcrypto/man/man3/MDC2_Init.3          |  2 +-
 secure/lib/libcrypto/man/man3/NCONF_new_ex.3       |  2 +-
 secure/lib/libcrypto/man/man3/OBJ_nid2obj.3        |  2 +-
 secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3   |  2 +-
 secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3    |  2 +-
 .../libcrypto/man/man3/OCSP_request_add1_nonce.3   |  2 +-
 .../lib/libcrypto/man/man3/OCSP_resp_find_status.3 |  2 +-
 .../lib/libcrypto/man/man3/OCSP_response_status.3  |  2 +-
 secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_Applink.3    |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_FILE.3       |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_config.3     |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_fork_prepare.3  |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_gmtime.3     |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_hexchar2int.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3    |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_init_crypto.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3   |  2 +-
 .../libcrypto/man/man3/OPENSSL_instrument_bus.3    |  2 +-
 .../man/man3/OPENSSL_load_builtin_modules.3        |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_load_u16_le.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_malloc.3     |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_ppccap.3     |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_riscvcap.3   |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_s390xcap.3   |  2 +-
 .../lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 |  2 +-
 secure/lib/libcrypto/man/man3/OPENSSL_strcasecmp.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_ALGORITHM.3     |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CALLBACK.3      |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CMP_ATAV_set0.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CMP_CTX_new.3   |  2 +-
 .../man/man3/OSSL_CMP_HDR_get0_transactionID.3     |  2 +-
 .../libcrypto/man/man3/OSSL_CMP_ITAV_new_caCerts.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CMP_ITAV_set0.3 |  2 +-
 .../libcrypto/man/man3/OSSL_CMP_MSG_get0_header.3  |  2 +-
 .../libcrypto/man/man3/OSSL_CMP_MSG_http_perform.3 |  2 +-
 .../lib/libcrypto/man/man3/OSSL_CMP_SRV_CTX_new.3  |  2 +-
 .../libcrypto/man/man3/OSSL_CMP_STATUSINFO_new.3   |  2 +-
 .../lib/libcrypto/man/man3/OSSL_CMP_exec_certreq.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CMP_log_open.3  |  2 +-
 .../lib/libcrypto/man/man3/OSSL_CMP_validate_msg.3 |  2 +-
 .../lib/libcrypto/man/man3/OSSL_CORE_MAKE_FUNC.3   |  2 +-
 .../libcrypto/man/man3/OSSL_CRMF_MSG_get0_tmpl.3   |  2 +-
 .../man/man3/OSSL_CRMF_MSG_set0_validity.3         |  2 +-
 .../man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3 |  2 +-
 .../man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_CRMF_pbmp_new.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_DECODER.3       |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_DECODER_CTX.3   |  2 +-
 .../man/man3/OSSL_DECODER_CTX_new_for_pkey.3       |  2 +-
 .../lib/libcrypto/man/man3/OSSL_DECODER_from_bio.3 |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_DISPATCH.3      |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_ENCODER.3       |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_ENCODER_CTX.3   |  2 +-
 .../man/man3/OSSL_ENCODER_CTX_new_for_pkey.3       |  2 +-
 .../lib/libcrypto/man/man3/OSSL_ENCODER_to_bio.3   |  2 +-
 .../lib/libcrypto/man/man3/OSSL_ERR_STATE_save.3   |  2 +-
 .../man/man3/OSSL_ESS_check_signing_certs.3        |  2 +-
 .../libcrypto/man/man3/OSSL_GENERAL_NAMES_print.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_HPKE_CTX_new.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_HTTP_REQ_CTX.3  |  8 +-
 .../lib/libcrypto/man/man3/OSSL_HTTP_parse_url.3   | 20 +++--
 secure/lib/libcrypto/man/man3/OSSL_HTTP_transfer.3 |  7 +-
 .../lib/libcrypto/man/man3/OSSL_IETF_ATTR_SYNTAX.3 |  2 +-
 .../man/man3/OSSL_IETF_ATTR_SYNTAX_print.3         |  2 +-
 .../man/man3/OSSL_INDICATOR_set_callback.3         |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_ITEM.3          |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_LIB_CTX.3       |  2 +-
 .../man/man3/OSSL_LIB_CTX_set_conf_diagnostics.3   |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_PARAM.3         |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_PARAM_BLD.3     |  2 +-
 .../man/man3/OSSL_PARAM_allocate_from_text.3       |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_PARAM_dup.3     |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_PARAM_int.3     |  2 +-
 .../libcrypto/man/man3/OSSL_PARAM_print_to_bio.3   |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_PROVIDER.3      |  2 +-
 .../libcrypto/man/man3/OSSL_QUIC_client_method.3   |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_SELF_TEST_new.3 |  2 +-
 .../man/man3/OSSL_SELF_TEST_set_callback.3         |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3    |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_attach.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3  |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_STORE_open.3    |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_sleep.3         |  2 +-
 secure/lib/libcrypto/man/man3/OSSL_trace_enabled.3 |  2 +-
 .../man/man3/OSSL_trace_get_category_num.3         |  2 +-
 .../libcrypto/man/man3/OSSL_trace_set_channel.3    |  2 +-
 .../man/man3/OpenSSL_add_all_algorithms.3          |  2 +-
 secure/lib/libcrypto/man/man3/OpenSSL_version.3    |  2 +-
 .../libcrypto/man/man3/PBMAC1_get1_pbkdf2_param.3  |  2 +-
 .../libcrypto/man/man3/PEM_X509_INFO_read_bio_ex.3 |  2 +-
 secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 |  2 +-
 secure/lib/libcrypto/man/man3/PEM_read.3           |  2 +-
 secure/lib/libcrypto/man/man3/PEM_read_CMS.3       |  2 +-
 .../libcrypto/man/man3/PEM_read_bio_PrivateKey.3   |  2 +-
 secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3    |  2 +-
 .../libcrypto/man/man3/PEM_write_bio_CMS_stream.3  |  2 +-
 .../man/man3/PEM_write_bio_PKCS7_stream.3          |  2 +-
 .../lib/libcrypto/man/man3/PKCS12_PBE_keyivgen.3   |  2 +-
 .../man/man3/PKCS12_SAFEBAG_create_cert.3          |  2 +-
 .../libcrypto/man/man3/PKCS12_SAFEBAG_get0_attrs.3 |  2 +-
 .../libcrypto/man/man3/PKCS12_SAFEBAG_get1_cert.3  |  2 +-
 .../libcrypto/man/man3/PKCS12_SAFEBAG_set0_attrs.3 |  2 +-
 .../libcrypto/man/man3/PKCS12_add1_attr_by_NID.3   |  2 +-
 .../libcrypto/man/man3/PKCS12_add_CSPName_asc.3    |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_add_cert.3    |  2 +-
 .../man/man3/PKCS12_add_friendlyname_asc.3         |  2 +-
 .../lib/libcrypto/man/man3/PKCS12_add_localkeyid.3 |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_add_safe.3    |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_create.3      |  2 +-
 .../lib/libcrypto/man/man3/PKCS12_decrypt_skey.3   |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_gen_mac.3     |  2 +-
 .../libcrypto/man/man3/PKCS12_get_friendlyname.3   |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_init.3        |  2 +-
 .../libcrypto/man/man3/PKCS12_item_decrypt_d2i.3   |  2 +-
 .../libcrypto/man/man3/PKCS12_key_gen_utf8_ex.3    |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_newpass.3     |  2 +-
 .../lib/libcrypto/man/man3/PKCS12_pack_p7encdata.3 |  2 +-
 secure/lib/libcrypto/man/man3/PKCS12_parse.3       |  2 +-
 secure/lib/libcrypto/man/man3/PKCS5_PBE_keyivgen.3 |  2 +-
 secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3  |  2 +-
 secure/lib/libcrypto/man/man3/PKCS7_decrypt.3      | 17 +++--
 secure/lib/libcrypto/man/man3/PKCS7_encrypt.3      |  2 +-
 .../libcrypto/man/man3/PKCS7_get_octet_string.3    |  2 +-
 secure/lib/libcrypto/man/man3/PKCS7_sign.3         |  2 +-
 .../lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 |  2 +-
 .../lib/libcrypto/man/man3/PKCS7_type_is_other.3   |  2 +-
 secure/lib/libcrypto/man/man3/PKCS7_verify.3       |  2 +-
 secure/lib/libcrypto/man/man3/PKCS8_encrypt.3      |  2 +-
 .../lib/libcrypto/man/man3/PKCS8_pkey_add1_attr.3  |  2 +-
 secure/lib/libcrypto/man/man3/RAND_add.3           |  2 +-
 secure/lib/libcrypto/man/man3/RAND_bytes.3         |  2 +-
 secure/lib/libcrypto/man/man3/RAND_cleanup.3       |  2 +-
 secure/lib/libcrypto/man/man3/RAND_egd.3           |  2 +-
 secure/lib/libcrypto/man/man3/RAND_get0_primary.3  |  2 +-
 secure/lib/libcrypto/man/man3/RAND_load_file.3     |  2 +-
 secure/lib/libcrypto/man/man3/RAND_set_DRBG_type.3 |  2 +-
 .../lib/libcrypto/man/man3/RAND_set_rand_method.3  |  2 +-
 secure/lib/libcrypto/man/man3/RC4_set_key.3        |  2 +-
 secure/lib/libcrypto/man/man3/RIPEMD160_Init.3     |  2 +-
 secure/lib/libcrypto/man/man3/RSA_blinding_on.3    |  2 +-
 secure/lib/libcrypto/man/man3/RSA_check_key.3      |  2 +-
 secure/lib/libcrypto/man/man3/RSA_generate_key.3   |  2 +-
 secure/lib/libcrypto/man/man3/RSA_get0_key.3       |  2 +-
 secure/lib/libcrypto/man/man3/RSA_meth_new.3       |  2 +-
 secure/lib/libcrypto/man/man3/RSA_new.3            |  2 +-
 .../man/man3/RSA_padding_add_PKCS1_type_1.3        |  2 +-
 secure/lib/libcrypto/man/man3/RSA_print.3          |  2 +-
 .../lib/libcrypto/man/man3/RSA_private_encrypt.3   |  2 +-
 secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 |  2 +-
 secure/lib/libcrypto/man/man3/RSA_set_method.3     |  2 +-
 secure/lib/libcrypto/man/man3/RSA_sign.3           |  2 +-
 .../man/man3/RSA_sign_ASN1_OCTET_STRING.3          |  2 +-
 secure/lib/libcrypto/man/man3/RSA_size.3           |  2 +-
 secure/lib/libcrypto/man/man3/SCT_new.3            |  2 +-
 secure/lib/libcrypto/man/man3/SCT_print.3          |  2 +-
 secure/lib/libcrypto/man/man3/SCT_validate.3       |  2 +-
 secure/lib/libcrypto/man/man3/SHA256_Init.3        |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_read_ASN1.3    |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_read_CMS.3     |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3   |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_write_ASN1.3   |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_write_CMS.3    |  2 +-
 secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3  |  2 +-
 secure/lib/libcrypto/man/man3/SRP_Calc_B.3         |  2 +-
 secure/lib/libcrypto/man/man3/SRP_VBASE_new.3      |  2 +-
 .../lib/libcrypto/man/man3/SRP_create_verifier.3   |  2 +-
 secure/lib/libcrypto/man/man3/SRP_user_pwd_new.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_CIPHER_get_name.3   |  2 +-
 .../man/man3/SSL_COMP_add_compression_method.3     |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3   |  2 +-
 .../libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3  |  2 +-
 .../libcrypto/man/man3/SSL_CONF_CTX_set_flags.3    |  2 +-
 .../libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3       |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3  |  2 +-
 .../libcrypto/man/man3/SSL_CTX_add1_chain_cert.3   |  2 +-
 .../man/man3/SSL_CTX_add_extra_chain_cert.3        |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_add_session.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_config.3     |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3       |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_dane_enable.3   |  2 +-
 .../libcrypto/man/man3/SSL_CTX_flush_sessions.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_free.3       |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 |  2 +-
 .../libcrypto/man/man3/SSL_CTX_get_verify_mode.3   |  2 +-
 .../man/man3/SSL_CTX_has_client_custom_ext.3       |  2 +-
 .../man/man3/SSL_CTX_load_verify_locations.3       |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_new.3        |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_sess_number.3   |  2 +-
 .../man/man3/SSL_CTX_sess_set_cache_size.3         |  2 +-
 .../libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3  |  2 +-
 .../man/man3/SSL_CTX_set1_cert_comp_preference.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set1_curves.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3  |  2 +-
 .../man/man3/SSL_CTX_set1_verify_cert_store.3      |  2 +-
 .../man/man3/SSL_CTX_set_alpn_select_cb.3          |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3   |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_cert_store.3    |  2 +-
 .../man/man3/SSL_CTX_set_cert_verify_callback.3    |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_cipher_list.3   |  2 +-
 .../man/man3/SSL_CTX_set_client_cert_cb.3          |  2 +-
 .../man/man3/SSL_CTX_set_client_hello_cb.3         |  2 +-
 .../man/man3/SSL_CTX_set_ct_validation_callback.3  |  2 +-
 .../man/man3/SSL_CTX_set_ctlog_list_file.3         |  2 +-
 .../man/man3/SSL_CTX_set_default_passwd_cb.3       |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_domain_flags.3  |  2 +-
 .../man/man3/SSL_CTX_set_generate_session_id.3     |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_info_callback.3 |  2 +-
 .../man/man3/SSL_CTX_set_keylog_callback.3         |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 |  2 +-
 .../man/man3/SSL_CTX_set_min_proto_version.3       |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3   |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_msg_callback.3  |  2 +-
 .../man/man3/SSL_CTX_set_new_pending_conn_cb.3     |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_num_tickets.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set_options.3   |  2 +-
 .../man/man3/SSL_CTX_set_psk_client_callback.3     |  2 +-
 .../man/man3/SSL_CTX_set_quiet_shutdown.3          |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_read_ahead.3    |  2 +-
 .../man/man3/SSL_CTX_set_record_padding_callback.3 |  2 +-
 .../man/man3/SSL_CTX_set_security_level.3          |  2 +-
 .../man/man3/SSL_CTX_set_session_cache_mode.3      |  8 +-
 .../man/man3/SSL_CTX_set_session_id_context.3      | 29 ++++---
 .../man/man3/SSL_CTX_set_session_ticket_cb.3       |  2 +-
 .../man/man3/SSL_CTX_set_split_send_fragment.3     |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_srp_password.3  |  2 +-
 .../libcrypto/man/man3/SSL_CTX_set_ssl_version.3   |  2 +-
 .../SSL_CTX_set_stateless_cookie_generate_cb.3     |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set_timeout.3   |  2 +-
 .../man3/SSL_CTX_set_tlsext_servername_callback.3  | 10 ++-
 .../man/man3/SSL_CTX_set_tlsext_status_cb.3        |  2 +-
 .../man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3    |  2 +-
 .../man/man3/SSL_CTX_set_tlsext_use_srtp.3         |  2 +-
 .../man/man3/SSL_CTX_set_tmp_dh_callback.3         |  2 +-
 .../lib/libcrypto/man/man3/SSL_CTX_set_tmp_ecdh.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 |  2 +-
 .../libcrypto/man/man3/SSL_CTX_use_certificate.3   |  2 +-
 .../man/man3/SSL_CTX_use_psk_identity_hint.3       |  2 +-
 .../libcrypto/man/man3/SSL_CTX_use_serverinfo.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_SESSION_free.3   |  2 +-
 .../libcrypto/man/man3/SSL_SESSION_get0_cipher.3   |  2 +-
 .../libcrypto/man/man3/SSL_SESSION_get0_hostname.3 |  2 +-
 .../man/man3/SSL_SESSION_get0_id_context.3         |  2 +-
 .../lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 |  2 +-
 .../man/man3/SSL_SESSION_get_compress_id.3         |  2 +-
 .../man/man3/SSL_SESSION_get_protocol_version.3    |  2 +-
 .../lib/libcrypto/man/man3/SSL_SESSION_get_time.3  |  2 +-
 .../libcrypto/man/man3/SSL_SESSION_has_ticket.3    |  2 +-
 .../libcrypto/man/man3/SSL_SESSION_is_resumable.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_SESSION_print.3  |  2 +-
 .../lib/libcrypto/man/man3/SSL_SESSION_set1_id.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_accept.3         |  2 +-
 secure/lib/libcrypto/man/man3/SSL_accept_stream.3  |  2 +-
 .../lib/libcrypto/man/man3/SSL_alert_type_string.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_check_chain.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_clear.3          |  2 +-
 secure/lib/libcrypto/man/man3/SSL_connect.3        |  2 +-
 secure/lib/libcrypto/man/man3/SSL_do_handshake.3   |  2 +-
 .../man/man3/SSL_export_keying_material.3          |  2 +-
 .../libcrypto/man/man3/SSL_extension_supported.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_free.3           |  2 +-
 .../lib/libcrypto/man/man3/SSL_get0_connection.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_get0_group_name.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get0_peer_rpk.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 |  2 +-
 .../libcrypto/man/man3/SSL_get1_builtin_sigalgs.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3    |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_all_async_fds.3 |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_certificate.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_ciphers.3    |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_client_random.3 |  2 +-
 .../libcrypto/man/man3/SSL_get_conn_close_info.3   |  2 +-
 .../libcrypto/man/man3/SSL_get_current_cipher.3    |  2 +-
 .../libcrypto/man/man3/SSL_get_default_timeout.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_error.3      |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_event_timeout.3 |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_extms_support.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_fd.3         |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_handshake_rtt.3 |  2 +-
 .../libcrypto/man/man3/SSL_get_peer_cert_chain.3   |  2 +-
 .../libcrypto/man/man3/SSL_get_peer_certificate.3  |  2 +-
 .../man/man3/SSL_get_peer_signature_nid.3          |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3  |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_psk_identity.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_rbio.3       |  2 +-
 .../libcrypto/man/man3/SSL_get_rpoll_descriptor.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_session.3    |  2 +-
 .../libcrypto/man/man3/SSL_get_shared_sigalgs.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_stream_id.3  |  2 +-
 .../libcrypto/man/man3/SSL_get_stream_read_state.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_value_uint.3 |  2 +-
 .../lib/libcrypto/man/man3/SSL_get_verify_result.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_get_version.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_group_to_name.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_handle_events.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_in_init.3        |  2 +-
 .../lib/libcrypto/man/man3/SSL_inject_net_dgram.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_key_update.3     |  2 +-
 secure/lib/libcrypto/man/man3/SSL_library_init.3   |  2 +-
 .../libcrypto/man/man3/SSL_load_client_CA_file.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_new.3            |  2 +-
 secure/lib/libcrypto/man/man3/SSL_new_domain.3     |  2 +-
 secure/lib/libcrypto/man/man3/SSL_new_listener.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_new_stream.3     |  2 +-
 secure/lib/libcrypto/man/man3/SSL_pending.3        |  2 +-
 secure/lib/libcrypto/man/man3/SSL_poll.3           |  2 +-
 secure/lib/libcrypto/man/man3/SSL_read.3           |  2 +-
 .../lib/libcrypto/man/man3/SSL_read_early_data.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_rstate_string.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_session_reused.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_set1_host.3      |  2 +-
 .../man/man3/SSL_set1_initial_peer_addr.3          |  2 +-
 .../libcrypto/man/man3/SSL_set1_server_cert_type.3 |  2 +-
 .../libcrypto/man/man3/SSL_set_async_callback.3    |  2 +-
 secure/lib/libcrypto/man/man3/SSL_set_bio.3        |  2 +-
 .../lib/libcrypto/man/man3/SSL_set_blocking_mode.3 |  2 +-
 .../lib/libcrypto/man/man3/SSL_set_connect_state.3 |  2 +-
 .../man/man3/SSL_set_default_stream_mode.3         |  2 +-
 secure/lib/libcrypto/man/man3/SSL_set_fd.3         |  2 +-
 .../man/man3/SSL_set_incoming_stream_policy.3      |  2 +-
 .../lib/libcrypto/man/man3/SSL_set_quic_tls_cbs.3  |  2 +-
 .../lib/libcrypto/man/man3/SSL_set_retry_verify.3  |  2 +-
 secure/lib/libcrypto/man/man3/SSL_set_session.3    |  2 +-
 .../libcrypto/man/man3/SSL_set_session_secret_cb.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_set_shutdown.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_set_verify_result.3 |  2 +-
 secure/lib/libcrypto/man/man3/SSL_shutdown.3       |  2 +-
 secure/lib/libcrypto/man/man3/SSL_state_string.3   |  2 +-
 .../lib/libcrypto/man/man3/SSL_stream_conclude.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_stream_reset.3   |  2 +-
 secure/lib/libcrypto/man/man3/SSL_want.3           |  2 +-
 secure/lib/libcrypto/man/man3/SSL_write.3          |  2 +-
 secure/lib/libcrypto/man/man3/TS_RESP_CTX_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/TS_VERIFY_CTX.3      |  2 +-
 secure/lib/libcrypto/man/man3/UI_STRING.3          |  2 +-
 secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3    |  2 +-
 secure/lib/libcrypto/man/man3/UI_create_method.3   |  2 +-
 secure/lib/libcrypto/man/man3/UI_new.3             |  2 +-
 secure/lib/libcrypto/man/man3/X509V3_EXT_print.3   |  2 +-
 secure/lib/libcrypto/man/man3/X509V3_get_d2i.3     |  2 +-
 secure/lib/libcrypto/man/man3/X509V3_set_ctx.3     |  2 +-
 .../lib/libcrypto/man/man3/X509_ACERT_add1_attr.3  |  2 +-
 .../libcrypto/man/man3/X509_ACERT_add_attr_nconf.3 |  2 +-
 .../man/man3/X509_ACERT_get0_holder_baseCertId.3   |  2 +-
 .../lib/libcrypto/man/man3/X509_ACERT_get_attr.3   |  2 +-
 .../lib/libcrypto/man/man3/X509_ACERT_print_ex.3   |  2 +-
 secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3     |  2 +-
 secure/lib/libcrypto/man/man3/X509_ATTRIBUTE.3     |  2 +-
 .../libcrypto/man/man3/X509_CRL_get0_by_serial.3   |  2 +-
 .../libcrypto/man/man3/X509_EXTENSION_set_object.3 |  2 +-
 secure/lib/libcrypto/man/man3/X509_LOOKUP.3        |  2 +-
 .../lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3  |  2 +-
 .../lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3  |  2 +-
 .../man/man3/X509_NAME_ENTRY_get_object.3          |  2 +-
 .../man/man3/X509_NAME_add_entry_by_txt.3          |  2 +-
 secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 |  2 +-
 .../man/man3/X509_NAME_get_index_by_NID.3          |  2 +-
 secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 |  2 +-
 secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3    |  2 +-
 secure/lib/libcrypto/man/man3/X509_REQ_get_attr.3  |  2 +-
 .../libcrypto/man/man3/X509_REQ_get_extensions.3   |  2 +-
 secure/lib/libcrypto/man/man3/X509_SIG_get0.3      |  2 +-
 .../man/man3/X509_STORE_CTX_get_by_subject.3       |  2 +-
 .../libcrypto/man/man3/X509_STORE_CTX_get_error.3  |  2 +-
 secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 |  2 +-
 .../man/man3/X509_STORE_CTX_set_verify_cb.3        |  2 +-
 .../lib/libcrypto/man/man3/X509_STORE_add_cert.3   |  2 +-
 .../lib/libcrypto/man/man3/X509_STORE_get0_param.3 |  2 +-
 secure/lib/libcrypto/man/man3/X509_STORE_new.3     |  2 +-
 .../man/man3/X509_STORE_set_verify_cb_func.3       |  2 +-
 .../man/man3/X509_VERIFY_PARAM_set_flags.3         |  2 +-
 secure/lib/libcrypto/man/man3/X509_add_cert.3      |  2 +-
 secure/lib/libcrypto/man/man3/X509_check_ca.3      |  2 +-
 secure/lib/libcrypto/man/man3/X509_check_host.3    |  2 +-
 secure/lib/libcrypto/man/man3/X509_check_issued.3  |  2 +-
 .../libcrypto/man/man3/X509_check_private_key.3    |  2 +-
 secure/lib/libcrypto/man/man3/X509_check_purpose.3 |  2 +-
 secure/lib/libcrypto/man/man3/X509_cmp.3           |  2 +-
 secure/lib/libcrypto/man/man3/X509_cmp_time.3      |  2 +-
 secure/lib/libcrypto/man/man3/X509_digest.3        |  2 +-
 secure/lib/libcrypto/man/man3/X509_dup.3           |  2 +-
 .../man/man3/X509_get0_distinguishing_id.3         |  2 +-
 .../lib/libcrypto/man/man3/X509_get0_notBefore.3   |  2 +-
 .../lib/libcrypto/man/man3/X509_get0_signature.3   |  2 +-
 secure/lib/libcrypto/man/man3/X509_get0_uids.3     |  2 +-
 .../man/man3/X509_get_default_cert_file.3          |  2 +-
 .../libcrypto/man/man3/X509_get_extension_flags.3  |  2 +-
 secure/lib/libcrypto/man/man3/X509_get_pubkey.3    |  2 +-
 .../lib/libcrypto/man/man3/X509_get_serialNumber.3 |  2 +-
 .../lib/libcrypto/man/man3/X509_get_subject_name.3 |  2 +-
 secure/lib/libcrypto/man/man3/X509_get_version.3   |  2 +-
 secure/lib/libcrypto/man/man3/X509_load_http.3     |  2 +-
 secure/lib/libcrypto/man/man3/X509_new.3           |  2 +-
 secure/lib/libcrypto/man/man3/X509_sign.3          |  2 +-
 secure/lib/libcrypto/man/man3/X509_verify.3        |  2 +-
 secure/lib/libcrypto/man/man3/X509_verify_cert.3   |  2 +-
 .../lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 |  2 +-
 secure/lib/libcrypto/man/man3/b2i_PVK_bio_ex.3     |  2 +-
 .../libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3   |  2 +-
 secure/lib/libcrypto/man/man3/d2i_PrivateKey.3     |  2 +-
 secure/lib/libcrypto/man/man3/d2i_RSAPrivateKey.3  |  2 +-
 secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3    |  2 +-
 secure/lib/libcrypto/man/man3/d2i_X509.3           | 42 ++++++-----
 secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 |  2 +-
 .../lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3  |  2 +-
 secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3    |  2 +-
 secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3       |  2 +-
 secure/lib/libcrypto/man/man3/s2i_ASN1_IA5STRING.3 |  2 +-
 secure/lib/libcrypto/man/man5/config.5             |  2 +-
 secure/lib/libcrypto/man/man5/fips_config.5        |  2 +-
 secure/lib/libcrypto/man/man5/x509v3_config.5      |  2 +-
 .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-RSA.7   |  2 +-
 .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-SM2.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-AES.7     |  8 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-ARIA.7    |  2 +-
 .../lib/libcrypto/man/man7/EVP_CIPHER-BLOWFISH.7   |  2 +-
 .../lib/libcrypto/man/man7/EVP_CIPHER-CAMELLIA.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-CAST.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-CHACHA.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-DES.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-IDEA.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-NULL.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-RC2.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-RC4.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-RC5.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-SEED.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_CIPHER-SM4.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-ARGON2.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-HKDF.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-HMAC-DRBG.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-KB.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-KRB5KDF.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF1.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF2.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-PKCS12KDF.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-PVKKDF.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-SCRYPT.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-SS.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-SSHKDF.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-TLS13_KDF.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-TLS1_PRF.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-X942-ASN1.7  |  2 +-
 .../lib/libcrypto/man/man7/EVP_KDF-X942-CONCAT.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KDF-X963.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEM-EC.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEM-ML-KEM.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEM-RSA.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEM-X25519.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEYEXCH-DH.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEYEXCH-ECDH.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_KEYEXCH-X25519.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-BLAKE2.7     |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-CMAC.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-GMAC.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-HMAC.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-KMAC.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-Poly1305.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MAC-Siphash.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-BLAKE2.7      |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-KECCAK.7      |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-MD2.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-MD4.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-MD5-SHA1.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-MD5.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-MDC2.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-NULL.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-RIPEMD160.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-SHA1.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-SHA2.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-SHA3.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-SHAKE.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-SM3.7         |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-WHIRLPOOL.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_MD-common.7      |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-DH.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-DSA.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-EC.7        |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-FFC.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-HMAC.7      |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-ML-DSA.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-ML-KEM.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-RSA.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-SLH-DSA.7   |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-SM2.7       |  2 +-
 secure/lib/libcrypto/man/man7/EVP_PKEY-X25519.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-CRNG-TEST.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-CTR-DRBG.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-HASH-DRBG.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-HMAC-DRBG.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-JITTER.7    |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-SEED-SRC.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND-TEST-RAND.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_RAND.7           |  2 +-
 secure/lib/libcrypto/man/man7/EVP_SIGNATURE-DSA.7  |  2 +-
 .../lib/libcrypto/man/man7/EVP_SIGNATURE-ECDSA.7   |  2 +-
 .../lib/libcrypto/man/man7/EVP_SIGNATURE-ED25519.7 |  2 +-
 secure/lib/libcrypto/man/man7/EVP_SIGNATURE-HMAC.7 |  2 +-
 .../lib/libcrypto/man/man7/EVP_SIGNATURE-ML-DSA.7  |  2 +-
 secure/lib/libcrypto/man/man7/EVP_SIGNATURE-RSA.7  |  2 +-
 .../lib/libcrypto/man/man7/EVP_SIGNATURE-SLH-DSA.7 |  2 +-
 secure/lib/libcrypto/man/man7/OSSL_PROVIDER-FIPS.7 |  2 +-
 secure/lib/libcrypto/man/man7/OSSL_PROVIDER-base.7 |  2 +-
 .../lib/libcrypto/man/man7/OSSL_PROVIDER-default.7 |  2 +-
 .../lib/libcrypto/man/man7/OSSL_PROVIDER-legacy.7  |  2 +-
 secure/lib/libcrypto/man/man7/OSSL_PROVIDER-null.7 |  2 +-
 .../lib/libcrypto/man/man7/OSSL_STORE-winstore.7   |  2 +-
 secure/lib/libcrypto/man/man7/RAND.7               |  2 +-
 secure/lib/libcrypto/man/man7/RSA-PSS.7            |  2 +-
 secure/lib/libcrypto/man/man7/X25519.7             |  2 +-
 secure/lib/libcrypto/man/man7/bio.7                |  2 +-
 secure/lib/libcrypto/man/man7/ct.7                 |  2 +-
 secure/lib/libcrypto/man/man7/des_modes.7          |  2 +-
 secure/lib/libcrypto/man/man7/evp.7                |  2 +-
 secure/lib/libcrypto/man/man7/fips_module.7        |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-cipher.7  |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-digest.7  |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-kdf.7     |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-mac.7     |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-pkey.7    |  2 +-
 secure/lib/libcrypto/man/man7/life_cycle-rand.7    |  2 +-
 secure/lib/libcrypto/man/man7/openssl-core.h.7     |  2 +-
 .../libcrypto/man/man7/openssl-core_dispatch.h.7   |  2 +-
 .../lib/libcrypto/man/man7/openssl-core_names.h.7  |  2 +-
 secure/lib/libcrypto/man/man7/openssl-env.7        |  4 +-
 secure/lib/libcrypto/man/man7/openssl-glossary.7   |  2 +-
 secure/lib/libcrypto/man/man7/openssl-qlog.7       |  2 +-
 .../libcrypto/man/man7/openssl-quic-concurrency.7  |  2 +-
 secure/lib/libcrypto/man/man7/openssl-quic.7       |  2 +-
 secure/lib/libcrypto/man/man7/openssl-threads.7    |  2 +-
 .../lib/libcrypto/man/man7/openssl_user_macros.7   |  2 +-
 .../libcrypto/man/man7/ossl-guide-introduction.7   |  2 +-
 .../man/man7/ossl-guide-libcrypto-introduction.7   |  2 +-
 .../man/man7/ossl-guide-libraries-introduction.7   |  2 +-
 .../man/man7/ossl-guide-libssl-introduction.7      |  2 +-
 .../lib/libcrypto/man/man7/ossl-guide-migration.7  |  2 +-
 .../man/man7/ossl-guide-quic-client-block.7        |  2 +-
 .../man/man7/ossl-guide-quic-client-non-block.7    |  2 +-
 .../man/man7/ossl-guide-quic-introduction.7        |  2 +-
 .../man/man7/ossl-guide-quic-multi-stream.7        |  2 +-
 .../man/man7/ossl-guide-quic-server-block.7        |  2 +-
 .../man/man7/ossl-guide-quic-server-non-block.7    |  2 +-
 .../man/man7/ossl-guide-tls-client-block.7         |  2 +-
 .../man/man7/ossl-guide-tls-client-non-block.7     |  2 +-
 .../man/man7/ossl-guide-tls-introduction.7         |  2 +-
 .../man/man7/ossl-guide-tls-server-block.7         |  2 +-
 secure/lib/libcrypto/man/man7/ossl_store-file.7    |  2 +-
 secure/lib/libcrypto/man/man7/ossl_store.7         |  2 +-
 .../lib/libcrypto/man/man7/passphrase-encoding.7   |  2 +-
 secure/lib/libcrypto/man/man7/property.7           |  2 +-
 .../lib/libcrypto/man/man7/provider-asym_cipher.7  |  8 +-
 secure/lib/libcrypto/man/man7/provider-base.7      |  2 +-
 secure/lib/libcrypto/man/man7/provider-cipher.7    |  2 +-
 secure/lib/libcrypto/man/man7/provider-decoder.7   |  2 +-
 secure/lib/libcrypto/man/man7/provider-digest.7    |  2 +-
 secure/lib/libcrypto/man/man7/provider-encoder.7   |  2 +-
 secure/lib/libcrypto/man/man7/provider-kdf.7       |  2 +-
 secure/lib/libcrypto/man/man7/provider-kem.7       |  2 +-
 secure/lib/libcrypto/man/man7/provider-keyexch.7   |  2 +-
 secure/lib/libcrypto/man/man7/provider-keymgmt.7   |  2 +-
 secure/lib/libcrypto/man/man7/provider-mac.7       |  2 +-
 secure/lib/libcrypto/man/man7/provider-object.7    |  2 +-
 secure/lib/libcrypto/man/man7/provider-rand.7      |  2 +-
 secure/lib/libcrypto/man/man7/provider-signature.7 |  5 +-
 secure/lib/libcrypto/man/man7/provider-skeymgmt.7  |  2 +-
 secure/lib/libcrypto/man/man7/provider-storemgmt.7 |  2 +-
 secure/lib/libcrypto/man/man7/provider.7           |  2 +-
 secure/lib/libcrypto/man/man7/proxy-certificates.7 |  2 +-
 secure/lib/libcrypto/man/man7/x509.7               |  2 +-
 secure/usr.bin/openssl/man/CA.pl.1                 |  2 +-
 secure/usr.bin/openssl/man/openssl-asn1parse.1     |  2 +-
 secure/usr.bin/openssl/man/openssl-ca.1            |  2 +-
 secure/usr.bin/openssl/man/openssl-ciphers.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-cmds.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-cmp.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-cms.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-crl.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-crl2pkcs7.1     |  2 +-
 secure/usr.bin/openssl/man/openssl-dgst.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-dhparam.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-dsa.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-dsaparam.1      |  2 +-
 secure/usr.bin/openssl/man/openssl-ec.1            |  2 +-
 secure/usr.bin/openssl/man/openssl-ecparam.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-enc.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-engine.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-errstr.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-fipsinstall.1   |  2 +-
 .../usr.bin/openssl/man/openssl-format-options.1   |  6 +-
 secure/usr.bin/openssl/man/openssl-gendsa.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-genpkey.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-genrsa.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-info.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-kdf.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-list.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-mac.1           |  2 +-
 .../openssl/man/openssl-namedisplay-options.1      |  2 +-
 secure/usr.bin/openssl/man/openssl-nseq.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-ocsp.1          |  2 +-
 .../openssl/man/openssl-passphrase-options.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-passwd.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-pkcs12.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-pkcs7.1         |  2 +-
 secure/usr.bin/openssl/man/openssl-pkcs8.1         |  6 +-
 secure/usr.bin/openssl/man/openssl-pkey.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-pkeyparam.1     |  2 +-
 secure/usr.bin/openssl/man/openssl-pkeyutl.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-prime.1         |  2 +-
 secure/usr.bin/openssl/man/openssl-rand.1          |  2 +-
 secure/usr.bin/openssl/man/openssl-rehash.1        |  8 +-
 secure/usr.bin/openssl/man/openssl-req.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-rsa.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-rsautl.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-s_client.1      | 13 ++--
 secure/usr.bin/openssl/man/openssl-s_server.1      | 21 +++++-
 secure/usr.bin/openssl/man/openssl-s_time.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-sess_id.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-skeyutl.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-smime.1         |  9 ++-
 secure/usr.bin/openssl/man/openssl-speed.1         |  2 +-
 secure/usr.bin/openssl/man/openssl-spkac.1         |  2 +-
 secure/usr.bin/openssl/man/openssl-srp.1           |  2 +-
 secure/usr.bin/openssl/man/openssl-storeutl.1      |  2 +-
 secure/usr.bin/openssl/man/openssl-ts.1            |  2 +-
 .../openssl/man/openssl-verification-options.1     |  2 +-
 secure/usr.bin/openssl/man/openssl-verify.1        |  2 +-
 secure/usr.bin/openssl/man/openssl-version.1       |  2 +-
 secure/usr.bin/openssl/man/openssl-x509.1          |  2 +-
 secure/usr.bin/openssl/man/openssl.1               |  2 +-
 secure/usr.bin/openssl/man/tsget.1                 |  2 +-
 sys/crypto/openssl/powerpc/chachap10-ppc.S         | 50 +++++++++++-
 sys/crypto/openssl/powerpc64/chachap10-ppc.S       | 50 +++++++++++-
 sys/crypto/openssl/powerpc64le/chachap10-ppc.S     | 50 +++++++++++-
 907 files changed, 1275 insertions(+), 997 deletions(-)

diff --git a/crypto/openssl/exporters/libcrypto.pc b/crypto/openssl/exporters/libcrypto.pc
index 339c799132d7..5de2da926e31 100644
--- a/crypto/openssl/exporters/libcrypto.pc
+++ b/crypto/openssl/exporters/libcrypto.pc
@@ -8,7 +8,7 @@ modulesdir=${libdir}/ossl-modules
 
 Name: OpenSSL-libcrypto
 Description: OpenSSL cryptography library
-Version: 3.5.6
+Version: 3.5.7
 Libs: -L${libdir} -lcrypto
 Libs.private: -pthread
 Cflags: -I${includedir}
diff --git a/crypto/openssl/exporters/libssl.pc b/crypto/openssl/exporters/libssl.pc
index e5fce192a971..c17f64684c24 100644
--- a/crypto/openssl/exporters/libssl.pc
+++ b/crypto/openssl/exporters/libssl.pc
@@ -6,7 +6,7 @@ includedir=${prefix}/include
 
 Name: OpenSSL-libssl
 Description: Secure Sockets Layer and cryptography libraries
-Version: 3.5.6
+Version: 3.5.7
 Requires.private: libcrypto
 Libs: -L${libdir} -lssl
 Cflags: -I${includedir}
diff --git a/crypto/openssl/exporters/openssl.pc b/crypto/openssl/exporters/openssl.pc
index 4e0aed6e9db3..d750cdce693e 100644
--- a/crypto/openssl/exporters/openssl.pc
+++ b/crypto/openssl/exporters/openssl.pc
@@ -6,5 +6,5 @@ includedir=${prefix}/include
 
 Name: OpenSSL
 Description: Secure Sockets Layer and cryptography libraries and tools
-Version: 3.5.6
+Version: 3.5.7
 Requires: libssl libcrypto
diff --git a/crypto/openssl/include/openssl/opensslv.h b/crypto/openssl/include/openssl/opensslv.h
index 299ba102298f..8e9329bcc0dd 100644
--- a/crypto/openssl/include/openssl/opensslv.h
+++ b/crypto/openssl/include/openssl/opensslv.h
@@ -34,7 +34,7 @@ extern "C" {
 # define OPENSSL_VERSION_MINOR  5
 /* clang-format on */
 /* clang-format off */
-# define OPENSSL_VERSION_PATCH  6
+# define OPENSSL_VERSION_PATCH  7
 /* clang-format on */
 
 /*
@@ -87,10 +87,10 @@ extern "C" {
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
  */
 /* clang-format off */
-# define OPENSSL_VERSION_STR "3.5.6"
+# define OPENSSL_VERSION_STR "3.5.7"
 /* clang-format on */
 /* clang-format off */
-# define OPENSSL_FULL_VERSION_STR "3.5.6"
+# define OPENSSL_FULL_VERSION_STR "3.5.7"
 /* clang-format on */
 
 /*
*** 12682 LINES SKIPPED ***

From nobody Wed Jun 10 15:33: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 4gb8tc2J7Vz6gfY4
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 15:33:12 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb8tb05gzz3cc4
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:33:11 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781105591;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bnbz12pcKDLzsKN1u9t3RoTfhlelU6vrRi1n+CGTvrE=;
	b=Sw7UOSKz1IEpElCRYsO2VzdScF+srQDNFw3hdcATvozfdrUalIJoSTLYXYbNGdL/7kJe7T
	7a6U8GlISzcTDQoFDwP/7ClPbaz8TqTl4ZSR8I6ynX/zwm9AsIRChrUu1fRSz4vZaVou88
	B8SCnjcsVilC2WMGL3s21HcNWBTFdB2CvpO8dhEzFMRR9FbveWnDoowU/SHHNKlwcFom2E
	+tk+MjOb9kMlwdeo7S2i0ce140wQ5LGLVCILP9v9c1gmcNwrIPBZ3nQHmjxnM+h+WPwP/z
	vWPsmHB0PwiYVlcj4QK7E/3iVxXU0BQa9DQ1AcAFSJ85oIUijmW11QwxxYKOeQ==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781105591; a=rsa-sha256; cv=none;
	b=qHFaRXV24itL9HyCOUITfmdPNhOFDmQW0E/cYL3MmwPNZwkIHcji/QrDjYPA/0vYlW+3fs
	AViYKuKNRQwCtpneGpSOlURjBC/biAAX384Scg9P3Ly44JzK0NdG/xOeUz7a3MFH37h7S5
	s+jNiayDMtniE4ZME7kwJXoskhjynrxVZkyLE5LAbMNuiyQwK91bPogdGpp6TVuixzKUXx
	uW1OmrebtoOGSUoMrjaEVStpcDaEZy+MagjhgOQ9qf1SMgtDU/7ZmomBZBhFK0X+6HQd4c
	IzpF/jQUS1O7PwoPGq3N0Wn0bCmIo125PGpW0Lc/9lqoVhagL9olbMjjhKcgPg==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781105591;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bnbz12pcKDLzsKN1u9t3RoTfhlelU6vrRi1n+CGTvrE=;
	b=Il65CgfP6QmuxUCB9OBZkIqqr1g6tLrJ4U+BaoXEuV96XXReFBq2KlqGW4uRUh4LeurDQw
	g8MyWwWBUGeo27rlIQ+OpR9cKdMwKa4Fpa6prd/IQTVT0WaJK/FVcUfA+1lXdGFKtGTgrI
	tnf4t+7s9G4DQgp5LxSND23qvfLJ9K1Ddh9ErDp+W9fP1jt9n3o+vGcR0MAA2Kgr4yHlro
	VP/PWDVEADPuXDSxnxvocuJ/+osDMZy4omfL7kVyVucgO/GzwQ27ncB0yQ01NmRT4VOgur
	B9M9o6Abo/TnRxdFi+lYKO+4eJyF0KTPgJN/zVvTiv6s2E/TsJvM5UGhsHEp2A==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb8tZ6Fzhz1Q2q
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:33:10 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 312c6
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 15:33: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: 1523ccfd9c8c - main - MFV: openssl 3.5.7
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: 1523ccfd9c8c254f7928143d31c305384b05fd11
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 15:33:05 +0000
Message-Id: <6a2983b1.312c6.27c0ff6b@gitrepo.freebsd.org>

The branch main has been updated by ngie:

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

commit 1523ccfd9c8c254f7928143d31c305384b05fd11
Merge: 4bdcff554368 3a71a35ad9da
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-06-10 15:25:28 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-06-10 15:31:07 +0000

    MFV: openssl 3.5.7
    
    This change is a security release which resolves several issues with OpenSSL 3.5,
    the highest severity issue being ranked "High". Users are strongly encouraged to
    update to this release.
    
    More information about the release (from a high level) can be found in
    the release notes [1].
    
    1. https://github.com/openssl/openssl/blob/openssl-3.5.7/NEWS.md
    
    All conflicts were resolved with `--theirs`, taking the release diff
    over the local diff; the conflicts occurred due to preemptive security
    fixes applied by so@ in e508c343.
    
    MFC after:      3 days (the important security issues have been
    preemptively addressed)
    Merge commit '3a71a35ad9dad0e5d2cad8efecc8ba9d57c42d43'
    
    Conflicts:
            crypto/openssl/include/internal/quic_channel.h
            crypto/openssl/ssl/quic/quic_channel_local.h
            crypto/openssl/ssl/quic/quic_rx_depack.c
            crypto/openssl/test/cmsapitest.c
            crypto/openssl/test/evp_extra_test.c

 crypto/openssl/CHANGES.md                          |  316 +
 crypto/openssl/Configurations/README.md            |    2 +-
 crypto/openssl/Configure                           |   25 +-
 crypto/openssl/NEWS.md                             |   72 +-
 crypto/openssl/VERSION.dat                         |    4 +-
 crypto/openssl/apps/enc.c                          |    4 +-
 crypto/openssl/apps/lib/apps.c                     |   15 +-
 crypto/openssl/apps/lib/cmp_mock_srv.c             |    4 +-
 crypto/openssl/apps/list.c                         |    5 +-
 crypto/openssl/apps/s_client.c                     |   14 +-
 crypto/openssl/apps/skeyutl.c                      |    4 +-
 crypto/openssl/apps/speed.c                        |    7 +-
 crypto/openssl/apps/testdsa.h                      | 1476 +--
 crypto/openssl/apps/testrsa.h                      | 4916 +---------
 crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl     |   17 +-
 crypto/openssl/crypto/asn1/a_d2i_fp.c              |   66 +-
 crypto/openssl/crypto/asn1/a_mbstr.c               |    2 +-
 crypto/openssl/crypto/asn1/asn1_lib.c              |    4 +-
 crypto/openssl/crypto/asn1/asn_mime.c              |   16 +-
 crypto/openssl/crypto/asn1/tasn_dec.c              |    2 +-
 crypto/openssl/crypto/bio/bss_dgram.c              |    4 +-
 crypto/openssl/crypto/bio/bss_dgram_pair.c         |    3 +-
 crypto/openssl/crypto/bn/bn_const.c                |  249 +-
 crypto/openssl/crypto/bn/bn_mod.c                  |   14 +-
 crypto/openssl/crypto/cast/cast_s.h                | 2306 +----
 crypto/openssl/crypto/chacha/asm/chachap10-ppc.pl  |   50 +-
 crypto/openssl/crypto/cmp/cmp_genm.c               |   13 +-
 crypto/openssl/crypto/cms/cms_enc.c                |    2 +-
 crypto/openssl/crypto/cms/cms_env.c                |    2 +-
 crypto/openssl/crypto/cms/cms_pwri.c               |    2 +-
 crypto/openssl/crypto/crmf/crmf_lib.c              |    2 +-
 crypto/openssl/crypto/des/fcrypt.c                 |  143 +-
 crypto/openssl/crypto/dso/dso_win32.c              |    4 +-
 crypto/openssl/crypto/ec/curve448/scalar.c         |    3 +-
 crypto/openssl/crypto/ec/curve448/word.h           |    9 +-
 crypto/openssl/crypto/ec/ec_curve.c                |  236 +-
 crypto/openssl/crypto/ec/ec_lib.c                  |    3 +-
 crypto/openssl/crypto/ec/ecp_s390x_nistp.c         |   36 +-
 crypto/openssl/crypto/ec/ecp_sm2p256.c             |    7 +-
 crypto/openssl/crypto/evp/asymcipher.c             |    4 +-
 crypto/openssl/crypto/evp/e_aes.c                  |    2 +-
 crypto/openssl/crypto/evp/encode.c                 |  282 +-
 crypto/openssl/crypto/evp/evp_lib.c                |    2 +-
 crypto/openssl/crypto/evp/kem.c                    |    2 +
 crypto/openssl/crypto/evp/m_sigver.c               |    4 +-
 crypto/openssl/crypto/evp/signature.c              |    2 +
 crypto/openssl/crypto/ffc/ffc_params.c             |   10 +-
 crypto/openssl/crypto/hashtable/hashtable.c        |   55 +-
 crypto/openssl/crypto/hpke/hpke_util.c             |    7 +-
 crypto/openssl/crypto/http/http_client.c           |   28 +-
 crypto/openssl/crypto/http/http_lib.c              |    3 +
 crypto/openssl/crypto/initthread.c                 |   30 +-
 crypto/openssl/crypto/md2/md2_dgst.c               |  284 +-
 crypto/openssl/crypto/ml_dsa/ml_dsa_key.c          |    4 +-
 crypto/openssl/crypto/modes/wrap128.c              |   15 +-
 crypto/openssl/crypto/objects/obj_dat.c            |    6 +-
 crypto/openssl/crypto/objects/obj_lib.c            |    4 +-
 crypto/openssl/crypto/param_build.c                |    6 +-
 crypto/openssl/crypto/param_build_set.c            |    7 +-
 crypto/openssl/crypto/pkcs12/p12_decr.c            |    2 +-
 crypto/openssl/crypto/pkcs7/pk7_smime.c            |    2 +-
 crypto/openssl/crypto/rc2/rc2_skey.c               |  284 +-
 crypto/openssl/crypto/slh_dsa/slh_dsa_key.c        |    5 +-
 crypto/openssl/crypto/sm2/sm2_crypt.c              |   17 +-
 crypto/openssl/crypto/sm2/sm2_sign.c               |    7 +-
 crypto/openssl/crypto/threads_none.c               |   30 +-
 crypto/openssl/crypto/threads_pthread.c            |   36 +-
 crypto/openssl/crypto/threads_win.c                |   36 +-
 crypto/openssl/crypto/x509/v3_ist.c                |    6 +-
 crypto/openssl/demos/cipher/aeskeywrap.c           |  100 +-
 crypto/openssl/demos/cipher/ariacbc.c              |   20 +-
 crypto/openssl/demos/digest/EVP_MD_demo.c          |   73 +-
 crypto/openssl/demos/encrypt/rsa_encrypt.h         | 1638 +---
 crypto/openssl/demos/mac/cmac-aes256.c             |   56 +-
 crypto/openssl/demos/mac/hmac-sha512.c             |  144 +-
 .../demos/signature/EVP_EC_Signature_demo.h        |  772 +-
 crypto/openssl/doc/fingerprints.txt                |    3 +
 .../doc/internal/man3/ossl_rcu_lock_new.pod        |   86 +-
 crypto/openssl/doc/man1/openssl-format-options.pod |    4 +-
 crypto/openssl/doc/man1/openssl-pkcs8.pod.in       |    4 +-
 crypto/openssl/doc/man1/openssl-rehash.pod.in      |    6 +-
 crypto/openssl/doc/man1/openssl-s_client.pod.in    |   11 +-
 crypto/openssl/doc/man1/openssl-s_server.pod.in    |   19 +-
 crypto/openssl/doc/man1/openssl-smime.pod.in       |    7 +-
 crypto/openssl/doc/man3/BIO_s_bio.pod              |   83 +-
 crypto/openssl/doc/man3/BN_add.pod                 |    8 +-
 crypto/openssl/doc/man3/CMS_decrypt.pod            |    2 +-
 crypto/openssl/doc/man3/EVP_EncryptInit.pod        |    3 +-
 crypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod      |    6 +-
 crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod    |   18 +-
 crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod     |    5 +-
 crypto/openssl/doc/man3/PKCS7_decrypt.pod          |    5 +-
 .../doc/man3/SSL_CTX_set_session_cache_mode.pod    |    6 +-
 .../doc/man3/SSL_CTX_set_session_id_context.pod    |   28 +-
 .../SSL_CTX_set_tlsext_servername_callback.pod     |    8 +-
 crypto/openssl/doc/man3/d2i_X509.pod               |   40 +-
 crypto/openssl/doc/man7/EVP_CIPHER-AES.pod         |    6 +-
 crypto/openssl/doc/man7/openssl-env.pod            |    2 +
 crypto/openssl/doc/man7/provider-asym_cipher.pod   |    6 +-
 crypto/openssl/doc/man7/provider-signature.pod     |    3 +-
 crypto/openssl/fuzz/dtlsserver.c                   | 3407 +------
 crypto/openssl/fuzz/server.c                       | 2213 +----
 crypto/openssl/include/crypto/riscv_arch.h         |    4 +-
 crypto/openssl/include/internal/cryptlib.h         |    4 +-
 crypto/openssl/include/internal/quic_cfq.h         |    2 +-
 crypto/openssl/include/internal/quic_channel.h     |    8 +-
 crypto/openssl/include/internal/quic_fifd.h        |    2 +-
 crypto/openssl/include/internal/quic_stream_map.h  |    5 +-
 crypto/openssl/include/internal/rcu.h              |    9 +-
 crypto/openssl/include/openssl/bn.h                |    6 +-
 crypto/openssl/include/openssl/ssl.h.in            |    4 +-
 crypto/openssl/include/openssl/x509_acert.h.in     |   10 +-
 crypto/openssl/providers/defltprov.c               |   10 +-
 crypto/openssl/providers/fips-sources.checksums    |   66 +-
 crypto/openssl/providers/fips.checksum             |    2 +-
 crypto/openssl/providers/fips.module.sources       |    2 +-
 crypto/openssl/providers/fips/self_test_data.inc   |  203 +-
 .../ciphers/cipher_aes_gcm_hw_rv64i.inc            |    7 +-
 .../ciphers/cipher_aes_gcm_siv_hw.c                |    2 +-
 .../implementations/ciphers/cipher_aes_siv.c       |    2 +-
 .../implementations/encode_decode/ml_dsa_codecs.c  |  308 +-
 .../implementations/encode_decode/ml_dsa_codecs.h  |   12 +-
 .../implementations/encode_decode/ml_kem_codecs.h  |   12 +-
 .../providers/implementations/exchange/dh_exch.c   |    2 +-
 .../implementations/include/prov/implementations.h |    4 +-
 .../providers/implementations/keymgmt/ecx_kmgmt.c  |   46 +-
 .../implementations/keymgmt/ml_kem_kmgmt.c         |    8 +-
 .../providers/implementations/keymgmt/mlx_kmgmt.c  |   13 +-
 .../providers/implementations/macs/poly1305_prov.c |    8 +-
 .../providers/implementations/signature/rsa_sig.c  |   21 +-
 .../implementations/signature/slh_dsa_sig.c        |    7 +-
 crypto/openssl/ssl/quic/quic_ackm.c                |    4 +-
 crypto/openssl/ssl/quic/quic_cfq.c                 |    2 +-
 crypto/openssl/ssl/quic/quic_channel.c             |   18 +-
 crypto/openssl/ssl/quic/quic_channel_local.h       |    4 +
 crypto/openssl/ssl/quic/quic_fifd.c                |    2 +-
 crypto/openssl/ssl/quic/quic_impl.c                |   20 +-
 crypto/openssl/ssl/quic/quic_port.c                |   36 +-
 crypto/openssl/ssl/quic/quic_record_rx.c           |   10 +-
 crypto/openssl/ssl/quic/quic_record_shared.c       |  103 +-
 crypto/openssl/ssl/quic/quic_record_tx.c           |   62 +-
 crypto/openssl/ssl/quic/quic_rx_depack.c           |   12 +
 crypto/openssl/ssl/quic/quic_stream_map.c          |    7 +
 crypto/openssl/ssl/quic/quic_txp.c                 |    2 +-
 crypto/openssl/ssl/quic/uint_set.c                 |    1 +
 crypto/openssl/ssl/record/methods/ktls_meth.c      |   22 +-
 crypto/openssl/ssl/record/methods/tls_common.c     |   26 +-
 crypto/openssl/ssl/ssl_ciph.c                      |    6 +-
 crypto/openssl/ssl/ssl_rsa.c                       |    6 +-
 crypto/openssl/ssl/statem/extensions_cust.c        |    5 +-
 crypto/openssl/ssl/statem/extensions_srvr.c        |   17 +-
 crypto/openssl/ssl/statem/statem.c                 |   28 +-
 crypto/openssl/ssl/statem/statem_clnt.c            |    8 +-
 crypto/openssl/ssl/statem/statem_lib.c             |   40 +-
 crypto/openssl/ssl/statem/statem_srvr.c            |   15 +-
 crypto/openssl/ssl/t1_lib.c                        |   35 +-
 crypto/openssl/ssl/t1_trce.c                       |   43 +-
 crypto/openssl/test/asn1_decode_test.c             |   32 +-
 crypto/openssl/test/bad_dtls_test.c                |  193 +-
 crypto/openssl/test/bio_tfo_test.c                 |   16 +-
 crypto/openssl/test/build.info                     |    7 +
 crypto/openssl/test/chacha_internal_test.c         |   82 +-
 crypto/openssl/test/cipherlist_test.c              |   57 +-
 .../openssl/test/cms-msg/make_missing_kdf_der.py   |  137 +
 crypto/openssl/test/cms-msg/missing-kdf.der        |  Bin 0 -> 190 bytes
 crypto/openssl/test/cmsapitest.c                   |  188 +
 crypto/openssl/test/destest.c                      |  118 +-
 crypto/openssl/test/dsatest.c                      |  188 +-
 crypto/openssl/test/ectest.c                       |  511 +-
 crypto/openssl/test/endecode_test.c                |   35 +-
 crypto/openssl/test/enginetest.c                   |   13 +-
 crypto/openssl/test/evp_extra_test.c               |  451 +-
 crypto/openssl/test/evp_extra_test2.c              | 2438 +----
 crypto/openssl/test/evp_kdf_test.c                 |  420 +-
 crypto/openssl/test/evp_libctx_test.c              |  180 +-
 crypto/openssl/test/evp_pkey_provided_test.c       |   81 +-
 crypto/openssl/test/evp_skey_test.c                |   20 +-
 crypto/openssl/test/helpers/predefined_dhparams.c  |  525 +-
 crypto/openssl/test/hpke_test.c                    |  146 +-
 crypto/openssl/test/http_test.c                    |   62 +
 crypto/openssl/test/ideatest.c                     |   20 +-
 crypto/openssl/test/ml_kem_evp_extra_test.c        |   77 +-
 crypto/openssl/test/param_build_test.c             |   12 +-
 crypto/openssl/test/pbetest.c                      |  101 +-
 crypto/openssl/test/pkcs12_format_test.c           | 3105 +-----
 crypto/openssl/test/quic_record_test.c             | 9871 +++-----------------
 crypto/openssl/test/quic_txp_test.c                |   20 +-
 crypto/openssl/test/quic_wire_test.c               |   18 +-
 crypto/openssl/test/quicapitest.c                  |  150 +
 crypto/openssl/test/radix/quic_tests.c             |  193 +-
 crypto/openssl/test/radix/terp.c                   |    4 +-
 crypto/openssl/test/recipes/70-test_tls13ticket.t  |   26 +
 crypto/openssl/test/recipes/80-test_cms.t          |   38 +-
 crypto/openssl/test/siphash_internal_test.c        | 1922 +---
 .../test/smime-eml/pkcs7-empty-digest-set.eml      |   45 +
 crypto/openssl/test/sslapitest.c                   |  452 +-
 crypto/openssl/test/stack_test.c                   |   64 +-
 crypto/openssl/test/threadstest.c                  |   11 +-
 crypto/openssl/test/tls13tickettest.c              |  157 +
 crypto/openssl/test/x509_test.c                    |   18 +-
 crypto/openssl/util/missingcrypto.txt              |    4 -
 crypto/openssl/util/missingcrypto111.txt           |    4 -
 202 files changed, 7952 insertions(+), 35616 deletions(-)

diff --cc crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
index 27233d03af7b,372778e424e7..372778e424e7
mode 100755,100644..100755
--- a/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
+++ b/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
diff --cc crypto/openssl/test/cms-msg/make_missing_kdf_der.py
index 000000000000,5b3fc0f6eeda..5b3fc0f6eeda
mode 000000,100755..100755
--- a/crypto/openssl/test/cms-msg/make_missing_kdf_der.py
+++ b/crypto/openssl/test/cms-msg/make_missing_kdf_der.py
diff --cc crypto/openssl/test/cms-msg/missing-kdf.der
index 000000000000,3db602e47c23..3db602e47c23
mode 000000,100644..100644
Binary files differ
diff --cc crypto/openssl/test/recipes/70-test_tls13ticket.t
index 000000000000,0fb782bd0d84..0fb782bd0d84
mode 000000,100644..100644
--- a/crypto/openssl/test/recipes/70-test_tls13ticket.t
+++ b/crypto/openssl/test/recipes/70-test_tls13ticket.t
diff --cc crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml
index 000000000000,a6db2c38adfa..a6db2c38adfa
mode 000000,100644..100644
--- a/crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml
+++ b/crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml
diff --cc crypto/openssl/test/tls13tickettest.c
index 000000000000,9470f4169633..9470f4169633
mode 000000,100644..100644
--- a/crypto/openssl/test/tls13tickettest.c
+++ b/crypto/openssl/test/tls13tickettest.c

From nobody Wed Jun 10 15:45:58 2026
X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gb99L2dmvz6gfsx
	for <dev-commits-src-main@mlmmj.nyi.freebsd.org>; Wed, 10 Jun 2026 15:45:58 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4gb99L26Bbz3f89
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:45:58 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1781106358;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cBb+Wfa0iUdRFDu7+b8/wzT2fAvmblO7BhnTbjhTJqc=;
	b=djp1CG3uHsb69CPWVUEoanKKWMbqSIEtAnxf4pJZNTV9805zSZ47uk73HdbrE4YH+UyB3t
	uvVKVAW1FZkNCg1Yacn94H/BlhMlG6U3q5u9WdapZidGgBqKZ1tHL8FPJHy61x1FRsrktu
	nM5Z9X8XOW7cKSmSCA/yO0TnmNpVQ6RXpP5L+E9VeWJTSbMMWkbEKZFMJLFet8XgQI8na3
	I4/5tgX4G7kLYt5HpM1oirragNb7QRm18XtZ77QhT+0O4ZQIm6h0S8XiOBA2JNDclZGADl
	g0CcT951TfN12yH1+97EuBXvSx0bYn7m+wdOUk4xIK9fr18x88TUplPuEgWvHg==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781106358; a=rsa-sha256; cv=none;
	b=Rorn8CvxVByWyJYB7wUVbsSM+TTOG+iqDtYIpLkDpN0gMQNwETF8WMcfTAGAgGElWmOK2Y
	tmflBPqt+Sha5i5WYXhKq0MLeH2AdiMBO+qPYicrJ8K8aDpsD6ktIhvCh3dugpUJLiHTE/
	LyyTk7w3Gg4K0K0PkRF8biAzIajNSRi5OjaSZV0ageiba90RCBy5WXqA24tmHtDzvUlimz
	qzBMdIg4FnHDw0uugGDKLw165WMXraPgzbHszi33YVntc+IfBzUDz7SNJuUUXfpTU5j/Pf
	Q+iz8jg4wpLMaJTPU+AaSrvshNaWkfTJU2QN4mrDbj7J+OKbqeqJDafsCtGv4Q==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1781106358;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cBb+Wfa0iUdRFDu7+b8/wzT2fAvmblO7BhnTbjhTJqc=;
	b=q/YpUKvNgb1mcojhXfF7sq1aZfYL4tllvuuTosyoydyVOc+j1rqh8lBSA1035q8nwy5AL1
	d1hmeRW2Cy6wbHHrEfYDJLtt9rcubF7fUeLbum9+sSu7IICNRq4eUccrqFq4c7rhNaWb9U
	LH/iMjUaO1FfrhGpL/jTz2xvS/dJuUUQSuh+uJsHQl9KT0ksfRws6M+Ud9C09uRR2HoIsl
	UrfhusDn0AEe7VRz0Aa5oAzTDS8ri34NGkxP8WFHrmZqbwvndwAHc/DRmZbVOuB3CysSE+
	7di763Hzzjq+b0vSilKXgmk1NtC/Zsm3cZRS1CSvl51prJ0R0GB4SYmiKJA5vQ==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gb99L1Gjqz1QVs
	for <dev-commits-src-main@FreeBSD.org>; Wed, 10 Jun 2026 15:45:58 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from git (uid 1279)
	(envelope-from git@FreeBSD.org)
	id 3112e
	by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org);
	Wed, 10 Jun 2026 15:45:58 +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: 6365c45d951d - main - elf_common: Add FDO package metadata note type
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: 6365c45d951dd50ca411160b03c3a0427bd54449
Auto-Submitted: auto-generated
Date: Wed, 10 Jun 2026 15:45:58 +0000
Message-Id: <6a2986b6.3112e.3f5b47b4@gitrepo.freebsd.org>

The branch main has been updated by emaste:

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

commit 6365c45d951dd50ca411160b03c3a0427bd54449
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-06-10 13:21:06 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-06-10 15:45:34 +0000

    elf_common: Add FDO package metadata note type
    
    Reviewed by:    fuz
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57525
---
 sys/sys/elf_common.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h
index e17b2bfb3afa..32621041cb44 100644
--- a/sys/sys/elf_common.h
+++ b/sys/sys/elf_common.h
@@ -866,6 +866,9 @@ typedef struct {
 #define	NT_ARM_SVE	0x405	/* ARM SVE registers */
 #define	NT_ARM_ADDR_MASK	0x406	/* arm64 address mask (e.g. for TBI) */
 
+/* FDO (freedesktop.org) note types. */
+#define	NT_FDO_PACKAGING_METADATA		0xcafe1a7e
+
 /* GNU note types. */
 #define	NT_GNU_ABI_TAG		1
 #define	NT_GNU_HWCAP		2

