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 ; 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 ; 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 ; 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 Subject: git: 5f84c6db7aa1 - main - fwget: amdgpu: Add needed package for Granite Ridge List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-08 07:28:00 +0000 Commit: Emmanuel Vadot 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 ; 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 ; 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 ; 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 Subject: git: 035e87247f84 - main - pfsync: remove invalid panic List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-06 13:44:17 +0000 Commit: Kristof Provost 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-05-29 06:17:39 +0000 Commit: Cy Schubert 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 ; 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 ; 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 ; 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 Subject: git: efb5c07f91c5 - main - krb5: Fix null dereference in SPNEGO token processing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-02 17:57:17 +0000 Commit: Cy Schubert 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 ; 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 ; 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 ; 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 Subject: git: fce16f60de97 - main - krb5: Fix reachable assert when importing krb5 names List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-02 18:09:43 +0000 Commit: Cy Schubert 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 ; 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 ; 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 ; 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 From: Adrian Chadd 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-08 14:30:29 +0000 Commit: Adrian Chadd 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?= To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jessica Clarke writes: > Dag-Erling Sm=C3=B8rgrav writes: > > commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d > > Author: Dag-Erling Sm=C3=B8rgrav > > AuthorDate: 2026-06-05 15:53:25 +0000 > > Commit: Dag-Erling Sm=C3=B8rgrav > > 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 ; 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 ; 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 ; 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\)) Subject: Re: git: ddf6fad0295a - main - etcupdate: Make nobuild the default From: Jessica Clarke In-Reply-To: <86ecihqdbj.fsf@ltc.des.dev> Date: Mon, 8 Jun 2026 16:13:09 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: 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?= 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 = wrote: >=20 > Jessica Clarke writes: >> Dag-Erling Sm=C3=B8rgrav writes: >>> commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d >>> Author: Dag-Erling Sm=C3=B8rgrav >>> AuthorDate: 2026-06-05 15:53:25 +0000 >>> Commit: Dag-Erling Sm=C3=B8rgrav >>> 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 ; 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 ; 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 ; 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 Subject: git: 256fa87c9fc3 - main - netgraph: remove remnants of IPPROTO_DIVERT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-08 16:35:07 +0000 Commit: Gleb Smirnoff 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 ; 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 ; 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 ; 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 Subject: git: 0b269737f9ca - main - imgact_elf: handle unaligned phdrs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 01:22:51 +0000 Commit: Konstantin Belousov 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 ; 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 ; 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 ; 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 ; 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <6a21bc18.2040e.38ce0e7e@gitrepo.freebsd.org> In-Reply-To: <6a21bc18.2040e.38ce0e7e@gitrepo.freebsd.org> From: Nuno Teixeira Date: Mon, 8 Jun 2026 20:33:10 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: AVVi8Ce5xzbyZMryNCGXAhkVct0cEBnvUa0kZtd6h_UQrhADEPz-l-lk9hrAe6w Message-ID: Subject: Re: git: 453968c78d27 - main - uipc_usrreq: revert addition of EMPTYPATH for bindat(2) To: Konstantin Belousov 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 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 > AuthorDate: 2026-06-04 17:26:09 +0000 > Commit: Konstantin Belousov > 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: Web: https://FreeBSD.org --000000000000574e000653c31544 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Konstantin.

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

Any clues ho= w to deal with it?

Thanks,

Konstantin Bel= ousov <kib@freebsd.org> escrev= eu (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=3D453968c78d27ed5c90562a1178f34fe8d616bf40
commit 453968c78d27ed5c90562a1178f34fe8d616bf40
Author:=C2=A0 =C2=A0 =C2=A0Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-06-04 17:26:09 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-04 17:55:11 +0000

=C2=A0 =C2=A0 uipc_usrreq: revert addition of EMPTYPATH for bindat(2)

=C2=A0 =C2=A0 The caller wants the parent vnode, which cannot be provided f= or emptypath
=C2=A0 =C2=A0 lookups.

=C2=A0 =C2=A0 Reported and reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0markj
=C2=A0 =C2=A0 Fixes:=C2=A0 12c590a9abd7 ("bindat(2)/connectat(2): allo= w implicit EMPTYPATH for unix domain sockets")
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation
=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 1 week
=C2=A0 =C2=A0 Differential revision:=C2=A0 https://reviews.freebsd= .org/D57448
---
=C2=A0lib/libsys/open.2=C2=A0 =C2=A0 =C2=A0 | 4 +---
=C2=A0sys/kern/uipc_usrreq.c | 5 ++---
=C2=A02 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 descripto= r is limited to
=C2=A0the following descriptor-level operations:
=C2=A0.Pp
=C2=A0.Bl -tag -width __acl_aclcheck_fd -offset indent -compact
-.It Xr bindat 2
-for unix domain socket
-.Pq see Xr unix 4
=C2=A0.It Xr connectat 2
=C2=A0for unix domain socket
+.Pq see Xr unix 4
=C2=A0.It Xr fcntl 2
=C2=A0but advisory locking is not allowed
=C2=A0.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 sockaddr = *nam, struct thread *td)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 buf[namelen] =3D 0;

=C2=A0restart:
-=C2=A0 =C2=A0 =C2=A0 =C2=A0NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOC= KPARENT | NOCACHE |
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0EMPTYPATH, UIO_SYSSPACE, buf, fd,= cap_rights_init_one(&rights,
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0CAP_BINDAT));
+=C2=A0 =C2=A0 =C2=A0 =C2=A0NDINIT_ATRIGHTS(&nd, CREATE, NOFOLLOW | LOC= KPARENT | NOCACHE,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0UIO_SYSSPACE, buf, fd, cap_rights= _init_one(&rights, CAP_BINDAT));
=C2=A0/* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO's */ =C2=A0 =C2=A0 =C2=A0 =C2=A0 error =3D namei(&nd);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (error)



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--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 ; 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 ; 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 ; 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 Subject: git: 888d9236e224 - main - netlink: Use unsigned type in nl_process_nbuf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-05 19:16:53 +0000 Commit: Ed Maste 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-07 07:28:29 +0000 Commit: Konstantin Belousov 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 #include #include +#include #include #include @@ -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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-05 20:21:59 +0000 Commit: Konstantin Belousov 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 #include #include +#include #include #include #include @@ -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 #include #include +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-05 21:00:07 +0000 Commit: Ed Maste 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 ; 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 ; 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 ; 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 Subject: git: ea3426bc80aa - main - nuageinit: Create parent directories in write_files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-08 21:05:09 +0000 Commit: Jesรบs Daniel Colmenares Oviedo 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 .\" Copyright (c) 2025 Jesรบs Daniel Colmenares Oviedo .\" -.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 ; 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 ; 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 ; 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 Subject: git: 471fdd91d915 - main - linux: Fix sockopt copyout List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-08 21:19:34 +0000 Commit: Chuck Tuffli 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 ; 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 ; 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 ; 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 Subject: git: 05f132adc530 - main - mount_udf.8: Alphabetize and align options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:22:32 +0000 Commit: Alexander Ziaee 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 ; 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 ; 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 ; 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 Subject: git: 5bd78cfc8003 - main - auditd: Fix signal handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:45:34 +0000 Commit: Dag-Erling Smรธrgrav 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 +#include #include #include #include @@ -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 #include +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 Subject: git: acf0be6e5192 - main - ip6: Drop dead code in ip6_input_hbh() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:45:44 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:45:54 +0000 Commit: Mark Johnston 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 #include #include +#define _WANT_KERNEL_ERRNO +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 Subject: git: 2ff705f32a20 - main - libalias: Serialize updates to the global instance list List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:46:32 +0000 Commit: Mark Johnston 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 #include #include +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 Subject: git: c491c2db2f37 - main - iconv.3: Fix formatting of the error section List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-08 22:46:08 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 Subject: git: c3d8aca1d43e - main - net80211: add DEFERRED_WORK.md List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 01:00:36 +0000 Commit: Adrian Chadd 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 To: Robert Clausecker Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi Subject: Re: git: 5f732742ad5b - main - libc: Add free_sized() and free_aligned_sized() as per C23 Message-ID: References: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <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 > AuthorDate: 2026-05-16 18:36:17 +0000 > Commit: Robert Clausecker > 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 04:26:07 +0000 Commit: Adrian Chadd 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 ; 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 ; 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 ; 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 Subject: git: 62c1865c9aae - main - net80211: delete the deprecated ieee80211_wepkey struct List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 04:27:12 +0000 Commit: Adrian Chadd 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 ; 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 ; 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 ; 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 ; 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 ; 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 ; 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 Subject: git: 9c0489508695 - main - libc: Use slow path in fenv in C++ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-04 08:58:28 +0000 Commit: ShengYi Hung 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: 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//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: 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//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: 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//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: 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//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: 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//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 ; 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 ; 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 ; 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 Subject: git: 2934783fa80d - main - usb: Add missing unsetup while detaching uchcom List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-05-29 15:09:52 +0000 Commit: ShengYi Hung 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 ; 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 ; 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 ; 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 Subject: git: 2ab18d3286f5 - main - examples: Update COPTFLAGS in make.conf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-09 11:29:13 +0000 Commit: Dag-Erling Smรธrgrav 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 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 ; 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 ; 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 ; 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 Subject: git: 97edd37e6279 - main - cap_net: add tests for limits drop List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 11:34:13 +0000 Commit: Mariusz Zaborski 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 +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-05-15 14:32:03 +0000 Commit: Tai-hwa Liang 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: on usbus0 miibus0: on axge0 rgephy0: 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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?= , Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@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 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 writes: >> Dag-Erling Smรธrgrav writes: >>> commit ddf6fad0295aa92af5eed2a4b2fa0bd02f47d94d >>> Author: Dag-Erling Smรธrgrav >>> AuthorDate: 2026-06-05 15:53:25 +0000 >>> Commit: Dag-Erling Smรธrgrav >>> 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 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 , Konstantin Belousov Cc: Robert Clausecker , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi References: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: 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 >>> AuthorDate: 2026-05-16 18:36:17 +0000 >>> Commit: Robert Clausecker >>> 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 ; 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 ; 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 ; 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 Subject: git: 439b219fed3e - main - devd/snd.conf: Handle absent control device properly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 15:10:58 +0000 Commit: Christos Margiolis 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 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 14:04:18 +0000 Commit: Baptiste Daroussin 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 --- 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 <; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 14:16:44 +0000 Commit: Baptiste Daroussin 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 <; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 14:19:56 +0000 Commit: Baptiste Daroussin 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 14:24:56 +0000 Commit: Baptiste Daroussin 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 ; 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 ; 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 ; 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 Subject: git: c289291a6736 - main - tty: Add sysctl knob to globally disable TIOCSTI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-25 13:59:40 +0000 Commit: Ed Maste 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 ; 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 ; 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 ; 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 Subject: git: c94b8eee5bcb - main - vt: Rename sysctl to security.bsd.allow_tiocsti List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-09 18:26:42 +0000 Commit: Ed Maste 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 ; 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 ; 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 ; 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 Subject: git: bf1e2c07977d - main - thr_kill2: Respect p_cansignal() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-25 15:12:57 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 From: Mark Johnston 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-03 23:22:00 +0000 Commit: Mark Johnston 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 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 #include #include +#include #include #include #include @@ -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 ; 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 ; 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 ; 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 From: Mark Johnston 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-27 15:50:33 +0000 Commit: Mark Johnston 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 +#include + +#include +#include +#include +#include + +#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 ; 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 ; 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 ; 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 Subject: git: 1b775b9ea4c1 - main - sound: Fix software buffer lifetime issues List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-01 21:57:40 +0000 Commit: Mark Johnston 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 #include #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 #include #include #include #include #include +#include #include #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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-29 20:12:24 +0000 Commit: Mark Johnston 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 Reported by: Maik Mรผnch 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 ; 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 ; 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 ; 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 Subject: git: d39be1b1b50d - main - linux: Correct the issetugid check in copyout_auxargs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-29 21:41:35 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 From: Mark Johnston Subject: git: 9c0a62df50de - main - arm64: Workaround the following errata List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-05-28 09:25:30 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-02 20:29:00 +0000 Commit: Mark Johnston 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 +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +/* + * 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 ; 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 ; 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 ; 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 From: Mark Johnston Subject: git: e508c3431d8e - main - openssl: Fix multiple vulnerabilities List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-04-29 08:23:24 +0000 Commit: Mark Johnston 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 returned if no recipient encrypted key can be decrypted B generating a random content encryption key. Applications should use this flag with B especially in automated gateways as it can leave them -open to attack. +open to attack. See L 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, L +L, L, L =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 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 parameter. If the B flag is set MIME headers for type B are deleted @@ -43,7 +51,7 @@ mentioned in PKCS7_sign() also applies to PKCS7_verify(). =head1 SEE ALSO -L, L +L, L, L =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 ; 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 ; 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 ; 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 From: Mark Johnston Subject: git: 980ba4177b69 - main - ldns: Fix query response validation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-07 15:09:39 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 Subject: git: 8f9aabbdbcd5 - main - OpenSSL: update MAINTAINERS/CODEOWNERS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 19:34:41 +0000 Commit: Enji Cooper 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 ; 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 ; 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 ; 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 From: Mitchell Horne 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-05 23:48:53 +0000 Commit: Mitchell Horne 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 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, ®); + 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 ; 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 ; 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 ; 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 Subject: git: 6bd97b5f3778 - main - tests.7: Remove an unused configuration variable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-09 21:00:23 +0000 Commit: Mark Johnston 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-09 05:27:49 +0000 Commit: Konstantin Belousov 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 ; 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 ; 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 ; 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 Subject: git: 85a65e393092 - main - proc: add tree ref count List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-06 18:02:29 +0000 Commit: Konstantin Belousov 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-05 23:57:16 +0000 Commit: Konstantin Belousov 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 #include #include +#include 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-09 22:31:40 +0000 Commit: Jamie Gritton 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 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 To: John Baldwin Cc: Robert Clausecker , Robert Clausecker , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi Subject: Re: git: 5f732742ad5b - main - libc: Add free_sized() and free_aligned_sized() as per C23 Message-ID: References: <6a25dc0b.4729a.7f7225a7@gitrepo.freebsd.org> <15221817-b23e-4cd2-94a9-edff4d06bb3b@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <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 > > > > AuthorDate: 2026-05-16 18:36:17 +0000 > > > > Commit: Robert Clausecker > > > > 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-05-26 14:35:42 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 Subject: git: 925ca9b8355d - main - linux: Add TCP_INFO support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 00:22:49 +0000 Commit: Chuck Tuffli 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 ; 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 ; 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 ; 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 Subject: git: c85542b92acd - main - GCE: Apply public-image label on GCE images List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 02:33:03 +0000 Commit: Xin LI 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-09 21:33:56 +0000 Commit: Konstantin Belousov 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-10 10:29:05 +0000 Commit: Konstantin Belousov 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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: 9a6a2e4b7d20 - main - Warn if hostname is empty List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-05-18 00:19:06 +0000 Commit: Warner Losh 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-06-22 02:39:30 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: 6b61852b4f00 - main - mac_portacl: do not reject unspecific family directly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-04-12 02:28:52 +0000 Commit: Warner Losh 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-04-12 03:05:47 +0000 Commit: Warner Losh 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 +#include +#include +#include +#include +#include +#include +#include + +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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-04-10 02:33:21 +0000 Commit: Warner Losh 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 + +#include +#include +#include +#include + +#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 + +#include + +#include +#include +#include +#include +#include +#include + +#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 + +#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 +__RCSID("$NetBSD: t_fpsetround.c,v 1.6 2011/10/01 17:46:10 christos Exp $"); + +#include +#include +#include +#include +#include + +#include + +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 + +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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-04-10 04:34:47 +0000 Commit: Warner Losh 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 #include -#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 #include -#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 +#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 +#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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: 925f53682469 - main - improve renice user error messages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2025-07-15 18:01:28 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:25:44 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: 82780af43b11 - main - du(1): document --si option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/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 AuthorDate: 2026-03-27 04:30:11 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:23:47 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: e7bdf44da75a - main - bsdconfig(8): add missing vt(4) console commands List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:25:38 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:25:41 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh Subject: git: 3a71a24bbeae - main - etherswitchcfg(8): document atu commands List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:25:27 +0000 Commit: Warner Losh 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 : clear ATU entries for a specific port Also add atu to the SYNOPSIS section. PR: 275413 Signed-off-by: Kit Dallege 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 04:25:29 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 From: Warner Losh 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-03-27 01:57:10 +0000 Commit: Warner Losh 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 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 13:44:10 +0000 Commit: John Baldwin 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 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 13:44:10 +0000 Commit: John Baldwin 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 ; 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 ; 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 ; 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 Subject: git: 7e971892dfc5 - main - ppp: Permit CHAP challenges up to 255 bytes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 13:44:10 +0000 Commit: John Baldwin 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 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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 13:44:10 +0000 Commit: John Baldwin 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 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 ; 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 ; 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 ; 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 Subject: git: d08cb1dc1748 - main - watchdog: Fix a couple type issues List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-10 13:50:14 +0000 Commit: Justin Hibbits 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 ; 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 ; 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 ; 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 Subject: git: 4bdcff554368 - main - powerpc/booke: Add watchdog driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-10 03:09:10 +0000 Commit: Justin Hibbits 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 #include +#include +#include #include #include +#include #include #include @@ -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 ; 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 ; 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 ; 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 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 List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 15:32:04 +0000 Commit: Enji Cooper 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 ; 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 ; 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 ; 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 Subject: git: 1523ccfd9c8c - main - MFV: openssl 3.5.7 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 AuthorDate: 2026-06-10 15:25:28 +0000 Commit: Enji Cooper 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 ; 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 ; 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 ; 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 Subject: git: 6365c45d951d - main - elf_common: Add FDO package metadata note type List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 AuthorDate: 2026-06-10 13:21:06 +0000 Commit: Ed Maste 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 From nobody Wed Jun 10 17:58: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 4gbD626zgQz6gv4V for ; Wed, 10 Jun 2026 17:58: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 4gbD626Wv7z3trt for ; Wed, 10 Jun 2026 17:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781114298; h=from:from:reply-to:subject:subject: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=uelsww8ZCSjoXJUtRy465mvjAhFSGtQlKenq1mL+RH0=; b=DcCEC+wGvbLGHy4Zhv/oDRWNXae5JrwuV9IsAYquKFUqEoUQghOLmDeNtNtqJT5GZx+0y3 u6K2ov2NLAFXOV/yn1uxRk+KdlF/z9jx3a/8M9Zasv7CDsJUpSPLxJHhxO1Z4RCyUvgvi1 LmMgNrY/5gJjjaBNrNHhfJfH5+QkvlYLL6j1EWc4Btc/vWOEaizcs5tBF3GCoX6s0Qbas8 /qydaF0hazDy1i7VPd2ZFhQLwHNuVocKGb3aUW2/WiKJLzCYXp8LDeGx9cUey4cy3k9PoH BHF+ST04U2cx0VLRmHbhB+modLU+btBgDKTcsDwuungizAcOsv6o6dKBgYy2RA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781114298; a=rsa-sha256; cv=none; b=cQD48ku+3hs3oCO3E4U5Y82Im18Iae/Jj5z3hCGqnI+kRo8DjzkXqD+/i9HfwaZP4uJPSB mPJQw+a7Uo/DmKKNbYUyED4t+3jZq4Nt4OLMg9/0C9oLT0jMWr41brp3JEK/6Ud0hGgkr+ jRAKmHf5aNWZ/sLslKRXNCghI5IOsXKgvf+oGtA0Aehuub9HBpCGvM0DHwkHRunbX/0/5H te3mHCmJblgrUHBnzEM/IBM2M6tNgNKKTsCpmxWbwn0uJDzkXrUKqGhIBzKNSbOc8/BQlc YemI4j5/3iB1TZkJlZ+35XvZ7U9/doRIHYKQLTpEeqNjn/zLazzxnGfHSpfNug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781114298; h=from:from:reply-to:subject:subject: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=uelsww8ZCSjoXJUtRy465mvjAhFSGtQlKenq1mL+RH0=; b=X3VDoZDYvI4krlQFgJodBEkGjZpJfE475kyWEnZ8AT6VcPeLhfGW2m9JEvxbKiPfNVBCSI p2QQ9TlFpFAglPggUi6F63MOfEDvB7Spsm+tpJGIdDGdSKSHMVaQZioGoBmVYvVxF84NZT iSrDpUtIjPz9Q96ZM/vhIR1AmlhLxXPBGbc8mIDjxuAcFSS52wPHe2L8JzCAJjK9hlZ2G0 0BjW5G9ewwM/roGBN3tfFBJen7XmrOi+dpV+LtEyAyYr4MemcSM69CcIoneQZuvoDoHWtK TzwfnuDOEQhSDAnLFhwd1ZQ1qF+5CWqh0VYGZrbQ64B1/fP4Li1Y31X+MdkFog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gbD625Xrwz10Q for ; Wed, 10 Jun 2026 17:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa94 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 10 Jun 2026 17:58:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Faraz Vahedi From: Robert Clausecker Subject: git: 694baf88c2ae - main - libc: Suppress content for C23 and later List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 694baf88c2ae5957fdb24ed163993109987e1ef9 Auto-Submitted: auto-generated Date: Wed, 10 Jun 2026 17:58:18 +0000 Message-Id: <6a29a5ba.3fa94.3c1d7971@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=694baf88c2ae5957fdb24ed163993109987e1ef9 commit 694baf88c2ae5957fdb24ed163993109987e1ef9 Author: Faraz Vahedi AuthorDate: 2026-05-20 10:06:16 +0000 Commit: Robert Clausecker CommitDate: 2026-06-10 16:14:32 +0000 libc: Suppress content for C23 and later C23 deprecates and specifies that the header shall provide no content (ยง7.15.1). Signed-off-by: Faraz Vahedi Pull Request: https://github.com/freebsd/freebsd-src/pull/2223 MFC after: 1 month Reviewed by: imp, fuz --- include/stdalign.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/stdalign.h b/include/stdalign.h index 00ae5677f449..1b439565f588 100644 --- a/include/stdalign.h +++ b/include/stdalign.h @@ -26,6 +26,8 @@ * SUCH DAMAGE. */ +#if __STDC_VERSION__ < 202311L + #ifndef __alignas_is_defined #define __alignas_is_defined 1 @@ -45,3 +47,5 @@ #endif #endif /* !__alignof_is_defined */ + +#endif /* __STDC_VERSION__ < 202311L */ From nobody Wed Jun 10 17:58: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 4gbD6673PCz6gtwy for ; Wed, 10 Jun 2026 17:58:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbD665ltDz3vLK for ; Wed, 10 Jun 2026 17:58:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781114302; h=from:from:reply-to:subject:subject: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=JSyH+1BQx2iypQrYQmorEaWK5t4huBwdsqtNaRb9xIk=; b=xFBgCCsENSUTDkW7LBCCw2AvbWmGn16BGoGNda7znvOUeowHg1jEvPQ90Bz0GyB1hULgYV DEGFlcaildjo6fZAcpzYqc5ewUZ3o/dNn2IgJ34uD38VqRqXdSZymYvUSrBgw2NcNlPFuL xg4r48Xi/x5nuxCIdTF3fBYFyX/+Iiv5QTdWn6ev3quh7KPTdMNwtie9dAwIro0VStwC8S n6h9ofH1tfe4LUVbuEj4UAs94WAsG38nMf4wuEoGmk/F9UzOlCNDqGVfwyNA/P20JVHnVi E7eE5tAfP2aL2MJi7fGwM6ExLMacUOvEtjyZbpKhhQ6ao4OVnFt34a+NOFe1xg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781114302; a=rsa-sha256; cv=none; b=lTdUKawlCyd96ICGpGzWeuMnycVeJ504P1DpEEN2HyOkSAlXy5ALvbRMjrOWLpWNWen0Uq LQL+pK8PPEzX2zWej8ns7yWixAY5IuAKOyrdltu/zvGsNwhVF+g0ppJbfD1LUMSog1p0ur pv3EELtTYDGWz8ZUJQE31bVpYwoHC5IctAI9CrkcFuPziwvqQbb3snObHb9cMMcuW2t3Xc xdxnrAfnzsP2WLQJY0/pRoHMSBM4pNMWrpIFaD+egw+2w5X+i5X+Pxu8w2tdofO76kJq3F VdU9HZA7NFYH6VLkpxbZ5lWosO77nUjGShKdLLxh/UPbR4A51RiyKs/jhKjokg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781114302; h=from:from:reply-to:subject:subject: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=JSyH+1BQx2iypQrYQmorEaWK5t4huBwdsqtNaRb9xIk=; b=ZkmKlCUsgu/8bhkCkHdGpfq1PCgMm3juOFV4WO6rDP+5AFCOI6IFilkjrpPicslssP9nb2 lH6xGArG1QyNbJS9BVF8YkT3EB9xwRcdAFlCNaf/oj7aQfcmvEzsGKq5608o3MSIRN1clN d1cfZzLo2M9yo/Q0UWiJ61gcC1EuEONfx6cv5ESZ/v52TzB5sQr4P+t2HxYPa6cZwlaK3P jHJJwd99OdFqWvbAW7WDtufXKCXsgdyfU929J8XUAJWZm7NI+cD9PebS1vP64XQIbBOvrq ogn9REd/4dEa/bURjuyFjvSJU8AIFmQ9cErWJGMp8ukSWWXA+ik/QVCM4S/uqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gbD665JLcznm for ; Wed, 10 Jun 2026 17:58:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fa1d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 10 Jun 2026 17:58:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Faraz Vahedi From: Robert Clausecker Subject: git: 48d20fd1cf90 - main - libc: Fix assert() sanitiser for C++ contextual bool conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48d20fd1cf90179e778c6155900cbed2be140273 Auto-Submitted: auto-generated Date: Wed, 10 Jun 2026 17:58:17 +0000 Message-Id: <6a29a5b9.3fa1d.2a738968@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=48d20fd1cf90179e778c6155900cbed2be140273 commit 48d20fd1cf90179e778c6155900cbed2be140273 Author: Faraz Vahedi AuthorDate: 2026-06-06 11:38:47 +0000 Commit: Robert Clausecker CommitDate: 2026-06-10 16:14:32 +0000 libc: Fix assert() sanitiser for C++ contextual bool conversion Replace the `(bool(*)(bool))` probe in `__assert_sanitize()` with an unevaluated conditional expression, so types with `explicit operator bool()` that require a contextually converted constant expression of type `bool` are handled correctly. Ergo, arity check is now performed separately via `__assert_sanitize_arity()`, a unary template whose parameter pack must bind to exactly on argument after `__VA_ARGS__` is substituted into the call. Also align NDEBUG with C23 requirements. Reported by: dim, aokblast Signed-off-by: Faraz Vahedi Reviewed by: aokblast, fuz MFC after: 1 week Fixes: 867b51452ea78ece0b312a387e63fdbc2a11056a Pull Request: https://github.com/freebsd/freebsd-src/pull/2265 --- include/assert.h | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/include/assert.h b/include/assert.h index d4c9627bf3ea..afbf2c1092e0 100644 --- a/include/assert.h +++ b/include/assert.h @@ -46,42 +46,22 @@ #undef __assert_unreachable #ifdef NDEBUG -#define assert(e) ((void)0) -#define _assert(e) ((void)0) +#define assert(...) ((void)0) +#define _assert(...) ((void)0) #if __BSD_VISIBLE #define __assert_unreachable() __unreachable() #endif /* __BSD_VISIBLE */ #else #ifdef __cplusplus -#if __cplusplus < 202002L -/* - * C++ modes prior to C++20 cannot simultaneously satisfy all three - * desirable properties of the sanitiser: - * - * Approach No double-eval Lambda support Arity check - * ----------------------------- -------------- -------------- ----------- - * sizeof(cast(expression)) yes no yes - * static_cast(expression) no yes no - * (void)bool(expression) no yes no - * - * NOTE: C++20 introduced lambdas in unevaluated contexts; see P0315R4. - * - * Since no approach satisfies all three below C++20, the least harmful - * choice is to forgo the check entirely rather than silently break one - * of the remaining guarantees. - * - */ -#define __assert_sanitize(...) ((void)0) -#else -#define __assert_sanitize(...) (void)sizeof(((bool(*)(bool))0)(__VA_ARGS__)) -#endif /* __cplusplus < 202002L */ +#define assert(...) ((void)(bool(__VA_ARGS__) ? ((void)0) : \ + __assert(__func__, __FILE__, __LINE__, \ + #__VA_ARGS__))) #else -#define __assert_sanitize(...) (void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)) -#endif /* __cplusplus */ -#define assert(...) (__assert_sanitize(__VA_ARGS__), \ - (__VA_ARGS__) ? (void)0 : \ - __assert(__func__, __FILE__, \ +#define assert(...) ((void)sizeof(((_Bool(*)(_Bool))0)(__VA_ARGS__)), \ + (__VA_ARGS__) ? (void)0 : \ + __assert(__func__, __FILE__, \ __LINE__, #__VA_ARGS__)) +#endif /* __cplusplus */ #define _assert(...) assert(__VA_ARGS__) #if __BSD_VISIBLE #define __assert_unreachable() assert(0 && "unreachable segment reached")