From nobody Mon May 4 00:15:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g82HK0VyTz6bykv for ; Mon, 04 May 2026 00:15: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 4g82HJ6D1pz3qmx for ; Mon, 04 May 2026 00:15:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777853756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eB+Rr6emVngrFUAewnSS7ObD/oQ4AB6IusSvnq2iV9M=; b=RfVyqJ++WQntNougSe7FHTaSwbhok9Li2mbTmzmVod73e5yIooonTeCTdsYHBM7OBWbQJf jklpUUnv0LOc0ZwPzTQsRdN4JUqi3NnHSkSmQYDi2vdqjvGVZqDSmehxEt3qfxIFM9o6Vv U9eofF5WdZRT+lBt4sgeqEhTbCr/9BwzgIDYfZYpjfL/1XyACE4GkiVH+CSrW+ebzI/UKd 8B62kdFDIgNPZizo1OXtAP7F4A1EwLPKqXxoYez+qDgnFe0VEy8JTg+GpkfkeFzp6oNwGu Ple2y2AtIN4aBI2oupcdNrhiwYlAfmB7tljJFACwPySAEdwwaGk5V8nhI+IlOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777853756; a=rsa-sha256; cv=none; b=Ioy8hSizpNowuax0r2aquCsNVtnJ17FjHEaDA8bzMYzmneeX2JBkkbGkZv25rMfCpx79EH h6+wDi+ANgL9F26rUqKWEsxcpbz7Ape+UAptw6uLBo7QFN7HK+e8G/zFP2L4agLvd84Fk/ CN8aa2Lg4SER9L1GjACNFwtFZEdkWa7+EgtC44HvVhXBXBnKkXCSPuK/baCeX4jRyLUP7C IXDZOEjR51Rg/jmioWcE/FWpXeGiI6xz3gs3EJUZF8zVrf90DyeQoGFGqcUrAmhw4fCB6P nvqzXK7pn0+Eo3Y39jy9y3F7na+vjDkhGUAmKFOdxKCGcxVVRVJgPu8hiuja9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777853756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eB+Rr6emVngrFUAewnSS7ObD/oQ4AB6IusSvnq2iV9M=; b=NCU84tvGu2+gxYISNhL9qvTgFbnqWLXQt03aKiUjpMTI3wx3izLDuXf6ZzKs90663NOsya XSsx/pE5nOopRt3gyR/SVf3vm2AnGLQwqst7K9ObQRd4Fn76oJtrMB4b4lvoL+7m3wKodA N3lTvI4GBk2UMnZR7T9vvmzHe1WXT7QzKCzOo+Fv4RTay+0TYAR9VjnwxAMhRhCb1SKbTx amocbO7OwnLti5viHkkWzSMIFBMKMSRqi562c5Uh/4okPr7FScGq8Cqm/9QM79lDUOdDey 34eNeJFESeniqwo5CnyDQAuOiID6rAK+d98WGwMK7vgmJTx+aa5TPVWYFZC9UA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g82HJ5fBkzwN3 for ; Mon, 04 May 2026 00:15:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31fd6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 00:15:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 0a919e2a9265 - stable/15 - libifconfig: Skip bridge VLAN config for span members List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0a919e2a9265b5cdaeb2c5d51c29791b4eb7335c Auto-Submitted: auto-generated Date: Mon, 04 May 2026 00:15:56 +0000 Message-Id: <69f7e53c.31fd6.4f8c8e96@gitrepo.freebsd.org> The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=0a919e2a9265b5cdaeb2c5d51c29791b4eb7335c commit 0a919e2a9265b5cdaeb2c5d51c29791b4eb7335c Author: Lexi Winter AuthorDate: 2026-04-29 03:11:20 +0000 Commit: Lexi Winter CommitDate: 2026-05-04 00:14:37 +0000 libifconfig: Skip bridge VLAN config for span members bridge(4) doesn't support BRDGGIFVLANSET for span members, which means if a span interface is configured, libifconfig will fail to fetch bridge members. Skip this for IFBIF_SPAN members. PR: 292634 MFC after: 3 days Reported by: Emrion Reviewed by: pouria, zlei Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56694 (cherry picked from commit 454322c08b8aa181939c8d920472f03cfd591032) --- lib/libifconfig/libifconfig_bridge.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libifconfig/libifconfig_bridge.c b/lib/libifconfig/libifconfig_bridge.c index 675bf5dd2ff5..2bb2952aeef2 100644 --- a/lib/libifconfig/libifconfig_bridge.c +++ b/lib/libifconfig/libifconfig_bridge.c @@ -139,6 +139,11 @@ ifconfig_bridge_get_bridge_status(ifconfig_handle_t *h, } for (size_t i = 0; i < bridge->inner.members_count; ++i) { struct ifbif_vlan_req vreq; + + /* Skip VLAN config for span members */ + if (bridge->inner.members[i].ifbr_ifsflags & IFBIF_SPAN) + continue; + memset(&vreq, 0, sizeof(vreq)); strlcpy(vreq.bv_ifname, bridge->inner.members[i].ifbr_ifsname, sizeof(vreq.bv_ifname)); From nobody Mon May 4 00:15:57 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g82HL2ZSVz6c01S for ; Mon, 04 May 2026 00:15: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 4g82HK73QNz3qkW for ; Mon, 04 May 2026 00:15:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777853758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=achmdpvjk49/NEJAqTlzTs0IBvOQ7LirvI0jq9Fh/Wk=; b=ahABSk5aX4C5M/YSnMLEY9vvy27l6vFp8FnABauZmvibJRqeXhBVD4Ks1KsU5tXBG/uEtg 4KhCQO+eQFm0kSKNj1H8OfiNykKFbu5rSENpfsVcFmJ2P7TjLmYIoVsgVj2KvCk8bbmJiV XQEESt68E1N3gYB0qM4lcb7FHZSLyWeaqOSU+Xv5g0i316Rv9/Mbn1tyCT+2Uj9O68k+Yg kteUQOsFpAJ25vKeWLoljUMbCbp8SzKM7z1LZbU3PBm+P/FxprJgxrSFeVLIPQgWA7jztQ IKeMfJghyE/0O4gVqhuh3Rwk3XhunxDHR3fQ85VsGVfECmJQygq4Kv/HRyL+Nw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777853758; a=rsa-sha256; cv=none; b=QPHhyc1oFObZtohNIFYo9C6aY6ccWN3TaR9l5Pj3hzSTwq5+NCzTVaY448iPV6t7KD4XYg atneKwZeVJQItHIIIUEJyebroslQOh0pgq1h03o/1Rx4f5gj41JAvmUq+DRINXgjfpsNeS hueIheCjNuUIQGHo5z5UwtBuMH63eAX0G2zXGBVeUS3kEVbAGviiSHRzqylneswSojsbvt A+qEVEEBiu3vOB3/Or0Jikmr00XJ7pwas+FCVPWjfQ1ZJsMlNBradvwqwalFrc5Cfj06R3 6+w2tDD9ytJLnIeBqJL7cB6J91PUCZBC2AjjSNyDkQnQHReJm/+gkJm4s/bbIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777853758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=achmdpvjk49/NEJAqTlzTs0IBvOQ7LirvI0jq9Fh/Wk=; b=WlbZ0+D08idUVeJUEvKCgT4mbS/XC04g0k9eOJuhRALyJp4MWVvXM59v7E9PAn9UHO1l8C L97kSconAnl2xUmIB+GUUy8SjSlmIpst8uZ2Wnndckk1ywolzZauczUcmYZXLlAN6fQmm3 JQ0zv+JDe3f4BeLe300gllEkrDGwADg0Phkqn8Lv9GKcaSh93XXYXEPqj6qirDT+tN7Iin j4DKWz8488p2Boyjq/lizwiFxPop5VLRW+FhelKop4tPQkGh6lgxS2Rx+wKCdhm+4moAdE lzWTugspoJXs4fMgVAOadvI1BuwiJ7kntD7d+pU8HfOt/y0L0MqaVNYLTNAM0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g82HK6N7nzwQJ for ; Mon, 04 May 2026 00:15:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32f31 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 00:15:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: ee58056e1e42 - stable/15 - boot1.chrp: Specify --image-base List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ee58056e1e42de9230a159412827da97ae7f03bc Auto-Submitted: auto-generated Date: Mon, 04 May 2026 00:15:57 +0000 Message-Id: <69f7e53d.32f31.5582354c@gitrepo.freebsd.org> The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=ee58056e1e42de9230a159412827da97ae7f03bc commit ee58056e1e42de9230a159412827da97ae7f03bc Author: Lexi Winter AuthorDate: 2026-04-18 20:07:40 +0000 Commit: Lexi Winter CommitDate: 2026-05-04 00:14:38 +0000 boot1.chrp: Specify --image-base This is required for LLVM 22's ld.lld to avoid a build error: ld.lld: error: section '.text' address (0x38000) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.rodata' address (0x3b308) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.data' address (0x3b610) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.bss' address (0x3f618) is smaller than image base (0x10000000); specify --image-base Use 0x38000 for the image base, which is the address of the lowest (and only) LOAD segment in the file. Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56459 (cherry picked from commit aa0bc7cca153f67f8becec8a8fb259ff5fd30fd0) --- stand/powerpc/boot1.chrp/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/powerpc/boot1.chrp/Makefile b/stand/powerpc/boot1.chrp/Makefile index b91c0117b5a7..0b77bce2b097 100644 --- a/stand/powerpc/boot1.chrp/Makefile +++ b/stand/powerpc/boot1.chrp/Makefile @@ -21,7 +21,7 @@ CFLAGS+=-I${LDRSRC} # boot1.elf defined in the HFS template, but sometimes boot1.elf is written # directly to the PReP partition. # -LDFLAGS=-nostdlib -static -Wl,-N -Wl,-Ttext=0x38000 +LDFLAGS=-nostdlib -static -Wl,-N -Wl,-Ttext=0x38000 -Wl,--image-base=0x38000 .PATH: ${SYSDIR}/libkern ${SRCTOP}/lib/libc/powerpc/gen ${.CURDIR} From nobody Mon May 4 05:59:51 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g89w83cdZz6cdcs for ; Mon, 04 May 2026 05:59: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 4g89w81Hptz4PTB for ; Mon, 04 May 2026 05:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777874392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6QUWxmetF53l4GU4drl2/A6x/L9JFNdkQNG7JUywK7k=; b=tLj548Ne6dUcf3vS3elGAB6zuVv3y688bKxBrStL9fspahxNBDaTbP5qcLSdld7rgAy2Pa UT6AvIz/FD8X8hm1vQlpfLGPAssb5FVL5sJzSOBO5w4cz2EFrWPC300vrKHO9KfE+1YNit sPTtOO3eV+uE6Cfnz6MsVIrCYygoUQIuQeKuL5+gDncNTF2PrMJtiVQDwAYMvHHxZO9eBL ZCQEZ/sJARqrF4BvX2G+y1D349ttO7W2R+zCKDZCz3L8D9usTpPup5IFEuAAHm4zPIkvJI 3PTig9lPZ4vJDrCpl04FJyzEQadvsdT6ohuaD6sVjBhnfnUfxt+ugUcJ2X1y2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777874392; a=rsa-sha256; cv=none; b=Lk2CxylZbt9aTcG06fgKgpNJPFjQKp1zz1Mz++pjeFGzQ8+yH+ek4sLTJkruv7PeA4zSwg ImudCp13ENLPAxCKP3kE2+R0ek8PkugmSghBzCc1idQ/cXYwJzpEn1jfpsyqY+7Y5jg4hH 06RgDyReoX/mJna2jaolSi+XmFPAhUtHjVMim7x1O6/dsN2EcJOcMEvisnJKNxljWwO/b8 SSTq2zrIYJsm8yxEzfchF1a9qMWC+8+rlOR4OjL7Il20A+tgrfR5YDuLAbDBOdB6/f09ti +8IsK7QE0vGOz/d5gCuJEnzFaA5hyFH+OhsKFFrKd1WNTkl4YZov6FM97A2rLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777874392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6QUWxmetF53l4GU4drl2/A6x/L9JFNdkQNG7JUywK7k=; b=iy4yzLvufy0DDzERJncPw5yhQlqDKcTVnRTRi7gz5EHfDo9CWi0XFHn69PJkyj5wememFv 0AiPNOtL571SqjGUy9hRFkiu3vFufcQh3vkn3yR0WuA4IFFcm7wbxI8NyLS5TGxqMFokYT k7GlPnyJFEt/A0C+ewNkg83qzMDNaB//dpCXP/C5ULk9AXzkWdeQNKUEqrmD2R5uYLfK4k rKl5KaxR6nhNBe6TXvTbMk7IazUNdGpPbKl2PBiKlte8AEqTjRwPy7PLiJPm3/ckkzrjD6 U9S/h0nnGDwZF25nxNpKovmf/g4buCCeJMDYlYjd8F3knzaleoGezTM/UaGh5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g89w809Ccz16Ck for ; Mon, 04 May 2026 05:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39a2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 05:59:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 838e23734d06 - stable/15 - contrib/expat: import expat 2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 838e23734d06285b4473e12f52232346c93142c9 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 05:59:51 +0000 Message-Id: <69f835d7.39a2d.15088a8@gitrepo.freebsd.org> The branch stable/15 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=838e23734d06285b4473e12f52232346c93142c9 commit 838e23734d06285b4473e12f52232346c93142c9 Author: Philip Paeps AuthorDate: 2026-04-27 10:38:10 +0000 Commit: Philip Paeps CommitDate: 2026-05-04 04:35:20 +0000 contrib/expat: import expat 2.8.0 Changes: https://github.com/libexpat/libexpat/blob/R_2_8_0/expat/Changes Security: CVE-2026-41080 (cherry picked from commit e3935639d8d8b6556cad18e1c90e419a65f26b40) --- contrib/expat/Changes | 66 +++++ contrib/expat/README.md | 8 +- contrib/expat/configure.ac | 137 +++++++-- contrib/expat/doc/reference.html | 57 +++- contrib/expat/doc/xmlwf.1 | 2 +- contrib/expat/doc/xmlwf.xml | 2 +- contrib/expat/examples/element_declarations.c | 5 +- contrib/expat/expat_config.h.in | 3 + contrib/expat/lib/Makefile.am | 36 +++ contrib/expat/lib/Makefile.in | 170 ++++++++++- contrib/expat/lib/expat.h | 16 +- contrib/expat/lib/expat_external.h | 5 +- contrib/expat/lib/internal.h | 4 +- contrib/expat/lib/libexpat.map.in | 5 + contrib/expat/lib/random_arc4random.c | 56 ++++ .../acc_tests_cxx.cpp => lib/random_arc4random.h} | 13 +- .../random_arc4random_buf.c} | 21 +- .../random_arc4random_buf.h} | 13 +- contrib/expat/lib/random_dev_urandom.c | 72 +++++ .../chardata_cxx.cpp => lib/random_dev_urandom.h} | 14 +- contrib/expat/lib/random_getentropy.c | 54 ++++ .../random_getentropy.h} | 14 +- contrib/expat/lib/random_getrandom.c | 90 ++++++ contrib/expat/lib/random_getrandom.h | 40 +++ contrib/expat/lib/random_rand_s.c | 88 ++++++ contrib/expat/lib/random_rand_s.h | 41 +++ contrib/expat/lib/xmlparse.c | 316 ++++++++------------- contrib/expat/lib/xmlrole.c | 2 +- contrib/expat/lib/xmltok.c | 2 +- contrib/expat/lib/xmltok_ns.c | 2 +- contrib/expat/tests/Makefile.am | 24 +- contrib/expat/tests/Makefile.in | 156 +--------- contrib/expat/tests/basic_tests.c | 26 ++ contrib/expat/tests/common_cxx.cpp | 32 --- contrib/expat/tests/dummy_cxx.cpp | 32 --- contrib/expat/tests/handlers_cxx.cpp | 32 --- contrib/expat/tests/memcheck_cxx.cpp | 32 --- contrib/expat/tests/minicheck_cxx.cpp | 32 --- contrib/expat/tests/misc_tests.c | 2 +- contrib/expat/tests/misc_tests_cxx.cpp | 32 --- contrib/expat/tests/ns_tests_cxx.cpp | 32 --- contrib/expat/tests/nsalloc_tests.c | 11 +- contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 --- contrib/expat/tests/structdata_cxx.cpp | 32 --- contrib/expat/xmlwf/xmlfile.c | 2 +- contrib/expat/xmlwf/xmlwf.c | 2 +- lib/libexpat/Makefile | 2 +- lib/libexpat/expat_config.h | 6 +- lib/libexpat/libbsdxml.3 | 4 +- 49 files changed, 1136 insertions(+), 741 deletions(-) diff --git a/contrib/expat/Changes b/contrib/expat/Changes index 2b3704a69b77..87611eea5c01 100644 --- a/contrib/expat/Changes +++ b/contrib/expat/Changes @@ -29,6 +29,72 @@ !! THANK YOU! Sebastian Pipping -- Berlin, 2026-03-17 !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +Release 2.8.0 Fri April 24 2026 + Security fixes: + #47 #1183 CVE-2026-41080 -- The existing hash flooding protection + (based on SipHash) only used 4 to 8 bytes of entropy for + a salt, when 16 bytes of salt are supported by the + implementation of SipHash used by Expat. Now full 16 bytes + of entropy are used to improve protection against hash + flooding attacks. + Existing API function XML_SetHashSalt is now deprecated + because of its limitations, and its use should be + considered a vulnerability. Please either use the new API + function XML_SetHashSalt16Bytes (with known-high-quality + entropy input only!) instead, or leave the derivation of + a 16-bytes hash salt from high quality entropy to Expat's + internal machinery (by *not* calling either of the two + XML_SetHashSalt* functions). + + Bug fixes: + #1188 Avoid propagating /dev/urandom file descriptor to child + processes + #1193 Fix interpretation of `errno` after randomization calls + #1195 Avoid assuming uint8_t is a character type + + Other changes: + #1180 #1199 Add support for `getentropy(3)` as a source of entropy; + this helps with protecting against hash flooding attacks, + in particular with WASI SDK (where none of the other + entropy sources supported by libexpat are available). + #1200 Autotools: Add `--without-arc4random` and + `--without-arc4random-buf` + #1200 Autotools: Make `./configure` output report on available + high quality entropy sources + #1173 Autotools|macOS: Sync CMake templates with CMake 4.3.0 + #1201 Autotools|CMake: Improve checks for `arc4random` and + `arc4random_buf` e.g. with modern glibc + #1201 CMake: Report on availability of functions `arc4random` and + `arc4random_buf` + #1201 CMake: Mark entropy related build switches as advanced + #1189 .. + #1203 #1204 Extract new files from entropy extraction code + #1194 Stop duplicating C tests 1:1 as C++ ("runtests_cxx") + #1202 Fix a comment typo in expat_external.h + #1187 Fix grammar in compile error message + #1192 examples: Build warning-free with -Wwrite-strings + #1171 tests: Address harmless warning from Coverity + #1170 #1176 Sync file headers + #1190 #1206 Version info bumped from 12:3:11 (libexpat*.so.1.11.3) + to 13:0:12 (libexpat*.so.1.12.0); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #1166 #1167 .. + #1172 #1175 .. + #1178 #1179 .. + #1185 #1205 CI: Make Perl XML::Parser integration tests run against + both version 2.47 and the latest release 2.58 + #1169 CI: Adapt to breaking changes regarding Inno Setup + #1173 CI: Adapt to breaking changes regarding CMake + #1174 CI: Include public corpus of fuzzer `xml_lpm_fuzzer` with + regression testing + #1181 #1182 CI: Bump WASI SDK from 30 to 32 + + Special thanks to: + Jérôme Duval + Matthew Fernandez + Release 2.7.5 Tue March 17 2026 Security fixes: #1158 CVE-2026-32776 -- Fix NULL function pointer dereference for diff --git a/contrib/expat/README.md b/contrib/expat/README.md index a67548be7fc9..619e60b2d16b 100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@ -11,7 +11,7 @@ > at the top of the `Changes` file. -# Expat, Release 2.7.5 +# Expat, Release 2.8.0 This is Expat, a C99 library for parsing [XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by @@ -297,10 +297,4 @@ EXPAT_SYMBOL_VERSIONING:BOOL=OFF // Treat all compiler warnings as errors EXPAT_WARNINGS_AS_ERRORS:BOOL=OFF - -// Make use of getrandom function (ON|OFF|AUTO) [default=AUTO] -EXPAT_WITH_GETRANDOM:STRING=AUTO - -// Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO] -EXPAT_WITH_SYS_GETRANDOM:STRING=AUTO ``` diff --git a/contrib/expat/configure.ac b/contrib/expat/configure.ac index 6d028b5f6658..87633650f321 100644 --- a/contrib/expat/configure.ac +++ b/contrib/expat/configure.ac @@ -89,9 +89,9 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=12 # sync -LIBREVISION=3 # with -LIBAGE=11 # CMakeLists.txt! +LIBCURRENT=13 # sync +LIBREVISION=0 # with +LIBAGE=12 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) AH_TOP([#ifndef EXPAT_CONFIG_H @@ -217,21 +217,51 @@ AM_CONDITIONAL([_INTERNAL_LARGE_SIZE], [echo -- "${CPPFLAGS}${CFLAGS}" | ${FGREP LT_LIB_M -AC_MSG_CHECKING([for arc4random_buf (BSD or glibc 2.36+)]) -AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main(void) { - char dummy[[123]]; // double brackets for m4 - arc4random_buf(dummy, 0U); - return 0; - } - ])], - [AC_DEFINE([HAVE_ARC4RANDOM_BUF], [1], [Define to 1 if you have the `arc4random_buf' function.]) - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - - AC_MSG_CHECKING([for arc4random (BSD, macOS, or glibc 2.36+)]) +AC_ARG_WITH([arc4random], + [AS_HELP_STRING([--with-arc4random], + [enforce the use of arc4random function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-arc4random], + [skip auto detect of arc4random @<:@default=check@:>@])], + [], + [with_arc4random=check]) + +AC_ARG_WITH([arc4random-buf], + [AS_HELP_STRING([--with-arc4random-buf], + [enforce the use of arc4random_buf function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-arc4random-buf], + [skip auto detect of arc4random_buf @<:@default=check@:>@])], + [], + [with_arc4random_buf=check]) + +have_arc4random=false +have_arc4random_buf=false + +AS_IF([test "x${with_arc4random_buf}" != xno], + [AC_MSG_CHECKING([for arc4random_buf (BSD or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ + #if ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 /* for glibc */ + #endif + #include + int main(void) { + char dummy[[123]]; // double brackets for m4 + arc4random_buf(dummy, 0U); + return 0; + } + ])], + [AC_DEFINE([HAVE_ARC4RANDOM_BUF], [1], [Define to 1 if you have the `arc4random_buf' function.]) + have_arc4random_buf=true + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AS_IF([test "x${with_arc4random_buf}" = xyes], + [AC_MSG_ERROR([enforced the use of arc4random_buf --with-arc4random-buf, but not detected])])])]) + +AS_IF([test "x${with_arc4random}" != xno], + [AC_MSG_CHECKING([for arc4random (BSD, macOS, or glibc 2.36+)]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + #if ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 /* for glibc */ + #endif #include int main(void) { arc4random(); @@ -239,8 +269,58 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ } ])], [AC_DEFINE([HAVE_ARC4RANDOM], [1], [Define to 1 if you have the `arc4random' function.]) + have_arc4random=true + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AS_IF([test "x${with_arc4random}" = xyes], + [AC_MSG_ERROR([enforced the use of arc4random --with-arc4random, but not detected])])])]) + +AM_CONDITIONAL([WITH_ARC4RANDOM], [test x${have_arc4random} = xtrue]) +AM_CONDITIONAL([WITH_ARC4RANDOM_BUF], [test x${have_arc4random_buf} = xtrue]) + +have_getentropy=false + +AC_ARG_WITH([getentropy], + [AS_HELP_STRING([--with-getentropy], + [enforce the use of getentropy function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-getentropy], + [skip auto detect of getentropy @<:@default=check@:>@])], + [], + [with_getentropy=check]) + +AS_IF([test "x$with_getentropy" != xno], + [AC_MSG_CHECKING([for getentropy (BSD, macOS 10.12+, glibc 2.25+)]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + // NOTE: Please keep this block in sync with its two siblings in files + // 'ConfigureChecks.cmake' and 'lib/random_getentropy.c'! + #if defined(__APPLE__) + # include + #else + # if defined(__GLIBC__) && ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 + # endif + # if ! defined(_GNU_SOURCE) + # define _GNU_SOURCE 1 /* for musl */ + # endif + # include + #endif // ! defined(__APPLE__) + + int main(void) { + return getentropy(NULL, 0U); + } + ])], + [AC_DEFINE([HAVE_GETENTROPY], [1], [Define to 1 if you have the `getentropy' function.]) + have_getentropy=true AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])])]) + [AC_MSG_RESULT([no]) + AS_IF([test "x$with_getentropy" = xyes], + [AC_MSG_ERROR([enforced the use of getentropy --with-getentropy, but not detected])])])]) + +AM_CONDITIONAL([WITH_GETENTROPY], [test x${have_getentropy} = xtrue]) + +have_either_getrandom=false +have_getrandom_function=false +have_getrandom_syscall=false AC_ARG_WITH([getrandom], [AS_HELP_STRING([--with-getrandom], @@ -260,6 +340,8 @@ AS_IF([test "x$with_getrandom" != xno], } ])], [AC_DEFINE([HAVE_GETRANDOM], [1], [Define to 1 if you have the `getrandom' function.]) + have_either_getrandom=true + have_getrandom_function=true AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AS_IF([test "x$with_getrandom" = xyes], @@ -286,11 +368,15 @@ AS_IF([test "x$with_sys_getrandom" != xno], } ])], [AC_DEFINE([HAVE_SYSCALL_GETRANDOM], [1], [Define to 1 if you have `syscall' and `SYS_getrandom'.]) + have_either_getrandom=true + have_getrandom_syscall=true AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AS_IF([test "x$with_sys_getrandom" = xyes], [AC_MSG_ERROR([enforced the use of syscall SYS_getrandom --with-sys-getrandom, but not detected])])])]) +AM_CONDITIONAL([WITH_EITHER_GETRANDOM], [test x${have_either_getrandom} = xtrue]) + dnl Only needed for xmlwf: AC_CHECK_HEADERS(fcntl.h unistd.h) AC_TYPE_OFF_T @@ -486,4 +572,17 @@ User flags (override Automake flags on conflict): CPPFLAGS: ${CPPFLAGS} CFLAGS: ${CFLAGS} CXXFLAGS: ${CXXFLAGS} - LDFLAGS: ${LDFLAGS}]) + LDFLAGS: ${LDFLAGS} + +Entropy sources: + arc4random: ${have_arc4random} + arc4random_buf: ${have_arc4random_buf} + getentropy: ${have_getentropy} + getrandom: ${have_getrandom_function} + syscall SYS_getrandom: ${have_getrandom_syscall} + /dev/urandom: true + +Continue with e.g.: + make -j2 + make check + sudo make install]) diff --git a/contrib/expat/doc/reference.html b/contrib/expat/doc/reference.html index 5faa8d6515af..195bd183fd82 100644 --- a/contrib/expat/doc/reference.html +++ b/contrib/expat/doc/reference.html @@ -53,7 +53,7 @@

- The Expat XML Parser Release 2.7.5 + The Expat XML Parser Release 2.8.0

@@ -404,7 +404,11 @@
  • - XML_SetHashSalt + XML_SetHashSalt (deprecated) +
  • + +
  • + XML_SetHashSalt16Bytes
  • @@ -3449,22 +3453,35 @@ XML_SetParamEntityParsing(XML_Parser p,

    - XML_SetHashSalt + XML_SetHashSalt (deprecated)

     int XMLCALL
    -XML_SetHashSalt(XML_Parser p,
    +XML_SetHashSalt(XML_Parser parser,
                     unsigned long hash_salt);
     
    Sets the hash salt to use for internal hash calculations. Helps in preventing DoS attacks based on predicting hash function behavior. In order to have an effect this must be called before parsing has started. Returns 1 if successful, 0 when - called after XML_Parse or XML_ParseBuffer. + called after XML_Parse or XML_ParseBuffer or when + parser is NULL. +

    + Note: Function XML_SetHashSalt is + deprecated. Please use function XML_SetHashSalt16Bytes instead for better + security. XML_SetHashSalt only provides 4 to 8 bytes of entropy + (depending on the size of type unsigned long) while the SipHash + implementation used by Expat can leverage up to 16 bytes of entropy — at least + twice as much. Function XML_SetHashSalt16Bytes of Expat >=2.8.0 + (and where backported) matches the amount of entropy supported by SipHash. +

    +

    Note: This call is optional, as the parser will auto-generate a new - random salt value if no value has been set at the start of parsing. + random salt value internally if no value has been set by the start of parsing.

    @@ -3475,6 +3492,34 @@ XML_SetHashSalt(XML_Parser p,

    +

    + XML_SetHashSalt16Bytes +

    + +
    +/* Added in Expat 2.8.0. */
    +XML_Bool XMLCALL
    +XML_SetHashSalt16Bytes(XML_Parser parser,
    +                       const uint8_t entropy[16]);
    +
    +
    + Sets the hash salt to use for internal hash calculations. Helps in preventing DoS + attacks based on predicting hash function behavior. In order to have an effect + this must be called before parsing has started. Returns XML_TRUE if + successful, XML_FALSE when called after XML_Parse or + XML_ParseBuffer or when parser is NULL. +

    + Note: Setting a salt that is not from a source of high quality + entropy (like getentropy(3)) will make the parser vulnerable to + hash flooding attacks. +

    + +

    + Note: This call is optional, as the parser will auto-generate a new + random salt value internally if no value has been set by the start of parsing. +

    +
    +

    XML_UseForeignDTD

    diff --git a/contrib/expat/doc/xmlwf.1 b/contrib/expat/doc/xmlwf.1 index 75318fccc856..0736f110e3c1 100644 --- a/contrib/expat/doc/xmlwf.1 +++ b/contrib/expat/doc/xmlwf.1 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH XMLWF 1 "March 17, 2026" "" "" +.TH XMLWF 1 "April 24, 2026" "" "" .SH NAME xmlwf \- Determines if an XML document is well-formed .SH SYNOPSIS diff --git a/contrib/expat/doc/xmlwf.xml b/contrib/expat/doc/xmlwf.xml index c4fe92d44fb4..3a3897750cb1 100644 --- a/contrib/expat/doc/xmlwf.xml +++ b/contrib/expat/doc/xmlwf.xml @@ -21,7 +21,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ Scott"> Bronson"> - March 17, 2026"> + April 24, 2026"> 1"> bronson@rinspin.com"> diff --git a/contrib/expat/examples/element_declarations.c b/contrib/expat/examples/element_declarations.c index d644b2ffa5ea..d864cf70a2f7 100644 --- a/contrib/expat/examples/element_declarations.c +++ b/contrib/expat/examples/element_declarations.c @@ -16,6 +16,7 @@ Copyright (c) 2017 Rhodri James Copyright (c) 2019 Zhongyuan Zhou Copyright (c) 2024 Hanno Böck + Copyright (c) 2026 Matthew Fernandez Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -82,7 +83,7 @@ stackPopFree(Stack *stackTop) { return newStackTop; } -static char * +static const char * contentTypeName(enum XML_Content_Type contentType) { switch (contentType) { case XML_CTYPE_EMPTY: @@ -102,7 +103,7 @@ contentTypeName(enum XML_Content_Type contentType) { } } -static char * +static const char * contentQuantName(enum XML_Content_Quant contentQuant) { switch (contentQuant) { case XML_CQUANT_NONE: diff --git a/contrib/expat/expat_config.h.in b/contrib/expat/expat_config.h.in index 7541bf6005e6..4d7d732e8052 100644 --- a/contrib/expat/expat_config.h.in +++ b/contrib/expat/expat_config.h.in @@ -24,6 +24,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H +/* Define to 1 if you have the `getentropy' function. */ +#undef HAVE_GETENTROPY + /* Define to 1 if you have the 'getpagesize' function. */ #undef HAVE_GETPAGESIZE diff --git a/contrib/expat/lib/Makefile.am b/contrib/expat/lib/Makefile.am index 493077231c57..27bf2ab64769 100644 --- a/contrib/expat/lib/Makefile.am +++ b/contrib/expat/lib/Makefile.am @@ -55,6 +55,42 @@ libexpat_la_SOURCES = \ xmltok.c \ xmlrole.c +if WITH_ARC4RANDOM + libexpat_la_SOURCES += \ + random_arc4random.c \ + random_arc4random.h +endif + +if WITH_ARC4RANDOM_BUF + libexpat_la_SOURCES += \ + random_arc4random_buf.c \ + random_arc4random_buf.h +endif + +if ! MINGW + libexpat_la_SOURCES += \ + random_dev_urandom.c \ + random_dev_urandom.h +endif + +if WITH_GETENTROPY + libexpat_la_SOURCES += \ + random_getentropy.c \ + random_getentropy.h +endif + +if WITH_EITHER_GETRANDOM + libexpat_la_SOURCES += \ + random_getrandom.c \ + random_getrandom.h +endif + +if MINGW + libexpat_la_SOURCES += \ + random_rand_s.c \ + random_rand_s.h +endif + if WITH_TESTS libtestpat_la_CPPFLAGS = -DXML_TESTING diff --git a/contrib/expat/lib/Makefile.in b/contrib/expat/lib/Makefile.in index d8e4fd59e117..4cd6fcfc6088 100644 --- a/contrib/expat/lib/Makefile.in +++ b/contrib/expat/lib/Makefile.in @@ -126,6 +126,30 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @HAVE_VSCRIPT_TRUE@am__append_1 = $(VSCRIPT_LDFLAGS),@builddir@/libexpat.map +@WITH_ARC4RANDOM_TRUE@am__append_2 = \ +@WITH_ARC4RANDOM_TRUE@ random_arc4random.c \ +@WITH_ARC4RANDOM_TRUE@ random_arc4random.h + +@WITH_ARC4RANDOM_BUF_TRUE@am__append_3 = \ +@WITH_ARC4RANDOM_BUF_TRUE@ random_arc4random_buf.c \ +@WITH_ARC4RANDOM_BUF_TRUE@ random_arc4random_buf.h + +@MINGW_FALSE@am__append_4 = \ +@MINGW_FALSE@ random_dev_urandom.c \ +@MINGW_FALSE@ random_dev_urandom.h + +@WITH_GETENTROPY_TRUE@am__append_5 = \ +@WITH_GETENTROPY_TRUE@ random_getentropy.c \ +@WITH_GETENTROPY_TRUE@ random_getentropy.h + +@WITH_EITHER_GETRANDOM_TRUE@am__append_6 = \ +@WITH_EITHER_GETRANDOM_TRUE@ random_getrandom.c \ +@WITH_EITHER_GETRANDOM_TRUE@ random_getrandom.h + +@MINGW_TRUE@am__append_7 = \ +@MINGW_TRUE@ random_rand_s.c \ +@MINGW_TRUE@ random_rand_s.h + subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -180,7 +204,21 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \ "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) libexpat_la_LIBADD = -am_libexpat_la_OBJECTS = xmlparse.lo xmltok.lo xmlrole.lo +am__libexpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c \ + random_arc4random.c random_arc4random.h \ + random_arc4random_buf.c random_arc4random_buf.h \ + random_dev_urandom.c random_dev_urandom.h random_getentropy.c \ + random_getentropy.h random_getrandom.c random_getrandom.h \ + random_rand_s.c random_rand_s.h +@WITH_ARC4RANDOM_TRUE@am__objects_1 = random_arc4random.lo +@WITH_ARC4RANDOM_BUF_TRUE@am__objects_2 = random_arc4random_buf.lo +@MINGW_FALSE@am__objects_3 = random_dev_urandom.lo +@WITH_GETENTROPY_TRUE@am__objects_4 = random_getentropy.lo +@WITH_EITHER_GETRANDOM_TRUE@am__objects_5 = random_getrandom.lo +@MINGW_TRUE@am__objects_6 = random_rand_s.lo +am_libexpat_la_OBJECTS = xmlparse.lo xmltok.lo xmlrole.lo \ + $(am__objects_1) $(am__objects_2) $(am__objects_3) \ + $(am__objects_4) $(am__objects_5) $(am__objects_6) libexpat_la_OBJECTS = $(am_libexpat_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -190,10 +228,26 @@ libexpat_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libexpat_la_LDFLAGS) $(LDFLAGS) -o $@ libtestpat_la_LIBADD = -am__libtestpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c -am__objects_1 = libtestpat_la-xmlparse.lo libtestpat_la-xmltok.lo \ - libtestpat_la-xmlrole.lo -@WITH_TESTS_TRUE@am_libtestpat_la_OBJECTS = $(am__objects_1) +am__libtestpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c \ + random_arc4random.c random_arc4random.h \ + random_arc4random_buf.c random_arc4random_buf.h \ + random_dev_urandom.c random_dev_urandom.h random_getentropy.c \ + random_getentropy.h random_getrandom.c random_getrandom.h \ + random_rand_s.c random_rand_s.h +@WITH_ARC4RANDOM_TRUE@am__objects_7 = \ +@WITH_ARC4RANDOM_TRUE@ libtestpat_la-random_arc4random.lo +@WITH_ARC4RANDOM_BUF_TRUE@am__objects_8 = libtestpat_la-random_arc4random_buf.lo +@MINGW_FALSE@am__objects_9 = libtestpat_la-random_dev_urandom.lo +@WITH_GETENTROPY_TRUE@am__objects_10 = \ +@WITH_GETENTROPY_TRUE@ libtestpat_la-random_getentropy.lo +@WITH_EITHER_GETRANDOM_TRUE@am__objects_11 = \ +@WITH_EITHER_GETRANDOM_TRUE@ libtestpat_la-random_getrandom.lo +@MINGW_TRUE@am__objects_12 = libtestpat_la-random_rand_s.lo +am__objects_13 = libtestpat_la-xmlparse.lo libtestpat_la-xmltok.lo \ + libtestpat_la-xmlrole.lo $(am__objects_7) $(am__objects_8) \ + $(am__objects_9) $(am__objects_10) $(am__objects_11) \ + $(am__objects_12) +@WITH_TESTS_TRUE@am_libtestpat_la_OBJECTS = $(am__objects_13) libtestpat_la_OBJECTS = $(am_libtestpat_la_OBJECTS) @WITH_TESTS_TRUE@am_libtestpat_la_rpath = AM_V_P = $(am__v_P_@AM_V@) @@ -211,10 +265,22 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/conftools/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libtestpat_la-xmlparse.Plo \ +am__depfiles_remade = ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo \ + ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo \ + ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo \ + ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo \ + ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo \ + ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo \ + ./$(DEPDIR)/libtestpat_la-xmlparse.Plo \ ./$(DEPDIR)/libtestpat_la-xmlrole.Plo \ - ./$(DEPDIR)/libtestpat_la-xmltok.Plo ./$(DEPDIR)/xmlparse.Plo \ - ./$(DEPDIR)/xmlrole.Plo ./$(DEPDIR)/xmltok.Plo + ./$(DEPDIR)/libtestpat_la-xmltok.Plo \ + ./$(DEPDIR)/random_arc4random.Plo \ + ./$(DEPDIR)/random_arc4random_buf.Plo \ + ./$(DEPDIR)/random_dev_urandom.Plo \ + ./$(DEPDIR)/random_getentropy.Plo \ + ./$(DEPDIR)/random_getrandom.Plo ./$(DEPDIR)/random_rand_s.Plo \ + ./$(DEPDIR)/xmlparse.Plo ./$(DEPDIR)/xmlrole.Plo \ + ./$(DEPDIR)/xmltok.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -235,7 +301,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libexpat_la_SOURCES) $(libtestpat_la_SOURCES) -DIST_SOURCES = $(libexpat_la_SOURCES) \ +DIST_SOURCES = $(am__libexpat_la_SOURCES_DIST) \ $(am__libtestpat_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -428,11 +494,9 @@ lib_LTLIBRARIES = libexpat.la @WITH_TESTS_TRUE@noinst_LTLIBRARIES = libtestpat.la libexpat_la_LDFLAGS = @AM_LDFLAGS@ @LIBM@ -no-undefined -version-info \ @LIBCURRENT@:@LIBREVISION@:@LIBAGE@ $(am__append_1) -libexpat_la_SOURCES = \ - xmlparse.c \ - xmltok.c \ - xmlrole.c - +libexpat_la_SOURCES = xmlparse.c xmltok.c xmlrole.c $(am__append_2) \ + $(am__append_3) $(am__append_4) $(am__append_5) \ + $(am__append_6) $(am__append_7) @WITH_TESTS_TRUE@libtestpat_la_CPPFLAGS = -DXML_TESTING @WITH_TESTS_TRUE@libtestpat_la_SOURCES = $(libexpat_la_SOURCES) doc_DATA = \ @@ -548,9 +612,21 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_arc4random.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_getentropy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_getrandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_rand_s.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmlparse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmlrole.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmltok.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_arc4random.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_arc4random_buf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_dev_urandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_getentropy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_getrandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_rand_s.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlparse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlrole.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmltok.Plo@am__quote@ # am--include-marker @@ -603,6 +679,48 @@ libtestpat_la-xmlrole.lo: xmlrole.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-xmlrole.lo `test -f 'xmlrole.c' || echo '$(srcdir)/'`xmlrole.c +libtestpat_la-random_arc4random.lo: random_arc4random.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_arc4random.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_arc4random.Tpo -c -o libtestpat_la-random_arc4random.lo `test -f 'random_arc4random.c' || echo '$(srcdir)/'`random_arc4random.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_arc4random.Tpo $(DEPDIR)/libtestpat_la-random_arc4random.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_arc4random.c' object='libtestpat_la-random_arc4random.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_arc4random.lo `test -f 'random_arc4random.c' || echo '$(srcdir)/'`random_arc4random.c + +libtestpat_la-random_arc4random_buf.lo: random_arc4random_buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_arc4random_buf.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_arc4random_buf.Tpo -c -o libtestpat_la-random_arc4random_buf.lo `test -f 'random_arc4random_buf.c' || echo '$(srcdir)/'`random_arc4random_buf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_arc4random_buf.Tpo $(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_arc4random_buf.c' object='libtestpat_la-random_arc4random_buf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_arc4random_buf.lo `test -f 'random_arc4random_buf.c' || echo '$(srcdir)/'`random_arc4random_buf.c + +libtestpat_la-random_dev_urandom.lo: random_dev_urandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_dev_urandom.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_dev_urandom.Tpo -c -o libtestpat_la-random_dev_urandom.lo `test -f 'random_dev_urandom.c' || echo '$(srcdir)/'`random_dev_urandom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_dev_urandom.Tpo $(DEPDIR)/libtestpat_la-random_dev_urandom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_dev_urandom.c' object='libtestpat_la-random_dev_urandom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_dev_urandom.lo `test -f 'random_dev_urandom.c' || echo '$(srcdir)/'`random_dev_urandom.c + +libtestpat_la-random_getentropy.lo: random_getentropy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_getentropy.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_getentropy.Tpo -c -o libtestpat_la-random_getentropy.lo `test -f 'random_getentropy.c' || echo '$(srcdir)/'`random_getentropy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_getentropy.Tpo $(DEPDIR)/libtestpat_la-random_getentropy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_getentropy.c' object='libtestpat_la-random_getentropy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_getentropy.lo `test -f 'random_getentropy.c' || echo '$(srcdir)/'`random_getentropy.c + +libtestpat_la-random_getrandom.lo: random_getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_getrandom.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_getrandom.Tpo -c -o libtestpat_la-random_getrandom.lo `test -f 'random_getrandom.c' || echo '$(srcdir)/'`random_getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_getrandom.Tpo $(DEPDIR)/libtestpat_la-random_getrandom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_getrandom.c' object='libtestpat_la-random_getrandom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_getrandom.lo `test -f 'random_getrandom.c' || echo '$(srcdir)/'`random_getrandom.c + +libtestpat_la-random_rand_s.lo: random_rand_s.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_rand_s.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_rand_s.Tpo -c -o libtestpat_la-random_rand_s.lo `test -f 'random_rand_s.c' || echo '$(srcdir)/'`random_rand_s.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_rand_s.Tpo $(DEPDIR)/libtestpat_la-random_rand_s.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_rand_s.c' object='libtestpat_la-random_rand_s.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_rand_s.lo `test -f 'random_rand_s.c' || echo '$(srcdir)/'`random_rand_s.c + mostlyclean-libtool: -rm -f *.lo @@ -779,9 +897,21 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlparse.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlrole.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmltok.Plo + -rm -f ./$(DEPDIR)/random_arc4random.Plo + -rm -f ./$(DEPDIR)/random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/random_getentropy.Plo + -rm -f ./$(DEPDIR)/random_getrandom.Plo + -rm -f ./$(DEPDIR)/random_rand_s.Plo -rm -f ./$(DEPDIR)/xmlparse.Plo -rm -f ./$(DEPDIR)/xmlrole.Plo -rm -f ./$(DEPDIR)/xmltok.Plo @@ -831,9 +961,21 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlparse.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlrole.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmltok.Plo + -rm -f ./$(DEPDIR)/random_arc4random.Plo + -rm -f ./$(DEPDIR)/random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/random_getentropy.Plo + -rm -f ./$(DEPDIR)/random_getrandom.Plo + -rm -f ./$(DEPDIR)/random_rand_s.Plo -rm -f ./$(DEPDIR)/xmlparse.Plo -rm -f ./$(DEPDIR)/xmlrole.Plo -rm -f ./$(DEPDIR)/xmltok.Plo diff --git a/contrib/expat/lib/expat.h b/contrib/expat/lib/expat.h index 18dbaebde293..79c609f19aa4 100644 --- a/contrib/expat/lib/expat.h +++ b/contrib/expat/lib/expat.h @@ -45,6 +45,7 @@ #ifndef Expat_INCLUDED # define Expat_INCLUDED 1 +# include // for uint8_t # include # include "expat_external.h" @@ -917,10 +918,21 @@ XML_SetParamEntityParsing(XML_Parser parser, function behavior. This must be called before parsing is started. Returns 1 if successful, 0 when called after parsing has started. Note: If parser == NULL, the function will do nothing and return 0. + DEPRECATED since Expat 2.8.0. */ XMLPARSEAPI(int) XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt); +/* Sets the hash salt to use for internal hash calculations. + Helps in preventing DoS attacks based on predicting hash function behavior. + This must be called before parsing is started. + Returns XML_TRUE if successful, XML_FALSE when called after parsing has + started or when parser is NULL. + Added in Expat 2.8.0. +*/ +XMLPARSEAPI(XML_Bool) +XML_SetHashSalt16Bytes(XML_Parser parser, const uint8_t entropy[16]); + /* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then XML_GetErrorCode returns information about the error. */ @@ -1081,8 +1093,8 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled); See https://semver.org */ # define XML_MAJOR_VERSION 2 -# define XML_MINOR_VERSION 7 -# define XML_MICRO_VERSION 5 +# define XML_MINOR_VERSION 8 +# define XML_MICRO_VERSION 0 # ifdef __cplusplus } diff --git a/contrib/expat/lib/expat_external.h b/contrib/expat/lib/expat_external.h index d9ddeb612f6d..7f5c4c3aae4d 100644 --- a/contrib/expat/lib/expat_external.h +++ b/contrib/expat/lib/expat_external.h @@ -12,9 +12,10 @@ Copyright (c) 2001-2002 Greg Stein Copyright (c) 2002-2006 Karl Waclawek Copyright (c) 2016 Cristian Rodríguez - Copyright (c) 2016-2026 Sebastian Pipping + Copyright (c) 2016-2025 Sebastian Pipping Copyright (c) 2017 Rhodri James Copyright (c) 2018 Yury Gribov + Copyright (c) 2026 Matthew Fernandez Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -45,7 +46,7 @@ /* Expat tries very hard to make the API boundary very specifically defined. There are two macros defined to control this boundary; each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or + achieve some different behavior, but doing so is not recommended or tested frequently. XMLCALL - The calling convention to use for all calls across the diff --git a/contrib/expat/lib/internal.h b/contrib/expat/lib/internal.h index 61266ebb7723..420d4217a569 100644 --- a/contrib/expat/lib/internal.h +++ b/contrib/expat/lib/internal.h @@ -28,7 +28,7 @@ Copyright (c) 2002-2003 Fred L. Drake, Jr. Copyright (c) 2002-2006 Karl Waclawek Copyright (c) 2003 Greg Stein - Copyright (c) 2016-2025 Sebastian Pipping + Copyright (c) 2016-2026 Sebastian Pipping Copyright (c) 2018 Yury Gribov Copyright (c) 2019 David Loffredo Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow @@ -113,6 +113,7 @@ #if defined(_WIN32) \ && (! defined(__USE_MINGW_ANSI_STDIO) \ || (1 - __USE_MINGW_ANSI_STDIO - 1 == 0)) +# define EXPAT_FMT_LLX(midpart) "%" midpart "I64x" # define EXPAT_FMT_ULL(midpart) "%" midpart "I64u" # if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW # define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d" @@ -122,6 +123,7 @@ # define EXPAT_FMT_SIZE_T(midpart) "%" midpart "u" # endif #else +# define EXPAT_FMT_LLX(midpart) "%" midpart "llx" # define EXPAT_FMT_ULL(midpart) "%" midpart "llu" # if ! defined(ULONG_MAX) # error Compiler did not define ULONG_MAX for us diff --git a/contrib/expat/lib/libexpat.map.in b/contrib/expat/lib/libexpat.map.in index 52e59ed3d931..71a6758fd746 100644 --- a/contrib/expat/lib/libexpat.map.in +++ b/contrib/expat/lib/libexpat.map.in @@ -117,3 +117,8 @@ LIBEXPAT_2.7.2 { @_EXPAT_COMMENT_DTD_OR_GE@ XML_SetAllocTrackerActivationThreshold; @_EXPAT_COMMENT_DTD_OR_GE@ XML_SetAllocTrackerMaximumAmplification; } LIBEXPAT_2.6.0; + +LIBEXPAT_2.8.0 { + global: + XML_SetHashSalt16Bytes; +} LIBEXPAT_2.7.2; diff --git a/contrib/expat/lib/random_arc4random.c b/contrib/expat/lib/random_arc4random.c new file mode 100644 index 000000000000..243fbbc82fda --- /dev/null +++ b/contrib/expat/lib/random_arc4random.c @@ -0,0 +1,56 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 2017-2026 Sebastian Pipping + Copyright (c) 2026 Matthew Fernandez + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#include "random_arc4random.h" + +#if ! defined(_DEFAULT_SOURCE) +# define _DEFAULT_SOURCE 1 /* for glibc */ +#endif + +#include // for uint32_t +#include // for arc4random *** 2045 LINES SKIPPED *** From nobody Mon May 4 06:47:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzL2n76z6cjQf for ; Mon, 04 May 2026 06:47:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8BzL1kP0z3FMM for ; Mon, 04 May 2026 06:47:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8B/1fLzI4i2eG08/RmnNwdW4UnIQsptVfadrUZrC/2Y=; b=BeIZUiWQAm+6klbGUMpjU0bZbjh/zeofIUzGezEK1LExZ3VhlmHOsMEZ8yRzNpULn7/o4K OBZ/D7qU72rWXI7i8xYmd7mwwsrf3OwqNmF8vHPfLd7MUeKvb1/AfuSqsAKTTCTCjVUSm3 vMwt8M7V6aNs2Tt40xbnCHhd/2rDwFku2UgXeloqrpoH1zZr/4xyogZxxM7W6Wx/nymdsY Rgb/h483tEkjW30crH7X43GCsNsda43Jp7exg371uJeP8gcMU4uZ4O1+79E7OP4rG11S9K BiTRSY0KcGm9dGzu34Oj1GZiOw+K6/gaHpwz+bt7vqD1yQGPidzsa6ytLIoO4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777877262; a=rsa-sha256; cv=none; b=su0Opzyvef1hPoLZeWOfa8nBSRw5XTeOOaK3GG5C4dKW2XgRV7SaTbYXi47juZk6QEo3/g 5srVluyi+hduDYIdS2OKpdvnHXZTZHjYxEs/PW321jvnnPgmwg3H1ut1qEcWxI0a0Wh2qN GMmUkOE9rxpCe48fQbKWuXiVFc3svIwkraNFFYWyLx5VWF9kZ8YGSVKXFefrXm/JEKBTdb ZKk4Hk9V4T45jHk6qgjJEzNSuOjc+vWHQ8saXuYjeQB+dgj1TKU+Aw2D5M7q/s/N/pxade tvQ9B1ErMEPjwb2nIuJq9pXJKXsxWQlYzyYKRmHgEcZcvGcyS5WGwOnZL2OVQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8B/1fLzI4i2eG08/RmnNwdW4UnIQsptVfadrUZrC/2Y=; b=x7ESyItox3487dQ83/RSU1Z9JZIF5GZTi+kNrptcTUptWwCdzuZrg2w/xzKEsOPhgcDQ3J wASQX6zcmpWTYcb3Hg/m79zaOoOAFgYvbtZmwPGhBmwp6/RiR4uOm3683oETJ6wqD3ORrD oAqDylldZUB0dR5clkuVhBQuH8IA+9SAyWDLv8Yjz49BVyK2FC3ZEwsPxmB2qE0GZ2Fria FmuHECLw10QGfR0PPjBb3a+gBoU8JaK7vqkC0shU5u+adhrbROQhPnBZvftckpQb0WArRP 37R93YFV0M1BVN7/l1V/+Lu4it7Uf5nGkieHbTr3dkBDQ+1Fqyr6Esy3GLhWQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzL1Gl6z17Y6 for ; Mon, 04 May 2026 06:47:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e8a3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 06:47:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Robert Clausecker Subject: git: c082fc0be153 - stable/15 - msun/math.3: reference new functions f{max,min}imum{,_num,_mag}() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: c082fc0be1538261569c4d05eb69914fa51f8691 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 06:47:42 +0000 Message-Id: <69f8410e.3e8a3.5537618f@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c082fc0be1538261569c4d05eb69914fa51f8691 commit c082fc0be1538261569c4d05eb69914fa51f8691 Author: Robert Clausecker AuthorDate: 2026-03-31 16:55:11 +0000 Commit: Robert Clausecker CommitDate: 2026-05-04 06:40:11 +0000 msun/math.3: reference new functions f{max,min}imum{,_num,_mag}() See also: D55834, D56236 MFC after: 1 month (cherry picked from commit 47ca491ca425d0d3d8e2a8a3cac40d6565d8ab6a) --- lib/msun/man/math.3 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/msun/man/math.3 b/lib/msun/man/math.3 index 47353298bb54..f98c5e1a2a75 100644 --- a/lib/msun/man/math.3 +++ b/lib/msun/man/math.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 7, 2017 +.Dd April 11, 2026 .Dt MATH 3 .Os .Sh NAME @@ -115,8 +115,14 @@ scalbn adjust exponent copysign copy sign bit fabs absolute value fdim positive difference -fmax maximum function -fmin minimum function +fmax maximum function (legacy) +fmaximum maximum function (prefers \*(Na) +fmaximum_mag maximum magnitude (prefers \*(Na) +fmaximum_num maximum function (avoids \*(Na) +fmin minimum function (legacy) +fminimum minimum function (prefers \*(Na) +fminimum_mag minimum magnitude (prefers \*(Na) +fminimum_num minimum function (avoids \*(Na) signbit extract sign bit .El .Ss Not a Number Functions From nobody Mon May 4 06:47:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzK2W9Zz6cjNN for ; Mon, 04 May 2026 06:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8BzK0rKzz3FHy for ; Mon, 04 May 2026 06:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8VRNdl3nSFLIcCGquTkLKsp5RasjTGpHhjZtcTTbhc=; b=FZXKAbUeJidQItR6XgOWRaXPUkhGePp3Riy6eB8qJm0CMaxWGPz3UEC3VfB+WMUti4a8CB y9CIYcwH+r+vCUt812P8cjgFmgs3M9D28fnnd8isMg3NbjXSN0ywqaO364LcarrwRjBbhc jDAOZ+3HnVac2TmYR9A4/mWoUBmaF6maRS0NvHkT4nzcgGOe7cjbdDOzwfPIjSc9ZnG52W QuMc7OeoUSyQTWuEyrY8EuvCoHW5U9Ohh+xuv3MZc6elqZE6etxVNIAhQYqtsCiyQydwwU +rUBoxiwCgtw42CVHONPTD5G/usuT9oDiLI9LS49eDuJLIRwHizmXNsMZkccBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777877261; a=rsa-sha256; cv=none; b=YFkMJ+uZd4bUnUErlPqhAmC3NvuLM8sCnBZ+7/qtrAgqGntOlW16nW27NfRfjI8T8EKMcY tvmrpBhFMxFSl3/QqDqDjb+nR58p0xEoXQEP/qXcw0gDDLRDkGtEv0eoNbFB1MJdElkUGY iDq5CFOoAJhwab5k9zdyaEeTNfewzG9N13Rb1RIIhw9xrwMDBCdam/Qf93GEnaKdjWUM0z 8+UIEFS+Y5LFn8WUbJJXhIMHPNvVrifvVL8TMA2k+jcsvaI5LHURuMP0GhYVAvT3KkX7ty jSaP2/b2U+0OBUsc3pwu68lG4S9ts3+wyemlMdm6jwV2SV1bHipKPRCuBmbuWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8VRNdl3nSFLIcCGquTkLKsp5RasjTGpHhjZtcTTbhc=; b=ww0o/eQK4k1xBpAcpBun5Qv5k1pnqw/aVtVIZJC2wQjg8e4cEcJwEV6dC0dUMyig6s6QMl MkkfBS4XhDUoPqEWejl9u4dvfq/d4u/ZJWaegK3fyiVBjTZviv0Y2f3p8aCRF1VMZ8BXfm 6qfZYkoWGA3teo9rZqhSrYexWmAvKhJgCtni37RBtO/oEflGh9GXHqqp1daezzAAkAavXq tslBQtc+5WN4KCftr86ytL2oJIpsImRUkJ9CIidP1IPpxB0PKsehqW05gZKf9QWIMmBLrr Nd6mZgX0VFkfdHQVGnynCvvfqYn0GrIacXdySZ7amtaRDxRcUidBLm2WKtFBmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzK0Qw4z17XM for ; Mon, 04 May 2026 06:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e183 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 06:47:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: 0073b3d572af - stable/15 - lib/msun: Added fmaximum_mag and fmaximum_num families List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 0073b3d572af124ba453a39e3229d97b8bd5ab02 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 06:47:41 +0000 Message-Id: <69f8410d.3e183.1cf6f136@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=0073b3d572af124ba453a39e3229d97b8bd5ab02 commit 0073b3d572af124ba453a39e3229d97b8bd5ab02 Author: Jesús Blázquez AuthorDate: 2026-04-11 08:11:44 +0000 Commit: Robert Clausecker CommitDate: 2026-05-04 06:40:11 +0000 lib/msun: Added fmaximum_mag and fmaximum_num families Added support for the f{maximum,minimum}_{mag,num} families, the new C23 standard functions for maximum magnitude and number-preferring maximum. This includes modifying fmax.3, on top of D56230, to recommend the use of fmaximum_num and fminimum_num. Reviewed by: fuz, kargl MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D56236 (cherry picked from commit 4e30c12973c73539bef01be3870a90b6346141e8) --- lib/msun/Makefile | 16 ++++- lib/msun/Symbol.map | 12 ++++ lib/msun/man/fmax.3 | 9 ++- lib/msun/man/fmaximum.3 | 4 +- lib/msun/man/fmaximum_mag.3 | 102 ++++++++++++++++++++++++++++ lib/msun/man/fmaximum_num.3 | 113 ++++++++++++++++++++++++++++++++ lib/msun/src/math.h | 12 ++++ lib/msun/src/s_fmaximum_mag.c | 73 +++++++++++++++++++++ lib/msun/src/s_fmaximum_magf.c | 68 +++++++++++++++++++ lib/msun/src/s_fmaximum_magl.c | 62 ++++++++++++++++++ lib/msun/src/s_fmaximum_num.c | 74 +++++++++++++++++++++ lib/msun/src/s_fmaximum_numf.c | 70 ++++++++++++++++++++ lib/msun/src/s_fmaximum_numl.c | 63 ++++++++++++++++++ lib/msun/src/s_fminimum.c | 2 +- lib/msun/src/s_fminimum_mag.c | 74 +++++++++++++++++++++ lib/msun/src/s_fminimum_magf.c | 69 +++++++++++++++++++ lib/msun/src/s_fminimum_magl.c | 63 ++++++++++++++++++ lib/msun/src/s_fminimum_num.c | 76 +++++++++++++++++++++ lib/msun/src/s_fminimum_numf.c | 71 ++++++++++++++++++++ lib/msun/src/s_fminimum_numl.c | 65 ++++++++++++++++++ lib/msun/src/s_fminimumf.c | 2 +- lib/msun/src/s_fminimuml.c | 2 +- lib/msun/tests/fmaximum_fminimum_test.c | 78 +++++++++++++++++++++- 23 files changed, 1169 insertions(+), 11 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 4a0ff1ad92b6..d61f4e9a1659 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -76,7 +76,9 @@ COMMON_SRCS= b_tgamma.c \ s_finite.c s_finitef.c \ s_floor.c s_floorf.c s_fma.c s_fmaf.c \ s_fmax.c s_fmaxf.c s_fmaximum.c s_fmaximumf.c \ + s_fmaximum_mag.c s_fmaximum_magf.c s_fmaximum_num.c s_fmaximum_numf.c \ s_fmin.c s_fminf.c s_fminimum.c s_fminimumf.c \ + s_fminimum_mag.c s_fminimum_magf.c s_fminimum_num.c s_fminimum_numf.c \ s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \ @@ -133,7 +135,8 @@ COMMON_SRCS+= b_tgammal.c catrigl.c \ s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cexpl.c \ s_clogl.c s_cosl.c s_cospil.c s_cprojl.c \ s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \ - s_fmaxl.c s_fmaximuml.c s_fminl.c s_fminimuml.c \ + s_fmaxl.c s_fmaximuml.c s_fmaximum_magl.c s_fmaximum_numl.c \ + s_fminl.c s_fminimuml.c s_fminimum_magl.c s_fminimum_numl.c \ s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \ s_scalbnl.c s_sinl.c s_sincosl.c s_sinpil.c \ @@ -179,7 +182,8 @@ MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ exp.3 fabs.3 fdim.3 \ feclearexcept.3 feenableexcept.3 fegetenv.3 \ fegetround.3 fenv.3 floor.3 fma.3 \ - fmax.3 fmaximum.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ + fmax.3 fmaximum.3 fmaximum_mag.3 fmaximum_num.3 fmod.3 \ + hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \ nextafter.3 remainder.3 rint.3 \ round.3 scalbn.3 signbit.3 sin.3 sincos.3 \ @@ -232,9 +236,15 @@ MLINKS+=floor.3 floorf.3 floor.3 floorl.3 MLINKS+=fma.3 fmaf.3 fma.3 fmal.3 MLINKS+=fmax.3 fmaxf.3 fmax.3 fmaxl.3 \ fmax.3 fmin.3 fmax.3 fminf.3 fmax.3 fminl.3 -MLINKS+=fmaximum.3 fmaximuml.3 fmaximum.3 fmaximumf.3 \ +MLINKS+=fmaximum.3 fmaximumf.3 fmaximum.3 fmaximuml.3 \ fmaximum.3 fminimum.3 fmaximum.3 fminimumf.3 \ fmaximum.3 fminimuml.3 +MLINKS+=fmaximum_mag.3 fmaximum_magf.3 fmaximum_mag.3 fmaximum_magl.3 \ + fmaximum_mag.3 fminimum_mag.3 fmaximum_mag.3 fminimum_magf.3 \ + fmaximum_mag.3 fminimum_magl.3 +MLINKS+=fmaximum_num.3 fmaximum_numf.3 fmaximum_num.3 fmaximum_numl.3 \ + fmaximum_num.3 fminimum_num.3 fmaximum_num.3 fminimum_numf.3 \ + fmaximum_num.3 fminimum_numl.3 MLINKS+=fmod.3 fmodf.3 fmod.3 fmodl.3 MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 cabsl.3 \ hypot.3 hypotf.3 hypot.3 hypotl.3 diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map index 932cc000fe52..35addfcee3d5 100644 --- a/lib/msun/Symbol.map +++ b/lib/msun/Symbol.map @@ -326,4 +326,16 @@ FBSD_1.9 { fminimum; fminimumf; fminimuml; + fmaximum_mag; + fmaximum_magf; + fmaximum_magl; + fminimum_mag; + fminimum_magf; + fminimum_magl; + fmaximum_num; + fmaximum_numf; + fmaximum_numl; + fminimum_num; + fminimum_numf; + fminimum_numl; }; diff --git a/lib/msun/man/fmax.3 b/lib/msun/man/fmax.3 index 873a19375ce5..3b167a0b6f8d 100644 --- a/lib/msun/man/fmax.3 +++ b/lib/msun/man/fmax.3 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 6, 2026 +.Dd April 11, 2026 .Dt FMAX 3 .Os .Sh NAME @@ -93,6 +93,13 @@ as being larger than .Li -0.0 . This behavior is not specified by the C standard, is not portable, and may not occur in light of compiler optimizations. +Applications requiring specific handling of signed zeroes or +.No \*(Na +values are recommended to use +.Xr fmaximum_num 3 +and +.Xr fminimum_num 3 +instead, which have strictly defined behavior for these cases. .Sh HISTORY These routines first appeared in .Fx 5.3 . diff --git a/lib/msun/man/fmaximum.3 b/lib/msun/man/fmaximum.3 index bd301163a034..ef26c12268c0 100644 --- a/lib/msun/man/fmaximum.3 +++ b/lib/msun/man/fmaximum.3 @@ -83,9 +83,9 @@ or is an \*(Na, then the result is an \*(Na. These routines do not raise any floating-point exceptions. .Sh SEE ALSO -.Xr fabs 3 , -.Xr fdim 3 , .Xr fmax 3 , +.Xr fmaximum_num 3 , +.Xr fmaximum_mag 3 , .Xr math 3 .Sh STANDARDS The diff --git a/lib/msun/man/fmaximum_mag.3 b/lib/msun/man/fmaximum_mag.3 new file mode 100644 index 000000000000..f5e4c39f96ef --- /dev/null +++ b/lib/msun/man/fmaximum_mag.3 @@ -0,0 +1,102 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 3, 2026 +.Dt FMAXIMUM_MAG 3 +.Os +.Sh NAME +.Nm fmaximum_mag , +.Nm fmaximum_magf , +.Nm fmaximum_magl , +.Nm fminimum_mag , +.Nm fminimum_magf , +.Nm fminimum_magl +.Nd floating-point maximum and minimum magnitude functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum_mag "double x" "double y" +.Ft float +.Fn fmaximum_magf "float x" "float y" +.Ft "long double" +.Fn fmaximum_magl "long double x" "long double y" +.Ft double +.Fn fminimum_mag "double x" "double y" +.Ft float +.Fn fminimum_magf "float x" "float y" +.Ft "long double" +.Fn fminimum_magl "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum_mag , +.Fn fmaximum_magf , +and +.Fn fmaximum_magl +functions determine the larger of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the larger absolute value. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fmaximum +function on the arguments. +.Pp +Likewise, the +.Fn fminimum_mag , +.Fn fminimum_magf , +and +.Fn fminimum_magl +functions determine the smaller of the absolute values of +.Fa x +and +.Fa y , +and return the argument with the smaller absolute value. +If the absolute values are equal, the behavior is equivalent to calling the corresponding +.Fn fminimum +function on the arguments. +.Pp +If either argument is an \*(Na, then the result is an \*(Na. +These routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fmax 3 , +.Xr fmaximum 3 , +.Xr fmaximum_num 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum_mag , +.Fn fmaximum_magf , +.Fn fmaximum_magl , +.Fn fminimum_mag , +.Fn fminimum_magf , +and +.Fn fminimum_magl +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 . diff --git a/lib/msun/man/fmaximum_num.3 b/lib/msun/man/fmaximum_num.3 new file mode 100644 index 000000000000..33fa759f0173 --- /dev/null +++ b/lib/msun/man/fmaximum_num.3 @@ -0,0 +1,113 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 3, 2026 +.Dt FMAXIMUM_NUM 3 +.Os +.Sh NAME +.Nm fmaximum_num , +.Nm fmaximum_numf , +.Nm fmaximum_numl , +.Nm fminimum_num , +.Nm fminimum_numf , +.Nm fminimum_numl +.Nd floating-point maximum and minimum number functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum_num "double x" "double y" +.Ft float +.Fn fmaximum_numf "float x" "float y" +.Ft "long double" +.Fn fmaximum_numl "long double x" "long double y" +.Ft double +.Fn fminimum_num "double x" "double y" +.Ft float +.Fn fminimum_numf "float x" "float y" +.Ft "long double" +.Fn fminimum_numl "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum_num , +.Fn fmaximum_numf , +and +.Fn fmaximum_numl +functions determine the larger of +.Fa x +and +.Fa y , +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If both arguments are numeric, the larger value is returned. +If both arguments are \*(Nas, a quiet \*(Na is returned. +For the purpose of these functions, positive zero is considered +greater than negative zero. +.Pp +Likewise, the +.Fn fminimum_num , +.Fn fminimum_numf , +and +.Fn fminimum_numl +functions determine the smaller of +.Fa x +and +.Fa y , +preferring a numeric value over an \*(Na. +If one argument is a numeric value and the other is an \*(Na, +the numeric value is returned. +If both arguments are numeric, the smaller value is returned. +If both arguments are \*(Nas, a quiet \*(Na is returned. +For the purpose of these functions, negative zero is considered +less than positive zero. +.Pp +Unlike with the +.Xr fmaximum 3 +and +.Xr fmaximum_mag 3 +families of functions, if either argument is a signaling \*(Na, +an invalid exception is raised. +Otherwise, these routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fmax 3 , +.Xr fmaximum 3 , +.Xr fmaximum_mag 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum_num , +.Fn fmaximum_numf , +.Fn fmaximum_numl , +.Fn fminimum_num , +.Fn fminimum_numf , +and +.Fn fminimum_numl +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 . diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 103b82c1cdf8..853984953a91 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -526,6 +526,18 @@ long double fmaximuml(long double, long double); double fminimum(double, double); float fminimumf(float, float); long double fminimuml(long double, long double); +double fmaximum_mag(double, double); +float fmaximum_magf(float, float); +long double fmaximum_magl(long double, long double); +double fminimum_mag(double, double); +float fminimum_magf(float, float); +long double fminimum_magl(long double, long double); +double fmaximum_num(double, double); +float fmaximum_numf(float, float); +long double fmaximum_numl(long double, long double); +double fminimum_num(double, double); +float fminimum_numf(float, float); +long double fminimum_numl(long double, long double); #endif /* __ISO_C_VISIBLE >= 2023 */ __END_DECLS diff --git a/lib/msun/src/s_fmaximum_mag.c b/lib/msun/src/s_fmaximum_mag.c new file mode 100644 index 000000000000..1b1250f4c36e --- /dev/null +++ b/lib/msun/src/s_fmaximum_mag.c @@ -0,0 +1,73 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAG +double +fmaximum_mag(double x, double y) +{ + return (__builtin_fmaximum_mag(x, y)); +} +#else +double +fmaximum_mag(double x, double y) +{ + union IEEEd2bits u[2]; + + u[0].d = x; + u[1].d = y; + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0) || + (u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0)) + return (NAN); + + double ax = fabs(x); + double ay = fabs(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum_mag, fmaximum_magl); +#endif + diff --git a/lib/msun/src/s_fmaximum_magf.c b/lib/msun/src/s_fmaximum_magf.c new file mode 100644 index 000000000000..6193b9184970 --- /dev/null +++ b/lib/msun/src/s_fmaximum_magf.c @@ -0,0 +1,68 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_MAGF +float +fmaximum_magf(float x, float y) +{ + return (__builtin_fmaximum_magf(x, y)); +} +#else +float +fmaximum_magf(float x, float y) +{ + union IEEEf2bits u[2]; + + u[0].f = x; + u[1].f = y; + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 255 && u[0].bits.man != 0) || + (u[1].bits.exp == 255 && u[1].bits.man != 0)) + return (NAN); + + float ax = fabsf(x); + float ay = fabsf(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x); +} +#endif + diff --git a/lib/msun/src/s_fmaximum_magl.c b/lib/msun/src/s_fmaximum_magl.c new file mode 100644 index 000000000000..f2426b050d33 --- /dev/null +++ b/lib/msun/src/s_fmaximum_magl.c @@ -0,0 +1,62 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +long double +fmaximum_magl(long double x, long double y) +{ + union IEEEl2bits u[2]; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 32767 && (u[0].bits.manh | u[0].bits.manl) != 0) || + (u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0)) + return (NAN); + + long double ax = fabsl(x); + long double ay = fabsl(y); + + if (ay > ax) + return (y); + if (ax > ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x); +} + diff --git a/lib/msun/src/s_fmaximum_num.c b/lib/msun/src/s_fmaximum_num.c new file mode 100644 index 000000000000..cf16c76f89b9 --- /dev/null +++ b/lib/msun/src/s_fmaximum_num.c @@ -0,0 +1,74 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_NUM +double +fmaximum_num(double x, double y) +{ + return (__builtin_fmaximum_num(x, y)); +} +#else +double +fmaximum_num(double x, double y) +{ + union IEEEd2bits u[2]; + bool nan_x, nan_y; + + u[0].d = x; + u[1].d = y; + + nan_x = u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0; + nan_y = u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0; + + if (nan_x || nan_y) { + /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + if (nan_x && nan_y) + return (x + y); + if (nan_x) + return ((x + y) != 0.0 ? y : y); + return ((x + y) != 0.0 ? x : x); + } + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x > y ? x : y); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum_num, fmaximum_numl); +#endif diff --git a/lib/msun/src/s_fmaximum_numf.c b/lib/msun/src/s_fmaximum_numf.c new file mode 100644 index 000000000000..c30179e47f9e --- /dev/null +++ b/lib/msun/src/s_fmaximum_numf.c @@ -0,0 +1,70 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM_NUMF +float +fmaximum_numf(float x, float y) +{ + return (__builtin_fmaximum_numf(x, y)); +} +#else +float +fmaximum_numf(float x, float y) +{ + union IEEEf2bits u[2]; + bool nan_x, nan_y; + + u[0].f = x; + u[1].f = y; + + nan_x = u[0].bits.exp == 255 && u[0].bits.man != 0; + nan_y = u[1].bits.exp == 255 && u[1].bits.man != 0; + + if (nan_x || nan_y) { + /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + if (nan_x && nan_y) + return (x + y); + if (nan_x) + return ((x + y) != 0.0 ? y : y); + return ((x + y) != 0.0 ? x : x); + } + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x > y ? x : y); +} +#endif + diff --git a/lib/msun/src/s_fmaximum_numl.c b/lib/msun/src/s_fmaximum_numl.c new file mode 100644 index 000000000000..2291d01ca4f4 --- /dev/null +++ b/lib/msun/src/s_fmaximum_numl.c @@ -0,0 +1,63 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +long double +fmaximum_numl(long double x, long double y) +{ + union IEEEl2bits u[2]; + bool nan_x, nan_y; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + nan_x = u[0].bits.exp == 32767 && (u[0].bits.manh | u[0].bits.manl) != 0; + nan_y = u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0; + + if (nan_x || nan_y) { + /* These ternary conditionals force (x+y), so that sNaN's raise exceptions */ + if (nan_x && nan_y) + return (x + y); + if (nan_x) + return ((x + y) != 0.0 ? y : y); + return ((x + y) != 0.0 ? x : x); + } + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x > y ? x : y); +} diff --git a/lib/msun/src/s_fminimum.c b/lib/msun/src/s_fminimum.c index 64c81b560626..fa3fd17fe241 100644 --- a/lib/msun/src/s_fminimum.c +++ b/lib/msun/src/s_fminimum.c @@ -47,7 +47,7 @@ fminimum(double x, double y) u[0].d = x; u[1].d = y; - /* Check for NaNs to avoid raising spurious exceptions. */ + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ if (u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0 || u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0) return (NAN); diff --git a/lib/msun/src/s_fminimum_mag.c b/lib/msun/src/s_fminimum_mag.c new file mode 100644 index 000000000000..cd21fb948a8e --- /dev/null +++ b/lib/msun/src/s_fminimum_mag.c @@ -0,0 +1,74 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM_MAG +double +fminimum_mag(double x, double y) +{ + return (__builtin_fminimum_mag(x, y)); +} +#else +double +fminimum_mag(double x, double y) +{ + union IEEEd2bits u[2]; + + u[0].d = x; + u[1].d = y; + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if (u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0 || + u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0) + return (NAN); + + double ax = fabs(x); + double ay = fabs(y); + + if (ay < ax) + return (y); + if (ax < ay) + return (x); + + /* If magnitudes are equal, we break the tie with the sign */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].d); + + return (x); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fminimum_mag, fminimum_magl); +#endif + + diff --git a/lib/msun/src/s_fminimum_magf.c b/lib/msun/src/s_fminimum_magf.c new file mode 100644 index 000000000000..9c04859184ea --- /dev/null +++ b/lib/msun/src/s_fminimum_magf.c @@ -0,0 +1,69 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + *** 496 LINES SKIPPED *** From nobody Mon May 4 06:47:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzP4FQ6z6cjLX for ; Mon, 04 May 2026 06:47: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 4g8BzP2m4Zz3FjC for ; Mon, 04 May 2026 06:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPAm1cBogBh5h5M1h2HHEfgm7kqk43S4EuqA7Pa4tpc=; b=nC2MNI+jI6zd4m0V0SRvIhyGBrUojng3ZmUIYCyeXXXmEPw7dKCfsJHZjupX7AeLofkC+1 a7DHbI5LjYrNoL21Kvs0nqHZEmijm1YdeymT6GdMew3vgZbS+JpLS1FT2bcv2yi0xlqYBV gdh0Xr8giui5gyiCHS9SaNN5N9nhIcEg/IEFkFffBSsOTKAPjm7MWT5coOIEXydzxFJ3k/ FQ4zP9ZPLD2nDWPij0+sTT9cWAeZeSuzzjSdfGYhswWlVOdo48/jLHB4pJKMOqz8Wq/abC PdXoCdv8lDzYoLjl5YHHeHD/5Cm6IIbKB4hXnO/JNkty5W64v6HOY11ovelCWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777877265; a=rsa-sha256; cv=none; b=WCuY+EgxRlsG4aqNOW8B2GUcI1ujkxGYdfIOUP3znFmdYIHRCwOB4CbmEqXzk7iA9x+auK 7Dz9/ntAgyGwb9q1PpCUYkPk2d6ViV7i5ZerPZZS7Cznw66ucc7ruDmkNgdXt2MGjevB/T FJ16F34DaY5QvyqiCtWdywrjO9EgIZrKWU/DcFEz+AH+7ORNc/TpSscya0h95FmD6Hx9uK iVEqvPoQYCDhdAWpoddiCRZJrekvG2aC3k1Dw8kjP2kCoYwZYXX8KLUYeS4ST96zK53uf3 KNKC+Te1UMvqA+9avDyVzLphvqtCV2PFyxRusOhajQXI7qZi+BGH644CWSDOWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777877265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPAm1cBogBh5h5M1h2HHEfgm7kqk43S4EuqA7Pa4tpc=; b=M95vLlzjHIwMLCgvLrBpeFKXtZTqcOt872ZCmRMclRuqmIXh9EghjLGZSXGOfWMR7RQVFB xqYiMbBccq/iQzGdtfP5gNnmiSj8MklkLgH3apqE5zlyHA3TrbJ+wBjLs+mDhIjVWikmr4 lwe0D68C5pgD+TDfu2VQChbehB9G4GTPsbdA4OeW6U0Zo75XaiCM/0l0HVPSlYY3JibjSw AeWUzhIFxkEU9pYcJcPo7tNv602JkotzZ3h3Ut9YIwfh7AUj9M4uFZb9uC/H3HnDZbDcBu iW4eL/ueXfYU/wlkKcI12rJL78KkcEUmsQw9P0Qp9Vhb96yQIxkKSeV9XxH6gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8BzP0cC2z17XP for ; Mon, 04 May 2026 06:47:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e36c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 06:47:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Jes=C3=BAs?= =?utf-8?Q?Bl=C3=A1zqu?=ez From: Robert Clausecker Subject: git: 10ea8de9df20 - stable/15 - lib/msun: Added fmaximum and fminimum family. Tests and man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 10ea8de9df20a9a64b7adad25576ac90bbef63ed Auto-Submitted: auto-generated Date: Mon, 04 May 2026 06:47:39 +0000 Message-Id: <69f8410b.3e36c.1915fcb8@gitrepo.freebsd.org> The branch stable/15 has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=10ea8de9df20a9a64b7adad25576ac90bbef63ed commit 10ea8de9df20a9a64b7adad25576ac90bbef63ed Author: Jesús Blázquez AuthorDate: 2026-03-31 16:31:15 +0000 Commit: Robert Clausecker CommitDate: 2026-05-04 06:40:11 +0000 lib/msun: Added fmaximum and fminimum family. Tests and man page Starting from the existing fmax{,f,l} functions I've added the fmaximum family, which handles NaN according to the newest standard (propagating it). This commit is a PoC for GSoC 2026. Reviewed by: fuz, kargl MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D55834 (cherry picked from commit e55db843ef45a8788f69e110d97210fb3968b92f) --- lib/msun/Makefile | 15 ++- lib/msun/Symbol.map | 11 ++ lib/msun/man/fmaximum.3 | 103 +++++++++++++++++ lib/msun/src/math.h | 6 + lib/msun/src/s_fmaximum.c | 65 +++++++++++ lib/msun/src/s_fmaximumf.c | 60 ++++++++++ lib/msun/src/s_fmaximuml.c | 54 +++++++++ lib/msun/src/s_fminimum.c | 66 +++++++++++ lib/msun/src/s_fminimumf.c | 61 +++++++++++ lib/msun/src/s_fminimuml.c | 55 ++++++++++ lib/msun/tests/Makefile | 1 + lib/msun/tests/fmaximum_fminimum_test.c | 188 ++++++++++++++++++++++++++++++++ 12 files changed, 680 insertions(+), 5 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 4dc815ce87fb..4a0ff1ad92b6 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -75,8 +75,9 @@ COMMON_SRCS= b_tgamma.c \ s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c \ s_finite.c s_finitef.c \ s_floor.c s_floorf.c s_fma.c s_fmaf.c \ - s_fmax.c s_fmaxf.c s_fmin.c \ - s_fminf.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ + s_fmax.c s_fmaxf.c s_fmaximum.c s_fmaximumf.c \ + s_fmin.c s_fminf.c s_fminimum.c s_fminimumf.c \ + s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \ s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \ s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \ s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \ @@ -132,7 +133,8 @@ COMMON_SRCS+= b_tgammal.c catrigl.c \ s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cexpl.c \ s_clogl.c s_cosl.c s_cospil.c s_cprojl.c \ s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \ - s_fmaxl.c s_fminl.c s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ + s_fmaxl.c s_fmaximuml.c s_fminl.c s_fminimuml.c \ + s_frexpl.c s_logbl.c s_logl.c s_nanl.c \ s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \ s_scalbnl.c s_sinl.c s_sincosl.c s_sinpil.c \ s_tanhl.c s_tanl.c s_tanpil.c s_truncl.c w_cabsl.c @@ -176,8 +178,8 @@ MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ cpow.3 csqrt.3 erf.3 \ exp.3 fabs.3 fdim.3 \ feclearexcept.3 feenableexcept.3 fegetenv.3 \ - fegetround.3 fenv.3 floor.3 \ - fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ + fegetround.3 fenv.3 floor.3 fma.3 \ + fmax.3 fmaximum.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \ lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \ nextafter.3 remainder.3 rint.3 \ round.3 scalbn.3 signbit.3 sin.3 sincos.3 \ @@ -230,6 +232,9 @@ MLINKS+=floor.3 floorf.3 floor.3 floorl.3 MLINKS+=fma.3 fmaf.3 fma.3 fmal.3 MLINKS+=fmax.3 fmaxf.3 fmax.3 fmaxl.3 \ fmax.3 fmin.3 fmax.3 fminf.3 fmax.3 fminl.3 +MLINKS+=fmaximum.3 fmaximuml.3 fmaximum.3 fmaximumf.3 \ + fmaximum.3 fminimum.3 fmaximum.3 fminimumf.3 \ + fmaximum.3 fminimuml.3 MLINKS+=fmod.3 fmodf.3 fmod.3 fmodl.3 MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 cabsl.3 \ hypot.3 hypotf.3 hypot.3 hypotl.3 diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map index 4d5a5e4d7e6e..932cc000fe52 100644 --- a/lib/msun/Symbol.map +++ b/lib/msun/Symbol.map @@ -316,3 +316,14 @@ FBSD_1.7 { tanpif; tanpil; }; + +/* First added in 16.0-CURRENT */ + +FBSD_1.9 { + fmaximum; + fmaximumf; + fmaximuml; + fminimum; + fminimumf; + fminimuml; +}; diff --git a/lib/msun/man/fmaximum.3 b/lib/msun/man/fmaximum.3 new file mode 100644 index 000000000000..bd301163a034 --- /dev/null +++ b/lib/msun/man/fmaximum.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 2004 David Schultz +.\" Copyright (c) 2026 Jesús Blázquez +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 4, 2026 +.Dt FMAXIMUM 3 +.Os +.Sh NAME +.Nm fmaximum , +.Nm fmaximumf , +.Nm fmaximuml , +.Nm fminimum , +.Nm fminimumf , +.Nm fminimuml +.Nd floating-point maximum and minimum functions +.Sh LIBRARY +.Lb libm +.Sh SYNOPSIS +.In math.h +.Ft double +.Fn fmaximum "double x" "double y" +.Ft float +.Fn fmaximumf "float x" "float y" +.Ft "long double" +.Fn fmaximuml "long double x" "long double y" +.Ft double +.Fn fminimum "double x" "double y" +.Ft float +.Fn fminimumf "float x" "float y" +.Ft "long double" +.Fn fminimuml "long double x" "long double y" +.Sh DESCRIPTION +The +.Fn fmaximum , +.Fn fmaximumf , +and +.Fn fmaximuml +functions return the larger of +.Fa x +and +.Fa y , +and likewise, the +.Fn fminimum , +.Fn fminimumf , +and +.Fn fminimuml +functions return the smaller of +.Fa x +and +.Fa y . +They treat +.Li +0.0 +as being larger than +.Li -0.0 . +.Pp +Unlike the +.Xr fmax 3 +family of functions, which ignore an \*(Na, if either argument to +.Fn fmaximum +or +.Fn fminimum +is an \*(Na, then the result is an \*(Na. +These routines do not raise any floating-point exceptions. +.Sh SEE ALSO +.Xr fabs 3 , +.Xr fdim 3 , +.Xr fmax 3 , +.Xr math 3 +.Sh STANDARDS +The +.Fn fmaximum , +.Fn fmaximumf , +.Fn fmaximuml , +.Fn fminimum , +.Fn fminimumf , +and +.Fn fminimuml +functions conform to +.St -isoC-2023 . +.Sh HISTORY +These routines first appeared in +.Fx 16.0 . diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 25bd64e36a63..103b82c1cdf8 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -520,6 +520,12 @@ long double sinpil(long double); double tanpi(double); float tanpif(float); long double tanpil(long double); +double fmaximum(double, double); +float fmaximumf(float, float); +long double fmaximuml(long double, long double); +double fminimum(double, double); +float fminimumf(float, float); +long double fminimuml(long double, long double); #endif /* __ISO_C_VISIBLE >= 2023 */ __END_DECLS diff --git a/lib/msun/src/s_fmaximum.c b/lib/msun/src/s_fmaximum.c new file mode 100644 index 000000000000..f9e1998a84c2 --- /dev/null +++ b/lib/msun/src/s_fmaximum.c @@ -0,0 +1,65 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUM +double +fmaximum(double x, double y) +{ + return (__builtin_fmaximum(x, y)); +} +#else +double +fmaximum(double x, double y) +{ + union IEEEd2bits u[2]; + + u[0].d = x; + u[1].d = y; + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0) || + (u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0)) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].d); + + return (x > y ? x : y); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fmaximum, fmaximuml); +#endif diff --git a/lib/msun/src/s_fmaximumf.c b/lib/msun/src/s_fmaximumf.c new file mode 100644 index 000000000000..db4b96c14749 --- /dev/null +++ b/lib/msun/src/s_fmaximumf.c @@ -0,0 +1,60 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMAXIMUMF +float +fmaximumf(float x, float y) +{ + return (__builtin_fmaximumf(x, y)); +} +#else +float +fmaximumf(float x, float y) +{ + union IEEEf2bits u[2]; + + u[0].f = x; + u[1].f = y; + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 255 && u[0].bits.man != 0) || + (u[1].bits.exp == 255 && u[1].bits.man != 0)) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[0].bits.sign].f); + + return (x > y ? x : y); +} +#endif diff --git a/lib/msun/src/s_fmaximuml.c b/lib/msun/src/s_fmaximuml.c new file mode 100644 index 000000000000..c849478cf05a --- /dev/null +++ b/lib/msun/src/s_fmaximuml.c @@ -0,0 +1,54 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +long double +fmaximuml(long double x, long double y) +{ + union IEEEl2bits u[2]; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + /* Handle NaN according to ISO/IEC 60559. NaN argument -> NaN return */ + if ((u[0].bits.exp == 32767 && (u[0].bits.manh | u[0].bits.manl) != 0) || + (u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0)) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[0].bits.sign ? y : x); + + return (x > y ? x : y); +} diff --git a/lib/msun/src/s_fminimum.c b/lib/msun/src/s_fminimum.c new file mode 100644 index 000000000000..64c81b560626 --- /dev/null +++ b/lib/msun/src/s_fminimum.c @@ -0,0 +1,66 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUM +double +fminimum(double x, double y) +{ + return (__builtin_fminimum(x, y)); +} +#else +double +fminimum(double x, double y) +{ + union IEEEd2bits u[2]; + + u[0].d = x; + u[1].d = y; + + /* Check for NaNs to avoid raising spurious exceptions. */ + if (u[0].bits.exp == 2047 && (u[0].bits.manh | u[0].bits.manl) != 0 || + u[1].bits.exp == 2047 && (u[1].bits.manh | u[1].bits.manl) != 0) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].d); + + return (x < y ? x : y); +} +#endif + +#if (LDBL_MANT_DIG == 53) +__weak_reference(fminimum, fminimuml); +#endif + diff --git a/lib/msun/src/s_fminimumf.c b/lib/msun/src/s_fminimumf.c new file mode 100644 index 000000000000..d3978f576931 --- /dev/null +++ b/lib/msun/src/s_fminimumf.c @@ -0,0 +1,61 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +#ifdef USE_BUILTIN_FMINIMUMF +float +fminimumf(float x, float y) +{ + return (__builtin_fminimumf(x, y)); +} +#else +float +fminimumf(float x, float y) +{ + union IEEEf2bits u[2]; + + u[0].f = x; + u[1].f = y; + + /* Check for NaNs to avoid raising spurious exceptions. */ + if (u[0].bits.exp == 255 && u[0].bits.man != 0 || + u[1].bits.exp == 255 && u[1].bits.man != 0) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[u[1].bits.sign].f); + + return (x < y ? x : y); +} +#endif + diff --git a/lib/msun/src/s_fminimuml.c b/lib/msun/src/s_fminimuml.c new file mode 100644 index 000000000000..e2c5527ee319 --- /dev/null +++ b/lib/msun/src/s_fminimuml.c @@ -0,0 +1,55 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2004 David Schultz + * Copyright (c) 2026 Jesús Blázquez + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "fpmath.h" + +long double +fminimuml(long double x, long double y) +{ + union IEEEl2bits u[2]; + + u[0].e = x; + mask_nbit_l(u[0]); + u[1].e = y; + mask_nbit_l(u[1]); + + /* Check for NaNs to avoid raising spurious exceptions. */ + if (u[0].bits.exp == 32767 && (u[0].bits.manh | u[0].bits.manl) != 0 || + u[1].bits.exp == 32767 && (u[1].bits.manh | u[1].bits.manl) != 0) + return (NAN); + + /* Handle comparisons of signed zeroes. */ + if (u[0].bits.sign != u[1].bits.sign) + return (u[1].bits.sign ? y : x); + + return (x < y ? x : y); +} + diff --git a/lib/msun/tests/Makefile b/lib/msun/tests/Makefile index d2a3ebffadb3..d723e0aaf656 100644 --- a/lib/msun/tests/Makefile +++ b/lib/msun/tests/Makefile @@ -58,6 +58,7 @@ ATF_TESTS_C+= exponential_test ATF_TESTS_C+= fenv_test ATF_TESTS_C+= fma_test ATF_TESTS_C+= fmaxmin_test +ATF_TESTS_C+= fmaximum_fminimum_test ATF_TESTS_C+= ilogb2_test ATF_TESTS_C+= invtrig_test ATF_TESTS_C+= invctrig_test diff --git a/lib/msun/tests/fmaximum_fminimum_test.c b/lib/msun/tests/fmaximum_fminimum_test.c new file mode 100644 index 000000000000..4641f80dfdad --- /dev/null +++ b/lib/msun/tests/fmaximum_fminimum_test.c @@ -0,0 +1,188 @@ +/* + * Copyright (c) 2008 David Schultz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Tests for fmaximum{,f,l}() and fminimum{,f,l}() + */ + +#include +#include +#include +#include + +#include "test-utils.h" + +#pragma STDC FENV_ACCESS ON + +/* + * Test whether func(x, y) has the expected result, and make sure no + * exceptions are raised. + */ +#define TEST(func, type, x, y, expected, rmode) do { \ + type __x = (x); /* convert before we clear exceptions */ \ + type __y = (y); \ + ATF_REQUIRE_EQ(0, feclearexcept(ALL_STD_EXCEPT)); \ + long double __result = func((__x), (__y)); \ + CHECK_FP_EXCEPTIONS_MSG(0, ALL_STD_EXCEPT, \ + #func "(%.20Lg, %.20Lg) rmode%d", (x), (y), rmode); \ + ATF_CHECK_MSG(fpequal_cs(__result, (expected), true), \ + #func "(%.20Lg, %.20Lg) rmode%d = %.20Lg, expected %.20Lg", \ + (x), (y), rmode, __result, (expected)); \ +} while (0) + +static void +testall_r(long double big, long double small, int rmode) +{ + long double expected_max, expected_min; + if (isnan(big) || isnan(small)) { + expected_max = big + small; + expected_min = expected_max; + } else { + expected_max = big; + expected_min = small; + } + + TEST(fmaximumf, float, big, small, expected_max, rmode); + TEST(fmaximumf, float, small, big, expected_max, rmode); + TEST(fmaximum, double, big, small, expected_max, rmode); + TEST(fmaximum, double, small, big, expected_max, rmode); + TEST(fmaximuml, long double, big, small, expected_max, rmode); + TEST(fmaximuml, long double, small, big, expected_max, rmode); + TEST(fminimumf, float, big, small, expected_min, rmode); + TEST(fminimumf, float, small, big, expected_min, rmode); + TEST(fminimum, double, big, small, expected_min, rmode); + TEST(fminimum, double, small, big, expected_min, rmode); + TEST(fminimuml, long double, big, small, expected_min, rmode); + TEST(fminimuml, long double, small, big, expected_min, rmode); +} + +/* + * Test all the functions: fmaximumf, fmaximum, fmaximuml, fminimumf, fminimum, fminimuml + * in all rounding modes and with the arguments in different orders. + * The input 'big' must be >= 'small'. + */ +static void +testall(long double big, long double small) +{ + static const int rmodes[] = { + FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, FE_TOWARDZERO + }; + int i; + + for (i = 0; i < 4; i++) { + fesetround(rmodes[i]); + testall_r(big, small, rmodes[i]); + } +} + +ATF_TC_WITHOUT_HEAD(test1); +ATF_TC_BODY(test1, tc) +{ + testall(1.0, 0.0); +} + +ATF_TC_WITHOUT_HEAD(test2); +ATF_TC_BODY(test2, tc) +{ + testall(42.0, nextafterf(42.0, -INFINITY)); +} +ATF_TC_WITHOUT_HEAD(test3); +ATF_TC_BODY(test3, tc) +{ + testall(nextafterf(42.0, INFINITY), 42.0); +} + +ATF_TC_WITHOUT_HEAD(test4); +ATF_TC_BODY(test4, tc) +{ + testall(-5.0, -5.0); +} + +ATF_TC_WITHOUT_HEAD(test5); +ATF_TC_BODY(test5, tc) +{ + testall(-3.0, -4.0); +} + +ATF_TC_WITHOUT_HEAD(test6); +ATF_TC_BODY(test6, tc) +{ + testall(1.0, NAN); +} +ATF_TC_WITHOUT_HEAD(test7); +ATF_TC_BODY(test7, tc) +{ + testall(INFINITY, NAN); +} + +ATF_TC_WITHOUT_HEAD(test8); +ATF_TC_BODY(test8, tc) +{ + testall(INFINITY, 1.0); +} + +ATF_TC_WITHOUT_HEAD(test9); +ATF_TC_BODY(test9, tc) +{ + testall(-3.0, -INFINITY); +} + +ATF_TC_WITHOUT_HEAD(test10); +ATF_TC_BODY(test10, tc) +{ + testall(3.0, -INFINITY); +} + +ATF_TC_WITHOUT_HEAD(test11); +ATF_TC_BODY(test11, tc) +{ + testall(NAN, NAN); +} + +ATF_TC_WITHOUT_HEAD(test12); +ATF_TC_BODY(test12, tc) +{ + testall(0.0, -0.0); +} + + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, test1); + ATF_TP_ADD_TC(tp, test2); + ATF_TP_ADD_TC(tp, test3); + ATF_TP_ADD_TC(tp, test4); + ATF_TP_ADD_TC(tp, test5); + ATF_TP_ADD_TC(tp, test6); + ATF_TP_ADD_TC(tp, test7); + ATF_TP_ADD_TC(tp, test8); + ATF_TP_ADD_TC(tp, test9); + ATF_TP_ADD_TC(tp, test10); + ATF_TP_ADD_TC(tp, test11); + ATF_TP_ADD_TC(tp, test12); + + return (atf_no_error()); +} From nobody Mon May 4 07:16:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8Cc70t0lz6clmb for ; Mon, 04 May 2026 07:16: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 4g8Cc65b0Yz3KMW for ; Mon, 04 May 2026 07:16:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777878966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1y4ZEVtH7zV23DGD6NQEVpeG3mF/G7QiUrm8BHjxP50=; b=EUAmjXYpH+3ojrwM7W/vawG+4lNECs7d6OfZW5tk2IilZIjBLLv9vNVO1mX9+bct5hqACQ FftRTuZ/y+WdeCme7ucfY9VfGFcLhVXTEU9hB8eV79TF0ldbRH4bEk5ZDe0kcI85G1njzP t78FmdiGhhf1e22l7CR1oqIHOjAjzJr6OEve/pRSC++iAj2ojTswrITC7HRY+OqombXtSR 8Bqh6mZL/qevs/4UNhY2m2n61AoEA0VN7MCaL6uapNaQgnzaOYTycwPBEbZv1KTzS21rRH OMDuvCOttQQnU8kbba0rBYtDxny7Q9lvH74zZVEWGoKpA3kVcCsy1RNwkN/u0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777878966; a=rsa-sha256; cv=none; b=oK72limL1PXJpJipCaXnmTDfHQGTpWdD5sGe9C56pXIircPzcFO/rOxelr3kWKUioyWT0R AXWuUUxHTn9YdJcunGfob0sCAf8N6/PCLFZirXo6XFps7ldq/jizqA5hmDss8k5q71vVbx sFQnLwVtsprhLD56Xavb8MPREBxN2C44JH1UR+tvtVt4tCe+Zkx/98Ck8hqs92iMtsvdCy zGPBHFTDIf9kwpUdevPYN/skpbTNpPo9imLSt3vg3gCk88r6ReLVpWn3V2U55Yo76YEmDG YhgyW/S2R47PspEmewLcJTiFybehRAw4OoR09veXGVo0bOIUFGv/C1pWxnDAHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777878966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1y4ZEVtH7zV23DGD6NQEVpeG3mF/G7QiUrm8BHjxP50=; b=CiiIvD2mI0N9wuD91JbvoyOVl5168b3Fo0Av33N0Nc8FwbpxedLMHUhliBEIVtLSaOB4zo njRslyx+x2XGF2u3LA37UsVNgSxs3JILfofc8nLk5AjY1RZXaJ3fMqipKlFH3Yt0w2ss5P dwWfx3DyPiS3qiQMbDFWGPwdoNQcbgp7rRT9EmLMKdXi2Wj4Bz6fuBELP2ooc5Yp6gIkhT kM7gqmVblvc0IFJEU7AUmJJcCGvxkg8kWOINwXf2wW2E86eoYgbskELfFdc5Cqy2f0tM/r nluV3FjOsC2QXQKhy5AWSbaCyszu5AbGuBhReqG48WK2Gju3QbpHDfVi8Tmbbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Cc652Bdz184b for ; Mon, 04 May 2026 07:16:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40d51 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:16:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: fca6c9e8f747 - stable/14 - contrib/expat: import expat 2.8.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fca6c9e8f7474132f30bf836f1c2b8d289bdc14d Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:16:01 +0000 Message-Id: <69f847b1.40d51.2ae32f62@gitrepo.freebsd.org> The branch stable/14 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=fca6c9e8f7474132f30bf836f1c2b8d289bdc14d commit fca6c9e8f7474132f30bf836f1c2b8d289bdc14d Author: Philip Paeps AuthorDate: 2026-04-27 10:38:10 +0000 Commit: Philip Paeps CommitDate: 2026-05-04 06:00:13 +0000 contrib/expat: import expat 2.8.0 Changes: https://github.com/libexpat/libexpat/blob/R_2_8_0/expat/Changes Security: CVE-2026-41080 (cherry picked from commit e3935639d8d8b6556cad18e1c90e419a65f26b40) --- contrib/expat/Changes | 66 +++++ contrib/expat/README.md | 8 +- contrib/expat/configure.ac | 137 +++++++-- contrib/expat/doc/reference.html | 57 +++- contrib/expat/doc/xmlwf.1 | 2 +- contrib/expat/doc/xmlwf.xml | 2 +- contrib/expat/examples/element_declarations.c | 5 +- contrib/expat/expat_config.h.in | 3 + contrib/expat/lib/Makefile.am | 36 +++ contrib/expat/lib/Makefile.in | 170 ++++++++++- contrib/expat/lib/expat.h | 16 +- contrib/expat/lib/expat_external.h | 5 +- contrib/expat/lib/internal.h | 4 +- contrib/expat/lib/libexpat.map.in | 5 + contrib/expat/lib/random_arc4random.c | 56 ++++ .../acc_tests_cxx.cpp => lib/random_arc4random.h} | 13 +- .../random_arc4random_buf.c} | 21 +- .../random_arc4random_buf.h} | 13 +- contrib/expat/lib/random_dev_urandom.c | 72 +++++ .../chardata_cxx.cpp => lib/random_dev_urandom.h} | 14 +- contrib/expat/lib/random_getentropy.c | 54 ++++ .../random_getentropy.h} | 14 +- contrib/expat/lib/random_getrandom.c | 90 ++++++ contrib/expat/lib/random_getrandom.h | 40 +++ contrib/expat/lib/random_rand_s.c | 88 ++++++ contrib/expat/lib/random_rand_s.h | 41 +++ contrib/expat/lib/xmlparse.c | 316 ++++++++------------- contrib/expat/lib/xmlrole.c | 2 +- contrib/expat/lib/xmltok.c | 2 +- contrib/expat/lib/xmltok_ns.c | 2 +- contrib/expat/tests/Makefile.am | 24 +- contrib/expat/tests/Makefile.in | 156 +--------- contrib/expat/tests/basic_tests.c | 26 ++ contrib/expat/tests/common_cxx.cpp | 32 --- contrib/expat/tests/dummy_cxx.cpp | 32 --- contrib/expat/tests/handlers_cxx.cpp | 32 --- contrib/expat/tests/memcheck_cxx.cpp | 32 --- contrib/expat/tests/minicheck_cxx.cpp | 32 --- contrib/expat/tests/misc_tests.c | 2 +- contrib/expat/tests/misc_tests_cxx.cpp | 32 --- contrib/expat/tests/ns_tests_cxx.cpp | 32 --- contrib/expat/tests/nsalloc_tests.c | 11 +- contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 --- contrib/expat/tests/structdata_cxx.cpp | 32 --- contrib/expat/xmlwf/xmlfile.c | 2 +- contrib/expat/xmlwf/xmlwf.c | 2 +- lib/libexpat/Makefile | 2 +- lib/libexpat/expat_config.h | 6 +- lib/libexpat/libbsdxml.3 | 4 +- 49 files changed, 1136 insertions(+), 741 deletions(-) diff --git a/contrib/expat/Changes b/contrib/expat/Changes index 2b3704a69b77..87611eea5c01 100644 --- a/contrib/expat/Changes +++ b/contrib/expat/Changes @@ -29,6 +29,72 @@ !! THANK YOU! Sebastian Pipping -- Berlin, 2026-03-17 !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +Release 2.8.0 Fri April 24 2026 + Security fixes: + #47 #1183 CVE-2026-41080 -- The existing hash flooding protection + (based on SipHash) only used 4 to 8 bytes of entropy for + a salt, when 16 bytes of salt are supported by the + implementation of SipHash used by Expat. Now full 16 bytes + of entropy are used to improve protection against hash + flooding attacks. + Existing API function XML_SetHashSalt is now deprecated + because of its limitations, and its use should be + considered a vulnerability. Please either use the new API + function XML_SetHashSalt16Bytes (with known-high-quality + entropy input only!) instead, or leave the derivation of + a 16-bytes hash salt from high quality entropy to Expat's + internal machinery (by *not* calling either of the two + XML_SetHashSalt* functions). + + Bug fixes: + #1188 Avoid propagating /dev/urandom file descriptor to child + processes + #1193 Fix interpretation of `errno` after randomization calls + #1195 Avoid assuming uint8_t is a character type + + Other changes: + #1180 #1199 Add support for `getentropy(3)` as a source of entropy; + this helps with protecting against hash flooding attacks, + in particular with WASI SDK (where none of the other + entropy sources supported by libexpat are available). + #1200 Autotools: Add `--without-arc4random` and + `--without-arc4random-buf` + #1200 Autotools: Make `./configure` output report on available + high quality entropy sources + #1173 Autotools|macOS: Sync CMake templates with CMake 4.3.0 + #1201 Autotools|CMake: Improve checks for `arc4random` and + `arc4random_buf` e.g. with modern glibc + #1201 CMake: Report on availability of functions `arc4random` and + `arc4random_buf` + #1201 CMake: Mark entropy related build switches as advanced + #1189 .. + #1203 #1204 Extract new files from entropy extraction code + #1194 Stop duplicating C tests 1:1 as C++ ("runtests_cxx") + #1202 Fix a comment typo in expat_external.h + #1187 Fix grammar in compile error message + #1192 examples: Build warning-free with -Wwrite-strings + #1171 tests: Address harmless warning from Coverity + #1170 #1176 Sync file headers + #1190 #1206 Version info bumped from 12:3:11 (libexpat*.so.1.11.3) + to 13:0:12 (libexpat*.so.1.12.0); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #1166 #1167 .. + #1172 #1175 .. + #1178 #1179 .. + #1185 #1205 CI: Make Perl XML::Parser integration tests run against + both version 2.47 and the latest release 2.58 + #1169 CI: Adapt to breaking changes regarding Inno Setup + #1173 CI: Adapt to breaking changes regarding CMake + #1174 CI: Include public corpus of fuzzer `xml_lpm_fuzzer` with + regression testing + #1181 #1182 CI: Bump WASI SDK from 30 to 32 + + Special thanks to: + Jérôme Duval + Matthew Fernandez + Release 2.7.5 Tue March 17 2026 Security fixes: #1158 CVE-2026-32776 -- Fix NULL function pointer dereference for diff --git a/contrib/expat/README.md b/contrib/expat/README.md index a67548be7fc9..619e60b2d16b 100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@ -11,7 +11,7 @@ > at the top of the `Changes` file. -# Expat, Release 2.7.5 +# Expat, Release 2.8.0 This is Expat, a C99 library for parsing [XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by @@ -297,10 +297,4 @@ EXPAT_SYMBOL_VERSIONING:BOOL=OFF // Treat all compiler warnings as errors EXPAT_WARNINGS_AS_ERRORS:BOOL=OFF - -// Make use of getrandom function (ON|OFF|AUTO) [default=AUTO] -EXPAT_WITH_GETRANDOM:STRING=AUTO - -// Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO] -EXPAT_WITH_SYS_GETRANDOM:STRING=AUTO ``` diff --git a/contrib/expat/configure.ac b/contrib/expat/configure.ac index 6d028b5f6658..87633650f321 100644 --- a/contrib/expat/configure.ac +++ b/contrib/expat/configure.ac @@ -89,9 +89,9 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=12 # sync -LIBREVISION=3 # with -LIBAGE=11 # CMakeLists.txt! +LIBCURRENT=13 # sync +LIBREVISION=0 # with +LIBAGE=12 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) AH_TOP([#ifndef EXPAT_CONFIG_H @@ -217,21 +217,51 @@ AM_CONDITIONAL([_INTERNAL_LARGE_SIZE], [echo -- "${CPPFLAGS}${CFLAGS}" | ${FGREP LT_LIB_M -AC_MSG_CHECKING([for arc4random_buf (BSD or glibc 2.36+)]) -AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main(void) { - char dummy[[123]]; // double brackets for m4 - arc4random_buf(dummy, 0U); - return 0; - } - ])], - [AC_DEFINE([HAVE_ARC4RANDOM_BUF], [1], [Define to 1 if you have the `arc4random_buf' function.]) - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - - AC_MSG_CHECKING([for arc4random (BSD, macOS, or glibc 2.36+)]) +AC_ARG_WITH([arc4random], + [AS_HELP_STRING([--with-arc4random], + [enforce the use of arc4random function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-arc4random], + [skip auto detect of arc4random @<:@default=check@:>@])], + [], + [with_arc4random=check]) + +AC_ARG_WITH([arc4random-buf], + [AS_HELP_STRING([--with-arc4random-buf], + [enforce the use of arc4random_buf function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-arc4random-buf], + [skip auto detect of arc4random_buf @<:@default=check@:>@])], + [], + [with_arc4random_buf=check]) + +have_arc4random=false +have_arc4random_buf=false + +AS_IF([test "x${with_arc4random_buf}" != xno], + [AC_MSG_CHECKING([for arc4random_buf (BSD or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ + #if ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 /* for glibc */ + #endif + #include + int main(void) { + char dummy[[123]]; // double brackets for m4 + arc4random_buf(dummy, 0U); + return 0; + } + ])], + [AC_DEFINE([HAVE_ARC4RANDOM_BUF], [1], [Define to 1 if you have the `arc4random_buf' function.]) + have_arc4random_buf=true + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AS_IF([test "x${with_arc4random_buf}" = xyes], + [AC_MSG_ERROR([enforced the use of arc4random_buf --with-arc4random-buf, but not detected])])])]) + +AS_IF([test "x${with_arc4random}" != xno], + [AC_MSG_CHECKING([for arc4random (BSD, macOS, or glibc 2.36+)]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + #if ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 /* for glibc */ + #endif #include int main(void) { arc4random(); @@ -239,8 +269,58 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ } ])], [AC_DEFINE([HAVE_ARC4RANDOM], [1], [Define to 1 if you have the `arc4random' function.]) + have_arc4random=true + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AS_IF([test "x${with_arc4random}" = xyes], + [AC_MSG_ERROR([enforced the use of arc4random --with-arc4random, but not detected])])])]) + +AM_CONDITIONAL([WITH_ARC4RANDOM], [test x${have_arc4random} = xtrue]) +AM_CONDITIONAL([WITH_ARC4RANDOM_BUF], [test x${have_arc4random_buf} = xtrue]) + +have_getentropy=false + +AC_ARG_WITH([getentropy], + [AS_HELP_STRING([--with-getentropy], + [enforce the use of getentropy function in the system @<:@default=check@:>@]) +AS_HELP_STRING([--without-getentropy], + [skip auto detect of getentropy @<:@default=check@:>@])], + [], + [with_getentropy=check]) + +AS_IF([test "x$with_getentropy" != xno], + [AC_MSG_CHECKING([for getentropy (BSD, macOS 10.12+, glibc 2.25+)]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ + // NOTE: Please keep this block in sync with its two siblings in files + // 'ConfigureChecks.cmake' and 'lib/random_getentropy.c'! + #if defined(__APPLE__) + # include + #else + # if defined(__GLIBC__) && ! defined(_DEFAULT_SOURCE) + # define _DEFAULT_SOURCE 1 + # endif + # if ! defined(_GNU_SOURCE) + # define _GNU_SOURCE 1 /* for musl */ + # endif + # include + #endif // ! defined(__APPLE__) + + int main(void) { + return getentropy(NULL, 0U); + } + ])], + [AC_DEFINE([HAVE_GETENTROPY], [1], [Define to 1 if you have the `getentropy' function.]) + have_getentropy=true AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])])]) + [AC_MSG_RESULT([no]) + AS_IF([test "x$with_getentropy" = xyes], + [AC_MSG_ERROR([enforced the use of getentropy --with-getentropy, but not detected])])])]) + +AM_CONDITIONAL([WITH_GETENTROPY], [test x${have_getentropy} = xtrue]) + +have_either_getrandom=false +have_getrandom_function=false +have_getrandom_syscall=false AC_ARG_WITH([getrandom], [AS_HELP_STRING([--with-getrandom], @@ -260,6 +340,8 @@ AS_IF([test "x$with_getrandom" != xno], } ])], [AC_DEFINE([HAVE_GETRANDOM], [1], [Define to 1 if you have the `getrandom' function.]) + have_either_getrandom=true + have_getrandom_function=true AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AS_IF([test "x$with_getrandom" = xyes], @@ -286,11 +368,15 @@ AS_IF([test "x$with_sys_getrandom" != xno], } ])], [AC_DEFINE([HAVE_SYSCALL_GETRANDOM], [1], [Define to 1 if you have `syscall' and `SYS_getrandom'.]) + have_either_getrandom=true + have_getrandom_syscall=true AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AS_IF([test "x$with_sys_getrandom" = xyes], [AC_MSG_ERROR([enforced the use of syscall SYS_getrandom --with-sys-getrandom, but not detected])])])]) +AM_CONDITIONAL([WITH_EITHER_GETRANDOM], [test x${have_either_getrandom} = xtrue]) + dnl Only needed for xmlwf: AC_CHECK_HEADERS(fcntl.h unistd.h) AC_TYPE_OFF_T @@ -486,4 +572,17 @@ User flags (override Automake flags on conflict): CPPFLAGS: ${CPPFLAGS} CFLAGS: ${CFLAGS} CXXFLAGS: ${CXXFLAGS} - LDFLAGS: ${LDFLAGS}]) + LDFLAGS: ${LDFLAGS} + +Entropy sources: + arc4random: ${have_arc4random} + arc4random_buf: ${have_arc4random_buf} + getentropy: ${have_getentropy} + getrandom: ${have_getrandom_function} + syscall SYS_getrandom: ${have_getrandom_syscall} + /dev/urandom: true + +Continue with e.g.: + make -j2 + make check + sudo make install]) diff --git a/contrib/expat/doc/reference.html b/contrib/expat/doc/reference.html index 5faa8d6515af..195bd183fd82 100644 --- a/contrib/expat/doc/reference.html +++ b/contrib/expat/doc/reference.html @@ -53,7 +53,7 @@

    - The Expat XML Parser Release 2.7.5 + The Expat XML Parser Release 2.8.0

    @@ -404,7 +404,11 @@
  • - XML_SetHashSalt + XML_SetHashSalt (deprecated) +
  • + +
  • + XML_SetHashSalt16Bytes
  • @@ -3449,22 +3453,35 @@ XML_SetParamEntityParsing(XML_Parser p,

    - XML_SetHashSalt + XML_SetHashSalt (deprecated)

     int XMLCALL
    -XML_SetHashSalt(XML_Parser p,
    +XML_SetHashSalt(XML_Parser parser,
                     unsigned long hash_salt);
     
    Sets the hash salt to use for internal hash calculations. Helps in preventing DoS attacks based on predicting hash function behavior. In order to have an effect this must be called before parsing has started. Returns 1 if successful, 0 when - called after XML_Parse or XML_ParseBuffer. + called after XML_Parse or XML_ParseBuffer or when + parser is NULL. +

    + Note: Function XML_SetHashSalt is + deprecated. Please use function XML_SetHashSalt16Bytes instead for better + security. XML_SetHashSalt only provides 4 to 8 bytes of entropy + (depending on the size of type unsigned long) while the SipHash + implementation used by Expat can leverage up to 16 bytes of entropy — at least + twice as much. Function XML_SetHashSalt16Bytes of Expat >=2.8.0 + (and where backported) matches the amount of entropy supported by SipHash. +

    +

    Note: This call is optional, as the parser will auto-generate a new - random salt value if no value has been set at the start of parsing. + random salt value internally if no value has been set by the start of parsing.

    @@ -3475,6 +3492,34 @@ XML_SetHashSalt(XML_Parser p,

    +

    + XML_SetHashSalt16Bytes +

    + +
    +/* Added in Expat 2.8.0. */
    +XML_Bool XMLCALL
    +XML_SetHashSalt16Bytes(XML_Parser parser,
    +                       const uint8_t entropy[16]);
    +
    +
    + Sets the hash salt to use for internal hash calculations. Helps in preventing DoS + attacks based on predicting hash function behavior. In order to have an effect + this must be called before parsing has started. Returns XML_TRUE if + successful, XML_FALSE when called after XML_Parse or + XML_ParseBuffer or when parser is NULL. +

    + Note: Setting a salt that is not from a source of high quality + entropy (like getentropy(3)) will make the parser vulnerable to + hash flooding attacks. +

    + +

    + Note: This call is optional, as the parser will auto-generate a new + random salt value internally if no value has been set by the start of parsing. +

    +
    +

    XML_UseForeignDTD

    diff --git a/contrib/expat/doc/xmlwf.1 b/contrib/expat/doc/xmlwf.1 index 75318fccc856..0736f110e3c1 100644 --- a/contrib/expat/doc/xmlwf.1 +++ b/contrib/expat/doc/xmlwf.1 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH XMLWF 1 "March 17, 2026" "" "" +.TH XMLWF 1 "April 24, 2026" "" "" .SH NAME xmlwf \- Determines if an XML document is well-formed .SH SYNOPSIS diff --git a/contrib/expat/doc/xmlwf.xml b/contrib/expat/doc/xmlwf.xml index c4fe92d44fb4..3a3897750cb1 100644 --- a/contrib/expat/doc/xmlwf.xml +++ b/contrib/expat/doc/xmlwf.xml @@ -21,7 +21,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ Scott"> Bronson"> - March 17, 2026"> + April 24, 2026"> 1"> bronson@rinspin.com"> diff --git a/contrib/expat/examples/element_declarations.c b/contrib/expat/examples/element_declarations.c index d644b2ffa5ea..d864cf70a2f7 100644 --- a/contrib/expat/examples/element_declarations.c +++ b/contrib/expat/examples/element_declarations.c @@ -16,6 +16,7 @@ Copyright (c) 2017 Rhodri James Copyright (c) 2019 Zhongyuan Zhou Copyright (c) 2024 Hanno Böck + Copyright (c) 2026 Matthew Fernandez Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -82,7 +83,7 @@ stackPopFree(Stack *stackTop) { return newStackTop; } -static char * +static const char * contentTypeName(enum XML_Content_Type contentType) { switch (contentType) { case XML_CTYPE_EMPTY: @@ -102,7 +103,7 @@ contentTypeName(enum XML_Content_Type contentType) { } } -static char * +static const char * contentQuantName(enum XML_Content_Quant contentQuant) { switch (contentQuant) { case XML_CQUANT_NONE: diff --git a/contrib/expat/expat_config.h.in b/contrib/expat/expat_config.h.in index 7541bf6005e6..4d7d732e8052 100644 --- a/contrib/expat/expat_config.h.in +++ b/contrib/expat/expat_config.h.in @@ -24,6 +24,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H +/* Define to 1 if you have the `getentropy' function. */ +#undef HAVE_GETENTROPY + /* Define to 1 if you have the 'getpagesize' function. */ #undef HAVE_GETPAGESIZE diff --git a/contrib/expat/lib/Makefile.am b/contrib/expat/lib/Makefile.am index 493077231c57..27bf2ab64769 100644 --- a/contrib/expat/lib/Makefile.am +++ b/contrib/expat/lib/Makefile.am @@ -55,6 +55,42 @@ libexpat_la_SOURCES = \ xmltok.c \ xmlrole.c +if WITH_ARC4RANDOM + libexpat_la_SOURCES += \ + random_arc4random.c \ + random_arc4random.h +endif + +if WITH_ARC4RANDOM_BUF + libexpat_la_SOURCES += \ + random_arc4random_buf.c \ + random_arc4random_buf.h +endif + +if ! MINGW + libexpat_la_SOURCES += \ + random_dev_urandom.c \ + random_dev_urandom.h +endif + +if WITH_GETENTROPY + libexpat_la_SOURCES += \ + random_getentropy.c \ + random_getentropy.h +endif + +if WITH_EITHER_GETRANDOM + libexpat_la_SOURCES += \ + random_getrandom.c \ + random_getrandom.h +endif + +if MINGW + libexpat_la_SOURCES += \ + random_rand_s.c \ + random_rand_s.h +endif + if WITH_TESTS libtestpat_la_CPPFLAGS = -DXML_TESTING diff --git a/contrib/expat/lib/Makefile.in b/contrib/expat/lib/Makefile.in index d8e4fd59e117..4cd6fcfc6088 100644 --- a/contrib/expat/lib/Makefile.in +++ b/contrib/expat/lib/Makefile.in @@ -126,6 +126,30 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @HAVE_VSCRIPT_TRUE@am__append_1 = $(VSCRIPT_LDFLAGS),@builddir@/libexpat.map +@WITH_ARC4RANDOM_TRUE@am__append_2 = \ +@WITH_ARC4RANDOM_TRUE@ random_arc4random.c \ +@WITH_ARC4RANDOM_TRUE@ random_arc4random.h + +@WITH_ARC4RANDOM_BUF_TRUE@am__append_3 = \ +@WITH_ARC4RANDOM_BUF_TRUE@ random_arc4random_buf.c \ +@WITH_ARC4RANDOM_BUF_TRUE@ random_arc4random_buf.h + +@MINGW_FALSE@am__append_4 = \ +@MINGW_FALSE@ random_dev_urandom.c \ +@MINGW_FALSE@ random_dev_urandom.h + +@WITH_GETENTROPY_TRUE@am__append_5 = \ +@WITH_GETENTROPY_TRUE@ random_getentropy.c \ +@WITH_GETENTROPY_TRUE@ random_getentropy.h + +@WITH_EITHER_GETRANDOM_TRUE@am__append_6 = \ +@WITH_EITHER_GETRANDOM_TRUE@ random_getrandom.c \ +@WITH_EITHER_GETRANDOM_TRUE@ random_getrandom.h + +@MINGW_TRUE@am__append_7 = \ +@MINGW_TRUE@ random_rand_s.c \ +@MINGW_TRUE@ random_rand_s.h + subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -180,7 +204,21 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \ "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) libexpat_la_LIBADD = -am_libexpat_la_OBJECTS = xmlparse.lo xmltok.lo xmlrole.lo +am__libexpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c \ + random_arc4random.c random_arc4random.h \ + random_arc4random_buf.c random_arc4random_buf.h \ + random_dev_urandom.c random_dev_urandom.h random_getentropy.c \ + random_getentropy.h random_getrandom.c random_getrandom.h \ + random_rand_s.c random_rand_s.h +@WITH_ARC4RANDOM_TRUE@am__objects_1 = random_arc4random.lo +@WITH_ARC4RANDOM_BUF_TRUE@am__objects_2 = random_arc4random_buf.lo +@MINGW_FALSE@am__objects_3 = random_dev_urandom.lo +@WITH_GETENTROPY_TRUE@am__objects_4 = random_getentropy.lo +@WITH_EITHER_GETRANDOM_TRUE@am__objects_5 = random_getrandom.lo +@MINGW_TRUE@am__objects_6 = random_rand_s.lo +am_libexpat_la_OBJECTS = xmlparse.lo xmltok.lo xmlrole.lo \ + $(am__objects_1) $(am__objects_2) $(am__objects_3) \ + $(am__objects_4) $(am__objects_5) $(am__objects_6) libexpat_la_OBJECTS = $(am_libexpat_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -190,10 +228,26 @@ libexpat_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libexpat_la_LDFLAGS) $(LDFLAGS) -o $@ libtestpat_la_LIBADD = -am__libtestpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c -am__objects_1 = libtestpat_la-xmlparse.lo libtestpat_la-xmltok.lo \ - libtestpat_la-xmlrole.lo -@WITH_TESTS_TRUE@am_libtestpat_la_OBJECTS = $(am__objects_1) +am__libtestpat_la_SOURCES_DIST = xmlparse.c xmltok.c xmlrole.c \ + random_arc4random.c random_arc4random.h \ + random_arc4random_buf.c random_arc4random_buf.h \ + random_dev_urandom.c random_dev_urandom.h random_getentropy.c \ + random_getentropy.h random_getrandom.c random_getrandom.h \ + random_rand_s.c random_rand_s.h +@WITH_ARC4RANDOM_TRUE@am__objects_7 = \ +@WITH_ARC4RANDOM_TRUE@ libtestpat_la-random_arc4random.lo +@WITH_ARC4RANDOM_BUF_TRUE@am__objects_8 = libtestpat_la-random_arc4random_buf.lo +@MINGW_FALSE@am__objects_9 = libtestpat_la-random_dev_urandom.lo +@WITH_GETENTROPY_TRUE@am__objects_10 = \ +@WITH_GETENTROPY_TRUE@ libtestpat_la-random_getentropy.lo +@WITH_EITHER_GETRANDOM_TRUE@am__objects_11 = \ +@WITH_EITHER_GETRANDOM_TRUE@ libtestpat_la-random_getrandom.lo +@MINGW_TRUE@am__objects_12 = libtestpat_la-random_rand_s.lo +am__objects_13 = libtestpat_la-xmlparse.lo libtestpat_la-xmltok.lo \ + libtestpat_la-xmlrole.lo $(am__objects_7) $(am__objects_8) \ + $(am__objects_9) $(am__objects_10) $(am__objects_11) \ + $(am__objects_12) +@WITH_TESTS_TRUE@am_libtestpat_la_OBJECTS = $(am__objects_13) libtestpat_la_OBJECTS = $(am_libtestpat_la_OBJECTS) @WITH_TESTS_TRUE@am_libtestpat_la_rpath = AM_V_P = $(am__v_P_@AM_V@) @@ -211,10 +265,22 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/conftools/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libtestpat_la-xmlparse.Plo \ +am__depfiles_remade = ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo \ + ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo \ + ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo \ + ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo \ + ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo \ + ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo \ + ./$(DEPDIR)/libtestpat_la-xmlparse.Plo \ ./$(DEPDIR)/libtestpat_la-xmlrole.Plo \ - ./$(DEPDIR)/libtestpat_la-xmltok.Plo ./$(DEPDIR)/xmlparse.Plo \ - ./$(DEPDIR)/xmlrole.Plo ./$(DEPDIR)/xmltok.Plo + ./$(DEPDIR)/libtestpat_la-xmltok.Plo \ + ./$(DEPDIR)/random_arc4random.Plo \ + ./$(DEPDIR)/random_arc4random_buf.Plo \ + ./$(DEPDIR)/random_dev_urandom.Plo \ + ./$(DEPDIR)/random_getentropy.Plo \ + ./$(DEPDIR)/random_getrandom.Plo ./$(DEPDIR)/random_rand_s.Plo \ + ./$(DEPDIR)/xmlparse.Plo ./$(DEPDIR)/xmlrole.Plo \ + ./$(DEPDIR)/xmltok.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -235,7 +301,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libexpat_la_SOURCES) $(libtestpat_la_SOURCES) -DIST_SOURCES = $(libexpat_la_SOURCES) \ +DIST_SOURCES = $(am__libexpat_la_SOURCES_DIST) \ $(am__libtestpat_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -428,11 +494,9 @@ lib_LTLIBRARIES = libexpat.la @WITH_TESTS_TRUE@noinst_LTLIBRARIES = libtestpat.la libexpat_la_LDFLAGS = @AM_LDFLAGS@ @LIBM@ -no-undefined -version-info \ @LIBCURRENT@:@LIBREVISION@:@LIBAGE@ $(am__append_1) -libexpat_la_SOURCES = \ - xmlparse.c \ - xmltok.c \ - xmlrole.c - +libexpat_la_SOURCES = xmlparse.c xmltok.c xmlrole.c $(am__append_2) \ + $(am__append_3) $(am__append_4) $(am__append_5) \ + $(am__append_6) $(am__append_7) @WITH_TESTS_TRUE@libtestpat_la_CPPFLAGS = -DXML_TESTING @WITH_TESTS_TRUE@libtestpat_la_SOURCES = $(libexpat_la_SOURCES) doc_DATA = \ @@ -548,9 +612,21 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_arc4random.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_getentropy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_getrandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-random_rand_s.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmlparse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmlrole.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtestpat_la-xmltok.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_arc4random.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_arc4random_buf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_dev_urandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_getentropy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_getrandom.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_rand_s.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlparse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlrole.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmltok.Plo@am__quote@ # am--include-marker @@ -603,6 +679,48 @@ libtestpat_la-xmlrole.lo: xmlrole.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-xmlrole.lo `test -f 'xmlrole.c' || echo '$(srcdir)/'`xmlrole.c +libtestpat_la-random_arc4random.lo: random_arc4random.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_arc4random.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_arc4random.Tpo -c -o libtestpat_la-random_arc4random.lo `test -f 'random_arc4random.c' || echo '$(srcdir)/'`random_arc4random.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_arc4random.Tpo $(DEPDIR)/libtestpat_la-random_arc4random.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_arc4random.c' object='libtestpat_la-random_arc4random.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_arc4random.lo `test -f 'random_arc4random.c' || echo '$(srcdir)/'`random_arc4random.c + +libtestpat_la-random_arc4random_buf.lo: random_arc4random_buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_arc4random_buf.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_arc4random_buf.Tpo -c -o libtestpat_la-random_arc4random_buf.lo `test -f 'random_arc4random_buf.c' || echo '$(srcdir)/'`random_arc4random_buf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_arc4random_buf.Tpo $(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_arc4random_buf.c' object='libtestpat_la-random_arc4random_buf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_arc4random_buf.lo `test -f 'random_arc4random_buf.c' || echo '$(srcdir)/'`random_arc4random_buf.c + +libtestpat_la-random_dev_urandom.lo: random_dev_urandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_dev_urandom.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_dev_urandom.Tpo -c -o libtestpat_la-random_dev_urandom.lo `test -f 'random_dev_urandom.c' || echo '$(srcdir)/'`random_dev_urandom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_dev_urandom.Tpo $(DEPDIR)/libtestpat_la-random_dev_urandom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_dev_urandom.c' object='libtestpat_la-random_dev_urandom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_dev_urandom.lo `test -f 'random_dev_urandom.c' || echo '$(srcdir)/'`random_dev_urandom.c + +libtestpat_la-random_getentropy.lo: random_getentropy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_getentropy.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_getentropy.Tpo -c -o libtestpat_la-random_getentropy.lo `test -f 'random_getentropy.c' || echo '$(srcdir)/'`random_getentropy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_getentropy.Tpo $(DEPDIR)/libtestpat_la-random_getentropy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_getentropy.c' object='libtestpat_la-random_getentropy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_getentropy.lo `test -f 'random_getentropy.c' || echo '$(srcdir)/'`random_getentropy.c + +libtestpat_la-random_getrandom.lo: random_getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_getrandom.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_getrandom.Tpo -c -o libtestpat_la-random_getrandom.lo `test -f 'random_getrandom.c' || echo '$(srcdir)/'`random_getrandom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_getrandom.Tpo $(DEPDIR)/libtestpat_la-random_getrandom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_getrandom.c' object='libtestpat_la-random_getrandom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_getrandom.lo `test -f 'random_getrandom.c' || echo '$(srcdir)/'`random_getrandom.c + +libtestpat_la-random_rand_s.lo: random_rand_s.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtestpat_la-random_rand_s.lo -MD -MP -MF $(DEPDIR)/libtestpat_la-random_rand_s.Tpo -c -o libtestpat_la-random_rand_s.lo `test -f 'random_rand_s.c' || echo '$(srcdir)/'`random_rand_s.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtestpat_la-random_rand_s.Tpo $(DEPDIR)/libtestpat_la-random_rand_s.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='random_rand_s.c' object='libtestpat_la-random_rand_s.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtestpat_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtestpat_la-random_rand_s.lo `test -f 'random_rand_s.c' || echo '$(srcdir)/'`random_rand_s.c + mostlyclean-libtool: -rm -f *.lo @@ -779,9 +897,21 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlparse.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlrole.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmltok.Plo + -rm -f ./$(DEPDIR)/random_arc4random.Plo + -rm -f ./$(DEPDIR)/random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/random_getentropy.Plo + -rm -f ./$(DEPDIR)/random_getrandom.Plo + -rm -f ./$(DEPDIR)/random_rand_s.Plo -rm -f ./$(DEPDIR)/xmlparse.Plo -rm -f ./$(DEPDIR)/xmlrole.Plo -rm -f ./$(DEPDIR)/xmltok.Plo @@ -831,9 +961,21 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getentropy.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_getrandom.Plo + -rm -f ./$(DEPDIR)/libtestpat_la-random_rand_s.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlparse.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmlrole.Plo -rm -f ./$(DEPDIR)/libtestpat_la-xmltok.Plo + -rm -f ./$(DEPDIR)/random_arc4random.Plo + -rm -f ./$(DEPDIR)/random_arc4random_buf.Plo + -rm -f ./$(DEPDIR)/random_dev_urandom.Plo + -rm -f ./$(DEPDIR)/random_getentropy.Plo + -rm -f ./$(DEPDIR)/random_getrandom.Plo + -rm -f ./$(DEPDIR)/random_rand_s.Plo -rm -f ./$(DEPDIR)/xmlparse.Plo -rm -f ./$(DEPDIR)/xmlrole.Plo -rm -f ./$(DEPDIR)/xmltok.Plo diff --git a/contrib/expat/lib/expat.h b/contrib/expat/lib/expat.h index 18dbaebde293..79c609f19aa4 100644 --- a/contrib/expat/lib/expat.h +++ b/contrib/expat/lib/expat.h @@ -45,6 +45,7 @@ #ifndef Expat_INCLUDED # define Expat_INCLUDED 1 +# include // for uint8_t # include # include "expat_external.h" @@ -917,10 +918,21 @@ XML_SetParamEntityParsing(XML_Parser parser, function behavior. This must be called before parsing is started. Returns 1 if successful, 0 when called after parsing has started. Note: If parser == NULL, the function will do nothing and return 0. + DEPRECATED since Expat 2.8.0. */ XMLPARSEAPI(int) XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt); +/* Sets the hash salt to use for internal hash calculations. + Helps in preventing DoS attacks based on predicting hash function behavior. + This must be called before parsing is started. + Returns XML_TRUE if successful, XML_FALSE when called after parsing has + started or when parser is NULL. + Added in Expat 2.8.0. +*/ +XMLPARSEAPI(XML_Bool) +XML_SetHashSalt16Bytes(XML_Parser parser, const uint8_t entropy[16]); + /* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then XML_GetErrorCode returns information about the error. */ @@ -1081,8 +1093,8 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled); See https://semver.org */ # define XML_MAJOR_VERSION 2 -# define XML_MINOR_VERSION 7 -# define XML_MICRO_VERSION 5 +# define XML_MINOR_VERSION 8 +# define XML_MICRO_VERSION 0 # ifdef __cplusplus } diff --git a/contrib/expat/lib/expat_external.h b/contrib/expat/lib/expat_external.h index d9ddeb612f6d..7f5c4c3aae4d 100644 --- a/contrib/expat/lib/expat_external.h +++ b/contrib/expat/lib/expat_external.h @@ -12,9 +12,10 @@ Copyright (c) 2001-2002 Greg Stein Copyright (c) 2002-2006 Karl Waclawek Copyright (c) 2016 Cristian Rodríguez - Copyright (c) 2016-2026 Sebastian Pipping + Copyright (c) 2016-2025 Sebastian Pipping Copyright (c) 2017 Rhodri James Copyright (c) 2018 Yury Gribov + Copyright (c) 2026 Matthew Fernandez Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -45,7 +46,7 @@ /* Expat tries very hard to make the API boundary very specifically defined. There are two macros defined to control this boundary; each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or + achieve some different behavior, but doing so is not recommended or tested frequently. XMLCALL - The calling convention to use for all calls across the diff --git a/contrib/expat/lib/internal.h b/contrib/expat/lib/internal.h index 61266ebb7723..420d4217a569 100644 --- a/contrib/expat/lib/internal.h +++ b/contrib/expat/lib/internal.h @@ -28,7 +28,7 @@ Copyright (c) 2002-2003 Fred L. Drake, Jr. Copyright (c) 2002-2006 Karl Waclawek Copyright (c) 2003 Greg Stein - Copyright (c) 2016-2025 Sebastian Pipping + Copyright (c) 2016-2026 Sebastian Pipping Copyright (c) 2018 Yury Gribov Copyright (c) 2019 David Loffredo Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow @@ -113,6 +113,7 @@ #if defined(_WIN32) \ && (! defined(__USE_MINGW_ANSI_STDIO) \ || (1 - __USE_MINGW_ANSI_STDIO - 1 == 0)) +# define EXPAT_FMT_LLX(midpart) "%" midpart "I64x" # define EXPAT_FMT_ULL(midpart) "%" midpart "I64u" # if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW # define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d" @@ -122,6 +123,7 @@ # define EXPAT_FMT_SIZE_T(midpart) "%" midpart "u" # endif #else +# define EXPAT_FMT_LLX(midpart) "%" midpart "llx" # define EXPAT_FMT_ULL(midpart) "%" midpart "llu" # if ! defined(ULONG_MAX) # error Compiler did not define ULONG_MAX for us diff --git a/contrib/expat/lib/libexpat.map.in b/contrib/expat/lib/libexpat.map.in index 52e59ed3d931..71a6758fd746 100644 --- a/contrib/expat/lib/libexpat.map.in +++ b/contrib/expat/lib/libexpat.map.in @@ -117,3 +117,8 @@ LIBEXPAT_2.7.2 { @_EXPAT_COMMENT_DTD_OR_GE@ XML_SetAllocTrackerActivationThreshold; @_EXPAT_COMMENT_DTD_OR_GE@ XML_SetAllocTrackerMaximumAmplification; } LIBEXPAT_2.6.0; + +LIBEXPAT_2.8.0 { + global: + XML_SetHashSalt16Bytes; +} LIBEXPAT_2.7.2; diff --git a/contrib/expat/lib/random_arc4random.c b/contrib/expat/lib/random_arc4random.c new file mode 100644 index 000000000000..243fbbc82fda --- /dev/null +++ b/contrib/expat/lib/random_arc4random.c @@ -0,0 +1,56 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 2017-2026 Sebastian Pipping + Copyright (c) 2026 Matthew Fernandez + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#include "random_arc4random.h" + +#if ! defined(_DEFAULT_SOURCE) +# define _DEFAULT_SOURCE 1 /* for glibc */ +#endif + +#include // for uint32_t +#include // for arc4random *** 2045 LINES SKIPPED *** From nobody Mon May 4 07:17:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdC6prCz6cm1r for ; Mon, 04 May 2026 07:17: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 4g8CdC5bFgz3KjH for ; Mon, 04 May 2026 07:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U62V57FUitrvlbK39+LDXoanUJN7UoNEw2PrHDPPjmg=; b=batQ4wey26s20SSdfiMR1nA1akATDYd0+CuHL0hj8fIGyBK0e6+2J1hlH5Zaz+QTPpy7G7 +KUy1fz4+1TYSuIhk+Fjlo2LCXEhLUYhcBTCi6fJDKBWWGhv77F3TmJjQi32Hqy35Qrhuu FmAgR/XyFAdfiHLsnqDrrVmOQDxRQAozfGsPk+LPE7NjXJ3QVis7u3ZPnHkPv6k2/3eWAi C+isWk7enXJtsy7fylawbTX9FwRxSMKaK5BmVSkBlG42Xz8zG41x8fFKUML9oDqAs7KvGV NUtgTj4KNZaWbUew88bw5N2cMdAW3cvvqAq0M/dZuJeDOsdjIMU/yjfIGHZ0Kg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879023; a=rsa-sha256; cv=none; b=XSVqEm2zqTBpkez7ddRWPUNbE0/Hnm7RzCntpm1N0Ux08nGLeiOYX1gGslc89HwfmYzVig M1fFTYcS4kTcxnsZ/zz88xOzbG5cQrTMZpIzu83sg9XVZ16JQGFkQMTcwdsMmpK/wbli8I 9bwtHnVLOGE2HCqqti+L+1dTgGmGVGmUKAgsFK6jEqlZcVOK8QuErxdD/TQqSEP6fkWWi9 HHA7xLZBMCPEoVv3JkiHZssTNiAnjdR7OnqwGgjZfMrZpBdhdaVboORatk2EXWmPSo+w/f L07wMMEtfb/ZzvjVoIg5L2UopfJS0OOnUL9I0BHnaZheKkIipGLGGHYEhgWv6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U62V57FUitrvlbK39+LDXoanUJN7UoNEw2PrHDPPjmg=; b=K4mQNxS7Ewklp9Gnvk/jIolux7QalfzaFRoM5YeBqdU3TRNjguwc12YHcfoyE6dDVfNPnn Z6iRVP4pV0b4gkDsxYUBaNx4PgHOxJaUHyp24WD7h7oycaKDhFA1tFNH6ZQyB1a9YqyOOL KnK/Kk53Z43esf6Ea9WwDzuZhSZFsJ777j8fNTMjoiLmy2xLjWlMVpA6Gbkkz0qPUzjnbj 8zC/M42Vai6pjutAnvusQ/aEUQFSFnJF29qqjpD5xRxxSdXNqna/Ed4Br5LmWdXdzfjK3b KfIC1EGR2gEsa/ewtk4KtuH6fufQiPhsKH+vVB05JN0MERORq6jmaWVuFsnlEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdC4xy5z184c for ; Mon, 04 May 2026 07:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 406d9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e5c9bd66eaab - stable/15 - kern/init_main.c: path is for the binary, not process List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: e5c9bd66eaaba591163c06234551e4bf1c325c24 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:03 +0000 Message-Id: <69f847ef.406d9.2d02279b@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e5c9bd66eaaba591163c06234551e4bf1c325c24 commit e5c9bd66eaaba591163c06234551e4bf1c325c24 Author: Konstantin Belousov AuthorDate: 2026-04-26 10:15:18 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 kern/init_main.c: path is for the binary, not process (cherry picked from commit a268af3447ebaa9712174ba2d226ffdc66f68e98) --- sys/kern/init_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 4cccb2546a9a..3ce53ffa265b 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -709,7 +709,7 @@ static char init_path[MAXPATHLEN] = "/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init"; #endif SYSCTL_STRING(_kern, OID_AUTO, init_path, CTLFLAG_RD, init_path, 0, - "Path used to search the init process"); + "Path used to search for the init binary"); /* * Shutdown timeout of init(8). From nobody Mon May 4 07:17:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdF0YZDz6cm02 for ; Mon, 04 May 2026 07:17: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 4g8CdD6LkJz3KrF for ; Mon, 04 May 2026 07:17:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n0NhDFMsQOHxU0BtZTpdIH0acYAbp2vZj5mjFvmdnKY=; b=rAyiZmiHiFjbo7Vr0mG/gyWykot2EPc+Rtkyc2jTImM148DeiYaj23T3Tk/R4l0RXV0IU1 hETOWlsQLdjfp4xwz1f9p36kui6vnM+OUMQIV0c+N7XuWPPPn7RJDj8oSdlq0Lr8urX7zI YcvoxgFxA/ZRAUqxbscPcLFcwhU0CIcm/7mDbmmHNghDq9SOXpDy67S9AckXDIQChdZCgN hN2hNOeiNKsK5hOyLJxmhKq5Yma90gIt9ZOiiyY2co6UcNs7uKh4iq3SOE9xzAbXD9GGe4 oypJa8Ld7AM1OgFHI5/pnAhcmMseNybXqgKnXSeaNEOsUqbXR8ct9XCAm/7LFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879024; a=rsa-sha256; cv=none; b=XK+zHjXkpKL7IJ2dad8U6vA2ppsOwZ/wugTxI70FCz7HwxEZ8Pj19n67C5bMMHqRYjBMb4 ykV7TOXB/pYd9xSSIJyka8ZDJ0K4Cy7jG612Ut8j4EJdmTDxEULvOk1SayeIg4lWr+lgY3 mCAi7uTPz3Yq16aMjl9RzzpxXTH8SZXyNmBjenEQ6ceg4f3lXJMMExk48TVz7xzI5v81fD XIYTu1iTur9MjMYFEc3Kuh2sSMi14snvBi0NR1gzS0jkL2jyeYmguFjIIUJ+ryQUdNP1Za OTyK/menpbnZFTaqFDUIyRmgf9QUTviqZXXEhdM9CW4qaUOqDXiUn3TsIVXoRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n0NhDFMsQOHxU0BtZTpdIH0acYAbp2vZj5mjFvmdnKY=; b=T2lrOHpw1qnylLOAYTOUxOzxHi3M98o3ZQwP+oPe+cjRl8VTbxI5FrM1OdcabvuUvRrR4g BbHLEmBi07ZIKm6HqJs48GNADcOi3bKaAJBwY0SxVDy5nY05fAhzVWHfhueZQ1rXC5X/0A lHa+/i6Fj0j6XaQgHgpVXn59s9GAK7acsz5eORsqg8CysMpYHuloY6FriQO9hL126jB/l+ MCw09CSzUI8uLjSRQQ5W5/JVT88mGtmkci3/v8aLSunuX2TMLEk/wNVyATBbm/1w5hwivA QckD62/LHaD6hws3iDPQndGz1A/cL3XBKJlB9SGdkX4uHCEQKdLsdY2lxyxyuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdD5lPMz186g for ; Mon, 04 May 2026 07:17:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 413f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1332831c5aa7 - stable/15 - init.8: document init_path among loader tunables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 1332831c5aa7e2b828fd799b8ecc137421eadcb4 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:04 +0000 Message-Id: <69f847f0.413f8.561ba45@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1332831c5aa7e2b828fd799b8ecc137421eadcb4 commit 1332831c5aa7e2b828fd799b8ecc137421eadcb4 Author: Konstantin Belousov AuthorDate: 2026-04-26 10:20:16 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 init.8: document init_path among loader tunables (cherry picked from commit 9e6ae89d831a4ddce0925ac3682d602a71f1b26d) --- sbin/init/init.8 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sbin/init/init.8 b/sbin/init/init.8 index 8f6e78b79d7b..f86adf53b361 100644 --- a/sbin/init/init.8 +++ b/sbin/init/init.8 @@ -396,6 +396,11 @@ back to the default, so that the .Pa /etc/rc script is executed with the standard shell .Pa /bin/sh . +.It Va init_path +Specifies the path used to search for the init binary. +More than one binary can be listed in the string, +candidate file names are split by the \[lq]:\[rq] separator. +Each name is opened in sequence until a valid executable is found. .El .Sh FILES .Bl -tag -width /var/log/init.log -compact From nobody Mon May 4 07:17:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdB2KsFz6clqy for ; Mon, 04 May 2026 07:17:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8Cd96DBfz3Kfm for ; Mon, 04 May 2026 07:17:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p0s1bLVGWAcmgDKjENdxrboglzu/1fV5PI4wDz+dOOc=; b=jpYeWlRlMxpnH7qcTtDnVCe5rKbraIJQmBJP4iT9YXUqxcIwYJ5Y9jk4zWH/L+dKvyh2XG 6GagsYuZXEiSUbQlwIIC/5bp6Hnd/B2q74lkJXgqfwBe7rCAxZI46AzFqCiugjfvCGZnex 5f04Dp10yJRzhFNs3asKmjVjoCYVi+AveH32PyXzF2WobeLNkoHT2IuCzkuvouwZVH9bXz AePWi9WisGGkf1Qw4n7KpH0ZHosL3ZsqmOgPrDXcvbfm5I8hR/livwN0Sn0GZUVlQB0Qdz UXEaPQpiBeyutrcKWdvyKNEWqJJtxhpQTYuqxm5o1/WLjqMh1u/hCZXFicBFrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879021; a=rsa-sha256; cv=none; b=baQSU2Mk5OaL8UaSV9bq4IhTYvrBYGsFyCYcY1eG3PdfK5IKo35EOGaB+HNXLj2cZMFA2e tKfio9sW0A86vDOsTfcZRcgX7uibS/N1HRHfAvfL/2Ll77NQsTMrNNF6v3eqkmuIpY6Ycd f9MEzgXfg1LRhL6R1FkThmCEcB8maVlk/3CnZNbmJxnj1ivJk9kosPPwbIXef/NegSWhw3 uBANjQI/D9KEaXV9oD93/68QLA3uFUWYY/+EFi40Vc+LkESstaayrITmeNRmo4zpdh44Sr +SWqFnUdLZlpzPVonu4oeswyRRO1OM/LGL6eVwgUogJ1ynUKM5YEtmz5tuXKOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p0s1bLVGWAcmgDKjENdxrboglzu/1fV5PI4wDz+dOOc=; b=YDIqRvXcUzSzQtDAoDuzC31CYeeBb69wLx8c1Slr/Xu+WwmpSrlc8S4E4Uyn2koocYJ9NI B8zVqWO4o7Ek6/iuWjn4basbqTol7FV894Ai3IzsJ7AFJeMjGhMYy5rZh7iNwwXoeBuo/H f/vmxvkGCvMqmHMz0SghB/RS9ZUHtxhQqdrpGjw6+uf2lheWRhWeg4p8mCf+Wjrl89VtAd UjK4WDHN//CqVW7q/YC/ay4RP0YXac3ssVaTtveTCE8AGiXLcdC8ZPVdQwu6AHtEAclU7h bb5pP1ilu73AV6buJ4zwYCDntZAkzBSfWnBCUzZZAULDapcsk/6bY0RrM002QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Cd93VbDz18ZZ for ; Mon, 04 May 2026 07:17:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f152 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fba39d50f781 - stable/15 - init: build dynamically List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: fba39d50f7819289c226c8c39d423fab1778c8d8 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:01 +0000 Message-Id: <69f847ed.3f152.73d17b76@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fba39d50f7819289c226c8c39d423fab1778c8d8 commit fba39d50f7819289c226c8c39d423fab1778c8d8 Author: Konstantin Belousov AuthorDate: 2026-04-20 17:52:59 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 init: build dynamically (cherry picked from commit 24d887436dcd5b6c18a7505e477c79cae3002c3a) --- sbin/init/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/sbin/init/Makefile b/sbin/init/Makefile index 1fc9b633f664..342df4596a72 100644 --- a/sbin/init/Makefile +++ b/sbin/init/Makefile @@ -10,6 +10,4 @@ LIBADD= util crypt CONFTTYSNAME= ttys CONFTTYS+= ttys -NO_SHARED?= YES - .include From nobody Mon May 4 07:17:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdG2D2Yz6clr5 for ; Mon, 04 May 2026 07:17: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 4g8CdF6vKDz3Kdm for ; Mon, 04 May 2026 07:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xcUqEIiicYkpJJKTwBe1xA4A4/ZYbn4DXtg0MZdFVD4=; b=aj4AbTP9Lyp17ERhS/Wwjmhe9Homsy/GogI2qQmVTiVzXlg62CpTNgPo6BC+RL2Jlib+vx n8algnRllWVh4K0lDfr+twDuVCefIZyPOO4bYrxryeQqgbD9+ZDnfUmXGpovTgzowo4D9T PrWUvPP4aDol2TrV+ghjAUDnqEBKudOM6OVoRP0fEqstEEGtJ1xPJZzZggWi+BJb2YuQId Uy9eb3Iy4Ba0ZeiKQ33vThD9RAXCZJQ2nfZBPhwL4vGzSP4lbTz0A7sMK5SHuhVj72MqEO kRVzsB7hNXXYDoQnHxkRLD3SB9FmC7xWEKFznLv2bxWXtQkiz30wg5p6+rg8Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879026; a=rsa-sha256; cv=none; b=j32h6jvpFdCEnNssfR//MjMiE1907H+HnionGqVJyWS0gZSyRcBkcf29C+eAJmZdduGdAC vCqrV8216FfV+fcarkI1S47v09vB1Mw/+tlY13P1DKL7kW90mA7Jb8xT0lwcSxvZW3k+1c X4fM7xwORGg/cKfQcNPsz2KcBFCi3oAUo4KSMS+jQFqJOPDdqwxHN1ltxTXck8bu8nIivT awfRQpQcdtykN8iJ9RylSI/HmcisZjI8DjyhBgRZGstmd2sNqLaBYjRHJL0e2trM/R+hAc Omr8UpzN4iJHP5qMggDUSXwHYVOVIrvGPGY2hDZLwtn8KGxsnHcmAvrf31Tp/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=1777879026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xcUqEIiicYkpJJKTwBe1xA4A4/ZYbn4DXtg0MZdFVD4=; b=scyH/4rTnHaDitocl8jcwv1eBNTwR5TFi5dye5q7vgj6LavobmnyqZiaWhyV9PjRHcgRnP qE2ZU8Lmxg7JE4UTGtIp6EMIeOz/MsyLFO5kW42Xjvdd7RxFpfCi9kU6CqeH2eKQu+HzUY sZO/gS4FbArx0iJSOqUE3zLOxfGK0MzG2IKTLKmZsrsd63/RNBeeOETegk+BxrgU8WWLwJ OK2o0MuN+dbl6yuHWMASMkY+Km62n54CVce1ptsAalU8HIakIWtzeVgwKPm4AqrmmlfFqM LLLWtwqg4z2Rye3iArUjL9xuSva5x0wKw1YQowlB6S1AAS15DjbyR7t47quhlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdF6VwKz17ZW for ; Mon, 04 May 2026 07:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40e8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 350d980db869 - stable/15 - init.8: add RECOVERING section List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 350d980db8693b300fdee01598cb98c9699616ba Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:05 +0000 Message-Id: <69f847f1.40e8c.3b065f0@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=350d980db8693b300fdee01598cb98c9699616ba commit 350d980db8693b300fdee01598cb98c9699616ba Author: Konstantin Belousov AuthorDate: 2026-04-26 10:28:05 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 init.8: add RECOVERING section (cherry picked from commit e378d97eeb2b8961f312cc04d4751579a7b70741) --- sbin/init/init.8 | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/sbin/init/init.8 b/sbin/init/init.8 index f86adf53b361..85b1db2ddf06 100644 --- a/sbin/init/init.8 +++ b/sbin/init/init.8 @@ -401,6 +401,41 @@ Specifies the path used to search for the init binary. More than one binary can be listed in the string, candidate file names are split by the \[lq]:\[rq] separator. Each name is opened in sequence until a valid executable is found. +.Sh RECOVERING +If the +.Pa /sbin/init +binary is broken or cannot be executed by the current kernel, +recovery requires console access. +Then, the +.Va init_path +loader tunable can be used to specify alternative +.Nm +location. +.Pp +By default, system install leaves copy of the previous +.Nm init +binary at +.Pa /sbin/init.bak , +and this path is set as one component of the default +.Va init_path . +.Pp +If +.Nm +cannot be run, the +.Fx +version of +.Xr sh 1 +has a special provision for running as PID 1. +If the shell detects that it is running as init, it opens +.Pa /dev/console +as it standard input and output and enters the +command loop. +.Pp +The session should be exited using +.Ic reboot Fl q +or exec-ing fixed +.Nm , +since a normal exit will cause a kernel panic. .El .Sh FILES .Bl -tag -width /var/log/init.log -compact From nobody Mon May 4 07:17:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdC0Dy8z6cltm for ; Mon, 04 May 2026 07:17: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 4g8CdB4jFfz3Knv for ; Mon, 04 May 2026 07:17:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU62D0PjwiQELbFoTghX5r7AIGRSrMIFV29f9ulJCNE=; b=ZNKHb3+LLdu5CoIW80/koL3RpbKIJaF9GoHp4hMKWZv6PTs9FYwz7JJOQvUlXklXiGwjDh rzaUlidfUBysIe2YC59e9psBogRdkBkj7a+4W2vCkI+wwm2EQHXefEIxT2FX/iU6uH7KWM UHseSbZJDoFa/ZaUNSGARNK59OJoRUUka7JZRV2srxb72nX8IKBu0Se2BjqBE28ZOlaz7T RKN8MU7Qqe1dd+zendQJOrw+RFk7UjIFsNlDb01TtBMABTCN7uwhnIULTJy9nnahzwNjan cdbOvs0O360Zc4Lye9pD8v7mwSnl7BoBAt87ujm3hs+TEgN7DnUWPf6WeoRuQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879022; a=rsa-sha256; cv=none; b=oKK7FpDvixjuStwspWpsgHMiJKk093JU7T/RQXa5ujDmzCbL34+uSxeK6YZVjU0ntpygdq U/qWlre2O5KNWAVEsrm9/E2+Uv0U2viF6QTjh9ZzDiL3aMLoiYegfZtJb5OoXfhhOOPlih TIno89XX3epz8csBPiPecIZ9iP+lT1tdSu7Jzv4fZPnxlMhWmPAMwBsknAeSzwERJBdJKd 3SP0WDX4aflb81DbIw7hx+UDSbJrTkVpgkFD0vPKiQxnjQHZHrGps1ST1O1fd7T4rEZE1L zep70+V8zF42rA0QqHXXct9g3yRclOoMMYfefnccrEI22eccHlDz40SBCiV4kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KU62D0PjwiQELbFoTghX5r7AIGRSrMIFV29f9ulJCNE=; b=PMhzR+jfohVr9mgp16VtqvUe8rAH0sMz1Tp1Sc8SE4SZg25EUljGdU1n7pfCiK6HpKRMtt tkXXR9XTCGyaRXDE1kqwUxM6SoujUcsOj6hfOJhKMfbulcS3WV3NxAqDFP+hOWIpH5Td71 pyQ16TKoP79TNbxq6OxbgygCJsaRRu9AjGvl6qdx1FCA35rV3hU3xcAzEBr04IFyBajVPx QVtGezmA5bq9jowehnZMewMs3zm3iIRLJmpeicbAKhDTGGxpNg/Hx/zsJy79zyI8tduzIH ImsnFFQKreST+fcHmU6usydcg4nwV/u3JfjkQdcaLdKOjZCzBnRgU1Ihs7LyZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdB48L9z18XD for ; Mon, 04 May 2026 07:17:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4100c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0276461a2d88 - stable/15 - bin/sh: make it possible to use as interactive init List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 0276461a2d88aaf41158a9b4ba25342a644aa1c5 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:02 +0000 Message-Id: <69f847ee.4100c.692e8132@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0276461a2d88aaf41158a9b4ba25342a644aa1c5 commit 0276461a2d88aaf41158a9b4ba25342a644aa1c5 Author: Konstantin Belousov AuthorDate: 2026-04-20 18:03:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 bin/sh: make it possible to use as interactive init (cherry picked from commit d7338bb4914d120e5719d3216b23a509c49ed3be) --- bin/sh/main.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bin/sh/main.c b/bin/sh/main.c index 94e8da6b4921..0ca2d4942426 100644 --- a/bin/sh/main.c +++ b/bin/sh/main.c @@ -39,6 +39,9 @@ #include #include #include +#include +#include +#include #include "shell.h" #include "main.h" @@ -124,6 +127,22 @@ main(int argc, char *argv[]) trputs("Shell args: "); trargs(argv); #endif rootpid = getpid(); + if (rootpid == 1) { + /* + * Make sh usable for invocation as interactive init + * substitute with init_path=/bin/sh, by opening + * file descriptors 0, 1, and 2 on /dev/console. + */ + if (fcntl(STDIN_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) { + (void)open(_PATH_CONSOLE, O_RDWR); + (void)setsid(); + (void)tcsetsid(STDIN_FILENO, rootpid); + } + if (fcntl(STDOUT_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) + (void)dup2(STDIN_FILENO, STDOUT_FILENO); + if (fcntl(STDERR_FILENO, F_GETFL, NULL) == -1 && errno == EBADF) + (void)dup2(STDIN_FILENO, STDERR_FILENO); + } rootshell = 1; INTOFF; initvar(); From nobody Mon May 4 07:17:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdK4y0fz6cljT for ; Mon, 04 May 2026 07:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8CdK2Kq1z3KrH for ; Mon, 04 May 2026 07:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bTilTz4qOCe8K6lmU/Y8qJVUTTV5L732Ek3wYK3N9NI=; b=MtiTLB2+UvTX5YuTp/Ba8Oo07OpWEkbRLtnC17GEf8FInhSx9mB+CqvzkijZFhroGyT5DZ 82FBKK+x7G/a+QS8UIs1EqhAgz6d/6MOK4JSw4lFBaQcuLVUPC3JKqX4AOwgDxbe3feKzp kjh7XQxpo5dW9hOFBjfVJnI6fXkqyyEPLstUvX2gYeoEHY2AKWORkNrjA/CmG81O523lTG l+tlAktZ7VFYdac/DoEwJdqm0u/cMgVaJRPVDq5opVMYVbLBfsEcxjTWbU0L3RZ/lEWTKc aUJSLn1KFFnO4B9On945Ez3P6DF5WfwCZQGt3r3NDHSLdyGGAFdII9YKwXOUBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879029; a=rsa-sha256; cv=none; b=Px1hrra19vkwa8LIAOglHOr2r/AsWu8OOkq8WEkWRI1IiO/q1QrxHMLsDeNYK+/17nsEnX UAUayrMEpmzLvIHn1RYiJ3rOb3NCf70/lM00yiwwboUOM18rnLXyxFlnqfqtKPglGqHpAr oDQcjcFa84tn8/MaIqVFvnSySi0/Y512SxuttlSQH8hqkvk9KtITi3BA+e/u4UPQdjhrG+ FPQ334qHLYdVjCEOC7HvEcFKLqMPYKNcSGl8YXzEiqIP5HRToHyJUQCnaBRTrQLsfLd/7I LIJyNunOndXOC5SzM8IQbUGg9eo7d8S+o9vAjM2WIimIa3EBk6CfeYFSlSMD7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bTilTz4qOCe8K6lmU/Y8qJVUTTV5L732Ek3wYK3N9NI=; b=ounARm+HZYMXKK3SdgRF5Ap5LMEet2+BDpoGSDgam5+gylpYWiXs3XEdARvQsGOqQOTAKR CE14Zub/DNNtIzy3Dg8EZqhRvciJKPLN/QY46FnWOJ3jV3GJ+2hkaWwz3TlHSosPIBH7Zz KFtpqk2j3lHxE857+kOJPrbXcw9oBSdiPfTt/hozxOU4515X8CnjP1bcJ8uqNVl8VgChDF 67gNyQxnhO3i1Q8U9EkPGtcqRuloUtLEF/lJXn86pXIRoKRe9BXdR3iwPL6REJMn8gESrb csfv4FnFO+bWDQYocCwOWmYkRNtwxXVvkW5UHCUVbrgmxab1AvwtzFPEufJh7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdK1wfQz18JG for ; Mon, 04 May 2026 07:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4065f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2157c0e19672 - stable/15 - tests/sys/arch/amd64: add a program to check INT $0x80 behavior on amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 2157c0e19672e341130e0444ac6d902966da0a26 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:09 +0000 Message-Id: <69f847f5.4065f.4f827677@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2157c0e19672e341130e0444ac6d902966da0a26 commit 2157c0e19672e341130e0444ac6d902966da0a26 Author: Konstantin Belousov AuthorDate: 2026-04-27 04:23:36 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:40 +0000 tests/sys/arch/amd64: add a program to check INT $0x80 behavior on amd64 (cherry picked from commit 2c2ec6bbc9cc7762a250ffe903bda6c2e44d25ff) --- tests/sys/arch/amd64/Makefile | 7 ++++ tests/sys/arch/amd64/int0x80.c | 94 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/tests/sys/arch/amd64/Makefile b/tests/sys/arch/amd64/Makefile new file mode 100644 index 000000000000..34f3c90c4082 --- /dev/null +++ b/tests/sys/arch/amd64/Makefile @@ -0,0 +1,7 @@ +TESTSDIR= ${TESTSBASE}/sys/arch/amd64 + +PLAIN_TESTS_C+= int0x80 + +BINDIR= ${TESTSDIR} + +.include diff --git a/tests/sys/arch/amd64/int0x80.c b/tests/sys/arch/amd64/int0x80.c new file mode 100644 index 000000000000..e03462a6dccd --- /dev/null +++ b/tests/sys/arch/amd64/int0x80.c @@ -0,0 +1,94 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2026 The FreeBSD Foundation + * + * This software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __amd64__ +#error "amd64 only" +#endif + +/* + * The check to see how "INT $0x80" behaves for amd64 native ABI + * processes. Before bd8edba0792b71be3f8ed5dea9c22287e95c986a it + * executed syscalls with amd64 calling conventions. After that + * revision, it should raise SIGBUS. + */ + +static uintptr_t int0x80_loc; +static int signo; +extern char after_int0x80[]; + +static void +sigill_action(int signo1, siginfo_t *si __unused, void *uctxv) +{ + ucontext_t *uctx = uctxv; + + signo = signo1; + int0x80_loc = uctx->uc_mcontext.mc_rip; +} + +static int +fire(void) +{ + int res; + + asm volatile( + ".globl\tafter_int0x80\n" + "\tint\t$0x80\n" + "after_int0x80:" + : "=a" (res) + : "%0" (SYS_getpid) + : "rdx", "memory", "cc"); + return (res); +} + +int +main(void) +{ + struct sigaction sa; + char signame[SIG2STR_MAX]; + int pid, res; + + res = 0; + + memset(&sa, 0, sizeof(sa)); + sa.sa_sigaction = sigill_action; + sa.sa_flags = SA_SIGINFO; + if (sigaction(SIGBUS, &sa, NULL) == -1) + err(1, "catching SIGBUS"); + + pid = fire(); + atomic_signal_fence(memory_order_seq_cst); + if (int0x80_loc == 0) { + printf("int $0x80 does not raise SIGBUS\n"); + if (pid == getpid()) + printf("and syscall worked\n"); + else + printf("but syscall did not worked\n"); + res = 1; + } else { + sig2str(signo, signame); + printf("int $0x80 raises SIG%s\n", signame); + if (int0x80_loc == (uintptr_t)after_int0x80) { + printf("at expected location\n"); + } else { + printf("not at expected location\n"); + res = 1; + } + } + exit(res); +} From nobody Mon May 4 07:17:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdH3Rv9z6cm4M for ; Mon, 04 May 2026 07:17: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 4g8CdH0gpcz3Knx for ; Mon, 04 May 2026 07:17:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rbw8KsmthzCG6KLZRFCuqMqSHkb5bTWx1ECk4nLirdI=; b=EpeQ2/8mZNsXt4LCrdIkLo2IHO4BZUFUmWDBZmYB+tKPavTv8/NvIE3UfiO5xjzXB1df// fztac0oWd0OAihcoYzeXmQ7WxCIFt7BtI8GjyFnq3X+Xt5a2/zAril7pVbELQZUJffhcSM 0xZhD+n8FJ/OTHmLt0p1Tc4kmh8BvmSW4oeGEByAacfpYt0ZKm8/5+rwDwzANRWGPe2wEh JJ/QFM5V/unLvffGhlw87CC2X1IIbqRipg6UZS9osIKYIMSTKp3VrVV6uRflXwDVgsMDss rxh2ybgwHPKzrumZunLPv2/lGNx6xo9xxpFcm3s/ORXcKrYyu+/PI16dByTheA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879027; a=rsa-sha256; cv=none; b=oejFTe6ANb/gB9lGzqREapsfpR9WA9KgSIKU88EqrgvqAdMpe9aue7cdt+d9JlKITdAjEJ xH68/JlpMZTXC90zluT3pfFw25njXAWs8GcS9ub1hgJCDrPv3sduaIMtU8bpzVl+zy8BYK 95njfTG2pKM3CjrjvjBhF5CjjXoLgixXfZwS4tdUsTjHoiOLoJ6o+s23nZJVDjANj2FQsW Y4o1YdMU8czzw50U+1WaVsCVP+AwgTGgDVyciHS/VW1ie57sR9HEHRI4JmbG3oY+Guq44J XK49atVtXQzfULWsU7Wd6+GP68a+OFYkLVKHr0iLfCYXQ7I1lDGFGl1cIITc/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=1777879027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rbw8KsmthzCG6KLZRFCuqMqSHkb5bTWx1ECk4nLirdI=; b=p4tkULBvUAvYqO+nPpjyPWaDt6w8YXV8eS/blewhPq4FYQGBgNQxJZsgDVnIwAU9C8QXyX p2+umQwR/tk/MMkty2damFZtQKpsfNoq+trktKiFwg0svY77gyAQarxYSPM+nE6nHe7JU3 tliuifXIgtHeheiQFd2Blac90l8YkUqmemiCHg6+TpCdUuNZIytrns5DFFwnhp46DY8rCG 3obd0AEyeMYD45v4F08gZ7XQXYtcM/VPyOfbWY/rIMOi06whvdwAc7i08oF6ToTlskoJgy 9eZ6Szu96mUzD+pM6AF7xWGpoNjPHPXMLsyntns2NQoTVnUJxwdcxmvWmYyc+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdH0F0fz18cv for ; Mon, 04 May 2026 07:17:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41c2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: cd86057224b5 - stable/15 - amd64: ia32_fetch_syscall_args() does not need to check params != NULL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: cd86057224b58af38adf0f0ce6042bb39b7b2837 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:07 +0000 Message-Id: <69f847f3.41c2a.432819de@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cd86057224b58af38adf0f0ce6042bb39b7b2837 commit cd86057224b58af38adf0f0ce6042bb39b7b2837 Author: Konstantin Belousov AuthorDate: 2026-04-25 09:46:50 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 amd64: ia32_fetch_syscall_args() does not need to check params != NULL (cherry picked from commit 912f9dfca451e359dda7cdf45539b7c19764f54d) --- sys/amd64/ia32/ia32_syscall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c index c61587a93d1f..85e3d8f8e920 100644 --- a/sys/amd64/ia32/ia32_syscall.c +++ b/sys/amd64/ia32/ia32_syscall.c @@ -187,7 +187,7 @@ ia32_fetch_syscall_args(struct thread *td) else sa->callp = &p->p_sysent->sv_table[sa->code]; - if (params != NULL && sa->callp->sy_narg != 0) + if (sa->callp->sy_narg != 0) error = copyin(params, (caddr_t)args, (u_int)(sa->callp->sy_narg * sizeof(int))); else From nobody Mon May 4 07:17:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdJ3dNlz6cm07 for ; Mon, 04 May 2026 07:17: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 4g8CdJ1bzJz3KtX for ; Mon, 04 May 2026 07:17:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2hsyjy53DAsZFOSsmb2YqkEVLVcJlK51n6ETiR5ocZI=; b=N/PqXwhaDMEqRm2GAFROYp9ulVRQRwJYvZxdhdAwbYRipMbNs9yIWx8IsWd6g1bqSioso3 1Db85Nygk5onRJLX6iStNk2i+pRM3EMnbVHOhzZ/mGM/JZKTsISCfxo3124paUq/o6uwsy /cip9FClpjg+WhlH5VXFcgbmvj8wvWjuP+2U1SHAddT2iIfCyRMaffct9qgf2eWRJNQgFp dGV42cVNOlETirhWrHhvH5yZicNvzniZBS9aS4DoU76iMY50qhzDWD9yuMHhQQBJcSDyOD zYeEbxDy//3BgyO7Kir8OqUuQcmLPKCD57iLHwOBPm6nq20aRMBkNMYmYmxUug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777879028; a=rsa-sha256; cv=none; b=CtuRkKzW02Eq4KWymM1Rj/3bOxG1j3W6VzZLTmcQddqWEZr6+8KSXoksMFQfyZaDmIiBxG n5x1AFhS5ADb1fj4dUBamQgjg1BVByyWloTpCz1paqdT7POvWKyEQxkaQ0KMfgISsFh6Nj Ft+eU/mQpmOxfMdj3JsvEQ4iXFbl/vmnYeoKG3+qDLaH9D+c1sWFWyZEkxiwOYwmrkXqVk ZkunrPCmsvRQevy2T4dpqPfkKsYhXCMMBUIe4LKFOyiiwgmQHnIKIzLTTlZVn0jbZHQW6T foOXqtzueD8jqRcfzlc4Rc1akK9+9eX29nB5+mZnkDT2LD29j0hV0d93MWKSPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777879028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2hsyjy53DAsZFOSsmb2YqkEVLVcJlK51n6ETiR5ocZI=; b=uiCUIFwxd9AEHtQXbCsXjBde2gjMsCkyAqUVpJKrwWB585rxITjB3a4Okk5/Q3bUtbTN+u dsnPf7B7pjOpQR+xXYC+gYDdJd8XCHWXicEEcW0q4JI9WNjOfuQqWmpXaGf71u9I76W9Z8 YMXt/uVjK4cr8hgfE5VHZDfKXVuHf11SmnRG2QNEU2Sh7WxLlWT8UDPxNQWA1BGSe3VbDO j+rtWFglXErBCadbe6ahyJEmFYQWVcCarq0+RMQ++yaNhwK+yPr9xtZVf6hc5V4TyMCMmA ajXcPqFLfhj984uFbCMhKlPUcSAf8XcW8dmolIsSK2hewtz3iWE8kJWo23zfYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8CdJ13ySz184g for ; Mon, 04 May 2026 07:17:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 406dd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 07:17:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a42f95b71ed9 - stable/15 - amd64 ia32_syscall(): only allow for ILP32 processes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: a42f95b71ed946ad3d85f1b95daf0056abdc8345 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 07:17:08 +0000 Message-Id: <69f847f4.406dd.20adc89@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a42f95b71ed946ad3d85f1b95daf0056abdc8345 commit a42f95b71ed946ad3d85f1b95daf0056abdc8345 Author: Konstantin Belousov AuthorDate: 2026-04-25 09:49:08 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-04 07:16:39 +0000 amd64 ia32_syscall(): only allow for ILP32 processes (cherry picked from commit bd8edba0792b71be3f8ed5dea9c22287e95c986a) --- sys/amd64/ia32/ia32_syscall.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c index 85e3d8f8e920..edafb753faa0 100644 --- a/sys/amd64/ia32/ia32_syscall.c +++ b/sys/amd64/ia32/ia32_syscall.c @@ -218,6 +218,15 @@ ia32_syscall(struct trapframe *frame) orig_tf_rflags = frame->tf_rflags; td = curthread; td->td_frame = frame; + if (__predict_false(SV_PROC_FLAG(td->td_proc, SV_ILP32) == 0)) { + ksiginfo_init_trap(&ksi); + ksi.ksi_signo = SIGBUS; + ksi.ksi_code = BUS_OBJERR; + ksi.ksi_addr = (void *)frame->tf_rip; + trapsignal(td, &ksi); + userret(td, td->td_frame); + return; + } syscallenter(td); From nobody Mon May 4 11:57:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krv5WFhz6RZf1 for ; Mon, 04 May 2026 11:57: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 4g8Krv2vKQz42x2 for ; Mon, 04 May 2026 11:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JeGz+teqkM5noHtzxMT/oBfeYsb6dx48yGHCaqW8U9E=; b=vmT/NziQ1e+ULDmP9EpNHF5ufWzLcKRNeJnyNAJU/Xi95h5mY8lA0laLOyTiQ6DhPAcTKf 0UkYz3tMxA3QevoRGDk7Xagkmms+67zUf+SJ6TLKTLJ/IiEWjgOpBxRnNjCsolcomNmjLE X6obRb/e0fKIX/VFB6U9xePGjt0AjEN7+u3ymvRuRGvLXg8q5oxu51twxE7x/HQ3+mtWrt v8HYZAbcw9D6JL6cku7bUK61mGV6yRd4itv0TAtx/upW13g6rd5E2OGt0zNLAAvLTbE7QP YbrNEsKOQPY+33HDJVPN0GP0IVDVpy2JSO53vg1a7w3kIIBRA5FQvNvibR0jLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777895855; a=rsa-sha256; cv=none; b=iHZ9/e10L1RX95jyqIC/O+rlLtBaJtIo5LRDCSgtyOEnjH1w+T4AbzK5fxo5gvyMUIFWSg wyMrgFiIsbq2J6bYlaXxxQYq2WcR+z9v9k+VbkX0dKKkTotqShRzBMvge2GgxVIE1SfhF+ 1mq9CSqBHNE+GeIBdjAT3OzlQQANqIBVKQAAHOQUILqMbJGqQzLKvLOweGKrDUm1Xlz04O /vIss5VCkXt9LSUn49BK0r8tonkf/Cgfl4djvh/3qzIXJN5GjOwCPXgAyLdKyq2H6KSrEe 4gcimpxnvSEIjim0/19bOp+r3XlBPF5M1pO8FDNlI6lgOdwVKndyhdkDMGdj/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895855; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JeGz+teqkM5noHtzxMT/oBfeYsb6dx48yGHCaqW8U9E=; b=ZPXy759nmAmGVSI+Ltw9WfgYtdYcvUWULpk/VIZNtDARgqMYCMax11DOZogUjcp5vwBDYR 7LIqhdzet8tyYRx1/1yPbuVjx6zIgd5VhST6fMbBTDthfNjDWIJrtL6WZUI67OXzjykGMG ZvZQPCJ6lLNrCohVimUCmNrD0ROVukpcs/2Q131D7KfuNbSly55wOPIolavAeyKQzlnVer XAOOH0HHAifdV184Y+Gw17Bli7zEl1kDUfjSNMUZqBg4ETZASA7Dzzm/u6TdqdJQy10SPc B81vfQC41V6m3LhfanczkBywK/zMdkQxPLWsgtUfGXe0A4slJuAkpb0GgHmSSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krv2VQQz40W for ; Mon, 04 May 2026 11:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 365f5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 11:57:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 919b10729753 - stable/15 - krb5: import MIT 1.22.2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 919b10729753336ef16338295c61ebd085348fb9 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 11:57:35 +0000 Message-Id: <69f889af.365f5.7f3b7e8f@gitrepo.freebsd.org> The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=919b10729753336ef16338295c61ebd085348fb9 commit 919b10729753336ef16338295c61ebd085348fb9 Author: Cy Schubert AuthorDate: 2026-04-30 19:24:20 +0000 Commit: Cy Schubert CommitDate: 2026-05-04 11:57:26 +0000 krb5: import MIT 1.22.2 Merge commit '90c687295e2d62f9411fc5b571f5af4e8ee187a7' (cherry picked from commit 736e411a737b9f57c1303e6d15c5afd4f63af0d3) --- crypto/krb5/NOTICE | 2 +- crypto/krb5/README | 24 +++++++++++++++- crypto/krb5/src/configure | 20 ++++++------- crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c | 1 + crypto/krb5/src/lib/gssapi/krb5/iakerb.c | 1 + crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c | 2 +- crypto/krb5/src/lib/krad/packet.c | 2 +- crypto/krb5/src/lib/krb5/ccache/cc_file.c | 8 ++++++ crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c | 37 ++++++++++--------------- crypto/krb5/src/man/k5identity.man | 4 +-- crypto/krb5/src/man/k5login.man | 4 +-- crypto/krb5/src/man/k5srvutil.man | 4 +-- crypto/krb5/src/man/kadm5.acl.man | 4 +-- crypto/krb5/src/man/kadmin.man | 4 +-- crypto/krb5/src/man/kadmind.man | 4 +-- crypto/krb5/src/man/kdb5_ldap_util.man | 4 +-- crypto/krb5/src/man/kdb5_util.man | 4 +-- crypto/krb5/src/man/kdc.conf.man | 4 +-- crypto/krb5/src/man/kdestroy.man | 4 +-- crypto/krb5/src/man/kerberos.man | 4 +-- crypto/krb5/src/man/kinit.man | 4 +-- crypto/krb5/src/man/klist.man | 4 +-- crypto/krb5/src/man/kpasswd.man | 4 +-- crypto/krb5/src/man/kprop.man | 4 +-- crypto/krb5/src/man/kpropd.man | 4 +-- crypto/krb5/src/man/kproplog.man | 4 +-- crypto/krb5/src/man/krb5-config.man | 4 +-- crypto/krb5/src/man/krb5.conf.man | 4 +-- crypto/krb5/src/man/krb5kdc.man | 4 +-- crypto/krb5/src/man/ksu.man | 4 +-- crypto/krb5/src/man/kswitch.man | 4 +-- crypto/krb5/src/man/ktutil.man | 4 +-- crypto/krb5/src/man/kvno.man | 4 +-- crypto/krb5/src/man/sclient.man | 4 +-- crypto/krb5/src/man/sserver.man | 4 +-- crypto/krb5/src/patchlevel.h | 6 ++-- crypto/krb5/src/po/mit-krb5.pot | 4 +-- crypto/krb5/src/prototype/prototype.c | 2 +- crypto/krb5/src/prototype/prototype.h | 2 +- crypto/krb5/src/windows/version.rc | 2 +- 40 files changed, 120 insertions(+), 97 deletions(-) diff --git a/crypto/krb5/NOTICE b/crypto/krb5/NOTICE index 3d78b73035cf..20d8ef24e604 100644 --- a/crypto/krb5/NOTICE +++ b/crypto/krb5/NOTICE @@ -1,4 +1,4 @@ -Copyright (C) 1985-2025 by the Massachusetts Institute of Technology. +Copyright (C) 1985-2026 by the Massachusetts Institute of Technology. All rights reserved. diff --git a/crypto/krb5/README b/crypto/krb5/README index d1de8357e388..73eafa585dc9 100644 --- a/crypto/krb5/README +++ b/crypto/krb5/README @@ -6,7 +6,7 @@ Copyright and Other Notices --------------------------- -Copyright (C) 1985-2025 by the Massachusetts Institute of Technology +Copyright (C) 1985-2026 by the Massachusetts Institute of Technology and its contributors. All rights reserved. Please see the file named NOTICE for additional notices. @@ -97,6 +97,24 @@ removed. Beginning with the krb5-1.18 release, all support for single-DES encryption types has been removed. +Major changes in 1.22.2 (2026-01-29) +------------------------------------ + +This is a bug fix release. + +* Fix a SPNEGO packet parsing bug which could cause GSS mechanism + negotiation failure. + +krb5-1.22.2 changes by ticket ID +-------------------------------- + +9183 Fix SPNEGO mechListMIC parsing +9188 Improve MSLSA ccache timestamp conversion +9189 Fix krb5 gss_acquire_cred() leak on some errors +9190 Make atomic ccache replacement work on Windows +9193 Fix uninitialized pointer dereference in libkrad +9194 Fix IAKERB realm discovery state machine logic + Major changes in 1.22.1 (2025-08-20) ------------------------------------ @@ -378,6 +396,7 @@ reports, suggestions, and valuable resources: Gerald Combs Simon Cooper Sylvain Cortes + Robert Crowston Ian Crowther Arran Cudbard-Bell Adam Dabrowski @@ -475,6 +494,7 @@ reports, suggestions, and valuable resources: Tomas Kuthan Pierre Labastie Andreas Ladanyi + Yubi Lee Chris Leick Volker Lendecke Jan iankko Lieskovsky @@ -519,6 +539,7 @@ reports, suggestions, and valuable resources: Felipe Ortega Michael Osipov Andrej Ota + Dmitry Ovsyannikov Dmitri Pal Javier Palacios Dilyan Palauzov @@ -530,6 +551,7 @@ reports, suggestions, and valuable resources: Zoran Pericic W. Michael Petullo Mark Phalan + Ben Pope Sharwan Ram Brett Randall Jonathan Reams diff --git a/crypto/krb5/src/configure b/crypto/krb5/src/configure index c8dc43de1380..ed823e9244a1 100755 --- a/crypto/krb5/src/configure +++ b/crypto/krb5/src/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Kerberos 5 1.22.1. +# Generated by GNU Autoconf 2.71 for Kerberos 5 1.22.2. # # Report bugs to . # @@ -615,8 +615,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Kerberos 5' PACKAGE_TARNAME='krb5' -PACKAGE_VERSION='1.22.1' -PACKAGE_STRING='Kerberos 5 1.22.1' +PACKAGE_VERSION='1.22.2' +PACKAGE_STRING='Kerberos 5 1.22.2' PACKAGE_BUGREPORT='krb5-bugs@mit.edu' PACKAGE_URL='' @@ -1506,7 +1506,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Kerberos 5 1.22.1 to adapt to many kinds of systems. +\`configure' configures Kerberos 5 1.22.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1577,7 +1577,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Kerberos 5 1.22.1:";; + short | recursive ) echo "Configuration of Kerberos 5 1.22.2:";; esac cat <<\_ACEOF @@ -1739,7 +1739,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Kerberos 5 configure 1.22.1 +Kerberos 5 configure 1.22.2 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2439,7 +2439,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Kerberos 5 $as_me 1.22.1, which was +It was created by Kerberos 5 $as_me 1.22.2, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -8159,7 +8159,7 @@ fi -KRB5_VERSION=1.22.1 +KRB5_VERSION=1.22.2 @@ -15366,7 +15366,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Kerberos 5 $as_me 1.22.1, which was +This file was extended by Kerberos 5 $as_me 1.22.2, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15430,7 +15430,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Kerberos 5 config.status 1.22.1 +Kerberos 5 config.status 1.22.2 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c b/crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c index aa1a486dcaa0..12e6b7ea805b 100644 --- a/crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c +++ b/crypto/krb5/src/lib/gssapi/krb5/acquire_cred.c @@ -912,6 +912,7 @@ error_out: if (cred->name) kg_release_name(context, &cred->name); krb5_free_principal(context, cred->impersonator); + krb5_free_principal(context, cred->acceptor_mprinc); zapfreestr(cred->password); k5_mutex_destroy(&cred->lock); xfree(cred); diff --git a/crypto/krb5/src/lib/gssapi/krb5/iakerb.c b/crypto/krb5/src/lib/gssapi/krb5/iakerb.c index 90a9bce11ad7..7cc4710e25d3 100644 --- a/crypto/krb5/src/lib/gssapi/krb5/iakerb.c +++ b/crypto/krb5/src/lib/gssapi/krb5/iakerb.c @@ -631,6 +631,7 @@ iakerb_initiator_step(iakerb_ctx_id_t ctx, cred->name->princ->realm = server_realm; server_realm = empty_data(); + ctx->state = IAKERB_AS_REQ; /* Done with realm discovery; fall through to AS request. */ case IAKERB_AS_REQ: if (ctx->icc == NULL) { diff --git a/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c b/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c index 43ba63ab2a7b..4a778364336e 100644 --- a/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c +++ b/crypto/krb5/src/lib/gssapi/spnego/spnego_mech.c @@ -3515,7 +3515,7 @@ get_negTokenResp(OM_uint32 *minor_status, struct k5input *in, return GSS_S_DEFECTIVE_TOKEN; } - if (k5_der_get_value(&seq, CONTEXT | 0x04, &field)) { + if (k5_der_get_value(&seq, CONTEXT | 0x03, &field)) { *mechListMIC = get_octet_string(&field); /* Handle Windows 2000 duplicate response token */ diff --git a/crypto/krb5/src/lib/krad/packet.c b/crypto/krb5/src/lib/krad/packet.c index ed19385f71a6..22128350428c 100644 --- a/crypto/krb5/src/lib/krad/packet.c +++ b/crypto/krb5/src/lib/krad/packet.c @@ -565,7 +565,7 @@ krad_packet_decode_request(krb5_context ctx, const char *secret, if (cb != NULL) { for (tmp = (*cb)(data, FALSE); tmp != NULL; tmp = (*cb)(data, FALSE)) { - if (pkt_id_get(*reqpkt) == pkt_id_get(tmp)) + if (pkt_id_get(req) == pkt_id_get(tmp)) break; } diff --git a/crypto/krb5/src/lib/krb5/ccache/cc_file.c b/crypto/krb5/src/lib/krb5/ccache/cc_file.c index 198152a9ecd0..f34c0f1064aa 100644 --- a/crypto/krb5/src/lib/krb5/ccache/cc_file.c +++ b/crypto/krb5/src/lib/krb5/ccache/cc_file.c @@ -1311,6 +1311,14 @@ fcc_replace(krb5_context context, krb5_ccache id, krb5_principal princ, goto errno_cleanup; st = rename(tmpname, data->filename); +#ifdef _WIN32 + /* Windows cannot rename over an existing file under most circumstances. + * Try ReplaceFile() (which only works if the destination file exists). */ + if (st != 0) { + if (ReplaceFile(data->filename, tmpname, NULL, 0, NULL, NULL)) + st = 0; + } +#endif if (st != 0) goto errno_cleanup; tmpfile_exists = FALSE; diff --git a/crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c b/crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c index 4931e6c172a5..675cf4d11206 100644 --- a/crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c +++ b/crypto/krb5/src/lib/krb5/ccache/cc_mslsa.c @@ -249,24 +249,15 @@ KerbExternalNameToMITPrinc(KERB_EXTERNAL_NAME *msprinc, WCHAR *realm, krb5_conte return FALSE; } -static time_t -FileTimeToUnixTime(LARGE_INTEGER *ltime) +/* + * Convert a Windows file time (number of 100-nanosecond intervals since + * 1601-01-01 UTC) to a POSIX timestamp (number of seconds since 1970-01-01 + * UTC). + */ +static inline time_t +FileTimeToUnixTime(int64_t ft) { - FILETIME filetime, localfiletime; - SYSTEMTIME systime; - struct tm utime; - filetime.dwLowDateTime=ltime->LowPart; - filetime.dwHighDateTime=ltime->HighPart; - FileTimeToLocalFileTime(&filetime, &localfiletime); - FileTimeToSystemTime(&localfiletime, &systime); - utime.tm_sec=systime.wSecond; - utime.tm_min=systime.wMinute; - utime.tm_hour=systime.wHour; - utime.tm_mday=systime.wDay; - utime.tm_mon=systime.wMonth-1; - utime.tm_year=systime.wYear-1900; - utime.tm_isdst=-1; - return(mktime(&utime)); + return ft / 10000000 - 11644473600; } static void @@ -346,9 +337,9 @@ MSCredToMITCred(KERB_EXTERNAL_TICKET *msticket, UNICODE_STRING ClientRealm, MSSessionKeyToMITKeyblock(&msticket->SessionKey, context, &creds->keyblock); MSFlagsToMITFlags(msticket->TicketFlags, &creds->ticket_flags); - creds->times.starttime=FileTimeToUnixTime(&msticket->StartTime); - creds->times.endtime=FileTimeToUnixTime(&msticket->EndTime); - creds->times.renew_till=FileTimeToUnixTime(&msticket->RenewUntil); + creds->times.starttime=FileTimeToUnixTime(msticket->StartTime.QuadPart); + creds->times.endtime=FileTimeToUnixTime(msticket->EndTime.QuadPart); + creds->times.renew_till=FileTimeToUnixTime(msticket->RenewUntil.QuadPart); creds->addresses = NULL; @@ -377,9 +368,9 @@ CacheInfoEx2ToMITCred(KERB_TICKET_CACHE_INFO_EX2 *info, creds->keyblock.enctype = info->SessionKeyType; creds->ticket_flags = info->TicketFlags; MSFlagsToMITFlags(info->TicketFlags, &creds->ticket_flags); - creds->times.starttime=FileTimeToUnixTime(&info->StartTime); - creds->times.endtime=FileTimeToUnixTime(&info->EndTime); - creds->times.renew_till=FileTimeToUnixTime(&info->RenewTime); + creds->times.starttime=FileTimeToUnixTime(info->StartTime.QuadPart); + creds->times.endtime=FileTimeToUnixTime(info->EndTime.QuadPart); + creds->times.renew_till=FileTimeToUnixTime(info->RenewTime.QuadPart); /* MS Tickets are addressless. MIT requires an empty address * not a NULL list of addresses. diff --git a/crypto/krb5/src/man/k5identity.man b/crypto/krb5/src/man/k5identity.man index a7d533f077fd..40962b7a49c2 100644 --- a/crypto/krb5/src/man/k5identity.man +++ b/crypto/krb5/src/man/k5identity.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "K5IDENTITY" "5" " " "1.22.1" "MIT Kerberos" +.TH "K5IDENTITY" "5" " " "1.22.2" "MIT Kerberos" .SH NAME k5identity \- Kerberos V5 client principal selection rules .SH DESCRIPTION @@ -96,6 +96,6 @@ kerberos(1), \fI\%krb5.conf\fP .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/k5login.man b/crypto/krb5/src/man/k5login.man index 906f8854f87c..d0e327d1bfa4 100644 --- a/crypto/krb5/src/man/k5login.man +++ b/crypto/krb5/src/man/k5login.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "K5LOGIN" "5" " " "1.22.1" "MIT Kerberos" +.TH "K5LOGIN" "5" " " "1.22.2" "MIT Kerberos" .SH NAME k5login \- Kerberos V5 acl file for host access .SH DESCRIPTION @@ -87,6 +87,6 @@ kerberos(1) .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/k5srvutil.man b/crypto/krb5/src/man/k5srvutil.man index 537ed15d8f3b..e926a1eb3b3f 100644 --- a/crypto/krb5/src/man/k5srvutil.man +++ b/crypto/krb5/src/man/k5srvutil.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "K5SRVUTIL" "1" " " "1.22.1" "MIT Kerberos" +.TH "K5SRVUTIL" "1" " " "1.22.2" "MIT Kerberos" .SH NAME k5srvutil \- host key table (keytab) manipulation utility .SH SYNOPSIS @@ -90,6 +90,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kadm5.acl.man b/crypto/krb5/src/man/kadm5.acl.man index 3517c08bd6fe..95cf849d7493 100644 --- a/crypto/krb5/src/man/kadm5.acl.man +++ b/crypto/krb5/src/man/kadm5.acl.man @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KADM5.ACL" "5" " " "1.22.1" "MIT Kerberos" +.TH "KADM5.ACL" "5" " " "1.22.2" "MIT Kerberos" .SH NAME kadm5.acl \- Kerberos ACL file .SH DESCRIPTION @@ -271,6 +271,6 @@ To operate without an ACL file, set the \fIacl_file\fP variable in .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kadmin.man b/crypto/krb5/src/man/kadmin.man index 005c2add8135..15ddc17dc573 100644 --- a/crypto/krb5/src/man/kadmin.man +++ b/crypto/krb5/src/man/kadmin.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KADMIN" "1" " " "1.22.1" "MIT Kerberos" +.TH "KADMIN" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kadmin \- Kerberos V5 database administration program .SH SYNOPSIS @@ -1089,6 +1089,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kadmind.man b/crypto/krb5/src/man/kadmind.man index c0b355c79a9b..842b5082c8b7 100644 --- a/crypto/krb5/src/man/kadmind.man +++ b/crypto/krb5/src/man/kadmind.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KADMIND" "8" " " "1.22.1" "MIT Kerberos" +.TH "KADMIND" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kadmind \- KADM5 administration server .SH SYNOPSIS @@ -156,6 +156,6 @@ activation is used. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kdb5_ldap_util.man b/crypto/krb5/src/man/kdb5_ldap_util.man index 7cfda216e399..23461beafc60 100644 --- a/crypto/krb5/src/man/kdb5_ldap_util.man +++ b/crypto/krb5/src/man/kdb5_ldap_util.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KDB5_LDAP_UTIL" "8" " " "1.22.1" "MIT Kerberos" +.TH "KDB5_LDAP_UTIL" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kdb5_ldap_util \- Kerberos configuration utility .SH SYNOPSIS @@ -500,6 +500,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kdb5_util.man b/crypto/krb5/src/man/kdb5_util.man index 0e5f1d1bf5fe..a777ad8ec933 100644 --- a/crypto/krb5/src/man/kdb5_util.man +++ b/crypto/krb5/src/man/kdb5_util.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KDB5_UTIL" "8" " " "1.22.1" "MIT Kerberos" +.TH "KDB5_UTIL" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kdb5_util \- Kerberos database maintenance utility .SH SYNOPSIS @@ -563,6 +563,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kdc.conf.man b/crypto/krb5/src/man/kdc.conf.man index 33bbb13c6157..ca82a2f1796e 100644 --- a/crypto/krb5/src/man/kdc.conf.man +++ b/crypto/krb5/src/man/kdc.conf.man @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KDC.CONF" "5" " " "1.22.1" "MIT Kerberos" +.TH "KDC.CONF" "5" " " "1.22.2" "MIT Kerberos" .SH NAME kdc.conf \- Kerberos V5 KDC configuration file .sp @@ -1178,6 +1178,6 @@ Here\(aqs an example of a kdc.conf file: .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kdestroy.man b/crypto/krb5/src/man/kdestroy.man index 88888d590133..e91ed47d35bf 100644 --- a/crypto/krb5/src/man/kdestroy.man +++ b/crypto/krb5/src/man/kdestroy.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KDESTROY" "1" " " "1.22.1" "MIT Kerberos" +.TH "KDESTROY" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kdestroy \- destroy Kerberos tickets .SH SYNOPSIS @@ -90,6 +90,6 @@ Default location of Kerberos 5 credentials cache .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kerberos.man b/crypto/krb5/src/man/kerberos.man index 64d9290688cb..295d154c44d3 100644 --- a/crypto/krb5/src/man/kerberos.man +++ b/crypto/krb5/src/man/kerberos.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KERBEROS" "7" " " "1.22.1" "MIT Kerberos" +.TH "KERBEROS" "7" " " "1.22.2" "MIT Kerberos" .SH NAME kerberos \- Overview of using Kerberos .SH DESCRIPTION @@ -210,6 +210,6 @@ Institute of Technology .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kinit.man b/crypto/krb5/src/man/kinit.man index 9934f21b6895..6153166a1165 100644 --- a/crypto/krb5/src/man/kinit.man +++ b/crypto/krb5/src/man/kinit.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KINIT" "1" " " "1.22.1" "MIT Kerberos" +.TH "KINIT" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kinit \- obtain and cache Kerberos ticket-granting ticket .SH SYNOPSIS @@ -250,6 +250,6 @@ default location for the local host\(aqs keytab. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/klist.man b/crypto/krb5/src/man/klist.man index e4e505bc6573..aa5e44ab4298 100644 --- a/crypto/krb5/src/man/klist.man +++ b/crypto/krb5/src/man/klist.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KLIST" "1" " " "1.22.1" "MIT Kerberos" +.TH "KLIST" "1" " " "1.22.2" "MIT Kerberos" .SH NAME klist \- list cached Kerberos tickets .SH SYNOPSIS @@ -151,6 +151,6 @@ Default location for the local host\(aqs keytab file. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kpasswd.man b/crypto/krb5/src/man/kpasswd.man index 7577b9213beb..0321cac4d0a2 100644 --- a/crypto/krb5/src/man/kpasswd.man +++ b/crypto/krb5/src/man/kpasswd.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KPASSWD" "1" " " "1.22.1" "MIT Kerberos" +.TH "KPASSWD" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kpasswd \- change a user's Kerberos password .SH SYNOPSIS @@ -63,6 +63,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kprop.man b/crypto/krb5/src/man/kprop.man index c21bd9692735..f3fc60a71b43 100644 --- a/crypto/krb5/src/man/kprop.man +++ b/crypto/krb5/src/man/kprop.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KPROP" "8" " " "1.22.1" "MIT Kerberos" +.TH "KPROP" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kprop \- propagate a Kerberos V5 principal database to a replica server .SH SYNOPSIS @@ -77,6 +77,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kpropd.man b/crypto/krb5/src/man/kpropd.man index b1caad000718..182ecfe8b7f7 100644 --- a/crypto/krb5/src/man/kpropd.man +++ b/crypto/krb5/src/man/kpropd.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KPROPD" "8" " " "1.22.1" "MIT Kerberos" +.TH "KPROPD" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kpropd \- Kerberos V5 replica KDC update server .SH SYNOPSIS @@ -164,6 +164,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kproplog.man b/crypto/krb5/src/man/kproplog.man index 8d404de88b48..95a4b0800ca6 100644 --- a/crypto/krb5/src/man/kproplog.man +++ b/crypto/krb5/src/man/kproplog.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KPROPLOG" "8" " " "1.22.1" "MIT Kerberos" +.TH "KPROPLOG" "8" " " "1.22.2" "MIT Kerberos" .SH NAME kproplog \- display the contents of the Kerberos principal update log .SH SYNOPSIS @@ -108,6 +108,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/krb5-config.man b/crypto/krb5/src/man/krb5-config.man index 0b743cf5d124..ecc696a7919e 100644 --- a/crypto/krb5/src/man/krb5-config.man +++ b/crypto/krb5/src/man/krb5-config.man @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KRB5-CONFIG" "1" " " "1.22.1" "MIT Kerberos" +.TH "KRB5-CONFIG" "1" " " "1.22.2" "MIT Kerberos" .SH NAME krb5-config \- tool for linking against MIT Kerberos libraries .SH SYNOPSIS @@ -135,6 +135,6 @@ shell% krb5\-config \-\-libs krb5 .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/krb5.conf.man b/crypto/krb5/src/man/krb5.conf.man index 2590f2151eaf..eaba2b4cdab0 100644 --- a/crypto/krb5/src/man/krb5.conf.man +++ b/crypto/krb5/src/man/krb5.conf.man @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KRB5.CONF" "5" " " "1.22.1" "MIT Kerberos" +.TH "KRB5.CONF" "5" " " "1.22.2" "MIT Kerberos" .SH NAME krb5.conf \- Kerberos configuration file .sp @@ -1500,6 +1500,6 @@ syslog(3) .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/krb5kdc.man b/crypto/krb5/src/man/krb5kdc.man index bcbd19d01a98..3f38828b8b0f 100644 --- a/crypto/krb5/src/man/krb5kdc.man +++ b/crypto/krb5/src/man/krb5kdc.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KRB5KDC" "8" " " "1.22.1" "MIT Kerberos" +.TH "KRB5KDC" "8" " " "1.22.2" "MIT Kerberos" .SH NAME krb5kdc \- Kerberos V5 KDC .SH SYNOPSIS @@ -140,6 +140,6 @@ caller\-provided sockets will be ignored if socket activation is used. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/ksu.man b/crypto/krb5/src/man/ksu.man index 59015c2dd4dc..e1f1c16efab6 100644 --- a/crypto/krb5/src/man/ksu.man +++ b/crypto/krb5/src/man/ksu.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KSU" "1" " " "1.22.1" "MIT Kerberos" +.TH "KSU" "1" " " "1.22.2" "MIT Kerberos" .SH NAME ksu \- Kerberized super-user .SH SYNOPSIS @@ -462,6 +462,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kswitch.man b/crypto/krb5/src/man/kswitch.man index 7c21199fcee4..0ed5168aaa67 100644 --- a/crypto/krb5/src/man/kswitch.man +++ b/crypto/krb5/src/man/kswitch.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KSWITCH" "1" " " "1.22.1" "MIT Kerberos" +.TH "KSWITCH" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kswitch \- switch primary ticket cache .SH SYNOPSIS @@ -66,6 +66,6 @@ Default location of Kerberos 5 credentials cache .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/ktutil.man b/crypto/krb5/src/man/ktutil.man index 8e4ec837732a..53077975bb87 100644 --- a/crypto/krb5/src/man/ktutil.man +++ b/crypto/krb5/src/man/ktutil.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KTUTIL" "1" " " "1.22.1" "MIT Kerberos" +.TH "KTUTIL" "1" " " "1.22.2" "MIT Kerberos" .SH NAME ktutil \- Kerberos keytab file maintenance utility .SH SYNOPSIS @@ -157,6 +157,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/kvno.man b/crypto/krb5/src/man/kvno.man index f068f0664ab4..b63ba3b238d2 100644 --- a/crypto/krb5/src/man/kvno.man +++ b/crypto/krb5/src/man/kvno.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "KVNO" "1" " " "1.22.1" "MIT Kerberos" +.TH "KVNO" "1" " " "1.22.2" "MIT Kerberos" .SH NAME kvno \- print key version numbers of Kerberos principals .SH SYNOPSIS @@ -136,6 +136,6 @@ Default location of the credentials cache .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/sclient.man b/crypto/krb5/src/man/sclient.man index e697bd44b281..10976c05a46a 100644 --- a/crypto/krb5/src/man/sclient.man +++ b/crypto/krb5/src/man/sclient.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "SCLIENT" "1" " " "1.22.1" "MIT Kerberos" +.TH "SCLIENT" "1" " " "1.22.2" "MIT Kerberos" .SH NAME sclient \- sample Kerberos version 5 client .SH SYNOPSIS @@ -49,6 +49,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/man/sserver.man b/crypto/krb5/src/man/sserver.man index c71194e59aaa..e60cb696d9c3 100644 --- a/crypto/krb5/src/man/sserver.man +++ b/crypto/krb5/src/man/sserver.man @@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "SSERVER" "8" " " "1.22.1" "MIT Kerberos" +.TH "SSERVER" "8" " " "1.22.2" "MIT Kerberos" .SH NAME sserver \- sample Kerberos version 5 server .SH SYNOPSIS @@ -177,6 +177,6 @@ variables. .SH AUTHOR MIT .SH COPYRIGHT -1985-2025, MIT +1985-2026, MIT .\" Generated by docutils manpage writer. . diff --git a/crypto/krb5/src/patchlevel.h b/crypto/krb5/src/patchlevel.h index 1a6d3e47098f..7cde36884833 100644 --- a/crypto/krb5/src/patchlevel.h +++ b/crypto/krb5/src/patchlevel.h @@ -51,7 +51,7 @@ */ #define KRB5_MAJOR_RELEASE 1 #define KRB5_MINOR_RELEASE 22 -#define KRB5_PATCHLEVEL 1 +#define KRB5_PATCHLEVEL 2 /* #undef KRB5_RELTAIL */ -#define KRB5_RELDATE "20250820" -#define KRB5_RELTAG "krb5-1.22.1-final" +#define KRB5_RELDATE "20260129" +#define KRB5_RELTAG "krb5-1.22.2-final" diff --git a/crypto/krb5/src/po/mit-krb5.pot b/crypto/krb5/src/po/mit-krb5.pot index 6358f57081b2..6b4ba3bc3121 100644 --- a/crypto/krb5/src/po/mit-krb5.pot +++ b/crypto/krb5/src/po/mit-krb5.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mit-krb5 1.22.1\n" +"Project-Id-Version: mit-krb5 1.22.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-20 15:43-0400\n" +"POT-Creation-Date: 2026-01-28 19:53-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/crypto/krb5/src/prototype/prototype.c b/crypto/krb5/src/prototype/prototype.c index a9c225f92b0f..ada2a0d8b7ed 100644 --- a/crypto/krb5/src/prototype/prototype.c +++ b/crypto/krb5/src/prototype/prototype.c @@ -1,7 +1,7 @@ /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* prototype/prototype.c - <<< One-line description of file >>> */ /* - * Copyright (C) 2025 by the Massachusetts Institute of Technology. + * Copyright (C) 2026 by the Massachusetts Institute of Technology. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/crypto/krb5/src/prototype/prototype.h b/crypto/krb5/src/prototype/prototype.h index 94ab86d5859d..d17862561a6f 100644 --- a/crypto/krb5/src/prototype/prototype.h +++ b/crypto/krb5/src/prototype/prototype.h @@ -1,7 +1,7 @@ /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* prototype/prototype.h - <<< One-line description of file >>> */ /* - * Copyright (C) 2025 by the Massachusetts Institute of Technology. + * Copyright (C) 2026 by the Massachusetts Institute of Technology. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/crypto/krb5/src/windows/version.rc b/crypto/krb5/src/windows/version.rc index 491daf417785..8d36ec6c682e 100644 --- a/crypto/krb5/src/windows/version.rc +++ b/crypto/krb5/src/windows/version.rc @@ -41,7 +41,7 @@ #define K5_PRODUCT_VERSION_STRING MAJOR_MINOR MAYBE_PATCH RELTAIL "\0" #define K5_PRODUCT_VERSION KRB5_MAJOR_RELEASE, KRB5_MINOR_RELEASE, KRB5_PATCHLEVEL, KRB5_BUILDLEVEL -#define K5_COPYRIGHT "Copyright (C) 1997-2025 by the Massachusetts Institute of Technology\0" +#define K5_COPYRIGHT "Copyright (C) 1997-2026 by the Massachusetts Institute of Technology\0" #define K5_COMPANY_NAME "Massachusetts Institute of Technology.\0" /* From nobody Mon May 4 11:57:37 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krx6n7lz6RZpY for ; Mon, 04 May 2026 11:57: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 4g8Krx4crTz430L for ; Mon, 04 May 2026 11:57:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGZ1KZmCsUQZxkfAC6FxugD5NBGjKunEiKteQCQ6ypU=; b=uINrw9yZnC+i0lB911FCUzS29nw1wpZnCxiDOklc6JHyKpulHiON7mwdd+W5U3ZGFzWSGD e5asRJxryFdumaJGbYONJAvAqaPEyNz3q9/tTwRXe3Onxx8ELx9NHooFG4PV1drAgsWFr/ 1W+0Ons44R1+Vi+r8J1wQ08+TZyZp1sBzd4GcHwa1CQldknXMiMOab3XfCHRR7rwbFyNT/ tKmLVSErU39ewMiGN9z/RaLzYR23O4X50tQlI71AqhE5GymuBu1GgT40ndBS/nuvoluIAy qfRvFdNz0Ny27Ena1x7SGzgxtmItuWlnPIhikR6RIsDnvPuAxf+bKAxkkDupBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777895857; a=rsa-sha256; cv=none; b=OT6xWJsdGyUqqdrA2elHbi2Q/0QvQqFAU8pRZUtdySAuR4ZUexmhrIuawogFHo3BDlgl98 vancUAqShCosUgIFIvWmqobWSgIanSxjEnBcP5FAiHFrnBR3MOqjhUJcF8yjBd1bo3LaL7 Bdc3Ozo96FjTsgEhAJWLgj72TAx9HEChigS8GffmZTUwUtPbGrH025TvnMPhC0N38J0t8p 1j3chdFLofNsXmImAH5HjJNG+NW2pKotiDCw2gk68X48GLdUT79s8euXbC6ZjOrkDFdHIH wz4UlhikvY6Ps+EuEhZPQn5fjQ2Q0gBQhbL4BIa5yGPrIDYSBgxwLYtTL9iikw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGZ1KZmCsUQZxkfAC6FxugD5NBGjKunEiKteQCQ6ypU=; b=T7grLhRuuQcrd++h59c1igOlclaAD6Tw/CXrvb0w/jb8oyl69E2a2w5estuOxKeQSB5ood 54s7KMuQb3JXCxgVEbUAUVx4ZP6pSz2e2vJtkNMSg9VkXYdH6VaUG4j9V7K4tqdh2Q8Zho F0CRTB0hZH2QQWM7/ErQGlG5Mskbr+qb9hUDNv3sWvGAspU9xvqkOksOKZ3hAr80vkiP4a JUVV593+dwDibH3Rt8QQPdpLAkjVbYASj7guxVzPPrOqzEX5sqGqIm1IdnujSFuabYiITH +AZKnE+Fhs9CqmnqlYtFSnOSLUEplnKKRz89xBTu7+3cw021zBnCpwhmMDCpXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krx40pKz3YD for ; Mon, 04 May 2026 11:57:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 365f9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 11:57:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: ea93554de436 - stable/15 - krb5: Adjust version to 1.22.2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: ea93554de436e84d27200d12f3a3b6dc1670fac9 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 11:57:37 +0000 Message-Id: <69f889b1.365f9.605035c9@gitrepo.freebsd.org> The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=ea93554de436e84d27200d12f3a3b6dc1670fac9 commit ea93554de436e84d27200d12f3a3b6dc1670fac9 Author: Cy Schubert AuthorDate: 2026-05-01 00:57:39 +0000 Commit: Cy Schubert CommitDate: 2026-05-04 11:57:27 +0000 krb5: Adjust version to 1.22.2 Fixes: 736e411a737b (cherry picked from commit 8f46ba065143d9d89968a20b23844287d54c04a2) --- krb5/Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krb5/Makefile.inc b/krb5/Makefile.inc index 34d04daab0b1..e3f85fdded3c 100644 --- a/krb5/Makefile.inc +++ b/krb5/Makefile.inc @@ -10,7 +10,7 @@ .include PACKAGE?= kerberos -KRB5_VERSION= 1.22.1 +KRB5_VERSION= 1.22.2 # MIT KRB5 uses KRB5_DIR. Heimdal uses KRB5DIR. KRB5_SRCTOP= ${SRCTOP}/krb5 From nobody Mon May 4 11:57:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krx0ZNCz6RZf2 for ; Mon, 04 May 2026 11:57: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 4g8Krw4KVvz42m2 for ; Mon, 04 May 2026 11:57:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B/8bIuI7Wx9FIqd/tqILuJAHJNJGw50VKbGNQvJ/N2A=; b=AvoDwhSBWYpDDmRDNl3IvnhQksRk56OZAmMUt16E7UbWILExKMJGRZSaayNsNC3GY9Bzzj P6hJW76HbsXy07mMvGifoO1kRnN4aeyLWGVjJUQf76BMw6e+FoeIJ4GUxEMiXtcMRtknJf Z8lkFQL63fRM64RG0W9bb+ZPnK1Dp/Y5Uc8BJRMEo1rGZx81lIgoxjwJst9MZ9XsEgr1zW LY6DC5N5d3+hjqCic1C4p9lYN43ck8k1b9fwmHx9Y6nBORcuMCZwhVlr3RwWXQZvaIWJLQ zbKq0lhSR1kaXGZYlve8LJppzUJwtXVXO07U/9BFcoTqR2uJgC1Jyc18UhcFgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777895856; a=rsa-sha256; cv=none; b=Z3wHkYzCsaqPOg6zCZSFQit9AJSntA+dO+QWdRQy7nLPAsn4DlkErkm4zmh3Ga8u5l+gei QK8j5xj8AvfJmPWS8jcyeZuZjfhrSLr1pC2frI6kQ8I9qucFXiTgg6Ccr84uARnjtFuoD3 Sf1pZGbrqO0JcvZVmR3PI8dAptkg5DACWZ3d5OyDOc4td+tZ8mNN/pHx3y8Uj0KyEEcKgI OxuteOxbiMfmzu8RYiq072OM7hv9GJYaDJ3KzOnTbk32AlG4Tga5iNOEpTvV7rPQRaYM62 NMXKms2JkuoD8qCDoPbqAybXRhO2AvwLTn2u3fVSS3f9UQL/J7qhDzYYl/g+mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895856; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B/8bIuI7Wx9FIqd/tqILuJAHJNJGw50VKbGNQvJ/N2A=; b=SlpCPK4vwdcfVyAqSn67r71aFnHlsDF8bS5OTVXDtJhjjngU7t6pPSjXkVtsAD9S7tBgLf B+VEOQQ7fnSK76G/2z/BMzTmMbghDJzN5IzaXotyPYIKjxBrW6dsQcC2QS9ToSxayzrnfD zMuzZ40QuAi9sxjBFCOp1u01eYNpRflycT/Zbm32zk/46fww0usEJ1zKXfLm3B8UYNHJ6O CPRZAnEGSQ0vF2m7jSu2gONeEgzyEo4wZDGNid9EpGtlMKf1PtxucZPFpmm6zCBWZ0x4xE 1jBc6bLX7PbX9ydhEfX2ucVbs63n65I//Qv7espZzMtSr+Q45kVOX9venNPWWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krw3J3Lz3YC for ; Mon, 04 May 2026 11:57:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 362d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 11:57:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: a22ad16deb2c - stable/15 - krb5: Fix two NegoEx parsing vulnerabilities List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: a22ad16deb2ce23050c949b43210f5c6feb5afa8 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 11:57:36 +0000 Message-Id: <69f889b0.362d1.23163885@gitrepo.freebsd.org> The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=a22ad16deb2ce23050c949b43210f5c6feb5afa8 commit a22ad16deb2ce23050c949b43210f5c6feb5afa8 Author: Cy Schubert AuthorDate: 2026-04-30 19:27:31 +0000 Commit: Cy Schubert CommitDate: 2026-05-04 11:57:26 +0000 krb5: Fix two NegoEx parsing vulnerabilities Bring in upstream commit 2e75f0d93 fixing two CVEs. Upstream commit log is: In parse_nego_message(), check the result of the second call to vector_base() before dereferencing it. In parse_message(), check for a short header_len to prevent an integer underflow when calculating the remaining message length. Reported by Cem Onat Karagun. CVE-2026-40355: In MIT krb5 release 1.18 and later, if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech, an unauthenticated remote attacker can trigger a null pointer dereference, causing the process to terminate. CVE-2026-40356: In MIT krb5 release 1.18 and later, if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech, an unauthenticated remote attacker can trigger a read overrun of up to 52 bytes, possibly causing the process to terminate. Exfiltration of the bytes read does not appear possible. (cherry picked from commit c9dd7bffa58c50b2f7ed9e66ace39197c468d8e6) --- crypto/krb5/src/lib/gssapi/spnego/negoex_util.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c b/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c index edc5462e8441..a65238e57305 100644 --- a/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c +++ b/crypto/krb5/src/lib/gssapi/spnego/negoex_util.c @@ -253,6 +253,10 @@ parse_nego_message(OM_uint32 *minor, struct k5input *in, offset = k5_input_get_uint32_le(in); count = k5_input_get_uint16_le(in); p = vector_base(offset, count, EXTENSION_LENGTH, msg_base, msg_len); + if (p == NULL) { + *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; + return GSS_S_DEFECTIVE_TOKEN; + } for (i = 0; i < count; i++) { extension_type = load_32_le(p + i * EXTENSION_LENGTH); if (extension_type & EXTENSION_FLAG_CRITICAL) { @@ -391,7 +395,8 @@ parse_message(OM_uint32 *minor, spnego_gss_ctx_id_t ctx, struct k5input *in, msg_len = k5_input_get_uint32_le(in); conv_id = k5_input_get_bytes(in, GUID_LENGTH); - if (in->status || msg_len > token_remaining || header_len > msg_len) { + if (in->status || msg_len > token_remaining || + header_len < (size_t)(in->ptr - msg_base) || header_len > msg_len) { *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; return GSS_S_DEFECTIVE_TOKEN; } From nobody Mon May 4 11:57:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8Krz1Rb0z6RZvM for ; Mon, 04 May 2026 11:57: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 4g8Kry4z0zz42nq for ; Mon, 04 May 2026 11:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQlsWx/Y/RytLYE21MYvbw0pnpR3CKv72OazROy+dyU=; b=QoSt1j11/rEE/kGH+xRXb0YPVGPJRc/ZmrHBox9ly6mXWziNuUIcxxguW0S2UDr5EKhsXJ pVQnqQmBa6yeSTaHDTnOt/ych/2JhsCmL7WjZpU2MWZjEcCZsMhKRVCJF7rra+TRyQkPUA mpR8YstDnJwzPDNUoJPNmxj0NnpBsono9qX5QXpps1qbaT6PZ+GW/d7T70S6l+boUL8B4k ORyJ0/BmLlj/4tZbhEHrKq56WL2VJ1IU8vmL4JYR/nByAuL6A5aElQBMhksbIJyNJWQabw DDPsJ9UNqR5qAdwz/h+V5arasrl8bCEJYZFAQn9d1gILveeX2n/W9+KQmHo73Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777895858; a=rsa-sha256; cv=none; b=HtWSuIo7+bdB1m24BdbrZ4ge3ZMsYiSOnk86PEpm3QDQHgXJCNiVd+5WzR+nrY6v8JC/gc zHORoEdiqtKksn0yESGWxPet9i2ZFAPLi6xCjfr36AhsERttYaE+M8AeE4be6Gm3f3S0JX pPvalvtffq4fV7p7i1mpgF0YWsb2aP1CV6spdvIv+Q8y/esfYdoCovoWcxjldnttlXGE4T C1xXBZrt3r9sZmSXj7l9S58z6USvVpb9519KRGa+jl4dwgDkn/KCTo8Emfpf6T3VWB3ieY vcy9QPIB1+T1GUW+EKYVCp2H+jr6THU5Pr/T3sDiU3Ic6kwtUTCPg2fShCflsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777895858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQlsWx/Y/RytLYE21MYvbw0pnpR3CKv72OazROy+dyU=; b=a1IU1OusJkIonfF++/cFsEzdb+pDj5UMOdvue+Lo5Ip0JqeqLabRv1elRvZMzJaR6V0O10 AmjrzIaRTM+qD0+7gJJv88RFLFU+NUY9STmewb6Uney6ZFuuWtg2kArI0TkX0ETPdRp5S5 V6u89azdZMNbERHyur4nilVC3Tq///Ry/Pi66pL3Pw7lIZbcJr2y93LUd7sG9hqE+8qUIP RT1S3TsR8AItYv1D/U81sSY1KH+N8IQ3SiLfmAn1Wmsu343+aOcgOKSBC0QtwFuWmPGfAL in0LSKaOTlGflkWgub3AWnDAh+5XOaW1Cgl//k2Whuh8l0GHEACjMOcil9l/lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8Kry4Z8zz3GV for ; Mon, 04 May 2026 11:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3732d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 11:57:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: e3fc36736631 - stable/15 - krb5: Adjust additional version strings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: e3fc367366319466dd91fe0217a06c0655e35a8a Auto-Submitted: auto-generated Date: Mon, 04 May 2026 11:57:38 +0000 Message-Id: <69f889b2.3732d.6126a328@gitrepo.freebsd.org> The branch stable/15 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=e3fc367366319466dd91fe0217a06c0655e35a8a commit e3fc367366319466dd91fe0217a06c0655e35a8a Author: Cy Schubert AuthorDate: 2026-05-01 14:40:19 +0000 Commit: Cy Schubert CommitDate: 2026-05-04 11:57:27 +0000 krb5: Adjust additional version strings Fixes: 736e411a737b (cherry picked from commit c64ee36e5d09ecee4ce4951047014c8461734fb5) --- krb5/include/autoconf.h | 4 ++-- krb5/util/build-tools/Makefile | 1 + krb5/util/build-tools/krb5-config.sh | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/krb5/include/autoconf.h b/krb5/include/autoconf.h index 760aca79176b..ef6a1fa2090d 100644 --- a/krb5/include/autoconf.h +++ b/krb5/include/autoconf.h @@ -641,7 +641,7 @@ #define PACKAGE_NAME "Kerberos 5" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Kerberos 5 1.22.1" +#define PACKAGE_STRING "Kerberos 5 1.22.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "krb5" @@ -650,7 +650,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.22.1" +#define PACKAGE_VERSION "1.22.2" /* Default PKCS11 module name */ #define PKCS11_MODNAME "opensc-pkcs11.so" diff --git a/krb5/util/build-tools/Makefile b/krb5/util/build-tools/Makefile index 8bafbb777c07..bf8396dfd939 100644 --- a/krb5/util/build-tools/Makefile +++ b/krb5/util/build-tools/Makefile @@ -8,6 +8,7 @@ # .include "../Makefile.inc" +.include "../../Makefile.pc" SCRIPTS= krb5-config.sh BINDIR?= /usr/bin diff --git a/krb5/util/build-tools/krb5-config.sh b/krb5/util/build-tools/krb5-config.sh index 9980f054b88f..401c19474f84 100755 --- a/krb5/util/build-tools/krb5-config.sh +++ b/krb5/util/build-tools/krb5-config.sh @@ -26,7 +26,7 @@ # Configurable parameters set by autoconf # Disreagard the above. Edit this by hand in the bespoke FreeBSD build. -version_string="Kerberos 5 release 1.22.1" +version_string="Kerberos 5 release 1.22.2" prefix=/usr exec_prefix=${prefix} From nobody Mon May 4 12:10:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8L845VKqz6RcYT for ; Mon, 04 May 2026 12:10: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 4g8L843bVDz46bv for ; Mon, 04 May 2026 12:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777896644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oR8MFOKoRraOxHcxj1RPtF0eNe5s6zDssEPtLWyooew=; b=c05BAy2GF02GR7uHMw/j92SwTN8oBUvAmDd6H/oxOytlO7r2UmRI6fSbuznd8HUKTek6zv +d8OxN9bXcn4PahhKIlvKtQ++jjdFwS3d/zFnmVQCsOQwR9a1xDvW1Y+Y2FnTrKXwMp48h iq+fCU5Nmk1DcdMH0CsQ/MP6awE15WGaZoxQFp9kGxLdFWcKun22dHENVBBOz62OFlOR+1 VvxWr/bpqSSCgJpGiVM5j+1UhoZRWJteIWNGwfZN5c4R8LYBjM4JboCMMJaHojAptVsnOk VQ5uQv9Dt1MFwJyWJoVpALTYC8HMEI7ziDVcDZbGn3JmM9D+VmJBWF+64JE9rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777896644; a=rsa-sha256; cv=none; b=A6he6w2PGH+3zotlB2FXQ1WAdUJ6YQgeo9dwFRMnHoOBFmmrRkPQ5RNr8Qfa7TL1DLBdLH sg0JX2uixPIl4OnQL1WegkAAv2XD5UQALruT8cppsb3RRtMqeEqWvLoSJMD47hubld21y7 ZukR5LpVgt7sBL4WOmKsxwIPtHau36WjZfj8eSrw1ofrblci2AUFAFs+7MAZf+M/5EtipV 9NFEPc9OFrbs4DJrraRjlfjEmBLaP4AZmfYgxGl/yDAaDK4JDZY5xOUlaQ+MqZmAX0t1AB h8DmsnOPH/OxIhEEZHMIsG7KsfkErMkXn3fmQtZqQytg82eHumIjC13Anv+Xsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777896644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oR8MFOKoRraOxHcxj1RPtF0eNe5s6zDssEPtLWyooew=; b=WhTpbwrIGNMk0jUsdLI76Oo6EJByIEtU+Yx03LDR7R0/XXND88HL3No4HUqkFMxF+L2fjE uYhv3PuwbqhaROwb0T48zwjkgEibkwr+LsriY+3SlX8CCmhA2JdR/cZZjY11LDz/yEYmcy PdB1wfnnDVdNjJe3CUpsN8vi+MoZDKFLtNf1pL1CLAXAe++xIMX4qmvgi/ZxoKrVNstwKK t2AFsc7cQdXMdKiqnWabnl3fA0l8zK+dLaDrsDZcibYvSnLYhWMecQKDkCBwrqWtgNjGpW zJyqp7IcgRFl/vKkH0TRAJkPqIauxNJihRVNJQLj6WH5oT9OGNQJLQCELdpqRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8L8432bNz4D8 for ; Mon, 04 May 2026 12:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39306 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 12:10:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 1b149c2a9735 - stable/15 - mixer(8): Deprecate some unintuitive control values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 1b149c2a973526df6ba63f8521c4591aa7250d50 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 12:10:44 +0000 Message-Id: <69f88cc4.39306.3f92b042@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=1b149c2a973526df6ba63f8521c4591aa7250d50 commit 1b149c2a973526df6ba63f8521c4591aa7250d50 Author: Christos Margiolis AuthorDate: 2026-04-23 12:06:15 +0000 Commit: Christos Margiolis CommitDate: 2026-05-04 12:10:25 +0000 mixer(8): Deprecate some unintuitive control values This is a follow-up to cc7479d7dc9b ("mixer(8): Improve mute and recsrc controls"). These deprecated values will be completely removed on 2026-06-15. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: 0mp Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/21 (cherry picked from commit a28bb575c89c8de62684419ece1ff5e070e4ce24) (cherry picked from commit 54922e4ec8909829a7ca8d2158c2a514a06df094) --- usr.sbin/mixer/mixer.8 | 20 +++++++--------- usr.sbin/mixer/mixer.c | 48 ++++++++++++++++++++++++-------------- usr.sbin/mixer/tests/mixer_test.sh | 18 +------------- 3 files changed, 41 insertions(+), 45 deletions(-) diff --git a/usr.sbin/mixer/mixer.8 b/usr.sbin/mixer/mixer.8 index bdff0dbedc11..2d12e6057797 100644 --- a/usr.sbin/mixer/mixer.8 +++ b/usr.sbin/mixer/mixer.8 @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2021 Christos Margiolis +.\" Copyright (c) 2021-2026 Christos Margiolis .\" .\" Permission is hereby granted, free of charge, to any person obtaining a copy .\" of this software and associated documentation files (the "Software"), to deal @@ -19,7 +19,7 @@ .\" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN .\" THE SOFTWARE. .\" -.Dd February 26, 2026 +.Dd April 4, 2026 .Dt MIXER 8 .Os .Sh NAME @@ -113,9 +113,7 @@ with one of the available devices): .Oo Cm \&+ | Cm \&- Oc Ar lvol Oo % Oc .Oo Cm \&: Oo Cm \&+ | Cm \&- Oc Ar rvol Oo % Oc Oc .Xc -.It Ar dev Cm .mute Ta Cm 0 | 1 | ^ .It Ar dev Cm .mute Ta Cm off | on | toggle -.It Ar dev Cm .recsrc Ta Cm ^ | + | - | = .It Ar dev Cm .recsrc Ta Cm toggle | add | remove | set .El .Sm on @@ -153,13 +151,13 @@ The control (un)mutes a device. The following values are available: .Bl -tag -width "xxxxxxxxxx" -offset indent -.It Cm 0 | off +.It Cm off unmutes .Ar dev -.It Cm 1 | on +.It Cm on mutes .Ar dev -.It Cm ^ | toggle +.It Cm toggle toggles the mute of .Ar dev .El @@ -177,19 +175,19 @@ on a .Sy rec device: .Bl -tag -width "xxxxxxxxxx" -offset indent -.It Cm ^ | toggle +.It Cm toggle toggles .Ar dev of possible recording devices -.It Cm + | add +.It Cm add adds .Ar dev to possible recording devices -.It Cm - | remove +.It Cm remove removes .Ar dev from possible recording devices -.It Cm = | set +.It Cm set makes .Ar dev the only recording device. diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c index a0fc9705a301..c9efacc666eb 100644 --- a/usr.sbin/mixer/mixer.c +++ b/usr.sbin/mixer/mixer.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2021 Christos Margiolis + * Copyright (c) 2021-2026 Christos Margiolis * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -428,16 +428,22 @@ mod_mute(struct mix_dev *d, void *p) m = d->parent_mixer; cp = mixer_get_ctl(m->dev, C_MUT); val = p; - if (strncmp(val, "off", strlen(val)) == 0 || - strncmp(val, "0", strlen(val)) == 0) + if (strncmp(val, "off", strlen(val)) == 0) { opt = MIX_UNMUTE; - else if (strncmp(val, "on", strlen(val)) == 0 || - strncmp(val, "1", strlen(val)) == 0) + } else if (strncmp(val, "0", strlen(val)) == 0) { + warnx("%s: deprecated: use \"off\" instead", val); + opt = MIX_UNMUTE; + } else if (strncmp(val, "on", strlen(val)) == 0) { + opt = MIX_MUTE; + } else if (strncmp(val, "1", strlen(val)) == 0) { + warnx("%s: deprecated: use \"on\" instead", val); opt = MIX_MUTE; - else if (strncmp(val, "toggle", strlen(val)) == 0 || - strncmp(val, "^", strlen(val)) == 0) + } else if (strncmp(val, "toggle", strlen(val)) == 0) { + opt = MIX_TOGGLEMUTE; + } else if (strncmp(val, "^", strlen(val)) == 0) { + warnx("%s: deprecated: use \"toggle\" instead", val); opt = MIX_TOGGLEMUTE; - else { + } else { warnx("%s: no such modifier", val); return (-1); } @@ -464,19 +470,27 @@ mod_recsrc(struct mix_dev *d, void *p) m = d->parent_mixer; cp = mixer_get_ctl(m->dev, C_SRC); val = p; - if (strncmp(val, "add", strlen(val)) == 0 || - strncmp(val, "+", strlen(val)) == 0) + if (strncmp(val, "add", strlen(val)) == 0) { + opt = MIX_ADDRECSRC; + } else if (strncmp(val, "+", strlen(val)) == 0) { + warnx("%s: deprecated: use \"add\" instead", val); opt = MIX_ADDRECSRC; - else if (strncmp(val, "remove", strlen(val)) == 0 || - strncmp(val, "-", strlen(val)) == 0) + } else if (strncmp(val, "remove", strlen(val)) == 0) { opt = MIX_REMOVERECSRC; - else if (strncmp(val, "set", strlen(val)) == 0 || - strncmp(val, "=", strlen(val)) == 0) + } else if (strncmp(val, "-", strlen(val)) == 0) { + warnx("%s: deprecated: use \"remove\" instead", val); + opt = MIX_REMOVERECSRC; + } else if (strncmp(val, "set", strlen(val)) == 0) { + opt = MIX_SETRECSRC; + } else if (strncmp(val, "=", strlen(val)) == 0) { + warnx("%s: deprecated: use \"set\" instead", val); opt = MIX_SETRECSRC; - else if (strncmp(val, "toggle", strlen(val)) == 0 || - strncmp(val, "^", strlen(val)) == 0) + } else if (strncmp(val, "toggle", strlen(val)) == 0) { opt = MIX_TOGGLERECSRC; - else { + } else if (strncmp(val, "^", strlen(val)) == 0) { + warnx("%s: deprecated: use \"toggle\" instead", val); + opt = MIX_TOGGLERECSRC; + } else { warnx("%s: no such modifier", val); return (-1); } diff --git a/usr.sbin/mixer/tests/mixer_test.sh b/usr.sbin/mixer/tests/mixer_test.sh index c48512db5ec7..da5f4d7566bc 100755 --- a/usr.sbin/mixer/tests/mixer_test.sh +++ b/usr.sbin/mixer/tests/mixer_test.sh @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2024 The FreeBSD Foundation +# Copyright (c) 2024-2026 The FreeBSD Foundation # # This software was developed by Christos Margiolis # under sponsorship from the FreeBSD Foundation. @@ -210,16 +210,6 @@ mute_body() atf_check -o ignore -e empty mixer vol.mute=toggle atf_check -o match:"=off" mixer vol.mute - # Test deprecated interface - atf_check -o ignore -e empty mixer vol.mute=0 - atf_check -o match:"=off" mixer vol.mute - - atf_check -o ignore -e empty mixer vol.mute=1 - atf_check -o match:"=on" mixer vol.mute - - atf_check -o ignore -e empty mixer vol.mute=^ - atf_check -o match:"=off" mixer vol.mute - # Test wrong values atf_check -o ignore -e not-empty mixer vol.mute=foobar atf_check -o ignore -e not-empty mixer vol.mute=10 @@ -248,12 +238,6 @@ recsrc_body() atf_check -o ignore -e empty mixer ${recsrc}.recsrc=set atf_check -o ignore -e empty mixer ${recsrc}.recsrc=toggle - # Test deprecated interface - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=+ - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=- - atf_check -o ignore -e empty mixer ${recsrc}.recsrc== - atf_check -o ignore -e empty mixer ${recsrc}.recsrc=^ - # Test wrong values atf_check -o ignore -e not-empty mixer ${recsrc}.recsrc=foobar atf_check -o ignore -e not-empty mixer ${recsrc}.recsrc=10 From nobody Mon May 4 15:23:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8QQY20wGz6bP8f for ; Mon, 04 May 2026 15:23: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 4g8QQY0KMZz3bc7 for ; Mon, 04 May 2026 15:23:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8wboxUYjQvvFXouhJe7Ra0ngZqqbbCz4tMPolQ/65Q=; b=sY3Mn4ne4EAqWSSYkPWTHFyygBqlgQ204FQ5mO88RIXLbc0EMyiHMe6f/4UAWBH4sZx7uH 2p9h+ALpnmJ1bzYyI0HrPW7Zxd+wGzVGakFBxA88xtxqk7+ZvyJ0/ZQIGT8hOdoVoeJ153 tuola9IhzNwxpFAE+lcfEOjD43mgFw9mOAGltmJ1eZIC29cRIslUBHp9U0e7VNRz4uIuBO JUPpTJEtqQR9caV1tdT4IXQCF9TWeO/HhwzEc5FUVdzLFSXsLSriACXRAUUAEsE/dvL76j YJHRo/4/2zztK5qohNdlD9WikE2LoFgoGOn/nKNPv5BvzuqPDhWlxWbdr54eTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777908213; a=rsa-sha256; cv=none; b=R439TcUxPA2QIiXUCqTkZ3xdjrJTrMDDSLv9drPWeyBMjZYoHYNTCWPJvZ5D4PiDtHfYSt 4tZeXNDZ6MM+NS1W0STJIzyx3koxhz7R2XTV1qw8/vV4Atb4pVn6iFz6G7T/RqAN1vU4Nw JnPK8/kNwEHSWRQdEfiTiOIg2RLqgf0KnOseDpL+FeiZLq8bT25VGt7S2oarks3Y0XFguT H1nzWl5AwSMzu5c9wZ/2QYuUDpM0ntLnNZ1GsCnUuBzTTZqaFUG/UcKJVgu0OjHDozetNm JzCR3O1QRZHI9fQyZC6GEgHVkj0hRsm/8X5sVKRAlHvd116SEvg/wyfVAIcXcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8wboxUYjQvvFXouhJe7Ra0ngZqqbbCz4tMPolQ/65Q=; b=p3fgWVLBb0UD9KfLJ3G1dRmQJSTndcMmpZZEblB5U0MRIPv7923Wff1sDIM4RRDWdCEpWA kxOwO7okCyrKy1rm+Q1+20iZzKnIG5K8Locm9TvX0jkNi+/IckgN3vIzQULrSFgWzhiRYK 4S2ypCi4Oh3+jXgtBMVRgw+27cP7VO+A884ueaT+9VsmID7GgxyR8mIlIe9mDWL4Ts6MT3 vz421W0D25tAoOeF8XsrzVsfX/h3zHpJKwEf+9QHkxeZUu5PzZY6edY2VpdJGZALJ8fzNX Q7cJzcmkLkhm1AndVvHyNj3I3EEBz3/KOeH69Pf+OEumVvMBuYkZs+kVR41c+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8QQX6hl0z9hn for ; Mon, 04 May 2026 15:23:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18ef1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 15:23:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 3d1c59a0bee9 - Create tag release/13.5.0-p14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/tags/release/13.5.0-p14 X-Git-Reftype: annotated tag X-Git-Commit: 3d1c59a0bee97b02a5a4b6013bb8d5699fdf18e7 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 15:23:32 +0000 Message-Id: <69f8b9f4.18ef1.58184b42@gitrepo.freebsd.org> The annotated tag release/13.5.0-p14 has been created by markj: URL: https://cgit.FreeBSD.org/src/tag/?h=release/13.5.0-p14 tag release/13.5.0-p14 Tagger: Mark Johnston TaggerDate: 2026-05-04 15:20:15 +0000 Tag FreeBSD 13.5-RELEASE-p14 commit 2e6399fe39b3497c7d949b905025082232418793 Author: Mark Johnston AuthorDate: 2026-04-30 21:14:06 +0000 Commit: Mark Johnston CommitDate: 2026-04-30 21:21:13 +0000 Add UPDATING entries and bump version Approved by: so From nobody Mon May 4 15:23:54 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8QQz2MQKz6bPX3 for ; Mon, 04 May 2026 15:23: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 4g8QQz0Xswz3c4Q for ; Mon, 04 May 2026 15:23:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bCYouSEBszfFXM1zV+BaUGwMQZSHkg2tQLNJumHTm5A=; b=ehbDukHDw07kVvWNJwHE2oYQ+fOGIbp2xRwpDRPGzZWvvh0G+YjLPokvWq7GHLM4WETiO9 N0L/rJy16fj1mhYZl0HchDrTRE9xoMe41autpLITq6V+iEwz5A9Qri3y9QMPt9ukCDYkuJ WUCXarilseuwpRER2BG7okIjuKACPZylfLBv86btBEy6Zm1apJpczBlhuI+HNDUfTcnD70 Jg7xAA7QBB8u4o6SaHd9K0aVV6uw0mV5xmwusItycPMIVUVShXbnmSEAuMYpy/UXkKxWpu cUQEeRDpOBvAz3psJb9T+R3BsyRRRYc3Og1h1ugy/7OcqsZ8nuR8boPZ425JNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777908235; a=rsa-sha256; cv=none; b=J/WqYlDePNxUC7/Ua2sg/hmBzKAZXDCoNkZXqu3s6ia0YCo7sLimf00D+fgpsUtDoiJy9y 1PKr3dlEKdFDoH3LR7i+R70rnBX61npyBtX9TKz12zJgwlJPBOqHq+UOoWRJq7FHu3mRpI 4yHzuw6SNEnAMopqbMDelyhmrdaYQ4TqoD3QKzwkAEcCgIotaMEfpC8EGksE1LNJ8aDMg0 j6iZTo+IElYMfybuVD8QM2uQ0GUeuEiCVqQhjwOQZmyue7QeFZpEUi6eAfKgbIXUyvVs7E ZUEqwbkRaJLKo/zxcmFBOifTELhERsXZ1RGTi5YZnFFSb51jjfEY00yqIqPewg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bCYouSEBszfFXM1zV+BaUGwMQZSHkg2tQLNJumHTm5A=; b=Z9ptXlUtTBrTbOyh2CD7uNUYKJQZvygSRUufzFJKtWNIAqdXC5nBLOLJ5O2DfYf5xtdo/2 bvlc+ni8ksXJJUZANNaf/fPUie3EvJ2+druzlVUpiwhrigcw8eVzyg06vvZNbdgVcGHN/U yJ+hf+hPayG17hie5E3Umq1oHY08D057/OJ5Td7AyZhP+6OOd2qYQCHaCGU79LvH+KZ3Z/ KLyyihsPNOL9Rr05yehDMxHKWex33FN5QIS2ZpgNqI4VDYGVspjrB8hoHPaoydhH2vJjNo FUS9RtPVrbRgXl4C/ELqWilf4s5TFR9N0tSRDeITsaU01XcRdj2a+a/H/OJMYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8QQy6n31z9pT for ; Mon, 04 May 2026 15:23:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a46a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 15:23:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d8c8682d59f5 - Create tag release/14.3.0-p13 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/tags/release/14.3.0-p13 X-Git-Reftype: annotated tag X-Git-Commit: d8c8682d59f5d3b407acf5a2aebfc70acf8cfd07 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 15:23:54 +0000 Message-Id: <69f8ba0a.1a46a.56c06c95@gitrepo.freebsd.org> The annotated tag release/14.3.0-p13 has been created by markj: URL: https://cgit.FreeBSD.org/src/tag/?h=release/14.3.0-p13 tag release/14.3.0-p13 Tagger: Mark Johnston TaggerDate: 2026-05-04 15:23:41 +0000 Tag FreeBSD 14.3-RELEASE-p13 commit 4f4b48e8a5478657f343953ef30ce992f2a6b68f Author: Mark Johnston AuthorDate: 2026-04-30 21:12:58 +0000 Commit: Mark Johnston CommitDate: 2026-04-30 21:21:34 +0000 Add UPDATING entries and bump version Approved by: so From nobody Mon May 4 15:24:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8QRP0Ww8z6bPCb for ; Mon, 04 May 2026 15:24: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 4g8QRN5qSYz3byr for ; Mon, 04 May 2026 15:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUr97Xv2OLpCHcTr5NQ451pslRKVIKOBjP+8RCANFbY=; b=yiEvoDfaGbIwEgip9PK6SzVtQ5Iusp9sk2T8gZusUh0g4L3jgb7qMPs/vYeJT1xq7aYQ2v wTN653PnjvfnM6Eo/QjsXuaGmsuxq1C9w/NC4DtwMfhABjV2yho68wtB2pW5PZLxJad8Rq 3Fc/qwV5bRqzxK4UulMWq2BQLfrgEA3ano2hT2qvE7/jC1MzEJCgXWHzNvGvhcDn58f5ag vHNLyy4kC5ZBoofQMXznOOWAQLR30IGTgJs1Tc5YANPfwASHvUDG6DvhSjZGgMkVszuEo+ RVi85sI4VADyYmLWEvR6xmfvFYJ0XBGzrJ60VEsR7e1AJwkVhVoQujZD9WDmoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777908256; a=rsa-sha256; cv=none; b=YtF7+bHCjHUYztC3QsxA1HY04ZELRWJ1K3zj/O0GYA4h14zESut+fz9JLkE9jFOgnA42As nvxN8VqJVItk1Oaw7PwWH8nlm2qTx2kBlzCcfXIzvQHN5qH08KGqAPbxIr1yqPUIRpVWLH LeuqbjoIHAsnsLk01Ko4YPw7TF4MB63r7qEXURwJX5PG8nBbr31WuyHBS+iw4J0ei3rKv9 9P4iDZVr8NsRkil92Z7MYSkyByuLto8lTN4+lmj/4W2s+f2+eHRWvjoPPOzfXZalJlNktV RqcVGGceBH3HpT15EMiObAmEtLeLxHD0P+emE6mP+NdZkIev8mRvx10gEebHhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUr97Xv2OLpCHcTr5NQ451pslRKVIKOBjP+8RCANFbY=; b=weF65WQOaEjbHzLvnRa9Yv6FOjrbuNGfs0mvgZfTsl/EYsw4M4h1RCJ5ivcNeOUeTkVNB1 3Fm4aqP3UtsuAE9pm8TP5ObzVx6uie4v4uwRjLwMVc74FtB/1yCwl2caL8SPKOYvtCpTOo B7UDAL+2G7kFnSZ7fgz6Xu80tnfZBMHJGtDERdUSf0WAJwO5mXf98cWt9FTZXPsgDPXGSX +VQd4pw945WLmIgtjKwehzNnwynkqdA9wd0V5teIq/8Sa9u5ltGevlCx3XkAfYw4GVGOmc O3BzQdiiPzNo/DGfhPL0cwgpkL1l8XZsmmMEWMd7qXufqcWb6Zi8PMzlb5Csdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8QRN4fRlz9hq for ; Mon, 04 May 2026 15:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a46e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 15:24:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: e21af1c4bfbc - Create tag release/14.4.0-p4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/tags/release/14.4.0-p4 X-Git-Reftype: annotated tag X-Git-Commit: e21af1c4bfbced3f2ef36c4fb3d8134b5cb2b66c Auto-Submitted: auto-generated Date: Mon, 04 May 2026 15:24:16 +0000 Message-Id: <69f8ba20.1a46e.76c32871@gitrepo.freebsd.org> The annotated tag release/14.4.0-p4 has been created by markj: URL: https://cgit.FreeBSD.org/src/tag/?h=release/14.4.0-p4 tag release/14.4.0-p4 Tagger: Mark Johnston TaggerDate: 2026-05-04 15:23:59 +0000 Tag FreeBSD 14.4-RELEASE-p4 commit 49be56ed6fea1b8456cb6daf6ea163bf2d084861 Author: Mark Johnston AuthorDate: 2026-04-30 21:12:03 +0000 Commit: Mark Johnston CommitDate: 2026-04-30 21:21:54 +0000 Add UPDATING entries and bump version Approved by: so From nobody Mon May 4 15:24:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8QRk0wDqz6bPHp for ; Mon, 04 May 2026 15:24:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8QRj5QL6z3c4V for ; Mon, 04 May 2026 15:24:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B6tigoYPWvHo8yzsXOONahP6UPcGNdkyoWT7bTJEtq0=; b=CRgv7/3bi96f2E2dHbCsUkUuTEiMdENvDFlkKM6N3Z6CH+AiIID71DI2D5ErgBUJ1NPuBi 7ZOoY+dakAsIOwNN4lqiBBgJRv6aWeFAYBHaUitC7g73z95UGbbaxgIguFwOkPTK1BRZc2 GxPnZl+6EpZwrTLYldKxqKLC4rDlHi1UqE7C0DCaPEZPRs6ip2cDaz21TzWo8bda/Omh+A x9L9yigDZlLCyJ8StPBPrUXVnjEDEEVSOlgogqmMH7qsNQQsb8zBCFY56DsJR5L3DuLNNv 8M7y5g5UR0BaSLWcddn0vzcIH1YkAGJ5+caMLj2pzMx065PIEn4t/zgybtR67A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777908273; a=rsa-sha256; cv=none; b=UI34iDTZ3WnFT1LE/EGPYLB46sLWy4klM8WGEFMX+c33aXL4gdH0+sPeoO/bUF/mJV+sRj AlfoMdbcowrmyq4DRwRFzNyXoMk5GogDNrELmlMN8gTdhWaVvqzKNdEEHPGg12QzGogjgt UHX08yOwNA9OMKco8LsuC3mPjQK2OIzks24lGI7//IF5Zc8tH6srOnrA7dxdLlU6DTCLx0 01MmfuCh0ga85SzcDy3l3UKEAudIaIokT8/RwpnmsD2FxtFe3hOmrKvH9j6GjJ8hpW7gNK oDakCvK7oSuQXj892jCYjzSJhJ4/PJUqeGJI3rSMFFAvbICoDycQnYfJDSFzRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777908273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B6tigoYPWvHo8yzsXOONahP6UPcGNdkyoWT7bTJEtq0=; b=Rv7jh9wCz2YpiPrJzlCVsf7mX6B4attN62xLRl20uEWmrAPAayq6ju0r3Q8fHDnMPfJb2R odM0RJwP5qLzlBypF/ELDGvqoiVvP/X6pBvtAKZrM/9p4Z4geBtJJKlb2zRx6H4cU+4BH1 pRJTyw3I3b9aRRRgubzxDlFcKzFioKTJM90Mc4z0z4AkdwMlWEdV+aB3NwlI9n2PWgj3+W c9w0ContyJPPM0D03GEVwxnjXm8XSJ7ewbzSYXdPamHpnIl3d4Oealko+Lffrxj38XNpcv TIIp4e0m0wb073zDpV35apWlz+4HW05Kt/t+PZVFB+uVZA32t8ELvV62qFzTuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8QRj4R4sz9D8 for ; Mon, 04 May 2026 15:24:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c2d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 15:24:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c895694f1791 - Create tag release/15.0.0-p8 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/tags/release/15.0.0-p8 X-Git-Reftype: annotated tag X-Git-Commit: c895694f1791f667b4a43dc67f670ed778bb05d3 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 15:24:33 +0000 Message-Id: <69f8ba31.1c2d2.3ea2ba3@gitrepo.freebsd.org> The annotated tag release/15.0.0-p8 has been created by markj: URL: https://cgit.FreeBSD.org/src/tag/?h=release/15.0.0-p8 tag release/15.0.0-p8 Tagger: Mark Johnston TaggerDate: 2026-05-04 15:24:21 +0000 Tag FreeBSD 15.0-RELEASE-p8 commit 53054229dcb3cb994056da70b6c838c74ea3bb83 Author: Mark Johnston AuthorDate: 2026-04-30 21:10:49 +0000 Commit: Mark Johnston CommitDate: 2026-04-30 21:10:49 +0000 Add UPDATING entries and bump version Approved by: so From nobody Mon May 4 16:51:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMn0NY3z6brGx for ; Mon, 04 May 2026 16:51: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 4g8SMm5j1Lz3w9c for ; Mon, 04 May 2026 16:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au7gABmffUhGbkYGRTyCOEV5VD+3aQ8D6cGtJlOfP3I=; b=rkItKGztRkzWKvIyMOyRtObkD2/l8di80ojb6jsoZd9w6gswvrxLEyytOQSrlYqlAOMDQt 5wk8kS+WjeKglCmVF4+ft+/OJ2pmd5yCNwkct1Df8WN10Gfd3cGMPFaef9fN3kJkOTA5OA yMNmE+z6/uaGLX+R+nkKFxLFjueeEtvSKrWNodhTxUvOp4re30S/dW2Z+tGB9JU1TMQOok TjKQkTV5ogL6B1Aw56n78cQz9tjwseT7tAUa2Fq1h81pThHS0WBu/BhEmroQEEn2J+o26H ++xGmpbTz1tWKtPKBjfXuJaxdCYXWFnNhMYHoyofzqxCDpSLwQhXB5jLLFi+jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913476; a=rsa-sha256; cv=none; b=eNjivZB5JE2QSvm9C6bmxH7PD7nfVilusSyU1cqMAg4u5Tkas4kp/6gfWSOcj3NMfZqDSL 2J/R8Ay5OAS/F4fdvLZq0Ml1FSVR4WZy3CZRRoXwQrVFcgIzQorSsOfZ50X7+7nxF5fIgV 9rBOrsWom1LGm/51hqZ1G5MyQWJl3B40/NkfqHM3CPtclvJepbjMFT+SqLVX4hF2E/1Iki xmp1BiJnu4DGJ3/ctBTOAIcBjYmf2U/NYR1j2M5XEx8eWTz98wo26Qrim1+7noXjigGYrP lVuNViUVIm9lW6cSCchUhWI/w0hK1bcd34DbMBC5fNpvqtXGasdWI7/wAFq0mQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au7gABmffUhGbkYGRTyCOEV5VD+3aQ8D6cGtJlOfP3I=; b=dJeRE3ro9hvMoEwN/vEOjtUVb4VnStkGSzir7pEelbQOw4ZynAaVncjm/XcrckFLvRocpO hAHxWwnYyKoSbyfL9OjYjyrXW8i8qcQSXS351/WBM83HQwj2QIYGXsV87wYnWXiarRPM8n UKi48VofCFjGuhBhxwAJgd82LWbXmLsiOOBzViXkCqw+B781oaQipdpaekuP+kRt7htZrp trxctnqUjFigKMffeoOygrJ53jsv1xHOYh7bNnG7aWUwO32eL2uJXxquf4tNRDJdFoEBCi uXEshYE3LbopeUCDAF8+zt04fSioGIshl+2ehgwwRf635khEF7CLsR/a0A4lEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMm5JNqzD2Q for ; Mon, 04 May 2026 16:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27310 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 328598079b56 - stable/14 - ifnet: Move SIOCSIFVNET from ifhwioctl() to ifioctl() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 328598079b56bb007d8baa065be603b992b4da6d Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:16 +0000 Message-Id: <69f8ce84.27310.34af862b@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=328598079b56bb007d8baa065be603b992b4da6d commit 328598079b56bb007d8baa065be603b992b4da6d Author: Zhenlei Huang AuthorDate: 2026-04-13 04:38:44 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:41 +0000 ifnet: Move SIOCSIFVNET from ifhwioctl() to ifioctl() SIOCSIFVNET is not a hardware ioctl. Move it to where it belongs. Where here, rewrite the logic of checking whether we are moving the interface from and to the same vnet or not, since it is obviously not stable to access the interface's vnet, given the current thread may race with other threads those running if_vmove(). MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55880 (cherry picked from commit 38bd7ef62f318f791e232e217855307a9d75efa0) (cherry picked from commit 477c3ba3673152e88ec5c50d8f45db24102bdf07) --- sys/net/if.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index c4c2df61dd1d..f34e35549e03 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1304,26 +1304,39 @@ if_vmove(struct ifnet *ifp, struct vnet *new_vnet) * Move an ifnet to or from another child prison/vnet, specified by the jail id. */ static int -if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) +if_vmove_loan(struct thread *td, char *ifname, int jid) { struct prison *pr; - struct ifnet *difp; + struct ifnet *ifp, *difp; bool found; + MPASS(curthread == td); + MPASS(curvnet == TD_TO_VNET(td)); + + /* + * We check the existence of the interface, and will later try to + * unlink it from the "active" list, so it is sufficient to only + * hold a weak reference to it. + * Be aware that it is unsafe to access any member of it, until it + * is proven to be safe to ( say it was on the "active" list ). + */ + ifp = ifunit(ifname); + if (ifp == NULL) + return (ENXIO); + /* Try to find the prison within our visibility. */ sx_slock(&allprison_lock); pr = prison_find_child(td->td_ucred->cr_prison, jid); sx_sunlock(&allprison_lock); if (pr == NULL) return (ENXIO); - prison_hold_locked(pr); - mtx_unlock(&pr->pr_mtx); - - /* Do not try to move the iface from and to the same prison. */ - if (pr->pr_vnet == ifp->if_vnet) { - prison_free(pr); + /* Do not try to move the iface from and to the same vnet. */ + if (pr->pr_vnet == TD_TO_VNET(td)) { + mtx_unlock(&pr->pr_mtx); return (EEXIST); } + prison_hold_locked(pr); + mtx_unlock(&pr->pr_mtx); /* Make sure the named iface does not exists in the dst. prison/vnet. */ /* XXX Lock interfaces to avoid races. */ @@ -2701,15 +2714,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) error = if_rename(ifp, new_name); break; -#ifdef VIMAGE - case SIOCSIFVNET: - error = priv_check(td, PRIV_NET_SETIFVNET); - if (error) - return (error); - error = if_vmove_loan(td, ifp, ifr->ifr_name, ifr->ifr_jid); - break; -#endif - case SIOCSIFMETRIC: error = priv_check(td, PRIV_NET_SETIFMETRIC); if (error) @@ -2997,6 +3001,12 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct thread *td) ifr = (struct ifreq *)data; switch (cmd) { #ifdef VIMAGE + case SIOCSIFVNET: + error = priv_check(td, PRIV_NET_SETIFVNET); + if (error == 0) + error = if_vmove_loan(td, ifr->ifr_name, ifr->ifr_jid); + goto out_noref; + case SIOCSIFRVNET: error = priv_check(td, PRIV_NET_SETIFVNET); if (error == 0) From nobody Mon May 4 16:51:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMm0GCTz6br1b for ; Mon, 04 May 2026 16:51: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 4g8SMl4tYZz3vjS for ; Mon, 04 May 2026 16:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LSpXu69i5n8TN8uRYy3nu/ZLz/SMNLRAN+ITcVmdlG0=; b=ofYd4HkwheI+/jO4ZwTyL+RqtS6oXO6Ib6OE+oSlY4fVh50UiyPGJZwBCf/WQw4pQIeUOz XD3HD7vjGT131bgooVVeFMe6GOUsMko91JmarN2UbohIf6XT7NhZgk5ha3kkBS8t8bnU4r kNvXR6V+fsBD5S549k3K6Ue/gqdxdNvF6f2iaCSxqcuNIVd1cXbk14vPZTk0l25YSrwo2t ed9M21rOVut8+IesUr4KS4wdXP9BaOs7YEmGv659FdYcSRxYcek8q5VplDcCMOZm51m+PV cH/GeDx024/fcsKbd9l1vM8jbvKcwN87nAsXY01XKw/zvbSPchZ6UVSos9aqzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913475; a=rsa-sha256; cv=none; b=ggg8H6BFpMEBN4+hWRxThXTi9vVUNweqDDrmpUI6vsRWaRUdV9DrmcGNrT2m9psNOvAbRf usMO50qsquHNU5ahH413sxPaYtoWif2SDNM/qh4UA/AyfjXZvI6lEwlo9id81vE2K55Cjh n5G9zX/xbV8S6yg0mrNnV9YJ07gekJlNwScaI7zWZyz0/YBW7FbQsrmMepG8FYUS+3DMsg FkgERQfpcqmrbVbC4WW/yQyz1e0v/lFPOyFd4aa7JB7i1mWpFBWjhryPaLXFPlu3BlbmkD WbsbXg4HMfKHoTGddBZ0cV2NJtIIklW4q3TgxZBbu9BGQNnXqOwz0CXKBbyHzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LSpXu69i5n8TN8uRYy3nu/ZLz/SMNLRAN+ITcVmdlG0=; b=MN1c7PmRV2jbtOg1PuxzXLYhNQdcUZoidJLa03dnMd5TsWOrXLpTFzrMBLHmEjQNx+ltyx smCCusgKxetJbPWZxpjc9AY/NCbFdcOFxeROBklIE0Ufah7QQqjx50zgLOF27+H6mYhC9d M0UZSelFXhn/oiLQHqLvgsd3QQ1CpnSMzPSGpxWfQzpo3BxV6sKQySgE7ndz3yejV1Bshm UVGjLQEGLB+ZRVhR2aT02KII4qG2+HRISWWm0s1qi4V+ijaQ/JFN5olXvsBfOQDNePXmlP cmEy8vNyxeTAXKfgZC9aMjXHR9yhuAiOufgPikfN17lF0JupmeP4Qqku56vzBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMl4TjxzCTV for ; Mon, 04 May 2026 16:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25b3d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: e7063f1d8b5d - stable/14 - ifnet: vnet_if_return(): Avoid unnecessary recursive acquisition of ifnet_detach_sxlock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7063f1d8b5db637fdedc6a66abccc0efd76d9c7 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:15 +0000 Message-Id: <69f8ce83.25b3d.6acee854@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e7063f1d8b5db637fdedc6a66abccc0efd76d9c7 commit e7063f1d8b5db637fdedc6a66abccc0efd76d9c7 Author: Zhenlei Huang AuthorDate: 2026-04-13 04:38:43 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:41 +0000 ifnet: vnet_if_return(): Avoid unnecessary recursive acquisition of ifnet_detach_sxlock vnet_if_return() will be invocked by vnet_sysuninit() on vnet destructing, while the lock ifnet_detach_sxlock has been acquired in vnet_destroy() already. With this change the order of locking is more clear. There should be no functional change. Reviewed by: pouria Fixes: 868bf82153e8 if: avoid interface destroy race MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56288 (cherry picked from commit f1fae67afbb13a41d488d0e0ec66b1805925019c) (cherry picked from commit ccfc2d91304e88aafc0ca0e13e0f8b5a156d2a01) --- sys/net/if.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 1d6b2f7b9461..c4c2df61dd1d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -491,6 +491,8 @@ vnet_if_return(const void *unused __unused) i = 0; + /* The lock has already been aquired in vnet_destroy() */ + sx_assert(&ifnet_detach_sxlock, SX_XLOCKED); /* * We need to protect our access to the V_ifnet tailq. Ordinarily we'd * enter NET_EPOCH, but that's not possible, because if_vmove() calls @@ -519,9 +521,7 @@ vnet_if_return(const void *unused __unused) IFNET_WUNLOCK(); for (int j = 0; j < i; j++) { - sx_xlock(&ifnet_detach_sxlock); if_vmove(pending[j], pending[j]->if_home_vnet); - sx_xunlock(&ifnet_detach_sxlock); } free(pending, M_IFNET); From nobody Mon May 4 16:51:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMh6LGGz6br3Q for ; Mon, 04 May 2026 16:51: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 4g8SMh2zkCz3wGB for ; Mon, 04 May 2026 16:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqTUJ2SaK36Ry7P0xCkQNAU4OaojKnPnAr0Pkb5W4tE=; b=GV5HlHyoMuQgB2DRTvftDrC9GqdTWoHlPnKRHnyr6694MfrxbWAJR3+3eXA/sZIIiw96+6 hSRy6TAmJZAP3ig9k1jSAYe/IjtoIXIO1h2DLulbiYTvHizbS2LgpdUP9w80tflpVMycqe qzw0CNWekDXT0B/J1XWiWUkwH4EbVk7M9iwExAeXLu8xnCjUZ3aqEBBT2VcIVKjpxHwie+ aTe023k9CCTj61p3EQyrE2VTlLXIvcDmiX9NX2VkScxBaZkPEJLLm60GoinBt3DEuqrJoR jTsxLw7KRILP6MvFCrngmauianI0nY5v8jAueagiTYBwiOS16/DwwtZj3VX5Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913472; a=rsa-sha256; cv=none; b=rJkJSlbWCuOuCS2Qiy194iR760asNjegi2THturJEw5hK483/IS8K9utUgh43CjN9kw0Zk cmxWbhV2yCqgIaj0l/9TDk5BdbuVnLibAwlrVt8nhv9EPnCuw+LQUvLjKBypCj2Yty59CD giWw7c7ePaDIHyE2G9jpKl9a8ryPkpvNtMTy/2VCu0tzHeUJJlc7UiO1KzPCIbbC8hA5ZQ PaLr/1fQy5+sWH6KfpMxQ5IyGHreW60SgiOHhiqKlbnAZs0+SHru7CyKGDKwbULG6BhWyf T7FVgNOHvRnsvLgslEMYLOnJ6WuSKb7LL22iz91g4yBJQ/ZixX0J/HGpiUFYwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqTUJ2SaK36Ry7P0xCkQNAU4OaojKnPnAr0Pkb5W4tE=; b=wf4aAivk3qKLoPARwzHR+SlteoXcNPvTpzLJracimJxtGfoWxXGtipHsuAz48YuxcHtCQn U01+Kmar+Of7FXVQ4j8LP6IZRAGF0P0RQhukcG/XB8w/hnZ32R0nEhrk5q18UWRtWx01MC 2mpecxgWGweZVAv9GDfdKizc9HVJpg9ySeHlScSkN5tq5P59TQwcn/GzhMRkYmQZCm7ZBU NAgvbfKsBMsa2oQC6MZXQyIrsS2DiRze58qR6L4jF76RM0cOhVXHVzaYVMGrhEfPEORCkv TPgc40coY1NNomwTjm4CLIzjItm9Bic3smVunFFtlV2Tf+2KfVVyw6yk+kXX2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMh2bB2zCpK for ; Mon, 04 May 2026 16:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27844 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: bc73c7f61912 - stable/14 - ifnet: Remove unreachable code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bc73c7f6191211b254f8cc87aab71d5ff853e24d Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:12 +0000 Message-Id: <69f8ce80.27844.3fac1349@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bc73c7f6191211b254f8cc87aab71d5ff853e24d commit bc73c7f6191211b254f8cc87aab71d5ff853e24d Author: Zhenlei Huang AuthorDate: 2026-03-16 17:03:05 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:40 +0000 ifnet: Remove unreachable code The ioctls SIOCSIFVNET and SIOCSIFRVNET are for userland only. For SIOCSIFVNET, if_vmove_loan(), the interface is obtained from current VNET. For SIOCSIFRVNET, if_vmove_reclaim(), a valid child prison is held before getting the interface. In both cases the VNET of the obtained interfaces is stable, so there's no need to check it. No functional change intended. Reviewed by: glebius, jamie (for #jails) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55828 (cherry picked from commit e0731059af912a27d0f842959218946b1daaa7d1) (cherry picked from commit a989b0fbc965b453d97e3d032efb4f9c7592734a) --- sys/net/if.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 44f80a51eea8..2245863bda83 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1301,7 +1301,6 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) struct prison *pr; struct ifnet *difp; bool found; - bool shutdown; MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); @@ -1331,14 +1330,6 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) } sx_xlock(&ifnet_detach_sxlock); - /* Make sure the VNET is stable. */ - shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); - if (shutdown) { - sx_xunlock(&ifnet_detach_sxlock); - prison_free(pr); - return (EBUSY); - } - found = if_unlink_ifnet(ifp, true); if (! found) { sx_xunlock(&ifnet_detach_sxlock); @@ -1365,7 +1356,6 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) struct vnet *vnet_dst; struct ifnet *ifp; int found __diagused; - bool shutdown; /* Try to find the prison within our visibility. */ sx_slock(&allprison_lock); @@ -1393,14 +1383,6 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) return (EEXIST); } - /* Make sure the VNET is stable. */ - shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); - if (shutdown) { - CURVNET_RESTORE(); - prison_free(pr); - return (EBUSY); - } - /* Get interface back from child jail/vnet. */ found = if_unlink_ifnet(ifp, true); MPASS(found); From nobody Mon May 4 16:51:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMk6CnFz6br3X for ; Mon, 04 May 2026 16:51: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 4g8SMk4BzCz3w2X for ; Mon, 04 May 2026 16:51:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7fcwoFsfi5v0pUKBV87M+iozR2uy+TvJnaLso/UtQk=; b=thGTD2DyjBrS0UO7bm8qZC2hu/DpOUHdlvODsVJxCw5rP7mndFu7DSRgIABeKaOM0RKIno 3u7RupZ1t2fsujHLECXBsD5D3Y6scDp1wgj1cvubBYANh2Yk0ITNJwRdkqJaXyzQ3L95h+ HlpKA4tjEtlZQ3Yu4x8UmdBNwTDcuOZ+My4CO341Q2BUxne5ykng451lKTx1fl1am4BSJW m0SUvwpPws1wDFDXZ5AWj7hcpdnEh3ufwIncGLyloF3Vb37F42xLagCPLNOnkYUlerVmWJ 37cOusTONO0TbFWT5kJK75kDlPikNmkgjLjmn6g5S57SucalVBWkAQxG5Luw5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913474; a=rsa-sha256; cv=none; b=ritokJUCcoMfvw7pRzQdItcuWaixzzNE9IUtGk8M7JbVZfbc5I6a43tVTLlWHimKUWm49T 8XfmkpICFgh1wNc5pyQBA6QpH4n6ygyZjCJlgpYSwWGzTkL8Izldu70/rMRTwUiKzThBoH QlsrZxsPByOkLpKXXZMQiJbe0m67OmDVDnOjUrsK+w8SGbAORoqbrUdNsj/WhgWhQPiz6z HRe2hcmWYA/YHQIPZJ87zCkZBZtNbjlAW2VZrJKx2B8B/y/v5t/bEKVMrA8GceDGc7XwjX s7HEhNMGIyIdSCDVH62deXRsRfJCa9nnlojbS6uRvPBhlMmBpRp45EVbAEHT5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7fcwoFsfi5v0pUKBV87M+iozR2uy+TvJnaLso/UtQk=; b=N/ah3e331dbjIxbimM7pKnsg6qdF29wuMrxiJj0Qk4IZ3xmACRUyLEQ5vvYNA83Wlcc1mT unDVf8eoZ8zb2pl4aB4TjcSS+D8HnQ77bZL3J7gC6DxFMYywV8V8r1HvgQnQT9tnT164/a 4U5EyxjXIzc+eZKHpWtg3NDExa4c7PYhwtg+1AIsrp/9zX9Uzs79tqrvZa+ZFId/2ZH6sd GZxzHVo84ad/PGkHuPm8oukIwZAIcxL7bj1UqNykdsSOjBBhoHzBGZshdGeg0BAg5tw/ex JJ9y3YeoOMssQOkYTt5xMDppps5RFo/Er0cDZOlr5UfWPR/TEpOpwTEQxAxLQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMk3ZzBzCNV for ; Mon, 04 May 2026 16:51:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24acc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: b1dc0bc2cc86 - stable/14 - ifnet: Add some sanity checks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b1dc0bc2cc8658992bed0c0a3148f6a9c67eef8b Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:14 +0000 Message-Id: <69f8ce82.24acc.28c04d9f@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b1dc0bc2cc8658992bed0c0a3148f6a9c67eef8b commit b1dc0bc2cc8658992bed0c0a3148f6a9c67eef8b Author: Zhenlei Huang AuthorDate: 2026-04-07 04:33:05 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:40 +0000 ifnet: Add some sanity checks To be more robust since the checking is now performed where the interface is referenced. While here, remove a redundant check from if_vmove_loan(). Reviewed by: kp, glebius, pouria MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55875 (cherry picked from commit 00d96da231d007673a1672452748d8ea4f6788ae) (cherry picked from commit 877fa4f2a2d37dcd9e828d12dc9736c5e83ffd8c) --- sys/net/if.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 55c81b7c931b..1d6b2f7b9461 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -440,8 +440,12 @@ VNET_SYSINIT(vnet_if_init, SI_SUB_INIT_IF, SI_ORDER_SECOND, vnet_if_init, static void if_link_ifnet(struct ifnet *ifp) { - IFNET_WLOCK(); + + MPASS(refcount_load(&ifp->if_refcount) > 0); + MPASS(ifp->if_vnet == curvnet); + MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); + CK_STAILQ_INSERT_TAIL(&V_ifnet, ifp, if_link); #ifdef VIMAGE curvnet->vnet_ifcnt++; @@ -458,6 +462,10 @@ if_unlink_ifnet(struct ifnet *ifp, bool vmove) IFNET_WLOCK(); CK_STAILQ_FOREACH(iter, &V_ifnet, if_link) if (iter == ifp) { + MPASS(refcount_load(&ifp->if_refcount) > 0); + MPASS(ifp->if_vnet == curvnet); + MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); + CK_STAILQ_REMOVE(&V_ifnet, ifp, ifnet, if_link); #ifdef VIMAGE curvnet->vnet_ifcnt--; @@ -1302,8 +1310,6 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) struct ifnet *difp; bool found; - MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); - /* Try to find the prison within our visibility. */ sx_slock(&allprison_lock); pr = prison_find_child(td->td_ucred->cr_prison, jid); @@ -2222,14 +2228,13 @@ ifunit_ref(const char *name) NET_EPOCH_ENTER(et); CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (strncmp(name, ifp->if_xname, IFNAMSIZ) == 0 && - !(ifp->if_flags & IFF_DYING)) + !(ifp->if_flags & IFF_DYING)) { + MPASS(ifp->if_vnet == curvnet); + MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); + if_ref(ifp); break; + } } - if (ifp != NULL) { - if_ref(ifp); - MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); - } - NET_EPOCH_EXIT(et); return (ifp); } @@ -2242,8 +2247,12 @@ ifunit(const char *name) NET_EPOCH_ENTER(et); CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { - if (strncmp(name, ifp->if_xname, IFNAMSIZ) == 0) + if (strncmp(name, ifp->if_xname, IFNAMSIZ) == 0) { + MPASS(refcount_load(&ifp->if_refcount) > 0); + MPASS(ifp->if_vnet == curvnet); + MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); break; + } } NET_EPOCH_EXIT(et); return (ifp); From nobody Mon May 4 16:51:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMk062vz6brBR for ; Mon, 04 May 2026 16:51: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 4g8SMj3TQkz3w9Z for ; Mon, 04 May 2026 16:51:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXVXJwSixNVblenOY0fd3URBdPrmx054N2UDxLM5RO4=; b=N+Qfs28wycEWulvA/V9bbTCKtNIrOQhg04uyvVOQ7XPNRvcyfGCp6cx17uez0D8XtWKy/I egUoBtjvs1uwvQuTCjpTyIUlcA7gaLxFDLqBwy7wzlqYmDPT5f8SHkU8dnL9rdru0TI4jN XiX7ZoI+TxzYRw36ZQdT+8hv61oUSJabXNhSKYMUo8zd9twNcWv6OGVu2sGgZKW2NrxxSx Z7v2A9mBJ8UaMmEDKnjaIjBravE7nVvk2NM5YSwxKgwRGXNSoBcOQnCEpSX91xZbloFhzy Jx/DE+K7xdIuSMJjGnMlyglaZVmYo0MyntUR3NXzes6UI/GfuIAdHv337IlMtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913473; a=rsa-sha256; cv=none; b=Fqm3USHTqj0u52Qg9yYUYQhZL+ATk/TPkjatSikVfbM1Rga/iW7Vb8sSHL91O3SCcqXZgs Y33F3TgOQ+5LnvBtgeCDXJRayX0aD93Z3VuDQVaWX3GBvguX3dLMLs9Kgp37dIGz+LEXNl gphJm3ZKQNLSK9YJYJ1a0tV+zJHHUboie0jiSg+2CigN8AFSOZC2daNn4cUSHfYaQsLG1k tuH9jz1op3OCK71+Lz5Da/PhXBXfV/TVAOwlO8d46NmzkaqtwNu7+e2dlmqro/SDbf2c3b Y9YaRckpd/GWdV3sSDFsMYWxjSuhO4FOeie8YNMaqFpbjZ55JHgG3WJDjEKEdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXVXJwSixNVblenOY0fd3URBdPrmx054N2UDxLM5RO4=; b=ExI5DyKlcn9J45MFsSoPle90GWpDoCcEm7UkMIOG8XJDX2fC0geO4ya1FMXkSqHLcwrcku DUHXiWwPgVhpO/avc2F9+2nk0l/R1vTcGSW/MARqSksjmStLLig2/cIgWIJk0RXcxdcWtZ A57O1o0HNGNUoRG4qK6kBw9eWrHbFYjT5wqk8wshNgJUVxyg7b3Q7GQECkI2OhS0VMDq8B GtR9Nu3238tZ7Z++nu5MleAElbklXMq/YFtpI+TZY5hp32j3POhRGjxLwius5IHgOYeFV5 QBqaM0x0xB3XQyR1m2gTlvjoWTZ/VG9dcB7P667H3YA3JBqg9XiwcSmDhT/B5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMj32LPzCjk for ; Mon, 04 May 2026 16:51:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26b8f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f7145eff8172 - stable/14 - ifnet: Fix races in if_vmove_reclaim() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f7145eff8172cbcaffb36c1d13aae0e438759a7c Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:13 +0000 Message-Id: <69f8ce81.26b8f.67a6c9d7@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f7145eff8172cbcaffb36c1d13aae0e438759a7c commit f7145eff8172cbcaffb36c1d13aae0e438759a7c Author: Zhenlei Huang AuthorDate: 2026-03-30 16:00:01 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:40 +0000 ifnet: Fix races in if_vmove_reclaim() The thread running if_vmove_reclaim() may race with other threads those running if_detach(), if_vmove_loan() or if_vmove_reclaim(). In case the current thread loses race, two issues arise, 1. It is unstable and unsafe to access ifp->if_vnet, 2. The interface is removed from "active" list, hence if_unlink_ifnet() can fail. For the first case, check against source prison's vnet instead, given the interface is obtained from that vnet. For the second one, return ENODEV to indicate the interface was on the list but the current thread loses race, to distinguish from ENXIO, which means the interface or child prison is not found. This is the same with if_vmove_loan(). Reviewed by: kp, pouria Fixes: a779388f8bb3 if: Protect V_ifnet in vnet_if_return() MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55997 (cherry picked from commit ee9456ce37539da5b651945eea18502f290eb133) (cherry picked from commit cef2f7b440ffa67271690a6aba532e4c090772db) --- sys/net/if.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 2245863bda83..55c81b7c931b 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1355,7 +1355,7 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) struct prison *pr; struct vnet *vnet_dst; struct ifnet *ifp; - int found __diagused; + int found; /* Try to find the prison within our visibility. */ sx_slock(&allprison_lock); @@ -1368,16 +1368,16 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) /* Make sure the named iface exists in the source prison/vnet. */ CURVNET_SET(pr->pr_vnet); - ifp = ifunit(ifname); /* XXX Lock to avoid races. */ + ifp = ifunit(ifname); if (ifp == NULL) { CURVNET_RESTORE(); prison_free(pr); return (ENXIO); } - /* Do not try to move the iface from and to the same prison. */ + /* Do not try to move the iface from and to the same vnet. */ vnet_dst = TD_TO_VNET(td); - if (vnet_dst == ifp->if_vnet) { + if (vnet_dst == pr->pr_vnet) { CURVNET_RESTORE(); prison_free(pr); return (EEXIST); @@ -1385,7 +1385,11 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) /* Get interface back from child jail/vnet. */ found = if_unlink_ifnet(ifp, true); - MPASS(found); + if (! found) { + CURVNET_RESTORE(); + prison_free(pr); + return (ENODEV); + } sx_xlock(&ifnet_detach_sxlock); if_vmove(ifp, vnet_dst); sx_xunlock(&ifnet_detach_sxlock); From nobody Mon May 4 16:51:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMr3t74z6br3d for ; Mon, 04 May 2026 16:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8SMr0mqGz3wM9 for ; Mon, 04 May 2026 16:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HY+08yanem3QFbqUk6pC49Nbd8BQjmqjICPAS4qgR6c=; b=dmZkj8EzyZmxS9EktLfQMcDks8KoLMGdt8g9yd/CQ4fbQYykhLkguMNWZ98+zZkdPXiWs3 F6sVkSOWc2hHCnByTvUCqyg/c82pyvkZHjBumgyvcCKxzdmBbNrwJKknwAUnw9AHH/lrUP w+YC8aenxv5EE3Q7b8ZdWets51CRBGCfU8f/BLT0sf/6tAUScEeAY3jTzN25L1KYKC2MM4 XEi2VsCvYILyIdUUvDyUYZvMembgVZ1SwgqI+V5NW2EsC6/ZcsEtodzV6P7SedNjXr4tp5 nKWqgOPFhpg/EIYj47bpAx77/UBYOzwJr10XoXbhkoj/JZMPRpGOEa7qrNJphQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913480; a=rsa-sha256; cv=none; b=glMo1Y1l5zxz0QGbYVEJE+hR88fdbocL1i0mDS2H8nawZD2GD6rlBT8OnFTw/8yG31ZJV6 PR0pDqcKXXRVX8VcyuebUD7tliFvklM9dwSHHGqhFYzJf9/69PAxSdXJJPYKnvBatFWehq /q0oHetSZmb8y1ulk6SpeSlb65e5yLc9upOXGFzHYlcGCeUy3kNVyVt46gci0gSwrYxrKg /mxXQsLR+anoWR2X+NY6kon6030yt0kMNQjcWMjoD/PlhOx4OKz3RtP/6S+yQLQAXdSJ4T R+RNNKu4zsk4OuTU7GOqBIZChlMPd3Q8JL6Q9HCEw7BxbK8uoCsW3UrR4MiqoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HY+08yanem3QFbqUk6pC49Nbd8BQjmqjICPAS4qgR6c=; b=uNZ/zKhfT4lMX3mL5CidpFVHl6gVgeN8hA2doStEwMDsbyhcuyF+DQzKvf1Zz0TTY42TqS p2uOfnDhWgrwrr/hvrHTKyxojNgLXzBJIKTXZ8+JojfbE1U77s/CXVoUhdS3BJNltftUCx NVd3bRccMii18CJO8LYQB0WvlHPobfrHG/SB/qnerRteiKBWLdA4FzZymfIxx/TO55DGua 34+kHZMMwu7cNBXXEH2/bPuvvtNngLzLgsertYpgpuNS4FcrAp69SntBIACSAGN4SulbzU U+hfbFreYC/GT0bBVMI8AZraAQRaK3Zi0Bl07Hk23J/VJkgmm1/jtlSaljsm/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 4g8SMr0N3pzCpQ for ; Mon, 04 May 2026 16:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26b93 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 33da0a256bfc - stable/14 - tests/netgraph: Add a test for races between if_detach() and vnet_if_return() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 33da0a256bfc75f72ea789fd71dce0e07515800c Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:20 +0000 Message-Id: <69f8ce88.26b93.7009e2ca@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=33da0a256bfc75f72ea789fd71dce0e07515800c commit 33da0a256bfc75f72ea789fd71dce0e07515800c Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:22 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:42 +0000 tests/netgraph: Add a test for races between if_detach() and vnet_if_return() A ng_eiface(4) or physical interface does not involve the cloner hence the detaching is a bit different with epair(4). Add more tests to cover that. PR: 292993 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56609 (cherry picked from commit 0988abd52352ae0977cd3e5c10316b7d94e1cac8) (cherry picked from commit 3a4c4d61ac2c9f369e55d0ab994c9da78aa4cb74) --- tests/sys/netgraph/Makefile | 2 ++ tests/sys/netgraph/eiface_test.sh | 67 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/tests/sys/netgraph/Makefile b/tests/sys/netgraph/Makefile index 74e4046482ef..145e455c9f75 100644 --- a/tests/sys/netgraph/Makefile +++ b/tests/sys/netgraph/Makefile @@ -16,6 +16,8 @@ ATF_TESTS_C+= basic \ hub \ vlan_rotate \ +ATF_TESTS_SH+= eiface_test + SRCS.basic= basic.c util.c SRCS.bridge= bridge.c util.c SRCS.hub= hub.c util.c diff --git a/tests/sys/netgraph/eiface_test.sh b/tests/sys/netgraph/eiface_test.sh new file mode 100644 index 000000000000..442f5c1a71d2 --- /dev/null +++ b/tests/sys/netgraph/eiface_test.sh @@ -0,0 +1,67 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Zhenlei Huang +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "pr292993" "cleanup" +pr292993_head() +{ + atf_set descr 'Test for PR 292993' + atf_set require.user root +} + +pr292993_body() +{ + vnet_init + + for i in `seq 1 10` + do + ngeth=$(ngctl -f - <<__EOF__ | awk '$1 == "Args:" {print substr($2, 2, length($2)-2)}') +mkpeer . eiface path_$i ether +msg .path_$i getifname +__EOF__ + # Sanity check + atf_check -s exit:0 -o ignore \ + ifconfig $ngeth + jail -c vnet name="eiface_destroy_$i" path=/ \ + vnet.interface="$ngeth" exec.start="sleep 0.1" & + pid=$! + sleep 0.1 + ngctl shutdown ${ngeth}: + wait $pid + done + true +} + +pr292993_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "pr292993" +} From nobody Mon May 4 16:51:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMq4yyDz6brFH for ; Mon, 04 May 2026 16:51: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 4g8SMq1Ykvz3wJf for ; Mon, 04 May 2026 16:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vbOxY0OsVvlXXd4IWqDJBL5IlBNlu+y5SAQsuUliZU8=; b=XbUN6YthCd0D5uQe5QTKoA0X8Yyo6DWEa/5ChWR5ZYPcJrDVmGpdA0dajs3QIJVF3TNSRj 7H9Bfm0BLlfnncaJRIWOg0rELbqPx7UZKTK4dI18FvYRwmR3LbqW1E7oZ/UAPJG+38y4po R0GqJM4rfVwsBJkIPqdcPbByGCcu0qKLZUwZxlunuC6/pTJUKZVjdaNlUB37vTN9mkW1Kd BcX019dvlk5GJZeVHygk8PLlPiCTStG5jY/YCgjiaw8Z+qO5s7q73pxyG/EVoGo1nbvdLl Dzji3xlkkXsZYUO00tjyUX8JDSxctGLt7E2gnXLCUb7dJtX7UrypfJopdJf5kg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913479; a=rsa-sha256; cv=none; b=E9gfUhyKNulm+cz5Zr77jtYgJNltuwCFVnmwhrEXlNiFZRlpfQnJ3Hnt3/WAn5zhKUODNb ElVT1/YM9ytZJcmDVBKjUdzh/20VZpNY0ckrAOpCPdmYyrimspLmB04epGZyErAlrnH6Vk 0Xd+eYag9VtQ0RPAh0EehVZUslQQEMZJN5dRRuRy60PGwTP3OTkvrUTtjK2E0nd1eD6q7a gvJc/jqCqvTuGnKJCP4e4f9e44oqkOWeJXfsIVZr/3zLpIhAY15igW3qB1KPXUoIZFmw0v o9pspTIlXDHJ82OtPIxo00Q7iTLbsZL8PqaeUu4nm8vKhwItRJiQ7RLT6rKPdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vbOxY0OsVvlXXd4IWqDJBL5IlBNlu+y5SAQsuUliZU8=; b=qV3tKODb0JDIxux/jocLYVA+AKijGuXRxVHjSHLxdrkIDcBvE3p/YCuyFlaamTaGfWuTIe hJr7Qx253zuGycTNqR6Lj5ykgFniAELOI2EIz8G0KNhrcpxoEARFf2G6aiwV1cdRjxT4sn X/pTOfJJAaIvaoAGoF5CIxXZR/7E9dXLAfiQSptud1U1L+NPJC0/xVfuJXya32xxNswHb/ cbYd6O31TpjDvsvZ9yZD+H2Nk+1KyNoITlhfnuTrcO5aHMSq6lxjs/q6pw/ui9ENJCLHBD Zst4DWTgbj+l+J+Naeikj3VFlmRIdGZrlEypXX9crW/XZ42PcV9kf+vqNKgEkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMp6d28zCpP for ; Mon, 04 May 2026 16:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25b41 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 320805add13d - stable/14 - tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 320805add13ddf8e680d88f5c9b3ae3b6a49f6cf Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:18 +0000 Message-Id: <69f8ce86.25b41.10828a42@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=320805add13ddf8e680d88f5c9b3ae3b6a49f6cf commit 320805add13ddf8e680d88f5c9b3ae3b6a49f6cf Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:21 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:42 +0000 tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() Ideally we shall have tests for all possible races. It is races between if_detach(), if_vmove_loan(), if_vmove_reclaim() and vnet_if_return(). Well that requires too many tests and it appears to be less valuable to have them all. So focus on potential in future regressions related to recent fixes [1] and [2] only. [1] ee9456ce3753 ifnet: Fix races in if_vmove_reclaim() [2] ba7f47d47dc1 ifnet: if_detach(): Fix races with vmove operations MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56606 (cherry picked from commit f4be16983dea4904f85ac20e921ad2a8c18a0f79) (cherry picked from commit 696d1590697e9d4c0f07ce0a8d76a62bc77bdfd5) --- tests/sys/net/if_clone_test.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/sys/net/if_clone_test.sh b/tests/sys/net/if_clone_test.sh index de7384d9053c..7dbfc7759cd5 100755 --- a/tests/sys/net/if_clone_test.sh +++ b/tests/sys/net/if_clone_test.sh @@ -96,6 +96,34 @@ epair_destroy_race_cleanup() cleanup_ifaces } +atf_test_case epair_destroy_race2 cleanup +epair_destroy_race2_head() +{ + atf_set "descr" "Race if_detach() and if_vmove_reclaim()" + atf_set "require.user" "root" +} +epair_destroy_race2_body() +{ + jid=$(jail -ic vnet host.hostname="epair_destroy2" persist path=/) + + for i in `seq 1 10` + do + epair_a=$(ifconfig epair create) + epair_b=${epair_a%a}b + ifconfig $epair_b vnet $jid + ifconfig $epair_a destroy & pid1=$! + ifconfig $epair_b -vnet $jid & pid2=$! + wait $pid1 + wait $pid2 + done + + jail -R $jid + true +} +epair_destroy_race2_cleanup() +{ +} + atf_test_case epair_ipv6_up_stress cleanup epair_ipv6_up_stress_head() { @@ -433,6 +461,7 @@ atf_init_test_cases() atf_add_test_case epair_stress atf_add_test_case epair_up_stress atf_add_test_case epair_destroy_race + atf_add_test_case epair_destroy_race2 atf_add_test_case faith_ipv6_up_stress atf_add_test_case faith_stress atf_add_test_case faith_up_stress From nobody Mon May 4 16:51:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMs5MZLz6brBb for ; Mon, 04 May 2026 16:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8SMs2QwCz3w9m for ; Mon, 04 May 2026 16:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VyuPBx2qE/1YrhBKhwoRQmO+O3jJwyQi87G9LOJ2P6E=; b=q4X/iPzClwiraVF83wbuz5aNb+YATuwDDg1TbDoh9pBx9A3ztQioNWQVpPLi3yHEHjhYaZ S7U3HsWzcY93kJsgtxnoyuCAmI0JNE95FEZgOX5EoPzWKQHZJe1vl7lz6IrUQXz4nEqKfT WMTYjdHUzmjWrLI3pRwxbaIbnXC4yTbnveTeUd5kaQQ9gzN7wuECZFJqnUuc1HoZ4Jg2EE A3ogxY4Jmgw9sCC+OT1u1xBlALvWHWjHIlxIXLDrIRtyHMZjmXauDDT4CIrzRY7LHlaLfW XsCKRhy9Gnx55thDSlOUhCggxlDkPvf6u8uu7QXzSq+95H2YBPbMeSL8G1xg1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913481; a=rsa-sha256; cv=none; b=ISix1widYTSbdii+5q95tOwUX5fsykWm9RbPLizoh/TGA10bgxAsw/0asJ8OaWhZCunYPC BxXAC2OXopAfQyAtw/MM9qY6TfEVROvRpOxMH0zVkJ5MrBS6/EQGZ0ebkcx/AtTX0MgsiQ TIjzECZO9twigqZ8qAO+AVG72WDr/ml19DO399bK65+mrMjQ6yY3RPiYFLhFLMKPqxjAJI c+6pLn6gIlyi/qMEliGfZ77r5QJoebikT6P6/0jJB/ocvdghOcqQFP2ohomIFSGDXxH3aK BpAtuAEp4KMG4BItYAOhzWyMtYzTnzi6L7uxzkPT/nVG5UlJFLBlmU/Bc7+1Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VyuPBx2qE/1YrhBKhwoRQmO+O3jJwyQi87G9LOJ2P6E=; b=Qk2i1nh/Fp1LLtJ/AI/6BShXaCVxvPLsvIAIgTEGGzUB0YGWYsMofUwBtjmpFTCd6ua+UW ZkGt5pEiBh45TF22AWG3jEhlro58Jm2AjCoiBmBHVU8BRP3zPn1LVNsFN0303z5L3CxfNF z/HFHekfXkpmJMdSTmPk/sWV3GLMsYDEFxToddTwTXxn75KFRecSZPpdQ1yO1OH+0cJD1H 0C0yNP05kiPStid8XHobLBIsQbgKy8RJiHwEI+d1JvjvmUpiQBZo8JC8dlXresqf+zgOko nBgelTGQibmqRs/l1Q/tiO2/BNBMx5N2Zs7JAUUfEjO1qCCHswkB50I1qwovZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMs1CW2zCly for ; Mon, 04 May 2026 16:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26f63 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 77b8bc06cf73 - stable/14 - ifnet: if_detach(): Fix races with vmove operations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77b8bc06cf73c66ed9a4ebb4d88d072056059ff4 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:21 +0000 Message-Id: <69f8ce89.26f63.77cc04e3@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=77b8bc06cf73c66ed9a4ebb4d88d072056059ff4 commit 77b8bc06cf73c66ed9a4ebb4d88d072056059ff4 Author: Zhenlei Huang AuthorDate: 2026-04-25 19:56:07 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:43 +0000 ifnet: if_detach(): Fix races with vmove operations The rationality is that the driver private data holds a strong reference to the interface, and the detach operation shall never fail. Given the vmove operation, if_vmove_loan(), if_vmove_reclaim() or vnet_if_return() is not atomic and spans multiple steps, acquire ifnet_detach_sxlock only for if_detach_internal() and if_vmove() is not sufficient. It is possible that the thread running if_detach() sees stale vnet, or the vmoving is in progress, then if_unlink_ifnet() will fail. Fix that by extending coverage of ifnet_detach_sxlock a bit to also cover if_unlink_ifnet(), so that the entire detach and vmove operation is serialized. Given it is an error when the if_unlink_ifnet() fails, and if_detach() is a public KPI, prefer panic() over assertion on failure, to indicate explicitly that bad thing happens. That shall also prevent potential corrupted status of the interface, which is a bit hard to diagnose. PR: 292993 Reviewed by: glebius MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D56374 (cherry picked from commit ba7f47d47dc1a177e4d8f115f791ec25f3da0eab) (cherry picked from commit 5c4021ca0abe4e17200f5faa2fd71014ef0a5f09) --- sys/net/if.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 0aa1cbbb7b41..b3ab75144460 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -459,6 +459,7 @@ if_unlink_ifnet(struct ifnet *ifp, bool vmove) struct ifnet *iter; int found = 0; + sx_assert(&ifnet_detach_sxlock, SX_XLOCKED); IFNET_WLOCK(); CK_STAILQ_FOREACH(iter, &V_ifnet, if_link) if (iter == ifp) { @@ -1087,14 +1088,23 @@ if_detach(struct ifnet *ifp) { bool found; + /* + * The driver private data holds a strong reference to the ifnet, and + * it is actually the "owner", hence this routine shall never fail. + * + * Ideally we can loop retrying when we lose race with other threads + * those run if_unlink_ifnet(). For simplicity, use ifnet_detach_sxlock + * to serialize all the detach / vmove operations. + */ + sx_xlock(&ifnet_detach_sxlock); CURVNET_SET_QUIET(ifp->if_vnet); found = if_unlink_ifnet(ifp, false); - if (found) { - sx_xlock(&ifnet_detach_sxlock); - if_detach_internal(ifp, false); - sx_xunlock(&ifnet_detach_sxlock); - } + if (! found) + panic("%s: interface is not on the active list", + ifp->if_xname); + if_detach_internal(ifp, false); CURVNET_RESTORE(); + sx_xunlock(&ifnet_detach_sxlock); } /* @@ -1403,13 +1413,14 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) } /* Get interface back from child jail/vnet. */ + sx_xlock(&ifnet_detach_sxlock); found = if_unlink_ifnet(ifp, true); if (! found) { + sx_xunlock(&ifnet_detach_sxlock); CURVNET_RESTORE(); prison_free(pr); return (ENODEV); } - sx_xlock(&ifnet_detach_sxlock); if_vmove(ifp, vnet_dst); sx_xunlock(&ifnet_detach_sxlock); CURVNET_RESTORE(); From nobody Mon May 4 16:51:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMp0Rrpz6brBZ for ; Mon, 04 May 2026 16:51: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 4g8SMn6C7yz3wGJ for ; Mon, 04 May 2026 16:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/JaTmusvmBahICpHHxLGGDBXt0l0pg9MIKZ80dfhi4=; b=NX9YiUtLbNpfS+rVF+wayV+Ti965atj3E2nZuxAe2KrFnb8Iko1ifPfkk/qyO6FVfSul2H Cf8Q7ygwHz2PaxVn8Kuzqmr+vmLF8YPRG15pom0dejYlwl0H4Ev/OS0E0MgUri4STOtqnB ZX0vyunqydSmdKy0uuus92l/ZZ2yk92YbX9OMSkGT7H0RNeAaxHMhBIJmUvws8E53r4ilp SCE5+YyOHL15ylipIDw4GYw05aSqNCm+oHhcbvOoVn8/gncErjpDtFCbuD+BoGQ8H2TQE4 pZBt8ZHgwkziNnYcj0wMd9UR9iQGfFpJahJ09heDBiUXDRSUgGSbPTwwX92bDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913477; a=rsa-sha256; cv=none; b=oyzOn39xZs7TyR0YLTg+uk2AyiOgI5USUNFnr4SWQLtUZ7bdRtMFzCqRycmumnjFCG6DDd CvXkOk6WOGwHNptnZwkkC81YWhGsvWkaswNnm3O53FsjoczD7QLXdJVTBIYE+FbOoqACcN bu2RXLDq+vEoPJYSwi3pvqo7d7gCpGj0tB33XkLB9KyYLfKoFB4SCgmp741nxpdS48MEMy 8AKzS6gJpAcakUXu2W4ll8TyQyJN1mz1I//fkDyZDyYM0jESxkVGQ3gQEs8OIq1OpNSUee Qbgl4Aj+AyHVzY7r11NGGruFhFJhvmq3VE5Ncx3Yp1I07qE6e2wZLm5JAmUBgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/JaTmusvmBahICpHHxLGGDBXt0l0pg9MIKZ80dfhi4=; b=Ne1MhsQ5MG8FfTqyBUlMsPzFGWFF6n9hFfFahHdZfETtlsoCFrL2nzVF50rS6kXYWuMsNG whX0h2ktEr3PYHF/MTyaLOuKiDbGbnv3GjDrpwITWK2sxBmJhLmiQMfZ74tJ+CrKyx/JEG t34ijKwkbckg9rsWyKvDwrYQOuIKMUVZbdHMfwH5VrP6ajcwCSH1HoeydDdrADHl0wqMzN g4D9L7wiDw+lXpjLjQDTVEUSDjrFbYUSnPeghiWUzQgehVDe9GnBwLSN2I9KbvC0qzS46a pX/52Nxj6rOy8gH9tsMcAGpgmCMj3RDXBH3aMrhGqRIM5KNBGc0bzKUTWDO9Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMn5lN1zClv for ; Mon, 04 May 2026 16:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26b0f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 9598f7277a1b - stable/14 - if_clone: Make ifnet_detach_sxlock opaque to consumers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9598f7277a1ba4f15e3e2f8ffe7aa6132652cb67 Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:17 +0000 Message-Id: <69f8ce85.26b0f.18ad47f0@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9598f7277a1ba4f15e3e2f8ffe7aa6132652cb67 commit 9598f7277a1ba4f15e3e2f8ffe7aa6132652cb67 Author: Zhenlei Huang AuthorDate: 2026-04-13 04:38:44 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:42 +0000 if_clone: Make ifnet_detach_sxlock opaque to consumers The change e133271fc1b5e introduced ifnet_detach_sxlock, and change 6d2a10d96fb5 widened its coverage, but there are still consumers, net80211 and tuntap e.g., want it. Instead of sprinkling it everywhere, make it opaque to consumers. Out of tree drivers shall also benefit from this change. Reviewed by: kp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56298 (cherry picked from commit e9fc0c538264355bd3fd9120c650078281c2a290) (cherry picked from commit c624e04a0bd0ab147ec64c17e3e53f5ebc769dcf) --- sys/net/if.c | 5 +---- sys/net/if_clone.c | 17 ++++++++++++++++- sys/netlink/route/iface.c | 3 --- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index f34e35549e03..0aa1cbbb7b41 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -3025,11 +3025,8 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct thread *td) case SIOCIFDESTROY: error = priv_check(td, PRIV_NET_IFDESTROY); - if (error == 0) { - sx_xlock(&ifnet_detach_sxlock); + if (error == 0) error = if_clone_destroy(ifr->ifr_name); - sx_xunlock(&ifnet_detach_sxlock); - } goto out_noref; case SIOCIFGCLONERS: diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index 9f0dc7cd9649..07295f7fdbcd 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -443,6 +443,14 @@ if_clone_destroyif_flags(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags { int err; + /* + * XXXZL: To avoid racing with if_vmove() so that we will have + * stable if_vnet. + * This have a good effect, that is, the destroying of tightly + * coupled cloned interfaces such as epair(4) is serialized, + * although the driver is responsible to take care of that. + */ + sx_assert(&ifnet_detach_sxlock, SA_XLOCKED); /* * Given that the cloned ifnet might be attached to a different * vnet from where its cloner was registered, we have to @@ -469,7 +477,12 @@ if_clone_destroyif_flags(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags int if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp) { - return (if_clone_destroyif_flags(ifc, ifp, 0)); + int err; + + sx_xlock(&ifnet_detach_sxlock); + err = if_clone_destroyif_flags(ifc, ifp, 0); + sx_xunlock(&ifnet_detach_sxlock); + return (err); } static struct if_clone * @@ -671,9 +684,11 @@ if_clone_detach(struct if_clone *ifc) V_if_cloners_count--; IF_CLONERS_UNLOCK(); + sx_xlock(&ifnet_detach_sxlock); /* destroy all interfaces for this cloner */ while (!LIST_EMPTY(&ifc->ifc_iflist)) if_clone_destroyif_flags(ifc, LIST_FIRST(&ifc->ifc_iflist), IFC_F_FORCE); + sx_xunlock(&ifnet_detach_sxlock); IF_CLONE_REMREF(ifc); } diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 6fd99cf61e2d..0a37ae576f8e 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -550,10 +550,7 @@ rtnl_handle_dellink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n } NLP_LOG(LOG_DEBUG3, nlp, "mapped ifindex %u to %s", attrs.ifi_index, if_name(ifp)); - sx_xlock(&ifnet_detach_sxlock); error = if_clone_destroy(if_name(ifp)); - sx_xunlock(&ifnet_detach_sxlock); - NLP_LOG(LOG_DEBUG2, nlp, "deleting interface %s returned %d", if_name(ifp), error); if_rele(ifp); From nobody Tue May 5 15:05:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g91zJ3jH9z6cGfB for ; Tue, 05 May 2026 15:05: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 4g91zJ39p0z3fR5 for ; Tue, 05 May 2026 15:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777993532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnIQfWW5BQADNhgqZvcJCeivcCv0KvgBoKwouVPDIMQ=; b=CJvJ+B6Y/fp5ji7NJF99gLUlc+r4AbsOWasb5UkQxTzZZ20DtUfrq0khW7DmCpt1D/SKlA tSPdzeuqAAyGA5nw22gHzwJ7tyuOmb5wQ/hn9jvxGsgOGD6FxequJ4Wlk415u9CaWl3hu+ EtieOh6M5zvlUN7WAoh+Stl2XfTqIIDgMCowWBpGCIYy1Y+2i+GPCHzMyNIdaOjwjB1BVA HcAdbtGdsdVRd0AJic7AdscHDSSGnbuXm9l3g2WrXmOjzn8h+xGw0wqOZb2yyQ37n8rTaf 0y5imHdMf7QNnhwSfjFUzAtM9bpoYOYGzNIzQnOQwXj2BuuH8ui6LwHYjtzbnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777993532; a=rsa-sha256; cv=none; b=CAW/Kie1tl0Ca+ml2CTDBc6OgOWcyOIJJ5Eplrr7iEzwrGwm7clSdIe4qTKM7poACtIlHR hZJFGnb0hliMkaiyV3SFa2IEC+Pr0/7G9dJCB/cJZBgGy7eSZ9BJQgi7ivx5D6EPMTKrrC d6P1q1krP9p3tkqI94J/ygtfayC2IgneEOfU52jWN1+g74kfSSXduxsQW0H/etNcWnYd5b TJcXQNnn/5Y1Wh9OldlB8wbyu0hm/86AexjDP3tmvGzIWVZJx3nlI3h0/vCYBOAB13IK8G XWEM+Ml7wYThi9baIsrhVg5pomOSTKqZ2DY/KSB0TuF5gPBFS1xcVG65hwIS4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777993532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QnIQfWW5BQADNhgqZvcJCeivcCv0KvgBoKwouVPDIMQ=; b=IwOOMau3eAGJxLDvLITfOJX/o5tMStqP/m2QIbOuAwsnsZQLUx8jHUsxWsEl6ANUNGDRBI pCVnB4HV1R8p4WWYhBWMb/bGgY1UI/eHPqaqDEFpuEm+C0RGRh5rQ3dDeFFP+qMDyY0PJZ +UQuekY5ypdWnX4t0+juu2DWloE7Y4f3cQauVIdj/Pr1ht2rxLSMpPmi1vxchNax6R92Hq l+LHLTi0lK+OWRxWBzBpwQ7xvMnzN5EZKgJ0u2fXAT9cLgIcJlVBN3EVq54Dzyy+gdwxSD L1e68IQ130iQxyx+/3tUUy16Q527n87NUpG5cgJQOFXuV7P6Tnef76FJlkxGZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g91zJ2SVsz1BYg for ; Tue, 05 May 2026 15:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a07f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 05 May 2026 15:05:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 5f901e157aaf - releng/15.1 - libifconfig: Skip bridge VLAN config for span members List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 5f901e157aafa6ed4550fe39dbc121f7668459b7 Auto-Submitted: auto-generated Date: Tue, 05 May 2026 15:05:32 +0000 Message-Id: <69fa073c.1a07f.e12a530@gitrepo.freebsd.org> The branch releng/15.1 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=5f901e157aafa6ed4550fe39dbc121f7668459b7 commit 5f901e157aafa6ed4550fe39dbc121f7668459b7 Author: Lexi Winter AuthorDate: 2026-04-29 03:11:20 +0000 Commit: Lexi Winter CommitDate: 2026-05-05 15:03:45 +0000 libifconfig: Skip bridge VLAN config for span members bridge(4) doesn't support BRDGGIFVLANSET for span members, which means if a span interface is configured, libifconfig will fail to fetch bridge members. Skip this for IFBIF_SPAN members. PR: 292634 MFC after: 3 days Reported by: Emrion Reviewed by: pouria, zlei Approved by: re (cperciva) Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56694 (cherry picked from commit 454322c08b8aa181939c8d920472f03cfd591032) (cherry picked from commit 0a919e2a9265b5cdaeb2c5d51c29791b4eb7335c) --- lib/libifconfig/libifconfig_bridge.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libifconfig/libifconfig_bridge.c b/lib/libifconfig/libifconfig_bridge.c index 675bf5dd2ff5..2bb2952aeef2 100644 --- a/lib/libifconfig/libifconfig_bridge.c +++ b/lib/libifconfig/libifconfig_bridge.c @@ -139,6 +139,11 @@ ifconfig_bridge_get_bridge_status(ifconfig_handle_t *h, } for (size_t i = 0; i < bridge->inner.members_count; ++i) { struct ifbif_vlan_req vreq; + + /* Skip VLAN config for span members */ + if (bridge->inner.members[i].ifbr_ifsflags & IFBIF_SPAN) + continue; + memset(&vreq, 0, sizeof(vreq)); strlcpy(vreq.bv_ifname, bridge->inner.members[i].ifbr_ifsname, sizeof(vreq.bv_ifname)); From nobody Tue May 5 16:25:55 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g93m439C0z6cNlx for ; Tue, 05 May 2026 16:25: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 4g93m40Vd7z3rcL for ; Tue, 05 May 2026 16:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777998356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rt8P5D6oL/+HFTpyQ04CEdKMeG0/1Zc+PIF+ZzxgyyE=; b=pN+CkJnhUIOdUdc7WMt7EOurF3w6kVuHbaVeQOH5wxnaiPqDKas2lVEZHwMU1A/lf3PG4h wc2YodirJoXVlcsWNesdabphC2XekbD1Y9EOgOcqTEGT9ZPLH+UqwmG2QxoS5YK3BmDttc HxIk5zSK3P/7jNKgTjfhNkhXMzCvkcRTK2LQqCm0ksoLE+SlzLV4TB/L1pzEjq5XoO4RjR 6PQL5KQkFoZnBZ4O6dJbAyHv4M+zJs/heOdkLYqY4z+7HH0pqHmfJJJ7pJxhjNQ5KosnDn qzrk4YLh+5qBikkcBrx3ASEWCBa9vYczgHBPkLbxnRszgcBHDEJeQ3npCYygvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777998356; a=rsa-sha256; cv=none; b=rc7Q3B8rnG672SRMc5AeQTLW8tpY2SKW0EgZWE6GaV2ZKfacabFAiHIFWFugumtsoCJmyw l9OwSKwE8qwSaclsFEBximPP2vaiiG5wFHdPHh2hjIQRW9JNHDllC/0fKYzkwx9klJKqnQ PJjJLgr+LpnxzAu9651Vjwx2ZsNSuXhVSu6l5zuf/wwUesrTmbGNLSJCZVkUlrDUPl3LFx BkfAXI0zPnzTwgHKg+2nJvrK4xYb/jCgjFIA3h/xgLK8OD/d4QZPg7AbSDDuro6Y91GBMq uk0hXTPRNOdh7gBN0CjBuN664p4XJbP6rX92VXkAPd5Hg3wQm0J5XxrS2t1iDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777998356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rt8P5D6oL/+HFTpyQ04CEdKMeG0/1Zc+PIF+ZzxgyyE=; b=ixdWgNjHbY3k8UaQbNV5eEfkBTj1e+/m0z/h0QWN5fCHXqXca2peBvtKa+GPjpvVtpY2II 0rIEZkKF87CYl8M992OieNhKXKCmwIrfYKx8i+VODYCctSh5ADgLKejmjDvEDuxebIBQcn 4/evqfaVoIRvqo8iAjr2DaKpDJwcrkImMNxLB7qjo82aMFXJX6WU3+NQ/OoBNQrUxT8coj RbDRL34stftQkQX7lPEzjTSw8Ukw3GwdGBAQvUAfcOQ8+AmFCbwxhzB3/fQiFv0Z1prkmh l85qNi6Pxa6OE3sDSTZ588JuH0vx+YisX8U/VCqRIygyQf8dWp1dwiwAaqyV7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g93m36wBxz1DxZ for ; Tue, 05 May 2026 16:25:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25792 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 05 May 2026 16:25:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 730fb48f1387 - stable/15 - pf: improve ASCONF chunk validation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 730fb48f1387812ab82ea3b0ef807e6824425318 Auto-Submitted: auto-generated Date: Tue, 05 May 2026 16:25:55 +0000 Message-Id: <69fa1a13.25792.1bd373d@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=730fb48f1387812ab82ea3b0ef807e6824425318 commit 730fb48f1387812ab82ea3b0ef807e6824425318 Author: Kristof Provost AuthorDate: 2026-04-28 08:54:24 +0000 Commit: Kristof Provost CommitDate: 2026-05-05 07:33:23 +0000 pf: improve ASCONF chunk validation When processing an ASCONF chunk we failed to verify that the chunk length was at least 8 bytes. As a result we might end up passing a negative length to pf_multihome_scan(). Fortunately this merely meant the function did nothing, but we should discard such invalid packets, so explicitly check for this. MFC after: 1 week Reported by: Mark Johnston Sponsored by: Orange Business Services (cherry picked from commit bea1c2fcd7839fd90a8ce96d6dc6a033779bc3c2) --- sys/netpfil/pf/pf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 7aee28e7b917..05a71cd45a35 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7794,6 +7794,9 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op, bool asconf) NULL, NULL, pd->af)) return (PF_DROP); + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, SCTP_ADD_IP_ADDRESS, true); @@ -7811,6 +7814,10 @@ pf_multihome_scan(int start, int len, struct pf_pdesc *pd, int op, bool asconf) if (!pf_pull_hdr(pd->m, start + off, &ah, sizeof(ah), NULL, NULL, pd->af)) return (PF_DROP); + + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, SCTP_DEL_IP_ADDRESS, true); From nobody Tue May 5 16:25:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g93m53Zc5z6cNcD for ; Tue, 05 May 2026 16:25: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 4g93m46xYKz3rtJ for ; Tue, 05 May 2026 16:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777998357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EIxxyC1D3ml5RGnmd38ay5AggHfPS0fiiZsBiwgZWfE=; b=xvjH4btZAdQIOmHL7+TNWKsJLWSc7N4WRw1KVTtAos3iGzBQpgeNpNfABt8vdpftrcYS5n DMujEw7pCn9Onv8hg8PNdFGLi8r/HEl3qAGmisYBqQDYn4aRQPWlPT+VFgIHKeg317yftf Jrfw4toeedjiMe78L07r+jvpcuGt52TE1GTaVFrv/dthV+xqGniEBiaoJUThzxJtmnvPeX 0NJ48rHIEc2xLp1MX2L/z65izh7VfOb+ETOGHSd2rRHpQOdo8ximsH1I7c+jtLHCjK4IeC jNiRlmRU2w5Mok5j9uAHZQhGEw1EB35duWAsi0/RYnhwHeUXhnL0vdZ3KtmHsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777998357; a=rsa-sha256; cv=none; b=Kks0e4V0I/Xcuu/P6wferq6nMcVgncYw+M7e8IoWfmzbA0afDdY2xtnzsGFDPDhFqxttYZ r9vUYriXkhRvS2atdfNffhUpxg8lhDVVhscbGF9WDo5jVFc5kDBt70vB7DtUy14WGCSzsg JPxIzildLCMRJTF8SMmzcyKnVtB3GGKycFCcWiEZ/8ABpPjDwi2K2ct1jAINx718vcaTdJ fIqtM9RIapB/J3kR/Q+ahoJ8JLw57GDrVnePfE2c/fF0wdWJH7sm9JOnfLygMsTQL40kxS NUWImUgs+UOB89iG+X62r/smmbBUhkxpcHzg8CoJike9g3eRsXdFlounTnrR9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777998357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EIxxyC1D3ml5RGnmd38ay5AggHfPS0fiiZsBiwgZWfE=; b=yDxQBkneyd8tP/Nx/5mPJIPF3twpGl+7MCjGAT7MuCzZLZZcxcczSE9OC2YQGlamX8gAks BjleC4TGX2079Bs8Gb4iFP1rM9rC7MKos83wNo/qPWnvMffkd51IGcwhMA9z4+1V173Eu4 ET0nYS2zXvDdHOY8UB+6Ek6Tglr/0GHJpZWH3DVVIWyQIZYAjyUUgiGt3PYER+QGmVIOCQ ASgVOLSNSQp3zP3PPUfJq+6DUSbY2PxNngUzxmcgDGsW0Kj+HTsZTuiAy6LybXGG0vl9sm 3fiTqFia06qk+HlZj1b72wSsO8f7LwyQvFfDQixmnOWJR4TYMUVCgKX7GZXy+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g93m46GgCz1DgW for ; Tue, 05 May 2026 16:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24794 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 05 May 2026 16:25:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 9fe189c79a81 - stable/14 - pf: improve ASCONF chunk validation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 9fe189c79a8161380800dcff1d15c4cea7467a7e Auto-Submitted: auto-generated Date: Tue, 05 May 2026 16:25:56 +0000 Message-Id: <69fa1a14.24794.5e2b0a94@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9fe189c79a8161380800dcff1d15c4cea7467a7e commit 9fe189c79a8161380800dcff1d15c4cea7467a7e Author: Kristof Provost AuthorDate: 2026-04-28 08:54:24 +0000 Commit: Kristof Provost CommitDate: 2026-05-05 07:34:26 +0000 pf: improve ASCONF chunk validation When processing an ASCONF chunk we failed to verify that the chunk length was at least 8 bytes. As a result we might end up passing a negative length to pf_multihome_scan(). Fortunately this merely meant the function did nothing, but we should discard such invalid packets, so explicitly check for this. MFC after: 1 week Reported by: Mark Johnston Sponsored by: Orange Business Services (cherry picked from commit bea1c2fcd7839fd90a8ce96d6dc6a033779bc3c2) --- sys/netpfil/pf/pf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3eab758296a9..469087a040e1 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6707,6 +6707,9 @@ pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, NULL, NULL, pd->af)) return (PF_DROP); + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(m, start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, kif, SCTP_ADD_IP_ADDRESS, true); @@ -6724,6 +6727,10 @@ pf_multihome_scan(struct mbuf *m, int start, int len, struct pf_pdesc *pd, if (!pf_pull_hdr(m, start + off, &ah, sizeof(ah), NULL, NULL, pd->af)) return (PF_DROP); + + if (ntohs(ah.ph.param_length) < sizeof(ah)) + return (PF_DROP); + ret = pf_multihome_scan(m, start + off + sizeof(ah), ntohs(ah.ph.param_length) - sizeof(ah), pd, kif, SCTP_DEL_IP_ADDRESS, true); From nobody Wed May 6 05:38:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9PL32LYMz6dMNb for ; Wed, 06 May 2026 05:38: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 4g9PL26PfYz4B1c for ; Wed, 06 May 2026 05:38:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XySEvOfWDcnn8ddWeABhLcGx37hUwcBfeR413efWFCg=; b=dzQMx93d8KDMln1yIEK7j8V9KyYSUMh0QGSoaEvNDLKFfeqDZjAn7fKFMKdvv26UEIzO5j pL/K+iwDN9RZo526lt53tS5Ts1ixDtyyxh7BsBL3ylqkMZfbHRyxK7xgbyo34WdDsrf1Ga NTFGUYXH6Q64XcFiDAqnZ6MaADcTRWBNAFtuDPu52qPm1+PyxAu//PbW/+lPThXzuQWMXV xoiSTjuVM7a1EH21ZYf9N6UkEnWJ5MZjXSZuSZ1v+YNcqNrKWbhRv+l/3HXGIJ9Vuyyjsg tfcpnDQlWj26ckfmatNI3ZIO1mazW3Cn+Yas8htHDE2UiBuHN49AtTPpeCxpFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045882; a=rsa-sha256; cv=none; b=k2eCFNbAkzbRl/IkYFV75wzPsSJGo0Owo7fgA32bLE6vjvU4GPZxNcQ4itG9vxG1gAFPf7 JqGJ/9PZ8tfzbA6+VolB3wjnPgMeyiIupeXl3Sl4RA+9feLWeDL/f0LgzFFpzE8tzyl26a AFhY8d9vV+Gt6AEobRscZdVrHwofRWMzbb0WE6fRl8wcA88f5z04aC7EIDy3G3Q+73pRV2 eTD/Uckexbzr53MZb0xRQVktHV/5jbl6ezHo1axFevsccut2VsVwvcx3T8j2ZaFBBaxInN PZqmUl2FmGqzqZsNdZ/79YOSJybWBBksOPoTFttbCj7G+mwRMTTrZCy/hzvIdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XySEvOfWDcnn8ddWeABhLcGx37hUwcBfeR413efWFCg=; b=boIqU7FHRhlqIzLRtGqDa1yhlyHGyYX8ngImvEnvh3Zf1aYNcvFCFRxOQbQoorB0iNX14v e8EnqssadYswzuEX0CVSKMpvAso7ZzyQpxNDPM477iT7EfyegzkFk98kk8jKhI5+Bcoo0Z 9fX7UHRUTPRUuNuEZcUxd7nH5H+gWvZ66sWMMNx6JvX/ptl2I1n+olT/5m+3ZnXjGbB0zf 8Da/M5nXyIDZvCCNZ+Zdhbhkuu6axDIwTvz5iBTENK00AnuuGYYMn2txyLqAoDXflJUucn FBiTCM4HcxSltrvTN2yoKaQZWcynVh6C91KRyejgNu3U5dZgrgSwvSTMast9wA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PL25DVVz9X2 for ; Wed, 06 May 2026 05:38:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 391e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian Ullrich From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 651b82e64ef4 - stable/15 - lockf: Avoid spinning when operating on an fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 651b82e64ef4f753d8f4c1793f359de39744526c Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:02 +0000 Message-Id: <69fad3ba.391e3.7d05cecd@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=651b82e64ef4f753d8f4c1793f359de39744526c commit 651b82e64ef4f753d8f4c1793f359de39744526c Author: Christian Ullrich AuthorDate: 2026-05-03 15:35:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:26 +0000 lockf: Avoid spinning when operating on an fd When operating on a file descriptor, acquire_lock() would ignore the flags argument and always operate in non-blocking mode, resulting in unnecessary busy-looping. PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56722 (cherry picked from commit d90513ea85693da0ca5955173609f4e81e38ae16) --- usr.bin/lockf/lockf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index 16bae36a21e0..076d28b7ddd5 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -320,10 +320,14 @@ acquire_lock(union lock_subject *subj, int flags, int silent) int fd; if (fdlock) { + int lflags = LOCK_EX; + assert(subj->subj_fd >= 0 && subj->subj_fd <= INT_MAX); fd = (int)subj->subj_fd; - if (flock(fd, LOCK_EX | LOCK_NB) == -1) { + if ((flags & O_NONBLOCK) == O_NONBLOCK) + lflags |= LOCK_NB; + if (flock(fd, lflags) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); err(EX_CANTCREAT, "cannot lock fd %d", fd); From nobody Wed May 6 05:38:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9PL42CGKz6dMLg for ; Wed, 06 May 2026 05:38: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 4g9PL36SfCz49qV for ; Wed, 06 May 2026 05:38:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HNS8gmAwLi8NUkXIw//McrklpJq1Y78u0kndtWZvKX8=; b=kWkK1doBGsQ5Xw3znODVIfK2lGryTzyO0qmtOxYGWTflj/gLUupJhCZp5X+SPNoHcBRy05 h9rzMo1KohFzs8z1TUxVNzSHxbxSi7bR3TgLJ8YfEXeNHqlVM6HwlqWwwkPv3n1K8Uv8VK tAXyPi2Y7hArEj8exk1s3yKw4yjqC+yQ5vUMA43rKVCqlNOBGwYUwpCFH4WX5dQfuBN55f pZZkIlbcMoJTc4hYnkPYOtBJrfr5dNO3q6dF3uHilQpFr4WsBjRTZjU9hgcw8u3uNgOMLX kzLng/vYFEsA7xrov/CLpK0FZm8WUYEoV13VE1Iw2jWrwzQYE5wczuKo+cBx9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045883; a=rsa-sha256; cv=none; b=yXBTBXhxSLV5pfXdNXdneNGQnck7/3EtzQB1DQzEZ6LvzXBsSJvogx/YdqZGgQM5hGAJ1f 2EAfIB6Fhhs1ay90jv8Ky5IuX8jt7E2AxlzfqdepVQzr7WuCFsa4uC2bl516Y3bzYkBj9d lYFQvjPAwu5MHMlkl8LaNkaWq4nHV1iRHFFbUocA7MmxxGZYyMl8pkshIYjPzCj95K2aw0 kXJq0ewuQE+cUY1imAT3gOefUN2d15eyl9LPkNTLe7OErNkvdrIYbQDjt7r1Fdwu7uYkNl HoiQQiBrJOfVx+6Bxu/40uxmX5h21MGqfMNfJVYqTh7cW31b6AxTbmhp9Y7Qyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HNS8gmAwLi8NUkXIw//McrklpJq1Y78u0kndtWZvKX8=; b=NaHAzwbZzaRqUL1SNvSHZ5E1KfGwR8q09aePsr0wj7De2sGCYIL9TNP5Arpd6ff2z7PDq+ y/MlvPQn3STe+NqlzCOzR6L7LOlCUuN9ogvfXGlToGeJJmHNKsstkP/Be9z1v5lqPO6VVf YtZsB90Ky/EEpX5uO+a266T5vDyPiqMtPHd6on9vJfgnfuSeeeiLRYxCb8lW/GHRoeHzmc Tsyeor4w7Jcd9quMpuDXZEsZIr/Rc+poguC9PJ2wQ4dHBc+WszmWiwrAOpYwC4heV5Orlg PDVYCE5cuzZqBxT2VgznH7iwLsq7/CWw3NAeQvOsXkbu5WQ1BeyX0n3ev9xQ6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PL3629Cz9G7 for ; Wed, 06 May 2026 05:38:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38568 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 8e5f92b6b22c - stable/15 - lockf: Test that lockf does not spin on fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 8e5f92b6b22c82af1192575781788eb2c8fed448 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:03 +0000 Message-Id: <69fad3bb.38568.184cd750@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8e5f92b6b22c82af1192575781788eb2c8fed448 commit 8e5f92b6b22c82af1192575781788eb2c8fed448 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:15 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:26 +0000 lockf: Test that lockf does not spin on fd PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723 (cherry picked from commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199) --- usr.bin/lockf/tests/lockf_test.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh index 823b5673a176..16ee5a03bb9e 100644 --- a/usr.bin/lockf/tests/lockf_test.sh +++ b/usr.bin/lockf/tests/lockf_test.sh @@ -177,6 +177,23 @@ fdlock_body() atf_check test "$status2" -eq 0 } +atf_test_case fdlockspin +fdlockspin_head() +{ + atf_set "descr" "Don't spin when locking a file descriptor" +} +fdlockspin_body() +{ + # Start background locker and give it time to get settled + lockf foo sleep 2 & sleep 1 + # Start foreground locker in fdlock mode + atf_check ktrace -tc lockf -t 3 0 ; Wed, 06 May 2026 05:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9PL91Xvlz3C1T for ; Wed, 06 May 2026 05:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7V/S2BVm8C2CoN/c7k0ralizwrHyKuVsl5oL1ywGbI=; b=wEpvUmaBiAHUyyG+sUHBArCffcDMwdJIkjQKf6w90m5tR7CELI21hjRJpqa4+eWqKKAnyC ERCMsX62RrH7utNJb8D9hXE1h7xJhGG84rHhWTbh/+nYdZws3Ln55ET8ZAF1Fv8lTlRNr6 8WqfmBrKAJbrOY/5si7CGVYsS6ZkY+rQUL31KjLhEZbaWOBIOvWcPxSwDVGupCRt4wbg7r HHuR6sqHw7IO+ZDggUE/geAkqGfymWBXbLPePvOgGD6AQuCjCqfYXFXaK18J/CEjTu3h+T V3y6NpQyzdLuAzmPv2sjdZ8SrjXMFfTDsggyKeYwQA+q3X14cFCoBtRXcdiNCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045889; a=rsa-sha256; cv=none; b=PmS+PxHwej0Z4BtZ//GFtH277c80YG1taXLF9Sp/gK42MiwAWG/eQ7y44kkd4idZsA9GVA YeWIfANBWQAORg+jMpCPZGB////omYqQkeRdAF5roJ5kTKW51DlPIryN8Gm6QRE5R0c/Nq C3r4UmO+AQPbXQlrqJgoOebhPGzVRqjkdMVX9/Qex8K/RL0yYJjZJ08skQtZ8CV7mSXxbG l0Db91EOH8wC0QEow/ST0tfFpeIwKmGlCn8qSdLDgA/IGdy9P17xP1inHUKxyH9tQXE6gM 9gbZTxNYpm7NTys98ji7oN1vSbg0G07fNsXEiZ/kezTBgTi3ba8r9/JXwGWmHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w7V/S2BVm8C2CoN/c7k0ralizwrHyKuVsl5oL1ywGbI=; b=vPwlVZEZprAb0+sh9Te384UVdJlRMXYEKqGl6l6rPm/8qAvxy22dif/UFKhTA4Sr0EP+aM jRUzRbxhgUfX7/Fmn9GRSRcPqzvgj7KKyh6WyOsFC/ZtsMBoRitNWTvcDpfwiHmkGAonVf lXCDfuzYbFxy06UUO97R/c9dBOPH0kgMsyrKyjZz8RHr7atHpe2c7Ui7XdzC26nnLWGTMR Bxjq9j4QzuNI0ioMkTFnjQR2q+KwKXGDmhLifyoJ7rugiu9ICwiSE6NrIEpSl+Gu7tN4ff AiWqRy0jbFFUvHfXZSiECvYbHi1g/s+4InAIlW7rQAC479lbmQwp6bCC8ukzTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PL9121Rz9LN for ; Wed, 06 May 2026 05:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 386bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian Ullrich From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 4a6c4f0265ac - stable/14 - lockf: Avoid spinning when operating on an fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4a6c4f0265ac7234cf31a3c4494e3354caf629d3 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:09 +0000 Message-Id: <69fad3c1.386bd.12ff8fd0@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4a6c4f0265ac7234cf31a3c4494e3354caf629d3 commit 4a6c4f0265ac7234cf31a3c4494e3354caf629d3 Author: Christian Ullrich AuthorDate: 2026-05-03 15:35:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:39 +0000 lockf: Avoid spinning when operating on an fd When operating on a file descriptor, acquire_lock() would ignore the flags argument and always operate in non-blocking mode, resulting in unnecessary busy-looping. PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56722 (cherry picked from commit d90513ea85693da0ca5955173609f4e81e38ae16) --- usr.bin/lockf/lockf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index dd02bf2a5417..cd4a1623fb71 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -267,10 +267,14 @@ acquire_lock(union lock_subject *subj, int flags, int silent) int fd; if (fdlock) { + int lflags = LOCK_EX; + assert(subj->subj_fd >= 0 && subj->subj_fd <= INT_MAX); fd = (int)subj->subj_fd; - if (flock(fd, LOCK_EX | LOCK_NB) == -1) { + if ((flags & O_NONBLOCK) == O_NONBLOCK) + lflags |= LOCK_NB; + if (flock(fd, lflags) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); err(EX_CANTCREAT, "cannot lock fd %d", fd); From nobody Wed May 6 05:38:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9PLB5tdcz6dMLn for ; Wed, 06 May 2026 05:38: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 4g9PLB2DHdz3C3x for ; Wed, 06 May 2026 05:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLtr3mbG0FRa7/EeGjJXtQynsREUfdY7ok30JboqAdg=; b=r660eGEC1CW/n4iD6/xvwPWqjgQS40YBiiZyq3zqMQKZfZkk2cEWuNOLuV+vTo/RgYr6TE BgKSpRiRxe/kO1a7FqCeSs8oy2aC+/BZ3bHJipk8val9Ds57usxih0zn1T34Gui8HVPbx1 scphRIS8Aq44g75GvbyCIxxsb+4UbXuGKLtRiENSssuxffidE9YfG/L7K8H4R3qUZ2Ybo0 1+fjUgHvk2cBRBzoGf7ijHHShnNjhGP4KWTVKlx7p6GSl27ZnEvgNk0EJ8K6gXabGHMpvZ PScZaED+k88YZkTWAzM+i7errt9WvCi0S7IfWnlVvSZVYGKaHwlxnR8z8HX/pQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045890; a=rsa-sha256; cv=none; b=WOC/Y6zxF/e2IITBNUAExokJnqu2KdjKbvcM83o2v05QRyIJexyo1xBQBvDn4XyvVPAMF0 BCirQ3NtI8pZimY0++y7OlRvP8wU9BFeqf7M/c167uxkT/ZtpVNY98i45jzCp0pEKF1Rjb khIfQUU2KCaMQuaro6sy+qNmxYdYfGNrpa36RKPeEBtPCiUd96iqXs1Zr1mecYlHbMpcvJ 3y1I5q6U9j+MhCn7PB2/FGdSuvN7JCJxavAzhN6yQRC0HgxthtBG3euwjxATWLnCU/Y0ct hhSeZ3ymU10XVXMvP0aJsf+eE4Rq/hdMDSueKOfPNuAXPL9hvPKiFU1xEWMwiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLtr3mbG0FRa7/EeGjJXtQynsREUfdY7ok30JboqAdg=; b=DFNz+3sxhG+z6bp2Yg5bh+53uW2LKe1DeX5qakZ+Rlc23y3vj3/1OEHad80W5QN8W/IVR7 hHYXnPpzdsIWj6aObSXEgmXVC8wgzDYPsDYruUHmSDoGcPe3fi0hE4bbTn1Q+qVFAsBKa4 AXN76OGkpH6BlMlMaLTKw2Lrulen/E4NBk8i7mwt/mumf50bKf33imVaGOzNIatsc1t4qE Mff4nbgsX0/LEPqE6aHT9mBkBN6psF3ZBxZX4J65ekIRv08nEW5EQtpP9d+GQDKa2Q9sT+ SgBwgUQyZMy8fwPm2wbVLyvnIgvx5DOOVuoNHJlozVV0DPQhjSg956M0CphRkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PLB1m7Jz94q for ; Wed, 06 May 2026 05:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 393f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 5158575d924b - stable/14 - lockf: Test that lockf does not spin on fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5158575d924b911aff759af62de642ed38a7a2b3 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:10 +0000 Message-Id: <69fad3c2.393f1.1f2b8c40@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5158575d924b911aff759af62de642ed38a7a2b3 commit 5158575d924b911aff759af62de642ed38a7a2b3 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:15 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:40 +0000 lockf: Test that lockf does not spin on fd PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723 (cherry picked from commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199) --- usr.bin/lockf/tests/lockf_test.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh index d73c7590653d..22f0c206fa2a 100644 --- a/usr.bin/lockf/tests/lockf_test.sh +++ b/usr.bin/lockf/tests/lockf_test.sh @@ -152,6 +152,23 @@ fdlock_body() atf_check test "$status2" -eq 0 } +atf_test_case fdlockspin +fdlockspin_head() +{ + atf_set "descr" "Don't spin when locking a file descriptor" +} +fdlockspin_body() +{ + # Start background locker and give it time to get settled + lockf foo sleep 2 & sleep 1 + # Start foreground locker in fdlock mode + atf_check ktrace -tc lockf -t 3 0 ; Wed, 06 May 2026 05:38: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 4g9PLH04RMz3Br5 for ; Wed, 06 May 2026 05:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tMsgvsAY2yakvOSdpjdJJcJstooZAXcgzyJUOnd/7pA=; b=dZWNYxFWmjiWK3cqzS0MefuBasfIiIc9J4pqh9OUS8y3Gla/aVaGgdtZ9oewQI0DcZguYS S+tZKuV9H5KeuIiz+EFyLekV3bpQ4dXDPf9InNwEs/FjoVmTWa82dnw5JM2uPM3r/N2wKU P1SEL83WxYTHxiqHtTETiRCZieMMboUiI/QqqNcH+mYKSRn56VnRlfcVgZYBWDC3nfhAmb Vl2vkgGrA0ZtS0fpzGXrrxaMhaZgnp2fOWQtOROWNqNxRkpV+h+iYTdpPnYAo4OregOnh7 U3h9JV1njkZYmT3+Se87d6MHp9fh2vxgueBbeQLl0Y5fALW890xPSeP8td/Bkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045895; a=rsa-sha256; cv=none; b=SnR2fkPrnkZF980N1d0VvzY1eVIRjJQsvxET46UTSdTNIWhJeP0/lDuA/sX+QtpyZRpYt4 l9R34p0q/jIyc+iASyORRPRHldjIDbklUREFrSgfMvJUThad7CYyHYCuGXbrsDLX54gohi F870z25ExxKopBwcSJ5fIMbLholxsGN45SZNzXol+Z84a2KrRToqxfgkSx5Hcb2KqgKhdB RSnHpmHPzSXiRw/lCWP8Ps5ePghENcj0X25cRGVJ1Qlxm1vrQ8BrnWhGogsSvaq1BH0MUT pbVYLFUn5czoArNT3l67lli3Vv7I/hr13btyXLFhdsx9pyCbRhOImR02JKPIwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tMsgvsAY2yakvOSdpjdJJcJstooZAXcgzyJUOnd/7pA=; b=i5DXS1yDkPiVDCdAQf/8aqerYI3Vojor6W1jZm5ZYA5ssYOUmvOF4x5wPcFFYltFhu+SIb 08OjN5cOVMq7ToASsNCOhfhfJV1FbCRp3DJDQ7pOx1hs0l5n4b/UsAC7iM9NVxQ+xQl4pL O2LbBpnB3hvnefq09CD0XpP/E0EQytbfqU3kenfhFky3joGLc9EKXrcqqs66kMTL50nLvb 9ILlTTqVylvRfrXfydHcvnPR2tKC/Zo+KphlU/gZ3I8EP+mTJNYU65aRA/Jm9G80YnJ/7k jC4fmFuViBtaLLCvR7xsCL/ET9HCYuovg35Pd0SGyD/FqN/CJXCLCY90or6aCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PLG6fn7z9GD for ; Wed, 06 May 2026 05:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 384c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian Ullrich From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 2052d09b7a5f - stable/13 - lockf: Avoid spinning when operating on an fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 2052d09b7a5f55447b5106489731e229f93d8bda Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:14 +0000 Message-Id: <69fad3c6.384c7.4f190967@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2052d09b7a5f55447b5106489731e229f93d8bda commit 2052d09b7a5f55447b5106489731e229f93d8bda Author: Christian Ullrich AuthorDate: 2026-05-03 15:35:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:46 +0000 lockf: Avoid spinning when operating on an fd When operating on a file descriptor, acquire_lock() would ignore the flags argument and always operate in non-blocking mode, resulting in unnecessary busy-looping. PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56722 (cherry picked from commit d90513ea85693da0ca5955173609f4e81e38ae16) --- usr.bin/lockf/lockf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index f459b54060aa..a1711aaa8b6a 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -267,10 +267,14 @@ acquire_lock(union lock_subject *subj, int flags, int silent) int fd; if (fdlock) { + int lflags = LOCK_EX; + assert(subj->subj_fd >= 0 && subj->subj_fd <= INT_MAX); fd = (int)subj->subj_fd; - if (flock(fd, LOCK_EX | LOCK_NB) == -1) { + if ((flags & O_NONBLOCK) == O_NONBLOCK) + lflags |= LOCK_NB; + if (flock(fd, lflags) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); err(EX_CANTCREAT, "cannot lock fd %d", fd); From nobody Wed May 6 05:38:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9PLJ2ZWtz6dMRL for ; Wed, 06 May 2026 05:38: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 4g9PLJ0v3pz3C2Y for ; Wed, 06 May 2026 05:38:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFny89mglXq6gAWiBTxspNphMXgBx7zE2quvtuFsycc=; b=lK7qJoRkJuUVYjYutY30mPV7o0vPdKlmoAVCNUWXtDY5csd78/p2Eo2MJQXFZ2biRiACBW 0EDL37YSEyMQHLxkNOykjq5NYkcESeHAhicaHa3iXHGrYNJojwLfcYGUuc30esNgbI3jEI gqzOru1WGvBYwPkHW0k+fRm+jlfvYCg/Ow0eyNvd1kridW7GWdeT7Vv4zNxd/sfoSLK5nd bdIWE+JRcQVs/OpTvdhq948mjOFM1S+c+vtCb01RFt/8/sI9c2o/APgnK9AZ8FcH6qGbFi goPfHGyJbmeBugLTfznEY8AOywALGwkdvXkmoMXtEWkmr1AWi5hSv3BZPMlRRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778045896; a=rsa-sha256; cv=none; b=CxJP3Lr5VYFW3b9H0n25QYxUc1tqIuBInDYKLuiUYvBmi0zzXGyDrVDtdm72neHSUIRu5y 7/a6dkNjLxxs4rIheuSyVrq7Z7N0MZc5hg/TnGsf3H66v9lA2WAmsdWDu4AQb/EiLTj04n AD99Dujd1k/9JlriTXUY6ikwI8c9PUDTbXA7ohSLenp4NVvQpZoJEDfLigpKNLjX4mrP5M WwGV6Xzjo9X+bdpu2ZxlaKYkuGI8zLLtLMzx3Y2GTSNPeVkk9kbmGM79s2PHoZRe6zJ1D/ 3maRO5CH6OlwyV9Mife5GvIdYyNlzWxf/NfbyAZ3iyAui4L2JSuyqTHv4mPyig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778045896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EFny89mglXq6gAWiBTxspNphMXgBx7zE2quvtuFsycc=; b=HCVsInDTgF27GUiQ5SUQyCPIp5Tn6LVVoq1y87gcbUAfFmGCF+1xQhK3e1vF6IC3DlIkAU RzqR75+WhNDbBZcuvCg0sTDDqpAxdPrU/4ntVhOsdZtX/NixDbSi1LAW7BA4Jd//Gyl53E 8uMHY/mJ4Z4O69eR/nAlsyTtkfJdC/4we2qNf0oUS5xguUPE09QP3M93iQHnVuXxOSDhfl T2icITTK9R+AmCRxC1wyQv58DMt7peTCaAZZCKrT/13HMU5XWx977SGJBtKwCTwZNKl8gU ATUjxcIp6yySUwNcbksiL09Ntz0aYaq35DKXCYAJHvAZpjuZ1LCdtYUtfu0L3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9PLJ0QR0z9X4 for ; Wed, 06 May 2026 05:38:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39103 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 05:38:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: bafb055ab1c5 - stable/13 - lockf: Test that lockf does not spin on fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: bafb055ab1c5a6e8262fb26731f864bf7a071d9d Auto-Submitted: auto-generated Date: Wed, 06 May 2026 05:38:16 +0000 Message-Id: <69fad3c8.39103.619accfa@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=bafb055ab1c5a6e8262fb26731f864bf7a071d9d commit bafb055ab1c5a6e8262fb26731f864bf7a071d9d Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:15 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-06 05:37:46 +0000 lockf: Test that lockf does not spin on fd PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723 (cherry picked from commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199) --- usr.bin/lockf/tests/lockf_test.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh index cc6938d2306e..827e9ada9d2b 100644 --- a/usr.bin/lockf/tests/lockf_test.sh +++ b/usr.bin/lockf/tests/lockf_test.sh @@ -150,6 +150,23 @@ fdlock_body() atf_check test "$status2" -eq 0 } +atf_test_case fdlockspin +fdlockspin_head() +{ + atf_set "descr" "Don't spin when locking a file descriptor" +} +fdlockspin_body() +{ + # Start background locker and give it time to get settled + lockf foo sleep 2 & sleep 1 + # Start foreground locker in fdlock mode + atf_check ktrace -tc lockf -t 3 0 ; Wed, 06 May 2026 10:12: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 4g9WQz6PF2z3lF5 for ; Wed, 06 May 2026 10:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778062363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t35ok72U22nstR9R87YSceSnWUvFgDkcvcJ6QVd7v0o=; b=jyTi9eRvR38wnpx61bhs8AznykgmfjGSNrXm0ytCVW+Rusco8Nr5Lz/4vWJLRj21a4mamG MVVrSb64Igv6gy/o2oKSbsIwpbx42dN1PBFwnynwUk9IKm0SS+6tQWjOoARx+R9aq6bJfy +q72VwC3Nc77MiavLXK2vAJyzoUzbuXZMBrYDRbiszJGXgkekd1Z3Zb21Kf2fM3MHafWgV rWqSEujMIe3V1uK5iFZfTKt1eaOlGM8OhPQNt+dolqaT0OzwRwpVf+D2kmoTu7aVJqOF7V IFqcWhIqDa2j3CuCWJttTAQGJmT6Skf/9YeziQ1MS5tpwc5CDOal+sV4u3O8Mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778062363; a=rsa-sha256; cv=none; b=Nek3lzQMjaH5FGtuR6dHu/irHhhti0Iyaq8UYBpl5yDFDjOnbP3x/hX5GwIslManhRKeZx SYMxlCLP2+IA4j+nztiXovLQctCQRczAwDD0uVLL4boBlXH6QAJPNOsCNqLTSsSOYbmhr8 UrqxyzyipanorJpSZjKZt7ApLOT0dgnDH63OUiyagGiVfm/OUIFmQWcmg33vXWqNfQvK6L jmRTdB5ivf13CmpRr23drsZY86q2iCCt5zAFz4l4VzYE8Ufddt8ANXdkcIt4YC/2Z/oHAl CheYfBstrME1oM/vBhAt2aDoaag4dM6VGeTOc1waDZUKxvBpi+YFkoGQpoolRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778062363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t35ok72U22nstR9R87YSceSnWUvFgDkcvcJ6QVd7v0o=; b=cdSJ7wn9vk25l9wdlbDrQ4NZE1R/joPNXfL+rYVca8wzdYtmPqCteSCLwg9zsppm8LtXp+ fVa8OTRneW2Z97qOnlZ03u1CiCJU3fxuH7fTSiC0aUvyyZ4tVzcruzZVUvz7NsAETqpZdm mDCw0eZRgsdrIukwqdZtTD9D44rKyqxh+0Wtr6rCHEtnKiU/bR6R9mDNQNH6BdzN8k98Ta V/uHpZ8kpJ6elJK6bfe21EfSaKhlDERG63vA+Yt+JwuJyOdQsFInrBTJOAAH9xND4WjfD7 z5LROGQiWqR2oYeZE+mtpbCuhjyP5PY+VFfibTlpGyUTS0hr3zxJbgjG8JkdSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9WQz3xrvzZXC for ; Wed, 06 May 2026 10:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26db0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 10:12:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 3aabec5c8c6a - stable/15 - vt_core: don't draw the splash if a panic occurred List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3aabec5c8c6a74a4e50640b399a825d9f7adca9a Auto-Submitted: auto-generated Date: Wed, 06 May 2026 10:12:43 +0000 Message-Id: <69fb141b.26db0.3f13013c@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=3aabec5c8c6a74a4e50640b399a825d9f7adca9a commit 3aabec5c8c6a74a4e50640b399a825d9f7adca9a Author: Ahmad Khalifa AuthorDate: 2026-05-03 13:18:38 +0000 Commit: Ahmad Khalifa CommitDate: 2026-05-06 08:56:37 +0000 vt_core: don't draw the splash if a panic occurred The shutdown splash draws over all the useful info if ddb(4) is disabled. Don't draw the splash screen if we're rebooting because of a panic. MFC after: 3 days (cherry picked from commit bc83f414583ccaf337ef3b7c019df7727d6a3aae) --- sys/dev/vt/vt_core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 2015d982a560..8360f0b80fb5 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1682,6 +1682,9 @@ vtterm_splash(struct vt_device *vd) uintptr_t image; vt_axis_t top, left; + if (KERNEL_PANICKED()) + return; + if ((vd->vd_flags & VDF_TEXTMODE) != 0 || (boothowto & RB_MUTE) == 0) return; From nobody Wed May 6 13:20:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbq4kXGz6cMJC for ; Wed, 06 May 2026 13:20: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 4g9bbq29ycz45Gh for ; Wed, 06 May 2026 13:20:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V79BYOLcJlZrVuFfx17zRyqGWNYWdWOOr7vk6zo9JsU=; b=JhULCIHAft7BgxBIHD1094GjjH/GJ8VduMkh4diWF8tcxr4aCF/jOcwGx3c9y0WDIengO8 bvduEBnU0P1a6Fr/88epiuQqUVeJtZ/luT8rswtvaF9rf3MpTDmy+cni6RtObtCfg6Fjw1 DJVo3GyP12HZzKSiGAL4pkNlMptLbYZKLBuXFHOJLFLb2+EGXM9A4zGrsTRzqLqOHhdZrx 50NCf457Ta4j6/5UWqT3XaMUtlDhtbE0lOWWh7yQgr1djXsY8rtbmh+GcqzoAhGV1JzH1J a/uXca/qppHmt/8RoKRnCCKVY+w7FUrpxWBGjFCK8BUxWe3rSnbD/DigHMbBVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778073639; a=rsa-sha256; cv=none; b=CYRJsSereCUCfz/0parjj9PsBF0YftZ89dnTqR6Pgcz2KcELzv9QknTUYbwcfE1BZwQhwI ybjeoXIk0LPVB8er2FP8zzlDDXo4aoZuYQiNCeshPsqYrjvHxvm2xaWF6yfmd0VGM8p8zw V/UjjVaJN37sMUbgpPdJVw8JMt1/fDIbYZ/YHhiZ7n7lwmqIcE+GXE0AFhz4HVlrx0aTNz eK8E35bFAPBPC5fahIJ6mZCo5VV96CXtiIHyLDzK5/sinhfp4BDuDhN8kyhoikp6/jygg0 JpS2mfDtrAz/TNZT65FZPRHkqSc2bD3cnpZJpVpcAIt/oD3IW2xlBgD6/XMq0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V79BYOLcJlZrVuFfx17zRyqGWNYWdWOOr7vk6zo9JsU=; b=BPaj4KDDB3aWXXv1D6IcaDUTQ+nt7C+WePQOjjNYVzyTrL9xTgphVED06d99dDb18HcsCS cWhGXWltIeOcKislv1vMIbeNv/VWXdGJQXDt0dopHpDBZHnH7OQ/4JuHxsM7wwCZcUrAn5 zRMk4CPFAvEsm5KnvAx0cTL2YOEyPkWJ3L2Va5nMbu67Ctbx8b4nGTsQjB6A4487GWUFrk Xbvi9CCadrNb5UWMpOpilzfaCGw+tXLQNZ2m9IH3mzBmhn8QO5fXcslvKXTDX5QPX1OpPc I0g/Yov5rajRNHWa/v5WFSnV3mWFCHF6cuxBLaukYD2cyZZuAWTFr9F7/7gVyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbq1nPKzh1x for ; Wed, 06 May 2026 13:20:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4154a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 13:20:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: aa519edfe50a - stable/15 - ports.7/FILES: Expand and refactor into 3 tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: aa519edfe50a65db516e62752914cb6922b3227f Auto-Submitted: auto-generated Date: Wed, 06 May 2026 13:20:39 +0000 Message-Id: <69fb4027.4154a.7d0b8165@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=aa519edfe50a65db516e62752914cb6922b3227f commit aa519edfe50a65db516e62752914cb6922b3227f Author: Alexander Ziaee AuthorDate: 2026-05-03 17:25:41 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-06 13:16:15 +0000 ports.7/FILES: Expand and refactor into 3 tables Add make.conf, CHANGES, CONTRIBUTING.Md, UPDATING, and Tools/scripts. Refactor the FILES section of the ports reference manual into a bigger table with three sections separated by root directory. Remove preceeding article from all but "the big Kahuna", and root dirs where reasonable. MFC after: 3 days Relnotes: yes Reported by: adamw, arrowd, linimon Differential Revision: https://reviews.freebsd.org/D55441 (cherry picked from commit 28deec9b7e2b08b00160eb39de84ade6f27eb125) --- share/man/man7/ports.7 | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 6e28f85da964..f187a1d8c1ce 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 21, 2026 +.Dd February 24, 2026 .Dt PORTS 7 .Os .Sh NAME @@ -596,30 +596,41 @@ Which directory to use for the data. .El .Sh FILES -.Bl -tag -width "/usr/ports/Mk/bsd.port.mk" -compact -.It Pa /usr/ports/ -The default ports directory. -.It Pa /usr/ports/Mk/bsd.port.mk -The big Kahuna. -.It Pa /var/db/ports/ -The directory where the results of configuring -.Va OPTIONS -are stored. +.Bl -tag -width "ports/CONTRIBUTING.md" -compact +.It Pa ports/CHANGES +BREAKING NEWS to read before creating ports! +.It Pa ports/CONTRIBUTING.md +Instructions for contributing to the ports tree. +.It Pa ports/Mk/bsd.port.mk +The inner workings of the ports framework. +.It Pa ports/Tools/scripts/ +Grab bag of tools for maintaining ports. +.It Pa ports/UPDATING +BREAKING NEWS to read before upgrading ports! +.It Pa ports/distfiles/ +Directory where fetched files are stored. +.Pp .It Pa ${PORT}/Makefile -The specification for building the port. -.It Pa ${PORT}/distfiles -The directory where fetched files are stored. +Specification for building the port. .It Pa ${PORT}/distinfo -The checksums generated with +Checksums generated with .Ql make makesum . .It Pa ${PORT}/files/ -The directory for any patches. +Directory for patches or any additional files. .It Pa ${PORT}/pkg-descr -The long description of the port. +Long description of the port. .It Pa ${PORT}/pkg-plist -The list of all files installed by the port. -.It Pa ${PORT}/work +List of all files installed by the port. +.It Pa ${PORT}/work/ The port's building and staging directory. +.Pp +.It Pa /etc/make.conf +Settings for the port-building framework. +.It Pa /usr/ports/ +Canonical ports tree location. +.It Pa /var/db/ports/ +Directory for storing configured +.Va OPTIONS . .El .Sh EXAMPLES .Bl -tag -width 0n From nobody Wed May 6 13:20:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbr4D66z6cMCv for ; Wed, 06 May 2026 13:20:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9bbr38xXz45MK for ; Wed, 06 May 2026 13:20:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnSk+T7sdwLEVGLSHA/jFBIAPY9RajnpwwfjcIdZjoI=; b=XG5ZvP8W/OCN38b8sSnJ2yghJunZ+7zZZT0TqxtB8FMM+ciU0OhTRg20czpud92UbErCjz XVKpqSUBu0GSe51//HcJ3vtS4iL6MHFxNrg5Ftc/jbUUL6YN3SFJxtdUSDgoArQIAAmirc 03BhcVeKSQuR7/PCOL0fp03UH8VNI+g6QH450fhdZdct6td/Fkshgv0hFIbVYtebQq8AjU 3dcTCjfEqkKutMAuQXJ8X3VILf1c2z4cbvDxJLdhsN96Y+UhzxvNHC3poYkYywFGKufPJo KhC4aPXwgZ5sQsWfOAMl5YQ2DTXzSGVdU2BwKtpg4U3uIMMcVHAUcnyyaLLvbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778073640; a=rsa-sha256; cv=none; b=CpSPBHdBh5dVvbbhj5KNKuSeR5B4kBMZUV9Wx3E1FqqIToTuLoXMalJRvpJtwUR8MBx0y4 81EiT6KxKHjgp6A1hVgmdY5XG4GQMBN44KEJ5MwTd9iO3kdp+H/wZSEdNEJzWFwfMRL3Az fpIrwFNrcdSjQhbjkQfITrYKZqIjW3fvtomd9zGhSR4N3jENRCeKyCFYZFQ4F3Ayhzt1yA pkz4qTBjev3feqjQoTG66sHGmTjPxkVnZw7l5OGAmqT9IljYoOO3JXtBybWe8IS/FF5UnN UWKT5jxQ5/POLqSzIvpE4sWkHIpHpKQ7HcHN+hsGVkNsttJf1tLGd42RZodKWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnSk+T7sdwLEVGLSHA/jFBIAPY9RajnpwwfjcIdZjoI=; b=FElPrdbrT/rr9Lopa9s9lzqmZHVla/G4NHnDxW8JWLBL8Fh5l/q3msCoM2KmKhdz6Urvs1 8XY3BXuAtVtsersavdyx2F429qojzeNT9qE0nKROvAikogMa3WFoMvbH4vubX575QSTcfO JeFT4ORb62MaBZ6Lvc7FMHb/pPhK2oFB9OLaggvQCobtkti0/zeyHgqwsJPykFJw76n/fz uCprm6zNNSUcMaxVmFAB7cQIZmKh9VneZkPmVgn2MJ8xcFRxgPUV9sSZiNaPH0AI0B04sP xPWDVUk1onwai0NEPMD488rSYLrctMDHKvgm3+g+l1yz7Xzu6En6sAP3hIj7ZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbr2Yp7zgyV for ; Wed, 06 May 2026 13:20:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42556 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 13:20:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 8318c2f613be - stable/15 - nvram.8: Align option list and tag SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 8318c2f613bea98573aa4cd9ef7a4249d5010dd3 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 13:20:40 +0000 Message-Id: <69fb4028.42556.675df211@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8318c2f613bea98573aa4cd9ef7a4249d5010dd3 commit 8318c2f613bea98573aa4cd9ef7a4249d5010dd3 Author: Alexander Ziaee AuthorDate: 2026-05-03 17:39:27 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-06 13:16:15 +0000 nvram.8: Align option list and tag SPDX MFC after: 3 days (cherry picked from commit 33fbfceeb4d9daf1145089a10ce7b25110d8840f) --- usr.sbin/nvram/nvram.8 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/nvram/nvram.8 b/usr.sbin/nvram/nvram.8 index f0b63cdbc731..c326551b72c9 100644 --- a/usr.sbin/nvram/nvram.8 +++ b/usr.sbin/nvram/nvram.8 @@ -1,4 +1,6 @@ -.\"- +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2006 Maxim Sobolev .\" All rights reserved. .\" @@ -51,7 +53,7 @@ following by sign. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "-d name" .It Fl d Ar name Delete the variable selected by .Ar name From nobody Wed May 6 13:20:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbs5ZWDz6cMG2 for ; Wed, 06 May 2026 13:20:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9bbs3sT4z45WQ for ; Wed, 06 May 2026 13:20:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ZPEUzQZuPm9HLZZMWSnanbS1HVBAc4/QtMWEttD1D8=; b=MgcqypKG9MBLiQf6fs0Lot3CD2jHLhyNiKQpqWkbM5G5zuUTt7Q5q/cGOMOJobT2NbC9rw 84tEJblr5gw62iTjQNgLoOmjYq20FGPdcXJRJkjB4IZLZUVGaxkzc9FyOZ6aRKcQb23JsW QiHWAFOzJ0zBX7ZOlvZgyASZ8b4dAgXqrF6+Z9BS0GAlC+W58BOPlRFR7IV2c2U1GHqEnS ESvSxeQoTcSqtGfLkqtezEmwnQaYEvThla95PE5s+B9zX7ltHwgQbrTgZZ+aQ5YR0HTZE/ 7ssDxd0DXDOEgIPVK9iEW/iQFJ3OkxWYE4m7grb6mliAzx4sIodO9SEgo511iQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778073641; a=rsa-sha256; cv=none; b=mKxBItEiaLau7JyXfUjkkP8vcP6MjIGSW2Tc7gfbIkhNOnsi9iTUnitPSjM0+y8yI6NKxy Zw38bVwgmXSzFx1u1A2EegQVaNHCy9mFMu5JgrB0gUfg3SWvZhNQlFphewIDHp1KsN5Koc 8XGfXmY6ZUBq2FAfpRpHgyOLvTjnglGljqyNfAsgT1SLy+EHMnWFI6Nh0EnOBpyFIAtXKy yEvyLBQD35Ek4Oc0XZe98Q0l9xWofR0miHJioSnaXCPLc+dNy4MCoVGH9h3Qh20XNJjolD NkGZBylFrFWkVR/tJbMH12TbL60Od9BxI9eFg6qi5PkDA7oH/B6PhtccPT6N6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ZPEUzQZuPm9HLZZMWSnanbS1HVBAc4/QtMWEttD1D8=; b=hiwsc923zPJoL9znFXsJKPXZB7VtY7o896bavGvy4Jr0cE2s27rhVI6QPWPnQrU2DfbAxg B+VJuR9WlDRoC5yl+dEKajGzm7EuybdqNyFL/NBiInjsFfpVI4EfCUnDC10hzMbxJYEO2F YzlKjSpzirU82CnhDMDdmPS4LHaxnH0eNCi/K4j4KclYa+yJJjj8BaSpWtdiGjpyXHQ6Gc ohn/eGi50gX6qWxCeKqaDckqEJF0LYLfpI9FmfzMnCW4xq1CoH1WDc2ilNqG7vJVCOlXUA nJQPnDkETJF+4uCPYXP2HDNH/F+O6s14HRTyzz9nnhI1Hz+gkfNaU3Z3nPwZVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbs3HKCzhJQ for ; Wed, 06 May 2026 13:20:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4229c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 13:20:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 4da464b1ec46 - stable/15 - ocs_fc.4: Cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 4da464b1ec4669e658a9839c8ed33f11342b0296 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 13:20:41 +0000 Message-Id: <69fb4029.4229c.79d4eb35@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=4da464b1ec4669e658a9839c8ed33f11342b0296 commit 4da464b1ec4669e658a9839c8ed33f11342b0296 Author: Alexander Ziaee AuthorDate: 2026-05-03 18:27:05 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-06 13:18:08 +0000 ocs_fc.4: Cleanup + more consistent document description + enumerate available options in synopsis in vt.4 style + tag spdx + tweak list rendering + cleanup HARDWARE + reflow excessively long lines silencing linter warnings + fix link macros MFC after: 3 days Reported by: michaelo (hardware notes) Differential Revision: https://reviews.freebsd.org/D56753 (cherry picked from commit dd97c3d83f9a92bbeb9740ceff4c1c74c451293e) --- share/man/man4/ocs_fc.4 | 93 +++++++++++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/share/man/man4/ocs_fc.4 b/share/man/man4/ocs_fc.4 index 714bb2655c15..b132a6eb24ed 100644 --- a/share/man/man4/ocs_fc.4 +++ b/share/man/man4/ocs_fc.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2017 Broadcom. All rights reserved. .\" The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries. .\" @@ -27,24 +30,37 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 29, 2021 +.Dd May 1, 2026 .Dt OCS_FC 4 .Os .Sh NAME .Nm ocs_fc -.Nd "Device driver for Emulex Fibre Channel Host Adapters" +.Nd Emulex Fibre Channel Host Adapter driver .Sh SYNOPSIS -To compile this driver into the kernel, add this line to the -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device ocs_fc" -.Ed +.Cd device ocs_fc .Pp -To load the driver as a module at boot, add this line to +In +.Xr device.hints 5 : +.Cd hint.ocs_fc.N.initiator +.Cd hint.ocs_fc.N.target +.Cd hint.ocs_fc.N.topology +.Cd hint.ocs_fc.N.speed +.Pp +In .Xr loader.conf 5 : -.Bd -literal -offset indent -ocs_fc_load="YES" -.Ed +.Cd ocs_fc_load="YES" +.Pp +In +.Xr loader.conf 5 +or +.Xr sysctl.conf 5 : +.Cd dev.ocs_fc.N.port_state +.Cd dev.ocs_fc.N.wwpn +.Cd dev.ocs_fc.N.wwnn +.Cd dev.ocs_fc.N.configured_speed +.Cd dev.ocs_fc.N.configured_topology +.Cd dev.ocs_fc.N.current_speed +.Cd dev.ocs_fc.N.current_topology .Sh DESCRIPTION The .Nm @@ -58,7 +74,8 @@ and Fabric connections. FC-Tape is highly recommended for connections to tape drives that support it. FC-Tape includes four elements from the T-10 FCP-4 specification: -.Bl -bullet -offset indent +.Pp +.Bl -bullet -offset indent -compact .It Precise Delivery of Commands .It @@ -71,29 +88,31 @@ Task Retry Identification .Pp Together these features allow for link level error recovery with tape devices. -Without link level error recovery, an initiator cannot, for instance, tell whether a tape write -command that has timed out resulted in all, part, or none of the data going to -the tape drive. +Without link level error recovery, an initiator cannot, for instance, +tell whether a tape write command that has timed out resulted in all, +part, or none of the data going to the tape drive. FC-Tape is automatically enabled when both the controller and target support it. .Sh HARDWARE The .Nm -driver supports these Fibre Channel adapters: -.Bl -tag -width xxxxxx -offset indent -.It Emulex 16/8G FC GEN 5 HBAS -.Bd -literal -offset indent -LPe15004 FC Host Bus Adapters -LPe160XX FC Host Bus Adapters -.Ed -.It Emulex 32/16G FC GEN 6 HBAS -.Bd -literal -offset indent -LPe3100X FC Host Bus Adapters -LPe3200X FC Host Bus Adapters -.Ed -.It Emulex 64/32G FC GEN 7 HBAS -.Bd -literal -offset indent -LPe3500X FC Host Bus Adapters -.Ed +driver supports the following PCIe Fibre Channel adapters: +.Pp +.Bl -bullet -compact +.It +LPe3500X FC Host Bus Adapter +.Pq Emulex 64/32G FC Gen 7 HBA +.It +LPe3200X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe3100X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe160XX FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA +.It +LPe15004 FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA .El .Sh UPDATING FIRMWARE Adapter firmware updates are persistent. @@ -131,11 +150,9 @@ Check kernel messages regarding status of the operation Reboot the machine .El .Sh BOOT OPTIONS -Options are controlled by setting values in -.Pa /boot/device.hints . -.Pp -They are: -.Bl -tag -width indent +The following boot options are controlled by setting values in +.Pa /boot/device.hints : +.Bl -tag -width hint.ocs_fc.N.initiator .It Va hint.ocs_fc.N.initiator Enable initiator functionality. Default 1 (enabled), 0 to disable. @@ -181,9 +198,9 @@ Current Port Topology (read-only). .Sh SUPPORT For general information and support, go to the Broadcom website at: -.Pa http://www.broadcom.com/ +.Lk http://www.broadcom.com/ or E-Mail at -.Pa ocs-driver-team.pdl@broadcom.com . +.Mt ocs-driver-team.pdl@broadcom.com . .Sh SEE ALSO .Xr ifconfig 8 .Sh AUTHORS From nobody Wed May 6 13:20:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbv08hXz6cMRm for ; Wed, 06 May 2026 13:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9bbt4d0cz45T7 for ; Wed, 06 May 2026 13:20:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqdWIwTdJa4FrCg2alGaXLiB+E97cCiffXeEfApsRxE=; b=jHRPHoYlr29a0Er6dQ3MMgGSX/hrBWXxwsqitjwLD/KEWtWyCY1Qb7QlpjDxqYrEp7aQXR JL+0ddKL+oYKx54ZbuGZhGRHqdk/RjV3YcUnsO+hoPw4XsAbZX0/KJbhuOf5U+zvbSytDk /ZvLJKqOYT7atpgLNQxfXCuZ7gTbTASLRpw76JmXafXfAuu0Sw0ASMw+Ai0Z4ZK00fwF3K cmXErOq7m96GU7sFr0XwUSwByozP+p2S1gNEhoetQmhbmgw2vQORRlvwnS08to9Og/RIM2 ItQG71kB3sAwR5jrw/2a1AMiEg7hmLA1e5oSOm1608Xd0cLQnf/Vx2iJaEjYNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778073642; a=rsa-sha256; cv=none; b=oTArN4hDE6tXnbwGXdyF0VglICcPskr06Kq8fCsiCR/g1JipHAwc8zKVd134/8wqCnUi94 JsA+44AjOpd0uuSTfjcZKSyX4Eh+DzAydbFsdB64pO+gJpuxjjXihNg+UXMPXA/AGx5/O8 Oo5XGGdVPtiiRZSnAcML3su6RSlFY7klJ5rZ0AhQo2L3dQrjv98z2lW5BsV0bWOhxsOZE7 /MonIHTXPV7KGX8UbZI8QoZv/k7sMr+QIlty9pwckks3PKjZZTlZJjGRWtMkdgH1W3hAjz hexl6KX7ddDWkOuBNsi9zZBRhPg7chuMAPSpa/l8R82JZ0HB+pV8BeBENkjIVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778073642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqdWIwTdJa4FrCg2alGaXLiB+E97cCiffXeEfApsRxE=; b=LpY9EP0hBBxU5FNO1UCC77t3ZDqZQSjFLaFNXileXlWMn2PZqzga6e8viJBkNmK+TwOzA9 DundZvx5OAJf+heCHoIZ4IJYmg613JK2mmuGw+0BNQ3FAm/v6/hNXU7zzSa1b/Ptr0NPE5 Hh6wL/dhwirBti8FMjlocEQ+LfBXDdrZXTxj3IhbiwhJzvq20f+J9HWAoEZLa8r3KcetLb vyFNPZhCQRDm57TvFnV31FsR5fDnLRTQPvoluhxSJmgnp/VA7A9cxzCjGKkq6Af34i8SF0 eDLqM04PWjtXMPL84Ua5M8tgCHiy7mzSu7cJaDvW1DBtsrdcTbQpGy4AYNlnnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9bbt3qsLzh20 for ; Wed, 06 May 2026 13:20:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41e19 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 13:20:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 55709c8a46a4 - stable/15 - man: Kill off MANSUBDIRs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 55709c8a46a470af78c0c818b36ac90615728c44 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 13:20:42 +0000 Message-Id: <69fb402a.41e19.6173c600@gitrepo.freebsd.org> The branch stable/15 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=55709c8a46a470af78c0c818b36ac90615728c44 commit 55709c8a46a470af78c0c818b36ac90615728c44 Author: Alexander Ziaee AuthorDate: 2026-05-03 17:53:25 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-06 13:20:17 +0000 man: Kill off MANSUBDIRs Three architecture dependent manuals are installed to MANSUBDIRs, creating at least two empty manual page directories on everyone's boxxen. Move those manuals to their canonical area, enhancing clarity, grepability, removing useless inodes, and increasing consistency with the rest of the architecture dependent manuals which are unconditionally installed, and noted at the top of the rendered manual. MFC after: 3 days (cherry picked from commit 809504f331fd3588e36b54255196379bdb59890a) --- ObsoleteFiles.inc | 9 +++++++++ usr.sbin/apm/Makefile | 1 - usr.sbin/apmd/Makefile | 1 - usr.sbin/nvram/Makefile | 1 - 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index d8090aa28cc7..ebf2f4e6ceba 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20260503: Kill off MANSUBDIRs +OLD_FILES+=usr/share/man/man8/amd64/apm.8.gz +OLD_FILES+=usr/share/man/man8/amd64/apmconf.8.gz +OLD_FILES+=usr/share/man/man8/i386/apmd.8.gz +OLD_FILES+=usr/share/man/man8/powerpc/nvram.8.gz +OLD_DIRS+=usr/share/man/man8/amd64 +OLD_DIRS+=usr/share/man/man8/i386 +OLD_DIRS+=usr/share/man/man8/powerpc + # 20260430: Regenerate trust store OLD_FILES+=usr/share/certs/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Premium.pem diff --git a/usr.sbin/apm/Makefile b/usr.sbin/apm/Makefile index f9b3e11d22fa..81f47b8ff7b6 100644 --- a/usr.sbin/apm/Makefile +++ b/usr.sbin/apm/Makefile @@ -1,6 +1,5 @@ PROG= apm MAN= apm.8 -MANSUBDIR= /${MACHINE_CPUARCH} PACKAGE=apm diff --git a/usr.sbin/apmd/Makefile b/usr.sbin/apmd/Makefile index bfe59cc7cd7d..9e693c630308 100644 --- a/usr.sbin/apmd/Makefile +++ b/usr.sbin/apmd/Makefile @@ -1,7 +1,6 @@ CONFS= apmd.conf PROG= apmd MAN= apmd.8 -MANSUBDIR= /i386 SRCS= apmd.c apmdlex.l apmdparse.y y.tab.h PACKAGE=apm diff --git a/usr.sbin/nvram/Makefile b/usr.sbin/nvram/Makefile index 7d27790ed132..4988763c73b4 100644 --- a/usr.sbin/nvram/Makefile +++ b/usr.sbin/nvram/Makefile @@ -1,5 +1,4 @@ PROG= nvram MAN= nvram.8 -MANSUBDIR= /powerpc .include From nobody Wed May 6 16:30:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9gpy0d11z6crmx for ; Wed, 06 May 2026 16:30:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9gpx74qJz3d81 for ; Wed, 06 May 2026 16:30:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FVcPuHUmbnfMLT7BMxR+lpkQ2GIJx8JGQ92iYgBrst8=; b=Im05Stw43xGFYPvqUvbrL6vgbI6iqvsnF+a0RJd3qvDMd82YoPzqlTDYgVxRzZk6dSYJLF LcOUfixL1Tqkh+Sng/TFTJqetEtA6Owgf3H5WUuk9v892AoBMkFeTFLymK33hBVREmDcxT GaYSVej/0GsVbZliNBTWDivjNiCK+fTO79o3HYPSYq6bT0Lgj7z/53P1sbEVIU6Im8D1Am 3m4zmMifjxI0LaCTZe1u7cxpZ5l4rjVZvc/fezcI5Ax7H7G9o3VeuIK4ZCPum81Ev5rakM nqLvS1hsbz3dS3SI9ve1IrUEaPLio8SRXyblw5zMHUHiyiulcCzRLABea/uUBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778085034; a=rsa-sha256; cv=none; b=SgOHsbJukL1JF/ts6XUPHTFfUPpBhl0hn/smWio7IiVMT9UF3883Ju7QhFqDdh6b2bcTpR wlFuvRzV+GXesIZUAkv3ebb5j5UM7ivmn2LhPb4Y2BXyQLRO/t7o1XpJmOHPQZZMsHpV+o n7ZRf95evlCrOE/oYT36H7uQ0EMDKCxfCuYcjdeRL+OF0dh27dO7f+NA/nsKJH8ujydCP0 hyo5Jh+/YL9vdxR3LBd0+pAiAN1AgPX8/oe+WBS/OqXQCrP3XA8q33x7zODLdRq1wrLnaP loSvw8Ou3K4QoekpRf7zYD4ShtwOUX/WQ8hdl2oWMmtaAo0hetK0g3dmlJyfyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FVcPuHUmbnfMLT7BMxR+lpkQ2GIJx8JGQ92iYgBrst8=; b=vzHPJ0Zo9X/g+zNUiApzXhC5eZtDM+DMGUwdC7/7kexchuY1v3KSg+hWLCCkJLFDZ84joA vbKpE+vkuDYXVBPuQDsOUOFbrFHDKTy9Raxv9kk1g/2gCJvHcRtIScAjO/5GRubaSV65fb b+nL1A0kzAvkw9Lb0/9amC8Fg1VQlASVmLmeuo7IJMFM1o0rb5zNYeoWKyaew8nVxXrQBF sO9K5jpiLvIMRGz4OWkjeU9zkzfyszKm3ZYK4ZTViAHNK5UIcZeGo5vVJcUFrkWAuiSvRi 5rX78KX4Ed8O3V5gO4mb1zKAaphZeepJTy1w6tyNRrSgYnltkFDdbghj6Ykiiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9gpx6brDzmR2 for ; Wed, 06 May 2026 16:30:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26a2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 16:30:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Aaron LI From: Colin Percival Subject: git: c4be32aabf91 - releng/15.1 - tail(1): Fix -r (reverse) to work on pseudo filesystems List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: c4be32aabf91ec74d95296a3455bb7ed05b50ff5 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 16:30:33 +0000 Message-Id: <69fb6ca9.26a2d.2057fe86@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c4be32aabf91ec74d95296a3455bb7ed05b50ff5 commit c4be32aabf91ec74d95296a3455bb7ed05b50ff5 Author: Aaron LI AuthorDate: 2026-03-17 04:53:49 +0000 Commit: Colin Percival CommitDate: 2026-05-06 16:30:14 +0000 tail(1): Fix -r (reverse) to work on pseudo filesystems Pseudo filesystems (e.g., procfs) advertise a zero file size. Fix reverse() to handle such a case similarly as forward() so that '-r' works on pseudo filesystems. Approved by: re (cperciva) Signed-off-by: Aaron LI Reviewed by: pouria, Ricardo Branco , des Fixes: 1fb3caee7 ("tail: Do not trust st_size if it equals zero.") Pull-Request: https://github.com/freebsd/freebsd-src/pull/2080 (cherry picked from commit 4feeca3193c316c18472cd40f215446fda3bd739) (cherry picked from commit 771a65210018c68198ea413df10225e87a0ea909) --- usr.bin/tail/reverse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/tail/reverse.c b/usr.bin/tail/reverse.c index 1fa8784dec6d..690101c0b803 100644 --- a/usr.bin/tail/reverse.c +++ b/usr.bin/tail/reverse.c @@ -78,7 +78,7 @@ reverse(FILE *fp, const char *fn, enum STYLE style, off_t off, struct stat *sbp) if (style != REVERSE && off == 0) return; - if (S_ISREG(sbp->st_mode)) + if (S_ISREG(sbp->st_mode) && sbp->st_size > 0) r_reg(fp, fn, style, off, sbp); else switch(style) { From nobody Wed May 6 16:30:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9gpz1s68z6cs1n for ; Wed, 06 May 2026 16:30: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 4g9gpz0kvfz3d4w for ; Wed, 06 May 2026 16:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIrnq2N7RjTCXMQmarQ/+gWEGZOZLlWz2RttMjtJQqI=; b=U4fNAuQmt04Im+uiQDy9S7s7kZVf8xjUjHylw5afUMFLhvpnzLhzvo4MPd+ms/6im/37oq 8iatbzu8xZHj/rOVwjL5+A/DlLsh4ONzdQmmGbDd9oZDHU+AlEtTffFZNIoaghyyN9yCQP sNKqp8dEid4DqcuDbowpihNas4GUbybWCRrf757Hz7HF6YDuTVqyKHwrb+qJGVqk7jCbo6 2clM4K7IDyrA6yvj4i9s2y6Ao5k6bNSFMe4AQvR+raNWFr05iNjqtSVc3+ZjsibZBAK+CR 5oV2ZlkdVxZRDd7kJAqfq1dU6+JqKxL50mkPY5RUlSBABk5noKFL1C/74L3ZDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778085035; a=rsa-sha256; cv=none; b=thNwHn37Y/8D+mr1cFaYi1LfStTMhmY3JnOpW6jR5nPnyBXIr7giyLcSCtc26QrAjkVp4M K4V/CGWasy1bBLSJs2NZvPaPnoM2/qSEuzy/FKRUMmsH0u+pg6mDIfN2HCNh98rf6Ik86N JR9DYD5ho0dC/+tPsgD/Gs3MgwIF+pEf4MoIvdaHE1cdpKw0dLqmjUsNQPmjVefxFwxOgP WJPNsmDyUkh6TjxYZT66Of88szamH6GVzN2A0RbwgS2fmW3pKkZ9rCuiuDtVmHLedqMtk3 x8IRV1dkrd/Y4DzK39jmrSQbGseC/oM+X2uurTMZWdaONLy3BBIXt1FC2r/VPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIrnq2N7RjTCXMQmarQ/+gWEGZOZLlWz2RttMjtJQqI=; b=mauvZXXD4+TEjBW3YmMb49/mm1CKIUH5gBnuzDyxXDWMzmmimJk/NaYK5bHEqwDHPdU7WM cj9XIGwnBVkyiZYTN9Gdltjxzoh9w2xAMkrgcC/D0E/2mE9DLw2GwCBMaxSghIQi9tSBTt KtXaaNhb1uKvaM5otYibCgBPtkDz5bYYazvKU5G279Z+6njSAYkMwjF/yNqk3I9DtKOa5+ JkNxki8q4mMrUDNC81WCIAgATAHuUieWL/iqH/aOds4JbT+2LPmWuKCb6TgHnSaltM6J1i wHo+Ndnd7T8hQL1a5/69KsiOh2Q6REbnSelLvU3hzzFUtSmhn6yFuWHe5hPiRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9gpz0Dy3zmhh for ; Wed, 06 May 2026 16:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26a80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 16:30:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Christian Ullrich From: Colin Percival Subject: git: d0f618e7ae95 - releng/15.1 - lockf: Avoid spinning when operating on an fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: d0f618e7ae955af283cb03a805e130e6c03d0d38 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 16:30:35 +0000 Message-Id: <69fb6cab.26a80.58688fe2@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d0f618e7ae955af283cb03a805e130e6c03d0d38 commit d0f618e7ae955af283cb03a805e130e6c03d0d38 Author: Christian Ullrich AuthorDate: 2026-05-03 15:35:10 +0000 Commit: Colin Percival CommitDate: 2026-05-06 16:30:18 +0000 lockf: Avoid spinning when operating on an fd When operating on a file descriptor, acquire_lock() would ignore the flags argument and always operate in non-blocking mode, resulting in unnecessary busy-looping. Approved by: re (cperciva) PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56722 (cherry picked from commit d90513ea85693da0ca5955173609f4e81e38ae16) (cherry picked from commit 651b82e64ef4f753d8f4c1793f359de39744526c) --- usr.bin/lockf/lockf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index 16bae36a21e0..076d28b7ddd5 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -320,10 +320,14 @@ acquire_lock(union lock_subject *subj, int flags, int silent) int fd; if (fdlock) { + int lflags = LOCK_EX; + assert(subj->subj_fd >= 0 && subj->subj_fd <= INT_MAX); fd = (int)subj->subj_fd; - if (flock(fd, LOCK_EX | LOCK_NB) == -1) { + if ((flags & O_NONBLOCK) == O_NONBLOCK) + lflags |= LOCK_NB; + if (flock(fd, lflags) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); err(EX_CANTCREAT, "cannot lock fd %d", fd); From nobody Wed May 6 16:30:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9gq03DjHz6cs5J for ; Wed, 06 May 2026 16:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9gq01Xm3z3d87 for ; Wed, 06 May 2026 16:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WN2cp1bRBZ1fXhAOvO62i6zV0QKM64cgUc2wohhtgHA=; b=alrVULE3vpJUlLOGG51ulIisSTYn9xlAuzSnxmB34spdWWZ7/3eT/gRy+PnOaLY8cWbCIB t4jdw0qeaLZ7f7AAL8AVCuNxnl6W+76arzlqCKEbHb0GIjkq9KIsyQmQwRXW1ok2tDEl5I 03m1PVUC39DIug1BDhkqX/w+x3fIZGWClhB240yfiYbvNPyPIm35czyuhnkO8m3YKnusoc vEMs6a+ixXlkr+3M7A2g08dWYTL5FYK3VWMvfxrFhNqLWy5rOytEZzSIckW+XLt6KzV6Y1 kyxGTUfMVC63eZ6LEDdogjONanaTh+KT0zYVfzWchNl/41oKkxiPAi8nH2n2wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778085036; a=rsa-sha256; cv=none; b=nNDa0UIG9ZzTtK9O4gIkroiF27u8/gET1eNC+woAqUEMMWUNqvuIg/x+H2dpZcgvvlUjr6 JK4fR6DTvEFmPNkOWBf+jbcnYRWk3rMytty04MKE608hueP/UoUJxv6wkJGvhdlmYfXJje x0VqMAEUYUiTg0OaDmDrATI5haShK3ZZtLZQsY3nF2dpl6QuBa6TXHskSftuNuqEXlQ6Uq 5YhQ3NnTXHjvd5VSSszBOi00Uzx6Rc9lW7uG+sp/cyq7AGlLOt4OML09NjQV6NOAQq7T+O /EOUzgBN1aKWw2Xc371UIpD0oWFkDTLX8x3R0D4fj13JBKT9iikxVU2VL04NxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WN2cp1bRBZ1fXhAOvO62i6zV0QKM64cgUc2wohhtgHA=; b=gWtcC+0whKg6TLIC7zCfjShmlJiq69A5gajQpnwGBURgsv7H7sHYSAIZqH/iemsan6Pbyt j9vjFPOa8zhDtD+W6FpsLYvFJjSdRfgyq53UrlwDQmtaPirCVgyIzVIoKAHjTDT0mW5/Gi WuWWLaKhw+LeUyGYAqGh3rOBmtU458ZCXAVaoz8iYKXzVjxg0F8za0WLmFMiVTYq4pnMvF 4fRaxt3rbtmaa0YBgvVoCJ4D0u9ESBkqP+beAu/2kbecFM24nOZ0Ln5tzA5RoNfH9W3fAC ASUby0Qaux/cLAckbEmgD7aSvRsbg//vNy9ooVC1xA9LD9JdBcuTP8DMgj8kiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9gq00n0mzmTM for ; Wed, 06 May 2026 16:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25fae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 16:30:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav From: Colin Percival Subject: git: 0ae114f07f5a - releng/15.1 - lockf: Test that lockf does not spin on fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 0ae114f07f5a8d6048459f8dc37ed4132b02dcc9 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 16:30:36 +0000 Message-Id: <69fb6cac.25fae.4906fd1@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=0ae114f07f5a8d6048459f8dc37ed4132b02dcc9 commit 0ae114f07f5a8d6048459f8dc37ed4132b02dcc9 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-03 15:35:15 +0000 Commit: Colin Percival CommitDate: 2026-05-06 16:30:21 +0000 lockf: Test that lockf does not spin on fd Approved by: re (cperciva) PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723 (cherry picked from commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199) (cherry picked from commit 8e5f92b6b22c82af1192575781788eb2c8fed448) --- usr.bin/lockf/tests/lockf_test.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh index 823b5673a176..16ee5a03bb9e 100644 --- a/usr.bin/lockf/tests/lockf_test.sh +++ b/usr.bin/lockf/tests/lockf_test.sh @@ -177,6 +177,23 @@ fdlock_body() atf_check test "$status2" -eq 0 } +atf_test_case fdlockspin +fdlockspin_head() +{ + atf_set "descr" "Don't spin when locking a file descriptor" +} +fdlockspin_body() +{ + # Start background locker and give it time to get settled + lockf foo sleep 2 & sleep 1 + # Start foreground locker in fdlock mode + atf_check ktrace -tc lockf -t 3 0 ; Wed, 06 May 2026 16:30: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 4g9gq20bG8z3d0S for ; Wed, 06 May 2026 16:30:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UPYKG4I64jWa96Vk4KLuOv2HyVTHzyIwE7d3VrmEIso=; b=P76Sr71cxGaeO6mmNQQ3WvtYlwhpbKZNhX+xu0fwJp55UzkSh2L7JCR0QcT4gONXPz2H7q 76Nd9PTyfVf9mTNiThNHqBXu/d2FqrKKKzXi9ZQfvKc8kHzXnNtK3jJBzwcdlbpeQJn4bF hmMjkXNKsQV/bO/BDdnWtLED3QvgGeFMMWN/zh7wPs37OuvDAHRyYfJ/6OmWi0lcT69V/4 6ZwVswE9qEroZCGtpkpehPnZRWJh1tq5DLUGBUtRCCM6QMFzF/kfykw/hkjsR6DJw7p3up QFGKeO/uLTIG+6D56rWGH6VsTgtwxwuyYhxK6EIgXXZp3iJTeU14bUdVUUl+pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778085038; a=rsa-sha256; cv=none; b=PDTRsUxJ7GQUm1VgG0Isd4/CIBLgmayqXp2tjohx4ST/iKL9TBn9E1GpwNG9ZPKnVrKIkL wS+j10JCHWmJGuwIhv3p1raEDa5ucefSiXtK1+mra17pm6Gh4WrRLWdxAxjZBlRkUwXuMj RPuoCScMJyVITEf9UxqdC/7+i44Oi/JXDLDiH+jDEdtAXx3UEWfo7+94RV/2t2izEg/6dk p1sQMBi4eisur0o/DbiWnC9j5QJlnJ6ssQNc7jd1H+VRGrw53Z76/8iSZg3iJWmPPr2J1I Se2FeZQbnp8v2kZx0mTVZImthy/XRV/kdY5B3xVrxtJPVOgkmjTBXxIABAqjkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778085038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UPYKG4I64jWa96Vk4KLuOv2HyVTHzyIwE7d3VrmEIso=; b=bBtjLG47WBcn6KKTq2PXJeeWVCZxO93cXS81vPx8E/TF+YzpECK6QPqwZ7m8gedC/RkV1a KIy2mnGRSbafvLez1ZFA+UgWVjNKPwFfpvkgAx8yl2fMerjm5J9S5oKbyVmf2Df9Vpsp0y IEsA8y5PJHQugzJYXFPpcds3WdFqM4VxcG9iDrmly48Q3hYAPY2XK/7hyjUfmUkraw7Db1 n9cchfBAwTTi3/iY62V3O91jbPv+/2QDSufrKesrUwO7lOg5t+S8MMPRnkF2VKglLqBcMF 4Lveu22E5Wu+oU1zxn7RS5apki11yFxiynjozIUmjs0WqROzWF90aeYh3oKINw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9gq16NTwznDC for ; Wed, 06 May 2026 16:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 265f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 16:30:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ahmad Khalifa From: Colin Percival Subject: git: 6a3966f363d3 - releng/15.1 - vt_core: don't draw the splash if a panic occurred List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 6a3966f363d3c6d1e84205e93a50d5746570976b Auto-Submitted: auto-generated Date: Wed, 06 May 2026 16:30:32 +0000 Message-Id: <69fb6ca8.265f6.2ee37480@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6a3966f363d3c6d1e84205e93a50d5746570976b commit 6a3966f363d3c6d1e84205e93a50d5746570976b Author: Ahmad Khalifa AuthorDate: 2026-05-03 13:18:38 +0000 Commit: Colin Percival CommitDate: 2026-05-06 16:29:54 +0000 vt_core: don't draw the splash if a panic occurred The shutdown splash draws over all the useful info if ddb(4) is disabled. Don't draw the splash screen if we're rebooting because of a panic. Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit bc83f414583ccaf337ef3b7c019df7727d6a3aae) (cherry picked from commit 3aabec5c8c6a74a4e50640b399a825d9f7adca9a) --- sys/dev/vt/vt_core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 2015d982a560..8360f0b80fb5 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1682,6 +1682,9 @@ vtterm_splash(struct vt_device *vd) uintptr_t image; vt_axis_t top, left; + if (KERNEL_PANICKED()) + return; + if ((vd->vd_flags & VDF_TEXTMODE) != 0 || (boothowto & RB_MUTE) == 0) return; From nobody Wed May 6 22:50:00 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9rDt0r9Hz6cy33 for ; Wed, 06 May 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 4g9rDt078Rz3FF5 for ; Wed, 06 May 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=1778107806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rRRer2h2q7G66iQE5AAWs7P8NPvMywglvkmqW+dICGk=; b=vhQrc5ffKu+FoOVpbFxk2HbP0K+4iLXBXYBVAsux0U1VxlcmuyvkS7L6lchoF4DJxwBhCu rfzMBAMeA7oEHf3vZ5u86njEIvgDAUwDDUn9+J+q5ye/esT88fcn7hJKO5BGSBXfzVabbI /iJNB7N2hgNBeSP0L78L4qojA10VEvKkJEdyox/I14dxyTN2hfetjBbUrhpE1en+oDZY/q H3L9Rs+wK+fViHMHVhuN8065QloSipKIKxeXWalmWAf4FhdYAuavjZVFXBC+T86w1xH6Gg bpeAwV6VCHjM1hXscezHq5gx4yRQaXnL9Z6xHWpO1HlFJawzk5Lm360H8yxdyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778107806; a=rsa-sha256; cv=none; b=IcpqFeJ2lfpnFi0/PTIkyDyYgG+ld0Y6yY9JOFtg132MmS60ulFhIqHFwsGx1RbmFnF9Lr lnFrJfIgrwzNT3r/6Q442J+Q/zHViQZAgDRejppnao/rdhgHPeYilsIM4jz5RCfEYzZHI9 WjHL8M+BvwBcmYmTwhvh+80M46hdPowuDTCeVsu2DjD8UFVz75Dm6boKfYSFNHhD9FxrmW VPsJvu7QU2c4DWfXYkAD0wI+64QJl22AXyPQEMFvz2iBLBTLfd3Mwry1Aa89buHVoPhPKg ktdmCyWOd2a+1H59o09iazYMObI3mPZHH95CogpABpgnzn4RLV8rplP47sMpqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778107806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rRRer2h2q7G66iQE5AAWs7P8NPvMywglvkmqW+dICGk=; b=eNcMmwN6USfWk+VkstLP53F9IKEk0IsktZ0IFSRP5roZ/dpS240RM1io30SnSx4PL+S5lT 8qp1UHKH3uTOJEe/nUKqtsJaePCaqp3r7QknlToZyA03HNKudCj3NeAW4ojEv6U+NhNF93 jEUSMXWx9cWW5TlhGrc5+DEhG6qgVUtS+r6T0XqjXfze6Y6OPXJV7TSAbUEvV3PIA3SC66 7oMWFi1f9GWEwFS/n865G8dxGuuFW1Pcf5cLiLXrl6lZIIOkE+dquOpcoT8rDWyIznOe2k bY/wPs8Y/aYvpD3tff+rLg2RT0PajVK2sO3OExWyU8Unk+JP9tZvFHVmzEpfCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9rDs6jSXz102N for ; Wed, 06 May 2026 22:50:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37704 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 22:50:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Siva Mahadevan From: Enji Cooper Subject: git: 1c4f255bae84 - stable/15 - tests/if_lagg_test: unskip 'witness' testcase List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 1c4f255bae842ab43baf6f635367a50b34876835 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 22:50:00 +0000 Message-Id: <69fbc598.37704.3f9cba05@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=1c4f255bae842ab43baf6f635367a50b34876835 commit 1c4f255bae842ab43baf6f635367a50b34876835 Author: Siva Mahadevan AuthorDate: 2025-07-15 16:45:24 +0000 Commit: Enji Cooper CommitDate: 2026-05-06 22:49:50 +0000 tests/if_lagg_test: unskip 'witness' testcase This testcase passes consistently (in 100+ runs) now. Signed-off-by: Siva Mahadevan PR: 244163, 251726 MFC after: 3 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 7a83fedc116d827cc9c6d8e049b785f1d7b68dcd) --- tests/sys/net/if_lagg_test.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/sys/net/if_lagg_test.sh b/tests/sys/net/if_lagg_test.sh index e2b998599991..992cdd1ebc0d 100755 --- a/tests/sys/net/if_lagg_test.sh +++ b/tests/sys/net/if_lagg_test.sh @@ -392,9 +392,6 @@ witness_head() } witness_body() { - if [ "$(atf_config_get ci false)" = "true" ]; then - atf_skip "https://bugs.freebsd.org/244163 and https://bugs.freebsd.org/251726" - fi if [ `sysctl -n debug.witness.watch` -ne 1 ]; then atf_skip "witness(4) is not enabled" fi From nobody Wed May 6 22:52:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9rHk27BRz6cySb for ; Wed, 06 May 2026 22:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9rHk18V0z3GMp for ; Wed, 06 May 2026 22:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778107954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ah20SZJJHCRuD5lgvLtmTFNH/ToKe3qnknt1qdmV/20=; b=NxTPqcGpjLz97U6hnRoSxCtIvLohiSB8pmCi0to/fsSczs2hEY3vKkUf+VWMZwstOEJiM8 xqcdCxnWfnZAbfKRaxBohS0TTblRsoQ5UC7tYUhH4rIpF7iKTyAqFBkYCqcZc4rTdI99Sv mRnrqOidVNS5b7mDW5/xAMialJQ438sa9npv1qe3tblYSjQuIIZk4gYT7UmnZgK+DWhovk gALsDOqSBOpLBz7xft0hppgoNMMUlHUfFpRP3CyeAxol+d5fosBthTEtJn1kcHJqCoYQcC 8AT2ffx8qG+WIV1StjB1w2jtwTml7RATo1g710AD9DgOOoe2sZnFw72bw+T/5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778107954; a=rsa-sha256; cv=none; b=O76JvNuWZBuzOxiws/QoQt7zIRWtxkgUE+5OjYoQ8wdwKp47Kd2VtAPERhATvR7Txyk8Y6 J+aOZ16Gt88uPRDBtP49KdHNAyzXj5mmdScH+TZzonHhMAZFYYKuy+Wi0Q4HlWAEr2bQhx vaQ8jeoRVgobIx49KnO/j9pxUZ7f6oyFes+sRxReIYVPcbLq/rhbwXZWUuMD1f7LmDGwPP BUPkItb8IHvG47xvFQfDSmANtjZ1khrhL8AnIHeM8P96oKZX/EhEic9J30I0mlqsw87wIs l8bD3SXIC5r1TcelJn7O278QhbB7tps6FQJ0bb5a1jvaEjF0pexdYvDC5r/4rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778107954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ah20SZJJHCRuD5lgvLtmTFNH/ToKe3qnknt1qdmV/20=; b=EAr041PcTIhr/1Vzwl0YdxvUr/gck+4cxy6HrW0qM00tjy3gO8B7Td6e8fIW4jwcnMR6wC VNExd5YrfEc+4ZHTEKtRyVTf4EMm9UG8J7fZu7lrRJbawFrw5VcKLq7t+/Oa/qMUGLB+ia 3rAxiQLJEcaWa+cIayNy4YYjlQ0wd+VM32FGeHizuykH4Z5iskTclfXCHDyHqH7+sdS7Lv Ui8YFw8tCHfEEd8adRZOKlu0UTYH4MDLDbT/b1gc1o8JqqB2Z32H9v0yg9AXExLLCn/2M7 fvaqc+DMg0DTsy/aac2+Yw5Z5ZVfBX3G+kOM9ON7ZSC/M3ZwE8dt3CUrSVqcMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9rHk0hhmz10Gr for ; Wed, 06 May 2026 22:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37e5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 06 May 2026 22:52:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Siva Mahadevan From: Enji Cooper Subject: git: 18626fad5f48 - stable/15 - Unskip test sys.netinet6.frag6.frag6_07.frag6_07 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 18626fad5f48efb9ccd22e4a06d49c0776a4c898 Auto-Submitted: auto-generated Date: Wed, 06 May 2026 22:52:34 +0000 Message-Id: <69fbc632.37e5e.39b9863b@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=18626fad5f48efb9ccd22e4a06d49c0776a4c898 commit 18626fad5f48efb9ccd22e4a06d49c0776a4c898 Author: Siva Mahadevan AuthorDate: 2025-07-15 16:45:24 +0000 Commit: Enji Cooper CommitDate: 2026-05-06 22:52:25 +0000 Unskip test sys.netinet6.frag6.frag6_07.frag6_07 This is now consistently passing with 100+ consecutive runs. Signed-off-by: Siva Mahadevan PR: 244170 MFC after: 3 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 681e9d3e391f30a512c523514f69a63c9782a901) --- tests/sys/netinet6/frag6/frag6_07.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/sys/netinet6/frag6/frag6_07.sh b/tests/sys/netinet6/frag6/frag6_07.sh index 09c82102b9b0..6189314013fd 100755 --- a/tests/sys/netinet6/frag6/frag6_07.sh +++ b/tests/sys/netinet6/frag6/frag6_07.sh @@ -218,9 +218,6 @@ frag6_07_head() { } frag6_07_body() { - if [ "$(atf_config_get ci false)" = "true" ]; then - atf_skip "https://bugs.freebsd.org/244170" - fi frag6_body 7 frag6_07_check_stats } From nobody Thu May 7 03:52:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9yxS1Qtwz6dN9y for ; Thu, 07 May 2026 03:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g9yxS1F0dz3mf5 for ; Thu, 07 May 2026 03:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778125932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5CwLy6U6uxWcXJEPtiTxlxbI3N68dcqhE+Ip5N46u90=; b=SBUHuH5jK5KUOr0So5+kKoNn6MnuWNn6Naaj6yjX1VyxccsOYnxmzMsQio78zs0G1dvUFZ xQ8ihkpwk3AnQ4ltD3W2vQH5ZwNuKZlGZW4Nx5bjY2QyLJYnSiuVKu31h24AqZfxbMdqfv oquIzFy6xq92THqoQTdBV0uHUqxq2cH6caoCULT0yKIlb4zVtWUvmdcEXBAe/m/OcDy905 hMu5Qh8BqASwC9bgTXW6+5DL80Y0AhPb6njy65VNR60WBtEt8p2RTUtzvuqMLPsTlbw4Qu HEO24PptD1y98IrUBwZ92MYI6Pmq1aGWTd4qxDT8LAG5n0swtmjWnutKnP3+mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778125932; a=rsa-sha256; cv=none; b=RQ6ZabY77qoBMfKxP6TU9Be1dYla1UwTAi9co0uxiBqJRYt18jNyn/MEoZ6EiEPm2rQ5Gh At0z0g3pFYtJzqsuJGhIJTX80HGQFRY93gFlfCUodHCYBH/54zwB72cagM3sO4YQ+UzFoZ 5E8Igc1R0vqaPz+N3hMMD5jVuOplHe6+E8lCPyIJ3UWs4o5EvFPKy7/L3EXcpS0Sx1lX7P f8rZIhtnGv4dMDCPoiFohwBH6OlZ2x9/D2Z8VfqHiU5JXQptHOK/mQYO/AdM2UM8nalWYO NoZr31TUUGq5hLz/fvQ8onFP/zFfdDqED1fhhhnA15ZXQtYwB1/te95QFjd0IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778125932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5CwLy6U6uxWcXJEPtiTxlxbI3N68dcqhE+Ip5N46u90=; b=mJtV5efZqT5eR+kCjkoJhue5Qo8sQO9zO3xLPVc5zBE/DYCcY/GKyYDoRnGdEVckO/4XL+ DwvL690/8i5t6WAlT3Yszx51/C5hqyJkAMWwdQu+TdgYSCo4mE5g94DQcRxOmRxtkPHaGb +Lnp4bZX85kyetdU3B3a9dzQR75swMD2albjBLuNOJvOr3zbK2TAXI4AkyJx2udnE0nBGa +hWMbKicrGYbnUc1O6j1sHlw+YpF8LDqvjYLCPdDsLw5ThKWFH/2fYKbLdu9xG26U7WJZP 4dMxgFFYvV7xi/9HHsVbuO3AzeqEpwX002FxKYuF/jYB0bXZVINSYNlTyFxgyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9yxS0hZdz185V for ; Thu, 07 May 2026 03:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27362 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 03:52:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 423b0bc492d5 - stable/15 - MFV less v691 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 423b0bc492d5264ee518c6569d3c90ee0efb338c Auto-Submitted: auto-generated Date: Thu, 07 May 2026 03:52:12 +0000 Message-Id: <69fc0c6c.27362.38b8a96b@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=423b0bc492d5264ee518c6569d3c90ee0efb338c commit 423b0bc492d5264ee518c6569d3c90ee0efb338c Author: Xin LI AuthorDate: 2026-05-07 03:51:51 +0000 Commit: Xin LI CommitDate: 2026-05-07 03:51:51 +0000 MFV less v691 Relnotes: yes (cherry picked from commit dafba19e42e78cd3d7c9264ece49ddd3d7d70da5) MFV: less v692. (cherry picked from commit e2abec625bf07c054f7ac2df2402d6c454113df8) --- contrib/less/LICENSE | 2 +- contrib/less/NEWS | 83 +++ contrib/less/README | 60 +- contrib/less/brac.c | 2 +- contrib/less/ch.c | 14 +- contrib/less/charset.c | 31 +- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 26 +- contrib/less/cmdbuf.c | 138 ++-- contrib/less/command.c | 87 +-- contrib/less/compose.uni | 14 +- contrib/less/cvt.c | 2 +- contrib/less/decode.c | 107 ++- contrib/less/edit.c | 16 +- contrib/less/evar.c | 2 +- contrib/less/filename.c | 20 +- contrib/less/fmt.uni | 2 +- contrib/less/forwback.c | 37 +- contrib/less/funcs.h | 75 ++- contrib/less/help.c | 9 +- contrib/less/ifile.c | 12 +- contrib/less/input.c | 3 +- contrib/less/jump.c | 18 +- contrib/less/lang.h | 5 +- contrib/less/less.h | 19 +- contrib/less/less.hlp | 7 +- contrib/less/less.nro | 1495 ++++++++++++++++++++++++++++-------------- contrib/less/lessecho.c | 2 +- contrib/less/lessecho.nro | 37 +- contrib/less/lesskey.c | 2 +- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 389 +++++++---- contrib/less/lesskey_parse.c | 37 +- contrib/less/lglob.h | 2 +- contrib/less/line.c | 39 +- contrib/less/linenum.c | 2 +- contrib/less/lsystem.c | 22 +- contrib/less/main.c | 55 +- contrib/less/mark.c | 154 +++-- contrib/less/omit.uni | 2 +- contrib/less/optfunc.c | 132 ++-- contrib/less/option.c | 134 ++-- contrib/less/option.h | 3 +- contrib/less/opttbl.c | 11 +- contrib/less/os.c | 65 +- contrib/less/output.c | 38 +- contrib/less/pattern.c | 2 +- contrib/less/pattern.h | 2 +- contrib/less/pckeys.h | 45 +- contrib/less/position.c | 16 +- contrib/less/position.h | 2 +- contrib/less/prompt.c | 38 +- contrib/less/screen.c | 527 ++++++++++----- contrib/less/scrsize.c | 2 +- contrib/less/search.c | 23 +- contrib/less/signal.c | 30 +- contrib/less/tags.c | 9 +- contrib/less/ttyin.c | 6 +- contrib/less/ubin.uni | 2 +- contrib/less/version.c | 21 +- contrib/less/wide.uni | 23 +- contrib/less/xbuf.c | 12 +- contrib/less/xbuf.h | 11 +- usr.bin/less/defines.h | 116 ++-- 64 files changed, 2852 insertions(+), 1451 deletions(-) diff --git a/contrib/less/LICENSE b/contrib/less/LICENSE index b9b72a3d088b..313cebd4f66f 100644 --- a/contrib/less/LICENSE +++ b/contrib/less/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2025 Mark Nudelman +Copyright (C) 1984-2026 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/contrib/less/NEWS b/contrib/less/NEWS index 442fe21e406a..0f767aaeb059 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -9,6 +9,89 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 691 and 692 + +* Revert HOME key to scroll to beginning of file and END key + to scroll to end of file (github #658). + +* Configure tty to leave CR and NL unmodified (github #703). + +* Add commands to lesskey parser (forw-bell-hilite, goto-pos and osc8-jump). + +* Add key sequences to lesskey parser (\kE, \kF, \kH, \kI, \kM, and \kS). + +* Fix bug using negative value with -z option (github #709). + +* Fix bug handling empty terminfo capabilties (github #710). + +* Fix memory leak in setupterm (github #707). + +* Make lesstest ignore system locale (nl_langinfo) (github #708). + +====================================================================== + + Major changes between "less" versions 685 and 691 + +* Add --autosave option (github #678). + +* Add ESC-f command (github #680). + +* Add column number to long prompt and = message. + +* Add prompt prototype sequences %C, %W, %Q and ?Q (github #685). + +* Map keypad keys, and use terminfo rather than termcap since keypad + definitions don't exist in termcap (github #650). + +* Change HOME key to scroll fully left and END key to scroll fully right. + Add shift-HOME and ctrl-HOME to scroll left and jump to top, and + add shift-END and ctrl-END to scroll right and jump to end (github #658). + +* Add LESSNOCONFIG environment variable. + +* Add --without-termlib to configure (github #701). + +* When setting line number colors (-DN), don't force bold attribute. + To set bold, you must append "d" or "*" to the color string (github #684). + +* While waiting for file data, only ^C or ^X will interrupt, not any command. + This reverts to behavior that existed before less-670 (github #700). + +* When --save-marks is not used, retain any marks saved in the history file + (github #662). + +* Defer sending the terminal init string until the first char is read + from the input file (github #682). + +* Make SIGHUP do an orderly exit like SIGTERM. + +* Implement modeline handling in Windows build. + +* Fix bugs and improve behavior of screen resize on Windows. + +* Fix bug when entering search modifier key at start of non-empty + search string (github #668). + +* Fix bug repainting screen with --form-feed (github #672). + +* Fix bugs passing invalid negative values to some command line + options (github #675). + +* Fix incorrect display of Lit indicator (github #670). + +* Fix incorrect display when returning to a mark after resizeing window + (github #681). + +* Fix bug using --pattern with --incsearch (github #696). + +* Disallow mouse click to open OSC8 link in SECURE mode (github #676). + +* Add SECURE_COMPILE environment variable for Windows builds. + +* Update Unicode tables. + ====================================================================== Major changes between "less" versions 679 and 685 diff --git a/contrib/less/README b/contrib/less/README index 4bfdc5e5a67f..a6954eb67c1e 100644 --- a/contrib/less/README +++ b/contrib/less/README @@ -84,7 +84,7 @@ INSTALLATION (Unix & Linux systems only): Makefile now. Take particular notice of the list of "terminal" libraries in the LIBS definition in the Makefile; these may need to be edited. The terminal libraries will be some subset of - -lncurses -lcurses -ltermcap -ltermlib + -ltinfo -ltinfow -lxcurses -lncursesw -lncurses -lcurses -ltermcap -ltermlib If you wish, you may edit defines.h to remove some optional features. If you choose not to include some features in your version, you may @@ -117,6 +117,29 @@ programmers", not "persons who attempt to circumvent computer security".) +======================================================================= +INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only, + with Microsoft Visual C++, mingw, or Borland C) + +1. Move the distributed source to its own directory. + +2. If you wish, you may edit defines.wn to remove some optional features. + If you choose not to include some features in your version, you may + wish to edit the manual page less.man and the help page help.c + to remove the descriptions of the features which you are removing. + +3. If you are using Microsoft Visual C++, run "nmake -f Makefile.wnm". + If you are using mingw, run "make -f Makefile.wng". + If you are using Borland C, run "make -f Makefile.wnb". + + If the environment variable SECURE_COMPILE is to 1 during the make, + a "secure" version of less is built, with some features disabled. + +4. If the make succeeds, it will generate the programs "less.exe" and + "lesskey.exe" in your current directory. Test the generated programs. + + + ======================================================================= INSTALLATION (MS-DOS systems only, with Microsoft C, Borland C, or DJGPP) @@ -156,34 +179,6 @@ INSTALLATION (MS-DOS systems only, -======================================================================= -INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only, - with Borland C or Microsoft Visual C++) - -1. Move the distributed source to its own directory. - -2. If you are using Borland C, rename Makefile.wnb to Makefile. - If you are using Microsoft Visual C++, rename Makefile.wnm to Makefile. - -3. Check the Makefile to make sure the definitions look ok. - -4. If you wish, you may edit defines.wn to remove some optional features. - If you choose not to include some features in your version, you may - wish to edit the manual page less.man and the help page help.c - to remove the descriptions of the features which you are removing. - -5. Type "make" and watch the fun. - -6. If the make succeeds, it will generate the programs "less.exe" and - "lesskey.exe" in your current directory. Test the generated programs. - -7. When satisfied that it works, if you wish to install it - in a public place, type "make install". - See step 6 of the Unix installation instructions for details - on how to change the default installation directories. - - - ======================================================================= INSTALLATION (OS/2 systems only, with EMX C) @@ -245,10 +240,3 @@ INSTALLATION (OS-9 systems only, See step 6 of the Unix installation instructions for details on how to change the default installation directories. -======================================================================= -ACKNOWLEDGMENTS: - Some versions of the less distribution are packaged using - Info-ZIP's compression utility. - Info-ZIP's software is free and can be obtained as source - code or executables from various anonymous-ftp sites, - including ftp.uu.net:/pub/archiving/zip. diff --git a/contrib/less/brac.c b/contrib/less/brac.c index 36f31d0316f4..b3b74e07d18a 100644 --- a/contrib/less/brac.c +++ b/contrib/less/brac.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/ch.c b/contrib/less/ch.c index fb7572e7f88a..47d31ecffadd 100644 --- a/contrib/less/ch.c +++ b/contrib/less/ch.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -22,7 +22,7 @@ typedef POSITION BLOCKNUM; -public int ignore_eoi; +public lbool ignore_eoi = FALSE; /* * Pool of buffers holding the most recently used blocks of the input file. @@ -883,13 +883,13 @@ public void ch_init(int f, int flags, ssize_t nread) */ ch_fsize = (flags & CH_HELPFILE) ? size_helpdata : filesize(ch_file); - /* - * This is a kludge to workaround a Linux kernel bug: files in some - * pseudo filesystems like /proc and tracefs have a size of 0 according - * to fstat() but have readable data. - */ if (ch_fsize == 0 && nread > 0) { + /* + * This is a kludge to workaround a Linux kernel bug: files in some + * pseudo filesystems like /proc and tracefs have a size of 0 according + * to fstat() but have readable data. + */ ch_flags |= CH_NOTRUSTSIZE; } diff --git a/contrib/less/charset.c b/contrib/less/charset.c index 0f62739bc88d..74159404148b 100644 --- a/contrib/less/charset.c +++ b/contrib/less/charset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -202,20 +202,20 @@ static void ichardef_utf(constant char *s) switch (*s++) { case 'b': - xbuf_add_data(&user_ubin_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_ubin_array, &range, sizeof(range)); break; case 'c': - xbuf_add_data(&user_compose_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_compose_array, &range, sizeof(range)); break; case 'd': - xbuf_add_data(&user_omit_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_omit_array, &range, sizeof(range)); break; case 'w': - xbuf_add_data(&user_wide_array, (unsigned char *) &range, sizeof(range)); - xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_wide_array, &range, sizeof(range)); + xbuf_add_data(&user_prt_array, &range, sizeof(range)); break; case 'p': case '.': - xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_prt_array, &range, sizeof(range)); break; case '\0': s--; @@ -429,13 +429,21 @@ static void set_charset(void) /* * Try using the codeset name as the charset name. */ - s = nl_langinfo(CODESET); - if (icharset(s, 1)) - return; +#if LESSTEST + /* + * Don't check nl_langinfo in lesstest mode; charset should come + * only from environment variables, not from the system locale. + */ + if (0) /* {{ unfortunately it's too early to use is_lesstest }} */ +#endif + { + s = nl_langinfo(CODESET); + if (icharset(s, 1)) + return; + } #endif #endif -#if HAVE_STRSTR /* * Check whether LC_ALL, LC_CTYPE or LANG look like UTF-8 is used. */ @@ -448,7 +456,6 @@ static void set_charset(void) if (icharset("utf-8", 1)) return; } -#endif #if HAVE_LOCALE /* diff --git a/contrib/less/charset.h b/contrib/less/charset.h index 4acf494b4ed5..cf2e02547cb5 100644 --- a/contrib/less/charset.h +++ b/contrib/less/charset.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/cmd.h b/contrib/less/cmd.h index 07c57b111aee..945f99719d0c 100644 --- a/contrib/less/cmd.h +++ b/contrib/less/cmd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -86,6 +86,7 @@ #define A_OSC8_JUMP 74 #define A_START_PASTE 75 /* must not overlap EC_* */ #define A_END_PASTE 76 /* must not overlap EC_* */ +#define A_F_FOREVER_BELL 77 /* These values must not conflict with any A_* or EC_* value. */ #define A_INVALID 100 @@ -155,4 +156,27 @@ #define SK_BACKTAB 15 #define SK_CTL_BACKSPACE 16 #define SK_BACKSPACE 17 +#define SK_PAD_U 18 +#define SK_PAD_D 19 +#define SK_PAD_R 20 +#define SK_PAD_L 21 +#define SK_PAD_UR 22 +#define SK_PAD_UL 23 +#define SK_PAD_DR 24 +#define SK_PAD_DL 25 +#define SK_PAD_CENTER 26 +#define SK_PAD_STAR 27 +#define SK_PAD_SLASH 28 +#define SK_PAD_DASH 29 +#define SK_PAD_PLUS 30 +#define SK_PAD_DOT 31 +#define SK_PAD_COMMA 32 +#define SK_PAD_ZERO 33 +#define SK_SHIFT_HOME 34 +#define SK_SHIFT_END 35 +#define SK_CTL_HOME 36 +#define SK_CTL_END 37 +#define SK_SHIFT_LEFT_ARROW 38 +#define SK_SHIFT_RIGHT_ARROW 39 + #define SK_CONTROL_K 40 diff --git a/contrib/less/cmdbuf.c b/contrib/less/cmdbuf.c index f2963cf4c9da..1c3b3d461ad9 100644 --- a/contrib/less/cmdbuf.c +++ b/contrib/less/cmdbuf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -23,7 +23,7 @@ extern int sc_width; extern int utf_mode; extern int no_hist_dups; -extern int marks_modified; +extern lbool marks_modified; extern int no_paste; public lbool pasting = FALSE; @@ -35,6 +35,9 @@ static int cmd_offset; /* Index into cmdbuf of first displayed char */ static lbool literal; /* Next input char should not be interpreted */ static size_t updown_match; /* Prefix length in up/down movement */ static lbool have_updown_match = FALSE; +#if LESS_INSERT_MODE +static lbool insert_mode = TRUE; +#endif static int cmd_complete(int action); /* @@ -189,7 +192,7 @@ public int len_cmdbuf(void) */ public lbool cmdbuf_empty(void) { - return cp == cmdbuf && cmd_mbc_buf_len == 0; + return cmdbuf[0] == '\0' && cmd_mbc_buf_len == 0; } /* @@ -454,39 +457,6 @@ static int cmd_left(void) return (CC_OK); } -/* - * Insert a char into the command buffer, at the current position. - */ -static int cmd_ichar(constant char *cs, size_t clen) -{ - char *s; - - if (strlen(cmdbuf) + clen >= sizeof(cmdbuf)-1) - { - /* No room in the command buffer for another char. */ - bell(); - return (CC_ERROR); - } - - /* - * Make room for the new character (shift the tail of the buffer right). - */ - for (s = &cmdbuf[strlen(cmdbuf)]; s >= cp; s--) - s[clen] = s[0]; - /* - * Insert the character into the buffer. - */ - for (s = cp; s < cp + clen; s++) - *s = *cs++; - /* - * Reprint the tail of the line from the inserted char. - */ - have_updown_match = FALSE; - cmd_repaint(cp); - cmd_right(); - return (CC_OK); -} - /* * Backspace in the command buffer. * Delete the char to the left of the cursor. @@ -502,7 +472,7 @@ static int cmd_erase(void) * Backspace past beginning of the buffer: * this usually means abort the command. */ - return (CC_QUIT); + return CC_QUIT; } /* * Move cursor left (to the char being erased). @@ -532,7 +502,7 @@ static int cmd_erase(void) * to abort the current command, if CF_QUIT_ON_ERASE is set. */ if ((curr_cmdflags & CF_QUIT_ON_ERASE) && cp == cmdbuf && *cp == '\0') - return (CC_QUIT); + return CC_QUIT; return (CC_OK); } @@ -554,6 +524,43 @@ static int cmd_delete(void) return (CC_OK); } +/* + * Insert a char into the command buffer, at the current position. + */ +static int cmd_ichar(constant char *cs, size_t clen) +{ + char *s; + + if (strlen(cmdbuf) + clen >= sizeof(cmdbuf)-1) + { + /* No room in the command buffer for another char. */ + lbell(); + return (CC_ERROR); + } + +#if LESS_INSERT_MODE + if (!insert_mode) + cmd_delete(); +#endif + /* + * Make room for the new character (shift the tail of the buffer right). + */ + for (s = &cmdbuf[strlen(cmdbuf)]; s >= cp; s--) + s[clen] = s[0]; + /* + * Insert the character into the buffer. + */ + for (s = cp; s < cp + clen; s++) + *s = *cs++; + /* + * Reprint the tail of the line from the inserted char. + */ + have_updown_match = FALSE; + cmd_repaint(cp); + cmd_right(); + return (CC_OK); +} + /* * Delete the "word" to the left of the cursor. */ @@ -612,7 +619,7 @@ static int cmd_kill(void) if (cmdbuf[0] == '\0') { /* Buffer is already empty; abort the current command. */ - return (CC_QUIT); + return CC_QUIT; } cmd_offset = 0; cmd_home(); @@ -625,7 +632,7 @@ static int cmd_kill(void) * to abort the current command, if CF_QUIT_ON_ERASE is set. */ if (curr_cmdflags & CF_QUIT_ON_ERASE) - return (CC_QUIT); + return CC_QUIT; return (CC_OK); } @@ -660,7 +667,7 @@ static int cmd_updown(int action) /* * The current command has no history list. */ - bell(); + lbell(); return (CC_OK); } @@ -705,7 +712,7 @@ static int cmd_updown(int action) /* * We didn't find a history entry that matches. */ - bell(); + lbell(); return (CC_OK); } @@ -796,6 +803,15 @@ public void cmd_addhist(struct mlist *mlist, constant char *cmd, lbool modified) * Thus, an UPARROW will always retrieve the previous command. */ mlist->curr_mp = ml->next; + if (modified) + { + if (mlist == &mlist_search && autosave_action('/')) + save_cmdhist(); +#if SHELL_ESCAPE || PIPEC + else if (mlist == &mlist_shell && autosave_action('!')) + save_cmdhist(); +#endif + } #endif } @@ -904,6 +920,9 @@ static int cmd_edit(char c, lbool stay_in_completion) return (CC_OK); case EC_INSERT: not_in_completion(); +#if LESS_INSERT_MODE + insert_mode = !insert_mode; +#endif return (CC_OK); case EC_BACKSPACE: not_in_completion(); @@ -914,7 +933,7 @@ static int cmd_edit(char c, lbool stay_in_completion) case EC_ABORT: not_in_completion(); (void) cmd_kill(); - return (CC_QUIT); + return CC_QUIT; case EC_W_BACKSPACE: not_in_completion(); return (cmd_werase()); @@ -950,17 +969,23 @@ static int cmd_istr(constant char *str) { constant char *endline = str + strlen(str); constant char *s; - int action; - + int action = CC_OK; +#if LESS_INSERT_MODE + lbool save_insert_mode = insert_mode; + insert_mode = TRUE; +#endif for (s = str; *s != '\0'; ) { constant char *os = s; step_charc(&s, +1, endline); action = cmd_ichar(os, ptr_diff(s, os)); if (action != CC_OK) - return (action); + break; } - return (CC_OK); +#if LESS_INSERT_MODE + insert_mode = save_insert_mode; +#endif + return (action); } /* @@ -1171,7 +1196,7 @@ static int cmd_complete(int action) #endif /* TAB_COMPLETE_FILENAME */ if (tk_text == NULL) { - bell(); + lbell(); return (CC_OK); } if (action == EC_EXPAND) @@ -1239,7 +1264,7 @@ static int cmd_complete(int action) fail: in_completion = FALSE; - bell(); + lbell(); return (CC_OK); } @@ -1281,7 +1306,7 @@ static int cmd_uchar(char c, size_t *plen) } else { /* UTF8_INVALID or stray UTF8_TRAIL */ - bell(); + lbell(); return (CC_ERROR); } } else if (IS_UTF8_TRAIL(c)) @@ -1293,14 +1318,14 @@ static int cmd_uchar(char c, size_t *plen) { /* complete, but not well formed (non-shortest form), sequence */ cmd_mbc_buf_len = 0; - bell(); + lbell(); return (CC_ERROR); } } else { /* Flush incomplete (truncated) sequence. */ cmd_mbc_buf_len = 0; - bell(); + lbell(); /* Handle new char. */ goto retry; } @@ -1388,7 +1413,6 @@ public LINENUM cmd_int(mutable long *frac) { constant char *p; LINENUM n = 0; - lbool err; for (p = cmdbuf; *p >= '0' && *p <= '9'; p++) { @@ -1401,8 +1425,8 @@ public LINENUM cmd_int(mutable long *frac) *frac = 0; if (*p++ == '.') { - *frac = getfraction(&p, NULL, &err); - /* {{ do something if err is set? }} */ + /* {{ Just ignore error in fractional part. }} */ + (void) getfraction(&p, frac); } return (n); } @@ -1447,7 +1471,7 @@ static int mlist_size(struct mlist *ml) static char * histfile_find(lbool must_exist) { constant char *home = lgetenv("HOME"); - char *name = NULL; + char *name; /* Try in $XDG_STATE_HOME, then in $HOME/.local/state, then in $XDG_DATA_HOME, then in $HOME. */ #if OS2 @@ -1738,7 +1762,7 @@ public void save_cmdhist(void) int skip_shell; struct save_ctx ctx; constant char *s; - FILE *fout = NULL; + FILE *fout; int histsize = 0; if (!secure_allow(SF_HISTORY) || !histfile_modified()) diff --git a/contrib/less/command.c b/contrib/less/command.c index 390385547385..1bb8d006f8ec 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -32,7 +32,7 @@ extern int jump_sline; extern lbool quitting; extern int wscroll; extern int top_scroll; -extern int ignore_eoi; +extern lbool ignore_eoi; extern int hshift; extern int bs_mode; extern int proc_backspace; @@ -49,7 +49,6 @@ extern void *ml_examine; extern int wheel_lines; extern int def_search_type; extern lbool search_wrapped; -extern lbool no_poll; extern int no_paste; extern lbool pasting; extern int no_edit_warn; @@ -154,7 +153,7 @@ static void start_mca(int action, constant char *prompt, void *mlist, int cmdfla set_mlist(mlist, cmdflags); } -public int in_mca(void) +public lbool in_mca(void) { return (mca != 0 && mca != A_PREFIX); } @@ -476,7 +475,7 @@ static int mca_opt_nonfirst_char(char c) } } else if (!ambig) { - bell(); + lbell(); } return (MCA_MORE); } @@ -575,7 +574,10 @@ static int mca_search_char(char c) */ if (!cmdbuf_empty() || literal_char) { + lbool was_literal_char = literal_char; literal_char = FALSE; + if (was_literal_char) + mca_search1(); return (NO_MCA); } @@ -639,6 +641,17 @@ static int mca_search_char(char c) return (NO_MCA); } +/* + * Jump back to the starting position of an incremental search. + */ +static void jump_search_incr_pos(void) +{ + if (search_incr_pos.pos == NULL_POSITION) + return; + hshift = search_incr_hshift; + jump_loc(search_incr_pos.pos, search_incr_pos.ln); +} + /* * Handle a character of a multi-character command. */ @@ -772,30 +785,21 @@ static int mca_char(char c) if (*pattern == '\0') { /* User has backspaced to an empty pattern. */ - undo_search(1); - hshift = search_incr_hshift; - jump_loc(search_incr_pos.pos, search_incr_pos.ln); + undo_search(TRUE); + jump_search_incr_pos(); } else { - /* - * Suppress tty polling while searching. - * This avoids a problem where tty input - * can cause the search to be interrupted. - */ - no_poll = TRUE; if (search(st | SRCH_INCR, pattern, 1) != 0) { /* No match, invalid pattern, etc. */ - undo_search(1); - hshift = search_incr_hshift; - jump_loc(search_incr_pos.pos, search_incr_pos.ln); + undo_search(TRUE); + jump_search_incr_pos(); } - no_poll = FALSE; } /* Redraw the search prompt and search string. */ if (is_screen_trashed() || !full_screen) { - clear(); + lclear(); repaint(); } mca_search1(); @@ -851,7 +855,7 @@ static void make_display(void) * We need to clear and repaint screen before any change. */ if (!full_screen && !(quit_if_one_screen && one_screen)) - clear(); + lclear(); /* * If nothing is displayed yet, display starting from initial_scrpos. */ @@ -864,9 +868,9 @@ static void make_display(void) } else if (is_screen_trashed() || !full_screen) { int save_top_scroll = top_scroll; - int save_ignore_eoi = ignore_eoi; + lbool save_ignore_eoi = ignore_eoi; top_scroll = 1; - ignore_eoi = 0; + ignore_eoi = FALSE; if (is_screen_trashed() == 2) { /* Special case used by ignore_eoi: re-open the input file @@ -1304,29 +1308,31 @@ static void multi_search(constant char *pattern, int n, int silent) /* * Forward forever, or until a highlighted line appears. */ -static int forw_loop(int until_hilite) +static int forw_loop(int action) { - POSITION curr_len; + POSITION prev_hilite; if (ch_getflags() & CH_HELPFILE) return (A_NOACTION); cmd_exec(); jump_forw_buffered(); - curr_len = ch_length(); - highest_hilite = until_hilite ? curr_len : NULL_POSITION; - ignore_eoi = 1; + highest_hilite = prev_hilite = 0; + ignore_eoi = TRUE; while (!sigs) { - if (until_hilite && highest_hilite > curr_len) + if (action != A_F_FOREVER && highest_hilite > prev_hilite) { - bell(); - break; + lbell(); + if (action == A_F_UNTIL_HILITE) + break; + prev_hilite = highest_hilite; } make_display(); forward(1, FALSE, FALSE, FALSE); } - ignore_eoi = 0; + highest_hilite = NULL_POSITION; + ignore_eoi = FALSE; ch_set_eof(); /* @@ -1334,7 +1340,7 @@ static int forw_loop(int until_hilite) * a non-abort signal (e.g. window-change). */ if (sigs && !ABORT_SIGS()) - return (until_hilite ? A_F_UNTIL_HILITE : A_F_FOREVER); + return (action); return (A_NOACTION); } @@ -1401,7 +1407,6 @@ public void commands(void) #endif search_type = SRCH_FORW; - wscroll = (sc_height + 1) / 2; newaction = A_NOACTION; for (;;) @@ -1507,7 +1512,9 @@ public void commands(void) * want erase_char/kill_char to be treated * as line editing characters. */ - constant char tbuf[2] = { c, '\0' }; + char tbuf[2]; + tbuf[0] = c; + tbuf[1] = '\0'; action = fcmd_decode(tbuf, &extra); } /* @@ -1664,6 +1671,8 @@ public void commands(void) break; *** 8504 LINES SKIPPED *** From nobody Thu May 7 04:24:55 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9zgJ4n7Hz6dQhV for ; Thu, 07 May 2026 04:25: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 4g9zgJ3dhCz3r4P for ; Thu, 07 May 2026 04:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778127900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TDVRShZR2TMIG3xx08RgD0cERDjE5LEV9nflsyWPnLc=; b=EoaCwVVN820L0TSQHr65L89NAPkDPpm+R2SFZdWyAqBvXMjpxErOKm/RkaU4/hnmYGjScQ ibS8RYj4gtOFDH9iPlICzhF4RXouVljfBgHHyI4attzKmGYfXoOcXUQaLHdZL+xnzaZGxD eir7yicc8JQbTxyKLHBFJw8NF4a8g7hQZobQV5yUoknqEFqlg0PPXZH2aFnnNADMduVcUL s7fCCE9a8EPBgB9x4V1VDuqPlYi1PH6tePkHhzY3jflJpo6ulmo7+eaZ1puzMmMWXN8Ahh LZ3opfi3M7p3C049q4pf/Ub8Ut6hFsz8GpZ4O4LFYmWXc/QxDyl8lXk4w5Ujng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778127900; a=rsa-sha256; cv=none; b=VOSzaqikt0KXunGCX1Jjd31YNoLcS1enqcTCjBvqiKX0+vxQPHbMo8+1CtYG7yOJoyn/MA ay0/1+Hs2Ou7d0KGv24ex+279Ux3E0MwogM69F1LUaLok9U/w+zoOMkweob2OXdTluhRCj NAspF6uXtgw8Y5SSoc2y5EDtFyLV9fY57fpOW+bPeZJmgjWB+68CuGJESYFBmyfRnpm7fC 0xA7TiwK5YU+HonKt67ccp6wfgwER/7Z0O02iK0iy4s2jBpX8hOWU1wcOzEViOhviLLn++ Mennvl6aH/6KKbOrEekEjg2FYg+1OTwGIwILcvD24FpHea5XQC9RJ9s6RtAF+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778127900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TDVRShZR2TMIG3xx08RgD0cERDjE5LEV9nflsyWPnLc=; b=N8zowNRx7p/3nzqtyYoODMpPD36SLhki8D6eM/xn2epGr/thrH8neUHWnB3Y0CugRDbADG /+xXrwbqN/E0Phkv5V03Cp4OQJMILuQ60fT8uAdBagwRzTZuz74Gm+UzRIeCk9DyfHLUR2 WyXjOgr39KdTprFDUAbjBHkqnbCngTyRQOXsdffNhFX+xR1j2XobA/dYR9+E1eORvJ28Mx 7xEyjAnPKtwNq6y/ZKF2VzOBrUzxUt0+KE3P3TFr6rPVtPj3wt7M80jSES/5Xdas/5TsOT c/u1QhveBZQ4gJMNOo4BfpTgPoLxzPfw7McnTFfJQPl7pKq8oQ1iSUbShV8UBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9zgJ3D3vz18fP for ; Thu, 07 May 2026 04:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30b55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 04:24:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michal Meloun From: Xin LI Subject: git: 5169e95b7596 - stable/15 - arm64: Define the .iplt section placement. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 5169e95b7596b5a96cb50dee69ee8c20445a9a9e Auto-Submitted: auto-generated Date: Thu, 07 May 2026 04:24:55 +0000 Message-Id: <69fc1417.30b55.3861ece@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=5169e95b7596b5a96cb50dee69ee8c20445a9a9e commit 5169e95b7596b5a96cb50dee69ee8c20445a9a9e Author: Michal Meloun AuthorDate: 2026-04-15 09:32:54 +0000 Commit: Xin LI CommitDate: 2026-05-07 04:24:25 +0000 arm64: Define the .iplt section placement. Ensure that the .plt and .ipld sections are in the executable memory segment. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D56403 (cherry picked from commit 1dddb580f950a27fb9859b2879755dde114c9d8b) --- sys/conf/ldscript.arm64 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/conf/ldscript.arm64 b/sys/conf/ldscript.arm64 index ae231c3037e6..7ec0d4324270 100644 --- a/sys/conf/ldscript.arm64 +++ b/sys/conf/ldscript.arm64 @@ -15,6 +15,12 @@ SECTIONS *(.gnu.warning) *(.gnu.linkonce.t*) } =0x9090 + .plt : + { + *(.plt) + *(.iplt) + } + /* * Align to the the largest page size the kernel could be built for. * If we don't then building page tables in locore.S could fail as it @@ -66,7 +72,6 @@ SECTIONS .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { *(.init) } =0x9090 - .plt : { *(.plt) } . = ALIGN(4); _extab_start = .; From nobody Thu May 7 04:29:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g9zmY1xGKz6dQw0 for ; Thu, 07 May 2026 04:29: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 4g9zmY1M8pz3rch for ; Thu, 07 May 2026 04:29:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778128173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ieesO0uO3WRrM0rhoX8iRV7h0YcSiPdSCSFz0p6EQJk=; b=vSG8vsXIV9BN1utaxZlZzWBDZsQEajyCuBrFhUj5sQdOSp4xe3M3tgdhKWX/PzVQIkWZBQ 16kAvICn4WKQEW0kHCGVPUfXmBVWP1FxTqwafWQrM1TUnDACt1YPvtz01cFQXhTeX2zyjY HD6P2qVAA++jf8Diic7wzmaasHc3MDZ25wl2vj9YVvihf3EDHp5d0WA/cChm18ryDjFuOH XVHu0E3uOyU+rLpBhnGr34+Jnx4mBy1w2RcpZDOuDrGnvTrpE9o6iL6qI99iBgqpo50WlG poQpTvY4lpsTQ3OTKhTwJMp+odN14UqbMyR0AToBimlRdDmFYm9vp+r8yE6XXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778128173; a=rsa-sha256; cv=none; b=WOk/SATgjOcsa4Icy5VhAvz72/BCEjoCiOl1shTcTEBMCdM4glHcDz5ehUgt5FZALuXmUa NO37kW2JjGTF2loD7yzs2yBpFo7qv0kTzmJ/kxwnJH3PEsW/Wx1s/tyuIjiSK6N2DL+ZdY sYmTqxWNDGtVZJZzd1dvziIMJNOoTRtzl2+4sYydUrE9rTPHtIML/yscU+Lp10w60/A4e/ 2F6TXxdHZF/5fBxIhUacIJHaw5uj57EYw1Cnt3LKxC1DpM2T1jGl1k2TY4IgUXgiUwuIvV wKylP/IOjh7biBzWh3zsw6SHEVqYWQ/rku31utxq5New03DSVi6iJV3oWWAcCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778128173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ieesO0uO3WRrM0rhoX8iRV7h0YcSiPdSCSFz0p6EQJk=; b=dIWq+pFS8k9hZBpVsDDLhSleR9ck4be9Y+AJ4CqLTZEek3fO3SBA7cw8t7liOB+El7zvGt IPuYBqIlF2OHhXWMSDRAaD2u9ZW7p4aOz27ISN8b3cqkEH4WwNRHdyv+3srqcQcK5KIksQ 2taaxeFt9O65LPrYopz1gvSeVzsWsdsSsi3nRqeBuPbTFW3dcM8EQPdOSiQAL4S1WZwUla W5R5mdAtb1Bx4fgC2ONyMsXuwuV4x9KiKPFPw+aOkDbqScgmy2UlAELeTm/4FUq0hkT0h6 1ODjDes8aSxjUexZyke9x7pawddRChEPOPmRkOTJOqK6eLseXzcDqiUmiCUsbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g9zmY0yKqz18fR for ; Thu, 07 May 2026 04:29:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3122d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 04:29:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: ff426ceef657 - stable/15 - MFV: zstd 1.5.7. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: ff426ceef657d7c478471e631349c5d1a8b96453 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 04:29:32 +0000 Message-Id: <69fc152c.3122d.2612d63b@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=ff426ceef657d7c478471e631349c5d1a8b96453 commit ff426ceef657d7c478471e631349c5d1a8b96453 Author: Xin LI AuthorDate: 2026-05-07 04:29:03 +0000 Commit: Xin LI CommitDate: 2026-05-07 04:29:03 +0000 MFV: zstd 1.5.7. MFC after: 2 weeks Relnotes: yes (cherry picked from commit c0d9a07101a1e72769ee0619a583f63a078fb391) (cherry picked from commit 7c9418613a31571e4eceda55a417f7183d26acb5) (cherry picked from commit 111a42d7d78a88ba6ff7b5d61b0867faccc00276) --- lib/libzstd/Makefile | 4 + sys/conf/files | 1 + sys/contrib/zstd/.buckconfig | 9 - sys/contrib/zstd/.buckversion | 1 - sys/contrib/zstd/CHANGELOG | 148 +- sys/contrib/zstd/CONTRIBUTING.md | 489 --- sys/contrib/zstd/FREEBSD-Xlist | 11 +- sys/contrib/zstd/LICENSE | 8 +- sys/contrib/zstd/Makefile | 439 --- sys/contrib/zstd/README.md | 96 +- sys/contrib/zstd/SECURITY.md | 15 + sys/contrib/zstd/TESTING.md | 43 - sys/contrib/zstd/appveyor.yml | 205 -- sys/contrib/zstd/doc/README.md | 25 - sys/contrib/zstd/doc/educational_decoder/Makefile | 62 - sys/contrib/zstd/doc/educational_decoder/README.md | 36 - sys/contrib/zstd/doc/educational_decoder/harness.c | 119 - .../zstd/doc/educational_decoder/zstd_decompress.c | 2320 ------------- .../zstd/doc/educational_decoder/zstd_decompress.h | 61 - sys/contrib/zstd/doc/images/CSpeed2.png | Bin 73335 -> 0 bytes sys/contrib/zstd/doc/images/DCspeed5.png | Bin 69278 -> 0 bytes sys/contrib/zstd/doc/images/DSpeed3.png | Bin 27123 -> 0 bytes sys/contrib/zstd/doc/images/cdict_v136.png | Bin 33330 -> 0 bytes sys/contrib/zstd/doc/images/dict-cr.png | Bin 90412 -> 0 bytes sys/contrib/zstd/doc/images/dict-cs.png | Bin 91518 -> 0 bytes sys/contrib/zstd/doc/images/dict-ds.png | Bin 98316 -> 0 bytes sys/contrib/zstd/doc/images/zstd_cdict_v1_3_5.png | Bin 93969 -> 0 bytes sys/contrib/zstd/doc/images/zstd_logo86.png | Bin 5963 -> 0 bytes sys/contrib/zstd/doc/zstd_compression_format.md | 1692 ---------- sys/contrib/zstd/doc/zstd_manual.html | 1908 ----------- sys/contrib/zstd/examples/Makefile | 93 - sys/contrib/zstd/examples/README.md | 46 - sys/contrib/zstd/examples/common.h | 234 -- sys/contrib/zstd/examples/dictionary_compression.c | 97 - .../zstd/examples/dictionary_decompression.c | 99 - .../zstd/examples/multiple_simple_compression.c | 116 - .../zstd/examples/multiple_streaming_compression.c | 133 - sys/contrib/zstd/examples/simple_compression.c | 68 - sys/contrib/zstd/examples/simple_decompression.c | 65 - sys/contrib/zstd/examples/streaming_compression.c | 140 - .../examples/streaming_compression_thread_pool.c | 180 -- .../zstd/examples/streaming_decompression.c | 100 - sys/contrib/zstd/examples/streaming_memory_usage.c | 137 - sys/contrib/zstd/lib/BUCK | 232 -- sys/contrib/zstd/lib/Makefile | 357 -- sys/contrib/zstd/lib/README.md | 35 +- sys/contrib/zstd/lib/common/allocations.h | 55 + sys/contrib/zstd/lib/common/bits.h | 205 ++ sys/contrib/zstd/lib/common/bitstream.h | 192 +- sys/contrib/zstd/lib/common/compiler.h | 211 +- sys/contrib/zstd/lib/common/cpu.h | 38 +- sys/contrib/zstd/lib/common/debug.c | 8 +- sys/contrib/zstd/lib/common/debug.h | 42 +- sys/contrib/zstd/lib/common/entropy_common.c | 52 +- sys/contrib/zstd/lib/common/error_private.c | 12 +- sys/contrib/zstd/lib/common/error_private.h | 93 +- sys/contrib/zstd/lib/common/fse.h | 108 +- sys/contrib/zstd/lib/common/fse_decompress.c | 144 +- sys/contrib/zstd/lib/common/huf.h | 245 +- sys/contrib/zstd/lib/common/mem.h | 112 +- sys/contrib/zstd/lib/common/pool.c | 38 +- sys/contrib/zstd/lib/common/pool.h | 19 +- sys/contrib/zstd/lib/common/portability_macros.h | 56 +- sys/contrib/zstd/lib/common/threading.c | 88 +- sys/contrib/zstd/lib/common/threading.h | 23 +- sys/contrib/zstd/lib/common/xxhash.c | 16 +- sys/contrib/zstd/lib/common/xxhash.h | 3417 ++++++++++++++------ sys/contrib/zstd/lib/common/zstd_common.c | 37 +- sys/contrib/zstd/lib/common/zstd_deps.h | 14 +- sys/contrib/zstd/lib/common/zstd_internal.h | 195 +- sys/contrib/zstd/lib/common/zstd_trace.h | 19 +- sys/contrib/zstd/lib/compress/clevels.h | 2 +- sys/contrib/zstd/lib/compress/fse_compress.c | 146 +- sys/contrib/zstd/lib/compress/hist.c | 12 +- sys/contrib/zstd/lib/compress/hist.h | 9 +- sys/contrib/zstd/lib/compress/huf_compress.c | 472 +-- sys/contrib/zstd/lib/compress/zstd_compress.c | 3322 +++++++++++++------ .../zstd/lib/compress/zstd_compress_internal.h | 671 ++-- .../zstd/lib/compress/zstd_compress_literals.c | 156 +- .../zstd/lib/compress/zstd_compress_literals.h | 24 +- .../zstd/lib/compress/zstd_compress_sequences.c | 20 +- .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- .../zstd/lib/compress/zstd_compress_superblock.c | 393 ++- .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- sys/contrib/zstd/lib/compress/zstd_cwksp.h | 279 +- sys/contrib/zstd/lib/compress/zstd_double_fast.c | 244 +- sys/contrib/zstd/lib/compress/zstd_double_fast.h | 32 +- sys/contrib/zstd/lib/compress/zstd_fast.c | 704 ++-- sys/contrib/zstd/lib/compress/zstd_fast.h | 21 +- sys/contrib/zstd/lib/compress/zstd_lazy.c | 1063 +++--- sys/contrib/zstd/lib/compress/zstd_lazy.h | 198 +- sys/contrib/zstd/lib/compress/zstd_ldm.c | 101 +- sys/contrib/zstd/lib/compress/zstd_ldm.h | 22 +- sys/contrib/zstd/lib/compress/zstd_ldm_geartab.h | 2 +- sys/contrib/zstd/lib/compress/zstd_opt.c | 570 ++-- sys/contrib/zstd/lib/compress/zstd_opt.h | 58 +- sys/contrib/zstd/lib/compress/zstd_preSplit.c | 238 ++ sys/contrib/zstd/lib/compress/zstd_preSplit.h | 33 + sys/contrib/zstd/lib/compress/zstdmt_compress.c | 414 ++- sys/contrib/zstd/lib/compress/zstdmt_compress.h | 21 +- sys/contrib/zstd/lib/decompress/huf_decompress.c | 1031 +++--- .../zstd/lib/decompress/huf_decompress_amd64.S | 139 +- sys/contrib/zstd/lib/decompress/zstd_ddict.c | 8 +- sys/contrib/zstd/lib/decompress/zstd_ddict.h | 2 +- sys/contrib/zstd/lib/decompress/zstd_decompress.c | 410 ++- .../zstd/lib/decompress/zstd_decompress_block.c | 723 +++-- .../zstd/lib/decompress/zstd_decompress_block.h | 9 +- .../zstd/lib/decompress/zstd_decompress_internal.h | 18 +- sys/contrib/zstd/lib/deprecated/zbuff.h | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_common.c | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_compress.c | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_decompress.c | 4 +- sys/contrib/zstd/lib/dictBuilder/cover.c | 141 +- sys/contrib/zstd/lib/dictBuilder/cover.h | 12 +- sys/contrib/zstd/lib/dictBuilder/divsufsort.h | 10 - sys/contrib/zstd/lib/dictBuilder/fastcover.c | 8 +- sys/contrib/zstd/lib/dictBuilder/zdict.c | 125 +- sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.h | 6 + sys/contrib/zstd/lib/legacy/zstd_legacy.h | 39 +- sys/contrib/zstd/lib/legacy/zstd_v01.c | 69 +- sys/contrib/zstd/lib/legacy/zstd_v01.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v02.c | 107 +- sys/contrib/zstd/lib/legacy/zstd_v02.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v03.c | 111 +- sys/contrib/zstd/lib/legacy/zstd_v03.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v04.c | 99 +- sys/contrib/zstd/lib/legacy/zstd_v04.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v05.c | 107 +- sys/contrib/zstd/lib/legacy/zstd_v05.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v06.c | 132 +- sys/contrib/zstd/lib/legacy/zstd_v06.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v07.c | 117 +- sys/contrib/zstd/lib/legacy/zstd_v07.h | 2 +- sys/contrib/zstd/lib/libzstd.mk | 98 +- sys/contrib/zstd/lib/libzstd.pc.in | 10 +- sys/contrib/zstd/lib/module.modulemap | 16 +- sys/contrib/zstd/lib/zdict.h | 101 +- sys/contrib/zstd/lib/zstd.h | 1157 +++++-- sys/contrib/zstd/lib/zstd_errors.h | 44 +- sys/contrib/zstd/programs/BUCK | 44 - sys/contrib/zstd/programs/Makefile | 435 --- sys/contrib/zstd/programs/README.md | 191 +- sys/contrib/zstd/programs/benchfn.c | 12 +- sys/contrib/zstd/programs/benchfn.h | 14 +- sys/contrib/zstd/programs/benchzstd.c | 1287 +++++--- sys/contrib/zstd/programs/benchzstd.h | 80 +- sys/contrib/zstd/programs/datagen.c | 2 +- sys/contrib/zstd/programs/datagen.h | 10 +- sys/contrib/zstd/programs/dibio.c | 33 +- sys/contrib/zstd/programs/dibio.h | 2 +- sys/contrib/zstd/programs/fileio.c | 1887 ++++++----- sys/contrib/zstd/programs/fileio.h | 35 +- sys/contrib/zstd/programs/fileio_asyncio.c | 663 ++++ sys/contrib/zstd/programs/fileio_asyncio.h | 195 ++ sys/contrib/zstd/programs/fileio_common.h | 121 + sys/contrib/zstd/programs/fileio_types.h | 86 + sys/contrib/zstd/programs/lorem.c | 285 ++ sys/contrib/zstd/programs/lorem.h | 32 + sys/contrib/zstd/programs/platform.h | 46 +- sys/contrib/zstd/programs/timefn.c | 139 +- sys/contrib/zstd/programs/timefn.h | 70 +- sys/contrib/zstd/programs/util.c | 408 ++- sys/contrib/zstd/programs/util.h | 66 +- sys/contrib/zstd/programs/zstd.1 | 489 ++- sys/contrib/zstd/programs/zstd.1.md | 598 ++-- sys/contrib/zstd/programs/zstdcli.c | 648 ++-- sys/contrib/zstd/programs/zstdcli_trace.c | 2 +- sys/contrib/zstd/programs/zstdcli_trace.h | 2 +- sys/contrib/zstd/programs/zstdgrep.1 | 10 +- sys/contrib/zstd/programs/zstdgrep.1.md | 10 +- sys/contrib/zstd/programs/zstdless | 8 +- sys/contrib/zstd/programs/zstdless.1 | 6 +- sys/contrib/zstd/programs/zstdless.1.md | 6 +- sys/contrib/zstd/zlibWrapper/BUCK | 22 - sys/contrib/zstd/zlibWrapper/Makefile | 119 - sys/contrib/zstd/zlibWrapper/README.md | 4 +- sys/contrib/zstd/zlibWrapper/examples/example.c | 629 ---- .../zstd/zlibWrapper/examples/example_original.c | 618 ---- sys/contrib/zstd/zlibWrapper/examples/fitblk.c | 254 -- .../zstd/zlibWrapper/examples/fitblk_original.c | 233 -- sys/contrib/zstd/zlibWrapper/examples/minigzip.c | 640 ---- sys/contrib/zstd/zlibWrapper/examples/zwrapbench.c | 1016 ------ sys/contrib/zstd/zlibWrapper/gzclose.c | 6 +- sys/contrib/zstd/zlibWrapper/gzcompatibility.h | 16 +- sys/contrib/zstd/zlibWrapper/gzguts.h | 20 +- sys/contrib/zstd/zlibWrapper/gzlib.c | 99 +- sys/contrib/zstd/zlibWrapper/gzread.c | 95 +- sys/contrib/zstd/zlibWrapper/gzwrite.c | 89 +- sys/contrib/zstd/zlibWrapper/zstd_zlibwrapper.c | 90 +- sys/contrib/zstd/zlibWrapper/zstd_zlibwrapper.h | 15 +- usr.bin/zstd/Makefile | 2 + 191 files changed, 17754 insertions(+), 23515 deletions(-) diff --git a/lib/libzstd/Makefile b/lib/libzstd/Makefile index 4a1557a14517..82e9d2a5b243 100644 --- a/lib/libzstd/Makefile +++ b/lib/libzstd/Makefile @@ -15,6 +15,7 @@ SRCS= entropy_common.c \ zstd_compress_literals.c \ zstd_compress_sequences.c \ zstd_compress_superblock.c \ + zstd_preSplit.c \ zstdmt_compress.c \ huf_decompress.c \ zstd_ddict.c \ @@ -54,6 +55,9 @@ ZSTDDIR= ${SRCTOP}/sys/contrib/zstd .include +# These symbols are needed by dll-linked CLI zstd(1). +CFLAGS.pool.c+= -fvisibility=default + CFLAGS.huf_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} # https://github.com/facebook/zstd/commit/812e8f2a [zstd 1.4.1] diff --git a/sys/conf/files b/sys/conf/files index 9d6488a415cb..7f925bfc3f23 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -651,6 +651,7 @@ contrib/zstd/lib/compress/zstd_compress.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_literals.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_sequences.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_superblock.c optional zstdio compile-with "${ZSTD_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/zstd/lib/compress/zstd_preSplit.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/fse_compress.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/hist.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/huf_compress.c optional zstdio compile-with ${ZSTD_C} diff --git a/sys/contrib/zstd/.buckconfig b/sys/contrib/zstd/.buckconfig deleted file mode 100644 index 483f6053b265..000000000000 --- a/sys/contrib/zstd/.buckconfig +++ /dev/null @@ -1,9 +0,0 @@ -[cxx] - cppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=4 - cflags = -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith - cxxppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=4 - cxxflags = -std=c++11 -Wno-deprecated-declarations - gtest_dep = //contrib/pzstd:gtest - -[httpserver] - port = 0 diff --git a/sys/contrib/zstd/.buckversion b/sys/contrib/zstd/.buckversion deleted file mode 100644 index 892fad966fce..000000000000 --- a/sys/contrib/zstd/.buckversion +++ /dev/null @@ -1 +0,0 @@ -c8dec2e8da52d483f6dd7c6cd2ad694e8e6fed2b diff --git a/sys/contrib/zstd/CHANGELOG b/sys/contrib/zstd/CHANGELOG index 4e0045b950c9..92df0f462ee0 100644 --- a/sys/contrib/zstd/CHANGELOG +++ b/sys/contrib/zstd/CHANGELOG @@ -1,3 +1,145 @@ +V1.5.7 (Feb 2025) +fix: compression bug in 32-bit mode associated with long-lasting sessions +api: new method `ZSTD_compressSequencesAndLiterals()` (#4217, #4232) +api: `ZSTD_getFrameHeader()` works on skippable frames (#4228) +perf: substantial compression speed improvements (up to +30%) on small data, by @TocarIP (#4144) and @cyan4973 (#4165) +perf: improved compression speed (~+5%) for dictionary compression at low levels (#4170) +perf: much faster speed for `--patch-from` at high compression levels (#4276) +perf: higher `--patch-from` compression ratios, notably at high levels (#4288) +perf: better speed for binaries on Windows (@pps83) and when compiled with Visual Studio (@MessyHack) +perf: slight compression ratio improvement thanks to better block boundaries (#4136, #4176, #4178) +perf: slight compression ratio improvement for `dfast`, aka levels 3 and 4 (#4171) +perf: runtime bmi2 detection enabled on x86 32-bit mode (#4251) +cli: multi-threading as default CLI setting, by @daniellerozenblit +cli: new `--max` command (#4290) +build: improve `msbuild` version autodetection, support VS2022, by @ManuelBlanc +build: fix `meson` build by @artem and @Victor-C-Zhang, and on Windows by @bgilbert +build: compatibility with Apple Framework, by @Treata11 +build: improve icc/icx compatibility, by @josepho0918 and @luau-project +build: improve compatibility with Android NDK, by Adenilson Cavalcanti +portability: linux kernel branch, with improved support for Sequence producers (@embg, @gcabiddu, @cyan4973) +portability: improved qnx compatibility, suggested by @rainbowball +portability: improved install script for FreeBSD, by @sunpoet +portability: fixed test suite compatibility with gnu hurd, by @diegonc +doc: clarify specification, by @elasota +misc: improved tests/decodecorpus validation tool (#4102), by antmicro + +V1.5.6 (Mar 2024) +api: Promote `ZSTD_c_targetCBlockSize` to Stable API by @felixhandte +api: new `ZSTD_d_maxBlockSize` experimental parameter, to reduce streaming decompression memory, by @terrelln +perf: improve performance of param `ZSTD_c_targetCBlockSize`, by @Cyan4973 +perf: improved compression of arrays of integers at high compression, by @Cyan4973 +lib: reduce binary size with selective build-time exclusion, by @felixhandte +lib: improved huffman speed on small data and linux kernel, by @terrelln +lib: accept dictionaries with partial literal tables, by @terrelln +lib: fix CCtx size estimation with external sequence producer, by @embg +lib: fix corner case decoder behaviors, by @Cyan4973 and @aimuz +lib: fix zdict prototype mismatch in static_only mode, by @ldv-alt +lib: fix several bugs in magicless-format decoding, by @embg +cli: add common compressed file types to `--exclude-compressed`` by @daniellerozenblit +cli: fix mixing `-c` and `-o` commands with `--rm`, by @Cyan4973 +cli: fix erroneous exclusion of hidden files with `--output-dir-mirror` by @felixhandte +cli: improved time accuracy on BSD, by @felixhandte +cli: better errors on argument parsing, by @KapJI +tests: better compatibility with older versions of `grep`, by @Cyan4973 +tests: lorem ipsum generator as default backup content, by @Cyan4973 +build: cmake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis +build: bazel support, by @jondo2010 +build: fix cross-compiling for AArch64 with lld by @jcelerier +build: fix Apple platform compatibility, by @nidhijaju +build: fix Visual 2012 and lower compatibility, by @Cyan4973 +build: improve win32 support, by @DimitriPapadopoulos +build: better C90 compliance for zlibWrapper, by @emaste +port: make: fat binaries on macos, by @mredig +port: ARM64EC compatibility for Windows, by @dunhor +port: QNX support by @klausholstjacobsen +port: MSYS2 and Cygwin makefile installation and test support, by @QBos07 +port: risc-v support validation in CI, by @Cyan4973 +port: sparc64 support validation in CI, by @Cyan4973 +port: AIX compatibility, by @likema +port: HP-UX compatibility, by @likema +doc: Improved specification accuracy, by @elasota +bug: Fix and deprecate ZSTD_generateSequences (#3981) + +v1.5.5 (Apr 2023) +fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln) +perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln) +lib: deprecated bufferless block-level API (#3534) by @terrelln +cli: mmap large dictionaries to save memory, by @daniellerozenblit +cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit +cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte +cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte +cli: fix decompression into block device using -o, reported by @georgmu (#3583) +build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71 +build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou +build: fix MSVC+ClangCL linking issue (#3569) by @tru +build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko +build: fix MSVC warnings (#3495) by @embg +doc: updated zstd specification to clarify corner cases, by @Cyan4973 +doc: document how to create fat binaries for macos (#3568) by @rickmark +misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973 +misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt + +v1.5.4 (Feb 2023) +perf: +20% faster huffman decompression for targets that can't compile x64 assembly (#3449, @terrelln) +perf: up to +10% faster streaming compression at levels 1-2 (#3114, @embg) +perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln) +pref: +3-11% compression speed for `arm` target (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1) +perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg) +perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg) +perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte) +perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit) +perf: small speed improvement by better detecting `STATIC_BMI2` for `clang` (#3080, @TocarIP) +perf: Improved streaming performance when `ZSTD_c_stableInBuffer` is set (#2974, @Cyan4973) +cli: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko) +cli: Change `zstdless` behavior to align with `zless` (#2909, @binhdvo) +cli: Keep original file if `-c` or `--stdout` is given (#3052, @dirkmueller) +cli: Keep original files when result is concatenated into a single output with `-o` (#3450, @Cyan4973) +cli: Preserve Permissions and Ownership of regular files (#3432, @felixhandte) +cli: Print zlib/lz4/lzma library versions with `-vv` (#3030, @terrelln) +cli: Print checksum value for single frame files with `-lv` (#3332, @Cyan4973) +cli: Print `dictID` when present with `-lv` (#3184, @htnhan) +cli: when `stderr` is *not* the console, disable status updates, but preserve final summary (#3458, @Cyan4973) +cli: support `--best` and `--no-name` in `gzip` compatibility mode (#3059, @dirkmueller) +cli: support for `posix` high resolution timer `clock_gettime()`, for improved benchmark accuracy (#3423, @Cyan4973) +cli: improved help/usage (`-h`, `-H`) formatting (#3094, @dirkmueller and #3385, @jonpalmisc) +cli: Fix better handling of bogus numeric values (#3268, @ctkhanhly) +cli: Fix input consists of multiple files _and_ `stdin` (#3222, @yoniko) +cli: Fix tiny files passthrough (#3215, @cgbur) +cli: Fix for `-r` on empty directory (#3027, @brailovich) +cli: Fix empty string as argument for `--output-dir-*` (#3220, @embg) +cli: Fix decompression memory usage reported by `-vv --long` (#3042, @u1f35c, and #3232, @zengyijing) +cli: Fix infinite loop when empty input is passed to trainer (#3081, @terrelln) +cli: Fix `--adapt` doesn't work when `--no-progress` is also set (#3354, @terrelln) +api: Support for Block-Level Sequence Producer (#3333, @embg) +api: Support for in-place decompression (#3432, @terrelln) +api: New `ZSTD_CCtx_setCParams()` function, set all parameters defined in a `ZSTD_compressionParameters` structure (#3403, @Cyan4973) +api: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973) +api: Window size resizing optimization for edge case (#3345, @daniellerozenblit) +api: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973) +api: Fix limit overflow in `compressBound` and `decompressBound` (#3362, #3373, Cyan4973) reported by @nigeltao +api: Deprecate several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu) +bug: Fix corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln) +bug: Fix for block-splitter (#3033, @Cyan4973) +bug: Fixes for Sequence Compression API (#3023, #3040, @Cyan4973) +bug: Fix leaking thread handles on Windows (#3147, @animalize) +bug: Fix timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973) +build: Allow user to select legacy level for cmake (#3050, @shadchin) +build: Enable legacy support by default in cmake (#3079, @niamster) +build: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb) +build: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos) +build: support AIX architecture (#3219, @qiongsiwu) +build: Fix `ZSTD_LIB_MINIFY` build macro, which now reduces static library size by half (#3366, @terrelln) +build: Fix Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden) +build: Fix `cmake` script (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973) +doc: Updated man page, providing more details for `--train` mode (#3112, @Cyan4973) +doc: Add decompressor errata document (#3092, @terrelln) +misc: Enable Intel CET (#2992, #2994, @hjl-tools) +misc: Fix `contrib/` seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit) +misc: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden) + +v1.5.3 (dev version, unpublished) + v1.5.2 (Jan, 2022) perf: Regain Minimal memset()-ing During Reuse of Compression Contexts (@Cyan4973, #2969) build: Build Zstd with `noexecstack` on All Architectures (@felixhandte, #2964) @@ -19,7 +161,7 @@ build: support for m68k (Motorola 68000's), by @cyan4973 build: improved AIX support, by @Helflym build: improved meson unofficial build, by @eli-schwartz cli : custom memory limit when training dictionary (#2925), by @embg -cli : report advanced parameters information when compressing in very verbose mode (``-vv`), by @Svetlitski-FB +cli : report advanced parameters information when compressing in very verbose mode (`-vv`), by @Svetlitski-FB v1.5.0 (May 11, 2021) api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42) @@ -86,7 +228,7 @@ api: Add Function to Generate Skippable Frame (#2439, @senhuang42) perf: New Algorithms for the Long Distance Matcher (#2483, @mpu) perf: Performance Improvements for Long Distance Matcher (#2464, @mpu) perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln) -cli: Fix `--output-dir-mirror`'s Rejection of `..`-Containing Paths (#2512, @felixhandte) +cli: Fix `--output-dir-mirror` rejection of `..` -containing paths (#2512, @felixhandte) cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte) cli: Improve Help Message (#2500, @senhuang42) tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973) @@ -373,7 +515,7 @@ misc: added /contrib/docker script by @gyscos v1.3.3 (Dec 21, 2017) perf: faster zstd_opt strategy (levels 16-19) -fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen +fix : bug #944 : multithreading with shared dictionary and large data, reported by @gsliepen cli : fix : content size written in header by default cli : fix : improved LZ4 format support, by @felixhandte cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file diff --git a/sys/contrib/zstd/CONTRIBUTING.md b/sys/contrib/zstd/CONTRIBUTING.md deleted file mode 100644 index e7e545129e51..000000000000 --- a/sys/contrib/zstd/CONTRIBUTING.md +++ /dev/null @@ -1,489 +0,0 @@ -# Contributing to Zstandard -We want to make contributing to this project as easy and transparent as -possible. - -## Our Development Process -New versions are being developed in the "dev" branch, -or in their own feature branch. -When they are deemed ready for a release, they are merged into "release". - -As a consequences, all contributions must stage first through "dev" -or their own feature branch. - -## Pull Requests -We actively welcome your pull requests. - -1. Fork the repo and create your branch from `dev`. -2. If you've added code that should be tested, add tests. -3. If you've changed APIs, update the documentation. -4. Ensure the test suite passes. -5. Make sure your code lints. -6. If you haven't already, complete the Contributor License Agreement ("CLA"). - -## Contributor License Agreement ("CLA") -In order to accept your pull request, we need you to submit a CLA. You only need -to do this once to work on any of Facebook's open source projects. - -Complete your CLA here: - -## Workflow -Zstd uses a branch-based workflow for making changes to the codebase. Typically, zstd -will use a new branch per sizable topic. For smaller changes, it is okay to lump multiple -related changes into a branch. - -Our contribution process works in three main stages: -1. Local development - * Update: - * Checkout your fork of zstd if you have not already - ``` - git checkout https://github.com//zstd - cd zstd - ``` - * Update your local dev branch - ``` - git pull https://github.com/facebook/zstd dev - git push origin dev - ``` - * Topic and development: - * Make a new branch on your fork about the topic you're developing for - ``` - # branch names should be concise but sufficiently informative - git checkout -b - git push origin - ``` - * Make commits and push - ``` - # make some changes = - git add -u && git commit -m - git push origin - ``` - * Note: run local tests to ensure that your changes didn't break existing functionality - * Quick check - ``` - make shortest - ``` - * Longer check - ``` - make test - ``` -2. Code Review and CI tests - * Ensure CI tests pass: - * Before sharing anything to the community, create a pull request in your own fork against the dev branch - and make sure that all GitHub Actions CI tests pass. See the Continuous Integration section below for more information. - * Ensure that static analysis passes on your development machine. See the Static Analysis section - below to see how to do this. - * Create a pull request: - * When you are ready to share you changes to the community, create a pull request from your branch - to facebook:dev. You can do this very easily by clicking 'Create Pull Request' on your fork's home - page. - * From there, select the branch where you made changes as your source branch and facebook:dev - as the destination. - * Examine the diff presented between the two branches to make sure there is nothing unexpected. - * Write a good pull request description: - * While there is no strict template that our contributors follow, we would like them to - sufficiently summarize and motivate the changes they are proposing. We recommend all pull requests, - at least indirectly, address the following points. - * Is this pull request important and why? - * Is it addressing an issue? If so, what issue? (provide links for convenience please) - * Is this a new feature? If so, why is it useful and/or necessary? - * Are there background references and documents that reviewers should be aware of to properly assess this change? - * Note: make sure to point out any design and architectural decisions that you made and the rationale behind them. - * Note: if you have been working with a specific user and would like them to review your work, make sure you mention them using (@) - * Submit the pull request and iterate with feedback. -3. Merge and Release - * Getting approval: - * You will have to iterate on your changes with feedback from other collaborators to reach a point - where your pull request can be safely merged. - * To avoid too many comments on style and convention, make sure that you have a - look at our style section below before creating a pull request. - * Eventually, someone from the zstd team will approve your pull request and not long after merge it into - the dev branch. - * Housekeeping: - * Most PRs are linked with one or more Github issues. If this is the case for your PR, make sure - the corresponding issue is mentioned. If your change 'fixes' or completely addresses the - issue at hand, then please indicate this by requesting that an issue be closed by commenting. - * Just because your changes have been merged does not mean the topic or larger issue is complete. Remember - that the change must make it to an official zstd release for it to be meaningful. We recommend - that contributors track the activity on their pull request and corresponding issue(s) page(s) until - their change makes it to the next release of zstd. Users will often discover bugs in your code or - suggest ways to refine and improve your initial changes even after the pull request is merged. - -## Static Analysis -Static analysis is a process for examining the correctness or validity of a program without actually -executing it. It usually helps us find many simple bugs. Zstd uses clang's `scan-build` tool for -static analysis. You can install it by following the instructions for your OS on https://clang-analyzer.llvm.org/scan-build. - -Once installed, you can ensure that our static analysis tests pass on your local development machine -by running: -``` -make staticAnalyze -``` - -In general, you can use `scan-build` to static analyze any build script. For example, to static analyze -just `contrib/largeNbDicts` and nothing else, you can run: - -``` -scan-build make -C contrib/largeNbDicts largeNbDicts -``` - -### Pitfalls of static analysis -`scan-build` is part of our regular CI suite. Other static analyzers are not. - -It can be useful to look at additional static analyzers once in a while (and we do), but it's not a good idea to multiply the nb of analyzers run continuously at each commit and PR. The reasons are : - -- Static analyzers are full of false positive. The signal to noise ratio is actually pretty low. -- A good CI policy is "zero-warning tolerance". That means that all issues must be solved, including false positives. This quickly becomes a tedious workload. -- Multiple static analyzers will feature multiple kind of false positives, sometimes applying to the same code but in different ways leading to : - + torteous code, trying to please multiple constraints, hurting readability and therefore maintenance. Sometimes, such complexity introduce other more subtle bugs, that are just out of scope of the analyzers. - + sometimes, these constraints are mutually exclusive : if one try to solve one, the other static analyzer will complain, they can't be both happy at the same time. -- As if that was not enough, the list of false positives change with each version. It's hard enough to follow one static analyzer, but multiple ones with their own update agenda, this quickly becomes a massive velocity reducer. - -This is different from running a static analyzer once in a while, looking at the output, and __cherry picking__ a few warnings that seem helpful, either because they detected a genuine risk of bug, or because it helps expressing the code in a way which is more readable or more difficult to misuse. These kind of reports can be useful, and are accepted. - -## Continuous Integration -CI tests run every time a pull request (PR) is created or updated. The exact tests -that get run will depend on the destination branch you specify. Some tests take -longer to run than others. Currently, our CI is set up to run a short -series of tests when creating a PR to the dev branch and a longer series of tests -when creating a PR to the release branch. You can look in the configuration files -of the respective CI platform for more information on what gets run when. - -Most people will just want to create a PR with the destination set to their local dev -branch of zstd. You can then find the status of the tests on the PR's page. You can also -re-run tests and cancel running tests from the PR page or from the respective CI's dashboard. - -Almost all of zstd's CI runs on GitHub Actions (configured at `.github/workflows`), which will automatically run on PRs to your -own fork. A small number of tests run on other services (e.g. Travis CI, Circle CI, Appveyor). -These require work to set up on your local fork, and (at least for Travis CI) cost money. -Therefore, if the PR on your local fork passes GitHub Actions, feel free to submit a PR -against the main repo. - -### Third-party CI -A small number of tests cannot run on GitHub Actions, or have yet to be migrated. -For these, we use a variety of third-party services (listed below). It is not necessary to set -these up on your fork in order to contribute to zstd; however, we do link to instructions for those -who want earlier signal. - -| Service | Purpose | Setup Links | Config Path | -|-----------|------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------| -| Travis CI | Used for testing on non-x86 architectures such as PowerPC | https://docs.travis-ci.com/user/tutorial/#to-get-started-with-travis-ci-using-github
    https://github.com/marketplace/travis-ci | `.travis.yml` | -| AppVeyor | Used for some Windows testing (e.g. cygwin, mingw) | https://www.appveyor.com/blog/2018/10/02/github-apps-integration/
    https://github.com/marketplace/appveyor | `appveyor.yml` | -| Cirrus CI | Used for testing on FreeBSD | https://github.com/marketplace/cirrus-ci/ | `.cirrus.yml` | -| Circle CI | Historically was used to provide faster signal,
    but we may be able to migrate these to Github Actions | https://circleci.com/docs/2.0/getting-started/#setting-up-circleci
    https://youtu.be/Js3hMUsSZ2c
    https://circleci.com/docs/2.0/enable-checks/ | `.circleci/config.yml` | - -Note: the instructions linked above mostly cover how to set up a repository with CI from scratch. -The general idea should be the same for setting up CI on your fork of zstd, but you may have to -follow slightly different steps. In particular, please ignore any instructions related to setting up -config files (since zstd already has configs for each of these services). - -## Performance -Performance is extremely important for zstd and we only merge pull requests whose performance -landscape and corresponding trade-offs have been adequately analyzed, reproduced, and presented. -This high bar for performance means that every PR which has the potential to -impact performance takes a very long time for us to properly review. That being said, we -always welcome contributions to improve performance (or worsen performance for the trade-off of -something else). Please keep the following in mind before submitting a performance related PR: - -1. Zstd isn't as old as gzip but it has been around for time now and its evolution is -very well documented via past Github issues and pull requests. It may be the case that your -particular performance optimization has already been considered in the past. Please take some -time to search through old issues and pull requests using keywords specific to your -would-be PR. Of course, just because a topic has already been discussed (and perhaps rejected -on some grounds) in the past, doesn't mean it isn't worth bringing up again. But even in that case, -it will be helpful for you to have context from that topic's history before contributing. -2. The distinction between noise and actual performance gains can unfortunately be very subtle -especially when microbenchmarking extremely small wins or losses. The only remedy to getting -something subtle merged is extensive benchmarking. You will be doing us a great favor if you -take the time to run extensive, long-duration, and potentially cross-(os, platform, process, etc) -benchmarks on your end before submitting a PR. Of course, you will not be able to benchmark -your changes on every single processor and os out there (and neither will we) but do that best -you can:) We've adding some things to think about when benchmarking below in the Benchmarking -Performance section which might be helpful for you. -3. Optimizing performance for a certain OS, processor vendor, compiler, or network system is a perfectly -legitimate thing to do as long as it does not harm the overall performance health of Zstd. -This is a hard balance to strike but please keep in mind other aspects of Zstd when -submitting changes that are clang-specific, windows-specific, etc. - -## Benchmarking Performance -Performance microbenchmarking is a tricky subject but also essential for Zstd. We value empirical -testing over theoretical speculation. This guide it not perfect but for most scenarios, it -is a good place to start. - -### Stability -Unfortunately, the most important aspect in being able to benchmark reliably is to have a stable -benchmarking machine. A virtual machine, a machine with shared resources, or your laptop -will typically not be stable enough to obtain reliable benchmark results. If you can get your -hands on a desktop, this is usually a better scenario. - -Of course, benchmarking can be done on non-hyper-stable machines as well. You will just have to -do a little more work to ensure that you are in fact measuring the changes you've made not and -noise. Here are some things you can do to make your benchmarks more stable: - -1. The most simple thing you can do to drastically improve the stability of your benchmark is -to run it multiple times and then aggregate the results of those runs. As a general rule of -thumb, the smaller the change you are trying to measure, the more samples of benchmark runs -you will have to aggregate over to get reliable results. Here are some additional things to keep in -mind when running multiple trials: - * How you aggregate your samples are important. You might be tempted to use the mean of your - results. While this is certainly going to be a more stable number than a raw single sample - benchmark number, you might have more luck by taking the median. The mean is not robust to - outliers whereas the median is. Better still, you could simply take the fastest speed your - benchmark achieved on each run since that is likely the fastest your process will be - capable of running your code. In our experience, this (aggregating by just taking the sample - with the fastest running time) has been the most stable approach. - * The more samples you have, the more stable your benchmarks should be. You can verify - your improved stability by looking at the size of your confidence intervals as you - increase your sample count. These should get smaller and smaller. Eventually hopefully - smaller than the performance win you are expecting. - * Most processors will take some time to get `hot` when running anything. The observations - you collect during that time period will very different from the true performance number. Having - a very large number of sample will help alleviate this problem slightly but you can also - address is directly by simply not including the first `n` iterations of your benchmark in - your aggregations. You can determine `n` by simply looking at the results from each iteration - and then hand picking a good threshold after which the variance in results seems to stabilize. -2. You cannot really get reliable benchmarks if your host machine is simultaneously running -another cpu/memory-intensive application in the background. If you are running benchmarks on your -personal laptop for instance, you should close all applications (including your code editor and -browser) before running your benchmarks. You might also have invisible background applications -running. You can see what these are by looking at either Activity Monitor on Mac or Task Manager -on Windows. You will get more stable benchmark results of you end those processes as well. - * If you have multiple cores, you can even run your benchmark on a reserved core to prevent - pollution from other OS and user processes. There are a number of ways to do this depending - on your OS: - * On linux boxes, you have use https://github.com/lpechacek/cpuset. - * On Windows, you can "Set Processor Affinity" using https://www.thewindowsclub.com/processor-affinity-windows - * On Mac, you can try to use their dedicated affinity API https://developer.apple.com/library/archive/releasenotes/Performance/RN-AffinityAPI/#//apple_ref/doc/uid/TP40006635-CH1-DontLinkElementID_2 -3. To benchmark, you will likely end up writing a separate c/c++ program that will link libzstd. -Dynamically linking your library will introduce some added variation (not a large amount but -definitely some). Statically linking libzstd will be more stable. Static libraries should -be enabled by default when building zstd. -4. Use a profiler with a good high resolution timer. See the section below on profiling for -details on this. -5. Disable frequency scaling, turbo boost and address space randomization (this will vary by OS) -6. Try to avoid storage. On some systems you can use tmpfs. Putting the program, inputs and outputs on -tmpfs avoids touching a real storage system, which can have a pretty big variability. - -Also check our LLVM's guide on benchmarking here: https://llvm.org/docs/Benchmarking.html - -### Zstd benchmark -The fastest signal you can get regarding your performance changes is via the in-build zstd cli -bench option. You can run Zstd as you typically would for your scenario using some set of options -and then additionally also specify the `-b#` option. Doing this will run our benchmarking pipeline -for that options you have just provided. If you want to look at the internals of how this -benchmarking script works, you can check out programs/benchzstd.c - -For example: say you have made a change that you believe improves the speed of zstd level 1. The -very first thing you should use to asses whether you actually achieved any sort of improvement -is `zstd -b`. You might try to do something like this. Note: you can use the `-i` option to -specify a running time for your benchmark in seconds (default is 3 seconds). -Usually, the longer the running time, the more stable your results will be. - -``` -$ git checkout -$ make && cp zstd zstd-old -$ git checkout -$ make && cp zstd zstd-new -$ zstd-old -i5 -b1 - 1 : 8990 -> 3992 (2.252), 302.6 MB/s , 626.4 MB/s -$ zstd-new -i5 -b1 - 1 : 8990 -> 3992 (2.252), 302.8 MB/s , 628.4 MB/s -``` - -Unless your performance win is large enough to be visible despite the intrinsic noise -on your computer, benchzstd alone will likely not be enough to validate the impact of your -changes. For example, the results of the example above indicate that effectively nothing -changed but there could be a small <3% improvement that the noise on the host machine -obscured. So unless you see a large performance win (10-15% consistently) using just -this method of evaluation will not be sufficient. - -### Profiling -There are a number of great profilers out there. We're going to briefly mention how you can -profile your code using `instruments` on mac, `perf` on linux and `visual studio profiler` -on windows. - -Say you have an idea for a change that you think will provide some good performance gains -for level 1 compression on Zstd. Typically this means, you have identified a section of -code that you think can be made to run faster. - -The first thing you will want to do is make sure that the piece of code is actually taking up -a notable amount of time to run. It is usually not worth optimizing something which accounts for less than -0.0001% of the total running time. Luckily, there are tools to help with this. -Profilers will let you see how much time your code spends inside a particular function. -If your target code snippet is only part of a function, it might be worth trying to -isolate that snippet by moving it to its own function (this is usually not necessary but -might be). - -Most profilers (including the profilers discussed below) will generate a call graph of -functions for you. Your goal will be to find your function of interest in this call graph -and then inspect the time spent inside of it. You might also want to to look at the -annotated assembly which most profilers will provide you with. - -#### Instruments -We will once again consider the scenario where you think you've identified a piece of code -whose performance can be improved upon. Follow these steps to profile your code using -Instruments. - -1. Open Instruments -2. Select `Time Profiler` from the list of standard templates -3. Close all other applications except for your instruments window and your terminal -4. Run your benchmarking script from your terminal window - * You will want a benchmark that runs for at least a few seconds (5 seconds will - usually be long enough). This way the profiler will have something to work with - and you will have ample time to attach your profiler to this process:) - * I will just use benchzstd as my bencharmking script for this example: -``` -$ zstd -b1 -i5 # this will run for 5 seconds -``` -5. Once you run your benchmarking script, switch back over to instruments and attach your -process to the time profiler. You can do this by: - * Clicking on the `All Processes` drop down in the top left of the toolbar. - * Selecting your process from the dropdown. In my case, it is just going to be labeled - `zstd` - * Hitting the bright red record circle button on the top left of the toolbar -6. You profiler will now start collecting metrics from your benchmarking script. Once -you think you have collected enough samples (usually this is the case after 3 seconds of -recording), stop your profiler. -7. Make sure that in toolbar of the bottom window, `profile` is selected. -8. You should be able to see your call graph. - * If you don't see the call graph or an incomplete call graph, make sure you have compiled - zstd and your benchmarking script using debug flags. On mac and linux, this just means - you will have to supply the `-g` flag alone with your build script. You might also - have to provide the `-fno-omit-frame-pointer` flag -9. Dig down the graph to find your function call and then inspect it by double clicking -the list item. You will be able to see the annotated source code and the assembly side by -side. - -#### Perf - -This wiki has a pretty detailed tutorial on getting started working with perf so we'll -leave you to check that out of you're getting started: - -https://perf.wiki.kernel.org/index.php/Tutorial - -Some general notes on perf: -* Use `perf stat -r # ` to quickly get some relevant timing and -counter statistics. Perf uses a high resolution timer and this is likely one -of the first things your team will run when assessing your PR. -* Perf has a long list of hardware counters that can be viewed with `perf --list`. -When measuring optimizations, something worth trying is to make sure the hardware -counters you expect to be impacted by your change are in fact being so. For example, -if you expect the L1 cache misses to decrease with your change, you can look at the -counter `L1-dcache-load-misses` -* Perf hardware counters will not work on a virtual machine. - -#### Visual Studio - -TODO - -## Issues -We use GitHub issues to track public bugs. Please ensure your description is -clear and has sufficient instructions to be able to reproduce the issue. - -Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe -disclosure of security bugs. In those cases, please go through the process -outlined on that page and do not file a public issue. - -## Coding Style -It's a pretty long topic, which is difficult to summarize in a single paragraph. -As a rule of thumbs, try to imitate the coding style of -similar lines of codes around your contribution. -The following is a non-exhaustive list of rules employed in zstd code base: - -### C90 -This code base is following strict C90 standard, -with 2 extensions : 64-bit `long long` types, and variadic macros. -This rule is applied strictly to code within `lib/` and `programs/`. -Sub-project in `contrib/` are allowed to use other conventions. - -### C++ direct compatibility : symbol mangling -All public symbol declarations must be wrapped in `extern “C” { … }`, -so that this project can be compiled as C++98 code, -and linked into C++ applications. - -### Minimal Frugal -This design requirement is fundamental to preserve the portability of the code base. -#### Dependencies -- Reduce dependencies to the minimum possible level. - Any dependency should be considered “bad” by default, - and only tolerated because it provides a service in a better way than can be achieved locally. - The only external dependencies this repository tolerates are - standard C libraries, and in rare cases, system level headers. -- Within `lib/`, this policy is even more drastic. - The only external dependencies allowed are ``, ``, ``, - and even then, not directly. - In particular, no function shall ever allocate on heap directly, - and must use instead `ZSTD_malloc()` and equivalent. - Other accepted non-symbol headers are `` and ``. -- Within the project, there is a strict hierarchy of dependencies that must be respected. - `programs/` is allowed to depend on `lib/`, but only its public API. - Within `lib/`, `lib/common` doesn't depend on any other directory. - `lib/compress` and `lib/decompress` shall not depend on each other. - `lib/dictBuilder` can depend on `lib/common` and `lib/compress`, but not `lib/decompress`. -#### Resources -- Functions in `lib/` must use very little stack space, - several dozens of bytes max. - Everything larger must use the heap allocator, - or require a scratch buffer to be emplaced manually. - -### Naming -* All public symbols are prefixed with `ZSTD_` - + private symbols, with a scope limited to their own unit, are free of this restriction. - However, since `libzstd` source code can be amalgamated, - each symbol name must attempt to be (and remain) unique. - Avoid too generic names that could become ground for future collisions. - This generally implies usage of some form of prefix. -* For symbols (functions and variables), naming convention is `PREFIX_camelCase`. - + In some advanced cases, one can also find : - - `PREFIX_prefix2_camelCase` - - `PREFIX_camelCase_extendedQualifier` -* Multi-words names generally consist of an action followed by object: - - for example : `ZSTD_createCCtx()` -* Prefer positive actions - - `goBackward` rather than `notGoForward` -* Type names (`struct`, etc.) follow similar convention, - except that they are allowed and even invited to start by an Uppercase letter. - Example : `ZSTD_CCtx`, `ZSTD_CDict` -* Macro names are all Capital letters. - The same composition rules (`PREFIX_NAME_QUALIFIER`) apply. -* File names are all lowercase letters. - The convention is `snake_case`. - File names **must** be unique across the entire code base, - even when they stand in clearly separated directories. - -### Qualifiers -* This code base is `const` friendly, if not `const` fanatical. - Any variable that can be `const` (aka. read-only) **must** be `const`. - Any pointer which content will not be modified must be `const`. - This property is then controlled at compiler level. - `const` variables are an important signal to readers that this variable isn’t modified. - Conversely, non-const variables are a signal to readers to watch out for modifications later on in the function. -* If a function must be inlined, mention it explicitly, - using project's own portable macros, such as `FORCE_INLINE_ATTR`, - defined in `lib/common/compiler.h`. - -### Debugging -* **Assertions** are welcome, and should be used very liberally, - to control any condition the code expects for its correct execution. - These assertion checks will be run in debug builds, and disabled in production. -* For traces, this project provides its own debug macros, - in particular `DEBUGLOG(level, ...)`, defined in `lib/common/debug.h`. - -### Code documentation -* Avoid code documentation that merely repeats what the code is already stating. - Whenever applicable, prefer employing the code as the primary way to convey explanations. - Example 1 : `int nbTokens = n;` instead of `int i = n; /* i is a nb of tokens *./`. - Example 2 : `assert(size > 0);` instead of `/* here, size should be positive */`. -* At declaration level, the documentation explains how to use the function or variable - and when applicable why it's needed, of the scenarios where it can be useful. -* At implementation level, the documentation explains the general outline of the algorithm employed, - and when applicable why this specific choice was preferred. - -### General layout -* 4 spaces for indentation rather than tabs -* Code documentation shall directly precede function declaration or implementation -* Function implementations and its code documentation should be preceded and followed by an empty line - - -## License -By contributing to Zstandard, you agree that your contributions will be licensed -under both the [LICENSE](LICENSE) file and the [COPYING](COPYING) file in the root directory of this source tree. diff --git a/sys/contrib/zstd/FREEBSD-Xlist b/sys/contrib/zstd/FREEBSD-Xlist index f39005add49f..7d87acac5f4a 100644 --- a/sys/contrib/zstd/FREEBSD-Xlist +++ b/sys/contrib/zstd/FREEBSD-Xlist @@ -1,10 +1,19 @@ -.circleci +*/BUCK +.buckconfig +.buckversion .cirrus.yml .github .gitignore .travis.yml +CODE_OF_CONDUCT.md +CONTRIBUTING.md +Makefile +Package.swift +TESTING.md build contrib +doc +examples lib/dll programs/windres tests diff --git a/sys/contrib/zstd/LICENSE b/sys/contrib/zstd/LICENSE index a793a8028925..75800288cc24 100644 --- a/sys/contrib/zstd/LICENSE +++ b/sys/contrib/zstd/LICENSE @@ -2,7 +2,7 @@ BSD License For Zstandard software -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. +Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -14,9 +14,9 @@ are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. + * Neither the name Facebook, nor Meta, nor the names of its contributors may + be used to endorse or promote products derived from this software without *** 60802 LINES SKIPPED *** From nobody Thu May 7 08:35:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB5DL3FKlz6RgrW for ; Thu, 07 May 2026 08:35: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 4gB5DL2fjYz3WCp for ; Thu, 07 May 2026 08:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778142930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HAnJiQDsbqNdcxiy/dK7h3IBylJoGCViCxZhHwTAU40=; b=FnfScMGuSpxLiynFjO2x4EQOdHYVT/bCUKEPNzJGQjmUJpim/dZktTIV299THxFqmyPC6z jXD4LPWVtvTlfBSkRodFMHLDWuoy803m8qf04OvwUikpT+MCAxe1qQxSTP5THQE+6coBv4 MPfOx08VoJ45aDMbhlrDpo+MI0zYXXWETQQqifZnHpplDDTslwmSr+zf+ylR3sIvpYgUZ3 /qCgkm3pdV7Hk+Rct66zIHhJVnCYnCC5arj6+uVyq0JSx4lYyx7QHfLy/QKswFNoCSv0Ed 8rC01w8SAicXj1xsILELU9t7bkzDmn4HqDvWYmiP9rHtwgPsg7ZYbHtsg/ZwTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778142930; a=rsa-sha256; cv=none; b=Puzw290FjPaaVAhIvVZc2BhQyIjV8SgygjUYkRj2KFHfy0ubxTpTTseLHSZKelpTad4HPA 3+9WSleBxmXn/mtP8BN+pnp2pckgrGDol+YUUULxYx/zqtAaigmIrn7AE9wJaw7bIsK3qa Lbj4YO4F5GYANUWvYDcql2nwxGOCW8C4TIGoOaxCNkouub5eP17uD6fJHSd0lR0GGRvaYo KXz4SbdNDKvc9l9eXPs2Yv8IG6fPt0XsZyteJ928mtlR30bhQSXah8SsKmCfKBC45tm6dZ Mvyeo+uZ851HEAHS+qeotEyaouh6gHGjr1j9Mg4O5Ez9ulnsMqdMEOky8BLKdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778142930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HAnJiQDsbqNdcxiy/dK7h3IBylJoGCViCxZhHwTAU40=; b=eHQ11Brwh0qEmDkj5Q36KUFVee8B+tQoDmBfCglYGzYGADzyjyZxrca2z3pnZSvaVC8TOa 02KK0K+Pr7yK78J1BYwxQHZNzUZJzZ9yOeyBR09fAxGym5HClNaXrHsaDhYTplGhpBUllR We8ph1T1Um9D4Pxwi4jCzkF7QP2CZg3zsyuVB7mAhOTF7XGYLFiWnM11WtZdkAwokouZC3 twBSOPhwrC+bf6CvI4DQHbEUkXphxq/iup2JVsMyudPt872FGd4781NjbunsVsN9cjNjlF UOjvcJ1CDf6yD9qfXBPIQqlmKLt2opbdqf7ITaqwSPC75/76DgtpToz4ikZO6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB5DL2G5rz3hh for ; Thu, 07 May 2026 08:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c516 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 08:35:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: f4678f761353 - stable/15 - bsdinstall.8: Document DISTRIBUTIONS defaults correctly List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: f4678f7613538c63567e2e44cd5aceaee4b4a383 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 08:35:30 +0000 Message-Id: <69fc4ed2.1c516.5e5c751e@gitrepo.freebsd.org> The branch stable/15 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=f4678f7613538c63567e2e44cd5aceaee4b4a383 commit f4678f7613538c63567e2e44cd5aceaee4b4a383 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-04-20 15:52:25 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-05-07 08:35:24 +0000 bsdinstall.8: Document DISTRIBUTIONS defaults correctly Some targets override the default value of DISTRIBUTIONS. Document that in the manual page. Reported by: Nia Alarie Reviewed by: jlduran MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56528 (cherry picked from commit 4029e765436ff1633139c1afe1bc25185a0f4ef1) --- usr.sbin/bsdinstall/bsdinstall.8 | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bsdinstall/bsdinstall.8 b/usr.sbin/bsdinstall/bsdinstall.8 index ee141e1d4296..282b88328e99 100644 --- a/usr.sbin/bsdinstall/bsdinstall.8 +++ b/usr.sbin/bsdinstall/bsdinstall.8 @@ -29,7 +29,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 3, 2025 +.Dd April 20, 2026 .Dt BSDINSTALL 8 .Os .Sh NAME @@ -79,6 +79,12 @@ targets. .Bl -tag -width "-D file" .It Cm auto Run the standard interactive installation, including disk partitioning. +.Pp +The +.Ev DISTRIBUTIONS +environment variable is set to +.Dq base.txz kernel.txz +by default for this target. .It Cm jail Ar destination Sets up a new chroot system at .Pa destination , @@ -88,12 +94,24 @@ Behavior is generally similar to .Cm auto , except that disk partitioning and network setup are skipped and a kernel is not installed into the new system. +.Pp +The +.Ev DISTRIBUTIONS +environment variable is set to +.Dq base.txz +by default for this target. .It Cm script Ar script Runs the installation script at .Pa script . See .Sx SCRIPTING for more information on this target. +.Pp +The +.Ev DISTRIBUTIONS +environment variable is set to +.Dq base.txz kernel.txz +by default for this target. .It Cm keymap If the current controlling TTY is a .Xr syscons 4 @@ -305,7 +323,9 @@ Default: .Dq Pa /tmp .It Ev DISTRIBUTIONS The set of distributions to install, e.g., "base.txz kernel.txz ports.txz". -Default: unset +Default: unset unless noted otherwise in the +.Sx TARGETS +section. .It Ev PARTITIONS The partitioning of the disk onto which the system is being installed. See From nobody Thu May 7 08:35:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB5DM5n8wz6Rgpb for ; Thu, 07 May 2026 08:35: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 4gB5DM3cNcz3Vx1 for ; Thu, 07 May 2026 08:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778142931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ptTLHeZwSeTweDtIjIPnOaeXw+TTnUBvvU0X7o5kQLI=; b=ZkDuldIxW6X5pSDg+JhM3Mset87cEkcmZJqAUuoZn6ZDgP4+LjxNLwhga7MBgGT5CMi7/4 hoDhtvIlOCMeFrLR7g1tkHdNRc1V27dzc0jRByRSjg6ipPiWf5hsHdkYk+7qwegcUdgbtC SNhsrWnGkM4SAxTxPMtUMb2D5Ldd/oqIkETsfY96CxyCFSKUIsVZseHkoDwLrWwy6txY27 QhEwaAtgicMhqGkSTHZrNBaQEHcdAJv4gitPFFgXj95XKnGUsmuX4etGj03uf53WBOn5wd 5tABz5DIoR1cdjz6RWQX2k/iyhGl16dipwSpPWkEYeGPSJnIf6i7QYgAtb5mjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778142931; a=rsa-sha256; cv=none; b=iy9eUGHOqCIEslsAS2RjSOoISjXmi8/vOr3caCKHPhO2cQA68kTXNMuDw6hA2qYSY65bAd hxfRy/tZC02RbWi9bhZze+D6pdTCIMMrKxf+lA/EFJvN9VJaukl/O7kSNn+jKolhJwVCie 1L6GUjWLaudbSc32PFo40e/qouk69vsuqhupz34l+O4VLruGZI1SHqfFvScGZIppBvwUHT yU9bObCcCAFU2dSitFWs9T6tDLDsFQ1aDNMZqK20/3K8VD+rfhn3/ZXvdtAx26g4UyvOi3 hgWG5D+UzpN7hAum84QDsLJuILwBdE8b+ldqf6wsR6Q6dkTTiTRMJ4MOcHn+cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778142931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ptTLHeZwSeTweDtIjIPnOaeXw+TTnUBvvU0X7o5kQLI=; b=T84Ng994mLKMuEsmVxLpw/JaZawiJ70ItepE+Eo3/CALPiwCCRMjIAAnF3ZY08keVsJsdd gTCwb6lAO+9fKWPmezDNlB3FliSi6OBsproBi5qZN8kXy2ng3eoADLxXXm1uBS/EIkyX5N b6fyWKUYNBtUi9FOU3XdMK5e3E/5KIgxuISvRgfiIMmgwna5jPO2v07U7/gNQIQkk65mgg tQVFP/20imJrlJkKMIicHfqUzmjBVD7ci34pkE31xq0yyT5NcRQSClgQsUm1CB0/R5u7PQ a7DPGHYI/Ck8P5qyDF3KVddcWGUtFoHGTFIDEMozmX5YMUglGOpEmilkhyZJlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB5DM2s9Sz3cW for ; Thu, 07 May 2026 08:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c8d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 08:35:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: f20bd7739eab - stable/15 - zone.9: Add a missing newline List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: f20bd7739eab9401568262c536993d488b4322a1 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 08:35:31 +0000 Message-Id: <69fc4ed3.1c8d1.34115a6d@gitrepo.freebsd.org> The branch stable/15 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=f20bd7739eab9401568262c536993d488b4322a1 commit f20bd7739eab9401568262c536993d488b4322a1 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-05-04 18:28:36 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-05-07 08:35:24 +0000 zone.9: Add a missing newline MFC after: 3 days (cherry picked from commit c295f026376035fee1a9e44efa2af30d46b7884a) --- share/man/man9/zone.9 | 1 + 1 file changed, 1 insertion(+) diff --git a/share/man/man9/zone.9 b/share/man/man9/zone.9 index 9f13cf0e504a..eeac1f241c29 100644 --- a/share/man/man9/zone.9 +++ b/share/man/man9/zone.9 @@ -484,6 +484,7 @@ Free items in the per-CPU caches are left alone. .It Dv UMA_RECLAIM_DRAIN_CPU Reclaim all cached items. .El +.Pp The .Fn uma_reclaim_domain and From nobody Thu May 7 08:36:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB5Dz16Scz6Rh0C for ; Thu, 07 May 2026 08: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 4gB5Dz0cZyz3Wnv for ; Thu, 07 May 2026 08: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=1778142963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l2JM2gGLqwp8sY3npvdax1OtWIVqAXh+nXM1RUsD8eA=; b=bC+PlC/VBucTzIAdnz08UOHWv+fi89L5QRm3bp2tWHXuUGmviC3icWMhU63PHD8CPpzlzC eYCmqqAC+ack+MR9HqN71oeLUgUaFJwYGxzTN7WyZVsSMdSLtSL6ToiE9qbDDnmKcw8qj3 +aNacGIjBQqiKlfl8KfhRr9nrPY9K/UystOs4XvsDnSahIybHdjqJ8a3ozAClg9319yE4J 2PkDRP7nz/G4gkDb4u663bNM3bg1FIoBr8CnsCXxBi7Rn3vkPYgN3CLm7gkyAyGFy5/ebA w2jzBj0VXJGUn2Rna6pNJXCtw0rypOh3K9/OaTBfYNrneAlKbThFkR6pNB8gcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778142963; a=rsa-sha256; cv=none; b=Td1ztKHM9rIgJO6X96H4jqsbqtLBmd/mwEj+TZxb/7i/Pp+lH/9PZTKHCaKl4o6ZZCDruf kkf+Ye+atWuQDPaxPxnOt7aURijzMultEzxV1qLh0gGae6cGZqXWGqSVS6laWbevyEq11G xBOEFhNI8ur1UXslJCEtG3+DwVk/EDtrKj/NcCc3iMhnBZa9ZtiQoicoOlIZ8E1noN2GVD UOZLZUG1cNHqILsnAKd03nkiTtg/vo96KXalhtshFpuluorQdG0IqYq9/lbXXUhhFA1SJN IqYK3tSaqreEHkotqHB4ddAwMQgef9g1SrK2iAPvv9o+FtmvKTnFFt9BbkqcOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778142963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l2JM2gGLqwp8sY3npvdax1OtWIVqAXh+nXM1RUsD8eA=; b=IJUnuCrdp+n6G7EuIgeHNOgf9mIbAYfPrs8K6VwIof7n4c2NyEhBV513H6fRlnlgL5pHwm Jb9HSoY1d5LrIgix7DE5Q+Ay7/h0ZFmOww0AcGK/NJH0P3AZQvJ1pRtQturP9Zth1LdTz7 QxHVMcXuwiYst49PqEN4zEkbhUXS1YxRJayGCaesh8czFRt8SPCgnX0zr6mQu+LzBMRKdA 8sNNUGTM6fWC7/B1K11Qi3K2ff3pgl1WsefvkgOECS4ZLCfZjXSWNnW+azjcprNjQHyufJ aUtIsK6c9pZvXergandFFh2Vzg4NHHHQfXtaACFrQvvt5DwBVQV18dzmB5NZjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB5Dz05lLz3hj for ; Thu, 07 May 2026 08:36:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c80e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 08:36:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 750f37820d08 - stable/14 - zone.9: Add a missing newline List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 750f37820d0895dd3d66c3c1d4d5c915fe7d4ccf Auto-Submitted: auto-generated Date: Thu, 07 May 2026 08:36:03 +0000 Message-Id: <69fc4ef3.1c80e.5acc50d4@gitrepo.freebsd.org> The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=750f37820d0895dd3d66c3c1d4d5c915fe7d4ccf commit 750f37820d0895dd3d66c3c1d4d5c915fe7d4ccf Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-05-04 18:28:36 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-05-07 08:35:48 +0000 zone.9: Add a missing newline MFC after: 3 days (cherry picked from commit c295f026376035fee1a9e44efa2af30d46b7884a) --- share/man/man9/zone.9 | 1 + 1 file changed, 1 insertion(+) diff --git a/share/man/man9/zone.9 b/share/man/man9/zone.9 index 9f13cf0e504a..eeac1f241c29 100644 --- a/share/man/man9/zone.9 +++ b/share/man/man9/zone.9 @@ -484,6 +484,7 @@ Free items in the per-CPU caches are left alone. .It Dv UMA_RECLAIM_DRAIN_CPU Reclaim all cached items. .El +.Pp The .Fn uma_reclaim_domain and From nobody Thu May 7 09:18:37 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB6B60jjtz6RlXt for ; Thu, 07 May 2026 09:18: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 4gB6B603qnz3bZ6 for ; Thu, 07 May 2026 09:18:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778145518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n96cjoud6b7gGcGCxgilXJOyt0BXkInXAAjxeklbEt4=; b=LdLYpSWO+/pkR+dTXhuf60TSztEhQXbilryeCWEietXoLKAVNkofWXdYS4TtCg6qfD+rpM BbWpLXwpOXLbxf8H2flEnhead1FwexteN3wdvyUdEQukgVMmDjoT6CSRnRCDpsXrXDkXfn VlqDgIM1iNnbi/w8E1xMjxjTKTarvuu2hVHxg7q7f3vQ48jDMUkgcAyyfmQV3nd4LZdjFa Kg2/cwESwuAMkont0Ck2nF+uUJJJAcAPDxnwSV4mpju2v15bwV5/gpB1CqPTKUGyY47qNB U7APHcWbDxM5jeuoZg6BkIyuxCdDOEqRKJpcFMBZXHvhbPIAza2y+NkU1DuwcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778145518; a=rsa-sha256; cv=none; b=vVpIzpBzfBR4R2ncAZjdXW4ICj6KE4KbMhYpkT+IxZibkv1krvCbF6fjpsWhI/LNJv90JK 3iF76vr42q4L0PQcjJsI5AYcwtOeRmEUTHKCV/F+fj6MaQdOLGkp6lhiCQ+6ETsNJOD9H2 xjhch73t31mJaom+C/XuLBBbjl22eTk/7WBLOCJituiJTRecrqxfAZW3yfz2JN+dMjoovo pCBz+l7xBgowNf5U5tZ2QlSYMLufW+ITfxQdMTKR7l8K0a8dKzsP0Hrp0RkWtGje965X86 xA7DuaodtXkz6dVpQ0r4IojhkZyJXO0fbaXKxhfevV5fLswwWjpTcjga4Gi8sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778145518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n96cjoud6b7gGcGCxgilXJOyt0BXkInXAAjxeklbEt4=; b=PrX8liY1Uyx9+oIjWAGOJgeHqfnlGVvX83H5yORj1yH6ZWMfoWFVvvPnI+BM2SR+wmJVjq 1Tpc75Y2CcJax8gQpkrLkGz5uqYuyQOc+LNxxQSMneBsC4mMCn+NM7gvjbS5zk4Z4hHvmN w2oWCXU1JmlB9xrofwH7sz4Tq97drKOIJK0EhBHbzW2ptZ2SsYCSa5C5HidajyLDx/F6VA 5UtiWd8l+9dwzKo2aN/IrrdDEvzH5a6dfnoLzyW1OlXj94XZ6doNj7wWPW7qZbNSlr41SM yVGCS6EadExwHeFUawd+AXEUH2xiCRjAbrcyg0RoX9Rt2fHwDmf68cUGpbMoEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB6B56V11z4Yj for ; Thu, 07 May 2026 09:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2070b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 09:18:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: ed919bf54acf - stable/15 - snd_uaudio: Support Roland UA-33 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: ed919bf54acfde48a36ab07b83186e3639223137 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 09:18:37 +0000 Message-Id: <69fc58ed.2070b.5ec9a053@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ed919bf54acfde48a36ab07b83186e3639223137 commit ed919bf54acfde48a36ab07b83186e3639223137 Author: Christos Margiolis AuthorDate: 2026-04-28 16:39:45 +0000 Commit: Christos Margiolis CommitDate: 2026-05-07 09:18:31 +0000 snd_uaudio: Support Roland UA-33 Apply the appropriate quirk. Also, introduce a new uaudio_vendor_audio table, similar to uaudio_vendor_midi, which includes non-standard USB audio devices. The Roland UA-33 needs this, bceause it comes with bInterfaceClass = 0xff (vendor-specific), so snd_uaudio(4) doesn't detect it. PR: 294814 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: emaste Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/24 (cherry picked from commit 549e740619873716b796a841a10f56fae3c3ad49) --- sys/dev/sound/usb/uaudio.c | 10 ++++++++++ sys/dev/usb/quirk/usb_quirk.c | 1 + sys/dev/usb/usbdevs | 1 + 3 files changed, 12 insertions(+) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 65976ced8a75..f477eb768fde 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -713,6 +713,10 @@ static driver_t uaudio_driver = { .size = sizeof(struct uaudio_softc), }; +static const STRUCT_USB_HOST_ID uaudio_vendor_audio[] = { + { USB_VPI(USB_VENDOR_ROLAND, 0x0132, 0) }, /* UA-33 */ +}; + /* The following table is derived from Linux's quirks-table.h */ static const STRUCT_USB_HOST_ID uaudio_vendor_midi[] = { { USB_VPI(USB_VENDOR_YAMAHA, 0x1000, 0) }, /* UX256 */ @@ -868,6 +872,11 @@ uaudio_probe(device_t dev) /* lookup non-standard device(s) */ + if (usbd_lookup_id_by_uaa(uaudio_vendor_audio, + sizeof(uaudio_vendor_audio), uaa) == 0) { + return (BUS_PROBE_SPECIFIC); + } + if (usbd_lookup_id_by_uaa(uaudio_vendor_midi, sizeof(uaudio_vendor_midi), uaa) == 0) { return (BUS_PROBE_SPECIFIC); @@ -6258,4 +6267,5 @@ MODULE_DEPEND(snd_uaudio, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); MODULE_DEPEND(snd_uaudio, hid, 1, 1, 1); MODULE_VERSION(snd_uaudio, 1); USB_PNP_HOST_INFO(uaudio_devs); +USB_PNP_HOST_INFO(uaudio_vendor_audio); USB_PNP_HOST_INFO(uaudio_vendor_midi); diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index 69e16c91604f..6237df4b4fe0 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -565,6 +565,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = { USB_QUIRK(CMEDIA, CM6206, UQ_AU_SET_SPDIF_CM6206), USB_QUIRK(PLOYTEC, SPL_CRIMSON_1, UQ_CFG_INDEX_1), USB_QUIRK(ROLAND, UA25EX_AD, UQ_AU_VENDOR_CLASS), + USB_QUIRK(ROLAND, UA33, UQ_AU_VENDOR_CLASS), /* DYMO LabelManager Pnp */ USB_QUIRK(DYMO, LABELMANAGERPNP, UQ_MSC_DYMO_EJECT), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index bb039f59ce19..e8eee7f330c5 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -4196,6 +4196,7 @@ product ROLAND UA700 0x002b UA-700 Audio I/F product ROLAND PCR300 0x0033 EDIROL PCR-300 MIDI I/F product ROLAND UA25EX_AD 0x00e6 EDIROL UA-25EX (Advanced Driver) product ROLAND UA25EX_CC 0x00e7 EDIROL UA-25EX (Class Compliant) +product ROLAND UA33 0x0132 UA-33 Audio I/F /* Rockfire products */ product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB From nobody Thu May 7 09:18:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB6B72LDkz6RlPZ for ; Thu, 07 May 2026 09:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gB6B71LZMz3bdt for ; Thu, 07 May 2026 09:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778145519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g15OzKLKyWrNa/unJk5Moy0HJmNFTQNRVKp5efMBsRw=; b=gnfO5mFxRIZle/LRSGxoNQ23KhIHGGCZoeCakdwGUyfO1w/+23aU7cfVzGZy4NR3bxWZHp pXMgv78OGrnlGzaon3HNbR6slnbRJO7urByL9A+UFzvmKNITfLHzVOuQLBpm9t23hKfOtG zoEAqgsvtNNZYhwa0ky32REjeO3Gqja22rPdOTvGjXd2vEmHZM3A0+wO1ptBMm2/qMSsFA /rPOhPEpYSSe7FgmlRDvPonVV5v0vK5kKwnLALbWt3au95ugdIp5bNK6MZNooAxqg9p2th y8z4lIcHNr1B5xjoDTbkksht/YVnnWyhEeDCiliEdIf25CbXiIZXxareAIII5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778145519; a=rsa-sha256; cv=none; b=E5MGtjg1zjlYMa9m5WCd4cG3XxtYfPmcf00jGkFQIGsDYPhB7wIrV1NFRR3XZjIC4LdzFC sASpPW4qGv2YMlHjoAQW5n/1BjPtdNrT+lHMbtfmirK8znDKKloKvGSzF+mjxni4SqI0kG u8aIQjU/K5AlJENjabTxBP2JomEqrs37GyVTYoLi+IWmLeis2lWPBAkqD4q4L6HBYF1G1f 4mr284eqwzHg4DlIYNq60UELq1BGJt5oLho5Gcg3cdwOzmTnhCtUJ5vBLQ1H2FXU2a14As gDrHURVnW10nrFQZhUrz2vfGR8+iwUh5jObm8I/vVNm5Zvnw4HKGk4mGgN2Vmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778145519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g15OzKLKyWrNa/unJk5Moy0HJmNFTQNRVKp5efMBsRw=; b=uGC3AfMQytOXsEJtRhYFK/nk8VEtUrVqSl7ZfpEbOpSNH/3ND5aCGPcMTizm9Bwa49uUxR iCEwJPEjNDqjrpuk0BmFoxnlFvbf3Xrl7MPGgSmriCMy5ssso24oRTgHonsmsBVh2KYDRy HjVwreUcVQ1CBepkpZbHOxLfHrDxQghThu+mjJgOEvRc35OcRB8Ek60MHsko43ik/S1tZY 4IdF4V/3DruMxyuu/HfPTsiwRZwGuyg66lvvS6isxf/4AwByh43dsXFjU814BZw49xXocY ta1RlYkiv+cisbYbjY9ivyqyqO2U/RDMs9jJ4ubeSAfPETPIipn2fUW66pdqug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB6B704Vpz4V1 for ; Thu, 07 May 2026 09:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 210a6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 09:18:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 5aedbafd7a81 - stable/15 - sound: Retire unused snddev_info->bufsz List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 5aedbafd7a81b8e975baebd2ad0ff2712f8a65a5 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 09:18:38 +0000 Message-Id: <69fc58ee.210a6.5a4e0f27@gitrepo.freebsd.org> The branch stable/15 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=5aedbafd7a81b8e975baebd2ad0ff2712f8a65a5 commit 5aedbafd7a81b8e975baebd2ad0ff2712f8a65a5 Author: Christos Margiolis AuthorDate: 2026-04-30 18:45:20 +0000 Commit: Christos Margiolis CommitDate: 2026-05-07 09:18:31 +0000 sound: Retire unused snddev_info->bufsz Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit 5e9f2a6aefabec01c587a169fd5efe3a2720a8e5) --- sys/dev/sound/pcm/sound.c | 9 --------- sys/dev/sound/pcm/sound.h | 1 - 2 files changed, 10 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 305d663cd6ad..9eb2dffeb908 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -242,7 +242,6 @@ pcm_getdevinfo(device_t dev) unsigned int pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsigned int maxbufsz) { - struct snddev_info *d = device_get_softc(dev); int sz, x; sz = 0; @@ -264,8 +263,6 @@ pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsig sz = deflt; } - d->bufsz = sz; - return sz; } @@ -406,12 +403,6 @@ pcm_register(device_t dev, char *str) SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "rec", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "recording channels node"); - /* XXX: a user should be able to set this with a control tool, the - sysadmin then needs min+max sysctls for this */ - SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "buffersize", CTLFLAG_RD, &d->bufsz, 0, - "allocated buffer size"); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 56ef6af8e546..40deee32ea5b 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -201,7 +201,6 @@ struct snddev_info { } channels; unsigned playcount, reccount, pvchancount, rvchancount; unsigned flags; - unsigned int bufsz; void *devinfo; device_t dev; char status[SND_STATUSLEN]; From nobody Thu May 7 11:16:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB8p52fb7z6c5kG for ; Thu, 07 May 2026 11:16: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 4gB8p50KF1z3pLR for ; Thu, 07 May 2026 11:16:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778152589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VYFIziOLtYyHld6tjSKep9F6hqjmDs58m/brVAaEQOM=; b=eDkvsnUERFAOYHGUnBKGYOox9RRoDUkM/knxwhbmSfS61QCechFK/ThluaHLd4QkRFvwkH aDLs1p90BZuFl/fBXxXUTvc9b2OOoSA0jPS9EishAGZgMBHzInRDRyl0s3CC1lx5oBEKkc Gg6f5J6KwEyydFmwaSZgCoM6SjjRNRNI+O2nVjGM3otYUbHU1KRjdO3AByd+DLRQpJwBFb lneemoygDCY4W4uFGNLLaayns6VCWL1AR/Q33jdbd7tBPUiHK25mPNkODFishf8wRMKrER JLJdiWqdSCs+WkXax+zm9Qw3FxcRpS4f9UNaD7ZrqiVqZx3ZqkpobajZqcRx3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778152589; a=rsa-sha256; cv=none; b=W1ZYAaVM4YjxUAuk0sgND4X3lWpQ+aiVEeXIDFruDB3gmwxh027H1VG1sREFNXTRjlw5I8 MiGu3QAoAG1i5JfjJROrJxS3ccqAKQvVmV99MysQrN8bXTwtK7UCX3zlJRHvfaeWL03Hk8 dwlwlT6ZQif/NZsMct/+1DNUrkz8UlyR/f6HEuPMmKhK7JhhzQYTJvv+0xIGd2Dp/q1SVp a36NCtrhtlYh5WZZJoFlfGQyOFsqDxx0dDSSOO8PVAPqTC2DB4evuudPluSUOm/l8cTrDl VzToKf/+G9LcPJTJsUhD/RyQ7TV2/lrn3XzEH6g4d0OwfOvqyZ+6zBVaG8SnTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778152589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VYFIziOLtYyHld6tjSKep9F6hqjmDs58m/brVAaEQOM=; b=hwhZ8YWIBqGgFH7lX5MYA9usyDKPDSRPgVDRH5KRVZ3cD6yF9vfNL/iN3rflRYxsvXciTY oO7+7lJsXhW2Z96iMwPVd/TsY6tDKWDWKIOIXFHH7lymqL7hBrcJIzQzmX14O8HL5SabXm MKEX5SIx9aJxKFHhJWRmMGvnfOrWdjcry8D7u5SPlLCKmM42yVpeichyrAGUwTMd4NZhbA ImIQ5Rg5O3jRgy+0ZNKcF/VnaWrjSwEF+3FO4tfJWUjtpcdsqEf5ywCOn1kdfeQND+cdBT o1ozoSZTK/+UL/o3lRcebe70UZ7IcmrkKHXAsJH0G4T/KxdGZbCm5nV3gKmqRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB8p46q6hz7Js for ; Thu, 07 May 2026 11:16:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3613c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 11:16:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: c81f51651211 - stable/15 - linuxkpi: Implement `module_*()` APIs as static functions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c81f516512111fa5ac8d5a9f3f7e64c2fb5ab5a3 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 11:16:28 +0000 Message-Id: <69fc748c.3613c.7771ec2@gitrepo.freebsd.org> The branch stable/15 has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=c81f516512111fa5ac8d5a9f3f7e64c2fb5ab5a3 commit c81f516512111fa5ac8d5a9f3f7e64c2fb5ab5a3 Author: Jean-Sébastien Pédron AuthorDate: 2026-05-07 11:16:09 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-05-07 11:16:09 +0000 linuxkpi: Implement `module_*()` APIs as static functions This fixes an "unused variable" warning when building DRM drivers. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56780 (cherry picked from commit 658bb99db9c7872f92ccb86ed2674c72636436d2) --- sys/compat/linuxkpi/common/include/linux/module.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/module.h b/sys/compat/linuxkpi/common/include/linux/module.h index fbe57cbbed82..de4be1e9ebe9 100644 --- a/sys/compat/linuxkpi/common/include/linux/module.h +++ b/sys/compat/linuxkpi/common/include/linux/module.h @@ -136,9 +136,14 @@ _module_run(void *arg) #define module_exit_order(fn, order) \ SYSUNINIT(fn, SI_SUB_OFED_MODINIT, (order), _module_run, (fn)) -#define module_get(module) -#define module_put(module) -#define try_module_get(module) 1 +static inline void module_get(struct module *module) {} +static inline void module_put(struct module *module) {} + +static inline bool +try_module_get(struct module *module) +{ + return (true); +} #define postcore_initcall(fn) module_init(fn) From nobody Thu May 7 12:08:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gB9xx6N2zz6c9y8 for ; Thu, 07 May 2026 12:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gB9xx4kxWz3vF2 for ; Thu, 07 May 2026 12:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778155701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fnWAZTz6fBp47AK/a+NCMpJ1BOHSdqEzbUAD5ke1GBk=; b=BwfvwbOixr4QMubhxhhIQPO2WtYGcf6WUCOBvdXGkP7EuierEzszwZkom/HbHHoySQLtjp UvGxhzQWV83qLtYbT+fHdDP8YjiN1H8l3icdlegnca+SJ5zlyGhavvFDRINcCs+Oe29oEv AEuK3cjNd31DbX+3f5C3zLSDLFmYGtj/HD4U+Sh3AyyZPmwJH1dSNnRkak1sS3eudSVOm3 8AKnPyFfZlficOiEz91JpWk5sn/Sh7EBl+medPDfZsb2s1HRO3N4N13/j1iZzqxpACGeGG yN7O8QuETPNm7K2Gg0gn+0FBfcY9F05CBLXq8dbK7Cvz+mgELzgzP3QWXlCmJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778155701; a=rsa-sha256; cv=none; b=BYi5uTqvjTxPo9tWmFg6DYAIfvz9dk3RGApN80skmfZTYLbVftr9LhZoNsRK2kRkIDvf/m kNGk6p4KgOu+jSa9liVPCzxCV3gWFqMI7NMrh+dQ2PeaRJC+d28zER8B0Ywdq6EPdk2NOu msYgQHqNuonjBCu6hjhvoz7WfONBcBUfvBP9tCCBgk9b9RyccES0pf5Rf3ujfjS803iwO4 iDlAGGdSgmaO17NfGlKW55LNRm2gUHHL0afTV9pb/PrVXUgy+nSLJOHTqLP9ZCejOr5m5A oyDncMw9u0rtMh8dhTTFaXL24vEPWLAgGoWT8SnSrw5wYxQC6Cqa4yQvcbeAjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778155701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fnWAZTz6fBp47AK/a+NCMpJ1BOHSdqEzbUAD5ke1GBk=; b=LIyq0gJRMthak36+++pzkY5V7fyYdvs6udZXCq0KQBmvzOHOTG9Muuoy1F0cN+MXjugRvF 4PJdK385QtBG7hFrs7o4stLtz1vfOG2u+OY/ITxMfuPA7CssvXAEmAZs1mOxfYUJ+S3Ypk BzreD45IaoCnNc89yCF65lC5UZajSlluE+eXkPHc8mhxmpTEQ24byP2p00d6JjfeEeUMnc 3ro0gebxKAbeknQNzU8maT3vpHJ5rrUubfCCR2vD9sXuJu5ZLn0n3Kwowia1Keu8pwf13d QLHq9Gj3Hx1sXFBo2h5veeiZCH38W+9bwHph6RhNRCRBOqD1Z0ng7aWi6K69Zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gB9xx4L73z8mt for ; Thu, 07 May 2026 12:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39d61 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 12:08:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Boris Lytochkin From: Andrey V. Elsukov Subject: git: 4e57c937999d - stable/15 - etcupdate: fix arguments order of diff command List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4e57c937999df5b186ccf827542aee717baab07c Auto-Submitted: auto-generated Date: Thu, 07 May 2026 12:08:16 +0000 Message-Id: <69fc80b0.39d61.3bdd9662@gitrepo.freebsd.org> The branch stable/15 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=4e57c937999df5b186ccf827542aee717baab07c commit 4e57c937999df5b186ccf827542aee717baab07c Author: Boris Lytochkin AuthorDate: 2026-04-30 11:31:34 +0000 Commit: Andrey V. Elsukov CommitDate: 2026-05-07 12:06:54 +0000 etcupdate: fix arguments order of diff command Due to misplacement of the second -L argument of diff command, it is treated by getopt_long as an error. Also add -l option for a diff command that alters the way it shows differences. Instead of printing full diff, it reports changed file the same way as added/removed files are reported. Reviewed by: imp Obtained from: Yandex LLC Differential Revision: https://reviews.freebsd.org/D56708 (cherry picked from commit 6d65c91b9a4743bbffc3508bf754e68b65bbd494) --- usr.sbin/etcupdate/etcupdate.8 | 7 ++++++- usr.sbin/etcupdate/etcupdate.sh | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.8 b/usr.sbin/etcupdate/etcupdate.8 index bf7ddb792907..6216722fc81f 100644 --- a/usr.sbin/etcupdate/etcupdate.8 +++ b/usr.sbin/etcupdate/etcupdate.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 15, 2024 +.Dd April 30, 2026 .Dt ETCUPDATE 8 .Os .Sh NAME @@ -51,6 +51,7 @@ .Ar tarball .Nm .Cm diff +.Op Fl l .Op Fl d Ar workdir .Op Fl D Ar destdir .Op Fl I Ar patterns @@ -468,6 +469,10 @@ shell pattern. This option may be specified multiple times to specify multiple patterns. Multiple space-separated patterns may also be specified in a single option. +.It Fl l +In +.Cm diff +mode list files that are changed locally, omit printing content difference. .It Fl L Ar logfile Specify an alternate path for the log file. The diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 7bddd6593b56..f62343a24eee 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -531,9 +531,15 @@ diffnode() echo ;; $COMPARE_DIFFFILES) + if [ -n "$difflistonly" ]; then + echo + echo "Changed: $3" + echo + break; + fi echo "Index: $3" rule "=" - diff -u $diffargs -L "$3 ($4)" $1/$3 -L "$3 ($5)" $2/$3 + diff -u $diffargs -L "$3 ($4)" -L "$3 ($5)" $1/$3 $2/$3 ;; esac } @@ -1791,11 +1797,15 @@ ignore= nobuild= preworld= noroot= -while getopts "d:m:nprs:t:A:BD:FI:L:M:N" option; do +difflistonly= +while getopts "d:lm:nprs:t:A:BD:FI:L:M:N" option; do case "$option" in d) WORKDIR=$OPTARG ;; + l) + difflistonly=YES + ;; m) MAKE_CMD=$OPTARG ;; From nobody Thu May 7 12:11:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBB1B4jPwz6c9w2 for ; Thu, 07 May 2026 12:11: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 4gBB1B2b6qz3vYZ for ; Thu, 07 May 2026 12:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778155870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zw8pH8CyhjPR4Lpvtdres0uZgwET3Fex5JD++0nzwY0=; b=ZE40Cx3J8Q4VgborKGN97Gq7VqHsAD2S6la5jKwW+uaep3jzfjk4cxhVw0LgVM/ZEIlgYI oJOJhYWC2Mgo/IiDo2D5GosLg9DYqTF3/hb2f/LbVYULWRw9RC7PpET+WqHyeGWM4ifR2y 3xkt8yRfDyXm7LQ3Y/Ejt3KAHFcTwR7RvcgnKVN2fsW5KKYOmia8fnBI/+x8ZEfQ+zpZoH z5X45IZvI63jT8W53jB4Kl3ys+cI/+wz/nTgZxFX9FWHxmH4ObmpOPk7EJnEsOnjR/qb07 o2PlVwN9D10yw29gRgahh4OAnZeOcrC4eUGYiHyw+Ax0BqLpp9rSRM3Ffo746g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778155870; a=rsa-sha256; cv=none; b=iZkXKOLkjbI11hnurF5uPwElyOYZvR83D2iPJFnuTQZG6smRDihxfRtNxdSG46zUSh0/OA RWcDWHjiIBJ0s8hUjamedymo9AcL9lJia3KG7oMs1OMoWBfqCatoJqnhpMuftzoV/b6q9Z gXa4J8npQ+MQtlVGtOmarTiePIiCGDGzytfsyULs9pue52Tr4/8gH4J0iKtoK+xN18mrJg jAUu7OkWZPKiIKlZFhLrPWgCh6grTETvpepMnalywl4w+uouczJvPQMN42cOHZS5ZS8gYO +ab5YDB2lhHm+jYbF+jyCTCDPFV1QOZDs1si56TWEM+ZaKIzPfFbg4q02ULZ4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778155870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zw8pH8CyhjPR4Lpvtdres0uZgwET3Fex5JD++0nzwY0=; b=OpdWYZP3U+s06vDp0LppSHXWqkuOdbw3WMejNsl9m6lRQKZuVIzqvke34eqzOW8UeSopbJ ngWAHh0X7/lvbgt9zK6PvwHvLppMwBeh0Ocd8TMkKf4hlXxapgduFLioJDDH7ZGLRN7mB1 /Joq0EZRobRBRQYQaJdLiGjcBlVkPK686SikmuvWn2YG/3TNcNuM40e3rqp61QQm5cPgQT krJbQmz5KPdfeMf6xReRr3JgHVZxMTaalmaLwEyjixoRAW2gDH0AcnPtuVbRvwq+aTgtOT XVnqjattXOSrMMDrKGyMSBJf/KE5doNcDzhRbHvXFP1/ow8+bOBhlLOESi8gNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBB1B1NK7z9NN for ; Thu, 07 May 2026 12:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b257 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 12:11:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Boris Lytochkin From: Andrey V. Elsukov Subject: git: 81df9a1045c3 - stable/14 - etcupdate: fix arguments order of diff command List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 81df9a1045c3e1778c551fcd62125e0b5d2b76f2 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 12:11:10 +0000 Message-Id: <69fc815e.3b257.27996b85@gitrepo.freebsd.org> The branch stable/14 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=81df9a1045c3e1778c551fcd62125e0b5d2b76f2 commit 81df9a1045c3e1778c551fcd62125e0b5d2b76f2 Author: Boris Lytochkin AuthorDate: 2026-04-30 11:31:34 +0000 Commit: Andrey V. Elsukov CommitDate: 2026-05-07 12:09:41 +0000 etcupdate: fix arguments order of diff command Due to misplacement of the second -L argument of diff command, it is treated by getopt_long as an error. Also add -l option for a diff command that alters the way it shows differences. Instead of printing full diff, it reports changed file the same way as added/removed files are reported. Reviewed by: imp Obtained from: Yandex LLC Differential Revision: https://reviews.freebsd.org/D56708 (cherry picked from commit 6d65c91b9a4743bbffc3508bf754e68b65bbd494) --- usr.sbin/etcupdate/etcupdate.8 | 7 ++++++- usr.sbin/etcupdate/etcupdate.sh | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/usr.sbin/etcupdate/etcupdate.8 b/usr.sbin/etcupdate/etcupdate.8 index 5eb2aa644037..3c546b324311 100644 --- a/usr.sbin/etcupdate/etcupdate.8 +++ b/usr.sbin/etcupdate/etcupdate.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 9, 2022 +.Dd April 30, 2026 .Dt ETCUPDATE 8 .Os .Sh NAME @@ -51,6 +51,7 @@ .Ar tarball .Nm .Cm diff +.Op Fl l .Op Fl d Ar workdir .Op Fl D Ar destdir .Op Fl I Ar patterns @@ -468,6 +469,10 @@ shell pattern. This option may be specified multiple times to specify multiple patterns. Multiple space-separated patterns may also be specified in a single option. +.It Fl l +In +.Cm diff +mode list files that are changed locally, omit printing content difference. .It Fl L Ar logfile Specify an alternate path for the log file. The diff --git a/usr.sbin/etcupdate/etcupdate.sh b/usr.sbin/etcupdate/etcupdate.sh index 7bddd6593b56..f62343a24eee 100755 --- a/usr.sbin/etcupdate/etcupdate.sh +++ b/usr.sbin/etcupdate/etcupdate.sh @@ -531,9 +531,15 @@ diffnode() echo ;; $COMPARE_DIFFFILES) + if [ -n "$difflistonly" ]; then + echo + echo "Changed: $3" + echo + break; + fi echo "Index: $3" rule "=" - diff -u $diffargs -L "$3 ($4)" $1/$3 -L "$3 ($5)" $2/$3 + diff -u $diffargs -L "$3 ($4)" -L "$3 ($5)" $1/$3 $2/$3 ;; esac } @@ -1791,11 +1797,15 @@ ignore= nobuild= preworld= noroot= -while getopts "d:m:nprs:t:A:BD:FI:L:M:N" option; do +difflistonly= +while getopts "d:lm:nprs:t:A:BD:FI:L:M:N" option; do case "$option" in d) WORKDIR=$OPTARG ;; + l) + difflistonly=YES + ;; m) MAKE_CMD=$OPTARG ;; From nobody Thu May 7 15:27:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMD5wXcz6cjcP for ; Thu, 07 May 2026 15:27: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 4gBGMD5CXYz3RVy for ; Thu, 07 May 2026 15:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5s4pvBWxC7Omf0brDShojEfI2xz8nv6etWfCAk0DG4A=; b=wyFlvcQa7Lcb+mEN5+iniV1KeGeIpuAobTfAW1azPOpx9v8YTfhbl4viK0lzjYxFF5sKQy U9oJOAHs/hsCXa0hsHPbLC1nRuL2nSSsbbItRLU5W0MWq0WS3/jzJUJQxaHCTW97HI7lOY t9mAmBf6sUJRPFKtyWfzK4Ei9jKsoa8Y1kzDzR/4aY//1hDtnLzyqFDPdiBAs1Ht6EP1lf Gvqgv29Cw65EXJSznvLaGR7P0saHe3m66p/7r0wawTyevQAwgRMc240Y9tb4cVpFSL9nFC 9DnU0Htj+ND38quuW/BhLUrO8Z3BA+OJ0QeWfzHbxEk0MDskUNxJ5vQuo2QqAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778167624; a=rsa-sha256; cv=none; b=ahKRHaBqDlAm1JAwOnyAu88boTkLuAE8GDTIoCXafITVge6db2QKovVxJN80glEKfAptZ0 5FS8SJ3A2BSvjshAbIp+QLvIETLvDNAz/mCtJSULPYaFKr1CCNRSdian3jcclxprg1f9ga tx5K4l+YlxgzxK//KaO36rjhL7WCj/wC+iOIyWdSgl22gNi7vgcwougqlPqQugsAkY2Po+ O95lpAesaFgj38BKGgHzm8syc7NS5pkRoDkGUppCZmUxHHolIl0DD7QM6iiCY573tw8eC8 FRfIuN78Xq6Z5/wM8LHpt4WIrODSJ2BMvH97GFPRX04jsDheFGzRrWtrEoWHJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5s4pvBWxC7Omf0brDShojEfI2xz8nv6etWfCAk0DG4A=; b=GXMUqY3Kop04ZXyYZXS6YZd61jJuH/SEhcMjP29P0mi3lbo4Sr/pGd7NBFbRDlQDlE+JKc ft0tJ/5TDglCPAX0V1Gy2UD0qq4RDltjMXbJIxtb6Bt7rTEuEsjbUOwN8OnUFWVHGW/97N AUIPaOqGiLYxsE3mXij23HFxt/errPWN1hphsYS3ChAkfHvNVlxJrryJaYypnTJjQm0n9e DJ06fqcq1wewlo4gTgdf0rS+VQf5Ticg2bxCQBVWzYBv1NYdik4RKptJZuxbvQEEt24egy YM2tkoE6eVSuU/vntv/SDJ3wUePE3R/w0ddPPFZuHbmGFcSluIm5+bxjL9x2XQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMD4GH6zWqC for ; Thu, 07 May 2026 15:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3021b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 15:27:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: ee2fc974e071 - stable/15 - nlsysevent: add manpage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: ee2fc974e0716040622926c7c8ca8df09284e6f9 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 15:27:04 +0000 Message-Id: <69fcaf48.3021b.327c5aca@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ee2fc974e0716040622926c7c8ca8df09284e6f9 commit ee2fc974e0716040622926c7c8ca8df09284e6f9 Author: Baptiste Daroussin AuthorDate: 2026-04-09 08:50:41 +0000 Commit: Baptiste Daroussin CommitDate: 2026-05-07 15:26:10 +0000 nlsysevent: add manpage Reviewed by: des (cherry picked from commit 72d701eb1d83cfb3479e4c839412325ff9efc97c) --- share/man/man4/Makefile | 1 + share/man/man4/nlsysevent.4 | 132 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 62d0b8f77f0f..23057e016f7d 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -428,6 +428,7 @@ MAN= aac.4 \ ng_vjc.4 \ ng_vlan.4 \ ng_vlan_rotate.4 \ + nlsysevent.4 \ nmdm.4 \ ${_ntb.4} \ ${_ntb_hw_amd.4} \ diff --git a/share/man/man4/nlsysevent.4 b/share/man/man4/nlsysevent.4 new file mode 100644 index 000000000000..3b46ab65f568 --- /dev/null +++ b/share/man/man4/nlsysevent.4 @@ -0,0 +1,132 @@ +.\" +.\" Copyright (c) 2026 Baptiste Daroussin +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd April 9, 2026 +.Dt NLSYSEVENT 4 +.Os +.Sh NAME +.Nm nlsysevent +.Nd Netlink-based kernel event notification module +.Sh SYNOPSIS +To load the driver as a module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +nlsysevent_load="YES" +.Ed +.Pp +Alternatively, to load the module at runtime: +.Bd -literal -offset indent +kldload nlsysevent +.Ed +.Sh DESCRIPTION +The +.Nm +kernel module provides a +.Xr netlink 4 +Generic Netlink interface for receiving kernel device events. +It hooks into the +.Xr devctl 4 +notification system and re-publishes all kernel events as Generic Netlink +multicast messages under the +.Dv NETLINK_GENERIC +protocol family. +.Pp +This provides an alternative to reading events from +.Pa /dev/devctl +.Pq used by Xr devd 8 , +with the advantage that multiple consumers can subscribe to events +simultaneously, and consumers can selectively subscribe to specific +event groups. +.Ss Generic Netlink Family +The module registers a Generic Netlink family named +.Dq Li nlsysevent . +The dynamically-assigned family identifier can be resolved using the +standard +.Dv CTRL_CMD_GETFAMILY +request as described in +.Xr genetlink 4 . +.Ss Commands +The following command is defined: +.Bl -tag -width indent +.It Dv NLSE_CMD_NEWEVENT +Sent when a kernel event occurs. +This message is never solicited by userland; it is only delivered to +sockets that have subscribed to one or more multicast groups. +.El +.Ss Attributes +Each +.Dv NLSE_CMD_NEWEVENT +message contains the following TLV attributes: +.Bl -tag -width indent +.It Dv NLSE_ATTR_SYSTEM +(string) The system name that generated the event +.Pq e.g., Dq Li ACPI , Dq Li IFNET , Dq Li USB . +.It Dv NLSE_ATTR_SUBSYSTEM +(string) The subsystem name within the system. +.It Dv NLSE_ATTR_TYPE +(string) The type of the event. +.It Dv NLSE_ATTR_DATA +(string) Optional extra data associated with the event. +This attribute may be absent if no extra data was provided. +.El +.Ss Multicast Groups +The module creates one multicast group per system name. +The following groups are pre-registered when the module is loaded: +.Pp +.Bl -column "HYPERV_NIC_VF" -offset indent -compact +.It Li ACPI +.It Li AEON +.It Li CAM +.It Li CARP +.It Li coretemp +.It Li DEVFS +.It Li device +.It Li ETHERNET +.It Li GEOM +.It Li HYPERV_NIC_VF +.It Li IFNET +.It Li INFINIBAND +.It Li KERNEL +.It Li nvme +.It Li PMU +.It Li RCTL +.It Li USB +.It Li VFS +.It Li VT +.It Li ZFS +.El +.Pp +Additional groups are created dynamically as new system names appear in +kernel events, up to a maximum of 64 groups. +.Pp +The group identifier for a given system name can be resolved via +.Dv CTRL_CMD_GETFAMILY +and then subscribed to using the +.Dv NETLINK_ADD_MEMBERSHIP +socket option. +.Sh EXAMPLES +The +.Xr genl 1 +utility can be used to monitor events: +.Bd -literal -offset indent +genl monitor nlsysevent +.Ed +.Sh SEE ALSO +.Xr genl 1 , +.Xr snl 3 , +.Xr devctl 4 , +.Xr genetlink 4 , +.Xr netlink 4 , +.Xr devd 8 +.Sh HISTORY +The +.Nm +module first appeared in +.Fx 15.0 . +.Sh AUTHORS +The +.Nm +kernel module and this manual page were written by +.An Baptiste Daroussin Aq Mt bapt@FreeBSD.org . From nobody Thu May 7 15:27:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMG0KN3z6cjlW for ; Thu, 07 May 2026 15:27: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 4gBGMF5MQfz3RGt for ; Thu, 07 May 2026 15:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZjzZQ3S4ST5TvBnhnz3eXuy/XB3l5Y+odWYzxgJUFVY=; b=NjU2Xe+LVb47foWy/eU2tE+gZTDvY9gytYduAbF/lqT3qekATGYp79V/yG4NnlgjSJUVnK NHYaFytvBncehC+2InVooznbeF5VD2FJknmnrM6XNVLAXZr4vXxyFY0qOcPMHmF3e/K9SJ 5XfL7QM+hXczlcAtWLOzz9HMbJiWqOGLZDYbOYc4p9w5U0s+w4Ki76Hw7eYgSlTW9kiRsK rmHnHEdSz0n5Pegg+UH8UU05l38qFTgAQOCazaPbo3Yl7M3PKDpQA/sDhClGEyBfWewbFd alzag4iK3nsmNJZbXNEo7D49IV1GkKTULooSIaAt4iUKOR0xZxD3/dwYrtDg5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778167625; a=rsa-sha256; cv=none; b=HAiVLbDZa74nfSRb0g8Nxhj8zXCVOPqUiVPrFIb6bRsA53cH3dzPlQesDNishoB6cUEEJh +29tzpXOnmM8QIMnZYbSktM4M/lVqLMyCElqIhdhQCMSVDLaZIx5NN5eZuZFVTFUj9KleB EOjEEyZvz9buEZjvTcv7KlPOHH83yPrGKrBzMSEdGV+4uqWQAsRjZ/UZGtFGySzs4JOTyF /hEXDcM7GpOP5s3/T9JdOlXEFscOwnzp1dWuGgYTk4Y/Q1c2on8G+CZ6d3uhtGW/eLdbh1 f+zMujlElotZ6Wui97oLYsTOtj8UppYfKkXVDxrZI9j474Hj98jgDI0DxeYuQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZjzZQ3S4ST5TvBnhnz3eXuy/XB3l5Y+odWYzxgJUFVY=; b=LqwX4V6tGY+hz7LbgLe8XaLjrJVRUi3b6g2vGwplF7iw+/Et6/GZ2ZZpMIclPfKkB2RtdQ eqUm+0FYJbTpYH7rory1CdROQbxilhjzcUEDRAEnRKD6a+YUMLcPOd20XTx9Rrp9Ep4xPO /H29d7CB0XgaJfeFWi4ULDosHCDL5Zqqpi8/SZ2wNupm284CkF+UE3qM/2r2PB04F7ZlnZ 9uCrE0s5qQXTH/hPCfKqpq7C5jQj58rKEh1DIe7//rXXuBAU6Ydh5tNLEtYCy3PuscepnY h9xWPP41mtihsUokzm0hWb4oLXopkrNxTQsUKgeGWRoyaR+gcTaFa5KMVV1UoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMF4TLRzWqF for ; Thu, 07 May 2026 15:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30137 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 15:27:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 4211f280ba08 - stable/15 - nuageinit: only parse user_data as yaml when necessary List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 4211f280ba087c75dcd84f9b592238b2eae33af9 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 15:27:05 +0000 Message-Id: <69fcaf49.30137.708c942d@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4211f280ba087c75dcd84f9b592238b2eae33af9 commit 4211f280ba087c75dcd84f9b592238b2eae33af9 Author: Baptiste Daroussin AuthorDate: 2026-05-06 20:14:17 +0000 Commit: Baptiste Daroussin CommitDate: 2026-05-07 15:26:10 +0000 nuageinit: only parse user_data as yaml when necessary This fixes a regression introduced in cae280931c9e which prevents user_data as a shell script to be used PR: 295062 Reported by: Ross McKelvie MFC After: 1 day (cherry picked from commit c316ec259011e9e22e40eaa72d834f3bfac95c28) --- libexec/nuageinit/nuageinit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index f7700f7d8e70..a1ebd3f52b25 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -727,7 +727,7 @@ local function load_userdata() f:close() local obj = nil - if ud then + if ud and line == "#cloud-config" then f = io.open(ni_path .. "/" .. ud) obj = yaml.load(f:read("*a")) f:close() From nobody Thu May 7 15:27:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMG6btVz6cjlX for ; Thu, 07 May 2026 15:27: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 4gBGMG5pGWz3R54 for ; Thu, 07 May 2026 15:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hvtXIh5KDeue8X90OERMSCpEC11W3J9X2kGvMNlcik=; b=Pmbox/otZNLfGhWOrYKdSEVSvkSkgp7Kx1u8zj/Vx2bO0BawTolS1oAU9iy2+0eHFphhjo 8+t2fFarxxMtBDfcS10jobdsfxRdEn8RIzBU3HLNafjWmBoz1H8/OvnZfI7Cu25R2/MCP4 T/3nJyCfFvE6Zu+sQDrca+LQxjMTXNDHAzBokzykVRFttgpQtKiAg+G8ruwDYXEXTnQxvl lACb/+sK0wnM63JDcJ8+4aCRzZlOveGMKRp8aIeWx/wlstUCbh0CQ4vty3FTpQA2311PuX xpK50o7Fpg6VF/KbWxU19Cp7UqumLXDDSLbvdKVFGTyX090daQVaPeFDEttOUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778167626; a=rsa-sha256; cv=none; b=isbmMRniM+PM00axxFG13LWXQ9hB/zVd927uVs6ubfG1J8beoTKktldo5CaflXWoLIS3o+ H0vC50HrOS9vu+R6A2l1KkLPRUfAyWg6Ty4nKZW0T9U0++LSH+KN0VpGvKlnowD3wgPB3w JlyIVnUCAjZrwxr90j1jZb+HNisiNH/rRhSt+69TkOBMfT0WTgvvOCSWkoBmAYEH91btB5 /V4JgcNxAh0DUIjpSVGetnPoKCwNrB4VBePEsDQHieb1frCRHCBDqmsDLsCn12Z63nC1bK ZS9FNMqb0GXEn7L2RRIyWgcs02aOwZBewYIu1DMXimPcqDH5yvKYd1aEl61x6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hvtXIh5KDeue8X90OERMSCpEC11W3J9X2kGvMNlcik=; b=wpfQkPSEaXZr/m+4UfVlvlLjXtBKtvDiPVefdi2IB2sMIlwhaQ6Z0KGdAWW5RgbAWOHwW6 TjoDOxEeDM8NJUV58Z9xqaJGjJ+53OWBrqBJ9uPoIT3SplLjo9zy55IXGXbGThMgS0k2Cb WO63TXumxeb2f1X5nUv+TQNupfEneJDZuhVDHX+HlZ8GmrMKIgyGL25U/4xIafl7rm57UU +KRbct7Fbz9hA8PdKlzXc+kDu3xIj2bbCqk83oq4joh5MbX1/V7GldCXQV3NRBe/yv8ghc m1m0S/qOEYHR252EZDu7v+hewXrAjdWt8/2QgdKylvys0xRlLMZPmF7V+/icIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBGMG54W4zWqG for ; Thu, 07 May 2026 15:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30652 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 15:27:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: da3414a1a892 - stable/15 - nuageninit: modify the test to show the issue fixed inc316ec259011 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: da3414a1a8924327931cd8842a45693eeff7012a Auto-Submitted: auto-generated Date: Thu, 07 May 2026 15:27:06 +0000 Message-Id: <69fcaf4a.30652.3379ed9e@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=da3414a1a8924327931cd8842a45693eeff7012a commit da3414a1a8924327931cd8842a45693eeff7012a Author: Baptiste Daroussin AuthorDate: 2026-05-06 20:45:50 +0000 Commit: Baptiste Daroussin CommitDate: 2026-05-07 15:26:10 +0000 nuageninit: modify the test to show the issue fixed inc316ec259011 Ensure the script used is invalid when parsed by libyaml which highlight the issue revealed in PR295062 while at here validate the mode of the file is properly changed PR: 295062 MFC After: 1 day (cherry picked from commit 2a86992ab5019b4997ccadf7427011ba44e33c97) --- libexec/nuageinit/tests/nuageinit.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 3a01413f8487..1fd68d5a178e 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -76,10 +76,12 @@ nocloud_userdata_script_body() { mkdir -p media/nuageinit printf "instance-id: iid-local01\n" > "${PWD}"/media/nuageinit/meta-data - printf "#!/bin/sh\necho yeah\n" > "${PWD}"/media/nuageinit/user-data - chmod 755 "${PWD}"/media/nuageinit/user-data + # ensure this is an invalid when parsed with the yaml parser + printf "#!/bin/sh\n: ${test:-yes}\necho $test\n" > "${PWD}"/media/nuageinit/user-data + chmod 644 "${PWD}"/media/nuageinit/user-data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud - atf_check -o inline:"#!/bin/sh\necho yeah\n" cat var/cache/nuageinit/user_data + atf_check test -x var/cache/nuageinit/user_data + atf_check -o inline:"#!/bin/sh\n: ${test:-yes}\necho $test\n" cat var/cache/nuageinit/user_data } nocloud_user_data_script_body() From nobody Thu May 7 15:28:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBGNX369Vz6cjfq for ; Thu, 07 May 2026 15:28: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 4gBGNX2Htyz3Shm for ; Thu, 07 May 2026 15:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fni3cTJB3bR7lCqpMn/CG2aRjK82tP/y/JTYvtvxr5M=; b=KRtDvRHNsoTRBkwNfIucvqc+7bq8shU5hTfP2pDQjRDt8keK2FaIfBixg/7aAMPlUroMd0 eiwM8Uxr2KgGQAITCXCLLcbOAcXQb9RF3l3cGyzP57Si9KHDGXEaGU3UnKQCivYYB1eY9s wbsv07UVjV5fWiTMfxtAub8zmt0vWFWcpjFuUWsioUWLubQwr7yNUe13yqycxijXSMdAlO 2u5RIg4z9fUQBddQF+YLFMVmmKHON1vkQLRD1K2uKWvFZPPzXkstSVf1yBtw6Pqr8aKYzt MjdUTi65FM4Oia1ymTxNcmk4+ygGMqqhOPYHCWS0jxJDpxSyjVNVck2bde+eUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778167692; a=rsa-sha256; cv=none; b=KIF7gKujUuQGBhVIAd+Irr9XZ+DJGEXkJtV/Cz7sNnOmNJ0WvoX6nZASD/7QdAHbrJOfVm Lg58id03oyPfJFevnQ5rVQBFTqbuK40tXunYl6D3G75G9OPHMcvxJUsmvKOWDpAnRI7M5m BRsD2x9XX/3b4D+smtwyh3wDfnKPLb12+1WXXBYxTru9Qsjk/wu/Kvh9HBFxhaKDvHjNGQ n/L51nwLg8hYAxSMBELYzZ075qHDHnMCaICN2L5bk5tBO4KzOUnHvFdLmrFdn8XLBkiiDC oH741D0ECVCLcJZHBR/msu3Q521tom0M9ljKN//hoLbaPAVZb8+iQWU0Pjj/7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fni3cTJB3bR7lCqpMn/CG2aRjK82tP/y/JTYvtvxr5M=; b=jvx9cZ3aQGi7uZFb1wjYCokaxxLutZUO5lvucmAhsGvz5Y+3CuoSJ/q2zwriNY96DUimgs UsK/w4zfmlIyWV80+lqVjl9S9ZGjq9Tm7BaXKMnpa0puESL+RML6q3tJrzAOa5UgNbZp12 MTPA5VFFXNleWeGduM3tx0o15oGVsoe0oiSUfPah590uwPB0OrW+jDndr4yQy6GQX1wEuv HZh+n8BI5Dzz9VzIFsCuED/CqzFuy4XvhmDv4xIaGDfe1yRLXnVZ7meWwcuIiWiglRsW9o qRQwCoIqeNkodZjPmEAUo/yDHRNwulgHJRxCW1EOq1Pcm4ul6aiYJ/sZTv6NEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBGNX1hG5zY1P for ; Thu, 07 May 2026 15:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 275c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 15:28:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: e7913c8c79ec - stable/14 - nuageinit: only parse user_data as yaml when necessary List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e7913c8c79ec54d2522ca3311bad58ccecb27991 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 15:28:12 +0000 Message-Id: <69fcaf8c.275c6.3a7fad5d@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e7913c8c79ec54d2522ca3311bad58ccecb27991 commit e7913c8c79ec54d2522ca3311bad58ccecb27991 Author: Baptiste Daroussin AuthorDate: 2026-05-06 20:14:17 +0000 Commit: Baptiste Daroussin CommitDate: 2026-05-07 15:28:03 +0000 nuageinit: only parse user_data as yaml when necessary This fixes a regression introduced in cae280931c9e which prevents user_data as a shell script to be used PR: 295062 Reported by: Ross McKelvie MFC After: 1 day (cherry picked from commit c316ec259011e9e22e40eaa72d834f3bfac95c28) --- libexec/nuageinit/nuageinit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index f7700f7d8e70..a1ebd3f52b25 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -727,7 +727,7 @@ local function load_userdata() f:close() local obj = nil - if ud then + if ud and line == "#cloud-config" then f = io.open(ni_path .. "/" .. ud) obj = yaml.load(f:read("*a")) f:close() From nobody Thu May 7 15:28:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBGNY3qHRz6cjXs for ; Thu, 07 May 2026 15:28: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 4gBGNY2gYXz3Shn for ; Thu, 07 May 2026 15:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=belrPqvag8cqm67X7WX0Uuy+8TgCU+jBB39e3qczMuQ=; b=g0KHvzAiAQS8V2tAsy7r1eGcMkgFdE971q++/Lm1Fl4G5fmMj4ER5rsU5Bvp7wp2Rpzari BS+cwqrsJdyvQa4LTROnsYg/v6IC+GRJi7zaubvAtirDsqqoRydUHjBJqL5ApIP/tgNn4j gs+sW+n9sDDTqAtxp796J4HrnaSCJZ2LBmifBieRMGXOl35m/k0zZJ3sNEaS3gsdq9Q8Qv PNF1XbiJZlmvboUVjJ/FmLR2O+dMM3bO42aRhQKTQSCfdCXTUMLqPSvzA3vdgCJ+qzUTN2 JHpL407BA/Rq109M810PSP4+eBAWmdOOf6xfW6MwjNayNT1Mzi0BwzAqOu1KOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778167693; a=rsa-sha256; cv=none; b=hBhyktaL35yADdqXShaATO/5j+VXXEVYMHsBNbU748Gq+JgS6iFCgDPJJQ2AIOoW3SQzqS QMFQnhhwDhQnT/gY6OZie5TxsoltibWq1eeLs4cDnusq4ceElxrYw0SBpv37eFFvCHAz53 LSE6tR+8MotDKfoGRz/JXfcgUFnqQof7i/P/3LXH5Tc7tmzz9r/xGXGBdi6DS+S6ow/Mw/ foXWTh7RaIoSTlN6hmO4O3PEgiXrmO0CkDoZBIhv0ymCPxQTflqE9hhYRRSsNdUXYqZCjS 0GVgL8lyqAfLSknXwgDhLWB1EQ65e0OoeFP/oiQP0TIqWUHAt7cZPWjkuoi/yQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778167693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=belrPqvag8cqm67X7WX0Uuy+8TgCU+jBB39e3qczMuQ=; b=XRKnMjq8VdBpoA4rPNfwKEGgXOnIH+bWCG94KzOis9Yuk98mHrcIH5EHQgLk/AM5bQ1/Wp XmfoXZtqnBdfqeHolUsbhdNPdUqtZKHMsXJ6DR52ypTDnLkysPOESPSOGTh3hG3kuw9vkQ DskgY092KjPXMQj66zXiyA6HP0mCWMeCffB33y3cvxuu+MEa68OgbIIpy4EBtigSwUC6Dd PZx66mY55o5T45dVvfO7GLxEojq4/GsYMlMJRJLLPLiG0slN8L87SrXLu6h0qChKyBYU2x +rgSmBFiiboi6ARDt/VxM1J/CMh5ymUKKiAHDRzqdFMF7mDNYjhfGdjL9qGWnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBGNY2BRLzWgw for ; Thu, 07 May 2026 15:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30334 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 15:28:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 48862dc1d8fc - stable/14 - nuageninit: modify the test to show the issue fixed inc316ec259011 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 48862dc1d8fc03fec7523fe26c7b2e98be9d6bc9 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 15:28:13 +0000 Message-Id: <69fcaf8d.30334.170ae21e@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=48862dc1d8fc03fec7523fe26c7b2e98be9d6bc9 commit 48862dc1d8fc03fec7523fe26c7b2e98be9d6bc9 Author: Baptiste Daroussin AuthorDate: 2026-05-06 20:45:50 +0000 Commit: Baptiste Daroussin CommitDate: 2026-05-07 15:28:03 +0000 nuageninit: modify the test to show the issue fixed inc316ec259011 Ensure the script used is invalid when parsed by libyaml which highlight the issue revealed in PR295062 while at here validate the mode of the file is properly changed PR: 295062 MFC After: 1 day (cherry picked from commit 2a86992ab5019b4997ccadf7427011ba44e33c97) --- libexec/nuageinit/tests/nuageinit.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 3a01413f8487..1fd68d5a178e 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -76,10 +76,12 @@ nocloud_userdata_script_body() { mkdir -p media/nuageinit printf "instance-id: iid-local01\n" > "${PWD}"/media/nuageinit/meta-data - printf "#!/bin/sh\necho yeah\n" > "${PWD}"/media/nuageinit/user-data - chmod 755 "${PWD}"/media/nuageinit/user-data + # ensure this is an invalid when parsed with the yaml parser + printf "#!/bin/sh\n: ${test:-yes}\necho $test\n" > "${PWD}"/media/nuageinit/user-data + chmod 644 "${PWD}"/media/nuageinit/user-data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud - atf_check -o inline:"#!/bin/sh\necho yeah\n" cat var/cache/nuageinit/user_data + atf_check test -x var/cache/nuageinit/user_data + atf_check -o inline:"#!/bin/sh\n: ${test:-yes}\necho $test\n" cat var/cache/nuageinit/user_data } nocloud_user_data_script_body() From nobody Thu May 7 17:17:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJpx3NSsz6csqD for ; Thu, 07 May 2026 17:17: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 4gBJpx1ffvz3jg5 for ; Thu, 07 May 2026 17:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXZrHm81HrksYnBqpi0RrX/VUxIk0j8DaqF+Y4PJ5us=; b=b65/iqRjJ9V849Mb5GUCJrhQG9WPrdT8c+7D1S50kGnn/huQkMEdfehvdciwokATcjBoRp tBzWFrZCWZH8wRZO1mDgZyNieTNfDYwdiyNxTvgnewAVK0pIbZ7jeTcFR8s6MBC8CSgFu/ yzT+kodCFq7M5Eir0UQ33ojwMIacTnjblbSArmeYw0nt3HukJMO/aRhYKQfctButnO18z6 VReNqU51NIXahWMkmJCboeQ+QCD9K4sRp/MlP3dU2KlHtwwJLQ5CPlIZIInDo22kCO9aFg vcffZgayqBGOO3Iy0TDvGWkulBJMXZURRpGhHXCES319xZexwE7lKCsMxEpTkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174265; a=rsa-sha256; cv=none; b=adFGrqBmwv6YXH6QTbi7q/9SdhVK6AYGRVEBjWweKqnh2ZAb3nujKmiKFDp+z+WSnLTq9M SHIeE+av7hP+3jdDlFSMBhd3vKZ9PMio4mvVssO/IdyW1sQykp4oWrLt2CR+YgH2/5KWsP fktohO4Ml8/zjzE/KK54q5aVlpchkAd751DEcv6TUf0h9TgBPUiWfY7xCEXl6KfPMZCSDf 6UpeapFlwrtuuMssNFk19g2fj4xLdss/ho+31gxXufLSFC3da0NdlL5r59jwqxO2ZmJh7u jyiIEcAn4tqx5CczSz9cluGPXRLjQ10ePLb+i50QSK2NVzU1WM015LFOoeinIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXZrHm81HrksYnBqpi0RrX/VUxIk0j8DaqF+Y4PJ5us=; b=xxTxrrtsubYhz0oZSrh4zWZoiw+G8NFfqczeSpUtfP+YYZaPzxo2dFiviw2lAsZuupPXgL pepGgHu/O2+MHDNk1rcAO2ajjlR2FogZ7lNxVE1iN84JDja//U0nfey4VdrEVS3qvujwTt Ik1Q+8xu7AgnmkpPRH6M0OvY176tQiyZ9ITYo6RnVI0r4sAvfWGBbecuJk0XzWJUkQ5u8H 0pmaZ+OX1VWMd3+sTuhkYK7PEIQSS7mRn2eQ94GjNFl/Osq84MhY1YYh8nHbhPIZDxCZF4 CoAzMO52fOHiqbwMEOsZm2lgB/1gfmBmtWafIxJtIvpDHVgYyDb5CSlR/NUGtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJpx0xW4zcC3 for ; Thu, 07 May 2026 17:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c618 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:17:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: dcdc1af66999 - stable/15 - bsdinstall: Always use pkg.FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: dcdc1af669999aa3182c39ef9f162b625593785f Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:17:45 +0000 Message-Id: <69fcc939.3c618.159aa7ec@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=dcdc1af669999aa3182c39ef9f162b625593785f commit dcdc1af669999aa3182c39ef9f162b625593785f Author: Colin Percival AuthorDate: 2026-05-05 02:43:59 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:17:23 +0000 bsdinstall: Always use pkg.FreeBSD.org The FreeBSD-base bits are accessible via pkg.FreeBSD.org, even for releases, so there is no need to point at pkgbase.FreeBSD.org. MFC after: 3 days (cherry picked from commit 89b97931d6d415d7a2504d8ea2c99beafd77cf24) --- usr.sbin/bsdinstall/FreeBSD-base.conf.in | 2 +- usr.sbin/bsdinstall/Makefile | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/usr.sbin/bsdinstall/FreeBSD-base.conf.in b/usr.sbin/bsdinstall/FreeBSD-base.conf.in index 86ec8fabe253..13c94bbb8a64 100644 --- a/usr.sbin/bsdinstall/FreeBSD-base.conf.in +++ b/usr.sbin/bsdinstall/FreeBSD-base.conf.in @@ -1,5 +1,5 @@ FreeBSD-base: { - url: "pkg+https://%%PKGHOST%%.FreeBSD.org/${ABI}/%%SUBURL%%", + url: "pkg+https://pkg.FreeBSD.org/${ABI}/%%SUBURL%%", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/%%KEYSDIR%%", diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile index a576f2d0794e..f796a8710c5b 100644 --- a/usr.sbin/bsdinstall/Makefile +++ b/usr.sbin/bsdinstall/Makefile @@ -21,26 +21,22 @@ _REVISION!= ${MAKE} -C ${SRCTOP}/release -V REVISION REVISION?= ${_REVISION} .if ${BRANCH} == CURRENT || ${BRANCH} == STABLE -PKGHOST= pkg KEYSDIR= pkg SUBURL= base_latest .elif ${BRANCH} == RELEASE -PKGHOST= pkgbase KEYSDIR= pkgbase-${REVISION:C/\.[0-9]+//} SUBURL= base_release_${REVISION:C/[0-9]+\.//} .elif ${BRANCH:C/[0-9]+$//} == BETA || \ ${BRANCH:C/[0-9]+$//} == RC -PKGHOST= pkgbase KEYSDIR= pkgbase-${REVISION:C/\.[0-9]+//} SUBURL= base_release_${REVISION:C/[0-9]+\.//}_${BRANCH:tl} .else .warning Invalid branch "${BRANCH}" -PKGHOST= pkg KEYSDIR= pkg SUBURL= base_latest .endif FreeBSD-base.conf: FreeBSD-base.conf.in - sed "s|%%PKGHOST%%|${PKGHOST}|;s|%%SUBURL%%|${SUBURL}|;s|%%KEYSDIR%%|${KEYSDIR}|" < ${.ALLSRC} > ${.TARGET} + sed "s|%%SUBURL%%|${SUBURL}|;s|%%KEYSDIR%%|${KEYSDIR}|" < ${.ALLSRC} > ${.TARGET} .include From nobody Thu May 7 17:25:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzV0BMyz6ctcQ for ; Thu, 07 May 2026 17:25: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 4gBJzT3WJ9z3klf for ; Thu, 07 May 2026 17:25:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQy40CqxnZqhblxQTMqJAgrJgnck/TVEXASd3IKst88=; b=WF0JgyqcerFHF75kQODnEsyn/sR8vXVlI24XTFwmQP/dOKiWOCwRvJUQdDoig+O4ClibI7 ENmXf4sGq+VsRkWKTw7G7ouwqsubU7dJOPdMRX7iI/AV/IPo2OdhoK7BUVJGlcxr4PxgV/ LNHI0gAuV1s6dkhHHoFel0/t4w76XQ0JNuHRw4/c3qkxGRpPEZQm2SxzsfpcBi9VoxG9cJ fWQ8xVhTKgq48zSaXwknXv/cOGQUW63GMYYk9tR9cCNtzKzElllDux0iDuOX0a57u5/ocj jd05MBMAYXNTsC2mIXOmT9egoqOom8BxUeaRhvkLPa/beKWEdYgfUfD3mP0btA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174709; a=rsa-sha256; cv=none; b=dk8cak0OTKVXq7sefCfpcGI6Qk6m5y5fs8cvX01qw+516y71M8O7R5UcYZh9SzNHKMG8rh R9kWMq7wlc/YDpUZdEJyT0cpZgwR4Lb3HRfs1gh4j9HKKMtlGGFX4Tj4aEvlW9x8TNWcNG qJwM+XnXBOmQ9+KCTkIEHN195BTcCqF3MgYEQNiNvYG+TGtrOzAIYuxMKCWV2bZ64uFZ0z 7HgVoNGhX5tixcr0homqPDy4UdHoRnFY0J2ch+yvKQGO5hUbpKzBSwFS0WPbOaOIx2lTBn q0/lSNoD6pPe0oPeOjGgKBxZALdNXa9EpFWV5eGB/ivK/cDUjWYp2BPgkPsRXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQy40CqxnZqhblxQTMqJAgrJgnck/TVEXASd3IKst88=; b=kdmnMORnyVNe9uxiDmk+iHuXoHkOEjdbcxGP0aoM7/Ou11rRFC0x0Q8S9+AwUz7ZN3eNmA 6V9oZStrCEQpxIe8XNijXoZMCGpiBdPan0yjjG7H94NE9gsdj3zwGz/xuB0a2jsBxq8FB2 5EtEMrxrHJtPDUqcze7y7LUeMRoSXshJxVvIkeb+rzdT43cTCN0GKDIGXN/Vqw/wDbGFUZ 3BvtwucCxnmAqcAwRW2IB6ePB3xQL2esj3UZQuJuUJ64U4ohIg8Fu3W1QR+8lXDwPFaHoN 5gyeGnG1ppq+YkJjdDu3jQU8kmCnf18GKHI39RhRgExx8IwjZVjQLHd5H0hxFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzT337JzcQR for ; Thu, 07 May 2026 17:25:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b0f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:25:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 317817c9acaa - releng/15.1 - bsdinstall: Always use pkg.FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 317817c9acaa63e439d748b645cc954e93c6cf88 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:25:09 +0000 Message-Id: <69fccaf5.3b0f0.210668ca@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=317817c9acaa63e439d748b645cc954e93c6cf88 commit 317817c9acaa63e439d748b645cc954e93c6cf88 Author: Colin Percival AuthorDate: 2026-05-05 02:43:59 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:23:23 +0000 bsdinstall: Always use pkg.FreeBSD.org The FreeBSD-base bits are accessible via pkg.FreeBSD.org, even for releases, so there is no need to point at pkgbase.FreeBSD.org. Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 89b97931d6d415d7a2504d8ea2c99beafd77cf24) (cherry picked from commit dcdc1af669999aa3182c39ef9f162b625593785f) --- usr.sbin/bsdinstall/FreeBSD-base.conf.in | 2 +- usr.sbin/bsdinstall/Makefile | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/usr.sbin/bsdinstall/FreeBSD-base.conf.in b/usr.sbin/bsdinstall/FreeBSD-base.conf.in index 86ec8fabe253..13c94bbb8a64 100644 --- a/usr.sbin/bsdinstall/FreeBSD-base.conf.in +++ b/usr.sbin/bsdinstall/FreeBSD-base.conf.in @@ -1,5 +1,5 @@ FreeBSD-base: { - url: "pkg+https://%%PKGHOST%%.FreeBSD.org/${ABI}/%%SUBURL%%", + url: "pkg+https://pkg.FreeBSD.org/${ABI}/%%SUBURL%%", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/%%KEYSDIR%%", diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile index a576f2d0794e..f796a8710c5b 100644 --- a/usr.sbin/bsdinstall/Makefile +++ b/usr.sbin/bsdinstall/Makefile @@ -21,26 +21,22 @@ _REVISION!= ${MAKE} -C ${SRCTOP}/release -V REVISION REVISION?= ${_REVISION} .if ${BRANCH} == CURRENT || ${BRANCH} == STABLE -PKGHOST= pkg KEYSDIR= pkg SUBURL= base_latest .elif ${BRANCH} == RELEASE -PKGHOST= pkgbase KEYSDIR= pkgbase-${REVISION:C/\.[0-9]+//} SUBURL= base_release_${REVISION:C/[0-9]+\.//} .elif ${BRANCH:C/[0-9]+$//} == BETA || \ ${BRANCH:C/[0-9]+$//} == RC -PKGHOST= pkgbase KEYSDIR= pkgbase-${REVISION:C/\.[0-9]+//} SUBURL= base_release_${REVISION:C/[0-9]+\.//}_${BRANCH:tl} .else .warning Invalid branch "${BRANCH}" -PKGHOST= pkg KEYSDIR= pkg SUBURL= base_latest .endif FreeBSD-base.conf: FreeBSD-base.conf.in - sed "s|%%PKGHOST%%|${PKGHOST}|;s|%%SUBURL%%|${SUBURL}|;s|%%KEYSDIR%%|${KEYSDIR}|" < ${.ALLSRC} > ${.TARGET} + sed "s|%%SUBURL%%|${SUBURL}|;s|%%KEYSDIR%%|${KEYSDIR}|" < ${.ALLSRC} > ${.TARGET} .include From nobody Thu May 7 17:25:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzW17v2z6ctWW for ; Thu, 07 May 2026 17:25: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 4gBJzV4sx8z3lCM for ; Thu, 07 May 2026 17:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=51cic++4TFbf0LERAS1lrDyxvAOjUf9jUVeCBp5/h6c=; b=Nl3TOX/YrMm1jICmLodRudEzkbp3FGoYJKhScdoNJ5eOewDBHuNApPJC+cy/kK1qta9OuR Nx8bWoIAWI2kAYrRij8n2gLCViQw+MQpbBbgaVBul8bc5rlR0tiPivJYOUI3dzzw/Qv8+a cIRyFYzxjHDmS0blT7p25O8ApNBLeiRQFTSDIDn/i/vchDUP0Cq+cNoWJ1H6JZFJFbxMk2 /QcQB7QzGNtntAdXrtnDO8IF6LBYP0Az2JLGHoT+KLvFCSDZP8BUJ4kPdtrLBLGu9/pS7b STGVmQnJMo2KS3Dgn58ZQTkNg3u8gkXoWPQ35q1Tkex27hx1MFxVrl6vM4Ndcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174710; a=rsa-sha256; cv=none; b=GogOaMeBaXE2+UjNPB3LGcK3m3qI2YlIg8FJtu0Z2yLChBtaj5KUVjNc1fDsmi5T6WgwHB T756ld77iJO20MhyiYTBEJbhFHMBMG9KwMZpIq5hdRcUYhztB+mOllyDzehQHXBhWGJizM 685DkEY1FTOojbuQMHEEfEmP4Xbp/xdNP/ht6Q6YqDh5RpNCHz42Yg7GeRm32vHITsDJ5c WfYjzjxUKC71Qb9hm6AlRdlosVMUojfdae9l5Wz+P/QZvm4KbDc43QL6KenlZJqh2bDI5C KphSQNsNYoMiwSwp+LRNpXsJzCalx5Bh3wE2+w3Lx8tW/1/Q3XvawmBuZtz7HQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=51cic++4TFbf0LERAS1lrDyxvAOjUf9jUVeCBp5/h6c=; b=BnTIxKJSxL8VgQHlwJO5/2VKFtB13cJAks8cCD7LYoaqVP9IIvPJUvHNd41NaCWjjgQ4b/ A3CR+00GQI+8kYHQnQ/5njaS0vinLRGLfSFJK8ifE4oeJ939Wkjp9fqlkr4Hdnjp6I8Ktg fzylcBSvhHFeltw1g5EdFm4dgENtsQd6LxP3zAn/EbH2xMgi060rezRoTd7F8usZfDYF38 8FMCLhF45a8mgR676vFviNil+/UyeuyAHHD4slCuqGTE5qHzc3B/4b8SlsmMQ3qbAjE51w AUdHaZ9ZUo8M1obUd6RUdRJlPbqXN8eExOONDgL3S8AJ9F35UJNGinzmC0j7yA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzV4QM3zcF3 for ; Thu, 07 May 2026 17:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bf3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:25:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Xin LI From: Colin Percival Subject: git: 109324d5e7ab - releng/15.1 - MFV less v691 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 109324d5e7ab893c15540fe97325b3eeaee88d20 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:25:10 +0000 Message-Id: <69fccaf6.3bf3f.a6dd976@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=109324d5e7ab893c15540fe97325b3eeaee88d20 commit 109324d5e7ab893c15540fe97325b3eeaee88d20 Author: Xin LI AuthorDate: 2026-05-07 03:51:51 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:24:43 +0000 MFV less v691 Approved by: re (cperciva) Relnotes: yes (cherry picked from commit dafba19e42e78cd3d7c9264ece49ddd3d7d70da5) MFV: less v692. (cherry picked from commit e2abec625bf07c054f7ac2df2402d6c454113df8) (cherry picked from commit 423b0bc492d5264ee518c6569d3c90ee0efb338c) --- contrib/less/LICENSE | 2 +- contrib/less/NEWS | 83 +++ contrib/less/README | 60 +- contrib/less/brac.c | 2 +- contrib/less/ch.c | 14 +- contrib/less/charset.c | 31 +- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 26 +- contrib/less/cmdbuf.c | 138 ++-- contrib/less/command.c | 87 +-- contrib/less/compose.uni | 14 +- contrib/less/cvt.c | 2 +- contrib/less/decode.c | 107 ++- contrib/less/edit.c | 16 +- contrib/less/evar.c | 2 +- contrib/less/filename.c | 20 +- contrib/less/fmt.uni | 2 +- contrib/less/forwback.c | 37 +- contrib/less/funcs.h | 75 ++- contrib/less/help.c | 9 +- contrib/less/ifile.c | 12 +- contrib/less/input.c | 3 +- contrib/less/jump.c | 18 +- contrib/less/lang.h | 5 +- contrib/less/less.h | 19 +- contrib/less/less.hlp | 7 +- contrib/less/less.nro | 1495 ++++++++++++++++++++++++++++-------------- contrib/less/lessecho.c | 2 +- contrib/less/lessecho.nro | 37 +- contrib/less/lesskey.c | 2 +- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 389 +++++++---- contrib/less/lesskey_parse.c | 37 +- contrib/less/lglob.h | 2 +- contrib/less/line.c | 39 +- contrib/less/linenum.c | 2 +- contrib/less/lsystem.c | 22 +- contrib/less/main.c | 55 +- contrib/less/mark.c | 154 +++-- contrib/less/omit.uni | 2 +- contrib/less/optfunc.c | 132 ++-- contrib/less/option.c | 134 ++-- contrib/less/option.h | 3 +- contrib/less/opttbl.c | 11 +- contrib/less/os.c | 65 +- contrib/less/output.c | 38 +- contrib/less/pattern.c | 2 +- contrib/less/pattern.h | 2 +- contrib/less/pckeys.h | 45 +- contrib/less/position.c | 16 +- contrib/less/position.h | 2 +- contrib/less/prompt.c | 38 +- contrib/less/screen.c | 527 ++++++++++----- contrib/less/scrsize.c | 2 +- contrib/less/search.c | 23 +- contrib/less/signal.c | 30 +- contrib/less/tags.c | 9 +- contrib/less/ttyin.c | 6 +- contrib/less/ubin.uni | 2 +- contrib/less/version.c | 21 +- contrib/less/wide.uni | 23 +- contrib/less/xbuf.c | 12 +- contrib/less/xbuf.h | 11 +- usr.bin/less/defines.h | 116 ++-- 64 files changed, 2852 insertions(+), 1451 deletions(-) diff --git a/contrib/less/LICENSE b/contrib/less/LICENSE index b9b72a3d088b..313cebd4f66f 100644 --- a/contrib/less/LICENSE +++ b/contrib/less/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2025 Mark Nudelman +Copyright (C) 1984-2026 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/contrib/less/NEWS b/contrib/less/NEWS index 442fe21e406a..0f767aaeb059 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -9,6 +9,89 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 691 and 692 + +* Revert HOME key to scroll to beginning of file and END key + to scroll to end of file (github #658). + +* Configure tty to leave CR and NL unmodified (github #703). + +* Add commands to lesskey parser (forw-bell-hilite, goto-pos and osc8-jump). + +* Add key sequences to lesskey parser (\kE, \kF, \kH, \kI, \kM, and \kS). + +* Fix bug using negative value with -z option (github #709). + +* Fix bug handling empty terminfo capabilties (github #710). + +* Fix memory leak in setupterm (github #707). + +* Make lesstest ignore system locale (nl_langinfo) (github #708). + +====================================================================== + + Major changes between "less" versions 685 and 691 + +* Add --autosave option (github #678). + +* Add ESC-f command (github #680). + +* Add column number to long prompt and = message. + +* Add prompt prototype sequences %C, %W, %Q and ?Q (github #685). + +* Map keypad keys, and use terminfo rather than termcap since keypad + definitions don't exist in termcap (github #650). + +* Change HOME key to scroll fully left and END key to scroll fully right. + Add shift-HOME and ctrl-HOME to scroll left and jump to top, and + add shift-END and ctrl-END to scroll right and jump to end (github #658). + +* Add LESSNOCONFIG environment variable. + +* Add --without-termlib to configure (github #701). + +* When setting line number colors (-DN), don't force bold attribute. + To set bold, you must append "d" or "*" to the color string (github #684). + +* While waiting for file data, only ^C or ^X will interrupt, not any command. + This reverts to behavior that existed before less-670 (github #700). + +* When --save-marks is not used, retain any marks saved in the history file + (github #662). + +* Defer sending the terminal init string until the first char is read + from the input file (github #682). + +* Make SIGHUP do an orderly exit like SIGTERM. + +* Implement modeline handling in Windows build. + +* Fix bugs and improve behavior of screen resize on Windows. + +* Fix bug when entering search modifier key at start of non-empty + search string (github #668). + +* Fix bug repainting screen with --form-feed (github #672). + +* Fix bugs passing invalid negative values to some command line + options (github #675). + +* Fix incorrect display of Lit indicator (github #670). + +* Fix incorrect display when returning to a mark after resizeing window + (github #681). + +* Fix bug using --pattern with --incsearch (github #696). + +* Disallow mouse click to open OSC8 link in SECURE mode (github #676). + +* Add SECURE_COMPILE environment variable for Windows builds. + +* Update Unicode tables. + ====================================================================== Major changes between "less" versions 679 and 685 diff --git a/contrib/less/README b/contrib/less/README index 4bfdc5e5a67f..a6954eb67c1e 100644 --- a/contrib/less/README +++ b/contrib/less/README @@ -84,7 +84,7 @@ INSTALLATION (Unix & Linux systems only): Makefile now. Take particular notice of the list of "terminal" libraries in the LIBS definition in the Makefile; these may need to be edited. The terminal libraries will be some subset of - -lncurses -lcurses -ltermcap -ltermlib + -ltinfo -ltinfow -lxcurses -lncursesw -lncurses -lcurses -ltermcap -ltermlib If you wish, you may edit defines.h to remove some optional features. If you choose not to include some features in your version, you may @@ -117,6 +117,29 @@ programmers", not "persons who attempt to circumvent computer security".) +======================================================================= +INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only, + with Microsoft Visual C++, mingw, or Borland C) + +1. Move the distributed source to its own directory. + +2. If you wish, you may edit defines.wn to remove some optional features. + If you choose not to include some features in your version, you may + wish to edit the manual page less.man and the help page help.c + to remove the descriptions of the features which you are removing. + +3. If you are using Microsoft Visual C++, run "nmake -f Makefile.wnm". + If you are using mingw, run "make -f Makefile.wng". + If you are using Borland C, run "make -f Makefile.wnb". + + If the environment variable SECURE_COMPILE is to 1 during the make, + a "secure" version of less is built, with some features disabled. + +4. If the make succeeds, it will generate the programs "less.exe" and + "lesskey.exe" in your current directory. Test the generated programs. + + + ======================================================================= INSTALLATION (MS-DOS systems only, with Microsoft C, Borland C, or DJGPP) @@ -156,34 +179,6 @@ INSTALLATION (MS-DOS systems only, -======================================================================= -INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only, - with Borland C or Microsoft Visual C++) - -1. Move the distributed source to its own directory. - -2. If you are using Borland C, rename Makefile.wnb to Makefile. - If you are using Microsoft Visual C++, rename Makefile.wnm to Makefile. - -3. Check the Makefile to make sure the definitions look ok. - -4. If you wish, you may edit defines.wn to remove some optional features. - If you choose not to include some features in your version, you may - wish to edit the manual page less.man and the help page help.c - to remove the descriptions of the features which you are removing. - -5. Type "make" and watch the fun. - -6. If the make succeeds, it will generate the programs "less.exe" and - "lesskey.exe" in your current directory. Test the generated programs. - -7. When satisfied that it works, if you wish to install it - in a public place, type "make install". - See step 6 of the Unix installation instructions for details - on how to change the default installation directories. - - - ======================================================================= INSTALLATION (OS/2 systems only, with EMX C) @@ -245,10 +240,3 @@ INSTALLATION (OS-9 systems only, See step 6 of the Unix installation instructions for details on how to change the default installation directories. -======================================================================= -ACKNOWLEDGMENTS: - Some versions of the less distribution are packaged using - Info-ZIP's compression utility. - Info-ZIP's software is free and can be obtained as source - code or executables from various anonymous-ftp sites, - including ftp.uu.net:/pub/archiving/zip. diff --git a/contrib/less/brac.c b/contrib/less/brac.c index 36f31d0316f4..b3b74e07d18a 100644 --- a/contrib/less/brac.c +++ b/contrib/less/brac.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/ch.c b/contrib/less/ch.c index fb7572e7f88a..47d31ecffadd 100644 --- a/contrib/less/ch.c +++ b/contrib/less/ch.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -22,7 +22,7 @@ typedef POSITION BLOCKNUM; -public int ignore_eoi; +public lbool ignore_eoi = FALSE; /* * Pool of buffers holding the most recently used blocks of the input file. @@ -883,13 +883,13 @@ public void ch_init(int f, int flags, ssize_t nread) */ ch_fsize = (flags & CH_HELPFILE) ? size_helpdata : filesize(ch_file); - /* - * This is a kludge to workaround a Linux kernel bug: files in some - * pseudo filesystems like /proc and tracefs have a size of 0 according - * to fstat() but have readable data. - */ if (ch_fsize == 0 && nread > 0) { + /* + * This is a kludge to workaround a Linux kernel bug: files in some + * pseudo filesystems like /proc and tracefs have a size of 0 according + * to fstat() but have readable data. + */ ch_flags |= CH_NOTRUSTSIZE; } diff --git a/contrib/less/charset.c b/contrib/less/charset.c index 0f62739bc88d..74159404148b 100644 --- a/contrib/less/charset.c +++ b/contrib/less/charset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -202,20 +202,20 @@ static void ichardef_utf(constant char *s) switch (*s++) { case 'b': - xbuf_add_data(&user_ubin_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_ubin_array, &range, sizeof(range)); break; case 'c': - xbuf_add_data(&user_compose_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_compose_array, &range, sizeof(range)); break; case 'd': - xbuf_add_data(&user_omit_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_omit_array, &range, sizeof(range)); break; case 'w': - xbuf_add_data(&user_wide_array, (unsigned char *) &range, sizeof(range)); - xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_wide_array, &range, sizeof(range)); + xbuf_add_data(&user_prt_array, &range, sizeof(range)); break; case 'p': case '.': - xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_prt_array, &range, sizeof(range)); break; case '\0': s--; @@ -429,13 +429,21 @@ static void set_charset(void) /* * Try using the codeset name as the charset name. */ - s = nl_langinfo(CODESET); - if (icharset(s, 1)) - return; +#if LESSTEST + /* + * Don't check nl_langinfo in lesstest mode; charset should come + * only from environment variables, not from the system locale. + */ + if (0) /* {{ unfortunately it's too early to use is_lesstest }} */ +#endif + { + s = nl_langinfo(CODESET); + if (icharset(s, 1)) + return; + } #endif #endif -#if HAVE_STRSTR /* * Check whether LC_ALL, LC_CTYPE or LANG look like UTF-8 is used. */ @@ -448,7 +456,6 @@ static void set_charset(void) if (icharset("utf-8", 1)) return; } -#endif #if HAVE_LOCALE /* diff --git a/contrib/less/charset.h b/contrib/less/charset.h index 4acf494b4ed5..cf2e02547cb5 100644 --- a/contrib/less/charset.h +++ b/contrib/less/charset.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/cmd.h b/contrib/less/cmd.h index 07c57b111aee..945f99719d0c 100644 --- a/contrib/less/cmd.h +++ b/contrib/less/cmd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -86,6 +86,7 @@ #define A_OSC8_JUMP 74 #define A_START_PASTE 75 /* must not overlap EC_* */ #define A_END_PASTE 76 /* must not overlap EC_* */ +#define A_F_FOREVER_BELL 77 /* These values must not conflict with any A_* or EC_* value. */ #define A_INVALID 100 @@ -155,4 +156,27 @@ #define SK_BACKTAB 15 #define SK_CTL_BACKSPACE 16 #define SK_BACKSPACE 17 +#define SK_PAD_U 18 +#define SK_PAD_D 19 +#define SK_PAD_R 20 +#define SK_PAD_L 21 +#define SK_PAD_UR 22 +#define SK_PAD_UL 23 +#define SK_PAD_DR 24 +#define SK_PAD_DL 25 +#define SK_PAD_CENTER 26 +#define SK_PAD_STAR 27 +#define SK_PAD_SLASH 28 +#define SK_PAD_DASH 29 +#define SK_PAD_PLUS 30 +#define SK_PAD_DOT 31 +#define SK_PAD_COMMA 32 +#define SK_PAD_ZERO 33 +#define SK_SHIFT_HOME 34 +#define SK_SHIFT_END 35 +#define SK_CTL_HOME 36 +#define SK_CTL_END 37 +#define SK_SHIFT_LEFT_ARROW 38 +#define SK_SHIFT_RIGHT_ARROW 39 + #define SK_CONTROL_K 40 diff --git a/contrib/less/cmdbuf.c b/contrib/less/cmdbuf.c index f2963cf4c9da..1c3b3d461ad9 100644 --- a/contrib/less/cmdbuf.c +++ b/contrib/less/cmdbuf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -23,7 +23,7 @@ extern int sc_width; extern int utf_mode; extern int no_hist_dups; -extern int marks_modified; +extern lbool marks_modified; extern int no_paste; public lbool pasting = FALSE; @@ -35,6 +35,9 @@ static int cmd_offset; /* Index into cmdbuf of first displayed char */ static lbool literal; /* Next input char should not be interpreted */ static size_t updown_match; /* Prefix length in up/down movement */ static lbool have_updown_match = FALSE; +#if LESS_INSERT_MODE +static lbool insert_mode = TRUE; +#endif static int cmd_complete(int action); /* @@ -189,7 +192,7 @@ public int len_cmdbuf(void) */ public lbool cmdbuf_empty(void) { - return cp == cmdbuf && cmd_mbc_buf_len == 0; + return cmdbuf[0] == '\0' && cmd_mbc_buf_len == 0; } /* @@ -454,39 +457,6 @@ static int cmd_left(void) return (CC_OK); } -/* - * Insert a char into the command buffer, at the current position. - */ -static int cmd_ichar(constant char *cs, size_t clen) -{ - char *s; - - if (strlen(cmdbuf) + clen >= sizeof(cmdbuf)-1) - { - /* No room in the command buffer for another char. */ - bell(); - return (CC_ERROR); - } - - /* - * Make room for the new character (shift the tail of the buffer right). - */ - for (s = &cmdbuf[strlen(cmdbuf)]; s >= cp; s--) - s[clen] = s[0]; - /* - * Insert the character into the buffer. - */ - for (s = cp; s < cp + clen; s++) - *s = *cs++; - /* - * Reprint the tail of the line from the inserted char. - */ - have_updown_match = FALSE; - cmd_repaint(cp); - cmd_right(); - return (CC_OK); -} - /* * Backspace in the command buffer. * Delete the char to the left of the cursor. @@ -502,7 +472,7 @@ static int cmd_erase(void) * Backspace past beginning of the buffer: * this usually means abort the command. */ - return (CC_QUIT); + return CC_QUIT; } /* * Move cursor left (to the char being erased). @@ -532,7 +502,7 @@ static int cmd_erase(void) * to abort the current command, if CF_QUIT_ON_ERASE is set. */ if ((curr_cmdflags & CF_QUIT_ON_ERASE) && cp == cmdbuf && *cp == '\0') - return (CC_QUIT); + return CC_QUIT; return (CC_OK); } @@ -554,6 +524,43 @@ static int cmd_delete(void) return (CC_OK); } +/* + * Insert a char into the command buffer, at the current position. + */ +static int cmd_ichar(constant char *cs, size_t clen) +{ + char *s; + + if (strlen(cmdbuf) + clen >= sizeof(cmdbuf)-1) + { + /* No room in the command buffer for another char. */ + lbell(); + return (CC_ERROR); + } + +#if LESS_INSERT_MODE + if (!insert_mode) + cmd_delete(); +#endif + /* + * Make room for the new character (shift the tail of the buffer right). + */ + for (s = &cmdbuf[strlen(cmdbuf)]; s >= cp; s--) + s[clen] = s[0]; + /* + * Insert the character into the buffer. + */ + for (s = cp; s < cp + clen; s++) + *s = *cs++; + /* + * Reprint the tail of the line from the inserted char. + */ + have_updown_match = FALSE; + cmd_repaint(cp); + cmd_right(); + return (CC_OK); +} + /* * Delete the "word" to the left of the cursor. */ @@ -612,7 +619,7 @@ static int cmd_kill(void) if (cmdbuf[0] == '\0') { /* Buffer is already empty; abort the current command. */ - return (CC_QUIT); + return CC_QUIT; } cmd_offset = 0; cmd_home(); @@ -625,7 +632,7 @@ static int cmd_kill(void) * to abort the current command, if CF_QUIT_ON_ERASE is set. */ if (curr_cmdflags & CF_QUIT_ON_ERASE) - return (CC_QUIT); + return CC_QUIT; return (CC_OK); } @@ -660,7 +667,7 @@ static int cmd_updown(int action) /* * The current command has no history list. */ - bell(); + lbell(); return (CC_OK); } @@ -705,7 +712,7 @@ static int cmd_updown(int action) /* * We didn't find a history entry that matches. */ - bell(); + lbell(); return (CC_OK); } @@ -796,6 +803,15 @@ public void cmd_addhist(struct mlist *mlist, constant char *cmd, lbool modified) * Thus, an UPARROW will always retrieve the previous command. */ mlist->curr_mp = ml->next; + if (modified) + { + if (mlist == &mlist_search && autosave_action('/')) + save_cmdhist(); +#if SHELL_ESCAPE || PIPEC + else if (mlist == &mlist_shell && autosave_action('!')) + save_cmdhist(); +#endif + } #endif } @@ -904,6 +920,9 @@ static int cmd_edit(char c, lbool stay_in_completion) return (CC_OK); case EC_INSERT: not_in_completion(); +#if LESS_INSERT_MODE + insert_mode = !insert_mode; +#endif return (CC_OK); case EC_BACKSPACE: not_in_completion(); @@ -914,7 +933,7 @@ static int cmd_edit(char c, lbool stay_in_completion) case EC_ABORT: not_in_completion(); (void) cmd_kill(); - return (CC_QUIT); + return CC_QUIT; case EC_W_BACKSPACE: not_in_completion(); return (cmd_werase()); @@ -950,17 +969,23 @@ static int cmd_istr(constant char *str) { constant char *endline = str + strlen(str); constant char *s; - int action; - + int action = CC_OK; +#if LESS_INSERT_MODE + lbool save_insert_mode = insert_mode; + insert_mode = TRUE; +#endif for (s = str; *s != '\0'; ) { constant char *os = s; step_charc(&s, +1, endline); action = cmd_ichar(os, ptr_diff(s, os)); if (action != CC_OK) - return (action); + break; } - return (CC_OK); +#if LESS_INSERT_MODE + insert_mode = save_insert_mode; +#endif + return (action); } /* @@ -1171,7 +1196,7 @@ static int cmd_complete(int action) #endif /* TAB_COMPLETE_FILENAME */ if (tk_text == NULL) { - bell(); + lbell(); return (CC_OK); } if (action == EC_EXPAND) @@ -1239,7 +1264,7 @@ static int cmd_complete(int action) fail: in_completion = FALSE; - bell(); + lbell(); return (CC_OK); } @@ -1281,7 +1306,7 @@ static int cmd_uchar(char c, size_t *plen) } else { /* UTF8_INVALID or stray UTF8_TRAIL */ - bell(); + lbell(); return (CC_ERROR); } } else if (IS_UTF8_TRAIL(c)) @@ -1293,14 +1318,14 @@ static int cmd_uchar(char c, size_t *plen) { /* complete, but not well formed (non-shortest form), sequence */ cmd_mbc_buf_len = 0; - bell(); + lbell(); return (CC_ERROR); } } else { /* Flush incomplete (truncated) sequence. */ cmd_mbc_buf_len = 0; - bell(); + lbell(); /* Handle new char. */ goto retry; } @@ -1388,7 +1413,6 @@ public LINENUM cmd_int(mutable long *frac) { constant char *p; LINENUM n = 0; - lbool err; for (p = cmdbuf; *p >= '0' && *p <= '9'; p++) { @@ -1401,8 +1425,8 @@ public LINENUM cmd_int(mutable long *frac) *frac = 0; if (*p++ == '.') { - *frac = getfraction(&p, NULL, &err); - /* {{ do something if err is set? }} */ + /* {{ Just ignore error in fractional part. }} */ + (void) getfraction(&p, frac); } return (n); } @@ -1447,7 +1471,7 @@ static int mlist_size(struct mlist *ml) static char * histfile_find(lbool must_exist) { constant char *home = lgetenv("HOME"); - char *name = NULL; + char *name; /* Try in $XDG_STATE_HOME, then in $HOME/.local/state, then in $XDG_DATA_HOME, then in $HOME. */ #if OS2 @@ -1738,7 +1762,7 @@ public void save_cmdhist(void) int skip_shell; struct save_ctx ctx; constant char *s; - FILE *fout = NULL; + FILE *fout; int histsize = 0; if (!secure_allow(SF_HISTORY) || !histfile_modified()) diff --git a/contrib/less/command.c b/contrib/less/command.c index 390385547385..1bb8d006f8ec 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2025 Mark Nudelman + * Copyright (C) 1984-2026 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -32,7 +32,7 @@ extern int jump_sline; extern lbool quitting; extern int wscroll; extern int top_scroll; -extern int ignore_eoi; +extern lbool ignore_eoi; extern int hshift; extern int bs_mode; extern int proc_backspace; @@ -49,7 +49,6 @@ extern void *ml_examine; extern int wheel_lines; extern int def_search_type; extern lbool search_wrapped; -extern lbool no_poll; extern int no_paste; extern lbool pasting; extern int no_edit_warn; @@ -154,7 +153,7 @@ static void start_mca(int action, constant char *prompt, void *mlist, int cmdfla set_mlist(mlist, cmdflags); } -public int in_mca(void) +public lbool in_mca(void) { return (mca != 0 && mca != A_PREFIX); } @@ -476,7 +475,7 @@ static int mca_opt_nonfirst_char(char c) } } else if (!ambig) { - bell(); + lbell(); } return (MCA_MORE); } @@ -575,7 +574,10 @@ static int mca_search_char(char c) */ if (!cmdbuf_empty() || literal_char) { + lbool was_literal_char = literal_char; literal_char = FALSE; + if (was_literal_char) + mca_search1(); return (NO_MCA); } @@ -639,6 +641,17 @@ static int mca_search_char(char c) return (NO_MCA); } +/* + * Jump back to the starting position of an incremental search. + */ +static void jump_search_incr_pos(void) +{ + if (search_incr_pos.pos == NULL_POSITION) + return; + hshift = search_incr_hshift; + jump_loc(search_incr_pos.pos, search_incr_pos.ln); +} + /* * Handle a character of a multi-character command. */ @@ -772,30 +785,21 @@ static int mca_char(char c) if (*pattern == '\0') { /* User has backspaced to an empty pattern. */ - undo_search(1); - hshift = search_incr_hshift; - jump_loc(search_incr_pos.pos, search_incr_pos.ln); + undo_search(TRUE); + jump_search_incr_pos(); } else { - /* - * Suppress tty polling while searching. - * This avoids a problem where tty input - * can cause the search to be interrupted. - */ - no_poll = TRUE; if (search(st | SRCH_INCR, pattern, 1) != 0) { /* No match, invalid pattern, etc. */ - undo_search(1); - hshift = search_incr_hshift; - jump_loc(search_incr_pos.pos, search_incr_pos.ln); + undo_search(TRUE); + jump_search_incr_pos(); } - no_poll = FALSE; } /* Redraw the search prompt and search string. */ if (is_screen_trashed() || !full_screen) { - clear(); + lclear(); repaint(); } mca_search1(); @@ -851,7 +855,7 @@ static void make_display(void) * We need to clear and repaint screen before any change. */ if (!full_screen && !(quit_if_one_screen && one_screen)) - clear(); + lclear(); /* * If nothing is displayed yet, display starting from initial_scrpos. */ @@ -864,9 +868,9 @@ static void make_display(void) } else if (is_screen_trashed() || !full_screen) { int save_top_scroll = top_scroll; - int save_ignore_eoi = ignore_eoi; + lbool save_ignore_eoi = ignore_eoi; top_scroll = 1; - ignore_eoi = 0; + ignore_eoi = FALSE; if (is_screen_trashed() == 2) { /* Special case used by ignore_eoi: re-open the input file @@ -1304,29 +1308,31 @@ static void multi_search(constant char *pattern, int n, int silent) /* * Forward forever, or until a highlighted line appears. */ -static int forw_loop(int until_hilite) +static int forw_loop(int action) { - POSITION curr_len; + POSITION prev_hilite; if (ch_getflags() & CH_HELPFILE) return (A_NOACTION); cmd_exec(); jump_forw_buffered(); - curr_len = ch_length(); - highest_hilite = until_hilite ? curr_len : NULL_POSITION; - ignore_eoi = 1; + highest_hilite = prev_hilite = 0; + ignore_eoi = TRUE; while (!sigs) { - if (until_hilite && highest_hilite > curr_len) + if (action != A_F_FOREVER && highest_hilite > prev_hilite) { - bell(); - break; + lbell(); + if (action == A_F_UNTIL_HILITE) + break; + prev_hilite = highest_hilite; } make_display(); forward(1, FALSE, FALSE, FALSE); } - ignore_eoi = 0; + highest_hilite = NULL_POSITION; + ignore_eoi = FALSE; ch_set_eof(); /* @@ -1334,7 +1340,7 @@ static int forw_loop(int until_hilite) * a non-abort signal (e.g. window-change). */ if (sigs && !ABORT_SIGS()) - return (until_hilite ? A_F_UNTIL_HILITE : A_F_FOREVER); + return (action); return (A_NOACTION); } @@ -1401,7 +1407,6 @@ public void commands(void) #endif search_type = SRCH_FORW; - wscroll = (sc_height + 1) / 2; newaction = A_NOACTION; for (;;) @@ -1507,7 +1512,9 @@ public void commands(void) * want erase_char/kill_char to be treated * as line editing characters. */ - constant char tbuf[2] = { c, '\0' }; + char tbuf[2]; + tbuf[0] = c; + tbuf[1] = '\0'; action = fcmd_decode(tbuf, &extra); } /* *** 8507 LINES SKIPPED *** From nobody Thu May 7 17:25:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzX2CsZz6ct1g for ; Thu, 07 May 2026 17:25: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 4gBJzW5Vypz3l2S for ; Thu, 07 May 2026 17:25:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Iaxz21FaNAiFf8KS3Sw37wIGtWSW+9yJgKi406zCJc=; b=kJ+TgJqVfDB91KzG3eAJW/r9vHcNzyzvKzx6M9twfXzVNQmwS6XaY/jJjJpEB41v9jIQ8W omD0PTfeRZl6sjKVXyhv/pBww0GPTLD3mgLVu9GmpONRzdmPiz506V7bt+9nZdtdcuyJXy F8dwzROBT9rWICjJ6MCanDISepUiqMJPrlKcZcCn9HpivyM6wYRZifJBkwF7HI0kgHcqDb RAenZ8C8UmImB2y7IE5kCKz5r0VZRoVS3RkaM8BS+hIIwqNViXIb59tKXtqZwbwXOOX2pm GTfwTTH6ji+7AkfyGNDJJIUdZLEXmWYPz6kpO7OOHI2PQ4USM0nDJ4qMQMDgNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174711; a=rsa-sha256; cv=none; b=cY7SjKFRSkjZ+MaaQ7cqq46/M0Zwzjj3N2T7Exsvmye+z4Z2tanXLoxsSWwXZTr1YDGQ2h csCGI32kCM/OWkaxhbPjRy+1UWmn/4WkYayrC/8sKLGIrFzX2SuIoPPwJTXjwHidFDUDiP vh9U3zHwwLmyki8pTfTgRN79p7tMZTE3YWTWn4YMcRPJNMf1rpaC9mN0rm9v+I/XTKLWdu sBpJPSivOC1xdOyD1fR8rqioTKchntVmD0gMX9CXDf3uc3dX9G/cLuoS1UMimSYG+fRMux 5sxrCCQu2KtQfJYQUiUNoxj19nKMCNjf9wQcGgzO+OQN1hcSEKN6RZJl2XlRog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Iaxz21FaNAiFf8KS3Sw37wIGtWSW+9yJgKi406zCJc=; b=TuLgxgf3dzQpFghwiIdf/PYAXkE1WG9oRkVqB7BilyASPJPrUctUuQpA5Qbo/1kF+O7gpf oBTFh5BB7kePtkU2TaqktHOo2AUJoZwIgOecG6Q5QbzeOknJI5T7XOrDygMsdvyypw1ZSs x7kfvbQSTPiAamjm+/6KrD5sXzWBUnS77jzKyvxB2MT+YBwvH+x2HQ2PmbE3tNKVnE0Iie EqDHRVQie1XdI+gYTb9rtTo/IAzud3nvXEeVUEUgaDbuc+msLCwGGPQP58lJ5j46A0mgoW DYsC17OFDhm9Vs9qQsZP0yB93AAXaQM+eQcuosmzBqCdGLybp5JHLZT9YPm0Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzW4tyjzcQT for ; Thu, 07 May 2026 17:25:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b0f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:25:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michal Meloun From: Colin Percival Subject: git: ed0ef0322eb6 - releng/15.1 - arm64: Define the .iplt section placement. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: ed0ef0322eb64d31dab03b6c975c8f9ad7c8c7ab Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:25:11 +0000 Message-Id: <69fccaf7.3b0f4.6f76104e@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ed0ef0322eb64d31dab03b6c975c8f9ad7c8c7ab commit ed0ef0322eb64d31dab03b6c975c8f9ad7c8c7ab Author: Michal Meloun AuthorDate: 2026-04-15 09:32:54 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:24:46 +0000 arm64: Define the .iplt section placement. Ensure that the .plt and .ipld sections are in the executable memory segment. Approved by: re (cperciva) Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D56403 (cherry picked from commit 1dddb580f950a27fb9859b2879755dde114c9d8b) (cherry picked from commit 5169e95b7596b5a96cb50dee69ee8c20445a9a9e) --- sys/conf/ldscript.arm64 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/conf/ldscript.arm64 b/sys/conf/ldscript.arm64 index ae231c3037e6..7ec0d4324270 100644 --- a/sys/conf/ldscript.arm64 +++ b/sys/conf/ldscript.arm64 @@ -15,6 +15,12 @@ SECTIONS *(.gnu.warning) *(.gnu.linkonce.t*) } =0x9090 + .plt : + { + *(.plt) + *(.iplt) + } + /* * Align to the the largest page size the kernel could be built for. * If we don't then building page tables in locore.S could fail as it @@ -66,7 +72,6 @@ SECTIONS .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { *(.init) } =0x9090 - .plt : { *(.plt) } . = ALIGN(4); _extab_start = .; From nobody Thu May 7 17:25:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzZ12CBz6ctCg for ; Thu, 07 May 2026 17:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBJzY4629z3lFn for ; Thu, 07 May 2026 17:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oG8VDx0EVwCCY5h/GhGBpRosI1V9B1Ydc8kBDzdo+b8=; b=QztM722tcnrBMy3a/WbtLxa1GjxzBdLjhDGr0ltJTb+EWHpwcn0lqLYYSiAL0XPEKnFzE0 vt8oPHPcA0L0lkwNGqW349QukNTu0j3ypWZAfQU5TaE8LHbxG2HED780kv+dA/LulYFOMt VVdQN4MrxEtS+w8r+mwAw1bnx91yQJEbq8vbQaDDYs1hPleU++/GioqZ866bSK94twJ3Ag NjjsdOyUcmcXW7oNXMAq8gxsBlyEYkA8ip6uj8bCkzTh3/GASF8RzQOqLf5XRJcKsiGGlw 1D/V6DplPZMONN0j5pToRnV4e56MgIMGUfox/+/1rfRF98f6ciwB6Y0WUXJCdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174713; a=rsa-sha256; cv=none; b=sd0TpSQ/599SY9vtGbpx+4zlAjS/tmlDVgpyKCHHKLwCiqogobCvdCMsK2c//kHNjOiYFB o4RBIIYRIlNIYg+WY4fIw2swVVE2/oWo9vBCjCI0mJAR4ThDAE/mimX53mi1YnCsy49H6w ADeXqIbG0wX7VdSW+nO5DRiqLkfIRmtq/8jo2Po2+0Jp0B+Z00Xe7riu9tzS9lHIumwF56 nkTdGq284oKu6Q3+lfBX8YZ6vVqNfcQ/Y+jf59/5pblaE672V/0LFLz+4mZRRa6VvGTJ+q Lodd0X9LxrMNfOx9UaQRixGSML2uNSZmZateQAdn6Pe7j13wKrWCTH5ScezEJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oG8VDx0EVwCCY5h/GhGBpRosI1V9B1Ydc8kBDzdo+b8=; b=D8qLBoGJzy0zYWRnuDJDAdluf5s5P+Wfde+NFSIv86G62DjghPD067Bz5zMwo3wAnDT06G 3kNneuwoj1mSrhIoRsoaPL4iOVvvSlqtW1+GFyc2w467ozJZIIs1+MPQ0HQffYci0v5HTH w4DDa+b71aJNwoomq3wz/L5bdRdrdrU37o0OK3t4OTK4bm++63hNfBbsMAPityOj81pPjC ZIA8pfWuz1zTbmh2CEUcyM9fsTi9bcNbdaa3XGBMtE8DaowFDedEIlAsxxpeme3RGYyxSJ fd5RpMlajYtfbzZXH+n0rpq4iqBhXpH9QlUfb1N0DbN5jqfGuuAnmbU/JkMp7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzY3N1dzc1p for ; Thu, 07 May 2026 17:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cd2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:25:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Xin LI From: Colin Percival Subject: git: 1aa2b46a0707 - releng/15.1 - MFV: zstd 1.5.7. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 1aa2b46a07075ea79d22e91a1325b88de4efd27e Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:25:12 +0000 Message-Id: <69fccaf8.3cd2a.28f340b5@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1aa2b46a07075ea79d22e91a1325b88de4efd27e commit 1aa2b46a07075ea79d22e91a1325b88de4efd27e Author: Xin LI AuthorDate: 2026-05-07 04:29:03 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:24:49 +0000 MFV: zstd 1.5.7. Approved by: re (cperciva) MFC after: 2 weeks Relnotes: yes (cherry picked from commit c0d9a07101a1e72769ee0619a583f63a078fb391) (cherry picked from commit 7c9418613a31571e4eceda55a417f7183d26acb5) (cherry picked from commit 111a42d7d78a88ba6ff7b5d61b0867faccc00276) (cherry picked from commit ff426ceef657d7c478471e631349c5d1a8b96453) --- lib/libzstd/Makefile | 4 + sys/conf/files | 1 + sys/contrib/zstd/.buckconfig | 9 - sys/contrib/zstd/.buckversion | 1 - sys/contrib/zstd/CHANGELOG | 148 +- sys/contrib/zstd/CONTRIBUTING.md | 489 --- sys/contrib/zstd/FREEBSD-Xlist | 11 +- sys/contrib/zstd/LICENSE | 8 +- sys/contrib/zstd/Makefile | 439 --- sys/contrib/zstd/README.md | 96 +- sys/contrib/zstd/SECURITY.md | 15 + sys/contrib/zstd/TESTING.md | 43 - sys/contrib/zstd/appveyor.yml | 205 -- sys/contrib/zstd/doc/README.md | 25 - sys/contrib/zstd/doc/educational_decoder/Makefile | 62 - sys/contrib/zstd/doc/educational_decoder/README.md | 36 - sys/contrib/zstd/doc/educational_decoder/harness.c | 119 - .../zstd/doc/educational_decoder/zstd_decompress.c | 2320 ------------- .../zstd/doc/educational_decoder/zstd_decompress.h | 61 - sys/contrib/zstd/doc/images/CSpeed2.png | Bin 73335 -> 0 bytes sys/contrib/zstd/doc/images/DCspeed5.png | Bin 69278 -> 0 bytes sys/contrib/zstd/doc/images/DSpeed3.png | Bin 27123 -> 0 bytes sys/contrib/zstd/doc/images/cdict_v136.png | Bin 33330 -> 0 bytes sys/contrib/zstd/doc/images/dict-cr.png | Bin 90412 -> 0 bytes sys/contrib/zstd/doc/images/dict-cs.png | Bin 91518 -> 0 bytes sys/contrib/zstd/doc/images/dict-ds.png | Bin 98316 -> 0 bytes sys/contrib/zstd/doc/images/zstd_cdict_v1_3_5.png | Bin 93969 -> 0 bytes sys/contrib/zstd/doc/images/zstd_logo86.png | Bin 5963 -> 0 bytes sys/contrib/zstd/doc/zstd_compression_format.md | 1692 ---------- sys/contrib/zstd/doc/zstd_manual.html | 1908 ----------- sys/contrib/zstd/examples/Makefile | 93 - sys/contrib/zstd/examples/README.md | 46 - sys/contrib/zstd/examples/common.h | 234 -- sys/contrib/zstd/examples/dictionary_compression.c | 97 - .../zstd/examples/dictionary_decompression.c | 99 - .../zstd/examples/multiple_simple_compression.c | 116 - .../zstd/examples/multiple_streaming_compression.c | 133 - sys/contrib/zstd/examples/simple_compression.c | 68 - sys/contrib/zstd/examples/simple_decompression.c | 65 - sys/contrib/zstd/examples/streaming_compression.c | 140 - .../examples/streaming_compression_thread_pool.c | 180 -- .../zstd/examples/streaming_decompression.c | 100 - sys/contrib/zstd/examples/streaming_memory_usage.c | 137 - sys/contrib/zstd/lib/BUCK | 232 -- sys/contrib/zstd/lib/Makefile | 357 -- sys/contrib/zstd/lib/README.md | 35 +- sys/contrib/zstd/lib/common/allocations.h | 55 + sys/contrib/zstd/lib/common/bits.h | 205 ++ sys/contrib/zstd/lib/common/bitstream.h | 192 +- sys/contrib/zstd/lib/common/compiler.h | 211 +- sys/contrib/zstd/lib/common/cpu.h | 38 +- sys/contrib/zstd/lib/common/debug.c | 8 +- sys/contrib/zstd/lib/common/debug.h | 42 +- sys/contrib/zstd/lib/common/entropy_common.c | 52 +- sys/contrib/zstd/lib/common/error_private.c | 12 +- sys/contrib/zstd/lib/common/error_private.h | 93 +- sys/contrib/zstd/lib/common/fse.h | 108 +- sys/contrib/zstd/lib/common/fse_decompress.c | 144 +- sys/contrib/zstd/lib/common/huf.h | 245 +- sys/contrib/zstd/lib/common/mem.h | 112 +- sys/contrib/zstd/lib/common/pool.c | 38 +- sys/contrib/zstd/lib/common/pool.h | 19 +- sys/contrib/zstd/lib/common/portability_macros.h | 56 +- sys/contrib/zstd/lib/common/threading.c | 88 +- sys/contrib/zstd/lib/common/threading.h | 23 +- sys/contrib/zstd/lib/common/xxhash.c | 16 +- sys/contrib/zstd/lib/common/xxhash.h | 3417 ++++++++++++++------ sys/contrib/zstd/lib/common/zstd_common.c | 37 +- sys/contrib/zstd/lib/common/zstd_deps.h | 14 +- sys/contrib/zstd/lib/common/zstd_internal.h | 195 +- sys/contrib/zstd/lib/common/zstd_trace.h | 19 +- sys/contrib/zstd/lib/compress/clevels.h | 2 +- sys/contrib/zstd/lib/compress/fse_compress.c | 146 +- sys/contrib/zstd/lib/compress/hist.c | 12 +- sys/contrib/zstd/lib/compress/hist.h | 9 +- sys/contrib/zstd/lib/compress/huf_compress.c | 472 +-- sys/contrib/zstd/lib/compress/zstd_compress.c | 3322 +++++++++++++------ .../zstd/lib/compress/zstd_compress_internal.h | 671 ++-- .../zstd/lib/compress/zstd_compress_literals.c | 156 +- .../zstd/lib/compress/zstd_compress_literals.h | 24 +- .../zstd/lib/compress/zstd_compress_sequences.c | 20 +- .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- .../zstd/lib/compress/zstd_compress_superblock.c | 393 ++- .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- sys/contrib/zstd/lib/compress/zstd_cwksp.h | 279 +- sys/contrib/zstd/lib/compress/zstd_double_fast.c | 244 +- sys/contrib/zstd/lib/compress/zstd_double_fast.h | 32 +- sys/contrib/zstd/lib/compress/zstd_fast.c | 704 ++-- sys/contrib/zstd/lib/compress/zstd_fast.h | 21 +- sys/contrib/zstd/lib/compress/zstd_lazy.c | 1063 +++--- sys/contrib/zstd/lib/compress/zstd_lazy.h | 198 +- sys/contrib/zstd/lib/compress/zstd_ldm.c | 101 +- sys/contrib/zstd/lib/compress/zstd_ldm.h | 22 +- sys/contrib/zstd/lib/compress/zstd_ldm_geartab.h | 2 +- sys/contrib/zstd/lib/compress/zstd_opt.c | 570 ++-- sys/contrib/zstd/lib/compress/zstd_opt.h | 58 +- sys/contrib/zstd/lib/compress/zstd_preSplit.c | 238 ++ sys/contrib/zstd/lib/compress/zstd_preSplit.h | 33 + sys/contrib/zstd/lib/compress/zstdmt_compress.c | 414 ++- sys/contrib/zstd/lib/compress/zstdmt_compress.h | 21 +- sys/contrib/zstd/lib/decompress/huf_decompress.c | 1031 +++--- .../zstd/lib/decompress/huf_decompress_amd64.S | 139 +- sys/contrib/zstd/lib/decompress/zstd_ddict.c | 8 +- sys/contrib/zstd/lib/decompress/zstd_ddict.h | 2 +- sys/contrib/zstd/lib/decompress/zstd_decompress.c | 410 ++- .../zstd/lib/decompress/zstd_decompress_block.c | 723 +++-- .../zstd/lib/decompress/zstd_decompress_block.h | 9 +- .../zstd/lib/decompress/zstd_decompress_internal.h | 18 +- sys/contrib/zstd/lib/deprecated/zbuff.h | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_common.c | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_compress.c | 2 +- sys/contrib/zstd/lib/deprecated/zbuff_decompress.c | 4 +- sys/contrib/zstd/lib/dictBuilder/cover.c | 141 +- sys/contrib/zstd/lib/dictBuilder/cover.h | 12 +- sys/contrib/zstd/lib/dictBuilder/divsufsort.h | 10 - sys/contrib/zstd/lib/dictBuilder/fastcover.c | 8 +- sys/contrib/zstd/lib/dictBuilder/zdict.c | 125 +- sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.h | 6 + sys/contrib/zstd/lib/legacy/zstd_legacy.h | 39 +- sys/contrib/zstd/lib/legacy/zstd_v01.c | 69 +- sys/contrib/zstd/lib/legacy/zstd_v01.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v02.c | 107 +- sys/contrib/zstd/lib/legacy/zstd_v02.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v03.c | 111 +- sys/contrib/zstd/lib/legacy/zstd_v03.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v04.c | 99 +- sys/contrib/zstd/lib/legacy/zstd_v04.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v05.c | 107 +- sys/contrib/zstd/lib/legacy/zstd_v05.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v06.c | 132 +- sys/contrib/zstd/lib/legacy/zstd_v06.h | 2 +- sys/contrib/zstd/lib/legacy/zstd_v07.c | 117 +- sys/contrib/zstd/lib/legacy/zstd_v07.h | 2 +- sys/contrib/zstd/lib/libzstd.mk | 98 +- sys/contrib/zstd/lib/libzstd.pc.in | 10 +- sys/contrib/zstd/lib/module.modulemap | 16 +- sys/contrib/zstd/lib/zdict.h | 101 +- sys/contrib/zstd/lib/zstd.h | 1157 +++++-- sys/contrib/zstd/lib/zstd_errors.h | 44 +- sys/contrib/zstd/programs/BUCK | 44 - sys/contrib/zstd/programs/Makefile | 435 --- sys/contrib/zstd/programs/README.md | 191 +- sys/contrib/zstd/programs/benchfn.c | 12 +- sys/contrib/zstd/programs/benchfn.h | 14 +- sys/contrib/zstd/programs/benchzstd.c | 1287 +++++--- sys/contrib/zstd/programs/benchzstd.h | 80 +- sys/contrib/zstd/programs/datagen.c | 2 +- sys/contrib/zstd/programs/datagen.h | 10 +- sys/contrib/zstd/programs/dibio.c | 33 +- sys/contrib/zstd/programs/dibio.h | 2 +- sys/contrib/zstd/programs/fileio.c | 1887 ++++++----- sys/contrib/zstd/programs/fileio.h | 35 +- sys/contrib/zstd/programs/fileio_asyncio.c | 663 ++++ sys/contrib/zstd/programs/fileio_asyncio.h | 195 ++ sys/contrib/zstd/programs/fileio_common.h | 121 + sys/contrib/zstd/programs/fileio_types.h | 86 + sys/contrib/zstd/programs/lorem.c | 285 ++ sys/contrib/zstd/programs/lorem.h | 32 + sys/contrib/zstd/programs/platform.h | 46 +- sys/contrib/zstd/programs/timefn.c | 139 +- sys/contrib/zstd/programs/timefn.h | 70 +- sys/contrib/zstd/programs/util.c | 408 ++- sys/contrib/zstd/programs/util.h | 66 +- sys/contrib/zstd/programs/zstd.1 | 489 ++- sys/contrib/zstd/programs/zstd.1.md | 598 ++-- sys/contrib/zstd/programs/zstdcli.c | 648 ++-- sys/contrib/zstd/programs/zstdcli_trace.c | 2 +- sys/contrib/zstd/programs/zstdcli_trace.h | 2 +- sys/contrib/zstd/programs/zstdgrep.1 | 10 +- sys/contrib/zstd/programs/zstdgrep.1.md | 10 +- sys/contrib/zstd/programs/zstdless | 8 +- sys/contrib/zstd/programs/zstdless.1 | 6 +- sys/contrib/zstd/programs/zstdless.1.md | 6 +- sys/contrib/zstd/zlibWrapper/BUCK | 22 - sys/contrib/zstd/zlibWrapper/Makefile | 119 - sys/contrib/zstd/zlibWrapper/README.md | 4 +- sys/contrib/zstd/zlibWrapper/examples/example.c | 629 ---- .../zstd/zlibWrapper/examples/example_original.c | 618 ---- sys/contrib/zstd/zlibWrapper/examples/fitblk.c | 254 -- .../zstd/zlibWrapper/examples/fitblk_original.c | 233 -- sys/contrib/zstd/zlibWrapper/examples/minigzip.c | 640 ---- sys/contrib/zstd/zlibWrapper/examples/zwrapbench.c | 1016 ------ sys/contrib/zstd/zlibWrapper/gzclose.c | 6 +- sys/contrib/zstd/zlibWrapper/gzcompatibility.h | 16 +- sys/contrib/zstd/zlibWrapper/gzguts.h | 20 +- sys/contrib/zstd/zlibWrapper/gzlib.c | 99 +- sys/contrib/zstd/zlibWrapper/gzread.c | 95 +- sys/contrib/zstd/zlibWrapper/gzwrite.c | 89 +- sys/contrib/zstd/zlibWrapper/zstd_zlibwrapper.c | 90 +- sys/contrib/zstd/zlibWrapper/zstd_zlibwrapper.h | 15 +- usr.bin/zstd/Makefile | 2 + 191 files changed, 17754 insertions(+), 23515 deletions(-) diff --git a/lib/libzstd/Makefile b/lib/libzstd/Makefile index 4a1557a14517..82e9d2a5b243 100644 --- a/lib/libzstd/Makefile +++ b/lib/libzstd/Makefile @@ -15,6 +15,7 @@ SRCS= entropy_common.c \ zstd_compress_literals.c \ zstd_compress_sequences.c \ zstd_compress_superblock.c \ + zstd_preSplit.c \ zstdmt_compress.c \ huf_decompress.c \ zstd_ddict.c \ @@ -54,6 +55,9 @@ ZSTDDIR= ${SRCTOP}/sys/contrib/zstd .include +# These symbols are needed by dll-linked CLI zstd(1). +CFLAGS.pool.c+= -fvisibility=default + CFLAGS.huf_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} # https://github.com/facebook/zstd/commit/812e8f2a [zstd 1.4.1] diff --git a/sys/conf/files b/sys/conf/files index 9d6488a415cb..7f925bfc3f23 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -651,6 +651,7 @@ contrib/zstd/lib/compress/zstd_compress.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_literals.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_sequences.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/zstd_compress_superblock.c optional zstdio compile-with "${ZSTD_C} ${NO_WUNUSED_BUT_SET_VARIABLE}" +contrib/zstd/lib/compress/zstd_preSplit.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/fse_compress.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/hist.c optional zstdio compile-with ${ZSTD_C} contrib/zstd/lib/compress/huf_compress.c optional zstdio compile-with ${ZSTD_C} diff --git a/sys/contrib/zstd/.buckconfig b/sys/contrib/zstd/.buckconfig deleted file mode 100644 index 483f6053b265..000000000000 --- a/sys/contrib/zstd/.buckconfig +++ /dev/null @@ -1,9 +0,0 @@ -[cxx] - cppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=4 - cflags = -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith - cxxppflags = -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=4 - cxxflags = -std=c++11 -Wno-deprecated-declarations - gtest_dep = //contrib/pzstd:gtest - -[httpserver] - port = 0 diff --git a/sys/contrib/zstd/.buckversion b/sys/contrib/zstd/.buckversion deleted file mode 100644 index 892fad966fce..000000000000 --- a/sys/contrib/zstd/.buckversion +++ /dev/null @@ -1 +0,0 @@ -c8dec2e8da52d483f6dd7c6cd2ad694e8e6fed2b diff --git a/sys/contrib/zstd/CHANGELOG b/sys/contrib/zstd/CHANGELOG index 4e0045b950c9..92df0f462ee0 100644 --- a/sys/contrib/zstd/CHANGELOG +++ b/sys/contrib/zstd/CHANGELOG @@ -1,3 +1,145 @@ +V1.5.7 (Feb 2025) +fix: compression bug in 32-bit mode associated with long-lasting sessions +api: new method `ZSTD_compressSequencesAndLiterals()` (#4217, #4232) +api: `ZSTD_getFrameHeader()` works on skippable frames (#4228) +perf: substantial compression speed improvements (up to +30%) on small data, by @TocarIP (#4144) and @cyan4973 (#4165) +perf: improved compression speed (~+5%) for dictionary compression at low levels (#4170) +perf: much faster speed for `--patch-from` at high compression levels (#4276) +perf: higher `--patch-from` compression ratios, notably at high levels (#4288) +perf: better speed for binaries on Windows (@pps83) and when compiled with Visual Studio (@MessyHack) +perf: slight compression ratio improvement thanks to better block boundaries (#4136, #4176, #4178) +perf: slight compression ratio improvement for `dfast`, aka levels 3 and 4 (#4171) +perf: runtime bmi2 detection enabled on x86 32-bit mode (#4251) +cli: multi-threading as default CLI setting, by @daniellerozenblit +cli: new `--max` command (#4290) +build: improve `msbuild` version autodetection, support VS2022, by @ManuelBlanc +build: fix `meson` build by @artem and @Victor-C-Zhang, and on Windows by @bgilbert +build: compatibility with Apple Framework, by @Treata11 +build: improve icc/icx compatibility, by @josepho0918 and @luau-project +build: improve compatibility with Android NDK, by Adenilson Cavalcanti +portability: linux kernel branch, with improved support for Sequence producers (@embg, @gcabiddu, @cyan4973) +portability: improved qnx compatibility, suggested by @rainbowball +portability: improved install script for FreeBSD, by @sunpoet +portability: fixed test suite compatibility with gnu hurd, by @diegonc +doc: clarify specification, by @elasota +misc: improved tests/decodecorpus validation tool (#4102), by antmicro + +V1.5.6 (Mar 2024) +api: Promote `ZSTD_c_targetCBlockSize` to Stable API by @felixhandte +api: new `ZSTD_d_maxBlockSize` experimental parameter, to reduce streaming decompression memory, by @terrelln +perf: improve performance of param `ZSTD_c_targetCBlockSize`, by @Cyan4973 +perf: improved compression of arrays of integers at high compression, by @Cyan4973 +lib: reduce binary size with selective build-time exclusion, by @felixhandte +lib: improved huffman speed on small data and linux kernel, by @terrelln +lib: accept dictionaries with partial literal tables, by @terrelln +lib: fix CCtx size estimation with external sequence producer, by @embg +lib: fix corner case decoder behaviors, by @Cyan4973 and @aimuz +lib: fix zdict prototype mismatch in static_only mode, by @ldv-alt +lib: fix several bugs in magicless-format decoding, by @embg +cli: add common compressed file types to `--exclude-compressed`` by @daniellerozenblit +cli: fix mixing `-c` and `-o` commands with `--rm`, by @Cyan4973 +cli: fix erroneous exclusion of hidden files with `--output-dir-mirror` by @felixhandte +cli: improved time accuracy on BSD, by @felixhandte +cli: better errors on argument parsing, by @KapJI +tests: better compatibility with older versions of `grep`, by @Cyan4973 +tests: lorem ipsum generator as default backup content, by @Cyan4973 +build: cmake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis +build: bazel support, by @jondo2010 +build: fix cross-compiling for AArch64 with lld by @jcelerier +build: fix Apple platform compatibility, by @nidhijaju +build: fix Visual 2012 and lower compatibility, by @Cyan4973 +build: improve win32 support, by @DimitriPapadopoulos +build: better C90 compliance for zlibWrapper, by @emaste +port: make: fat binaries on macos, by @mredig +port: ARM64EC compatibility for Windows, by @dunhor +port: QNX support by @klausholstjacobsen +port: MSYS2 and Cygwin makefile installation and test support, by @QBos07 +port: risc-v support validation in CI, by @Cyan4973 +port: sparc64 support validation in CI, by @Cyan4973 +port: AIX compatibility, by @likema +port: HP-UX compatibility, by @likema +doc: Improved specification accuracy, by @elasota +bug: Fix and deprecate ZSTD_generateSequences (#3981) + +v1.5.5 (Apr 2023) +fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln) +perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln) +lib: deprecated bufferless block-level API (#3534) by @terrelln +cli: mmap large dictionaries to save memory, by @daniellerozenblit +cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit +cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte +cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte +cli: fix decompression into block device using -o, reported by @georgmu (#3583) +build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71 +build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou +build: fix MSVC+ClangCL linking issue (#3569) by @tru +build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko +build: fix MSVC warnings (#3495) by @embg +doc: updated zstd specification to clarify corner cases, by @Cyan4973 +doc: document how to create fat binaries for macos (#3568) by @rickmark +misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973 +misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt + +v1.5.4 (Feb 2023) +perf: +20% faster huffman decompression for targets that can't compile x64 assembly (#3449, @terrelln) +perf: up to +10% faster streaming compression at levels 1-2 (#3114, @embg) +perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln) +pref: +3-11% compression speed for `arm` target (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1) +perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg) +perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg) +perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte) +perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit) +perf: small speed improvement by better detecting `STATIC_BMI2` for `clang` (#3080, @TocarIP) +perf: Improved streaming performance when `ZSTD_c_stableInBuffer` is set (#2974, @Cyan4973) +cli: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko) +cli: Change `zstdless` behavior to align with `zless` (#2909, @binhdvo) +cli: Keep original file if `-c` or `--stdout` is given (#3052, @dirkmueller) +cli: Keep original files when result is concatenated into a single output with `-o` (#3450, @Cyan4973) +cli: Preserve Permissions and Ownership of regular files (#3432, @felixhandte) +cli: Print zlib/lz4/lzma library versions with `-vv` (#3030, @terrelln) +cli: Print checksum value for single frame files with `-lv` (#3332, @Cyan4973) +cli: Print `dictID` when present with `-lv` (#3184, @htnhan) +cli: when `stderr` is *not* the console, disable status updates, but preserve final summary (#3458, @Cyan4973) +cli: support `--best` and `--no-name` in `gzip` compatibility mode (#3059, @dirkmueller) +cli: support for `posix` high resolution timer `clock_gettime()`, for improved benchmark accuracy (#3423, @Cyan4973) +cli: improved help/usage (`-h`, `-H`) formatting (#3094, @dirkmueller and #3385, @jonpalmisc) +cli: Fix better handling of bogus numeric values (#3268, @ctkhanhly) +cli: Fix input consists of multiple files _and_ `stdin` (#3222, @yoniko) +cli: Fix tiny files passthrough (#3215, @cgbur) +cli: Fix for `-r` on empty directory (#3027, @brailovich) +cli: Fix empty string as argument for `--output-dir-*` (#3220, @embg) +cli: Fix decompression memory usage reported by `-vv --long` (#3042, @u1f35c, and #3232, @zengyijing) +cli: Fix infinite loop when empty input is passed to trainer (#3081, @terrelln) +cli: Fix `--adapt` doesn't work when `--no-progress` is also set (#3354, @terrelln) +api: Support for Block-Level Sequence Producer (#3333, @embg) +api: Support for in-place decompression (#3432, @terrelln) +api: New `ZSTD_CCtx_setCParams()` function, set all parameters defined in a `ZSTD_compressionParameters` structure (#3403, @Cyan4973) +api: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973) +api: Window size resizing optimization for edge case (#3345, @daniellerozenblit) +api: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973) +api: Fix limit overflow in `compressBound` and `decompressBound` (#3362, #3373, Cyan4973) reported by @nigeltao +api: Deprecate several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu) +bug: Fix corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln) +bug: Fix for block-splitter (#3033, @Cyan4973) +bug: Fixes for Sequence Compression API (#3023, #3040, @Cyan4973) +bug: Fix leaking thread handles on Windows (#3147, @animalize) +bug: Fix timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973) +build: Allow user to select legacy level for cmake (#3050, @shadchin) +build: Enable legacy support by default in cmake (#3079, @niamster) +build: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb) +build: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos) +build: support AIX architecture (#3219, @qiongsiwu) +build: Fix `ZSTD_LIB_MINIFY` build macro, which now reduces static library size by half (#3366, @terrelln) +build: Fix Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden) +build: Fix `cmake` script (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973) +doc: Updated man page, providing more details for `--train` mode (#3112, @Cyan4973) +doc: Add decompressor errata document (#3092, @terrelln) +misc: Enable Intel CET (#2992, #2994, @hjl-tools) +misc: Fix `contrib/` seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit) +misc: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden) + +v1.5.3 (dev version, unpublished) + v1.5.2 (Jan, 2022) perf: Regain Minimal memset()-ing During Reuse of Compression Contexts (@Cyan4973, #2969) build: Build Zstd with `noexecstack` on All Architectures (@felixhandte, #2964) @@ -19,7 +161,7 @@ build: support for m68k (Motorola 68000's), by @cyan4973 build: improved AIX support, by @Helflym build: improved meson unofficial build, by @eli-schwartz cli : custom memory limit when training dictionary (#2925), by @embg -cli : report advanced parameters information when compressing in very verbose mode (``-vv`), by @Svetlitski-FB +cli : report advanced parameters information when compressing in very verbose mode (`-vv`), by @Svetlitski-FB v1.5.0 (May 11, 2021) api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42) @@ -86,7 +228,7 @@ api: Add Function to Generate Skippable Frame (#2439, @senhuang42) perf: New Algorithms for the Long Distance Matcher (#2483, @mpu) perf: Performance Improvements for Long Distance Matcher (#2464, @mpu) perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln) -cli: Fix `--output-dir-mirror`'s Rejection of `..`-Containing Paths (#2512, @felixhandte) +cli: Fix `--output-dir-mirror` rejection of `..` -containing paths (#2512, @felixhandte) cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte) cli: Improve Help Message (#2500, @senhuang42) tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973) @@ -373,7 +515,7 @@ misc: added /contrib/docker script by @gyscos v1.3.3 (Dec 21, 2017) perf: faster zstd_opt strategy (levels 16-19) -fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen +fix : bug #944 : multithreading with shared dictionary and large data, reported by @gsliepen cli : fix : content size written in header by default cli : fix : improved LZ4 format support, by @felixhandte cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file diff --git a/sys/contrib/zstd/CONTRIBUTING.md b/sys/contrib/zstd/CONTRIBUTING.md deleted file mode 100644 index e7e545129e51..000000000000 --- a/sys/contrib/zstd/CONTRIBUTING.md +++ /dev/null @@ -1,489 +0,0 @@ -# Contributing to Zstandard -We want to make contributing to this project as easy and transparent as -possible. - -## Our Development Process -New versions are being developed in the "dev" branch, -or in their own feature branch. -When they are deemed ready for a release, they are merged into "release". - -As a consequences, all contributions must stage first through "dev" -or their own feature branch. - -## Pull Requests -We actively welcome your pull requests. - -1. Fork the repo and create your branch from `dev`. -2. If you've added code that should be tested, add tests. -3. If you've changed APIs, update the documentation. -4. Ensure the test suite passes. -5. Make sure your code lints. -6. If you haven't already, complete the Contributor License Agreement ("CLA"). - -## Contributor License Agreement ("CLA") -In order to accept your pull request, we need you to submit a CLA. You only need -to do this once to work on any of Facebook's open source projects. - -Complete your CLA here: - -## Workflow -Zstd uses a branch-based workflow for making changes to the codebase. Typically, zstd -will use a new branch per sizable topic. For smaller changes, it is okay to lump multiple -related changes into a branch. - -Our contribution process works in three main stages: -1. Local development - * Update: - * Checkout your fork of zstd if you have not already - ``` - git checkout https://github.com//zstd - cd zstd - ``` - * Update your local dev branch - ``` - git pull https://github.com/facebook/zstd dev - git push origin dev - ``` - * Topic and development: - * Make a new branch on your fork about the topic you're developing for - ``` - # branch names should be concise but sufficiently informative - git checkout -b - git push origin - ``` - * Make commits and push - ``` - # make some changes = - git add -u && git commit -m - git push origin - ``` - * Note: run local tests to ensure that your changes didn't break existing functionality - * Quick check - ``` - make shortest - ``` - * Longer check - ``` - make test - ``` -2. Code Review and CI tests - * Ensure CI tests pass: - * Before sharing anything to the community, create a pull request in your own fork against the dev branch - and make sure that all GitHub Actions CI tests pass. See the Continuous Integration section below for more information. - * Ensure that static analysis passes on your development machine. See the Static Analysis section - below to see how to do this. - * Create a pull request: - * When you are ready to share you changes to the community, create a pull request from your branch - to facebook:dev. You can do this very easily by clicking 'Create Pull Request' on your fork's home - page. - * From there, select the branch where you made changes as your source branch and facebook:dev - as the destination. - * Examine the diff presented between the two branches to make sure there is nothing unexpected. - * Write a good pull request description: - * While there is no strict template that our contributors follow, we would like them to - sufficiently summarize and motivate the changes they are proposing. We recommend all pull requests, - at least indirectly, address the following points. - * Is this pull request important and why? - * Is it addressing an issue? If so, what issue? (provide links for convenience please) - * Is this a new feature? If so, why is it useful and/or necessary? - * Are there background references and documents that reviewers should be aware of to properly assess this change? - * Note: make sure to point out any design and architectural decisions that you made and the rationale behind them. - * Note: if you have been working with a specific user and would like them to review your work, make sure you mention them using (@) - * Submit the pull request and iterate with feedback. -3. Merge and Release - * Getting approval: - * You will have to iterate on your changes with feedback from other collaborators to reach a point - where your pull request can be safely merged. - * To avoid too many comments on style and convention, make sure that you have a - look at our style section below before creating a pull request. - * Eventually, someone from the zstd team will approve your pull request and not long after merge it into - the dev branch. - * Housekeeping: - * Most PRs are linked with one or more Github issues. If this is the case for your PR, make sure - the corresponding issue is mentioned. If your change 'fixes' or completely addresses the - issue at hand, then please indicate this by requesting that an issue be closed by commenting. - * Just because your changes have been merged does not mean the topic or larger issue is complete. Remember - that the change must make it to an official zstd release for it to be meaningful. We recommend - that contributors track the activity on their pull request and corresponding issue(s) page(s) until - their change makes it to the next release of zstd. Users will often discover bugs in your code or - suggest ways to refine and improve your initial changes even after the pull request is merged. - -## Static Analysis -Static analysis is a process for examining the correctness or validity of a program without actually -executing it. It usually helps us find many simple bugs. Zstd uses clang's `scan-build` tool for -static analysis. You can install it by following the instructions for your OS on https://clang-analyzer.llvm.org/scan-build. - -Once installed, you can ensure that our static analysis tests pass on your local development machine -by running: -``` -make staticAnalyze -``` - -In general, you can use `scan-build` to static analyze any build script. For example, to static analyze -just `contrib/largeNbDicts` and nothing else, you can run: - -``` -scan-build make -C contrib/largeNbDicts largeNbDicts -``` - -### Pitfalls of static analysis -`scan-build` is part of our regular CI suite. Other static analyzers are not. - -It can be useful to look at additional static analyzers once in a while (and we do), but it's not a good idea to multiply the nb of analyzers run continuously at each commit and PR. The reasons are : - -- Static analyzers are full of false positive. The signal to noise ratio is actually pretty low. -- A good CI policy is "zero-warning tolerance". That means that all issues must be solved, including false positives. This quickly becomes a tedious workload. -- Multiple static analyzers will feature multiple kind of false positives, sometimes applying to the same code but in different ways leading to : - + torteous code, trying to please multiple constraints, hurting readability and therefore maintenance. Sometimes, such complexity introduce other more subtle bugs, that are just out of scope of the analyzers. - + sometimes, these constraints are mutually exclusive : if one try to solve one, the other static analyzer will complain, they can't be both happy at the same time. -- As if that was not enough, the list of false positives change with each version. It's hard enough to follow one static analyzer, but multiple ones with their own update agenda, this quickly becomes a massive velocity reducer. - -This is different from running a static analyzer once in a while, looking at the output, and __cherry picking__ a few warnings that seem helpful, either because they detected a genuine risk of bug, or because it helps expressing the code in a way which is more readable or more difficult to misuse. These kind of reports can be useful, and are accepted. - -## Continuous Integration -CI tests run every time a pull request (PR) is created or updated. The exact tests -that get run will depend on the destination branch you specify. Some tests take -longer to run than others. Currently, our CI is set up to run a short -series of tests when creating a PR to the dev branch and a longer series of tests -when creating a PR to the release branch. You can look in the configuration files -of the respective CI platform for more information on what gets run when. - -Most people will just want to create a PR with the destination set to their local dev -branch of zstd. You can then find the status of the tests on the PR's page. You can also -re-run tests and cancel running tests from the PR page or from the respective CI's dashboard. - -Almost all of zstd's CI runs on GitHub Actions (configured at `.github/workflows`), which will automatically run on PRs to your -own fork. A small number of tests run on other services (e.g. Travis CI, Circle CI, Appveyor). -These require work to set up on your local fork, and (at least for Travis CI) cost money. -Therefore, if the PR on your local fork passes GitHub Actions, feel free to submit a PR -against the main repo. - -### Third-party CI -A small number of tests cannot run on GitHub Actions, or have yet to be migrated. -For these, we use a variety of third-party services (listed below). It is not necessary to set -these up on your fork in order to contribute to zstd; however, we do link to instructions for those -who want earlier signal. - -| Service | Purpose | Setup Links | Config Path | -|-----------|------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------| -| Travis CI | Used for testing on non-x86 architectures such as PowerPC | https://docs.travis-ci.com/user/tutorial/#to-get-started-with-travis-ci-using-github
    https://github.com/marketplace/travis-ci | `.travis.yml` | -| AppVeyor | Used for some Windows testing (e.g. cygwin, mingw) | https://www.appveyor.com/blog/2018/10/02/github-apps-integration/
    https://github.com/marketplace/appveyor | `appveyor.yml` | -| Cirrus CI | Used for testing on FreeBSD | https://github.com/marketplace/cirrus-ci/ | `.cirrus.yml` | -| Circle CI | Historically was used to provide faster signal,
    but we may be able to migrate these to Github Actions | https://circleci.com/docs/2.0/getting-started/#setting-up-circleci
    https://youtu.be/Js3hMUsSZ2c
    https://circleci.com/docs/2.0/enable-checks/ | `.circleci/config.yml` | - -Note: the instructions linked above mostly cover how to set up a repository with CI from scratch. -The general idea should be the same for setting up CI on your fork of zstd, but you may have to -follow slightly different steps. In particular, please ignore any instructions related to setting up -config files (since zstd already has configs for each of these services). - -## Performance -Performance is extremely important for zstd and we only merge pull requests whose performance -landscape and corresponding trade-offs have been adequately analyzed, reproduced, and presented. -This high bar for performance means that every PR which has the potential to -impact performance takes a very long time for us to properly review. That being said, we -always welcome contributions to improve performance (or worsen performance for the trade-off of -something else). Please keep the following in mind before submitting a performance related PR: - -1. Zstd isn't as old as gzip but it has been around for time now and its evolution is -very well documented via past Github issues and pull requests. It may be the case that your -particular performance optimization has already been considered in the past. Please take some -time to search through old issues and pull requests using keywords specific to your -would-be PR. Of course, just because a topic has already been discussed (and perhaps rejected -on some grounds) in the past, doesn't mean it isn't worth bringing up again. But even in that case, -it will be helpful for you to have context from that topic's history before contributing. -2. The distinction between noise and actual performance gains can unfortunately be very subtle -especially when microbenchmarking extremely small wins or losses. The only remedy to getting -something subtle merged is extensive benchmarking. You will be doing us a great favor if you -take the time to run extensive, long-duration, and potentially cross-(os, platform, process, etc) -benchmarks on your end before submitting a PR. Of course, you will not be able to benchmark -your changes on every single processor and os out there (and neither will we) but do that best -you can:) We've adding some things to think about when benchmarking below in the Benchmarking -Performance section which might be helpful for you. -3. Optimizing performance for a certain OS, processor vendor, compiler, or network system is a perfectly -legitimate thing to do as long as it does not harm the overall performance health of Zstd. -This is a hard balance to strike but please keep in mind other aspects of Zstd when -submitting changes that are clang-specific, windows-specific, etc. - -## Benchmarking Performance -Performance microbenchmarking is a tricky subject but also essential for Zstd. We value empirical -testing over theoretical speculation. This guide it not perfect but for most scenarios, it -is a good place to start. - -### Stability -Unfortunately, the most important aspect in being able to benchmark reliably is to have a stable -benchmarking machine. A virtual machine, a machine with shared resources, or your laptop -will typically not be stable enough to obtain reliable benchmark results. If you can get your -hands on a desktop, this is usually a better scenario. - -Of course, benchmarking can be done on non-hyper-stable machines as well. You will just have to -do a little more work to ensure that you are in fact measuring the changes you've made not and -noise. Here are some things you can do to make your benchmarks more stable: - -1. The most simple thing you can do to drastically improve the stability of your benchmark is -to run it multiple times and then aggregate the results of those runs. As a general rule of -thumb, the smaller the change you are trying to measure, the more samples of benchmark runs -you will have to aggregate over to get reliable results. Here are some additional things to keep in -mind when running multiple trials: - * How you aggregate your samples are important. You might be tempted to use the mean of your - results. While this is certainly going to be a more stable number than a raw single sample - benchmark number, you might have more luck by taking the median. The mean is not robust to - outliers whereas the median is. Better still, you could simply take the fastest speed your - benchmark achieved on each run since that is likely the fastest your process will be - capable of running your code. In our experience, this (aggregating by just taking the sample - with the fastest running time) has been the most stable approach. - * The more samples you have, the more stable your benchmarks should be. You can verify - your improved stability by looking at the size of your confidence intervals as you - increase your sample count. These should get smaller and smaller. Eventually hopefully - smaller than the performance win you are expecting. - * Most processors will take some time to get `hot` when running anything. The observations - you collect during that time period will very different from the true performance number. Having - a very large number of sample will help alleviate this problem slightly but you can also - address is directly by simply not including the first `n` iterations of your benchmark in - your aggregations. You can determine `n` by simply looking at the results from each iteration - and then hand picking a good threshold after which the variance in results seems to stabilize. -2. You cannot really get reliable benchmarks if your host machine is simultaneously running -another cpu/memory-intensive application in the background. If you are running benchmarks on your -personal laptop for instance, you should close all applications (including your code editor and -browser) before running your benchmarks. You might also have invisible background applications -running. You can see what these are by looking at either Activity Monitor on Mac or Task Manager -on Windows. You will get more stable benchmark results of you end those processes as well. - * If you have multiple cores, you can even run your benchmark on a reserved core to prevent - pollution from other OS and user processes. There are a number of ways to do this depending - on your OS: - * On linux boxes, you have use https://github.com/lpechacek/cpuset. - * On Windows, you can "Set Processor Affinity" using https://www.thewindowsclub.com/processor-affinity-windows - * On Mac, you can try to use their dedicated affinity API https://developer.apple.com/library/archive/releasenotes/Performance/RN-AffinityAPI/#//apple_ref/doc/uid/TP40006635-CH1-DontLinkElementID_2 -3. To benchmark, you will likely end up writing a separate c/c++ program that will link libzstd. -Dynamically linking your library will introduce some added variation (not a large amount but -definitely some). Statically linking libzstd will be more stable. Static libraries should -be enabled by default when building zstd. -4. Use a profiler with a good high resolution timer. See the section below on profiling for -details on this. -5. Disable frequency scaling, turbo boost and address space randomization (this will vary by OS) -6. Try to avoid storage. On some systems you can use tmpfs. Putting the program, inputs and outputs on -tmpfs avoids touching a real storage system, which can have a pretty big variability. - -Also check our LLVM's guide on benchmarking here: https://llvm.org/docs/Benchmarking.html - -### Zstd benchmark -The fastest signal you can get regarding your performance changes is via the in-build zstd cli -bench option. You can run Zstd as you typically would for your scenario using some set of options -and then additionally also specify the `-b#` option. Doing this will run our benchmarking pipeline -for that options you have just provided. If you want to look at the internals of how this -benchmarking script works, you can check out programs/benchzstd.c - -For example: say you have made a change that you believe improves the speed of zstd level 1. The -very first thing you should use to asses whether you actually achieved any sort of improvement -is `zstd -b`. You might try to do something like this. Note: you can use the `-i` option to -specify a running time for your benchmark in seconds (default is 3 seconds). -Usually, the longer the running time, the more stable your results will be. - -``` -$ git checkout -$ make && cp zstd zstd-old -$ git checkout -$ make && cp zstd zstd-new -$ zstd-old -i5 -b1 - 1 : 8990 -> 3992 (2.252), 302.6 MB/s , 626.4 MB/s -$ zstd-new -i5 -b1 - 1 : 8990 -> 3992 (2.252), 302.8 MB/s , 628.4 MB/s -``` - -Unless your performance win is large enough to be visible despite the intrinsic noise -on your computer, benchzstd alone will likely not be enough to validate the impact of your -changes. For example, the results of the example above indicate that effectively nothing -changed but there could be a small <3% improvement that the noise on the host machine -obscured. So unless you see a large performance win (10-15% consistently) using just -this method of evaluation will not be sufficient. - -### Profiling -There are a number of great profilers out there. We're going to briefly mention how you can -profile your code using `instruments` on mac, `perf` on linux and `visual studio profiler` -on windows. - -Say you have an idea for a change that you think will provide some good performance gains -for level 1 compression on Zstd. Typically this means, you have identified a section of -code that you think can be made to run faster. - -The first thing you will want to do is make sure that the piece of code is actually taking up -a notable amount of time to run. It is usually not worth optimizing something which accounts for less than -0.0001% of the total running time. Luckily, there are tools to help with this. -Profilers will let you see how much time your code spends inside a particular function. -If your target code snippet is only part of a function, it might be worth trying to -isolate that snippet by moving it to its own function (this is usually not necessary but -might be). - -Most profilers (including the profilers discussed below) will generate a call graph of -functions for you. Your goal will be to find your function of interest in this call graph -and then inspect the time spent inside of it. You might also want to to look at the -annotated assembly which most profilers will provide you with. - -#### Instruments -We will once again consider the scenario where you think you've identified a piece of code -whose performance can be improved upon. Follow these steps to profile your code using -Instruments. - -1. Open Instruments -2. Select `Time Profiler` from the list of standard templates -3. Close all other applications except for your instruments window and your terminal -4. Run your benchmarking script from your terminal window - * You will want a benchmark that runs for at least a few seconds (5 seconds will - usually be long enough). This way the profiler will have something to work with - and you will have ample time to attach your profiler to this process:) - * I will just use benchzstd as my bencharmking script for this example: -``` -$ zstd -b1 -i5 # this will run for 5 seconds -``` -5. Once you run your benchmarking script, switch back over to instruments and attach your -process to the time profiler. You can do this by: - * Clicking on the `All Processes` drop down in the top left of the toolbar. - * Selecting your process from the dropdown. In my case, it is just going to be labeled - `zstd` - * Hitting the bright red record circle button on the top left of the toolbar -6. You profiler will now start collecting metrics from your benchmarking script. Once -you think you have collected enough samples (usually this is the case after 3 seconds of -recording), stop your profiler. -7. Make sure that in toolbar of the bottom window, `profile` is selected. -8. You should be able to see your call graph. - * If you don't see the call graph or an incomplete call graph, make sure you have compiled - zstd and your benchmarking script using debug flags. On mac and linux, this just means - you will have to supply the `-g` flag alone with your build script. You might also - have to provide the `-fno-omit-frame-pointer` flag -9. Dig down the graph to find your function call and then inspect it by double clicking -the list item. You will be able to see the annotated source code and the assembly side by -side. - -#### Perf - -This wiki has a pretty detailed tutorial on getting started working with perf so we'll -leave you to check that out of you're getting started: - -https://perf.wiki.kernel.org/index.php/Tutorial - -Some general notes on perf: -* Use `perf stat -r # ` to quickly get some relevant timing and -counter statistics. Perf uses a high resolution timer and this is likely one -of the first things your team will run when assessing your PR. -* Perf has a long list of hardware counters that can be viewed with `perf --list`. -When measuring optimizations, something worth trying is to make sure the hardware -counters you expect to be impacted by your change are in fact being so. For example, -if you expect the L1 cache misses to decrease with your change, you can look at the -counter `L1-dcache-load-misses` -* Perf hardware counters will not work on a virtual machine. - -#### Visual Studio - -TODO - -## Issues -We use GitHub issues to track public bugs. Please ensure your description is -clear and has sufficient instructions to be able to reproduce the issue. - -Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe -disclosure of security bugs. In those cases, please go through the process -outlined on that page and do not file a public issue. - -## Coding Style -It's a pretty long topic, which is difficult to summarize in a single paragraph. -As a rule of thumbs, try to imitate the coding style of -similar lines of codes around your contribution. -The following is a non-exhaustive list of rules employed in zstd code base: - -### C90 -This code base is following strict C90 standard, -with 2 extensions : 64-bit `long long` types, and variadic macros. -This rule is applied strictly to code within `lib/` and `programs/`. -Sub-project in `contrib/` are allowed to use other conventions. - -### C++ direct compatibility : symbol mangling -All public symbol declarations must be wrapped in `extern “C” { … }`, -so that this project can be compiled as C++98 code, -and linked into C++ applications. - -### Minimal Frugal -This design requirement is fundamental to preserve the portability of the code base. -#### Dependencies -- Reduce dependencies to the minimum possible level. - Any dependency should be considered “bad” by default, - and only tolerated because it provides a service in a better way than can be achieved locally. - The only external dependencies this repository tolerates are - standard C libraries, and in rare cases, system level headers. -- Within `lib/`, this policy is even more drastic. - The only external dependencies allowed are ``, ``, ``, - and even then, not directly. - In particular, no function shall ever allocate on heap directly, - and must use instead `ZSTD_malloc()` and equivalent. - Other accepted non-symbol headers are `` and ``. -- Within the project, there is a strict hierarchy of dependencies that must be respected. - `programs/` is allowed to depend on `lib/`, but only its public API. - Within `lib/`, `lib/common` doesn't depend on any other directory. - `lib/compress` and `lib/decompress` shall not depend on each other. - `lib/dictBuilder` can depend on `lib/common` and `lib/compress`, but not `lib/decompress`. -#### Resources -- Functions in `lib/` must use very little stack space, - several dozens of bytes max. - Everything larger must use the heap allocator, - or require a scratch buffer to be emplaced manually. - -### Naming -* All public symbols are prefixed with `ZSTD_` - + private symbols, with a scope limited to their own unit, are free of this restriction. - However, since `libzstd` source code can be amalgamated, - each symbol name must attempt to be (and remain) unique. - Avoid too generic names that could become ground for future collisions. - This generally implies usage of some form of prefix. -* For symbols (functions and variables), naming convention is `PREFIX_camelCase`. - + In some advanced cases, one can also find : - - `PREFIX_prefix2_camelCase` - - `PREFIX_camelCase_extendedQualifier` -* Multi-words names generally consist of an action followed by object: - - for example : `ZSTD_createCCtx()` -* Prefer positive actions - - `goBackward` rather than `notGoForward` -* Type names (`struct`, etc.) follow similar convention, - except that they are allowed and even invited to start by an Uppercase letter. - Example : `ZSTD_CCtx`, `ZSTD_CDict` -* Macro names are all Capital letters. - The same composition rules (`PREFIX_NAME_QUALIFIER`) apply. -* File names are all lowercase letters. - The convention is `snake_case`. - File names **must** be unique across the entire code base, - even when they stand in clearly separated directories. - -### Qualifiers -* This code base is `const` friendly, if not `const` fanatical. - Any variable that can be `const` (aka. read-only) **must** be `const`. - Any pointer which content will not be modified must be `const`. - This property is then controlled at compiler level. - `const` variables are an important signal to readers that this variable isn’t modified. - Conversely, non-const variables are a signal to readers to watch out for modifications later on in the function. -* If a function must be inlined, mention it explicitly, - using project's own portable macros, such as `FORCE_INLINE_ATTR`, - defined in `lib/common/compiler.h`. - -### Debugging -* **Assertions** are welcome, and should be used very liberally, - to control any condition the code expects for its correct execution. - These assertion checks will be run in debug builds, and disabled in production. -* For traces, this project provides its own debug macros, - in particular `DEBUGLOG(level, ...)`, defined in `lib/common/debug.h`. - -### Code documentation -* Avoid code documentation that merely repeats what the code is already stating. - Whenever applicable, prefer employing the code as the primary way to convey explanations. - Example 1 : `int nbTokens = n;` instead of `int i = n; /* i is a nb of tokens *./`. - Example 2 : `assert(size > 0);` instead of `/* here, size should be positive */`. -* At declaration level, the documentation explains how to use the function or variable - and when applicable why it's needed, of the scenarios where it can be useful. -* At implementation level, the documentation explains the general outline of the algorithm employed, - and when applicable why this specific choice was preferred. - -### General layout -* 4 spaces for indentation rather than tabs -* Code documentation shall directly precede function declaration or implementation -* Function implementations and its code documentation should be preceded and followed by an empty line - - -## License -By contributing to Zstandard, you agree that your contributions will be licensed -under both the [LICENSE](LICENSE) file and the [COPYING](COPYING) file in the root directory of this source tree. diff --git a/sys/contrib/zstd/FREEBSD-Xlist b/sys/contrib/zstd/FREEBSD-Xlist index f39005add49f..7d87acac5f4a 100644 --- a/sys/contrib/zstd/FREEBSD-Xlist +++ b/sys/contrib/zstd/FREEBSD-Xlist @@ -1,10 +1,19 @@ -.circleci +*/BUCK +.buckconfig +.buckversion .cirrus.yml .github .gitignore .travis.yml +CODE_OF_CONDUCT.md +CONTRIBUTING.md +Makefile +Package.swift +TESTING.md build contrib +doc +examples lib/dll programs/windres tests diff --git a/sys/contrib/zstd/LICENSE b/sys/contrib/zstd/LICENSE index a793a8028925..75800288cc24 100644 --- a/sys/contrib/zstd/LICENSE +++ b/sys/contrib/zstd/LICENSE @@ -2,7 +2,7 @@ BSD License For Zstandard software -Copyright (c) 2016-present, Facebook, Inc. All rights reserved. +Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -14,9 +14,9 @@ are permitted provided that the following conditions are met: this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific *** 60805 LINES SKIPPED *** From nobody Thu May 7 17:25:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzb13bhz6ctcb for ; Thu, 07 May 2026 17:25: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 4gBJzZ4QvGz3lFy for ; Thu, 07 May 2026 17:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bcf27d9F6F7+nWaqt1/4X4KOh6KZc2irBwqB84RVzs=; b=CuskXGFAVNRkw4zT+kvXHrOQXV+aBgwIl8orNO9f0LLZX5CA3Mhw0iHxjBxIbA6lGa3Ko6 MkUA7eaBMtFnVCFA+p4pPsbKY6CU2lMcgcW3xmM3YCk03lU21rUSzC2FoLHJyvk97UvzLe 1vFMOxcr8bmDX6BYS+vx0/oUbr1AAVeVmrhBwp5vxVqgGXCJcBIBTccJXkS5SQWshamWf9 8dk2hvLPNEKnSWjF8ce5nLJ3pP6TcAhoOa71j21iiXpYlUHBDs/O1WJk4ZZgy81vF7pghl /VvKoFehPWuPToDRBCiPBBMClofSVKP2dE7cQdzsiqdQfI4+YgiORQHwXSzJAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174714; a=rsa-sha256; cv=none; b=w1YkeM/gZqa7lOrRtL06O6WRYpROwlZoGtHCTQL4miWepweujTe8sA9MYickhtiiXyH+eX 7b6g8FoGwn27nu6hPHM/0PokIDJ7aiiZpuCzQnX/7YMXA1efcSt8CaJAkLZvW7Oskxp3TU 6ViBW/6qCpvE0EU9GTyBkkB2bavHprQYdFS4QpTNlXXQ4xaQwwjwgeJg3YBHbWrwUMr16u BUz6I28J/QT2xdvnpPu/PSjeWWEQxQhJQbyQuUDQazhwR45ahwKi0vkE5Sn5FEjpsHpz+C uehS7aXQXxFMM6isDBEw1Vz81Dt0kovDAwEIWtEBIHWccK9lXmAbcLef6nOguw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9bcf27d9F6F7+nWaqt1/4X4KOh6KZc2irBwqB84RVzs=; b=QImSRSCbNw2IaP2S6vtc21qumvR/rY/PFVZe9WzveMVGjACWdBAn/qJUCn9mtX9p78szjt tpqUPgWwAwUkRk/HHC+7jvRekKvtApGjjjb3C3jVlywz97RZpCe58KAYVyo4oYaLcnKY1V L5wdrJOR9QQy9TI5KrQRxAhCpmnK7HN0mnioGu8sm6+t7CkguWFIXbDkXlgLqXWQYgpsSh gwX0jJhrbhXNnAseCp4ThNvTlz0eglwPm+n/cp8GS6waSasSDdj/5AF/XXZOMwCnskO9ZU Ft8KdYLTNtpT/YxMt9xWLMMcnZ1S3niXatrrfvwzdEwESltOGETXUN2CqopZEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBJzZ3pqJzc1q for ; Thu, 07 May 2026 17:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d008 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:25:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron From: Colin Percival Subject: git: 123476ad8464 - releng/15.1 - linuxkpi: Implement `module_*()` APIs as static functions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 123476ad84646c6b25f345840f753202312de464 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:25:14 +0000 Message-Id: <69fccafa.3d008.41539f74@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=123476ad84646c6b25f345840f753202312de464 commit 123476ad84646c6b25f345840f753202312de464 Author: Jean-Sébastien Pédron AuthorDate: 2026-05-07 11:16:09 +0000 Commit: Colin Percival CommitDate: 2026-05-07 17:24:52 +0000 linuxkpi: Implement `module_*()` APIs as static functions This fixes an "unused variable" warning when building DRM drivers. Approved by: re (cperciva) Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56780 (cherry picked from commit 658bb99db9c7872f92ccb86ed2674c72636436d2) (cherry picked from commit c81f516512111fa5ac8d5a9f3f7e64c2fb5ab5a3) --- sys/compat/linuxkpi/common/include/linux/module.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/module.h b/sys/compat/linuxkpi/common/include/linux/module.h index fbe57cbbed82..de4be1e9ebe9 100644 --- a/sys/compat/linuxkpi/common/include/linux/module.h +++ b/sys/compat/linuxkpi/common/include/linux/module.h @@ -136,9 +136,14 @@ _module_run(void *arg) #define module_exit_order(fn, order) \ SYSUNINIT(fn, SI_SUB_OFED_MODINIT, (order), _module_run, (fn)) -#define module_get(module) -#define module_put(module) -#define try_module_get(module) 1 +static inline void module_get(struct module *module) {} +static inline void module_put(struct module *module) {} + +static inline bool +try_module_get(struct module *module) +{ + return (true); +} #define postcore_initcall(fn) module_init(fn) From nobody Thu May 7 17:26:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBK1205jJz6ctg9 for ; Thu, 07 May 2026 17:26: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 4gBK114FJ4z3mPh for ; Thu, 07 May 2026 17:26:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xoBWzbVgimd3n8Xed2JlYD+7IjpfuhhPhiUy8ZuPhkI=; b=cAOIJOd/rMe8dy5BD7XC3mxwo5rO0ufFLBFEkzBU1K9CQ2C6rqI7oXLRRwstpKmMT0IC2i VTyEHSc9tSgR6/rXFAC7hDSCNGG4f3TBkyezgLFoWGtywbN2byH/2FIYlqe/W7wpasOVjD aLW/nER8YACcFVuHo0MSU/G+zVzbEnUaCe7YiJ2Qkx2xd9DqtP0LqNI6ouIsgJ7ZhXb1Ew wvcNTU6sCx2cZUlt0R5CZi7oaDPa5pQ6pWBuFgM5W8ORWAIUvGqsavlQESFwb5liE2KsB1 DDLH5RPaDuYPvxz+LInZPvJSbuq7IAq0kLDFg4tv4zI7L/517TJa0y+aE5l4/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174789; a=rsa-sha256; cv=none; b=EHT09Wf5KVr8YshYpQf23JDW1I/LzgwPp3n8JszUCb7bwpd+JgoFEDTtvaMrSr/5sRGtJJ kVy8ASBWGBAz/D59J0YmzeHMOvAPXqY3nxtfNxEpy+vZKjeNoLPOdx1AqnbJIt9yXkYQL4 7Ma0Z7Ij+f/RwbtAVUcVUEynV2bEZc68ziT0t+zuKZLotQj+EL9kI897Y+jCIcCjlHlDxS QNIb1vPYusZUrKStGWgE28Xm1UCuwqt9fh9f7ICDZy6B6SurzNecKbcQCe7+pVyWDefUo3 GcgWrVdE6JsdLbwztPjQ6wyygihTlMQ80HAsjaEGovRWRl+yQXdNnw9mVMNjSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xoBWzbVgimd3n8Xed2JlYD+7IjpfuhhPhiUy8ZuPhkI=; b=kveylPApxAp/VtTW3z0TS4uVHkkphWEicwbpe37uM1CAwYGh5PpeLeZ9f8lWA5TYCDmE+0 MzwGzAtuEONIqKD1CkCjbftczqiVsLsTxuZIbXO8izDKfUhT6EV0clQnWuy9kvsk5Uk6Oz vJ6RJR4pPEKiDQwC1U3vt2E8waRzBW0LLi6s28+tmC9Zv62eknLo0JiZSAcYyXElP3N8R2 ZE8ZNtqS+lr6nLkjxowwOAkP+PRsfcAJEjF7VTEbL0Nf5CfMo0pTfBQ7Bmwyws+gNA1aza BMAlihkyW9iuD8vKpxFYpPJ3TpTLZOLE0rM4eRxnIKCVnoCHtmae0A1k53ff0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBK112wXszcF9 for ; Thu, 07 May 2026 17:26:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c55e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:26:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jan Bramkamp From: Kyle Evans Subject: git: c35bb8ba8984 - stable/15 - jail: avoid leaking jail config fds to exec.* hooks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c35bb8ba898482920bf9b57967a9a11f98a89c81 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:26:29 +0000 Message-Id: <69fccb45.3c55e.7b30f10a@gitrepo.freebsd.org> The branch stable/15 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c35bb8ba898482920bf9b57967a9a11f98a89c81 commit c35bb8ba898482920bf9b57967a9a11f98a89c81 Author: Jan Bramkamp AuthorDate: 2026-05-06 23:28:53 +0000 Commit: Kyle Evans CommitDate: 2026-05-07 17:26:18 +0000 jail: avoid leaking jail config fds to exec.* hooks The jail(8) command must not leave parsed configuration files open since the file descriptors will be leaked to child processes including the untrusted exec.start or exec.stop hooks. While fopen() doesn't provide direct access to O_CLOEXEC, it does provide access to FD_CLOEXEC via "e" in the mode string which provides the desired defense in depth against leaking file descriptors into exec.* hooks since those always execve() into a shell. Jail configuration is potentially sensitive and some hooks execute from within the jail context, leaving some opening for the jail to exfiltrate information about the host environment. (Commit message wordsmithed by kevans) PR: 295052 Reviewed by: kevans (cherry picked from commit 276d9b88a9e6fd6fd90e57c36444756ad297d2ab) --- usr.sbin/jail/config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c index 1bad04ccde68..f1e2da215790 100644 --- a/usr.sbin/jail/config.c +++ b/usr.sbin/jail/config.c @@ -321,6 +321,7 @@ static void parse_config(const char *cfname, int is_stdin) { struct cflex cflex = {.cfname = cfname, .error = 0}; + FILE *yfp = NULL; void *scanner; yylex_init_extra(&cflex, &scanner); @@ -328,7 +329,7 @@ parse_config(const char *cfname, int is_stdin) cflex.cfname = "STDIN"; yyset_in(stdin, scanner); } else { - FILE *yfp = fopen(cfname, "r"); + yfp = fopen(cfname, "re"); if (!yfp) err(1, "%s", cfname); yyset_in(yfp, scanner); @@ -336,6 +337,8 @@ parse_config(const char *cfname, int is_stdin) if (yyparse(scanner) || cflex.error) exit(1); yylex_destroy(scanner); + if (yfp != NULL) + fclose(yfp); } /* From nobody Thu May 7 17:27:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBK1k1b0xz6ctct for ; Thu, 07 May 2026 17:27: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 4gBK1k0wX0z3mrb for ; Thu, 07 May 2026 17:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B5xx2/XbcUW8c4BRnsa2fI9GyUlMVUtAqbIFechaX88=; b=pb3h6ef/WdVubPL44qwYa9AavxOA9ONFdqB5B6b9uVezFoIfy79RMs+o9geVMltngWmLX/ eqClcmLHCb6A/J0LY2U/YfZUQuu+y1CmlTUVCxGc5Ve6PR7abbd6sdCXsebXTXx+WmeLta X6qWKm3FCNN0wLSaXs3WpqKlJOdlcMRaBknw6DTb4kkqj5EkpJcqknbY9wf9UcxuKUcmhB /9vyJ+o+wTKTZOXgEV2TrmRu9AE5jkfhb1/FGIRopTTXPDK2Pxsssi2xLRXsrYgScbBhgJ aWNqy081c2jftevZQKlHUO4Nx12Bl7jvEhyuWqX7eFFXRQBzOZ6yRW9wrbz/Hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778174826; a=rsa-sha256; cv=none; b=ZB0DTcnKjulMk3mpHBEwt10W6w3oRR13ydT9T9iXeSKY5tm6t85sXStfWu8HcaL84IOrKq HxoAQDozaNhlClQzxvGzSwCmqS5LttDZCZiTEHLG2HkQ5PNlngeH88se9pjWJhn2fGh1j4 mnINhVGpjCRsz/1hvx4lmwLW7Q5QSPZAnfvrWwXCGsgP0iXIKQTRvmyl+Um939t6ciR8lU LmX3zTx7Sb55u1Gp3DNUR0bLst0/r4TsMiKJAD5+TOwvhv5j8E7t70Zeu8y4ebOs3/omkn 5cIKYCCiczIEEDJsHsCS9/2E1OKt+wcGjEGHicXviXWu7R+WnvUDbbSRsJqVfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778174826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B5xx2/XbcUW8c4BRnsa2fI9GyUlMVUtAqbIFechaX88=; b=cY5bbf/NNg20M4qhhBOPQId6DJJ+IkApv5zZ4WYyVVk2GvsD2Jk3R2MnjX6v0kHeB9ADdA nAokPQf6Pv7i+pj4uvi6j1n/40MceMKJEMdGhYoCZqILcHLqHKKrIQPvhjFNjKwJFxiumc KN1mWRjcwK6MjdnWqJLFBsH30GBAranhigdq1x2VJG/pe9ua4Zfmubjm5j7JEyEWp881Lg CLHqjPmMypXIPrRI0X4JJGZ/loEePRyZBdy1g1cza1MaYjC3ZrOftTqFYhYGCQvmz/zhbB in2uYZzD3lhHl2XSq+JPgucdy5CWu9fv+tZUucYGy7u8jH5j/riAIZWVyBK1pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBK1k0FTdzc3B for ; Thu, 07 May 2026 17:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d178 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 17:27:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jan Bramkamp From: Kyle Evans Subject: git: 187de25ef99e - stable/14 - jail: avoid leaking jail config fds to exec.* hooks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 187de25ef99e49dd7a6a4bfa630f10ab9571ef17 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 17:27:06 +0000 Message-Id: <69fccb6a.3d178.a311759@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=187de25ef99e49dd7a6a4bfa630f10ab9571ef17 commit 187de25ef99e49dd7a6a4bfa630f10ab9571ef17 Author: Jan Bramkamp AuthorDate: 2026-05-06 23:28:53 +0000 Commit: Kyle Evans CommitDate: 2026-05-07 17:27:03 +0000 jail: avoid leaking jail config fds to exec.* hooks The jail(8) command must not leave parsed configuration files open since the file descriptors will be leaked to child processes including the untrusted exec.start or exec.stop hooks. While fopen() doesn't provide direct access to O_CLOEXEC, it does provide access to FD_CLOEXEC via "e" in the mode string which provides the desired defense in depth against leaking file descriptors into exec.* hooks since those always execve() into a shell. Jail configuration is potentially sensitive and some hooks execute from within the jail context, leaving some opening for the jail to exfiltrate information about the host environment. (Commit message wordsmithed by kevans) PR: 295052 Reviewed by: kevans (cherry picked from commit 276d9b88a9e6fd6fd90e57c36444756ad297d2ab) --- usr.sbin/jail/config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c index 4465839cba0b..5cf2e34a8340 100644 --- a/usr.sbin/jail/config.c +++ b/usr.sbin/jail/config.c @@ -321,6 +321,7 @@ static void parse_config(const char *cfname, int is_stdin) { struct cflex cflex = {.cfname = cfname, .error = 0}; + FILE *yfp = NULL; void *scanner; yylex_init_extra(&cflex, &scanner); @@ -328,7 +329,7 @@ parse_config(const char *cfname, int is_stdin) cflex.cfname = "STDIN"; yyset_in(stdin, scanner); } else { - FILE *yfp = fopen(cfname, "r"); + yfp = fopen(cfname, "re"); if (!yfp) err(1, "%s", cfname); yyset_in(yfp, scanner); @@ -336,6 +337,8 @@ parse_config(const char *cfname, int is_stdin) if (yyparse(scanner) || cflex.error) exit(1); yylex_destroy(scanner); + if (yfp != NULL) + fclose(yfp); } /* From nobody Thu May 7 18:59:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBM481xCgz6d1yG for ; Thu, 07 May 2026 18:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBM474ZHsz43MT for ; Thu, 07 May 2026 18:59:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpPDAmstKzKfTIc+5TTHW+TPS9MhLEfQmjS6srttRs=; b=S8Y6GOmvy4FcjMi7WMhoHDg6QsnRNAO0jUCkCulO8wczYka5sM/HdbTn+KwDV5iaenBB7F AH1gUTNwM7VpfmTIgQIMspuI/RC+dsNB+IPJKV246yiDwNpObQ9N6zL3ZnyHlm1a7mkOkk AX89DAt7L+TlgSAydC+z/SXat3o3VyOeb//eaRK1vBcSXOS9xAzjeTlmz1K9HZlnng7a/F ADUqJUU3o4i8R0THly7lytrG3PJdAXt+wYdzDMrmKAx4yp/4qMRX69DSgURjlflLV85RaC OMU8qI1U5E8HWfTQr6lCRj4528EGm/+ho6AI+VzG75fAlFlKWJQETQt/GmFcIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180359; a=rsa-sha256; cv=none; b=iutgrAXgknH/n+X9gVP6pLTjiZwJoaanQlJztWIgfnzebtC9rxkpzLOrT9jm6qEpbEYcnM GBl2cWSX8gzOG4wjvvpvyCxt2EIBD2C28gXSei6KQR9R4lpLr0jEefV4ojSo1wpPFQaaIq Z1lRwGpBiAdHqYqIrNPR01GzR3WMsBWOWoVmaY1dwdcIiErYve0msINhzlQm3wu/HcTPeG N1+xg9C5l3AsGyC6PCqQe0b4qHw6UxMzQotg7YxPEDiuMuJ/QLcpRf9lrGVuxIJxmbntjx cG9w9oiXV/Dv3jw55PvhLb+g5OHluilK8O2qEXw4CPc9D15SkmoxqzFm7l3oMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qpPDAmstKzKfTIc+5TTHW+TPS9MhLEfQmjS6srttRs=; b=msCuNzA2xnaoOupQw62p7Mf0iEBo3wO7EW09ExmulFd8e8us9GDgwk5hTFOSdAFoA9vREx 0lbAhLSrNZ5LgyqTYrzfEy7bsewA3J7q7k/vMK2vzLSRM2koklpTkVULq/kTqd/xuZUZ0h xfEQFJgEvGWDv8xKQN8xtMFOH9D9zO+S4t4YR4/WFeZVK1ikh6gBcQSD5qmL4WBDtaF3Bs AzLnivtR5LUq0z5Gfn5R/jV4nWONNWzOr6MUfw2KMdqlKVkztzs+oAuUFNwrjmTAY6E3sj PNJ5KU7Jl3P9OgHPYPoz/YY6/4lAlczW42TWwzGR8RbzxM+LRyUaudtACgATbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBM473TrszfwB for ; Thu, 07 May 2026 18:59:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 459d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 18:59:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: b21f08f97ba0 - stable/15 - vis.3: Try to better describe VIS_SAFE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: b21f08f97ba0c1e254b55e2ac66ec6853ad281f7 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 18:59:19 +0000 Message-Id: <69fce107.459d5.2502e028@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b21f08f97ba0c1e254b55e2ac66ec6853ad281f7 commit b21f08f97ba0c1e254b55e2ac66ec6853ad281f7 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-04 12:08:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-07 18:48:10 +0000 vis.3: Try to better describe VIS_SAFE The current text fails to draw the reader's attention to the fact that VIS_SAFE essentially exempts certain characters from being encoded. While here, fix some markup nits. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56716 (cherry picked from commit 8acc4c16c6635c3cd8871d0ee1221b62d48d71b9) --- contrib/libc-vis/vis.3 | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/contrib/libc-vis/vis.3 b/contrib/libc-vis/vis.3 index 18329589d940..9b7b8152be3e 100644 --- a/contrib/libc-vis/vis.3 +++ b/contrib/libc-vis/vis.3 @@ -29,7 +29,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd April 22, 2017 +.Dd May 3, 2026 .Dt VIS 3 .Os .Sh NAME @@ -246,19 +246,22 @@ alter this: Also encode double quotes .It Dv VIS_GLOB Also encode the magic characters -.Ql ( * , +.Po +.Ql * , .Ql \&? , .Ql \&[ , and -.Ql # ) +.Ql # +.Pc recognized by .Xr glob 3 . .It Dv VIS_SHELL Also encode the meta characters used by shells (in addition to the glob characters): -.Ql ( ' , +.Po +.Ql ' , .Ql ` , -.Ql \&" , +.Ql \&\(dq , .Ql \&; , .Ql & , .Ql < , @@ -272,7 +275,8 @@ characters): .Ql \&! , .Ql \&^ , and -.Ql ~ ) . +.Ql ~ +.Pc . .It Dv VIS_SP Also encode space. .It Dv VIS_TAB @@ -286,13 +290,15 @@ Synonym for Synonym for .Dv VIS_WHITE | VIS_GLOB | VIS_SHELL . .It Dv VIS_SAFE -Only encode -.Dq unsafe -characters. -Unsafe means control characters which may cause common terminals to perform -unexpected functions. -Currently this form allows space, tab, newline, backspace, bell, and -return \(em in addition to all graphic characters \(em unencoded. +Leave +.Dq safe +characters unencoded. +Characters are only considered unsafe if they cause common terminals +to perform unexpected functions. +Setting the +.Dv VIS_SAFE +flag exempts the backspace, bell, and return characters from being +encoded. .El .Pp (The above flags have no effect for From nobody Thu May 7 18:59:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBM490QgBz6d21V for ; Thu, 07 May 2026 18:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBM485R9tz43HR for ; Thu, 07 May 2026 18:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=651Emll/T1lG2Sz2qbdCr/TI08pZDzAFgieXhbR5BX4=; b=D+G2ESjvrhSzJ3dUpQRfnnC2HAry30qK4Mc7Nvr4DSbG2g9ye9uyLT53PLPKZeF2dqig0C f04AMbI5aBoQ7VA9r7Z3L7K1fBUCs44qIRm+YN6eByfiJMNdtE3zWTPiV7ZoANJ0Ra5/PS WZoN4XB2++1pzs1VMlkprDeAKqSaWuSVyAd5A/W+hb+QQgtJ92bExDbh32kHdFNOQco7Iw QKi0FoKjTxP42wAPD63l/TfSXQZ2BTfANitjfUJ3PSduu0ZyEezIbJsSUG32Ek61Rm6blM tvhoIRPXg/Kq7znlo22uHW5At/RJC+LeJcLgJMvC2BzLqNjAKWUyW9Ay6yyczQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180360; a=rsa-sha256; cv=none; b=Zx+Wc2X63CeujgvtcXBXS95nEuD+aQIlcwmywTpksVw3PBD1iGs4PeOGHv20X/No7XAks/ /rv7IxZrNdzVxzjknOxvR2duDHt7QtSIuB3f+8r6/IKbPj46lck0pgqmgfB7GnKG+8v2UT 3cm0m2TEsKNf9WZjUExV4vIO9s0FbULhIxsoeOLV/p+74DaKI+MbtxvVImuuyX5IisgmAA liNyjfpHTRCcBey/R6ICK0J+D3Md4amCOnVtQ67knVb2X1C+nNrYYISjZ7uO/zZs/xuSYs uEv4zEtUgFcCfP0GYPPyQEQDhWLctZ/RDGClZndp2Xz6FrgH2Oq+jyNAsi6WDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=651Emll/T1lG2Sz2qbdCr/TI08pZDzAFgieXhbR5BX4=; b=iVUwBPIRQ/iAuVrEusa8DoPuR/usf3vqLDrMx/SxriLR23y9r/Rz6eaa0UhT2NqlH7OLsS 6NZgfQUGgjbDorkT9OzeAHbf91J1xRfkK7NqYxwzcWKtUpmnUZGADa4rH/2xNT36eh6pmp x41OiSZqC2IDRrQi9b0KvPii/qqPN+3SWXdl0pVyZZS5452zvLdLTn5vaimfo28AQXocuI tzXbtAC+1FCaqDhqhbCv81n8CO36bcAWtJDB6M9lFfZdxK4XR8+3pvAPAy7QCo1KB//Qhv YbPyiqi5vQWC+YgolDtLCGy5AzQDlrTiSKsY2BGidSvpa2o0a7WHLSLy+VIQgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBM484R1Yzfbl for ; Thu, 07 May 2026 18:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46151 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 18:59:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: f9626b7e55e1 - stable/15 - md5: Don't generate test cases just to skip them List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: f9626b7e55e11322ad45da2201cd482b43eeabb6 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 18:59:20 +0000 Message-Id: <69fce108.46151.1fa28944@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f9626b7e55e11322ad45da2201cd482b43eeabb6 commit f9626b7e55e11322ad45da2201cd482b43eeabb6 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-05 19:44:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-07 18:48:10 +0000 md5: Don't generate test cases just to skip them Don't waste time generating Perl test cases for algorithms that are not supported in Perl mode only to skip them when they are run. MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D56687 (cherry picked from commit fd386e76fa2b29d99525c246cbfc05768a1f4a76) --- sbin/md5/tests/md5_test.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sbin/md5/tests/md5_test.sh b/sbin/md5/tests/md5_test.sh index 34bdf43f13ea..a7632664c7aa 100644 --- a/sbin/md5/tests/md5_test.sh +++ b/sbin/md5/tests/md5_test.sh @@ -176,6 +176,7 @@ out_7_skein1024="cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048 out_8_skein1024="e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138" for alg in $algorithms ; do + eval "perl=\$name_perl_${alg}" # supported in Perl mode? eval " atf_test_case self_test_${alg} self_test_${alg}_head() { @@ -228,14 +229,13 @@ gnu_${alg}_vec${i}_body() { atf_check -o inline:\"\$out_${i}_${alg} -\0\" ${alg}sum -z - in atf_check -o inline:\"\$out_${i}_${alg} -\n\" shasum \$alg_perl_${alg} digests :>stdout :>stderr @@ -394,14 +393,15 @@ EOF atf_init_test_cases() { for alg in $algorithms ; do + eval "perl=\$name_perl_${alg}" # supported in Perl mode? atf_add_test_case self_test_${alg} for i in $(seq $n) ; do atf_add_test_case bsd_${alg}_vec${i} atf_add_test_case gnu_${alg}_vec${i} - atf_add_test_case perl_${alg}_vec${i} + [ -n "$perl" ] && atf_add_test_case perl_${alg}_vec${i} done atf_add_test_case gnu_check_${alg} - atf_add_test_case perl_check_${alg} + [ -n "$perl" ] && atf_add_test_case perl_check_${alg} done atf_add_test_case gnu_bflag atf_add_test_case gnu_cflag From nobody Thu May 7 18:59:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4B2tX1z6d1wJ for ; Thu, 07 May 2026 18:59: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 4gBM495pMtz43Md for ; Thu, 07 May 2026 18:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhW3/3a1K55kFVjVhU7WxqfLMVW9CLSa8p1z23HrlnI=; b=WfRWr1DaFSyrbk9Ws3eX1lx/6C4xcIJmEtB5ANNqa5W2Xk47RjUIL9BP2h1RQ6RnHD2OFK QPQzNntSutlW0PwwXTUojXBx3Nb9BhgI0XVEVV5HBhF9w0r64RWH7zADNG33RLbIZFRKtp kraggnj7NHnL7+h6pb/UyMxEalHk+Gu9mh8SJX7hUQGDA3N/l8/aZyJaAvhDik6S05KObU npS73h9uZ9VL3MKv8N9hEL8Cp4vkajqUkzmopHqp64IN4UCIWU1hAThVAuIRnidthuYLdZ vmfSoC320adPu2878Jf+yp1WeEExy6TlE5n3G+1X0xqYJUsr25CcZ3OwLCDlSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180361; a=rsa-sha256; cv=none; b=laM54Rf3dCp4catileD50B6mrAVlaM9KAcUJ6wUAi7g/mNumuFAWCWuPJaMkLh8S5fLJP8 wbYpCDIS09TnAZ/gLXZceutyfNP7gcNaxqJZL8i0tBZLAYQ/i66sxEpBOuO1pn4mw82USg dBvfj7+sOVWUApvaQmm2qm7QMI/BQTgwbOZRxA5UpmciSJ4s9aLg3gL5KpFVoxs+eRvGXJ cm9QOM2Xj94WQTB9gef1nH3ZiIJ9KJerAo7C7PFzpaq9fXVJO3L7+2Axxmbfint0Rdktkn i7g1OSZiDeups+i7LsH/fwgxf2FN2J1KXypsrmRLA0kxR1/RYTWbnyiSyWM/EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhW3/3a1K55kFVjVhU7WxqfLMVW9CLSa8p1z23HrlnI=; b=KPKjvTSG9IePgFQLMpGsNxe8GqRsdBIMty7YhiZvTxzR9XvtVBNo8Bp9jSfOiHvHfHK9Ka ZS+JyaQL6hjhQOzPpNXZgEwUpbhsgJGe/IfIUN7uPo2byUqQrXq87mEsgjoPBt5KOIGJXW iTZZGW8Eq+oreibRQvroqfsPEYbn+Dqzop+lVOKm+biElVD2BYVWQfOizyYp20F1RlO43g cBzJvIKbuThBmgqJKCcApSng6XrB2mCUguk3FwC7uoWmhQcopZWtye88ogXRk22cKgFyQc omGUBkcdM/j/q9+LTdENrtbcxedWZHdR1aOved9v73yx/oUqIceOffHAhj92zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4959d7zfN2 for ; Thu, 07 May 2026 18:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45e44 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 18:59:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: c65e233a52c6 - stable/15 - certctl: Unstickify (un)trusted certificates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: c65e233a52c61bf24fb935d1971e38fbde10791d Auto-Submitted: auto-generated Date: Thu, 07 May 2026 18:59:21 +0000 Message-Id: <69fce109.45e44.6c0f99bd@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c65e233a52c61bf24fb935d1971e38fbde10791d commit c65e233a52c61bf24fb935d1971e38fbde10791d Author: Dag-Erling Smørgrav AuthorDate: 2026-05-05 22:30:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-07 18:48:10 +0000 certctl: Unstickify (un)trusted certificates Ever since certctl was rewritten in C, the rehash command has reingested TRUSTDESTDIR / UNTRUSTDESTDIR in addition to TRUSTPATH / UNTRUSTPATH. This seemed like a good idea at the time but was, in retrospect, a mistake, as it means a (un)trusted certificate remains (un)trusted forever (or at least until it expires) even if it is removed from (UN)TRUSTPATH. Among other issues, it causes ports QA to fail for any port that either installs certificates or depends on a port that does. Although this behavior was undocumented, the change may surprise users who have added certificates manually, so update the manual page to point it out and add prominent warnings to the trust and untrust commands. PR: 290078 MFC after: 1 week Reviewed by: kevans, bcr Differential Revision: https://reviews.freebsd.org/D56617 (cherry picked from commit 2fef18ff594328a771b6aa659e8ffa5a7e076540) --- usr.sbin/certctl/certctl.8 | 15 ++++++- usr.sbin/certctl/certctl.c | 81 ++++++++++++++++++++++------------ usr.sbin/certctl/tests/certctl_test.sh | 3 +- 3 files changed, 67 insertions(+), 32 deletions(-) diff --git a/usr.sbin/certctl/certctl.8 b/usr.sbin/certctl/certctl.8 index 2d38ce020c04..7df89e4d35d0 100644 --- a/usr.sbin/certctl/certctl.8 +++ b/usr.sbin/certctl/certctl.8 @@ -24,7 +24,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 3, 2025 +.Dd April 24, 2026 .Dt CERTCTL 8 .Os .Sh NAME @@ -113,8 +113,19 @@ In addition, a bundle containing the trusted certificates is placed in .Ev BUNDLE . .It Ic untrust Add the specified file to the untrusted list. +Note that the next +.Ic rehash +will remove it unless a copy of it is also placed somewhere in a +directory included in +.Ev UNTRUSTPATH . .It Ic trust -Remove the specified file from the untrusted list. +Add the specified file to the trusted list, unless it is already +untrusted. +Note that the next +.Ic rehash +will remove it unless a copy of it is also placed somewhere in a +directory included in +.Ev TRUSTPATH . .El .Sh ENVIRONMENT .Bl -tag -width UNTRUSTDESTDIR diff --git a/usr.sbin/certctl/certctl.c b/usr.sbin/certctl/certctl.c index 7fdc644bc09f..cf737565ca9e 100644 --- a/usr.sbin/certctl/certctl.c +++ b/usr.sbin/certctl/certctl.c @@ -636,23 +636,18 @@ write_bundle(const char *dir, const char *file, struct cert_tree *tree) * Returns the number of certificates loaded. */ static unsigned int -load_trusted(bool all, struct cert_tree *exclude) +load_trusted(void) { unsigned int i, n; int ret; /* load external trusted certs */ - for (i = n = 0; all && trusted_paths[i] != NULL; i++) { - ret = read_certs(trusted_paths[i], &trusted, exclude); + for (i = n = 0; trusted_paths[i] != NULL; i++) { + ret = read_certs(trusted_paths[i], &trusted, &untrusted); if (ret > 0) n += ret; } - /* load installed trusted certs */ - ret = read_certs(trusted_dest, &trusted, exclude); - if (ret > 0) - n += ret; - info("%d trusted certificates found", n); return (n); } @@ -663,24 +658,19 @@ load_trusted(bool all, struct cert_tree *exclude) * Returns the number of certificates loaded. */ static unsigned int -load_untrusted(bool all) +load_untrusted(void) { char *path; unsigned int i, n; int ret; /* load external untrusted certs */ - for (i = n = 0; all && untrusted_paths[i] != NULL; i++) { + for (i = n = 0; untrusted_paths[i] != NULL; i++) { ret = read_certs(untrusted_paths[i], &untrusted, NULL); if (ret > 0) n += ret; } - /* load installed untrusted certs */ - ret = read_certs(untrusted_dest, &untrusted, NULL); - if (ret > 0) - n += ret; - /* load legacy untrusted certs */ path = expand_path(LEGACY_PATH); ret = read_certs(path, &untrusted, NULL); @@ -796,8 +786,8 @@ certctl_list(int argc, char **argv __unused) { if (argc > 1) usage(); - /* load trusted certificates */ - load_trusted(false, NULL); + /* load installed trusted certificates */ + read_certs(trusted_dest, &trusted, NULL); /* list them */ list_certs(&trusted); free_certs(&trusted); @@ -814,8 +804,8 @@ certctl_untrusted(int argc, char **argv __unused) { if (argc > 1) usage(); - /* load untrusted certificates */ - load_untrusted(false); + /* load installed untrusted certificates */ + read_certs(untrusted_dest, &untrusted, NULL); /* list them */ list_certs(&untrusted); free_certs(&untrusted); @@ -842,10 +832,10 @@ certctl_rehash(int argc, char **argv __unused) } /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + load_trusted(); /* save everything */ ret = save_all(); @@ -859,7 +849,8 @@ certctl_rehash(int argc, char **argv __unused) } /* - * Manually add one or more certificates to the list of trusted certificates. + * Manually add one or more certificates to the list of trusted + * certificates. * * Returns 0 on success and -1 on failure. */ @@ -875,10 +866,10 @@ certctl_trust(int argc, char **argv) usage(); /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + load_trusted(); /* now load the additional trusted certificates */ n = 0; @@ -891,9 +882,9 @@ certctl_trust(int argc, char **argv) warnx("no new trusted certificates found"); free_certs(&untrusted); free_certs(&trusted); - free_certs(&extra); return (0); } + warnx("%u new trusted certificate%s found", n, n > 1 ? "s" : ""); /* * For each new trusted cert, move it from the extra list to the @@ -906,10 +897,16 @@ certctl_trust(int argc, char **argv) RB_INSERT(cert_tree, &trusted, cert); if ((other = RB_FIND(cert_tree, &untrusted, cert)) != NULL) { warnx("%s was previously untrusted", cert->name); + warnx("source of untrust: %s", other->path); RB_REMOVE(cert_tree, &untrusted, other); free_cert(other); } } + warnx("This operation is not persistent. To persistently add"); + warnx("trusted certificates to the system store, copy them to"); + warnx("one of these directories, then run `certctl rehash`:"); + for (i = 0; trusted_paths[i] != NULL; i++) + warnx(" %s", trusted_paths[i]); /* save everything */ ret = save_all(); @@ -929,6 +926,8 @@ certctl_trust(int argc, char **argv) static int certctl_untrust(int argc, char **argv) { + struct cert_tree extra = RB_INITIALIZER(&extra); + struct cert *cert, *other, *tmp; unsigned int n; int i, ret; @@ -936,23 +935,47 @@ certctl_untrust(int argc, char **argv) usage(); /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); + + /* load trusted certs, excluding any that are already untrusted */ + load_trusted(); /* now load the additional untrusted certificates */ n = 0; for (i = 1; i < argc; i++) { - ret = read_cert(argv[i], &untrusted, NULL); + ret = read_cert(argv[i], &extra, NULL); if (ret > 0) n += ret; } if (n == 0) { warnx("no new untrusted certificates found"); free_certs(&untrusted); + free_certs(&trusted); return (0); } + warnx("%u new untrusted certificate%s found", n, n > 1 ? "s" : ""); - /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + /* + * For each new untrusted cert, move it from the extra list to the + * untrusted list, then check if a matching certificate exists on + * the trusted list. If that is the case, warn the user, then + * remove the matching certificate from the trusted list. + */ + RB_FOREACH_SAFE(cert, cert_tree, &extra, tmp) { + RB_REMOVE(cert_tree, &extra, cert); + RB_INSERT(cert_tree, &untrusted, cert); + if ((other = RB_FIND(cert_tree, &trusted, cert)) != NULL) { + warnx("%s was previously trusted", cert->name); + warnx("source of trust: %s", other->path); + RB_REMOVE(cert_tree, &trusted, other); + free_cert(other); + } + } + warnx("This operation is not persistent. To persistently add"); + warnx("untrusted certificates to the system store, copy them to"); + warnx("one of these directories, then run `certctl rehash`:"); + for (i = 0; untrusted_paths[i] != NULL; i++) + warnx(" %s", untrusted_paths[i]); /* save everything */ ret = save_all(); diff --git a/usr.sbin/certctl/tests/certctl_test.sh b/usr.sbin/certctl/tests/certctl_test.sh index 74749db0b3f5..133d65854c42 100644 --- a/usr.sbin/certctl/tests/certctl_test.sh +++ b/usr.sbin/certctl/tests/certctl_test.sh @@ -271,7 +271,8 @@ untrust_body() crtfile=usr/share/certs/trusted/${crtname}.crt check_trusted "${crtname}" check_in_bundle ${crtfile} - atf_check certctl untrust "${crtfile}" + atf_check -e match:"1 new untrusted" \ + certctl untrust "${crtfile}" check_untrusted "${crtname}" check_not_in_bundle ${crtfile} } From nobody Thu May 7 18:59:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4D2YsZz6d1wK for ; Thu, 07 May 2026 18:59: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 4gBM4C5NTDz43CV for ; Thu, 07 May 2026 18:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KkAggV5ZCGnvb5KrxkJ0hi/nwEmJUN3r6GyOivNCd8=; b=lk6+7ldB9R9SRCVipo6du8dVqru6xJU0VYASCIOBxjw16C35uH0/1rDc7/M/3I7NhWypyG IhC0i5NXkCvEtLJIrz/LeZ1ZspG2cxsXh9z497Y7FKswDdssGp0B6Cv0RlgkRj40tWlCw/ dW2IhxCBEaPxd039uuRy/nFD/16ddWicxPNhpHxkFvnogCMB0A6bQYr5KmeCKk9xZUjatV kcFOKYQ7vRG4tYJtj472mp9ksdgcAIMqIcGCEcBvUNjUFs9m0tr+QqNYwTdQG/H5M2oWmH qx+xbpKQokVU1nmprTVBlwzpfew12DS+i6MVGq4m9YKefe7BKsTPpTjWADCDpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180363; a=rsa-sha256; cv=none; b=Fca65Azf7v90XoPVQ1kd2xwFyOITYQqYsgnT1ut/Bg8W/oqe2gn01j0At9vHF5mNvlorxz jmMbQhXHUdqslXCX9YGcF2tKxpZakLVUnkePqtLTAi36hFjZAEGhs2UCqEHgOkrsPJEPyG StS9xBPC/Ry24NLt3JSfqJDocznY1hnaLkrjWmiJvGoQfWf7/FlLJ97NQfy7JFAh5cQZyv Pr4IyMSa+p3B+Vbwu12LwqIUc53SWhYsj1PVTqVynbSQWm1V0+bfC49cJeN6BP7OgB7bcX LuNLjavQF3MpCKOGnLBk/iDDQNqt+MDiDfaRNlsv9wj6reqWNpTu7bJd2tJRgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KkAggV5ZCGnvb5KrxkJ0hi/nwEmJUN3r6GyOivNCd8=; b=yPN9yrCJTj8KC8NShI139i4+EYmTvrC54xZJTnDzmTKburYJcCGUCR3HQM025zlgFQXMez M+aarKZs4L3//IKGCoGSYSaRtXtT9u42TxnVircfhe0IbCkgF7b9SbKqNEq/PARRATVs5y j0TTW6GJeOiFcACHaQYKKuHEw+Yt/rPiPMTvjVnspzgvMN9yL5JW2tz0FrHEop/Yqyi7Q3 I/pzd5DLonEB8QpAYW9PJb3r3oAmhxuNfHjB3S1TiVCt9DP923+UTwbMAPiOLUu/pzzFKk 1iCa+0AoOrW552JdlhypC+zbZZF+cU5/dRNRn2nkbmnp7NdIPqMU2p9IlilRdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4C3J7nzfB0 for ; Thu, 07 May 2026 18:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 449d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 18:59:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kyle Evans From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 88f5520fa564 - stable/15 - stat: fix use of devname(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 88f5520fa564ef1050bab6e091ead4040eb6d170 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 18:59:18 +0000 Message-Id: <69fce106.449d3.33288d22@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=88f5520fa564ef1050bab6e091ead4040eb6d170 commit 88f5520fa564ef1050bab6e091ead4040eb6d170 Author: Kyle Evans AuthorDate: 2026-05-01 03:00:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-07 18:46:54 +0000 stat: fix use of devname(3) Besides being a little hard to parse through visually, this had its own bug of inspecting st->st_mode to determine what to pass to devname(3), which is only correct for st_rdev. For st_dev, you're likely to be looking at files or directories and attempting to assess what device they're located on, so the mode is meaningless- we just have to assume that our filesystems are on character devices and attempt to resolve st_dev as such. Reviewed by: des, kib (previous version) Differential Revision: https://reviews.freebsd.org/D56565 (cherry picked from commit 4d4acdbfc22c84081037f31cff4fb03d18373036) stat: The devname test case requires root Fixes: 4d4acdbfc22c ("stat: fix use of devname(3)") (cherry picked from commit 72b1aae09bf0bcc01c76df757699e27ad7cf7ecc) stat: Set the timezone before testing -t flag The test assumes UTC, which is what I use on my development systems and clearly what is used on our CI runners. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56836 (cherry picked from commit 49e496d2776870fb36ed8ea4c8139b5eb9f7f747) stat: Expand devname test case Test what happens when we ask for the rdev of a non-device. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56838 (cherry picked from commit 2c88636e0e7a0316d5e6d146874bdb2751f75c40) --- usr.bin/stat/stat.c | 14 +++++++++++--- usr.bin/stat/tests/stat_test.sh | 40 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index 0ed5d3ae5b53..ad2b3f9fb3d1 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -650,6 +650,7 @@ format1(const struct stat *st, struct timespec ts; struct tm *tm; int l, small, formats; + mode_t dtype; tsp = NULL; formats = 0; @@ -665,9 +666,16 @@ format1(const struct stat *st, small = (sizeof(st->st_dev) == 4); data = (what == SHOW_st_dev) ? st->st_dev : st->st_rdev; #if HAVE_DEVNAME - sdata = devname(what == SHOW_st_dev ? st->st_dev : - st->st_rdev, S_ISCHR(st->st_mode) ? S_IFCHR : - (S_ISBLK(st->st_mode) ? S_IFBLK : 0)); + switch (what) { + case SHOW_st_dev: + dtype = S_IFCHR; + break; + case SHOW_st_rdev: + dtype = st->st_mode & (S_IFCHR | S_IFBLK); + break; + } + + sdata = devname(data, dtype); #endif /* HAVE_DEVNAME */ if (hilo == HIGH_PIECE) { data = major(data); diff --git a/usr.bin/stat/tests/stat_test.sh b/usr.bin/stat/tests/stat_test.sh index 6043686396be..aa8563c62ccc 100755 --- a/usr.bin/stat/tests/stat_test.sh +++ b/usr.bin/stat/tests/stat_test.sh @@ -1,7 +1,7 @@ # # Copyright (c) 2017 Dell EMC # All rights reserved. -# Copyright (c) 2025 Klara, Inc. +# Copyright (c) 2025-2026 Klara, Inc. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -25,6 +25,9 @@ # SUCH DAMAGE. # +: ${CHKPATH:="mnt"} +: ${NODEV:="#NODEV"} + atf_test_case F_flag F_flag_head() { @@ -232,9 +235,9 @@ t_flag_head() { atf_set "descr" "Verify the output format for -t" } - t_flag_body() { + export TZ=UTC atf_check touch foo atf_check touch -d 1970-01-01T00:00:42 foo atf_check -o inline:'42\n' \ @@ -301,6 +304,38 @@ x_flag_body() done } +atf_test_case devname cleanup +devname_head() +{ + atf_set "descr" "Verify that %Sd outputs a device name" + atf_set "require.user" "root" +} +devname_body() +{ + local devname devpath + + atf_check -o save:dev mdconfig -t malloc -s 16M + read devname < dev + devpath="/dev/$devname" + atf_check -o not-empty newfs "$devpath" + + atf_check mkdir "$CHKPATH" + atf_check mount "$devpath" "$CHKPATH" + + atf_check -o inline:"$devname\n" stat -f '%Sd' "$CHKPATH" + atf_check -o inline:"$devname\n" stat -f '%Sr' "$devpath" + atf_check -o inline:"$NODEV\n" stat -f '%Sr' "$CHKPATH" +} +devname_cleanup() +{ + if [ -d "$CHKPATH" ]; then + umount "$CHKPATH" || true + fi + if [ -f dev ]; then + mdconfig -d -u $(cat dev) || true + fi +} + atf_init_test_cases() { atf_add_test_case F_flag @@ -315,4 +350,5 @@ atf_init_test_cases() atf_add_test_case s_flag atf_add_test_case t_flag atf_add_test_case x_flag + atf_add_test_case devname } From nobody Thu May 7 18:59:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4V4zgqz6d26f for ; Thu, 07 May 2026 18:59: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 4gBM4V1F3tz43vs for ; Thu, 07 May 2026 18:59:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHCtDgOEO6cgy4MjcPLh78nRAG5rmI675rtUoBrNEvI=; b=NOazRjHyG7hdSTV3WQNr8WqDj3SlhrW3uIoUAp915SMFlMjkMIW0amCZtjANGQnfU2owEJ nqUnJXyYwYLYagsa9NUvl9QK1pdO1v7iMv9mS660G4OSJTtkBrVRJvgb3z7Zze9p1LSZO2 jBtLLPYWnrq+aKX/LSuLkYMadT0XKNC+z5N7xnkaI4tYUpR3IDc7k/BuTqf0ytBwR6ujwA 3kzbWJU0uHw57huy7iW3FM3iEhrjgr8rItlMKTP8KoPkh6Ug5nfRp8CEQ1C6DUmvDqjPcz AEbCuwJPqbL1gIR35wILpKxW2ViRmZSbQHU+D/2oDYdIn+mg88858NuKh1LpQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180378; a=rsa-sha256; cv=none; b=sQpHSc+fhNsjvG3N/+odJBH/YCQp3NmXc0dXX4vhWk1XYJEt32tCmYz1CQpLkpnvGpULMr dsZRTJLr+nAf+9KaINYnTcG/19mR/pzzfP7NOwXnm1eBzF4kfFMi4bWF4lLwEULJnK7VYJ bDwM9QlKLVkCGqFGW6YNivAeAdNT5KkwW2EEJPuumnarnrn/j/jDMklxVneZSy3RQj71Nm 4SLRzVW6iqbioIuM/kJxZybTn6SUuKLohfpsxvi9eymw91gg9s74BJTTEVMcKnqC67+d8X vc2qXRvFuxbXlISMOdaaZBQci0r6D0fQjKJhkfJidsZ9W+1MMhAN2UZBW+Nkww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHCtDgOEO6cgy4MjcPLh78nRAG5rmI675rtUoBrNEvI=; b=Zqs+mO9KF/zk+YhijmdqH6BqhkIUlcxRitDe2hP/PsGHg/8nQMP3xeEfN5CjpQ5+41dco5 k0oCEGS3qSsg9kseomo0u+nzEV+lxj1tH2vN08qAGt6gKOiRm/cQB64tc/Q7scl5Le3D8Y jM2lh91AdyzV2ULBvm+sxtEWpumrGcPEbdrkZMbgz2Haeq54Wey9ZPZDgQmnEjeLVZKZuC XGsa8qluZSnaHyCaz2f90yDNX9OLLKc+kX010akkzmih5caICcCSzQyGCCOu2rXzBdIFUk CfJXZFvT4wjlbdAxpABs8v1BBHRQyjfPquGvxYbdNae4A9w/l0QSnYN/JYzvzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBM4V0FTfzfN4 for ; Thu, 07 May 2026 18:59:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45265 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 18:59:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 219c49468f55 - stable/14 - vis.3: Try to better describe VIS_SAFE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 219c49468f55e3aee4fc3fdafeb9d2b9eae34016 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 18:59:38 +0000 Message-Id: <69fce11a.45265.5eae03a0@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=219c49468f55e3aee4fc3fdafeb9d2b9eae34016 commit 219c49468f55e3aee4fc3fdafeb9d2b9eae34016 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-04 12:08:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-05-07 18:54:28 +0000 vis.3: Try to better describe VIS_SAFE The current text fails to draw the reader's attention to the fact that VIS_SAFE essentially exempts certain characters from being encoded. While here, fix some markup nits. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56716 (cherry picked from commit 8acc4c16c6635c3cd8871d0ee1221b62d48d71b9) --- contrib/libc-vis/vis.3 | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/contrib/libc-vis/vis.3 b/contrib/libc-vis/vis.3 index 18329589d940..9b7b8152be3e 100644 --- a/contrib/libc-vis/vis.3 +++ b/contrib/libc-vis/vis.3 @@ -29,7 +29,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd April 22, 2017 +.Dd May 3, 2026 .Dt VIS 3 .Os .Sh NAME @@ -246,19 +246,22 @@ alter this: Also encode double quotes .It Dv VIS_GLOB Also encode the magic characters -.Ql ( * , +.Po +.Ql * , .Ql \&? , .Ql \&[ , and -.Ql # ) +.Ql # +.Pc recognized by .Xr glob 3 . .It Dv VIS_SHELL Also encode the meta characters used by shells (in addition to the glob characters): -.Ql ( ' , +.Po +.Ql ' , .Ql ` , -.Ql \&" , +.Ql \&\(dq , .Ql \&; , .Ql & , .Ql < , @@ -272,7 +275,8 @@ characters): .Ql \&! , .Ql \&^ , and -.Ql ~ ) . +.Ql ~ +.Pc . .It Dv VIS_SP Also encode space. .It Dv VIS_TAB @@ -286,13 +290,15 @@ Synonym for Synonym for .Dv VIS_WHITE | VIS_GLOB | VIS_SHELL . .It Dv VIS_SAFE -Only encode -.Dq unsafe -characters. -Unsafe means control characters which may cause common terminals to perform -unexpected functions. -Currently this form allows space, tab, newline, backspace, bell, and -return \(em in addition to all graphic characters \(em unencoded. +Leave +.Dq safe +characters unencoded. +Characters are only considered unsafe if they cause common terminals +to perform unexpected functions. +Setting the +.Dv VIS_SAFE +flag exempts the backspace, bell, and return characters from being +encoded. .El .Pp (The above flags have no effect for From nobody Thu May 7 19:06:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBMD344hbz6d2HX for ; Thu, 07 May 2026 19:06: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 4gBMD33FHxz454Q for ; Thu, 07 May 2026 19:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=297Pp/0+oKXpjf0Ss7eMJ5ioW8JIFJzXk0gaM3AtUAA=; b=ivGSss5g8yUr5mChUaElCKDHO37f9l/+UDPjDWf24bC24mEmpJ+faHE1geZq4z9pfg23lV sL2c1a1goUU+lBQAau3SlfYcPvrQmwnjKPUsWeW929/6wiGHxMZbL06BrIT5R0AnADnps3 EkvUMbHT39jBWmIJReC2LSWkDRdcIL4reViGOh+x2E4VcLTaRVrGokMKwxQ64jLXsf8Ta9 uiXgyaizmJvGlwn1uGBE0xV+M67jIBXdX2Y/VwZIHILzc9jL+qBH4LWy6zC9ToFalydyXK gydKoPkAQYX7X8+a6MaRS61mNlnHrCV4TMDU2xkhqXKH66xnk53KNuj0zrtYxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778180771; a=rsa-sha256; cv=none; b=Qk5hq00oWeiHvA9x6Crqi+CMFkr0JruJilgRh7Rw/V0yBjEWpiJKsQC5b+YWm/ggioU/fm /y/BACeKjK5bHkeC2RotLbu/KdVuIjAKXVdfLZmb+r/fEWmnlUoz+f2DxJI6Bs1FLdcLmx fa5Z/VBta4pWk11pnURoTTryiYv9TSicf61kQi6z56cjStB6K3yvV6/58H+qD2L/liSg86 gGSwYaJI8bSxWi20QxcUN/n0+Jr14Z+TOo7lNa0/V9tgqUn4aJnNfE6Ov8kjrSkmP5Njy5 02h+65Id3Rep47x5OPT59ESjykHvIcSSSFHBdbBRMFEI8PajiMSVqFQwYFeMGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778180771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=297Pp/0+oKXpjf0Ss7eMJ5ioW8JIFJzXk0gaM3AtUAA=; b=k0K87HKidP4o2otqZec3h2bEsdK3nA0oLKxG11EQw7/wywArEo/cTYL+33xHciwHYKo2mm pDreuSI+WIE0xFodtL/ZMp7Ajr9z3+HwxcFwjoaQ+2n7TeOileorZqBX8xyOW8qQsLVq56 OfBjQsl4hwfZw4RT12g+jBOajJNajPJJHinZpqZA3VBjdcpGg59fRXoA2899Gs+9DqMVox ztssqWiOqDT093jLV7TzFEH5oninXGLzM06IsNmJTILCPlPFkzx4ELVmrrwGwvrbuGdzAY 8J+UNIjnr/DBJqCPkorpneD10NmTKMemtt8i7Co8hAmuY4lhT7MPZCaAsCwi5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBMD32Shzzfdy for ; Thu, 07 May 2026 19:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44f63 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 19:06:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: tickerguy From: Pouria Mousavizadeh Tehrani Subject: git: 18caefe84708 - stable/15 - rtadvd(8): Honor pltime/vltime in interface declarations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 18caefe847086a9e89812db600c852b225467090 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 19:06:06 +0000 Message-Id: <69fce29e.44f63.4372d537@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=18caefe847086a9e89812db600c852b225467090 commit 18caefe847086a9e89812db600c852b225467090 Author: tickerguy AuthorDate: 2025-09-29 16:05:29 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-05-07 19:04:43 +0000 rtadvd(8): Honor pltime/vltime in interface declarations Currently rtadvd ignores interface pltime/vltime specifications unless the (static) address range is also included in the config file. This extends the validity of a pltime and/or vltime stanza in the config file for an interface to delegated addresses from an upstream provider. Signed-off-by: tickerguy PR: 288426 Reviewed by: pouria Pull Request: https://github.com/freebsd/freebsd-src/pull/1863 (cherry picked from commit 103f9883d1ed7431c432caa6ab9c61cd4d0831d0) --- usr.sbin/rtadvd/config.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c index 628ca3be886f..c02997337da3 100644 --- a/usr.sbin/rtadvd/config.c +++ b/usr.sbin/rtadvd/config.c @@ -1095,6 +1095,7 @@ get_prefix(struct rainfo *rai) ifi = rai->rai_ifinfo; for (ifa = ifap; ifa; ifa = ifa->ifa_next) { + int64_t val64; int plen; if (strcmp(ifa->ifa_name, ifi->ifi_ifname) != 0) @@ -1143,9 +1144,26 @@ get_prefix(struct rainfo *rai) "<%s> add %s/%d to prefix list on %s", __func__, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + MAYHAVE(val64, "vltime", DEF_ADVVALIDLIFETIME); + if (val64 < 0 || val64 > 0xffffffff) { + syslog(LOG_WARNING, + "<%s> vltime (%" PRIu64 ") for %s/%d on %s " + "is out of range, use default value instead.", __func__, + val64, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + pfx->pfx_validlifetime = DEF_ADVVALIDLIFETIME; + } else + pfx->pfx_validlifetime = val64; + MAYHAVE(val64, "pltime", DEF_ADVPREFERREDLIFETIME); + if (val64 < 0 || val64 > 0xffffffff) { + syslog(LOG_WARNING, + "<%s> pltime (%" PRIu64 ") for %s/%d on %s " + "is out of range, use default value instead.", __func__, + val64, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + pfx->pfx_preflifetime = DEF_ADVPREFERREDLIFETIME; + } else + pfx->pfx_preflifetime = val64; + /* set other fields with protocol defaults */ - pfx->pfx_validlifetime = DEF_ADVVALIDLIFETIME; - pfx->pfx_preflifetime = DEF_ADVPREFERREDLIFETIME; pfx->pfx_onlinkflg = 1; pfx->pfx_autoconfflg = 1; pfx->pfx_origin = PREFIX_FROM_KERNEL; From nobody Thu May 7 20:19:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrM1wZMz6d7fP for ; Thu, 07 May 2026 20:19: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 4gBNrM01TWz3Hmt for ; Thu, 07 May 2026 20:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ucO2mZDRpDlYUN94oyP+ZngcJML0iYz9auZI7wyr0xE=; b=Oye5XDDsAXdtNPSQsuHUsWje1Ra7DMWayz33Kdf/lfE+rzQAD7vJfbZCErR0lOYpy3jIE6 A+WDbqkGmnG9+Gy18YrdJ7QeQzMxqfzdephQdZSdAtldsdj2JBMxEio5aQnmfuj0cx/kb4 PrBaoFhOAKir/MI3x75DnsWrwk2iIAOgSh9H3iC7qlNv8R8tMj6UXR8EtdSwDZ9wsWqzMY xfh2/Qiuir2V9hP04JFez0JYSqxpX/ENVId594r3ITJBYwoCTJm5zMttWZwsRr2HU0lT97 zlamuznyUaIraIkAqcYsmbVvbxIC9HftVK0GAAhnKR90q6JQer1riF3R2C8VCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185155; a=rsa-sha256; cv=none; b=fT1oFd5Zi1+M9w7XdpLRGwDMlFWb/1V9VCxHKDtC//qvg/Z2s5D0XFe6R0EBX0nwVXObV4 uhEKgx/vRAYSmw9+aE/0tHSbrLNXaQRfxAnodihkcC/3vjeUqXuiz9kOtE5XJ0A/HOKBxs a/YbhJjYPAXDmS5MytVwLGpp1xh/Yr1SGtPvnj265MgLV4IUBu3uRdbAB4RS++jV/zE0SX CCBtp32askuNnekG2O/s/k3EczczAbDKJ8gcunpta17tmvzWTlFQ1mxf5d1qFEdc0e0604 owgV5EQJ3oX4NWhVtL+t60NuVg8Y+pTZZf3kS47bdxqttm1yxsvBTn09GvfIbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ucO2mZDRpDlYUN94oyP+ZngcJML0iYz9auZI7wyr0xE=; b=R9z9VTmWFcEW3PJ1tYvAAe6wve14zPJz+nMJxKcVPmm/izv8P/Q5tMFXnfgkqvfH9uAfK0 h0X5+rI5ENQLbB6u5xDCL+YnN6UCmtRxUAdSzlRxKWKelEv3lSpEZ0//lu1OLcbB0ejA58 GM+1KzwGbVYfAPNuThdZUYfoEgHKtx1yiu5uNNOkgDevxBFKrS9/LdwiRCzM8FbRYtgTKe iT6rdPNo2THhrIyaK8FsBZYMmP+wIMINlj3d2dsCJmBy92rV1YQxIHeiK6qrSyzPonK0EN 4863Cp/1bhcYBdF6TbK4aMml+sTRzlcHBwn6PmfwQaU5R0Tqsuuqp/ZsQUMLvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrL6LJSzhLS for ; Thu, 07 May 2026 20:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f0e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Baptiste Daroussin From: Colin Percival Subject: git: 56a5d11dd69f - releng/15.1 - nlsysevent: add manpage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 56a5d11dd69f726ca2455139c885146906c53de0 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:14 +0000 Message-Id: <69fcf3c2.1f0e8.575f2296@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=56a5d11dd69f726ca2455139c885146906c53de0 commit 56a5d11dd69f726ca2455139c885146906c53de0 Author: Baptiste Daroussin AuthorDate: 2026-04-09 08:50:41 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:46 +0000 nlsysevent: add manpage Approved by: re (cperciva) Reviewed by: des (cherry picked from commit 72d701eb1d83cfb3479e4c839412325ff9efc97c) (cherry picked from commit ee2fc974e0716040622926c7c8ca8df09284e6f9) --- share/man/man4/Makefile | 1 + share/man/man4/nlsysevent.4 | 132 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 62d0b8f77f0f..23057e016f7d 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -428,6 +428,7 @@ MAN= aac.4 \ ng_vjc.4 \ ng_vlan.4 \ ng_vlan_rotate.4 \ + nlsysevent.4 \ nmdm.4 \ ${_ntb.4} \ ${_ntb_hw_amd.4} \ diff --git a/share/man/man4/nlsysevent.4 b/share/man/man4/nlsysevent.4 new file mode 100644 index 000000000000..3b46ab65f568 --- /dev/null +++ b/share/man/man4/nlsysevent.4 @@ -0,0 +1,132 @@ +.\" +.\" Copyright (c) 2026 Baptiste Daroussin +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd April 9, 2026 +.Dt NLSYSEVENT 4 +.Os +.Sh NAME +.Nm nlsysevent +.Nd Netlink-based kernel event notification module +.Sh SYNOPSIS +To load the driver as a module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +nlsysevent_load="YES" +.Ed +.Pp +Alternatively, to load the module at runtime: +.Bd -literal -offset indent +kldload nlsysevent +.Ed +.Sh DESCRIPTION +The +.Nm +kernel module provides a +.Xr netlink 4 +Generic Netlink interface for receiving kernel device events. +It hooks into the +.Xr devctl 4 +notification system and re-publishes all kernel events as Generic Netlink +multicast messages under the +.Dv NETLINK_GENERIC +protocol family. +.Pp +This provides an alternative to reading events from +.Pa /dev/devctl +.Pq used by Xr devd 8 , +with the advantage that multiple consumers can subscribe to events +simultaneously, and consumers can selectively subscribe to specific +event groups. +.Ss Generic Netlink Family +The module registers a Generic Netlink family named +.Dq Li nlsysevent . +The dynamically-assigned family identifier can be resolved using the +standard +.Dv CTRL_CMD_GETFAMILY +request as described in +.Xr genetlink 4 . +.Ss Commands +The following command is defined: +.Bl -tag -width indent +.It Dv NLSE_CMD_NEWEVENT +Sent when a kernel event occurs. +This message is never solicited by userland; it is only delivered to +sockets that have subscribed to one or more multicast groups. +.El +.Ss Attributes +Each +.Dv NLSE_CMD_NEWEVENT +message contains the following TLV attributes: +.Bl -tag -width indent +.It Dv NLSE_ATTR_SYSTEM +(string) The system name that generated the event +.Pq e.g., Dq Li ACPI , Dq Li IFNET , Dq Li USB . +.It Dv NLSE_ATTR_SUBSYSTEM +(string) The subsystem name within the system. +.It Dv NLSE_ATTR_TYPE +(string) The type of the event. +.It Dv NLSE_ATTR_DATA +(string) Optional extra data associated with the event. +This attribute may be absent if no extra data was provided. +.El +.Ss Multicast Groups +The module creates one multicast group per system name. +The following groups are pre-registered when the module is loaded: +.Pp +.Bl -column "HYPERV_NIC_VF" -offset indent -compact +.It Li ACPI +.It Li AEON +.It Li CAM +.It Li CARP +.It Li coretemp +.It Li DEVFS +.It Li device +.It Li ETHERNET +.It Li GEOM +.It Li HYPERV_NIC_VF +.It Li IFNET +.It Li INFINIBAND +.It Li KERNEL +.It Li nvme +.It Li PMU +.It Li RCTL +.It Li USB +.It Li VFS +.It Li VT +.It Li ZFS +.El +.Pp +Additional groups are created dynamically as new system names appear in +kernel events, up to a maximum of 64 groups. +.Pp +The group identifier for a given system name can be resolved via +.Dv CTRL_CMD_GETFAMILY +and then subscribed to using the +.Dv NETLINK_ADD_MEMBERSHIP +socket option. +.Sh EXAMPLES +The +.Xr genl 1 +utility can be used to monitor events: +.Bd -literal -offset indent +genl monitor nlsysevent +.Ed +.Sh SEE ALSO +.Xr genl 1 , +.Xr snl 3 , +.Xr devctl 4 , +.Xr genetlink 4 , +.Xr netlink 4 , +.Xr devd 8 +.Sh HISTORY +The +.Nm +module first appeared in +.Fx 15.0 . +.Sh AUTHORS +The +.Nm +kernel module and this manual page were written by +.An Baptiste Daroussin Aq Mt bapt@FreeBSD.org . From nobody Thu May 7 20:19:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrN2rZ8z6d7kF for ; Thu, 07 May 2026 20:19: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 4gBNrM6zFCz3Hmv for ; Thu, 07 May 2026 20:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RU6Olh2ECJ7pZHVEunOTC8tnd+RVFCI8FTaM2YDCWgU=; b=u+0U85LF64tG8matOhhH41n2CALrQCkOFFeSfuES8F39HXTIhjwVE2wKNOe/QoUIc/CrxK +cMwlck8gFQfBZEzMtCLBcbCMRE9lBUqIhozm8lJMJNOcZix4j+MRv0GOPwfn+c8g8N7tT P4s2ks8LCnZohAYkYeeQb2dn+p3PXddzdrnd7HM20fbCpo0dw5nnj0MkKBMs2C1peR0TXn hQBH26NKGwoloYHh/PyK5sxjOT25jjtu4DuJElcSDpu1Pfkbdr+3nWB6xPfN45vwrZMMIc KSHKLTIfFBICeIF97KUcJjJxqQX2IOOiLm6RxLiL7kZkaf4FTxTOtVvqW79azg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185156; a=rsa-sha256; cv=none; b=hUjUQqAcc+Jq805Wdnbrafcy1VvN14A5fSVnf58KwoF83Ltf5HDM9Q8EQxJj8usLN9Ge59 o0AbwcEa0UB2cA/mXjewaQOJp9ppot9S+pdbpme9AAh8061PJfmCxw4+J4rjo1ZcshcOId QN1IMRyIkX8Ts+YlVZBGabW7uJ9GYOR5jpHznxICbzZZRAoLakDjMHJRgQ0G3CglyoFbL3 xspqd5ZVPAmUeZ2z/lNSJAGFfW0mGVjZ74whjMYCpf0Q9Lp+pCg6OdKV9s1ST6g+gpBbMJ xN0ewfyuWWq6GlFXCuQ7qNbeShsL2rN8hFj+bcNA51qzAYxwIg+0wgGbkbglUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RU6Olh2ECJ7pZHVEunOTC8tnd+RVFCI8FTaM2YDCWgU=; b=pfqIFpE4d+2nYjWX20fTsOWeSRr8FspT7uH6w5bKzz0haDp2ymib54H4U9WcKHfw+uRyu2 YsUFhTeGv3VJDxJnCeHE3hYbdKCBE0HL7XrExJmuFoEMHYy1mYqppavYOOmxzrNtKVG1s/ YF/nPNcKOGmJ2tjbtk284436+FZoYNg/4ltWCcDDetDpBTGOONkEBMHQSfUO1CQSJjSDmi dKuBTIR+FBqR6crNOdHiMyqr+0ZM3V9qWHWTWRCc8ATjLWX0r+7I8gs6HECyGsHHb3oih+ 28YIJ0J8XW3nxiUhZVBe8T3nE3vJ6h/ihAMY4t6IyruQs/nZQEs41QuKHRsB7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrM6SYBzhHm for ; Thu, 07 May 2026 20:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e7e0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Kyle Evans From: Colin Percival Subject: git: 60a521a8941c - releng/15.1 - stat: fix use of devname(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 60a521a8941c4b0386dff3a925bae431b3064fcb Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:15 +0000 Message-Id: <69fcf3c3.1e7e0.73079593@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=60a521a8941c4b0386dff3a925bae431b3064fcb commit 60a521a8941c4b0386dff3a925bae431b3064fcb Author: Kyle Evans AuthorDate: 2026-05-01 03:00:26 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:48 +0000 stat: fix use of devname(3) Besides being a little hard to parse through visually, this had its own bug of inspecting st->st_mode to determine what to pass to devname(3), which is only correct for st_rdev. For st_dev, you're likely to be looking at files or directories and attempting to assess what device they're located on, so the mode is meaningless- we just have to assume that our filesystems are on character devices and attempt to resolve st_dev as such. Approved by: re (cperciva) Reviewed by: des, kib (previous version) Differential Revision: https://reviews.freebsd.org/D56565 (cherry picked from commit 4d4acdbfc22c84081037f31cff4fb03d18373036) stat: The devname test case requires root Fixes: 4d4acdbfc22c ("stat: fix use of devname(3)") (cherry picked from commit 72b1aae09bf0bcc01c76df757699e27ad7cf7ecc) stat: Set the timezone before testing -t flag The test assumes UTC, which is what I use on my development systems and clearly what is used on our CI runners. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56836 (cherry picked from commit 49e496d2776870fb36ed8ea4c8139b5eb9f7f747) stat: Expand devname test case Test what happens when we ask for the rdev of a non-device. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56838 (cherry picked from commit 2c88636e0e7a0316d5e6d146874bdb2751f75c40) (cherry picked from commit 88f5520fa564ef1050bab6e091ead4040eb6d170) --- usr.bin/stat/stat.c | 14 +++++++++++--- usr.bin/stat/tests/stat_test.sh | 40 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index 0ed5d3ae5b53..ad2b3f9fb3d1 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -650,6 +650,7 @@ format1(const struct stat *st, struct timespec ts; struct tm *tm; int l, small, formats; + mode_t dtype; tsp = NULL; formats = 0; @@ -665,9 +666,16 @@ format1(const struct stat *st, small = (sizeof(st->st_dev) == 4); data = (what == SHOW_st_dev) ? st->st_dev : st->st_rdev; #if HAVE_DEVNAME - sdata = devname(what == SHOW_st_dev ? st->st_dev : - st->st_rdev, S_ISCHR(st->st_mode) ? S_IFCHR : - (S_ISBLK(st->st_mode) ? S_IFBLK : 0)); + switch (what) { + case SHOW_st_dev: + dtype = S_IFCHR; + break; + case SHOW_st_rdev: + dtype = st->st_mode & (S_IFCHR | S_IFBLK); + break; + } + + sdata = devname(data, dtype); #endif /* HAVE_DEVNAME */ if (hilo == HIGH_PIECE) { data = major(data); diff --git a/usr.bin/stat/tests/stat_test.sh b/usr.bin/stat/tests/stat_test.sh index 6043686396be..aa8563c62ccc 100755 --- a/usr.bin/stat/tests/stat_test.sh +++ b/usr.bin/stat/tests/stat_test.sh @@ -1,7 +1,7 @@ # # Copyright (c) 2017 Dell EMC # All rights reserved. -# Copyright (c) 2025 Klara, Inc. +# Copyright (c) 2025-2026 Klara, Inc. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -25,6 +25,9 @@ # SUCH DAMAGE. # +: ${CHKPATH:="mnt"} +: ${NODEV:="#NODEV"} + atf_test_case F_flag F_flag_head() { @@ -232,9 +235,9 @@ t_flag_head() { atf_set "descr" "Verify the output format for -t" } - t_flag_body() { + export TZ=UTC atf_check touch foo atf_check touch -d 1970-01-01T00:00:42 foo atf_check -o inline:'42\n' \ @@ -301,6 +304,38 @@ x_flag_body() done } +atf_test_case devname cleanup +devname_head() +{ + atf_set "descr" "Verify that %Sd outputs a device name" + atf_set "require.user" "root" +} +devname_body() +{ + local devname devpath + + atf_check -o save:dev mdconfig -t malloc -s 16M + read devname < dev + devpath="/dev/$devname" + atf_check -o not-empty newfs "$devpath" + + atf_check mkdir "$CHKPATH" + atf_check mount "$devpath" "$CHKPATH" + + atf_check -o inline:"$devname\n" stat -f '%Sd' "$CHKPATH" + atf_check -o inline:"$devname\n" stat -f '%Sr' "$devpath" + atf_check -o inline:"$NODEV\n" stat -f '%Sr' "$CHKPATH" +} +devname_cleanup() +{ + if [ -d "$CHKPATH" ]; then + umount "$CHKPATH" || true + fi + if [ -f dev ]; then + mdconfig -d -u $(cat dev) || true + fi +} + atf_init_test_cases() { atf_add_test_case F_flag @@ -315,4 +350,5 @@ atf_init_test_cases() atf_add_test_case s_flag atf_add_test_case t_flag atf_add_test_case x_flag + atf_add_test_case devname } From nobody Thu May 7 20:19:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrP35vFz6d7fT for ; Thu, 07 May 2026 20:19: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 4gBNrP0wKkz3HfM for ; Thu, 07 May 2026 20:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pj9nwGlLE3iktIlS/ozUyY9RL449XV//l3XIYoxyA9U=; b=E7S4uRWZ5pNxrbnf81nyQwVkNoPgUF0XBI97siZbjH2xcDVqvEnvZNeGVMaONm2iBQ1+2C O9TRF5Fw+FRkV7AeD+xjHMsFXkVeHnZ+lGUWiLt9+/6IjhNEBHj8K4+3YgPZsZr3FHD57P h8jzh1+e75T/WjOQo3BfWcwNb3VEJMh4c5RdREDve7EVAWwnkeJ2DBBMC/KH0WZRJlK4SS zledJWt1POEJ6OXJuwuM1C7RbNztRBptYTKxscJlTmEKLIsyKyWJsyv9mR5NhKgkrIvGF7 HeHoZCRHhxlT4KqGeepZ3ls9EngqQTyPSje9lb/nsw7as0YOgembdOKW4XUYSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185157; a=rsa-sha256; cv=none; b=E6AHf0A0GkeIA+AWXFbmBKS/BZu/luvuAv8Msht6N5mUA3HvDzwYldyy1ptIRuA8IMhV5u qqkYoOLkSUZpOWrB5G2aPup5NNhZZOJvS5K7Q6qParWY1/dmCdFYakKbXzJIu8L8noHqAD na6hWDrPO2HpM0WKtNPVdjN37sDANn+pjHHLYyxDgOms6eOtS8bcGWSnDvZ+6LCssLVNt9 xaDzvJo4ZjqqmLcrRvQcaf01n/rWFA99M0a4tiBNbjlVPFVq/5YO3eiQuFiE22jTdMZ2yv b9LYnasyVDfobC3S98CwC4j6rPBhea07CiCk8xJBH5HiOK1I1L+8zSnVBattgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pj9nwGlLE3iktIlS/ozUyY9RL449XV//l3XIYoxyA9U=; b=jprXlEweCg/HSyOBcO28ynIV33AAyaTNXWZSDtOIrNJPTjLqEIN1EnFTaffNzy+fIuRsqq wBFjMwgsgs0iBoRV6fYgF+LsuFGcX3F+SqigW8EP2VQV7vK1TTeegbkk3P1RTyxuMRI3iz 94Zsa2V4aPnaOqfxcJRqb4IOYNP/ivCYDENKFEdxAQcXS5QbFdGOj023HUvI82oDQjWSoN CABo65e9pddNgTOuLgRqTkuOhxSloSLgrzDufC6nr4TY2OS2nOr7b+oYcnKXtlLpCzi1MR PhhXhUi7g1g5M4PH4I1gsmoUwkUJ4i5MwfkwF0HXchLOuuhfbdE/nwKLEvIIig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrP0DNpzhx7 for ; Thu, 07 May 2026 20:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f3fa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav From: Colin Percival Subject: git: 1981ce9f03dc - releng/15.1 - vis.3: Try to better describe VIS_SAFE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 1981ce9f03dc6d92e4351b7a88e7df15f6d21fe1 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:17 +0000 Message-Id: <69fcf3c5.1f3fa.61949859@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1981ce9f03dc6d92e4351b7a88e7df15f6d21fe1 commit 1981ce9f03dc6d92e4351b7a88e7df15f6d21fe1 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-04 12:08:10 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:53 +0000 vis.3: Try to better describe VIS_SAFE The current text fails to draw the reader's attention to the fact that VIS_SAFE essentially exempts certain characters from being encoded. While here, fix some markup nits. Approved by: re (cperciva) MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56716 (cherry picked from commit 8acc4c16c6635c3cd8871d0ee1221b62d48d71b9) (cherry picked from commit b21f08f97ba0c1e254b55e2ac66ec6853ad281f7) --- contrib/libc-vis/vis.3 | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/contrib/libc-vis/vis.3 b/contrib/libc-vis/vis.3 index 18329589d940..9b7b8152be3e 100644 --- a/contrib/libc-vis/vis.3 +++ b/contrib/libc-vis/vis.3 @@ -29,7 +29,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd April 22, 2017 +.Dd May 3, 2026 .Dt VIS 3 .Os .Sh NAME @@ -246,19 +246,22 @@ alter this: Also encode double quotes .It Dv VIS_GLOB Also encode the magic characters -.Ql ( * , +.Po +.Ql * , .Ql \&? , .Ql \&[ , and -.Ql # ) +.Ql # +.Pc recognized by .Xr glob 3 . .It Dv VIS_SHELL Also encode the meta characters used by shells (in addition to the glob characters): -.Ql ( ' , +.Po +.Ql ' , .Ql ` , -.Ql \&" , +.Ql \&\(dq , .Ql \&; , .Ql & , .Ql < , @@ -272,7 +275,8 @@ characters): .Ql \&! , .Ql \&^ , and -.Ql ~ ) . +.Ql ~ +.Pc . .It Dv VIS_SP Also encode space. .It Dv VIS_TAB @@ -286,13 +290,15 @@ Synonym for Synonym for .Dv VIS_WHITE | VIS_GLOB | VIS_SHELL . .It Dv VIS_SAFE -Only encode -.Dq unsafe -characters. -Unsafe means control characters which may cause common terminals to perform -unexpected functions. -Currently this form allows space, tab, newline, backspace, bell, and -return \(em in addition to all graphic characters \(em unencoded. +Leave +.Dq safe +characters unencoded. +Characters are only considered unsafe if they cause common terminals +to perform unexpected functions. +Setting the +.Dv VIS_SAFE +flag exempts the backspace, bell, and return characters from being +encoded. .El .Pp (The above flags have no effect for From nobody Thu May 7 20:19:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrQ532Xz6d7sj for ; Thu, 07 May 2026 20:19: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 4gBNrQ2rV4z3HjK for ; Thu, 07 May 2026 20:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NTkOc7m/aMPyflMic6vVBzIV0ksh5uWY2F5lRAB7aI=; b=jM9boVP9xuWFNZ4P66slMlyqx90UbZph/fl3/YbatLS0GQ7HcZi1CD9wZPj2wbQXXBNcZg 7JqmWw0V7Q+SivdPCOATD9LCDxP2ynOncUqWgEWUDH5gA/je6f5YaJtH5UqPcNYU2OtvX3 ZsCPXBwR2InERtFKqNnD26s1o4qHBfW7W4E+C3EU/6w9ePRlJcPgWszw2TXwsOdbsKiMB5 hYhakhkqnnva9UUFrOiezleOFBIwD2SRUFhpb9dOF7MfSd6NHM9XhlZ/hwVo5a1Y3v0iV/ KpGAs/lHo4q/KdcoJY2MskYqMInFXsUYyDH7Vy62/UtfUlO/A7VpWos3ZwIHQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185158; a=rsa-sha256; cv=none; b=l3ZrGu5+t4lIoN8A2uv6QsbE/C1GUjDN9z92eyQXzfwqX5OxDZxu9WqhYa8k/6AbdVl66+ pjnRaAwfL/WfUNehUjFktM+5WUS+LRSiiNLi4pk6EYZjpNS9+mQQ1avk+xLz/2ZvEe4mjF Tl83zorXEAyg9S5NbAyGM0Ifo3qX6bWZsbpku6LKQ6GMzlHklUKVAFi2MRBhKyBeZ7wcAl qx1ZFCIMkxpL9+4JPYNcom76UsYkNfAvZjkumKez4QmNsCFGc6KT9xhmSPprMMnDr3sf+A oKfoeyiGEM9hBKTbR47gkVpmxIFQ0Y9MnSt8vAtQqUdximAmrVLthTwFX6DmNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NTkOc7m/aMPyflMic6vVBzIV0ksh5uWY2F5lRAB7aI=; b=A/v+aMvyDYegZEy2NHltMAEFW00v8z182+S3svKH32UWRIceFROEwV8Bo1uKPH+hleG73m 9B48zNgoOz5F2+50Y7UVYWsXLU5u9zArsQ4/wUXEpA+fzVN8tLiDzLm1KJOoDDWdtfE3Dk qx4MdX2PHAW3ffv5lq838AZFqkTqvhsJhLFUVhwMwH3Gete6heAXLh/Ni+st0gueBMhWkV 6S7cV6jUjQzQRSK5tT/ac57U/wjlvYEKP8G92gF7BomQ5UQWZas+42OwwEF9QZYW87WMkL a02118NSZSstVV/mHWwbxM7y80DaTp6KyMnjxXyBN9M+OqB1HknQSVtt0B8HKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrQ12wszhx8 for ; Thu, 07 May 2026 20:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ef2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav From: Colin Percival Subject: git: 9536a3a2de01 - releng/15.1 - md5: Don't generate test cases just to skip them List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 9536a3a2de012bcb98c9a49eeb05dd1935131c84 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:18 +0000 Message-Id: <69fcf3c6.1ef2a.47bd31ab@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9536a3a2de012bcb98c9a49eeb05dd1935131c84 commit 9536a3a2de012bcb98c9a49eeb05dd1935131c84 Author: Dag-Erling Smørgrav AuthorDate: 2026-05-05 19:44:29 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:56 +0000 md5: Don't generate test cases just to skip them Don't waste time generating Perl test cases for algorithms that are not supported in Perl mode only to skip them when they are run. Approved by: re (cperciva) MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D56687 (cherry picked from commit fd386e76fa2b29d99525c246cbfc05768a1f4a76) (cherry picked from commit f9626b7e55e11322ad45da2201cd482b43eeabb6) --- sbin/md5/tests/md5_test.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sbin/md5/tests/md5_test.sh b/sbin/md5/tests/md5_test.sh index 34bdf43f13ea..a7632664c7aa 100644 --- a/sbin/md5/tests/md5_test.sh +++ b/sbin/md5/tests/md5_test.sh @@ -176,6 +176,7 @@ out_7_skein1024="cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048 out_8_skein1024="e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138" for alg in $algorithms ; do + eval "perl=\$name_perl_${alg}" # supported in Perl mode? eval " atf_test_case self_test_${alg} self_test_${alg}_head() { @@ -228,14 +229,13 @@ gnu_${alg}_vec${i}_body() { atf_check -o inline:\"\$out_${i}_${alg} -\0\" ${alg}sum -z - in atf_check -o inline:\"\$out_${i}_${alg} -\n\" shasum \$alg_perl_${alg} digests :>stdout :>stderr @@ -394,14 +393,15 @@ EOF atf_init_test_cases() { for alg in $algorithms ; do + eval "perl=\$name_perl_${alg}" # supported in Perl mode? atf_add_test_case self_test_${alg} for i in $(seq $n) ; do atf_add_test_case bsd_${alg}_vec${i} atf_add_test_case gnu_${alg}_vec${i} - atf_add_test_case perl_${alg}_vec${i} + [ -n "$perl" ] && atf_add_test_case perl_${alg}_vec${i} done atf_add_test_case gnu_check_${alg} - atf_add_test_case perl_check_${alg} + [ -n "$perl" ] && atf_add_test_case perl_check_${alg} done atf_add_test_case gnu_bflag atf_add_test_case gnu_cflag From nobody Thu May 7 20:19:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrR2yqHz6d7jG for ; Thu, 07 May 2026 20:19: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 4gBNrR0fT6z3Hlb for ; Thu, 07 May 2026 20:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z9PBz/uhQwDt0nXMqENuW6TyNVEf0FhOJP1qyXHpgAM=; b=Mx/XbjIpZyWYcaQt3dpOlcAlXX7lLfuSsM69bKJtMmRvtvSsX04mfGPjOEkB6d8XgI8txo qGQ6ifPT/WznA1UYydZYE/8uVq7aqJwWFd+njnhAU+lXAEkLmZLWzXf6ghuBRx9eUUNhY4 dG8W0272XsVu1/ZuGSCx/KfGrg/gS7WzMc1UoOSHhamNS3OFZ7yWhEmfg5i6jtvOonEy2E U+RZN0Skcuo1dKHQwpu6dhFfalXLJb+i4B+61Tvg4mJaiyt/q9x8xv+sknhGOAhQldq+Uz 6RM+OQE3srgiY0Bj9eBO3zWj3LFrAYVx4MxEI8BgqYy2o+Ts2KGzKUAsNsbcQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185159; a=rsa-sha256; cv=none; b=AJHroRSImAnQzj0vy1zs7kupbfE0jzodYiITVlpbxFqL0yyhWZrqiRz7d5QL7j2Ju0GLjd 2Vqtb20YOF6Ys/1jEoxdMhmcy39C6NoW8IifISKzCz+z2VqzDwFgKOt8bZQ98RDoK7RUtk sa/qqRcVx7Wk/ABMr9W5FLOxBB6Hf4il4Hd9FIm5gNGeUZMv7pck1Mv2SuRiNPpqqZMVDT 7N65Nkb9i/muwMeI0KDsP488evbTC9nURz5yYDIPKLDgjBJb2QIk3pLgvzyINjbAhFim9V ccGD45Xlt5j2dH9jDx51Cr83cpjMiundU6d9YQnYK832QzQrhxwH3oWKzDcU+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z9PBz/uhQwDt0nXMqENuW6TyNVEf0FhOJP1qyXHpgAM=; b=a2RYeTk/cn3aZUTZEd8zmPBha/y8aVM6Pp0vGDJH9s905qUe0DNZn/UzrgDCLPMuKU/s2Z 7+cRNpRgiqlKV1x1yfCsBEW2KWPvJeEB928x/YkSmieN3KKFKGzaJZVd/I5t/wWJgGVDEG Bezedg6fmpbuTeGL+YYQLf+jH60Ky58g7KbygdodKdBWXhcJrFT3xxqpwYhXqyDioq89sk Hamt8uVw91jDEDBxcf6CCti4Y3nPLCelkpcZs3oatCnvhSmz1xEF9Rf2EuARG2y/YhYxiR dU2ien6R30n5+60TtNnrxI8lUaowKrJezw/9jpYlD5qFPT4ptETS1IKSefOC8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrQ6hhZzhjp for ; Thu, 07 May 2026 20:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ef25 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Baptiste Daroussin From: Colin Percival Subject: git: 78c1ba506b85 - releng/15.1 - nuageinit: only parse user_data as yaml when necessary List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 78c1ba506b858a1702720ea7e51b6a05a4691787 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:13 +0000 Message-Id: <69fcf3c1.1ef25.2f737ac8@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=78c1ba506b858a1702720ea7e51b6a05a4691787 commit 78c1ba506b858a1702720ea7e51b6a05a4691787 Author: Baptiste Daroussin AuthorDate: 2026-05-06 20:14:17 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:43 +0000 nuageinit: only parse user_data as yaml when necessary This fixes a regression introduced in cae280931c9e which prevents user_data as a shell script to be used Approved by: re (cperciva) PR: 295062 Reported by: Ross McKelvie MFC After: 1 day (cherry picked from commit c316ec259011e9e22e40eaa72d834f3bfac95c28) (cherry picked from commit 4211f280ba087c75dcd84f9b592238b2eae33af9) --- libexec/nuageinit/nuageinit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index f7700f7d8e70..a1ebd3f52b25 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -727,7 +727,7 @@ local function load_userdata() f:close() local obj = nil - if ud then + if ud and line == "#cloud-config" then f = io.open(ni_path .. "/" .. ud) obj = yaml.load(f:read("*a")) f:close() From nobody Thu May 7 20:19:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrS0tbXz6d7jH for ; Thu, 07 May 2026 20:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBNrR2fGZz3Hyj for ; Thu, 07 May 2026 20:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWHGlf8mAHOKP+IB1wh0f2f50aVVG5TSpMrusV7zTbU=; b=xVippHBTyKJZutErXaRVHKIRjBTMBWwp4JFF/a/DTE6Zx9ETFhvi6309S7Z00Jr/kTBwYb HNGnY/4/tGupUQGOWxVVJwCLukdGH/HJsgW3+6YiHAOT4+/XMRwZPl2m5cfis+GJQIq2OA oeKxMok+fVVxXeKtMN1nznGwiyda5Ux48qLe7ceEUFtPvmGI1wRkrKuyi7+M2zLUTmggwn VnnuyWul4lUHb6ayZA0Q5i4CnHEFEbd3T681ixB7NlM311kB3sIi0mD016p0azzAzZ9sDY 1mZP3OTL77Noi5Wtur8r8BRN4lY34yNppH/1uQN/TxMPvR6luWBLFEPxke4OUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185159; a=rsa-sha256; cv=none; b=CXe5aevUSCkBXfeTc/rm3o9ZEdR2z/mGbfy7EMuHyYhalH3O6nWl2eQ3lNa1dsuvBvilsY tEPxU3NBRfjcDKo8CSyLjCyQ7Oyi5TjyhsUIfDxY4qju9oAdwxqIISSFAshiOW2eTmeQO3 1U5snPuiz3BAujLeKCLJafql2zAVP1gLowDR5NdQYIj4FHREfGzGXuSwkdr93HdufVABT7 U71XDAXIdDTmO5uMRoEJcDHPIdd/39VrTjmV9hKX//3UNxYyweH6AUb494MZyeGV9U2N4x vZBk0MwTxeWrqcnLLhReWHAFQ5697Y/wIO7AWFoWRe0FHMbvgHxYgl57W3dCIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWHGlf8mAHOKP+IB1wh0f2f50aVVG5TSpMrusV7zTbU=; b=MoXdXv2VCd9PRjydju86nIN0KVdGVdZupySArnVf3w6/1J7l8ES8T9mJMQ2sAjSCxvUxPG LYMdbdr+jFBEwzlxIQZYSi2q5D2S18254Tp2mlcfzq2/S8y3fOHB+eBFqNrWyQFWixAimx s8aPzuQHhpl75gwuIHruo1lgLUUeutM6GiDuTSIoIZ1pDzacylLME6PbdL/cGz1nsYQRDV yQIgtJCUbKV7A3c29bez/mguoVG/M2fwyDyRjfUJFwjn05WM+GjGOWnrhTK1SBej/w0dc8 CXSPaKG3U19FV1R/0r4pQOhC3geGo38lqVMgxfhRpH+os6Z+2K9Ih+ysD5Us5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrR1fZzzhHq for ; Thu, 07 May 2026 20:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ed9b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav From: Colin Percival Subject: git: cef90b438635 - releng/15.1 - certctl: Unstickify (un)trusted certificates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: cef90b4386354618126925716cbadff6b1961a2e Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:19 +0000 Message-Id: <69fcf3c7.1ed9b.f9965d2@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=cef90b4386354618126925716cbadff6b1961a2e commit cef90b4386354618126925716cbadff6b1961a2e Author: Dag-Erling Smørgrav AuthorDate: 2026-05-05 22:30:52 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:18:58 +0000 certctl: Unstickify (un)trusted certificates Ever since certctl was rewritten in C, the rehash command has reingested TRUSTDESTDIR / UNTRUSTDESTDIR in addition to TRUSTPATH / UNTRUSTPATH. This seemed like a good idea at the time but was, in retrospect, a mistake, as it means a (un)trusted certificate remains (un)trusted forever (or at least until it expires) even if it is removed from (UN)TRUSTPATH. Among other issues, it causes ports QA to fail for any port that either installs certificates or depends on a port that does. Although this behavior was undocumented, the change may surprise users who have added certificates manually, so update the manual page to point it out and add prominent warnings to the trust and untrust commands. Approved by: re (cperciva) PR: 290078 MFC after: 1 week Reviewed by: kevans, bcr Differential Revision: https://reviews.freebsd.org/D56617 (cherry picked from commit 2fef18ff594328a771b6aa659e8ffa5a7e076540) (cherry picked from commit c65e233a52c61bf24fb935d1971e38fbde10791d) --- usr.sbin/certctl/certctl.8 | 15 ++++++- usr.sbin/certctl/certctl.c | 81 ++++++++++++++++++++++------------ usr.sbin/certctl/tests/certctl_test.sh | 3 +- 3 files changed, 67 insertions(+), 32 deletions(-) diff --git a/usr.sbin/certctl/certctl.8 b/usr.sbin/certctl/certctl.8 index 2d38ce020c04..7df89e4d35d0 100644 --- a/usr.sbin/certctl/certctl.8 +++ b/usr.sbin/certctl/certctl.8 @@ -24,7 +24,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 3, 2025 +.Dd April 24, 2026 .Dt CERTCTL 8 .Os .Sh NAME @@ -113,8 +113,19 @@ In addition, a bundle containing the trusted certificates is placed in .Ev BUNDLE . .It Ic untrust Add the specified file to the untrusted list. +Note that the next +.Ic rehash +will remove it unless a copy of it is also placed somewhere in a +directory included in +.Ev UNTRUSTPATH . .It Ic trust -Remove the specified file from the untrusted list. +Add the specified file to the trusted list, unless it is already +untrusted. +Note that the next +.Ic rehash +will remove it unless a copy of it is also placed somewhere in a +directory included in +.Ev TRUSTPATH . .El .Sh ENVIRONMENT .Bl -tag -width UNTRUSTDESTDIR diff --git a/usr.sbin/certctl/certctl.c b/usr.sbin/certctl/certctl.c index 7fdc644bc09f..cf737565ca9e 100644 --- a/usr.sbin/certctl/certctl.c +++ b/usr.sbin/certctl/certctl.c @@ -636,23 +636,18 @@ write_bundle(const char *dir, const char *file, struct cert_tree *tree) * Returns the number of certificates loaded. */ static unsigned int -load_trusted(bool all, struct cert_tree *exclude) +load_trusted(void) { unsigned int i, n; int ret; /* load external trusted certs */ - for (i = n = 0; all && trusted_paths[i] != NULL; i++) { - ret = read_certs(trusted_paths[i], &trusted, exclude); + for (i = n = 0; trusted_paths[i] != NULL; i++) { + ret = read_certs(trusted_paths[i], &trusted, &untrusted); if (ret > 0) n += ret; } - /* load installed trusted certs */ - ret = read_certs(trusted_dest, &trusted, exclude); - if (ret > 0) - n += ret; - info("%d trusted certificates found", n); return (n); } @@ -663,24 +658,19 @@ load_trusted(bool all, struct cert_tree *exclude) * Returns the number of certificates loaded. */ static unsigned int -load_untrusted(bool all) +load_untrusted(void) { char *path; unsigned int i, n; int ret; /* load external untrusted certs */ - for (i = n = 0; all && untrusted_paths[i] != NULL; i++) { + for (i = n = 0; untrusted_paths[i] != NULL; i++) { ret = read_certs(untrusted_paths[i], &untrusted, NULL); if (ret > 0) n += ret; } - /* load installed untrusted certs */ - ret = read_certs(untrusted_dest, &untrusted, NULL); - if (ret > 0) - n += ret; - /* load legacy untrusted certs */ path = expand_path(LEGACY_PATH); ret = read_certs(path, &untrusted, NULL); @@ -796,8 +786,8 @@ certctl_list(int argc, char **argv __unused) { if (argc > 1) usage(); - /* load trusted certificates */ - load_trusted(false, NULL); + /* load installed trusted certificates */ + read_certs(trusted_dest, &trusted, NULL); /* list them */ list_certs(&trusted); free_certs(&trusted); @@ -814,8 +804,8 @@ certctl_untrusted(int argc, char **argv __unused) { if (argc > 1) usage(); - /* load untrusted certificates */ - load_untrusted(false); + /* load installed untrusted certificates */ + read_certs(untrusted_dest, &untrusted, NULL); /* list them */ list_certs(&untrusted); free_certs(&untrusted); @@ -842,10 +832,10 @@ certctl_rehash(int argc, char **argv __unused) } /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + load_trusted(); /* save everything */ ret = save_all(); @@ -859,7 +849,8 @@ certctl_rehash(int argc, char **argv __unused) } /* - * Manually add one or more certificates to the list of trusted certificates. + * Manually add one or more certificates to the list of trusted + * certificates. * * Returns 0 on success and -1 on failure. */ @@ -875,10 +866,10 @@ certctl_trust(int argc, char **argv) usage(); /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + load_trusted(); /* now load the additional trusted certificates */ n = 0; @@ -891,9 +882,9 @@ certctl_trust(int argc, char **argv) warnx("no new trusted certificates found"); free_certs(&untrusted); free_certs(&trusted); - free_certs(&extra); return (0); } + warnx("%u new trusted certificate%s found", n, n > 1 ? "s" : ""); /* * For each new trusted cert, move it from the extra list to the @@ -906,10 +897,16 @@ certctl_trust(int argc, char **argv) RB_INSERT(cert_tree, &trusted, cert); if ((other = RB_FIND(cert_tree, &untrusted, cert)) != NULL) { warnx("%s was previously untrusted", cert->name); + warnx("source of untrust: %s", other->path); RB_REMOVE(cert_tree, &untrusted, other); free_cert(other); } } + warnx("This operation is not persistent. To persistently add"); + warnx("trusted certificates to the system store, copy them to"); + warnx("one of these directories, then run `certctl rehash`:"); + for (i = 0; trusted_paths[i] != NULL; i++) + warnx(" %s", trusted_paths[i]); /* save everything */ ret = save_all(); @@ -929,6 +926,8 @@ certctl_trust(int argc, char **argv) static int certctl_untrust(int argc, char **argv) { + struct cert_tree extra = RB_INITIALIZER(&extra); + struct cert *cert, *other, *tmp; unsigned int n; int i, ret; @@ -936,23 +935,47 @@ certctl_untrust(int argc, char **argv) usage(); /* load untrusted certs first */ - load_untrusted(true); + load_untrusted(); + + /* load trusted certs, excluding any that are already untrusted */ + load_trusted(); /* now load the additional untrusted certificates */ n = 0; for (i = 1; i < argc; i++) { - ret = read_cert(argv[i], &untrusted, NULL); + ret = read_cert(argv[i], &extra, NULL); if (ret > 0) n += ret; } if (n == 0) { warnx("no new untrusted certificates found"); free_certs(&untrusted); + free_certs(&trusted); return (0); } + warnx("%u new untrusted certificate%s found", n, n > 1 ? "s" : ""); - /* load trusted certs, excluding any that are already untrusted */ - load_trusted(true, &untrusted); + /* + * For each new untrusted cert, move it from the extra list to the + * untrusted list, then check if a matching certificate exists on + * the trusted list. If that is the case, warn the user, then + * remove the matching certificate from the trusted list. + */ + RB_FOREACH_SAFE(cert, cert_tree, &extra, tmp) { + RB_REMOVE(cert_tree, &extra, cert); + RB_INSERT(cert_tree, &untrusted, cert); + if ((other = RB_FIND(cert_tree, &trusted, cert)) != NULL) { + warnx("%s was previously trusted", cert->name); + warnx("source of trust: %s", other->path); + RB_REMOVE(cert_tree, &trusted, other); + free_cert(other); + } + } + warnx("This operation is not persistent. To persistently add"); + warnx("untrusted certificates to the system store, copy them to"); + warnx("one of these directories, then run `certctl rehash`:"); + for (i = 0; untrusted_paths[i] != NULL; i++) + warnx(" %s", untrusted_paths[i]); /* save everything */ ret = save_all(); diff --git a/usr.sbin/certctl/tests/certctl_test.sh b/usr.sbin/certctl/tests/certctl_test.sh index 74749db0b3f5..133d65854c42 100644 --- a/usr.sbin/certctl/tests/certctl_test.sh +++ b/usr.sbin/certctl/tests/certctl_test.sh @@ -271,7 +271,8 @@ untrust_body() crtfile=usr/share/certs/trusted/${crtname}.crt check_trusted "${crtname}" check_in_bundle ${crtfile} - atf_check certctl untrust "${crtfile}" + atf_check -e match:"1 new untrusted" \ + certctl untrust "${crtfile}" check_untrusted "${crtname}" check_not_in_bundle ${crtfile} } From nobody Thu May 7 20:19:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrS57zvz6d7jJ for ; Thu, 07 May 2026 20:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBNrS2bsRz3Hwf for ; Thu, 07 May 2026 20:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OgJRgNytAVF/7i6rA0QBqSOwUe7+MTTjgN/DqmF55a4=; b=QwkWwSEkbzq0wV9hYxQd3CF44MhpsaNCZYnDF4gFZI9t/+Rhe0sqDsRs8WJy+5aetxhtl0 DMeQM+9PY5HFU3jV3r91UEyquV4lPlRUvqiNHESicpj5Ul5lSWtCnXcRC3sXfJDy10KoIB L5vL2jHG5BK+7DVZAEPZdMkQsAHh6g6goJ8T7dBAPUKLvq1aW5VkgpIrvlx8UuQg9El/kT xjJvV/8H27tFW64JbJKnCZOpDCpjK3jIbcgmFEYbToPpEyQbYx+eYAwRyGuAN7oTeYyv0G k/xCDZArKWFRcfbtqnqcN5IJLn4OT6AfsFOvMB8R/wb5zWaCD5jgClXn7KpK9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778185160; a=rsa-sha256; cv=none; b=ru2dGteji+suCLK6QUXbCi3V6FXktPgF/k8GXXhNAR7T6heKxqFfXxUiVKBFnCQbxr2P11 82diGl95ub73SykTgaU7aONFb+q8OznksZWX2ELqReNI6w28B/lTNiPwHR1P48fT9Ingau HMGfXqpjv5iUs+2aG/iyOvOfl7JUcSiQ1qEJ2T/Xsc+8p1o63v1y0/hsGHfWkl2lqMvnTz b8W+jcxFr1OfHC6jA5NnZQnLDrVV7kNsil16eYydu2csNnT35Kuzkih9tYitlv2JK1BAB+ iKMRu39jgAx59TfkQPOBiFd9aeDH0mmILynfdr3sY0rpKIfipUEu6PdzzTVhAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778185160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OgJRgNytAVF/7i6rA0QBqSOwUe7+MTTjgN/DqmF55a4=; b=xh4olJ8dro39IN5sr2cSBbXdBe248ZL4D5BKfWso8JJ27azBjbLRE4aJzaJKXJ/ouINDXY jvdw88aCYVSOeW2NsSMUVDdXEx4nAlv6G5/8Jdg5l55TDNPpAJoKe96FjK4paBG89UyPoH /ZV1tR2Mv0hGhhk6osYlKy080Owrzboyu8QboIduNgErtPln7owyuc3Zx2tcESbL5kIRoe 4tLDounchp0cWpeikVrU6V1T8a1piwSltcvWFi7EkB6/3DFnvkOzwj634PYDUG/F7FEuGv Z0y4g5GTv1wITvwny9zPNM43Fp64BFERVOf1CMB04aW5S4jasPEkwWvyDf12rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBNrS2BHkzhLb for ; Thu, 07 May 2026 20:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ee9c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:19:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: tickerguy From: Colin Percival Subject: git: 13c70ef568c3 - releng/15.1 - rtadvd(8): Honor pltime/vltime in interface declarations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 13c70ef568c35b974ff3c19a7b6834e8486a6b42 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:19:20 +0000 Message-Id: <69fcf3c8.1ee9c.6c8b5c87@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=13c70ef568c35b974ff3c19a7b6834e8486a6b42 commit 13c70ef568c35b974ff3c19a7b6834e8486a6b42 Author: tickerguy AuthorDate: 2025-09-29 16:05:29 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:19:02 +0000 rtadvd(8): Honor pltime/vltime in interface declarations Currently rtadvd ignores interface pltime/vltime specifications unless the (static) address range is also included in the config file. This extends the validity of a pltime and/or vltime stanza in the config file for an interface to delegated addresses from an upstream provider. Approved by: re (cperciva) Signed-off-by: tickerguy PR: 288426 Reviewed by: pouria Pull Request: https://github.com/freebsd/freebsd-src/pull/1863 (cherry picked from commit 103f9883d1ed7431c432caa6ab9c61cd4d0831d0) (cherry picked from commit 18caefe847086a9e89812db600c852b225467090) --- usr.sbin/rtadvd/config.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c index 628ca3be886f..c02997337da3 100644 --- a/usr.sbin/rtadvd/config.c +++ b/usr.sbin/rtadvd/config.c @@ -1095,6 +1095,7 @@ get_prefix(struct rainfo *rai) ifi = rai->rai_ifinfo; for (ifa = ifap; ifa; ifa = ifa->ifa_next) { + int64_t val64; int plen; if (strcmp(ifa->ifa_name, ifi->ifi_ifname) != 0) @@ -1143,9 +1144,26 @@ get_prefix(struct rainfo *rai) "<%s> add %s/%d to prefix list on %s", __func__, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + MAYHAVE(val64, "vltime", DEF_ADVVALIDLIFETIME); + if (val64 < 0 || val64 > 0xffffffff) { + syslog(LOG_WARNING, + "<%s> vltime (%" PRIu64 ") for %s/%d on %s " + "is out of range, use default value instead.", __func__, + val64, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + pfx->pfx_validlifetime = DEF_ADVVALIDLIFETIME; + } else + pfx->pfx_validlifetime = val64; + MAYHAVE(val64, "pltime", DEF_ADVPREFERREDLIFETIME); + if (val64 < 0 || val64 > 0xffffffff) { + syslog(LOG_WARNING, + "<%s> pltime (%" PRIu64 ") for %s/%d on %s " + "is out of range, use default value instead.", __func__, + val64, ntopbuf, pfx->pfx_prefixlen, ifi->ifi_ifname); + pfx->pfx_preflifetime = DEF_ADVPREFERREDLIFETIME; + } else + pfx->pfx_preflifetime = val64; + /* set other fields with protocol defaults */ - pfx->pfx_validlifetime = DEF_ADVVALIDLIFETIME; - pfx->pfx_preflifetime = DEF_ADVPREFERREDLIFETIME; pfx->pfx_onlinkflg = 1; pfx->pfx_autoconfflg = 1; pfx->pfx_origin = PREFIX_FROM_KERNEL; From nobody Thu May 7 20:40:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJk0xxwz6bwV7 for ; Thu, 07 May 2026 20:40: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 4gBPJj6Rgjz3NjR for ; Thu, 07 May 2026 20:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BrkIADxkYIuZDHMtepuLDRtqiIHmtSGzIcwdIU456Zw=; b=jxQZ5o6w6VG7gtsPbsRZjWd4+hWkoBtaVU07qcFLnaKDrSC9AcZ8Htl0oPWL42nSv8UmcV N8iYklSqhsayD22fjUg9KYbE1MiDuAZfZ40d2ubPGySlBKMWTYkKMADxHr7Q1sjb9atAC8 JFUiGmcQIHS0WuMKckY7ZesPuma2YNmi3XVCoHCVRs0EHs/blHeNUAvlkkYqjuOcy1sEq4 Relb+o11JDHODMVZCEJpii5anvSLyqzO6/L//a43YOPKWj5Xmw7Hyhmhrk0nGo82C4SQg4 /nlA/+fhJ5FtnzefoFA8n1fYn2xSLwvr1ugUtvBxleby3+N40Qm94JdGevBt2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186421; a=rsa-sha256; cv=none; b=U/TT99LxFEYXy4ycFEP2ku+spIEQekGp3yFKYZCGMcdjLJDlBQSSUkMB6Lnnp5wuXmfH5d iMaDqea7yv9F10k9iNiNSz2WgVA8e19y/tWm9UXStvCZlq6VwJsAWu1TbGyQpuXgIKHFPf 6JI/qxrTq2jIxXl3OYUdSVS6kk7m3oZ5oHfI+f9noOH5Y19oiRjiDBcQ7PS01UeBv+a/AL rY+VOu8PZhc1gaVQ3qfl2u/envcCq/iXPrJkq7yR0qEXq88iq0vi5PpCepVZ3iD9sAwO0I t4oloFJ5PjjdioDl8BUtmvJWaqHSTtngtPNbbuE36uEjzdFPrgJYg/hLrZ3ZZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BrkIADxkYIuZDHMtepuLDRtqiIHmtSGzIcwdIU456Zw=; b=DbnPtw3YA8KoZgM+YvGD01mVifv7wObJmR0v6x7fWYR+PE/rqkFyFrIuIkyPDm4Bhv1JBt xeUsnzy4HLsy2zn8u/pqJZhAYwvumclR3Up/o8hRVWi+S/G73lET7xdJbuEOX3axYtv8NQ CNO9zFseMlVh6O82BI8fu+1cm5TeenzHFJHolMlJ13dGXxb+bbhhpl/wWXu7o+sUilrJE4 5FIBAGad0VERL7gJ2QpjifrQbgQp6347TYaZk6Tg8DM+mNDObtrPhbYxkD3KLj2yIcOuBw +uEcLGo0CqD+ZyobjlsA/+yu/8qkx75xkzTWQm9tQQvVb4Z5TxThcLx2kwu8YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJj5qk3zj92 for ; Thu, 07 May 2026 20:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2221d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jan Bramkamp From: Colin Percival Subject: git: 38c5d60c367e - releng/15.1 - jail: avoid leaking jail config fds to exec.* hooks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 38c5d60c367e788341e059ee3940183c293956ba Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:21 +0000 Message-Id: <69fcf8b5.2221d.3c6fd090@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=38c5d60c367e788341e059ee3940183c293956ba commit 38c5d60c367e788341e059ee3940183c293956ba Author: Jan Bramkamp AuthorDate: 2026-05-06 23:28:53 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:39:42 +0000 jail: avoid leaking jail config fds to exec.* hooks The jail(8) command must not leave parsed configuration files open since the file descriptors will be leaked to child processes including the untrusted exec.start or exec.stop hooks. While fopen() doesn't provide direct access to O_CLOEXEC, it does provide access to FD_CLOEXEC via "e" in the mode string which provides the desired defense in depth against leaking file descriptors into exec.* hooks since those always execve() into a shell. Jail configuration is potentially sensitive and some hooks execute from within the jail context, leaving some opening for the jail to exfiltrate information about the host environment. (Commit message wordsmithed by kevans) Approved by: re (cperciva) PR: 295052 Reviewed by: kevans (cherry picked from commit 276d9b88a9e6fd6fd90e57c36444756ad297d2ab) (cherry picked from commit c35bb8ba898482920bf9b57967a9a11f98a89c81) --- usr.sbin/jail/config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c index 1bad04ccde68..f1e2da215790 100644 --- a/usr.sbin/jail/config.c +++ b/usr.sbin/jail/config.c @@ -321,6 +321,7 @@ static void parse_config(const char *cfname, int is_stdin) { struct cflex cflex = {.cfname = cfname, .error = 0}; + FILE *yfp = NULL; void *scanner; yylex_init_extra(&cflex, &scanner); @@ -328,7 +329,7 @@ parse_config(const char *cfname, int is_stdin) cflex.cfname = "STDIN"; yyset_in(stdin, scanner); } else { - FILE *yfp = fopen(cfname, "r"); + yfp = fopen(cfname, "re"); if (!yfp) err(1, "%s", cfname); yyset_in(yfp, scanner); @@ -336,6 +337,8 @@ parse_config(const char *cfname, int is_stdin) if (yyparse(scanner) || cflex.error) exit(1); yylex_destroy(scanner); + if (yfp != NULL) + fclose(yfp); } /* From nobody Thu May 7 20:40:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJl1S3Sz6bwH7 for ; Thu, 07 May 2026 20:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBPJk6qvVz3NfW for ; Thu, 07 May 2026 20:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=btRRCOaPyqTwHQrKP0I4n9vijFeXhSOSPzQMn7EozHU=; b=cBHM2GdnUBUhvI9jJYjLmVYiomVyTR2j976DXCd+0YdHpnLwg0c+UhkkeTZU5k8qUhNnDR Lq2dESznYZj3cp0CAPoDZ4FCqI7VzDXaJow+O1Lhq6RVW9nVwL9U/A+Twp7RJB5kl5qy2/ ya5Mw3l/1nXZNmBmT5oMJcGngQH1aCs0F1VKHXPHcn5KcKtEaf4/7oHdCAisAI+TCfx4Tq vuZWYmKp+GLVVEF2PPLBxwStR7SR84vS/5+nyOC8+gnkzvkAhcIWUs8TyVfcvvT73dZ+4L FozCHWuFT/gy/RybUrZmPTCFRJAhRBiaJISkLZvXVaBl02qBqV3sPSHWt4Az+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186423; a=rsa-sha256; cv=none; b=xxDujdxmaWQG5hG2dG5iqdq04zTrW2Jj/a6nhzQgenWFFP9jEqFwfVqbPvIQL1Yuhsjg5Y g/TQvG3qyU041sBxA2jD95Wb8FwK3NpLjoKsrK0rsvHa1hZ/udagzVVr3hew0iR64U12uN tO+bkEZfGaghSNV17cdzkvGuvY7PlrR3RNfz/rbu7S+dXFVhErnqMMxUiOSzxIhtmDHYOH Bk5Ef7r/1YcB865ifAYEy2WCT1OG2I6HvbTCl9pyNk3Lb2XvsfYYpUEhbh4/iscEMlTDcL wCliCuanp5gPedA5+m2N6UT6TF+zRX29rd2KQV8G4hTmX5yWny+x6IVJgvBIEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=btRRCOaPyqTwHQrKP0I4n9vijFeXhSOSPzQMn7EozHU=; b=iYLnUt1pKXuJsfViVdnOP6YSrCfviL+YFFq3gKNJIUeOAy7N4Yhp7j41fxpWLW619Qmocb 3xjkBb5vi45kOTRGqkXwIQRf96AC7JvDXjFDt+QgJUxEYt9/+m5w5elunk2rhmMJcKdSlr CXZ4ACwRfFvpXanW2oUbp43xoajjPfBUACaNrTJD49bcGUo1V+dYa0oQhVLkUrQVLfJ/JK 3yWOY/5mT21g9W5J+8ohxc0xaPackYeL5SilTkD5bBZlP09mqnh6bV7qQT4stDsRkW9zv2 LAJqLyHYRMJZjGXYYSGT86vB60Ckcgac2n2soj1FGCFhSSrZYuWRvfbEOXunHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJk6Dj9zjMT for ; Thu, 07 May 2026 20:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fd6d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: 88e12ccd9afc - releng/15.1 - tests/socket_afinet: Fix the bind_connected_port test List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 88e12ccd9afc55d8e5f66e0fefb0ea71ccb91476 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:22 +0000 Message-Id: <69fcf8b6.1fd6d.402e7c5f@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=88e12ccd9afc55d8e5f66e0fefb0ea71ccb91476 commit 88e12ccd9afc55d8e5f66e0fefb0ea71ccb91476 Author: Mark Johnston AuthorDate: 2026-04-20 15:07:20 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:39:59 +0000 tests/socket_afinet: Fix the bind_connected_port test The test verifies that a socket can bind to a local address assigned by connect(2) to a different socket. It was however trying to bind to the wrong address, and the check of the result was inverted, so this went unnoticed. It also needs to set SO_REUSEADDR for this to succeed. Approved by: re (cperciva) Reported by: glebius MFC after: 1 week (cherry picked from commit d3d0466cae546254c50c80cf3e0c060bbbbba53c) (cherry picked from commit 9e8d7d83ecfbf8b34b785d7981a29dda567d0bc6) --- tests/sys/netinet/socket_afinet.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/sys/netinet/socket_afinet.c b/tests/sys/netinet/socket_afinet.c index 9c718fc5a901..56d98c7b3241 100644 --- a/tests/sys/netinet/socket_afinet.c +++ b/tests/sys/netinet/socket_afinet.c @@ -516,6 +516,7 @@ bind_connected_port_test(const atf_tc_t *tc, int domain) struct sockaddr_in sin; struct sockaddr_in6 sin6; struct sockaddr *sinp; + socklen_t slen; int error, sd[3], tmp; bool res; @@ -554,16 +555,15 @@ bind_connected_port_test(const atf_tc_t *tc, int domain) sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); error = connect(sd[1], sinp, sinp->sa_len); ATF_REQUIRE_MSG(error == 0, "connect failed: %s", strerror(errno)); - tmp = accept(sd[0], NULL, NULL); + slen = sinp->sa_len; + tmp = accept(sd[0], sinp, &slen); ATF_REQUIRE_MSG(tmp >= 0, "accept failed: %s", strerror(errno)); - ATF_REQUIRE(close(sd[0]) == 0); - sd[0] = tmp; /* bind() should succeed even from an unprivileged user. */ - res = child_bind(tc, SOCK_STREAM, sinp, 0, false); - ATF_REQUIRE(!res); - res = child_bind(tc, SOCK_STREAM, sinp, 0, true); - ATF_REQUIRE(!res); + res = child_bind_priv(tc, SOCK_STREAM, sinp, SO_REUSEADDR); + ATF_REQUIRE(res); + res = child_bind_unpriv(tc, SOCK_STREAM, sinp, SO_REUSEADDR); + ATF_REQUIRE(res); } /* From nobody Thu May 7 20:40:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJm1mkHz6bwVB for ; Thu, 07 May 2026 20:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBPJm034Fz3Np5 for ; Thu, 07 May 2026 20:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DThAdjnFMwqMWzTUoRJ5MIjTexvKDh96f+32UYlP4QY=; b=Vpq0BGIBjUdF1rdXVHiqpgd9eAnpFeSjN9d4dTcb1zKEzsK7gH7FGGda1/B0RBWCeIsXOv NDDO8u8iAeIzFj4UeQCbKlBAJo/G8+x6jFvecZ84wlsUwyF9wk80Hp0Eu/B4U0a87G3K1x jWjeHj+OLaSmBdBOhllktLfPUxqcmw4oYFubjnkSoGxR0/IbpSFZgQcYNzYzS2Q4DhL2/k RrComFUDkA89PEz3k6/9p22jl6pLUbYP0Jiei20ulyMewCV8OI+sAG902ESs2HyjUbJvZ7 CW6GwHsol3hecmSLDm+R5LvYYQJQFSvvFmNw6hwHMrg+5OOY2eAsFMDO9WtxSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186424; a=rsa-sha256; cv=none; b=Ds1GtD2FaHD/kzKeghPv1wZ+osTqPngMfIoS9wCw7Lm/EgfZzpMa1ncpYK8rEhYw5rO2GR njzg2j9GeFuqO8KVZRJj4vIy0EPAs94By3+G11qS3gtV4a2CaIJSQV9giz8dfn60/Se9Sq zHdsn7Th7IKXvWl2VSq6raOYhxYrcitixp+Krwt9wzpltE0/QFaxVfOD6Feq2KiXOEQXUU JnUY9KMgQh+1GuCaieeBuwQ9tBtUrlb0f7Phrl+Y/0OmTePqfmuXouCWYKdqPmubbepYBt +vPogJvcNCLF9Agw7/dAZgv5KF2Xb3IvtOFfruPQ96NXlia03oj29UZep8211w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DThAdjnFMwqMWzTUoRJ5MIjTexvKDh96f+32UYlP4QY=; b=GoskHBuS8/iVBRW13YDTQEnt4FKNaAb+mpdIqTs2oNI1RlIXyxUYCdIqEzheseY5QhtC+Z 1mBIipJ4yzb+bw88IaVDmSdqKgHa9Q/Lw+7r4jtOZ0szwt5deEcXkLc9JoI8A5wp6jTHXW MOq8fGSIji2qEuYOtVPtZdaZpMq/Wz0X8zT+ufngcUtax2sD4+FXaLI5MmFp4A4mDqnque mu68g1LvGTd1yfl2hU0Ms8sgTMvEQQmCHvFBBh5hpKsv+Uj3VLUZNJ8FtwSUStyZ8p1lrW habDrK6wJRJc5CJEpav4ZqqE5q24xWT1u9LI0WY9pzKDYQBG8RXKe0raAW1KJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJl6f6Rzj94 for ; Thu, 07 May 2026 20:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22222 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: a096a97448cf - releng/15.1 - so_splice: Fix the KTLS check for the sink socket in so_splice() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: a096a97448cfc7e593bcf8873c0f0d3b94f219f1 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:23 +0000 Message-Id: <69fcf8b7.22222.492f7340@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a096a97448cfc7e593bcf8873c0f0d3b94f219f1 commit a096a97448cfc7e593bcf8873c0f0d3b94f219f1 Author: Mark Johnston AuthorDate: 2026-04-16 19:57:36 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:40:02 +0000 so_splice: Fix the KTLS check for the sink socket in so_splice() Approved by: re (cperciva) Reviewed by: gallatin Reported by: Claude Sonnet 4.6 Fixes: 1000cc4a0d39 ("so_splice: Disallow splicing with KTLS-enabled sockets") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56385 (cherry picked from commit d88a159da42a75dbd46ea4f6f9c8059975dab5e8) (cherry picked from commit 43b1de5970d1246aa54d8e34b0f211511cc2b103) --- sys/kern/uipc_socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 358393a3bf9a..d2ad4e147da5 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -1736,7 +1736,7 @@ so_splice(struct socket *so, struct socket *so2, struct splice *splice) return (error); } SOCK_SENDBUF_LOCK(so2); - if (so->so_snd.sb_tls_info != NULL) { + if (so2->so_snd.sb_tls_info != NULL) { SOCK_SENDBUF_UNLOCK(so2); SOCK_UNLOCK(so2); mtx_lock(&sp->mtx); From nobody Thu May 7 20:40:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJn4PcVz6bvb3 for ; Thu, 07 May 2026 20:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBPJn0xV7z3Nrb for ; Thu, 07 May 2026 20:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NnnhsGvuR7+ReRuv6gjufb90+BmSjLvt6luscsPwMss=; b=vS3X2Xm18hE7gwr2ZDZSnB2ViiVYfAymCfGe9ZEUVtCz1amY1FmubNjlB0ByA642qG8sdh zJc+KEAs0YJxkvwn0r6F6b0uaHKphe89+Qv2TfOz3bxdtm2L9qu7Wz46nmUyKuiF3e7/yx FqlUgEpJULJlLHvYK3AoLsbBDkTBhOJmz1/sLj5XzC9bdXNMJ/stWY2TFr+EBsySlmjAyt waXI1rUJMBCBmAQ+XOMmCWbJYJ5Y+8MQhWFJymDFK4/aAC+3loOqgdqqcG2aQXVGOQQ3QU rggnIUPt4nLAugLbFRv+BKH7x6006kmHGK++SCFH1DjUPGPPcA5WKG9cJe1RGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186425; a=rsa-sha256; cv=none; b=fhnr1oml0OD7GQ7Yf+4PNAWyIAbaTT1I5gVOuvm9ulHJ3mC7EZPMpdQpKfxqc1WpDMpw/e zp/PoiHV/s1PniHQKerfBhZG4LdbxBqFxougnoSNlPPmFX3jBYFB8/b65le1bebAOW+6sx 2Duc4+gAvnJtixrnQdONwaYfELrr+3vs7t2sJoxRQj0y0HJKuFMjzTLlcIx+RIkWGGxO1R vLJTYzEFucdqFSbdJ9IB+fAQqTtmZfG7eKJM5FA356sbqDK5FR8QXlFgY10g627PiHhTWi FlQPxP0LzG+jo7hkxf8DXx7l9BFcMpw9Btl/KxZE/ljjWxdm0H5VEJEL0LsREw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NnnhsGvuR7+ReRuv6gjufb90+BmSjLvt6luscsPwMss=; b=ZQM5+1/p5Ca6LAxBwxD9DOBb57DDw5TkVa9ziB99REbClKU9Z3E20YEtq+X5brq+k7/pEJ pC3iX6X3sD05JmSMKVLT/DLJUiIDIrPkQ39a8ABHoOm1AIXytMXi8OQ85tOnCq2Djax8po E0MohB7YggVlaPZlxZLH8SJWOdB7fOFQfSWvDtjWeDjaPHBGttL4YBKdwAa9rin3eSYkvF XIH1TpJsaZJ2l/yxlLwVy9h7X3+IFJBe8wDHMlJvusYMzxQkOLPpj3MpYbx8G2hc3vdvgc YeFb6R3c2xuUc5xmUGRm1hSy2mVjmg6LOqi8H7VQTnVhsZgyFtiODu20NVjQIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJn0LpMzj96 for ; Thu, 07 May 2026 20:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22503 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: fdd8f30b9f31 - releng/15.1 - nullfs: Clear inotify flags during reclaim List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: fdd8f30b9f314d04698f864c4b2a80b43a71114a Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:25 +0000 Message-Id: <69fcf8b9.22503.6e76b142@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=fdd8f30b9f314d04698f864c4b2a80b43a71114a commit fdd8f30b9f314d04698f864c4b2a80b43a71114a Author: Mark Johnston AuthorDate: 2026-04-26 01:35:37 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:40:04 +0000 nullfs: Clear inotify flags during reclaim The inotify flags are copied from the lower vnode into the nullfs vnode so that the INOTIFY() macro will invoke VOP_INOTIFY on the nullfs vnode; this is then bypassed to the lower vnode. However, when a nullfs vnode is reclaimed we should clear these flags, as the vnode is now doomed and no longer forwards VOPs to the lower vnode. Add regression tests. Remove a test in vn_inotify_revoke() which is no longer needed after this change. Approved by: re (cperciva) PR: 292495 Reviewed by: kib Reported by: Jed Laundry Fixes: f1f230439fa4 ("vfs: Initial revision of inotify") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56639 (cherry picked from commit a02d794f5acd12ba3cf1de5c204a8dd56af47edd) (cherry picked from commit 10567c80b6845717306c5301d104e7440033c4f5) --- sys/fs/nullfs/null_vnops.c | 12 +++++ sys/kern/vfs_inotify.c | 4 -- tests/sys/kern/inotify_test.c | 112 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 4 deletions(-) diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index a3daa2d8dd54..ee7d89db6b05 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -927,6 +927,7 @@ null_reclaim(struct vop_reclaim_args *ap) struct vnode *vp; struct null_node *xp; struct vnode *lowervp; + short flags; vp = ap->a_vp; xp = VTONULL(vp); @@ -956,6 +957,17 @@ null_reclaim(struct vop_reclaim_args *ap) else if (vp->v_writecount < 0) vp->v_writecount = 0; + /* + * Undo the effects of null_copy_inotify(): setting VIRF_INOTIFY* causes + * the VFS to invoke VOP_INOTIFY on the marked vnode, and for nullfs + * vnodes this is bypassed to the lower vnode. The inotify watch holds + * a ref on the lower vnode, but not the upper vnode, so VOP_INOTIFY + * must not be called on the upper vnode after this point. + */ + flags = vn_irflag_read(vp) & (VIRF_INOTIFY | VIRF_INOTIFY_PARENT); + if (flags != 0) + vn_irflag_unset_locked(vp, flags); + VI_UNLOCK(vp); if ((xp->null_flags & NULLV_NOUNLOCK) != 0) diff --git a/sys/kern/vfs_inotify.c b/sys/kern/vfs_inotify.c index 716fdc96e5fb..94e65973a36b 100644 --- a/sys/kern/vfs_inotify.c +++ b/sys/kern/vfs_inotify.c @@ -889,10 +889,6 @@ vn_inotify_add_watch(struct vnode *vp, struct inotify_softc *sc, uint32_t mask, void vn_inotify_revoke(struct vnode *vp) { - if (vp->v_pollinfo == NULL) { - /* This is a nullfs vnode which shadows a watched vnode. */ - return; - } inotify_log(vp, NULL, 0, IN_UNMOUNT, 0); } diff --git a/tests/sys/kern/inotify_test.c b/tests/sys/kern/inotify_test.c index 0a4df4e5fcaa..d3799b12ce20 100644 --- a/tests/sys/kern/inotify_test.c +++ b/tests/sys/kern/inotify_test.c @@ -392,6 +392,116 @@ ATF_TC_CLEANUP(inotify_nullfs, tc) } } +/* + * Watch a file in a nullfs mount, and remove it from the lower mount. Make + * sure that we get an IN_DELETE_SELF event and that the watch is removed. + */ +ATF_TC_WITH_CLEANUP(inotify_nullfs_remove); +ATF_TC_HEAD(inotify_nullfs_remove, tc) +{ + atf_tc_set_md_var(tc, "require.user", "root"); +} +ATF_TC_BODY(inotify_nullfs_remove, tc) +{ + char dir[PATH_MAX], path[PATH_MAX], *p; + int error, fd, ifd, wd; + + strlcpy(dir, "./test.XXXXXX", sizeof(dir)); + p = mkdtemp(dir); + ATF_REQUIRE(p == dir); + + error = mkdir("./mnt", 0755); + ATF_REQUIRE(error == 0); + + /* Mount the testdir onto ./mnt. */ + mount_nullfs("./mnt", dir); + + snprintf(path, sizeof(path), "%s/file", dir); + fd = open(path, O_RDWR | O_CREAT, 0644); + ATF_REQUIRE(fd != -1); + close_checked(fd); + + ifd = inotify(IN_NONBLOCK); + wd = inotify_add_watch(ifd, "./mnt/file", IN_DELETE_SELF); + ATF_REQUIRE(wd != -1); + + error = unlink(path); + ATF_REQUIRE(error == 0); + + consume_event(ifd, wd, IN_DELETE_SELF, 0, NULL); + consume_event(ifd, wd, 0, IN_IGNORED, NULL); + + close_inotify(ifd); +} +ATF_TC_CLEANUP(inotify_nullfs_remove, tc) +{ + int error; + + error = unmount("./mnt", 0); + if (error != 0) { + perror("unmount"); + exit(1); + } +} + +/* + * Exercise a scenario where a watched lower vnode is deleted by a rename. The + * deletion causes the upper vnode to be reclaimed, and after that point it + * should stop trying to forward events back to the (now detached) lower vnode. + */ +ATF_TC_WITH_CLEANUP(inotify_nullfs_rename); +ATF_TC_HEAD(inotify_nullfs_rename, tc) +{ + atf_tc_set_md_var(tc, "require.user", "root"); +} +ATF_TC_BODY(inotify_nullfs_rename, tc) +{ + char dir[PATH_MAX], path1[PATH_MAX], path2[PATH_MAX], *p; + int error, fd, ifd, wd; + + strlcpy(dir, "./test.XXXXXX", sizeof(dir)); + p = mkdtemp(dir); + ATF_REQUIRE(p == dir); + + error = mkdir("./mnt", 0755); + ATF_REQUIRE(error == 0); + + /* Mount the testdir onto ./mnt. */ + mount_nullfs("./mnt", dir); + + ifd = inotify(IN_NONBLOCK); + + /* Create two files, they will be renamed in the upper layer. */ + snprintf(path1, sizeof(path1), "%s/file1", dir); + fd = open(path1, O_RDWR | O_CREAT, 0644); + ATF_REQUIRE(fd != -1); + close_checked(fd); + snprintf(path2, sizeof(path2), "%s/file2", dir); + fd = open(path2, O_RDWR | O_CREAT, 0644); + ATF_REQUIRE(fd != -1); + close_checked(fd); + + wd = inotify_add_watch(ifd, "./mnt/file1", IN_DELETE_SELF); + ATF_REQUIRE(wd != -1); + error = rename("./mnt/file2", "./mnt/file1"); + ATF_REQUIRE(error == 0); + + consume_event(ifd, wd, IN_DELETE_SELF, 0, NULL); + consume_event(ifd, wd, 0, IN_IGNORED, NULL); + + close_inotify(ifd); +} +ATF_TC_CLEANUP(inotify_nullfs_rename, tc) +{ + int error; + + error = unmount("./mnt", 0); + if (error != 0) { + perror("unmount"); + exit(1); + } +} + /* * Make sure that exceeding max_events pending events results in an overflow * event. @@ -878,6 +988,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, inotify_coalesce); ATF_TP_ADD_TC(tp, inotify_mask_create); ATF_TP_ADD_TC(tp, inotify_nullfs); + ATF_TP_ADD_TC(tp, inotify_nullfs_remove); + ATF_TP_ADD_TC(tp, inotify_nullfs_rename); ATF_TP_ADD_TC(tp, inotify_queue_overflow); /* Tests for the various inotify event types. */ ATF_TP_ADD_TC(tp, inotify_event_access_file); From nobody Thu May 7 20:40:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJp4Twhz6bwVH for ; Thu, 07 May 2026 20:40: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 4gBPJp1RPvz3NVP for ; Thu, 07 May 2026 20:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sCafn+2iLyaxalQWyoVd2P57Gl6UzaKBXoV2iBkpr7s=; b=LYDgGuH5y5hi5jJvIoyDfKi2ieQ/qe0kO9veP3EKkxni9fbsvyricB0UABIzG5JJ3jB2/z UW3n5cJXGzcmyM76qfgIa2Aa8qg6L95JUIhrGD+MKk5kSgzTrM4xZ+vCaWDGUVwcKs4K+J Wtegeio+fPXIGP2G++xF4QbQVsl8ek0J0hX0g3syPJtAxS/N6O+a+bBaiRWXrLeksTZuKl MPexgRZtIIWYkjK17CSYcdKuANPz+A/aHqXeuVjRaxgFwtZNXXwAPV0PIUTSDSHymwX2ko 0PsN7KVW16vg03Z7yK+PqJleZTybX50D4GkqM1QxhKoyzukFGfHunKPh+KmnXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186426; a=rsa-sha256; cv=none; b=W578Wu/DPxmE3B/fvbIJcVe8jHZafS3PSBDY0A+q09JRMrjIf49+gAFW+tfln3XlmlYsw3 lhkS8FQuFQS8S5Pmg70wT411zJ2uswAanlp5zrzMSJgeQCZCohbjfbgM5Y0G7lHCphEAJM iURO7iNrxRFzE91s5GzVL04IKpX8uVDefamS47/2Pk8V2ntvB69YSiU7gpCm9VYlpQg8yb tUcxeG4xE6PLy1ObbTskWXsnOqhbLIfcdDfN+l3wV7Wy+lMr6PA0oXIc6EZKjwcpw0WhqZ iJhdBRnWhdi9zDRsI70PA+1fWJ+a0/LGzCEp4DlhR8PlI/9QJoJx9xr1vXbYMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sCafn+2iLyaxalQWyoVd2P57Gl6UzaKBXoV2iBkpr7s=; b=LtmfflI1Ho2B4oVQTLJ+SqcDJvEMqrjDCkJsEIEdtzA7+kfIai5SqirfA4TPraYLH3pvNg nslwtNdtqGVM9gdHaOvTZeVXtbfrG9wmGn9scwxbRjxtJiPy3/wpCBMs9TKQ57TV+egA35 HsUXB6Jiz8hcIjA4KodrZw9PfI6oLZp86aIoFYP16ELI3jN7ezJ79s9www1oiwU4dmIGjs O9p4PXY9QaDuuu+rDyq97fj9XA03kydzAwofRsJkDXVm78qYpHnJwUtSi+HXIreIZJdM/p uN7BghHRcHyIVracCYP0I3ajOXYSbXVgsBnkffLnMc1pW9xqK/6tFYAUOM571g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJp0kphzj09 for ; Thu, 07 May 2026 20:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 223a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: 87054ce8fb07 - releng/15.1 - tests/posixshm: Check for hardware support in largepage_pkru List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 87054ce8fb0739cde2399e06af7ea083dc2a9c58 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:26 +0000 Message-Id: <69fcf8ba.223a4.1c3cce77@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=87054ce8fb0739cde2399e06af7ea083dc2a9c58 commit 87054ce8fb0739cde2399e06af7ea083dc2a9c58 Author: Mark Johnston AuthorDate: 2026-04-24 13:23:03 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:40:09 +0000 tests/posixshm: Check for hardware support in largepage_pkru Approved by: re (cperciva) MFC after: 3 days Fixes: ca87c0b8e396 ("pkru: Fix handling of 1GB largepage mappings") (cherry picked from commit 75c66218401c00f4728d5312e2b933b8d3aefde1) (cherry picked from commit 8988b4de4e3b85baa97fd76254e00da7d3304b35) --- tests/sys/posixshm/posixshm_test.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/sys/posixshm/posixshm_test.c b/tests/sys/posixshm/posixshm_test.c index 8333faa90594..fe6386c6aa4b 100644 --- a/tests/sys/posixshm/posixshm_test.c +++ b/tests/sys/posixshm/posixshm_test.c @@ -39,6 +39,8 @@ #include #ifdef __amd64__ +#include +#include #include #endif @@ -1966,6 +1968,14 @@ ATF_TC_BODY(largepage_pkru, tc) struct sigaction sa; char *addr, *addr1; int error, fd, pscnt; + u_int regs[4]; + + do_cpuid(0, regs); + if (regs[0] < 7) + atf_tc_skip("PKU not supported"); + cpuid_count(7, 0, regs); + if ((regs[2] & CPUID_STDEXT2_PKU) == 0) + atf_tc_skip("PKU not supported"); memset(&sa, 0, sizeof(sa)); sa.sa_sigaction = sigsegv; From nobody Thu May 7 20:40:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJq4pFPz6bwNY for ; Thu, 07 May 2026 20:40: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 4gBPJq2Rtyz3NdT for ; Thu, 07 May 2026 20:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2cMsekQCueSfsYcbgVuFaeucQX/zaQ93r858eaJWgxY=; b=RkaPdgJ1ZGTN5Lm07Om8dV3UUq1ewfyG83+COY7+HvdJ9dmnUHUiENrA4gVTR5SWgMQ+FJ vcKS3UG3OgSO1CqKDQM8iEMdqbxnexKSFJF4UvsqlPqyw8pRR1tJWnjUjWuFEPCn7srZu/ zv5LTt+Sk1/JHAk3i8o/ABuEOYebzRrgpXZ22i+vnoIrXrZh5TwrxEO8a0TCeq2rRcpbv1 I/+hvcCKWZYTWVSM2sNOgPlEphuh1lb51kwjZttlicXMbY1Ji+EnyLMLyCblz8un3h6BTu y1RlDyUsKjEQQ+0Gu1ZFziYEUU6cT5viyVsl7ZTvx3XGOuBv8o4KSF6sZ35Swg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778186427; a=rsa-sha256; cv=none; b=itXOKAUU6u5JE8ceeOBAxMf9BwMeYVck1//qlxpqBEzUb3iwD7JVUvIG0ZjvEJ61iiUK7I tAeadW/sIuumUI1VnxpEIV17mnBYFurFOe/FocmewXK+T2I98B1KCOZcwR33aPdqTljp8t B14KivhFGxHug0dTnwLUMoermbGphZr2p2qADocEBnAT0O1xIjEPUINeo2QiOSVCSRVtck P+PPoKJAZTbWC3GVOILrj1Em8diGc61mducq4Y8g+LR9TYwSYuWUCAMRu96mygdz5x60mf SbdqNYsiMK35OVl7yD4jgZ1j2crsbOvJ/MRDnzcAAB6BJLyZJISyqRQe6HYikA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778186427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2cMsekQCueSfsYcbgVuFaeucQX/zaQ93r858eaJWgxY=; b=XxhgP+r1dFsD+QJ3NN0ARlNFBqyWcCbqzhaKVmlu/8Yhay6v6xR4QrWHU0eJerz5kJ0zNz RQKIJN2bwRtyuTpepHV58mXJPnSnV+ruYqdSDj+wPqf2PgN4cjODpsDyuEDXVsrlzSIYuL FGRcV1OgkVtiumSBj84gufgRuxGFx2lY/1tElSWMs1gB6sG4wOg0vnK1Bua4bdcwX/9UBT LhbORaY8y7NxFJ7xGpfz6j4WchChMPfw61Rf9qkhnGlekeCY/6lLXgw0u0FNq2wqYRp+v8 tTfB75iZkovu16HKJJ4/tpf+eHKF3NP/n5n/0pq4muj/nf+u3koJVHL7bP6nRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBPJq1WJNzjMW for ; Thu, 07 May 2026 20:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22b1c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 20:40:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: 5dca0c89c81e - releng/15.1 - tests/socket_afinet: Remove a conditional skip List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 5dca0c89c81e2c4c3596e968115ef2170b681a11 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 20:40:27 +0000 Message-Id: <69fcf8bb.22b1c.37cf6671@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5dca0c89c81e2c4c3596e968115ef2170b681a11 commit 5dca0c89c81e2c4c3596e968115ef2170b681a11 Author: Mark Johnston AuthorDate: 2026-04-17 12:48:39 +0000 Commit: Colin Percival CommitDate: 2026-05-07 20:40:12 +0000 tests/socket_afinet: Remove a conditional skip The test runs without any unexpected results when mac_portacl is loaded. Approved by: re (cperciva) PR: 238781 MFC after: 1 week (cherry picked from commit 9f6041fb579106aa6fa358071a14eddabd581998) (cherry picked from commit ae6c11642b54f304490434ec5fe1eb2b470ff620) --- tests/sys/netinet/socket_afinet.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/sys/netinet/socket_afinet.c b/tests/sys/netinet/socket_afinet.c index 56d98c7b3241..f462bed5c4ae 100644 --- a/tests/sys/netinet/socket_afinet.c +++ b/tests/sys/netinet/socket_afinet.c @@ -57,9 +57,6 @@ ATF_TC_BODY(socket_afinet_bind_zero, tc) int sd, rc; struct sockaddr_in sin; - if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) - atf_tc_skip("doesn't work when mac_portacl(4) loaded (https://bugs.freebsd.org/238781)"); - sd = socket(PF_INET, SOCK_DGRAM, 0); ATF_CHECK(sd >= 0); From nobody Thu May 7 22:17:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSq0Jdgz6c5FC for ; Thu, 07 May 2026 22:17: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 4gBRSp58hgz3cvt for ; Thu, 07 May 2026 22:17:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7RHjCEE0BpLzufmYA29QI1MkbXALdFSdeabZKGL8GAA=; b=xXlT/q/pq8gg/nprDlOS4yqWnRYxn+1SJYnYtvV174063vjp1Hi0bE0u8pMQ23ITvrXx8x U8ZzhPOt0O87brcPHkDgLG8kpzS+trMAD6O3QoAfU5s7NFrkXE3jTXNaKtzjJjZV1nsgLw nY8PbQMLLZo/YciBYC3Q7AHblVjyqgnLJZLmvDNLhcw+yhBtrbgtQQzmdnxkk2eAP33fx5 a/vsJclop38QQGd+2uzxiyHDBu2FSarPBW4zIwIuz7Ttyq/t/7LjxnkFcF032ihWylfAh8 VC0woR07l13N7uI1G+p1un4/XCld272gFBwEk3odYlb3XtqcGRxiWGGbaBTJlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192250; a=rsa-sha256; cv=none; b=x79JOSV95JqF1Kjmtu7ic4JxQ3UdbQMs4otxx+roHCmDzkXETANlNC4m+rRD6X8s1Tf08z AT9vp328bbfR+AkhbGu2nivZn4zsCx0g7E/HOfmg+nTLooc0PZtd0G9BL2Gynop2Fdm928 +WOiAt5+iRJjVvQ+JG97nDLn+Dcm0vjyO1kZPbOfn+idmxKSVLXRRP2Ol6NVHzz7WNbaZK lWeiuectZfPbxzXpuFABb+XcewidBYqJMjmomtdn9FIWbJcosajT62ArWcmjz9BQETK5lH QlRI/nvkFPhggY7ekZKSBvFOU9gA6PxdjaDaxeQQkwsTSr+lUs1dOpTzJI1BDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7RHjCEE0BpLzufmYA29QI1MkbXALdFSdeabZKGL8GAA=; b=X0j/c/7JHn1FP6TXcRQ2BQrwY74gfMlJdc8RihIA7qM+qlu6ZqJiCYsqRPj5MAPE15UdGz PwHLt8U2cxtS/ctdspeKGHIE0mhfY1CRvvpKFXO8BVAphYG9Sk1HRASJOhXvyrEiK2H6j8 GtUYNGlQPOvHk3NERJfkLe6nvzNDrywDbzWyY1ZxFCpMwMoaYzatjX9uQzOtoRCtHAM7B7 QzL+hGMaHenmxz3UcTkuZFtcSKrLvbBnLMzFoGr54c1HRlLCZIvr33thzIpOaUCJbZrVpo yIqvHmGssV1kqdxkCxFwqpWC8IpwHZ0Xv5Fdspp3M7zRIAc1sAzC1U3bmTxJXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSp3dDQzm8q for ; Thu, 07 May 2026 22:17:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32db0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: b3027c2e233f - releng/15.1 - ocs_fc.4: Cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: b3027c2e233f0dc36167bd363cd3bd42b308f49e Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:30 +0000 Message-Id: <69fd0f7a.32db0.51732c86@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b3027c2e233f0dc36167bd363cd3bd42b308f49e commit b3027c2e233f0dc36167bd363cd3bd42b308f49e Author: Alexander Ziaee AuthorDate: 2026-05-03 18:27:05 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:22 +0000 ocs_fc.4: Cleanup + more consistent document description + enumerate available options in synopsis in vt.4 style + tag spdx + tweak list rendering + cleanup HARDWARE + reflow excessively long lines silencing linter warnings + fix link macros Approved by: re (cperciva) MFC after: 3 days Reported by: michaelo (hardware notes) Differential Revision: https://reviews.freebsd.org/D56753 (cherry picked from commit dd97c3d83f9a92bbeb9740ceff4c1c74c451293e) (cherry picked from commit 4da464b1ec4669e658a9839c8ed33f11342b0296) --- share/man/man4/ocs_fc.4 | 93 +++++++++++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/share/man/man4/ocs_fc.4 b/share/man/man4/ocs_fc.4 index 714bb2655c15..b132a6eb24ed 100644 --- a/share/man/man4/ocs_fc.4 +++ b/share/man/man4/ocs_fc.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2017 Broadcom. All rights reserved. .\" The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries. .\" @@ -27,24 +30,37 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 29, 2021 +.Dd May 1, 2026 .Dt OCS_FC 4 .Os .Sh NAME .Nm ocs_fc -.Nd "Device driver for Emulex Fibre Channel Host Adapters" +.Nd Emulex Fibre Channel Host Adapter driver .Sh SYNOPSIS -To compile this driver into the kernel, add this line to the -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device ocs_fc" -.Ed +.Cd device ocs_fc .Pp -To load the driver as a module at boot, add this line to +In +.Xr device.hints 5 : +.Cd hint.ocs_fc.N.initiator +.Cd hint.ocs_fc.N.target +.Cd hint.ocs_fc.N.topology +.Cd hint.ocs_fc.N.speed +.Pp +In .Xr loader.conf 5 : -.Bd -literal -offset indent -ocs_fc_load="YES" -.Ed +.Cd ocs_fc_load="YES" +.Pp +In +.Xr loader.conf 5 +or +.Xr sysctl.conf 5 : +.Cd dev.ocs_fc.N.port_state +.Cd dev.ocs_fc.N.wwpn +.Cd dev.ocs_fc.N.wwnn +.Cd dev.ocs_fc.N.configured_speed +.Cd dev.ocs_fc.N.configured_topology +.Cd dev.ocs_fc.N.current_speed +.Cd dev.ocs_fc.N.current_topology .Sh DESCRIPTION The .Nm @@ -58,7 +74,8 @@ and Fabric connections. FC-Tape is highly recommended for connections to tape drives that support it. FC-Tape includes four elements from the T-10 FCP-4 specification: -.Bl -bullet -offset indent +.Pp +.Bl -bullet -offset indent -compact .It Precise Delivery of Commands .It @@ -71,29 +88,31 @@ Task Retry Identification .Pp Together these features allow for link level error recovery with tape devices. -Without link level error recovery, an initiator cannot, for instance, tell whether a tape write -command that has timed out resulted in all, part, or none of the data going to -the tape drive. +Without link level error recovery, an initiator cannot, for instance, +tell whether a tape write command that has timed out resulted in all, +part, or none of the data going to the tape drive. FC-Tape is automatically enabled when both the controller and target support it. .Sh HARDWARE The .Nm -driver supports these Fibre Channel adapters: -.Bl -tag -width xxxxxx -offset indent -.It Emulex 16/8G FC GEN 5 HBAS -.Bd -literal -offset indent -LPe15004 FC Host Bus Adapters -LPe160XX FC Host Bus Adapters -.Ed -.It Emulex 32/16G FC GEN 6 HBAS -.Bd -literal -offset indent -LPe3100X FC Host Bus Adapters -LPe3200X FC Host Bus Adapters -.Ed -.It Emulex 64/32G FC GEN 7 HBAS -.Bd -literal -offset indent -LPe3500X FC Host Bus Adapters -.Ed +driver supports the following PCIe Fibre Channel adapters: +.Pp +.Bl -bullet -compact +.It +LPe3500X FC Host Bus Adapter +.Pq Emulex 64/32G FC Gen 7 HBA +.It +LPe3200X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe3100X FC Host Bus Adapter +.Pq Emulex 32/16G FC Gen 6 HBA +.It +LPe160XX FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA +.It +LPe15004 FC Host Bus Adapter +.Pq Emulex 16/8G FC Gen 5 HBA .El .Sh UPDATING FIRMWARE Adapter firmware updates are persistent. @@ -131,11 +150,9 @@ Check kernel messages regarding status of the operation Reboot the machine .El .Sh BOOT OPTIONS -Options are controlled by setting values in -.Pa /boot/device.hints . -.Pp -They are: -.Bl -tag -width indent +The following boot options are controlled by setting values in +.Pa /boot/device.hints : +.Bl -tag -width hint.ocs_fc.N.initiator .It Va hint.ocs_fc.N.initiator Enable initiator functionality. Default 1 (enabled), 0 to disable. @@ -181,9 +198,9 @@ Current Port Topology (read-only). .Sh SUPPORT For general information and support, go to the Broadcom website at: -.Pa http://www.broadcom.com/ +.Lk http://www.broadcom.com/ or E-Mail at -.Pa ocs-driver-team.pdl@broadcom.com . +.Mt ocs-driver-team.pdl@broadcom.com . .Sh SEE ALSO .Xr ifconfig 8 .Sh AUTHORS From nobody Thu May 7 22:17:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSr0Cvpz6c4yS for ; Thu, 07 May 2026 22:17: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 4gBRSq4Vrmz3cyN for ; Thu, 07 May 2026 22:17:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oUpU97YPYQu6ckOLJjSOwWjloA9F4yt2SGn2EjJ4jNo=; b=ue1+VUQz9cPm6TM1/pM1xehApzvrUfFcF9UQeHujkOg3jOAKfrJHx4NV+m+G3j/fRTyp5H qTDH5CZE+8E73Rp3HpOMll2n+dN6QShL+f29QVNTt1JULRjVbMLg0K3TEPJ3EjMAR8Ffor cxOK3q7/wxgJoReNZszPbso0O1lazsU31QW5LZ/ILz5vNoWAhzRbNvUKvMtfo30/UUt4JK y6pwRBFhb03qFQROoOHGVqS7t0rN9XbFsfTtn34NV2k49wHzqEZzn5Z20+fFQlRIa+h2vG ylnJ8E2iAxqaaG9ExPfUP6SKBx3fxOVkhz5JmgOOlOSh3FdhUEKWdH4hSGlMgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192251; a=rsa-sha256; cv=none; b=cG/N1aD503ksq1uMT4uVWJ8tJ8pXlhTCYDHO2EUMHezfr/RBE2QLR196Zmh/l76J9UCad2 iSZO4AaidebTtU3n4t+XIwSBdIA/Rc+pCfjv5h/Uw+J7v8z2NSscDvQM3IlahaPvvh6q25 p1qVr0qDrXLcu+hDzHgxyDBnpBd2MWkdA/vkfOiw53LUmD+2JpSuPZaaRJpV1FIdd+wDo5 TV2PcGVRULN4Kutcu7Vw+ndYLWAfm7Rxp4CJ42ET+ztBN6h4xXI2arEt12XhFrkNa4wi/6 jlM1szWwJr2r8UfJZJrQ5S4KZRgvlslsOh1DfvvTL2Ag3w6IParmqVQIo2J8Qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oUpU97YPYQu6ckOLJjSOwWjloA9F4yt2SGn2EjJ4jNo=; b=Itfgi4tW+IP3qkDZAlHAA3EHU0ip2byiuWSq6YSYRPHizwItT2rgcWpLAnpp351bA3xikI HitG+Gq8LqCFPkXaKisOu61cMYmlxoI00SRgGQWQ2yYJOoGPJNU4Y/xoFR8LnZ2fGVv9qT DKi9OC52bySymsRYhSXYDNUKZDxp4W77V/9Pd6oFx0RiXaIYnDit52SESdS47iQ5SA7Zk6 aWwYBtn1/qWRRHNDeEj+Ugxtg+5RIXpoZ/fImF29NklNzBStAx2uKTUb8adnPiF1bbTMg8 yQU9rUOnoJEGo3AHFl9H5X+isHVOS+iIB8aG/tqyrZu0DfHe4CICjhudzyY1Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSq3sDRzlxq for ; Thu, 07 May 2026 22:17:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3442f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: 519c687b64d5 - releng/15.1 - nvram.8: Align option list and tag SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 519c687b64d5f6046241372eb9a5c4360fabd4d6 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:31 +0000 Message-Id: <69fd0f7b.3442f.4f7a5b6@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=519c687b64d5f6046241372eb9a5c4360fabd4d6 commit 519c687b64d5f6046241372eb9a5c4360fabd4d6 Author: Alexander Ziaee AuthorDate: 2026-05-03 17:39:27 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:26 +0000 nvram.8: Align option list and tag SPDX Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 33fbfceeb4d9daf1145089a10ce7b25110d8840f) (cherry picked from commit 8318c2f613bea98573aa4cd9ef7a4249d5010dd3) --- usr.sbin/nvram/nvram.8 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/nvram/nvram.8 b/usr.sbin/nvram/nvram.8 index f0b63cdbc731..c326551b72c9 100644 --- a/usr.sbin/nvram/nvram.8 +++ b/usr.sbin/nvram/nvram.8 @@ -1,4 +1,6 @@ -.\"- +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2006 Maxim Sobolev .\" All rights reserved. .\" @@ -51,7 +53,7 @@ following by sign. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "-d name" .It Fl d Ar name Delete the variable selected by .Ar name From nobody Thu May 7 22:17:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSs2Kb5z6c4yW for ; Thu, 07 May 2026 22:17: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 4gBRSs01Twz3d1B for ; Thu, 07 May 2026 22:17:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hVIeQQRdoKgfn0zvBClS5dOddYax0yr//hnYnaYyZJU=; b=nQu4W939dYNmw3SwWUtSO5Wi1oMcqQHSjhPAQfw30cs2YBynnIfB0nSxc6PfsF6135+74X rWonJUUbnS1DARMODQlcDhJD4zBsOcgAV9yr5IIInejGYAhDGhZ8y1doXFeN8DENe5NiJL 9ZTTu4ILpna8Shofw8sKL/pF/0g8iSARzyh/5kLULw9CkBH6joyMiC+RpjIiySEqTipCTs CCdKI9EB3CFnwE4Kq3Vl12OKYlaUiOGWd7PVO+44lfwBLxbxG/44nEOGT+ufkBaNBS1t9a eJiDlH0SNAA100zkdPo/et0FGeTsE1oqiJtPot2d18OL27SYN330XcBOK+O2Xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192253; a=rsa-sha256; cv=none; b=dKGTFbH6aMeI8JVY23d2bHj8U2k1LA0I7af9wcXHHMFz5df48vQQW+R7MkpgzotMsUcdr7 AXl0rn9kg9ZV36h2Zyr3tizGYwzDAZQc7iu0O0zNe9TtlbK6GLriucUzYAhRsc9xlpvzcB m0u1Hn4f/LtZCyYOmpMikul1so4MI/A0NTNVYB6vmQXGihsqO7VOa1ZiwTbAskmqH45Q6C N2oEHaXn3oDIbw3b18csj+72TTCvoi4Y9oTYb0ZUfZmOjXWMasamHRpPL/I+q32OwMnVFc egWhnwA9MT50zZXA1+BfQvMbE/g5q86t0ULc9k1fsRnD3M7M2isyI2WwcZwdzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hVIeQQRdoKgfn0zvBClS5dOddYax0yr//hnYnaYyZJU=; b=cXNltsGlxSNdEyvcltRsK+05B8NObcbd4R2s0gacwnGE6lTPtOLY2vdbqFhHLI8Wn99bDu 9uc7++gcndCdDA9tDgPTwJy8jEuKTiiMFOCoRzp9VaCuxUBlvx+NWpmc8QDnukW0uGnIc7 z1DUZUpmNKfrNm2hDFZ4UOZjx4oz+/iK0DZZq1t/xJbXQEnSnOVoSF3HlxBUNw0cZ6oXuP tUoyNjiaEIp9tyleygjZyY6lbZfmcXmmCI2ryBJ04Be7e7YF2eb7T48+5LnBCkFhJASkRO fpSi+nD4FuevPkuMaEOpvhq9wBpPNfnk0k/2pDgzod5AzuSdOIwBXIa/Ry/6jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSr4N15zlxr for ; Thu, 07 May 2026 22:17:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32db5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: 1b5b7867b67f - releng/15.1 - ports.7/FILES: Expand and refactor into 3 tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 1b5b7867b67fdbe412cc4136834f21dbeef26bea Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:32 +0000 Message-Id: <69fd0f7c.32db5.10ee48b2@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1b5b7867b67fdbe412cc4136834f21dbeef26bea commit 1b5b7867b67fdbe412cc4136834f21dbeef26bea Author: Alexander Ziaee AuthorDate: 2026-05-03 17:25:41 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:28 +0000 ports.7/FILES: Expand and refactor into 3 tables Add make.conf, CHANGES, CONTRIBUTING.Md, UPDATING, and Tools/scripts. Refactor the FILES section of the ports reference manual into a bigger table with three sections separated by root directory. Remove preceeding article from all but "the big Kahuna", and root dirs where reasonable. Approved by: re (cperciva) MFC after: 3 days Relnotes: yes Reported by: adamw, arrowd, linimon Differential Revision: https://reviews.freebsd.org/D55441 (cherry picked from commit 28deec9b7e2b08b00160eb39de84ade6f27eb125) (cherry picked from commit aa519edfe50a65db516e62752914cb6922b3227f) --- share/man/man7/ports.7 | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 6e28f85da964..f187a1d8c1ce 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 21, 2026 +.Dd February 24, 2026 .Dt PORTS 7 .Os .Sh NAME @@ -596,30 +596,41 @@ Which directory to use for the data. .El .Sh FILES -.Bl -tag -width "/usr/ports/Mk/bsd.port.mk" -compact -.It Pa /usr/ports/ -The default ports directory. -.It Pa /usr/ports/Mk/bsd.port.mk -The big Kahuna. -.It Pa /var/db/ports/ -The directory where the results of configuring -.Va OPTIONS -are stored. +.Bl -tag -width "ports/CONTRIBUTING.md" -compact +.It Pa ports/CHANGES +BREAKING NEWS to read before creating ports! +.It Pa ports/CONTRIBUTING.md +Instructions for contributing to the ports tree. +.It Pa ports/Mk/bsd.port.mk +The inner workings of the ports framework. +.It Pa ports/Tools/scripts/ +Grab bag of tools for maintaining ports. +.It Pa ports/UPDATING +BREAKING NEWS to read before upgrading ports! +.It Pa ports/distfiles/ +Directory where fetched files are stored. +.Pp .It Pa ${PORT}/Makefile -The specification for building the port. -.It Pa ${PORT}/distfiles -The directory where fetched files are stored. +Specification for building the port. .It Pa ${PORT}/distinfo -The checksums generated with +Checksums generated with .Ql make makesum . .It Pa ${PORT}/files/ -The directory for any patches. +Directory for patches or any additional files. .It Pa ${PORT}/pkg-descr -The long description of the port. +Long description of the port. .It Pa ${PORT}/pkg-plist -The list of all files installed by the port. -.It Pa ${PORT}/work +List of all files installed by the port. +.It Pa ${PORT}/work/ The port's building and staging directory. +.Pp +.It Pa /etc/make.conf +Settings for the port-building framework. +.It Pa /usr/ports/ +Canonical ports tree location. +.It Pa /var/db/ports/ +Directory for storing configured +.Va OPTIONS . .El .Sh EXAMPLES .Bl -tag -width 0n From nobody Thu May 7 22:17:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSt3ST8z6c5FQ for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBRSt0nXRz3d3t for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Z3MsxnWUr7dxc2e2ncJXtSEUH8ghUkM/kAoRTj38gE=; b=VnO3N3xlI+Sl5XU+22wkmoHYXT6JVmlMFpw+6aivyJcArPizmAzudSuNMy4WbkxogLjpck +V12QbSUhIiZi7h9Bms2kHcb8TZPB+whXkMGOa1bV0nLqHRA3zUBoIQLL3eeKtpC53JNCv fgtxYSvXhWXkPbW6SA+Ib0e1G2pNxNn4mxmJZrzdkRTDQGWH+0cBueKkB+j//kqMQXki9l 3Q+XMd36biCUrXb59DDJhSLaF4+CBMt8KIohnpzgS+0JMKVAwAdXa2CIqIvpPuQpsEqbXu TYb/Y9Nh9jrlfet/Smj9l6KN7g75KLNkCH2Npmmt/bJK4GnBGxzeybHrNedITA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192254; a=rsa-sha256; cv=none; b=aMPr8o3tJJwevBjpFrRZWN1Qv7EDGVq6yFp/FaT+Tw3AD37CPWrNt+6/qrxYifj6p3p0NF /jfZhkRfu5QQJh9FbNWNp3G2iLWF7BqWpBWiDb3CK/Co/15oiBdqCj3YkB9mFV5Nbt9iuX LbIYcidQLWW3TtBUQMWujh5bQ7qPkcCvQqB5nNuk42wVRl1kGhJsxM3WwpNxGh2L1mSV+p TM0Xp/NHsG+xfEcGDbXDEPl5RWGP4+G9clKZ2BxsYfHoSEVTaLtXSZMWm14pZBHwgvONnF kUD/B+Yg/yA3NDeTZXjN/z1AV4qYb/vZ8ZX+7GARrUWwYbeDbVulHa85FUMg4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Z3MsxnWUr7dxc2e2ncJXtSEUH8ghUkM/kAoRTj38gE=; b=xUcGByc4SIlLzkdIk7Z8nx64cZD0/O/dP0KDOwOAdfeKjf3VTeub/LBtjPkGRp5DyRWijZ NqJ0TaE3/EdS7FtU3LG6hiyqL5MHfh+1JPgLfVCW34CKuUxd0BEZ5T/ROKEOdZwRmYfIdA w9rdxm6Te9wFj+mJg1yRlfH2YXmCmSNvU6TmlxqEVGbFkZawe0Y84CaB64Zx30H+J/k/Kr niwUdq1SMP8aaJypH7Ke3q9qgefiM5E71pBUyDfYasOP2luhUNAnf93RyFTNdjT0iWNnNY AyANlyrkuFqWXJIZTLhcoTr8hkHFjitNxCWJPkHqEJsZY2fPQJ3NaqId8kZdfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSs59CWzlsM for ; Thu, 07 May 2026 22:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 339de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: bf5ca5ced57d - releng/15.1 - bsdinstall: Improve auto-partition message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: bf5ca5ced57d615093056e7f8013497b0fe4068f Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:33 +0000 Message-Id: <69fd0f7d.339de.4ad9f0f8@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=bf5ca5ced57d615093056e7f8013497b0fe4068f commit bf5ca5ced57d615093056e7f8013497b0fe4068f Author: Alexander Ziaee AuthorDate: 2026-04-28 16:59:19 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:32 +0000 bsdinstall: Improve auto-partition message Manually tuning ZFS for systems with <8GB ram hasn't been necessary at least since the switch to OpenZFS. We have users reporting using 1GB RAM with no manual tuning/issues. Further, the page this links to is a stale wiki page, which is causing complaints. Remove this misleading note and replace it with a similar message for UFS. While here, reword that note to be a bit clearer. Approved by: re (cperciva) PR: 287719 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D50971 (cherry picked from commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244) (cherry picked from commit 5702d242429f1f791e05a720a9a411b1e64212dc) --- usr.sbin/bsdinstall/scripts/auto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index 2204b33ae105..5017fe15d826 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -50,10 +50,10 @@ msg_abort="Abort" msg_an_installation_step_has_been_aborted="An installation step has been aborted. Would you like\nto restart the installation or exit the installer?" msg_auto_ufs="Auto (UFS)" msg_auto_ufs_desc="Guided UFS Disk Setup" -msg_auto_ufs_help="Menu options help choose which disk to setup using UFS and standard partitions" +msg_auto_ufs_help="Choose which disk to setup using UFS and standard partition layout" msg_auto_zfs="Auto (ZFS)" msg_auto_zfs_desc="Guided Root-on-ZFS" -msg_auto_zfs_help="To use ZFS with less than 8GB RAM, see https://wiki.freebsd.org/ZFSTuningGuide" +msg_auto_zfs_help="Choose which disk to setup using ZFS and standard partition layout" msg_exit="Exit" msg_freebsd_installer="$OSNAME Installer" msg_gpt_active_fix="Your hardware is known to have issues booting in CSM/Legacy/BIOS mode from GPT partitions that are not set active. Would you like the installer to apply this workaround for you?" From nobody Thu May 7 22:17:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSv1wY3z6c4yb for ; Thu, 07 May 2026 22:17: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 4gBRSt5yJ2z3cbQ for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRCX86gmBU6nYdOpFLznFlsn2RoO2yMhDcTIdotIKeo=; b=F0ZvvfHXa+TOi81pq1+8cqnevrSQLXwNazAu3jHyqe7Mnm8s/np/N3yyuP4MkIjCPjiJfl WDw7o+3MPW5OpQX3E5eprCNiYUZlCvVzy38282ilPw2EPw+PcdhTSW/fNwR46eoCyygRNw t9vQ5P/5SBYFcvEzRakD4BwGevkKz5soYyA3y2T+GBJbMM+u6DnH+ALXd7Yw466pMeYLNN Uj/Bk1UsBX5+8naF/8nzSMIQ1ehYnSy1zUOdQZQV8odxl5mcihuxmdmNjlWEEs7zy5Zf7I /uXoIBGOSo6ZYMxrlFte9GPr0QNz+AzD46sGiV89UcBGWK7dvdqRt7FHHAKXSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192254; a=rsa-sha256; cv=none; b=YuuO/+a/QDEshaie6LA6K0fcwxPaFIFJkuijDfbOGlkV4DnkE2Pq6mNIcIFTXzdn24pAa8 cSqsYmPAJ4FoDKTx8Zbwt4rNiQeffcEwWbU3mpQtIEK1keXf+1xieZNMSjCedHoz/pTP7J JCbhvp+VmoFa9/a4tKUAsFqknEOpKEpmuQ/gg59eNV445u2zw2sGENZAwmuPhm6HwIRSm9 AVKi63PVvdZXafgvv4hwW4y20VCLza+rCTFj4Ic/5EIK8TMLv5lukmnWJPI7T+dlreS2nP EXFQ4JuCzavBfvrkAJK8RxERR+hCd1Bcz/lBxi45/FBaXcJL3+FEJXmqBbCZBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRCX86gmBU6nYdOpFLznFlsn2RoO2yMhDcTIdotIKeo=; b=hA1F8ps/Z6FVfe7bhOgQrVdVkvxDRQxGTo/GaHDHSvTvc89n8z7qMjk6iHi4ctfcJz4oFz S2JZlj2XizhISa0HRiX2QJPaMEMrUGpeNEiVCnBvYpnaxrrXkDpojWJSAcQOKAds7DD954 jqii4ArU2nI/1XVF/VJlwwlbaDn7V6FkY/EzCT2WzKPcekyx7Zyd4s/O2L+rMj0C2uhBsM FjOrCHkkSKwaHJSrK4c6ZZeoYrBRMDmTWaKqIVOrf3ykWyX42rgunfnBihOJhMF3X5xWM/ HIyT7SGJbO2cyTrp3KYC9sMxWSk1g38/YCEL4/46zyYCrWyOPrKEEDQZlCA24Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSt4cfhzlZS for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32dab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: a9b681e4a5c7 - releng/15.1 - man: Kill off MANSUBDIRs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: a9b681e4a5c7c9ff1ef7f67886b27a2dab541c17 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:29 +0000 Message-Id: <69fd0f79.32dab.10bbb2fb@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a9b681e4a5c7c9ff1ef7f67886b27a2dab541c17 commit a9b681e4a5c7c9ff1ef7f67886b27a2dab541c17 Author: Alexander Ziaee AuthorDate: 2026-05-03 17:53:25 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:16 +0000 man: Kill off MANSUBDIRs Three architecture dependent manuals are installed to MANSUBDIRs, creating at least two empty manual page directories on everyone's boxxen. Move those manuals to their canonical area, enhancing clarity, grepability, removing useless inodes, and increasing consistency with the rest of the architecture dependent manuals which are unconditionally installed, and noted at the top of the rendered manual. Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 809504f331fd3588e36b54255196379bdb59890a) (cherry picked from commit 55709c8a46a470af78c0c818b36ac90615728c44) --- ObsoleteFiles.inc | 9 +++++++++ usr.sbin/apm/Makefile | 1 - usr.sbin/apmd/Makefile | 1 - usr.sbin/nvram/Makefile | 1 - 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index d8090aa28cc7..ebf2f4e6ceba 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20260503: Kill off MANSUBDIRs +OLD_FILES+=usr/share/man/man8/amd64/apm.8.gz +OLD_FILES+=usr/share/man/man8/amd64/apmconf.8.gz +OLD_FILES+=usr/share/man/man8/i386/apmd.8.gz +OLD_FILES+=usr/share/man/man8/powerpc/nvram.8.gz +OLD_DIRS+=usr/share/man/man8/amd64 +OLD_DIRS+=usr/share/man/man8/i386 +OLD_DIRS+=usr/share/man/man8/powerpc + # 20260430: Regenerate trust store OLD_FILES+=usr/share/certs/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem OLD_FILES+=usr/share/certs/trusted/AffirmTrust_Premium.pem diff --git a/usr.sbin/apm/Makefile b/usr.sbin/apm/Makefile index f9b3e11d22fa..81f47b8ff7b6 100644 --- a/usr.sbin/apm/Makefile +++ b/usr.sbin/apm/Makefile @@ -1,6 +1,5 @@ PROG= apm MAN= apm.8 -MANSUBDIR= /${MACHINE_CPUARCH} PACKAGE=apm diff --git a/usr.sbin/apmd/Makefile b/usr.sbin/apmd/Makefile index bfe59cc7cd7d..9e693c630308 100644 --- a/usr.sbin/apmd/Makefile +++ b/usr.sbin/apmd/Makefile @@ -1,7 +1,6 @@ CONFS= apmd.conf PROG= apmd MAN= apmd.8 -MANSUBDIR= /i386 SRCS= apmd.c apmdlex.l apmdparse.y y.tab.h PACKAGE=apm diff --git a/usr.sbin/nvram/Makefile b/usr.sbin/nvram/Makefile index 7d27790ed132..4988763c73b4 100644 --- a/usr.sbin/nvram/Makefile +++ b/usr.sbin/nvram/Makefile @@ -1,5 +1,4 @@ PROG= nvram MAN= nvram.8 -MANSUBDIR= /powerpc .include From nobody Thu May 7 22:17:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSv1wjYz6c5CP for ; Thu, 07 May 2026 22:17: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 4gBRSt63k8z3d44 for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74cknobqVmAohWUnZz5WP6U6IF73UA14CXljHb7ze+8=; b=eBiLpe9B8cHkmpxVYrMCQfy20X7upE4L4jG6km4ldR4mVerL8Kq+E1gPe4fkma3eiLXkmY mFxfqjuLfzS7lXQ2ua5QA0E4dVuDD52xrWM5UD8dZ6emvmM3jRaHx37+3z3t4tCcK77ycj Sufq0hGhUfUhOTzmDDWFDvjhPmIN28h4MymRMzJLB5SzI1ESrHBJ7mQyuvXZmtZQTXjBPU xTCKRArqOf6sILrdxh30P1OHhwHKpM/LUDMju0iEhzUWJs+usk22dZo8s3KZPq07FzHWwj tBgjtoIWdLD7wl+Z19RLWlKng6bDqf4/d9L25+288Q8KEx2SBxQEwlxbVsG4NA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192254; a=rsa-sha256; cv=none; b=wSuSTtGmf7W+gpyRqiZoZi45zshvG9FIia3kS652Wf8QCOvsOWLteCJL4TlqHMnrXFfUEl WTKIi4cFK+iBF6nSYCFGJCP0zxAuT6fqhmuQ1uaTNNhmWARXjpEGsw/NPF4FlVJ/ErVjAp o5C6rTRMdPB/OOqk2YDE8n31EiVRGDY0JaLrY94sVnx0JM22Rz78QA6KI4UGKp7SGkH2ln HwQjECKZvLUNLizZ22QOf6mjPpew1OLPahHcx47kG36cxUiKj9TSZfKRmAC4T2VmlPW9WQ d01L71RThtpYgK3BdX5ErmaUAM6siSE12K22LIVRKq/66c1m0wqJTgTNAXAHuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74cknobqVmAohWUnZz5WP6U6IF73UA14CXljHb7ze+8=; b=cKnZVGGpslu1uPTD7I3aXzWcLzM7wXjrmCVu/NPl0SYNtPjTMTm9/x5qvfO4HxHUMwGuTf PBG6RUl3Ipokj5an/xhOevxctogu3rUqMicA4nNpcIMI6rX31kz85NPxBqxOTh0dxTlNBK Hn4wIkMNA19Ehmd1XhkSZJZL6ToKNXNur/z5cdoGltFzaEHJBCK8e9p8GeiDRbVIHnjMgh VHF3X6VGCYi3tW7NCVML0DKtmgBMX7x5AJ06AfPX1w4lGFEMsZAhjiLzL7hwQrqH+DvH3E GWE3ixlIpoiBrHyX8Z/5kT7iMQmJ080wR+t5qxBh2AKMRRyil2dNoQNmLYAYMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSt5XLhzm6d for ; Thu, 07 May 2026 22:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33524 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: df38b410cfed - releng/15.1 - build.7: Explain update-packages repo signing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: df38b410cfedfc12250cb66fb7fd8b852fb21335 Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:34 +0000 Message-Id: <69fd0f7e.33524.e61cca8@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=df38b410cfedfc12250cb66fb7fd8b852fb21335 commit df38b410cfedfc12250cb66fb7fd8b852fb21335 Author: Alexander Ziaee AuthorDate: 2026-04-28 16:55:11 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:35 +0000 build.7: Explain update-packages repo signing Approved by: re (cperciva) MFC after: 3 days Reported by: kevans Reviewed by: kevans, ngie Differential Revision: https://reviews.freebsd.org/D56607 (cherry picked from commit ab98fd3234304ea10db3dee70205828d372c443a) (cherry picked from commit dd926806a723b99c9184ce44ab68b83c03fdc173) --- share/man/man7/build.7 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 6d040b6f8f02..7947f6186b71 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 22, 2026 +.Dd April 28, 2026 .Dt BUILD 7 .Os .Sh NAME @@ -373,10 +373,18 @@ defaults to Create or update the .Xr freebsd-base 7 package repository for the base system. +.Bl -bullet +.It If an old repository is being updated, then packages whose contents have not changed since the previous version will be copied into the new repository to avoid needless updating of the version number. +.It +If +.Va PKG_REPO_SIGNING_KEY +is defined, the repo will be signed according to +.Xr pkg-repo 8 . +.El .It Cm xdev-build Builds for the .Cm xdev @@ -1152,6 +1160,7 @@ Study the examples above. .Xr config 8 , .Xr etcupdate 8 , .Xr nextboot 8 , +.Xr pkg-repo 8 , .Xr shutdown 8 .Sh HISTORY The From nobody Thu May 7 22:17:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSw1vbXz6c5QC for ; Thu, 07 May 2026 22:17:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gBRSv6TpKz3d4J for ; Thu, 07 May 2026 22:17:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JkiI90Lf/H9X+mpc0rv2gvMIi1HKGI8l4N8dLB28Bq4=; b=tBmiUwVZEiXLIZj4du+JpOZcAnOtHv9ISl4CDZsZVbDtGVFJEDWkGIASPKnW+l98w2TEuK SQkZ6EepS5hIYP0bT5BzxrC5Vau8xH46tP3Rw6h7FNpG/dwKiVd8mcy+vNAI7R8OAqj2gI jZApolJcamnTgtoDmqdG+DzRv0+lgL4XuDGrzfgXOzA0hsfmEq8/BAz2zP/K800CksSkzr hC5k4JzlWElMI4YVirvhMQyjwaZtId8db99+3OIb5fbAJWQN8E23P3EjmFx6hRsunIvYL0 heFntXDCFbsBAYzUanRs5rYVBL5qYc/9+NJTO8sZXc4vevqLU4McjME7Xdls6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778192255; a=rsa-sha256; cv=none; b=nYhf3Ih04/jKIYFawZasyIkda/HekF3oxAsG/xdH7L/4vFLTpB7kz+2/j4xZDuI4SGibCF GGU/m4u468F6vN+9RVHHtMZ8y0ZD070FjA6NHIVFHvqFgFEG9ESnytbrzVo8TqGSX16JT1 7f4HA87/znfG6bWbkPtHNGWGAXzDYRdtGSLMSCntJhGRhHuCmRFTc5Pzx/8RwFDUl6k4/4 VdLwSE2wR5XqsBzSWka8tNYgGT3ZEm5K865vJYlI9WFi0hc8LwPD6UODqRNpUwBlU2qOfH 9Md/olBYIATeNjXwETwqDDXvUYEzl6BLQ4Lis+POZcxaRIIPbRwgwaRRVS2YHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778192255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JkiI90Lf/H9X+mpc0rv2gvMIi1HKGI8l4N8dLB28Bq4=; b=Hx75FzV94PHqxphWsuhfK0OKFtYse1d1/0n9ouYal0/h5IlstKxmJ3Fsbf+x/ThHrX/LJb /TaB+2hVvxNWne5Mpy6T1mUa6/Ftxkm1U3+XNgsSYTb13YhZ0GbDTARU8B3eTb3hNLC4R6 TI1JtdW5f4nzyUANTPQEFwCWOkANadtoBJb9CO9x4FUI4pHUQxavSk/3Wz8DeUNmRa+ew3 BcqBpLTDP413/u1jQdfPS3pjK3Zrt5OWX0F/zxBFFgUaQZK4g5ghBSN2a8EkGarGwc53j+ sUIpCCy4/mmw7imxW7EwBVDs3mZ6Pps7Dm+7rbhvJxYSU1aXpc/qjgi17opkUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBRSv5tjbzm6g for ; Thu, 07 May 2026 22:17:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 314fd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 07 May 2026 22:17:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Colin Percival Subject: git: 7781f5e09ffc - releng/15.1 - dtrace: Improve dmesg kernel message prefix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 7781f5e09ffc70e7b0618533b65838882a47c4ba Auto-Submitted: auto-generated Date: Thu, 07 May 2026 22:17:35 +0000 Message-Id: <69fd0f7f.314fd.71fc6d78@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7781f5e09ffc70e7b0618533b65838882a47c4ba commit 7781f5e09ffc70e7b0618533b65838882a47c4ba Author: Alexander Ziaee AuthorDate: 2026-04-17 15:25:01 +0000 Commit: Colin Percival CommitDate: 2026-05-07 22:16:38 +0000 dtrace: Improve dmesg kernel message prefix Provide intuitive log search keywords and increased system consistency. Approved by: re (cperciva) MFC after: 2 weeks Reported by: mav Reviewed by: 0mp, dteske OpenZFS change: d45c8d648 (Improve dmesg kernel message prefix) Differential Revision: https://reviews.freebsd.org/D55765 (cherry picked from commit 49e9b3061df036a73e8bc424c026158f3f57b183) (cherry picked from commit b5f45474517646c3df377a75e50260026742ee92) --- sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c b/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c index 24abeb66ea51..a9c2a0906ef2 100644 --- a/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c +++ b/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c @@ -35,21 +35,21 @@ vcmn_err(int ce, const char *fmt, va_list adx) prefix = NULL; /* silence unwitty compilers */ switch (ce) { case CE_CONT: - prefix = "Solaris(cont): "; + prefix = "dtrace(cont): "; break; case CE_NOTE: - prefix = "Solaris: NOTICE: "; + prefix = "dtrace: NOTICE: "; break; case CE_WARN: - prefix = "Solaris: WARNING: "; + prefix = "dtrace: WARNING: "; break; case CE_PANIC: - prefix = "Solaris(panic): "; + prefix = "dtrace(panic): "; break; case CE_IGNORE: break; default: - panic("Solaris: unknown severity level"); + panic("dtrace: unknown severity level"); } if (ce == CE_PANIC) { vsnprintf(buf, sizeof(buf), fmt, adx); @@ -76,7 +76,7 @@ int assfail(const char *a, const char *f, int l) { - panic("solaris assert: %s, file: %s, line: %d", a, f, l); + panic("dtrace assert: %s, file: %s, line: %d", a, f, l); return (0); } @@ -86,6 +86,6 @@ assfail3(const char *a, uintmax_t lv, const char *op, uintmax_t rv, const char *f, int l) { - panic("solaris assert: %s (0x%jx %s 0x%jx), file: %s, line: %d", + panic("dtrace assert: %s (0x%jx %s 0x%jx), file: %s, line: %d", a, lv, op, rv, f, l); } From nobody Fri May 8 00:00:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBTl921dYz6cDNQ for ; Fri, 08 May 2026 00:00: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 4gBTl91DPXz3r25 for ; Fri, 08 May 2026 00:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778198405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvewZ/CNIobN6s/LBcR2r0hVYjSDes8e6LnYGkTy4eA=; b=FBHyFcjyX2lQn5/FhA4sx+DGCjGrp9fu3V2v/l6GDJerjjN1aeUrKY2XKmnLL/odNPfswH wWhWdgCMUkecho17F87iFx/DV3YMfmdBg6bVFRNrkiwqqxiWF/gUUGu3kZLlTxcFCr8p1s WEv/rINL5GsJklRoi8Z7lnDE5Pic9YkBXX6+4adzjd7a8c7m44QBAeD81ZsfkBfF6SzyaJ 6tHAtKffoPZ+F/y7hOWsEyAOVIgu1tIXe/yPof4J2NuK9Ajsdn0dNdIng2HRuWw6rEbRHr 9E4jkrPi7GttYMONHrmFnwkB+h8S+jwsdoAeqLQfW3uIQQjNgm5aux/7qPSVzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778198405; a=rsa-sha256; cv=none; b=w+WgWZDGRhTlNSH62QdfYSwH8vuPWHPuQQypN1GdYTS84emB6IEzdg+TbsY5is4+tb4sRb 2X1Bw28yY/aqmfZun+A7yJR/jnG6QwN9M6+nbYOT+5NHuTpsWs6GYx2NC5dUt0MLMl0SdJ +El1PZGdDwPI4g/77Xq74Oi4Jic+rN0qTI9jDoy5pMoJay+Pk98APei7huLQqEgW2jRSs0 f02a2P1ZUntkmQgxP6KkKMUdq6SqPYlMQs3AKaE9eEu78REHlvOUxlPbJrFQoyrHmNrx7w 6zRkEtc9k90eQEpLD/jnWT8TIn1gwP13sHjGmB/vYgEackztSQNLbgTMxeVBWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778198405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvewZ/CNIobN6s/LBcR2r0hVYjSDes8e6LnYGkTy4eA=; b=DXMS5mbNN7HlsBs77sxJ7FNx/8EH6dEhDD+TCZBhppG0yU78uZXvtIr+TwIpT3z12IaMqq j1gOe6hs9REhIsULIS1Tl8lK1wG1Xu28yKKSG2rdOCoK0iGduSaRJ0Pfgi71KG3oMskYQ2 dpypuGP7OQZ7/dUTRriPX/Jwjz8gTv2Lx2i/Fly5iP8qwUR4W8YX/XxJ3sW2bMfAV2V43c 6P+59g9jOoqYRv8ANF6r7Sfe6U7N5n4mRjWcy1fkDZR7mo220kP41P4CFTWFDtjVRjhIvm U7D9vPnkSBAl5s94vZ5UOIZknx5XBFqDJ7+lgKtTXk3aMOeGXHWt0cAGfxlaAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBTl90qN7zpnb for ; Fri, 08 May 2026 00:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f400 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 00:00:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: b3f9be4f9437 - releng/15.1 - 15.1: Update to BETA2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: b3f9be4f94379cd3d714139e2635183d7a01aa71 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 00:00:05 +0000 Message-Id: <69fd2785.3f400.38e86c2b@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b3f9be4f94379cd3d714139e2635183d7a01aa71 commit b3f9be4f94379cd3d714139e2635183d7a01aa71 Author: Colin Percival AuthorDate: 2026-05-08 00:00:00 +0000 Commit: Colin Percival CommitDate: 2026-05-08 00:00:00 +0000 15.1: Update to BETA2 Approved by: re (implicit) Sponsored by: OpenSats Initiative --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index aeb438a80e90..cbf4cab89dc5 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -51,7 +51,7 @@ TYPE="FreeBSD" REVISION="15.1" -BRANCH="BETA1" +BRANCH="BETA2" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri May 8 00:30:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBVQ658MSz6cGc7 for ; Fri, 08 May 2026 00:30: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 4gBVQ64Nlhz3vkt for ; Fri, 08 May 2026 00:30:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778200222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=phlJYeXjNOq3HGp0CSCPHP+V8+vfyY48H1SRfuYJMiU=; b=DLTHkFRa3NDWOMXqA1hfK/B64WsFEoAUPlvGEApqeoirazrSPMsvZ0gAn40lQLOju/8pe8 1aTkhYwZ0ux9Y09sYE5dbYugCGTMFh948byW7gYRsu6YFH+ySLqaWkUsWpY4OkCTFdhcLd fsPgRO/EMkg1pKgP/XFPRdqCNPUiNOwrliXmKrdUWwvGkoGAgQw57wRvleQk20XiGlD7Hw 09Z/a9n5EU7KFlrLtyUbQhOb3xVvI5U0GlJOvBpWMZRGNvqfUg29SvCZTAHmiw9wzbjaIc S1EpJySZBEUXsfNFaNXc+Q/cOG6qoKzaN+c3xGeU21EAVja+ByDsrMJtnVWnjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778200222; a=rsa-sha256; cv=none; b=cGyb6IIdbElYIwBvgiaH4ZHW86QDGHW3S5reTXN1KaTA8PXPUmOIqkZBdgjdQEG8G0q8ml 0OMWJHaL4AS1PXrHNjqctGvff3T6ppBqNGRdbca9k5+csZSe5jze0YMViJkH3jhijpLruS WN4Bp8WNXXZtBjfem0B2mRJD4Kcj913qSSdUWhcmO4jj7ixllCODNldBBr6kA+yD+SQ0j8 GHIYwsjo7T4p9mGtvK6YAaUbrDnuMUcZkbb/34fdSO0/tsS8ARljqR/MwVxsT8pVIkR4YR fyCeKIhq+qTe4jrAHnhiEkkoeIfuSoSiWdj9BqbqLHAFnh3rGEUmVOMmyFFG4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778200222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=phlJYeXjNOq3HGp0CSCPHP+V8+vfyY48H1SRfuYJMiU=; b=Yzl36M85fHj/qVW5lV1usEH4Ff63HOx0ZEQ7fp4nSNNClxXVS4usnB8xFBdg8XZnb7L4EG BXgBxORmBayTdWiU90kZpJCQ1KwajHu7n+z9w9cvKF8MObvusIXg4A3gFl8OCMclbTbiWm qoPrUp42mVFSwaoM4P+9EWqNuMQ5kvHthVYOpmZenMGQ141+j2uZjLyuuaHdY4jgOjiZJZ Q+4unbyqMat7GCg+Ztb59FY9cltBG4ABvCZxODvg3JOwM/vv40pqEENPwZUyPn9Lwz8Ips sjWruEH3GzZ+Dsca8uHvx27PyTSFlbcoI8wnDPlvYuSv2KtS6BEtBtRu+td+Dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBVQ63hKxzqGQ for ; Fri, 08 May 2026 00:30:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41440 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 00:30:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c335dafd7736 - stable/15 - uipc_shm.c: make large page allocation interruptible List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: c335dafd77363b67493d37ab260bc82e70c8cfa7 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 00:30:22 +0000 Message-Id: <69fd2e9e.41440.f3b4ee2@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c335dafd77363b67493d37ab260bc82e70c8cfa7 commit c335dafd77363b67493d37ab260bc82e70c8cfa7 Author: Konstantin Belousov AuthorDate: 2026-04-28 02:34:49 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-08 00:29:36 +0000 uipc_shm.c: make large page allocation interruptible (cherry picked from commit 839d3266d8c6f6471cb92a3c0ae32eb16d117427) --- sys/kern/uipc_shm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 0ad5be2e8d71..197409d97f0c 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -829,12 +829,20 @@ shm_dotruncate_largepage(struct shmfd *shmfd, off_t length, void *rl_cookie) * object lock might allowed mapping of them. */ while (object->size < newobjsz) { + error = sig_intr(); + if (error != 0) + return (error); m = vm_page_alloc_contig(object, object->size, aflags, pagesizes[psind] / PAGE_SIZE, 0, ~0, pagesizes[psind], 0, VM_MEMATTR_DEFAULT); if (m == NULL) { VM_OBJECT_WUNLOCK(object); + error = sig_intr(); + if (error != 0) { + VM_OBJECT_WLOCK(object); + return (error); + } if (shmfd->shm_lp_alloc_policy == SHM_LARGEPAGE_ALLOC_NOWAIT || (shmfd->shm_lp_alloc_policy == From nobody Fri May 8 00:31:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBVQw1Hwpz6cGfT for ; Fri, 08 May 2026 00:31: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 4gBVQw0bCSz3w5k for ; Fri, 08 May 2026 00:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778200264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SoZwD+HbNuOVz+R8M4eBvAli75cStJQLV/ZP1cLgiFE=; b=jtJRoT+JemFkktLI+jjSOstbndQEMQMFa3gD/eRHd3KWIn3B7BjUJUoVyYHAYFNz1X38e7 sh4/xSCfGoJuyywZWeSLaKzGe+FLpmKfZcinHyhL7gUnSLAxSvOIi1LquhYnvuaH37yb6F V4SEcbhIc2cCjs6OZXYWgWVwBtDLOMu+rKoE6vVtu7uw8zGkVIuAAYQ1IwT/lO389Ed1Qh yOkByS/qa/d5EJ1rkG6AJcEnoIUVFEbP4D+GI1x+5+3oHDOTdzv53ptxs3hxe/ksUfqybU xu4F75Z9VCjB7fRImYJS9ZXCWR/s4mINP+Sn2XHGXmSXzyqPYjrvJTq9azgPTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778200264; a=rsa-sha256; cv=none; b=XheIvQ/GVi1OIVHI70mXbqwtjVDSk3fwZErrj7QCdzcFrBeOo56EbTcLwVWn+hFG4Mt0xc 2CMfWoSXDJ/ym64eWyz3XRUNSpQYu2v7zPxoXXDbwOgpE/e83vlKjm4+iaqElg5QaTB+bI PsLR61S8NY3JZKFfCISWY+gKUrec+quCRcRzKl6g7skFrIS6UaXh1TQwGAVJ2qOJ0B2PY1 sQlikpwskawFDt4hRg0FD7PoX7AJp7BMunVpi9u3ESufgiSs9aVISH+WUjSLe7uLKN/0wX 5DxSJZEsGAYfoRutvBsyYQIH3732z8TWHiU3/wyqXJdAmyphZQNsWd5yGdIaQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778200264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SoZwD+HbNuOVz+R8M4eBvAli75cStJQLV/ZP1cLgiFE=; b=NHRwnitG9NqYv7OEZ6Q4Ql38LRHSof9t9hBcSYY99GU6eBW+Q3kTgl/j0VLf5+y445sPUN LVtvf6FikMj66FNXzWUv1gNEbhs/WVEdB5nLzf4zRuTw64NQLlgVTdMdufFSjBsxiYgV/4 SV76/sfA8BBq22Pk4QWYYQJEpnOz+RvCtWZp2E9jRuMGpXoL5vdJohEuEL/t74h3UG50q8 EAvYVmzWSIpvbQi9OJgnB09tpV8+0R1iDW+ZeqnrrxZaHmLkgostsTiCveHZyl2WUFCmIr ftXAyX8QVj4a4xWV7G9MB/8Vyq5iwbd1URxpK/+OXshbdJT10pd4TM7FB0DUFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBVQw0Bz9zq4f for ; Fri, 08 May 2026 00:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40fb5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 00:31:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6933fdcb547e - stable/14 - uipc_shm.c: make large page allocation interruptible List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 6933fdcb547e264f756535e442b23cdf621c3360 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 00:31:04 +0000 Message-Id: <69fd2ec8.40fb5.73990a81@gitrepo.freebsd.org> The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6933fdcb547e264f756535e442b23cdf621c3360 commit 6933fdcb547e264f756535e442b23cdf621c3360 Author: Konstantin Belousov AuthorDate: 2026-04-28 02:34:49 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-08 00:30:32 +0000 uipc_shm.c: make large page allocation interruptible (cherry picked from commit 839d3266d8c6f6471cb92a3c0ae32eb16d117427) --- sys/kern/uipc_shm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 1fc398e93ae6..cd79d2039ebf 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -867,12 +867,20 @@ shm_dotruncate_largepage(struct shmfd *shmfd, off_t length, void *rl_cookie) * object lock might allowed mapping of them. */ while (object->size < newobjsz) { + error = sig_intr(); + if (error != 0) + return (error); m = vm_page_alloc_contig(object, object->size, aflags, pagesizes[psind] / PAGE_SIZE, 0, ~0, pagesizes[psind], 0, VM_MEMATTR_DEFAULT); if (m == NULL) { VM_OBJECT_WUNLOCK(object); + error = sig_intr(); + if (error != 0) { + VM_OBJECT_WLOCK(object); + return (error); + } if (shmfd->shm_lp_alloc_policy == SHM_LARGEPAGE_ALLOC_NOWAIT || (shmfd->shm_lp_alloc_policy == From nobody Fri May 8 11:55:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncB5psHz6cBYm for ; Fri, 08 May 2026 11:55: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 4gBncB4rdMz3kxY for ; Fri, 08 May 2026 11:55:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=462yzSlm6jawqmdf+quDt9wHK/VXLMaBuc3gzdT1hho=; b=xv0TnNLgDUQi80RIBn/Vpm/R6zz/2L5zMjPQbAXdm7MsOl7B72ZsqGWLX9wBX6JgzGKrBg 0txG85rfvX+zkDTYs+1s4TdO4Em1Dnk7VBIK3AR3q2ZFppU20nibrJuTfMdtz/M/O2aWyY kLhlXIqPdP7UiKmt8LUj4d2QKiJUY5JTal5dPT1XKtE5ZN647DNxykEEN90YC9ay2Jdys7 kyy18RmV4tle6CP8I2dLfO43N2VqdCjtdC0mt2DEAISUfMlfnEnK2mgUW++DE9yLVoSN/F ea7RxQk064JjAhUL/PDn53yezNwsgQjD9FBJmnPKEgLBZedddVCyvPaLn0k6pA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241306; a=rsa-sha256; cv=none; b=vtygnwkPmQg6ur7fgbr4VeYi6/ozx1upVi+uG7JBDZs4YV0/K4S+Ly1T/lBzCIabxythI8 9Xi0Ki0NPVJnaJUrtzcQ4wx74Yee7EhGkj0S5JK+HjceYJ47QEhQ+3vBjAYFBSULfoQBAD eB6RuqRV+SNA7VfvvzIwnySeHZC9k+adbgtSR/DtQwKAwVLsvnRjrXVE31HYaeiH3u8g1e aEiDBJOIhha2rbsblDkRussTfykXQGrMSFqfIi/1NRhFfQzRyQDQHwSmfeSSVgG81/Ehe0 U+JaK1F1C3DzBIKBU21UGDmkbnJ8hhbLYBLJeBUm4A8n7/LjcbTcfdV1tClNxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=462yzSlm6jawqmdf+quDt9wHK/VXLMaBuc3gzdT1hho=; b=o9PF0MuL1ClYnZcx2Vy9X6G31qxW5XnNFivt+aDyw8PV4qzu8YwPilyizjRsOMa25pGARB oVeNr3hZPY5upbr2UASkNpsvL+YtgkSMPhROHoG/1D4OPKQg8eAhUCGWW7m9vJ8Bc27Eh1 V8z5o4abibcYIbEqdQvjDgRtE0y/E/qf0iHn0wKwB7YoM9Yg0H2vC1i4Wk8XWlgHymu1Dc dy3/akkiLQgFiI1VckWwJB2vmXaIREajjxk7xThWLoA3cCJGwciLclWQ7Om43VgPA+W2y3 5GZI/EMXamFzSR+Y8UarOd0BiT5v+nZAROvS9A2ueJyaeX7nRv38dEfNki8rXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncB3d0Yz191q for ; Fri, 08 May 2026 11:55:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b4ff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 4699fffc6a62 - stable/15 - Remove extraneous tab characters at EOL in various _stdint.h files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4699fffc6a62d706c82094615409d1db136542df Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:06 +0000 Message-Id: <69fdcf1a.3b4ff.6547c270@gitrepo.freebsd.org> The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4699fffc6a62d706c82094615409d1db136542df commit 4699fffc6a62d706c82094615409d1db136542df Author: Dimitry Andric AuthorDate: 2026-05-01 18:08:26 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:27:14 +0000 Remove extraneous tab characters at EOL in various _stdint.h files MFC after: 3 days (cherry picked from commit daeab702f9adbbb718ecf48e17de8dd619cfe7b8) --- sys/powerpc/include/_stdint.h | 4 ++-- sys/riscv/include/_stdint.h | 2 +- sys/x86/include/_stdint.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 385c33389809..6eb988f86ed7 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -173,14 +173,14 @@ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limit of size_t. */ #define SIZE_MAX UINT64_MAX #else /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MIN INT32_MIN #define PTRDIFF_MAX INT32_MAX /* Limit of size_t. */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 9df000b0eac4..48080ecfe2cf 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -137,7 +137,7 @@ * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 1b8523bf656b..2dea911b5c88 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -163,7 +163,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ From nobody Fri May 8 11:55:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncC6pZbz6cBCy for ; Fri, 08 May 2026 11:55: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 4gBncC4yJXz3l6m for ; Fri, 08 May 2026 11:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMLS+EMDqi+pjwuhZpSZp1RsMqxGymx8Njse+IyZiL0=; b=Y6eaZB1Jspol2OkJaTvfnF+AuirrRrSrtegCm/G3Jnj/0bm3rxXpu5MIN61Fb5DyfNjC71 Phzlp/RqhU7YXfPgFouvDDk5YlWbyaIVrzvm9rpe1qK8pPLdaC8RXNNQjEmR/cJYIrjsvC jlOXZ3E0hXfR20kKFEWOI5nBACKE1507fDrPGKgFhOT2hM75ExtqSyzZxJU5/eftuRLgxi 1ZWdXT+oX3eLJEaFYLixfKCoOtRa+95/UKn5UEvlEcFYfVqxa6UIeGRdbyv5vZKjbcQytC cQDkGB8phYBA9puuRRCwYg4mT9xYHOwtO6StVXsLq/RP6zsuv5T0FKmhXwjfzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241307; a=rsa-sha256; cv=none; b=NJqBLvyb1vt6Kbnm3irxZ2mJ/aHkTAqPdI4ZPe3565w2+lw26O4YhGbUjRSrl+9V9pnmj0 JaPcDUcZQOdMg6uYalhGWto7KEx7SU7ChaPV11LY4J3FzFVSqrWO+0yT245voh5mS0X+5B Yb3sd1T8uFlk22DjpHBVpBkJLSw/hCrKuocqWvV+IrBN3WMqqQTzf25HY6lRwPTIR8Lkmd Y3iTRHI0D8CZv6K+IT6MjJlaidX+atjsCQFgu1mLw+ja6uWYYhoKowaUxTvqkMSgAsD60i FP6q94fi4Xo6gLgIESDg0mC28eXOkYQTNm0O258MQy2yOHu6N3cVZIB/FyR86g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PMLS+EMDqi+pjwuhZpSZp1RsMqxGymx8Njse+IyZiL0=; b=iGr5OplyORvirB5OctD/4sB45fzW3jfAWFGwu/R5U41umO0Bn9Z3/jZp9Dk5sInnbn7E3p 9c35TaoaMriArGMWPl7LADmM4mB8UOewhPP4HWlDoUiGtAk9pl8NYs6AYrP+dQYvn8ZPXs bXrjhbShX/taY6jiEsYlHb3ufUWbe192TYSEmhpBvhP4kJ/cERofL5CzIyR/0VXqKw5hnw peRU6ssqV+SvkMjusrRs0+tnekRzLOL+OWhZ5+9MO3OBCYegQy6gR4IqJo6dKJfkKdAfLb J45d02BEL3a7+8gaLQiLmk/kKHmpg0/ItuZpG9EGEhIWjIyA1A8shq2YiJ/sbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncC3wwHz1BKj for ; Fri, 08 May 2026 11:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39bba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: c70f196453a3 - stable/15 - Define stdint.h macros unconditionally List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c70f196453a39c703f6520b53fb25ca749a37f95 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:07 +0000 Message-Id: <69fdcf1b.39bba.14f4a077@gitrepo.freebsd.org> The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c70f196453a39c703f6520b53fb25ca749a37f95 commit c70f196453a39c703f6520b53fb25ca749a37f95 Author: Dimitry Andric AuthorDate: 2026-05-01 18:07:11 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:27:14 +0000 Define stdint.h macros unconditionally Similar to glibc, define all the stdint.h macros such as `SIZE_MAX`, `UINT64_C`, etc unconditionally. I.e. no longer check whether `__STDC_CONSTANT_MACROS` or `__STDC_LIMIT_MACROS` are defined. See also . This is part of reverting base 00bee6fcd77f, which reverted an upstream libc++ commit that eliminated libc++'s stdint.h wrapper header. Submitted by: Nikolas Klauser MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D56746 (cherry picked from commit 966fb94cb3575ccd39da211165d0858fd0eb0ef2) --- sys/arm/include/_stdint.h | 8 -------- sys/arm64/include/_stdint.h | 8 -------- sys/powerpc/include/_stdint.h | 8 -------- sys/riscv/include/_stdint.h | 8 -------- sys/x86/include/_stdint.h | 8 -------- 5 files changed, 40 deletions(-) diff --git a/sys/arm/include/_stdint.h b/sys/arm/include/_stdint.h index 2ebc6ea4f89f..9f9b7eb8a554 100644 --- a/sys/arm/include/_stdint.h +++ b/sys/arm/include/_stdint.h @@ -33,8 +33,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -48,10 +46,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -176,6 +170,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/arm64/include/_stdint.h b/sys/arm64/include/_stdint.h index 0b360b8ab460..621e5ce53721 100644 --- a/sys/arm64/include/_stdint.h +++ b/sys/arm64/include/_stdint.h @@ -35,8 +35,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -50,10 +48,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -178,8 +172,6 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ #endif /* !__arm__ */ diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 6eb988f86ed7..68ae89e23cdc 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - #ifndef __INT64_C #ifdef __LP64__ #define __INT64_C(c) (c ## L) @@ -223,6 +217,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 48080ecfe2cf..9afe01c8a318 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -31,8 +31,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -46,10 +44,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -174,6 +168,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 2dea911b5c88..4c65b0f095ea 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -217,6 +211,4 @@ #define WINT_WIDTH INT32_WIDTH #endif /* __ISO_C_VISIBLE >= 2023 */ -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ From nobody Fri May 8 11:55:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncP1t9Vz6cBGg for ; Fri, 08 May 2026 11:55: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 4gBncN72fcz3lK0 for ; Fri, 08 May 2026 11:55:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jcin+ZAGuR6wuNPQeOxAdt6uA50D2mAHXQGEmVcjRoQ=; b=xj2Evl7mRC7bfPfvwUIKctxJ06HPfspowm2h09d9mGjZVtryuJj5lVVYoCfnNQnPTsazoX b5nxrxhRyjrvoJMGCZvbi05etVJD4XBFCEE333iF6/jPlrknp0KzceC4f4e0a00YPnZTAY 3TZeFp/F+uz9rtxn3AwpdIHmrxS7Fc1D5OI+al+6/HACW3Qyl1X8hk/0Ro0FrgjxMAtdJF pDCWdUa3Kylk98qiXjNgfDjRFhPVEPzeKqzOyygDC16k4tHmBMJeoY4kao1lAs5x+yx0ll 3OFkhmb+pWa+EiAOspOkZjz7Rsb1UWr8B70X4CZLDPGeupnogdrPZ3eYDZ0g0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241317; a=rsa-sha256; cv=none; b=MnaZoB+YieNRok7bOF/lf6AuwCaaBofF5Y/LPbxnMhWYMdV4sl+RaCenVJTxKmd39994gs zs7HUbDL4Qsyhsf69Z0I2KGBlqpEvqfR1qhaRpnZC9KV4I19f2I7HU+g7L7NI5qZktFgW1 F+3ObfDumBxwP3T3JMq+o4zRy+jSpA3CfTOFjeEpmqb/obr5VIhwcoyuLT4P8iQHV0cDGE XVNOtyBcV5m7/mz2Q6alPHJz9gLjjH6rV16fxZPcg2ZivUjHhRhH8fmKvMoeZoDrjo+Pkf /xeN3n0RWV+ux6zoKyc5i9XKKiWv3uSQx9f1+CtuTVSFx0CPm+hP/DlczwbTuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jcin+ZAGuR6wuNPQeOxAdt6uA50D2mAHXQGEmVcjRoQ=; b=IQIE+nlzg/J029WvmfvqPrMaIuMSp/ssrhfQ5ei2U8oqJCzm88RCJAIQ6j6h5xzz81YclH Oy6bfuntkV9Zit8BhZV/ZF/j+CZcwbuPSQhSCRcsgEWUJbZcBv0AW6Js0HQqyksRWaqU93 SIBTU3iZbqNWiVTasBVEh3qHyLwut3NVlEYk+W2lnVH03VtBqhU5/7Gu+VOkmwAE5fy2PN Z5HMCjaxcZFrSm7DNKpmtQu3tHOzLoovqQHrix9N4XQBgiz+eelyAZ/tpF+k0B0rSOMHDD U39q4SLnfxpt1znMR2/rUxsTlBBJj9SRv8B5slqSME9HQURv8rRwNTcIQBH6Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncN66JFz19yv for ; Fri, 08 May 2026 11:55:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3aefe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a4d15ef8aa7a - stable/14 - Remove extraneous tab characters at EOL in various _stdint.h files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a4d15ef8aa7a904a67d06e0cf36acd9a51b761df Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:16 +0000 Message-Id: <69fdcf24.3aefe.4fc1e911@gitrepo.freebsd.org> The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a4d15ef8aa7a904a67d06e0cf36acd9a51b761df commit a4d15ef8aa7a904a67d06e0cf36acd9a51b761df Author: Dimitry Andric AuthorDate: 2026-05-01 18:08:26 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:26:59 +0000 Remove extraneous tab characters at EOL in various _stdint.h files MFC after: 3 days (cherry picked from commit daeab702f9adbbb718ecf48e17de8dd619cfe7b8) --- sys/powerpc/include/_stdint.h | 4 ++-- sys/riscv/include/_stdint.h | 2 +- sys/x86/include/_stdint.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 67719432259d..7fbb0118643f 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -169,7 +169,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ @@ -180,7 +180,7 @@ #define SIZE_MAX UINT64_MAX #else /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MIN INT32_MIN #define PTRDIFF_MAX INT32_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 4e032c8b0a1d..c871d4c12f36 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -137,7 +137,7 @@ * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 59aab4b39c0c..8f743377d170 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -163,7 +163,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ From nobody Fri May 8 11:55:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncQ2LmRz6cBMm for ; Fri, 08 May 2026 11:55: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 4gBncQ10TBz3l8K for ; Fri, 08 May 2026 11:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bznEfiP0VhKfku0TsymxtZ9otT6blDsyzVHwdOt/FHM=; b=h4P/47LFrdQ3qZZMSW/GVyeTkjGu3y5Md2jylUVZtgzsLxjtp2O2oaD8LaRETooEX2ZoY/ 3L+r4lZKLZwOCmBuRgJrjZocM9bw7XFCLA4c3SRolMi6MN+zndT9lH04XcLRd29lbyICmP buB78/G7xW334QfDRYb+hPpI4jfzzY5q4N6biU374k74Ix9YyhdEkjNHWM0T4GVrapbBCR VAG0A9qx9ryVqt0eYhk1zTIEZOig2hpSdIwmQvA91HocRGeSUqSFJvdPkV10+7j7h7a5GW NIImF5PEN34RdM+I8xLJxFzrNQ3fQCPY+xFPvffSn9SRbR59MMPqkZ42+rrw5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241318; a=rsa-sha256; cv=none; b=Ii4UUGCP2CvQxaSn3hBZ+eju+lA4nTq8F4JTiZtNkKfEC81TZcPS5XFfmWZg5xlldsNJEX 73bmQzzisH+LozfChIWicNKAJV+auTgCxvptAbaaSazLkhsdPxVL62JRVwYUDogMyGznb3 Uw91xyneQKvt/L4pZ0n/whImg+Eb3f4PM318YwscUWXEudFOru5dZMSdmsW8lRsC98eeCv N/1V9ON56Y3bhDvyYZ3CcLQgwFTcdFajQtNO/vf0LdlgAwEaHxQF1C9DX/uIZ3HAEb9Ohn n992V5bmLJq+vL+Oi2ljzcwfa9eZKTWzXqjnL0j/GemaKa11vS+VwlwgMosA0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bznEfiP0VhKfku0TsymxtZ9otT6blDsyzVHwdOt/FHM=; b=vjQQOXjtUkxShjp3klob6rzmsI3JPQgIfHGHMxAkMK9Uj14D+OcLZPOC75e/93FIULT6KX lea2O9xQoww3Zzw1dKIk5lqGObIeM6KXnkV5dMmshh24G98AqRSm0ms7tAnDfai5ul5plT oSbEnKqIV801aT29ZzF2zOvoXQag8QFckrLSW8r5yb1wMPeHGsyvCsv0UFt6v9gGHxoYZo PNdqFFmGJ2Uq7k8LhJ8iJ61G5OSCRHRVJMpKwBygZPUFQf5mydLkJpsCNWJxZNuEtVq91Z c8ooCd9kru8AF0YVl9mHfPCNMEygL4b2voX5EKnP7PHqC9QIhMrXVuegi00Ykw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncP6mzLz1BRl for ; Fri, 08 May 2026 11:55:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 388f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: eba1c36898da - stable/14 - Define stdint.h macros unconditionally List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eba1c36898dac1469755914d5839d9fe2d573348 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:17 +0000 Message-Id: <69fdcf25.388f8.135fe6b@gitrepo.freebsd.org> The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=eba1c36898dac1469755914d5839d9fe2d573348 commit eba1c36898dac1469755914d5839d9fe2d573348 Author: Dimitry Andric AuthorDate: 2026-05-01 18:07:11 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:26:59 +0000 Define stdint.h macros unconditionally Similar to glibc, define all the stdint.h macros such as `SIZE_MAX`, `UINT64_C`, etc unconditionally. I.e. no longer check whether `__STDC_CONSTANT_MACROS` or `__STDC_LIMIT_MACROS` are defined. See also . This is part of reverting base 00bee6fcd77f, which reverted an upstream libc++ commit that eliminated libc++'s stdint.h wrapper header. Submitted by: Nikolas Klauser MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D56746 (cherry picked from commit 966fb94cb3575ccd39da211165d0858fd0eb0ef2) --- sys/arm/include/_stdint.h | 8 -------- sys/arm64/include/_stdint.h | 8 -------- sys/powerpc/include/_stdint.h | 8 -------- sys/riscv/include/_stdint.h | 8 -------- sys/x86/include/_stdint.h | 8 -------- 5 files changed, 40 deletions(-) diff --git a/sys/arm/include/_stdint.h b/sys/arm/include/_stdint.h index 9931f8b56ef5..b7dee286fb8c 100644 --- a/sys/arm/include/_stdint.h +++ b/sys/arm/include/_stdint.h @@ -33,8 +33,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -48,10 +46,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -153,6 +147,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/arm64/include/_stdint.h b/sys/arm64/include/_stdint.h index 0c183bd60dca..87734357e978 100644 --- a/sys/arm64/include/_stdint.h +++ b/sys/arm64/include/_stdint.h @@ -35,8 +35,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -50,10 +48,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -155,8 +149,6 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ #endif /* !__arm__ */ diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 7fbb0118643f..9619b731d695 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - #ifndef __INT64_C #ifdef __LP64__ #define __INT64_C(c) (c ## L) @@ -195,6 +189,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index c871d4c12f36..0822277001bb 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -31,8 +31,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -46,10 +44,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -151,6 +145,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index 8f743377d170..0745fb400a39 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -184,6 +178,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ From nobody Fri May 8 11:55:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncZ3gQ5z6cBN9 for ; Fri, 08 May 2026 11:55: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 4gBncZ13LVz3lHv for ; Fri, 08 May 2026 11:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zOP5jdeI1XkP7OxNr/JkDjBdXlqA2XJ4WIZvunK9xv4=; b=H1ai07SYqqxBeNUKayk04eV+AeqLOx/Ur3RZYCJ8GSGRh9n9CobIWfOzbLJeUNP3lJCWzm NisfP6T+n6LMnCzMmqZYiyU3G2UdVhjJ6MHPj3uwIHqQVkMd2gLmJD8g6pElcmr1KXSglu SHDPtVPmSf71a1x/wIH2f7Kdz84mXu/GjMAFRP1djceOZzfkUGVHWxSFJKGNm87obzDLo0 RDBNT5RVuXRr6jkC/sVwu06q4WErXv5S0/P8SB6QPIQDH53d8T8ENJhBpH3yNSZStA2TS+ DuFhswCXd4RuC4zaAZ6qpaHawAWRgLrgsT19aROTAL0oFEx8gDdyT2RUBJE7oQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241326; a=rsa-sha256; cv=none; b=VrWYsVgQOvcinsolbAOvuHTUmNN1vqS5G/vFPCCr+yGDb+FVWH6m8Y5ZFOBKUNS9HTRmrz 4j3wRfFPcVAPwNY4Vs8dEKpd04e/wmjxD9JhtGToMDVGnaVriUnfASbXvsLtrGZuRfTMBh LxV8z/6AXmOCpD2+ic+S69nRrsSU9tujZPHvQWNhA9ugeV/jagJlrJVST0XSBBdrl4dyzm FrK2eyWcIydFyvYuvSr4aAro2zLfUqYrafGE9mVDpQoT7ob3vtmIaD/aj9NGjZ2cQSq3A6 bC//RI2EgsfIWnNcbTey8QXa6HDi5Xcu8cYzBjQoHtrUAgM+tTUGcRI85Bkv8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zOP5jdeI1XkP7OxNr/JkDjBdXlqA2XJ4WIZvunK9xv4=; b=dWhDGg9vgT0EciB/guecFWliYCqN3zZPUAaJTJp9rA+RMflwfLAY8aHZXDx6SldHl/2zMP fSkt0bqYBxHIurQEshUiyxkMggVZXBf+nxYTU4tXHoM/fMRwB3g8mBt6Wr2XM0JGSlUEJP GBaYTY3I5ZzlpMM54KJS5qd9UCxTpS0tnmYU3oO3/iO+wV7N8uglos4SI6lQ8EtDDIFXP4 MOalmL+H+9qkKn1W00l59384WAOF+LYwyp7KsJQ5Ll+HMweRtxrB/k2rkXgsxnW7RVdmii KBtMpgxBTz0CS6kGugwRG5RX9rIhC3goMx4XeHQxtFutasNTR+9qFcoKz83qCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncZ0Mzcz1BPK for ; Fri, 08 May 2026 11:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a79c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 9a69511b2167 - stable/13 - Remove extraneous tab characters at EOL in various _stdint.h files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9a69511b2167829f6dcc942371998053bd2f046f Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:26 +0000 Message-Id: <69fdcf2e.3a79c.15414e5f@gitrepo.freebsd.org> The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=9a69511b2167829f6dcc942371998053bd2f046f commit 9a69511b2167829f6dcc942371998053bd2f046f Author: Dimitry Andric AuthorDate: 2026-05-01 18:08:26 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:27:22 +0000 Remove extraneous tab characters at EOL in various _stdint.h files MFC after: 3 days (cherry picked from commit daeab702f9adbbb718ecf48e17de8dd619cfe7b8) --- sys/powerpc/include/_stdint.h | 4 ++-- sys/riscv/include/_stdint.h | 2 +- sys/x86/include/_stdint.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 67719432259d..7fbb0118643f 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -169,7 +169,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ @@ -180,7 +180,7 @@ #define SIZE_MAX UINT64_MAX #else /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MIN INT32_MIN #define PTRDIFF_MAX INT32_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index 914d1bb41b5b..b2276940e9e4 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -137,7 +137,7 @@ * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index ef9c76ca0b5d..e7fb926e4b1c 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -165,7 +165,7 @@ */ #ifdef __LP64__ /* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MIN INT64_MIN #define PTRDIFF_MAX INT64_MAX /* Limits of sig_atomic_t. */ From nobody Fri May 8 11:55:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBncb2tTyz6cB7v for ; Fri, 08 May 2026 11:55: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 4gBncb1Whwz3lcC for ; Fri, 08 May 2026 11:55:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VypNfV8Wtri0hk5nxY9sP2MiKGo346gXQADYDXh11aI=; b=egH8AXYNSCjyW3orsN5GgfYHveCY9jmAHAfVdgAYiMqMc5r+6igYbc5vYnUWkDrG+17C59 9KKxAWCgr93qpHn3HWMQ+AtPDrrz1fq5tZQCVNOM8/gGkB+9hWZM/zLq0/XjjrhOOupghM Q6Rk2i+SJAHgcbTCL7cVp2hjBWC4wK+FTAWRPfR5d/FVvh/+hIiHdLNRB0oJ6POJyF6ocx HzL93YrLDuSIOTm4PjXCh/0kLMOt+TJ7N0Ge4hmy5WO6ws6ku+wsStiXZw2xGQTSv8TSU8 q4AbDM1iZRpjDeRgu6kACIQltgBSe+IWOnSk/Y+fb2N0r70IP2no36QWvA9kJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778241327; a=rsa-sha256; cv=none; b=XwpZO+j0/nZAV34ff8xlSK1XqrDzUoFSA03UuIRV3pho+9m/br3Sf/wkPU4V65W934FnWn vWKYI8EG4jxaH2L/qM/SMJVWGZPzQVUy2e7C2wSPqHiTvfh19gshUkEj4FDoAYD0tBwJHq c2YZB/jTKtQFzBdAdvyUc14rIPDLkErX9bN41zLS/Y6hBolfXwrTuuJwaOT6bxDOdbXdtV W948QqLNIKwGDm4h8o4i8PQsBixomznJ1l1crFZIzNm6g6wQrXEXMGu9OhHhmxy0aWdY/k eB7P1eZJpV/gv/mQbrrcpmgRYkD0etsdXxeokPn2wnafGLSSPw+O87dVd1thMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778241327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VypNfV8Wtri0hk5nxY9sP2MiKGo346gXQADYDXh11aI=; b=tu2HCtc5QDR/QCMOG0gBTwEibjUHcqnhoMQCY7TBGgYwnMj2mHglLPw0AuqJWPIO6aPg9i wAmNEv2V9YoAmjGsN0fetbUYHWUubjAzn1/A2Gwg8t2yR1dxHl7eOY0f9OK8gZXCeyV/TJ IlMLbeoCqxEsu5l/nZYZu+g5KAtZ24VhfoZQzK4tYawtB2RN11GRoBGNes+kKjIWYn+JMf QSX/ozQa0iXfxgs1ve9+6xG9ndjeAvLROs6lCJns4dhkw7uR74K7SAbq/cwLjBoqWLVV9M 3P24m2y1YSweA6YtCUV+c9Fc11Dx6+QejeDxu8MRG1MwHn+QDx2vVUcVowypBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBncb10CLz1BKk for ; Fri, 08 May 2026 11:55:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39a4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 11:55:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 57efbb1094e4 - stable/13 - Define stdint.h macros unconditionally List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 57efbb1094e4f90c6e150de60cf4dc20cd44d6d8 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 11:55:27 +0000 Message-Id: <69fdcf2f.39a4e.7fa6298a@gitrepo.freebsd.org> The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=57efbb1094e4f90c6e150de60cf4dc20cd44d6d8 commit 57efbb1094e4f90c6e150de60cf4dc20cd44d6d8 Author: Dimitry Andric AuthorDate: 2026-05-01 18:07:11 +0000 Commit: Dimitry Andric CommitDate: 2026-05-08 10:28:09 +0000 Define stdint.h macros unconditionally Similar to glibc, define all the stdint.h macros such as `SIZE_MAX`, `UINT64_C`, etc unconditionally. I.e. no longer check whether `__STDC_CONSTANT_MACROS` or `__STDC_LIMIT_MACROS` are defined. See also . This is part of reverting base 00bee6fcd77f, which reverted an upstream libc++ commit that eliminated libc++'s stdint.h wrapper header. Submitted by: Nikolas Klauser MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D56746 (cherry picked from commit 966fb94cb3575ccd39da211165d0858fd0eb0ef2) --- sys/arm/include/_stdint.h | 8 -------- sys/arm64/include/_stdint.h | 8 -------- sys/powerpc/include/_stdint.h | 8 -------- sys/riscv/include/_stdint.h | 8 -------- sys/x86/include/_stdint.h | 8 -------- 5 files changed, 40 deletions(-) diff --git a/sys/arm/include/_stdint.h b/sys/arm/include/_stdint.h index 9931f8b56ef5..b7dee286fb8c 100644 --- a/sys/arm/include/_stdint.h +++ b/sys/arm/include/_stdint.h @@ -33,8 +33,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -48,10 +46,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -153,6 +147,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/arm64/include/_stdint.h b/sys/arm64/include/_stdint.h index 914d1bb41b5b..8c98e4300036 100644 --- a/sys/arm64/include/_stdint.h +++ b/sys/arm64/include/_stdint.h @@ -31,8 +31,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -46,10 +44,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -151,6 +145,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h index 7fbb0118643f..9619b731d695 100644 --- a/sys/powerpc/include/_stdint.h +++ b/sys/powerpc/include/_stdint.h @@ -40,8 +40,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -61,10 +59,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - #ifndef __INT64_C #ifdef __LP64__ #define __INT64_C(c) (c ## L) @@ -195,6 +189,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h index b2276940e9e4..ec6a5bc5902a 100644 --- a/sys/riscv/include/_stdint.h +++ b/sys/riscv/include/_stdint.h @@ -31,8 +31,6 @@ #ifndef _MACHINE__STDINT_H_ #define _MACHINE__STDINT_H_ -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -46,10 +44,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -151,6 +145,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/x86/include/_stdint.h b/sys/x86/include/_stdint.h index e7fb926e4b1c..e49a111bf0cc 100644 --- a/sys/x86/include/_stdint.h +++ b/sys/x86/include/_stdint.h @@ -42,8 +42,6 @@ #include -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - #define INT8_C(c) (c) #define INT16_C(c) (c) #define INT32_C(c) (c) @@ -63,10 +61,6 @@ #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types @@ -186,6 +180,4 @@ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - #endif /* !_MACHINE__STDINT_H_ */ From nobody Fri May 8 15:35:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gBtVV15D1z6cTrl for ; Fri, 08 May 2026 15:35: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 4gBtVT5jHrz3Brs for ; Fri, 08 May 2026 15:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778254529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Ppvg1wPMWPiGMD0XUgMsqdDwQPjFjdlnk4FPVEwcvM=; b=aDMLepdbDM2MzvE9jIcisRPEBqwn0C3RRC7+tooA5QfC2eqL9Vq5OKLgoDIadC6id/mu6p qF1sUgdWTLZCLiW04PyOcAuo2FfEJdK38P9jNCbGGJiVHpW//DPA7WlK/Wcj5zWjiBJOH9 mDCflIK+QJT28DWaQrhuIQRvdzgFsiS5rc3RQRY27QDiqUa36SsL5HY9P1wphmmHDHbUVj 9eApYZBkji1WGE7lQjY1prNQj7TNFu21oCQTY5NOJwaNVAaJ1W+dFFdRcamgh260D/wDAH OjIAkR87hnSWSCgQm4tyJxbJbpZ9QdYMpaQEh+4hH9qV1P8/lltv44Dp3eGTgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778254529; a=rsa-sha256; cv=none; b=x0zk8zncDr0q3+Km16es1hH9OYHLVzj8VHIMyXA8en64def6A8FoaPuw5Mf6RID+b6nL5J 5eXhSBOQq8YH05f9i+K9KcqlOaYzMtMfm1BzG1DUzah/HoQmROx/hAhjqNUXHzmEQ8tdjM lZL3F7I+tIarxIPscbYdV7W4DF35t0Ietw2tCtLD1XxNvZZsrVDR1JO+wNbIiVxPd3VGrg T313SSkOxt7iVKMAUqcPHaMmn7kjONWdvf/WL5EMirOFelw/ebPJwTojgqsz//tUdHscsQ /zO1DxEVL8qk2WywLu4RZ0gcLykBof6C/P5QnjU1erQdIwRJG7VBo9lAU5shEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778254529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Ppvg1wPMWPiGMD0XUgMsqdDwQPjFjdlnk4FPVEwcvM=; b=cL24RVGvewXoil3K96Y3aS73a2b1DSLLgFQxBYo8WnFUjjTjy9G2MET+yEbHzwoNDXaSmp mG+Q9PbBE+smYuXjblglN0enR/tf64jbGX2SeHftBwH97jVzElvaISzu6YkGkzJoTPeInO smpBhPcMUn/6EHYFAaX09YJvw/YwHwDQQ4Wn1rlrnmdtS9awix2O92pgsE/rrVQ+Dd+W09 2aEcSHj81QNgcRPPwkP7AGYfa/CpIOXKl8clDluBmIdj/UqtvpU0G0QFwruzZvM2X59TGx U0ki76tia9+A7r3167bJ9WCED5ZL0zFFfMuVPrPx3N0fRHtHa+vZi7+8bGUFqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gBtVT5FKqz49c for ; Fri, 08 May 2026 15:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31ef5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 08 May 2026 15:35:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ryan Libby Subject: git: cab150feb82e - stable/14 - sys/time: appease gcc -Wtype-limits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: rlibby X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cab150feb82ebae3edf59565de28df68be5cf281 Auto-Submitted: auto-generated Date: Fri, 08 May 2026 15:35:29 +0000 Message-Id: <69fe02c1.31ef5.59564ceb@gitrepo.freebsd.org> The branch stable/14 has been updated by rlibby: URL: https://cgit.FreeBSD.org/src/commit/?id=cab150feb82ebae3edf59565de28df68be5cf281 commit cab150feb82ebae3edf59565de28df68be5cf281 Author: Ryan Libby AuthorDate: 2026-04-15 08:08:37 +0000 Commit: Ryan Libby CommitDate: 2026-05-08 15:34:15 +0000 sys/time: appease gcc -Wtype-limits In environments where time_t is 32 bits, including the 32-bit library build on amd64, the overflow being tested for cannot happen, and gcc complains with -Wtype-limits, causing the gcc build to fail. Work around this by ifdef'ing out the saturation code on i386. Reviewed by: imp, jfree Discussed with: markj Fixes: e3799530b3ba ("sys/time: Add saturating sbt conversions") Differential Revision: https://reviews.freebsd.org/D56369 (cherry picked from commit 00dccc3164c6dff38350a1baeeea7238acf2efc3) --- sys/sys/time.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/sys/time.h b/sys/sys/time.h index 66fbd2dd41f4..195d3d12e953 100644 --- a/sys/sys/time.h +++ b/sys/sys/time.h @@ -357,10 +357,12 @@ tstosbt(struct timespec _ts) static __inline sbintime_t tstosbt_sat(struct timespec _ts) { +#ifndef __i386__ if (_ts.tv_sec > SBT_MAX >> 32) return (SBT_MAX); if (_ts.tv_sec < -(SBT_MAX >> 32) - 1) return (-SBT_MAX - 1); +#endif return (tstosbt(_ts)); } @@ -384,10 +386,12 @@ tvtosbt(struct timeval _tv) static __inline sbintime_t tvtosbt_sat(struct timeval _tv) { +#ifndef __i386__ if (_tv.tv_sec > SBT_MAX >> 32) return (SBT_MAX); if (_tv.tv_sec < -(SBT_MAX >> 32) - 1) return (-SBT_MAX - 1); +#endif return (tvtosbt(_tv)); } From nobody Sat May 9 13:30:37 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCRgx56BVz6bcl1 for ; Sat, 09 May 2026 13:30: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 4gCRgx1lXXz3Syt for ; Sat, 09 May 2026 13:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778333437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ap1ZqMpsK/ubnOMGZViMbdVfMjDuwNkfZ/d4XxabZOk=; b=TUSoqc8yteKF/teyMT8eMx1hiTDN+IxF/jTSRCPxexUhC5684RdP1G0bk7NWG0l29y56SU 3Z60uprUpbioQPcm0hXeAgSv6/Rt0xRhjSt0xy7JDP2UU1MWtDxG88fz0QFXpL/VYpmYI4 taTcHfKO+Bg/+ic/ELdN/HB1/aAQXdqt6YNgl8josvPE95/ru84Arr9kLpeo64OFKhCasq cd28UzlTPYUqQU2iApB97F54h58DA6kMhRECXgnPG8SGInMcjN/Rft3Q4WiFvgwbw4BPXJ 64iCjlVgu8ToQNiS2nceqMGiP769S3lGoeDDHMvtfw9r5tf/E0fqZoM6eyEVMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778333437; a=rsa-sha256; cv=none; b=CzZ/R/EhKLX5zsg1uJW2nfAuiXnD1qQSJ1EOl0PhzLcjO4XkIu49GIawgwJUcmQt4QwXfw FKXLKxNEYwQP4/qZYLgN4p/YjAFHJMfiC9GPYuPJcWRVg//8KXkPYDMLZikdCOPpK+r40z bJnCOhJn4wb8wWXZrUvZOP1wbUV98zMEOFlPvqZPbQKgrv79QWxIa85L1K7GgN85d3sbHj g7mZyMptVs+BsWvpDf1ZIy3znzLSAtMhNzr/2EI3LtHmwX/3fgA8zxSsweRf6OE6CDmXBr mnNxlR8nT83yNPmoJrC0jisBnjrIaV5Axrcj8v07769dNcqq/QKRysnIjuXuFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778333437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ap1ZqMpsK/ubnOMGZViMbdVfMjDuwNkfZ/d4XxabZOk=; b=FLtWwkGEOUpMsp7naQoZDLxW+jcBuR6+9IOU+GdlwJ4CrWKO96NSjDiz/qlfiJ85vLC56l fRV4vme53luZnPXG1zyw5ZHo8/f4Cb+kiTJC1eaKfFiS5bsss++zWwtvU/7pL4qcpcso+R uO2VkOP+tAy3QztTS/4+8ClyxCMQ1+g1K1Z072RWIjwpATZRIkwisKLdYTMlaODkkMP9kD Fb9hP0oUQa7PJTbZYDOO1uLpCJMf6iSCsTeHFGdY+vrG/4sdd41Pom3ZTFj1V1QhijkHTB zdzCibI55zL8buntP4fxulVkuMertttQMaG2B+Id6PBFZDnT3MsQ+bh6fA7F4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCRgx1GTlz1134 for ; Sat, 09 May 2026 13:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c1ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 13:30:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: fab9bfc92751 - stable/15 - pf: do not reject rules with colliding hashes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: fab9bfc92751ac7c676a2f59e44c5ce5ff414e20 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 13:30:37 +0000 Message-Id: <69ff36fd.1c1ec.156f0f88@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fab9bfc92751ac7c676a2f59e44c5ce5ff414e20 commit fab9bfc92751ac7c676a2f59e44c5ce5ff414e20 Author: Kristof Provost AuthorDate: 2026-04-29 15:04:44 +0000 Commit: Kristof Provost CommitDate: 2026-05-09 08:06:01 +0000 pf: do not reject rules with colliding hashes We insert rules in pf_krule_global solely for the benefit of the 'keepcounters' feature. Failing to insert (beause the rule hash collides, or an identical rule already exists) would be worse than restoring counts to the wrong rule (or failing to restore them at all). PR: 282863, 294860, 294859, 294858 MFC after: 3 days Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D56745 (cherry picked from commit a0e4c65f1814a7a677364dc29bb703f84323d175) --- sys/netpfil/pf/pf_ioctl.c | 24 ++++++++---------------- tests/sys/netpfil/pf/match.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 0825a69b8f63..18abc4c09f9e 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2438,14 +2438,12 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, PF_RULES_WUNLOCK(); pf_hash_rule(rule); - if (RB_INSERT(pf_krule_global, ruleset->rules[rs_num].inactive.tree, rule) != NULL) { - PF_RULES_WLOCK(); - TAILQ_REMOVE(ruleset->rules[rs_num].inactive.ptr, rule, entries); - ruleset->rules[rs_num].inactive.rcount--; - pf_free_rule(rule); - rule = NULL; - ERROUT(EEXIST); - } + /** + * Note: rule hashes may collide. Accept this, because the worst that can + * happen is that we get counter preservation wrong. + * Failing to insert here would be worse. + **/ + RB_INSERT(pf_krule_global, ruleset->rules[rs_num].inactive.tree, rule); PF_CONFIG_UNLOCK(); return (0); @@ -4111,14 +4109,8 @@ DIOCGETRULENV_error: ruleset->rules[rs_num].active.rcount--; } else { pf_hash_rule(newrule); - if (RB_INSERT(pf_krule_global, - ruleset->rules[rs_num].active.tree, newrule) != NULL) { - pf_free_rule(newrule); - PF_RULES_WUNLOCK(); - PF_CONFIG_UNLOCK(); - error = EEXIST; - goto fail; - } + RB_INSERT(pf_krule_global, + ruleset->rules[rs_num].active.tree, newrule); if (oldrule == NULL) TAILQ_INSERT_TAIL( diff --git a/tests/sys/netpfil/pf/match.sh b/tests/sys/netpfil/pf/match.sh index 992e32d9f887..c732ec7c5c17 100644 --- a/tests/sys/netpfil/pf/match.sh +++ b/tests/sys/netpfil/pf/match.sh @@ -234,10 +234,46 @@ double_match_cleanup() pft_cleanup } +atf_test_case "duplicate_rules" "cleanup" +duplicate_rules_head() +{ + atf_set descr 'Test identical rules' + atf_set require.user root +} + +duplicate_rules_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + + ifconfig ${epair}a 192.0.2.1/24 up + jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass tagged FOO" \ + "match tag FOO" \ + "pass tagged FOO" + + atf_check -s exit:0 -o ignore ping -c 3 192.0.2.2 +} + +duplicate_rules_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "dummynet" atf_add_test_case "quick" atf_add_test_case "allow_opts" atf_add_test_case "double_match" + atf_add_test_case "duplicate_rules" } From nobody Sat May 9 13:30:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCRgz27Y1z6bcZR for ; Sat, 09 May 2026 13:30: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 4gCRgy6D6Nz3T9Y for ; Sat, 09 May 2026 13:30:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778333438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/0ncNpmmH+jfn+OHMhUAIKBhdo9zknYfpjZUxyPW3s=; b=jgisfLyka7mL0rxqvarn2SkXtAphqG5EOwdKRU5d9bL414Y/mc4M10Y6wopcnUqsE2pD+9 vTpW17DxYQjsRk9oBWURk4Qo+anjtMUDZJ3iOiTWZ6KKIFUwaXoM5n7xbRYLv8Jn5xGyFT 1Laye2/SBf++VAl8H8qAaKyk8OnzurCO9NJXPpXojanEODKNKG+XhgWMaZzTaXypfDsbrI dtTBAUzEHL0AsAwBpG13OXAY/EagJ7DWjDft9a7mVEldeXN4d4Q8SwPknzkZf+SLuQdjEQ l9nvjw1vSZV6A73QIYTZvl3Osdj19uZwjHj9GRK+5LOAbml2yttpM6+sIAiWcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778333438; a=rsa-sha256; cv=none; b=jtxNaYtEiuzopKP8pI1ibyJ+6Qrq36H9EODMsWrjfhWnlJLR9qCAETbe/Vy4HsE64AR8lu +/Ws/xnvSKf5hKaqFo49PJf1vBcMN85A0qRZXtJ2FgYiIGXtyHTk2pBTS7MQNGzNr61BPL 1ysMYqB6sfpje9+48xnvVUOTvIj13pKOaO2TIQIkXED6ieqYS5oucK1jQ7dIh6o56vOoZa gB9j6v/XhewsTSzGzK38BSs6YQOKAs1/JzcOjWLXdnRrPfGAjJU2pSaiuzgVhE1EO4xgwO R1sqanrx+MhHeIftwDZTcXF94IaRXKu9E0dTV+ySPCDNsjw1kr/YSE3/tKudzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778333438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/0ncNpmmH+jfn+OHMhUAIKBhdo9zknYfpjZUxyPW3s=; b=y39xz4zh3ejz1MvWxyEcQ3434UxSzK6UFtouA5AKju+0yPi04tcmt/fIKH+btp3PN8eKko ApahzFVCIm1NPUXOlczNmKlXeZo+gF4nLNeSd15Kkh68kiWYA+pe2kSImHMBDXLIkg3nmP B6NBEWW1KRYrZmmxtopqdBPCAiizCY6ckxAMd6jRUkzzzFctrjelyS3Fbq8J+3UXczcQTV JECFuiBMlRneMwwOz6Ku20eUJjEmlqdBpgmO0CxaNQyFqTn6Al+mHPVc0cV7CCPZeL5xVQ nZJZ65Znq44IEYXJOqsijf6ufjV2bV6bSPpqvTCquCFezZ9ErQtJ6FynJVzSKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCRgy4Y2pz11KG for ; Sat, 09 May 2026 13:30:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d240 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 13:30:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 0cd655f71b46 - stable/14 - pf: do not reject rules with colliding hashes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0cd655f71b46ada2c353c371e2a2f9f0dac29613 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 13:30:38 +0000 Message-Id: <69ff36fe.1d240.246b23a1@gitrepo.freebsd.org> The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0cd655f71b46ada2c353c371e2a2f9f0dac29613 commit 0cd655f71b46ada2c353c371e2a2f9f0dac29613 Author: Kristof Provost AuthorDate: 2026-04-29 15:04:44 +0000 Commit: Kristof Provost CommitDate: 2026-05-09 13:29:04 +0000 pf: do not reject rules with colliding hashes We insert rules in pf_krule_global solely for the benefit of the 'keepcounters' feature. Failing to insert (beause the rule hash collides, or an identical rule already exists) would be worse than restoring counts to the wrong rule (or failing to restore them at all). PR: 282863, 294860, 294859, 294858 MFC after: 3 days Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D56745 (cherry picked from commit a0e4c65f1814a7a677364dc29bb703f84323d175) --- sys/netpfil/pf/pf_ioctl.c | 24 ++++++++---------------- tests/sys/netpfil/pf/match.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index e824dfcff453..39d3536fe38e 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2376,14 +2376,12 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, PF_RULES_WUNLOCK(); pf_hash_rule(rule); - if (RB_INSERT(pf_krule_global, ruleset->rules[rs_num].inactive.tree, rule) != NULL) { - PF_RULES_WLOCK(); - TAILQ_REMOVE(ruleset->rules[rs_num].inactive.ptr, rule, entries); - ruleset->rules[rs_num].inactive.rcount--; - pf_free_rule(rule); - rule = NULL; - ERROUT(EEXIST); - } + /** + * Note: rule hashes may collide. Accept this, because the worst that can + * happen is that we get counter preservation wrong. + * Failing to insert here would be worse. + **/ + RB_INSERT(pf_krule_global, ruleset->rules[rs_num].inactive.tree, rule); PF_CONFIG_UNLOCK(); return (0); @@ -3693,14 +3691,8 @@ DIOCGETRULENV_error: ruleset->rules[rs_num].active.rcount--; } else { pf_hash_rule(newrule); - if (RB_INSERT(pf_krule_global, - ruleset->rules[rs_num].active.tree, newrule) != NULL) { - pf_free_rule(newrule); - PF_RULES_WUNLOCK(); - PF_CONFIG_UNLOCK(); - error = EEXIST; - break; - } + RB_INSERT(pf_krule_global, + ruleset->rules[rs_num].active.tree, newrule); if (oldrule == NULL) TAILQ_INSERT_TAIL( diff --git a/tests/sys/netpfil/pf/match.sh b/tests/sys/netpfil/pf/match.sh index bb088c5bf47c..5a1bfb4d51ea 100644 --- a/tests/sys/netpfil/pf/match.sh +++ b/tests/sys/netpfil/pf/match.sh @@ -67,7 +67,43 @@ dummynet_cleanup() pft_cleanup } +atf_test_case "duplicate_rules" "cleanup" +duplicate_rules_head() +{ + atf_set descr 'Test identical rules' + atf_set require.user root +} + +duplicate_rules_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + + ifconfig ${epair}a 192.0.2.1/24 up + jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.2 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass tagged FOO" \ + "match tag FOO" \ + "pass tagged FOO" + + atf_check -s exit:0 -o ignore ping -c 3 192.0.2.2 +} + +duplicate_rules_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "dummynet" + atf_add_test_case "duplicate_rules" } From nobody Sat May 9 18:52:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqX17M1z6cM8L for ; Sat, 09 May 2026 18:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCZqX0C0sz3VLG for ; Sat, 09 May 2026 18:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n5+sJXD8D1wahU7Bhc5xfz7VnWediEJQfabP+0r/mTs=; b=XsEnZJA3l+LBR4o+Gf2NszKamzTHlEYBrg+iUhc/0JmN8Kb3XAowhoK9NqcDwCISER+5Cg RsvvEEf7SzhMwxlOxx1L88YwMmoFZpURzz0a4W/V61RpCNHT1jGdsE3WdB64PkYeQ/L3pv vW3eOhN8xii0jtWbmnEAK9c47nqVwU+NKXJMF2oK+wjHzrTak3pn7CybbG1BJdbC1ZUQaP vqQo6qh11UwNHm+rZ3uv6DPsnSjw7kbG5m1tTp6vGPf/OdIhxDyL+9EhmNP44a69rAPMzd A9oe3bYJ8xZt5QbmhhJLm1F96nmzPtg68SSAU3UvGS90gO80wIaOpA86amrd4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778352760; a=rsa-sha256; cv=none; b=kBd/y1PNTmAzpNBNbvKWhMl1tybm+DXiKyBYMUnNUVrm5A3uyZH+Q7hKauyVbOVLo5aSyQ 2R1WtqXUPs1bBe8D8VdpyuEAuAqKbkOR0g+M/X9TuDfolhxHfrHUSdwzgdBuIF1f2hZ3uF GjGJy2fmnLy3tqsR9quOwE4QDnoo1bEMpAEB8xDLg9cn9lPjpGxpwRm9gMFZiYzD+Zmn1D mCEhhIBM+4JndFnU1tjoSa72oBNR3c7Zg29SdTyt3K4NaXp60UUF7zQHMI5d2eFgl5YM/b bAB6Gn8kuXFhuNgkV3u0G0GKu/IEBLhnTX7h4E5vtAoHPDmFlQ8OxclSyAjOng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n5+sJXD8D1wahU7Bhc5xfz7VnWediEJQfabP+0r/mTs=; b=auLR1APcsYfwtMfV/U5H2Z9I4+R0HvOJhu0Pq8eTlyH6RJVLKdi55HiOmeFyWBPEeawQFL eET+5jsznRM5Lv+i4ztEHVArz86hzqFiLpI5VP++OV2BvvwIu7iBKQ5b+nR3AQmAlGzUfk NT0MdPtAw8huv+EyoE8J7yjN01yYmf2pH2HQk/V1EKHJAYmWwHgy/3ZCOxTSsAncfwOtFe DXtBk++KGcmaAzs63lYo4t23Y5bYV7l5DWOv95F5xli1AEmlahHqbGVFvyNmnhP3cq/9hV tRg/NZGkMOzk/W/W1DhAnETAAmLf6XnlRyuUALBygREt1cRELM+zMdb6m0c+eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqW6gZFz1B8x for ; Sat, 09 May 2026 18:52:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46328 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 18:52:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 332485a47372 - stable/15 - tests/carp: make sleep interval in the wait loop smaller List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 332485a473724c7532690be34ed1be06d9521448 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 18:52:39 +0000 Message-Id: <69ff8277.46328.38b69eb5@gitrepo.freebsd.org> The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=332485a473724c7532690be34ed1be06d9521448 commit 332485a473724c7532690be34ed1be06d9521448 Author: Gleb Smirnoff AuthorDate: 2025-12-04 18:40:34 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-09 18:51:11 +0000 tests/carp: make sleep interval in the wait loop smaller Makes tests to finish slightly faster. (cherry picked from commit e353cbffd600ae3c00c8584dddcabf9d0ae1202a) --- tests/sys/netinet/carp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 568d2beaf914..a9c99a7d701f 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -43,7 +43,7 @@ wait_for_carp() while [ -z "$(is_master ${jail1} ${itf1})" ] && [ -z "$(is_master ${jail2} ${itf2})" ]; do - sleep 1 + sleep 0.1 done if [ -n "$(is_master ${jail1} ${itf1})" ] && From nobody Sat May 9 18:52:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqY39MYz6cMM8 for ; Sat, 09 May 2026 18:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCZqY0fxGz3VHx for ; Sat, 09 May 2026 18:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gwFgJYgRMmuObm1AxCvBuqXveflQLJdcQID+ExH3M1I=; b=rStQdQOjx8PajGMjENyrfpfbVhUGZfjfRq3WMO1UXlO/ZEDoXMo3ZYFfDrcQtbwctzL8M4 JOKjjHuB8mWMDEq2Dgt237Hnz/87wuQhPFvJD5j2t7TmQQADSjMN8nWa6o98mGK0KiMGiR +2aJc3bkSRK6hoSjCX9XJ4eDmnUVThYACBaa7lXqGWnT+XtWVF060t6x0FBuC6nFuL+2A6 7Dc+cTt+9CvU1o586/PdlywaU/QqsMtXTw4QUd2jG3VfjMOH44Y/AUafjuup866jj5S3g9 UW+RqsKleI04kEI8jPY2xSz9csleQMy8neWSlxmaGppRjCrJbMowb3YgpkdX0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778352761; a=rsa-sha256; cv=none; b=nfwpp2kkcrgSDh9SUu+rZNjR8usg8Blf7NG0ieS43yGVcWD8sfc4k52aegoHK5Jej79TGR soOdtQaOQ/MrrsC6ye8KODF/7WeMvUPI8IiLha6BtMW8bhshtvbATGDR/jt/Kb/PdskPEE 32blCidH/nl0G05W8xfs2xv+uw1A/PVMlKDqkMjcxggJ3FzqVqMRT9kL1Yus7iy7vtgdQA DHuqY1bNEVud3VaSugKj8jU18mLTn/kP7rM68lynyXzhMtW18tVAf/V4lNsrw7VsV2psN4 V8W83nUJDRhe1nvP7S44g/ydyAe1h1POQIEilIu8gckjcy9fg7F1noZBbl32Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gwFgJYgRMmuObm1AxCvBuqXveflQLJdcQID+ExH3M1I=; b=wBuvrfk7pocDt5jzb5lzfzT5RzbzITfj7g9+vGtZYD7b1SsEZP762xkS7ShYGWQRlpRvHt f4oIfGHXflO9XXqK4rs3X/aYDt2u+CILydiMI4BzcWRpdrcMFRUSCLfLuMbXU2jlypzZVv UPoxC2NSij5s6xRPlxVLtBD1ByJgtNuCb0uaGIwA5BIWNSa3vUwb8J2bfArarEktYudC5E orq2p3EPfjoQoT0dHEtwU/27QyfpMJenxtjDv1QajH7i+eKtkRrZUxhtGMpHtJ4PfygudC WZGMM7M7FmQWOasvXljZDyl/2a4sc2AOJxz37qqapxtCGHob0KaTlk68yVAOcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqY02HXz19yg for ; Sat, 09 May 2026 18:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4632d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 18:52:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: ad2fff6d6a4d - stable/15 - tests/carp: make a 0.2 second pause before configuring second jail List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ad2fff6d6a4d74b6bb9008e447eafc567e8660e0 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 18:52:41 +0000 Message-Id: <69ff8279.4632d.49abbea9@gitrepo.freebsd.org> The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ad2fff6d6a4d74b6bb9008e447eafc567e8660e0 commit ad2fff6d6a4d74b6bb9008e447eafc567e8660e0 Author: Gleb Smirnoff AuthorDate: 2025-12-04 18:41:19 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-09 18:51:12 +0000 tests/carp: make a 0.2 second pause before configuring second jail for all scenarios where both jails have same priority/advskew. There is a tiny chance that on both sides carp_master_down() will be executed in parallel and advertisements will also fly through the bridge(4) in parallel, thus both sides will switch to MASTER before receiving the announcement from peer. This makes the test to fail. So far this flakyness was observed for carp:vrrp_v4 only, but in theory it is possible for any of the patched scenarios. Note that this sleep does not prolong execution of the tests, as the first jail is already configured, and if we slept before configuring the second, we would sleep less in wait_for_carp(). (cherry picked from commit 27ff90cd3d8d2ac8198f30cbebeefb15a49d41bc) --- tests/sys/netinet/carp.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index a9c99a7d701f..90ed9d6f9baf 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -90,6 +90,7 @@ basic_v4_body() jexec carp_basic_v4_two ifconfig ${epair_one}b 192.0.2.202/29 up jexec carp_basic_v4_two ifconfig ${epair_one}b add vhid 1 192.0.2.1/29 + sleep 0.2 jexec carp_basic_v4_three ifconfig ${epair_two}b 192.0.2.203/29 up jexec carp_basic_v4_three ifconfig ${epair_two}b add vhid 1 \ 192.0.2.1/29 @@ -137,6 +138,7 @@ vrrp_v4_body() jexec ${j}_two ifconfig ${epair_one}b 192.0.2.202/29 up jexec ${j}_two ifconfig ${epair_one}b add vhid 1 carpver 3 192.0.2.1/29 + sleep 0.2 jexec ${j}_three ifconfig ${epair_two}b 192.0.2.203/29 up jexec ${j}_three ifconfig ${epair_two}b add vhid 1 carpver 3 \ 192.0.2.1/29 @@ -182,6 +184,7 @@ unicast_v4_body() jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \ peer 198.51.100.224 192.0.2.1/32 + sleep 0.2 jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1 jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129 @@ -253,6 +256,7 @@ basic_v6_body() jexec carp_basic_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \ 2001:db8::0:1/64 + sleep 0.2 jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 2001:db8::1:3/64 up no_dad jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \ 2001:db8::0:1/64 @@ -303,6 +307,7 @@ vrrp_v6_body() jexec ${j}_two ifconfig ${epair_one}b inet6 add vhid 1 carpver 3 \ 2001:db8::0:1/64 + sleep 0.2 jexec ${j}_three ifconfig ${epair_two}b inet6 2001:db8::1:3/64 up no_dad jexec ${j}_three ifconfig ${epair_two}b inet6 add vhid 1 carpver 3 \ 2001:db8::0:1/64 @@ -358,6 +363,7 @@ unicast_v6_body() peer6 2001:db8:2::2 \ 2001:db8::0:1/64 + sleep 0.2 jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 2001:db8:2::2/64 \ no_dad up jexec carp_uni_v6_three route -6 add default 2001:db8:2::1 @@ -423,6 +429,7 @@ unicast_ll_v6_body() jexec ${j}_two ifconfig ${epair_one}b inet6 add vhid 1 \ peer6 ${ll_two} \ 2001:db8::0:1/64 + sleep 0.2 jexec ${j}_three ifconfig ${epair_two}b inet6 add vhid 1 \ peer6 ${ll_one} \ 2001:db8::0:1/64 From nobody Sat May 9 18:52:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqZ6X9rz6cMQT for ; Sat, 09 May 2026 18:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCZqZ1McCz3VCV for ; Sat, 09 May 2026 18:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jqUqWiMXzOUFGjCLAZI05QlmwXaUGP1ue77eMZ6D2Ek=; b=hZVytHq+sCmbWj19J0VcDqiXEcPSJIB5riHyVq7p0nsPyb3S2ZWweKnERWQ3kz7P70jwRk JbTE8uWWoKdBNDvDIFKAd6tF++YioffBlubW95Gyy4N7GQ1Kxp7hN0O0XglVSbgDYwpSjw EHhZTiYZ2IASxsv0ExaoZMXzdQzkjXb5k2WwFdcR3BZWW+4p7FutIcO2V8CAKTkWleT7NP QouwCAS7zQ/OiNa8iSVxJj9klak4bDNmcpALWy6ntwY/rd3G+QfeDYqBQ+KG793gtRhNHY aPM9ZK9nd5EkKuinxHPMA9cHNvupPt7/X2Imcb27bIOBd79XI0od/qwpqG4hlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778352762; a=rsa-sha256; cv=none; b=iI+T6XzSVvDN6+M3aQgU2pAm+XUB/N94/xvj/PHZyaoHGxerKMPHYKJ13jDaRw1rRmpimL CgTBAxvfcfdnn/6271K8q2zlnXfgUsm9DbBwgeh+uyT0+Xbh0H5WmqXYujcVVOqOpJUIg1 nLnV/JI5G3Aw2rxncj3fIah93hwCCWNW7gFcEmLKJbTlNcNNsYSvd3+oK2tjDRjHkU8Xt2 OveVVLmOYN5EvpqkpfKVsL/GRbTbFQ4xum3VuEqhkjyPKCSmp7XC4NLQkgAtXrACKb60iy eqQ5x+fz3/PnhcHdZlw1LH6n9dK+/OWrg3sXaYY/VQ3gYldB1/SkIy5QsWGp/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jqUqWiMXzOUFGjCLAZI05QlmwXaUGP1ue77eMZ6D2Ek=; b=N2zUAv7AxfPPJveIi4pCKu8f+75RKBhkhLezbilb/wZ9asPRsMlIhbmd81BnlGuaD3sPP/ 3+KMZt748T8Q8UG+3LO7nqeNLykHvgmAACAhhhFAXOId8FnFi5Eh2PvS/YADr/FCZd6cjB bM4m3yp7ozFZ8a8/ufG99YxnOlQV5DDLt4T+hdyWlE0cgi1Keg24dQyXIM8RGbcozulA5B 4dSwX9tMX+1OI4RG4br9jB4drG5KU92OX9FMdvhQdtwgtjSl/dva12Qh/a8ZVz/9AVtQJ4 NivBRdd12g17bdsxXWAkNYiR8YRJYLBXORCgopLa7hrTf8c9DMBuB7gMp21JMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqZ0nMQz1B8y for ; Sat, 09 May 2026 18:52:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 462d9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 18:52:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 107ef0c29503 - stable/15 - tests/carp: Rework unicast_v4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 107ef0c29503e5be2b81d22930ec0c675efba140 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 18:52:42 +0000 Message-Id: <69ff827a.462d9.2decc0ef@gitrepo.freebsd.org> The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=107ef0c29503e5be2b81d22930ec0c675efba140 commit 107ef0c29503e5be2b81d22930ec0c675efba140 Author: Zhenlei Huang AuthorDate: 2026-05-03 11:02:15 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-09 18:51:12 +0000 tests/carp: Rework unicast_v4 For unicast tests, it is sufficient to use wait_for_carp() to verify the setup is sane. Additional sanity checks are not necessarily required but can serve purpose for redundancy. For some unclear reason routed(8) is advertising route to carp BACKUP. That makes the test flaky. Also routed(8) is marked deprecated and may be removed from base in the future. Let's just add static route entry manually for additional sanity checks. Other noticeable changes: 1. Add atf_check to configuration steps to prevent potential failure on setup. That helps diagnosing on failure. 2. Shorten the names of jails to improve readability. 3. Prefer `[ifconfig|route|sysctl] -j` over `jexec [ifconfig|route|sysctl]` to make the lines shorter. MFC note: At the time writing, routed(8) does not know carp addresses and does not distinguish carp addresses in MASTER|BACKUP|INIT state, hence insists advertising the wrong addresses. PR: 294817 Reviewed by: glebius (previous version), pouria, markj Fixes: 93fbdef51a13 tests: carp: Update test case unicast_v4 to catch PR 284872 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56761 (cherry picked from commit 9137c66c2ea6cc09e3a6f8a042ecdc5a62e0f39e) --- tests/sys/netinet/carp.sh | 80 ++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 90ed9d6f9baf..e6521d0a0708 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -169,58 +169,66 @@ unicast_v4_body() epair_one=$(vnet_mkepair) epair_two=$(vnet_mkepair) - vnet_mkjail carp_uni_v4_one ${epair_one}a ${epair_two}a - vnet_mkjail carp_uni_v4_two ${epair_one}b - vnet_mkjail carp_uni_v4_three ${epair_two}b + j="carp_uni_v4_" - jexec carp_uni_v4_one sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_one ifconfig ${epair_one}a inet 198.51.100.1/25 - jexec carp_uni_v4_one ifconfig ${epair_two}a inet 198.51.100.129/25 + # The router + vnet_mkjail ${j}one ${epair_one}a ${epair_two}a + # The hosts + vnet_mkjail ${j}two ${epair_one}b + vnet_mkjail ${j}three ${epair_two}b - jexec carp_uni_v4_two sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_two ifconfig ${epair_one}b 198.51.100.2/25 up - jexec carp_uni_v4_two route add 198.51.100.224 198.51.100.1 - # A peer address x.x.x.224 to catch PR 284872 - jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \ - peer 198.51.100.224 192.0.2.1/32 + atf_check -o ignore sysctl -j ${j}one net.inet.ip.forwarding=1 + atf_check ifconfig -j ${j}one ${epair_one}a inet 198.51.100.1/25 + atf_check ifconfig -j ${j}one ${epair_two}a inet 198.51.100.129/25 - sleep 0.2 - jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up - jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129 - jexec carp_uni_v4_three ifconfig ${epair_two}b add vhid 1 \ - peer 198.51.100.2 192.0.2.1/32 + atf_check ifconfig -j ${j}two ${epair_one}b 198.51.100.2/25 up + atf_check -o ignore route -j ${j}two -n add default 198.51.100.1 + atf_check ifconfig -j ${j}three ${epair_two}b 198.51.100.224/25 up + atf_check -o ignore route -j ${j}three -n add default 198.51.100.129 + + sleep 0.1 # Sanity check - atf_check -s exit:0 -o ignore jexec carp_uni_v4_two \ + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.2 + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.224 + atf_check -o ignore jexec ${j}two \ ping -c 1 198.51.100.224 - wait_for_carp carp_uni_v4_two ${epair_one}b \ - carp_uni_v4_three ${epair_two}b + # A peer address x.x.x.224 to catch PR 284872 + atf_check ifconfig -j ${j}two ${epair_one}b add vhid 1 \ + peer 198.51.100.224 192.0.2.1/32 + sleep 0.2 + atf_check ifconfig -j ${j}three ${epair_two}b add vhid 1 \ + peer 198.51.100.2 192.0.2.1/32 - # Setup RIPv2 route daemon - jexec carp_uni_v4_two routed -s -Pripv2 - jexec carp_uni_v4_three routed -s -Pripv2 - jexec carp_uni_v4_one routed -Pripv2 + wait_for_carp ${j}two ${epair_one}b \ + ${j}three ${epair_two}b - # XXX Wait for route propagation - sleep 3 + if is_master ${j}two ${epair_one}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.2 + fi - atf_check -s exit:0 -o ignore jexec carp_uni_v4_one \ - ping -c 3 192.0.2.1 + if is_master ${j}three ${epair_two}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.224 + fi + + # Not necessarily required, but just in case + atf_check -o ignore jexec ${j}one \ + ping -c 1 192.0.2.1 # Check that we remain in unicast when tweaking settings - atf_check -s exit:0 -o ignore \ - jexec carp_uni_v4_two ifconfig ${epair_one}b vhid 1 advskew 2 - atf_check -s exit:0 -o match:"peer 198.51.100.224" \ - jexec carp_uni_v4_two ifconfig ${epair_one}b + atf_check -o ignore \ + ifconfig -j ${j}two ${epair_one}b vhid 1 advskew 2 + atf_check -o match:"peer 198.51.100.224" \ + ifconfig -j ${j}two ${epair_one}b } unicast_v4_cleanup() { - jexec carp_uni_v4_one killall routed - jexec carp_uni_v4_two killall routed - jexec carp_uni_v4_three killall routed vnet_cleanup } From nobody Sat May 9 18:52:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqc3ZHqz6cMSV for ; Sat, 09 May 2026 18:52: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 4gCZqc1HQCz3VcR for ; Sat, 09 May 2026 18:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZQqfj8I8gsJWF02rNa+Gl9/qNQG/2pgOyz90uGQLVIs=; b=MlskTupOSvM2EVhtY/UEB14FKZaYS1DGUdC6xg5SqtY7GrRXy5aet2IZx9gCOscu9dX4ju BqefIXRnMHAGZPpdJaUwv5CVcY4zGTMaCkMKnUsXQ9F/pe2IWIkYZApLWoFWUvyXUa9sRl N3NaPU6kp71RJJrzSz6qh3m7FOeI6+4GD8yjJTce398ELuGYVZbprg8Z1NR9C8X996WAkB /jTDSUWJi1b8lpVgbXTvWgF+92cXpkyfX9kHAzPAK+k7WIauMG94W/hyfX3Q0jElJbSJ0l V6TtXuyEeinq32C/FW+Vkr3OVg6SAGVYLxCud8+7aT1f6g0PSl6WlnKOm1OMig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778352764; a=rsa-sha256; cv=none; b=exwpPQq9Lwlq3/HPzoIsafKQAlcBHEK+pzNrngt7igMD7/Y9NrEYL8rg05lG01zoZqPn+k 5RdYEG5kMsdsK/44J6369rXEOXijTTl0/STqU/7GTNNfyXlUlcOnJL/jy4OoQP/Ym8FFe0 C+8ORu2shEpg0PEQYPIaOI9jgS9L45HNRlN601D0kf0XzTyDLrhzDGu8m2OOU4Kw8pYR3B qX/qcF4h3HWEgzVoJEQ1MYVRSfaSGOlEyj5ViURVn8bVGbTNnydP1T9fY2OIxXmG98Offn vpcdOlpGQ5TXhI1iZs8QZbffum68vOamvSD/9qvrfnXiNTVrvilFQZt3wrk0ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778352764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZQqfj8I8gsJWF02rNa+Gl9/qNQG/2pgOyz90uGQLVIs=; b=gW8AthhRmnY8+AV/Dpksnw4pvUnwONHmtqfvoIl2vGtSKXWEnacgyZ0hymPbjv1GiRI4xy ZbOI6xSt6JNvD/TktVXlELxTC1uXnSBfAu53exJBujB5L79fXgw8hzKVf8woFjs38FreXs C+tKtseIrd00vRHl93cPI630O0AjCIfm2jpshWZ2oZA9KIMeBGuXbE8nazAJ6kFk4yDSmQ IbDLvbDhULAwGX/msHMQekQ8TvCcpkx0H2rEEk5U1YM+1d3EDdHusSqdtRAQJ44GwAPcxo Cw33G3on5gy8FS/MUt2AZy26pkfvZbTArQuAbnyolviuRvzDi+LJrKsTcQNCzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCZqc0q5Gz19mh for ; Sat, 09 May 2026 18:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47606 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 18:52:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 89096d660ea8 - stable/15 - tests/carp: kill routed(8) before destroying interfaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 89096d660ea8e3f4696abeb6745ffedf15e7aa89 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 18:52:38 +0000 Message-Id: <69ff8276.47606.3e8ea2d5@gitrepo.freebsd.org> The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=89096d660ea8e3f4696abeb6745ffedf15e7aa89 commit 89096d660ea8e3f4696abeb6745ffedf15e7aa89 Author: Gleb Smirnoff AuthorDate: 2025-10-15 18:44:54 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-09 18:51:11 +0000 tests/carp: kill routed(8) before destroying interfaces Otherwise routed logs a warning: "MCAST_LEAVE_GROUP ALLROUTERS: Can't assign requested address" that may be misinterpreted as a problem. (cherry picked from commit 8596810d02a1e361e0312d116339aa106aca4b19) --- tests/sys/netinet/carp.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 2aae2854826e..568d2beaf914 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -215,6 +215,9 @@ unicast_v4_body() unicast_v4_cleanup() { + jexec carp_uni_v4_one killall routed + jexec carp_uni_v4_two killall routed + jexec carp_uni_v4_three killall routed vnet_cleanup } From nobody Sat May 9 19:24:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCbXX5pdvz6cfV5 for ; Sat, 09 May 2026 19:24:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCbXX4yqhz3Z5B for ; Sat, 09 May 2026 19:24:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778354684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aL/xUmuHpH0KlVSwvnfhHPQwj1oAIaNLIwMlY5By4Yo=; b=nzexF8PtaUQr/tog2KX6dVNAeipMV9sHnFtUXdcYbrTkwKnzDOWJfyg+TYTVtMyG7waeU5 v3tssSDCOSay4pjBae+kw6CIVL/wSO7XEXSMZ+LHVZDNDgjNS1450M7WRMDoAae8cGz2S0 XXRd2xVaf3K777EMHtAWA6plPBgUc89dcyv6vjzJVUBF/tM/hO3FpjKHvR+RQV+2RJns8R EeQjSaSDaviSgcUfkq6giDD2FdAHrHgZZQvWyChbTptlFp2IE4kr2aPT4c9KJtAfLOZyBd 3NgVKBlDlpvGvIPSEToBsp3FLEsSu9M5fpEI6sEJKGTl7iV8vUwZePHhL/DSbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778354684; a=rsa-sha256; cv=none; b=A3hFzpln24w8tcspTEJVRIbxxnN17MuCFkWFM+BYIV1mVOF+nV6pQoM6ARDp35Apw5t8zU dzNrDw9AgKaoqJgwPAju9eNQ+y+cS4zlorIZ972+JDwoJnMkDAYp0capzXQLx+108fNJKd xIhY0VroOiUcLOq9XGOh475KIQ9xSuOwGn/PNcaYNt6dXaC2FT4OBgES+qBkFC2zC/l6ik HbXylx6LEhmSeVICis61O+JvtKxHtgE/l76c04vaTENRnMSMl8C863LeS7SRe355W3iDkx fv5BAkJnGbsgO910Z52RRjB+W+Q8HEoY3JpimegPEC+F6PHBUBo2q/Q17VvdQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778354684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aL/xUmuHpH0KlVSwvnfhHPQwj1oAIaNLIwMlY5By4Yo=; b=TusdX8sSFQ3byX4r9qpXBpmBmb6w1ZU5KBZMNsMbJDeY3y/jtrVmlJPXlnwp+G6ew3RnV3 hyHmvnlX/CMwI54n0h4DL0SzRSXVHVU/Bfqae1o5ERRa1UW+c/PK7i7qbXJchPhkCd10// vxJ+2iiA1xL+WecWsr7KKyyFdQMvpoBcezQOxuMjYZoASQR9g2mP23uTcpsu8yClbO5fRJ mpwNl3Up3cJrmbJuSPYdRNUra5kEWGrcYVfg5WQG7Uq7juO2AozZIVPJkyLByX71eHnI4B ilR4EyvXqPtdnnHLZYhH2z00NR5vIUpVq1Y7t1y6kvHO8NBAX0xXME4sIoIMhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCbXX41x0z1BXD for ; Sat, 09 May 2026 19:24:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1bb84 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 19:24:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: f06697907f36 - stable/15 - unix: Make sure we signal EOF on the write side when disconnecting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: f06697907f360b02682594c6179a7361644d3c87 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 19:24:44 +0000 Message-Id: <69ff89fc.1bb84.f469540@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f06697907f360b02682594c6179a7361644d3c87 commit f06697907f360b02682594c6179a7361644d3c87 Author: Mark Johnston AuthorDate: 2026-05-03 15:46:22 +0000 Commit: Mark Johnston CommitDate: 2026-05-09 19:16:02 +0000 unix: Make sure we signal EOF on the write side when disconnecting Add a regression test. PR: 294014 Reported by: diizzy Reviewed by: glebius MFC after: 1 week Fixes: d15792780760 ("unix: new implementation of unix/stream & unix/seqpacket") Differential Revision: https://reviews.freebsd.org/D56764 (cherry picked from commit 476805133f5736c2c8638e41d2b5d8dd2c597f3a) --- sys/kern/uipc_usrreq.c | 2 ++ tests/sys/kern/unix_stream.c | 77 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 62 insertions(+), 17 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 6569422a3710..44d0185e9d1c 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -3162,6 +3162,8 @@ unp_soisdisconnected(struct socket *so) so->so_state |= SS_ISDISCONNECTED; so->so_state &= ~SS_ISCONNECTED; so->so_rcv.uxst_peer = NULL; + selwakeuppri(&so->so_wrsel, PSOCK); + KNOTE_LOCKED(&so->so_snd.sb_sel->si_note, 0); socantrcvmore_locked(so); } diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 442b766ac885..df8dd1a15f85 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -109,6 +109,7 @@ typedef void check_func_t(struct check_ctx *); struct check_ctx { check_func_t *method; int sv[2]; + int kq; bool timeout; union { enum { SELECT_RD, SELECT_WR } select_what; @@ -156,24 +157,47 @@ check_poll(struct check_ctx *ctx) } static void -check_kevent(struct check_ctx *ctx) +add_kevent(struct check_ctx *ctx) { struct kevent kev; - int nfds, kq; + int kq, nfds; + + if (ctx->kq <= 0) { + kq = kqueue(); + ATF_REQUIRE(kq > 0); + ctx->kq = kq; + } - ATF_REQUIRE(kq = kqueue()); EV_SET(&kev, ctx->sv[0], ctx->kev_filter, EV_ADD, 0, 0, NULL); - nfds = kevent(kq, &kev, 1, NULL, 0, NULL); + nfds = kevent(ctx->kq, &kev, 1, NULL, 0, NULL); ATF_REQUIRE_MSG(nfds == 0, "kevent() returns %d errno %d", nfds, errno); - nfds = kevent(kq, NULL, 0, &kev, 1, ctx->timeout ? +} + +static void +check_kevent(struct check_ctx *ctx) +{ + struct kevent kev; + int nfds; + + nfds = kevent(ctx->kq, NULL, 0, &kev, 1, ctx->timeout ? &(struct timespec){.tv_nsec = 1000000} : NULL); ATF_REQUIRE_MSG(nfds == ctx->nfds, "kevent() returns %d errno %d", nfds, errno); - ATF_REQUIRE(kev.ident == (uintptr_t)ctx->sv[0] && - kev.filter == ctx->kev_filter && - (kev.flags & ctx->kev_flags) == ctx->kev_flags); - close(kq); + if (nfds > 0) { + ATF_REQUIRE_EQ(kev.ident, (uintptr_t)ctx->sv[0]); + ATF_REQUIRE_EQ(kev.filter, ctx->kev_filter); + ATF_REQUIRE_EQ(kev.flags & ctx->kev_flags, ctx->kev_flags); + } + close(ctx->kq); + ctx->kq = -1; +} + +static void +add_and_check_kevent(struct check_ctx *ctx) +{ + add_kevent(ctx); + check_kevent(ctx); } static void @@ -287,7 +311,7 @@ ATF_TC_WITHOUT_HEAD(full_writability_kevent); ATF_TC_BODY(full_writability_kevent, tc) { struct check_ctx ctx = { - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_WRITE, }; @@ -312,7 +336,7 @@ ATF_TC_BODY(connected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -333,13 +357,13 @@ ATF_TC_BODY(unconnected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); } -ATF_TC_WITHOUT_HEAD(peerclosed_writability); -ATF_TC_BODY(peerclosed_writability, tc) +ATF_TC_WITHOUT_HEAD(peerclosed_writability_level); +ATF_TC_BODY(peerclosed_writability_level, tc) { struct check_ctx ctx = { .timeout = false, @@ -355,6 +379,24 @@ ATF_TC_BODY(peerclosed_writability, tc) check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; ctx.kev_flags = EV_EOF; + add_and_check_kevent(&ctx); + + close(ctx.sv[0]); +} + +ATF_TC_WITHOUT_HEAD(peerclosed_writability_edge); +ATF_TC_BODY(peerclosed_writability_edge, tc) +{ + struct check_ctx ctx = { + .timeout = false, + .nfds = 1, + }; + + do_socketpair(ctx.sv); + ctx.kev_filter = EVFILT_WRITE; + ctx.kev_flags = EV_EOF; + add_kevent(&ctx); + close(ctx.sv[1]); check_kevent(&ctx); close(ctx.sv[0]); @@ -384,7 +426,7 @@ ATF_TC_BODY(peershutdown_writability, tc) * and then this test will also expect EV_EOF in returned flags. */ ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -463,7 +505,7 @@ ATF_TC_WITHOUT_HEAD(peershutdown_wakeup_kevent); ATF_TC_BODY(peershutdown_wakeup_kevent, tc) { peershutdown_wakeup(&(struct check_ctx){ - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_READ, .kev_flags = EV_EOF, }); @@ -525,7 +567,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, full_writability_select); ATF_TP_ADD_TC(tp, full_writability_poll); ATF_TP_ADD_TC(tp, full_writability_kevent); - ATF_TP_ADD_TC(tp, peerclosed_writability); + ATF_TP_ADD_TC(tp, peerclosed_writability_level); + ATF_TP_ADD_TC(tp, peerclosed_writability_edge); ATF_TP_ADD_TC(tp, peershutdown_writability); ATF_TP_ADD_TC(tp, peershutdown_readability); ATF_TP_ADD_TC(tp, peershutdown_wakeup_select); From nobody Sat May 9 20:44:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCdJQ1sW7z6cmYH for ; Sat, 09 May 2026 20:44: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 4gCdJQ0LFFz3nBW for ; Sat, 09 May 2026 20:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778359462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KbLu2Jts0rFU6C12r7vlXFVLIicsD6VYUHrDsvhHxek=; b=danRtERRKxwtyAIrkz+oQzKPEn/yfYKPXyOmbow5fqcD0g4aR/XTg9AgfQEgXA39KTMarc Xbtg18wDB0nBQ8VXgEx422/yhccTKTdn4zZlXRoEU9cHmcltZ4b0x5fhaFS7vujmExQljF Mozb3FkTFTCxc81phF11P8vr08t2v5UOMklg/B3zdPk5cTcJcovfcFftYiJIZS7ZAo/PLj yfyPDDKaX6KHWjxfnXl/tv8PewzVcNxPYfxwOxsQoAaD3Pg1c1FZBcnAzyjO/nc5m7zZn8 irKnAa0DtjJ/dp2RHVN0l3HR7RzGSCGtXfSE9yIHmX3VEbc996fV0tfxe2KLig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778359462; a=rsa-sha256; cv=none; b=YIUjCWoOU/JnCo6TvrdFj+ZoNmSM+557S2NaHcTerDugL5Q1UWKAlFpZNk0g3L/ayUWT0/ EpddoIzb1tESgtHEHEV2u+kCbk+GZ5Yduw7dKfVunA7QluuNbgTYbmn4QH1aWuNVTj9GPu YW0xEUN1/4CTeHJz4IytqZ8xiuu/YMcLaJG+dBUImLB9/IE8i9MrC5/FGP+qdiHFanfFUb Ax5yLfcAVbdLh/UNER5xLBfbdrdED+7ersHRc6c1H0hyxTwMsJzjfeF0YyeweRaCGR3M6V qAxj9jVMaR9reNQgtCqMoAiT0nl88T4jv/kX78YKdXN8mSm3+lKEYuwj51uXOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778359462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KbLu2Jts0rFU6C12r7vlXFVLIicsD6VYUHrDsvhHxek=; b=IQJoQXbGVsupFJZHcZ2oDrmD1bK3FP7bO41VIdIQzUhGrwPHdtf6+y8tPPriMyT5BVySJt zygNf5+dbzvzX63rUk0laAIJZ6QA1OJpMeOPJ8HLfqiBga6VvcID7niD8ID6F23n+lqO8u yFrIxv1p+QL6plt3dQjsv7ars4NstVExGTEuRzOZRZ+izDmm9Y8OL4/zM187ebnWv1dkNk /lpQ20c/L+vA44w1mQbS2dH0YN1XEBFkc9+yNqX/AwQnsNXba0hIH3byShEupEjJoDvRgv fDyup4uVNQq8pBI9DIpwroQ7Li6CwYOu8vek3Dtm6EEjB2B8kGSfJHRDK+tvwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCdJP6mVZz1DYP for ; Sat, 09 May 2026 20:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23d0e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 20:44:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Konstantin Belousov From: Colin Percival Subject: git: b333b8799af0 - releng/15.1 - uipc_shm.c: make large page allocation interruptible List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: b333b8799af00b2b95681219a6b222403c3bfdc9 Auto-Submitted: auto-generated Date: Sat, 09 May 2026 20:44:21 +0000 Message-Id: <69ff9ca5.23d0e.20d7599b@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b333b8799af00b2b95681219a6b222403c3bfdc9 commit b333b8799af00b2b95681219a6b222403c3bfdc9 Author: Konstantin Belousov AuthorDate: 2026-04-28 02:34:49 +0000 Commit: Colin Percival CommitDate: 2026-05-09 20:44:10 +0000 uipc_shm.c: make large page allocation interruptible Approved by: re (cperciva) (cherry picked from commit 839d3266d8c6f6471cb92a3c0ae32eb16d117427) (cherry picked from commit c335dafd77363b67493d37ab260bc82e70c8cfa7) --- sys/kern/uipc_shm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 0ad5be2e8d71..197409d97f0c 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -829,12 +829,20 @@ shm_dotruncate_largepage(struct shmfd *shmfd, off_t length, void *rl_cookie) * object lock might allowed mapping of them. */ while (object->size < newobjsz) { + error = sig_intr(); + if (error != 0) + return (error); m = vm_page_alloc_contig(object, object->size, aflags, pagesizes[psind] / PAGE_SIZE, 0, ~0, pagesizes[psind], 0, VM_MEMATTR_DEFAULT); if (m == NULL) { VM_OBJECT_WUNLOCK(object); + error = sig_intr(); + if (error != 0) { + VM_OBJECT_WLOCK(object); + return (error); + } if (shmfd->shm_lp_alloc_policy == SHM_LARGEPAGE_ALLOC_NOWAIT || (shmfd->shm_lp_alloc_policy == From nobody Sat May 9 20:44:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCdJW06SVz6cmSh for ; Sat, 09 May 2026 20:44: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 4gCdJV3dvkz3nWm for ; Sat, 09 May 2026 20:44:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778359466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sK3mhCBS/PBNGSL5QPfcyylXhQK/S6DkHRTKnr4Kzk8=; b=GD1aqxIYZjtkR3XSOkh+EDfCJ2eMc2e90+9uADWyy/BqdoTX+E6mgFURhYao2IHchAo+9m HhVLnd32m1Rapq1UDmLOCVrszZEJdsfDGqEEKZsraApGRJC/0uYHoCTiAugTrkP1OSLpIX IGoQGDOecSTpg2tU5cpYWpaR7Ca1jJqaLXBDdxkoosPiEYYfrQpEqSf5gHK8lXqr9bP+FM HFk7vLvwHfCSVnQttIOzXezlDyDVbrzOSB5GQZ9ig1oz4C4G8A+UYWX2kcdl9nNA40sNCI mW4jPLTpr2JPbzm6BK92Eqgsv7emMQWFO5Yb3pDR9r6bbNEkoTyl7kfSiqUDTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778359466; a=rsa-sha256; cv=none; b=bMNgOH3AaQXU/WgkezpX+dPG+mPSAMML1pfUG3qnOctkhbq6gZ6JAO3RHsJNAXOTnzzaUg 2cqdlZg2A5+C+MH7F8WOP3QNquivJ0V0ngEK/Yc7njouIT5ypl2RpenPcu9tR4HHesooYf AswNte3KVywLT+9ZZgrdgiFPN4G/TkF0Ce2D5NnKmpplHCne00hiQ0ekrpQo9BHqbpOXbG 0fAXMcFo3TNB7enGlsrXF1G6HQY2hoZs6EjCMECcMZuYWmdMXlnJ5T1yFso3MG4WoHPwz0 hB5KSvgnPe+wCE9PCM6i/uQvp/0pfQJt3H7ZmFALkoAa9S3Ra5vXk+KW9pz/Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778359466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sK3mhCBS/PBNGSL5QPfcyylXhQK/S6DkHRTKnr4Kzk8=; b=tOZ7HvzACXP1fmO9WmXKt2TFKo83+Gfdl1f0vKD2iNTtltKrv7esuLvp/G+hKTqbf7kpfw 5VW9XTMzUu0i3di7Ylwt3F4KmhBIha6ebfV9/AMTFZEfxUSFrIechki8QVnBT+VD0Q+zjV zoGJ+zzXs98PYQlzQBeAjFZpjW12S1Vd/VpJRXRZZLB0y+BFCPph0VeD2WQL/Gg4JkA21u kCsmG/eyNqbhNB+33qHtJtqKecvFqGLaGhYHC0cyNGmTzBevDmD9+MYBf38grJHUpuEd1Z 2uzxm00KPQPfstyPrOxbGzoXSlKj8uKkLjRrl+giqz+AZW34yIcF8sQeU6FTcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCdJV0Trfz1DYQ for ; Sat, 09 May 2026 20:44:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23ffe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 09 May 2026 20:44:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Mark Johnston From: Colin Percival Subject: git: 037b285b80e5 - releng/15.1 - unix: Make sure we signal EOF on the write side when disconnecting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.1 X-Git-Reftype: branch X-Git-Commit: 037b285b80e5cb35c8e9cec4e85966b20f03d91a Auto-Submitted: auto-generated Date: Sat, 09 May 2026 20:44:20 +0000 Message-Id: <69ff9ca4.23ffe.55918be4@gitrepo.freebsd.org> The branch releng/15.1 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=037b285b80e5cb35c8e9cec4e85966b20f03d91a commit 037b285b80e5cb35c8e9cec4e85966b20f03d91a Author: Mark Johnston AuthorDate: 2026-05-03 15:46:22 +0000 Commit: Colin Percival CommitDate: 2026-05-09 20:44:04 +0000 unix: Make sure we signal EOF on the write side when disconnecting Add a regression test. Approved by: re (cperciva) PR: 294014 Reported by: diizzy Reviewed by: glebius MFC after: 1 week Fixes: d15792780760 ("unix: new implementation of unix/stream & unix/seqpacket") Differential Revision: https://reviews.freebsd.org/D56764 (cherry picked from commit 476805133f5736c2c8638e41d2b5d8dd2c597f3a) (cherry picked from commit f06697907f360b02682594c6179a7361644d3c87) --- sys/kern/uipc_usrreq.c | 2 ++ tests/sys/kern/unix_stream.c | 77 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 62 insertions(+), 17 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 6569422a3710..44d0185e9d1c 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -3162,6 +3162,8 @@ unp_soisdisconnected(struct socket *so) so->so_state |= SS_ISDISCONNECTED; so->so_state &= ~SS_ISCONNECTED; so->so_rcv.uxst_peer = NULL; + selwakeuppri(&so->so_wrsel, PSOCK); + KNOTE_LOCKED(&so->so_snd.sb_sel->si_note, 0); socantrcvmore_locked(so); } diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 442b766ac885..df8dd1a15f85 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -109,6 +109,7 @@ typedef void check_func_t(struct check_ctx *); struct check_ctx { check_func_t *method; int sv[2]; + int kq; bool timeout; union { enum { SELECT_RD, SELECT_WR } select_what; @@ -156,24 +157,47 @@ check_poll(struct check_ctx *ctx) } static void -check_kevent(struct check_ctx *ctx) +add_kevent(struct check_ctx *ctx) { struct kevent kev; - int nfds, kq; + int kq, nfds; + + if (ctx->kq <= 0) { + kq = kqueue(); + ATF_REQUIRE(kq > 0); + ctx->kq = kq; + } - ATF_REQUIRE(kq = kqueue()); EV_SET(&kev, ctx->sv[0], ctx->kev_filter, EV_ADD, 0, 0, NULL); - nfds = kevent(kq, &kev, 1, NULL, 0, NULL); + nfds = kevent(ctx->kq, &kev, 1, NULL, 0, NULL); ATF_REQUIRE_MSG(nfds == 0, "kevent() returns %d errno %d", nfds, errno); - nfds = kevent(kq, NULL, 0, &kev, 1, ctx->timeout ? +} + +static void +check_kevent(struct check_ctx *ctx) +{ + struct kevent kev; + int nfds; + + nfds = kevent(ctx->kq, NULL, 0, &kev, 1, ctx->timeout ? &(struct timespec){.tv_nsec = 1000000} : NULL); ATF_REQUIRE_MSG(nfds == ctx->nfds, "kevent() returns %d errno %d", nfds, errno); - ATF_REQUIRE(kev.ident == (uintptr_t)ctx->sv[0] && - kev.filter == ctx->kev_filter && - (kev.flags & ctx->kev_flags) == ctx->kev_flags); - close(kq); + if (nfds > 0) { + ATF_REQUIRE_EQ(kev.ident, (uintptr_t)ctx->sv[0]); + ATF_REQUIRE_EQ(kev.filter, ctx->kev_filter); + ATF_REQUIRE_EQ(kev.flags & ctx->kev_flags, ctx->kev_flags); + } + close(ctx->kq); + ctx->kq = -1; +} + +static void +add_and_check_kevent(struct check_ctx *ctx) +{ + add_kevent(ctx); + check_kevent(ctx); } static void @@ -287,7 +311,7 @@ ATF_TC_WITHOUT_HEAD(full_writability_kevent); ATF_TC_BODY(full_writability_kevent, tc) { struct check_ctx ctx = { - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_WRITE, }; @@ -312,7 +336,7 @@ ATF_TC_BODY(connected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -333,13 +357,13 @@ ATF_TC_BODY(unconnected_writability, tc) ctx.poll_events = POLLOUT | POLLWRNORM; check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); } -ATF_TC_WITHOUT_HEAD(peerclosed_writability); -ATF_TC_BODY(peerclosed_writability, tc) +ATF_TC_WITHOUT_HEAD(peerclosed_writability_level); +ATF_TC_BODY(peerclosed_writability_level, tc) { struct check_ctx ctx = { .timeout = false, @@ -355,6 +379,24 @@ ATF_TC_BODY(peerclosed_writability, tc) check_poll(&ctx); ctx.kev_filter = EVFILT_WRITE; ctx.kev_flags = EV_EOF; + add_and_check_kevent(&ctx); + + close(ctx.sv[0]); +} + +ATF_TC_WITHOUT_HEAD(peerclosed_writability_edge); +ATF_TC_BODY(peerclosed_writability_edge, tc) +{ + struct check_ctx ctx = { + .timeout = false, + .nfds = 1, + }; + + do_socketpair(ctx.sv); + ctx.kev_filter = EVFILT_WRITE; + ctx.kev_flags = EV_EOF; + add_kevent(&ctx); + close(ctx.sv[1]); check_kevent(&ctx); close(ctx.sv[0]); @@ -384,7 +426,7 @@ ATF_TC_BODY(peershutdown_writability, tc) * and then this test will also expect EV_EOF in returned flags. */ ctx.kev_filter = EVFILT_WRITE; - check_kevent(&ctx); + add_and_check_kevent(&ctx); close(ctx.sv[0]); close(ctx.sv[1]); @@ -463,7 +505,7 @@ ATF_TC_WITHOUT_HEAD(peershutdown_wakeup_kevent); ATF_TC_BODY(peershutdown_wakeup_kevent, tc) { peershutdown_wakeup(&(struct check_ctx){ - .method = check_kevent, + .method = add_and_check_kevent, .kev_filter = EVFILT_READ, .kev_flags = EV_EOF, }); @@ -525,7 +567,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, full_writability_select); ATF_TP_ADD_TC(tp, full_writability_poll); ATF_TP_ADD_TC(tp, full_writability_kevent); - ATF_TP_ADD_TC(tp, peerclosed_writability); + ATF_TP_ADD_TC(tp, peerclosed_writability_level); + ATF_TP_ADD_TC(tp, peerclosed_writability_edge); ATF_TP_ADD_TC(tp, peershutdown_writability); ATF_TP_ADD_TC(tp, peershutdown_readability); ATF_TP_ADD_TC(tp, peershutdown_wakeup_select); From nobody Sun May 10 00:59:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCkyk4TZKz6d5Fj for ; Sun, 10 May 2026 00:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCkyk2jhFz3c26 for ; Sun, 10 May 2026 00:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778374766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljt0422W1AOgTcqtqEtihhL2+zbaLdNCrWQwEblOI88=; b=IEDpxCzJZnVc/mqQpJ2qNxHoEsIV8yDzSXpLUCOErarcdiDlxokv842FRHJ6cU7J1ieAIM fwWdX9GaYkdNIueJ237vWXg7hG/IOjKQEwFnZN/7+CXMV5L9NU0YeyqSQ3TT0MTtFOR+YL taIP40GI+bPeZyu3PWi1mAjiXe2HWSX8mtwJBzHfG6pHRfaBv3ZTQn6EXK52OBeUaSpKzO EGnXC3CZtqveZWp/WZCCkkCrCrxAJvfur6527l2s36KdHm4H3MRdlExQTdoo9vE56kR+xN 8MtkBwUB6yru9PuGQoWzvmpKhAlma6APnTm+1fpil5piHEFDlndkL+LQUIxsLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778374766; a=rsa-sha256; cv=none; b=tyx6u30B+ukfKTnG66nv35I94ASYBB5UkupHjUke4wN1OLnGuB4MW0/FDhDCvaumxUM+L8 twi/JS1unY9pmQrmZJEUon/BXDzd6hoKDzpoeiRGLwBXbAZ2512LKhZvC714Bu2PTFq0y5 3c3Be7tB4vZPkXW8WnFAzusn8OjrVRqAl3PS2FM3Im6xgzGLZ/mBj5wnoMZYE9GhkLxd2F ziiL/4dxrPr/oXJPM3pTf7YYT48d7HZDRA8OrnXABvBaCCr8GZgoQHR93epDnjxJSzHJQn wTLLj9w6BJn5SSzwwaxygrKPjWwsWySd9BY7G1RHsf4myha119YkCADLIzN4Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778374766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljt0422W1AOgTcqtqEtihhL2+zbaLdNCrWQwEblOI88=; b=LVji/iLi4tH+LQq5AzhcBVz2eER9zPcjsrvhP8BLySu5jO/tqTiSde01MLjfuJG9/+Ekid L5OG8Nldj/LNd6pW4BPOMkHAtpMEm/hJpDRtytgjqaP2jryPGZ+8T0eUIQt5m/51KkrmGU oOgtcBXdz06Dpffr3Dnt1GVw+QyDpX3oOx2fy6ki0Fya9lcsDQJqxw/gHSowLLnDEd5G12 s07CuctZnMMHGy7wb5mPrzL2xlRkVGm6H6bro0UZgIh/Ju/Q5wKSLewurnNAdG4PyN8c90 45/H4t9ZfqoBflfxVyIXaadjD5FhJL6bmsM+Gxe2Oi/yy6fX6IEh9Zdcs5fhUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCkyk21wFz1LYl for ; Sun, 10 May 2026 00:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 448ba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 00:59:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 0f36cf87a5a2 - stable/15 - blocklistd: Fix RFC1918 typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0f36cf87a5a2ece436f2c19596f99fdb7dd9db3e Auto-Submitted: auto-generated Date: Sun, 10 May 2026 00:59:26 +0000 Message-Id: <69ffd86e.448ba.384acf48@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=0f36cf87a5a2ece436f2c19596f99fdb7dd9db3e commit 0f36cf87a5a2ece436f2c19596f99fdb7dd9db3e Author: Jose Luis Duran AuthorDate: 2026-05-03 05:31:51 +0000 Commit: Jose Luis Duran CommitDate: 2026-05-10 00:51:24 +0000 blocklistd: Fix RFC1918 typo The address in the configuration file example was intended to be from the 192.168.0.0/16 range of IPv4 private addresses (RFC1918). Reported on mastodon.social at https://mastodon.social/@asmodai/116316630762241486. Fix submitted upstream by emaste@. Fixing locally first. Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56773 (cherry picked from commit 5a6d9479ae2271a97dd23ceee8ad284770302874) --- usr.sbin/blacklistd/blacklistd.conf | 2 +- usr.sbin/blocklistd/blocklistd.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/blacklistd/blacklistd.conf b/usr.sbin/blacklistd/blacklistd.conf index ec995e038574..04a09f8d3dea 100644 --- a/usr.sbin/blacklistd/blacklistd.conf +++ b/usr.sbin/blacklistd/blacklistd.conf @@ -14,7 +14,7 @@ submission stream * * * 3 24h # adr/mask:port type proto owner name nfail duration [remote] -#129.168.0.0/16 * * * = * * +#192.168.0.0/16 * * * = * * #[2001:db8::]/32:ssh * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = diff --git a/usr.sbin/blocklistd/blocklistd.conf b/usr.sbin/blocklistd/blocklistd.conf index c6c7f7c2fafc..db9a6fc5c720 100644 --- a/usr.sbin/blocklistd/blocklistd.conf +++ b/usr.sbin/blocklistd/blocklistd.conf @@ -10,7 +10,7 @@ submission stream * * * 3 24h # adr/mask:port type proto owner name nfail duration [remote] -#129.168.0.0/16 * * * = * * +#192.168.0.0/16 * * * = * * #[2001:db8::]/32:ssh * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = From nobody Sun May 10 01:00:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCl0G5TQBz6d5pW for ; Sun, 10 May 2026 01:00: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 4gCl0G2X3gz3cF8 for ; Sun, 10 May 2026 01:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778374846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrXF1HUsyhDRPoq+bCOMmGnUl8X3P86tdzWtuDc+7sc=; b=DAR6TyLRxEfjCHnQP3800vuv9b6B20vJYfksMtV15tFDHw+khZWKtza2xdS+gW03bLv4di /l7wIhY6peuog+8RqcJHpBdkVhWFbMRemW/uCzVYbNoA0sYsdB7atimjJ1REEsVnZZtNEY FClSx3G2jW+HA4xn/zyUV1YfHa+/1OPtxds3lVa1RQ6icw52dgEg5uY8ziJOoixEqDuK6i 5RLkEnsHKkB3A5GVyJ1FSAKXLJBSxJ3jRh/f+ghnhdq5jv7aHEXE2WLwRqoph75hMIKl3o Iuok1o8R12kU5viDn1USWTeF+TGG0Ae/XSQol9layAwgyj/rK7OXRy4ZY4NKkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778374846; a=rsa-sha256; cv=none; b=bo5qtcZiBs3HJV7EoqOu/tvVqslWkf0MgKiosStjmC37bMn9L/zC2xBlzis6Rd2ixJemZ7 T2h4RzWRuYI/SeJZQoHHWgMT6YoYHyHjdDLcHy5VIj0qsSKp8giKAxJYRDSHm1P4aIOq96 sx23Y1Gd/XmjQC/d91YM6EInrvmLDKl9WrWddJMEN/1NpBvXbAFcQS2VJM73de7m0iUMxn qap03jK2z1H7bsRWvlj1DncXRqKwMWM0vbqBMR9fNqWVhxhKY7bEDHvCQnLBoqxNIABnsz yEAhdpUu/gpQwANfdZ7o//h30yKXNONzigm71Xd/RPYnT9koIppXE1fR3sc0IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778374846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrXF1HUsyhDRPoq+bCOMmGnUl8X3P86tdzWtuDc+7sc=; b=KAc+gLaqDHTe4kpuXPW0o8gTU5n0g708H7vNWrRJuTs4AzdiqALiLlLyuHc9Uy7N9Wivi1 0CxAjdHleeHKER2XHf8NS9PE2fxabSrHCsO+KoSk7SfJbf93e19rXGkzew1tmQgGOu8gvN BrCze+SgK0oD/Knj3In+8JJR4j0hE8w/e0CxczgzOx5ZlKn7OYH4Ok4ESK7Di4G6jj8AWA teXYYR4m6AhgR+7sCs59AWrmSmjToMfcAv4heUYG23fd7haq0XK94WGs32G4RMEceH8YSk bXHtKLPdac4QkmLWSN+vDaC4pfisnPToL151D4Q13VZOIaotPmc4kO+xd0WjjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCl0G0hgrz1MMg for ; Sun, 10 May 2026 01:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45740 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 01:00:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 8fe76a3c1240 - stable/14 - blacklistd: Fix RFC1918 typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8fe76a3c1240d2f8f759f9261ac15ec0cff76d32 Auto-Submitted: auto-generated Date: Sun, 10 May 2026 01:00:40 +0000 Message-Id: <69ffd8b8.45740.7650f9a6@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8fe76a3c1240d2f8f759f9261ac15ec0cff76d32 commit 8fe76a3c1240d2f8f759f9261ac15ec0cff76d32 Author: Jose Luis Duran AuthorDate: 2026-05-03 05:31:51 +0000 Commit: Jose Luis Duran CommitDate: 2026-05-10 00:58:35 +0000 blacklistd: Fix RFC1918 typo This is a direct commit to the stable/14 branch, partially cherry picked from commit 5a6d9479ae2271a97dd23ceee8ad284770302874, as the stable/14 branch only has blacklistd. The address in the configuration file example was intended to be from the 192.168.0.0/16 range of IPv4 private addresses (RFC1918). Reported on mastodon.social at https://mastodon.social/@asmodai/116316630762241486. Fix submitted upstream by emaste@. Fixing locally first. Reported by: asmodai Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56773 --- usr.sbin/blacklistd/blacklistd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/blacklistd/blacklistd.conf b/usr.sbin/blacklistd/blacklistd.conf index b8dee6768cc7..35af9567df53 100644 --- a/usr.sbin/blacklistd/blacklistd.conf +++ b/usr.sbin/blacklistd/blacklistd.conf @@ -11,6 +11,6 @@ submission stream * * * 3 24h # adr/mask:port type proto owner name nfail disable [remote] -#129.168.0.0/16 * * * = * * +#192.168.0.0/16 * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = From nobody Sun May 10 06:27:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCtDx5r62z6bJC8 for ; Sun, 10 May 2026 06:27: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 4gCtDx3ZJ7z4GrH for ; Sun, 10 May 2026 06:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UeZajD9qIeBLIQtYsQt2VDDVanOxeTYZOBiLtEKtdkc=; b=QW8eqVw5R7st+tq0iaIWUay6YRxP4ySDa+46+2naNbKkQ0wIgqFdRVwGYfJFlQ0lCbghUJ y/N+oSv/qjMe8j0NHj9qH5O8PHqQ5JQBT4s0h6TtwBLTt7PZyPV8/Hd3jmlS7v/AAXXojn y0wbdArEXWn6EtrNb5W4zZthbkyIPtCvRuCaf3NfYUitXJoyZQ/iBgq8Mf1sfHm9LZcjgL /yGflgnI4WQPGl+A9d9P+frlbVzjHk2UCwSW93cqdp0jLHyB6Mza4bHRZD0KmAteEa97dP XBc6r4qKoa7LmhW42LUhJKBrqTpHYldzWhF3WwfMexhT0xso5C/mTbaWhX21zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778394433; a=rsa-sha256; cv=none; b=ytzBJK/4bHaaDbd8GLc1GzYryCK2CSRA09MbFF/A6iTYKCHbkfVo63AOEwmSdLBSX4nmyo IirAbiQp421soyxTxnaJPdDtkfElRQsREOAQrNbfVWWuvNaKvPsi5n2e4QcTpaBSrNbnL5 OG5gPhwBYDIQk1LB/VnWpzUOmR5J96VfK/9W/4iCaRyzTNW8mugLij9JVhwINrdqSDBj2B 1ZRH4k4zwuwGRB6WtIGzLzlQgRy6VZPLhiiJoh5CZSXJI0lflxYfLWwx4g9y0NHPkowoaF 9Ef9o6PGRNfRL5iy04sN8j/q4Otx78fbyEhQJWzXrGNo1dLWoCdPF4fAuaBkFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UeZajD9qIeBLIQtYsQt2VDDVanOxeTYZOBiLtEKtdkc=; b=WexyfUly2xOlUuORmPu4tzw2HLLdRN+4dC7e3k66rKaNuLhXv5Nk1095EOeT9KxUQzl+La Ej0Ai8FYOjsVdX0brBgHTUO8rjhjzvD7FBv5kqHvOrqCFxa4PD8KfLE434JhKDUdovrSp/ OUOcKvonyXiHLSsldWaQ3Mm7orYMqlbVPRkDfHiWaMF8y0XkpzcTnqWAXZ1lFvjEQuU9oZ Td4Txb2WO9qDvnbFMiuZE0Y/s5kibnonYNgal1xDTADkyAGEXJgfvE1o/2+TkfCM6VEORm wHs1JC9mODWAZpm9eC7SqoWOZCBRmJGj+owlxQXJZ0DvnB5rk7BmcJ+ivvh9kQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCtDx2646z3F5 for ; Sun, 10 May 2026 06:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18f40 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 06:27:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: a08d321948ef - stable/14 - tests/carp: kill routed(8) before destroying interfaces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a08d321948ef172160b0c88d828e8b4b36e96acb Auto-Submitted: auto-generated Date: Sun, 10 May 2026 06:27:13 +0000 Message-Id: <6a002541.18f40.241d5063@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a08d321948ef172160b0c88d828e8b4b36e96acb commit a08d321948ef172160b0c88d828e8b4b36e96acb Author: Gleb Smirnoff AuthorDate: 2025-10-15 18:44:54 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-10 06:25:55 +0000 tests/carp: kill routed(8) before destroying interfaces Otherwise routed logs a warning: "MCAST_LEAVE_GROUP ALLROUTERS: Can't assign requested address" that may be misinterpreted as a problem. (cherry picked from commit 8596810d02a1e361e0312d116339aa106aca4b19) (cherry picked from commit 89096d660ea8e3f4696abeb6745ffedf15e7aa89) --- tests/sys/netinet/carp.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index e14bedb4f878..b861fcf47eab 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -168,6 +168,9 @@ unicast_v4_body() unicast_v4_cleanup() { + jexec carp_uni_v4_one killall routed + jexec carp_uni_v4_two killall routed + jexec carp_uni_v4_three killall routed vnet_cleanup } From nobody Sun May 10 06:27:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCtDy51S5z6bJGW for ; Sun, 10 May 2026 06:27: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 4gCtDy2ShXz4Gps for ; Sun, 10 May 2026 06:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lawnAhuym+zzGsWPb5qn2NkgCE4PKlqaETmR4SER2a4=; b=Z93ip6yZovJR599WVL4fWoSpgpCe3cp3uZwXEjrEdyFpvat0YRWNJH9pAEy+jR1UpGKqBY Ki1o4AzuO2wM5vuDWuDddiZ2Q5+OPv+IvSl1KBO5KizQ8V96YtI/nABZh4x7MdLVlbG80B ZphZ2ljv6/+EYMXdczUupOc54s3QHcVY4MoN0Ag1bYryYrUyVkM3XiEXYKf3or7BtwtkOl 2cFnbFHayB9S2M2RtG22m67C/pMPSKP9fERZPRcDMhskW4XvjmPNE4BBGKWRs6nZSAHcse YhXT6DDWga9l+7qJ8o3xlzNDe4NgpcpSIjCDJYeZDmeqs1qXtGBJ2bgZStYbPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778394434; a=rsa-sha256; cv=none; b=YK21APLsHE2v7IhjKJ0WN7JIzkSGwptpnXtUAtq8hz2wbg9LIcx6/+nawiv2Z7AMNO0rqY 6b5G9Mz7F/xeIhF7TigSauoRQnucSkXHMnlxR2V+nL4/mcbPsK7J/IoS18uuqC6S9twicJ UC89R1YwZVtS2S5PFvH9kwjc45mMVsBU/FQgiEQ1Bg6s7/eJGar09EqA7o7Yx+lTPXM6Az GmIl4fJ9gYSy59UZKlazz8rvQhdTp5MyQdJSmIMbYBdDTeu4/aOl9f/FaI97McdOGAySSR PTYvnu3xRnAXINOtBHWHgNuX2ZIwDYR2mulSd+Q5l0A528nQj5uQlHSG7F9jqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lawnAhuym+zzGsWPb5qn2NkgCE4PKlqaETmR4SER2a4=; b=anQCMKeMEOavtN+rXSvRWRIOB8yeypvelBr+c+3LsLCpkv9ff+Z8pd/7e+a09rMHg3q5se x6YMePF//IwH76L9+qxInlB9BWJ9+Ik8wG6Moz1WpexqwF7ZVpbnvob2BpKs/aa0w9vYv/ 97Prls9VPd8JXA8vVPV6Hb8mkUuEkjSHnLRDJzgK90qCsgkEX0W8rYlD90Gs6m9eO3mxPS JtIL8tGN2lRtY1Cm4NEQj3KffFdC4z7RRNDw0tFs2ZdOcebowoe/14IXcbKd62lNldvgCD gjqSSJpYKVm0CUHBhb6sGyV7iEK7/WuhA4ZVcSv/Wj4ytdQuLn57zmVBz0VAIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCtDy1sMQz3BW for ; Sun, 10 May 2026 06:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1859b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 06:27:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 19552d9749dd - stable/14 - tests/carp: make sleep interval in the wait loop smaller List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 19552d9749dd87f296a33ad96cb4f225799fb15d Auto-Submitted: auto-generated Date: Sun, 10 May 2026 06:27:14 +0000 Message-Id: <6a002542.1859b.200c7f0b@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=19552d9749dd87f296a33ad96cb4f225799fb15d commit 19552d9749dd87f296a33ad96cb4f225799fb15d Author: Gleb Smirnoff AuthorDate: 2025-12-04 18:40:34 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-10 06:25:56 +0000 tests/carp: make sleep interval in the wait loop smaller Makes tests to finish slightly faster. (cherry picked from commit e353cbffd600ae3c00c8584dddcabf9d0ae1202a) (cherry picked from commit 332485a473724c7532690be34ed1be06d9521448) --- tests/sys/netinet/carp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index b861fcf47eab..4d58bcf03c12 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -43,7 +43,7 @@ wait_for_carp() while [ -z "$(is_master ${jail1} ${itf1})" ] && [ -z "$(is_master ${jail2} ${itf2})" ]; do - sleep 1 + sleep 0.1 done if [ -n "$(is_master ${jail1} ${itf1})" ] && From nobody Sun May 10 06:27:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCtF11zZ1z6bJGc for ; Sun, 10 May 2026 06:27: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 4gCtF04j9Kz4GZN for ; Sun, 10 May 2026 06:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+xoqztOCwcD3roywFBU9x+onllk7KBYbDyjGWekCa4A=; b=Tf231Ulz21oGAy2U9TWuRvyvnm1ui8nHoF7HkMzek3bBRxtlXq71ScoSEHv/7LmkPsij6W 9cJEuP0hm7/IRUeLbkvVmz9e13sbQLV+nZrW8F9RvjcpY/xMW5a2YcUvuLO+CWMxdMm2yG ZyXQR8AmmMA6pECtqiIsa4QBA0nqbZVOvxznwwTH5yLoXFP+AULK08/+NSkAF5O2SUSYL3 l5Xm39XXqgh2UK6HJhH5fEb9sxv4fPxw8uwvxbsD+GmOqr4/fzB+DPvQIF9rjMkMpjeJzs 2mKlbDjlCdOgp3Oo9M7BKysZUtMbi42Fz6ir5fRnH5rzhQDZ2GmFhvN9VC997w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778394436; a=rsa-sha256; cv=none; b=mtFh+HJy/UmjcFjddEq0La+RSsfvfVC4l5TFxwbSwVaM+wKW0y3muM+gAsKw5ICkBZ8Iwp AWC7VZL06CZMerExv2y5Of/fCUt+V1ogZ9v/k3K+9avPINJAAo/e5aHkSthfYy1jbvu+Cf DoyFcpLXG+J/PAzuzsilER0CzJ7xGAuNtxNo8uypO/MxHOe0znTJW4gbHePKHtYd8lozh0 +PNYPLz0wSDbMRcnuOz/JlxlkCZIWJnW8t4ik9u2/ouKUD2RFItZkqEnp3uwF4CkYP9wDY MhCOm6L3WUbDiGqgnqdNuiiUmUrC9Mn3O0f0WRqFNh7VyX20rISG3F2Y2SEpLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+xoqztOCwcD3roywFBU9x+onllk7KBYbDyjGWekCa4A=; b=UWAOfcofvnVrWRt8DfscwbxQYSzN4f0UgHqFVDtNeREWglUXtkPeQL31dSi8LtdKoouzj1 ndrY6bPCWiw3jAnK6df0ii7CtVxw4mP256FNK4TqKGsmhLknCtN8UiPZwf92Uvg1c4OQSC 14p6VVxrgkwRkwqMQDSwwQI5f3l77lkFVtuWW2yah14Wua+BXSnAjcILgomlDIarw+FUn+ Ha4Zj+gPycQB9nZsDK9p/2Uox5P5X+fyi/Mcjhnyn5ym2PlqehTyYBjGI8LrntHo+KEH9I qNCKsQhUNSIiNUYgxo9dujiKWPzqQZ0SLpeClBl7eyBiG4PGds3D1mkVAMtdRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCtF039wPz3BY for ; Sun, 10 May 2026 06:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1882a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 06:27:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f956c425d4c6 - stable/14 - tests/carp: Rework unicast_v4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f956c425d4c6b93efefea357f34cd28a7d749db1 Auto-Submitted: auto-generated Date: Sun, 10 May 2026 06:27:16 +0000 Message-Id: <6a002544.1882a.74f87f82@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f956c425d4c6b93efefea357f34cd28a7d749db1 commit f956c425d4c6b93efefea357f34cd28a7d749db1 Author: Zhenlei Huang AuthorDate: 2026-05-03 11:02:15 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-10 06:25:56 +0000 tests/carp: Rework unicast_v4 For unicast tests, it is sufficient to use wait_for_carp() to verify the setup is sane. Additional sanity checks are not necessarily required but can serve purpose for redundancy. For some unclear reason routed(8) is advertising route to carp BACKUP. That makes the test flaky. Also routed(8) is marked deprecated and may be removed from base in the future. Let's just add static route entry manually for additional sanity checks. Other noticeable changes: 1. Add atf_check to configuration steps to prevent potential failure on setup. That helps diagnosing on failure. 2. Shorten the names of jails to improve readability. 3. Prefer `[ifconfig|route|sysctl] -j` over `jexec [ifconfig|route|sysctl]` to make the lines shorter. MFC note: At the time writing, routed(8) does not know carp addresses and does not distinguish carp addresses in MASTER|BACKUP|INIT state, hence insists advertising the wrong addresses. PR: 294817 Reviewed by: glebius (previous version), pouria, markj Fixes: 93fbdef51a13 tests: carp: Update test case unicast_v4 to catch PR 284872 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56761 (cherry picked from commit 9137c66c2ea6cc09e3a6f8a042ecdc5a62e0f39e) (cherry picked from commit 107ef0c29503e5be2b81d22930ec0c675efba140) --- tests/sys/netinet/carp.sh | 80 ++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 4fc682f14449..31a8aa57189d 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -121,58 +121,66 @@ unicast_v4_body() epair_one=$(vnet_mkepair) epair_two=$(vnet_mkepair) - vnet_mkjail carp_uni_v4_one ${epair_one}a ${epair_two}a - vnet_mkjail carp_uni_v4_two ${epair_one}b - vnet_mkjail carp_uni_v4_three ${epair_two}b + j="carp_uni_v4_" - jexec carp_uni_v4_one sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_one ifconfig ${epair_one}a inet 198.51.100.1/25 - jexec carp_uni_v4_one ifconfig ${epair_two}a inet 198.51.100.129/25 + # The router + vnet_mkjail ${j}one ${epair_one}a ${epair_two}a + # The hosts + vnet_mkjail ${j}two ${epair_one}b + vnet_mkjail ${j}three ${epair_two}b - jexec carp_uni_v4_two sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_two ifconfig ${epair_one}b 198.51.100.2/25 up - jexec carp_uni_v4_two route add 198.51.100.224 198.51.100.1 - # A peer address x.x.x.224 to catch PR 284872 - jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \ - peer 198.51.100.224 192.0.2.1/32 + atf_check -o ignore sysctl -j ${j}one net.inet.ip.forwarding=1 + atf_check ifconfig -j ${j}one ${epair_one}a inet 198.51.100.1/25 + atf_check ifconfig -j ${j}one ${epair_two}a inet 198.51.100.129/25 - sleep 0.2 - jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1 - jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up - jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129 - jexec carp_uni_v4_three ifconfig ${epair_two}b add vhid 1 \ - peer 198.51.100.2 192.0.2.1/32 + atf_check ifconfig -j ${j}two ${epair_one}b 198.51.100.2/25 up + atf_check -o ignore route -j ${j}two -n add default 198.51.100.1 + atf_check ifconfig -j ${j}three ${epair_two}b 198.51.100.224/25 up + atf_check -o ignore route -j ${j}three -n add default 198.51.100.129 + + sleep 0.1 # Sanity check - atf_check -s exit:0 -o ignore jexec carp_uni_v4_two \ + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.2 + atf_check -o ignore jexec ${j}one \ + ping -c 1 198.51.100.224 + atf_check -o ignore jexec ${j}two \ ping -c 1 198.51.100.224 - wait_for_carp carp_uni_v4_two ${epair_one}b \ - carp_uni_v4_three ${epair_two}b + # A peer address x.x.x.224 to catch PR 284872 + atf_check ifconfig -j ${j}two ${epair_one}b add vhid 1 \ + peer 198.51.100.224 192.0.2.1/32 + sleep 0.2 + atf_check ifconfig -j ${j}three ${epair_two}b add vhid 1 \ + peer 198.51.100.2 192.0.2.1/32 - # Setup RIPv2 route daemon - jexec carp_uni_v4_two routed -s -Pripv2 - jexec carp_uni_v4_three routed -s -Pripv2 - jexec carp_uni_v4_one routed -Pripv2 + wait_for_carp ${j}two ${epair_one}b \ + ${j}three ${epair_two}b - # XXX Wait for route propagation - sleep 3 + if is_master ${j}two ${epair_one}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.2 + fi - atf_check -s exit:0 -o ignore jexec carp_uni_v4_one \ - ping -c 3 192.0.2.1 + if is_master ${j}three ${epair_two}b ; then + atf_check -o ignore \ + route -j ${j}one -n add 192.0.2.1 198.51.100.224 + fi + + # Not necessarily required, but just in case + atf_check -o ignore jexec ${j}one \ + ping -c 1 192.0.2.1 # Check that we remain in unicast when tweaking settings - atf_check -s exit:0 -o ignore \ - jexec carp_uni_v4_two ifconfig ${epair_one}b vhid 1 advskew 2 - atf_check -s exit:0 -o match:"peer 198.51.100.224" \ - jexec carp_uni_v4_two ifconfig ${epair_one}b + atf_check -o ignore \ + ifconfig -j ${j}two ${epair_one}b vhid 1 advskew 2 + atf_check -o match:"peer 198.51.100.224" \ + ifconfig -j ${j}two ${epair_one}b } unicast_v4_cleanup() { - jexec carp_uni_v4_one killall routed - jexec carp_uni_v4_two killall routed - jexec carp_uni_v4_three killall routed vnet_cleanup } From nobody Sun May 10 06:27:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gCtF44YVzz6bJCG for ; Sun, 10 May 2026 06:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gCtF437r4z4HDx for ; Sun, 10 May 2026 06:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scmeMR6u+ELrBOF2dajfIK1azZ2Q23ZzMohdUUUvQLs=; b=xzpYfMikuZH4DaFUtkO2j+xnU5ELON2h1Sldc2SH6K5aedlkC06//9hTxJD8p4iAZBbzL5 RtIsnOmZKrYm/8j7sp9hg6mk8hINEZoVz+NP7mHDjZPalToiiXLLtDYCSbqaitY5GmmI64 tmN0caqE5lY/QS+hUajYtyJj+6N3f5FyI/yZlyhy7ug8zjwrvVTKbysCrsdQ/k7VtcITpG rAPAmFXWFjKFoUqShBfeN6EVXzszkCA1Bc935c+pPRCMjnzZT3xjLJPO65P3UPpi0Y5zFz yu4N7APS8OmryWV1KoCVxu2tg2eKWppHEMOmkuq6tSPIq5i9N6W/PPqPRSprmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778394440; a=rsa-sha256; cv=none; b=XXhdLkPYqYSfM6b9YXs8v+lpqi4iulr+ShaxPE9U36smMX0z8QX9wufZqIs5LtUpN8QZa9 osUfY6DgqN/n8AG0TDwPF/nXtuZjhOX5wEN7c8FeMhnEPHqRb8GyR+GxvaeLuz7HRifcjj NxKfsvXXZgmHNQ4iJCH5VevOhispPioNVZ86+9ieB/HePbiqlaTl7/IDiYe+I9CKCRAPCa /hz59DBkjx2cvby3p4EPVWyDPbSP14nn90GXQFIyewyOUBRH+s1K4jN3LoZHrk7spGqtDL iCLiw09qKx8kOgT0aM0z4UtfU7jR2WE/rqalpcj+iR1lGfjeZJ+htGJGQsx7gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778394440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scmeMR6u+ELrBOF2dajfIK1azZ2Q23ZzMohdUUUvQLs=; b=gle//DeXs5I5dqEFOLZLArd4JCioucZYKlREnn2JlfasVYchMPQWX9tkPnSzHzuaJgKLwj RMGRP0veHjv5Vdh84Jfy3OFbvDtjvPAxgIsdz5hGI/B35mHkk0EZISg+UssHzl5Dvh64r4 AuE7D3uX4ZsEHawKPL5fWs9boK6JdxlI5FGUw3ZC48Tz0t7IITIUykS70W6tQaPOlCEc6c l+ckKzbjwYbI/MR9/fM7InJde0sqqd+r4k6GZHrORNH1zKAALi4eRRlXwk84V2voupKxBf k6wce5RvjRqo31d2WU5bDx4yRufV48hBFMpXg8EEGwiQbOAe1vyxvSHLvzK/og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gCtF42Wg7z3BZ for ; Sun, 10 May 2026 06:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18dbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 10 May 2026 06:27:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Gleb Smirnoff From: Zhenlei Huang Subject: git: 1f8eae9a7a45 - stable/14 - tests/carp: make a 0.2 second pause before configuring second jail List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1f8eae9a7a45f3e816b112ae3e7cf19ece1a5b98 Auto-Submitted: auto-generated Date: Sun, 10 May 2026 06:27:15 +0000 Message-Id: <6a002543.18dbe.1ef88af1@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1f8eae9a7a45f3e816b112ae3e7cf19ece1a5b98 commit 1f8eae9a7a45f3e816b112ae3e7cf19ece1a5b98 Author: Gleb Smirnoff AuthorDate: 2025-12-04 18:41:19 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-10 06:25:56 +0000 tests/carp: make a 0.2 second pause before configuring second jail for all scenarios where both jails have same priority/advskew. There is a tiny chance that on both sides carp_master_down() will be executed in parallel and advertisements will also fly through the bridge(4) in parallel, thus both sides will switch to MASTER before receiving the announcement from peer. This makes the test to fail. So far this flakyness was observed for carp:vrrp_v4 only, but in theory it is possible for any of the patched scenarios. Note that this sleep does not prolong execution of the tests, as the first jail is already configured, and if we slept before configuring the second, we would sleep less in wait_for_carp(). (cherry picked from commit 27ff90cd3d8d2ac8198f30cbebeefb15a49d41bc) (cherry picked from commit ad2fff6d6a4d74b6bb9008e447eafc567e8660e0) --- tests/sys/netinet/carp.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 4d58bcf03c12..4fc682f14449 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -90,6 +90,7 @@ basic_v4_body() jexec carp_basic_v4_two ifconfig ${epair_one}b 192.0.2.202/29 up jexec carp_basic_v4_two ifconfig ${epair_one}b add vhid 1 192.0.2.1/29 + sleep 0.2 jexec carp_basic_v4_three ifconfig ${epair_two}b 192.0.2.203/29 up jexec carp_basic_v4_three ifconfig ${epair_two}b add vhid 1 \ 192.0.2.1/29 @@ -135,6 +136,7 @@ unicast_v4_body() jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \ peer 198.51.100.224 192.0.2.1/32 + sleep 0.2 jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1 jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129 @@ -206,6 +208,7 @@ basic_v6_body() jexec carp_basic_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \ 2001:db8::0:1/64 + sleep 0.2 jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 2001:db8::1:3/64 up no_dad jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \ 2001:db8::0:1/64 @@ -261,6 +264,7 @@ unicast_v6_body() peer6 2001:db8:2::2 \ 2001:db8::0:1/64 + sleep 0.2 jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 2001:db8:2::2/64 \ no_dad up jexec carp_uni_v6_three route -6 add default 2001:db8:2::1 @@ -326,6 +330,7 @@ unicast_ll_v6_body() jexec ${j}_two ifconfig ${epair_one}b inet6 add vhid 1 \ peer6 ${ll_two} \ 2001:db8::0:1/64 + sleep 0.2 jexec ${j}_three ifconfig ${epair_two}b inet6 add vhid 1 \ peer6 ${ll_one} \ 2001:db8::0:1/64