From nobody Mon Dec 22 00:38:46 2025 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 4dZK526VWlz6LjwL for ; Mon, 22 Dec 2025 00:38: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZK525X5Gz3Cph for ; Mon, 22 Dec 2025 00:38:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766363926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FaH4vm50DUHLD6PPoo4tjfCqWVuG+iY7bDyhBTwIyPU=; b=t6q/Pv7/laqJ0Oqpj/tX+w5P+nITSBD6xKJjC5VhfzHRZzv7mslrqb7dUa4v1pSApom/8E cnIHMAT/5tLtnxyHXD98gabWWXPvZ533wQKRoRsWGe7xthbT3valbR6XKlOcwve63lD2Zt 09fK7ZHYhI+1xAKk+9cw+O67MdRY7KQTnmmA+iGkKJbjqoYBjPrfpg77MfGE7NRyC2zJVG EQM3pD6Kaxw4FzTJw5xm+uigyajv0xzmmAagzJ6Vt41+zvVFEX7jDZ/g424Lr/VTzyK6w/ AOIcTlJMISe/q6XlZUFq79JdzrdwVrOE2N9JhzkT5Mbbf6tDKrO5lwZi/SheLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766363926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FaH4vm50DUHLD6PPoo4tjfCqWVuG+iY7bDyhBTwIyPU=; b=gjkeO2NisEMchWd/C+WWF3pzlWDFg97XcXxsCrxrWuRlWpK3o9RnXdEqRgi/vV+gMA5OqV FQYjUZoNe/l9by7fspYmzV2ePCmMas0OBOhp3ja6RB3u+Or9DbvsyhOrJGAGQVJdK4wTsb DF37VhuE9MIGRu/CEXHh3PmaH79PH2x+tM4tU3vSKz0vqZqUWfjD0mGNtF2xAoT2R6d6ZB ZXgyj3MpYST9XyzzsFkl/vNdwOQmemPHDNMC5jdYE/X2y11xJ8oiPJANMzW/yiH8j1EZ3j UOyZ2A8FR0XJVwgZQLEYjs2kwAJi7xoT80SOl+3pAPxbdPW25QNhyP0ClUZ9Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766363926; a=rsa-sha256; cv=none; b=r5DAROmHTgPBHcUxZ+pKTZvaNRvUxTgAY5sVRA6qB6iOP6GYmQTWPYTBc+FduvXJujOKNx OzGfRVgCVomUh5/4zgLQf2iSovBP+mKgj42jVsg6q/Ct7q/EhM85bniZJLNO7t13BPXbRw 8qB6DlOx/KM6O7T7Usi3bdHhR/1HKDTWNwoRi0jukNY5PRXftfKwS3h49kLAnoeMe40Mq5 TYo02WGHuqmws9mrVpU9vCFzHE9zBg9CX6qNTtWQGEb9nmMv5AqSWC0jRO6wLrqDAohqxy 9qws0xrXYk0oGQ3KXGVaYqXlzvIR2i15He5GjvusEiyw8hz/k4p9WACgG9IF/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZK524pwNz13gc for ; Mon, 22 Dec 2025 00:38:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 252e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 00:38:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ka Ho Ng Subject: git: 112c453ba910 - stable/15 - geom(9): struct bio KBI fix 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: khng X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 112c453ba91012f19ed140c56a3ac8fc929ddabb Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 00:38:46 +0000 Message-Id: <69489316.252e6.179063dd@gitrepo.freebsd.org> The branch stable/15 has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=112c453ba91012f19ed140c56a3ac8fc929ddabb commit 112c453ba91012f19ed140c56a3ac8fc929ddabb Author: Ka Ho Ng AuthorDate: 2025-12-21 22:45:03 +0000 Commit: Ka Ho Ng CommitDate: 2025-12-22 00:37:40 +0000 geom(9): struct bio KBI fix The struct bio was changed after cb85c2e2e995 on the branch. To fix this, move BIO_ERROR flag to another value, and now BIO_ERROR_COMPAT occupies 0x1 instead. Also, introduce b_error_compat field at the place where the old bio_error was. This allows non-CAM(9) disk drivers and software volume manager modules compiled against 15.0-RELEASE kernel to work on 15-STABLE kernel again. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54327 Approved by: re (cperciva) --- sys/geom/geom_io.c | 1 + sys/kern/vfs_bio.c | 21 ++++++++++++++++++++- sys/sys/bio.h | 4 +++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 247a623bf1bf..3a58b3ec9d00 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -545,6 +545,7 @@ g_io_request(struct bio *bp, struct g_consumer *cp) bp->bio_from = cp; bp->bio_to = pp; bp->bio_error = 0; + bp->bio_error_compat = 0; bp->bio_completed = 0; KASSERT(!(bp->bio_flags & BIO_ONQUEUE), diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 880cc6b99951..c02aa30fb03a 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -4474,6 +4474,14 @@ biodone(struct bio *bp) biotrack(bp, __func__); + if ((bp->bio_flags & BIO_ERROR_COMPAT) != 0) { + /* The caller of this KPI is using the old bio(9) KBI */ + bp->bio_error = bp->bio_error_compat; + bp->bio_flags |= BIO_ERROR; + bp->bio_error_compat = 0; + bp->bio_flags &= BIO_ERROR_COMPAT; + } + /* * Avoid completing I/O when dumping after a panic since that may * result in a deadlock in the filesystem or pager code. Note that @@ -4505,8 +4513,19 @@ biodone(struct bio *bp) bp->bio_flags |= BIO_DONE; wakeup(bp); mtx_unlock(mtxp); - } else + } else { + if ((bp->bio_flags & BIO_ERROR) != 0) { + /* + * Provide compatibility with the consumers of the old + * bio(9) KBI filled in bio_done callback handler. + */ + bp->bio_error_compat = bp->bio_error; + bp->bio_flags |= BIO_ERROR_COMPAT; + } done(bp); + bp->bio_error_compat = 0; + bp->bio_flags &= BIO_ERROR_COMPAT; + } } /* diff --git a/sys/sys/bio.h b/sys/sys/bio.h index 5c12c858f3e5..ae59c659e661 100644 --- a/sys/sys/bio.h +++ b/sys/sys/bio.h @@ -54,7 +54,7 @@ #define BIO_SPEEDUP 0x0a /* Upper layers face shortage */ /* bio_flags */ -#define BIO_ERROR 0x01 /* An error occurred processing this bio. */ +#define BIO_ERROR_COMPAT 0x01 /* KBI compat on stable/15. */ #define BIO_DONE 0x02 /* This bio is finished. */ #define BIO_ONQUEUE 0x04 /* This bio is in a queue & not yet taken. */ /* @@ -66,6 +66,7 @@ #define BIO_TRANSIENT_MAPPING 0x20 #define BIO_VLIST 0x40 #define BIO_SWAP 0x200 /* Swap-related I/O */ +#define BIO_ERROR 0x1000 /* An error occurred processing this bio. */ #define BIO_EXTERR 0x2000 #define BIO_SPEEDUP_WRITE 0x4000 /* Resource shortage at upper layers */ #define BIO_SPEEDUP_TRIM 0x8000 /* Resource shortage at upper layers */ @@ -97,6 +98,7 @@ struct bio { struct vm_page **bio_ma; /* Or unmapped. */ int bio_ma_offset; /* Offset in the first page of bio_ma. */ int bio_ma_n; /* Number of pages in bio_ma. */ + int bio_error_compat; /* Error for KBI compat on stable/15 */ long bio_resid; /* Remaining I/O in bytes. */ void (*bio_done)(struct bio *); void *bio_driver1; /* Private use by the provider. */ From nobody Mon Dec 22 01:09:15 2025 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 4dZKmD24JFz6LnWj for ; Mon, 22 Dec 2025 01:09: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZKmC6Zn4z3HkK for ; Mon, 22 Dec 2025 01:09:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766365756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uQdeyGWrWPSVbuwtsD7ZfKb8GQB1r0djz9WSAfzUcgc=; b=E7weLq9bQMIyLHVjOV8Hbn2BXkzCEfElXlUFZHEKWVD6B7LsS0FA817M9o3n74CLRBIJzj 1p9Lz9D8nzdD3d3k/A0VlkgwEvPVaL56M/JE7tvSAQBUxx7qHWSO4gi4DJb+8W2L5Xajv6 QuUX+U3HAW+OCksaxNQ9GxpHiVq2v2eDFDyOtWgasas6CRTb4P/SG/E7+CbnhpLjqC/JAd NpQ05W0YvZA1VH/7pqf63p2VReqDcYo3+uXALdBqI5avvLAhjKW6qXGYJBl+6+eOcM7Saa CFtpi1F9b5e/U+2hLVwwdAhuTDB61s9otu/iq/HhjrdKrVeMNBZpREAHmruwUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766365756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uQdeyGWrWPSVbuwtsD7ZfKb8GQB1r0djz9WSAfzUcgc=; b=CF17Ri/eEwo8UQ2mmbl1rfsRpUMUTP9HHPwY4TDLqF/Ee+2ioU71SyVSjBEhuGfaFU7PLU zxr44ADSP/Lsb1gjX9fHWvrwRB9Ezzndre2WyXBGZ9G9+LAQLdpk33cOQqOGeYgqBwdgqD +j79mWp2EDabcvZbsaJ8T7yZzUPGozXJgJqvSrdvAWIAY6yhFdSb+Wo+aDv3KMegc3wtZa 9Ay6FzRJ6O2nuOH5/HxtILEtwARUUiBzoYE3XzUPJoCowSpbQtAUJJ75euq90tW9Ta/dNr o8RG2hztvFbvvvZFDXptAqhHd3xDuEDk1AIzhUmyqx9BcZSP0h2QUND7xaXkeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766365756; a=rsa-sha256; cv=none; b=uAmJhAZNYLZPfXyXY00FdOdikvQosRIN0lIEtfhzcYRO0Z/+hoK7/s3o6YJy6oNXff9TsS ZTBsBcglfGiapR1/B4IRqUrY1MokhnCFJBCcN0Oo9R+AgzbhRCLHKoWBc1W57cmT+zzJN2 hImVEQhY7I6Y9NyDB0XqvQX+ZLhqowuMb/ESSpsPTM3BmUs231r1bkPGG+sdrVdkNoV6AO 3XwN1EQBn3VN4hKe3XDkSoFMGY7m7FdSP0nuBWcx3FriIWP/ZDL5/TINinWtULKBsFS7Q4 b0uLL4lPxwOY3+bcVY/K+XUJulTGxNIVK0Q/PEmFMe6MQ1ypEeTmRQM9w9cFyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZKmC5ty5z14JS for ; Mon, 22 Dec 2025 01:09:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27d31 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 01:09:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Craig Leres Subject: git: 3ab741a76a23 - stable/15 - Fix zgrep(1) wrapper regression, add 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: leres X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3ab741a76a23bb9fb7f710759ce85de99acf65b4 Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 01:09:15 +0000 Message-Id: <69489a3b.27d31.3b3304b3@gitrepo.freebsd.org> The branch stable/15 has been updated by leres: URL: https://cgit.FreeBSD.org/src/commit/?id=3ab741a76a23bb9fb7f710759ce85de99acf65b4 commit 3ab741a76a23bb9fb7f710759ce85de99acf65b4 Author: Craig Leres AuthorDate: 2025-12-13 23:43:02 +0000 Commit: Craig Leres CommitDate: 2025-12-22 01:09:04 +0000 Fix zgrep(1) wrapper regression, add test @bdrewery reported D48873 broke "bzgrep -q '1 2' /var/log/messages.0.bz2" The mistake was in using $* instead of "$@" (I suspect $* is never right). Reported by: bdrewery Reviewed by: markj Approved by: markj Fixes: 1070477cc8b7 ("Fix remaining zgrep(1) wrapper script regressions") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54217 (cherry picked from commit 80726c2257e9d6d79341aac65ba22987f53619bc) --- usr.bin/grep/tests/grep_freebsd_test.sh | 10 ++++++++++ usr.bin/grep/zgrep.sh | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/usr.bin/grep/tests/grep_freebsd_test.sh b/usr.bin/grep/tests/grep_freebsd_test.sh index 906b70645151..eaf3694c2b1e 100755 --- a/usr.bin/grep/tests/grep_freebsd_test.sh +++ b/usr.bin/grep/tests/grep_freebsd_test.sh @@ -117,6 +117,15 @@ color_dupe_body() atf_check -o match:"^ +1 color.out" wc -l color.out } +atf_test_case qflag +qflag_body() +{ + # Test whitespace in argument + printf "1 2 3 4\n5 6 7 8\n" > in + + atf_check zgrep -q '1 2' in +} + atf_init_test_cases() { atf_add_test_case grep_r_implied @@ -124,4 +133,5 @@ atf_init_test_cases() atf_add_test_case gnuext atf_add_test_case zflag atf_add_test_case color_dupe + atf_add_test_case qflag } diff --git a/usr.bin/grep/zgrep.sh b/usr.bin/grep/zgrep.sh index 8bd630726647..474f3868db9d 100755 --- a/usr.bin/grep/zgrep.sh +++ b/usr.bin/grep/zgrep.sh @@ -109,7 +109,7 @@ do grep_args="${grep_args} ${pre}" shift # Put back partial arg - set -- "-${post}" $* + set -- "-${post}" "$@" ;; -[ABCDdefm]) if [ $# -lt 2 ] From nobody Mon Dec 22 02:07:55 2025 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 4dZM3v64kcz6LtsS for ; Mon, 22 Dec 2025 02:07: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZM3v5Xf7z3PTv for ; Mon, 22 Dec 2025 02:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766369275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aevJRwe2/NNjpLJlNd7YGY6iILB1LpyeYzwqlcIcpwI=; b=a3PI7eSntOGDO/dCaKlReGEKHahcSBpRHKa+Jt5zsXWGPwit1FS3jWozNlbhVbMqahOQjd SxtfRCKyFWJy0imxlyJlXfEj2vYK2PFAZMw2zaLylk82d/XwpDw0giLXz2lf7NBMHNGVrc r9SIsJ+NqBiq4okax9CJ6ZkdxbvnbRrb1k0pBajlN1uZ41O5EDUXocD4XsYqJzwvwhlP/h iCidCZKhuGu6GPJrCyFu2PAXLMkZtBSz+PVqgMbEgBs9K5ZbUqSdhT78QG3vURnGgKyikV LmkpsY+XA0b2s5uxGty5ETMWs8izs911Ti4jSD0vvcz9zyQwvDTlvRgg2WqRQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766369275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aevJRwe2/NNjpLJlNd7YGY6iILB1LpyeYzwqlcIcpwI=; b=jng5pJJc+NkWUWTBOLIUMmhIUjBVIsAB4/gf+whQzOdL9EieNHIZrk7gk3ZIOT26t5meX5 gk04CYssP9ICEpYxcRIqz4yVjhAjts9U8omfmIIM+hRUqCaImPp/TJFqaoKSb7kbSslROH ckj3cjW00X54zh/XR0Up8KroOGsdmi2BbcqAG3VA471wosyKQ/E5KSYjAzmuAgjpXsdA49 3ZFDCjHzkwq48PfGq11mq1m4Zp0xBkopNnhmz5aSMQEXVKt25J2BmGZvW6Del8dPhiZUvF g4qItutF8mtqNuVVrIpSusgvTMXcWC2TEhFjwnhLWQXI8bSa/ILmXMt+ZgMduA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766369275; a=rsa-sha256; cv=none; b=VHAQrjllZHzChHiSWO85SLJNN7AMwF+g5gcEStm7+KsHUfYjR/fyAZa7bbiae8ADxcG7b1 ikEMO4FqWcyeE/cqbxR64vlCHGw2NpBQu945a6xsgg1enBrcc+hdiqSjhXmVtwhaZl/ApY s9sjPaOHFb+pN5HLDJ3ipYZK3VK4s43WOe4kbACpC6AycbXXr8ajK7tFBObE1ISb6iGVb1 QwKC8JQc05GFxyqzqNR9uuDUdCWCovoOnUT767CQNDapAeNvCkik786ntheMdUjnejAG0S MYZoFP/hFlimzQE5D8HjC7P0zSs9NyVm8igLnzEs0dYHVXGcjDjTG/XRCdMCNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZM3v4gxZz15WP for ; Mon, 22 Dec 2025 02:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36708 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 02:07:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ka Ho Ng Subject: git: 725f4b108d54 - stable/15 - geom(9): unset the BIO_ERROR_COMPAT flag 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: khng X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 725f4b108d54dcf84ee8bb30dfb223cbcce989cc Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 02:07:55 +0000 Message-Id: <6948a7fb.36708.657d0ac0@gitrepo.freebsd.org> The branch stable/15 has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=725f4b108d54dcf84ee8bb30dfb223cbcce989cc commit 725f4b108d54dcf84ee8bb30dfb223cbcce989cc Author: Ka Ho Ng AuthorDate: 2025-12-22 00:52:56 +0000 Commit: Ka Ho Ng CommitDate: 2025-12-22 02:07:03 +0000 geom(9): unset the BIO_ERROR_COMPAT flag correctly Fixes: 112c453ba910 Approved by: re (cperciva) --- sys/kern/vfs_bio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index c02aa30fb03a..dc90bd3add22 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -4479,7 +4479,7 @@ biodone(struct bio *bp) bp->bio_error = bp->bio_error_compat; bp->bio_flags |= BIO_ERROR; bp->bio_error_compat = 0; - bp->bio_flags &= BIO_ERROR_COMPAT; + bp->bio_flags &= ~BIO_ERROR_COMPAT; } /* @@ -4524,7 +4524,7 @@ biodone(struct bio *bp) } done(bp); bp->bio_error_compat = 0; - bp->bio_flags &= BIO_ERROR_COMPAT; + bp->bio_flags &= ~BIO_ERROR_COMPAT; } } From nobody Mon Dec 22 02:33:56 2025 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 4dZMdw56z0z6M04J for ; Mon, 22 Dec 2025 02:33: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZMdw4PHJz3VQt for ; Mon, 22 Dec 2025 02:33:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766370836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auRl/VjdEzJsKrsGwyouBsanN121wAVGgYNAtwaNCEM=; b=WaXolcHLm6Wdp8X73fivsgnbVQylvg0e3RJx+kUIEliPW+F+GB1uy/RHPUOOyVFnApJBwo KpCjB6k+r2aTk2XWDXmPD4nf6sZaWzLwGYQ3JVj/h4TJGmk7QvUMK7NMnNA/Py7zpvV3Yw jAeqB+ZhDu45/pmSqrie35W6by86hTzjZbi3GqS911O4mwpv93PBlV5SwqXE4Ns+JBwLMi nW9skM2Htrdbex3cJ5EJtR4OIV4OLXDJRQiADuN5cB+q91Tub+FXoMT8Y8vtTi9Fk/OcoW LROBizWt3xUlIen+am3fidZrFoGl6e3FMwIwExM9hNfslam7vKW0b+i3Ma4hJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766370836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auRl/VjdEzJsKrsGwyouBsanN121wAVGgYNAtwaNCEM=; b=UmXHa22vuHk4XH4q7bd0klY0/DCkKd/5SbY/1IaBzEQG7PQKSDZVXtW32Tgkc0tjZPAg7R 4G5v9yEPycibD/AmIishepd6N1SWJzMjWNNvRoet7hamXi4pNMeZbbCGg4YSVU/uqSJVOW 7tV7Ee3qmw4ajUHOoQ0L1Xc11Pc4EeiDNN+sPslRfL731CgKZTZPwXuCOatPUzZP49p86e YHxaAGVrytxCKRHp+vJQjpRa12yawRHOLekMo+i1XFDC61nJ58E48DlfDXHqQZUojazhKX TfmOHrN8Xa1bak7enZLHxRtCQG8DT9Z+1kJlUtbgfnoRD8PFPgtQtTdAXfJ/mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766370836; a=rsa-sha256; cv=none; b=c1Z9N+O7FItU/AX5L8vbyXypX406cKgVgfQN0JkV5aQ4gr+HJ5ETdhDB9K8n3nRtSvMbOz 3UoDm6BtZHeyu4gUwcXF0ZVRM+8hdotaCOUZdQdBOzcnAvy8d8YrD93P7ii2ncLq3GOU7x lhRHc9lYRr+wUXZhgwVvKNN3cBBCOtnoU8vAyWXRqkCmv4yT57qfsYxKebttcR9G+zSnm1 DubR0W5ABPAFmD6KT/lhsBm8MsAE2yCs3z0EnSX3kcJWezzqS7cuVQrkUVrbPtjNyg4rPq F48L9PFEGJxXGaNX4tWopLTDn+hKOlEFUe5opYDuzGfQy5YUvcZueDgU2oTRUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZMdw3kBCz16pm for ; Mon, 22 Dec 2025 02:33:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38d0c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 02:33:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Craig Leres Subject: git: 4706a2bea988 - stable/14 - Fix remaining zgrep(1) wrapper script regressions 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: leres X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4706a2bea9880b6bc86a2f1e45b330de447ea91f Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 02:33:56 +0000 Message-Id: <6948ae14.38d0c.713f7b48@gitrepo.freebsd.org> The branch stable/14 has been updated by leres: URL: https://cgit.FreeBSD.org/src/commit/?id=4706a2bea9880b6bc86a2f1e45b330de447ea91f commit 4706a2bea9880b6bc86a2f1e45b330de447ea91f Author: Craig Leres AuthorDate: 2025-02-08 21:19:54 +0000 Commit: Craig Leres CommitDate: 2025-12-22 02:33:09 +0000 Fix remaining zgrep(1) wrapper script regressions Summary: Fix short flags without whitespace, e.g: zgrep -wefoo test Fix multiple -e flags: zgrep -e foo -e xxx test Previously only the last pattern would be used. Clean up possible leading blank in ${grep_args}. Update comment: 2.51 -> 2.6.0 Add a test case for the last known zgrep wrapper issue: recursion (-r) not implemented. Reviewed By: markj Differential Revision: https://reviews.freebsd.org/D48873 (cherry picked from commit 1070477cc8b7a88b1fd2b1ba810a1fff761799a1) --- contrib/netbsd-tests/usr.bin/grep/t_grep.sh | 24 ++++++++++--- usr.bin/grep/zgrep.sh | 52 +++++++++++++++++++++++++---- 2 files changed, 65 insertions(+), 11 deletions(-) diff --git a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh index b1412a7a0715..c4ba9a9657db 100755 --- a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh +++ b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh @@ -221,8 +221,6 @@ zgrep_combined_flags_head() } zgrep_combined_flags_body() { - atf_expect_fail "known but unsolved zgrep wrapper script regression" - echo 'foo bar' > test atf_check -o inline:"foo bar\n" zgrep -we foo test @@ -278,8 +276,6 @@ zgrep_multiple_eflags_head() } zgrep_multiple_eflags_body() { - atf_expect_fail "known but unsolved zgrep wrapper script regression" - echo foobar > test atf_check -o inline:"foobar\n" zgrep -e foo -e xxx test @@ -940,6 +936,25 @@ zgrep_multiple_files_body() echo bar > test2 atf_check -s exit:1 zgrep foo test1 test2 } + +atf_test_case zgrep_recursive +zgrep_multiple_files_head() +{ + atf_set "descr" "Checks for zgrep wrapper recursion" +} +zgrep_recursive_body() +{ + atf_expect_fail "unimplemented zgrep wrapper script functionality" + + mkdir -p tester1 + echo foobar > tester1/test + atf_check -o inline:"tester1/test:foobar\n" zgrep -r foo tester1 + + mkdir -p tester2 + echo foobar > tester2/test1 + echo foobar > tester2/test2 + atf_check -o inline:"tester2/test1:foobar\ntester2/test2:foobar\n" zgrep -r foo tester2 +} # End FreeBSD atf_init_test_cases() @@ -996,5 +1011,6 @@ atf_init_test_cases() atf_add_test_case mflag atf_add_test_case mflag_trail_ctx atf_add_test_case zgrep_multiple_files + atf_add_test_case zgrep_recursive # End FreeBSD } diff --git a/usr.bin/grep/zgrep.sh b/usr.bin/grep/zgrep.sh index d7a52dcad141..8bd630726647 100755 --- a/usr.bin/grep/zgrep.sh +++ b/usr.bin/grep/zgrep.sh @@ -74,7 +74,7 @@ esac while [ $# -gt 0 -a ${endofopts} -eq 0 ] do case $1 in - # from GNU grep-2.5.1 -- keep in sync! + # from GNU grep-2.6.0 -- keep in sync! --) shift endofopts=1 @@ -85,6 +85,9 @@ do shift ;; --regexp=*) + if [ ${pattern_found} -ne 0 ]; then + grep_args="${grep_args} -e ${pattern}" + fi pattern="${1#--regexp=}" pattern_found=1 shift @@ -100,20 +103,31 @@ do grep_args="${grep_args} $1" shift ;; - -*[ABCDXdefm]) + -[EFGHILOSUVabchilnopqsuvwxyz]*) + post="${1#-?}" + pre=${1%${post}} + grep_args="${grep_args} ${pre}" + shift + # Put back partial arg + set -- "-${post}" $* + ;; + -[ABCDdefm]) if [ $# -lt 2 ] then echo "${prg}: missing argument for $1 flag" >&2 exit 1 fi case $1 in - -*e) + -e) + if [ ${pattern_found} -ne 0 ]; then + grep_args="${grep_args} -e ${pattern}" + fi pattern="$2" pattern_found=1 shift 2 continue ;; - -*f) + -f) pattern_file=1 ;; *) @@ -122,6 +136,27 @@ do grep_args="${grep_args} $1 $2" shift 2 ;; + -[ABCDdefm]*) + post="${1#-e}" + case ${1} in + -e*) + if [ ${pattern_found} -ne 0 ]; then + grep_args="${grep_args} -e ${pattern}" + fi + pattern="${post}" + pattern_found=1 + shift + continue + ;; + -f*) + pattern_file=1 + ;; + *) + ;; + esac + grep_args="${grep_args} ${post}" + shift + ;; -) hyphen=1 shift @@ -130,7 +165,7 @@ do echo "${prg}: the ${1} flag is not currently supported" >&2 exit 1 ;; - -*) + -?) grep_args="${grep_args} $1" shift ;; @@ -156,12 +191,15 @@ then pattern_found=1 fi +# Clean up possible leading blank +grep_args="${grep_args# }" + # call grep ... if [ $# -lt 1 ] then # ... on stdin if [ ${pattern_file} -eq 0 ]; then - ${cattool} ${catargs} - | ${grep} ${grep_args} -- "${pattern}" - + ${cattool} ${catargs} - | ${grep} ${grep_args} -e "${pattern}" -- - else ${cattool} ${catargs} - | ${grep} ${grep_args} -- - fi @@ -176,7 +214,7 @@ else for file; do if [ ${pattern_file} -eq 0 ]; then ${cattool} ${catargs} -- "${file}" | - ${grep} --label="${file}" ${grep_args} -- "${pattern}" - + ${grep} --label="${file}" ${grep_args} -e "${pattern}" -- - else ${cattool} ${catargs} -- "${file}" | ${grep} --label="${file}" ${grep_args} -- - From nobody Mon Dec 22 02:33:57 2025 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 4dZMdy1FYDz6M0PV for ; Mon, 22 Dec 2025 02:33: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZMdx5cddz3V97 for ; Mon, 22 Dec 2025 02:33:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766370837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1LXE/GkKG8NolGIU7p8W38T5FexF/2lZMQClSXkTKM=; b=tAxsGoJlxdLblU1oRIriCo5nR7yhMC4rz99hjekJvgOkxmukdJpnqbPHklpat1CowTiez8 39ECdRezqnGGiTKVkksvMLt2V0h3/PFUYyu/VpLZ3KiB50GCQsWOmi3YXKzIEljnTyEeJB 5stTaUhmg+FoaLUGryLKpY5uXTVO8BqeO8Fq9DdycYOKke4g2Iu5WRXgv6KEJGspJ9d2yB +cm12QEv4M4tbQENl5ZZpr6Iu2TFAZkKf+uOI1rv+7nIvS8spIGj3lL6F2uixhGYX3Ya8B Tx1L0iNxILLQc0YSDOwWlymKNA4QM08NzadasGBQaz3Vt7WF5X7ACu0lURy55w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766370837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1LXE/GkKG8NolGIU7p8W38T5FexF/2lZMQClSXkTKM=; b=FD3eC3CNvwLXzhB5ZD2m4wRP9bFs3/RFjFJWTQIpefR0rxcDnsU0V+AS0kqmhDpxaEnOq4 f9jpxKir4VCtY0DZW2CaamqvApFY3NFqsksy7YI7vMXnzgV/OlpRMBj3kzIZRSuNutbDgH IbviW7ULih8G5S4V8ACghSnVZAVWYXK3eTKsPTHyrz9NsiLrimXHbaHoAXfDtnS/qFgp2/ C5BUC/1mkXjXvvcABCKLJkj97dQYc+ZRW0tb0Q+wKR7MG8Nirj9XvWD3kzzL/IIKZW9ieY NrsjGhCzxNlQTSc0IlAtZ/RxP3ExexCe1A5WA+r3V+pozhziECq7AbI29pIGCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766370837; a=rsa-sha256; cv=none; b=V0kOvFhxxnBdgpHKfVawcLKA6Tjf9c0mYfxO1DKJKRZ2qPfB9WWNyXhXvrbDNsiPhyTle8 2lXT3Tr7xVmjeOeUI1Yo0fy9edhuN3GH1606otgXiUY/awjJvEMBoskz5artLBrnVRk1AV I77KaUOCdAdFj2W3q5aaX8z5S+95E55Sgp0AgOcx4bKmA4rQ6AR0Jtd13dmYawT0a0rbdI F005fotYCUiOHx5ypN2KcekoGbK84B+XNtqdQ58fgmjaYZ4Qg6oRqAhBkzr4G/HfaI3mfr W0it42omjd6EITC9ackiRMvSJWqw01a8hobfNqdPNP6hmZ9vysn5m/Gq2Ou1uA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZMdx4VpDz16FN for ; Mon, 22 Dec 2025 02:33:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 388a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 02:33:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Craig Leres Subject: git: c8282c0dc36f - stable/14 - Fix zgrep(1) wrapper regression, add 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: leres X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c8282c0dc36faefc3c5273daca6b85e3d1912d7b Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 02:33:57 +0000 Message-Id: <6948ae15.388a8.6f57feb@gitrepo.freebsd.org> The branch stable/14 has been updated by leres: URL: https://cgit.FreeBSD.org/src/commit/?id=c8282c0dc36faefc3c5273daca6b85e3d1912d7b commit c8282c0dc36faefc3c5273daca6b85e3d1912d7b Author: Craig Leres AuthorDate: 2025-12-13 23:43:02 +0000 Commit: Craig Leres CommitDate: 2025-12-22 02:33:24 +0000 Fix zgrep(1) wrapper regression, add test @bdrewery reported D48873 broke "bzgrep -q '1 2' /var/log/messages.0.bz2" The mistake was in using $* instead of "$@" (I suspect $* is never right). Reported by: bdrewery Reviewed by: markj Approved by: markj Fixes: 1070477cc8b7 ("Fix remaining zgrep(1) wrapper script regressions") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54217 (cherry picked from commit 80726c2257e9d6d79341aac65ba22987f53619bc) --- usr.bin/grep/tests/grep_freebsd_test.sh | 10 ++++++++++ usr.bin/grep/zgrep.sh | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/usr.bin/grep/tests/grep_freebsd_test.sh b/usr.bin/grep/tests/grep_freebsd_test.sh index 906b70645151..eaf3694c2b1e 100755 --- a/usr.bin/grep/tests/grep_freebsd_test.sh +++ b/usr.bin/grep/tests/grep_freebsd_test.sh @@ -117,6 +117,15 @@ color_dupe_body() atf_check -o match:"^ +1 color.out" wc -l color.out } +atf_test_case qflag +qflag_body() +{ + # Test whitespace in argument + printf "1 2 3 4\n5 6 7 8\n" > in + + atf_check zgrep -q '1 2' in +} + atf_init_test_cases() { atf_add_test_case grep_r_implied @@ -124,4 +133,5 @@ atf_init_test_cases() atf_add_test_case gnuext atf_add_test_case zflag atf_add_test_case color_dupe + atf_add_test_case qflag } diff --git a/usr.bin/grep/zgrep.sh b/usr.bin/grep/zgrep.sh index 8bd630726647..474f3868db9d 100755 --- a/usr.bin/grep/zgrep.sh +++ b/usr.bin/grep/zgrep.sh @@ -109,7 +109,7 @@ do grep_args="${grep_args} ${pre}" shift # Put back partial arg - set -- "-${post}" $* + set -- "-${post}" "$@" ;; -[ABCDdefm]) if [ $# -lt 2 ] From nobody Tue Dec 23 02:30:51 2025 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 4dZzWv3q1Lz6M7R1 for ; Tue, 23 Dec 2025 02:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZzWv1C14z3r1Y for ; Tue, 23 Dec 2025 02:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766457051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZunleqZeeOwXZQq6Lhu8peTqC00I2Tx4ZUy7jbgFc2w=; b=cf6XNuiGuIsA7Zw7iBlsN4hOv1pPOzlqzXP8ahEOb1vKjOE4FH8nzU8MB8KPPFQ7WtXZFk eZC7XOzqiOh3qkrG0FvlyCiM4Zx3xPj0NVnm/eWKK8Y1P89uswhZGjhmjtZ3QtWC2v+v3w yC1X22U6A1LlEo+y214mlhfZmIZMKX2z4N+5Kfzxqf1KPx7bc8+Tcojp6yMfR2wzNl3nUL CCqCuuigE1AZbc2DP3M/k6ARh/aQch61uHFekg9Acq/pw/nAqSr6n+YW7tSYYSnmb3IRlb a7jqa1gIDOLRUWQhpxGFeYXGop0zIyVTEW4Gp1LeQtDSyItDbss33FrvXjFTjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766457051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZunleqZeeOwXZQq6Lhu8peTqC00I2Tx4ZUy7jbgFc2w=; b=tJ6bTbLY9Vxqz417afbtuEN+ngjMkbCOTXp9xo5yR1+x7/91/l/+n27NhW34t/lvm2DbzP hyBy15QU6bSpNSOfLZj4kXTY6S+Rhi60d9G2x+5pISzfp9+Jy1PVULffSuOiuypEXUZvZm gyId/AjikkPFQggKWItkPYJNiFw1L5d+8vve50y2ss1q8XJpHygw5z/k8hZlVPZsuiAnvD Gjpz+go5WGCB+XtAY9WR5Eo5JgaXIPrB7fjR+lj+4dePrw+tpsosMZBicc+lgdOy0r2ZZp jT3T/ea7iSRqhcQVQc/QAN5vKeCt9rJ9Pgx/+wAke9T6KF3Q/KGZURngVvNClQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766457051; a=rsa-sha256; cv=none; b=taLip9E0QlD5jJa/zuOV+4fUXq7VPiBWmfdPqYeD/ErF+a3Mj89XCEKAZfauziA1VE5Y8E zaMcF9MVsrL8HPCN/apiEoD+D1rmySMJo7ANDnA1lF7lFciYCXnqj4VerQFCSA01JNOTg/ gYnijrWjDw6vGjSfG7nXKmPwzMpU16Fvvfz0/KKmTZ5Ec+lD8BKR1NUBDv5sdowZDkYzuj QT+dYdlGy1+aTb4W/5FeWO9IQN7lVmCx+vfCs0qAC3GT8w6mjYm0ps8xeTpG3E/dtzfFv2 a6lAwDWuLoPeA5KItslDMRwf0inST5RpkGQnvO62codfXcTtr8slfY/J/RlWwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZzWv0nW1zsxW for ; Tue, 23 Dec 2025 02:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e51f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 23 Dec 2025 02:30:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 749293292aea - stable/15 - MFV: Import blocklist 2025-12-15 (8a4b011) 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 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: 749293292aea9387de68dad931fe757209b66048 Auto-Submitted: auto-generated Date: Tue, 23 Dec 2025 02:30:51 +0000 Message-Id: <6949fedb.3e51f.59f09808@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=749293292aea9387de68dad931fe757209b66048 commit 749293292aea9387de68dad931fe757209b66048 Author: Jose Luis Duran AuthorDate: 2025-12-16 01:03:30 +0000 Commit: Jose Luis Duran CommitDate: 2025-12-23 02:30:03 +0000 MFV: Import blocklist 2025-12-15 (8a4b011) Merge commit 'bfef098f924950a085927b1e7dd6c6db4e651c5c' Changes: https://github.com/zoulasc/blocklist/compare/ff13526...8a4b011 PR: 258411 PR: 291680 MFC after: 1 week (cherry picked from commit 52395203f9ac40d321ed55d93e9887300261d3bf) --- contrib/blocklist/bin/blocklistd.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/contrib/blocklist/bin/blocklistd.c b/contrib/blocklist/bin/blocklistd.c index 47c145c7aae1..7bbb03c0cc41 100644 --- a/contrib/blocklist/bin/blocklistd.c +++ b/contrib/blocklist/bin/blocklistd.c @@ -1,4 +1,4 @@ -/* $NetBSD: blocklistd.c,v 1.12 2025/10/25 18:43:51 christos Exp $ */ +/* $NetBSD: blocklistd.c,v 1.14 2025/12/15 15:51:37 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #ifdef HAVE_SYS_CDEFS_H #include #endif -__RCSID("$NetBSD: blocklistd.c,v 1.12 2025/10/25 18:43:51 christos Exp $"); +__RCSID("$NetBSD: blocklistd.c,v 1.14 2025/12/15 15:51:37 christos Exp $"); #include #include @@ -191,12 +191,13 @@ process(bl_t bl) } if (getremoteaddress(bi, &rss, &rsl) == -1) - return; + goto out; if (debug || bi->bi_msg[0]) { sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); (*lfun)(bi->bi_msg[0] ? LOG_INFO : LOG_DEBUG, - "processing type=%d fd=%d remote=%s msg=\"%s\" uid=%lu gid=%lu", + "processing type=%d fd=%d remote=%s msg=\"%s\" " + "uid=%lu gid=%lu", bi->bi_type, bi->bi_fd, rbuf, bi->bi_msg, (unsigned long)bi->bi_uid, (unsigned long)bi->bi_gid); @@ -204,12 +205,12 @@ process(bl_t bl) if (conf_find(bi->bi_fd, bi->bi_uid, &rss, &c) == NULL) { (*lfun)(LOG_DEBUG, "no rule matched"); - return; + goto out; } if (state_get(state, &c, &dbi) == -1) - return; + goto out; if (debug) { char b1[128], b2[128]; @@ -269,6 +270,8 @@ process(bl_t bl) state_put(state, &c, &dbi); out: + close(bi->bi_fd); + if (debug) { char b1[128], b2[128]; (*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d " @@ -541,15 +544,16 @@ main(int argc, char *argv[]) state = state_open(dbfile, flags, 0600); if (state == NULL) state = state_open(dbfile, flags | O_CREAT, 0600); + else { + if (restore) { + if (!flush) + rules_flush(); + rules_restore(); + } + } if (state == NULL) return EXIT_FAILURE; - if (restore) { - if (!flush) - rules_flush(); - rules_restore(); - } - if (!debug) { if (daemon(0, 0) == -1) err(EXIT_FAILURE, "daemon failed"); @@ -563,7 +567,7 @@ main(int argc, char *argv[]) conf_parse(configfile); } ret = poll(pfd, (nfds_t)nfd, tout); - if (debug && ret != 0) + if (debug) (*lfun)(LOG_DEBUG, "received %d from poll()", ret); switch (ret) { case -1: From nobody Tue Dec 23 14:12:04 2025 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 4dbH506npBz6LTQ7 for ; Tue, 23 Dec 2025 14:12: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbH504HX0z4Hkd for ; Tue, 23 Dec 2025 14:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766499124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=weGbsH4n02w4qM9V08NsGDcrmCCOmNB/dxsT4g77L4U=; b=vcYCauXFkBAZP/h3ZGY1YoqcsmHkLd9Hx/5Y+Mq0zRCZECyEn/t27XHBkGi1IkundTFdWi 0oZUYxhnJ+pXMyYwr7MafFbEPElOZk0TQUOiq/TyAzaRLgC3x3a71cQ2c0gul4tJNDew9u XAGvNVuTyraq9NAydO1nHek3kozKNxsulGAJfN9MHz3+5fm0aED5jITSrbqa4axn/GV+du EsaR8Bfff6MAtuuyW6BCyCL/CALu4v089XUt5jEx9IVC6c/8BBaAsSjrFeDN3qSmwMmWuN NZMi7p/f12scl7GdhvsgjoC1HHzMks0PH1Pl6+RjmXbxkxJjXdYkhdog2HIu7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766499124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=weGbsH4n02w4qM9V08NsGDcrmCCOmNB/dxsT4g77L4U=; b=SplQST7qrEtsg53bAQBJu3cc8XZeo9neQtW1CdcuqzEjYTBvYPyGSlyqhzH+tdKnuO94xa /uFJ49+kEPOJDxJeNwlG1Hn7cv5eLUt+SzC1BiT8jDKFE835H8WLzRBuqJQiowtvGEAY2X fpy9VcQbZuHkSTPqWZwSYoI1sUh7CJW6PzkfHCEbQWN4OLH217ENxTLtPnABxrA5VdJsd5 BCFXxgdJ83ayQAJYZA7jKR6PPzDWuxBI2+hkpDRPUywGC4+xWkpUuFoSP78m1qJdKVfUNg 8WSIBhiNr5n7RJFaxDTwOMpPc2+jzNpRzx3xFcQea2FnXsOXiHM0G55yIR4yCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766499124; a=rsa-sha256; cv=none; b=KiQ2za1uHDR4CLHfGA7iUZA3cXQl3wJ0Q+30cbd7tMEgDMdXA/tLYwAnXYIaAlqiNOHOCv ynD+ty8mwU557x9+J2uuA3TCGU11ACFfapopYS/VHUKuZNC9RryP6cqtcAjnzuYCZymIzi Y3qrdN+ewnHMNsQLiC3APSOiw+R2lbQ+M8cIBdizrWtajna5i6PFv0RMJsts/THTnYzYvZ vRd9QAci3ncDmUt1SAWWKTq031drhjrR6xL3Thc0PPbBS6vrzP5Gqaizb+lrKg/Mep4eLi qpfL9sA1lA8j4ip0RjuZvW9RG6ncfZcWAr58CmGt36Y850wCgeCxou+jbVFRdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbH503q7Nz1DGB for ; Tue, 23 Dec 2025 14:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a537 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 23 Dec 2025 14:12:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Pawe=C5=82?= Krawczyk From: Alexander Ziaee Subject: git: c6cddb8a5b0e - stable/14 - at cron file is now in /etc/cron.d 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 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/14 X-Git-Reftype: branch X-Git-Commit: c6cddb8a5b0ea73a0d545feed59dfe62aa568344 Auto-Submitted: auto-generated Date: Tue, 23 Dec 2025 14:12:04 +0000 Message-Id: <694aa334.3a537.7696edc5@gitrepo.freebsd.org> The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c6cddb8a5b0ea73a0d545feed59dfe62aa568344 commit c6cddb8a5b0ea73a0d545feed59dfe62aa568344 Author: Paweł Krawczyk AuthorDate: 2024-05-10 04:21:18 +0000 Commit: Alexander Ziaee CommitDate: 2025-12-23 14:11:30 +0000 at cron file is now in /etc/cron.d PR: 243380 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1106 (cherry picked from commit 783baf00128f6cf6fc08404eaad6a11b29d4025d) --- libexec/atrun/atrun.man | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/atrun/atrun.man b/libexec/atrun/atrun.man index 1f49ad9fbb37..766953ef015d 100644 --- a/libexec/atrun/atrun.man +++ b/libexec/atrun/atrun.man @@ -16,7 +16,7 @@ runs jobs queued by The system .Xr crontab 5 file -.Pa /etc/crontab +.Pa /etc/cron.d/at must contain the line .Bd -literal */5 * * * * root /usr/libexec/atrun From nobody Tue Dec 23 14:13:55 2025 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 4dbH7812Jgz6LTvd for ; Tue, 23 Dec 2025 14:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbH780CWVz4JhT for ; Tue, 23 Dec 2025 14:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766499236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Qc+7fun8CrHvFn8Tj5BgdHZ4UsJk3fOYZegGsKuQ0g=; b=swPkqeQUYAKiUtYBcvj7AFTU6Hv/qxlxwhAvedbgmlFgJpVZk5NYdrC3a7PuAvqkV1yQO3 FKt0V5Wx/P2vFiKYnto3rJQWgf0r1s8qW6u9WPlyxaAYoIk8dKJBqraZsSP1PaN2CWJCdO 7yoXpjzIUEQGeL3ToEsUpA5mxLVA1K3Ot3cDXAiNJUy97RBg2Pm6kUzRIOhvx08+xbrl6S 5PqSUAWrDWl8oYZ2Wa+oLVoUtIZ0Ns0TWvlB+dhziw/Nb/WtCDWhh4HkF/uNNhRe5cP2jU JpStt+N79YaWKfjT6zFrZ5rtB8+8WR1JY+guDoTbnDH9gIK+6H29l605mCyrXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766499236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Qc+7fun8CrHvFn8Tj5BgdHZ4UsJk3fOYZegGsKuQ0g=; b=jBUza4rZZhYQZ5Sre7EHcd+nVgWmADIewQMFQP7crTrn4YhhB2/WlvB0ZsJW5Z35JxTFBl 6RDvgKavtaPTVMZMFz/IVQKGjJhWvEVNeX1su0zZtxwM9pRys4zv7fiXSs/7kH6EabUEdf 5OZjGLA7z/pj7+bmwQo9NBrcIhU20s6WdhfG66UUW4PLq8yq6PyVWw+ZN9hJernR5s2ldo N1/lvOJduFhFVIABmIkS685K9m8OAsU1ivYwMFkzLldN3Wx5AX8B58gXGS12Y4KffcwvbT TGz8yW5dwtf7q0IPc7DD9MKAm9VCdN/s426eahGH/zRZBr8XuF+2MiN/hDcwIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766499236; a=rsa-sha256; cv=none; b=xVQdnJ8QjPWFQT2pFIENlDNnfkMsDJMFuMJNmO/NoFAmqUkW1XD7kmRqkXZ+mQQHiqpioA NCp2pOU65qR1O3gu4VdApoOfv2z9XXzQiNaWjAkAX+X1zsLasRbuoUL+pGRM9lm/oTaq16 lHm/mpIMmEw1ZlDUbBzBQGp0jqqi4goiZykuBeWIVaxyTJSEeZ43JnIQ6qTSb071q2a8Py jw81xQyccpWRnaMmgw8MS2ZtDYjUGY1z4/ysZG39g1Bxb8IpOCA8Eo87o8KcRn5kfJ4XoW 3tHOeoDARd1phG0/fjP/C/B9nn4kY21WIIzGdjr7fM9Ijq50w2rp6vhk9Xq1QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbH776tLfz1DGG for ; Tue, 23 Dec 2025 14:13:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bcde by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 23 Dec 2025 14:13:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Pawe=C5=82?= Krawczyk From: Alexander Ziaee Subject: git: 7eb5a5b111e9 - stable/13 - at cron file is now in /etc/cron.d 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 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/13 X-Git-Reftype: branch X-Git-Commit: 7eb5a5b111e90c374bec1166b16d52b367d3ec03 Auto-Submitted: auto-generated Date: Tue, 23 Dec 2025 14:13:55 +0000 Message-Id: <694aa3a3.3bcde.422968d9@gitrepo.freebsd.org> The branch stable/13 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7eb5a5b111e90c374bec1166b16d52b367d3ec03 commit 7eb5a5b111e90c374bec1166b16d52b367d3ec03 Author: Paweł Krawczyk AuthorDate: 2024-05-10 04:21:18 +0000 Commit: Alexander Ziaee CommitDate: 2025-12-23 14:13:25 +0000 at cron file is now in /etc/cron.d PR: 243380 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1106 (cherry picked from commit 783baf00128f6cf6fc08404eaad6a11b29d4025d) --- libexec/atrun/atrun.man | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/atrun/atrun.man b/libexec/atrun/atrun.man index 1f49ad9fbb37..766953ef015d 100644 --- a/libexec/atrun/atrun.man +++ b/libexec/atrun/atrun.man @@ -16,7 +16,7 @@ runs jobs queued by The system .Xr crontab 5 file -.Pa /etc/crontab +.Pa /etc/cron.d/at must contain the line .Bd -literal */5 * * * * root /usr/libexec/atrun From nobody Wed Dec 24 00:42:10 2025 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 4dbY421m9mz6LB8j for ; Wed, 24 Dec 2025 00:42: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY4212XSz3ZGD for ; Wed, 24 Dec 2025 00:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bV1uJSvIU48Cu33x7SRvrPYtfn8mMG2zGb2640g03m8=; b=UkbPyDFoOUEl/OJtPtVVxUS7dv5QfGxHkRhfenyaKhfSI4OO4aHrvSU/S6ftUcqRV//mP8 SyMcElsyXzyR+SoV7nPmLwWn0/+llHn65uNbdMfBOwR7OgBYonBpAVyaRLs5m1+BtAztkn e5qxz0cVXPZH29jNwfzl1W3I7o1LjlrZUokDJrLKbXfGFRp7yfk8tQSCOqTwPQDoBiGBjE /FqBVBbMbj/XxhpcTdQRY+o1OGgyJCRGbJY080ld0qRMvitK41LdRBNand1Z2rzCqKH/gt +dQrJczOUB+ZsCQrxx7rwBO21/xPm3K6azmTEIBDwHo0s5LaK3DWXF1YaTOYMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bV1uJSvIU48Cu33x7SRvrPYtfn8mMG2zGb2640g03m8=; b=YY1DjC2Rv13IQgowYQD8l486dnFJL0N472hl0ssWNff7eaKaFzflMCopvb3fLXz6g/Aa7z IAAPWL9BeBHNNi+SUAZjvV2jUvxxPiRihpto1wvhtHliu+FhpzYnFPOfU0Vsf7C6aw/uF3 lPYO431TNujCfSdP2YVivPYW/GzuC27PN9Wc7yRx7ZCIRa5R8q0NU2vwQIIyiN47tDZ+9n 9y8wD8VuzPYsYhZfunQPgupBw4KZnKS9eCLMgfPf42WmTknTHnCPkGGWuX6JIJy2uANfd2 Em1xII69afk9LXyKEG82wLWvn8Sjxd6Gw6ZxQzoM0NLQHrtEv8qwtxnzyzMdmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766536930; a=rsa-sha256; cv=none; b=vOoN3xbwCpnaDwGDRdz8nXoDthqKEpkT+q8c1vV/csr/rsxrPt0dxXcM+c41xDiFCSnxWA TGEjEMPgQFXHgRBMT5C+XYGa/LJ5SY6CuXl6omiFP1TOzAYLnn0qhErpH7X1BR0duHa/Jq p4kohxzvkB1/mLzwXEmEXNFC/eIH0JPJx3ofusdu3Z6Mw0ltSH/kxei63+wy12PoG3DmHX vUYBFoPQ6aZd6+rSlkSWxx/E83TyC1/Tjhh6449+0kzYix2rg33DSSmIyNDMwst9pkV3Ml 0kScj77aw3qywTfql/TdPf2Zuu0VwHp4OjEifGgGVxWWPdNCLm6xYMzwpcPqBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY420ZbPz4FZ for ; Wed, 24 Dec 2025 00:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3151f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:42:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6397c1478ac2 - stable/15 - swap_pager_seek_data(): improve assertions 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 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: 6397c1478ac2f8a4ee566ecec3196ab28b3b33d4 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:42:10 +0000 Message-Id: <694b36e2.3151f.25f73709@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6397c1478ac2f8a4ee566ecec3196ab28b3b33d4 commit 6397c1478ac2f8a4ee566ecec3196ab28b3b33d4 Author: Konstantin Belousov AuthorDate: 2025-12-14 09:30:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:33:00 +0000 swap_pager_seek_data(): improve assertions (cherry picked from commit bdfd695037a95b076aeffd04ed9fdf042b6ce218) --- sys/vm/swap_pager.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 676e585a6b53..5e9a0ad94cb3 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -2460,7 +2460,8 @@ swap_pager_seek_data(vm_object_t object, vm_pindex_t pindex) vm_page_t m; vm_pindex_t swap_index; - VM_OBJECT_ASSERT_RLOCKED(object); + VM_OBJECT_ASSERT_LOCKED(object); + KASSERT((object->flags & OBJ_SWAP) != 0, ("non-swap obj %p", object)); vm_page_iter_init(&pages, object); m = vm_radix_iter_lookup_ge(&pages, pindex); if (m != NULL && pages.index == pindex && vm_page_any_valid(m)) From nobody Wed Dec 24 00:42:11 2025 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 4dbY442llVz6L9yW for ; Wed, 24 Dec 2025 00:42: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY435Sp9z3ZS8 for ; Wed, 24 Dec 2025 00:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P0TMW6eh0yathvwOmA908jYbJPE1uRLVkQjIrdZ05EU=; b=jY2jW/yiPtJMVHMBO/+FjEkaaYv4KzZ/QqmQiQCDYnq/nl6+G7dN7xMrUKkWgqd8id3t7B tPyS9ieNfBviaGY1aOzjo/QYCbImcLSd/IgCNB62x+6xfDWPcVuJAmGUbEl5qg7L7dycnG ZyoRBMRXf5NjP4MNdOcLbOOMCrMPUAaH5ioZEjjnqRQLtJD2UOwLsBFTCmq16/JQjVbG9x Ss0evLz+SJUUDzfzlLTo5z5kVA8hy47o9AtUAeFv/8rlSsKZEL+4tFFk+Z0YHlQGv+ChKg IYkqlV7hfOP3t+UKUjOdyVHDz7ZzSNp2QYGfBUyDHSrltqNIhD8urRfw8TzEoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P0TMW6eh0yathvwOmA908jYbJPE1uRLVkQjIrdZ05EU=; b=wQ8NHPFkO7qaMzJe6XDrxYLRM6ZOYYX9xv37WDw7cE9lSuUCA3mBUg5KhX+MkhZv1sYKra xC8JUGhyyr6DK1Fy61Vh7dDadkGttwqV69g3mEgZHs1w0QpbNzcE+4ziLx3ZPHjrKoPCgL 6DHn1Npp2ieiMMXGMP0zckpZIT/3Ewjk/TmWAA65SZerNVnGlh8Rcew6q/tFluW66X0z4n YUj2vBQZkv/H1NgQsEmy/OdzDZlDB1q3kqN6eWwyY1H9UV5LRyMMGJflNyLobB+8cURAol BJc34FiTgJTZ5ErLE41WmTXWBS4szZLjAPbpS2v9dsXv7BBGWpwat0wx7DgNgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766536931; a=rsa-sha256; cv=none; b=k+ZWh7SFWq527SCX7E8tN1uqO+w7Jjr1gs8HU1zHU/px1yDBCYXCZSKRDfzvlse4jMO4jD NJCcbuHaiSL9V1ijyqgv6CMzOHqyt2KFhR71OgfxU4+PmbeXvM16qb+HDk7Huf6kOf2+Kb RB5vVfsummdEI0ooFmsqAUWTErRIuZGunFN4wlPtTcu/0+/NE8uz2n6k7TsNXu5p/RU052 h4akbEP3eCfEw49s2JtI3+/LklswCccS6c6LgvZ2RXsFMTxy6On9DW44uyvrKcHXtHBNSQ zwRB43ym0Qx8SxTxpUMVf+7m9hPChrYoS47p0qSwpN8t3uHNen5uYHhkEBxYMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY4313nsz3x8 for ; Wed, 24 Dec 2025 00:42:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31427 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:42:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7dc87eef4695 - stable/15 - swap_pager_seek_data(): move the clipping at the object size 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 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: 7dc87eef4695c93765b598f4558ff5e55bf8bf05 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:42:11 +0000 Message-Id: <694b36e3.31427.36f1cbe5@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7dc87eef4695c93765b598f4558ff5e55bf8bf05 commit 7dc87eef4695c93765b598f4558ff5e55bf8bf05 Author: Konstantin Belousov AuthorDate: 2025-12-16 05:32:37 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:33:00 +0000 swap_pager_seek_data(): move the clipping at the object size to consumers (cherry picked from commit 30ae88e3b217b12476dba665d163ab0d8dd6a8a7) --- sys/fs/tmpfs/tmpfs_vnops.c | 2 ++ sys/vm/swap_pager.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 0f4ea2fdc28c..e1bc0d156baa 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -2091,6 +2091,8 @@ tmpfs_seek_data_locked(vm_object_t obj, off_t noff) vm_pindex_t p; p = swap_pager_seek_data(obj, OFF_TO_IDX(noff)); + if (p == OBJ_MAX_SIZE) + p = obj->size; return (p == OFF_TO_IDX(noff) ? noff : IDX_TO_OFF(p)); } diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 5e9a0ad94cb3..ab95bde34ceb 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -2479,8 +2479,6 @@ swap_pager_seek_data(vm_object_t object, vm_pindex_t pindex) return (pages.index); m = vm_radix_iter_step(&pages); } - if (swap_index == OBJ_MAX_SIZE) - swap_index = object->size; return (swap_index); } From nobody Wed Dec 24 00:42:12 2025 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 4dbY4519yPz6L9t4 for ; Wed, 24 Dec 2025 00:42: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY442gj7z3ZSL for ; Wed, 24 Dec 2025 00:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BJhNbGkNfzeBslFwwAufFL3OBdnlHqPsIoNf3feNQYM=; b=KineANeVPb8QIkGlnZdYQ+EB843354taPiFQHE2dSc/Ax4Lq+pz35vE8CvkGf9rTFpukW/ a8/4FIHHFQm+ptl4GH2hoKLy/Io0CYeOdw3VngMY9isVA0ZJODiYL3Ad9Va/ORwXL/l6bL 7/ljlI3kM89Gnbfs85XiQPmn1qaY3O+4gt3L7sY7VGZNEhTZpek81QefSu0Dq7r6uKzVcm tEMpLmMmdZc0LMJRpRMMYzOzE2DBx2Rf+WYXag8jck+AMYkQyqGehc3M8g0nFSxmv2sjx7 TdEZZbZYqr+T55hkwdwGzEsy3nBhZg77FK3orFFUcn7QG8h41xriyPYviuG06g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BJhNbGkNfzeBslFwwAufFL3OBdnlHqPsIoNf3feNQYM=; b=q/p5Kg480moBS1irY9niPheEG9h6gjHSzn0WfF5zmbavZPglxCIM0EJoPA9OemXfO40+Xw CiTM4vittxy/yOkBEWtt7XFqIeaj5FeSlWsGkcyd1KAusKQ7Ute5KBlGDT0pkxjLdSnPjb +xDn0qTy6MmzxJaYEWa0/mtS9dKSvr0s/Y3a/wAIXxJf37OkIkEBab77/DA67FYIO9ElpP r09gRJzoZmrOXecnBsk7HjKKRKULl/TaxSuYLXxwRp4ghSFdfg/G/LMItgz/TPtZt8GF5w xBGXpODNJ23KV7MbG7TCgj7ZttfK+Z8bADNLqIKA5HNLoRc3MGB2Pv81IVrUWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766536932; a=rsa-sha256; cv=none; b=S7F6sNibbndL9gZNFHLPlA8xM0tyrNetlZaTNwMVdcdOLyrsmfR23Mh0a8S4hREMOl/NUU IMWmY5TKOE1rXCiEt3uGg1noDqcmbO/jBiRB3/p5hrZ3L1Vb+hrKhyy+nRYjod62dG84ws e9RnTjpNN5bNj/DkpK8C0X/p+JT85TuXc4oLxdWFnZSW/CWqkeRzq9FMuaKlRCKo5bAyVf +1MqYdCWPKJjeHGT8k9VURVamjPnoa0KLo3lRaGV5ItRVgcLbm3VQCMtHTt7K3RJG9fvXW 6g+4e9PdMuNE3V4EzdFrMPQIGENED4iiedSzXRdtI2qxUGtVJazeBX4fvtZUrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY441xmnz3x9 for ; Wed, 24 Dec 2025 00:42:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3059d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:42:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d7bc2ee3dedd - stable/15 - vm_object_coalesce(): check that coalescing does not revive stale pages 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 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: d7bc2ee3dedde2a9188234a563c4259c480d2664 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:42:12 +0000 Message-Id: <694b36e4.3059d.1b685b7c@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d7bc2ee3dedde2a9188234a563c4259c480d2664 commit d7bc2ee3dedde2a9188234a563c4259c480d2664 Author: Konstantin Belousov AuthorDate: 2025-11-22 18:43:57 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:33:00 +0000 vm_object_coalesce(): check that coalescing does not revive stale pages (cherry picked from commit f94bfc469df9a2bc78ed15cc42525d09e3413e0b) --- sys/vm/vm_object.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 413ba5459e3d..117900135ac3 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2244,6 +2244,23 @@ vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset, if (next_pindex + next_size > prev_object->size) prev_object->size = next_pindex + next_size; +#ifdef INVARIANTS + /* + * Re-check: there must be no pages in the next range backed + * by prev_entry's object. Otherwise, the resulting + * corruption is same as faulting in a non-zeroed page. + */ + if (vm_check_pg_zero) { + vm_pindex_t pidx; + + pidx = swap_pager_seek_data(prev_object, next_pindex); + KASSERT(pidx >= next_pindex + next_size, + ("found obj %p pindex %#jx e %#jx %#jx %#jx", + prev_object, pidx, (uintmax_t)prev_offset, + (uintmax_t)prev_size, (uintmax_t)next_size)); + } +#endif + VM_OBJECT_WUNLOCK(prev_object); return (TRUE); } From nobody Wed Dec 24 00:42:13 2025 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 4dbY455Jj0z6LBBZ for ; Wed, 24 Dec 2025 00:42: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY45349tz3Z9x for ; Wed, 24 Dec 2025 00:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bm3CK+dW7ZkeS9NoWH4ioNoeVeO3hO73ZFWIDWgmQNE=; b=nAYxJOBac/r9RqNGDzDA8DO45MJRXFaMkupAxBeMF201HFbdI4Ih22SadeJVjnG3YtKHNQ nMcGgjM/9340oRyzuHMubPmg8ydQCg9YSAEXQQcj0Xr55oCSDRrIWWnbVL9H18zuqQ48HR +Un+u5KAiV/4P+bSaKliRUwX3ahMw/YNyps7XqUrdPBIN4Q2/JaiuB3wb/GtPaSUMUMDgv MAisdJu8cfX/aTE4GQDvrmGRLLgO6EOgQq6PXLt1e4/lfpXCCRHwUcgchmt0ZxMcndWhSa V+V2+ifLD0fbtJpPtWBgFgVt4VG1rKRlHaW/qU+rZ2PnedsA6X1Tf9XZn2FxFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766536933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bm3CK+dW7ZkeS9NoWH4ioNoeVeO3hO73ZFWIDWgmQNE=; b=EfMl2hoWmiQohdYtSk7bEj57K5OQNRkSogoeL/BfiH/3CKjdZysppzFASO+Tvrbct3ZYNP Oh7k9IdOWuzH9DSUrRxJ3yg3ATGnEqUkrmXLYPFNBXbkrzvBU2FW5SIXaO5aHYRWNVF8+h 3XgLwwBtN8bXpUl/ZX4BfIo249mM3T18/WhN9t2klCkrriyZrLhYKPvZz5REx86hZsf7mE 8uGSbYQdAgjBOQzi2MWduN+pZoLRkMSnBLPZXtMwzNsMA1MjEmKr1MMaxOCEy9pTcPK5s3 Fg1zBORBOkvFatszza01jEc8QE7BiQl8Rppy1rFZHSdsMmybL/XJW55ZErk2GA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766536933; a=rsa-sha256; cv=none; b=bsCsBN9ynSIL5c06tCPZoD819mwbYbXaDqgG3JYbBq1EQ2OTGSW3mNx2mSA8pUJSK8F25q AiOkWLsm1LYCmsk4HvUjjj5mx/D2uBFqZOi2bju0fdR5ILg0sU+iyTGRyrvDhlJ6UuL8X5 lW7aoqSjUqpQ/6rupX6VQQ7RTFwk6cPnPlev8aOBPMzSeuiSE/scuduBkHTfx5LyYBQBWO IZn6caxH7EWw/IHNXBUFBP0Q54sGdeYLJdMOAoouurRlKUtMcmNP389s2w4qNlfObFozEL bFxwKIS2jAN99Jrb6gCDZlHbhLq/Ter5XSa7rQGaEN/KtpZz4KI+OcnyfO0NUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY452cYXz4Qf for ; Wed, 24 Dec 2025 00:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3073e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:42:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 478098563e21 - stable/15 - vm_fault_trap(): fix comments grammar 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 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: 478098563e21e9fb0a34c68fbc7c7fe323d90cc6 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:42:13 +0000 Message-Id: <694b36e5.3073e.2d1260a3@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=478098563e21e9fb0a34c68fbc7c7fe323d90cc6 commit 478098563e21e9fb0a34c68fbc7c7fe323d90cc6 Author: Konstantin Belousov AuthorDate: 2025-12-21 21:21:03 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:33:00 +0000 vm_fault_trap(): fix comments grammar (cherry picked from commit 95788a851deb33242c18beb47f8a79eec320dfa5) --- sys/vm/vm_fault.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index f7318f96f709..1f13869aebf1 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -714,10 +714,10 @@ _Static_assert(UCODE_PAGEFLT == T_PAGEFLT, "T_PAGEFLT"); /* * vm_fault_trap: * - * Helper for the page fault trap handlers, wrapping vm_fault(). - * Issues ktrace(2) tracepoints for the faults. + * Helper for the machine-dependent page fault trap handlers, wrapping + * vm_fault(). Issues ktrace(2) tracepoints for the faults. * - * If a fault cannot be handled successfully by satisfying the + * If the fault cannot be handled successfully by updating the * required mapping, and the faulted instruction cannot be restarted, * the signal number and si_code values are returned for trapsignal() * to deliver. @@ -1657,10 +1657,10 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) * The given address should be truncated to the proper page address. * * KERN_SUCCESS is returned if the page fault is handled; otherwise, a - * Mach error specifying why the fault is fatal is returned. + * Mach error code explaining why the fault is fatal is returned. * - * The map in question must be alive, either being the map for current - * process, or the owner process hold count incremented to prevent + * The map in question must be alive, either being the map for the current + * process, or the owner process hold count has been incremented to prevent * exit(). * * If the thread private TDP_NOFAULTING flag is set, any fault results From nobody Wed Dec 24 00:46:54 2025 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 4dbY9V69jFz6LBhc for ; Wed, 24 Dec 2025 00:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY9V3hpKz3bk1 for ; Wed, 24 Dec 2025 00:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766537214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZw0Pem+fhcJ9L+gz2XhFhbQFRPk5sZ9Zl0rt9rp3Oc=; b=UxCRrUNkiC0IEUjHI7YYLA3B7KdsR2v514G++f28h0kSR2GVZrzUzledf6sywpX7jNZ0RY aW8A3MwMFDCXFYOtwDW48vILMBDQu+gecIyDs0+fNNQViga+3NunxLkHBrLVvm+mhDZepm YgSwg0U8mKN4yC7MoWTs62YHTlAoYRhQzfCndjKnymfeSorLCMbI+4LPfP2pDSSw15WBc0 N3YM/WUCISYtUNvAH7FeKJg/WO/j21wRfGnPH+Aq9Ytgm9srikRv+cDvZyap9EWWZn0bIB FPeTpeM1u8oMtqcGv3gkQXSCpbEyxkd8OumfwMa70vHCPU8vwhSlNzZL64qLmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766537214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZw0Pem+fhcJ9L+gz2XhFhbQFRPk5sZ9Zl0rt9rp3Oc=; b=PDXBfFSrBM7di/vjLJkxSeYu/WGejPsDjzRlZHd2mEdx3r1Ncp7M/MgxqlABXmsJP8JBuq vrE4Ah6VuMEnR0xV+I+kpIRcB7UxArSDpWjgvJVx+PL4VTZd7ylei0A37qeLijeQlkJpXO A8QtKEkfT7/0jCzNrdAzWOsenkL43NvlLPUuMLcKp2Aacl67Y2oFfOEXO0TujcdJC8W7dj lXkaQI33TYrUu8TVnSxEdTnSGJ0a07CeRahLAuXeXW9dMGs+yFuWbEi0T6YGedSwGDhgHr uqTZ63Sj7cD/ISOQ1QzgMSpfB1U53uAW/9NCpPKq2/EsjjEIvsoJ4d+QZ4WP0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766537214; a=rsa-sha256; cv=none; b=Viec7CR8SjHS4Ij5U8piIqxoYJPLNzrldEmIJV4bkvQeXU9pxe1Era36VWivn9psJd8e4m yWsOubdOuIssOJ75IiIdwKCXPOc1CML1njxXOCtEOGedarCAwRNFCMRqBb1rXxuSq+p/be 7DfEVjw2pX/47jFEDE7fSg8LKB3uzecSO4w6b0r6B5K0BEHTul5+uz0wKX8oIuH+BKbtam zffLjrMCuMJiSzXgU7iICc0JWBHTgByQc5opxqVWp0oitfZFXQuNq8jBurFsIYkpmMfXi/ ysN/b6VXQkJbc4hNg4d9Xdz6Qh7fTWu94S8Hd+vYNAUWZemgb8rjBqQP4kFAFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY9V2mzcz4Yq for ; Wed, 24 Dec 2025 00:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30742 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:46:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e6bdbc17bec4 - stable/14 - vm_fault_trap(): fix comments grammar 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 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: e6bdbc17bec4645946838c18f1c3b3dfdf50707e Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:46:54 +0000 Message-Id: <694b37fe.30742.262414f5@gitrepo.freebsd.org> The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e6bdbc17bec4645946838c18f1c3b3dfdf50707e commit e6bdbc17bec4645946838c18f1c3b3dfdf50707e Author: Konstantin Belousov AuthorDate: 2025-12-21 21:21:03 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:43:07 +0000 vm_fault_trap(): fix comments grammar (cherry picked from commit 95788a851deb33242c18beb47f8a79eec320dfa5) --- sys/vm/vm_fault.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 87744e2d3210..418f39ac2a2b 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -700,10 +700,10 @@ _Static_assert(UCODE_PAGEFLT == T_PAGEFLT, "T_PAGEFLT"); /* * vm_fault_trap: * - * Helper for the page fault trap handlers, wrapping vm_fault(). - * Issues ktrace(2) tracepoints for the faults. + * Helper for the machine-dependent page fault trap handlers, wrapping + * vm_fault(). Issues ktrace(2) tracepoints for the faults. * - * If a fault cannot be handled successfully by satisfying the + * If the fault cannot be handled successfully by updating the * required mapping, and the faulted instruction cannot be restarted, * the signal number and si_code values are returned for trapsignal() * to deliver. @@ -1622,10 +1622,10 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) * The given address should be truncated to the proper page address. * * KERN_SUCCESS is returned if the page fault is handled; otherwise, a - * Mach error specifying why the fault is fatal is returned. + * Mach error code explaining why the fault is fatal is returned. * - * The map in question must be alive, either being the map for current - * process, or the owner process hold count incremented to prevent + * The map in question must be alive, either being the map for the current + * process, or the owner process hold count has been incremented to prevent * exit(). * * If the thread private TDP_NOFAULTING flag is set, any fault results From nobody Wed Dec 24 00:46:53 2025 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 4dbY9Z5q9xz6LBDw for ; Wed, 24 Dec 2025 00:46: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbY9Z3FRxz3bh4 for ; Wed, 24 Dec 2025 00:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766537218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pPg3njn66NniF9Von1+2s8AKygi2ZDN6g244Hn16ews=; b=IfK8ULrpyXRRQiAqFmkdPkxjF8ibhTkTyHE4lqu3jKptmOqLoG8JOORepcuSsL6TTLC/rO JHZFiooXRUAfoljZhXiNrSIlAN2aOnMduUUquswdy86PNITN7yXMYjV89+CCn7wUE+R2Pb 0Wo5xW0qi5/+Lyc0GVbEChcxUuTXNXFrXw1e6cmICJ5olfYuQyLUsiodSfBbBqiG91aw/y Dup3287nf3iop/GXkGSKzzEixER8H4LbAHLM+i+79WBgRt+WZK4U9R0xD4oz9gfeGGveX7 +7Y5TwrqNGklPU56M0BD64WpGXst6vDV5SGhdQ7J0WjyC7ZD+CNTuCfpRbd7Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766537218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pPg3njn66NniF9Von1+2s8AKygi2ZDN6g244Hn16ews=; b=tuPf5yg5wdko1hTifyTwas+N80xoQPdz8fGQ2kyGPNyytsxhP9KrfbMdj8sveeDt/VjJ6Y PeKAFMKoj01sVT9PMBegOhIHC4xh+zwPUgoHyiaZyJdFdHJywiDI4vv4n/FVijdjj46Njr TXGuAXu1M33rY4MNcMGJCj8+DiNJ2gsAyyKXkywA7IuuxuM1mxzG7vWapTsrRE2KtdlYrf ZbK+J5gEt+Ls7zriuoaD5ElRNDSA/l9kodeKI4F0cMzWWUq73f458vw/8zhxi4Jr381MeD RqVbSd1HpITlL+6xnhFak3gJRzgZPPuKGfuY38FGYTyHAJOOq9jpakATJGOpHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766537218; a=rsa-sha256; cv=none; b=NNB8nTOHzxeQZsjAoAAZFwWK0BncFLugQ9JdzfP6PHyfBa85AJ0h0KmydhC5Gvmzsp3F+a lJg/toVqz8Oeijcv3n0lzYOg2yi1zi1OD96Nh+Gkp8ETlDgA9KFnFgbNmUybJdaY9vkIUR bw/OcST236gMPFpN5dYS8kuLOAefYb2eq/w9QDrKQzWBhZMXJa8z1+NFql+V+FJL2FesM5 bPyWtMTYolpB8w674jjeWR5+JD/uIHSZGwWDLLdxoadsFJ3iEj2HADlExvwb2/bsWqj/hg rgHkJ/tYBL+xzFt1FsSTR582apSHHS7n/hydO0IH+s7+RLDcvnnoh3MDNd8Nfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbY9Z25kgz4TG for ; Wed, 24 Dec 2025 00:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31a42 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 00:46:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b29fb0b5259c - stable/14 - devfs: make destroy_dev() a release barrier for cdevpriv destructors runs 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 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: b29fb0b5259cc991d6e51e0de53455701014858e Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 00:46:53 +0000 Message-Id: <694b37fd.31a42.677655fb@gitrepo.freebsd.org> The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b29fb0b5259cc991d6e51e0de53455701014858e commit b29fb0b5259cc991d6e51e0de53455701014858e Author: Konstantin Belousov AuthorDate: 2025-10-23 18:37:00 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-24 00:43:07 +0000 devfs: make destroy_dev() a release barrier for cdevpriv destructors runs (cherry picked from commit 4dbe6628179d8e6bf400bfdb4bfa869bdc102a56) --- sys/fs/devfs/devfs_int.h | 1 + sys/fs/devfs/devfs_vnops.c | 17 ++++++++++++++--- sys/kern/kern_conf.c | 3 +++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/sys/fs/devfs/devfs_int.h b/sys/fs/devfs/devfs_int.h index 916297425b53..9fa75c0e90ad 100644 --- a/sys/fs/devfs/devfs_int.h +++ b/sys/fs/devfs/devfs_int.h @@ -67,6 +67,7 @@ struct cdev_priv { void *cdp_dtr_cb_arg; LIST_HEAD(, cdev_privdata) cdp_fdpriv; + u_int cdp_fdpriv_dtrc; struct mtx cdp_threadlock; }; diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 2a4576320286..1ff24b54cbf0 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -202,14 +202,25 @@ devfs_foreach_cdevpriv(struct cdev *dev, int (*cb)(void *data, void *arg), void devfs_destroy_cdevpriv(struct cdev_privdata *p) { + struct file *fp; + struct cdev_priv *cdp; mtx_assert(&cdevpriv_mtx, MA_OWNED); - KASSERT(p->cdpd_fp->f_cdevpriv == p, - ("devfs_destoy_cdevpriv %p != %p", p->cdpd_fp->f_cdevpriv, p)); - p->cdpd_fp->f_cdevpriv = NULL; + fp = p->cdpd_fp; + KASSERT(fp->f_cdevpriv == p, + ("devfs_destoy_cdevpriv %p != %p", fp->f_cdevpriv, p)); + cdp = cdev2priv((struct cdev *)fp->f_data); + cdp->cdp_fdpriv_dtrc++; + fp->f_cdevpriv = NULL; LIST_REMOVE(p, cdpd_list); mtx_unlock(&cdevpriv_mtx); (p->cdpd_dtr)(p->cdpd_data); + mtx_lock(&cdevpriv_mtx); + MPASS(cdp->cdp_fdpriv_dtrc >= 1); + cdp->cdp_fdpriv_dtrc--; + if (cdp->cdp_fdpriv_dtrc == 0) + wakeup(&cdp->cdp_fdpriv_dtrc); + mtx_unlock(&cdevpriv_mtx); free(p, M_CDEVPDATA); } diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index db5fe7a6a373..dcc7ebafb13c 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -1164,6 +1164,9 @@ destroy_devl(struct cdev *dev) devfs_destroy_cdevpriv(p); mtx_lock(&cdevpriv_mtx); } + while (cdp->cdp_fdpriv_dtrc != 0) { + msleep(&cdp->cdp_fdpriv_dtrc, &cdevpriv_mtx, 0, "cdfdpc", 0); + } mtx_unlock(&cdevpriv_mtx); dev_lock(); From nobody Wed Dec 24 07:21:21 2025 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 4dbjwd6bSlz6LhgN for ; Wed, 24 Dec 2025 07:21: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dbjwd5tTHz46JD for ; Wed, 24 Dec 2025 07:21:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766560881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SOiQXTku0enNmMpxs3BIhmaslsEu9TLimk+9uzBvepU=; b=P5NoOGXzDcQuflLs8XXT6Uspph0DdPKtM73T4Fys0c4qMcjOcYqGZ3AOgPIWePxR7LS++W CCZZf1Qq6iwk0aF6tJsDk5ZhVPofFB45f45mxVFuvPePFjIIh6hVDyPKJ7uk3VjtM2QXBp bC4yx/HqyZWVlO4/B+JIgyLsjRFxpTTBhng+aUqnf6vfsIAhQm3mGL/LfmM+QY8P0McRCM vv7WQ56owlPRDOfqOPZTkkIqHD9tc9ChCXcIevJc2++VfUUQ1rDLUDSBSYuIMsM/Yb3mIP sEE22E0Rpp1nxFOTXLAk6qWpJwlOV4RjdqwPWsaIMI8shp9oMZZsfeFDyYB5+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766560881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SOiQXTku0enNmMpxs3BIhmaslsEu9TLimk+9uzBvepU=; b=B6m+PDnejt2deMUmQlCc/KEfkxk/PXaSffKFpDAc08l1cFW6f25kjbK0e77D//C8oFirPI r/9m0WiogpDWb73ZmOoumKQ/GOrrMszUpceaAGWGLX75TOQ2COoUBRfiw7P7YrvGF6/cul GJTCS9fewqWcJG6bBddAwmKtsyRczzjBcbtBXKbO41W6sRpftL+A9gGk685uazRlJPApey Z2Lrxoo/5TX/Q7jfk2wQFnE4y9TVCXawrGF7+HNZecY7rCXqygI9traOZSFfHKLD/XPx35 2JraCRseyXt7v/CJKATCDaWvOPVZPhtCwA6y+arunZWF/SvpHDlsN3DGh1Yesw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766560881; a=rsa-sha256; cv=none; b=heigt6B9MUb74TiMCIjfl78rF+XiQRSzfbS6qRRcjfws5quddLh/85HYd0ato7WLzFz3Sf +c8bTh5zMyItz6dRO+mwGpu9bZBn4qw9ilkLLtqvYqHoCZLfGi0Zr0OwL8EWrqMKVIfty/ DwYglyZowgjnKLwJ/88VJYzxg4yIEt1Ur3aWvHm4R3z46qbvAz2grCNt5x1n0aLd7Dbg0R RnuNbdFTQ2PpaSpX8oFy6NwsRVy+rND/2IIKaftg4lRC7WXcsHJb3+HE+p6isZq9g8Kja+ AYxecWJWoBQxT1nxTmQYUctehFHl/tSOWohP2BmKakbvoSh2VD32StLxWnOyyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dbjwd5H2zzYrf for ; Wed, 24 Dec 2025 07:21:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 388ff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 07:21: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: 5fa23c5c21a4 - stable/15 - unionfs: Support renaming symbolic links 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 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: 5fa23c5c21a404de315e2f178b3170fa165a76cc Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 07:21:21 +0000 Message-Id: <694b9471.388ff.1b93c071@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5fa23c5c21a404de315e2f178b3170fa165a76cc commit 5fa23c5c21a404de315e2f178b3170fa165a76cc Author: Dag-Erling Smørgrav AuthorDate: 2025-12-17 22:38:11 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-12-24 07:21:01 +0000 unionfs: Support renaming symbolic links This adds support for renaming a symbolic link found on the lower fs, which necessitates copying it to the upper fs, as well as basic tests. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: olce, siderop1_netapp.com, jah Differential Revision: https://reviews.freebsd.org/D54229 (cherry picked from commit a678e87f5533521f6dec1a4e85c3decb1c3b6584) --- etc/mtree/BSD.tests.dist | 2 + sys/fs/unionfs/union.h | 1 + sys/fs/unionfs/union_subr.c | 168 +++++++++++++++++++++++++++++++++++ sys/fs/unionfs/union_vnops.c | 10 +++ tests/sys/fs/Makefile | 1 + tests/sys/fs/unionfs/Makefile | 8 ++ tests/sys/fs/unionfs/unionfs_test.sh | 165 ++++++++++++++++++++++++++++++++++ 7 files changed, 355 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 41151d35e518..641846ebb603 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -824,6 +824,8 @@ .. tmpfs .. + unionfs + .. .. geom class diff --git a/sys/fs/unionfs/union.h b/sys/fs/unionfs/union.h index 0bd1894a2195..fe5a578ef4dc 100644 --- a/sys/fs/unionfs/union.h +++ b/sys/fs/unionfs/union.h @@ -142,6 +142,7 @@ void unionfs_tryrem_node_status(struct unionfs_node *, int unionfs_check_rmdir(struct vnode *, struct ucred *, struct thread *td); int unionfs_copyfile(struct vnode *, int, struct ucred *, struct thread *); +int unionfs_copylink(struct vnode *, struct ucred *, struct thread *); void unionfs_create_uppervattr_core(struct unionfs_mount *, struct vattr *, struct vattr *, struct thread *); int unionfs_create_uppervattr(struct unionfs_mount *, struct vnode *, diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index f99d9fe9ca35..1ceb6a50c01d 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -1516,6 +1516,174 @@ unionfs_copyfile_cleanup: return (error); } +/* + * Create a new symbolic link on upper. + * + * If an error is returned, *vpp will be invalid, otherwise it will hold a + * locked, referenced and opened vnode. + * + * unp is never updated. + */ +static int +unionfs_vn_symlink_on_upper(struct vnode **vpp, struct vnode *udvp, + struct vnode *vp, struct vattr *uvap, const char *target, + struct thread *td) +{ + struct unionfs_mount *ump; + struct unionfs_node *unp; + struct vnode *uvp; + struct vnode *lvp; + struct ucred *cred; + struct vattr lva; + struct nameidata nd; + int error; + + ASSERT_VOP_ELOCKED(vp, __func__); + unp = VTOUNIONFS(vp); + ump = MOUNTTOUNIONFSMOUNT(UNIONFSTOV(unp)->v_mount); + uvp = NULL; + lvp = unp->un_lowervp; + cred = td->td_ucred; + error = 0; + + if ((error = VOP_GETATTR(lvp, &lva, cred)) != 0) + return (error); + unionfs_create_uppervattr_core(ump, &lva, uvap, td); + + if (unp->un_path == NULL) + panic("%s: NULL un_path", __func__); + + nd.ni_cnd.cn_namelen = unp->un_pathlen; + nd.ni_cnd.cn_pnbuf = unp->un_path; + nd.ni_cnd.cn_nameiop = CREATE; + nd.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | ISLASTCN; + nd.ni_cnd.cn_lkflags = LK_EXCLUSIVE; + nd.ni_cnd.cn_cred = cred; + nd.ni_cnd.cn_nameptr = nd.ni_cnd.cn_pnbuf; + NDPREINIT(&nd); + + vref(udvp); + VOP_UNLOCK(vp); + if ((error = vfs_relookup(udvp, &uvp, &nd.ni_cnd, false)) != 0) { + vrele(udvp); + return (error); + } + + if (uvp != NULL) { + if (uvp == udvp) + vrele(uvp); + else + vput(uvp); + error = EEXIST; + goto unionfs_vn_symlink_on_upper_cleanup; + } + + error = VOP_SYMLINK(udvp, &uvp, &nd.ni_cnd, uvap, target); + if (error == 0) + *vpp = uvp; + +unionfs_vn_symlink_on_upper_cleanup: + vput(udvp); + return (error); +} + +/* + * Copy symbolic link from lower to upper. + * + * vp is a unionfs vnode that should be locked on entry and will be + * locked on return. + * + * If no error returned, unp will be updated. + */ +int +unionfs_copylink(struct vnode *vp, struct ucred *cred, + struct thread *td) +{ + struct unionfs_node *unp; + struct unionfs_node *dunp; + struct mount *mp; + struct vnode *udvp; + struct vnode *lvp; + struct vnode *uvp; + struct vattr uva; + char *buf = NULL; + struct uio uio; + struct iovec iov; + int error; + + ASSERT_VOP_ELOCKED(vp, __func__); + unp = VTOUNIONFS(vp); + lvp = unp->un_lowervp; + uvp = NULL; + + if ((UNIONFSTOV(unp)->v_mount->mnt_flag & MNT_RDONLY)) + return (EROFS); + if (unp->un_dvp == NULL) + return (EINVAL); + if (unp->un_uppervp != NULL) + return (EEXIST); + + udvp = NULL; + VI_LOCK(unp->un_dvp); + dunp = VTOUNIONFS(unp->un_dvp); + if (dunp != NULL) + udvp = dunp->un_uppervp; + VI_UNLOCK(unp->un_dvp); + + if (udvp == NULL) + return (EROFS); + if ((udvp->v_mount->mnt_flag & MNT_RDONLY)) + return (EROFS); + ASSERT_VOP_UNLOCKED(udvp, __func__); + + error = unionfs_set_in_progress_flag(vp, UNIONFS_COPY_IN_PROGRESS); + if (error == EJUSTRETURN) + return (0); + else if (error != 0) + return (error); + + uio.uio_td = td; + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_offset = 0; + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + iov.iov_base = buf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); + uio.uio_resid = iov.iov_len = MAXPATHLEN; + uio.uio_rw = UIO_READ; + + if ((error = VOP_READLINK(lvp, &uio, cred)) != 0) + goto unionfs_copylink_cleanup; + buf[iov.iov_len - uio.uio_resid] = '\0'; + if ((error = vn_start_write(udvp, &mp, V_WAIT | V_PCATCH)) != 0) + goto unionfs_copylink_cleanup; + error = unionfs_vn_symlink_on_upper(&uvp, udvp, vp, &uva, buf, td); + vn_finished_write(mp); + if (error != 0) { + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + goto unionfs_copylink_cleanup; + } + + vn_lock_pair(vp, false, LK_EXCLUSIVE, uvp, true, LK_EXCLUSIVE); + unp = VTOUNIONFS(vp); + if (unp == NULL) { + error = ENOENT; + goto unionfs_copylink_cleanup; + } + + if (error == 0) { + /* Reset the attributes. Ignore errors. */ + uva.va_type = VNON; + VOP_SETATTR(uvp, &uva, cred); + unionfs_node_update(unp, uvp, td); + } + +unionfs_copylink_cleanup: + if (buf != NULL) + free(buf, M_TEMP); + unionfs_clear_in_progress_flag(vp, UNIONFS_COPY_IN_PROGRESS); + return (error); +} + /* * Determine if the unionfs view of a directory is empty such that * an rmdir operation can be permitted. diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 410ab413b172..8e6b11548a36 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -1478,6 +1478,13 @@ unionfs_rename(struct vop_rename_args *ap) */ VOP_UNLOCK(tdvp); relock_tdvp = true; + } else if (fvp->v_type == VLNK) { + /* + * The symbolic link case is similar to the + * regular file case. + */ + VOP_UNLOCK(tdvp); + relock_tdvp = true; } else if (fvp->v_type == VDIR && tdvp != fdvp) { /* * For directories, unionfs_mkshadowdir() will expect @@ -1501,6 +1508,9 @@ unionfs_rename(struct vop_rename_args *ap) case VREG: error = unionfs_copyfile(fvp, 1, fcnp->cn_cred, td); break; + case VLNK: + error = unionfs_copylink(fvp, fcnp->cn_cred, td); + break; case VDIR: error = unionfs_mkshadowdir(fdvp, fvp, fcnp, td); break; diff --git a/tests/sys/fs/Makefile b/tests/sys/fs/Makefile index e36a97d2335a..254394f43714 100644 --- a/tests/sys/fs/Makefile +++ b/tests/sys/fs/Makefile @@ -14,6 +14,7 @@ TESTS_SUBDIRS+= fusefs .endif TESTS_SUBDIRS+= tarfs TESTS_SUBDIRS+= tmpfs +TESTS_SUBDIRS+= unionfs ${PACKAGE}FILES+= h_funcs.subr ${PACKAGE}FILESDIR= ${TESTSDIR} diff --git a/tests/sys/fs/unionfs/Makefile b/tests/sys/fs/unionfs/Makefile new file mode 100644 index 000000000000..da25fcefb473 --- /dev/null +++ b/tests/sys/fs/unionfs/Makefile @@ -0,0 +1,8 @@ +PACKAGE= tests + +TESTSDIR= ${TESTSBASE}/sys/fs/unionfs +BINDIR= ${TESTSDIR} + +ATF_TESTS_SH+= unionfs_test + +.include diff --git a/tests/sys/fs/unionfs/unionfs_test.sh b/tests/sys/fs/unionfs/unionfs_test.sh new file mode 100644 index 000000000000..ee8a9bae19e7 --- /dev/null +++ b/tests/sys/fs/unionfs/unionfs_test.sh @@ -0,0 +1,165 @@ +#!/bin/sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Klara, Inc. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# Create and mount a filesystem for use in our tests +unionfs_mkfs() { + local name=$1 + local size=${2:-1} + # Create mountpoint + atf_check mkdir ${name} + # Create filesystem image + atf_check -e ignore dd if=/dev/zero of=${name}.img bs=1m count=${size} + echo ${name} >>imgs + # Create memory disk + atf_check -o save:${name}.md mdconfig ${name}.img + md=$(cat ${name}.md) + echo ${md} >>mds + # Format and mount filesystem + atf_check -o ignore newfs /dev/${md} + atf_check mount /dev/${md} ${name} + echo ${name} >>mounts +} + +# Mount a unionfs +unionfs_mount() { + local upper=$1 + local lower=$2 + # Mount upper over lower + atf_check mount -t unionfs ${upper} ${lower} + echo ${lower} >>mounts +} + +# Clean up after a test +unionfs_cleanup() { + # Unmount filesystems + if [ -f mounts ]; then + tail -r mounts | while read mount; do + umount ${mount} || true + done + fi + # Destroy memory disks + if [ -f mds ]; then + tail -r mds | while read md; do + mdconfig -d -u ${md} || true + done + fi + # Delete filesystem images and mountpoints + if [ -f imgs ]; then + tail -r imgs | while read name; do + rm -f ${name}.img || true + rmdir ${name} || true + done + fi +} + +atf_test_case unionfs_basic cleanup +unionfs_basic_head() { + atf_set "descr" "Basic function test" + atf_set "require.user" "root" + atf_set "require.kmods" "unionfs" +} +unionfs_basic_body() { + # Create upper and lower + unionfs_mkfs upper + unionfs_mkfs lower + # Mount upper over lower + unionfs_mount upper lower + # Create object on unionfs + atf_check touch upper/file + atf_check mkdir upper/dir + atf_check touch lower/dir/file + # Verify that objects were created on upper + atf_check test -f lower/file + atf_check test -d lower/dir + atf_check test -f upper/dir/file +} +unionfs_basic_cleanup() { + unionfs_cleanup +} + +atf_test_case unionfs_exec cleanup +unionfs_exec_head() { + atf_set "descr" "Test executing programs" + atf_set "require.user" "root" + atf_set "require.kmods" "unionfs" +} +unionfs_exec_body() { + # Create upper and copy a binary to it + unionfs_mkfs upper + atf_check cp -p /usr/bin/true upper/upper + # Create lower and copy a binary to it + unionfs_mkfs lower + atf_check cp -p /usr/bin/true lower/lower + # Mount upper over lower + unionfs_mount upper lower + # Execute both binaries + atf_check lower/lower + atf_check lower/upper +} +unionfs_exec_cleanup() { + unionfs_cleanup +} + +atf_test_case unionfs_rename cleanup +unionfs_rename_head() { + atf_set "descr" "Test renaming objects on lower" + atf_set "require.user" "root" + atf_set "require.kmods" "unionfs" +} +unionfs_rename_body() { + # Create upper and lower + unionfs_mkfs upper + unionfs_mkfs lower + # Create objects on lower + atf_check touch lower/file + atf_check mkdir lower/dir + atf_check ln -s dead lower/link + # Mount upper over lower + unionfs_mount upper lower + # Rename objects + atf_check mv lower/file lower/newfile + atf_check mv lower/dir lower/newdir + atf_check mv lower/link lower/newlink + # Verify that old names no longer exist + atf_check test ! -f lower/file + atf_check test ! -d lower/dir + atf_check test ! -L lower/link + # Verify that new names exist on upper + atf_check test -f upper/newfile + atf_check test -d upper/newdir + atf_check test -L upper/newlink +} +unionfs_rename_cleanup() { + unionfs_cleanup +} + +atf_init_test_cases() { + atf_add_test_case unionfs_basic + atf_add_test_case unionfs_exec + atf_add_test_case unionfs_rename +} From nobody Wed Dec 24 18:19:06 2025 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 4dc0Wb1smlz6LN7p for ; Wed, 24 Dec 2025 18:19: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0WZ6Kqdz44hs for ; Wed, 24 Dec 2025 18:19:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LEDiKFSo9NCl4fRvOmMr1QMq7x2SKU2Iu9ev53c7iic=; b=xybsEHDp9wzc+XqAKg2bgr5gQWTdMvQCCWtMth7EV5+JaPRfAPfKo8fUG8wEglrpyjDLSF lLQnXyvow6bjozLUsAzwdt1Ra7Eq40IBVLigMbfTxi8XZz6xUex6b0pVbkN9A2e89nUZ9r Mn9r84AEY5ufb+Kwx2Ims8ibou8alA0UrcHbTAFesi5A0xy9PYXLVvLDGvT4Do9TMIF9OC 00oVM8DOFcdLBjq2+2W6CfQrS64/rrr+wdNi6nN7xeZblExns34v29yzf+barCIVtLQXnu 4NKBrn/1Eg144SR/yHZCtu4BljhIeDG8hCcdRIH2Dl4XuOGYdjrSORwhVzxf2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LEDiKFSo9NCl4fRvOmMr1QMq7x2SKU2Iu9ev53c7iic=; b=BpBkVZY9fHue2D0mAZHOT+hy7Gz/TfYZntX3MY9zdDQDAb+Tgl/xIl/MeBra7FzipjG/Mo tZPDnfl+vYPNM2P0gi5ediYl90u3EV94J429RDBFmm6PHTvpcMh0+On8LxWspHjayKO82V OnTcy/w0JF13dY2VBt4eTWxLXPbPDyfcZXKc6YPdXrWpuJqj9KLZlw4claE2Nx0VPrUaBG IwQvc70fWlZrK3REJMkBu4Ct4M7UoZrIt87LsnOoCxi2ODQ+mfs4+O+zVqkIOzVXRcQysp hjVFOKEHW0Wg6iaqbAi9pKIbt4NHEvyfv8Ex+xGfZlg2c3qaL8NhLGhrjISeiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600346; a=rsa-sha256; cv=none; b=QfD+kGc18Yros5WRNBDv7+joWis9igSRKpD/dUbnwpfSCEFz/LYijQzPejZ0ONrltwYBTF V4JNIO5Cs/z6Qt+ollTH4sXeBVCaMGrvNEdi465+e3+9dRC9EqXT9rN1L9zchCYypWav++ Om5f+3iq4nvU8YPH1EgTP6nQb+ka5QCcYLElYT+2Hw2AhV8Eud9WFP9GDme5CPnmxd0CMv fFpOceKAkZhuIOjtqmtKhl8G1zjJ6vDFA8jarLdupiAX9XJt3AqgMKH94Jjl/BVkcVyk/5 TR7ASAjPInFYPJCd3aU4hZLRVdHf+t9Gsf+qdzEvXTuLz4daMnvSS55L91RRXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0WZ55TRztRm for ; Wed, 24 Dec 2025 18:19:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3098e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:19:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Sergey A. Osokin Subject: git: 2cf7b7af8fa7 - stable/15 - bsd-family-tree: add macOS 26 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2cf7b7af8fa7410c39ad190535402a48339645e7 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:19:06 +0000 Message-Id: <694c2e9a.3098e.4a494636@gitrepo.freebsd.org> The branch stable/15 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=2cf7b7af8fa7410c39ad190535402a48339645e7 commit 2cf7b7af8fa7410c39ad190535402a48339645e7 Author: Sergey A. Osokin AuthorDate: 2025-10-31 20:25:11 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 16:06:49 +0000 bsd-family-tree: add macOS 26 Sponsored by: tipi.work (cherry picked from commit c6e02892bbca1237546e3943c0971768822e1745) --- share/misc/bsd-family-tree | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index b0502dfc7925..82e9ac45c495 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -479,7 +479,10 @@ FreeBSD 5.2 | | | | | | | | | DragonFly 6.4.1 | | | | | DragonFly 6.4.2 | FreeBSD | | | | - | 14.3 | | OpenBSD 7.8 | + | 14.3 | | | | + | macOS | | | + | 26 | | | + | | | OpenBSD 7.8 | | | | | | FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -925,6 +928,7 @@ OpenBSD 7.7 2025-04-28 [OBD] DragonFly 6.4.1 2025-04-30 [DFB] DragonFly 6.4.2 2025-05-09 [DFB] FreeBSD 14.3 2025-06-10 [FBD] +macOS 26 2025-09-15 [APL] OpenBSD 7.8 2025-10-22 [OBD] Bibliography From nobody Wed Dec 24 18:19:07 2025 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 4dc0Wc0Pwtz6LMpL for ; Wed, 24 Dec 2025 18:19: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0Wb6XwBz44nD for ; Wed, 24 Dec 2025 18:19:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TbBkIPvJ1dsVZm2Fp8sZud241lbez8wfDRA/je14Y4Q=; b=q+tlyhvC5tRnuj76ddnHY8BjJB9XdJRLQWI5WC+ZdopiWcXVtnxttoume7KMrmeFeYSfWU 0GZeScMqJZFL58eMNcQbJ070yhnn1TJnThnLvcC11I5nbKmgbNWUlrj0LSUtzToAW5rC2c aKnGHtqTT8CRSdkeSb8qPpWlhwhu3mcYdq1woTy2N7KvE85vagkffjrnPenHRdWHBCFzQK Cv73iXA95IlIV3rtI+Sh3ViBopChnRNm4vnZOv9gwC291nP2ryUqpkQfZHKRGMRg8XaLJG SL4mRJkcWTvMi7+nw+O1uRfW/IIq/iNZo/voCFfcTHr4DjHQy9nXYm/vHs+Lqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TbBkIPvJ1dsVZm2Fp8sZud241lbez8wfDRA/je14Y4Q=; b=xb2HKNKkbxLbSbu6FdaMUqTC+gsTiH4ewpShhkv/Cjgp5Yo41vBpbIDV32WIjKjQPRmlHJ HrEzkhISu1L53vdjtKrH5RSDaAyuA3dhJnEtlDZYCM/UO2p60kUpNM1POvuiugm+KiLGi7 +PfVlDdvi2m9XEPVw6kf8bLg+7iAlZQnC8U1YRh5AC9UfbvTWpY+j2Q7ttQKo5GalrEEgA xMMmObsU4tPPiF0S3RRS40mvT7gNtGnqPHE3PY5XYvnP+8SGO1HVhAtywyIdWJF4xjUjLh h4qELtfigENolFue53qXkRc5wUhVC39ERtZg/kOtAC2bWhZ7T451ZcAJjG2Zjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600347; a=rsa-sha256; cv=none; b=Gck8jRC5jcDLTNl1kh7lCW39vAYsBJsz/DoiI8oBpGTPBiFvPtHNDBcsLO3cP5DNXHg9dJ NBvCDD0y41aJmcyMz6nE/kKYqm5uLTq66IWSFkyiVj7XeyPAVRJJQpdreG8VHE6hPpFRoA cvTbNwERUUTzUbq3Ig7xTwBYREAc9PP7KfKnAZMBHthDwiN7fgaegmSEJhVrOdqdX0ZA1e rWd4+ZjWR0QOwZJhegrhgyI2UUw79riJ5IOsJJ/tYTgOOGlTolBtKqQKWPNLCwmoR1pZsi vHSiKjz7y0Zc2JN2agqAx9yGaA9JM0tYaI6X0eMr161VBdOdgnIGvYG21CVXgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0Wb66qyztCy for ; Wed, 24 Dec 2025 18:19:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30917 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:19:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ed Maste From: Sergey A. Osokin Subject: git: d8ff327be726 - stable/15 - bsd-family-tree: Re-center OpenBSD line 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d8ff327be726659c965fca54389c511dfb1746b7 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:19:07 +0000 Message-Id: <694c2e9b.30917.65b33572@gitrepo.freebsd.org> The branch stable/15 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=d8ff327be726659c965fca54389c511dfb1746b7 commit d8ff327be726659c965fca54389c511dfb1746b7 Author: Ed Maste AuthorDate: 2025-11-07 14:58:50 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 18:17:32 +0000 bsd-family-tree: Re-center OpenBSD line Commit 09aeca28dd75 ("BSD family tree: reduce OpenBSD-NetBSD crowding") moved OpenBSD releases over 2 spaces. Move the line through OpenBSD releases over as well. Reviewed by: obrien Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53635 (cherry picked from commit 1821cf482ff128b08bd65807e1f7aad7eb873e0b) --- share/misc/bsd-family-tree | 808 ++++++++++++++++++++++----------------------- 1 file changed, 404 insertions(+), 404 deletions(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 82e9ac45c495..01dfd4cc0cbf 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -83,410 +83,410 @@ FreeBSD 2.0.5 \ | BSD/OS 2.0.1 | | | | OpenBSD 2.3 | | | | | | BSD/OS 3.0 | FreeBSD 2.1 | | | | - | | | | *--NetBSD 1.1 -. BSD/OS 2.1 - | FreeBSD 2.1.5 | | | \ | - | | | | *--NetBSD 1.2 \ BSD/OS 3.0 - | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 | - | | | | | \ | | - | FreeBSD 2.1.6.1 | | | \ | | - | | | | | \ | | - | FreeBSD 2.1.7 | | | | | | - | | | | | NetBSD 1.2.1 | | - | FreeBSD 2.1.7.1 | | | | | - | | | | | | - | | | | | | - *-FreeBSD 2.2 | | | | | - | \ | | | | | - | FreeBSD 2.2.1 | | | | | - | | | | | | | - | FreeBSD 2.2.2 | | | OpenBSD 2.1 | - | | | | | | | - | FreeBSD 2.2.5 | | | | | - | | | | | OpenBSD 2.2 | - | | | | *--NetBSD 1.3 | | - | FreeBSD 2.2.6 | | | | | | - | | | | | NetBSD 1.3.1 | BSD/OS 3.1 - | | | | | | OpenBSD 2.3 | - | | | | | NetBSD 1.3.2 | | - | FreeBSD 2.2.7 | | | | | | - | | | | | | | BSD/OS 4.0 - | FreeBSD 2.2.8 | | | | | | - | | | | | | | | - | v | | | | OpenBSD 2.4 | - | FreeBSD 2.2.9 | | | | | | - | | | | | | | -FreeBSD 3.0 <--------* | | v | | - | | | NetBSD 1.3.3 | | - *---FreeBSD 3.1 | | | | - | | | | | BSD/OS 4.0.1 - | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 | - | | | | | | | | | - | | | | | | | | | - | | | | | | | | | - | FreeBSD 3.3 | | | | NetBSD 1.4.1 | | - | | | | | | | OpenBSD 2.6 | - | FreeBSD 3.4 | | | | | | | - | | | | | | | | BSD/OS 4.1 -FreeBSD 4.0 | | | | | NetBSD 1.4.2 | | - | | | | | | | | | - | | | | | | | | | - | FreeBSD 3.5 | | | | | OpenBSD 2.7 | - | | | | | | | | | - | FreeBSD 3.5.1 | | | | | | | - | | | | | | | | - *---FreeBSD 4.1 | | | | | | | - | | | | | | | | | - | FreeBSD 4.1.1 | | / | | | | - | | | | / | | | | - | FreeBSD 4.2 Darwin/ | NetBSD 1.4.3 | | - | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2 - | | | | | | - | | | | | | - | | 10.0 *--NetBSD 1.5 | | - | FreeBSD 4.3 | | | | | - | | | | | OpenBSD 2.9 | - | | | | NetBSD 1.5.1 | | - | | | | | | | - | FreeBSD 4.4-. | | NetBSD 1.5.2 | | - | | | Mac OS X | | | | - | | | 10.1 | | OpenBSD 3.0 | - | FreeBSD 4.5 | | | | | | - | | \ | | | | BSD/OS 4.3 - | FreeBSD 4.6 \ | | | OpenBSD 3.1 | - | | \ | | NetBSD 1.5.3 | | - | FreeBSD 4.6.2 Mac OS X | | | - | | 10.2 | | | - | FreeBSD 4.7 | | | | - | | | *--NetBSD 1.6 OpenBSD 3.2 | - | FreeBSD 4.8 | | | | | - | | | | NetBSD 1.6.1 | | - | |--------. | | | OpenBSD 3.3 BSD/OS 5.0 - | | \ | | | | | - | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE - | | | | | | | - | | | | | NetBSD 1.6.2 | - | | | | | | | - | | | | | | OpenBSD 3.5 - | | | | | v | - | FreeBSD 4.10 | | | | - | | | | | | - | FreeBSD 4.11 | | | | - | | | | | - | `-|------|-----------------|---------------------. - | | | | \ -FreeBSD 5.0 | | | | - | | | | | -FreeBSD 5.1 | | | DragonFly 1.0 - | \ | | | | - | ----- Mac OS X | | | - | 10.3 | | | -FreeBSD 5.2 | | | | - | | | | | | - | FreeBSD 5.2.1 | | | | - | | | | | - *-------FreeBSD 5.3 | | | | - | | | | OpenBSD 3.6 | - | | | *--NetBSD 2.0 | | - | | | | | | | DragonFly 1.2.0 - | | Mac OS X | | NetBSD 2.0.2 | | - | | 10.4 | | | | | - | FreeBSD 5.4 | | | | | | - | | | | | | OpenBSD 3.7 | - | | | | | NetBSD 2.0.3 | | - | | | | | | | | - *--FreeBSD | | | | v OpenBSD 3.8 | - | 6.0 | | | | | | - | | | | | \ | | - | | | | | NetBSD 2.1 | | - | | | | | | | - | | | | *--NetBSD 3.0 | | - | | | | | | | | DragonFly 1.4.0 - | | | | | | | OpenBSD 3.9 | - | FreeBSD | | | | | | | - | 6.1 | | | | | | | - | | FreeBSD 5.5 | | | | | | - | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 - | | | | | | | | - | | | | | | OpenBSD 4.0 | - | | | | | NetBSD 3.0.2 | | - | | | | NetBSD 3.1 | | - | FreeBSD 6.2 | | | | - | | | | | DragonFly 1.8.0 - | | | | OpenBSD 4.1 | - | | | | | DragonFly 1.10.0 - | | Mac OS X | | | - | | 10.5 | | | - | | | | OpenBSD 4.2 | - | | | *--NetBSD 4.0 | | - | FreeBSD 6.3 | | | | | - | \ | | | | | - *--FreeBSD | | | | | DragonFly 1.12.0 - | 7.0 | | | | | | - | | | | | | OpenBSD 4.3 | - | | | | | NetBSD | DragonFly 2.0.0 - | | FreeBSD | | 4.0.1 OpenBSD 4.4 | - | | 6.4 | | | | - | | | | | | - | FreeBSD 7.1 | | | | - | | | | | DragonFly 2.2.0 - | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 | - | \ | | 5.0 | | - | \ | | / | \ | | - | | Mac OS X | | | \ | | - | | 10.6 | | | \ | | - | | | | | | NetBSD | DragonFly 2.4.0 - | | | | | | 5.0.1 OpenBSD 4.6 | - | | | | | | | | | - *--FreeBSD | | | | | | | | - | 8.0 | | | | | | | | - | | FreeBSD | | | | NetBSD | | - | | 7.3 | | | | 5.0.2 | DragonFly 2.6.0 - | | | | | | | OpenBSD 4.7 | - | FreeBSD | | | | | | | - | 8.1 | | | | | | | - | | | | | | | | DragonFly 2.8.2 - | | | | | | | OpenBSD 4.8 | - | | | | | | *--NetBSD | | - | FreeBSD FreeBSD | | | 5.1 | | - | 8.2 7.4 | | | | | DragonFly 2.10.1 - | | | | | | OpenBSD 4.9 | - | `-----. Mac OS X | | | | | - | \ 10.7 | | | | | - | | | | | | OpenBSD 5.0 | - *--FreeBSD | | | | | | | - | 9.0 | | | | NetBSD | DragonFly 3.0.1 - | | FreeBSD | | | 5.1.2 | | - | | 8.3 | | | | | | - | | | | | | NetBSD | | - | | | | | | 5.1.3 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 5.1.4 | | - | | | | | | OpenBSD 5.1 | - | | | Mac OS X | `--------. | | - | | | 10.8 | | | | - | | | | *--NetBSD | | | - | | | | | 6.0 | | | - | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1 - | FreeBSD | | | | | NetBSD | | - | 9.1 | | | | | 5.2 | | - | | | | | | | | | | - | | | | | | | NetBSD | | - | | | | | | | 5.2.1 | | - | | | | | | | | | | - | | | | | | | NetBSD | | - | | | | | | | 5.2.2 | | - | | | | | | | | | - | | | | | | \ | | - | | | | | | NetBSD | | - | | | | | | 6.0.1 | | - | | | | | | | OpenBSD 5.3 DragonFly 3.4.1 - | | | | | | NetBSD | | - | | | | | | 6.0.2 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.3 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.4 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.5 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.6 | | - | | | | | | | | - | | | | | *--NetBSD | | - | | | | | 6.1 | | - | | FreeBSD | | | | | - | | 8.4 | | NetBSD | | - | | | | | 6.1.1 | | - | | | | | | | - | FreeBSD | | NetBSD | | - | 9.2 | | 6.1.2 | | - | | Mac OS X | | | | - | | 10.9 | | OpenBSD 5.4 | - | `-----. | | | | DragonFly 3.6.0 - | \ | | | | | - *--FreeBSD | | | NetBSD | | - | 10.0 | | | 6.1.3 | | - | | | | | | | | - | | | | | | | DragonFly 3.6.1 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.6.2 - | | | | | NetBSD | | - | | | | | 6.1.4 | | - | | | | | | | | - | | | | | | OpenBSD 5.5 | - | | | | | | | | - | | | | | | | DragonFly 3.8.0 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.8.1 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.6.3 - | | | | | | | | - | | FreeBSD | | | | | - | | 9.3 | | | | | - | | | | NetBSD | DragonFly 3.8.2 - | | | | 6.1.5 | | - | | Mac OS X | | | - | | 10.10 | | | - | | | | OpenBSD 5.6 | - | FreeBSD | | | | - | 10.1 | | | DragonFly 4.0.1 - | | | | | | - | | | | | DragonFly 4.0.2 - | | | | | | - | | | | | DragonFly 4.0.3 - | | | | | | - | | | | | DragonFly 4.0.4 - | | | | | | - | | | | | DragonFly 4.0.5 - | | | | | | - | | | | OpenBSD 5.7 | - | | | | | DragonFly 4.2.0 - | FreeBSD | | | | - | 10.2 | | | | - | | macOS *--NetBSD 7.0 | | - | | 10.11 | | | OpenBSD 5.8 | - | | | | | `--. | DragonFly 4.4.1 - | FreeBSD | | | | OpenBSD 5.9 | - | 10.3 | | | | | | - | | | | | NetBSD | | - | | | | | 7.0.1 | | - | `------. | | | | | DragonFly 4.6.0 - | | | | | | | | - | | | | | | | | - *--FreeBSD | macOS | | | OpenBSD 6.0 | - | 11.0 | 10.12 | | NetBSD | | - | | | | | | 7.0.2 | | - | | | | | | | | - | | | | | *--NetBSD | | - | | | | | | 7.1 | | - | | | | | | | | | - | | | | | | | | | - | | | macOS | | | | DragonFly 4.8.0 - | | | 10.13 | | | OpenBSD 6.1 | - | FreeBSD | | | | | | DragonFly 5.0.0 - | 11.1 FreeBSD | | | | | | - | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1 - | | | | | | | | - | `------. | | | NetBSD | DragonFly 5.0.2 - | | | | | 7.1.1 | | - | | | | | | | | - | | | | | NetBSD | | - | | | | | 7.1.2 `--. | - | | | | | | | - | | | | `-----. OpenBSD 6.3 | - | | | *--NetBSD | | DragonFly 5.2.0 - | | | | 8.0 | | | - | | | | | | | DragonFly 5.2.1 - | | | | | | | | - | | | | | | | DragonFly 5.2.2 - | FreeBSD | | | *--NetBSD | | - | 11.2 | | | 7.2 | | - | | macOS | | | | - | | 10.14 | | OpenBSD 6.4 | - | | | | | | | - | | | | | | DragonFly 5.4.0 - *--FreeBSD | | | | | | - | 12.0 | | | | | DragonFly 5.4.1 - | | | | | | OpenBSD 6.5 | - | | | | | | | | - | | | | | NetBSD | | - | | | | | 8.1 | DragonFly 5.6 - | | | | | | | | - | | | | | | | DragonFly 5.6.1 - | | FreeBSD macOS | | | | - | | 11.3 10.15 | | | | - | FreeBSD | | | | OpenBSD 6.6 | - | 12.1 | macOS | `-------. | | - | | | 10.15.1 | | | DragonFly 5.6.2 - | | | | *--NetBSD | | | - | | | | | 9.0 | | | - | | | | | | | | | - | | | | | | | | DragonFly 5.8 - | | | | | | | | | - | | | | | | | | DragonFly 5.6.3 - | | | | | | NetBSD | | - | | | | | | 8.2 | | - | | | | | | | | DragonFly 5.8.1 - | | | | | | | OpenBSD 6.7 | - | | FreeBSD | | | | | | - | | 11.4 | | | | | | - | | | | | | | DragonFly 5.8.2 - | | | | | | | DragonFly 5.8.3 - | | | | NetBSD | OpenBSD 6.8 | - | FreeBSD macOS | 9.1 | | | - | 12.2 11 | | | | | - | | | | | | | | - | `------. | | | | | | - | | | | | | | | - *--FreeBSD | | | | | | | - | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0 - | | | | | 9.2 | | | - | | | | | | | | DragonFly 6.0.1 - | | | | | | | | | - | | FreeBSD macOS | | | OpenBSD 7.0 | - | | 12.3 12 | | | | | - | | | | | | | | DragonFly 6.2.1 - | | | | | | | OpenBSD 7.1 | - | FreeBSD | | | | | | | - | 13.1 | | | | | | | - | | | | | | | | DragonFly 6.2.2 - | | | | | NetBSD | | | - | | | macOS | 9.3 | OpenBSD 7.2 | - | | | 13 | | | | | - | | FreeBSD | | | | | | - | | 12.4 | | | | | | - | | | | | | | DragonFly 6.4.0 - | | | | | | OpenBSD 7.3 | - | FreeBSD | | | | | | - | 13.2 | | | | | | - | | | | | | | | - | `------. | | | | | | - | | macOS | | | | | - | | 14 | | | | | - | | | | | | OpenBSD 7.4 | - *--FreeBSD | | | | | | | - | 14.0 | | | | | | | - | | | | | | | | | - | | FreeBSD | | NetBSD | | | - | | 13.3 | | 9.4 | | | - | | | | | | | | - | | | | *--NetBSD | | | - | | | | | 10.0 | | | - | | | | | | | | | - | | | | | | | OpenBSD 7.5 | - | | | | | | NetBSD | | - | | | | | | 8.3 | | - | FreeBSD | | | | | | - | 14.1 | | | | | | - | | | macOS | | | | - | | | 15 | | | | - | | FreeBSD | | | | | - | | 13.4 | | | OpenBSD 7.6 | - | FreeBSD | | | | | | - | 14.2 | | | | | | - | | | | | NetBSD | | - | | | | | 10.1 | | - | | FreeBSD | | | | - | | 13.5 | | | | - | | | | OpenBSD 7.7 | - | | | | | DragonFly 6.4.1 - | | | | | DragonFly 6.4.2 - | FreeBSD | | | | - | 14.3 | | | | - | macOS | | | - | 26 | | | - | | | OpenBSD 7.8 | - | | | | | -FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current - | | | | | - v v v v v + | | | | *--NetBSD 1.1 ---. BSD/OS 2.1 + | FreeBSD 2.1.5 | | | \ | + | | | | *--NetBSD 1.2 \ BSD/OS 3.0 + | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 | + | | | | | \ | | + | FreeBSD 2.1.6.1 | | | \ | | + | | | | | \ | | + | FreeBSD 2.1.7 | | | | | | + | | | | | NetBSD 1.2.1 | | + | FreeBSD 2.1.7.1 | | | | | + | | | | | | + | | | | | | + *-FreeBSD 2.2 | | | | | + | \ | | | | | + | FreeBSD 2.2.1 | | | | | + | | | | | | | + | FreeBSD 2.2.2 | | | OpenBSD 2.1 | + | | | | | | | + | FreeBSD 2.2.5 | | | | | + | | | | | OpenBSD 2.2 | + | | | | *--NetBSD 1.3 | | + | FreeBSD 2.2.6 | | | | | | + | | | | | NetBSD 1.3.1 | BSD/OS 3.1 + | | | | | | OpenBSD 2.3 | + | | | | | NetBSD 1.3.2 | | + | FreeBSD 2.2.7 | | | | | | + | | | | | | | BSD/OS 4.0 + | FreeBSD 2.2.8 | | | | | | + | | | | | | | | + | v | | | | OpenBSD 2.4 | + | FreeBSD 2.2.9 | | | | | | + | | | | | | | +FreeBSD 3.0 <--------* | | v | | + | | | NetBSD 1.3.3 | | + *---FreeBSD 3.1 | | | | + | | | | | BSD/OS 4.0.1 + | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 | + | | | | | | | | | + | | | | | | | | | + | | | | | | | | | + | FreeBSD 3.3 | | | | NetBSD 1.4.1 | | + | | | | | | | OpenBSD 2.6 | + | FreeBSD 3.4 | | | | | | | + | | | | | | | | BSD/OS 4.1 +FreeBSD 4.0 | | | | | NetBSD 1.4.2 | | + | | | | | | | | | + | | | | | | | | | + | FreeBSD 3.5 | | | | | OpenBSD 2.7 | + | | | | | | | | | + | FreeBSD 3.5.1 | | | | | | | + | | | | | | | | + *---FreeBSD 4.1 | | | | | | | + | | | | | | | | | + | FreeBSD 4.1.1 | | / | | | | + | | | | / | | | | + | FreeBSD 4.2 Darwin/ | NetBSD 1.4.3 | | + | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2 + | | | | | | + | | | | | | + | | 10.0 *--NetBSD 1.5 | | + | FreeBSD 4.3 | | | | | + | | | | | OpenBSD 2.9 | + | | | | NetBSD 1.5.1 | | + | | | | | | | + | FreeBSD 4.4-. | | NetBSD 1.5.2 | | + | | | Mac OS X | | | | + | | | 10.1 | | OpenBSD 3.0 | + | FreeBSD 4.5 | | | | | | + | | \ | | | | BSD/OS 4.3 + | FreeBSD 4.6 \ | | | OpenBSD 3.1 | + | | \ | | NetBSD 1.5.3 | | + | FreeBSD 4.6.2 Mac OS X | | | + | | 10.2 | | | + | FreeBSD 4.7 | | | | + | | | *--NetBSD 1.6 OpenBSD 3.2 | + | FreeBSD 4.8 | | | | | + | | | | NetBSD 1.6.1 | | + | |--------. | | | OpenBSD 3.3 BSD/OS 5.0 + | | \ | | | | | + | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE + | | | | | | | + | | | | | NetBSD 1.6.2 | + | | | | | | | + | | | | | | OpenBSD 3.5 + | | | | | v | + | FreeBSD 4.10 | | | | + | | | | | | + | FreeBSD 4.11 | | | | + | | | | | + | `-|------|-------------------|-------------------. + | | | | \ +FreeBSD 5.0 | | | | + | | | | | +FreeBSD 5.1 | | | DragonFly 1.0 + | \ | | | | + | ----- Mac OS X | | | + | 10.3 | | | +FreeBSD 5.2 | | | | + | | | | | | + | FreeBSD 5.2.1 | | | | + | | | | | + *-------FreeBSD 5.3 | | | | + | | | | OpenBSD 3.6 | + | | | *--NetBSD 2.0 | | + | | | | | | | DragonFly 1.2.0 + | | Mac OS X | | NetBSD 2.0.2 | | + | | 10.4 | | | | | + | FreeBSD 5.4 | | | | | | + | | | | | | OpenBSD 3.7 | + | | | | | NetBSD 2.0.3 | | + | | | | | | | | + *--FreeBSD | | | | v OpenBSD 3.8 | + | 6.0 | | | | | | + | | | | | \ | | + | | | | | NetBSD 2.1 | | + | | | | | | | + | | | | *--NetBSD 3.0 | | + | | | | | | | | DragonFly 1.4.0 + | | | | | | | OpenBSD 3.9 | + | FreeBSD | | | | | | | + | 6.1 | | | | | | | + | | FreeBSD 5.5 | | | | | | + | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 + | | | | | | | | + | | | | | | OpenBSD 4.0 | + | | | | | NetBSD 3.0.2 | | + | | | | NetBSD 3.1 | | + | FreeBSD 6.2 | | | | + | | | | | DragonFly 1.8.0 + | | | | OpenBSD 4.1 | + | | | | | DragonFly 1.10.0 + | | Mac OS X | | | + | | 10.5 | | | + | | | | OpenBSD 4.2 | + | | | *--NetBSD 4.0 | | + | FreeBSD 6.3 | | | | | + | \ | | | | | + *--FreeBSD | | | | | DragonFly 1.12.0 + | 7.0 | | | | | | + | | | | | | OpenBSD 4.3 | + | | | | | NetBSD | DragonFly 2.0.0 + | | FreeBSD | | 4.0.1 OpenBSD 4.4 | + | | 6.4 | | | | + | | | | | | + | FreeBSD 7.1 | | | | + | | | | | DragonFly 2.2.0 + | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 | + | \ | | 5.0 | | + | \ | | / | \ | | + | | Mac OS X | | | \ | | + | | 10.6 | | | \ | | + | | | | | | NetBSD | DragonFly 2.4.0 + | | | | | | 5.0.1 OpenBSD 4.6 | + | | | | | | | | | + *--FreeBSD | | | | | | | | + | 8.0 | | | | | | | | + | | FreeBSD | | | | NetBSD | | + | | 7.3 | | | | 5.0.2 | DragonFly 2.6.0 + | | | | | | | OpenBSD 4.7 | + | FreeBSD | | | | | | | + | 8.1 | | | | | | | + | | | | | | | | DragonFly 2.8.2 + | | | | | | | OpenBSD 4.8 | + | | | | | | *--NetBSD | | + | FreeBSD FreeBSD | | | 5.1 | | + | 8.2 7.4 | | | | | DragonFly 2.10.1 + | | | | | | OpenBSD 4.9 | + | `-----. Mac OS X | | | | | + | \ 10.7 | | | | | + | | | | | | OpenBSD 5.0 | + *--FreeBSD | | | | | | | + | 9.0 | | | | NetBSD | DragonFly 3.0.1 + | | FreeBSD | | | 5.1.2 | | + | | 8.3 | | | | | | + | | | | | | NetBSD | | + | | | | | | 5.1.3 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 5.1.4 | | + | | | | | | OpenBSD 5.1 | + | | | Mac OS X | `--------. | | + | | | 10.8 | | | | + | | | | *--NetBSD | | | + | | | | | 6.0 | | | + | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1 + | FreeBSD | | | | | NetBSD | | + | 9.1 | | | | | 5.2 | | + | | | | | | | | | | + | | | | | | | NetBSD | | + | | | | | | | 5.2.1 | | + | | | | | | | | | | + | | | | | | | NetBSD | | + | | | | | | | 5.2.2 | | + | | | | | | | | | + | | | | | | \ | | + | | | | | | NetBSD | | + | | | | | | 6.0.1 | | + | | | | | | | OpenBSD 5.3 DragonFly 3.4.1 + | | | | | | NetBSD | | + | | | | | | 6.0.2 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.3 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.4 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.5 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.6 | | + | | | | | | | | + | | | | | *--NetBSD | | + | | | | | 6.1 | | + | | FreeBSD | | | | | + | | 8.4 | | NetBSD | | + | | | | | 6.1.1 | | + | | | | | | | + | FreeBSD | | NetBSD | | + | 9.2 | | 6.1.2 | | + | | Mac OS X | | | | + | | 10.9 | | OpenBSD 5.4 | + | `-----. | | | | DragonFly 3.6.0 + | \ | | | | | + *--FreeBSD | | | NetBSD | | + | 10.0 | | | 6.1.3 | | + | | | | | | | | + | | | | | | | DragonFly 3.6.1 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.6.2 + | | | | | NetBSD | | + | | | | | 6.1.4 | | + | | | | | | | | + | | | | | | OpenBSD 5.5 | + | | | | | | | | + | | | | | | | DragonFly 3.8.0 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.8.1 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.6.3 + | | | | | | | | + | | FreeBSD | | | | | + | | 9.3 | | | | | + | | | | NetBSD | DragonFly 3.8.2 + | | | | 6.1.5 | | + | | Mac OS X | | | + | | 10.10 | | | + | | | | OpenBSD 5.6 | + | FreeBSD | | | | + | 10.1 | | | DragonFly 4.0.1 + | | | | | | + | | | | | DragonFly 4.0.2 + | | | | | | + | | | | | DragonFly 4.0.3 + | | | | | | + | | | | | DragonFly 4.0.4 + | | | | | | + | | | | | DragonFly 4.0.5 + | | | | | | + | | | | OpenBSD 5.7 | + | | | | | DragonFly 4.2.0 + | FreeBSD | | | | + | 10.2 | | | | + | | macOS *--NetBSD 7.0 | | + | | 10.11 | | | OpenBSD 5.8 | + | | | | | `--. | DragonFly 4.4.1 + | FreeBSD | | | | OpenBSD 5.9 | + | 10.3 | | | | | | + | | | | | NetBSD | | + | | | | | 7.0.1 | | + | `------. | | | | | DragonFly 4.6.0 + | | | | | | | | + | | | | | | | | + *--FreeBSD | macOS | | | OpenBSD 6.0 | + | 11.0 | 10.12 | | NetBSD | | + | | | | | | 7.0.2 | | + | | | | | | | | + | | | | | *--NetBSD | | + | | | | | | 7.1 | | + | | | | | | | | | + | | | | | | | | | + | | | macOS | | | | DragonFly 4.8.0 + | | | 10.13 | | | OpenBSD 6.1 | + | FreeBSD | | | | | | DragonFly 5.0.0 + | 11.1 FreeBSD | | | | | | + | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1 + | | | | | | | | + | `------. | | | NetBSD | DragonFly 5.0.2 + | | | | | 7.1.1 | | + | | | | | | | | + | | | | | NetBSD | | + | | | | | 7.1.2 `--. | + | | | | | | | + | | | | `-----. OpenBSD 6.3 | + | | | *--NetBSD | | DragonFly 5.2.0 + | | | | 8.0 | | | + | | | | | | | DragonFly 5.2.1 + | | | | | | | | + | | | | | | | DragonFly 5.2.2 + | FreeBSD | | | *--NetBSD | | + | 11.2 | | | 7.2 | | + | | macOS | | | | + | | 10.14 | | OpenBSD 6.4 | + | | | | | | | + | | | | | | DragonFly 5.4.0 + *--FreeBSD | | | | | | + | 12.0 | | | | | DragonFly 5.4.1 + | | | | | | OpenBSD 6.5 | + | | | | | | | | + | | | | | NetBSD | | + | | | | | 8.1 | DragonFly 5.6 + | | | | | | | | + | | | | | | | DragonFly 5.6.1 + | | FreeBSD macOS | | | | + | | 11.3 10.15 | | | | + | FreeBSD | | | | OpenBSD 6.6 | + | 12.1 | macOS | `-------. | | + | | | 10.15.1 | | | DragonFly 5.6.2 + | | | | *--NetBSD | | | + | | | | | 9.0 | | | + | | | | | | | | | + | | | | | | | | DragonFly 5.8 + | | | | | | | | | + | | | | | | | | DragonFly 5.6.3 + | | | | | | NetBSD | | + | | | | | | 8.2 | | + | | | | | | | | DragonFly 5.8.1 + | | | | | | | OpenBSD 6.7 | + | | FreeBSD | | | | | | + | | 11.4 | | | | | | + | | | | | | | DragonFly 5.8.2 + | | | | | | | DragonFly 5.8.3 + | | | | NetBSD | OpenBSD 6.8 | + | FreeBSD macOS | 9.1 | | | + | 12.2 11 | | | | | + | | | | | | | | + | `------. | | | | | | + | | | | | | | | + *--FreeBSD | | | | | | | + | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0 + | | | | | 9.2 | | | + | | | | | | | | DragonFly 6.0.1 + | | | | | | | | | + | | FreeBSD macOS | | | OpenBSD 7.0 | + | | 12.3 12 | | | | | + | | | | | | | | DragonFly 6.2.1 + | | | | | | | OpenBSD 7.1 | + | FreeBSD | | | | | | | + | 13.1 | | | | | | | + | | | | | | | | DragonFly 6.2.2 + | | | | | NetBSD | | | + | | | macOS | 9.3 | OpenBSD 7.2 | + | | | 13 | | | | | + | | FreeBSD | | | | | | + | | 12.4 | | | | | | + | | | | | | | DragonFly 6.4.0 + | | | | | | OpenBSD 7.3 | + | FreeBSD | | | | | | + | 13.2 | | | | | | + | | | | | | | | + | `------. | | | | | | + | | macOS | | | | | + | | 14 | | | | | + | | | | | | OpenBSD 7.4 | + *--FreeBSD | | | | | | | + | 14.0 | | | | | | | + | | | | | | | | | + | | FreeBSD | | NetBSD | | | + | | 13.3 | | 9.4 | | | + | | | | | | | | + | | | | *--NetBSD | | | + | | | | | 10.0 | | | + | | | | | | | | | + | | | | | | | OpenBSD 7.5 | + | | | | | | NetBSD | | + | | | | | | 8.3 | | + | FreeBSD | | | | | | + | 14.1 | | | | | | + | | | macOS | | | | + | | | 15 | | | | + | | FreeBSD | | | | | + | | 13.4 | | | OpenBSD 7.6 | + | FreeBSD | | | | | | + | 14.2 | | | | | | + | | | | | NetBSD | | + | | | | | 10.1 | | + | | FreeBSD | | | | + | | 13.5 | | | | + | | | | OpenBSD 7.7 | + | | | | | DragonFly 6.4.1 + | | | | | DragonFly 6.4.2 + | FreeBSD | | | | + | 14.3 | | | | + | macOS | | | + | 26 | | | + | | | OpenBSD 7.8 | + | | | | | +FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current + | | | | | + v v v v v Time ---------------- From nobody Wed Dec 24 18:19:08 2025 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 4dc0Wd25H6z6LMy9 for ; Wed, 24 Dec 2025 18:19: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0Wc6wbzz44qj for ; Wed, 24 Dec 2025 18:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ni9vwFQ7RgowAmSwAd713l2qDakwB2BR6JGB7IbiJFo=; b=wFFm3XQK/hK+8XSBetnVkGFs00MZjOQf9BFNoRzpBdgU+VFcdxOPw3QQfzXvLybYsz9ipG QNSVh42KIWYn84w9t/yjHQFqqqMJevw4ihVQsFeF1Ml5aadTbgI8PSl1DjbtfvcPJ/OsjL XPn7gWvZisGy2UDKbydslyblhyhgxz9h0UTBoO9YxI/jO+evcYhScYA/BGQaDd1a40+aI8 uCIavbuG2Xw1vh7nwbBTz3uS1mzN6ZXdbaarqzpP5adyM2fP/OAAMllVltBieHQYplWsY2 gvwbnqaI/fx1TWZye5Q5X+mPHUyunqGzN2y7L+gnKD0OeKQAmosIt8NtIHUWlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ni9vwFQ7RgowAmSwAd713l2qDakwB2BR6JGB7IbiJFo=; b=uEGdVvUkO5coE2OQ5FjpHsDZoPitJELUSOWKyn6uMg3fJ9N5v0Q88sUtRIFV8Lo6LVFC/K kv9s56bzgIDcpl2v6KXXc06UglfbrTX4opW/B9CCJ0gjklub+5j85APG7F0Dpu6AzpXSn1 ET4OPdQ9kKdJcmo9xZ+DnZkMjKsXmUAOQO1pt+DW+gxELWddBQTBLbpFOIZVHdumMjPt0n i6XZIN4UsNIu/9Lu0QoB1Qt/7GB6SUZQDghYLmWCfnWG/W2FTDBxeHMj5VTPf8gteBDphF 01Vn6tLnfdXqkZRFoBC5QJcjhKUNc94TO8vBo4LkKSzjlbtXKgQaY+zaB1ukTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600349; a=rsa-sha256; cv=none; b=ClTyVpeKS5MwESFPKe3e6l2UEv5vrwRIpMzQ5yPP1M/ldFkU39oaLbrVdnHyD9YN/KGIeS IA+27AYS7V4Sot9kjmLJpZJ46xbdQ0E7yVxUt9qkiEqwuoqULmeyLipJmCVaVV6ryi50rn squOUz+QwltP6MaYpbzdSwxUw+NaCXZ+1ESyYElPh95y1aRMQOC0qhhS+JboQ9J+JnLeos 3pwgPfmb16TBrtNDfruowIJmUJkK+UURSethYztniJIKzndn6ByayP82NQcm2yDb1cH48V vT9tQZUe/cADX1CpgVl4rvPR1fq1xTuKRfFZ3xmKzJw9MdNp6DRmHkQ8wYVcfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0Wc6PDTztJD for ; Wed, 24 Dec 2025 18:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 277ca by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:19:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Maxim Konovalov From: Sergey A. Osokin Subject: git: 1c7c315e8029 - stable/15 - bsd-family-tree: add FreeBSD 15.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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1c7c315e8029425d3841d88021db477230860dc9 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:19:08 +0000 Message-Id: <694c2e9c.277ca.16910bf1@gitrepo.freebsd.org> The branch stable/15 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=1c7c315e8029425d3841d88021db477230860dc9 commit 1c7c315e8029425d3841d88021db477230860dc9 Author: Maxim Konovalov AuthorDate: 2025-12-02 03:44:42 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 18:18:22 +0000 bsd-family-tree: add FreeBSD 15.0 (cherry picked from commit 7b44ab1c6abe106a44604a8504edca0e57ec1c42) Sponsored by: tipi.work --- share/misc/bsd-family-tree | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 01dfd4cc0cbf..36910c9ad94a 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -300,7 +300,7 @@ FreeBSD 5.2 | | | | | | | | | 6.1 | | | | FreeBSD | | | | | | | 8.4 | | NetBSD | | - | | | | | 6.1.1 | | + | | | | 6.1.1 | | | | | | | | | | FreeBSD | | NetBSD | | | 9.2 | | 6.1.2 | | @@ -483,6 +483,8 @@ FreeBSD 5.2 | | | | | macOS | | | | 26 | | | | | | OpenBSD 7.8 | + *--FreeBSD | | | | + | 15.0 | | | | | | | | | FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -930,6 +932,7 @@ DragonFly 6.4.2 2025-05-09 [DFB] FreeBSD 14.3 2025-06-10 [FBD] macOS 26 2025-09-15 [APL] OpenBSD 7.8 2025-10-22 [OBD] +FreeBSD 15.0 2025-12-02 [FBD] Bibliography ------------------------ From nobody Wed Dec 24 18:23:19 2025 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 4dc0cR2bHGz6LN98 for ; Wed, 24 Dec 2025 18:23: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0cR1kmhz465r for ; Wed, 24 Dec 2025 18:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wvkRMCGgzVzgzi66eImkQutgFVHBwaVxNsFBse79p7s=; b=tX7NdaeTWGoTbD0Y8avYhxG5WxTjuSlhaePGx2WAOQka3lpCLinyjM1iMmbnPbA3TRqlt+ Eipv554GYndJ+aK7iPaKu5YEYhIUOsipp/9s6r6EGiK1QdXsDXc6AYTI4z5iwh/4ltwsUU tFTWAFWn1UjSoa1GEswFzX4rcNqjauEZTVMxe/+qhsVVURBwT7YP96L0vGPclmMn+EWyVr gTsxSrfCz01K5oXKcHMsldRzuHQHom3S/DUYWZEHAeuq5NT1HOSjmELpYvhM+FamisH+Dq STp7sE7MSeRqg0HOAQUcdG52F+v8zcf7NF8G62EDaD1jOTfoNFFCN8W6LZXUoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wvkRMCGgzVzgzi66eImkQutgFVHBwaVxNsFBse79p7s=; b=m2GGUjLjovCGZV/Zn1zbkl7PulqEgOel4H78WLabKCUCgFOI3fHadQ3VsWYJKmL9t9iyNc rm1ydyZdCvpk+00mkDCuKOhWDuADAtirdgfWCggdPCLl0TRDGSyT+ltQ9YtSFg+EeKto8b OKMMTAbdR5XtClJxqQaFYKHXCuak0Q0EUyQo0g+3Vrm9v/a/PMQx9E56yyPeOwUacCO6Of YCoKKMO8FjBJIz3jJZKtGYefeT7797kU7fvCodYsjgPn96sVYu2s4X/Iam9fRoUwV0wehW /Xf2KqucCB4jmYAIAcL4yZE0q52Q25nbQJhPH+3/XhvwAgMUxsvndtuq6fhtOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600599; a=rsa-sha256; cv=none; b=xL2xLnuuAwvAV4X55LNhWtcBE5VYKmSgY7ijK1kxTiFNvg4Lav+i0ClumEFdU/a/ISRn3D wi3Ch2k2qnzHACyVEoTFizyZBsFPka5+8AiUviTC7iY5xpz96hxyZ5c2KW4VAKwzZ9kIOo jgVibAn0f0GCCYzcqnO64xUAorNQXVX+kq9bR0CiPJHj6nvJuayfrSN4tZPkqueEZNRC5p yWoMpMQjHKk0Ajab+slZ7ce4HqGaxwBj/zvwa228Co6ju+oYsTcepFh4yss+rLE80+xzhn qYEZIg4eZT4eGNC+WAROVmvG0fDUkqFfK7hvQUGOX0EYXN837JrWTLvAUuLW0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0cR1H91ztVV for ; Wed, 24 Dec 2025 18:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32653 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:23:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Sergey A. Osokin Subject: git: 36b9d6094b38 - stable/14 - bsd-family-tree: add macOS 26 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 36b9d6094b38d5a33ea5221a9fb76b819e536638 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:23:19 +0000 Message-Id: <694c2f97.32653.7e4efdf1@gitrepo.freebsd.org> The branch stable/14 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=36b9d6094b38d5a33ea5221a9fb76b819e536638 commit 36b9d6094b38d5a33ea5221a9fb76b819e536638 Author: Sergey A. Osokin AuthorDate: 2025-10-31 20:25:11 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 18:21:02 +0000 bsd-family-tree: add macOS 26 Sponsored by: tipi.work (cherry picked from commit c6e02892bbca1237546e3943c0971768822e1745) --- share/misc/bsd-family-tree | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index d36c64259569..f16d2502c58c 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -479,7 +479,10 @@ FreeBSD 5.2 | | | | | | | | | DragonFly 6.4.1 | | | | | DragonFly 6.4.2 | FreeBSD | | | | - | 14.3 | | OpenBSD 7.8 | + | 14.3 | | | | + | macOS | | | + | 26 | | | + | | | OpenBSD 7.8 | | | | | | FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -926,6 +929,7 @@ OpenBSD 7.7 2025-04-28 [OBD] DragonFly 6.4.1 2025-04-30 [DFB] DragonFly 6.4.2 2025-05-09 [DFB] FreeBSD 14.3 2025-06-10 [FBD] +macOS 26 2025-09-15 [APL] OpenBSD 7.8 2025-10-22 [OBD] Bibliography From nobody Wed Dec 24 18:23:20 2025 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 4dc0cS4bCFz6LNNS for ; Wed, 24 Dec 2025 18:23: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0cS2Xh8z46D5 for ; Wed, 24 Dec 2025 18:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RH/kCY1Z5sOIoyNDLnKyQFZ0w3N/m/UVV6Sih4V+07I=; b=ZZsUX12l08OdYC8c+nu+KTXEiMDvZ0mNHWzZtJWEg8o9Zk30RRnznp/Y32rI1ygXri4XXA oFQXalFfcRftT4IGMfK9IeYAt83XaRk0Nxi/vUs26FaKGE54IWeUe1tqP7P7LXffP5nniV lu4r0oFemhQlzCgfjwLQaGzR540d+0zBbblKmYA82IkhoJDzBfwa7fyKNTg7R/osJuS+3z 8XLBbgPTq0e2kK1HoLXqpn3SS0+n1kbfo1+tJVE+F4f0HAvm7ikJpX+UUCNYzKjuuJwxlC ZXypCoFQeTvdQyztWbEdwFu/SIVAMf4wD4c3U1R2t6CkwSDQtUZZUSEGPtUxxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RH/kCY1Z5sOIoyNDLnKyQFZ0w3N/m/UVV6Sih4V+07I=; b=GJCCVBHdmTp1zMK7IlnkoUUYwwrNGrhc2mnRsf6oiq3XC7j9XHmt7jM3HkmPixNQn07h6N ft+9gVXQvH98sectZ/Y2Xlr3hsPXLFglROXlO72wUVv6mAJhkE9TMR4ZbQ4qX8F63MaBDN bLgjE48PWRhRqi9F9md/lxpcZ3F6F9HDzXqV+8INi/lGQYsBgPmc6Enp4hV7J0X9pGdPsW gaP5triu3ixbFaz3jKCAZusYwEjGYaJePrB4l6mBlfUSpucybfEnb39GwQaFwwCGtRCkm9 XqXqQGea344F6MATaunZZZKMKnQWuKRWAoRA7n1S+uqlfdLiwl2KYbjDeO/pXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600600; a=rsa-sha256; cv=none; b=JSaDOYoq1MtaszIsV24y4x/SIeBhuDO1+L8Hp4IkG/mzwomIbjsZ6+vp8wk7f1ENt/iWuw UkKgn6PnUsmJpK5YJB3iEpQj40vWMfUcQjCJwxD8v8Sp9Q7BE5iz0Q8DPWVT/fFcjLajBb ylXAVV2pbog83m5tqSt2yDaWq3CltTEEe8fB4HZeHMBo1Zf4rPSo6K+pbO8G3UCGe1u7mB jPpCm79kooymN6vZS4kTp2ZFEii9vN2VkTWoRFj70pQRIQvkwBOCcpUKcul8282Mnkd/0K FxAbgMrZl6RHe5qdWypgxheLq7ZF+wqGtRBC7bDRCJhjwn7UGQIxosKHsN95uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0cS276XzsXb for ; Wed, 24 Dec 2025 18:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 316aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:23:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Ed Maste From: Sergey A. Osokin Subject: git: 5b428bb8a0ca - stable/14 - bsd-family-tree: Re-center OpenBSD line 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b428bb8a0ca0216af8c7a957a6617c26e864def Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:23:20 +0000 Message-Id: <694c2f98.316aa.4afa6b92@gitrepo.freebsd.org> The branch stable/14 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=5b428bb8a0ca0216af8c7a957a6617c26e864def commit 5b428bb8a0ca0216af8c7a957a6617c26e864def Author: Ed Maste AuthorDate: 2025-11-07 14:58:50 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 18:22:38 +0000 bsd-family-tree: Re-center OpenBSD line Commit 09aeca28dd75 ("BSD family tree: reduce OpenBSD-NetBSD crowding") moved OpenBSD releases over 2 spaces. Move the line through OpenBSD releases over as well. Reviewed by: obrien Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53635 (cherry picked from commit 1821cf482ff128b08bd65807e1f7aad7eb873e0b) --- share/misc/bsd-family-tree | 808 ++++++++++++++++++++++----------------------- 1 file changed, 404 insertions(+), 404 deletions(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index f16d2502c58c..6283be25b91f 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -83,410 +83,410 @@ FreeBSD 2.0.5 \ | BSD/OS 2.0.1 | | | | OpenBSD 2.3 | | | | | | BSD/OS 3.0 | FreeBSD 2.1 | | | | - | | | | *--NetBSD 1.1 -. BSD/OS 2.1 - | FreeBSD 2.1.5 | | | \ | - | | | | *--NetBSD 1.2 \ BSD/OS 3.0 - | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 | - | | | | | \ | | - | FreeBSD 2.1.6.1 | | | \ | | - | | | | | \ | | - | FreeBSD 2.1.7 | | | | | | - | | | | | NetBSD 1.2.1 | | - | FreeBSD 2.1.7.1 | | | | | - | | | | | | - | | | | | | - *-FreeBSD 2.2 | | | | | - | \ | | | | | - | FreeBSD 2.2.1 | | | | | - | | | | | | | - | FreeBSD 2.2.2 | | | OpenBSD 2.1 | - | | | | | | | - | FreeBSD 2.2.5 | | | | | - | | | | | OpenBSD 2.2 | - | | | | *--NetBSD 1.3 | | - | FreeBSD 2.2.6 | | | | | | - | | | | | NetBSD 1.3.1 | BSD/OS 3.1 - | | | | | | OpenBSD 2.3 | - | | | | | NetBSD 1.3.2 | | - | FreeBSD 2.2.7 | | | | | | - | | | | | | | BSD/OS 4.0 - | FreeBSD 2.2.8 | | | | | | - | | | | | | | | - | v | | | | OpenBSD 2.4 | - | FreeBSD 2.2.9 | | | | | | - | | | | | | | -FreeBSD 3.0 <--------* | | v | | - | | | NetBSD 1.3.3 | | - *---FreeBSD 3.1 | | | | - | | | | | BSD/OS 4.0.1 - | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 | - | | | | | | | | | - | | | | | | | | | - | | | | | | | | | - | FreeBSD 3.3 | | | | NetBSD 1.4.1 | | - | | | | | | | OpenBSD 2.6 | - | FreeBSD 3.4 | | | | | | | - | | | | | | | | BSD/OS 4.1 -FreeBSD 4.0 | | | | | NetBSD 1.4.2 | | - | | | | | | | | | - | | | | | | | | | - | FreeBSD 3.5 | | | | | OpenBSD 2.7 | - | | | | | | | | | - | FreeBSD 3.5.1 | | | | | | | - | | | | | | | | - *---FreeBSD 4.1 | | | | | | | - | | | | | | | | | - | FreeBSD 4.1.1 | | / | | | | - | | | | / | | | | - | FreeBSD 4.2 Darwin/ | NetBSD 1.4.3 | | - | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2 - | | | | | | - | | | | | | - | | 10.0 *--NetBSD 1.5 | | - | FreeBSD 4.3 | | | | | - | | | | | OpenBSD 2.9 | - | | | | NetBSD 1.5.1 | | - | | | | | | | - | FreeBSD 4.4-. | | NetBSD 1.5.2 | | - | | | Mac OS X | | | | - | | | 10.1 | | OpenBSD 3.0 | - | FreeBSD 4.5 | | | | | | - | | \ | | | | BSD/OS 4.3 - | FreeBSD 4.6 \ | | | OpenBSD 3.1 | - | | \ | | NetBSD 1.5.3 | | - | FreeBSD 4.6.2 Mac OS X | | | - | | 10.2 | | | - | FreeBSD 4.7 | | | | - | | | *--NetBSD 1.6 OpenBSD 3.2 | - | FreeBSD 4.8 | | | | | - | | | | NetBSD 1.6.1 | | - | |--------. | | | OpenBSD 3.3 BSD/OS 5.0 - | | \ | | | | | - | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE - | | | | | | | - | | | | | NetBSD 1.6.2 | - | | | | | | | - | | | | | | OpenBSD 3.5 - | | | | | v | - | FreeBSD 4.10 | | | | - | | | | | | - | FreeBSD 4.11 | | | | - | | | | | - | `-|------|-----------------|---------------------. - | | | | \ -FreeBSD 5.0 | | | | - | | | | | -FreeBSD 5.1 | | | DragonFly 1.0 - | \ | | | | - | ----- Mac OS X | | | - | 10.3 | | | -FreeBSD 5.2 | | | | - | | | | | | - | FreeBSD 5.2.1 | | | | - | | | | | - *-------FreeBSD 5.3 | | | | - | | | | OpenBSD 3.6 | - | | | *--NetBSD 2.0 | | - | | | | | | | DragonFly 1.2.0 - | | Mac OS X | | NetBSD 2.0.2 | | - | | 10.4 | | | | | - | FreeBSD 5.4 | | | | | | - | | | | | | OpenBSD 3.7 | - | | | | | NetBSD 2.0.3 | | - | | | | | | | | - *--FreeBSD | | | | v OpenBSD 3.8 | - | 6.0 | | | | | | - | | | | | \ | | - | | | | | NetBSD 2.1 | | - | | | | | | | - | | | | *--NetBSD 3.0 | | - | | | | | | | | DragonFly 1.4.0 - | | | | | | | OpenBSD 3.9 | - | FreeBSD | | | | | | | - | 6.1 | | | | | | | - | | FreeBSD 5.5 | | | | | | - | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 - | | | | | | | | - | | | | | | OpenBSD 4.0 | - | | | | | NetBSD 3.0.2 | | - | | | | NetBSD 3.1 | | - | FreeBSD 6.2 | | | | - | | | | | DragonFly 1.8.0 - | | | | OpenBSD 4.1 | - | | | | | DragonFly 1.10.0 - | | Mac OS X | | | - | | 10.5 | | | - | | | | OpenBSD 4.2 | - | | | *--NetBSD 4.0 | | - | FreeBSD 6.3 | | | | | - | \ | | | | | - *--FreeBSD | | | | | DragonFly 1.12.0 - | 7.0 | | | | | | - | | | | | | OpenBSD 4.3 | - | | | | | NetBSD | DragonFly 2.0.0 - | | FreeBSD | | 4.0.1 OpenBSD 4.4 | - | | 6.4 | | | | - | | | | | | - | FreeBSD 7.1 | | | | - | | | | | DragonFly 2.2.0 - | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 | - | \ | | 5.0 | | - | \ | | / | \ | | - | | Mac OS X | | | \ | | - | | 10.6 | | | \ | | - | | | | | | NetBSD | DragonFly 2.4.0 - | | | | | | 5.0.1 OpenBSD 4.6 | - | | | | | | | | | - *--FreeBSD | | | | | | | | - | 8.0 | | | | | | | | - | | FreeBSD | | | | NetBSD | | - | | 7.3 | | | | 5.0.2 | DragonFly 2.6.0 - | | | | | | | OpenBSD 4.7 | - | FreeBSD | | | | | | | - | 8.1 | | | | | | | - | | | | | | | | DragonFly 2.8.2 - | | | | | | | OpenBSD 4.8 | - | | | | | | *--NetBSD | | - | FreeBSD FreeBSD | | | 5.1 | | - | 8.2 7.4 | | | | | DragonFly 2.10.1 - | | | | | | OpenBSD 4.9 | - | `-----. Mac OS X | | | | | - | \ 10.7 | | | | | - | | | | | | OpenBSD 5.0 | - *--FreeBSD | | | | | | | - | 9.0 | | | | NetBSD | DragonFly 3.0.1 - | | FreeBSD | | | 5.1.2 | | - | | 8.3 | | | | | | - | | | | | | NetBSD | | - | | | | | | 5.1.3 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 5.1.4 | | - | | | | | | OpenBSD 5.1 | - | | | Mac OS X | `--------. | | - | | | 10.8 | | | | - | | | | *--NetBSD | | | - | | | | | 6.0 | | | - | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1 - | FreeBSD | | | | | NetBSD | | - | 9.1 | | | | | 5.2 | | - | | | | | | | | | | - | | | | | | | NetBSD | | - | | | | | | | 5.2.1 | | - | | | | | | | | | | - | | | | | | | NetBSD | | - | | | | | | | 5.2.2 | | - | | | | | | | | | - | | | | | | \ | | - | | | | | | NetBSD | | - | | | | | | 6.0.1 | | - | | | | | | | OpenBSD 5.3 DragonFly 3.4.1 - | | | | | | NetBSD | | - | | | | | | 6.0.2 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.3 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.4 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.5 | | - | | | | | | | | | - | | | | | | NetBSD | | - | | | | | | 6.0.6 | | - | | | | | | | | - | | | | | *--NetBSD | | - | | | | | 6.1 | | - | | FreeBSD | | | | | - | | 8.4 | | NetBSD | | - | | | | | 6.1.1 | | - | | | | | | | - | FreeBSD | | NetBSD | | - | 9.2 | | 6.1.2 | | - | | Mac OS X | | | | - | | 10.9 | | OpenBSD 5.4 | - | `-----. | | | | DragonFly 3.6.0 - | \ | | | | | - *--FreeBSD | | | NetBSD | | - | 10.0 | | | 6.1.3 | | - | | | | | | | | - | | | | | | | DragonFly 3.6.1 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.6.2 - | | | | | NetBSD | | - | | | | | 6.1.4 | | - | | | | | | | | - | | | | | | OpenBSD 5.5 | - | | | | | | | | - | | | | | | | DragonFly 3.8.0 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.8.1 - | | | | | | | | - | | | | | | | | - | | | | | | | DragonFly 3.6.3 - | | | | | | | | - | | FreeBSD | | | | | - | | 9.3 | | | | | - | | | | NetBSD | DragonFly 3.8.2 - | | | | 6.1.5 | | - | | Mac OS X | | | - | | 10.10 | | | - | | | | OpenBSD 5.6 | - | FreeBSD | | | | - | 10.1 | | | DragonFly 4.0.1 - | | | | | | - | | | | | DragonFly 4.0.2 - | | | | | | - | | | | | DragonFly 4.0.3 - | | | | | | - | | | | | DragonFly 4.0.4 - | | | | | | - | | | | | DragonFly 4.0.5 - | | | | | | - | | | | OpenBSD 5.7 | - | | | | | DragonFly 4.2.0 - | FreeBSD | | | | - | 10.2 | | | | - | | macOS *--NetBSD 7.0 | | - | | 10.11 | | | OpenBSD 5.8 | - | | | | | `--. | DragonFly 4.4.1 - | FreeBSD | | | | OpenBSD 5.9 | - | 10.3 | | | | | | - | | | | | NetBSD | | - | | | | | 7.0.1 | | - | `------. | | | | | DragonFly 4.6.0 - | | | | | | | | - | | | | | | | | - *--FreeBSD | macOS | | | OpenBSD 6.0 | - | 11.0 | 10.12 | | NetBSD | | - | | | | | | 7.0.2 | | - | | | | | | | | - | | | | | *--NetBSD | | - | | | | | | 7.1 | | - | | | | | | | | | - | | | | | | | | | - | | | macOS | | | | DragonFly 4.8.0 - | | | 10.13 | | | OpenBSD 6.1 | - | FreeBSD | | | | | | DragonFly 5.0.0 - | 11.1 FreeBSD | | | | | | - | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1 - | | | | | | | | - | `------. | | | NetBSD | DragonFly 5.0.2 - | | | | | 7.1.1 | | - | | | | | | | | - | | | | | NetBSD | | - | | | | | 7.1.2 `--. | - | | | | | | | - | | | | `-----. OpenBSD 6.3 | - | | | *--NetBSD | | DragonFly 5.2.0 - | | | | 8.0 | | | - | | | | | | | DragonFly 5.2.1 - | | | | | | | | - | | | | | | | DragonFly 5.2.2 - | FreeBSD | | | *--NetBSD | | - | 11.2 | | | 7.2 | | - | | macOS | | | | - | | 10.14 | | OpenBSD 6.4 | - | | | | | | | - | | | | | | DragonFly 5.4.0 - *--FreeBSD | | | | | | - | 12.0 | | | | | DragonFly 5.4.1 - | | | | | | OpenBSD 6.5 | - | | | | | | | | - | | | | | NetBSD | | - | | | | | 8.1 | DragonFly 5.6 - | | | | | | | | - | | | | | | | DragonFly 5.6.1 - | | FreeBSD macOS | | | | - | | 11.3 10.15 | | | | - | FreeBSD | | | | OpenBSD 6.6 | - | 12.1 | macOS | `-------. | | - | | | 10.15.1 | | | DragonFly 5.6.2 - | | | | *--NetBSD | | | - | | | | | 9.0 | | | - | | | | | | | | | - | | | | | | | | DragonFly 5.8 - | | | | | | | | | - | | | | | | | | DragonFly 5.6.3 - | | | | | | NetBSD | | - | | | | | | 8.2 | | - | | | | | | | | DragonFly 5.8.1 - | | | | | | | OpenBSD 6.7 | - | | FreeBSD | | | | | | - | | 11.4 | | | | | | - | | | | | | | DragonFly 5.8.2 - | | | | | | | DragonFly 5.8.3 - | | | | NetBSD | OpenBSD 6.8 | - | FreeBSD macOS | 9.1 | | | - | 12.2 11 | | | | | - | | | | | | | | - | `------. | | | | | | - | | | | | | | | - *--FreeBSD | | | | | | | - | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0 - | | | | | 9.2 | | | - | | | | | | | | DragonFly 6.0.1 - | | | | | | | | | - | | FreeBSD macOS | | | OpenBSD 7.0 | - | | 12.3 12 | | | | | - | | | | | | | | DragonFly 6.2.1 - | | | | | | | OpenBSD 7.1 | - | FreeBSD | | | | | | | - | 13.1 | | | | | | | - | | | | | | | | DragonFly 6.2.2 - | | | | | NetBSD | | | - | | | macOS | 9.3 | OpenBSD 7.2 | - | | | 13 | | | | | - | | FreeBSD | | | | | | - | | 12.4 | | | | | | - | | | | | | | DragonFly 6.4.0 - | | | | | | OpenBSD 7.3 | - | FreeBSD | | | | | | - | 13.2 | | | | | | - | | | | | | | | - | `------. | | | | | | - | | macOS | | | | | - | | 14 | | | | | - | | | | | | OpenBSD 7.4 | - *--FreeBSD | | | | | | | - | 14.0 | | | | | | | - | | | | | | | | | - | | FreeBSD | | NetBSD | | | - | | 13.3 | | 9.4 | | | - | | | | | | | | - | | | | *--NetBSD | | | - | | | | | 10.0 | | | - | | | | | | | | | - | | | | | | | OpenBSD 7.5 | - | | | | | | NetBSD | | - | | | | | | 8.3 | | - | FreeBSD | | | | | | - | 14.1 | | | | | | - | | | macOS | | | | - | | | 15 | | | | - | | FreeBSD | | | | | - | | 13.4 | | | OpenBSD 7.6 | - | FreeBSD | | | | | | - | 14.2 | | | | | | - | | | | | NetBSD | | - | | | | | 10.1 | | - | | FreeBSD | | | | - | | 13.5 | | | | - | | | | OpenBSD 7.7 | - | | | | | DragonFly 6.4.1 - | | | | | DragonFly 6.4.2 - | FreeBSD | | | | - | 14.3 | | | | - | macOS | | | - | 26 | | | - | | | OpenBSD 7.8 | - | | | | | -FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current - | | | | | - v v v v v + | | | | *--NetBSD 1.1 ---. BSD/OS 2.1 + | FreeBSD 2.1.5 | | | \ | + | | | | *--NetBSD 1.2 \ BSD/OS 3.0 + | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 | + | | | | | \ | | + | FreeBSD 2.1.6.1 | | | \ | | + | | | | | \ | | + | FreeBSD 2.1.7 | | | | | | + | | | | | NetBSD 1.2.1 | | + | FreeBSD 2.1.7.1 | | | | | + | | | | | | + | | | | | | + *-FreeBSD 2.2 | | | | | + | \ | | | | | + | FreeBSD 2.2.1 | | | | | + | | | | | | | + | FreeBSD 2.2.2 | | | OpenBSD 2.1 | + | | | | | | | + | FreeBSD 2.2.5 | | | | | + | | | | | OpenBSD 2.2 | + | | | | *--NetBSD 1.3 | | + | FreeBSD 2.2.6 | | | | | | + | | | | | NetBSD 1.3.1 | BSD/OS 3.1 + | | | | | | OpenBSD 2.3 | + | | | | | NetBSD 1.3.2 | | + | FreeBSD 2.2.7 | | | | | | + | | | | | | | BSD/OS 4.0 + | FreeBSD 2.2.8 | | | | | | + | | | | | | | | + | v | | | | OpenBSD 2.4 | + | FreeBSD 2.2.9 | | | | | | + | | | | | | | +FreeBSD 3.0 <--------* | | v | | + | | | NetBSD 1.3.3 | | + *---FreeBSD 3.1 | | | | + | | | | | BSD/OS 4.0.1 + | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 | + | | | | | | | | | + | | | | | | | | | + | | | | | | | | | + | FreeBSD 3.3 | | | | NetBSD 1.4.1 | | + | | | | | | | OpenBSD 2.6 | + | FreeBSD 3.4 | | | | | | | + | | | | | | | | BSD/OS 4.1 +FreeBSD 4.0 | | | | | NetBSD 1.4.2 | | + | | | | | | | | | + | | | | | | | | | + | FreeBSD 3.5 | | | | | OpenBSD 2.7 | + | | | | | | | | | + | FreeBSD 3.5.1 | | | | | | | + | | | | | | | | + *---FreeBSD 4.1 | | | | | | | + | | | | | | | | | + | FreeBSD 4.1.1 | | / | | | | + | | | | / | | | | + | FreeBSD 4.2 Darwin/ | NetBSD 1.4.3 | | + | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2 + | | | | | | + | | | | | | + | | 10.0 *--NetBSD 1.5 | | + | FreeBSD 4.3 | | | | | + | | | | | OpenBSD 2.9 | + | | | | NetBSD 1.5.1 | | + | | | | | | | + | FreeBSD 4.4-. | | NetBSD 1.5.2 | | + | | | Mac OS X | | | | + | | | 10.1 | | OpenBSD 3.0 | + | FreeBSD 4.5 | | | | | | + | | \ | | | | BSD/OS 4.3 + | FreeBSD 4.6 \ | | | OpenBSD 3.1 | + | | \ | | NetBSD 1.5.3 | | + | FreeBSD 4.6.2 Mac OS X | | | + | | 10.2 | | | + | FreeBSD 4.7 | | | | + | | | *--NetBSD 1.6 OpenBSD 3.2 | + | FreeBSD 4.8 | | | | | + | | | | NetBSD 1.6.1 | | + | |--------. | | | OpenBSD 3.3 BSD/OS 5.0 + | | \ | | | | | + | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE + | | | | | | | + | | | | | NetBSD 1.6.2 | + | | | | | | | + | | | | | | OpenBSD 3.5 + | | | | | v | + | FreeBSD 4.10 | | | | + | | | | | | + | FreeBSD 4.11 | | | | + | | | | | + | `-|------|-------------------|-------------------. + | | | | \ +FreeBSD 5.0 | | | | + | | | | | +FreeBSD 5.1 | | | DragonFly 1.0 + | \ | | | | + | ----- Mac OS X | | | + | 10.3 | | | +FreeBSD 5.2 | | | | + | | | | | | + | FreeBSD 5.2.1 | | | | + | | | | | + *-------FreeBSD 5.3 | | | | + | | | | OpenBSD 3.6 | + | | | *--NetBSD 2.0 | | + | | | | | | | DragonFly 1.2.0 + | | Mac OS X | | NetBSD 2.0.2 | | + | | 10.4 | | | | | + | FreeBSD 5.4 | | | | | | + | | | | | | OpenBSD 3.7 | + | | | | | NetBSD 2.0.3 | | + | | | | | | | | + *--FreeBSD | | | | v OpenBSD 3.8 | + | 6.0 | | | | | | + | | | | | \ | | + | | | | | NetBSD 2.1 | | + | | | | | | | + | | | | *--NetBSD 3.0 | | + | | | | | | | | DragonFly 1.4.0 + | | | | | | | OpenBSD 3.9 | + | FreeBSD | | | | | | | + | 6.1 | | | | | | | + | | FreeBSD 5.5 | | | | | | + | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 + | | | | | | | | + | | | | | | OpenBSD 4.0 | + | | | | | NetBSD 3.0.2 | | + | | | | NetBSD 3.1 | | + | FreeBSD 6.2 | | | | + | | | | | DragonFly 1.8.0 + | | | | OpenBSD 4.1 | + | | | | | DragonFly 1.10.0 + | | Mac OS X | | | + | | 10.5 | | | + | | | | OpenBSD 4.2 | + | | | *--NetBSD 4.0 | | + | FreeBSD 6.3 | | | | | + | \ | | | | | + *--FreeBSD | | | | | DragonFly 1.12.0 + | 7.0 | | | | | | + | | | | | | OpenBSD 4.3 | + | | | | | NetBSD | DragonFly 2.0.0 + | | FreeBSD | | 4.0.1 OpenBSD 4.4 | + | | 6.4 | | | | + | | | | | | + | FreeBSD 7.1 | | | | + | | | | | DragonFly 2.2.0 + | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 | + | \ | | 5.0 | | + | \ | | / | \ | | + | | Mac OS X | | | \ | | + | | 10.6 | | | \ | | + | | | | | | NetBSD | DragonFly 2.4.0 + | | | | | | 5.0.1 OpenBSD 4.6 | + | | | | | | | | | + *--FreeBSD | | | | | | | | + | 8.0 | | | | | | | | + | | FreeBSD | | | | NetBSD | | + | | 7.3 | | | | 5.0.2 | DragonFly 2.6.0 + | | | | | | | OpenBSD 4.7 | + | FreeBSD | | | | | | | + | 8.1 | | | | | | | + | | | | | | | | DragonFly 2.8.2 + | | | | | | | OpenBSD 4.8 | + | | | | | | *--NetBSD | | + | FreeBSD FreeBSD | | | 5.1 | | + | 8.2 7.4 | | | | | DragonFly 2.10.1 + | | | | | | OpenBSD 4.9 | + | `-----. Mac OS X | | | | | + | \ 10.7 | | | | | + | | | | | | OpenBSD 5.0 | + *--FreeBSD | | | | | | | + | 9.0 | | | | NetBSD | DragonFly 3.0.1 + | | FreeBSD | | | 5.1.2 | | + | | 8.3 | | | | | | + | | | | | | NetBSD | | + | | | | | | 5.1.3 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 5.1.4 | | + | | | | | | OpenBSD 5.1 | + | | | Mac OS X | `--------. | | + | | | 10.8 | | | | + | | | | *--NetBSD | | | + | | | | | 6.0 | | | + | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1 + | FreeBSD | | | | | NetBSD | | + | 9.1 | | | | | 5.2 | | + | | | | | | | | | | + | | | | | | | NetBSD | | + | | | | | | | 5.2.1 | | + | | | | | | | | | | + | | | | | | | NetBSD | | + | | | | | | | 5.2.2 | | + | | | | | | | | | + | | | | | | \ | | + | | | | | | NetBSD | | + | | | | | | 6.0.1 | | + | | | | | | | OpenBSD 5.3 DragonFly 3.4.1 + | | | | | | NetBSD | | + | | | | | | 6.0.2 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.3 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.4 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.5 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.6 | | + | | | | | | | | + | | | | | *--NetBSD | | + | | | | | 6.1 | | + | | FreeBSD | | | | | + | | 8.4 | | NetBSD | | + | | | | | 6.1.1 | | + | | | | | | | + | FreeBSD | | NetBSD | | + | 9.2 | | 6.1.2 | | + | | Mac OS X | | | | + | | 10.9 | | OpenBSD 5.4 | + | `-----. | | | | DragonFly 3.6.0 + | \ | | | | | + *--FreeBSD | | | NetBSD | | + | 10.0 | | | 6.1.3 | | + | | | | | | | | + | | | | | | | DragonFly 3.6.1 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.6.2 + | | | | | NetBSD | | + | | | | | 6.1.4 | | + | | | | | | | | + | | | | | | OpenBSD 5.5 | + | | | | | | | | + | | | | | | | DragonFly 3.8.0 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.8.1 + | | | | | | | | + | | | | | | | | + | | | | | | | DragonFly 3.6.3 + | | | | | | | | + | | FreeBSD | | | | | + | | 9.3 | | | | | + | | | | NetBSD | DragonFly 3.8.2 + | | | | 6.1.5 | | + | | Mac OS X | | | + | | 10.10 | | | + | | | | OpenBSD 5.6 | + | FreeBSD | | | | + | 10.1 | | | DragonFly 4.0.1 + | | | | | | + | | | | | DragonFly 4.0.2 + | | | | | | + | | | | | DragonFly 4.0.3 + | | | | | | + | | | | | DragonFly 4.0.4 + | | | | | | + | | | | | DragonFly 4.0.5 + | | | | | | + | | | | OpenBSD 5.7 | + | | | | | DragonFly 4.2.0 + | FreeBSD | | | | + | 10.2 | | | | + | | macOS *--NetBSD 7.0 | | + | | 10.11 | | | OpenBSD 5.8 | + | | | | | `--. | DragonFly 4.4.1 + | FreeBSD | | | | OpenBSD 5.9 | + | 10.3 | | | | | | + | | | | | NetBSD | | + | | | | | 7.0.1 | | + | `------. | | | | | DragonFly 4.6.0 + | | | | | | | | + | | | | | | | | + *--FreeBSD | macOS | | | OpenBSD 6.0 | + | 11.0 | 10.12 | | NetBSD | | + | | | | | | 7.0.2 | | + | | | | | | | | + | | | | | *--NetBSD | | + | | | | | | 7.1 | | + | | | | | | | | | + | | | | | | | | | + | | | macOS | | | | DragonFly 4.8.0 + | | | 10.13 | | | OpenBSD 6.1 | + | FreeBSD | | | | | | DragonFly 5.0.0 + | 11.1 FreeBSD | | | | | | + | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1 + | | | | | | | | + | `------. | | | NetBSD | DragonFly 5.0.2 + | | | | | 7.1.1 | | + | | | | | | | | + | | | | | NetBSD | | + | | | | | 7.1.2 `--. | + | | | | | | | + | | | | `-----. OpenBSD 6.3 | + | | | *--NetBSD | | DragonFly 5.2.0 + | | | | 8.0 | | | + | | | | | | | DragonFly 5.2.1 + | | | | | | | | + | | | | | | | DragonFly 5.2.2 + | FreeBSD | | | *--NetBSD | | + | 11.2 | | | 7.2 | | + | | macOS | | | | + | | 10.14 | | OpenBSD 6.4 | + | | | | | | | + | | | | | | DragonFly 5.4.0 + *--FreeBSD | | | | | | + | 12.0 | | | | | DragonFly 5.4.1 + | | | | | | OpenBSD 6.5 | + | | | | | | | | + | | | | | NetBSD | | + | | | | | 8.1 | DragonFly 5.6 + | | | | | | | | + | | | | | | | DragonFly 5.6.1 + | | FreeBSD macOS | | | | + | | 11.3 10.15 | | | | + | FreeBSD | | | | OpenBSD 6.6 | + | 12.1 | macOS | `-------. | | + | | | 10.15.1 | | | DragonFly 5.6.2 + | | | | *--NetBSD | | | + | | | | | 9.0 | | | + | | | | | | | | | + | | | | | | | | DragonFly 5.8 + | | | | | | | | | + | | | | | | | | DragonFly 5.6.3 + | | | | | | NetBSD | | + | | | | | | 8.2 | | + | | | | | | | | DragonFly 5.8.1 + | | | | | | | OpenBSD 6.7 | + | | FreeBSD | | | | | | + | | 11.4 | | | | | | + | | | | | | | DragonFly 5.8.2 + | | | | | | | DragonFly 5.8.3 + | | | | NetBSD | OpenBSD 6.8 | + | FreeBSD macOS | 9.1 | | | + | 12.2 11 | | | | | + | | | | | | | | + | `------. | | | | | | + | | | | | | | | + *--FreeBSD | | | | | | | + | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0 + | | | | | 9.2 | | | + | | | | | | | | DragonFly 6.0.1 + | | | | | | | | | + | | FreeBSD macOS | | | OpenBSD 7.0 | + | | 12.3 12 | | | | | + | | | | | | | | DragonFly 6.2.1 + | | | | | | | OpenBSD 7.1 | + | FreeBSD | | | | | | | + | 13.1 | | | | | | | + | | | | | | | | DragonFly 6.2.2 + | | | | | NetBSD | | | + | | | macOS | 9.3 | OpenBSD 7.2 | + | | | 13 | | | | | + | | FreeBSD | | | | | | + | | 12.4 | | | | | | + | | | | | | | DragonFly 6.4.0 + | | | | | | OpenBSD 7.3 | + | FreeBSD | | | | | | + | 13.2 | | | | | | + | | | | | | | | + | `------. | | | | | | + | | macOS | | | | | + | | 14 | | | | | + | | | | | | OpenBSD 7.4 | + *--FreeBSD | | | | | | | + | 14.0 | | | | | | | + | | | | | | | | | + | | FreeBSD | | NetBSD | | | + | | 13.3 | | 9.4 | | | + | | | | | | | | + | | | | *--NetBSD | | | + | | | | | 10.0 | | | + | | | | | | | | | + | | | | | | | OpenBSD 7.5 | + | | | | | | NetBSD | | + | | | | | | 8.3 | | + | FreeBSD | | | | | | + | 14.1 | | | | | | + | | | macOS | | | | + | | | 15 | | | | + | | FreeBSD | | | | | + | | 13.4 | | | OpenBSD 7.6 | + | FreeBSD | | | | | | + | 14.2 | | | | | | + | | | | | NetBSD | | + | | | | | 10.1 | | + | | FreeBSD | | | | + | | 13.5 | | | | + | | | | OpenBSD 7.7 | + | | | | | DragonFly 6.4.1 + | | | | | DragonFly 6.4.2 + | FreeBSD | | | | + | 14.3 | | | | + | macOS | | | + | 26 | | | + | | | OpenBSD 7.8 | + | | | | | +FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current + | | | | | + v v v v v Time ---------------- From nobody Wed Dec 24 18:23:21 2025 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 4dc0cT6sTqz6LNNW for ; Wed, 24 Dec 2025 18:23: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc0cT3SHpz463r for ; Wed, 24 Dec 2025 18:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8bzmdXUN+xJcpm7G7WyuRsM9we29VVObtd+NGmhJjKg=; b=EOlTXYWfGhX84+AeBtEJv2/7x37teVbtN1O3Thw9l6dyq14eHNnlFtuM7F5DztaRIkoey1 gzJlu3/yiLIls71iyoS/qHjHNeR7Uau229jofb95ZL8xEA3EG87OywQx1OVcZKerJr6Cpg Evwu5Hm+jtslBHNyjynrcVGxDhwt394rwcJOtrxpvYKZaoqhg9eyUtIqezcX5meJu8lan/ 3g7SqZrBGXaqzTViLxiutw5+P+4GNe7UDIo8+ylLNlZhKodrWlDaSP2Vid8+DcsSfLkw15 5YCO7hOsVh4PpXS/QzVLm8KDW9v0aCI9HzsCgTGVuPeWnngDRq3YaAs9dG8JdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766600601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8bzmdXUN+xJcpm7G7WyuRsM9we29VVObtd+NGmhJjKg=; b=dOFEW76wUaiazxG7Orm7uSopS+5ljd1IWXGDlLJiPRKW3QwFOHo46fO+a/MsNzpFduGxrO Ktm8JFz2kjeGlOP+rC+fXl4Y/gG4jlvFR5Dx27hae1mf8ttMTDnX3oHZi1xIUqGKu7YZ70 EHTsHk4+136vbF9m6Gn2e+puc8EuXVLGPxOX1hcoV31EwUO5YMGfmwMYMS+AT23lZVta6/ 6uBaFD3vFO4VrXtCooLK0jDURDXta9e4GmFNM7Xg6X7R2FUsxHMP1GSpbZm3quFy2n7G29 AjUTjWjzr4X5jiXHnNlaEqhGjTUdSdFq+tne4I2zHhEWjdNh4jBcC5ub4GAeLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766600601; a=rsa-sha256; cv=none; b=CkpscnKzXc04AJyZvIhr+hCmVyY9REKaEzI3TXsn7JoM1r8OUBbERchxBktRaRaEyjqpbh vUMDSNhq5r29oLCmwpg2JIns5Kp9mwdXpp/JVrCExXGdODI7UxVjfJRutuy8k1yUtWr4/o KEpDfkSaLg/ZB3fLlr0EM/Hd2WOn7u/l6iL/XykWsJkFgIKt1FZVy0NFQ534QTgxF4/MZ4 QhIXdsfqS5/8hehDcgPJVM2QLNsCPAZP65twVqZIftG4E02h0lM/3EiX47uLZHRTMKo7LS J8REqvS9ODqIwsZS+Eo2Pf7JZe80YW5K3g5r2K8Jip5t7G1lygN3gTBw51DxPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc0cT2tJkzsXc for ; Wed, 24 Dec 2025 18:23:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30969 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 18:23:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Maxim Konovalov From: Sergey A. Osokin Subject: git: fff399d8c6ad - stable/14 - bsd-family-tree: add FreeBSD 15.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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fff399d8c6adfdd52275faa6b79da70a0682af6a Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 18:23:21 +0000 Message-Id: <694c2f99.30969.6e9467fe@gitrepo.freebsd.org> The branch stable/14 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=fff399d8c6adfdd52275faa6b79da70a0682af6a commit fff399d8c6adfdd52275faa6b79da70a0682af6a Author: Maxim Konovalov AuthorDate: 2025-12-02 03:44:42 +0000 Commit: Sergey A. Osokin CommitDate: 2025-12-24 18:22:52 +0000 bsd-family-tree: add FreeBSD 15.0 (cherry picked from commit 7b44ab1c6abe106a44604a8504edca0e57ec1c42) Sponsored by: tipi.work --- share/misc/bsd-family-tree | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 6283be25b91f..ec70048523ba 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -300,7 +300,7 @@ FreeBSD 5.2 | | | | | | | | | 6.1 | | | | FreeBSD | | | | | | | 8.4 | | NetBSD | | - | | | | | 6.1.1 | | + | | | | 6.1.1 | | | | | | | | | | FreeBSD | | NetBSD | | | 9.2 | | 6.1.2 | | @@ -483,6 +483,8 @@ FreeBSD 5.2 | | | | | macOS | | | | 26 | | | | | | OpenBSD 7.8 | + *--FreeBSD | | | | + | 15.0 | | | | | | | | | FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -931,6 +933,7 @@ DragonFly 6.4.2 2025-05-09 [DFB] FreeBSD 14.3 2025-06-10 [FBD] macOS 26 2025-09-15 [APL] OpenBSD 7.8 2025-10-22 [OBD] +FreeBSD 15.0 2025-12-02 [FBD] Bibliography ------------------------ From nobody Wed Dec 24 20:12:27 2025 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 4dc32N1MjVz6LWf3 for ; Wed, 24 Dec 2025 20:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc32M6PLYz4Hp5 for ; Wed, 24 Dec 2025 20:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i8LsTiNlyQEnprOv5BwO1o/kkdmjmYYOxJylKaCjYlk=; b=w+OXXT44OcUv41J/pu3JZQM2meL49w7j6F3hRZxARFQRirpzY2ksXsJX5nN0Hix7mX0+mq zrjJWuYH5EpbpsCn5oeQCRwWGrL7HZWBj/oGyhyknjAV8F+VwSI9aHX9rW8BXNyHZ9Wmu1 B0Rv5Bb473VMp7psb5/QU5G99yJzbzlKBg+c/Lo5jSvYz9x3TvY4JB9y3Z6BPATj19B+CE Qva4TXgXHLuGHbHFNarzp6AtqFfRAJY6IySOl7jhs3+oP1+llk3uHwmeXmhSv+NsSTMBA/ g8KMZCwtnXmH6Ep2oA/FPb6RnUSggQfStbRynZYCEMmv/6UKVh95D89H2gp18Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i8LsTiNlyQEnprOv5BwO1o/kkdmjmYYOxJylKaCjYlk=; b=LFhm1UQFn7uQGqsHCUTyyyG20AuwJEN3/4ZAzkZF2eHito/DBa91cQvbLkultBF9FdXA7X mfVNV1zK0ta91qqnTUvU+1eDGiSbbv/GAUPhgggmUMf7RXNyQ6wEbCrwxXSmptt7/PpnBk 59PLWPHLVH7i0mdVE68K5SofpTyhJWzDwZ6O9cb2MM5wBa7TrlKsOC5ZS+SSlZ1oraZXNe GYIdhe1TglPttitLBN/2LRVFEHG8F2PBbyRYcZ2rknsrA9nHqwHfLji5W2sxuBoBrcyo9Q IlDN0hdOQfCTYcqFNvaiOLiSIeSUNuN94ab7CjDVgzgLkhlwaGCOLhaNAdPEmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766607147; a=rsa-sha256; cv=none; b=tqWSdE9i8I3OuzYDX6dr36zV5/VmEHYFMU6wpChzlU2KMdRAlPkkPG6TrePbwNWZt24JCe 0CuYg4dmLhljz7ogW0YOmcrXTgHhfWYx6gGOxDBaB1Y+iPBO64TCo0q5okFZ4JQMZnadJK b/WKv9YKjbb3OusEmESgMxSufxhLEckdrcx+sIXreISFdMT5J3gcfuOOZOw6qk4mmizHHQ PVH8clb6l+1p0RbLdAS/Ee6TeY7QpVYaWZqXHnV8L9qOKJ+TZfK86Hh0NWuI6L3iQw/UWv TFu8AsBe+tDwvlJZEmB/WwsNs17+EUvR9DiADc8MtMpYvdeqFu8liZk+ZieVDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc32M5wHtzx9c for ; Wed, 24 Dec 2025 20:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c608 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 20:12:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: bbc5f5483723 - stable/15 - LinuxKPI: Move vmap-related code from linux_compat.c to linux_page.c 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: bbc5f5483723635eeace96015144ab56b2dab3d5 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 20:12:27 +0000 Message-Id: <694c492b.3c608.4d03064a@gitrepo.freebsd.org> The branch stable/15 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=bbc5f5483723635eeace96015144ab56b2dab3d5 commit bbc5f5483723635eeace96015144ab56b2dab3d5 Author: Vladimir Kondratyev AuthorDate: 2025-12-17 21:31:11 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-12-24 20:06:00 +0000 LinuxKPI: Move vmap-related code from linux_compat.c to linux_page.c Coming vmap_pfn() implementation requires is_vmalloc_addr() to be in the same file with other vmap-related code. Move code out from the overcrowded file. No functional changes intended. MFC after: 1 week Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D54223 (cherry picked from commit 20ce906157dfc9ae6ee834f56f2bba154f37d653) --- sys/compat/linuxkpi/common/src/linux_compat.c | 111 ----------------------- sys/compat/linuxkpi/common/src/linux_page.c | 125 ++++++++++++++++++++++++++ 2 files changed, 125 insertions(+), 111 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index ff0f477ea8cc..35430daf311d 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -1812,113 +1812,6 @@ const struct fileops linuxfileops = { .fo_flags = DFLAG_PASSABLE, }; -/* - * Hash of vmmap addresses. This is infrequently accessed and does not - * need to be particularly large. This is done because we must store the - * caller's idea of the map size to properly unmap. - */ -struct vmmap { - LIST_ENTRY(vmmap) vm_next; - void *vm_addr; - unsigned long vm_size; -}; - -struct vmmaphd { - struct vmmap *lh_first; -}; -#define VMMAP_HASH_SIZE 64 -#define VMMAP_HASH_MASK (VMMAP_HASH_SIZE - 1) -#define VM_HASH(addr) ((uintptr_t)(addr) >> PAGE_SHIFT) & VMMAP_HASH_MASK -static struct vmmaphd vmmaphead[VMMAP_HASH_SIZE]; -static struct mtx vmmaplock; - -static void -vmmap_add(void *addr, unsigned long size) -{ - struct vmmap *vmmap; - - vmmap = kmalloc(sizeof(*vmmap), GFP_KERNEL); - mtx_lock(&vmmaplock); - vmmap->vm_size = size; - vmmap->vm_addr = addr; - LIST_INSERT_HEAD(&vmmaphead[VM_HASH(addr)], vmmap, vm_next); - mtx_unlock(&vmmaplock); -} - -static struct vmmap * -vmmap_remove(void *addr) -{ - struct vmmap *vmmap; - - mtx_lock(&vmmaplock); - LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next) - if (vmmap->vm_addr == addr) - break; - if (vmmap) - LIST_REMOVE(vmmap, vm_next); - mtx_unlock(&vmmaplock); - - return (vmmap); -} - -#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) || defined(__aarch64__) || defined(__riscv) -void * -_ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr) -{ - void *addr; - - addr = pmap_mapdev_attr(phys_addr, size, attr); - if (addr == NULL) - return (NULL); - vmmap_add(addr, size); - - return (addr); -} -#endif - -void -iounmap(void *addr) -{ - struct vmmap *vmmap; - - vmmap = vmmap_remove(addr); - if (vmmap == NULL) - return; -#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) || defined(__aarch64__) || defined(__riscv) - pmap_unmapdev(addr, vmmap->vm_size); -#endif - kfree(vmmap); -} - -void * -vmap(struct page **pages, unsigned int count, unsigned long flags, int prot) -{ - vm_offset_t off; - size_t size; - - size = count * PAGE_SIZE; - off = kva_alloc(size); - if (off == 0) - return (NULL); - vmmap_add((void *)off, size); - pmap_qenter(off, pages, count); - - return ((void *)off); -} - -void -vunmap(void *addr) -{ - struct vmmap *vmmap; - - vmmap = vmmap_remove(addr); - if (vmmap == NULL) - return; - pmap_qremove((vm_offset_t)addr, vmmap->vm_size / PAGE_SIZE); - kva_free((vm_offset_t)addr, vmmap->vm_size); - kfree(vmmap); -} - static char * devm_kvasprintf(struct device *dev, gfp_t gfp, const char *fmt, va_list ap) { @@ -2887,9 +2780,6 @@ linux_compat_init(void *arg) INIT_LIST_HEAD(&pci_drivers); INIT_LIST_HEAD(&pci_devices); spin_lock_init(&pci_lock); - mtx_init(&vmmaplock, "IO Map lock", NULL, MTX_DEF); - for (i = 0; i < VMMAP_HASH_SIZE; i++) - LIST_INIT(&vmmaphead[i]); init_waitqueue_head(&linux_bit_waitq); init_waitqueue_head(&linux_var_waitq); @@ -3000,7 +2890,6 @@ linux_compat_uninit(void *arg) free(__cpu_data, M_KMALLOC); #endif - mtx_destroy(&vmmaplock); spin_lock_destroy(&pci_lock); rw_destroy(&linux_vma_lock); } diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index c0d9d71ba1ce..57ca1401b912 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -318,12 +318,119 @@ lkpi_get_user_pages(unsigned long start, unsigned long nr_pages, !!(gup_flags & FOLL_WRITE), pages)); } +/* + * Hash of vmmap addresses. This is infrequently accessed and does not + * need to be particularly large. This is done because we must store the + * caller's idea of the map size to properly unmap. + */ +struct vmmap { + LIST_ENTRY(vmmap) vm_next; + void *vm_addr; + unsigned long vm_size; +}; + +struct vmmaphd { + struct vmmap *lh_first; +}; +#define VMMAP_HASH_SIZE 64 +#define VMMAP_HASH_MASK (VMMAP_HASH_SIZE - 1) +#define VM_HASH(addr) ((uintptr_t)(addr) >> PAGE_SHIFT) & VMMAP_HASH_MASK +static struct vmmaphd vmmaphead[VMMAP_HASH_SIZE]; +static struct mtx vmmaplock; + int is_vmalloc_addr(const void *addr) { return (vtoslab((vm_offset_t)addr & ~UMA_SLAB_MASK) != NULL); } +static void +vmmap_add(void *addr, unsigned long size) +{ + struct vmmap *vmmap; + + vmmap = kmalloc(sizeof(*vmmap), GFP_KERNEL); + mtx_lock(&vmmaplock); + vmmap->vm_size = size; + vmmap->vm_addr = addr; + LIST_INSERT_HEAD(&vmmaphead[VM_HASH(addr)], vmmap, vm_next); + mtx_unlock(&vmmaplock); +} + +static struct vmmap * +vmmap_remove(void *addr) +{ + struct vmmap *vmmap; + + mtx_lock(&vmmaplock); + LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next) + if (vmmap->vm_addr == addr) + break; + if (vmmap) + LIST_REMOVE(vmmap, vm_next); + mtx_unlock(&vmmaplock); + + return (vmmap); +} + +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) || defined(__aarch64__) || defined(__riscv) +void * +_ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr) +{ + void *addr; + + addr = pmap_mapdev_attr(phys_addr, size, attr); + if (addr == NULL) + return (NULL); + vmmap_add(addr, size); + + return (addr); +} +#endif + +void +iounmap(void *addr) +{ + struct vmmap *vmmap; + + vmmap = vmmap_remove(addr); + if (vmmap == NULL) + return; +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) || defined(__aarch64__) || defined(__riscv) + pmap_unmapdev(addr, vmmap->vm_size); +#endif + kfree(vmmap); +} + +void * +vmap(struct page **pages, unsigned int count, unsigned long flags, int prot) +{ + vm_offset_t off; + size_t size; + + size = count * PAGE_SIZE; + off = kva_alloc(size); + if (off == 0) + return (NULL); + vmmap_add((void *)off, size); + pmap_qenter(off, pages, count); + + return ((void *)off); +} + +void +vunmap(void *addr) +{ + struct vmmap *vmmap; + + vmmap = vmmap_remove(addr); + if (vmmap == NULL) + return; + pmap_qremove((vm_offset_t)addr, vmmap->vm_size / PAGE_SIZE); + kva_free((vm_offset_t)addr, vmmap->vm_size); + kfree(vmmap); +} + vm_fault_t lkpi_vmf_insert_pfn_prot_locked(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn, pgprot_t prot) @@ -575,3 +682,21 @@ linuxkpi__page_frag_cache_drain(struct page *page, size_t count __unused) linux_free_pages(page, 0); } + +static void +lkpi_page_init(void *arg) +{ + int i; + + mtx_init(&vmmaplock, "IO Map lock", NULL, MTX_DEF); + for (i = 0; i < VMMAP_HASH_SIZE; i++) + LIST_INIT(&vmmaphead[i]); +} +SYSINIT(lkpi_page, SI_SUB_DRIVERS, SI_ORDER_SECOND, lkpi_page_init, NULL); + +static void +lkpi_page_uninit(void *arg) +{ + mtx_destroy(&vmmaplock); +} +SYSUNINIT(lkpi_page, SI_SUB_DRIVERS, SI_ORDER_SECOND, lkpi_page_uninit, NULL); From nobody Wed Dec 24 20:12:28 2025 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 4dc32P31Txz6LVrL for ; Wed, 24 Dec 2025 20:12: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc32P0w6vz4J6X for ; Wed, 24 Dec 2025 20:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+92421eGWATnOfx1qnziLVUCsh7KXsmlP2W/PlBaLjc=; b=ub4enCJKLbNk2WrMh5b+OSYOI4uydMIAnmCB7S/XCDEmkp0geO7vM+UZe9G3QfEwQqPuOm kdp0qRNkj27HIeMJhO/Vr7Jf/YsP8zSP+gq+o3BXwhrWq+XE39j64Cn6Off4IkVRpCaEoY eioLblT5La3wX41KobR57x4Uqi5fEoeqOF5+Z/QJowp4uwkK6W5SOxEGX6Q1jmUtJqXawC 9CBirZaiZL7mMCm1izZ9WVjCCC1mFTFfO8WzcFetz4F11XR3/pEMzXr4UQ9u9LMewIEjph QxcqihahHNp34LxwUcbi24aw7VKsGQBHb4i80+9uUtUEiJ1OaNbgXdfSG/CdIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+92421eGWATnOfx1qnziLVUCsh7KXsmlP2W/PlBaLjc=; b=Nt9HQUfMK5dOc1fHhFuT+o9j/DN3Dd+BbH5mDN69QDRnaWTwAfGKfLn2re985vWkuU5g+P 03hMjH178hZfKEI1iLAGRtUkNnahJgqs3eJwnC1mAYn1ZdQP2RlExArlcx3V1GecVniIR5 6WoDucoeg9gKLXg6LwZBYYkwSrWvePaUQquc71lL/EvOVNE5EqMLZAwarUh2A9egrZeptG FkiwTcKgzF5Io2tExG+i/TncZmt0FfnhhxiYl38oq+EomKOrvsdobGgFibrC6cgmBJuVT5 oEAZnU1FQcn9sxpT+Svh+hxF9k4Y8HyvsUQaAO2Simxe5/n/jp1Squ8MB2osuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766607149; a=rsa-sha256; cv=none; b=lt3Dhf1rG5Gt+Eo8cuFHdvhfQWddBMIcMjEH3d80OZsU3UiQWApH8ITfxjtqSxPGn8yRsJ O8J6/g0CJRXkjH4C9loZ/Y7IxZEM7vrGUiz0M7b/7XwhgTcq71hEXu2VJTotCyPJH/dMUi 6pQNDoVhAFXr4bjgfodpzLJI4t+kKBloPKEmLgBCAiJKB2Cbw+fkRrnjPU+WWMI4FlfYWY 8JAL+rkNxkizWtSxIczGhhWWyPOOm0VN2wM0ylmRedljjouHipcr4B0qzba/gE1WF81xYk Dte0EAFIB8EmMenw0FqOUz4JN+obT6KG/6oYrNCZPK3PRFb3Q5hyJcB1hgurMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc32N6hmFzxRb for ; Wed, 24 Dec 2025 20:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b58c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 20:12:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 304c24df44d3 - stable/15 - LinuxKPI: Implement vmap_pfn 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 304c24df44d3ff70a26d1a8fd6653c5c4e765165 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 20:12:28 +0000 Message-Id: <694c492c.3b58c.76f857e3@gitrepo.freebsd.org> The branch stable/15 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=304c24df44d3ff70a26d1a8fd6653c5c4e765165 commit 304c24df44d3ff70a26d1a8fd6653c5c4e765165 Author: Vladimir Kondratyev AuthorDate: 2025-12-17 21:31:11 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-12-24 20:06:08 +0000 LinuxKPI: Implement vmap_pfn Required by i915kms to support recent discrete graphics cards. MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54225 (cherry picked from commit df49fd8efa1a885089488458df0e7e88c9649c90) --- sys/compat/linuxkpi/common/include/linux/vmalloc.h | 3 + sys/compat/linuxkpi/common/src/linux_page.c | 65 ++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/vmalloc.h b/sys/compat/linuxkpi/common/include/linux/vmalloc.h index 00650a2df9b6..a7f77f090755 100644 --- a/sys/compat/linuxkpi/common/include/linux/vmalloc.h +++ b/sys/compat/linuxkpi/common/include/linux/vmalloc.h @@ -35,8 +35,11 @@ #define VM_MAP 0x0000 #define PAGE_KERNEL 0x0000 +#define vmap_pfn(...) linuxkpi_vmap_pfn(__VA_ARGS__) + void *vmap(struct page **pages, unsigned int count, unsigned long flags, int prot); +void *linuxkpi_vmap_pfn(unsigned long *pfns, unsigned int count, int prot); void vunmap(void *addr); #endif /* _LINUXKPI_LINUX_VMALLOC_H_ */ diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 57ca1401b912..82f3a2a4639f 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -341,6 +341,16 @@ static struct mtx vmmaplock; int is_vmalloc_addr(const void *addr) { + struct vmmap *vmmap; + + mtx_lock(&vmmaplock); + LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next) + if (addr == vmmap->vm_addr) + break; + mtx_unlock(&vmmaplock); + if (vmmap != NULL) + return (1); + return (vtoslab((vm_offset_t)addr & ~UMA_SLAB_MASK) != NULL); } @@ -418,6 +428,61 @@ vmap(struct page **pages, unsigned int count, unsigned long flags, int prot) return ((void *)off); } +#define VMAP_MAX_CHUNK_SIZE (65536U / sizeof(struct vm_page)) /* KMEM_ZMAX */ + +void * +linuxkpi_vmap_pfn(unsigned long *pfns, unsigned int count, int prot) +{ + vm_page_t m, *ma, fma; + vm_offset_t off, coff; + vm_paddr_t pa; + vm_memattr_t attr; + size_t size; + unsigned int i, c, chunk; + + size = ptoa(count); + off = kva_alloc(size); + if (off == 0) + return (NULL); + vmmap_add((void *)off, size); + + chunk = MIN(count, VMAP_MAX_CHUNK_SIZE); + attr = pgprot2cachemode(prot); + ma = malloc(chunk * sizeof(vm_page_t), M_TEMP, M_WAITOK | M_ZERO); + fma = NULL; + c = 0; + coff = off; + for (i = 0; i < count; i++) { + pa = IDX_TO_OFF(pfns[i]); + m = PHYS_TO_VM_PAGE(pa); + if (m == NULL) { + if (fma == NULL) + fma = malloc(chunk * sizeof(struct vm_page), + M_TEMP, M_WAITOK | M_ZERO); + m = fma + c; + vm_page_initfake(m, pa, attr); + } else { + pmap_page_set_memattr(m, attr); + } + ma[c] = m; + c++; + if (c == chunk || i == count - 1) { + pmap_qenter(coff, ma, c); + if (i == count - 1) + break; + coff += ptoa(c); + c = 0; + memset(ma, 0, chunk * sizeof(vm_page_t)); + if (fma != NULL) + memset(fma, 0, chunk * sizeof(struct vm_page)); + } + } + free(fma, M_TEMP); + free(ma, M_TEMP); + + return ((void *)off); +} + void vunmap(void *addr) { From nobody Wed Dec 24 20:12:30 2025 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 4dc32Q29c5z6LVrM for ; Wed, 24 Dec 2025 20:12: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc32Q0wxbz4J8w for ; Wed, 24 Dec 2025 20:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZcL6l+27YeiLNCdOVJuYpzNiVRUzRJd3Yc/N0oXtc3U=; b=JMvX4hsL4eKBPadvQ9Z+ixK77JAkVVno0jI98YWLsJdkUkSW4J+40GZxGAxz+lSyY50hLt rMxQ0Hl4KJVWwZ389hCA+47nT0gJy8pzjQIOhDiNO6cabqDLD9tRVN0IbX+8ZBl0CeAlFH Te1XpRv4iaDxG19DFT7Io7/vhqegsnKXSEMoSDMpLW6cEmU/UmqgwGMbMwoqXSZ8OL4nzz 4AV7K5WhU/rS+61VZ0UceubJHBzz7nBSz6IfIniklZEcHSyqSPCx7Gsx7+9L2ELbqo6qzY wxlry0l1jdLrI5RygSVxRkEKHnQlXaz4hjm13SZlrhpPX5IzQ0C35hzyQ4FaAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766607150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZcL6l+27YeiLNCdOVJuYpzNiVRUzRJd3Yc/N0oXtc3U=; b=nBvge0Wz4KiEe+E/HoShqad66qaeIXKJwnHGLX6Ky3octj8jjLbuPlg5MibSakZZMhWdVW u+DKgZ9ScW6YhULmuTrNLZtTFEsgvfoyX4LmpAFhFf7VM6T0LyQnz/YslYvz0/g/6sf27Z lCWIA32G1SzD876u/lSfFgrQh8V/geNjtaa9huFWNU6BH1ejijdSbCIceP9t2xiRasH25R x6nET0umZJq7pqu0eABnUQ0R+dBCMCKI8F5C2o7nhr+pgW+I04JqnPo+4w4IupyPpsvC+P OgDfty8LQJP0HagIP4WZvYBQ+Xj2iyZ+zrgDpvdgTzD+hWPLRdLGl5/SYBbUQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766607150; a=rsa-sha256; cv=none; b=hFoNo1B3vX6IfotSaJVriZysjNHe7o0E0EecAUaXXBbIVKBUC9Posd7zbHC46hVV3Aa4xy mKyFevFLwxCsKYNnN2DnDw6xvzttcOG5cmc2gvJcjPj1M4c72vlAph5+yggvjSMWCFc/Vx u7+SeWRXdpJ45V1SToPpyq6FrqNnfM2k4V8QTZgVFtv9trFpKdI5S5+tmnYdNeu7Tth02z oAJavEj7o6CD+O+ucEe052RDcUKEbLE2OthE8ha8q2hUrdjKtduvl6iiWfXBvYjCtAj9oU LIJKwoAHSO9snPceBbSn759HCT1eUGzikqeuwnuQeYyWs4VxFwxUW7Z6Hu/RLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc32Q0QDyzxP6 for ; Wed, 24 Dec 2025 20:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c60c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 20:12:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 198ef2a31cee - stable/15 - LinuxKPI: bump __FreeBSD_version for vmap_pfn implementation 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 198ef2a31cee7dd256434ad6120d279d9bcc211a Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 20:12:30 +0000 Message-Id: <694c492e.3c60c.c3ef4ca@gitrepo.freebsd.org> The branch stable/15 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=198ef2a31cee7dd256434ad6120d279d9bcc211a commit 198ef2a31cee7dd256434ad6120d279d9bcc211a Author: Vladimir Kondratyev AuthorDate: 2025-12-17 21:31:11 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-12-24 20:08:44 +0000 LinuxKPI: bump __FreeBSD_version for vmap_pfn implementation --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index d4afa1be7bc5..9f810fb68147 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500504 +#define __FreeBSD_version 1500505 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Wed Dec 24 22:44:07 2025 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 4dc6PR3j2Jz6LjFj for ; Wed, 24 Dec 2025 22:44: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dc6PR1Y5bz3DpQ for ; Wed, 24 Dec 2025 22:44:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766616251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aqk89bqt9nJRZkuNMeLLyA96pk+Wjx5WB/DQ+AEZ4vQ=; b=pKJVcI1/9oIf/Z0nLkDs2OBgT9dLU/QcG4q4Ww3HERUU3+FWhKErqSP1hjXXQHObPl9uOQ qqlN9YGF5uDa4P8TFJZQ+tPGv3nmSv9V3VVxA1ZcA/O/GF0Nt/BuK7x5P2+T6orunRYKSV sdLjFmORAOZNXuTsboNhPAP+wZwCjqZp3TQ7tCyqCWE8U4q/wIa+tNt3lNZSGIZHaxUDZ5 SmY23RJ727mixPTy+osONyYHKOAOZR8gu3gUPp0+In9SB0PdHHcSg05iaJgeIrgxsWUAxS FBom0M8LYC3hGPlfTysvZ+m+CfAyQeUFW4Z5J5SAyPIhLJh15pL6DBDGXQZoxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766616251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aqk89bqt9nJRZkuNMeLLyA96pk+Wjx5WB/DQ+AEZ4vQ=; b=pTsUQSTajuq7rh4dOc4aJg54rmsXCsmqlaxY8YIoLu9Rc6wlxT/vN41ymCjLW7GvmbMjAo y+42jlnpuLvXcjIXzEiwe2nePnNYhKDDdGvsJBhhzGz+Sb02qoJet2a/mIbrXeBFMPbvo/ 4OOgeurGxyZ2YfKIR8+iBKR3unYL1itNbh2hQyAIs/j8XegAXZ0vMlKZUgYzmS50FREcDA lBC4L4/pLsZKaIMkJM/mALqPNW24lTkdsDVtx+B83HUJuKw22BB/lEARqfth4for4dgP5x GDoHoblc9U6yoiL/6Y9cwtf7BAPHyLJ4CJb7k0DT28xXIWis2aV5AXeIMEHBcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766616251; a=rsa-sha256; cv=none; b=TaYEctC1UnX46DPlFOohJYIp7/TtEeeU/z4KFiSgt8gDmtTrbfDoT5LJozB6ZSPIyzO26m ZT1NHCE52LpmI69bPXzB+ciXCZrQ+2CDvgOo+eu6jaeI8fWJvqRAEzXCYMM1mTgYJFgVeV XDQm4A3ho7x9EdRa/MjBFO4D51mhO56X08JMqr3il7NlLLGERjg3GGBBPvaF1QFnzyuK9g MoHUh0fQnxuXCq1kswkQJkHC6n2vl5C2E7fMSLqNaaf+dkluYcSwO8Dds1oSuxxH7/F6S6 IuWvjKmKMeFWmDCDpsDNTDUQizTJcb2SlDb95GkIidOhPHYAyHxKDwYGIbb2yA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dc6PR0pXRz122Y for ; Wed, 24 Dec 2025 22:44:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8d4d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Dec 2025 22:44:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: d673dda5af43 - stable/15 - zfs: merge openzfs/zfs@743334913 (zfs-2.4-release) into stable/15 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d673dda5af433b87a7240e4293452d5a464cd3f2 Auto-Submitted: auto-generated Date: Wed, 24 Dec 2025 22:44:07 +0000 Message-Id: <694c6cb7.8d4d.61827d6@gitrepo.freebsd.org> The branch stable/15 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d673dda5af433b87a7240e4293452d5a464cd3f2 commit d673dda5af433b87a7240e4293452d5a464cd3f2 Merge: 198ef2a31cee 743334913e5a Author: Martin Matuska AuthorDate: 2025-12-24 22:07:15 +0000 Commit: Martin Matuska CommitDate: 2025-12-24 22:24:23 +0000 zfs: merge openzfs/zfs@743334913 (zfs-2.4-release) into stable/15 OpenZFS 2.4.0 Notable upstream pull request merges: #17932 c8ecd63ac zpool: fix special vdev -v -o conflict #17941 74bbdda1e Fix snapshot automount expiry cancellation deadlock #17946 f45622ff4 chksum: run 256K benchmark on demand, preserve chksum_stat_data #17960 a41ef3685 DDT: Reduce global DDT lock scope during writes #17961 2aad3dee2 DDT: Make children writes inherit allocator #17975 2e09f166f FreeBSD: Fix uninitialized variable error #17980 a785ddc5f DDT: Switch to using wmsums for lookup stats #17983 028d66b9d Fix ddtprune causing space leak #18004 e1f0baa54 FreeBSD: Remove HAVE_INLINE_FLSL use #18015 a2f768f61 FreeBSD: Fix a potential null dereference in zfs_freebsd_fsync() (already merged) Obtained from: OpenZFS OpenZFS commit: 743334913e5a5f60baf287bcc6d8a23515b02ac5 OpenZFS tag: zfs-2.4.0 .../.github/workflows/scripts/qemu-4-build-vm.sh | 2 +- .../.github/workflows/scripts/qemu-test-repo-vm.sh | 18 +- sys/contrib/openzfs/.github/workflows/smatch.yml | 52 +++ .../.github/workflows/zfs-qemu-packages.yml | 5 - sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 4 +- sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/cmd/raidz_test/raidz_test.c | 23 +- sys/contrib/openzfs/cmd/raidz_test/raidz_test.h | 2 +- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 476 ++++++++++++--------- sys/contrib/openzfs/cmd/zpool/zpool_vdev.c | 8 +- sys/contrib/openzfs/config/kernel-kasan-enabled.m4 | 23 + .../openzfs/config/kernel-kmap-atomic-args.m4 | 2 +- sys/contrib/openzfs/config/kernel.m4 | 2 + .../openzfs/include/os/freebsd/spl/sys/sysmacros.h | 77 +--- .../openzfs/include/os/freebsd/spl/sys/taskq.h | 2 +- .../openzfs/include/os/linux/spl/sys/taskq.h | 2 +- sys/contrib/openzfs/include/sys/ddt.h | 18 + sys/contrib/openzfs/include/sys/zfs_context.h | 2 +- sys/contrib/openzfs/lib/libspl/tunables.c | 12 +- sys/contrib/openzfs/lib/libzpool/taskq.c | 4 +- sys/contrib/openzfs/module/Kbuild.in | 3 +- .../openzfs/module/os/freebsd/spl/spl_taskq.c | 13 +- .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 2 +- .../openzfs/module/os/linux/spl/spl-taskq.c | 58 ++- sys/contrib/openzfs/module/os/linux/zfs/abd_os.c | 33 +- .../openzfs/module/os/linux/zfs/kasan_compat.c | 48 +++ .../openzfs/module/os/linux/zfs/zfs_ctldir.c | 192 ++++++--- sys/contrib/openzfs/module/os/linux/zfs/zfs_dir.c | 3 +- sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c | 10 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 1 - sys/contrib/openzfs/module/zfs/abd.c | 16 +- sys/contrib/openzfs/module/zfs/ddt.c | 94 +++- sys/contrib/openzfs/module/zfs/dmu_objset.c | 3 +- sys/contrib/openzfs/module/zfs/spa.c | 6 +- sys/contrib/openzfs/module/zfs/zfs_chksum.c | 24 +- sys/contrib/openzfs/module/zfs/zfs_fm.c | 3 +- sys/contrib/openzfs/module/zfs/zio.c | 137 ++++-- sys/contrib/openzfs/scripts/commitcheck.sh | 4 +- sys/contrib/openzfs/tests/runfiles/common.run | 5 +- sys/contrib/openzfs/tests/runfiles/sanity.run | 2 +- .../openzfs/tests/zfs-tests/include/libtest.shlib | 2 - .../openzfs/tests/zfs-tests/tests/Makefile.am | 2 + .../tests/functional/dedup/dedup_prune_leak.ksh | 86 ++++ .../events/slow_vdev_degraded_sit_out.ksh | 26 +- .../tests/functional/raidz/raidz_001_neg.ksh | 2 +- .../tests/functional/snapshot/snapshot_019_pos.ksh | 82 ++++ sys/contrib/openzfs/udev/zvol_id.c | 2 +- sys/modules/zfs/zfs_config.h | 9 +- 48 files changed, 1100 insertions(+), 506 deletions(-) diff --cc sys/contrib/openzfs/.github/workflows/smatch.yml index 000000000000,ac6454244f93..ac6454244f93 mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/workflows/smatch.yml +++ b/sys/contrib/openzfs/.github/workflows/smatch.yml diff --cc sys/contrib/openzfs/config/kernel-kasan-enabled.m4 index 000000000000,71b2419995b6..71b2419995b6 mode 000000,100644..100644 --- a/sys/contrib/openzfs/config/kernel-kasan-enabled.m4 +++ b/sys/contrib/openzfs/config/kernel-kasan-enabled.m4 diff --cc sys/contrib/openzfs/module/os/linux/zfs/kasan_compat.c index 000000000000,d0faf5caf9a7..d0faf5caf9a7 mode 000000,100644..100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/kasan_compat.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/kasan_compat.c diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/dedup/dedup_prune_leak.ksh index 000000000000,ca281cc3fcda..ca281cc3fcda mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/dedup/dedup_prune_leak.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/dedup/dedup_prune_leak.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/snapshot/snapshot_019_pos.ksh index 000000000000,c8a1a8a7b571..c8a1a8a7b571 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/snapshot/snapshot_019_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/snapshot/snapshot_019_pos.ksh diff --cc sys/modules/zfs/zfs_config.h index 446c5c1a12cd,000000000000..378b79521702 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,895 -1,0 +1,898 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* __assign_str() has one arg */ +/* #undef HAVE_1ARG_ASSIGN_STR */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* backtrace() is available */ +/* #undef HAVE_BACKTRACE */ + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_file_open_by_path() exists */ +/* #undef HAVE_BDEV_FILE_OPEN_BY_PATH */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* bdev_nr_bytes() is available */ +/* #undef HAVE_BDEV_NR_BYTES */ + +/* bdev_open_by_path() exists */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ + +/* bdev_release() exists */ +/* #undef HAVE_BDEV_RELEASE */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* __blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS */ + +/* __blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS */ + +/* blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_FLAGS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() exists */ +/* #undef HAVE_BLKDEV_PUT */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* struct queue_limits has a features field */ +/* #undef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_disk() exists and takes 2 args */ +/* #undef HAVE_BLK_ALLOC_DISK_2ARG */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue hardware context is cached in struct request */ +/* #undef HAVE_BLK_MQ_RQ_HCTX */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* backing_dev_info is available through queue gendisk */ +/* #undef HAVE_BLK_QUEUE_DISK_BDI */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if getgeo() in block_device_operations takes struct gendisk * as its + first arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_GETGEO_GENDISK */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* 3-arg dequeue_signal() takes a type argument */ +/* #undef HAVE_DEQUEUE_SIGNAL_3ARG_TYPE */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* dops->d_revalidate() takes 4 args */ +/* #undef HAVE_D_REVALIDATE_4ARGS */ + +/* Define if d_set_d_op() is available */ +/* #undef HAVE_D_SET_D_OP */ + +/* Define to 1 if you have the 'execvpe' function. */ +#define HAVE_EXECVPE 1 + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* file->f_version exists */ +/* #undef HAVE_FILE_F_VERSION */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* GENHD_FL_EXT_DEVT flag is available */ +/* #undef HAVE_GENHD_FL_EXT_DEVT */ + +/* GENHD_FL_NO_PART flag is available */ +/* #undef HAVE_GENHD_FL_NO_PART */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* Define to 1 if you have the 'gettid' function. */ +/* #undef HAVE_GETTID */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* mnt_idmap does not have user_namespace */ +/* #undef HAVE_IDMAP_NO_USERNS */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_generic_drop() exists */ +/* #undef HAVE_INODE_GENERIC_DROP */ + +/* inode_get_atime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_ATIME */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* inode_get_mtime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_MTIME */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_atime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_mtime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() returns struct dentry* */ +/* #undef HAVE_IOPS_MKDIR_DENTRY */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_get_pages2() is available */ +/* #undef HAVE_IOV_ITER_GET_PAGES2 */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* Define to 1 if you have the 'issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* iter_is_ubuf() is available */ +/* #undef HAVE_ITER_IS_UBUF */ + ++/* kasan_enabled() is GPL-only */ ++/* #undef HAVE_KASAN_ENABLED_GPL_ONLY */ ++ +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel defines intptr_t */ +/* #undef HAVE_KERNEL_INTPTR_T */ + +/* kernel has kernel_neon_* functions */ +/* #undef HAVE_KERNEL_NEON */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* strlcpy() exists */ +/* #undef HAVE_KERNEL_STRLCPY */ + +/* kernel has kmap_local_page */ +/* #undef HAVE_KMAP_LOCAL_PAGE */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [unwind] */ +/* #undef HAVE_LIBUNWIND */ + +/* libunwind has unw_get_elf_filename */ +/* #undef HAVE_LIBUNWIND_ELF */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* building against unsupported kernel version */ +/* #undef HAVE_LINUX_EXPERIMENTAL */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Define to 1 if you have the 'mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* PG_error flag is available */ +/* #undef HAVE_MM_PAGE_FLAG_ERROR */ + +/* page_mapping() is available */ +/* #undef HAVE_MM_PAGE_MAPPING */ + +/* page_size() is available */ +/* #undef HAVE_MM_PAGE_SIZE */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* Define if ns_type is accessible through ns_common */ +/* #undef HAVE_NS_COMMON_TYPE */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* readahead_page() exists */ +/* #undef HAVE_PAGEMAP_READAHEAD_PAGE */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* pin_user_pages_unlocked() is available */ +/* #undef HAVE_PIN_USER_PAGES_UNLOCKED */ + +/* proc_handler ctl_table arg is const */ +/* #undef HAVE_PROC_HANDLER_CTL_TABLE_CONST */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* If available, contains the Python version number currently in use. */ +/* #undef HAVE_PYTHON */ + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* register_sysctl_sz exists */ +/* #undef HAVE_REGISTER_SYSCTL_SZ */ + +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() accepts mnt_idmap */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() takes 4 args, arg1 is struct mnt_idmap * */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* Define if set_default_d_op() is available */ +/* #undef HAVE_SET_DEFAULT_D_OP */ + +/* shrinker_register exists */ +/* #undef HAVE_SHRINKER_REGISTER */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* sops->free_inode() exists */ +/* #undef HAVE_SOPS_FREE_INODE */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* STACK_FRAME_NON_STANDARD asm macro is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD_ASM */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* statx() is available */ +/* #undef HAVE_STATX */ + +/* STATX_MNT_ID is available */ +/* #undef HAVE_STATX_MNT_ID */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the 'strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the 'strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* have super_block s_shrink */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK */ + +/* have super_block s_shrink pointer */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK_PTR */ + +/* have super_block s_wb_err */ +/* #undef HAVE_SUPER_BLOCK_S_WB_ERR */ + +/* sync_blockdev() is declared in include/blkdev.h */ +/* #undef HAVE_SYNC_BLOCKDEV */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* timer_delete_sync is available */ +/* #undef HAVE_TIMER_DELETE_SYNC */ + +/* i_op->tmpfile() uses old dentry signature */ +/* #undef HAVE_TMPFILE_DENTRY */ + +/* i_op->tmpfile() has mnt_idmap */ +/* #undef HAVE_TMPFILE_IDMAP */ + +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the 'udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->setattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_SETATTR */ + +#ifdef __amd64__ +/* Define if host toolchain supports VAES */ +#define HAVE_VAES 1 +#endif + +/* fops->clone_file_range() is available */ +/* #undef HAVE_VFS_CLONE_FILE_RANGE */ + +/* fops->dedupe_file_range() is available */ +/* #undef HAVE_VFS_DEDUPE_FILE_RANGE */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* generic_copy_file_range() is available */ +/* #undef HAVE_VFS_GENERIC_COPY_FILE_RANGE */ + +/* migratepage exists */ +/* #undef HAVE_VFS_MIGRATEPAGE */ + +/* migrate_folio exists */ +/* #undef HAVE_VFS_MIGRATE_FOLIO */ + +/* address_space_operations->readpages exists */ +/* #undef HAVE_VFS_READPAGES */ + +/* read_folio exists */ +/* #undef HAVE_VFS_READ_FOLIO */ + +/* fops->remap_file_range() is available */ +/* #undef HAVE_VFS_REMAP_FILE_RANGE */ + +/* __set_page_dirty_nobuffers exists */ +/* #undef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS */ + +/* splice_copy_file_range() is available */ +/* #undef HAVE_VFS_SPLICE_COPY_FILE_RANGE */ + +/* address_space_operations->writepage exists */ +/* #undef HAVE_VFS_WRITEPAGE */ + +/* __vmalloc page flags exists */ +/* #undef HAVE_VMALLOC_PAGE_KERNEL */ + +#ifdef __amd64__ +/* Define if host toolchain supports VPCLMULQDQ */ +#define HAVE_VPCLMULQDQ 1 +#endif + +/* int (*writepage_t)() takes struct folio* */ +/* #undef HAVE_WRITEPAGE_T_FOLIO */ + +/* write_cache_pages() is available */ +/* #undef HAVE_WRITE_CACHE_PAGES */ + +/* xattr_handler->get() wants dentry and inode and flags */ +/* #undef HAVE_XATTR_GET_DENTRY_INODE_FLAGS */ + +/* xattr_handler->set() wants both dentry and inode */ +/* #undef HAVE_XATTR_SET_DENTRY_INODE */ + +/* xattr_handler->set() takes mnt_idmap */ +/* #undef HAVE_XATTR_SET_IDMAP */ + +/* xattr_handler->set() takes user_namespace */ +/* #undef HAVE_XATTR_SET_USERNS */ + +/* Define if host toolchain supports XSAVE */ +#define HAVE_XSAVE 1 + +/* Define if host toolchain supports XSAVEOPT */ +#define HAVE_XSAVEOPT 1 + +/* Define if host toolchain supports XSAVES */ +#define HAVE_XSAVES 1 + +/* ZERO_PAGE() is GPL-only */ +/* #undef HAVE_ZERO_PAGE_GPL_ONLY */ + +/* Define if you have [z] */ +#define HAVE_ZLIB 1 + +/* libunwind is llvm libunwind */ +/* #undef IS_LIBUNWIND_LLVM */ + +/* kernel exports FPU functions */ +/* #undef KERNEL_EXPORTS_X86_FPU */ + +/* TBD: fetch(3) support */ +#if 0 +/* whether the chosen libfetch is to be loaded at run-time */ +#define LIBFETCH_DYNAMIC 1 + +/* libfetch is fetch(3) */ +#define LIBFETCH_IS_FETCH 1 + +/* libfetch is libcurl */ +#define LIBFETCH_IS_LIBCURL 0 + +/* soname of chosen libfetch */ +#define LIBFETCH_SONAME "libfetch.so.6" +#endif + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* make_request_fn() return type */ +/* #undef MAKE_REQUEST_FN_RET */ + +/* using complete_and_exit() instead */ +/* #undef SPL_KTHREAD_COMPLETE_AND_EXIT */ + +/* Defined for legacy compatibility. */ +#define SPL_META_ALIAS ZFS_META_ALIAS + +/* Defined for legacy compatibility. */ +#define SPL_META_RELEASE ZFS_META_RELEASE + +/* Defined for legacy compatibility. */ +#define SPL_META_VERSION ZFS_META_VERSION + +/* pde_data() is PDE_DATA() */ +/* #undef SPL_PDE_DATA */ + +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define SYSTEM_FREEBSD 1 + +/* True if ZFS is to be compiled for a Linux system */ +/* #undef SYSTEM_LINUX */ + +/* Version number of package */ +/* #undef ZFS_DEBUG */ + +/* /dev/zfs minor */ +/* #undef ZFS_DEVICE_MINOR */ + +/* Define the project alias string. */ - #define ZFS_META_ALIAS "zfs-2.4.0-rc4-FreeBSD_g099f69ff5" ++#define ZFS_META_ALIAS "zfs-2.4.0-1-FreeBSD_g743334913" + +/* Define the project author. */ +#define ZFS_META_AUTHOR "OpenZFS" + +/* Define the project release date. */ +/* #undef ZFS_META_DATA */ + +/* Define the maximum compatible kernel version. */ - #define ZFS_META_KVER_MAX "6.17" ++#define ZFS_META_KVER_MAX "6.18" *** 28 LINES SKIPPED *** From nobody Fri Dec 26 07:38:31 2025 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 4dcyCW59yWz6L8B5 for ; Fri, 26 Dec 2025 07:38: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dcyCW35gSz47vJ for ; Fri, 26 Dec 2025 07:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYNYPVCA2evFqUEmrh7jOgXWqmD9iKR8BgYCHnCp2UQ=; b=WNWatssPtj/NAWCtQttOjWDwQgCD9hDIKauOe2FrCKl/dFgXWjGF5G3tpgm48VxaLeRgXY QuwIxVXE01UMJTQmFWshMLUMh1ofwqyEhsSzB1g2wXjkKHj/8zIFO38QYXfpbgS53egHmp NWCpwPagS2N4SogQHFd5/ipcWeNIPZ8DbiyoLdOkFQopciIgVR0IFNPQziDdrxJ9Cl+Rgq wZF5slqSDc2oDAsPnTduNrvcSub98cokqh4Xg339R66+DrAs1U2BU6gFdI0zkbEuZxFQb3 pXMcbsu52re5jk8wjwd5NNCgm6BFHGZ+Xbd0B2pPTdZS/IRbafN1CctgDEK4Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYNYPVCA2evFqUEmrh7jOgXWqmD9iKR8BgYCHnCp2UQ=; b=hJKrMQRF8fyRT35j4U5KYRJwk+a4yyCtYwsWMBT1NkP2kWZsL62WLW4jbOegphyX+162wQ oR/dyOSD5FjspNoHP7UCqjNIfCSH8zl1VaM81Ue4HMQZSjDC1mA3t2t8dzn1sUDLDpbVpE nMDyrZiVTpGa/on1mnkZSWoQfq0OdtB5hBfx6VJfx2nk/5pRUqNa2YDPnMBYpSVBSCa3nW EUUdCs5ne8jo1/QfOdP5gMRQ4DWo10rM0FBmGpUSYbKPffNCDJqMVzvSiLTgwQV8CvLWAn +noeaZjdhvphoZ1HGrwtC5pkgyOhAcE4WxK8j6WLSnHiNrGVBMVvJmoTcHo7bA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766734711; a=rsa-sha256; cv=none; b=yEU3ADp4vX8J5l38AzYuUF/9Fq7B38utC8GRw98PRmOwq/fv4hiECMrY0NJe2KCGx4jBoH 4im7YE5mwZ+C7EYXGy2/Np/K1KHnVmBVMm63q9XezvGEVYIb8C1sdBEqetCzUlxnwIBAuB HqStA3WWSVJIO14YS5IRBLSAL1RF2UxnpApYIvW4mDP5fgJFCt+9Mrp8TanlJRRInEd6Wy yDIEdmk8Jfar4XZcu3zgJbOP1yWTrPSCxZJho5qty2wE8EdTTrxSpn1guHhqJNPp3XJDpV LYg+gOAPJtgVPaBlRmH4r0c/3UvaCibycVZp9SNwO3Y4nKRLPoLwqEslpNAEuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dcyCW2hgyz13qN for ; Fri, 26 Dec 2025 07:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32fea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 07:38:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jason A. Harmening Subject: git: 177e0097b93f - stable/15 - unionfs: Implement VOP_GETLOWVNODE 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 177e0097b93fbcb470c90fc20b7121531f304da4 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 07:38:31 +0000 Message-Id: <694e3b77.32fea.34868fb0@gitrepo.freebsd.org> The branch stable/15 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=177e0097b93fbcb470c90fc20b7121531f304da4 commit 177e0097b93fbcb470c90fc20b7121531f304da4 Author: Jason A. Harmening AuthorDate: 2025-11-28 07:36:24 +0000 Commit: Jason A. Harmening CommitDate: 2025-12-26 06:34:13 +0000 unionfs: Implement VOP_GETLOWVNODE This function returns the vnode that will be used to resolve the access type specified in the 'flags' argument, and is useful for optimal behavior of vn_copy_file_range(). While most filesystems can simply use the default implementation which returns the passed- in vnode, unionfs (like nullfs) ideally should resolve the access request to whichever base layer vnode will be used for the I/O. For unionfs, write accesses must be resolved through the upper vnode, while read accesses will be resolved through the upper vnode if present or the lower vnode otherwise. Provide a simple unionfs_getlowvnode() implementation that reflects this policy. Reviewed by: kib, olce Tested by: pho Differential Revision: https://reviews.freebsd.org/D53988 (cherry picked from commit 5c025978fc3649730329994eecc56ada119e6717) --- sys/fs/unionfs/union_vnops.c | 45 ++++++++++++++++++++++++++++++++++++++++++++ sys/kern/vfs_default.c | 3 +-- sys/sys/vnode.h | 1 + 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 8e6b11548a36..602d5fdfcb97 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -2115,6 +2115,49 @@ unionfs_getwritemount(struct vop_getwritemount_args *ap) return (error); } +static int +unionfs_getlowvnode(struct vop_getlowvnode_args *ap) +{ + struct unionfs_node *unp; + struct vnode *vp, *basevp; + + vp = ap->a_vp; + VI_LOCK(vp); + unp = VTOUNIONFS(vp); + if (unp == NULL) { + VI_UNLOCK(vp); + return (EBADF); + } + + if (ap->a_flags & FWRITE) { + basevp = unp->un_uppervp; + /* + * If write access is being requested, we expect the unionfs + * vnode has already been opened for write access and thus any + * necessary copy-up has already been performed. Return an + * error if that expectation is not met and an upper vnode has + * not been instantiated. We could proactively do a copy-up + * here, but that would require additional locking as well as + * the addition of a 'cred' argument to VOP_GETLOWVNODE(). + */ + if (basevp == NULL) { + VI_UNLOCK(vp); + return (EACCES); + } + } else { + basevp = (unp->un_uppervp != NULL) ? + unp->un_uppervp : unp->un_lowervp; + } + + VNASSERT(basevp != NULL, vp, ("%s: no upper/lower vnode", __func__)); + + vholdnz(basevp); + VI_UNLOCK(vp); + VOP_GETLOWVNODE(basevp, ap->a_vplp, ap->a_flags); + vdrop(basevp); + return (0); +} + static int unionfs_inactive(struct vop_inactive_args *ap) { @@ -3010,6 +3053,7 @@ struct vop_vector unionfs_vnodeops = { .vop_getattr = unionfs_getattr, .vop_getextattr = unionfs_getextattr, .vop_getwritemount = unionfs_getwritemount, + .vop_getlowvnode = unionfs_getlowvnode, .vop_inactive = unionfs_inactive, .vop_need_inactive = vop_stdneed_inactive, .vop_islocked = vop_stdislocked, @@ -3049,5 +3093,6 @@ struct vop_vector unionfs_vnodeops = { .vop_unp_bind = unionfs_unp_bind, .vop_unp_connect = unionfs_unp_connect, .vop_unp_detach = unionfs_unp_detach, + .vop_copy_file_range = vop_stdcopy_file_range, }; VFS_VOP_VECTOR_REGISTER(unionfs_vnodeops); diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 71fe0e62d076..e04f328c0b37 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -77,7 +77,6 @@ static int dirent_exists(struct vnode *vp, const char *dirname, static int vop_stdis_text(struct vop_is_text_args *ap); static int vop_stdunset_text(struct vop_unset_text_args *ap); static int vop_stdadd_writecount(struct vop_add_writecount_args *ap); -static int vop_stdcopy_file_range(struct vop_copy_file_range_args *ap); static int vop_stdfdatasync(struct vop_fdatasync_args *ap); static int vop_stdgetpages_async(struct vop_getpages_async_args *ap); static int vop_stdread_pgcache(struct vop_read_pgcache_args *ap); @@ -1426,7 +1425,7 @@ vfs_stdnosync(struct mount *mp, int waitfor) return (0); } -static int +int vop_stdcopy_file_range(struct vop_copy_file_range_args *ap) { int error; diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 9e0f02465067..8bcf2d43ff51 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -915,6 +915,7 @@ int vop_stdunp_bind(struct vop_unp_bind_args *ap); int vop_stdunp_connect(struct vop_unp_connect_args *ap); int vop_stdunp_detach(struct vop_unp_detach_args *ap); int vop_stdadd_writecount_nomsync(struct vop_add_writecount_args *ap); +int vop_stdcopy_file_range(struct vop_copy_file_range_args *ap); int vop_eopnotsupp(struct vop_generic_args *ap); int vop_ebadf(struct vop_generic_args *ap); int vop_einval(struct vop_generic_args *ap); From nobody Fri Dec 26 07:38:32 2025 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 4dcyCX5xh7z6L7xs for ; Fri, 26 Dec 2025 07:38: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dcyCX4CKhz47vK for ; Fri, 26 Dec 2025 07:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rhazMNIsfjAxcR9QgTEt/edt8O40s+GDvBj0gXxpDYQ=; b=Shfm1WmLP/LfS7jI9Tc7PlwFgJGBp9bDNLoJSPuo1bt4S6Ek+X3H2gder2D64tk98Iui+5 PZ8R//pOgOM/FSG8fndyDgfiuGKsoon4yXHkk555H8PwJUKzhtOxyPBVSfxAn8QvwL0wBW 6ke7dzTNh8vL3vqdZ6KlM+ucd43eWQiXJVe3eT+wJjxZ0lddNc/HpGBxCkcdHS1I7qJ1Gx XYzQwSzidgAItSABOyujp3OegrL5X757u9w0m0LK2Mgb0K9b/qwFKvmCYTYKq7MANMu3sg f/8RApZVYIuiYqctpjmOfhWrFG3wvPX8PHADmh1tCSE7AudJpXx0p2KT9HfESA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rhazMNIsfjAxcR9QgTEt/edt8O40s+GDvBj0gXxpDYQ=; b=VIP4zxY8KsVBbBOK/xbb+0GVsJc6ED3+FkOyio9ZmIcXxHgfpRg47mR0axLunwWxznz4oS 3lx2xoqq25hbcWUEz8lNp+rrYX+ykBbxdmi3WKDbzIU+QfQOsmeEf0onsexS/kCRHcJcB7 V2Hz1R+sLH3cOXQntO0Ty/+ZiElsW//iZtURYOFlr5BKatBMcagb4VQMNR/qB9AuY7bvuc cu8at/qsRSvD/pW6+5elgBmQDTVOB8npGy6DxqvHyrSGtyoP5CNviEnF9Blc2NL5SaLaOE Qi+90VTbzEgtnyCxtkPwK41FyRMiTAhvEhbbOYs2ox17vhrr+BHOHFnAYvPmdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766734712; a=rsa-sha256; cv=none; b=YwiGSdlixbhF4l/3VVWNiRMmYwAnYnglPXax/FYZSENQkBu8qZAPV0KdPUe89UcrvDjPaY kk+/PqifZlBFc7OvtZhTC/Kg73IowHxDIFVcFrSWHs/nqqkHwhxZyHr5kvnucFRDEUGcRh oqOQXPT46uD3AFt1Dl7nwAfXzkjOD60/wAU5LhJrCq4GdEBYFfZixQbzATEMW3u4xqq2HQ tjzhi421mIyp4XuZeIds0Sdtw6kRhGrZkJ/d4oZL8hY3Ub/M07tjIxQC6rh+0RZ8+St/Xo HBXJQfilNhyCBWXxE9aeIuEe15GES+g/kvKnLoF29dNDQyVC4qEUW21q4wBuBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dcyCX3WRYz13vC for ; Fri, 26 Dec 2025 07:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35a42 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 07:38:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jason A. Harmening Subject: git: da6f395119a5 - stable/15 - unionfs: detect common deadlock-producing mount misconfigurations 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: da6f395119a5eb1ed1dad56874c1c55a5721e220 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 07:38:32 +0000 Message-Id: <694e3b78.35a42.3693b1f7@gitrepo.freebsd.org> The branch stable/15 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=da6f395119a5eb1ed1dad56874c1c55a5721e220 commit da6f395119a5eb1ed1dad56874c1c55a5721e220 Author: Jason A. Harmening AuthorDate: 2025-11-29 07:53:16 +0000 Commit: Jason A. Harmening CommitDate: 2025-12-26 06:38:06 +0000 unionfs: detect common deadlock-producing mount misconfigurations When creating a unionfs mount, it's fairly easy to shoot oneself in the foot by specifying upper and lower file hierarchies that resolve back to the same vnodes. This is fairly easy to do if the sameness is not obvious due to aliasing through nullfs or other unionfs mounts (as in the associated PR), and will produce either deadlock or failed locking assertions on any attempt to use the resulting unionfs mount. Leverage VOP_GETLOWVNODE() to detect the most common cases of foot-shooting at mount time and fail the mount with EDEADLK. This is not meant to be an exhaustive check for all possible deadlock-producing scenarios, but it is an extremely cheap and simple approach that, unlike previous proposed fixes, also works in the presence of nullfs aliases. PR: 172334 Reported by: ngie, Karlo Miličević Reviewed by: kib, olce Tested by: pho Differential Revision: https://reviews.freebsd.org/D53988 (cherry picked from commit 0247b4018de2c341ac59a585362c10044cea86ad) --- sys/fs/unionfs/union_vfsops.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c index 9342317ad08e..fd48a520f911 100644 --- a/sys/fs/unionfs/union_vfsops.c +++ b/sys/fs/unionfs/union_vfsops.c @@ -73,6 +73,8 @@ unionfs_domount(struct mount *mp) { struct vnode *lowerrootvp; struct vnode *upperrootvp; + struct vnode *lvp1; + struct vnode *lvp2; struct unionfs_mount *ump; char *target; char *tmp; @@ -276,11 +278,32 @@ unionfs_domount(struct mount *mp) */ VOP_UNLOCK(ump->um_uppervp); + /* + * Detect common cases in which constructing a unionfs hierarchy + * would produce deadlock (or failed locking assertions) upon + * use of the resulting unionfs vnodes. This typically happens + * when the requested upper and lower filesytems (which themselves + * may be unionfs instances and/or nullfs aliases) end up resolving + * to the same base-layer files. Note that this is not meant to be + * an exhaustive check of all possible deadlock-producing scenarios. + */ + lvp1 = lvp2 = NULL; + VOP_GETLOWVNODE(ump->um_lowervp, &lvp1, FREAD); + VOP_GETLOWVNODE(ump->um_uppervp, &lvp2, FREAD); + if (lvp1 != NULL && lvp1 == lvp2) + error = EDEADLK; + if (lvp1 != NULL) + vrele(lvp1); + if (lvp2 != NULL) + vrele(lvp2); + /* * Get the unionfs root vnode. */ - error = unionfs_nodeget(mp, ump->um_uppervp, ump->um_lowervp, - NULLVP, &(ump->um_rootvp), NULL); + if (error == 0) { + error = unionfs_nodeget(mp, ump->um_uppervp, ump->um_lowervp, + NULL, &(ump->um_rootvp), NULL); + } if (error != 0) { vrele(upperrootvp); free(ump, M_UNIONFSMNT); From nobody Fri Dec 26 07:38:30 2025 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 4dcyCb6p2tz6L83P for ; Fri, 26 Dec 2025 07:38: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dcyCb2J4tz47sM for ; Fri, 26 Dec 2025 07:38:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Hx1NRnABLUgtEb+fS9zM6eO1FQ8hq/XCGZnxjZNUF8=; b=jZzwgrhuOTjUPyGsW+hhEq88ig+ypNlVDiU+Nyo5QvETiS+Lbj2xYaDlWxp61WFP7Hyg4N e8R3GjLHh7Q8jZ9j3ZYQz/A8DmyT1fHzvlGQldG7+YW77Zx+iwjzWGTSjlFnsx/pEMjO9X RnL7zJcTrqStZQrZIp1L+QGzNfNhJOXswIrCdHFaXticWc5T4Y3fmqBoUAJ3TiHGQmOUij 9UftZjc6ko8Huu/DQ1Tw7tE9fwkaYUyMKfsIz/OnSKec2u+bQSWn1bpk0Vv+tUBwIyuc5F oZhZwPWrEpJlizyV6M5BSHYY/swBLDlp5+eu4NisgNtKRPaZdF3iBJ1G6gDwIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766734715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Hx1NRnABLUgtEb+fS9zM6eO1FQ8hq/XCGZnxjZNUF8=; b=ng8cx2EMLXOrUn2ua3PLHvfAJa8WJSvHaLEhGLCZ4bxCpEkPYUzMzOSr1rP4dE/+f4CnS5 N7PElmz/uh45YB1WKkpxivY1Y3ZpwIh39D0cIDwWNg/qk2SJXRDHwMdF6lXo7oZvChvlaU UXqxy8YwPZXKiTiQI+iuz42L3qbL/OS166pHaG8bc6p/C/CBoEIljAQ/6VJ/VIU+vUdFgj Kh1fxOdrbQkCS+wBgXA+YdlqrBC3vVcLdQdxzC4OQmTXs5WQ48VqPvbcB0Iv5fIYZw+uA5 iGaZ3qXhrbtaYqjlBVSEVwe/YfVIM4DpzlsstWz5nV9Da6musmIUBLU+y1/CJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766734715; a=rsa-sha256; cv=none; b=mV2aC/0g0AI8J7oMdX2oDitaBYRxEBUBLPfSOBPkvi7nIOD++KEO16XpsInC7nK/hZE9MS ZEE/k1dlmmSIniBv0ckM7LLs2zBnyVwTqalyzAF9yDDIjYzP/exmnp6jmOyzyTCU3kPKCf i9sTeS+60QAxTCdaM5vmjovw0N+IFT7wNoMHTOSOsxqPOkws5oBkF2xwYVNtEYk3xpha7S xMDO98XQPLbMv2E2pqh+w4Q8wIPEcRZE1khHwFDtyyWrqUNjEuflVFgb/OKAkRjXqugoeD qkeeUmmKNpsOkWn7LA61DAVDsrfyNq8z8qjQtbQEm7MxQLAmq34oft+4sjFp8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dcyCb1vRdz12vY for ; Fri, 26 Dec 2025 07:38:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35269 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 07:38:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jason A. Harmening Subject: git: 04190ace7461 - stable/15 - vnode_if.src: fix function name in locking annotation 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 04190ace7461612e3d718984bb5dc4ead5d8ae9b Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 07:38:30 +0000 Message-Id: <694e3b76.35269.42cb3227@gitrepo.freebsd.org> The branch stable/15 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=04190ace7461612e3d718984bb5dc4ead5d8ae9b commit 04190ace7461612e3d718984bb5dc4ead5d8ae9b Author: Jason A. Harmening AuthorDate: 2025-11-28 07:34:47 +0000 Commit: Jason A. Harmening CommitDate: 2025-12-26 06:32:47 +0000 vnode_if.src: fix function name in locking annotation getwritevnode->getlowvnode Reviewed by: kib, olce Tested by: pho Differential Revision: https://reviews.freebsd.org/D53988 (cherry picked from commit 38d60d453caad0f7377946d69d05d9421323f23f) --- sys/kern/vnode_if.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index 2e63215b2f97..3faefb607f24 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -469,7 +469,7 @@ vop_getwritemount { OUT struct mount **mpp; }; -%% getwritevnode vp = = = +%% getlowvnode vp = = = vop_getlowvnode { IN struct vnode *vp; From nobody Fri Dec 26 09:30:40 2025 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 4dd0hw5vr9z6LHsJ for ; Fri, 26 Dec 2025 09:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd0hw576dz3MCD for ; Fri, 26 Dec 2025 09:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7eXxPvTyzzvfboq7yMY5+hGVTVGr9zFJUIMuX3YSOKc=; b=jf4CufDIz3xOkKlnb/zTnYanitFk1l5lOw8aka3mQ2W3kmyL/a/yzi/NvFdEHnFEsHoYCW NTgJO2JlVYZ2oRvVukjfTu40Mhi3MBgETTrotJf9Ja1pvZGZXK2ITk2WwqmAdTasFWOQQg 2quxGhY49jKgmEBeo3Sycs5Lo1r7anDtE6M5T0leJevd24GVZXyvu9LGz++YSt65ZOCVmO rqsq4iJ/ly2CahnE7r1us+IgUydvnFMyrKmbmOMa0bhVZT0aRthxmi5tLvTw1YA4SEgrff Qqzw/bIULOOcfyp87h/di/lnbwIhnphr+4F3QosuWayMkY5Gsk7QVQ1lAQc1Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7eXxPvTyzzvfboq7yMY5+hGVTVGr9zFJUIMuX3YSOKc=; b=xLiSYDdJYVXxbwvfXD7nXuTOgubRQuJqhZCiLwl9O/lEaVyhf623rjUibwe/zGoMD1QqGA CgwLefoicdCNxiYKUrQIFMhHs2BQbKE7MUHZKXe4iLYgp62MlK0bqjAyCIAjn6fDFHzRIr ZZNvoEd5Sr0GqBLPjHuUogEpmPZXdl30e43yQAWoG6QKIeQRmVrdT0JKtjRf9KkdV97cEk /KIDf5R59PcndPrfGy4J6Ulptern2dWCdcwiicXxQR7VPFkQHx2kqprPb9jnTHORFbQoo2 m5VI0BGKWfA1CKTHjM6HnPRwRCDO1OFOjaM3uHT8XQS5U37m1LhKRuqmx9USWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766741440; a=rsa-sha256; cv=none; b=Fu7YQZlGN0dSBOxYHAMbU8MJ/wHdftxK1fMG4NTyTnEnedLtRMhfmgjN2ynTq/NDmmtIcL Cy4CSeR4T+bWe3e0PS9lbeFWSQxA61Ei31WWIPWbhvOK5tc1XUMBX3RDJbw5ywaxDae/oA Rf0rzrN0NxMDxwAMf5H9GEUSgpXpXZC4AJDgX+MRE2yZWGYYmEThyl1dxjHasMaI2fSq4b hZQHheXv5auqMWBUaxDLpdtGRMQ2AdCucoJm4KazX2G+2+nowLOcCQ6IH1nPBqWlhil6rx Q4yZIqAAZi0ZHW2fBFhQDKjYA1aAeGTxslaX8QI90WWUV2X/oUp+igmeN8yUNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd0hw4gH8z16CX for ; Fri, 26 Dec 2025 09:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8690 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 09:30:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Justin Hibbits From: Zhenlei Huang Subject: git: bcd1e5fb540f - stable/14 - mac_ipacl: Use IfAPI 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 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: bcd1e5fb540ffed26b25f520a69e092423f8ccaa Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 09:30:40 +0000 Message-Id: <694e55c0.8690.279c009@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bcd1e5fb540ffed26b25f520a69e092423f8ccaa commit bcd1e5fb540ffed26b25f520a69e092423f8ccaa Author: Justin Hibbits AuthorDate: 2023-08-25 16:44:17 +0000 Commit: Zhenlei Huang CommitDate: 2025-12-26 08:25:47 +0000 mac_ipacl: Use IfAPI Use `if_t` instead of `struct ifnet *`, and if_name() accessor. Sponsored by: Juniper Networks, Inc. (cherry picked from commit b820820ece099a73511d7daec407d78f38185a9b) --- sys/security/mac_ipacl/mac_ipacl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/security/mac_ipacl/mac_ipacl.c b/sys/security/mac_ipacl/mac_ipacl.c index 69802845252a..eed3eddace89 100644 --- a/sys/security/mac_ipacl/mac_ipacl.c +++ b/sys/security/mac_ipacl/mac_ipacl.c @@ -315,7 +315,7 @@ SYSCTL_PROC(_security_mac_ipacl, OID_AUTO, rules, static int rules_check(struct ucred *cred, - struct ipacl_addr *ip_addr, struct ifnet *ifp) + struct ipacl_addr *ip_addr, if_t ifp) { struct ip_rule *rule; int error; @@ -342,7 +342,7 @@ rules_check(struct ucred *cred, continue; if (strcmp(rule->if_name, "\0") && - strcmp(rule->if_name, ifp->if_xname)) + strcmp(rule->if_name, if_name(ifp))) continue; switch (rule->af) { @@ -395,7 +395,7 @@ rules_check(struct ucred *cred, #ifdef INET static int ipacl_ip4_check_jail(struct ucred *cred, - const struct in_addr *ia, struct ifnet *ifp) + const struct in_addr *ia, if_t ifp) { struct ipacl_addr ip4_addr; @@ -415,7 +415,7 @@ ipacl_ip4_check_jail(struct ucred *cred, #ifdef INET6 static int ipacl_ip6_check_jail(struct ucred *cred, - const struct in6_addr *ia6, struct ifnet *ifp) + const struct in6_addr *ia6, if_t ifp) { struct ipacl_addr ip6_addr; From nobody Fri Dec 26 09:30:41 2025 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 4dd0hy1d27z6LHyX for ; Fri, 26 Dec 2025 09:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd0hy08g0z3MNX for ; Fri, 26 Dec 2025 09:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eRiRWPsKf/q+sZZ3msncAmxqlcAnUQhWTpgk9kHtZis=; b=Mr+mX8JPBY27J91LjgTTZQ1AQ72crhEOZg58kwgL8/5QdSATQnfiLkcTdbEgD2p/MntQSY LJN3iYIQfVQKE/H0M6rVyCAibYnhoXas9TFfBcN4a7ZkxdJfV7Irf4rnH408EloP7zyHIA C0N8M1WHOZ8pUp2xEuARf1BQteKBf6BUtmuQ845d78HvoUBA9PNoCkWmbIR/jYWdYr+4+f ZmHDUlzhYMmQh2CJ8xtSjBKhml3Fmq4T8OumHAFGzBcDNmrK33EEziEEaeH8TmWzGEF//K VNCVojxWbPJwScKEdeNzyn4liR0uaCro5vmFmba6vVlabtRp/pczzAw//cBabw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eRiRWPsKf/q+sZZ3msncAmxqlcAnUQhWTpgk9kHtZis=; b=O8BdLWW5h9auUXIHZVJ36jVR+JomPak6u2DEPoyuDPo/JZVNPMJC0vUIBQvLVNhpRTVo4n W2/EKRefGV6mX2Hzr6XGACU+CI7MTk9YoGzGB9N7+Tx5ozwwy/dd9Tf/uvJEfDftfJHhWn sza2haYjaGja2UrDt144FyASmCIpQeyfpNXB7SvtoIXJn0ldwENj6gVpcjeEBLldkFbavf j4rk9TmeOCy5pabUNPWBlKRcI+JNFCAAoRJ/lZckPfrnDghhvLyLDNHk2fWrR8E4rNJv5D T+5GpO5/X0YQPkT8K4+ZEQGtTlVjdLpOqCYhoFEduHDwMaVPb9PIFrplS43Mpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766741442; a=rsa-sha256; cv=none; b=nk7AQEb1MLYq1XbMfBhPnTM+Gh3doQ5CNSW5QbBZEq9IL/NQRwYkt4tPNuWVlBvYSc2YBy UZUMFLB3+V/M9BJdYgWBuNsnlwHQ3hyEUseMLy1JRWRy9TP2uHO7Cy686Sk96i2V39yOXJ tBJPImio9u40apUWU/62jexRkwby52DQ9xi281c+fzVCdedYQsiNHYnc6L5hH54gL2QXw0 mdkjGuvAiC7vnxsE5882Ji4NLR7AcsQpyn+QEetr8R+yF1MqgtXP16M0P5D/iIv9l3BNZQ d109lTNdcdAuva0BHqQQL6YLeRLh0UvGVe43JNpY9MUw15+9zjpzQwhsUhoj6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd0hx585Wz16dF for ; Fri, 26 Dec 2025 09:30:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8804 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 09:30:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Justin Hibbits From: Zhenlei Huang Subject: git: 2fef1a6ef9f0 - stable/14 - netlink: Don't directly access ifnet 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 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: 2fef1a6ef9f095df5ed8f1cd8766878fb960c86b Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 09:30:41 +0000 Message-Id: <694e55c1.8804.4b2cc628@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2fef1a6ef9f095df5ed8f1cd8766878fb960c86b commit 2fef1a6ef9f095df5ed8f1cd8766878fb960c86b Author: Justin Hibbits AuthorDate: 2024-10-31 15:09:48 +0000 Commit: Zhenlei Huang CommitDate: 2025-12-26 08:25:47 +0000 netlink: Don't directly access ifnet members Summary: Remove the final direct access of struct ifnet members from netlink. Since only the first address is used, create the iterator and then free, without fully iterating. Reviewed By: kp Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D42972 (cherry picked from commit b224af946a17b8e7a7b4942157556b5bc86dd6fb) --- sys/netlink/route/iface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index d98385a4c23e..6fd99cf61e2d 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -322,11 +322,13 @@ dump_iface(struct nl_writer *nw, if_t ifp, const struct nlmsghdr *hdr, */ if (if_getaddrlen(ifp) != 0) { struct ifaddr *ifa; + struct ifa_iter it; NET_EPOCH_ENTER(et); - ifa = CK_STAILQ_FIRST(&ifp->if_addrhead); + ifa = ifa_iter_start(ifp, &it); if (ifa != NULL) dump_sa(nw, IFLA_ADDRESS, ifa->ifa_addr); + ifa_iter_finish(&it); NET_EPOCH_EXIT(et); } From nobody Fri Dec 26 09:30:42 2025 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 4dd0hz1Q86z6LJ5q for ; Fri, 26 Dec 2025 09:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd0hy6Bt4z3MM5 for ; Fri, 26 Dec 2025 09:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpdFZL55nhCpu/iJxfRtFOfAdh/Pg2IZy8vsgUmA7xI=; b=J9ue87a3PGNZ3M/Z0ZHw/5P/8m8DDO0OzksqiQxGe7Cna+jUBicxZx+SRLCZaWPw5EnJNi C1sZAhqRVOM/bk/Kbdibb0AlJQ/EjTkCMGtslDey6kbgOWKFWnb20hfb6llRDjB3itbD8X V1E+o3vBnuSlr/93wtr3CRdcVLORsYeHydai3wTV9Hu8G92wshJneG89iXuKAltiNa8Cjc PXZTaxKyKVyBypDspxydQPp951EN1w1ect3zYIATJmh4uMRr1WCKUe0KQ8H837/48ciCCj 8N7lBSPx2m6IBwbk4eYJduoFwkAHSED34kB23SBbsHIVh6jqxZmarQ0dnnS1MQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpdFZL55nhCpu/iJxfRtFOfAdh/Pg2IZy8vsgUmA7xI=; b=xlx+VbsRwKDOVbxWUd3cif4J6yifNskWrcgQCtd0qus45uqUDchLudOMJUa2dXF/pAAlJh f4I5dyJhC/lS7cqEXYGto9a80PlJUv7ba9qbqnqnCoa8Xg99lMVO9CbkaDECvDCbXXfhDq iivJ0pg04SY4iZCc4clcprJZfjcXD4XvKtzfzUkEmExHZZqNXzJeqEubA77k3d9klX8Cbe ddnAkVc92UmX9P5rJ4QbkOfAg8ObAlhqp3nhD5VdTbrRTeM0rtNP2cqejfmKwdWpJjSxrK d8JaZ1h0+VEek5T8aQk+wNNTzUukqemugFWyvuAe4bXblOHV9zVIq/5mTmSy7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766741442; a=rsa-sha256; cv=none; b=IyNCTd+Q/YG0+L9t884KOOk+2heDJPro142eJ5oA5HraSszKdY12KVwdYrRk31HZA/UZBw EcO8T5Yz30Er/Id+JWl5DUV6+aZOmCeR+CWIXl/2shekHfB2AQbmeX/BehPa7Ft//FNc2E mc0SWMqSR1iWNosgInQR6wIyiRIsMgDBiJGEOdAC7c1/mKQWDmI2FaqNgAqmQQTBXuayUe IYDy7ffdvwFmgTJP+yEf7lgZnJq8fUOrIHmzTQydK9rHrwddFkXLWpuI7c5AzEY0ujJq9F Qa1NcOAizvWEtLtLKpNe7cgR7pM2m0N2cZEXAJc5NEtfowA4EdGKZSzdrO7gSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd0hy5l5kz16pY for ; Fri, 26 Dec 2025 09:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3edfb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 09:30:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Justin Hibbits From: Zhenlei Huang Subject: git: 63b0b8bd791a - stable/14 - bnxt: Use IfAPI accessors where able 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 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: 63b0b8bd791a63070effca0b4d37a34cd52955da Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 09:30:42 +0000 Message-Id: <694e55c2.3edfb.35eff0d8@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=63b0b8bd791a63070effca0b4d37a34cd52955da commit 63b0b8bd791a63070effca0b4d37a34cd52955da Author: Justin Hibbits AuthorDate: 2024-10-31 14:04:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-12-26 08:25:47 +0000 bnxt: Use IfAPI accessors where able Summary: Don't directly access ifnet members, it's a private structure. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D47353 (cherry picked from commit 84d7ec4c657f406c6cbd29baf32c8e057b663d17) --- sys/dev/bnxt/bnxt_re/bnxt_re.h | 4 ++-- sys/dev/bnxt/bnxt_re/ib_verbs.c | 6 +++--- sys/dev/bnxt/bnxt_re/main.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/dev/bnxt/bnxt_re/bnxt_re.h b/sys/dev/bnxt/bnxt_re/bnxt_re.h index 56b3c8c0488c..fe7a27f4e216 100644 --- a/sys/dev/bnxt/bnxt_re/bnxt_re.h +++ b/sys/dev/bnxt/bnxt_re/bnxt_re.h @@ -946,8 +946,8 @@ int bnxt_re_setup_cnp_cos(struct bnxt_re_dev *rdev, bool reset); static inline enum ib_port_state bnxt_re_get_link_state(struct bnxt_re_dev *rdev) { - if (rdev->netdev->if_drv_flags & IFF_DRV_RUNNING && - rdev->netdev->if_link_state == LINK_STATE_UP) + if (if_getdrvflags(rdev->netdev) & IFF_DRV_RUNNING && + if_getlinkstate(rdev->netdev) == LINK_STATE_UP) return IB_PORT_ACTIVE; return IB_PORT_DOWN; } diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.c b/sys/dev/bnxt/bnxt_re/ib_verbs.c index 8d43fa96c048..0383a16757aa 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.c +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.c @@ -299,7 +299,7 @@ int bnxt_re_query_port(struct ib_device *ibdev, u8 port_num, if (port_attr->state == IB_PORT_ACTIVE) port_attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP; port_attr->max_mtu = IB_MTU_4096; - port_attr->active_mtu = iboe_get_mtu(rdev->netdev->if_mtu); + port_attr->active_mtu = iboe_get_mtu(if_getmtu(rdev->netdev)); port_attr->gid_tbl_len = dev_attr->max_sgid; port_attr->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_REINIT_SUP | IB_PORT_DEVICE_MGMT_SUP | @@ -2118,7 +2118,7 @@ static int bnxt_re_init_qp_attr(struct bnxt_re_qp *qp, struct bnxt_re_pd *pd, qplqp->max_rd_atomic = dev_attr->max_qp_rd_atom; qplqp->max_dest_rd_atomic = dev_attr->max_qp_init_rd_atom; } - qplqp->mtu = ib_mtu_enum_to_int(iboe_get_mtu(rdev->netdev->if_mtu)); + qplqp->mtu = ib_mtu_enum_to_int(iboe_get_mtu(if_getmtu(rdev->netdev))); qplqp->dpi = &rdev->dpi_privileged; /* Doorbell page */ if (init_attr->create_flags) { dev_dbg(rdev_to_dev(rdev), @@ -2691,7 +2691,7 @@ int bnxt_re_modify_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr, /* MTU settings allowed only during INIT -> RTR */ if (qp_attr->qp_state == IB_QPS_RTR) { - bnxt_re_init_qpmtu(qp, rdev->netdev->if_mtu, qp_attr_mask, qp_attr, + bnxt_re_init_qpmtu(qp, if_getmtu(rdev->netdev), qp_attr_mask, qp_attr, &is_qpmtu_high); if (udata && !ib_copy_from_udata(&ureq, udata, sizeof(ureq))) { if (ureq.comp_mask & BNXT_RE_COMP_MASK_MQP_EX_PATH_MTU_MASK) { diff --git a/sys/dev/bnxt/bnxt_re/main.c b/sys/dev/bnxt/bnxt_re/main.c index e6c6f754ea47..3d26d21f3fc7 100644 --- a/sys/dev/bnxt/bnxt_re/main.c +++ b/sys/dev/bnxt/bnxt_re/main.c @@ -4168,8 +4168,8 @@ static int bnxt_re_netdev_event(struct notifier_block *notifier, dev_info(rdev_to_dev(rdev), "%s: Event = %s (0x%lx), rdev %s (real_dev %s)\n", __func__, bnxt_re_netevent(event), event, - rdev ? rdev->netdev ? rdev->netdev->if_dname : "->netdev = NULL" : "= NULL", - (real_dev == netdev) ? "= netdev" : real_dev->if_dname); + rdev ? rdev->netdev ? if_getdname(rdev->netdev) : "->netdev = NULL" : "= NULL", + (real_dev == netdev) ? "= netdev" : if_getdname(real_dev)); if (!test_bit(BNXT_RE_FLAG_IBDEV_REGISTERED, &rdev->flags)) goto exit; From nobody Fri Dec 26 09:30:44 2025 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 4dd0j12LnYz6LJ5r for ; Fri, 26 Dec 2025 09:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd0j10gYQz3MPG for ; Fri, 26 Dec 2025 09:30:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z1zB3D61LHH/28NQdlKNfPyfHeKh5CcBoZLdiPHGFn8=; b=EM7HzJBB/KjYYsBLnVO8/JdLLz+vvHc3WAFZDB6ZaSWbmykzLlTWQ2KIJ/Ls8hViRbefAI pf+yz93ufnGJddC+LUbp204rCBPoJL/fwQ/8mMGMiZmB4k51ABL38JuElW83CBoT+KKhRs SChi+SS0anDyvB4txEoQR3vtqPKyQRSd/023kOxz0hGzgPUriMSfTTagqLfAnEB+o9rwFv JdqBlQLC44XPhV5RCNqYIMh+HZeN1vg45F0jL6pH7z+LX2CIryenc8oceYJrBoI/kt9ruS Os0lPBFmbc6A0UbAbgqtTZlVWp3kof87KxwAjTtpERoc3VqJ4pE7OZQcGMUogg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z1zB3D61LHH/28NQdlKNfPyfHeKh5CcBoZLdiPHGFn8=; b=EhfrRh+YooOWlA3usw+us5oIQqXzLLFdQTpQrlbPntVVa7udxrjzlvW+wV8gy34jEz+GA5 9UfkAZeILxdK9kEFCBhn6g/vEKs4Yd01Xwdpr2COSKzlHVlKI2H7fGhaQtjwgD+goRTubt 3nJ9sTox2wcFTZso2XOWfTReY3qkq+Hx7tFe3LyTxp7pT/o8FKTCw60BMixKDddfmFqgJG rXG2yZkUmENI0bVWJQUxr7VpEVHnCoQ3Pm8fdiEvyF539DFRt5JzlBx9ku6h0V3zlgH65s QZpEtIReI1TsizW7q+3zdNwVSWZu/0DSDbkfzxvTXFBegUTfs40hMoTCoSrRXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766741445; a=rsa-sha256; cv=none; b=mkU76C2C8x7mDEGIQ5cz0PqO3wsm5qzNVG68flfw6VWPCHEK1uPsKexGT8Qaxk6fqyqv07 9zojn7Vs+kdkDnnIpoyetTNjhmTrPmQ6EFKYC6aca41pDzP/65YeUokf7sAPM52BvVNjKT B2RHoZCMdIUZ5AkqBuc0tx4ylzrTtCVNSE2f9cxBSIe4tte94QWY4yAjiR1TL2ErRFhJmC 6wUsfxAcxcKG4fFfLWDgkTZouOI8F5rMIRF4+gEUPo3v4xMZU8xkUJmU4nbgHOio6jXX+B 500ZIpMayJaYvJaCYFgJDbhty0XgGiRc8egtcL+OVICRkZn8O1j8eTth+wQlHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd0j073xbz16Cd for ; Fri, 26 Dec 2025 09:30:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f458 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 09:30:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Justin Hibbits From: Zhenlei Huang Subject: git: f95ddf7441b3 - stable/14 - LinuxKPI: Use IfAPI to get LLADDR 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 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: f95ddf7441b3596913da2d99cafda518ec8c2e1b Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 09:30:44 +0000 Message-Id: <694e55c4.3f458.6b326c9c@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f95ddf7441b3596913da2d99cafda518ec8c2e1b commit f95ddf7441b3596913da2d99cafda518ec8c2e1b Author: Justin Hibbits AuthorDate: 2024-11-12 15:01:00 +0000 Commit: Zhenlei Huang CommitDate: 2025-12-26 08:25:47 +0000 LinuxKPI: Use IfAPI to get LLADDR Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D47525 (cherry picked from commit 57609cb2de149a3c99c43e98d37cfa4784958f73) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index c1eb6d6200ae..5bc32b456b5d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3720,7 +3720,7 @@ lkpi_vif_iflladdr(void *arg, struct ifnet *ifp) } vif = arg; - IEEE80211_ADDR_COPY(vif->bss_conf.addr, IF_LLADDR(ifp)); + IEEE80211_ADDR_COPY(vif->bss_conf.addr, if_getlladdr(ifp)); NET_EPOCH_EXIT(et); } From nobody Fri Dec 26 09:30:43 2025 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 4dd0j03XQpz6LHpb for ; Fri, 26 Dec 2025 09:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd0j002zKz3MWW for ; Fri, 26 Dec 2025 09:30:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+6uFjCBCHNk63/bv1oFpyt+D4Vq6hmOKakOwVdSJgg4=; b=s13SwhYgU3F0At49xFnAw+Wa0tes0oFUmBydJlhntJSSTCr3dRypZ63Cjg8TNdrUMxDFWf Tg/ic6uUkL2rDgqyRZABMjEC5iMw1mqsLtVhMh26B33/xWXtwS9Zo9nWIebM8fe2xG7cr8 EdF6WhXr3+GIr3W9+EkQlUdT2mGhYrq7oSljHpf4jIs4FDBXApOTLUwgtKJD6Yd6xBtiFC WS70uQz8bymooTk3ZU4PLAzk9tfkIPsuIX1CfiN8EMsKWqu+khSYfFlL+v+XadqILqh+s8 Ao+us4WXRbuYhBQwQYDfAo6gegsVqTvIWsbX+j8S6cjHeai8LbTIHbwViR6Nnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766741444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+6uFjCBCHNk63/bv1oFpyt+D4Vq6hmOKakOwVdSJgg4=; b=X3L4kw8IxG5EhlBfyhW/SEQb3Xv1aVvZRIZhCC6oCrwO1NPUHdSaRplYqvdoR2cjMeYFvd hDc2u4JHB/dQBHxMX+gOEIfGXr7ThciNRnLvFh/TBD2qc++HB8tu4+Dk3c531WPX1lP2Ce EhoOQApZ8xKEZEahK7C6XPXKp36j2wbC9NX2Nd6HgR9Mq8ITZT/4DL6JBMqvvX24nY5Q3U aqGsdnj94Npm5qsGqKzJmh8vGugYwXQgFsPRCxiRsQriOg2/wopPtASms4q3sT7nrsF7GZ LybgxbR7L3OvY39kjv1SeqnA6SWFgs/T8QNCkeJjSBlQzSLoWRyNkmD2nRPG6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766741444; a=rsa-sha256; cv=none; b=Ldi4rXBSlakiDwKvZrVZ1ZGk8BFZJrBSZ75GQVSU5CtNS45O2cYrpoqAbAnUEthLFc/G7s /d37kvGuyfvze7arHstlYNzc8exO5OwLG7GugA/UHIeRFz3dgkfXvSxo8ePZ4a5c8eQkfL 40n+ytiMfvUefkJOpNDjhjRX01rKIRnQGfH2vgVWxwLQYnLsS9YCoQeOoD8mpm/6DbuCi+ WNRXoqpVvQAWWL7jNR8UeLKbhb1EDEXZvJfVJePf+Uh7Q9BBblFhhJTssQKh+cZbq9FR7E 6A1Qx3J4euEGhkWG3aW/7vloWG/0W5XPKQsolFTBZiKlBGNt5QCwhjJ1fqJsvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd0hz6YHVz16dJ for ; Fri, 26 Dec 2025 09:30:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f64c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 09:30:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Justin Hibbits From: Zhenlei Huang Subject: git: 16d50efd575e - stable/14 - qlnx: Convert recent changes to IfAPI 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 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: 16d50efd575e288b608ae2e8f50d908f39704ac7 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 09:30:43 +0000 Message-Id: <694e55c3.3f64c.43ab25ba@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=16d50efd575e288b608ae2e8f50d908f39704ac7 commit 16d50efd575e288b608ae2e8f50d908f39704ac7 Author: Justin Hibbits AuthorDate: 2024-11-08 20:22:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-12-26 08:25:47 +0000 qlnx: Convert recent changes to IfAPI Sponsored by: Juniper Networks, Inc. Reviewed by: zlei Differential Revision: https://reviews.freebsd.org/D47533 (cherry picked from commit 1eaecc214ea2bfde84f4194c1d0e20b18117343f) --- sys/dev/qlnx/qlnxe/qlnx_os.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c index 32b893480401..9963f472c615 100644 --- a/sys/dev/qlnx/qlnxe/qlnx_os.c +++ b/sys/dev/qlnx/qlnxe/qlnx_os.c @@ -2622,6 +2622,7 @@ static int qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data) { int ret = 0, mask; + int flags; struct ifreq *ifr = (struct ifreq *)data; #ifdef INET struct ifaddr *ifa = (struct ifaddr *)data; @@ -2675,15 +2676,16 @@ qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data) QL_DPRINT4(ha, "SIOCSIFFLAGS (0x%lx)\n", cmd); QLNX_LOCK(ha); + flags = if_getflags(ifp); - if (if_getflags(ifp) & IFF_UP) { + if (flags & IFF_UP) { if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { - if ((if_getflags(ifp) ^ ha->if_flags) & + if ((flags ^ ha->if_flags) & IFF_PROMISC) { - ret = qlnx_set_promisc(ha, ifp->if_flags & IFF_PROMISC); + ret = qlnx_set_promisc(ha, flags & IFF_PROMISC); } else if ((if_getflags(ifp) ^ ha->if_flags) & IFF_ALLMULTI) { - ret = qlnx_set_allmulti(ha, ifp->if_flags & IFF_ALLMULTI); + ret = qlnx_set_allmulti(ha, flags & IFF_ALLMULTI); } } else { ha->max_frame_size = if_getmtu(ifp) + @@ -7055,12 +7057,14 @@ qlnx_set_rx_mode(qlnx_host_t *ha) { int rc = 0; uint8_t filter; - const struct ifnet *ifp = ha->ifp; + const if_t ifp = ha->ifp; + const struct ifaddr *ifa; struct sockaddr_dl *sdl; - if (ifp->if_type == IFT_ETHER && ifp->if_addr != NULL && - ifp->if_addr->ifa_addr != NULL) { - sdl = (struct sockaddr_dl *) ifp->if_addr->ifa_addr; + ifa = if_getifaddr(ifp); + if (if_gettype(ifp) == IFT_ETHER && ifa != NULL && + ifa->ifa_addr != NULL) { + sdl = (struct sockaddr_dl *) ifa->ifa_addr; rc = qlnx_set_ucast_rx_mac(ha, ECORE_FILTER_REPLACE, LLADDR(sdl)); } else { @@ -7077,10 +7081,10 @@ qlnx_set_rx_mode(qlnx_host_t *ha) ECORE_ACCEPT_MCAST_MATCHED | ECORE_ACCEPT_BCAST; - if (qlnx_vf_device(ha) == 0 || (ha->ifp->if_flags & IFF_PROMISC)) { + if (qlnx_vf_device(ha) == 0 || (if_getflags(ha->ifp) & IFF_PROMISC)) { filter |= ECORE_ACCEPT_UCAST_UNMATCHED; filter |= ECORE_ACCEPT_MCAST_UNMATCHED; - } else if (ha->ifp->if_flags & IFF_ALLMULTI) { + } else if (if_getflags(ha->ifp) & IFF_ALLMULTI) { filter |= ECORE_ACCEPT_MCAST_UNMATCHED; } ha->filter = filter; From nobody Fri Dec 26 10:47:56 2025 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 4dd2Q9217Yz6LNsH for ; Fri, 26 Dec 2025 10:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd2Q918kXz3Vyc for ; Fri, 26 Dec 2025 10:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEONzRBL32f+y3O8G+f9kilojwregbuUvHufISNJgbY=; b=ejHWccHIW8UFCRFaa2vI2VHLw2zLOvEdmgrKxoq8voc+9MF2ViU0iAWPRfXnqCCK60oPKH v85Z+q9Bp8MJHxEuK6fn41fcFjgl4lHX/qDg2GA4hU97XWMCEBTGE4OFsSX0SmrkJjOYxq QjMlcAl6/QlL0jeVxIHLPKlZcYg6YnV55FUs6okernTlVTPySE9p0ambkNhVCyIEzvzLR5 8/s1/Hjbx8dM5glKV8gjqDMr5D73PDZfgqYBlc8Lc+lLSOtU+FDut+Fy6EHcGcZUsuPwfn rgwIToERzt7YEFV43KPAbntZ4u/o9wZZMos3Gp/u/9NNSYWvBc8WwtzSmmEqNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rEONzRBL32f+y3O8G+f9kilojwregbuUvHufISNJgbY=; b=D1yIl4N2X7Gt++yy9EponpYJXRpw7Y2f4j5WKN8wxtPLiLMsJ7b7rKXC1gHkoKP5KZeDgP Gyvzhmf99CDdQtOWgxVIt/tWO11ZKWDvUITji4V0Mn9EblCkHi0btWJ2aDMe+S5fNN65z8 gmoPFzY3ReSj2RE0whNX7YyXGYTShj9ec1l0VtnZVEcZKnclsfjZ1EJcdqd6xJ4H7xT3Ja E8DiuktJ7GMHQlAFEnO7pWs4sy66lmbe/MhtbBO7j+egqYs7oOMd33jiSMfIgdE418jf9W oYdm1Kz8tEEmOEygWmbunf56hCwDUEtZTDK06Fn8iCaYnQ2CiP7sVtz1z8TSTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766746081; a=rsa-sha256; cv=none; b=I7/85sWj/hf09lSFbTnw2wOKPlE4v9EDzG9a7KJoiJEO5si1HIX4HyQqAfi92qxEvV2kf6 VKbrH6Nz4ZN4RnYdwAr5r6UncNmyqiC/CmJxOzjgXEATqXhuzqCWmG4rvz1rghOrs8nmfx 4F+QhFryiSAsQ1YloLayWCD9I6xkfosbSwTZnaj7n2t/8sA6HeIdKUFSuvH8LXmeU+QcpB qhpl2luRvtaN4pbZaPQ33oC1x67GLfojuYPsxuSyJkdx2yA07Z4qhxGZ0WmoxRFP5Wwm5E Bto3hAK+ne+g6o1+ZHvJVq8FhoL3ZAPJt1c71hA+T7fvFyYQ+We0LTDmSo0tjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd2Q90N44z18gw for ; Fri, 26 Dec 2025 10:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ea33 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 10:47:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 535fac0b9574 - stable/15 - bhyve.8: Fix consistency and terms in 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 535fac0b9574c031820ea756756efa130da2f743 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 10:47:56 +0000 Message-Id: <694e67dc.ea33.55951e76@gitrepo.freebsd.org> The branch stable/15 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=535fac0b9574c031820ea756756efa130da2f743 commit 535fac0b9574c031820ea756756efa130da2f743 Author: Michael Osipov AuthorDate: 2025-12-21 16:41:41 +0000 Commit: Michael Osipov CommitDate: 2025-12-26 10:47:46 +0000 bhyve.8: Fix consistency and terms in manpage Correct inconsistent spelling of terms and duplication. Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54332 (cherry picked from commit 5819f8b285fc55a75e5dea56ffe73b376525150c) --- usr.sbin/bhyve/bhyve.8 | 66 ++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index 27e067f50394..483462e0b98b 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 28, 2025 +.Dd December 23, 2025 .Dt BHYVE 8 .Os .Sh NAME @@ -224,7 +224,7 @@ This specification only works when loaded with UEFI mode for VNC. When using a VNC client that supports QEMU Extended Key Event Message (e.g. TigerVNC), this option isn't needed. When using a VNC client that doesn't support QEMU Extended Key Event Message -(e.g. tightVNC), the layout defaults to the US keyboard unless specified +(e.g. TightVNC), the layout defaults to the US keyboard unless specified otherwise. .It Fl l Cm help Print a list of supported LPC devices. @@ -486,7 +486,7 @@ PCI 16550 serial device. .It Cm lpc LPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports, a boot ROM, and, -optionally, a TPM module, a fwcfg type, and the debug/test device. +optionally, a TPM module, a fw_cfg type, and the debug/test device. The LPC bridge emulation can only be configured on bus 0. .It Cm fbuf Raw framebuffer device attached to VNC server. @@ -636,10 +636,10 @@ Disable emulation of guest trim requests via .Dv DIOCGDELETE requests. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Ss SCSI device backends @@ -658,10 +658,10 @@ are: Initiator ID to use when sending requests to specified CTL port. The default value is 0. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or not support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Ss 9P device backends @@ -691,10 +691,11 @@ Use the host TTY device for serial port I/O. .It Ar tcp=ip:port Use the TCP server for serial port I/O. Configuring this option will start a TCP server that waits for connections. -Only one connection is allowed at any time. Other connection try to connect -to TCP server will be disconnected immediately. Note that this feature -allows unprivileged users to access the guest console, so ensure that -access is appropriately restricted. +Only one connection is allowed at any time. +The TCP server will immediately close new connections while an existing +connection is active. +Note that this feature allows unprivileged users to access the guest console, +so ensure that access is appropriately restricted. .El .Ss TPM device backends .Bl -bullet @@ -753,10 +754,10 @@ is provided, that file is also mapped in the boot firmware guest address space, and any modifications the guest makes will be saved to that file. .Pp -Fwcfg types: +fw_cfg types: .Bl -tag -width 10n .It Ar fwcfg -The fwcfg interface is used to pass information such as the CPU count +The fw_cfg interface is used to pass information such as the CPU count or ACPI tables to the guest firmware. Supported values are .Ql bhyve @@ -771,13 +772,13 @@ is used, bhyve's fwctl interface is used. It currently reports only the CPU count to the guest firmware. The .Ql qemu -option uses QEMU's fwcfg interface. +option uses QEMU's fw_cfg interface. This interface is widely used and allows user-defined information to be passed to the guest. It is used for passing the CPU count, ACPI tables, a boot order and many other things to the guest. Some operating systems such as Fedora CoreOS can be configured by -qemu's fwcfg interface as well. +QEMU's fw_cfg interface as well. .El .Ss Pass-through device backends .Sm off @@ -813,10 +814,10 @@ as option ROM to the PCI device. The ROM will be loaded by firmware and should be capable of initializing the device. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -824,7 +825,7 @@ Guest memory must be wired using the .Fl S option when a pass-through device is configured. .Pp -The host device must have been reserved at boot-time using the +The host device must have been reserved at boot time using the .Va pptdevs loader variable as described in .Xr vmm 4 . @@ -920,7 +921,7 @@ standard PCI devices with BAR addressing, but may also implicitly decode legacy VGA I/O space .Pq Ad 0x3c0-3df and memory space -.Pq 64KB at Ad 0xA0000 . +.Pq 64 KiB at Ad 0xA0000 . The default .Cm io option should be used for guests that attempt to issue BIOS calls which result @@ -1005,7 +1006,7 @@ Serial number with maximum 20 characters. .It Cm eui64 IEEE Extended Unique Identifier (8 byte value). .It Cm dsm -DataSet Management support. +Dataset Management support. Supported values are: .Cm auto , enable , and @@ -1027,14 +1028,15 @@ Configuration options are defined as follows: .Bl -tag -width 10n .It Cm nmrr Nominal Media Rotation Rate, known as RPM. -Value 1 will indicate device as Solid State Disk. -Default value is 0, not report. +A value of 1 indicates that the device is a solid state drive, i.e., +non-rotational. +Default value is 0. .It Cm ser -Serial Number with maximum 20 characters. +Serial number with maximum 20 characters. .It Cm rev -Revision Number with maximum 8 characters. +Revision number with maximum 8 characters. .It Cm model -Model Number with maximum 40 characters. +Model number with maximum 40 characters. .El .Ss HD Audio device backends .Bl -bullet @@ -1158,7 +1160,7 @@ or a similar boot loader before can be run. Otherwise, the boot loader is not needed. .Pp -To run a virtual machine with 1GB of memory, two virtual CPUs, a virtio +To run a virtual machine with 1 GiB of memory, two virtual CPUs, a virtio block device backed by the .Pa /my/image filesystem image, and a serial port for the console: @@ -1169,11 +1171,11 @@ bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\ .Pp To do the same on arm64: .Bd -literal -offset indent -.Ed bhyve -c 2 -s 0,hostbridge -s 1,virtio-blk,/my/image -o console=stdio \\ -o bootrom=/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin -m 1G vm1 +.Ed .Pp -Run a 24GB single-CPU virtual machine with three network ports, one of which +Run a 24 GiB single-CPU virtual machine with three network ports, one of which has a MAC address specified: .Bd -literal -offset indent bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ @@ -1183,7 +1185,7 @@ bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ -H -P -m 24G bigvm .Ed .Pp -Run an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI +Run an 8 GiB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI CD-ROM, a single virtio network port, an AMD hostbridge, and the console port connected to an .Xr nmdm 4 From nobody Fri Dec 26 10:48:55 2025 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 4dd2RC6Kxzz6LNVX for ; Fri, 26 Dec 2025 10:48: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd2RC5qyHz3Vqw for ; Fri, 26 Dec 2025 10:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sbslg5yy+IlxtFfi9ngL+38KeLUfXtivOL8B9S4wFk4=; b=mOTdlh81dEEzOa7FcTTWZwa8reobjjzsSMILQvussRpxSVdYu6/VqkGz8HlGSai3tyn++J LRk+Q7+5Bk0qByZVuHJWf/bN7HIoAMPTvi8nP3EwAbU8vMPKRjmihPTA6KDHroOrH75+2h IAOmtLMrDPbNBx5NA+7rOv8HANGkObEYXFZ+LKY+HB9SEl9EC4I52fjSe1b5m5yFYCf7+l CvCHfNOcwUyBwl8Ks87r1ty8v46BJfM01w+HGfk9iqsvBRJPG4IMqkiNorukPWtQxCucKS C6C7vKv1dx+gDAXptsssFljlfO1csmUbv33xg4rH9em5Tor7EMFjhRkb24gBqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sbslg5yy+IlxtFfi9ngL+38KeLUfXtivOL8B9S4wFk4=; b=NBZ/2p2FlOFIRMuUqIOV3ByALr3MzfjCbV7O6zsGxPd8XfcbdzOektHHFtAom0Mhqw0B3j DJUlsry/JYx7s8gsNkAfpxwQaM4pEffIo6aeWGrv0JlTOAPr6XkZ/KJWkP0gy5nPcU9vcp SdPmi+azhuoBxadsYvUwqU0lWgHBOpWuQUcQLhbvNco2h+j6mzTh2cAukG91P1EaxT8TnE ZIlgCmRRBzy6QG1vBl2kcoBkq0ZxrOnd7lvbkTUxsOwvSorgbkWqxHw9yIsUMAswKNS833 j2sTf4K4afKMX4hNR5RUcb5YMWCWFXkxZr3LFirXWnxMtI4X38jD6H/Va9MQag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766746135; a=rsa-sha256; cv=none; b=tIBpvxGErrsQKCN5/cHRzFjr3Bcz9t0O02rkWv3Bt5Kqmz+2kWjN4MKikRB8DQdwvckRFX vCd+jMeousqPkqU+pFnwWTATlX//yWKQy2ANjLVap7nHxMbs/ABBZAMKfg/6bCAK9lf5KY uf51Oy8ZluWBdMAEAsUNj52SFCMFYBvWyA7VKNxMOIeIH/gvEWQr7Ih6eOcoyP+ffcGTvz wS94OV4pX1xHH67A4deMjQx0bLZsh4081uIruvkeuvBaQAFyodCixYWAA5IqIoWan1HqG7 Eg1uySs27trdjQiwPEKO3EOtzLSNrRjFydLFR6hFCaN7kLeZq5BCPEV0VxFYAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd2RC5QZyz18Vr for ; Fri, 26 Dec 2025 10:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e2ca by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 10:48:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 3e5025ea3a5f - stable/14 - bhyve.8: Fix consistency and terms in 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3e5025ea3a5f46d74bc1b9a2f793e25694e744c1 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 10:48:55 +0000 Message-Id: <694e6817.e2ca.69db476d@gitrepo.freebsd.org> The branch stable/14 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=3e5025ea3a5f46d74bc1b9a2f793e25694e744c1 commit 3e5025ea3a5f46d74bc1b9a2f793e25694e744c1 Author: Michael Osipov AuthorDate: 2025-12-21 16:41:41 +0000 Commit: Michael Osipov CommitDate: 2025-12-26 10:48:19 +0000 bhyve.8: Fix consistency and terms in manpage Correct inconsistent spelling of terms and duplication. Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54332 (cherry picked from commit 5819f8b285fc55a75e5dea56ffe73b376525150c) --- usr.sbin/bhyve/bhyve.8 | 61 +++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index 90f34b3314f8..9f2934e27c6d 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 20, 2023 +.Dd December 23, 2025 .Dt BHYVE 8 .Os .Sh NAME @@ -374,7 +374,7 @@ PCI 16550 serial device. .It Cm lpc LPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports, a boot ROM, and, -optionally, a TPM module, a fwcfg type, and the debug/test device. +optionally, a TPM module, a fw_cfg type, and the debug/test device. The LPC bridge emulation can only be configured on bus 0. .It Cm fbuf Raw framebuffer device attached to VNC server. @@ -509,10 +509,10 @@ Disable emulation of guest trim requests via .Dv DIOCGDELETE requests. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -532,10 +532,10 @@ are: Initiator ID to use when sending requests to specified CTL port. The default value is 0. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or not support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -611,10 +611,11 @@ address space, and any modifications the guest makes will be saved to that file. .El .Pp -Fwcfg types: +fw_cfg types: .Bl -tag -width 10n .It Ar fwcfg -The fwcfg interface is used to pass information such as the CPU count or ACPI tables to the guest firmware. +The fw_cfg interface is used to pass information such as the CPU count +or ACPI tables to the guest firmware. Supported values are .Ql bhyve and @@ -628,10 +629,13 @@ is used, bhyve's fwctl interface is used. It currently reports only the CPU count to the guest firmware. The .Ql qemu -option uses QEMU's fwcfg interface. -This interface is widely used and allows user-defined information to be passed to the guest. -It is used for passing the CPU count, ACPI tables, a boot order and many other things to the guest. -Some operating systems such as Fedora CoreOS can be configured by qemu's fwcfg interface as well. +option uses QEMU's fw_cfg interface. +This interface is widely used and allows user-defined information to +be passed to the guest. +It is used for passing the CPU count, ACPI tables, a boot order and +many other things to the guest. +Some operating systems such as Fedora CoreOS can be configured by +QEMU's fw_cfg interface as well. .El .Pp Pass-through device backends: @@ -667,10 +671,10 @@ Add as option ROM to the PCI device. The ROM will be loaded by firmware and should be capable of initializing the device. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -678,7 +682,7 @@ Guest memory must be wired using the .Fl S option when a pass-through device is configured. .Pp -The host device must have been reserved at boot-time using the +The host device must have been reserved at boot time using the .Va pptdevs loader variable as described in .Xr vmm 4 . @@ -793,7 +797,7 @@ standard PCI devices with BAR addressing, but may also implicitly decode legacy VGA I/O space .Pq Ad 0x3c0-3df and memory space -.Pq 64KB at Ad 0xA0000 . +.Pq 64 KiB at Ad 0xA0000 . The default .Cm io option should be used for guests that attempt to issue BIOS calls which result @@ -876,7 +880,7 @@ Serial number with maximum 20 characters. .It Cm eui64 IEEE Extended Unique Identifier (8 byte value). .It Cm dsm -DataSet Management support. +Dataset Management support. Supported values are: .Cm auto , enable , and @@ -899,14 +903,15 @@ Configuration options are defined as follows: .Bl -tag -width 10n .It Cm nmrr Nominal Media Rotation Rate, known as RPM. -Value 1 will indicate device as Solid State Disk. -Default value is 0, not report. +A value of 1 indicates that the device is a solid state drive, i.e., +non-rotational. +Default value is 0. .It Cm ser -Serial Number with maximum 20 characters. +Serial number with maximum 20 characters. .It Cm rev -Revision Number with maximum 8 characters. +Revision number with maximum 8 characters. .It Cm model -Model Number with maximum 40 characters. +Model number with maximum 40 characters. .El .Pp HD Audio device backends: @@ -1028,7 +1033,7 @@ or a similar boot loader before can be run. Otherwise, the boot loader is not needed. .Pp -To run a virtual machine with 1GB of memory, two virtual CPUs, a virtio +To run a virtual machine with 1 GiB of memory, two virtual CPUs, a virtio block device backed by the .Pa /my/image filesystem image, and a serial port for the console: @@ -1037,7 +1042,7 @@ bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\ -l com1,stdio -A -H -P -m 1G vm1 .Ed .Pp -Run a 24GB single-CPU virtual machine with three network ports, one of which +Run a 24 GiB single-CPU virtual machine with three network ports, one of which has a MAC address specified: .Bd -literal -offset indent bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ @@ -1047,7 +1052,7 @@ bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ -A -H -P -m 24G bigvm .Ed .Pp -Run an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI +Run an 8 GiB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI CD-ROM, a single virtio network port, an AMD hostbridge, and the console port connected to an .Xr nmdm 4 From nobody Fri Dec 26 10:49:25 2025 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 4dd2Rp0nRtz6LNVt for ; Fri, 26 Dec 2025 10:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dd2Rp02vbz3WfW for ; Fri, 26 Dec 2025 10:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B5nI1hnz5fJC+ELfd5le3PdnvM5MPuYCv14Y5nn+B2Q=; b=Xol2ZND1SPRp/ZzLbvE8chSVpLb6H/duPbjaKltc1csQWH5pIAfqiNKkAPwb+1HR7fjZS3 Ngyr3DG52b11kfTka4Ur/deD9Rdxfd5ca7fAVBxnm63uBkP2BoKzUNZp1FNAQcQczicFVX xV9/rBYC40Mq89jGdg97dyG+CRevf1tsrx1YVrcvfi0FhQ/5aQsxLuwIox1dzSvXCrMuug wMOkY+7E69E2JP3VJPDz1jdyu+r72wFv3wPxEiZrz69pp4gWAvUubmjpIoSoQVIn/Wr8aw DHsLdKqmbjRBN3+FMfnyOGJX2IRjMwcrW1URWDEVQsDjsZ7AtdaLbQXaCMkXkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766746166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B5nI1hnz5fJC+ELfd5le3PdnvM5MPuYCv14Y5nn+B2Q=; b=Qw03ycyr3gAPOxybUm8bEBlYZBqvSuSDpVzzERg4iq49ZnXjc0PGXtl92NS9jG0HVvPvoD WjYjc/RvkSaZ33n0ZxWIqGDcfnlVIoN5QUBFiM/nx+fT22YKnWrTxhUcsW3XQ06OWokhYH zJEC402Co3cXBxSL8CcWt/EsScvPeJr9GDiDfJiQkr9M766hlIMjQyewRu6GI2JNvOYKqR kuClW6RszxdMAY4/sJwqGa/f5lH99qZfuJgXuWfC8Gek24w7EvlsnBg92XO4x+9nWKxav1 1vV5odLSYf5mOd3WYHA3oLDMAJLRkfiqesbd0TiustCo0/wCbJT24mImZwwcPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766746166; a=rsa-sha256; cv=none; b=SSzSHvdA2e3dKhoLgSrQj6WydK2p0fWJr/+na3Ahk/61Thp6Kn/wAklsqmeLaCXRqVp0SS NSowB1ScGUe3IJ6ec0TM8ZEsYvE9ftPIkydnMkBv4YjbXeQn9iLKtjAx99DgaVi8aiLiX6 sMBEG46igBaeURBEIWuRPfqDDICrI7aY9C05dBajbAwhQ40oAxpl9h9YesaU6hoGKDYfxK p0Dy5KGnPaRSU8NmkIbrqnQKAQ1gq7niLlIbGA5Cr8Id4ZGiJ3rJFomUJfwdubMvQvAhnz sBi6EOukjrwX/If6VoCV7ohv4x5k6Buq0M3sQ5gqv2M8nQal0++a6by8Aple8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dd2Rn6hWlz17wR for ; Fri, 26 Dec 2025 10:49:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f9f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 26 Dec 2025 10:49:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 9aca11b4b14a - stable/13 - bhyve.8: Fix consistency and terms in 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9aca11b4b14abe47dbc605e0bb9ba2282047e7f2 Auto-Submitted: auto-generated Date: Fri, 26 Dec 2025 10:49:25 +0000 Message-Id: <694e6835.f9f3.2bd92c9b@gitrepo.freebsd.org> The branch stable/13 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=9aca11b4b14abe47dbc605e0bb9ba2282047e7f2 commit 9aca11b4b14abe47dbc605e0bb9ba2282047e7f2 Author: Michael Osipov AuthorDate: 2025-12-21 16:41:41 +0000 Commit: Michael Osipov CommitDate: 2025-12-23 19:40:26 +0000 bhyve.8: Fix consistency and terms in manpage Correct inconsistent spelling of terms and duplication. Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54332 (cherry picked from commit 5819f8b285fc55a75e5dea56ffe73b376525150c) --- usr.sbin/bhyve/bhyve.8 | 61 +++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index 12b77554f404..f3cec8e121a5 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 12, 2023 +.Dd December 23, 2025 .Dt BHYVE 8 .Os .Sh NAME @@ -372,7 +372,7 @@ PCI 16550 serial device. .It Cm lpc LPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports, a boot ROM, and, -optionally, a fwcfg type and the debug/test device. +optionally, a fw_cfg type and the debug/test device. The LPC bridge emulation can only be configured on bus 0. .It Cm fbuf Raw framebuffer device attached to VNC server. @@ -489,10 +489,10 @@ Disable emulation of guest trim requests via .Dv DIOCGDELETE requests. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -512,10 +512,10 @@ are: Initiator ID to use when sending requests to specified CTL port. The default value is 0. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or not support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -559,10 +559,11 @@ address space, and any modifications the guest makes will be saved to that file. .El .Pp -Fwcfg types: +fw_cfg types: .Bl -tag -width 10n .It Ar fwcfg -The fwcfg interface is used to pass information such as the CPU count or ACPI tables to the guest firmware. +The fw_cfg interface is used to pass information such as the CPU count +or ACPI tables to the guest firmware. Supported values are .Ql bhyve and @@ -576,10 +577,13 @@ is used, bhyve's fwctl interface is used. It currently reports only the CPU count to the guest firmware. The .Ql qemu -option uses QEMU's fwcfg interface. -This interface is widely used and allows user-defined information to be passed to the guest. -It is used for passing the CPU count, ACPI tables, a boot order and many other things to the guest. -Some operating systems such as Fedora CoreOS can be configured by qemu's fwcfg interface as well. +option uses QEMU's fw_cfg interface. +This interface is widely used and allows user-defined information to +be passed to the guest. +It is used for passing the CPU count, ACPI tables, a boot order and +many other things to the guest. +Some operating systems such as Fedora CoreOS can be configured by +QEMU's fw_cfg interface as well. .El .Pp Pass-through device backends: @@ -615,10 +619,10 @@ Add as option ROM to the PCI device. The ROM will be loaded by firmware and should be capable of initializing the device. .It Li bootindex= Ns Ar index -Add the device to the bootorder at +Add the device to the boot order at .Ar index . -A fwcfg file is used to specify the bootorder. -The guest firmware may ignore or doesn't support this fwcfg file. +A fw_cfg file is used to specify the boot order. +The guest firmware may ignore or doesn't support this fw_cfg file. In that case, this feature doesn't work as expected. .El .Pp @@ -626,7 +630,7 @@ Guest memory must be wired using the .Fl S option when a pass-through device is configured. .Pp -The host device must have been reserved at boot-time using the +The host device must have been reserved at boot time using the .Va pptdevs loader variable as described in .Xr vmm 4 . @@ -721,7 +725,7 @@ standard PCI devices with BAR addressing, but may also implicitly decode legacy VGA I/O space .Pq Ad 0x3c0-3df and memory space -.Pq 64KB at Ad 0xA0000 . +.Pq 64 KiB at Ad 0xA0000 . The default .Cm io option should be used for guests that attempt to issue BIOS calls which result @@ -804,7 +808,7 @@ Serial number with maximum 20 characters. .It Cm eui64 IEEE Extended Unique Identifier (8 byte value). .It Cm dsm -DataSet Management support. +Dataset Management support. Supported values are: .Cm auto , enable , and @@ -827,14 +831,15 @@ Configuration options are defined as follows: .Bl -tag -width 10n .It Cm nmrr Nominal Media Rotation Rate, known as RPM. -Value 1 will indicate device as Solid State Disk. -Default value is 0, not report. +A value of 1 indicates that the device is a solid state drive, i.e., +non-rotational. +Default value is 0. .It Cm ser -Serial Number with maximum 20 characters. +Serial number with maximum 20 characters. .It Cm rev -Revision Number with maximum 8 characters. +Revision number with maximum 8 characters. .It Cm model -Model Number with maximum 40 characters. +Model number with maximum 40 characters. .El .Pp HD Audio device backends: @@ -956,7 +961,7 @@ or a similar boot loader before can be run. Otherwise, the boot loader is not needed. .Pp -To run a virtual machine with 1GB of memory, two virtual CPUs, a virtio +To run a virtual machine with 1 GiB of memory, two virtual CPUs, a virtio block device backed by the .Pa /my/image filesystem image, and a serial port for the console: @@ -965,7 +970,7 @@ bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\ -l com1,stdio -A -H -P -m 1G vm1 .Ed .Pp -Run a 24GB single-CPU virtual machine with three network ports, one of which +Run a 24 GiB single-CPU virtual machine with three network ports, one of which has a MAC address specified: .Bd -literal -offset indent bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ @@ -975,7 +980,7 @@ bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\ -A -H -P -m 24G bigvm .Ed .Pp -Run an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI +Run an 8 GiB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI CD-ROM, a single virtio network port, an AMD hostbridge, and the console port connected to an .Xr nmdm 4 From nobody Sat Dec 27 16:29:37 2025 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 4ddnxs6VGGz6LXhk for ; Sat, 27 Dec 2025 16:29: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ddnxs3yq7z3Dsc for ; Sat, 27 Dec 2025 16:29:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766852977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XI8L9SnRQUTwpufPa5Kk6Qru2cKRolLK1z9Za4QmIzk=; b=G5uEPfG9TOeinImL2/njPyTMq82XMYV64Ca6RBsNPL731YCcmlTiFk0RHjVTZC4Nntcmc/ TbDN1cIMjLQxW21LYi7tyyi3EJy/oVQeKimNbmxMeg2cgfzCPusF8Ib5t07ZGYBBmlbLBX w99DirLyiU9y8p+iHMW2xH0nJNzsoB7DGl/R3NZ4j2tjcUBJa3yrZAolYK+9Jaj8pC4Tx5 Cxky3+ODZ2BBQj/9JtoPYOiTy56VePsr6AnhbLnIA6dJnGzTqsSujFdeq/qrwjjvswukZ2 4mJT28UfqDsjoFcFR5Sd2Q5ZJHnLeuyXRn3BO2+uQ5fUEmSWxmvQ8CU+m9/Jkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766852977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XI8L9SnRQUTwpufPa5Kk6Qru2cKRolLK1z9Za4QmIzk=; b=oYGNxh/jDO/Foc8eXB2AtIsaJjVdVUSrwhPN3OGhittWhtyum40+yELLNn6VOsLfA/YLUK 0K17Az5IJVKIHSVcun2F47LwdEu4l9LPdUfrpquce+jvmlOIo6XoVRYPyV0TOmXYwLDtY6 1jo7rjdhrznXSPgYD/I84PLLQPVClz4lrXLpCtoqRLuhqmvPLhC0ujIvwFYICIIGaVEfCq JL8RERrJARVks5LsQw553fBhmk6n+o+JD07YMP7QUI1JpPw8WoAhkt7O2fW9M+Bm5jJdyV ScFc7/68LOfaXBTX/2+u33UOJHRSmR70BsTuPUe4/vTnBopOKxTrHhtNh9v7qA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766852977; a=rsa-sha256; cv=none; b=BaH0tdoxAytUG7tEbM717iLkzOvhuH+ymNTquyQze4xhQlpkSf5YKUwEsrcncuNY+nLzno PAHjUpPuSujypgX8ZzX9nxaTHMt7dR9oL+Br/c+OW5vlcYnRkyTHO8mTjrq9MKp+YyK6pm 0/hpnfrmrPyY41/kMVS1JZTs0nyvgrbHdE9Dr6q5MrgfkwYvSZVg6Bw667cLDJGKg4PAXB pw6WxKuVe4G/8cDr3FKq57D2ljBZ0U4EmmtHlRw+cHYxYuhq73omCLXmVslbf/Umpw8SY5 78wXPSizbC95EX4Pwo2eY7NL/ISYtrbbdnkqdc2Yovd9C+IQbZopiVeV0Ty8Tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ddnxs34K6z169d for ; Sat, 27 Dec 2025 16:29:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d9d4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 27 Dec 2025 16:29:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 791fb098c9e8 - stable/15 - Import latest mtree from NetBSD 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 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: 791fb098c9e84282b7d061c5708569757e6c65a3 Auto-Submitted: auto-generated Date: Sat, 27 Dec 2025 16:29:37 +0000 Message-Id: <69500971.d9d4.7c502b5d@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=791fb098c9e84282b7d061c5708569757e6c65a3 commit 791fb098c9e84282b7d061c5708569757e6c65a3 Author: Jose Luis Duran AuthorDate: 2025-12-19 20:14:35 +0000 Commit: Jose Luis Duran CommitDate: 2025-12-27 16:28:01 +0000 Import latest mtree from NetBSD Merge commit 'eb2ccba0c11b405ac613c3046997765317cc8b5c' PR: 192839 PR: 219467 MFC after: 1 week (cherry picked from commit f8cee1f2c2dfba6223385fd711cce9faeca76451) --- contrib/mtree/compare.c | 16 ++++++---------- contrib/mtree/create.c | 7 ++++--- contrib/mtree/mtree.c | 36 ++++++++++++++++++++++-------------- contrib/mtree/spec.c | 25 +++++++++++-------------- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/contrib/mtree/compare.c b/contrib/mtree/compare.c index 3d8cf2335207..cc31ec365194 100644 --- a/contrib/mtree/compare.c +++ b/contrib/mtree/compare.c @@ -1,4 +1,4 @@ -/* $NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)compare.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $"); #endif #endif /* not lint */ @@ -291,16 +291,12 @@ typeerr: LABEL; (u_long)p->fts_statp->st_mode & MBITS); if (uflag) { if (lchmod(p->fts_accpath, s->st_mode)) - printf(", not modified: %s%s\n", - strerror(errno), - flavor == F_FREEBSD9 ? "" : ")"); + printf(", not modified: %s", strerror(errno)); else - printf(", modified%s%s\n", - was_unlinked ? " by unlink" : "", - flavor == F_FREEBSD9 ? "" : ")"); + printf(", modified%s", + was_unlinked ? " by unlink" : ""); } - else - printf(")\n"); + printf("%s\n", flavor == F_FREEBSD9 ? "" : ")"); tab = "\t"; skip: ; } diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index e23004851f39..191d69c6a537 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)create.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $"); #endif #endif /* not lint */ @@ -236,7 +236,8 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (!S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (keys & F_TYPE && + !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) output(fp, indent, &offset, "type=%s", inotype(p->fts_statp->st_mode)); if (keys & (F_UID | F_UNAME) && p->fts_statp->st_uid != uid) { diff --git a/contrib/mtree/mtree.c b/contrib/mtree/mtree.c index 28f09fa32210..479f6acfca3a 100644 --- a/contrib/mtree/mtree.c +++ b/contrib/mtree/mtree.c @@ -1,4 +1,4 @@ -/* $NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $ */ +/* $NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $ */ /*- * Copyright (c) 1989, 1990, 1993 @@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1990, 1993\ #if 0 static char sccsid[] = "@(#)mtree.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $"); +__RCSID("$NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $"); #endif #endif /* not lint */ @@ -73,19 +73,20 @@ static struct { }; __dead static void usage(void); +static int parsekeys(char **); int main(int argc, char **argv) { int ch, status; unsigned int i; - int cflag, Cflag, Dflag, Uflag, wflag; + int cflag, Cflag, Dflag, Uflag, wflag, rkeys; char *dir, *p; FILE *spec1, *spec2; setprogname(argv[0]); - cflag = Cflag = Dflag = Uflag = wflag = 0; + cflag = Cflag = Dflag = Uflag = wflag = rkeys = 0; dir = NULL; init_excludes(); spec1 = stdin; @@ -150,14 +151,9 @@ main(int argc, char **argv) break; case 'k': keys = F_TYPE; - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); - break; + /*FALLTHROUGH*/ case 'K': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); + keys |= parsekeys(&optarg); break; case 'l': lflag = 1; @@ -198,9 +194,7 @@ main(int argc, char **argv) rflag++; break; case 'R': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys &= ~parsekey(p, NULL); + rkeys |= parsekeys(&optarg); break; case 's': sflag = 1; @@ -243,6 +237,8 @@ main(int argc, char **argv) if (argc) usage(); + keys &= ~rkeys; + switch (flavor) { case F_FREEBSD9: if (cflag && iflag) { @@ -312,6 +308,18 @@ main(int argc, char **argv) exit(status); } +static int +parsekeys(char **arg) +{ + const char *p; + int k = 0; + + while ((p = strsep(arg, " \t,")) != NULL) + if (*p != '\0') + k |= parsekey(p, NULL); + return k; +} + static void usage(void) { diff --git a/contrib/mtree/spec.c b/contrib/mtree/spec.c index 24e15f33fa8a..af5248be1596 100644 --- a/contrib/mtree/spec.c +++ b/contrib/mtree/spec.c @@ -1,4 +1,4 @@ -/* $NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -67,7 +67,7 @@ #if 0 static char sccsid[] = "@(#)spec.c 8.2 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $"); #endif #endif /* not lint */ @@ -100,7 +100,7 @@ static dev_t parsedev(char *); static void replacenode(NODE *, NODE *); static void set(char *, NODE *); static void unset(char *, NODE *); -static void addchild(NODE *, NODE *); +static NODE *addchild(NODE *, NODE *); static int nodecmp(const NODE *, const NODE *); static int appendfield(FILE *, int, const char *, ...) __printflike(3, 4); @@ -239,8 +239,7 @@ noparent: mtree_err("no parent node"); * full path entry; add or replace */ centry->parent = pathparent; - addchild(pathparent, centry); - last = centry; + last = addchild(pathparent, centry); } else if (strcmp(centry->name, ".") == 0) { /* * duplicate "." entry; always replace @@ -252,8 +251,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last; - addchild(last, centry); - last = centry; + last = addchild(last, centry); } else { /* * new relative child in parent dir @@ -261,8 +259,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last->parent; - addchild(last->parent, centry); - last = centry; + last = addchild(last->parent, centry); } } return (root); @@ -721,7 +718,7 @@ unset(char *t, NODE *ip) * a duplicate, insert it into the linked list referenced by * pathparent->child. Keep the list sorted if Sflag is set. */ -static void +static NODE * addchild(NODE *pathparent, NODE *centry) { NODE *samename; /* node with the same name as centry */ @@ -740,7 +737,7 @@ addchild(NODE *pathparent, NODE *centry) if (cur == NULL) { /* centry is pathparent's first and only child node so far */ pathparent->child = centry; - return; + return centry; } /* @@ -785,7 +782,7 @@ addchild(NODE *pathparent, NODE *centry) replacenode(samename, centry); if (samename == replacepos) { /* The just-replaced node was in the correct position */ - return; + return samename; } if (samename == insertpos || samename->prev == insertpos) { /* @@ -793,7 +790,7 @@ addchild(NODE *pathparent, NODE *centry) * or just after the replaced node, but that would * be equivalent to just retaining the replaced node. */ - return; + return samename; } /* @@ -833,7 +830,7 @@ addchild(NODE *pathparent, NODE *centry) if (centry->next) centry->next->prev = centry; } - return; + return centry; } /* From nobody Sat Dec 27 16:29:52 2025 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 4ddny86SxKz6LXqR for ; Sat, 27 Dec 2025 16:29: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ddny85kj4z3DyX for ; Sat, 27 Dec 2025 16:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766852992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OHs7xevdTiCOuWKtuEhsz+9GsF3L20kx3JcCcI2H91g=; b=Z2XSW4fpnrEOlyTED3Y+1+7wwM5Zvethq7s8RK9FeKTv2vTg4WmQytnhxPyTHf2r8zNhkW OhW+c1YPvjI2MMJkgVMuJQ2FOI32idlFA4N/tqcCQ3rLnjHwAgTyYaCHwhqZyD/U/mOT/I /q3eD2/kxM+6NQUsFJtglIQWl2A69k5g5WnqChHE/92j2Wbb/wDs7v7lkxRBGJrCEyoZwD rY8kL4VQVcuDgEgEfCJKj55ladoe9pz0ebaeVRftfgOLmlJ8OW4u9ye1WCjKReMI69/ax6 wJ4pYerHhfocvYzdvR5lFJSiKG/Vo3aPpUur+1nxrIh73Dr+vD7NW3xNOBGqYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766852992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OHs7xevdTiCOuWKtuEhsz+9GsF3L20kx3JcCcI2H91g=; b=RfD4QC7Iq7pw//dil8XoHqcACHfBx7V+UgxzxC6mITJBEtsT29HdkSyMcvb3Ek7KlvoCFj 1rJZM5FsnbV0OFbCgHmJyWOcJP3IOi4c+fbcj5Pae4Xufxds59NSGjwFwi4nikFd58QV51 Wxqi7Usk2WzXd4MtXTumt4+cuKmuQ0qQxhjuF3JZHzrjuCysFIMMxtw1cam2yxczIR/ehH iqSmjzz4aw9ZZtrbG2XRVgg5DBc4dIWk6CCwQ8CDrWYB5MML9jTVk6eV9ShH+nR54w8QPP WcMoKgEKXpdj4EgMzFCrrWFovj4Am5tdoz0ZW6Mgygn6axJKR+GyBHhiHWT3UQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766852992; a=rsa-sha256; cv=none; b=wntAe87iJm7McDYvUlJme3TgR3Bm7wfGPt0x30dYESfT2cNj0IW/+gQ3omCSWk9TdF059L 0dXQ9kvcod7ruvrdFR4r9y1K70jUsrSUCmcCq2Ie0MpcUpQcqMqj5+bIt3vyXvxTV6moB7 tL4iTaoXkrXODKO0XaH7mDUpqcosnDNUduIoTvyMa7M0o8KmDPbGg2HEI+vVDI5AXk+Jp9 xlqODJ4EHZNQZhqFJfwJTN+7jgyG6Ofcdd7Jb+VVWWglGk1FpJO/n8KhlTyFiVSLxfRFE0 687qncJAuvlGV8sqF9PDfMuWV/98ags/r8NXDuE4ApcGLjMls4EzE6Gkmhbd4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ddny85BK0z15cd for ; Sat, 27 Dec 2025 16:29:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d7ac by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 27 Dec 2025 16:29:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f9d671f726ac - stable/14 - Import latest mtree from NetBSD 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 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: f9d671f726ac2199b906fc406b46b57cd2a11cf7 Auto-Submitted: auto-generated Date: Sat, 27 Dec 2025 16:29:52 +0000 Message-Id: <69500980.d7ac.7b9ac11c@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f9d671f726ac2199b906fc406b46b57cd2a11cf7 commit f9d671f726ac2199b906fc406b46b57cd2a11cf7 Author: Jose Luis Duran AuthorDate: 2025-12-19 20:14:35 +0000 Commit: Jose Luis Duran CommitDate: 2025-12-27 16:28:35 +0000 Import latest mtree from NetBSD Merge commit 'eb2ccba0c11b405ac613c3046997765317cc8b5c' PR: 192839 PR: 219467 MFC after: 1 week (cherry picked from commit f8cee1f2c2dfba6223385fd711cce9faeca76451) --- contrib/mtree/compare.c | 16 ++++++---------- contrib/mtree/create.c | 7 ++++--- contrib/mtree/mtree.c | 36 ++++++++++++++++++++++-------------- contrib/mtree/spec.c | 25 +++++++++++-------------- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/contrib/mtree/compare.c b/contrib/mtree/compare.c index 3d8cf2335207..cc31ec365194 100644 --- a/contrib/mtree/compare.c +++ b/contrib/mtree/compare.c @@ -1,4 +1,4 @@ -/* $NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)compare.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $"); #endif #endif /* not lint */ @@ -291,16 +291,12 @@ typeerr: LABEL; (u_long)p->fts_statp->st_mode & MBITS); if (uflag) { if (lchmod(p->fts_accpath, s->st_mode)) - printf(", not modified: %s%s\n", - strerror(errno), - flavor == F_FREEBSD9 ? "" : ")"); + printf(", not modified: %s", strerror(errno)); else - printf(", modified%s%s\n", - was_unlinked ? " by unlink" : "", - flavor == F_FREEBSD9 ? "" : ")"); + printf(", modified%s", + was_unlinked ? " by unlink" : ""); } - else - printf(")\n"); + printf("%s\n", flavor == F_FREEBSD9 ? "" : ")"); tab = "\t"; skip: ; } diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index e23004851f39..191d69c6a537 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)create.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $"); #endif #endif /* not lint */ @@ -236,7 +236,8 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (!S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (keys & F_TYPE && + !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) output(fp, indent, &offset, "type=%s", inotype(p->fts_statp->st_mode)); if (keys & (F_UID | F_UNAME) && p->fts_statp->st_uid != uid) { diff --git a/contrib/mtree/mtree.c b/contrib/mtree/mtree.c index 28f09fa32210..479f6acfca3a 100644 --- a/contrib/mtree/mtree.c +++ b/contrib/mtree/mtree.c @@ -1,4 +1,4 @@ -/* $NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $ */ +/* $NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $ */ /*- * Copyright (c) 1989, 1990, 1993 @@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1990, 1993\ #if 0 static char sccsid[] = "@(#)mtree.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $"); +__RCSID("$NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $"); #endif #endif /* not lint */ @@ -73,19 +73,20 @@ static struct { }; __dead static void usage(void); +static int parsekeys(char **); int main(int argc, char **argv) { int ch, status; unsigned int i; - int cflag, Cflag, Dflag, Uflag, wflag; + int cflag, Cflag, Dflag, Uflag, wflag, rkeys; char *dir, *p; FILE *spec1, *spec2; setprogname(argv[0]); - cflag = Cflag = Dflag = Uflag = wflag = 0; + cflag = Cflag = Dflag = Uflag = wflag = rkeys = 0; dir = NULL; init_excludes(); spec1 = stdin; @@ -150,14 +151,9 @@ main(int argc, char **argv) break; case 'k': keys = F_TYPE; - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); - break; + /*FALLTHROUGH*/ case 'K': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); + keys |= parsekeys(&optarg); break; case 'l': lflag = 1; @@ -198,9 +194,7 @@ main(int argc, char **argv) rflag++; break; case 'R': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys &= ~parsekey(p, NULL); + rkeys |= parsekeys(&optarg); break; case 's': sflag = 1; @@ -243,6 +237,8 @@ main(int argc, char **argv) if (argc) usage(); + keys &= ~rkeys; + switch (flavor) { case F_FREEBSD9: if (cflag && iflag) { @@ -312,6 +308,18 @@ main(int argc, char **argv) exit(status); } +static int +parsekeys(char **arg) +{ + const char *p; + int k = 0; + + while ((p = strsep(arg, " \t,")) != NULL) + if (*p != '\0') + k |= parsekey(p, NULL); + return k; +} + static void usage(void) { diff --git a/contrib/mtree/spec.c b/contrib/mtree/spec.c index 24e15f33fa8a..af5248be1596 100644 --- a/contrib/mtree/spec.c +++ b/contrib/mtree/spec.c @@ -1,4 +1,4 @@ -/* $NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -67,7 +67,7 @@ #if 0 static char sccsid[] = "@(#)spec.c 8.2 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $"); #endif #endif /* not lint */ @@ -100,7 +100,7 @@ static dev_t parsedev(char *); static void replacenode(NODE *, NODE *); static void set(char *, NODE *); static void unset(char *, NODE *); -static void addchild(NODE *, NODE *); +static NODE *addchild(NODE *, NODE *); static int nodecmp(const NODE *, const NODE *); static int appendfield(FILE *, int, const char *, ...) __printflike(3, 4); @@ -239,8 +239,7 @@ noparent: mtree_err("no parent node"); * full path entry; add or replace */ centry->parent = pathparent; - addchild(pathparent, centry); - last = centry; + last = addchild(pathparent, centry); } else if (strcmp(centry->name, ".") == 0) { /* * duplicate "." entry; always replace @@ -252,8 +251,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last; - addchild(last, centry); - last = centry; + last = addchild(last, centry); } else { /* * new relative child in parent dir @@ -261,8 +259,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last->parent; - addchild(last->parent, centry); - last = centry; + last = addchild(last->parent, centry); } } return (root); @@ -721,7 +718,7 @@ unset(char *t, NODE *ip) * a duplicate, insert it into the linked list referenced by * pathparent->child. Keep the list sorted if Sflag is set. */ -static void +static NODE * addchild(NODE *pathparent, NODE *centry) { NODE *samename; /* node with the same name as centry */ @@ -740,7 +737,7 @@ addchild(NODE *pathparent, NODE *centry) if (cur == NULL) { /* centry is pathparent's first and only child node so far */ pathparent->child = centry; - return; + return centry; } /* @@ -785,7 +782,7 @@ addchild(NODE *pathparent, NODE *centry) replacenode(samename, centry); if (samename == replacepos) { /* The just-replaced node was in the correct position */ - return; + return samename; } if (samename == insertpos || samename->prev == insertpos) { /* @@ -793,7 +790,7 @@ addchild(NODE *pathparent, NODE *centry) * or just after the replaced node, but that would * be equivalent to just retaining the replaced node. */ - return; + return samename; } /* @@ -833,7 +830,7 @@ addchild(NODE *pathparent, NODE *centry) if (centry->next) centry->next->prev = centry; } - return; + return centry; } /* From nobody Sat Dec 27 16:30:09 2025 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 4ddnyV0NlWz6LXl5 for ; Sat, 27 Dec 2025 16:30: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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ddnyT5yXNz3FBn for ; Sat, 27 Dec 2025 16:30:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766853009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjkbcaB05ZKjTxi/82YFDoGFuZPTklRSRF20W+0hjF0=; b=YWBQKbSGtFCFX20N//FbYchqXKV+J9mj4RqD5XHKs7llrcgO57Vjt1SkrHf/9xdQp0eNJb tuC90X22t0Gw7viauJUy60C+LTfyU9FWgqc6LWlyCB/goKDLKgbxv8F+LyPfJGgQa2cdA+ OrihgqCpxREpMsaDcPAgjW2MygtRn6ewoyYCdZhHbk4Q9Aw2niPWgpdcNU5H748emVflDf EZ8eJOlUc9PlEC5gUGZNYZLdXnjDeW5OM17n7h7smasHxwbYO/jB0Pbt80k2OeQybvGNTb KqjQSKZOXOZdiXKRW+A/Q02OqTGRsQ5nednEOvLfMdBp+vzqJdccgstnD7AFAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766853009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjkbcaB05ZKjTxi/82YFDoGFuZPTklRSRF20W+0hjF0=; b=dGNtb+No0pcuL5l6AQnBZpDjY83ZNOlxFVNHaFyJxpJAUIXwwq2amnpDs30AwgnSI5hKXp UO4RlKaLp36o68BbfZ1X7bo5+gynSxUnJzFPk62yV3+mjV7WmSrVB9xNnB9iSOuQEQLXJ6 zqniTVBLah0n5O2X6dz56/+iiKLW/i/rAuqcqTF0yyt9FdpKgg/aTM70pqH7qd1l8EXrlY yU2n6bCTFwIZ+ODabNmIyfgw4gv9c2gHbfCk7wZSpHzEUn995qZ7wAqdkUvBQcSQxBoBx7 Fgqlp+fXwrUZEO9cLxCSLKaZAbkcWE6ICrKhAO5I6Sxxx9zTXK5sGxAMn3lvTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766853009; a=rsa-sha256; cv=none; b=go2Ff2DNQ8HpFe6cB2hmBxASiOGm/IcrjC2dDvjVp6G0urNNat3CUMFNvvWbyrmQO1K01Q DmDY06Fbj+qJp08Mjd5rFbRbO997JmtdUsqcDN+PGCUHxDKlIoPpAcB4Q3utP+NUzFX9EB TFFuByHzgvc96uGAZQ8fNzl3OSy5dmPLHMasf8mMH2BXZuTMlwn8zpw/zm4zlrHq6en7Mf s5vTigLWq8JDIB2gn8VqMIXF9W+KB7i8dZNwRcK0SmBejFcBb2BMeuEQVteGxZBXZsiWXF Ia7OJ1RfE76ZOiRtVcpOqnqWIeZzJbEiSULCBDugp5UKJSDeCrgfMOSV1Sm77Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ddnyT5Y6Yz16MT for ; Sat, 27 Dec 2025 16:30:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c3ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 27 Dec 2025 16:30:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 5ea3ad01e6f5 - stable/13 - Import latest mtree from NetBSD 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 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/13 X-Git-Reftype: branch X-Git-Commit: 5ea3ad01e6f511ee573e993e89810c27a7cf4198 Auto-Submitted: auto-generated Date: Sat, 27 Dec 2025 16:30:09 +0000 Message-Id: <69500991.c3ef.7e39ddd7@gitrepo.freebsd.org> The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea3ad01e6f511ee573e993e89810c27a7cf4198 commit 5ea3ad01e6f511ee573e993e89810c27a7cf4198 Author: Jose Luis Duran AuthorDate: 2025-12-19 20:14:35 +0000 Commit: Jose Luis Duran CommitDate: 2025-12-27 16:29:02 +0000 Import latest mtree from NetBSD Merge commit 'eb2ccba0c11b405ac613c3046997765317cc8b5c' PR: 192839 PR: 219467 MFC after: 1 week (cherry picked from commit f8cee1f2c2dfba6223385fd711cce9faeca76451) --- contrib/mtree/compare.c | 16 ++++++---------- contrib/mtree/create.c | 7 ++++--- contrib/mtree/mtree.c | 36 ++++++++++++++++++++++-------------- contrib/mtree/spec.c | 25 +++++++++++-------------- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/contrib/mtree/compare.c b/contrib/mtree/compare.c index 3d8cf2335207..cc31ec365194 100644 --- a/contrib/mtree/compare.c +++ b/contrib/mtree/compare.c @@ -1,4 +1,4 @@ -/* $NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)compare.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: compare.c,v 1.61 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: compare.c,v 1.63 2025/12/14 17:30:47 christos Exp $"); #endif #endif /* not lint */ @@ -291,16 +291,12 @@ typeerr: LABEL; (u_long)p->fts_statp->st_mode & MBITS); if (uflag) { if (lchmod(p->fts_accpath, s->st_mode)) - printf(", not modified: %s%s\n", - strerror(errno), - flavor == F_FREEBSD9 ? "" : ")"); + printf(", not modified: %s", strerror(errno)); else - printf(", modified%s%s\n", - was_unlinked ? " by unlink" : "", - flavor == F_FREEBSD9 ? "" : ")"); + printf(", modified%s", + was_unlinked ? " by unlink" : ""); } - else - printf(")\n"); + printf("%s\n", flavor == F_FREEBSD9 ? "" : ")"); tab = "\t"; skip: ; } diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index e23004851f39..191d69c6a537 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)create.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: create.c,v 1.79 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $"); #endif #endif /* not lint */ @@ -236,7 +236,8 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (!S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (keys & F_TYPE && + !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) output(fp, indent, &offset, "type=%s", inotype(p->fts_statp->st_mode)); if (keys & (F_UID | F_UNAME) && p->fts_statp->st_uid != uid) { diff --git a/contrib/mtree/mtree.c b/contrib/mtree/mtree.c index 28f09fa32210..479f6acfca3a 100644 --- a/contrib/mtree/mtree.c +++ b/contrib/mtree/mtree.c @@ -1,4 +1,4 @@ -/* $NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $ */ +/* $NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $ */ /*- * Copyright (c) 1989, 1990, 1993 @@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1990, 1993\ #if 0 static char sccsid[] = "@(#)mtree.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: mtree.c,v 1.51 2024/12/05 17:17:15 christos Exp $"); +__RCSID("$NetBSD: mtree.c,v 1.52 2025/12/18 18:17:26 christos Exp $"); #endif #endif /* not lint */ @@ -73,19 +73,20 @@ static struct { }; __dead static void usage(void); +static int parsekeys(char **); int main(int argc, char **argv) { int ch, status; unsigned int i; - int cflag, Cflag, Dflag, Uflag, wflag; + int cflag, Cflag, Dflag, Uflag, wflag, rkeys; char *dir, *p; FILE *spec1, *spec2; setprogname(argv[0]); - cflag = Cflag = Dflag = Uflag = wflag = 0; + cflag = Cflag = Dflag = Uflag = wflag = rkeys = 0; dir = NULL; init_excludes(); spec1 = stdin; @@ -150,14 +151,9 @@ main(int argc, char **argv) break; case 'k': keys = F_TYPE; - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); - break; + /*FALLTHROUGH*/ case 'K': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); + keys |= parsekeys(&optarg); break; case 'l': lflag = 1; @@ -198,9 +194,7 @@ main(int argc, char **argv) rflag++; break; case 'R': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys &= ~parsekey(p, NULL); + rkeys |= parsekeys(&optarg); break; case 's': sflag = 1; @@ -243,6 +237,8 @@ main(int argc, char **argv) if (argc) usage(); + keys &= ~rkeys; + switch (flavor) { case F_FREEBSD9: if (cflag && iflag) { @@ -312,6 +308,18 @@ main(int argc, char **argv) exit(status); } +static int +parsekeys(char **arg) +{ + const char *p; + int k = 0; + + while ((p = strsep(arg, " \t,")) != NULL) + if (*p != '\0') + k |= parsekey(p, NULL); + return k; +} + static void usage(void) { diff --git a/contrib/mtree/spec.c b/contrib/mtree/spec.c index 24e15f33fa8a..af5248be1596 100644 --- a/contrib/mtree/spec.c +++ b/contrib/mtree/spec.c @@ -1,4 +1,4 @@ -/* $NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $ */ +/* $NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -67,7 +67,7 @@ #if 0 static char sccsid[] = "@(#)spec.c 8.2 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: spec.c,v 1.92 2024/12/05 17:17:43 christos Exp $"); +__RCSID("$NetBSD: spec.c,v 1.94 2025/12/18 14:05:41 christos Exp $"); #endif #endif /* not lint */ @@ -100,7 +100,7 @@ static dev_t parsedev(char *); static void replacenode(NODE *, NODE *); static void set(char *, NODE *); static void unset(char *, NODE *); -static void addchild(NODE *, NODE *); +static NODE *addchild(NODE *, NODE *); static int nodecmp(const NODE *, const NODE *); static int appendfield(FILE *, int, const char *, ...) __printflike(3, 4); @@ -239,8 +239,7 @@ noparent: mtree_err("no parent node"); * full path entry; add or replace */ centry->parent = pathparent; - addchild(pathparent, centry); - last = centry; + last = addchild(pathparent, centry); } else if (strcmp(centry->name, ".") == 0) { /* * duplicate "." entry; always replace @@ -252,8 +251,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last; - addchild(last, centry); - last = centry; + last = addchild(last, centry); } else { /* * new relative child in parent dir @@ -261,8 +259,7 @@ noparent: mtree_err("no parent node"); * add or replace */ centry->parent = last->parent; - addchild(last->parent, centry); - last = centry; + last = addchild(last->parent, centry); } } return (root); @@ -721,7 +718,7 @@ unset(char *t, NODE *ip) * a duplicate, insert it into the linked list referenced by * pathparent->child. Keep the list sorted if Sflag is set. */ -static void +static NODE * addchild(NODE *pathparent, NODE *centry) { NODE *samename; /* node with the same name as centry */ @@ -740,7 +737,7 @@ addchild(NODE *pathparent, NODE *centry) if (cur == NULL) { /* centry is pathparent's first and only child node so far */ pathparent->child = centry; - return; + return centry; } /* @@ -785,7 +782,7 @@ addchild(NODE *pathparent, NODE *centry) replacenode(samename, centry); if (samename == replacepos) { /* The just-replaced node was in the correct position */ - return; + return samename; } if (samename == insertpos || samename->prev == insertpos) { /* @@ -793,7 +790,7 @@ addchild(NODE *pathparent, NODE *centry) * or just after the replaced node, but that would * be equivalent to just retaining the replaced node. */ - return; + return samename; } /* @@ -833,7 +830,7 @@ addchild(NODE *pathparent, NODE *centry) if (centry->next) centry->next->prev = centry; } - return; + return centry; } /*